Chapter 4
Cache Memory
- Computer Memory System Overview- Cache Memory Principles- Elements of Cache Design
āļāļĢāļ°āđāļāđāļāļŠāļģāļāļąāļâĒ āđāļāļĢāļ°āļāļąāļāđāļāļĢāļāļŠāļĢāļēāđāļāļĨāļģāļēāļāļąāļāļāļąāļāđāļāļāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļē āļāđāļēāļĄāļāļāļĨāļāļĄāļēāļŠāļđāļĢāđāļ°āļāļąāļ
āļĨāđāļēāļāļāļ āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļāđāļĩāļĄāļĄāļđāļĩāļĨāļāđāļēāļĢāļēāļāļēāļāđāļāļāļāļīāļāļģāđāļēāļĨāļāļĄāļēāđāļĢāļ·āđāļāļĒāđ āļĄāļāļĩāļāļēāļ āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāļīāļĄāđāļāļķāđāļ āđāļāđāđāļāļĢāđāļ°āļĒāļ°āđāļ§āļĨāļēāđāļāļāļēāļĢāļāđāļēāļāļŦāļĢāļāļ·āļāļāļąāļāļķāļāļāļāđāļĄāļđāļĨ
āļŠāļāļđāļāļķāđāļâĒ āđāļāļāļ§āļēāļĄāđāļāđāļāļāļĢāļāļīāđāļĢāļēāđāļĄāļŠāđāļēāļĄāļēāļĢāļāđāļāļŦāđāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļĢāļ°āļāļąāļāļāļāđāļāđāļāļĒāļēāđāļ
āđāļāļĩāļĒāļ§āđāļāļĢāļēāļ°āļĄāļĢāļĩāļēāļāļēāļŠāļāļđāļŠāļ§āđāļāđāļŦāļāđāļāļāļķāđāļāļ§āđāļāļīāļāļĩāļēāļĢāļĢāļāļĄāļāļāļĄ āļāđāļ§āļĒāļāļēāļĢāđāļāđ āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļĢāļ°āļāļąāļāļāļāļāđāļāļĒ āđāļĨāļ°āđāļāļŦāđāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļĢāļ°āļāļąāļāļĨāđāļēāļāļĄāļēāļāļāļķāđāļ
āđāļāļ·āđāļāđāļŦāđāđāļāļīāļāļāļ§āļĄāļŠāļĄāļāļĨāļļāļĢāļ°āļŦāļ§āđāļāļāļĢāļ°āļŠāļāļīāļāļ āļīāļāđāļĨāļ°āļĢāļâĒ āđāļāļĒāļāļąāļ§āđāđāļāļāļģāļēāđāļŦāļāđāļāļāļēāļĢāļāđāļēāļāļāļīāļāļāļāđāļĄāļđāļĨāđāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļŦāļĨāļąāļāđāļāļĒ
āđāļāļĢāđāļāļŠāđāļāļāļĢāļāļąāđāļāđāļĄāļāļąāļāļ°āđāļāđāļāļāļģāļēāđāļŦāļāđāļāđāļāļīāļĄ āļāļąāļāļāļąāļāđāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēcache āļĄāļāļąāļāļ°āļāļąāļāļĨāļāļāļāļāđāļĄāļđāļĨāđāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļŦāļĨāļąāļ āļāļķāđāļāļāđāļē Cache āđāļāđāļĢāļāļąāļāļēāļĢāļāļāļāđāļāļāđāļāđāļāļāļĒāļēāđāļāļāļĩāđāļĨāđāļ§āđāļ§āļĨāļēāļŠāļ§āđāļāđāļŦāļāđāđāļāļĢāđāļāļŠāđāļāļāļĢāļāđāđāļāļ°
āđāļĢāļĒāļĩāļāđāļāļāđāļāđāļĄāļđāļĨāļāđāļĩāļāļĒāļđāđāđāļ Cache āđāļāđāļāļŠāļ§āđāļāļĄāļēāļ
Characteristics āļāđāļĩāđāļāđāļĩāļĒāļ§āļāļąāļ Computer Memory SystemâĒ Location (āļŠāļāļēāļāļāļĩāđāļāđāļĩāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļāļĒāļđ)āđ- Internal (main) (āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļ āļēāļĒāđāļāđāļāļĢāļ·āđāļāļāļāļāļĄāļāļ§āļīāđāļāļāļĢ)āđ āđāļāļāđāļāļģāļēāļāļ§āļ
Register , Main Memory,Cache- External(secondary) ( āļāļīāļāļāđāļāđāļāļĒāļāđāļēāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļĄāļļ I/O) āđāļāļāđāļāļģāļēāļāļ§āļ
Harddisk, FFD
âĒ Capacity ( āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļ āļēāļĒāđāļāļĄāļāļąāđāļāļŦāđāļāđāļ§āļĒāđāļāđāļ Bit āļŦāļĢāļāļ· Word)- Word size āđāļāđāļāļāļāļēāļāļāļāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļē āđāļāļĒāļāļąāļ§āđāđāļāļāđāļēāļ āļēāļĒāđāļāđāļāđāļ bit āļāđāļē
āļ āļēāļĒāļāļāļāđāļāđāļ byte āđāļāļĒāļāļāļāļī 1 word āļĄāļāļĩāļāļēāļ 8 ,16 āļŦāļĢāļāļ·32- Number of words
âĒ Unit of transfer āļāļģāļēāļāļ§āļāļāļāļ bit āļāđāļĩ āļāđāļēāļāļŦāļĢāļāļ·āđāļāļĒāļĩāļāđāļ memory āļāļŦāļāļķāđāļāļŦāļāđāļ§āļĒāđāļ§āļĨāļē
Characteristics āļāđāļĩāđāļāđāļĩāļĒāļ§āļāļąāļ Computer Memory SystemâĒ Access method āđāļāđāļāļ§āļāļīāļāļĩāļēāļĢāđāļāļēāđāļāļķāļ Memory āļāđāļ§āļĒāļ§āļāļīāļāđāļĩāļēāļāđ
āđāļāļāđ- Sequential access(āļ§āļāļīāļāļĩāļēāļĢāđāļāļēāđāļāļķāļ Mem āđāļāļāđāļĢāļĒāļĩāļāļĨāļģāļēāļāļąāļ) āđāļāļāđ
āļŦāļāđāļ§āļĒāļāļāļąāļāļķāļāļāļāđāļĄāļđāļĨāđāļāļāđāļāļāđāļĄāđāđāļŦāļĨāđāļ- Direct access( āđāļāļēāđāļāļķāļāđāļāļāļāļĢāļ āļāļ°āđāļāļĨāđāļĩāļĒāļāļāļģāļēāđāļŦāļāđāļāļāļēāļāļāļģāļēāđāļŦāļāđāļ
āļāļąāļāļāļļāļāļāļąāđāļāđāļāđāļāļāļģāļēāđāļŦāļāđāļāļāđāļĩāļāđāļāļāļāļēāļĢ āļāļģāļēāđāļŦāļĢāđāļ°āļĒāļ°āđāļ§āļĨāļēāļāđāļĩāđāļāđāđāļāļāļēāļĢāđāļāļēāđāļāļķāļ āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāđāļĨāļ°āļāļĢāļąāļāđāļāļēāļāļāļ°āđāļāļāļāđāļēāļāļāļąāļ āđāļāļāđ disk)
- Random access āļāļēāļĢāđāļāļēāđāļāļķāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāļāđāļĄāļĄāđāļĨāļĩāļģāļēāļāļąāļ āļĢāļ°āļĒāļ° āđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāđāļāđāļāļāļīāļŠāļĢāļ° āļāļąāļāļāļąāļāđāļāļāļķāļŠāļēāļĄāļēāļĢāļāđāļĨāļ·āļāļāļāļģāļēāđāļŦāļāđāļāđāļāđ āđāļ
āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāļĒāđāļĄāļāđāđāļāļāđāļĢāļĒāļĩāļāļĨāļģāļēāļāļąāļāđāļ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāđāļāļēāđāļāļķāļāļāļģāļēāđāļŦāļāđāļ āļāļąāļāđāđāļāđāđāļāļĒāļāļĢāļāđāļāļāđ Main Memory
- Associative āļŦāļĢāļāļ·āļāļ§āļēāļĄāđāļāļĩāđāļĒāļ§āļāļāđāļ āļāļāļąāļ§āļēāđāđāļāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāļŦāļāđāļ§āļĒ āļāļ§āļēāļĄāļāļģāļēāđāļāļ random access āļāļĒāļēāđāļāļŦāļāļķāđāļāļāđāļĩāļĄāļāļĩāļēāļĢāđāļāļĢāļĒāļĩāļāđāļāļĩāļĒāļ
āļāļāđāļĄāļđāļĨāļāļāļīāļāļģāļēāļāļ§āļāļŦāļāļĩāđāļ āđāļāļāđ Cache Memory
Characteristics āļāđāļĩāđāļāđāļĩāļĒāļ§āļāļąāļ Computer Memory System
âĒ Performance āļ§āļāļīāļāļĩāļēāļĢāļ§āļāļąāļāļĢāļ°āļŠāļāļīāļāļ āļīāļēāļ- Access time āļĢāļ°āļĒāļ°āđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļē- Memory cycle time āļĢāļ°āļĒāļ°āđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄ
āļāļģāļēāļĢāļ§āļĄāļāļąāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāđāļ·āļāđ āļāđāļĩāļāļģāļēāđāļāđāļāļāđāļāļāđāļāđ- Transfer rate āļāļąāļāļĢāļēāļāļēāļĢāļāđāļēāļĒāđāļāļāļāđāļĄāļđāļĨāđāļāļēāđāļŦāļĢāļāļ·āļāļāļāļāļēāļāļŦāļāđāļ§āļĒ
āļāļ§āļēāļĄāļāļģāļē
âĒ Physical type āđāļāļāđāļāļāļāļāļēāļĄāļĨāļąāļāļĐāļĢāļ°āļāļēāļāļāļēāļĒāļ āļēāļ- Semiconductor āđāļāļāđ RAM- Magnetic āđāļāļāđ Disk & Tape- Optical āđāļāļāđ CD & DVD
Characteristics āļāđāļĩāđāļāđāļĩāļĒāļ§āļāļąāļ Computer Memory System
Memory Hierarchy (āļĨāļģāļāļąāļāļāļāļāļŦāļāđāļ§āļĒāļāļ§āļĄāļāļģ)âĒ Registers
âIn CPUâĒ Internal or Main memory
âMay include one or more levels of cacheââRAMâ
âĒ External memoryâBacking store
āļāļąāļāļāļĒāļąāļāđāļĩāđāļāđāļĩāļĒāļ§āļāļāđāļāļāļąāļāļŦāļāđāļ§āļĒāļāļ§āļĄāļāļģâĒ How much? (Size)
âCapacityâĒ How fast? (Speed)
âTime is moneyâĒ How expensive? (Prize)
āļāļāļāđāļāļĢāļ°āļāļāļāļāđāļĩāļŠāļģāļāļąāļāļāļąāđāļ 3 āļāļĢāļ°āļāļĢāļāļ·āļ āļĢāļ āļāļĢāļĄāļīāļ āđāļĨāļ° āļāļ§āļĄāđāļĢāļ§āđ āļĄāļāļĩāļ§āļĄāļŠāļĄāļąāļāļāļąāļāļāļąāđāļāļāļąāļāļāļĩāđ
- āļāļēāļĢāđāļāļīāļĄāđāļāļ§āļēāļĄāđāļĢāļ§āđāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāļāļāđāļĄāļđāļĨ āļāļ°āļāļģāļēāđāļŦāļŦāđāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļĢāļēāļāļēāļŠāļāļđāļāļķāđāļ- āļāļĢāļĄāļīāļēāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāļīāļĄāđāļāļķāđāļ āļāļ°āļāļģāļēāđāļŦāļĢāđāļēāļāļēāļāđāļāļŦāļāđāļ§āļĒāļĨāļāļĨāļ
- āļāļĢāļĄāļīāļēāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāļīāļĄāđāļāļķāđāļ āļāļ°āļāļģāļēāđāļŦāđāđāļŠāļĒāļĩāđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļĄāļēāļāļāļķāđāļ
Memory Hierarchy - Diagram
āļĨāļģāļāļąāļāļāļąāļāđāļāļāļ Memory (āđāļĢāļĒāļĩāļāļāļāđāļĢāļ§āđāļāđāļĩāļŠāļāļļāđāļāļāđāļāđāļĩāļŠāļāļļ)âĒ RegistersâĒ L1 CacheâĒ L2 Cache
âĒ Main memory āļāļģāļēāļāļ§āļ Ram , Rom
âĒ Disk cache - āļĢāļ°āļŦāļ§āļēāđāļ main memory āļāļąāļ Megnetic disk āļāļ§āļĢāļĄāļĩ Disk cache āđāļāļ·āđāļāļāđāļĩāļāļ°āļāļģāļēāļāļēāļāđāļĢāļ§āđāļāļķāđāļ
âĒ DiskâĒ OpticalâĒ Tape
CacheâĒ āđāļāđāļ·āļāļāļāļēāļ Main memory āļŦāļĢāļāļ· RAM (Random
Access Memory) āļāļąāļāđāļāļēāļĄāļāļāļāļīāļāļ°āļĄāļāļĩāļ§āļēāļĄāđāļĢāļ§āđāļāļģāđāļēāļāļ§āļēāđCPU āļāļĒāļđāļĄāđāļēāļ āļāļąāļāļāļąāļāđāļāđāļēāđāļāđāđāļāļāļēāļ° Register āļāļąāļ RAM āļāđ
āļāļ°āļĄāļāļĩāļĨāļāļģāļēāđāļŦāļāđāļāļĄāļāļ§āļīāđāļāļāļĢāļāđāļģāļēāļāļēāļāđāļāđāļāļēāđ āļāļāļķāļĄāļāļĩāļēāļĢāļ§āļēāļāļŦāļāđāļ§āļĒ āļāļ§āļēāļĄāļāļģāļē Cache āļāļķāđāļāļĄāļāļĩāļ§āļēāļĄāđāļĢāļ§āđāļāļ§āļēāđ RAM āđāļāđāļĢāļēāļāļēāđāļāļ āļāļ§āļēāđ āļāļąāļāđāļĢāļ°āļŦāļ§āļēāđāļ CPU āļāļąāļ Main memory
CPU
C ache
M ain m em ory
W ord transfer
B lock transfer
CacheâĒ āļĄ āļĩāļāļ§āļēāļĄāļāļļāļāļģāđāļēāđāļāđāļāļ§āļēāļĄāđāļĢāļ§āđāļŠāļāļđâĒ āļāļģāļēāļāļēāļāļāļĒāļđāļĢāđāļ°āļŦāļ§āļēāđāļ normal main memory and
CPUâĒ āļāļēāļāļāļ°āļŠāļĢāļēāđāļāļ āļēāļĒāđāļāļāļąāļ§ CPU āđāļāļāļŦāļĢāļāļ·āļāļļāļāļāļĢāļāđāļ āļēāļĒāļāļāļāļāđāļĩāļĄāļĩ
āļāļ§āļēāļĄāđāļĢāļ§āđāļŠāļāļđ
āļāļąāļ§āļāļĒāļēāđāļāļāļāļāļāļēāļĢāļĄāļĩ cacheâĒ āļāļ§āļēāļĄāđāļĢāļ§āđ cache = 10 nsâĒ āļāļ§āļēāļĄāđāļĢāļ§āđ memory = 100 ns
- āļāđāļēāđāļĄāļĄāđāļĩ Cache āļāđāļē 1 āļāļģāļēāļŠāļąāļāđāđāļāđāđāļ§āļĨāļē100ns āļŠāļĄāļĄāļļāļāļīāļĄāļĩ 100 āļāļģāļēāļŠāļąāļāđāļāļ°āđāļāđāđāļ§āļĨāļē100 * 100ns
= 10000ns
- āļāđāļēāļĄāļĩ Cache āļāļ°āđāļāđ (10 * 10ns( āļāļ§āļēāļĄāđāļĢāļ§āđ cache)) + (10 * 100ns( āļāļ§āļēāļĄāđāļĢāļ§āđāļāļāļ Memory)) = 1100
āļāļķāđāļāļāļ°āđāļŦāļāđāļ§āļēāđāđāļĢāļ§āđāļāļ§āļēāđāļāļąāļāļāļĢāļ°āļĄāļēāļ 10 āđāļāđāļē
Cache operation (āļāļąāļāđāļāļāļāļāļĢāļāļģāļāļ)- overviewâĒ CPU āļāđāļāļāļāļēāļĢāļāļāđāļĄāļđāļĨāđāļ Main Memory
âĒ Check āļāđāļĩ cache āļ§āļēāđāļāļāđāļĄāļđāļĨāļāđāļĩāļāđāļāļāļāļēāļĢāļāļĒāļđāđāđāļ cache āļŦāļĢāļāļ·āđāļĄāđ
âĒ If āļĄāļĩ āļāđāļŠāļāđāļāļāđāļĄāļđāļĨāđāļŦāđ CPU
âĒ If āđāļĄāļĄāđ,āļĩ āļāđāļāļģāļēāļāļēāļĢāļāđāļēāļāļāļāđāļĄāļđāļĨ āļāļēāļ main memory āđāļāļĒāļāļą cache ( āļāđāļēāļāđāļāđāļ block)
âĒ Then deliver from cache to CPU
Cache operation (āļāļąāļāđāļāļāļāļāļĢāļāļģāļāļ)- āļŠāļĢāļļāļâĒ āđāļāļĒāđāļāļĢāļ°āļŦāļ§āļēāđāļāļāļēāļĢāļāļģāļēāļāļēāļāļāļāļāļāļāļĄāļāļ§āļīāđāļāļāļĢāļāđāļ°āļĄāļāļĩāļēāļĢāļāđāļēāļāđāļāļĢāđāļāļĢāļĄāđāļĨāļ°āļāļāđāļĄāļđāļĨāļāļēāļāļŠāļ§āđāļāļāļēāļ Main memory āļĄāļēāđāļāđāļāđāļ§āđāđāļ Cache āđāļĄāļ·āđāļ CPU āļāđāļēāļāļāļēāļ word āļāļēāļ Memory āļāđāļāļ°āļĄāļĩāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļ§āļēāđ word āļāđāļĩāļāđāļāļāļāļēāļĢāļāļąāļāđāļāļĒāļđāđāđāļ Cache āļŦāļĢāļāļ·āđāļĄ āđ
āļāđāļēāļāļĒāļđāļāđāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāđāļāđāļāđāļāļĒāļēāđāļāļĢāļ§āļāđāļĢāļ§āđ āđāļāđāļāđāļēāđāļĄāļĄāđāļāđāļĩāļāļ°āļĄāļāļĩāļēāļĢāļāđāļēāļāļāļąāļāđ Block āļāđāļĩāļĄ āļĩword āļāđāļĩāļāđāļāļāļāļēāļĢāļāļąāļāđāļāļēāļ Main memory āđāļāļēāđāļĄāļēāļ§āļēāļāđāļ§āđāđāļ Cache āđāļĨāļ°āļŠāļāđ Word āļāļąāļāđāđāļŦ āđCPU āđāļāļĒāļāļēāļ
āļ§āļēāđāļāđāļāđāļ CPU āļāđāļēāļāļ°āļāđāļēāļ word āļāđāļ·āļ āđ āđāļ Block āđāļāļĩāļĒāļ§āļāļąāļāļāļąāļāđ âĒ āļāļąāļāļĢāļāļĢāļāđāļĩ CPU āļŠāļĄāļĢāļāļāļ word āļāđāļĩāļāđāļāļāļāļĢāļāļāđāļ
Cache āđāļĢāļĒāļĩāļāļ§āđ Hit Rate āļŦāļĢāļāļ· Cache Hit âĒ āļāļąāļāļĢāļāļĢāļāđāļĩ CPU āđāļĄāļŠāđāļĄāļĢāļāļāļāđāļĢāļĒāļĩāļāļ§āđ Miss Rate
āļŦāļĢāļāļ· Cache Miss âĒ āļāļąāļāļāļąāļāđāļāļāļĄāļāļ§āļīāđāļāļāļĢāļāđāļĩāđāļāļāļāđāļāļāļĢāļ°āļāļ Cache āļāļĩāļāđāļāļ°āļāļģāļēāđāļŦāļĄāđ āļĩHit
Rate āļŠāļāļđ āļĄāļāļĩāļĨāļāļģāļēāđāļŦāļāđāļāļĄāļāļ§āļīāđāļāļāļĢāļŠāđāļēāļĄāļēāļĢāļāļāļģāļēāļāļēāļāđāļāđāđāļĢāļ§āđāļāļķāđāļ
SizeâĒ Cost āļĢāļēāļāļē
âMore cache is expensiveâĒ Speed āļāļ§āļēāļĄāđāļĢāļ§āđ
âMore cache is faster (up to a point)âChecking cache for data takes time
- āļāđāđāļ āđCache āļāļāļāđāļĨāđāļ āļĢāļāļāđāļāļ°āļāļāļđāđāļĨāļ°āļāļ§āļĄāđāļĢāļ§āđāļŠāļāļđāļāļ§āđ āđāļāđāļāļ°āđāļāđāļāļąāļāļĢ Cache
hit āļāļģāđ - āļāđāđāļ āđCache āļāļāļāđāļŦāļāđāļāļ°āđāļāđāļāļąāļāļĢ
Cache hit āļŠāļāļđāđāļāđāļ§āļāļāļĢāļāļ°āļāđāđāļĨāļ°āļĢāļāđāļāļ - āđāļāļĒāļāđāļąāļ§āđāļāļāļ·āļāļ§āđāļāļāļāļāđāļĩāļāļāļāļĩāļāļĒāļđāļĢāđāļ°āļŦāļ§āđāļ
1 K â 512 KWords
Cache Design (āļāļąāļāļāļĒāļąāđāļāļāļĢāļŠāļĢāđāļ Cache)
âĒ Size ( āļāļāļēāļāļāļāļ cache)âĒ Mapping FunctionâĒ Replacement AlgorithmâĒ Write PolicyâĒ Block SizeâĒ Number of Caches
Size (āļāļāļēāļāļāļāļ cache)âĒ āđāļāļĒāļāļąāļ§āđāđāļāļāļąāļāļāļāļāđāļāļāļāđāļāļāļāļēāļĢāđāļŦāđ cache āļĄāļāļĩāļāļēāļāđāļāļĒāļĩāļ
āļāļāļāđāļĩāļāļ°āļāļģāļēāđāļŦāļĢāđāļēāļāļēāđāļāļĨāđāļĩāļĒāļāđāļāļāļāļīāļāļąāļāđāđāļāļĨāđāđāļāļĩāļĒāļāļāļąāļāļĢāļēāļāļēāļāļāļ āļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļŦāļĨāļąāļ
âĒ āđāļĨāļ°āļāđāļāļāļāļēāļĢāđāļŦāļĄāđāļāļĩāļāļēāļāđāļŦāļāđāđāļāļĒāļĩāļāļāļ āđāļāļ·āđāļāđāļŦāļāđāđāļēāđāļāļĨāđāļĩāļĒāļāļāļāđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļēāđāļāļķāļāļāļāđāļĄāļđāļĨāđāļāļĨāđāđāļāļĩāļĒāļāļāļąāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļēāđ
āļāļķāļāļāļāđāļĄāļđāļĨāļāļāļ cacheâĒ āļāļģāļēāđāļĄāļāļķāļāđāļĄāļŠāđāļĢāļēāđāļ cache āļāļāļēāļāđāļŦāļāđ āđāļāļ·āđāļāļāļ§āļēāļĄāļĢāļ§āļāđāļĢāļ§āđ?
āļāļ·āļāļāļāļēāļāļāđāļĩāđāļŦāļāđāļāļķāđāļāļāļāļ Cache āļāļ°āđāļāđāļāļīāļĄāđāļāļģāļēāļāļ§āļāļāļāļgate āļāđāļĩāđāļāđāļĩāļĒāļ§āļāļāđāļāļāļąāļāļāļēāļĢāļāđāļāļŦāļēāļāļģāļēāđāļŦāļāđāļāļāļāđāļĄāļđāļĨāđāļ
Cache āļāļģāļēāđāļŦāđ Cache āļāļģāļēāļāļēāļāđāļāđāļāļēāđāļĨāļâĒ āđāļāļ·āđāļāļāđāļĩāļāļāđāļāļāļ§āļāļāļĢāļāđāđāļāđāļāļŠāļ§āđāļāļŦāļāļķāđāļāļāđāļĩāļāļāļąāļāļąāļāļāļāļēāļāļāļāļ
Cache āđāļŦāļĄāđāļāļĩāļāļēāļāļāļģāļēāļāļąāļ
Mapping Function - Cache āļāļ°āļĄāļāļĩāļāļāđāļĨāđāļāļ§āđ main memory āļāļąāļāļāļąāļāđāļāļ°āļāđāļāļāļĄāļāļąāļĩāļĨāļāļāļĢāļāļķāļīāļĄ āļāđāļĩāļāđāļāļ map āļāļāđāļĄāļđāļĨ āļāļ main memory āđāļāļĒāļāļą
cache - āļāļĢ Mapping āļāļ·āļ āļāļĢāļāļģāļŦāļāļ
āļāļģāđāļŦāļāđāļāļŦāļāđāļ§āļĒāļāļ§āļĄāļāļģāļāļāļāļāļāļ Main Memory āđāļāļĒāļāļą Cache
- āļāļķāļāđāļĄāļ§āļĩāļāļīāļāļĩāļĢāļāļĒāļđāļŠāđāļĄāđāļāļ Direct, Associative āđāļĨāļ° Set Associative āļāļąāļ
āļāļąāļ§āļāļĒāđāļāļāđāļāđāļāļāđāļĩ āļŠāļģāļŦāļĢāļāļąāļāļāļĄāļāļ§āļīāđāļāļāļĢāļāļąāđāļ§āļāļĒāđāļāļāđāļĩāđāļāđāļĄ āļĩ
āļŠāļĢāļļāļ āļāļđāļāļāđāļĒāđ āļāļ·āļāđāļāđāļāļāļĢāļāļģāļŦāļāļāļāļģāđāļŦāļāđāļāļŦāļāđāļ§āļĒāļāļ§āļĄāļāļģāđāļāļĒāļāļą Cache Memory āļāļąāļāđāđāļāļ
āđāļāļĢāļ°āļāđāļāļģāļŦāļāļāļāļĩ āļāļĢāļ°āļŠāļāļīāļāļ āļīāļāļāđāļāļ°āļāļĩāđāļāļāđāļ§āļĒ
āļāļąāļ§āļāļĒāđāļāļāļāđāļāļāļĒāļĄāđāļĩ
âĒ Cache āļĄāļāļĩāļāļēāļ 64kByte
âĒ Cache block āļĄāļāļĩāļāļēāļ 4 bytes
âĒ Main memory āļĄāļāļĩāļāļēāļ 16MBytes
āļāļąāļāđāļāļāļ Direct MappingâĒ āļŦāļē tag ( āđāļāđāļāļāļąāļ§āļāļāļāļāļģāļēāđāļŦāļāđāļāļ§āļēāđāđāļāđāļāļāļĨāļļāđāļĄāđāļŦāļāļāļāļ Main
Memory) āļŦāļēāđāļāđāļāļēāļ āđāļāļēāļāļāļēāļāļāļāļ main memory/ āļāļāļēāļāļāļāļ cache memory āļāļķāđāļāļāļ°āđāļāđ- 16Mb/64Kb = 250 āļāļģāļēāđāļŦāļāđāļāđāļ memory- āļāļ°āđāļāđ tag = 8 āđāļāļ·āđāļāļāļāļēāļ 28 āļāđāļēāļāđāļāđ 256āļāļģāļēāđāļŦāļāđāļ
âĒ āļŦāļē āļāļģāļēāļāļ§āļāļŠāļēāļĒāļŦāļĢāļāļ· bit āļāđāļĩāđāļāđāđāļāļāļēāļĢāļāđāļēāļāļāļķāļ āļāļķāđāļāļāļ°āđāļāđ = 24 āđāļŠāļāđāļŦāļĢāļāļ· bit āđāļāļ·āđāļāļāļāļēāļ Main memory āļĄāļĩ
āļāļāļēāļ16Mb āđāļāļĢāļēāļ°āļāļ°āļāļąāļāđāļāļ°āđāļāđ224 = 16Mb
âĒ āļāļēāļāļāļąāļāđāļāļģāļēāļĄāļēāđāļāļĒāļĩāļ Main Memory Address
âĒ āļŦāļē Word āļāļēāļāđāļāļāļĒāļāđāļāļāļ§āļēāđāđāļāđāļĨāļ° line āđāļ cache āļĄāļĩ āļāļāļēāļ 4 byte āđāļāļĢāļēāļ°āļāļ°āļāļąāļāđ āđāļāļāļēāļĢāļāđāļēāļāļ§āļēāđāļāļĒāļđāđ byte āđāļŦāļ
āļāļ°āđāļāđāđāļāļĒāļĩāļ 2 bit āļāļ·āļ 00011011
Tag Line or Slot Word
8 14 2
âĒ āļŠāļāļļāļāđāļēāļĒ āļŦāļē line āļŦāļĢāļāļ· slot āđāļāļĒāļŦāļēāđāļāđ 2 āļ§āļāļīāļāļ·āļĩāļ1. āđāļāļĒāđāļāļē - - 2482 = 14 bit2. āđāļāļĒāđāļāļē64k/4byte = 16k āđāļĨāđāļ§āļāļ§āļđāļēāđ 2 āļĒāļ
āļāļģāļēāļĨāļąāļāļāļ°āđāļĢāđāļāđ16k āļāļ·āļ = 14 āļāļąāļāđāđāļāļ āļāđāļāļ°āđāļāđ 14bit
214 = 16 k āļāļąāļāļāļąāļāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāđāļāđ16k āļāļāļ cache āļŦāļĢāļāļ·āļāļđāļāļāđāļēāļĒāđ āļ§āļēāđ cache āļāļ°āļĄāļāļĩāļģāļēāđāļŦāļāđāļāļāļĒāļđāđ
16k āđāļāđāļāđāļĨāļ° line āļĄāļāļĩāļāļēāļ 4 byte āļĨāļāļāđāļāļē16 k * 4 = 64 kb āļāļ·āļāļāļāļēāļāļāļāļ Cache āļāļĢāļāļīāđ (āļāđāļē
āļāđāļāđāļāļ·āļ -00003fff)
âĒ āļŠāļĄāļĄāļļāļāļīāļ§āļēāđāļāđāļāļāļāļēāļĢāļāļāđāļĄāļđāļĨāļĄāļēāđāļāđāļāļāđāļĩ Cache āđāļāļĒāļāļāđāļĄāļđāļĨāļāđāļĩāđāļĢāļēāļāđāļāļāļāļēāļĢ āļāļ·āļ āđāļāļē Block āļāđāļĩ 3 āđāļāļē Line āļāđāļĩ 15 Byte āļāđāļĩ 2 āđāļĢāļēāļāļ°āļĄāļ§āļĩāļāļīāļĩ
āļāļēāļĢāļāđāļēāļ Main Memory Address āđāļāđāļāđāļĨāļāļāļ°āđāļĢ
00000011 00000000001111 10
āļāļ°āđāļāđāđāļāđāļ 03003Eh āđāļ§āļĨāļēāļāđāļāļāļāļēāļĢāđāļāļāđāļēāļāļāđāļāļēāļāļāļ°āđāļĢāļĒāļĩāļ Ld A,03003Eh āļāļķāđāļāļāđāļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļēāđāđāļāđāļāļāļēāļĢāđāļāļēāļāļāđāļĄāļđāļĨāļāļĩāđāļāļĒāļđāđāđāļ Main
Memory āđāļ Block āļāđāļĩ 3 āļāļāļ Main Memory āđāļāļāļāđāļāļāļĩāđ 15 āđāļĨāļ° Byte āļāđāļĩ 2 āļāļąāļāđāđāļāļ
Tag Line or Slot Word
8 14 2
âĒ āđāļāļāļēāļāļāļĢāļąāļāđ āļāļģāļēāđāļŦāļāđāļāļāļāļ Cache āļāļąāļ Main Memory āļāļēāļ āļāļ°āļĄāļāļĩāļēāļĢāđāļĨāđāļ·āļāļ Bit āđāļĨāđāļāļāđāļāļĒ āđāļāļāđāļāļēāļāļāļąāļ§āļāļĒāļēāđāļāļāļ°āđāļāđāļāļāļēāļĢāđāļĨāđāļ·āļāļ
2 Bit (āļāļķāđāļāđāļāđāļāđāļŦāļāļāļļāļĨāļāļāļāļāļēāļāļāļĢāļĐāļąāļīāļ)Cache Memory
0000
3FFF
4 byte
āļŠāļĄāļĄāļļāļāļīāļĄāļāļļāļĩāļāļāļģāļēāļŠāļąāļāđ Load AC,8FFFC āļāļ°āļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļēāđ āđāļŦāđāđāļāļēāļāļāđāļĄāļđāļĨāļāđāļĩāļāļĒāļđāđāđāļ Cache
memory āļ āļāļģāļēāđāļŦāļāđāļ 3 FFF
Direct MappingAddress Structure
Tag s-r Line or Slot r Word w
8 14 2
âĒ 24 bit addressâĒ 2 bit word identifier (4 byte block)âĒ 22 bit block identifier
â8 bit tag (=22-14)â14 bit slot or line
Direct Mapping Cache Organization
Direct Mapping Example
Direct Mapping SummaryâĒ Address length = (s + w) bitsâĒ Number of addressable units = 2s+w words or
bytesâĒ Block size = line size = 2w words or bytesâĒ Number of blocks in main memory = 2s+ w/2w = 2s
âĒ Number of lines in cache = m = 2r
âĒ Size of tag = (s â r) bits
Direct Mapping SummaryâĒ SimpleâĒ InexpensiveâĒ Fixed location for given block
âIf a program accesses 2 blocks that map to the same line repeatedly, cache misses are very high
āļ§āļāļīāļāļĩāļĢ Direct mapping āļĄāļĢāļĩāļāļāļāļđāđāļĨāļ°āļ§āļāļāļĢāļāđāļĒ āđāļāđāļāđāļĄāļāļĩāļāđāđāļŠāļĒāļĩāļāļ·āļāđāļāđāļāļāļĢ fix cache location āļŠāļģāļŦāļĢāļāļąāđāļāđāļ°āļĨāļ°
block āļāļąāļāļāļąāļāđāļāđāđāļāļīāļāļĄāļāļĩāļĢāļāđāļāļāļāđāļĄāļđāļĨāļāļ 2 block āļāđāļĩāļāļāļąāđāļāļīāļ map āļĄāļāđāļĩ slot
āđāļāļĩāļĒāļ§āļāļąāļāļāđāļāļ°āļĄāļāļĩāļĢāđāļāļĨāđāļĩāļĒāļāļāļāđāļĄāļđāļĨāđāļ slot āļāļąāļāđāļāļĒāļđāļāđāļĨāļāļāđāļ§āļĨ āļĄāļāļĩāļĨāļāļģāđāļŦāđāđāļŦāđāļāđ Hit Rate
āļāļģāđ
Associative MappingâĒ āļ§āļāļīāļāļĩāļĩāđ Memory āļāļ°āđāļĄāđāđāļāļāđāđāļāđāļ block āļāļąāļāđāļāļāđāļ§āļāļīāļĩ direct
āļāļķāđāļāļ§āļāļīāļāļĩāļĩāđ cache memory āļāļ°āđāļāļŦāđāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļŠāļ§āđāļāđāļŦāļ āļāļāļ main memory āļāđāđāļāđ
- āļāļąāļ§āļāļĒāđāļâĒ Cache āļĄāļāļĩāļāļēāļ 64 kByte
âĒ Cache block āļĄāļāļĩāļāļēāļ 4 bytes
âĒ Main memory āļĄāļāļĩāļāļēāļ 16MBytes
āļ§āļāļīāļāļĩāļĢāļŦâĒ āļŦāļē tag ( āđāļāđāļāļāļąāļ§āļāļāļāļāļģāļēāđāļŦāļāđāļāļ§āļēāđāļāļĒāļđāļāđāļģāļēāđāļŦāļāđāļāđāļŦāļāļāļāļ Main
Memory) āļŦāļēāđāļāđāļāļēāļāļāļāļēāļāļāļāļ Memory āļāļ·āļ 16Mbyte = 224 āļāļķāđāļāļāļ°āđāļāđ main memory address āļāļ·āļ
24 bit āļāļēāļāļāļąāļāđāđāļāđāļāļ·āļ āļāļ·āļ 2 242 bit word = 22 bit
âĒ āļāļēāļ 22 bit āļāļ·āļ 11111111 1111111111111100 => FFFFFC āļāļąāļāļāļąāļāđ cache memory āļĄāļāļĩāļģāļēāđāļŦāļāđāļāļāļąāļāđāļŦāļĄāļ 000000 FFFFFC āļŦāļĢāļāļ· 000000 3 FFFFF
âĒ āļāļēāļāļāļąāļāđāļāļģāļēāļĄāļēāđāļāļĒāļĩāļ Main Memory AddressTag 22 bitWord2 bit
Fully Associative Cache Organization
Associative Mapping Example
Associative Mapping SummaryâĒ Address length = (s + w) bitsâĒ Number of addressable units = 2s+w words or
bytesâĒ Block size = line size = 2w words or bytesâĒ Number of blocks in main memory = 2s+ w/2w = 2s
âĒ Number of lines in cache = undeterminedâĒ Size of tag = s bitsāļ§āļāļīāļāļĩāļĩāđāļāļ°āđāļāļŠāđāļ§āđāļāđāļŦāļāļāđāđāļāđāđāļ memory āļāļ cache āļāļ°āđāļāđāļĄāļŦāļĄāļāļāļķāđāļāļāđāļĄāļāļĩāļāđāļāļĩāđāļāļāļēāļĢāļāđāļēāļ block āđāļŦāļĄāđāđāļāļēāđāļĄāļēāđāļ§āđāđāļ cache āđāļāđāļāļ°āđāļāļ§āđāļāļāļĢāļĄāļēāļāļāļ§āļēāđ
Set Associative Mapping
âĒ āđāļāđāļāļāļēāļĢāļāļģāļēāđāļāļēāļāļāđāļāļĩāļāļāļāļāļąāļāđāđāļāļ Direct āđāļĨāļ° Associative Mapping āļĄāļēāļĢāļ§āļĄāļāļąāļāđāļ§āđāđāļāļ§āļāļīāļāļĩāļĩāđ
- āđāļāļāđāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļē Cache āļāļāļāđāļāđāļ r sets- āđāļāđāļ°āļĨāļ° set āļĄāļĩ k slots (lines)
āļāļąāļ§āļāļĒāļēāđāļ
- Cache āļĄāļāļĩāļāļēāļ 64 kByteCache block āļĄāļāļĩāļāļēāļ 4 bytes
Main memory āļĄāļāļĩāļāļēāļ 16MBytes āđāļŦāđāđāļāđāļāđāļāļ - Two way Set Associative
Mapping
Two Way Set Associative Cache Organization ( āđāļāļāđāđāļāđāļ 2 āļāļĨāļļāđāļĄ)
āļ§āļāļīāļāļĩāļĢāļŦ- āļāđāļđāļāļāļĒāļ§āđāļēāđāđāļāđāļāđāļāļāđāļŦāļ āļāļēāļāđāļāļāļĒāļāđāļāļāļ§āļēāđāđāļāđāļ
āđāļāļ 2-way set associative mapping āđāļŠāļāļāļ§āļēāđāļāļ°āļĄ āļĩcache āļāļģāļēāļāļ§āļ 2 āļāļĨāļļāđāļĄ āļāļķāđāļāļāļ°āđāļāđ 8 k + 8 k (āļāļĨāļļāđāļĄāļĨāļ° 8 k āļāļāđāļ)
- āļŦāļē set āļāļēāļ āļāļāļēāļāļāļāļāđāļāđāļĨāļ°āļāļĨāļļāđāļĄāļāļāļ cache āļāļ·āļ 213 = 8 k āđāļāļĢāļēāļ°āļāļ°āļāļąāļāđ set āļāļ°āļĄāļāļĩāļāļēāļ
13 bit (Set āđāļāļāđāļĩāļāļĩāđāļāļ·āļ Line āļāļąāļāđāđāļāļ)- āļŦāļē word āļāļēāļ cache block size āļāļ·āļ 4
byte āļāļąāļāļāļąāļāđ word āļāļ°āļĄāļāļĩāļāļēāļ 2 bit
āļ§āļāļīāļāļĩāļĢāļŦ- āļŦāļē tag āđāļāđ 2 āļ§āļāļī āļĩāļāļ·āļ ( Tag āđāļāļāđāļĩāļāļĩāđāļāļ·āļ āļāļģāļēāļāļ§āļāļāļĨāļļāđāļĄāđāļ
Memory)1. āļāļēāļ āļāļāļēāļ main memory āļāļ·āļ 16M āđāļāļĢāļēāļ°
āļāļ°āļāļąāļāđāļāļģāļēāļāļ§āļ bit āļāļąāļāđāļŦāļĄāļ āļāļ·āļ 224 āļāļķāđāļāļāļ°āļŠāļēāļĄāļēāļĢāļāļŦāļē tag = āļāļģāļēāļāļ§āļ bit āļāļąāļāđāļŦāļĄāļ - set â word āļāļ·āļ
- - 24132 = 9 bit
2. āļāļēāļāļāļāļēāļ main memory āļāļ·āļ 16M āđāļĨāļ°āļāļāļēāļāļāļāļ Cache āļĄāļāļĩāļāļēāļ 64k āđāļāđāđāļāļāļĒāļāđāļāļāļ§āļēāđāđāļāđāļāđāļāļ -2 way āļāļ°āļāđāļāļāđāļāļē 64k/2 = 32k āļāļēāļāļāļąāļāđ āđāļāļē
āļāļāļēāļāļāļāļ Memory/āļāļāļēāļāļāļāļ Cache = 16M/32k = 500 āļāļēāļāļāļąāļāđ 2 āļĒāļāļāļģāļēāļĨāļąāļāļāļ°āđāļĢāđāļāđāđāļāļĨāđāđāļāļĩāļĒāļāļāļąāļ 50
0 āļāļ·āļ 29 āđāļŠāļāļāļ§āļēāđāļāļ°āđāļāļāļąāđāļāđāļŦāļĄāļ 9 Bit
Set Associative MappingAddress Structure
Tag 9 bit Set 13 bitWord2 bit
āļāļ°āđāļāđ Main Memory Address āļāļąāļāļāļĩāđ
Two Way Set Associative Mapping Example
Set Associative Mapping SummaryâĒ Address length = (s + w) bitsâĒ Number of addressable units = 2s+w words or
bytesâĒ Block size = line size = 2w words or bytesâĒ Number of blocks in main memory = 2d
âĒ Number of lines in set = kâĒ Number of sets = v = 2d
âĒ Number of lines in cache = kv = k * 2d
âĒ Size of tag = (s â d) bits
Replacement AlgorithmsâĒ āđāļĄāļ·āđāļāļĄāļāļĩāļēāļĢāļāđāļēāļāļāļāđāļĄāļđāļĨ Block āđāļŦāļĄāļĄāđāļēāļāļēāļ Memory āđāļāļēāđ
āļĄāļēāļ§āļēāļāđāļ§āđāđāļ Cache āļāđāļāļ°āļāđāļāļāļĄāļāļĩāļēāļĢāļĨāļ Block āđāļāļīāļĄāļāđāļīāļāđāļ āļ§āļāļīāļāļĩāļēāļĢāđāļĨāļ·āļāļāļāđāļĩāļāļ°āļĨāļ block āđāļāļīāļĄāļĄāļŦāļĩāļĨāļēāļĒāļ§āļāļīāđāļĩāļāđāđāļāđ
- - Least recently used (LRU) āļĨāļāļāļāđāļĄāļđāļĨāļāđāļĩāļāļāļđāđāļāļāđāļēāļāļĨāđāļēāļŠāļāļļāļāļāļāđāļ
- - - - First in first out (FIFO) āļĨāļāļāļāđāļĄāļđāļĨāļāđāļĩāđāļāļēāđāļĄāļēāļāđāļāļāļāļāļāđāļāļāđāļāļ
- - - Least frequency used (LFU) āļĨāļāļāļāđāļĄāļđāļĨāļāđāļĩāļĄāļāļĩāļēāļĢāđāļāđāļāļēāļāļāđāļāļĒāļāđāļĩāļŠāļāļļāļāļāļāđāļ
- Random āļŠāļļāļĄāđāđāļāļē
Write Policy āļāđāļĒāļāļēāļĒāļāļēāļĢāļāļāļąāļāļķāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļŦāļĨāļąāļâĒ āļāđāļāļāļāļ°āļāļģāļēāļāļēāļĢāļĨāļāļāļāđāļĄāļđāļĨāđāļ block āļŦāļĢāļāļ·āļāđāļāļāļāđāļĩāļāļ°āļāļāļđāđāļāļāļāđāļĩāļāđāļ§āļĒ
āļāļāđāļĄāļđāļĨāļāļĨāđāļāļāđāļŦāļĄāđ āļāļģāļēāđāļāđāļāļāđāļāļāļāļĢāļ§āļāļŠāļāļāļ§āļēāđāļāļāđāļĄāļđāļĨāļāļĨāđāļāļāļāļąāļāđ āđāļāļĨāđāļĩāļĒāļāđāļāļĨāļāđāļāđāļĨāđāļ§āļŦāļĢāļāļ·āđāļĄāđ āļāđāļēāļĄāļāļĩāļ°āļāđāļāļāļĄāļāļĩāļēāļĢāļāļĢāļāļąāļāļĢāļļāļāļāļāđāļĄāļđāļĨāļāļēāļ
Cache āđāļāļĒāļāļą Main Memory āļāđāļāļâĒ āļ§āļāļīāļāļĩāļēāļĢāļāđāļĩāļāđāļēāļĒāļāđāļĩāļŠāļāļļāđāļāđāļāļāļēāļĢāļāļāļąāļāļķāļāļāļāđāļĄāļđāļĨāļĨāļāđāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāđāļāļāļąāļāļāļĩ
āļŦāļĢāļāļ· Write Through āļāļāļļāļāļĢāļąāļāđāļāđāļĩāļĄāļāļĩāļēāļĢāļāļāļąāļāļķāļāļāļāđāļĄāļđāļĨāļĨāļāđāļ cache āļāđāļāļ°āļāļāļđāļāļāļąāļāļąāļāđāļŦāđāđāļāļīāļāļāļēāļĢāļāļāļąāļāļķāļāļĨāļāđāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģāļēāļāļąāļāļāļĩāđāļāļ·āđāļāđāļāđāļāļāļēāļĢ
āļĢāļāļąāļĢāļāļāļ§āļēāđāļāļāđāļĄāļđāļĨāđāļ cache āđāļĨāļ° Main Memory āđāļāđāļēāļāļąāļāđāļŠāļĄāļāļāļāđāđāļŠāļĒāļĩāļāļ·āļāļāļģāļēāđāļŦāđāđāļāļīāļāļāļēāļĢāļŠāļāđāļāļāđāļĄāļđāļĨāļāļāđāļĒāļāļĢāļąāļāđāļāļģāļēāđāļŦāđāđāļāļīāļāļāļąāļāļŦāļēāļāļāļāļ§āļ
âĒ āļāļĩāļāļ§āļāļīāļāļ·āļĩāļ Write Back āđāļāđāļāļ§āļāļīāļāļĩāļēāļĢāļāļāļąāļāļķāļāļāļāđāļĄāļđāļĨāđāļāļ āļēāļĒāļŦāļĨāļąāļāļāļ§āđāļĒāļĨāļāļāļģāļēāļāļ§āļāļāļĢāļąāļāđāđāļāļāļēāļĢāļāļāļąāļāļķāļāļāļāđāļĄāļđāļĨāļĨāļāđāļ Main Memory āđāļŦāđāđāļŦāļĨāļ·āļ
āļāđāļāļĒāļāđāļĩāļŠāļāļļ
Pentium 4 CacheâĒ 80386 â no on chip cacheâĒ 80486 â 8k using 16 byte lines and four way set
associative organizationâĒ Pentium (all versions) â two on chip L1 caches
âData & instructionsâĒ Pentium 4 â L1 caches
â8k bytesâ64 byte linesâfour way set associative
âĒ L2 cache âFeeding both L1 cachesâ256kâ128 byte linesâ8 way set associative