Motorola DSP56305 Manuel d'utilisateur Page 75

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 112
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 74
6-2 Optimizing DSP56300/DSP56600 Applications MOTOROLA
Pipeline Interlocks
Data ALU Pipeline Interlocks
6.1.1 What are the Data ALU Pipeline Interlocks?
There are three types of Data ALU pipeline interlocks:
Arithmetic Interlock—An arithmetic interlock causes a
single cycle delay in the execution of the MOVE instruction.
It is caused by moving the contents of (or one part of) an
accumulator that was the destination in the preceding
arithmetic instruction.
Example:
mpy X0,Y0,A ;Arithmetic Instruction. A is
;destination
move A,X:(R0)+ ;Move the contents of A to
;memory
Note: The following code sequence does not generate an arithmetic
pipeline interlock:
mpy X0,Y0,A ;Arithmetic Instruction. A is
;destination
mac X1,Y1,A ;Add A contents from previous
;instruction with X1
× Y1
Transfer Interlock—A transfer interlock causes a single cycle
delay in the execution of the second MOVE instruction (the
one that reads the accumulator or one of its parts). It is
caused by moving the contents of an (or parts of)
accumulator that was the destination of the preceding or
second preceding MOVE instruction.
Example:
move X:(R0)+,A ;Move memory to A
move A1,Y0 ;Move A1 to register
Status Interlock—A status interlock causes a double or
single cycle delay in the execution of the MOVE instruction
that reads SR. It is caused by a MOVE instruction that reads
the contents of the Status Register (SR) immediately or two
instructions after an arithmetic instruction.
Example:
mac X1,Y1,B ;Arithmetic Instruction
move SR,X:(R0)+ ;Read SR by a MOVE instruction
Out of these three pipeline interlocks, only the Arithmetic Interlock
may occur more often in a typical application. Transfer Interlock
Vue de la page 74
1 2 ... 70 71 72 73 74 75 76 77 78 79 80 ... 111 112

Commentaires sur ces manuels

Pas de commentaire