ScholarlyCommons (University of Pennsylvania) · 1997 · 76 citations · 13 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureLow-power DesignHardware AccelerationInstruction Set ArchitectureMemory Hierarchy OptimizationRegister AllocationRegister-transfer Level DesignPhysical Register File ArchitectureRegister AssignmentRegister File DesignRegister File OrganizationRegister FilesRegister-level ProgrammingRegisters
We describe Dead Value Information (DVI) and introduce three new optimizations which exploit it. DVI provides assertions that certain register values are dead, meaning they will not be read before being overwritten. The processor can use DVI to track dead registers and dynamically eliminate unnecessary save and restore instructions from the execution stream at procedure calls and context switches. Our results indicate that dynamic saves and restore instances can be reduced by 46% for procedure calls and by 51% for context switches. In addition, save/restore elimination for procedure calls can improve overall performance by up to 5%. DVI also allows the processor manage physical registers to efficiently, reducing the size requirements of the physical register file. When the system clock rate is proportional to the register file cycle time, this optimization can improve performance. All of these optimizations can be supported with only a few new instructions and minimal additional hardwa...
13
The SimpleScalar tool set, version 2.0
Doug Burger, Todd Austin · ACM SIGARCH Computer Architecture News · 1997 · 3.1K citations · Full text
Gurindar S. Sohi, Scott E. Breach, T. N. Vijaykumar · 1995 · 978 citations
The interaction of architecture and operating system design
Thomas E. Anderson, Henry M. Levy, Brian N. Bershad et al. · 1991 · 245 citations · Full text
The effect of context switches on cache performance
Jeffrey C. Mogul, Anita Borg · 1991 · 210 citations · Full text
Global register allocation at link time
David W. Wall · ACM SIGPLAN Notices · 2004 · 207 citations