Title :
A methodology for detecting performance faults in microprocessors via performance monitoring hardware
Author :
Hatzimihail, M. ; Psarakis, M. ; Gizopoulos, D. ; Paschalis, A.
Author_Institution :
Dept. of Inf., Univ. of Piraeus, Piraeus
Abstract :
Speculative execution of instructions boosts performance in modern microprocessors. Control and data flow dependencies are overcome through speculation mechanisms, such as branch prediction or data value prediction. Because of their inherent self-correcting nature, the presence of defects in speculative execution units does not affect their functionality (and escapes traditional functional testing approaches) but impose severe performance degradation. In this paper, we investigate the effects of performance faults in speculative execution units and propose a generic, software-based test methodology, which utilizes available processor resources: hardware performance monitors and processor exceptions, to detect these faults in a systematic way. We demonstrate the methodology on a publicly available fully pipelined RISC processor that has been enhanced with the most common speculative execution unit, the branch prediction unit. Two popular schemes of predictors built around a Branch Target Buffer have been studied and experimental results show significant improvements on both cases fault coverage of the branch prediction units increased from 80% to 97%. Detailed experiments for the application of a functional self-testing methodology on a complete RISC processor incorporating both a full pipeline structure and a branch prediction unit have not been previously given in the literature.
Keywords :
computerised instrumentation; electronic engineering computing; microprocessor chips; branch prediction unit; branch target buffer; fault coverage; functional self-testing methodology; hardware performance monitor; microprocessor; performance fault detection; performance monitoring hardware; pipelined RISC processor; processor resource; reduced instruction set computing; software-based test methodology; speculative execution unit; Automatic testing; Built-in self-test; Degradation; Fault detection; Hardware; Microprocessors; Monitoring; Reduced instruction set computing; Software testing; System testing;
Conference_Titel :
Test Conference, 2007. ITC 2007. IEEE International
Conference_Location :
Santa Clara, CA
Print_ISBN :
978-1-4244-1127-6
Electronic_ISBN :
1089-3539
DOI :
10.1109/TEST.2007.4437646