Skip to main content
Log in

A Functional Approach for Testing the Reorder Buffer Memory

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

Superscalar processors have the ability to execute instructions out-of-order to better exploit the internal hardware and to maximize the performance. To maintain the in-order instruction commitment and to guarantee the correctness of the final results (as well as precise exception management), the Reorder Buffer (ROB) may be used. From the architectural point of view, the ROB is a memory array of several thousands of bits that must be tested against hardware faults to ensure a correct behavior of the processor. Since it is deeply embedded within the microprocessor circuitry, the most straightforward approach to test the ROB is through Built-In Self-Test solutions, which are typically adopted by manufacturers for end-of-production test. However, these solutions may not always be used for the test during the operational phase (in-field test) which aims at detecting possible hardware faults arising when the electronic systems works in its target environment. In fact, these solutions require the usage of test infrastructures that may not be accessible and/or documented, or simply not usable during the operational phase. This paper proposes an alternative solution, based on a functional approach, in which the test is performed by forcing the processor to execute a specially written test program, and checking the resulting behavior of the processor. This approach can be adopted for in-field test, e.g., at the power-on, power-off, or during the time slots unused by the system application. The method has been validated resorting to both an architectural and a memory fault simulator.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Notes

  1. FP = <S/F/R > where S is the sequence of operations required to sensitize the fault, F is the observed faulty behavior that deviates from the correct memory behavior and R, in case of a read operation, is the read result.

References

  1. Bate I, Conmy P, Kelly T, McDermid J (2001) Use of Modern Processors in Safety-Critical Applications. Computer Journal 44(6):531–543

    Article  MATH  Google Scholar 

  2. A. Benso, S. Di Carlo and A. Savino, «Software-Based Self-Test for Reliable Applications in Railway Systems». In: Railway Safety, Reliability and Security: Technologies and Systems Engineering/Francesco Flammini. IGI Global, Hershey (PA), pp. 198-220. ISBN 9781466616431.

  3. Chen L, Dey S (2001) Software-Based Self-Testing Methodology for Processor Cores. IEEE Trans on Computer-Aided Design 20(3):369–380

    Article  Google Scholar 

  4. Thatte SM, Abraham JA (1980) Test Generation for Microprocessors. IEEE Trans On Computers 29(6):429–441

    Article  MATH  MathSciNet  Google Scholar 

  5. Psarakis M, Gizopoulos D, Sanchez E, Sonza Reorda M (2010) Microprocessor Software-Based Self-Testing. IEEE DESIGN & TEST OF COMPUTERS 27(3):4–19

    Article  Google Scholar 

  6. Sanchez E, Sonza Reorda M, Tonda A (2011) «On the Functional Test of Branch Prediction Units based on Branch History Table», in 19 th IFIP/IFEE International Conference on Very Large Scale Integration and SoC

    Google Scholar 

  7. Di Carlo S, Prinetto P, Savino A (2011) Software-Based Self-Test of Set-Associative Cache Memories. IEEE Transactions on Computers 60(7):1030–1044

    Article  Google Scholar 

  8. Apostolakis A, Gizopoulos D, Psarakis M, Ravotto D, Sonza Reorda M (2009) Test Program Generation for Communication Peripherals in Processor-Based SoC Devices. IEEE Design & Test of Computers 26(2):52–63

    Article  Google Scholar 

  9. S. Di Carlo, E. Sanchez, M. Sonza Reorda, «On the On-line Functional Test of the Reorder Buffer Memory in Superscalar Processors», 2013 I.E. 16 th International Symposium on Design and Diagnostic of Electronic Circuits & Systems (DDECS), pp. 36-41, April 2013

  10. S. Di Carlo, P. Prinetto, «Models in Memory Testing», Springer, 2010

  11. Younis MF, Marlowe TJ, Stoyen AD, Tsai G (1999) Statically safe speculative execution for real-time systems. IEEE Trans On Software Engineering 25(5):701–721

    Article  Google Scholar 

  12. A.J. Van de Goor, I.B.S. Tlili, S. Hamdioui, «Converting March tests for bit oriented memories into tests for word-oriented memories», International Workshop on Memory Technology, Design and Testing, pp. 46-52, 1998

  13. Hamdioui S (Apr. 2001) Testing Multiple Port Memories: Theory and Practice. Delft University of Technology, PhD Dissertation. ISBN 90-9014986-4

  14. A. Benso, A. Bosio, S. Di Carlo, G. Di Natale, P. Prinetto, «Automatic March tests generation for multi-port SRAMs», 3 rd IEEE International Workshop on Electronic Design, Test and Applications, 2006.

  15. [Online]. Available: http://www.simplescalar.com/

  16. A. Benso, S. Di Carlo, G. Di Natale and P. Prinetto, «Specification and Design of a New Memory Fault Simulator» in IEEE 11th Asian Test Symposium, pp.92-97, 2002

  17. Bernardi P, Sanchez E, Sonza Reorda M, Ballan O, Bonazza M (2013) “On-Line Functionally Untestable Fault Identification in Embedded Processor Cores”, Design, Automation & Test in Europe Conference & Exhibition (DATE '13)

    Google Scholar 

  18. J. L. Hennessy and D. A. Patterson, «Computer Architecture: A Quantitative Approach», Morgan Kaufmann, 2011

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Gaudesi.

Additional information

Responsible Editor: C. A. Papachristou

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Di Carlo, S., Gaudesi, M., Sanchez, E. et al. A Functional Approach for Testing the Reorder Buffer Memory. J Electron Test 30, 469–481 (2014). https://doi.org/10.1007/s10836-014-5461-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-014-5461-9

Keywords

Navigation