A high-speed dynamic instruction scheduling scheme for superscalar processors

  • Authors:
  • Masahiro Goshima;Kengo Nishino;Toshiaki Kitamura;Yasuhiko Nakashima;Shinji Tomita;Shin-ichiro Mori

  • Affiliations:
  • Kyoto University, Yoshida Hon-machi, Sakyo-ku, Kyoto, Japan;Kyoto University, Yoshida Hon-machi, Sakyo-ku, Kyoto, Japan;Kyoto University, Yoshida Hon-machi, Sakyo-ku, Kyoto, Japan;Kyoto University, Yoshida Hon-machi, Sakyo-ku, Kyoto, Japan;Kyoto University, Yoshida Hon-machi, Sakyo-ku, Kyoto, Japan;Kyoto University, Yoshida Hon-machi, Sakyo-ku, Kyoto, Japan

  • Venue:
  • Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The wakeup logic is a part of the issuing window and is responsible to manage the ready flags of the operands for dynamic instruction scheduling. The conventional wakeup logic is based on association, and composed of a RAM and a CAM. Since the logic is not pipelinable and the delays of these memories are dominated by the wire delays, the logic will be more critical with deeper pipelines and smaller feature sizes. This paper describes a new scheduling scheme not based on the association but on matrices which represent the dependences between instructions. Since the update logic of the matrices detects the dependencies between instructions as the register renaming logic does, the wakeup operation is realized by just reading the matrices. This paper also describes a technique to reduce the effective size of the matrices for small IPC penalties. We designed the layouts of the logics guided by a 0.18µm CMOS design rule provided by Fujitsu Limited, and calculated the delays. We also evaluated the penalties by cycle-level simulation. The results show that our scheme achieves 2.7GHz clock speed for the IPC degradation of about 1%.