< previous page page_165 next page >

Page 165
Table 3.14 Expected distribution of arithmetic operations.
Floating Point (Scientific)
Add/Subtract
54%
Multiply
43%
Divide
3%
Fixed Point (All applications)
Add/Subtract
80%
Multiply
15%
Divide
5%
Decimal (Commercial)
Move decimala(includes Pack/Unpack and Clear-and-Add)
54%
Add/Subtract
39%
Multiply
4%
Divide
3%
aFor the L/S architecture we assume that this is implemented by 17 LD and 8 ST per 100 HLL operations. Also see Tables 3.5 and 3.16.

instructions to execute out of order, the run-on delay (that is, the delay attributable to a particular instruction in excess of a minimum allocation in a timing template) directly contributes to overall processor delay.
For the two most important Gibson classes, arithmetic and move, the expected distribution of operations is shown in Tables 3.14, 3.15, and 3.16. For fixed point operations, simple add/subtract represents about 80% of the fixed point arithmetic class. Floating point, in the scientific environment, shows a more equal distribution between add/subtract and multiply. Divide is an infrequent operation across all environments. Commercial environments generally use decimal arithmetic, which, without decimal arithmetic hardware support, becomes fixed point arithmetic with conversion routines.
Within the decimal category (where supported), the most frequently occurring instruction pair is PACK/UNPACK. These instructions take a decimal string represented in 8-bit type ASCII format, and translate (PACK) the string into a 4-bit decimal format of half the size. Most decimal processing is done in packed format. UNPACK reverses the procedure. Another frequently occurring decimal operation is clear-and-move or zero-and-add (ZMOVE). This operation moves a second operand into a first operand location which has been zeroed out. The operation then is the equivalent of addition to zero. This operation, as well as the basic decimal arithmetic operations, is done in a packed format. All of the decimal arithmetic operations take two source operands of perhaps unequal length and produce the resultant decimal string.
The move class of instructions is broken out by application environment because of the significant differences that arise between the two application environments. Tables 3.15-3.17 present two entries, one being the number of occurrences of this type of operation and the second (in parentheses)

 
< previous page page_165 next page >