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.
Similar content being viewed by others
Notes
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
Bate I, Conmy P, Kelly T, McDermid J (2001) Use of Modern Processors in Safety-Critical Applications. Computer Journal 44(6):531–543
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.
Chen L, Dey S (2001) Software-Based Self-Testing Methodology for Processor Cores. IEEE Trans on Computer-Aided Design 20(3):369–380
Thatte SM, Abraham JA (1980) Test Generation for Microprocessors. IEEE Trans On Computers 29(6):429–441
Psarakis M, Gizopoulos D, Sanchez E, Sonza Reorda M (2010) Microprocessor Software-Based Self-Testing. IEEE DESIGN & TEST OF COMPUTERS 27(3):4–19
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
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
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
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
S. Di Carlo, P. Prinetto, «Models in Memory Testing», Springer, 2010
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
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
Hamdioui S (Apr. 2001) Testing Multiple Port Memories: Theory and Practice. Delft University of Technology, PhD Dissertation. ISBN 90-9014986-4
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.
[Online]. Available: http://www.simplescalar.com/
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
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)
J. L. Hennessy and D. A. Patterson, «Computer Architecture: A Quantitative Approach», Morgan Kaufmann, 2011
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: C. A. Papachristou
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-014-5461-9