Contents
x
2.5.1 Interrupts 2-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Branches, Calls, and Returns 2-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Repeating a Single Instruction 2-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.4 Instruction Pipeline 2-40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Multiply Operations 2-41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 16-bit X 16-bit Multiplication 2-41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.2 32-Bit X 32-Bit Multiplication 2-42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Shift Operations 2-44. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 CPU Interrupts and Reset 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the TMS320C28x interrupts and how they are handled by the CPU. Also
explains the effects of a hardware reset.
3.1 CPU Interrupts Overview 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 CPU Interrupt Vectors and Priorities 3-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Maskable Interrupts: INT1−INT14, DLOGINT, and RTOSINT 3-6. . . . . . . . . . . . . . . . . . . . .
3.3.1 CPU Interrupt Flag Register (IFR) 3-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 CPU Interrupt Enable Register (IER) and
CPU Debug Interrupt Enable Register (DBGIER) 3-8. . . . . . . . . . . . . . . . . . . . . . . .
3.4 Standard Operation for Maskable Interrupts 3-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Nonmaskable Interrupts 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 INTR Instruction 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 TRAP Instruction 3-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.3 Hardware Interrupt NMI 3-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Illegal-Instruction Trap 3-22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Hardware Reset (RS) 3-23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Pipeline 4-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the phases and operation of the instruction pipeline.
4.1 Pipelining of Instructions 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Decoupled Pipeline Segments 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Instruction-Fetch Mechanism 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Address Counters FC, IC, and PC 4-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Visualizing Pipeline Activity 4-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Freezes in Pipeline Activity 4-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Wait States 4-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Instruction-Not-Available Condition 4-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Pipeline Protection 4-12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Protection During Reads and Writes to the Same Data-Space Location 4-12. . . .
4.4.2 Protection Against Register Conflicts 4-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Avoiding Unprotected Operations 4-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Unprotected Program-Space Reads and Writes 4-16. . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 An Access to One Location That Affects Another Location 4-16. . . . . . . . . . . . . . .
4.5.3 Write Followed By Read Protection Mode 4-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 C28x Addressing Modes 5-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describes the addressing modes of the C28x.
5.1 Types of Addressing Modes 5-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .