DocumentCode :
2817329
Title :
Speculation techniques for improving load related instruction scheduling
Author :
Yoaz, Adi ; Erez, Mattan ; Ronen, Ronny ; Jourdan, Stephan
Author_Institution :
Intel Corp., Haifa, Israel
fYear :
1999
fDate :
1999
Firstpage :
42
Lastpage :
53
Abstract :
State of the art microprocessors achieve high performance by executing multiple instructions per cycle. In an out-of-order engine, the instruction scheduler is responsible for dispatching instructions to execution units based on dependencies, latencies, and resource availability. Most existing instruction schedulers are doing a less than optimal job of scheduling memory accesses and instructions dependent on them, for the following reasons: Memory dependencies cannot be resolved prior to execution, so loads are not advanced ahead of preceding stores. The dynamic latencies of load instructions are unknown, so scheduling dependent instructions is based on either optimistic load-use delay (may cause re-scheduling and re-execution) or pessimistic delay (creating unnecessary delays). Memory pipelines are more expensive than other execution units, and as such, are a scarce resource. Currently, an increase in the memory execution bandwidth is usually achieved through multi-banked caches where bank conflicts limit efficiency. In this paper we present three techniques to address these scheduler limitations. One is to improve the scheduling of load instructions by using a simple memory disambiguation mechanism. The second is to improve the scheduling of load dependent instructions by employing a Data Cache Hit-Miss Predictor to predict the dynamic load latencies. And the third is to improve the efficiency of load scheduling in a multi-banked cache through cache-bank prediction
Keywords :
microprocessor chips; performance evaluation; processor scheduling; resource allocation; cache-bank prediction; dependencies; dynamic latencies; instruction scheduler; latencies; load related instruction scheduling; memory disambiguation mechanism; microprocessors; multi-banked cache; out-of-order engine; pipelines; resource availability; speculation techniques; Availability; Bandwidth; Delay; Dispatching; Dynamic scheduling; Engines; Microprocessors; Out of order; Pipelines; Processor scheduling;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Architecture, 1999. Proceedings of the 26th International Symposium on
Conference_Location :
Atlanta, GA
ISSN :
1063-6897
Print_ISBN :
0-7695-0170-2
Type :
conf
DOI :
10.1109/ISCA.1999.765938
Filename :
765938
Link To Document :
بازگشت