CRegs: a new kind of memory for referencing arrays and pointers

  • Authors:
  • H. Dietz;C. H. Chi

  • Affiliations:
  • School of Electrical Engineering, Purdue University, West Lafayette, IN;Phillips Laboratories, 345 Scarborough Road

  • Venue:
  • Proceedings of the 1988 ACM/IEEE conference on Supercomputing
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

Often, pointer and subscripted array references touch memory locations for which there are several possible aliases, hence these references cannot be made from registers. Although conventional caches can increase performance somewhat, they do not provide many of the benefits of registers, and do not permit the compiler to perform many optimizations associated with register references. The CReg (pronounced “C-Reg”) mechanism combines the hardware structures of cache and registers to create a new kind of memory structure, which can be used either as processor registers or as a replacement for conventional cache memory. By permitting aliased names to be grouped together, CRegs resolve ambiguous alias problems in hardware, resulting in more efficient execution than even the combination of conventional registers and cache can provide.This paper discusses both the conceptual CReg hardware structure and the compiler analysis and optimization techniques to manage that structure.