Title :
A fill-unit approach to multiple instruction issue
Author :
Franklin, Manoj ; Smotherman, Mark
Author_Institution :
Dept. of Electr. & Comput. Eng., Clemson Univ., SC, USA
fDate :
30 Nov.-2 Dec. 1994
Abstract :
Multiple issue of instructions occurs in superscalar and VLIW machines. The paper investigates a third type of machine design, which combines the advantages of code compatibility as in superscalars and the absence of complex dependency-checking logic from the decoder as in VLIW. In this design, a stream of scalar instructions is executed by the hardware and is simultaneously compacted into VLIW-type instructions, which are then stored in a structure called a shadow cache. When a shadow cache line contains the instructions requested by the fetch unit, the scalar instruction stream is preempted and all operations in the shadow cache line are simultaneously issued and executed. The mechanism that compacts instructions is called a fill unit, and was first proposed for dynamically compacting macrooperations into large executable units by Melvin, Shebanow, and Patt in 1988. We have extended their approach to directly handle data dependencies, delayed branches, and speculative execution (using branch prediction). This approach is evaluated using the MIPS architecture, and a six-functional-unit machine is found to be 52 to 108% faster than a single-issue processor for unrecompiled SPECint92 benchmarks.
Keywords :
cache storage; parallel architectures; MIPS architecture; VLIW machines; code compatibility; fill unit; multiple instruction; scalar instruction stream; shadow cache; superscalar; Clocks; Decoding; Delay; Distributed computing; Hardware; Logic design; Out of order; Parallel processing; Permission; VLIW;
Conference_Titel :
Microarchitecture, 1994. MICRO-27. Proceedings of the 27th Annual International Symposium on
Print_ISBN :
0-89791-707-3
DOI :
10.1109/MICRO.1994.717455