| Cache: other uses | |||||||||||||
| Other uses of cache principle | |||||||||||||
| Multiple levels | |||||||||||||
| Pentium III | |||||||||||||
| L1 cache: 16K | |||||||||||||
| L2 cache: 512K | |||||||||||||
| Disk cache: keep file data blocks in memory | |||||||||||||
| Web cache: keep web pages on: | |||||||||||||
| local hard drive | |||||||||||||
| local server | |||||||||||||
| Virtual memory | |||||||||||||
| Extend memory hierarchy beyond RAM to disk | |||||||||||||
| How big is 32-bit address space (number of valid addresses)? | |||||||||||||
| Do most systems have that much memory? | |||||||||||||
| Do programmers want to use as much memory as possible? | |||||||||||||
| Solution: use RAM as a cache for data blocks on disk | |||||||||||||
| Advantages | |||||||||||||
| Single program can use very large address space | |||||||||||||
| Multiple programs can share same physical memory | |||||||||||||
| Memory access can be protected between programs | |||||||||||||