11.07.2015 Views

section 7 - Index of

section 7 - Index of

section 7 - Index of

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Case 2: One <strong>of</strong> the more common sequences where pipeline effects are apparent is asfollows:;Move a number into register Rn (n=0-7).MOVE #xx,RnMOVE X:(Rn),A;Use the new contents <strong>of</strong> Rn to address memory.In this case, before the first MOVE instruction has written Rn during its execution cycle,the second MOVE has accessed the old Rn, using the old contents <strong>of</strong> Rn. This isbecause the address for indirect moves is formed during the decode cycle. This overlappinginstruction execution in the pipeline causes the pipeline effect. One instruction cycleshould be allowed after an address register has been written by a MOVE instructionbefore the new contents are available for use as an address register by another MOVEinstruction. The proper instruction sequence is as follows:MOVEXO,RnNOPMOVE X:(Rn),A;Move a number into register Rn.;Execute any instruction or instruction;sequence not using Rn.Use the new contents <strong>of</strong> Rn.Case 3: A situation related to Case 2 can be seen in the boot ROM code shown in AP­PENDIX A <strong>of</strong> the DSP56001 Technical Data Sheet. At the end <strong>of</strong> the bootstrap operation,the operation mode register (OMR) is changed to mode #2, and then the program that wasloaded is executed. This process is accomplished in the last three instructions:--BOOTEND MOVEC #2,OMR ;Set the operating mode to 2;(and trigger an exit from;bootstrap mode).ANDI #$O,CCR ;Clear SR as if RESET and;introduce delay needed for;Op. Mode change.JMP

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!