Computer Memory Organization: Elephants Don't Forget But Do Computers?
The document summarizes computer memory organization and hierarchy. It discusses how memory is organized in a hierarchy from fastest and most expensive memory closest to the processor (cache) to larger and slower main memory and virtual memory stored on disk. It describes factors like hit rate, hit time, and miss penalty that influence performance at different levels of the hierarchy. The goal is to provide programmers fast access to infinite memory.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
18 views9 pages
Computer Memory Organization: Elephants Don't Forget But Do Computers?
The document summarizes computer memory organization and hierarchy. It discusses how memory is organized in a hierarchy from fastest and most expensive memory closest to the processor (cache) to larger and slower main memory and virtual memory stored on disk. It describes factors like hit rate, hit time, and miss penalty that influence performance at different levels of the hierarchy. The goal is to provide programmers fast access to infinite memory.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 9
Computer Memory
Organization
Elephants don’t forget…
but do computers? Memory Design GOAL: to best supply programmers with (almost) infinitely extensible memory that is as fast as possible to use The general design is a hierarchy The most expensive, fastest memory is in close proximity to the processor Memory contents are duplicated and expanded in banks lower in the hierarchy Successive memory banks increase in storage capacity and access latency, but decrease in cost and operational speed Performance Considerations Performance measurements between any two levels of hierarchy Hit rate = ratio of times a desired element is in that level of memory to the number of total accesses to memory = (1-miss rate) Hit time = time to access the upper level of memory and deliver the item to the requesting device Miss penalty = time to bring the item into upper level and deliver the item Memory and Design Average memory access time is equal to (hit time + miss rate * miss penalty) Computer designers favor a block size with the lowest average access time rather than lowest miss rate Memory hierarchies also complicate the design of the CPU Variable access time prevents memory from being directly on the datapath The Memory Hierarchy Cache Smallest and closest to processor Many different organization strategies May be multiple levels of cache Main memory The motherboard RAM you know and love Virtual memory Switch out memory to disk Essential for shared, multiprocess systems Caches Where can you put a block in a cache? direct mapped: a function maps a block to a unique location in the cache set associative: a function maps a block to a unique group of locations in the cache, but block can go anywhere in the cache fully associative: put the block anywhere How do you find things in a cache? For direct map, might invert map function Otherwise, must check each block (in parallel) More Caches What block is replaced on a miss? Random selection promotes uniform allocation, easy to implement Least recently used takes advantage of temporal locality (recently used blocks are more likely to be used again) What happens on a write? Write through - also writes to lower-level block Write back - doesn’t write lower-level block until the corresponding cache block is replaced dirty bit on a cache block indicates update is necessary Main Memory
We try to make main memory contain the
entire state of the currently running system process; otherwise, we swap Penalty for swapping with virtual memory very high (magnetic, mechanical storage) We don’t worry about sync between main memory and virtual memory because we do not replicate main memory in virtual memory (very costly) Improving Main Memory Make memory bus wider (more at one time) Also must widen cache Must multiplex before entering the datapath (convert many signals into one) May be wasteful (especially on writes) Interleave memory banks (parallelize reading) Successive words rotate through memory banks (word 1 = bank 1, word 2 = bank 2, …, word 5 = bank 1, word 6 = bank 2, …) Must still multiplex into the datapath Allows parallel writes (if one bank not overloaded)