Checkpoint processing and recovery: towards scalable large instruction window processors
- 25 May 2004
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Large instruction window processors achieve high performance by exposing large amounts of instruction level parallelism. However, accessing large hardware structures typically required to buffer and process such instruction window sizes significantly degrade the cycle time. This paper proposes a checkpoint processing and recovery (CPR) microarchitecture, and shows how to implement a large instruction window processor without requiring large structures thus permitting a high clock frequency. We focus of four critical aspects of a microarchitecture: 1) scheduling instructions; 2) recovering from branch mispredicts; 3) buffering a large number of stores and forwarding data from stores to any dependent load; and 4) reclaiming physical registers. While scheduling window size is important, we show the performance of large instruction windows to be more sensitive to the other three design issues. Our CPR proposal incorporates novel microarchitecture scheme for addressing these design issues-a selective checkpoint mechanism for recovering from mispredicts, a hierarchical store queue organization for fast store-load forwarding, and an effective algorithm for aggressive physical register reclamation. Our proposals allow a processor to realize performance gains due to instruction windows of thousands of instructions without requiring large cycle-critical hardware structures.Keywords
This publication has 15 references indexed in Scilit:
- Reducing the complexity of the register file in dynamic superscalar processorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Hierarchical scheduling windowsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Cherry: Checkpointed early resource recycling in out-of-order microprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Assigning confidence to conditional branch predictionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Using speculative retirement and larger instruction windows to narrow the performance gap between memory consistency modelsPublished by Association for Computing Machinery (ACM) ,1997
- The Mips R10000 superscalar microprocessorIEEE Micro, 1996
- The 16-fold way: a microparallel taxonomyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1993
- Partitioned register files for VLIWsACM SIGMICRO Newsletter, 1992
- Checkpoint repair for out-of-order execution machinesPublished by Association for Computing Machinery (ACM) ,1987
- Implementation of precise interrupts in pipelined processorsACM SIGARCH Computer Architecture News, 1985