![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_143.png)
IDT MIPS32 4Kc Processor Core
Caches
79RC32438 User Reference Manual
2 - 81
November 4, 2002
Notes
Cache refills are performed using a 4-word fill buffer, which holds data returned from memory during a 4-
beat burst transaction. The critical miss word is always returned first. The caches are blocking until the crit-
ical word is returned, but the pipeline may proceed while the other 3 beats of the burst are still active on the
bus. Table 2.57 lists the instruction and data cache attributes for the RC32438.
Software can identify the instruction or data cache configuration by reading the appropriate bits of the
Config1 register (see section Config1 Register (CP0 Register 16, Select 1) earlier in this chapter.
Cache Protocols
Cache Organization
The instruction and data caches each consist of two arrays: a tag array and a data array. The caches
are virtually indexed, since a virtual address is used to select the appropriate line within both the tag and
data arrays. The caches are physically tagged, as the tag array contains a physical, not virtual, address.
The tag and data arrays hold “n” ways of information per line, corresponding to the n-way set associa-
tivity of the cache, where “n” can be between 1 and 4 for a cache. Figure 2.35 shows the format of each line
of the tag and data arrays for each way. A tag entry consists of the upper 22 bits of the physical address
(bits [31:10]), 4 valid bits (one for each data word in the line), a lock bit and a LRF bit. A data entry contains
the four 32-bit words in the line, for a total of 16 bytes. Not every word need be present in the data array,
hence the per-word validity information stored with the tag. A word is the minimum valid quanta, so it is not
possible to hold a partially valid subword. Once a valid word is resident in the cache, then a byte, halfword,
or tri-byte stores can update a portion of the word.
Figure 2.35 Cache Array Formats
Parameter
Instruction
Data
Size
16 KBytes
16 KBytes
Number of Cache Sets
256
256
Lines Per Set (Associativity)
4 way set associative
4 way set associative
Line Size
16 Bytes
16 Bytes
Read Unit
32-bits
32-bits
Write Policy
N/A
write-through without write-allocate
Miss restart after transfer of
miss word
miss word
Cache Locking
per line
per line
Table 2.57 Instruction and Data Cache Attributes
Tag:
Data:
Word3
Word2
Word1
Word0
PA
Valid
L
LRF
32
32
32
32
22
4
1
1