DYNAMEM — A microarchitecture for improving memory disambiguation at run-time

This paper presents a new microarchitecture technique named DYNAMEM, in which memory reference instructions are dynamically scheduled and can be executed out-of-order. Load instructions can bypass store instructions speculatively, even if the store instructions’ addresses are unknown. DYNAMEM can greatly alleviate the restraints of ambiguous memory dependencies. Simulation results show that the frequency of false load is low. Mechanism has been provided to repair false loads with low penalty, and to achieve precise interrupts. Discussions and experimental results show that DYNAMEM could dramatically raise instruction-level parallelism in programs without recompilation.

[1]  Yale N. Patt,et al.  Exploiting Fine-Grained Parallelism Through a Combination of Hardware and Software Techniques , 1991, ISCA.

[2]  Scott A. Mahlke,et al.  Dynamic memory disambiguation using the memory conflict buffer , 1994, ASPLOS VI.

[3]  Mike Johnson,et al.  Superscalar microprocessor design , 1991, Prentice Hall series in innovative technology.

[4]  S SohiGurindar Instruction Issue Logic for High-Performance, Interruptible, Multiple Functional Unit, Pipelined Computers , 1990 .

[5]  Gary Gibson,et al.  The Metaflow architecture , 1991, IEEE Micro.

[6]  Matthew T. O'Keefe,et al.  Reducing memory traffic with CRegs , 1994, Proceedings of MICRO-27. The 27th Annual IEEE/ACM International Symposium on Microarchitecture.

[7]  Monica S. Lam,et al.  Limits of control flow on parallelism , 1992, ISCA '92.

[8]  Michael Allen,et al.  Organization of the Motorola 88110 superscalar RISC microprocessor , 1992, IEEE Micro.

[9]  S. Peter Song,et al.  The PowerPC 604 RISC microprocessor. , 1994, IEEE Micro.

[10]  Monica S. Lam,et al.  Efficient and exact data dependence analysis , 1991, PLDI '91.

[11]  Andrew R. Pleszkun,et al.  Implementation of precise interrupts in pipelined processors , 1985, ISCA '98.

[12]  James E. Smith,et al.  Instruction Issue Logic in Pipelined Supercomputers , 1984, IEEE Trans. Computers.

[13]  Alan Jay Smith,et al.  Branch Prediction Strategies and Branch Target Buffer Design , 1995, Computer.

[14]  Guang R. Gao,et al.  On the limits of program parallelism and its smoothability , 1992, MICRO.

[15]  John Paul Shen,et al.  Speculative disambiguation: a compilation technique for dynamic memory disambiguation , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[16]  Alexandru Nicolau,et al.  Run-Time Disambiguation: Coping with Statically Unpredictable Dependencies , 1989, IEEE Trans. Computers.

[17]  David W. Wall,et al.  Limits of instruction-level parallelism , 1991, ASPLOS IV.

[18]  Andrew R. Pleszkun,et al.  Implementing Precise Interrupts in Pipelined Processors , 1988, IEEE Trans. Computers.