< previous page page_316 next page >

Page 316
where d is the operand size in bytes and P is the data width (bytes). The operand access takes c0316-01.gif references as a minimum, but on (d - 1) mod P address sites (out of P), an extra fetch is required.
EXAMPLE 5.4
Suppose for MOVE.Cl, the operand length l is 32 bytes and P = 4.
We require:
0316-01.gif
since only when the operand is word-aligned will we need only eight references. The other times (¾ of the time), we require an extra fetch. This instruction requires 8.75 read references and 8.75 write references.
EXAMPLE 5.5
Suppose for ADD.Pl, the operand length l is 3 bytes and P = 4.
Now we have:
0316-02.gif
This instruction creates 2 ´ 1.5 read references (two operands) and 1.5 write references.
For the L/S data traffic in the commercial environment, all move class operations take a single reference (assuming some operand prefetching into registers), with the LDM and STM exceptions. We also need to account for some LD/ST to support decimal operations. Thus, from Table 3.16, we compute the traffic:
0316-03.gif
For L/S,
0316-04.gif
similarly,
0316-05.gif
Now to compute R/M or R+M data traffic for the commercial environment, we first consider the references created by the variable operand length instruction (Tables 3.22 and 3.21). By rounding operand length to the nearest

 
< previous page page_316 next page >