Loading…

A scalable instruction queue design using dependence chains

Increasing the number of instruction queue (IQ) entries in a dynamically scheduled processor exposes more instruction-level parallelism, leading to higher performance. However, increasing a conventional IQ physical size leads to larger latencies and slower clock speeds. We introduce a new IQ design...

Full description

Saved in:
Bibliographic Details
Main Authors: Raasch, S.E., Binkert, N.L., Reinhardt, S.K.
Format: Conference Proceeding
Language:English
Subjects:
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Increasing the number of instruction queue (IQ) entries in a dynamically scheduled processor exposes more instruction-level parallelism, leading to higher performance. However, increasing a conventional IQ physical size leads to larger latencies and slower clock speeds. We introduce a new IQ design that divides a large queue into small segments, which can be clocked at high frequencies. We use dynamic dependence-based scheduling to promote instructions from segment to segment until they reach a small issue buffer. Our segmented IQ is designed specifically to accommodate variable-latency instructions such as loads. Despite its roughly, similar circuit complexity, simulation results indicate that our segmented instruction queue with 512 entries and 128 chains improves performance by tip to 69% over a 32-entry, conventional instruction queue for SpecINT 2000 benchmarks, and tip to 398% for SpecFP 2000 benchmarks. The segmented IQ achieves from 55% to 98% of the performance of a monolithic 512-entry queue while providing the potential for much higher clock speeds.
ISSN:1063-6897
2575-713X
DOI:10.1109/ISCA.2002.1003589