200 likes | 365 Views
Cache Memory. Cheng-Chang Yang. Generally speaking, faster memory is more expensive than slower memory. To provide the best performance at the reasonable cost, memory is organized in a hierarchical function. Memory Hierarchy. The base types that hierarchical memory system include: Registers
E N D
Cache Memory Cheng-Chang Yang
Generally speaking, faster memory is more expensive than slower memory. • To provide the best performance at the reasonable cost, memory is organized in a hierarchical function.
Memory Hierarchy • The base types that hierarchical memory system include: • Registers • Cache Memory • Main Memory • SecondaryMemory: hard disk, CD…
What is Cache Memory? • Cache memory is to speed up memory accesses by storing recently used data closer to the CPU, instead of storing it in main memory.
Cache and Main Memory • The Level 2 cache is slower and larger than the Level 1 cache, and the Level 3 cache is slower and Larger than the Level 2 cache. • Transmission speed • Level 1 > Level 2 > Level 3 • Transmission capacity • Level 1 < Level 2 < Level 3
Flow Chart (Cache Read Operation) RA: read address
Cache Mapping Function • How to determining which main memory block currently holds a cache line? • Direct Mapping • Associate Mapping • Set Associate Mapping
Direct MappedCache • Maps each block of main memory into only one possible cache line.
AssociativeMapping • Instead of placing main memory blocks in specific cache locations based on main memory address, we could allow a block to go anywhere in cache. • In this way, cache would have to fill up before any blocks move out. • This is how associativemappingcache works.
AssociativeMapping • Associative mapping overcomes the disadvantages of direct mapping by permitting each main memory block to be loaded into any line of the cache.
AssociativeMapping • We must determine which block to move out from the cache . • A simple first-in first-out (FIFO) algorithm would work. However, there are many replacement algorithms that can be used; these are discussed in later.
Set Associative Mapping • The problem of the direct mapping is eased by having a few choices for block placement. • At the same time, the hardware cost is reduced by decreasing the size of the associative mapping search. • Set associative mapping is a compromise that exhibits both the direct mapping and associative mapping while reducing their disadvantages.
Replacement Algorithms • For direct mapping there is only one possible line for any block, and no choice is possible. • For associative and set associative mapping, a replacement algorithms is needed. • Least recently used (LRU) • First in first out (FIFO) • Least frequently used (LFU) • Random
Replacement Algorithms • Least recently used (LRU) algorithm keeps track of the last time that a block was assessed and evicts the block that has been unused for the longest period of time. • First in first out (FIFO) algorithm: the block that has been in cache the longest would be selected and removed from cache memory.
Replacement Algorithms • Least frequently used (LFU) algorithm: replace that block in the set that has experienced the fewest references. • The most effective is least recently used (LRU)
Reference • Internet Source • Wikipedia (http://en.wikipedia.org/wiki/Cache_memory) • Book • Computer Organization And Embedded Systems(6th) • Computer Organization And Architecture(8th)