ACM SIGMICRO newsletter/SIGMICRO newsletter/SIGMICRO, TCMICRO newsletter · 1982 · 72 citations · 7 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureOperating SystemsDelay ModelingHardware AccelerationLatency OptimizationProcessor MicroarchitectureTiming AnalysisTiming ModelingBranch InstructionsBranch PointsMicroarchitectural OptimizationMicroarchitectural Timing AnalysisPipeliningSoftware Pipelining
Delayed branches are commonly found in micro-architectures. A compiler or assembler can exploit delayed branches. This is achieved by moving code from one of several points to the positions following the branch instruction. We present several strategies for moving code to utilize the branch delay, and discuss the requirements and benefits of these strategies. An algorithm for processing branch delays has been implemented and we give empirical results. The performance data show that a reasonable percentage of these delays can be avoided.
7
George Radin · 1982 · 234 citations
David A. Patterson, Carlo H. Séquin · 1998 · 183 citations
John L. Hennessy, Norman P. Jouppi, Steven A. Przybylski et al. · ACM SIGMICRO newsletter/SIGMICRO newsletter/SIGMICRO, TCMICRO newsletter · 1982 · 95 citations · Full text
Compilers and Computer Architecture
William A. Wulf · Computer · 1981 · 91 citations