David A. Greene
University of Michigan
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by David A. Greene.
international conference on supercomputing | 2001
Matt Postiff; David A. Greene; Steven E. Raasch; Trevor N. Mudge
A large logical register file is important to allow effective compiler transformations or to provide a windowed space of registers to allow fast function calls. Unfortunately, a large logical register file can be slow, particularly in the context of a wide-issue processor which requires an even larger physical register file, and many read and write ports. Previous work has suggested that a register cache can be used to address this problem. This paper proposes a new register caching mechanism in which a number of good features from previous approaches are combined with existing out-of-order processor hardware to implement a register cache for a large logical register file. It does so by separating the logical register file from the physical register file and using a modified form of register renaming to make the cache easy to implement. The physical register file in this configuration contains fewer entries than the logical register file and is designed so that the physical register file acts as a cache for the logical register file, which is the backing store. The tag information in this caching technique is kept in the register alias table and the physical register file. It is found that the caching mechanism improves IPC up to 20% over an un-cached large logical register file and has performance near to that of a logical register file that is both large and fast.
international symposium on microarchitecture | 2000
Matt Postiff; David A. Greene; Trevor N. Mudge
Register promotion is an optimization that allocates a value to a register for a region of its lifetime where it is provably not aliased. Conventional compiler analysis cannot always prove that a value is free of aliases, and thus promotion cannot always be applied. This paper proposes a new hardware structure, the store-load address table (SLAT), which watches both load and store instructions to see if they conflict with entries loaded into the SLAT by explicit software mapping instructions. One use of the SLAT is to allow values to be promoted to registers when they cannot be proven to be promotable by conventional compiler analysis. We call this new optimization speculative register promotion. Using this technique, a value can be promoted to a register and aliased loads and stores to that values home memory location are caught and the proper fixup is performed. This paper will: a) describe the SLAT hardware and software; b) demonstrate that conventional register promotion is often inhibited by static compiler analysis; c) describe the speculative register promotion optimization; and d) quantify the performance increases possible when a SLAT is used. Our results show that for certain benchmarks, up to 35% of loads and 15% of stores can potentially be eliminated by using the SLAT.
ACM Sigarch Computer Architecture News | 1999
Matthew A. Postiff; David A. Greene; Gary S. Tyson; Trevor N. Mudge
international conference on human-computer interaction | 1998
Matthew A. Posti; David A. Greene; Gary S. Tyson; Trevor N. Mudge
Archive | 2000
Matthew A. Postiff; David A. Greene; Charles Lefurgy; Dave Helder; Trevor N. Mudge
Archive | 2000
Matthew A. Postiff; David A. Greene; Trevor N. Mudge
Archive | 2002
Matthew A. Postiff; Trevor N. Mudge; David A. Greene; Steven E. Raasch
Archive | 2000
Matthew A. Postiff; David A. Greene; Trevor N. Mudge
Archive | 1998
Krisztian Flautner; David A. Greene; Matthew A. Postiff; David A. Helder; Charles Lefurgy; Peter L. Bird; Trevor N. Mudge
Archive | 2003
David A. Greene; Trevor N. Mudge