SPRUIY2 November 2024 F29H850TU , F29H859TU-Q1
When executing a program, the C29x CPU performs these basic operations:
The C29x CPU has 9 pipeline stages. Each of these stages can have one or more pipeline stages to achieve high frequency operation and each of these pipeline stages perform a specific function to execute a program. At any time, there can be up to nine instructions being carried out, each in a different phase of completion. Figure 4-1 shows the different stages of C29x CPU pipeline and how each stage is decoupled from other.
Table 4-1 provides description for each of the nine phases of the C29x CPU pipeline.
Pipeline Stage | C29x CPU Operation |
---|---|
Fetch 1 (F1) | Instruction fetch address is placed on program address bus. CPU does look ahead fetches to improve the overall throughput. |
Fetch 2 (F2) | Instruction returned from memory is latched into CPU. Instructions fetched from memory are stored in 4-level deep instruction buffer. Fetch unit has two 4 ˟ 128-bit instruction buffers. One is meant for normal execution and other is meant for delayed branches. |
Decode 1 (D1) | Following key operations are handled in this phase
|
Decode 2 (D2) | This is a very critical phase of the pipeline. Any instruction
packet that enters this phase of the pipeline always completes all
operations unless the CPU undergoes a reset in between. The
following key operations happen in this phase of the pipeline.
|
Read 1 (R1) |
Place read request on Read 1 and Read 2 buses Stall the CPU pipeline if memory or peripheral is not ready |
Read 2 (R2) | Read data is returned to CPU. |
Read 3 (R3) |
Perform ECC check on read data Perform Safe interconnect checks on Read Buses |
Execute 1 (E1) |
Load Ax, Dx, Mx registers from memory Operations on Dx and Mx Registers CPI load operations Generate Write data for store operation ESTS, Dx, and Mx register updates resulting from 1 cycle operations |
Execute 2 (E2) Write (W) |
Place write request Write buses Stall the CPU pipeline on if memory or peripheral is not ready ESTS, Dx, and Mx register updates resulting from 2 cycle operations |
Execute 3 (E3) |
ESTS, Dx, and Mx register updates resulting from 3 cycle operations Perform Safe interconnect check on Write bus |
Execute 4 (E4) | ESTS, Dx, and Mx register updates resulting from 4 cycle operations |
Execute 5 (E5) | ESTS, Dx, and Mx register updates resulting from 5 cycle operations |
Execute 6 (E6) | ESTS, Dx, and Mx register updates resulting from 6 cycle operations |