Advertisement

On the Functional Test of Branch Prediction Units Based on the Branch History Table Architecture

  • Ernesto Sanchez
  • Matteo Sonza Reorda
  • Alberto Paolo Tonda
Conference paper
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 379)

Abstract

Branch Prediction Units (BPUs) are commonly used in pipelined processors, since they can significantly decrease the negative impact of branches in superscalar and RISC architectures. Traditional solutions, mainly based on scan, are often inadequate to effectively test these modules: in particular, scan does not represent a viable solution when Incoming Inspection or on-line test are considered. Functional test may stand as an effective solution in these situations, but requires effective algorithms to be available. In this paper we propose a functional approach targeting the test of BPUs based on the Branch History Table (BHT) architecture; the proposed approach is independent on the specific implementation of the BPU, and is thus widely applicable. Its effectiveness has been validated on a BPU resorting to an open-source computer architecture simulator and to an ad hoc developed HDL testbench. Experimental results show that the proposed method is able to thoroughly test the BPU, reaching complete static fault coverage with reasonable requirements in terms of test program size and execution time.

Keywords

branch prediction unit branch history table functional test SBST 

References

  1. 1.
    Bushnell, M.L., Agrawal, V.D.: Essential of Electronic Testing. Kluwer Academic Publishers (2000)Google Scholar
  2. 2.
    Thatte, S., Abraham, J.: Test Generation for Microprocessors. IEEE Transactions on Computers 29(6), 429–441 (1980)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Psarakis, M., Gizopoulos, D., Sanchez, E., Sonza Reorda, M.: Microprocessor Software-Based Self-Testing. In: IEEE Design & Test of Computers, vol. 27(3), pp. 4–19 (2010)Google Scholar
  4. 4.
    Hatzimihail, M., Psarakis, M., Gizopoulos, D., Paschalis, A.: A methodology for detecting performance faults in microprocessors via performance monitoring hardware. In: Proc. IEEE International Test Conference, pp. 1–10 (2007)Google Scholar
  5. 5.
    Almukhaizim, S., Petrov, P., Orailoglu, A.: Low-Cost, Software-Based Self-Test Methodologies for Performance Faults in Processor Control Subsystems. In: Proc. IEEE 2001 Custom Integrated Circuits Conference, pp. 263–266 (2001)Google Scholar
  6. 6.
    Hatzimihail, M., Psarakis, M., Gizopoulos, D., Paschalis, A.: A Methodology for Detecting Performance Faults in Microprocessors via Performance Monitoring Hardware. In: Proc. IEEE International Test Conference, pp. 1–10 (2007)Google Scholar
  7. 7.
    Hsieh, T.-Y., Breuer, M.A., Annavaram, M., Gupta, S.K., Lee, K.-J.: Tolerance of Performance Degrading Faults for Effective Yield Improvement. In: Proc. IEEE International Test Conference, pp. 1–10 (2009)Google Scholar
  8. 8.
    Almukhaizim, S., Sinanoglu, O.: Error-Resilient Design of Branch Predictors for Effective Yield Improvement. In: Proc. IEEE Latin-American Test Workshop, pp. 1–6 (2011)Google Scholar
  9. 9.
    Van de Goor, A.J.: Testing Semiconductor Memories, Theory and Practice. John Wiley & Sons (1991)Google Scholar
  10. 10.
    Spunt, B.: The Basics of Performance-Monitoring Hardware. IEEE Micro, 64–71 (2002)Google Scholar
  11. 11.
    Perez, W.J., Velasco-Medina, J., Ravotto, D., Sanchez, E., Sonza Reorda, M.: A Hybrid Approach to the Test of Cache Memory Controllers Embedded in SoCs. In: Proc. IEEE International On-Line Testing Symposium, pp. 143–148 (2008)Google Scholar
  12. 12.
    Sanchez, E., Sonza Reorda, M., Tonda, A.: On the functional test of Branch Prediction Units based on Branch History Table. In: Proc. IEEE/IFIP 19th International Conference on VLSI and System-on-Chip (VLSI-SoC), pp. 278–283 (2011)Google Scholar
  13. 13.
    Grosso, M., Sonza Reorda, M., Portela-Garcia, M., Garcia-Valderas, M., Lopez-Ongil, C., Entrena, L.: An on-line fault detection technique based on embedded debug features. In: Proc. IEEE International On-Line Testing Symposium, pp. 167–172 (2010)Google Scholar
  14. 14.
    SimpleScalar LLC, http://www.simplescalar.com/

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Ernesto Sanchez
    • 1
  • Matteo Sonza Reorda
    • 1
  • Alberto Paolo Tonda
    • 2
  1. 1.Dipartimento di Automatica e InformaticaPolitecnico di TorinoTorinoItaly
  2. 2.Institut des Systèmes ComplexesParis Île-de-FranceParisFrance

Personalised recommendations