Some of the material in is restricted to members of the community. By logging in, you may be able to gain additional access to certain collections or items. If you have questions about access or logging in, please use the form on the Contact Page.
As the gap between CPU speed and memory speed widens, it is appropriate to investigate alternative storage systems. One approach is to use a large data register file. Registers, in general, offer several advantages when accessing data, including: faster access time, accessing multiple values in a single cycle, reduced power consumption, and small indices. Traditionally, registers only have been used to hold the values of scalar variables and temporaries; this necessarily excludes global structures and in particular arrays, which tend to exhibit high spatial locality. Although large register files have been explored, prior studies did not resolve complexities that limited their usefulness. In this thesis, we present a large data register file, which employs block movement of registers for efficient access and is able to support composite data structures, such as arrays and structs. The performance benefits realized – from this approach – include access to data values earlier in the pipeline, removal of many loads and stores, decreased contention within the data cache, and decreased energy consumption.