|
|
|
| Table 2.5 Operator use for some older R/M architectures. |
| | Architecture | Processor | | | | | | | R/M | S/370 | | | | | | | R/M | DEC-10 | | | | | | | R/M | PDP-11 | | | | | |
|
|
|
|
|
|
These overhead analysis efforts were naturally limited. For one, they focused on scientific programs. In commercial programs, the object of a program might be to move data; hence, an apparent overhead instruction would really be a functional instruction (as in the case of a Sort program). A more comprehensive approach would be more valuable, but such studies are still useful. They implicitly assume that there is an invariant baseline number of operations (F-type) that is only a function of the program and not a function of architecture. |
|
|
|
|
|
|
|
|
This viewpoint of "overhead" instructions leads naturally to the concept of a language-oriented machine. These machines attempt to (largely) eliminate overhead instructions by having instructions in one-to-one correspondence with high-level language actions. The Burroughs Corp. was a leader in developing machines of this type, especially machines targeted to the ALGOL language [28, 221, 222]. |
|
|
|
|
|
|
|
|
In another approach, Cragon [61] provides an analysis of various normalized machines, including register set machines, stack machines, and the various memory architectures. These hypothetical machines were compared on the basis of probable program size, instruction count, and cycle count. (See problem 16 at the end of this chapter.) |
|
|
|
|
|
|
|
|
Perhaps the most extensive comparative analysis of instruction sets was done as part of the computer family analysis (CFA) for the Department of Defense computer selection effort [196, 97]. This study was used in creating a standard instruction set for Department of Defense procurement (MIL-STD-1750A). More than twenty parameters were studied on a variety of existing architectures. While most of these parameters simply determined the presence of a feature (e.g., floating-point arithmetic), the S, M, and R measures are significant quantitative measures of instruction set performance: |
|
|
|
 |
|
|
|
|
S: Measure of memory usagethe number of bytes used to represent a test program. |
|
|
|
 |
|
|
|
|
M: Measure of execution timethe number of bytes transferred between memory and processor during execution of a test program. |
|
|
|
 |
|
|
|
|
R: Measure of execution timethe number of bytes transferred among internal registers during the execution of a test program. |
|
|
|
|
|
|
|
|
The S measure includes all instructions, indirect addresses, and temporary work areas required by the program. The only memory excluded from S is the storage required to hold the actual data structures or parameters specified in the test program. |
|
|
|
|
|