2003 · 78 citations · 12 references
EngineeringComputer EngineeringComputer ScienceBankingComputer ArchitectureLow-power DesignHardware AccelerationLow-power Cache DesignMemory Hierarchy OptimizationRegister AllocationBank ConflictsHardware PipeliningHigh PerformancePhysical AllocationPhysical Register File ArchitectureRegister File DesignRegister FilesRegister Renaming
The key issues for register file design in high-performance processors are access time and energy. While previous work has focused on reducing the number of registers, we propose to reduce the number of register ports through two proposals, one for reads and the other for writes. For reads, we propose bypass hint to reduce register port requirements by avoiding unnecessary register file reads for cases where values are bypassed. Current processors are unable to avoid these unnecessary reads due to timing constraints. For writes, we use register file banking. Current banking schemes assign different banks to instructions that are renamed together, which does not necessarily avoid conflicts among instructions that writeback together We use decoupled rename, a technique which separates dependence and physical tagging of register operands. Decoupled rename allows us to perform physical register allocation just before writeback, avoiding bank conflicts. Our results show that combining bypass hint and write banking, our 1-cycle register file with 6 read ports, and two 4-write-ported banks achieves a 9% processor energy-delay savings over a system using a perfectly-pipelined, 2-cycle register file with 16 read ports and 8 write ports.
12
Multiple-banked register file architectures
José-Lorenzo Cruz, Antonio González, Mateo Valero et al. · 2000 · 423 citations · Full text
Eric Borch, Eric Tune, Srilatha Manne et al. · 2004 · 168 citations
The multicluster architecture: reducing cycle time through partitioning
Keith I. Farkas, Paul Chow, Norman P. Jouppi et al. · 2002 · 129 citations