TMS320 C6000

  • Upload
    erv

  • View
    64

  • Download
    7

Embed Size (px)

DESCRIPTION

Instruction Set. TMS320 C6000. Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004. ADD .L1 A0, A1, A2. ADD .L2 -5 , B3, B4. ADD .L1 A2, A3, A5:A4. ADD .L1 A2, A5:A4 , A5:A4. ADD .L2 3 , B9:B8 , B9:B8. 'C 6xx Instruction Set - Operands. - PowerPoint PPT Presentation

Citation preview

  • TMS320C6000Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004Instruction Set

  • 'C6xx Instruction Set - Operands

  • 'C6xx Instruction Set - Cross Path ADD .L2x A0,A1,B2 MPY .M1x A0,B6,A9 SUB .S1x A8,B2,A8 ADD .L1x A0,B0,A2 LDW .D1T2 *A0,B5 STW .D2T1 A5,*B0

  • 'C6xx Instruction Set Parallel Operation ADD .L2x A0,A1,B2| | MPY .M1x A0,B6,A9 SUB .S1x A8,B2,A8 ADD .L1x A0,B0,A2 LDW .D1T2 *A0,B5|| STW .D2T1 A5,*B0L1 S1 M1 D1 L2 S2 M2 D2

  • 'C62x Instruction Set (by category)Aritmetica di saturazioneSe utilizzo la classica aritmetica di arrotondamento quando, ad esempio in un procedimento di incremento di colore, giungo al limite di rappresentazione di un dato un ulteriore incremento determina un overflow con il numero che raggiunge erroneamente il limite opposto.Quando io sommo invece ad esempio due valori a 32 bit che raggiungono un valore che eccede i limiti di rappresentazione avrei semplicemente bisogno di indicare che ho raggiunto il valore massimo rappresentabile. Questo un evento particolarmente frequente in applicazioni multimediali (ad esempio nei valori di colore dei pixel) e laritmetica di saturazione serve appunto a questo. Integer AdditionUsing Signed 16-Bit ConstantInteger AdditionUsing Addressin ModeTwo 16-Bit Integer Adds onUpper and Lower Register Halves

    if (cond){((lsb16(src1) + lsb16(src2)) and FFFFh) or((msb16(src1) + msb16(src2)) dst}else nopConditional Integer Subtract and ShiftUsed for Division

    if (cond){if (src1 src2 >= 0) ( (src1src2) dstelse src1 dst}else nopSigned or Unsigned Integer Multiply16 lsb x 16 lsbSigned or Unsigned Integer Multiply16 msb x 16 msb

  • 'C62x Instruction Set (by unit)Note: Refer to the 'C6000 CPU Reference Guide for more details.TMS320C62x/C64x/C67xFixed-Point Instruction Set

  • ' C67x: Superset of Floating-Point (by unit)

  • Superset of Floating-Point

  • 'C64x: Superset Fixed-Point of C62x.L .D .S .M

  • TMS320C6000Dr. Naim Dahnoun, Bristol University, (c) Texas Instruments 2004Architecture

  • 'C6x - System Block Diagram

  • C6x - Internal BusesVLIWReadWrite

  • 'C6x - System Block Diagram

  • 'C6x - System Block Diagram

  • 'C6x - Peripherals

  • EMIF

  • Memory size per deviceLINK: TMS320C6000 DSP Generation

  • HPI / XBUS / PCI

  • GPIO

  • McBSP/ASP and Utopia

  • DMA / EDMA

  • Timer / Counter

  • Ethernet

  • Video Ports

  • VCP / TCP - 3G Wireless

  • Phase Locked Loop (PLL)

  • Clock Cycle

  • C6713 Architecture

  • C6713-DSK Architecture

  • C6416Architecture

  • C6416-DSK Architecture

  • C6x - Family Part NumberingEx = TMS320 L C6 2 01 PKG A 200

    TMS320= TI DSPL = Place holder for voltage levelsC6 = C6x family2 = Fixed-point core 01 = Memory/peripheral configurationPKG= Pkg designator (actual letters TBD)A = -40 to 85C (blank for 0 to 70C)200 = Core CPU speed in Mhz

  • ArchitectureLinks:C6711 data sheet: tms320c6711.pdfC6713 data sheet: tms320c6713.pdfC6416 data sheet: tms320c6416.pdfUser guide C6xx: spru189f.pdfErrata: sprz173c.pdf

    This foil doesnt need much introduction. The C67x includes all the C62x instructions along with these additional instructions.

    Those that end in SP are for single-precision floating-point; those in DP are for double-precision floating-point. The C67x is the only DSP (if not only microprocessor) with hardware support for double-precision.VelociTI.2 CPU Enhancements 64 registers in total64 bit load/store datapathDual 16-Bit Arithmetic on 6 Functional UnitsQuad 8-Bit Arithmetic on 4 Functional UnitsInstruction set extensions for communications and imagingIncreased OrthogonalityIncreased Code Density C64x CPU1.3 ns Cycle Time6000 MIPs at 750MHz3000 16-bit MMACs: 4 Per Cycle6000 8-bit MMACs: 8 Per Cycle100% Object code compatible with C62x

    This foil doesnt need much introduction. The C67x includes all the C62x instructions along with these additional instructions.

    Those that end in SP are for single-precision floating-point; those in DP are for double-precision floating-point. The C67x is the only DSP (if not only microprocessor) with hardware support for double-precision.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.Each of these peripherals has a module dedicated to them. (I dont discuss this, but we dont really have material on the timers - these are easy enough to figure out on their own from the specs). The main point here is to simply say that each of these can exist on the C6x and a one sentence description of their capability. I sometimes note that the EMIF is considered a peripheral - outside of the core CPU. Depending on the exact device (C6201 for example), the peripheral mix may change. Dont get into too much detail on any one peripheral - unless the question is simple/quick to answer - again, we will have time to explore each of these later.HIDDEN FOILIf you have customers who are curious as to what we mean by Clock Cycles or MIPS rate, you may want to use this additional foil.Better yet, go over this material using the white board.

    Many people ask - so when you say clock cycle what do you mean? This is the def'n. It is the machine rate of the processor and this explains how we get the number. But depending on your system - you can choose any number you want by using a different CLKIN and PLL option.

    HIDDEN FOILIf you have customers who are curious as to what we mean by Clock Cycles or MIPS rate, you may want to use this additional foil.Better yet, go over this material using the white board.

    Many people ask - so when you say clock cycle what do you mean? This is the def'n. It is the machine rate of the processor and this explains how we get the number. But depending on your system - you can choose any number you want by using a different CLKIN and PLL option.

    HIDDEN FOILIf you have customers who are curious as to what we mean by Clock Cycles or MIPS rate, you may want to use this additional foil.Better yet, go over this material using the white board.

    Many people ask - so when you say clock cycle what do you mean? This is the def'n. It is the machine rate of the processor and this explains how we get the number. But depending on your system - you can choose any number you want by using a different CLKIN and PLL option.

    HIDDEN FOILIf you have customers who are curious as to what we mean by Clock Cycles or MIPS rate, you may want to use this additional foil.Better yet, go over this material using the white board.

    Many people ask - so when you say clock cycle what do you mean? This is the def'n. It is the machine rate of the processor and this explains how we get the number. But depending on your system - you can choose any number you want by using a different CLKIN and PLL option.

    HIDDEN FOILIf you have customers who are curious as to what we mean by Clock Cycles or MIPS rate, you may want to use this additional foil.Better yet, go over this material using the white board.

    Many people ask - so when you say clock cycle what do you mean? This is the def'n. It is the machine rate of the processor and this explains how we get the number. But depending on your system - you can choose any number you want by using a different CLKIN and PLL option.