|
|
|
|
|
|
3. From preliminary machine target data, find delays for each of the "run-on" instructions and determine its frequency in number per 100 HLL operations. |
|
|
|
|
|
|
|
|
4. If "run-on" delay depends on operand length, determine the various lengths. |
|
|
|
|
|
|
|
|
5. Find applicable branch data from this chapter. Find dependency data. |
|
|
|
|
|
|
|
|
The role of an instruction set in processor design depends on the expected program behavior of that instruction set. The architectural families L/S, R/M, and R+M can be compared relative to the number of high-level language operations executed by a program. This distributional data provides the basic design information required by a designer to optimize a design. |
|
|
|
|
|
|
|
|
Although the obvious instruction set measures (dynamic instruction count, etc.) have a primary effect on performance, there are other aspects of the instruction set that are particularly important to pipeline processor implementation. These include the frequency and behavior of branch instructions. How often does the branch go to the target, and how far away is the target instruction? These issues can directly influence the design of the processor. Similarly, the investment of hardware and execution resources is determined by the expected occurrence of various types of functional instructions. Good data (valid and reliable) is a scarce commodity, yet it is a necessary ingredient in creating a good overall processor design. |
|
|
|
|
|
|
|
|
3.6 Some Areas for Further Research |
|
|
|
|
|
 |
|
|
Data, data, everywhere,
And all the results perused;
Data, data, everywhere,
Nor any bit to use.2 |
|
|
|
|
|
|
|
|
This might well be the theme of this chapter. Despite enormous amounts of published instruction set material, it is very difficult to access data that has been validated in a consistent way across a number of different instruction sets. There never seems to be enough data on instruction set usage or machine behavior! Despite the notable work of Huck [135] and Loboz [186], a true understanding of the performance of different instruction sets across varying compiler optimizations and within varying operating systems environments is still poorly understood. |
|
|
|
 |
|
 |
|
|
2With apologies to Samuel Taylor Coleridge and The Rime of the Ancient Mariner. |
|
|
|
|
|