Cache Memory-Direct Mapping
Cache Memory-Direct Mapping
Cache Memory
Characteristics
Location Capacity Unit of transfer Access method Performance Physical type Physical characteristics Organisation
Location
CPU Internal External
Capacity
Word size
The natural unit of organisation
Number of words
or Bytes
Unit of Transfer
Internal
Usually governed by data bus width
External
Usually a block which is much larger than a word
Addressable unit
Smallest location which can be uniquely addressed Word internally Cluster on M$ disks
Direct
Individual blocks have unique address Access is by jumping to vicinity plus sequential search Access time depends on location and previous location e.g. disk
Associative
Data is located by a comparison with contents of a portion of the store Access time is independent of location or previous access e.g. cache
Memory Hierarchy
Registers
In CPU
External memory
Backing store
Performance
Access time
Time between presenting the address and getting the valid data
Transfer Rate
Rate at which data can be moved
Physical Types
Semiconductor
RAM
Magnetic
Disk & Tape
Optical
CD & DVD
Others
Bubble Hologram
Physical Characteristics
Decay Volatility Erasable Power consumption
Organisation
Physical arrangement of bits into words Not always obvious e.g. interleaved
How fast?
Time is money
How expensive?
Hierarchy List
Registers L1 Cache L2 Cache Main memory Disk cache Disk Optical Tape
Locality of Reference
During the course of the execution of a program, memory references tend to cluster e.g. loops
Cache
Small amount of fast memory Sits between normal main memory and CPU May be located on CPU chip or module
Cache Design
Size Mapping Function Replacement Algorithm Write Policy Block Size Number of Caches
Speed
More cache is faster (up to a point) Checking cache for data takes time
Mapping Function
Cache of 64kByte Cache block of 4 bytes
i.e. cache is 16k (214) lines of 4 bytes
Direct Mapping
Each block of main memory maps to only one cache line
i.e. if a block is in cache, it must be in one specific place
Address is in two parts Least Significant w bits identify unique word Most Significant s bits specify one memory block The MSBs are split into a cache line field r and a tag of s-r (most significant)
24 bit address 2 bit word identifier (4 byte block) 22 bit block identifier
8 bit tag (=22-14) 14 bit slot or line
No two blocks in the same line have the same Tag field Check contents of cache by finding line and checking Tag
Direct Mapping Cache Line Table Cache line 0 1 m-1 Main Memory blocks held 0, m, 2m, 3m2s-m 1,m+1, 2m+12s-m+1 m-1, 2m-1,3m-12s-1