SPRUIY2 November 2024 F29H850TU , F29H859TU-Q1
If a Dx register write is scheduled in E1 while Dx write scheduled in E2 or E3 is pending, this causes a pipeline protection stall. This is shown in Table 4-9.
Register Sources | Pipeline Phase | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
D2 | R1 | R2 | R3 | E1 | E2 | E3 | E4 | E5 | E6 | |
Pipeline phase in register resource is read | ||||||||||
Dx | Yes | Yes | ||||||||
Pipeline phase in register resource is written | ||||||||||
Dx | Yes | Yes | Yes |
Dx Write Scheduled in E1 While a Write Scheduled in E3 is Pending is an example of a Dx write scheduled in E1 while a write scheduled in E3 is pending. This a hypothetical example.
CRC D3, D2, D0, D1 ; CRC, 3 cycle instructon, Write in E3
LD.3 D3, *A3 ; Load D3 in E1
Table 4-10 is the pipeline diagram for the sequence in Dx Write Scheduled in E1 While a Write Scheduled in E3 is Pending. LD.32 is held in D2 for 2 cycle such that LD.32 enters E1 phase of pipeline when D3 is updated with CRC.
Cycle | Pipeline Phase | D0 Register | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
D2 | R1 | R2 | R3 | E1 | E2 | E3 | E4 | E5 | E6 | |||
1 | CRC | |||||||||||
2 | LD.32 | CRC | ||||||||||
3 | LD.32 | PROT | CRC | |||||||||
4 | LD.32 | PROT | PROT | CRC | ||||||||
5 | Instr 1 | LD.32 | PROT | PROT | CRC | |||||||
6 | Instr 2 | Instr 1 | LD.32 | PROT | PROT | CRC | ||||||
7 | Instr 3 | Instr 2 | Instr 1 | LD.32 | PROT | PROT | CRC | |||||
8 | Instr 4 | Instr 3 | Instr 2 | Instr 1 | LD.32 | PROT | PROT | CRC | D3=CRC |