[net.micro.68k] 680xx architecture analysis - part 3.b

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