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
A replacement scheme in which the block replaced is the one that has been unused for the longest time.
Least recently used (LRU)
A memory hierarchy with multiple levels of caches, rather than just a cache and main memory.
Multilevel cache
The fraction of references that miss in all levels of a mutlilevel cache.
Global miss rate
The fraction of references to one level of a cache that miss; used in multilevel hierarchies.
Local miss rate
Blank is a measure of the continuous service accomplishment—or, equivalently, of the time to failure—from a reference point.
Reliability
Blank where the service is delivered as specified
Service accomplishment
Blank where the delivered service is different from the specified service
Service interruption
A related term is blank which is just the percentage of devices that would be expected to fail in a year for a given MTTF
annual failure rate (AFR)
Blank is measured as mean time to repair (MTTR). Mean time between failures (MTBF) is simply the sum of MTTF + MTTR. Although MTBF is widely used, MTTF is often the more appropriate term.
Service interruption
Blank is then a measure of service accomplishment with respect to the alternation between the two states of accomplishment and interruption.
Availability
Preventing fault occurrence by construction.
Fault avoidance
Using redundancy to allow the service to comply with the service specification despite faults occurring.
Fault tolerance
Predicting the presence and creation of faults, allowing the component to be replaced before it fails.
PARTICIPATION ACTIVITY
6.5.2: Terms and measures.
Fault forecasting
Four nines of availability per year indicates that the service is available _____% of the year.
99.99
A code that enables the detection of an error in data, but not the precise location and, hence, correction of the error.
Error detection code
Richard Hamming invented a popular redundancy scheme for memory, for which he received the Turing Award in 1968. To invent redundant codes, it is helpful to talk about how “close” correct bit patterns can be. What we call the blank is just the minimum number of bits that are different between any two correct bit patterns.
Hamming distance
Hamming used a blank for error detection. In a parity code, the number of 1s in a word is counted; the word has odd parity if the number of 1s is odd and even otherwise. When a word is written into memory, the parity bit is also written (1 for odd, 0 for even). That is, the parity of the N+1 bit word should always be even.
parity code
blank were first developed in the mid-1960s, and they have remained an important part of mainframe computing over the years.
Virtual machines (VM)
VMs provide two other benefits that are commercially significant:
Managing software.
Managing hardware.
A technique that uses main memory as a “cache” for secondary storage.
Virtual memory
An address in main memory.
Physical address
A set of mechanisms for ensuring that multiple processes sharing the processor, memory, or I/O devices cannot interfere, intentionally or unintentionally, with one another by reading or writing each other’s data. These mechanisms also isolate the operating system from a user process.
Protection
An event that occurs when an accessed page is not present in main memory.
Page fault
An address that corresponds to a location in virtual space and is translated by address mapping to a physical address when memory is accessed.
Virtual address
Also called address mapping. The process by which a virtual address is mapped to an address used to access memory.
Address translation
A virtual memory miss.
Page fault
Segmentation: A variable-size address mapping scheme in which an address consists of two parts: a segment number, which is mapped to a physical address, and a segment offset.
Segmentation
The table containing the virtual to physical address translations in a virtual memory system. The table, which is stored in memory, is typically indexed by the virtual page number; each entry in the table contains the physical page number for that virtual page if the page is currently in memory.
Page table
The space on the disk reserved for the full virtual memory space of a process.
Swap space
Also called use bit or access bit. A field that is set whenever a page is accessed and that is used to implement LRU or other replacement schemes.
Reference bit
A cache that keeps track of recently used address mappings to try to avoid an access to the page table.
Translation-lookaside buffer (TLB)
A cache that is accessed with a virtual address rather than a physical address.
Virtually addressed cache
A situation in which two addresses access the same object; it can occur in virtual memory when there are two virtual addresses for the same physical page.
Aliasing
A cache that is addressed by a physical address.
Physically addressed cache
Also called kernal mode. A mode indicating that a running process is an operating system process.
Supervisor mode
A special instruction that transfers control from user mode to a dedicated location in supervisor code space, invoking the exception mechanism in the process.
System call
A changing of the internal state of the processor to allow a different process to use the processor that includes saving the state needed to return to the currently executing process.
Context switch
Also called interrupt enable. A signal or action that controls whether the process responds to an exception or not; necessary for preventing the occurrence of exceptions during intervals before the processor has safely saved the state needed to restart.
Exception enable
An instruction that can resume execution after an exception is resolved without the exception’s affecting the result of the instruction.
Restartable instruction
How is a block found?
there are four methods: indexing (as in a direct-mapped cache), limited search (as in a set-associative cache), full search (as in a fully associative cache), and a separate lookup table (as in a page table).
A cache model in which all cache misses are classified into one of three categories: compulsory misses, capacity misses, and conflict misses.
Three Cs model
Also called cold-start miss. A cache miss caused by the first access to a block that has never been in the cache.
Compulsory miss
A cache miss that occurs because the cache, even with full associativity, cannot contain all the blocks needed to satisfy the request.
Capacity miss
Also called collision miss. A cache miss that occurs in a set-associative or direct-mapped cache when multiple blocks compete for the same set and that are eliminated in a fully associative cache of the same size.
Conflict miss
A sequential logic function consisting of a set of inputs and outputs, a next-state function that maps the current state and the inputs to a new state, and an output function that maps the current state and possibly the inputs to a set of asserted outputs.
Finite-state machine
A combinational function that, given the inputs and the current state, determines the next state of a finite-state machine.
Next-state machine
When two unrelated shared variables are located in the same cache block and the full block is exchanged between processors even though the processors are accessing different variables.
False sharing
An organization of disks that uses an array of small and inexpensive disks so as to increase both performance and reliability.
Redundant arrays of inexpensive disks (RAID)
Allocation of logically sequential blocks to separate disks to allow higher performance than a single disk can deliver.
Striping
No redundancy
(RAID 0)
Mirroring
(RAID 1)
Writing identical data to multiple disks to increase data availability.
Mirroring
Error detecting and correcting code
(RAID 2)
Bit-interleaved parity
(RAID 3)
The group of data disks or blocks that share a common check disk or block.
Protection group:
Block-interleaved parity
(RAID 4)
Distributed block-interleaved parity
(RAID 5)
P + Q redundancy
(RAID 6)
Replacing a hardware component while the system is running
Hot-swapping
Reserve hardware resources that can immediately take the place of a failed component.
Standby spares
A cache that allows the processor to make references to the cache while the cache is handling an earlier miss.
Nonblocking cache
The two “non-cache” or “no allocate” blank and blank are intended for streaming through lots of data, so the data are unlikely to be used in the future; that is, no temporal locality.
load pair (LDNP)
store pair (STNP)
A technique in which data blocks needed in the future are brought into the cache early by using special instructions that specify the address of the block.
Prefetching
J . Presper Eckert developed technology based on _____ delay lines to act as registers and to replace vacuum tube technology.
mercury
_____ had the first known working mercury delay lines.
EDSAC
In the 1950s, _____ memory emerged as a cheaper, faster, and more reliable storage method than previous technologies.
core
Building a _____ became possible because of the development of the integrated circuit.
DRAM
Currently, DRAMs are packaged with multiple chips on a little board called a _____.
DIMM
First computer to employ two level memory hierarchy.
ATLAS
Replaced by the 32-bit VAX because of too little address space
PDP-11
The computer for which the term translation-lookaside buffer was coined
IBM-370
The first RISC architecture to transition from 32-bit addressing to 64-bit addressing.
MIPS
The first _____ implementation was based on tunnel diode memory, the fastest form of memory available at the time.
cache
The 1956 blank was the first computer to use a moving-head disk storage system.
IBM 305 RAMAC
Blank developed removable hard disk drives in 1962, six years before Intel existed.
IBM
The sealed blank disk replaced removable disks in the 1980s partly because the cost of disk electronics continued to decrease.
Winchester
Flash memory was first used in blank
digital cameras
A pioneering database management system created at General Electric in 1961.
IDS
A database system created to test the viability of relational databases.
System R and Ingres
In the 1990s, _____ databases emerged for analytic processing and data mining.
parallel
The first personal computer.
Alto
A timesharing system that incorporated the good ideas from MULTICS and left out the more complex features.
UNIX
First timesharing system
CTSS
The operating system that Microsoft provided to IBM.
MS_DOS
Berkeley Software Distribution
BSD
Berkeley timesharing system that added paging virtual memory hardware to the SDS 920 computer and had a new operating system.
CAL TSS