Cache Memory,
Continued
scheme, the write operation updates the contents of the Pcache,
and the write operation is propagated to the next level of memory
hierarchy, the Bcache. The Pcache is maintained as a strict subset
of the Bcache.
Backup Cache
The backup cache (Bcache) is direct-mapped, with quadword
access size, and a hexaword (32 bytes) block size. The Bcache
allocates on reads and writes, and uses a write-back protocol.
Bcache tags and cache data are stored in static RAMs that reside
on the CPU module. The NVAX CPU implements the control for
the Bcache tags and data.
The Bcache and Pcache communicate internally to the NVAX CPU
in such a way as to maintain the Pcache as a strict subset of the
Bcache. This is done through the use of "invalidate" commands
sent automatically from the Bcache to the Pcache whenever the
Bcache must invalidate a block. The Bcache invalidates a block in
response to DMA activity to the corresponding memory location,
or to make room in the cache for new data. In the case of Bcache
blocks that contain data for NVAX-owned memory locations, the
process of invalidating the block involves a write-back of the data
contained in the cache to the corresponding memory location. The
write-back operation simultaneously relinquishes ownership of
the hexaword.
1–23