Title :
Software-hardware cooperative memory disambiguation
Author :
Huang, Ruke ; Garg, Alok ; Huang, Michael
Author_Institution :
Dept. of Electr. & Comput. Eng., Rochester Univ., NY, USA
Abstract :
In high-end processors, increasing the number of in-flight instructions can improve performance by overlapping useful processing with long-latency accesses to the main memory. Buffering these instructions requires a tremendous amount of microarchitectural resources. Unfortunately, large structures negatively impact processor clock speed and energy efficiency. Thus, innovations in effective and efficient utilization of these resources are needed. In this paper, we target the load-store queue, a dynamic memory disambiguation logic that is among the least scalable structures in a modern microprocessor. We propose to use software assistance to identify load instructions that are guaranteed not to overlap with earlier pending stores and prevent them from competing for the resources in the load-store queue. We show that the design is practical, requiring off-line analyses and minimum architectural support. It is also very effective, allowing more than 40% of loads to bypass the load-store queue for floating-point applications. This reduces resource pressure and can lead to significant performance improvements.
Keywords :
memory architecture; parallel architectures; dynamic memory disambiguation logic; energy efficiency; floating-point application; high-end processor; load-store queue; main memory; microarchitectural resource; software-hardware cooperative memory disambiguation; Application software; Clocks; Computer aided instruction; Delay; Energy consumption; Hardware; High performance computing; Microarchitecture; Out of order; Resource management;
Conference_Titel :
High-Performance Computer Architecture, 2006. The Twelfth International Symposium on
Print_ISBN :
0-7803-9368-6
DOI :
10.1109/HPCA.2006.1598133