Integer unit instruction timings
-------------------+----------------------+----------------+-----------+
Instruction | Condition | <ea> Calculate | Execute |
-------------------+----------------------+----------------+-----------+
ABCD | Dy,Dx | 1 | 3 |
| -(Ay),-(Ax) | 3 | 1L+3 |
-------------------+----------------------+----------------+-----------+
ADDX | Dy,Dx | 1 | 3 |
| -(Ay),-(Ax) | 3 | 1L+2 |
-------------------+----------------------+----------------+-----------+
ANDI #<xxx>,CCR | -- | 1 | 4 |
-------------------+----------------------+----------------+-----------+
ANDI #<xxx>,SR (a) | -- | 9 | 1L+8 |
-------------------+----------------------+----------------+-----------+
Bcc | Branch Taken | 2 | 2 |
| Branch Not Taken | 3 | 3 |
-------------------+----------------------+----------------+-----------+
BRA | -- | 2 | 2 |
-------------------+----------------------+----------------+-----------+
BSR <offset> | -- | 2 | 1L+1 |
-------------------+----------------------+----------------+-----------+
CAS2 (b) | True | 56 | 6L+49 |
| False | 51 | 6L+44 |
-------------------+----------------------+----------------+-----------+
CMPM | -- | 3 | 1L+2 |
-------------------+----------------------+----------------+-----------+
DBcc (c) | False, Count > -1 | 3 | 3 |
| False, Count = -1 | 4 | 4 |
| True | 4 | 4 |
-------------------+----------------------+----------------+-----------+
EORI #<xxx>,CCR | -- | 1 | 4 |
-------------------+----------------------+----------------+-----------+
EORI #<xxx>,SR (a) | -- | 9 | 1L+8 |
-------------------+----------------------+----------------+-----------+
EXG | Dy,Dx | 1 | 1 |
| Ay,Ax | 2 | 1L+1 |
| Dy,Ax | 1 | 1 |
-------------------+----------------------+----------------+-----------+
EXT | Word | 1 | 2 |
| Long Word | 1 | 1 |
-------------------+----------------------+----------------+-----------+
EXTB | Long Word | 1 | 1 |
-------------------+----------------------+----------------+-----------+
ILLEGAL (a) | A-Line Unimplemented | 16 | 16 |
| F-Line Unimplemented | 16 | 16 |
-------------------+----------------------+----------------+-----------+
LINK | -- | 3 | 2L+1 |
-------------------+----------------------+----------------+-----------+
MOSE USP | USP,An | 3 | 2L+1 |
| An,USP (a) | 7 | 1L+6 |
-------------------+----------------------+----------------+-----------+
MOVE16 (c,d) | (Ax)+,(Ay)+ | 6 | 1L+7 |
| xxx.L,(An) | 4 | 7 |
| xxx.L,(An)+ | 5 | 8 |
| (An),xxx.L | 4 | 7 |
| (An)+,xxx.L | 4 | 7 |
-------------------+----------------------+----------------+-----------+
MOVEC (b) | Rn,Rc | 7 | 1L+6 |
| Rc,Rn | 11 | 1L+10 |
-------------------+----------------------+----------------+-----------+
MOVEP (c) | MOVEP.W Dn,d16(An) | 11 | 2L+9 |
| MOVEP.L Dn,d16(An) | 13 | 2L+11 |
| MOVEP.W d16(An),Dn | 4 | 2L+5 |
| MOVEP.L d16(An),Dn | 8 | 2L+8 |
-------------------+----------------------+----------------+-----------+
MOVEQ | -- | 1 | 1 |
-------------------+----------------------+----------------+-----------+
NOP (a) | -- | 8 | 1L+7 |
-------------------+----------------------+----------------+-----------+
NOTES:
~~~~~
a. Times listed are minimum. This instruction interlocks the <ea> calculate
and execute stages and synchronizes some portions of the processor before
execution.
b. Times listed are typical. This instruction interlocks the <ea> calculate
and execute stages and synchronizes some portions of the processor before
execution.
c. This instruction interlocks the <ea> calculate and execute stages.
d. Successive in-line MOVE16 instructions each add 8 clocks to the <ea>
calculate and execute times
e. Typical measurement for three-level table search with no descriptor writes,
no entries cached, and four-clock memory access times.
f. This instruction also synchronizes some portions of the processor before
execution; times listed are minimum in this case.
-------------------+----------------------+----------------+-----------+
Instruction | Condition | <ea> Calculate | Execute |
-------------------+----------------------+----------------+-----------+
ORI #<xxx>,CCR | -- | 1 | 4 |
-------------------+----------------------+----------------+-----------+
ORI #<xxx>,SR (a) | -- | 9 | 1L+8 |
-------------------+----------------------+----------------+-----------+
PACK | Dx,Dy,#<xxx> | 1 | 3 |
| -(Ay),-(Ax),#<xxx> | 3 | 2L+3 |
-------------------+----------------------+----------------+-----------+
PFLUSH (b) | -- | 11 | 1L+10 |
-------------------+----------------------+----------------+-----------+
PFLUSHA (b) | -- | 11 | 1L+10 |
-------------------+----------------------+----------------+-----------+
PFLUSHAN (b) | -- | 27 | 1L+26 |
-------------------+----------------------+----------------+-----------+
PFLUSHN (An) (b) | -- | 11 | 1L+10 |
-------------------+----------------------+----------------+-----------+
PTESTR, PTESTW (e) | -- | 25 | 11L+14 |
-------------------+----------------------+----------------+-----------+
RESET (a) | -- | 521 | 521 |
-------------------+----------------------+----------------+-----------+
RTD (c) | -- | 6 | 1L+5 |
-------------------+----------------------+----------------+-----------+
RTE (a) | Stack Format $0 | 2 | 13 |
| Stack Format $1 | 4 | 23 |
| Stack Format $2 | 2 | 14 |
| Stack Format $3 | 3 | 20 |
| Stack Format $4 | 2 | 15 |
| Stack Format $7 | 4 | 23 |
-------------------+----------------------+----------------+-----------+
RTR (c) | -- | 7 | 1L+6 |
-------------------+----------------------+----------------+-----------+
RTS (c) | -- | 5 | 5 |
-------------------+----------------------+----------------+-----------+
SBCD | Dy,Dx | 1 | 3 |
| -(Ay),-(Ax) | 3 | 1L+3 |
-------------------+----------------------+----------------+-----------+
SUBX | Dy,Dx | 1 | 1 |
| -(Ay),-(Ax) | 3 | 1L+2 |
-------------------+----------------------+----------------+-----------+
SWAP | -- | 1 | 2 |
-------------------+----------------------+----------------+-----------+
TRAP # (a) | -- | 16 | 16 |
-------------------+----------------------+----------------+-----------+
TRAPcc (f) | Taken | 19 | 19 |
| Not Taken | 5 | 5 |
-------------------+----------------------+----------------+-----------+
TRAPV (f) | Taken | 19 | 19 |
| Not Taken | 5 | 5 |
-------------------+----------------------+----------------+-----------+
UNLK | -- | 2 | 1L+1 |
-------------------+----------------------+----------------+-----------+
UNPK | Dy,Dx,# | 1 | 4 |
| -(Ay),-(Ax),# | 3 | 2L+4 |
-------------------+----------------------+----------------+-----------+
NOTES:
~~~~~
a. Times listed are minimum. This instruction interlocks the <ea> calculate
and execute stages and synchronizes some portions of the processor before
execution.
b. Times listed are typical. This instruction interlocks the <ea> calculate
and execute stages and synchronizes some portions of the processor before
execution.
c. This instruction interlocks the <ea> calculate and execute stages.
d. Successive in-line MOVE16 instructions each add 8 clocks to the <ea>
calculate and execute times
e. Typical measurement for three-level table search with no descriptor writes,
no entries cached, and four-clock memory access times.
f. This instruction also synchronizes some portions of the processor before
execution; times listed are minimum in this case.
----------------+-------------------++-------------------++-------------------+
| || || |
| ADDQ, SUBQ || ASL || ASR, LSL, LSR |
| || || |
Addressing +---------+---------++---------+---------++---------+---------+
Mode | <ea> | Execute || <ea> | Execute || <ea> | Execute |
|Calculate| ||Calculate| ||Calculate| |
----------------+---------+---------++---------+---------++---------+---------+
Dn | 1 | 1 || 1 | 3/4* || 1 | 2/3* |
----------------+---------+---------++---------+---------++---------+---------+
An | 1 | 1 || - | - || - | - |
----------------+---------+---------++---------+---------++---------+---------+
(An) | 1 | 1 || 1 | 3 || 1 | 2 |
----------------+---------+---------++---------+---------++---------+---------+
(An)+ | 2 | 1L+1 || 1 | 3 || 2 | 2 |
----------------+---------+---------++---------+---------++---------+---------+
-(An) | 2 | 1L+1 || 1 | 3 || 2 | 2 |
----------------+---------+---------++---------+---------++---------+---------+
(d16,An) | 2 | 1L+1 || 1 | 3 || 2 | 2 |
----------------+---------+---------++---------+---------++---------+---------+
(d16,PC) | - | - || - | - || - | - |
----------------+---------+---------++---------+---------++---------+---------+
(xxx).W,(xxx).L | 1 | 1 || 1 | 2 || 2 | 2 |
----------------+---------+---------++---------+---------++---------+---------+
#<xxx> | - | - || - | - || - | - |
----------------+---------+---------++---------+---------++---------+---------+
(d8,An,Xn) | 3 | 3 || 3 | 5 || 3 | 4 |
----------------+---------+---------++---------+---------++---------+---------+
(d8,PC,Xn) | - | - || - | - || - | - |
----------------+---------+---------++---------+---------++---------+---------+
(BR,Xn) | 7 | 1L+6 || 7 | 1L+8 || 7 | 1L+7 |
----------------+---------+---------++---------+---------++---------+---------+
(bd,BR,Xn) | 8 | 1L+7 || 8 | 1L+9 || 8 | 1L+8 |
----------------+---------+---------++---------+---------++---------+---------+
([bd,BR,Xn]) | 10 | 1L+9 || 10 | 1L+11 || 10 | 1L+10 |
----------------+---------+---------++---------+---------++---------+---------+
([bd,BR,Xn],od) | 11 | 1L+11 || 11 | 1L+12 || 11 | 1L+11 |
----------------+---------+---------++---------+---------++---------+---------+
([bd,BR],Xn) | 11 | 3L+8 || 11 | 3L+10 || 11 | 3L+9 |
----------------+---------+---------++---------+---------++---------+---------+
([bd,BR],Xn,od) | 12 | 3L+10 || 12 | 3L+11 || 12 | 3L+10 |
----------------+---------+---------++---------+---------++---------+---------+
*Immediate count specified for shift count/shift cound specified for register,
respectively.
HTML Conversion by AG2HTML.pl V2.941126c, perl $RCSfile: 040int.HTML,v $$Revision: 1.1 $$Date: 1999/09/14 21:14:05 $
Patch level: 36
& witbrock@cs.cmu.edu