Title :
Architecture-compatible code boosting for performance enhancement of the IBM RS/6000
Author :
Diep, Trung A. ; Lipasti, Mikko H. ; Shen, John P.
Author_Institution :
Dept. of Electr. & Comput. Eng., Carnegie Mellon Univ., Pittsburgh, PA, USA
Abstract :
Boosting, first introduced by M.D. Smith et al. (1990), is an instruction scheduling technique that increases the instruction-level parallelism by allowing the compiler to move instructions speculatively up past conditional branches and providing hardware support to delay committing the side effects of the boosted instructions until the conditional branches have been resolved. The paper proposes an enhanced compilation technique similar to boosting that provides performance improvements while maintaining instruction set architecture compatibility and eliminating the need for complex hardware support. The technique, called architecture-compatible (AC) boosting, has been implemented for the IBM RS/6000 architecture. Code scheduling and machine simulation tools have been implemented, and experiments have been performed to demonstrate the feasibility of AC boosting on the current as well as future implementations of the IBM RS/6000 architecture
Keywords :
IBM computers; parallel machines; parallel programming; parallelising compilers; scheduling; virtual machines; IBM RS/6000; architecture compatible code boosting; compiler; hardware support; instruction scheduling technique; instruction set architecture compatibility; instruction-level parallelism; machine simulation tools; past conditional branches; performance enhancement; Boosting; Delay effects; Filling; Flow graphs; Hardware; Motion control; Parallel processing; Pipeline processing; Processor scheduling; VLIW;
Conference_Titel :
Computer Design: VLSI in Computers and Processors, 1993. ICCD '93. Proceedings., 1993 IEEE International Conference on
Conference_Location :
Cambridge, MA
Print_ISBN :
0-8186-4230-0
DOI :
10.1109/ICCD.1993.393399