15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FIGURE C. The principle of direct issue.<br />

FIGURE D. The principle of shelving (indirect issue).<br />

Shelving removes the issue bottleneck by decoupling instruction issue and dependency checking<br />

through buffering issued instructions, as indicated in Fig. D. There are various possibilities as to how<br />

shelving buffers can be implemented. 49 Of these in Fig. D we show shelving buffers provided in front of<br />

each execution unit (EU), also called individual reservation stations or simply reservation stations. With<br />

shelving, instructions are issued first to the shelving buffers, with no checks for data dependencies or<br />

busy execution units. In the second step, instructions held in the shelving buffers are dispatched for<br />

execution. During dispatching instructions are checked for dependencies and not dependent instructions<br />

are forwarded to free execution units. Concerning terminology we note that at the time being there is<br />

no consensus on the use of the terms instruction issue and instruction dispatch. Both terms are used in<br />

both possible interpretations.<br />

Shelving not only removes the issue bottleneck but substitutes the issue window with the much wider<br />

dispatch window (instruction window), which is made up of all shelving buffers. Because the total number<br />

of the shelving buffers is usually an order of magnitude higher than the issue rate, with shelving the processor<br />

will find in each clock cycle on the average far more executable instructions than without shelving.<br />

© 2002 by CRC Press LLC<br />

Issue<br />

Dispatch<br />

Issue<br />

Shelving<br />

buffers<br />

Check/forward<br />

EU<br />

I-buffer<br />

I-buffer<br />

Decode/check/<br />

issue<br />

EU EU<br />

4<br />

4<br />

4<br />

Decode/Issue<br />

4<br />

Issue window<br />

(equals the issue rate)<br />

Issue window<br />

(equals the issue rate)<br />

Shelving<br />

buffers<br />

Check/forward<br />

EU<br />

Dispatch<br />

window

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!