MicroBlaze Processor Reference Guide
73
UG081 (v14.7)
Instruction Cache
Instruction Cache Operation
For every instruction fetched, the instruction cache detects if the instruction address belongs to the
cacheable segment. If the address is non-cacheable, the cache controller ignores the instruction and
lets the M_AXI_IP, PLB or LMB complete the request. If the address is cacheable, a lookup is
performed on the tag memory to check if the requested address is currently cached. The lookup is
successful if: the word and line valid bits are set, and the tag address matches the instruction address
tag segment. On a cache miss, the cache controller requests the new instruction over the instruction
AXI4 interface (M_AXI_IC) or instruction CacheLink (IXCL) interface, and waits for the memory
controller to return the associated cache line.
With the AXI4 interface,
C_ICACHE_DATA_WIDTH
determines the bus data width, either 32 bits,
an entire cache line (128 bits or 256 bits), or 512 bits.
When
C_FAULT_TOLERANT
is set to 1, a cache miss also occurs if a parity error is detected in a
tag or instruction Block RAM.
The instruction cache always issues burst accesses for the CacheLink interface, whereas it only
issues burst accesses for the AXI4 interface when 32-bit data width is used.
Stream Buffers
When stream buffers are enabled, by setting the parameter
C_ICACHE_STREAMS
to 1, the cache
will speculatively fetch cache lines in advance in sequence following the last requested address,
until the stream buffer is full. The stream buffer can hold up to two cache lines. Should the processor
subsequently request instructions from a cache line prefetched by the stream buffer, which occurs in
linear code, they are immediately available.
The stream buffer often improves performance, since the processor generally has to spend less time
waiting for instructions to be fetched from memory.
With the AXI4 interface,
C_ICACHE_DATA_WIDTH
determines the amount of data transferred
from the stream buffer each clock cycle, either 32 bits or an entire cache line.
To be able to use instruction cache stream buffers, area optimization must not be enabled.
Figure 2-22:
Instruction Cache Organization
Instruction Address Bits
0
30 31
Cache Address
Tag Address
-
-
Tag
Instruction
RAM
RAM
Line Addr
Word Addr
=
Tag
Valid (word and line)
Cache_Hit
Cache_instruction_data
Содержание MicroBlaze
Страница 1: ...MicroBlaze Processor Reference Guide Embedded Development Kit EDK 14 7 UG081 v14 7...
Страница 4: ...MicroBlaze Processor Reference Guide www xilinx com UG081 v14 7...
Страница 8: ...8 www xilinx com MicroBlaze Processor Reference Guide UG081 v14 7 Chapter 1 Introduction Send Feedback...
Страница 262: ...262 www xilinx com MicroBlaze Processor Reference Guide UG081 v14 7 Send Feedback...