1 Lecture 10a: Digital Signal Processors: A TI Architectural History Collated by: Professor Kurt Keutzer Computer Science 252, Spring 2000 With contributions.

Slides:



Advertisements
Similar presentations
DSPs Vs General Purpose Microprocessors
Advertisements

Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
Architecture and Instruction Set of the C6x Processor Module 1.
Lecture 6 Programming the TMS320C6x Family of DSPs.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
KeyStone C66x CorePac Overview
Survey of Digital Signal Processors Michael Warner ECD: VLSI Communication Systems.
ECSE DSP architecture Review of basic computer architecture concepts C6000 architecture: VLIW Principle and Scheduling Addressing Assembly and linear.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Survey of Digital Signal Processors Michael Warner ECD: VLSI Communication Systems.
Processor System Architecture
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
Computer Organization and Architecture
C66x CorePac: Achieving High Performance. Agenda 1.CorePac Architecture 2.Single Instruction Multiple Data (SIMD) 3.Memory Access 4.Pipeline Concept.
EECC722 - Shaaban #1 lec # 7 Fall Processor Applications General Purpose - high performance –Alpha’s, SPARC, MIPS.. –Used for general purpose.
1 Architectural Analysis of a DSP Device, the Instruction Set and the Addressing Modes SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software.
Data Manipulation Computer System consists of the following parts:
1 SHARC ‘S’uper ‘H’arvard ‘ARC’hitecture Nagendra Doddapaneni ER hit HAR ect VARD ure SUP Arc.
Alyssa Concha Microprocessors Final Project ADSP – SHARC Digital Signal Processor.
Processor Applications
Chapter 12 CPU Structure and Function. Example Register Organizations.
1 RISC Machines l RISC system »instruction –standard, fixed instruction format –single-cycle execution of most instructions –memory access is available.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
The 8086 Microprocessor The 8086, announced in 1978, was the first 16-bit microprocessor introduced by Intel Corporation 8086 is 16-bit MPU. Externally.
Computer Organization and Assembly language
Ehsan Shams Saeed Sharifi Tehrani. What is DSP ? Digital Signal Processing (DSP) is used in a wide variety of applications, and it is hard to find a good.
Atmega32 Architectural Overview
DSP Development System
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
Samsung ARM S3C4510B Product overview System manager
C66x CorePac: Achieving High Performance. Agenda 1.CorePac Architecture 2.Single Instruction Multiple Data (SIMD) 3.Memory Access 4.Pipeline Concept.
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
Overview of Super-Harvard Architecture (SHARC) Daniel GlickDaniel Glick – May 15, 2002 for V (Dewar)
Microprocessor Microprocessor (cont..) It is a 16 bit μp has a 20 bit address bus can access upto 220 memory locations ( 1 MB). It can support.
1 - 1 Digital Signal Controller TMS320F2812 Module 1 : Architecture.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
DIGITAL SIGNAL PROCESSORS. Von Neumann Architecture Computers to be programmed by codes residing in memory. Single Memory to store data and program.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
The Evolution of TMS, Family of DSP’s
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Overview von Neumann Architecture Computer component Computer function
DSP C5000 Chapter 10 Understanding and Programming the Host Port Interface (EHPI) Copyright © 2003 Texas Instruments. All rights reserved.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
MODULE 5 INTEL TODAY WE ARE GOING TO DISCUSS ABOUT, FEATURES OF 8086 LOGICAL PIN DIAGRAM INTERNAL ARCHITECTURE REGISTERS AND FLAGS OPERATING MODES.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
TMS320C6713 Assembly Language
UNIT – Microcontroller.
Introduction to 8086 Microprocessor
Embedded Systems Design
Dr. Michael Nasief Lecture 2
Subject Name: Digital Signal Processing Algorithms & Architecture
The TMS320C6x Family of DSPs
Introduction to Digital Signal Processors (DSPs)
Microprocessor & Assembly Language
Morgan Kaufmann Publishers Computer Organization and Assembly Language
* From AMD 1996 Publication #18522 Revision E
Computer Architecture
Digital Signal Processors-1
ARM Introduction.
Unit-I 80386DX Architecture
ADSP 21065L.
Presentation transcript:

1 Lecture 10a: Digital Signal Processors: A TI Architectural History Collated by: Professor Kurt Keutzer Computer Science 252, Spring 2000 With contributions from: Dr. Brock Barton, Clark Hise TI; Dr. Surendar S. Magar, Berkeley Concept Research Corporation

2 DSP ARCHITECTURE EVOLUTION Video/Imaging W-CDMA Radars Digital Radios High-End Control Modems Voice Coding Instruments Low-End Modems Industrial Control Multi-Processing DSP Building Blocks & Bit Slice Processors (MUL, etc.)  C and Analog DSP  P and RISC ( MP ) Function/Application Specific ( MP) Application Examples Multipliers (MUL)Multiprocessors (MP) PP

3 DSP ARCHITECTURE Enabling Technologies

4 Texas Instruments TMS320 Family Multiple DSP  P Generations

5 First Generation DSP  P Case Study TMS32010 (Texas Instruments) Features  200 ns instruction cycle (5 MIPS)  144 words (16 bit) on-chip data RAM  1.5K words (16 bit) on-chip program ROM - TMS32010  External program memory expansion to a total of 4K words at full speed  16-bit instruction/data word  single cycle 32-bit ALU/accumulator  Single cycle 16 x 16-bit multiply in 200 ns  Two cycle MAC (5 MOPS)  Zero to 15-bit barrel shifter  Eight input and eight output channels

6 TMS32010 BLOCK DIAGRAM

7 TMS32010 Program Memory Maps Address Microcomputer Mode 16-bit word Reset 1st Word Reset 2nd Word Interrupt Internal Memory Space Internal Memory Space Reserved For Testing External Memory Space Reset 1st Word Reset 2nd Word Interrupt Microprocessor Mode 16-bit word External Memory Space

8 Digital FIR Filter Implementation (Uniprocessor-Circular Buffer ) X Start End 2nd. Cycle1st. Cycle End Start each Time here a n-1 a n-2 a 1 a 0 a n-1 a 0 Replace starting value with new value X0X0 X1X1 X2X2 X3X3 X4X4 X5X5 X n-1 Start Acc +

9 TMS32010 FIR FILTER PROGRAM Indirect Addressing (Smaller Program Space) Y(n) = x[n-(N-1)]. h(N-1) + x[n-(N-2)]. h(N-2) +…+ x(n). h(0) For N=50, Indirect Addressing t=42  s (23.8 KHz) For N=50, Direct Addressing t=21.6  s (40.2 KHz)

10 TMS320C203/LC203 BLOCK DIAGRAM DSP Core Approach

11 Third Generation DSP  P Case Study TMS320C TMS320C30 Key Features  60 ns single-cycle instruction execution time 33.3 MFLOPS (million floating-point operations per second) 16.7 MIPS (million instructions per second)  One 4K x 32-bit single-cycle dual-access on-chip ROM block  Two 1K x 32-bit single-cycle dual-access on-chip RAM blocks  64 x 32-bit instruction cache  32-bit instruction and data words, 24-bit addresses  40/32-bit floating-point/integer multiplier and ALU  32-bit barrel shifter

12 Third Generation DSP  P Case Study TMS320C TMS320C30 Key Features (cont.)  Eight extended precision registers (accumulators)  Two address generators with eight auxiliary registers and two auxiliary register arithmetic units  On-chip direct memory Access (DMA) controller for concurrent I/O and CPU operation  Parallel ALU and multiplier instructions  Block repeat capability  Interlocked instructions for multiprocessing support  Two serial ports to support 8/16/32-bit transfers  Two 32-bit timers  1  CDMOS Process

13 TMS320C30 BLOCK DIAGRAM

14 TMS320C3x CPU BLOCK DIAGRAM

15 TMS320C3x MEMORY BLOCK DIAGRAM

16 TMS320C30 Memory Organization Interrupt locations & reserved (192) external STRB active External STRB Active Oh BFh COh 7FFFFFh h 801FFFh h 803FFFh h 805FFFh h 807FFFH 80800h 8097FFh h 809BFFh 809C00h 809FFFh 80A00h 0FFFFFFh Expansion BUS MSTRB Active (8K) Reserved (8K) Expansion Bus IOSTRB Active (8K) Reserved (8K) Peripheral Bus Memory Mapped Registers (Internal) (6K) RAM Block 0 (1K) (Internal) RAM Block 1 (1K) (Internal) External STRB Active Oh BFh COh 7FFFFFh h 801FFFh h 803FFFh h 805FFFh h 807FFFH 80800h 8097FFh h 809BFFh 809C00h 809FFFh 80A00h 0FFFFFFh External STRB Active RAM Block 1 (1K) (Internal) RAM Block 0 (1K) (Internal) Peripheral Bus Memory Mapped Registers (Internal) (6K) Reserved (8K) Expansion Bus IOSTRB Active (8K) Reserved (8K) Expansion BUS MSTRB Active (8K) Interrupt locations & reserved (192) ROM (Internal) 0FFFh 1000h Microprocessor ModeMicrocomputer Mode

17 TMS320C30 FIR FILTER PROGRAM For N=50, t=3.6  s (277 KHz) Y(n) = x[n-(N-1)]. h(N-1) + x[n-(N-2)]. h(N-2) +…+ x(n). h(0)

18 ‘C54x Architecture

19 TMS320C54x Internal Block Diagram

20 Architecture optimized for DSP #1: CPU designed for efficient DSP processing MAC unit, 2 Accumulators, Additional Adder, Barrel Shifter #2: Multiple busses for efficient data and program flow Four busses and large on-chip memory that result in sustained performance near peak #3: Highly tuned instruction set for powerful DSP computing Sophisticated instructions that execute in fewer cycles, with less code and low power demands

21 Key #1: DSP engine MPY xa Y = 40  a n x n n = 1 * ADD y

22 Key #1: MAC Unit MPY ADD MAC *AR2+, *AR3+, A acc A acc B Data Coeff Prgm S/U Fractional Mode Bit ABOABO Acc ATemp Acc AData

23 Key #1: Accumulators + Adder General-Purpose Math example: t = s+e-r A A A A B C T D Shifter A Bus B Bus MUX A B MAC acc A acc B U Bus ALU

24 Key #1: Barrel shifter Barrel Shifter ( ) S Bus 16, A C D ALU E Bus Y A B

25 Key #1: Temporary register Temporary Register ALUMAC T Bus D EXP Encoder A B X For example: A = xa T A

26 Key #2: Efficient data/program flow #1: CPU designed for efficient DSP processing MAC unit, 2 Accumulators, Additional Adder, Barrel Shifter #2: Multiple busses for efficient data and program flow Four busses and large on-chip memory that result in sustained performance near peak #3: Highly tuned instruction set for powerful DSP computing Sophisticated instructions that execute in fewer cycles, with less code and low power demands

27 Key #2: Multiple busses MAC*AR2+, *AR3+, A Central Arithmetic Logic Unit EXTERNAL MEMORY MUXMUXMUXMUX INTERNAL MEMORY MUXESMUXESMUXESMUXES P D E C DC M ALU SHIFTER BTMACA

28 P Prefetch F Fetch D Decode A Access R Read E Execute Key #2: Pipeline  Prefetch: Calculate address of instruction  Fetch: Collect instruction  Decode: Interpret instruction  Access: Collect address of operand  Read: Collect operand  Execute: Perform operation

29 Key #2: Bus usage Central Arithmetic Logic Unit EXTERNAL MEMORY MUXMUXMUXMUX INTERNAL MEMORY MUXESMUXESMUXESMUXES P ALU SHIFTER BT MAC A PCCNTL E C D ARs

30 Key #2:Pipeline performance CYCLES P 1 D1D1 F2F2 P3P3 A1A1 D2D2 F3F3 P4P4 R1R1 A2A2 D3D3 F4F4 P5P5 X1X1 P6P6 R2R2 A3A3 D4D4 F5F5 F6F6 X2X2 R3R3 A4A4 D5D5 F1F1 P2P2 D6D6 X3X3 R4R4 A5A5 A6A6 X4X4 R5R5 R6R6 X5X5 X6X6 Fully loaded pipeline

31 Key #3:Powerful instructions #1: CPU designed for efficient DSP processing MAC Unit, 2 Accumulators, Additional Adder, Barrel Shifter #2: Multiple busses for efficient data and program flow Four busses and large on-chip memory that result in sustained performance near peak #3: Highly tuned instruction set for powerful DSP computing Sophisticated instructions that execute in fewer cycles, with less code and low power demands

32 Key #3: Advanced applications Symmetric FIR filter FIRS Adaptive filtering LMS Polynomial evaluation POLY Code book search STRCD SACCD SRCCD Viterbi DADST DSADT CMPS

33 C62x Architecture

34 TMS320C6201 Revision 2 C6201 CPU Megamodule Data Path 1 D1M1S1L1 A Register File Data Path 2 L2S2M2D2 B Register File Instruction Dispatch Program Fetch Interrupts Control Registers Control Logic Emulation Test Ext. Memory Interface 4-DMA Program Cache / Program Memory 32-bit address, 256-Bit data512K Bits RAM Host Port Interface 2 Timers 2 Multi- channel buffered serial ports (T1/E1) Data Memory 32-Bit address, 8-, 16-, 32-Bit data 512K Bits RAM Pwr Dwn Instruction Decode

35 C6201 Internal Memory Architecture  Separate Internal Program and Data Spaces  Program 16K 32-bit instructions (2K Fetch Packets) 256-bit Fetch Width Configurable as either  Direct Mapped Cache, Memory Mapped Program Memory  Data 32K x 16 Single Ported Accessible by Both CPU Data Buses 4 x 8K 16-bit Banks  2 Possible Simultaneous Memory Accesses (4 Banks)  4-Way Interleave, Banks and Interleave Minimize Access Conflicts

36 C62x Interrupts  12 Maskable Interrupts, Non-Maskable Interrupt (NMI)  Interrupt Return Pointers (IRP, NRP)  Fast Interrupt Handing Branches Directly to 8-Instruction Service Fetch Packet Can Branch out with no overhead for longer service 7 Cycle Overhead : Time When No Code is Running 12 Cycle Latency : Interrupt Response Time  Interrupt Acknowledge (IACK) and Number (INUM) Signals  Branch Delay Slots Protected From Interrupts  Edge Triggered

37 C62x Datapaths Cross Paths 40-bit Write Paths (8 MSBs) 40-bit Read Paths/Store Paths DDATA_I2 (load data) D2 DS1S2 M1 DS1S2 D1 DS1S2 DDATA_O2 (store data) DADR2 (address) DADR1 (address) DDATA_I1 (load data) DDATA_O1 (store data) 2X1X L 1L 1S1 S2 DL SL DDL S2S1 D M2L2S2 D DL SL DDL S2S1 S2 D S1 Registers B0 - B15Registers A0 - A15

38 Functional Units  L-Unit (L1, L2) 40-bit Integer ALU, Comparisons Bit Counting, Normalization  S-Unit (S1, S2) 32-bit ALU, 40-bit Shifter Bitfield Operations, Branching  M-Unit (M1, M2) 16 x 16 -> 32  D-Unit (D1, D2) 32-bit Add/Subtract Address Calculations

39 C62x Datapaths Cross Paths 40-bit Write Paths (8 MSBs) 40-bit Read Paths/Store Paths DDATA_I2 (load data) D2 DS1S2 M1 DS1S2 D1 DS1S2 DDATA_O2 (store data) DADR2 (address) DADR1 (address) DDATA_I1 (load data) DDATA_O1 (store data) 2X1X L 1L 1S1 S2 DL SL DDL S2S1 D M2L2S2 D DL SL DDL S2S1 S2 D S1 Registers B0 - B15Registers A0 - A15

40 Example 1 C62x Instruction Packing Instruction Packing Advanced VLIW  Fetch Packet CPU fetches 8 instructions/cycle  Execute Packet CPU executes 1 to 8 instructions/cycle Fetch packets can contain multiple execute packets  Parallelism determined at compile / assembly time  Examples 1) 8 parallel instructions 2) 8 serial instructions 3) Mixed Serial/Parallel Groups  A // B  C  D  E // F // G // H  Reduces Codesize, Number of Program Fetches, Power Consumption ABCDEFGH A B C D E F G H Example 2 AB C D E FGH Example 3

41 Fetch PGPSPWPRDPDCE1E2E3E4E5 DecodeExecute Execute Packet 1 C62x Pipeline Operation Pipeline Phases  Single-Cycle Throughput  Operate in Lock Step  Fetch PGProgram Address Generate PS Program Address Send PWProgram Access Ready Wait PRProgram Fetch Packet Receive  Decode DPInstruction Dispatch DCInstruction Decode  Execute E1 - E5 Execute 1 through Execute 5 PGPSPWPRDPDCE1E2E3E4E5 Execute Packet 2 PGPSPWPRDPDCE1E2E3E4E5 Execute Packet 3 PGPSPWPRDPDCE1E2E3E4E5 Execute Packet 4 PGPSPWPRDPDCE1E2E3E4E5 Execute Packet 5 PGPSPWPRDPDCE1E2E3E4E5 Execute Packet 6 PGPSPWPRDPDCE1E2E3E4E5 Execute Packet 7 PGPSPWPRDPDCE1E2E3E4E5

42 C62x Pipeline Operation Delay Slots  Delay Slots: number of extra cycles until result is: written to register file available for use by a subsequent instructions Multi-cycle NOP instruction can fill delay slots while minimizing codesize impact PGPSPWPRDPDCE1 5 Delay SlotsBranch Target E1 Branches E1E2E3E4E5 4 Delay SlotsLoads E1E2 1 Delay SlotsInteger Multiply E1 No DelayMost Instructions

43 C6000 Pipeline Operation Benefits  Cycle Time Allows 6 ns cycle time on 67x Allows 5 ns cycle time & single cycle execution on C62x  Parallelism 8 new instructions can always be dispatched every cycle  High Performance Internal Memory Access Pipelined Program and Data Accesses Two 32-bit Data Accesses/Cycle (C62x) Two 64-bit Data Accesses/Cycle (C67x) 256-bit Program Access/Cycle  Good Compiler Target Visible: No Variable-Length Pipeline Flow Deterministic: Order and Time of Execution Orthogonal: Independent Instructions

44 C6000 Instruction Set Features Conditional Instructions  All Instructions can be Conditional A1, A2, B0, B1, B2 can be used as Conditions Based on Zero or Non-Zero Value Compare Instructions can allow other Conditions (, etc)  Reduces Branching  Increases Parallelism

45 C6000 Instruction Set Addressing Features  Load-Store Architecture  Two Addressing Units (D1, D2)  Orthogonal Any Register can be used for Addressing or Indexing  Signed/Unsigned Byte, Half-Word, Word, Double-Word Addressable Indexes are Scaled by Type  Register or 5-Bit Unsigned Constant Index

46 C6000 Instruction Set Addressing Features  Indirect Addressing Modes Pre-Increment *++R[index] Post-Increment *R++[index] Pre-Decrement *--R[index] Post-Decrement *R--[index] Positive Offset *+R[index] Negative Offset *-R[index]  15-bit Positive/Negative Constant Offset from Either B14 or B15

47 C6000 Instruction Set Addressing Features  Circular Addressing Fast and Low Cost: Power of 2 Sizes and Alignment Up to 8 Different Pointers/Buffers, Up to 2 Different Buffer Sizes  Dual Endian Support

48 C67x Architecture

49 TMS320C6701 DSP Block Diagram ’C67x Floating-Point CPU Core Data Path 1 D1M1S1L1 A Register File Data Path 2 L2S2M2D2 B Register File Instruction Dispatch Program Fetch Interrupts Control Registers Control Logic Emulation Test External Memory Interface 4 Channel DMA Program Cache/Program Memory 32-bit address, 256-Bit data 512K Bits RAM Host Port Interface 2 Timers 2 Multi- channel buffered serial ports (T1/E1) Data Memory 32-Bit address 8-, 16-, 32-Bit data 512K Bits RAM Power Down Instruction Decode

50 TMS320C6701 Advanced VLIW CPU (VelociTI TM )  MHz 6-ns cycle time 6 x 32-bit floating-point instructions/cycle  Load store architecture  3.3-V I/Os, 1.8-V internal  Single- and double-precision IEEE floating-point  Dual data paths 6 floating-point units / 8 x 32-bit instructions

51 TMS320C6701 Memory /Peripherals  Same as ’C6201  External interface supports SDRAM, SRAM, SBSRAM  4-channel bootloading DMA  16-bit host port interface  1Mbit on-chip SRAM  2 multichannel buffered serial ports (T1/E1)  Pin compatible with ’C6201

52 Arithmetic Logic Unit Auxiliary Logic Unit Multiplier Unit ’C67x Floating-Point CPU Core Data Path 1 D1M1S1L1 A Register File Data Path 2 L2S2M2D2 B Register File Instruction Decode Instruction Dispatch Program Fetch Interrupts Control Registers Control Logic Emulation Test Floating-Point Capabilities TMS320C67x CPU Core

53 C67x Interrupts  12 Maskable Interrupts  Non-Maskable Interrupt (NMI)  Interrupt Return Pointers (IRP, NRP)  Fast Interrupt Handling Branches Directly to 8-Instruction Service Fetch Packet 7 Cycle Overhead: Time When No Code is Running 12 Cycle Latency : Interrupt Response Time  Interrupt Acknowledge (IACK) and Number (INUM) Signals  Branch Delay Slots Protected From Interrupts  Edge Triggered

54 C67x New Instructions Floating Point Arithmetic Unit.L Unit ADDSP ADDDP SUBSP SUBDP INTSP INTDP SPINT DPINT SPTRUNC DPTRUNC DPSP Floating Point Multiply Unit.M Unit MPYSP MPYDP MPYI MPYID MPY24 MPY24H ABSSP ABSDP CMPGTSP CMPEQSP CMPLTSP CMPGTDP CMPEQDP CMPLTDP RCPSP RCPDP RSQRSP RSQRDP SPDP.S Unit Floating Point Auxilary Unit

55 C67x Datapaths  2 Data Paths  8 Functional Units Orthogonal/Independent 2 Floating Point Multipliers 2 Floating Point Arithmetic 2 Floating Point Auxiliary  Control Independent Up to 8 32-bit Instructions  Registers 2 Files 32, 32-bit registers total  Cross paths (1X, 2X)  L-Unit (L1, L2) Floating-Point, 40-bit Integer ALU Bit Counting, Normalization  S-Unit (S1, S2) Floating Point Auxiliary Unit 32-bit ALU/40-bit shifter Bitfield Operations, Branching  M-Unit (M1, M2) Multiplier: Integer & Floating-Point  D-Unit (D1, D2) 32-bit add/subtract Addr Calculations

56 C67x Instruction Packing Instruction Packing Enhanced VLIW Example 1 ABCDEFGH A B C D E F G H Example 2 AB C D E FGH Example 3  Fetch Packet CPU fetches 8 instructions/cycle  Execute Packet CPU executes 1 to 8 instructions/cycle Fetch packets can contain multiple execute packets  Parallelism determined at compile/assembly time  Examples 1) 8 parallel instructions 2) 8 serial instructions 3) Mixed Serial/Parallel Groups  A // B  C  D  E // F // G // H  Reduces Codesize Number of Program Fetches Power Consumption

57 C67x Pipeline Operation Pipeline Phases Fetch PGPSPWPRDPDCE1E2E3E4E5 DecodeExecute E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 PGPSPWPRDPDCE1E2E3E4E5E6E7E8E9E10 Execute Packet 1 Execute Packet 2 Execute Packet 3 Execute Packet 4 Execute Packet 5 Execute Packet 6 Execute Packet 7  Operate in Lock Step  Fetch PGProgram Address Generate PS Program Address Send PWProgram Access Ready Wait PRProgram Fetch Packet Receive  Decode DPInstruction Dispatch DCInstruction Decode  Execute E1 - E5Execute 1 through Execute 5 E6 - E10Double Precision Only

58 C67x Pipeline Operation Delay Slots PGPSPWPRDPDCE1 5 Delay SlotsBranch Target E1 Branches E1E2E3E4 4 Delay SlotsLoads E1E2 3 Delay SlotsSingle-Precision E1 No DelayMost Integer E5 E3E4 Delay Slots: number of extra cycles until result is: written to register file available for use by a subsequent instructions Multi-cycle NOP instruction can fill delay slots while minimizing codesize impact

59 Control Registers Emulation Register file Program Fetch & Dispatch L-Unit 1 Arithmetic Logic Unit S-Unit 1 Auxiliary Logic Unit D-Unit 1 Data Load/ Store Decode Register file M-Unit 2 Multiplier Unit L-Unit 2 Arithmetic Logic Unit S-Unit 2 Auxiliary Logic Unit D-Unit 2 Data Load/ Store ’C62x CPU ’C67x CPU M-Unit 1 Multiplier Unit ’C67x and ’C62x Commonality  Driving commonality ( ) between ’C67x & ’C62x shortens ’C67x design time.  Maintaining symmetry between datapaths shortens the ’C67x design time. Control Registers Emulation Register file Program Fetch & Dispatch L-Unit 1 Arithmetic Logic Unit with Floating Point S-Unit 1 Auxiliary Logic Unit with Floating Point D-Unit 1 Data Load/ Store Decode Register file M-Unit 2 Multiplier Unit with Floating Point L-Unit 2 Arithmetic Logic Unit with Floating Point S-Unit 2 Auxiliary Logic Unit with Floating Point D-Unit 2 Data Load/ Store M-Unit 1 Multiplier Unit with Floating Point

60 TMS320C80 MIMD MULTIPROCESSOR Texas Instruments

61 Copyright 1999