Integration of instruction scheduling and register allocation
Jinlan Tian
Abstract
Jinlan Tian
Abstract
Instruction scheduling provides important optimization for current RISC (reduced instruction set computer) processors to achieve high performance by exploiting parallelism. This paper presents an integrated instruction scheduling and register allocation algorithm for processors with an extended delayed-load architecture. The algorithm is based on the delay-load scheduling algorithm using fewer registers and running at a speed proportional to the size of the expression tree. The algorithm also includes some extensions to improve performance: 1) resolve the data dependence of instruction scheduling for multiple expression trees by marking the memory information as changing and by setting a Load Cache; 2) extend the scheduling from expression trees to forests to more effectively reduce delays; 3) effectively reduce structural hazards by adjusting the order of local instructions.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Instruction scheduling provides important optimization for current RISC (reduced instruction set computer) processors to achieve high performance by exploiting parallelism. This paper presents an integrated instruction scheduling and register allocation algorithm for processors with an extended delayed-load architecture. The algorithm is based on the delay-load scheduling algorithm using fewer registers and running at a speed proportional to the size of the expression tree. The algorithm also includes some extensions to improve performance: 1) resolve the data dependence of instruction scheduling for multiple expression trees by marking the memory information as changing and by setting a Load Cache; 2) extend the scheduling from expression trees to forests to more effectively reduce delays; 3) effectively reduce structural hazards by adjusting the order of local instructions.
Key concepts: Computer science, Instruction scheduling, Register allocation, Parallel computing, Scheduling (production processes), Processor register, Instruction set, Cache