Unit 6 Flashcards
The locality principle stating that if a data location is referenced then it will tend to be referenced again soon.
Temporal locality
The locality principle stating that if a data location is referenced, data locations with nearby addresses will tend to be referenced soon.
Spatial locality
The high likelihood of accessing multiple elements within array A is an example of _____ locality.
spatial
The high likelihood of accessing i = i + 1 repeatedly is an example of _____ locality.
temporal
A 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.
Memory hierarchy
The minimum unit of information that can be either present or not present in a cache.
Block (or line)
The fraction of memory accesses found in a level of the memory hierarchy.
Hit rate
The fraction of memory accesses not found in a level of the memory hierarchy.
Miss rate
The 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.
Hit time
The 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.
Miss penalty
Blank exhibit both temporal locality, the tendency to reuse recently accessed data items, and spatial locality, the tendency to reference data items that are close to other recently accessed items.
Programs
Memory hierarchies take advantage of temporal locality by keeping more recently accessed data items closer to the blank.
processor
Memory hierarchies take advantage of spatial locality by moving blocks consisting of multiple contiguous words in memory to blank of the hierarchy.
upper levels
A memory hierarchy uses smaller and faster memory technologies blank to the processor.
close
In most systems, the memory is a true blank, meaning that data cannot be present in level i unless they are also present in level i + 1.
hierarchy
Blank are simply integrated circuits that are memory arrays with (usually) a single access port that can provide either a read or a write. Blank have a fixed access time to any datum, though the read and write access times may differ.
SRAMs
SRAMs don’t need to blank and so the access time is very close to the cycle time.
refresh
Cache type of memory
SRAMS
In a blank, the value kept in a cell is stored as a charge in a capacitor.
dynamic RAM (DRAM)
Because DRAMs use only blank per bit of storage, they are much denser and cheaper per bit than SRAM.
one transistor
As DRAMs store the charge on a capacitor, it cannot be kept indefinitely and must periodically be blank
refreshed.
Main memory type
DRAM
To improve performance, DRAMs buffer blank for repeated access.
rows
Modern DRAMS are organized in banks. Each bank consists of a series of ___
rows
DRAMs enable fast access to data by transferring bits in bursts. Successive bits are transferred on each _____.
clock edge
Between 1980 and 2012, the average column access time to an existing row _____.
decreased
Blank is a type of electrically erasable programmable read-only memory (EEPROM).
Flash memory
Unlike disks and DRAM, but like other EEPROM technologies, writes can wear out flash memory bits. To cope with such limits, most flash products include a controller to spread the writes by remapping blocks that have been written many times to less trodden blocks. This technique is called blank.
wear leveling
One of thousands of concentric circles that make up the surface of a magnetic disk.
Track
One of the segments that make up a track on a magnetic disk; a sector is the smallest amount of information that is read or written on a disk.
Sector
Also called rotational delay. The time required for the desired sector of a disk to rotate under the read/write head; usually assumed to be half the rotation time.
Rotational latency
The process of positioning a read/write head over the proper track on a disk
Seek
The time required to transfer a block of bits.
Transfer time
The time required to move the head to the desired track.
Seek time
The time required for the desired sector to rotate under the head.
Rotational latency
A cache structure in which each memory location is mapped to exactly one location in the cache
Direct-mapped cache
A 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.
Tag
A field in the tables of a memory hierarchy that indicates that the associated block in the hierarchy contains valid data.
Valid bit
Caching is perhaps the most important example of the big idea of blank.
prediction
Blank relies on the principle of locality to try to find the desired data in the higher levels of the memory hierarchy, and provides mechanisms to ensure that when the prediction is wrong it finds and uses the proper data from the lower levels of the memory hierarchy.
Caching
The hit rates of the cache prediction on modern computers are often above blank
95%
The blank size is 2^n blocks, so n bits are used for the index
cache
The blank is 2^m words (2m+2 bytes), so m bits are used for the word within the block, and two bits are used for the byte part of the address
block size
A request for data from the cache that cannot be filled because the data are not present in the cache
Cache miss
Steps to be taken on an instruction cache miss:
Send the original PC value to the memory.
Instruct main memory to perform a read and wait for the memory to complete its access.
Write the cache entry, putting the data from memory in the data portion of the entry, writing the upper bits of the address (from the ALU) into the tag field, and turning the valid bit on.
Restart the instruction execution at the first step, which will refetch the instruction, this time finding it in the cache.
A 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-through
A queue that holds data while the data are waiting to be written to memory
Write buffer
A 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.
Write-back
A value is read from the cache and modified. The modified value is written to the cache and the corresponding memory location.
Write-through scheme
A value is read from the cache and modified. The modified value is written to the cache and to a queue that stores the value while waiting to be written to the corresponding memory location.
Write buffer
A value is read from the cache and modified. The modified value is written to the cache. The modified value is only written from the cache to memory when the cache block is replaced.
Write-back scheme
A 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.
Split cache
To take advantage of blank, a cache must have a block size larger than one word.
spatial locality
A cache structure in which a block can be placed in any location in the cache.
Fully associative cache
A cache that has a fixed number of locations (at least two) where each block can be placed.
Set-associative cache
Remember that in a direct-mapped cache, the position of a memory block is given by blank
block number modulo number of blocks in cache
In a set-associative cache, the set containing a memory block is given by blank
block number modulo number of sets in cache