• DocumentCode
    1602910
  • Title

    A hierarchical dependence check and folded rename mapping based scalable dispatch stage

  • Author

    Sankaranarayanan, Vadhiraj ; Tyagi, Akhilesh

  • Author_Institution
    Dept. of ECE, Iowa State Univ., Ames, IA, USA
  • fYear
    2001
  • fDate
    6/23/1905 12:00:00 AM
  • Firstpage
    249
  • Lastpage
    254
  • Abstract
    In a superscalar pipeline, the dispatch stage performs register renaming, which involves map table lookup logic and dependence check logic. Both subtasks do not scale well with the dispatch width of the processor. The number of comparators necessary for the dependence check logic grows quadratically with the dispatch width of the processor. The rename map table´s word line capacitance scales linearly with the dispatch width. This paper proposes and evaluates schemes to alleviate both these problems. By performing the dependence check hierarchically in two stages, the number of comparators required in the dependence check logic is reduced from quadratic to linear in the dispatch width. This scheme is also scalable with the dispatch width by allowing a dispatch of DW2 instructions in the same processor cycle time that the current microprocessors use to dispatch DW instructions. Simple scalar based simulations indicate a performance penalty of less than 10% over Spec95 CPU benchmarks due to the extra cycle introduced. The second scheme started with an objective of utilizing speculation in rename and dependence information. The only beneficial subspace of this speculation appears to be the reuse of rename information of those instructions whose source operands are produced either in their own basic block or in the immediately preceding basic block. By storing rename information of such instructions in a rename cache, these instructions can be dispatched directly to the reservation stations if the program takes the same path again. The performance improvement due to the rename cache is approximately 7% for SPEC95 integer benchmarks
  • Keywords
    cache storage; parallel architectures; performance evaluation; pipeline processing; dependence check; instruction-level-parallelism; integer benchmarks; microarchitecture; non-scalable bottlenecks; performance improvement; performance penalty; register rename logic; register renaming; rename cache; rename information; scalable dispatch stage; superscalar pipeline; Capacitance; Delay lines; Logic design; Microarchitecture; Microprocessors; Pipelines; Registers; Scalability; Table lookup;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Design, 2001. ICCD 2001. Proceedings. 2001 International Conference on
  • Conference_Location
    Austin, TX
  • ISSN
    1063-6404
  • Print_ISBN
    0-7695-1200-3
  • Type

    conf

  • DOI
    10.1109/ICCD.2001.955036
  • Filename
    955036