DocumentCode :
1716407
Title :
Prophetic branches: a branch architecture for code compaction and efficient execution
Author :
Srivastava, Apoorv ; Despain, Alvin M.
Author_Institution :
Dept. of Comput. Sci., Univ. of Southern California, Los Angeles, CA, USA
fYear :
1993
Firstpage :
94
Lastpage :
99
Abstract :
Deeply pipelined processors increase the cost of executing conditional branches. Several branch architectures based on both hardware and software techniques have been proposed to reduce this cost. A popular branch mechanism based on software techniques is static branch prediction with delay slot annulling. This mechanism reduces the cost of conditional branches by making delay slots visible in the architecture. Architectural visibility allows the software to exploit delay slots by executing instructions speculatively. The visibility of the delay slots, however, also results in an increase in code size; compilers must find appropriate instructions which can be scheduled into the delay slots. If no “useful” instructions can be found, then nops must be inserted in the delay slot. The authors propose a novel branch architecture called prophetic branches which allows compilers to exploit branch delays, yet could result in only a minimal increase in code size over non-pipelined code. They show that this branch mechanism can be implemented in deeply pipelined processors with only a minor change in the control logic
Keywords :
parallel architectures; pipeline processing; branch architecture; code compaction; conditional branches; deeply pipelined processors; prophetic branches; visibility; Compaction; Computer architecture; Costs; Delay; Filling; Hardware; Logic; Pipeline processing; Processor scheduling; Silicon;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microarchitecture, 1993., Proceedings of the 26th Annual International Symposium on
Conference_Location :
Austin, TX
Print_ISBN :
0-8186-5280-2
Type :
conf
DOI :
10.1109/MICRO.1993.282753
Filename :
282753
Link To Document :
بازگشت