Memory and Cache Design



Memory storage is implemented as a tree ADT with the individual nodes consisting of a static compare function of the node tags, the tag itself and a byte of data. Loads and stores are kept in a queue until ready for access .

Cache storage is implemented as a two dimensional array of Nblocks by Nlines. Sectors are replaced by a Least Recently Used (LRU) strategy. The cache unit can handle one access per cycle. Cache requests are handled by priority with fpu stores being the highest, integer stores next and instruction fetches lowest.

The floating point store buffer (fpsb) and the integer store buffer (isb) are used to buffer an instruction when the cache is busy with another unit. When cache access is needed by the floating point unit or the integer unit and the cache is not available, the address is held in the one element buffers until it achieves access.


Integer Unit
Return to Design Index

Last modified: Mon Sep 2 17:19:02 CDT