Association for Computing Machinery
The authors develop architectural techniques for mitigating the impact of process variability. Their techniques hide the performance effects of slow components - including registers, functional units, and L1I and L1D cache frames - without slowing the clock frequency or pessimistically assuming that all components are slow. Using ideas previously developed for other purposes - criticality-based allocation of resources, prefetching, and prefetch buffering - they allow design engineers to aggressively set the clock frequency without worrying about the subset of components that cannot meet this frequency. Their techniques outperform speed binning, because clock frequency benefits outweigh slight losses in IPC.