Influence of variable time operations in static instruction scheduling
Instruction Scheduling is the task of deciding what instruction will be executed at which unit of time. The objective is to extract maximum instruction level parallelism for the code. Compilers designed for VLIW and EPIC architectures do static instruction scheduling in a back-end pass. This pass, k...
Publicado: |
1999
|
---|---|
Materias: | |
Acceso en línea: | https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_03029743_v1685LNCS_n_p213_Borensztejn http://hdl.handle.net/20.500.12110/paper_03029743_v1685LNCS_n_p213_Borensztejn |
Aporte de: |
Sumario: | Instruction Scheduling is the task of deciding what instruction will be executed at which unit of time. The objective is to extract maximum instruction level parallelism for the code. Compilers designed for VLIW and EPIC architectures do static instruction scheduling in a back-end pass. This pass, known as scheduler, needs to have full knowledge of the execution time of each instruction. But memory access instructions have a variable latency, depending on their locality and the memory hierarchy architecture. The scheduler must assume a constant value, usually the execution time assigned to a hit. At execution a miss may reduce the parallelism because idle cycles may appear before the instructions that need the data. This paper describes a statistic model to evaluate how sensitive are the scheduling algorithms to the variable time operations. We present experimental measures taken over two static scheduling algorithms based on software pipelining. © Springer-Verlag Berlin Heidelberg 1999. |
---|