|
|
|
|
|
|
|
where d is the operand size in bytes and P is the data width (bytes). The operand access takes references as a minimum, but on (d - 1) mod P address sites (out of P), an extra fetch is required. |
|
|
|
|
|
|
|
|
Suppose for MOVE.Cl, the operand length l is 32 bytes and P = 4. |
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
Suppose for ADD.Pl, the operand length l is 3 bytes and P = 4. |
|
|
|
|
|
|
|
|
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: |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|