doug@oakhill.UUCP (Doug MacGregor) (12/14/84)
M68000 Architecture Analysis - Part III.b
The following table indicates the type of conditional branch
and the frequency that these branches are taken. This data
can be obtained using the trace on change of flow capability
of the 68020. The conditional branches are described both
in terms of type, branch and decrement and branch, as well
as by branch condition.
TYPE OF BRANCH TOTAL TAKEN PERCENT TAKEN
-------------- ----- ----- -------------
Bcc = 31866146 20173059 63.31
DBcc = 0 0 0.00
CONDITION TOTAL TAKEN PERCENT TAKEN
--------- ----- ----- -------------
T / BRA = 12475756 12504574 100.23
F / BSR = 2313338 2058652 88.99
HI = 0 0 0.00
LS = 1589603 1488938 93.67
CC (HS) = 0 0 0.00
CS (LO) = 0 0 0.00
NE = 2481308 1073789 43.28
EQ = 8154363 2630824 32.26
VC = 0 0 0.00
VS = 0 0 0.00
PL = 0 0 0.00
MI = 0 0 0.00
GE = 93454 16 0.02
LT = 208 21 10.10
GT = 4289479 413064 9.63
LE = 468637 3181 0.68
The following plot depicts the branch displacement range.
For the 68000, a branch displacement of 0 indicates that the
branch displacement is 16-bits and is contained in the fol-
lowing word of the instruction. This plot can be con-
structed for either the branch taken (if that trace informa-
tion is provided) and for all branch instructions, whether
taken or not.
25.00 +
|
|
|
|
22.00 +
|
|
|
|
20.00 +
|
|
|
|
17.00 +
|
|
|
| x
15.00 + x
| x
| x
| x x
| x x
12.00 + x x
| x x
| x x
| x x
| x x
10.00 + x x
| x x
| x x
| x x
| x x x
7.00 + x x x
| x x x x
| x x xx x x
| x x xx x x
| x x xx x x
5.00 + x x xx x x
| x x xx x x
| x x x xx x x
| xx x x xx x x
| x xx x x xx xx xx x
2.00 + x xx x x xx xx xx x x
| x x xx x x xx xx xx x x x x
| x x xx x x xx xx xx x x x x
| x x xxx xx x xx xx xx x x x x x x x
| x xx xxx xx x x xxxxx xx x x x x xxx x x x
0.00 + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
-128 -112 -96 -80 -64 -48 -32 -16 0 16 32 48 64 80 96 112 128
BRANCH DISPLACEMENT
The following sets of figures are probably of limited
interest, for they indicate the types of shift and rotate
operations, their frequency and the nature of the shift
(memory, dynamic, or static).
TYPE OF SHIFT TOTAL PERCENT
-------------- ----- -------
MEMORY = 0 0.00
DYNAMIC = 0 0.00
STATIC = 8668531 100.00
----- -------
TOTAL = 8668531 100.00
SHIFT TYPE TOTAL PERCENT
---------- ----- -------
ASR = 0 0.00
LSR = 30 0.00
ROXR = 0 0.00
ROR = 0 0.00
ASL = 255616 2.95
LSL = 8412678 97.05
ROXL = 207 0.00
ROL = 0 0.00
The shift count for the static shift and rotate operations
is shown in the following plot. This example is not typi-
cal, but by using this, it is possible to evaluate the
nature of shift operations.
100.00 +
|
|
|
|
90.00 +
|
|
|
|
80.00 +
|
|
|
|
70.00 +
|
|
|
|
60.00 +
|
|
|
| xxxxxxx
50.00 + xxxxxxx
| xxxxxxx
| xxxxxxx
| xxxxxxx
| xxxxxxx
40.00 + xxxxxxx
| xxxxxxx
| xxxxxxx
| xxxxxxx
| xxxxxxx
30.00 + xxxxxxx
| xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx
20.00 + xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx xxxxxxx
10.00 + xxxxxxx xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx xxxxxxx
| xxxxxxx xxxxxxx xxxxxxx xxxxxxx
0.00 + xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx
----+-------+-------+-------+-------+-------+-------+-------+
1 2 3 4 5 6 7 8
SHIFT COUNT
The final category of data collected indicates the register
utilization for this code sample. The areas described are
the average number of registers used by an instruction.
Because it is not possible to track sequential relationships
it is not possible to determine the number of registers
being used at any one time. The register utilization is
portrayed in both tabular and plot form.
TOTAL PERCENTAGE COVERED = 100.00
# OF REGISTERS USED / INSTRUCTION PERCENT
--------------------------------- -------
NO REGISTERS 20.02
1 REGISTERS 26.35
2 REGISTERS 51.20
3 REGISTERS 2.33
4 REGISTERS 0.09
D0 7.606843
D1 11.022688
D2 14.092865
D3 3.762555
D4 0.592202
D5 0.011442
D6 0.007673
D7 0.071163
A0 10.459511
A1 0.489466
A2 15.531519
A3 2.635934
A4 5.537547
A5 8.943160
A6 32.904263
A7 16.715405
IND 5.308478
RL 0.424293
If there is information that is not currently provided that
would be of interest, please make a recommendation, it may
be something that we are interested in too.
50.00 +
|
|
|
|
45.00 +
|
|
|
|
40.00 +
|
|
|
|
35.00 +
|
|
| xxxxx
| xxxxx
30.00 + xxxxx
| xxxxx
| xxxxx
| xxxxx
| xxxxx
25.00 + xxxxx
| xxxxx
| xxxxx
| xxxxx
| xxxxx
20.00 + xxxxx
| xxxxx
| xxxxx
| xxxxx
| xxxxxxxxxx
15.00 + xxxxx xxxxxxxxxx
| xxxxx xxxxx xxxxxxxxxx
| xxxxx xxxxx xxxxxxxxxx
| xxxxx xxxxx xxxxxxxxxx
| xxxxxxxxxx xxxxx xxxxxxxxxx
10.00 + xxxxxxxxxx xxxxx xxxxx xxxxxxxxxx
| xxxxxxxxxx xxxxx xxxxx xxxxxxxxxx
| xxxxxxxxxx xxxxx xxxxx xxxxxxxxxxxxxxx
| xxxxxxxxxxxxxxx xxxxx xxxxx xxxxxxxxxxxxxxx
| xxxxxxxxxxxxxxx xxxxx xxxxx xxxxxxxxxxxxxxx
5.00 + xxxxxxxxxxxxxxx xxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxx
| xxxxxxxxxxxxxxx xxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxx
| xxxxxxxxxxxxxxxxxxxx xxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxx
| xxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
| xxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
0.00 + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+--
D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 INDEX REG
REGISTER USAGE COUNT LIST