c6x programming 1 3
play

C6x programming (1/3) C6x code development Programming levels C - PowerPoint PPT Presentation

C6x programming (1/3) C6x code development Programming levels C (for the C/C++ compiler) Linear assembly (for the assembly optimizer ) units and registers may be specified Assembly (for the assembler) units and registers are specified


  1. C6x programming (1/3)

  2. C6x code development

  3. Programming levels ◼ C (for the C/C++ compiler) ◼ Linear assembly (for the assembly optimizer ) units and registers may be specified ◼ Assembly (for the assembler) units and registers are specified (* non parallel assembly : instruction latency is taken into account) * parallel assembly : instruction latency is taken into account + instructions are put in parallel

  4. Pipeline ◼ C30: | fetch | decode | read | execute | ◼ C5x: | prefetch+fetch | decode | access+read | execute | ◼ C6x: | 4 phases | 2 phases | 1 to 5 phases |

  5. Pipeline (just to have an idea on what happens in the various phases…)

  6. ◼ The number of execute phases (E1... E5) depends on the instruction

  7. Pipeline and branches ◼ The branch target is fetched during E1 (only one E phase is used), so ◼ the branch is delayed by 5 cycles [spru189e]

Recommend


More recommend