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

c6x programming 1 3
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

C6x programming (1/3)

slide-2
SLIDE 2

C6x code development

slide-3
SLIDE 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

slide-4
SLIDE 4

Pipeline

◼ C30:

| fetch | decode | read | execute |

◼ C5x:

| prefetch+fetch | decode | access+read | execute |

◼ C6x:

| 4 phases | 2 phases | 1 to 5 phases |

slide-5
SLIDE 5

Pipeline

(just to have an idea

  • n what happens in

the various phases…)

slide-6
SLIDE 6

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

instruction

slide-7
SLIDE 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]