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
Содержание DigitalDNA ColdFire MCF5272
Страница 1: ...MCF5272UM D Rev 0 02 2001 MCF5272 ColdFire Integrated Microprocessor User s Manual ...
Страница 38: ...xxxviii MCF5272 User s Manual TABLES Table Number Title Page Number ...
Страница 58: ...1 10 MCF5272 User s Manual MCF5272 Specific Features ...
Страница 90: ...2 42 MCF5272 User s Manual Exception Processing Overview ...
Страница 96: ...3 6 MCF5272 User s Manual MAC Instruction Execution Timings ...
Страница 158: ...5 46 MCF5272 User s Manual Motorola Recommended BDM Pinout ...
Страница 184: ...7 12 MCF5272 User s Manual Interrupt Controller Registers ...
Страница 338: ...13 44 MCF5272 User s Manual Application Examples ...
Страница 414: ...18 6 MCF5272 User s Manual PWM Programming Model ...
Страница 452: ...19 38 MCF5272 User s Manual Power Supply Pins ...
Страница 482: ...20 30 MCF5272 User s Manual Reset Operation ...
Страница 492: ...21 10 MCF5272 User s Manual Non IEEE 1149 1 Operation ...
Страница 548: ...INDEX Index 12 MCF5272 User s Manual ...