Cache Usage in High-Performance DSP Applications with the TMS320C64x
The TMS320C64x™, the newest member of the TMS320C6000™ (C6000™) family, is used in high-performance DSP applications. The C64x™ processes information at a rate of 4800 MIPs, while operating at a clock rate of 600 MHz. Processing data at these extremely high rates requires fast memory that is directly connected to the CPU (Central Processing Unit). However, a bandwidth dilemma has occurred with the dramatic increase in processor speed. While processor speed has increased dramatically, memory speed has not. Therefore, the memory to which the CPU is connected often becomes a processing bottleneck. Cache memories can greatly reduce the CPU to memory processing bottleneck.
Caches are small, fast memory that reside between the CPU and slower system memory. The cache provides code and data to the CPU at the speed of the processor, while automatically managing the data movement from the slower main memory which is frequently located off-chip. Cache memories are still a new concept to many DSP programmers. This application report provides a high-level overview of cache-based system performance. It covers cache fundamentals, provides an overview of the C64x cache architecture, discusses code behavior in caches, and points out techniques for optimizing code for cache-based systems.
|