High Performance DSP Satellite Seminar
October 8, 1997
TMS320C6x DSP
Architecture and Software Development Tools
Self-Paced Learning Module
Table of Contents
TMS320C6x Architecture and Software Development
Tools
Module Overview
Benchmarks in Clock Cycles
Benchmarks in Time
Sum of Products
Example - Multiply
Example - Multiply .M Unit
Example - Add
Example - Add .L Unit
Example - Add
Example - Register File
Example - Load/Store
Example - Load/Store .D Unit
Load Instructions
Load Instructions
Load Instructions
Load Instructions
Load Instructions
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Creating A Loop
Using Pointers
Using Pointers
Using Pointers
Using Pointers
Code Review (using side A only)
C62xx Instructions Types and Execution Cycles
Instructions Types #NOPs
Instructions Types #NOPs
Instructions Types #NOPs
How can we improve performance of our algorithm?
Advanced VLIW - VelociTI
Code Example
VelociTI Definitions
VelociTI Definitions
Non Pipelined/Pipilined CPU
Serial Code Example
Pipeline Example (Fetch Packet)
Pipeline Code Example - Serial Execution`
Partially Serial Code Example
Partially Parallel Execution
Fully Parallel Code Example
Fully Parallel Execution
Programming the 'C62xx
Objectives
Programming the 'C62xx
Software Tool Flow
Software Tool Flow
Using the C62xx Compiler
Dot Product in ‘C’
Compiler Tools
Invoking the Compiler/Linker
Invoking the Compiler/Linker
Invoking the Compiler/Linker
Invoking the Compiler/Linker
Common Compiler Options
Common Assembler Options
Common Linker Options
Common Linker Options
Common Linker Options
Software Pipelining
Pipeline Example Code
Pipeline Example Code
Non-Pipelined Code
Pipelining Code
Pipelining Code
Pipelining Code
Pipelining Code
Pipelining Code
Pipelining Code
Pipelining Code
Pipelining Code
Pipelining Code
Further Optimization of C Code
Comparing Coding Methods
Intrinsics vs. In-Line Assembly
List of Available Intrinsics
Word-Wide Optimization in C
Optimizing - Using LDW
Optimizing - Using LDW/MPYH
Optimized Dot Product in 'C'
Using the C62xx Assembly Optimizer
Linear Assembly Using Sum of Products
Linear Assembly Using Sum of Products
Invoking Assembly Optimizer
Invoking Assembly Optimizer
Invoking Assembly Optimizer
Using the C62xx Simulator
Invoking the Simulator
Benchmarking Code Results
|