Chapter 4. Local Memory
4-9
Instruction Cache Overview
4.5.2 Instruction Cache Operation
The instruction cache is physically connected to the ColdFire core's local bus, allowing it
to service all instruction fetches from the ColdFire core and certain memory fetches
initiated by the debug module. Typically, the debug module's memory references appear as
supervisor data accesses but the unit can be programmed to generate user-mode accesses
and/or instruction fetches. The instruction cache processes any instruction fetch access in
the normal manner.
4.5.2.1 Interaction with Other Modules
Because both the instruction cache and high-speed SRAM module are connected to the
ColdFire core's local data bus, certain user-defined configurations can result in
simultaneous instruction fetch processing.
If the referenced address is mapped into the SRAM module, that module services the
request in a single cycle. In this case, data accessed from the instruction cache is discarded
without generating external memory references. If the address is not mapped into SRAM
space, the instruction cache handles the request in the normal fashion.
4.5.2.2 Cache Coherency and Invalidation
The instruction cache does not monitor ColdFire core data references for accesses to cached
instructions. Therefore, software must maintain cache coherency by invalidating the
appropriate cache entries after modifying code segments.
Cache invalidation can be performed in the two following ways:
•
Setting CACR[CINVA] forces the entire instruction cache to be marked as invalid.
The invalidation operation requires 64 cycles because the cache sequences through
the entire tag array, clearing a single location each cycle. Any subsequent instruction
fetch accesses are postponed until the invalidation sequence is complete.
•
The privileged CPUSHL instruction can invalidate a single cache line. When this
instruction is executed, the cache entry defined by bits 9–4 of the source address
register is invalidated, provided CACR[CDPI] is cleared.
These invalidation operations can be initiated from the ColdFire core or the debug module.
4.5.2.3 Caching Modes
For every memory reference generated by the processor or debug module, a set of effective
attributes is determined based on the address and the ACRs. Caching modes determine how
the cache handles an access. An access can be cacheable or cache-inhibited. For normal
accesses, the ACRn[CM] bit corresponding to the address of the access specifies the
caching mode. If an address does not match an ACR, the default caching mode is defined
by CACR[DCM]. The specific algorithm is as follows:
if (address == ACR0-address including mask)
effective attributes = ACR0 attributes
Summary of Contents for DigitalDNA ColdFire MCF5272
Page 1: ...MCF5272UM D Rev 0 02 2001 MCF5272 ColdFire Integrated Microprocessor User s Manual ...
Page 38: ...xxxviii MCF5272 User s Manual TABLES Table Number Title Page Number ...
Page 58: ...1 10 MCF5272 User s Manual MCF5272 Specific Features ...
Page 90: ...2 42 MCF5272 User s Manual Exception Processing Overview ...
Page 96: ...3 6 MCF5272 User s Manual MAC Instruction Execution Timings ...
Page 158: ...5 46 MCF5272 User s Manual Motorola Recommended BDM Pinout ...
Page 184: ...7 12 MCF5272 User s Manual Interrupt Controller Registers ...
Page 338: ...13 44 MCF5272 User s Manual Application Examples ...
Page 414: ...18 6 MCF5272 User s Manual PWM Programming Model ...
Page 452: ...19 38 MCF5272 User s Manual Power Supply Pins ...
Page 482: ...20 30 MCF5272 User s Manual Reset Operation ...
Page 492: ...21 10 MCF5272 User s Manual Non IEEE 1149 1 Operation ...