CH05
CH05
TECH
Computer Science
CH04
Memory Hierarchy
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 disks
Access Methods (1)
• Sequential
Start at the beginning and read through in order
Access time depends on location of data and previous
location
e.g. tape
• 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
Access Methods (2)
• Random
Individual addresses identify locations exactly
Access time is independent of location or previous access
e.g. RAM
• 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
• Internal or Main memory
May include one or more levels of cache
“RAM”
• External memory
Backing store
Performance
• Access time
Time between presenting the address and getting the
valid data
• Memory Cycle time
Time may be required for the memory to “recover”
before next access
Cycle time is access + recovery
• 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
The Bottom Line
• How much?
Capacity
• How fast?
Time is money
• How expensive?
Hierarchy List
• Registers
• L1 Cache
• L2 Cache
• Main memory
• Disk cache
• Disk
• Optical
• Tape
So you want fast?
• It is possible to build a computer which uses only
static RAM (see later)
• This would be very fast
• This would need no cache
How can you cache cache?
• This would cost a very large amount
Semiconductor Memory
• RAM
Misnamed as all semiconductor memory is random
access
Read/Write
Volatile
Temporary storage
Static or dynamic
Dynamic RAM
• Bits stored as charge in capacitors
• Charges leak
• Need refreshing even when powered
• Simpler construction
• Smaller per bit
• Less expensive
• Need refresh circuits
• Slower
• Main memory
Static RAM
• Bits stored as on/off switches
• No charges to leak
• No refreshing needed when powered
• More complex construction
• Larger per bit
• More expensive
• Does not need refresh circuits
• Faster
• Cache
Read Only Memory (ROM)
• Permanent storage
• Microprogramming (see later)
• Library subroutines
• Systems programs (BIOS)
• Function tables
Types of ROM
• 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 Organization
Direct Mapping pros & cons
• 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
Associative Mapping
• A main memory block can load into any line of cache
• Memory address is interpreted as tag and word
• Tag uniquely identifies block of memory
• Every line’s tag is examined for a match
• Cache searching gets expensive
Fully Associative Cache Organization
Associative Mapping Example
Associative Mapping
Address Structure
Word
Tag 22 bit 2 bit
• 22 bit tag stored with each 32 bit block of data
• Compare tag field with tag entry in cache to check for hit
• Least significant 2 bits of address identify which byte
(8bit) is required from 32 bit data block
• e.g. (based 16 number (4bit))
Address Tag Data Cache line
FFFC FFFC 24682468 3FFF
Set Associative Mapping
• Cache is divided into a number of sets
• Each set contains a number of lines
• A given block maps to any line in a given set
e.g. Block B can be in any line of set i
• e.g. 2 lines per set
2 way associative mapping
A given block can be in one of 2 lines in only one set
Two Way Set Associative Mapping Example
Set Associative Cache Organization
Set Associative Mapping
Address Structure
Word
Tag 9 bit Set 13 bit 2 bit
• Use set field to determine cache set to look in
• Compare tag field to see if we have a hit
• e.g
Address Tag Data Set number
1FF 7FFC 1FF 12345678 1FFF
001 7FFC 001 11223344 1FFF
Replacement Algorithms (1)
Direct mapping
• No choice
• Each block only maps to one line
• Replace that line
Replacement Algorithms (2)
Associative & Set Associative