User's Manual

www.ti.com
2.4.3 Bandwidth Manager
Internal Peripherals
The bandwidth manager provides a programmable interface for optimizing bandwidth among the
requesters for resources, which include the following:
EDMA-initiated DMA transfers (and resulting coherency operations)
IDMA-initiated transfers (and resulting coherency operations)
Programmable cache coherency operations
Block based coherency operations
Global coherency operations
CPU direct-initiated transfers
Data access (load/store)
Program access
The resources include the following:
L1P memory
L1D memory
L2 memory
Resources outside of C64x+ Megamodule: external memory, on-chip peripherals, registers
Since any given requestor could potentially block a resource for extended periods of time, the bandwidth
manager is implemented to assure fairness for all requesters.
The bandwidth manager implements a weighted-priority-driven bandwidth allocation. Each requestor
(EDMA, IDMA, CPU, etc.) is assigned a priority level on a per-transfer basis. The programmable priority
level has a single meaning throughout the system. There are a total of nine priority levels, where priority
zero is the highest priority and priority eight is the lowest priority. When requests for a single resource
contend, access is granted to the highest-priority requestor. When the contention occurs for multiple
successive cycles, a contention counter assures that the lower-priority requestor gets access to the
resource every 1 out of n arbitration cycles, where n is programmable. A priority level of -1 represents a
transfer whose priority has been increased due to expiration of the contention counter or a transfer that is
fixed as the highest-priority transfer to a given resource.
SPRU978E March 2008 TMS320C64x+ Megamodule 23
Submit Documentation Feedback