CHAPTER 6: Memory Hierarchy Flashcards
temporal locality
locality principle stating that if a data location is referenced then it will tend to be referenced again soon
spatial locality
locality principle stating that if a data location is referenced, data locations with nearby addresses will tend to be referenced soon
memory hierarchy
structure that uses multiple levels of memories; as the distance from the processor increases, the size of the memories and the access time both increase
block (line)
minimum unit of information that can be either present or not present in a cache
hit rate
fraction of memory accesses found in a level of the memory hierarchy
miss rate
fraction of memory accesses not found in a level of the memory hierarchy
hit time
time required to access a level of the memory hierarchy, including the time needed to determine whether the access is a hit or a miss
miss penalty
time required to fetch a block into a level of the memory hierarchy from the lower level, including the time to access the block, transmit it from one level to the other, insert it in the level that experienced the miss, and then pass the block to the requestor
SRAM (static ram)
- memory arrays with (usually) a single access port that can provide either a read or a write - have a fixed access time to any datum, though the read and write access times may differ - don’t need to refresh and so the access time is very close to the cycle time - typically use six to eight transistors per bit to prevent the information from being disturbed when read
DRAM (dynamic ram)
- value kept in a cell is stored as a charge in a capacitor - use only one transistor per bit of storage, they are much denser and cheaper - store the charge on a capacitor, it cannot be kept indefinitely and must periodically be refreshed - use a two-level decoding structure, and this allows us to refresh an entire row (which shares a word line) with a read cycle followed immediately by a write cycle
seek
process of positioning a read/write head over the proper track on a disk
direct-mapped cache
cache structure in which each memory location is mapped to exactly one location in the cache
tag
field in a table used for a memory hierarchy that contains the address information required to identify whether the associated block in the hierarchy corresponds to a requested word
valid bit
field in the tables of a memory hierarchy that indicates that the associated block in the hierarchy contains valid data
cache miss
request for data from the cache that cannot be filled because the data are not present in the cache
write-through
scheme in which writes always update both the cache and the next lower level of the memory hierarchy, ensuring that data are always consistent between the two.
write buffer
queue that holds data while the data are waiting to be written to memory
write-back
scheme that handles writes by updating values only to the block in the cache, then writing the modified block to the lower level of the hierarchy when the block is replaced
split-cache
scheme in which a level of the memory hierarchy is composed of two independent caches that operate in parallel with each other, with one handling instructions and one handling data
fully associative cache
cache structure in which a block can be placed in any location in the cache
set-associative cache
cache that has a fixed number of locations (at least two) where each block can be placed
multilevel cache
memory hierarchy with multiple levels of caches, rather than just a cache and main memory
global miss rate
fraction of references that miss in all levels of a mutlilevel cache
local miss rate
fraction of references to one level of a cache that miss; used in multilevel hierarchies