Abstract:
In this paper we address the important problem of instruction fetch for future wide issue superscalar processors. Our approach focuses on understanding the interaction between software and hardware techniques targeting an increase in the instruction fetch bandwidth. That is the objective, for instance, of the Hardware Trace Cache (HTC). We design a profile based code reordering technique which targets a maximization of the sequentiality of instructions, while still trying to minimize instruction cache misses. We call our software approach, Software Trace Cache (STC). We evaluate our software approach, and then compare it with the HTC and the combination of both techniques. Our results show that for large codes with few loops and deterministic execution sequences like databases and some SPEC-INT codes, the STC offers similar, or better, results than a HTC. Moreover, when combining the software and hardware approaches, we obtain encouraging results: the STC and a small HTC offer similar...
Citations
|
597
|
Trace scheduling : A technique for global microcode compaction
– Fisher
- 1981
|
|
240
|
Profile guided code positioning
– Pettis, Hansen
- 1990
|
|
239
|
The superblock: an effective technique for VLIW and superscalar compilation. The Journal of Supercomputine (this issue
– Hwu, Mahlke, et al.
- 1992
|
|
147
|
Achieving High Instruction Cache Performance with an Optimizing Compiler
– Hwu, Chang
- 1989
|
|
111
|
Optimization of instruction fetch mechanisms for high issue rates
– Conte, Menezes, et al.
- 1995
|
|
92
|
Increasing the instruction fetch rate via multiple branch prediction and a branch address cache
– Yeh, Marr, et al.
- 1993
|
|
65
|
Efficient procedure mapping using cache line coloring
– Hashemi, Kaeli, et al.
- 1997
|
|
59
|
Optimizing instruction cache performance for operating system intensive workloads
– Torrellas, Xia, et al.
- 1995
|
|
54
|
Improving trace cache effectiveness with branch promotion and trace packing
– Patel, Evers, et al.
- 1998
|
|
51
|
Procedure placement using temporal ordering information
– Gloy, Blockwell, et al.
- 1997
|
|
23
|
Alternative Fetch and Issue Techniques From the Trace Cache Mechanism
– Friendly, Patel, et al.
- 1997
|
|
7
|
Temporal-based procedure reordering for improved instruction cache performance
– Kalamaitianos, Kaeli
- 1998
|
|
7
|
Trace cache: a low latency aprroach to high bandwith instruction fetching
– Rottenberg, Benett, et al.
- 1996
|
|
5
|
Code reordering of decision support systems for optimized instruction fetch
– Larriba-Pey, Serrano, et al.
- 1998
|
|
3
|
Wen mei Hwu. The effect of code expanding optimizations on instruction cache design
– Chen, Chung, et al.
- 1993
|