Computer Organization
and Architecture
Chapter 4
Types of Computer Memory
Systems and their function
Computer Memory System Overview
Computer memory is the storage space in
the computer, where data is to be
processed and instructions required for
processing are stored.
A memory is used to store data and
instructions.
The memory is divided into large number
of small parts called cells.
Types of the computer memories
Memory is primarily of three types:-
Cache Memory
Primary Memory/Main Memory
Secondary Memory
Cache Memory
Cache memory is a very high speed
semiconductor memory which can speed
up the CPU.
It acts as a buffer between the CPU and
the main memory. It is used to hold
those parts of data and program which
are most frequently used by the CPU.
The parts of data and programs are
transferred from the disk to cache
memory by the operating system, from
where the CPU can access them.
Cache Memory
Characteristics of Computer Memory
Systems
Location
Capacity
Unit of transfer
Access method
Performance
Physical type
Physical characteristics
Organisation
Location
Refers to whether memory is internal
and external to the computer.
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
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
Performance
Three performance parameters are used:
Access time (latency)
— This is the time it takes to perform a read or write operation
— 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. This is the rate at which
data can be transferred into or out of a memory unit.
Physical Types
Semiconductor
—RAM
Magnetic
—Disk & Tape
Optical
—CD & DVD
Others
—Bubble
—Hologram
Physical Characteristics
Decay: information decays mean data loss
Volatility: If a memory devices continues
hold data even if power is turned off.
Erasable: erasable means permission to
erase
Power consumption: how much power
consume?
Organisation
Physical arrangement of bits into words
Not always obvious
e.g. interleaved
Memory Hierarchy
Registers
—In CPU
Internal or Main memory
—May include one or more levels of cache
—“RAM”
External memory
—Backing store
Memory Hierarchy - Diagram
Hierarchy List
• Registers
• L1 Cache
• L2 Cache
• Main memory
• Disk cache
• Disk
• Optical
• Tape
Cache
Small amount of fast memory
Sits between normal main memory and
CPU
May be located on CPU chip or module
Cache and Main Memory
Cache/Main Memory Structure
Cache operation – overview
CPU requests contents of memory
location
Check cache for this data
If present, get from cache (fast)
If not present, read required block from
main memory to cache
Then deliver from cache to CPU
Cache includes tags to identify which
block of main memory is in each cache
slot
Cache Design
Addressing
Size
Mapping Function
Replacement Algorithm
Write Policy
Block Size
Number of Caches
Cache Addressing
Where does cache sit?
— Between processor and virtual memory management
unit
— Between MMU and main memory
Logical cache (virtual cache) stores data using
virtual addresses
— Processor accesses cache directly, not thorough physical
cache
— Cache access faster, before MMU address translation
— Virtual addresses use same address space for different
applications
Physical cache stores data using main memory
physical addresses
Size does matter
Cost
—More cache is expensive
Speed
—More cache is faster (up to a point)
—Checking cache for data takes time
Typical Cache Organization
Mapping Function
The transformation of data from main memory to
cache is known as mapping process. There are
three types of mapping - Direct mapping, associative
mapping, set-associative mapping.
Cache of 64kByte
Cache block of 4 bytes
—i.e. cache is 16k (214) lines of 4 bytes
16MBytes main memory
24 bit address
—(224=16M)
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)
Direct Mapping Address 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
• No two blocks in the same line have the same Tag field
• Check contents of cache by finding line and checking Tag
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
Write Policy
Must not overwrite a cache block unless
main memory is up to date
Multiple CPUs may have individual caches
I/O may address main memory directly
Write through
All writes go to main memory as well as
cache
Multiple CPUs can monitor main memory
traffic to keep local (to CPU) cache up to
date
Lots of traffic
Slows down writes
Remember bogus write through caches!
Write back
Updates initially made in cache only
Update bit for cache slot is set when
update occurs
If block is to be replaced, write to main
memory only if update bit is set
Other caches get out of sync
I/O must access main memory through
cache
N.B. 15% of memory references are
writes
Internal Memory
Semiconductor Memory Types
Memory Type Category Erasure Write Mechanism Volatility
Random-access
Read-write memory Electrically, byte-level Electrically Volatile
memory (RAM)
Read-only
Masks
memory (ROM)
Read-only memory Not possible
Programmable
ROM (PROM)
Erasable PROM
UV light, chip-level
(EPROM) Nonvolatile
Electrically
Electrically Erasable Read-mostly memory
Electrically, byte-level
PROM (EEPROM)
Flash memory Electrically, block-level
Semiconductor Memory
RAM
—Misnamed as all semiconductor memory is
random access
—Read/Write
—Volatile
—Temporary storage
—Static or dynamic
Memory Cell Operation
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
Essentially analogue
—Level of charge determines value
DRAM Operation
Address line active when bit read or written
— Transistor switch closed (current flows)
Write
— Voltage to bit line
– High for 1 low for 0
— Then signal address line
– Transfers charge to capacitor
Read
— Address line selected
– transistor turns on
— Charge from capacitor fed via bit line to sense amplifier
– Compares with reference value to determine 0 or 1
— Capacitor charge must be restored
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
Digital
—Uses flip-flops
SRAM v DRAM
Both volatile
—Power needed to preserve data
Dynamic cell
—Simpler to build, smaller
—More dense
—Less expensive
—Needs refresh
—Larger memory units
Static
—Faster
—Cache
Read Only Memory (ROM)
Permanent storage
—Nonvolatile
Microprogramming (see later)
Library subroutines
Systems programs (BIOS)
Function tables
Types of ROM
Written during manufacture
—Very expensive for small runs
Programmable (once)
—PROM
—Needs special equipment to program
Read “mostly”
—Erasable Programmable (EPROM)
– Erased by UV
—Electrically Erasable (EEPROM)
– Takes much longer to write than read
—Flash memory
– Erase whole memory electrically
Refreshing
Refresh circuit included on chip
Disable chip
Count through rows
Read & Write back
Takes time
Slows down apparent performance
Error Correction
Hard Failure
—Permanent defect
Soft Error
—Random, non-destructive
—No permanent damage to memory
Detected using Hamming error correcting
code
External Memory
Types of External Memory
Magnetic Disk
—RAID
—Removable
Optical
—CD-ROM
—CD-Recordable (CD-R)
—CD-R/W
—DVD
Magnetic Tape
Magnetic Disk
Disk substrate coated with magnetizable
material (iron oxide…rust)
Substrate used to be aluminium
Now glass
—Improved surface uniformity
– Increases reliability
—Reduction in surface defects
– Reduced read/write errors
—Lower flight heights (See later)
—Better stiffness
—Better shock/damage resistance
Read and Write Mechanisms
Recording & retrieval via conductive coil called a head
May be single read/write head or separate ones
During read/write, head is stationary, platter rotates
Write
— Current through coil produces magnetic field
— Pulses sent to head
— Magnetic pattern recorded on surface below
Read (traditional)
— Magnetic field moving relative to coil produces current
— Coil is the same for read and write
Read (contemporary)
— Separate read head, close to write head
— Partially shielded magneto resistive (MR) sensor
— Electrical resistance depends on direction of magnetic field
— High frequency operation
– Higher storage density and speed
Inductive Write MR Read
Data Organization and Formatting
Concentric rings or tracks
—Gaps between tracks
—Reduce gap to increase capacity
—Same number of bits per track (variable
packing density)
—Constant angular velocity
Tracks divided into sectors
Minimum block size is one sector
May have more than one sector per block
Disk Data Layout
Disk Velocity
Bit near centre of rotating disk passes fixed point
slower than bit on outside of disk
Increase spacing between bits in different tracks
Rotate disk at constant angular velocity (CAV)
— Gives pie shaped sectors and concentric tracks
— Individual tracks and sectors addressable
— Move head to given track and wait for given sector
— Waste of space on outer tracks
– Lower data density
Can use zones to increase capacity
— Each zone has fixed bits per track
— More complex circuitry
Disk Layout Methods Diagram
Finding Sectors
Must be able to identify start of track and
sector
Format disk
—Additional information not available to user
—Marks tracks and sectors
Characteristics
Fixed (rare) or movable head
Removable or fixed
Single or double (usually) sided
Single or multiple platter
Head mechanism
—Contact (Floppy)
—Fixed gap
—Flying (Winchester)
Fixed/Movable Head Disk
Fixed head
—One read write head per track
—Heads mounted on fixed ridged arm
Movable head
—One read write head per side
—Mounted on a movable arm
Removable or Not
Removable disk
—Can be removed from drive and replaced with
another disk
—Provides unlimited storage capacity
—Easy data transfer between systems
Non-removable disk
—Permanently mounted in the drive
Multiple Platter
One head per side
Heads are joined and aligned
Aligned tracks on each platter form
cylinders
Data is striped by cylinder
—reduces head movement
—Increases speed (transfer rate)
Multiple Platters
Tracks and Cylinders
Floppy Disk
8”, 5.25”, 3.5”
Small capacity
—Up to 1.44Mbyte (2.88M never popular)
Slow
Universal
Cheap
Obsolete?
Speed
Seek time
—Moving head to correct track
(Rotational) latency
—Waiting for data to rotate under head
Access time = Seek + Latency
Transfer rate
Timing of Disk I/O Transfer
RAID
Redundant Array of Independent Disks
Redundant Array of Inexpensive Disks
6 levels in common use
Not a hierarchy
Set of physical disks viewed as single
logical drive by O/S
Data distributed across physical drives
Can use redundant capacity to store parity
information
RAID 0
No redundancy
Data striped across all disks
Round Robin striping
Increase speed
—Multiple data requests probably not on same
disk
—Disks seek in parallel
—A set of data is likely to be striped across
multiple disks
RAID 1
Mirrored Disks
Data is striped across disks
2 copies of each stripe on separate disks
Read from either
Write to both
Recovery is simple
—Swap faulty disk & re-mirror
—No down time
Expensive
RAID 2
Disks are synchronized
Very small stripes
—Often single byte/word
Error correction calculated across
corresponding bits on disks
Multiple parity disks store Hamming code
error correction in corresponding positions
Lots of redundancy
—Expensive
—Not used
RAID 3
Similar to RAID 2
Only one redundant disk, no matter how
large the array
Simple parity bit for each set of
corresponding bits
Data on failed drive can be reconstructed
from surviving data and parity info
Very high transfer rates
RAID 4
Each disk operates independently
Good for high I/O request rate
Large stripes
Bit by bit parity calculated across stripes
on each disk
Parity stored on parity disk
RAID 5
Like RAID 4
Parity striped across all disks
Round robin allocation for parity stripe
Avoids RAID 4 bottleneck at parity disk
Commonly used in network servers
N.B. DOES NOT MEAN 5 DISKS!!!!!
RAID 6
Two parity calculations
Stored in separate blocks on different
disks
User requirement of N disks needs N+2
High data availability
—Three disks need to fail for data loss
—Significant write penalty
RAID 0, 1, 2
RAID 3 & 4
RAID 5 & 6
Data Mapping For RAID 0
Optical Storage CD-ROM
Originally for audio
650Mbytes giving over 70 minutes audio
Polycarbonate coated with highly
reflective coat, usually aluminium
Data stored as pits
Read by reflecting laser
Constant packing density
Constant linear velocity
CD Operation
CD-ROM Drive Speeds
Audio is single speed
—Constant linier velocity
—1.2 ms-1
—Track (spiral) is 5.27km long
—Gives 4391 seconds = 73.2 minutes
Other speeds are quoted as multiples
e.g. 24x
Quoted figure is maximum drive can
achieve
CD-ROM Format
Mode 0=blank data field
Mode 1=2048 byte data+error correction
Mode 2=2336 byte data
Random Access on CD-ROM
Difficult
Move head to rough position
Set correct speed
Read address
Adjust to required location
(Yawn!)
CD-ROM for & against
Large capacity (?)
Easy to mass produce
Removable
Robust
Expensive for small runs
Slow
Read only
Other Optical Storage
CD-Recordable (CD-R)
—WORM
—Now affordable
—Compatible with CD-ROM drives
CD-RW
—Erasable
—Getting cheaper
—Mostly CD-ROM drive compatible
—Phase change
– Material has two different reflectivities in different
phase states
DVD - what’s in a name?
Digital Video Disk
—Used to indicate a player for movies
– Only plays video disks
Digital Versatile Disk
—Used to indicate a computer drive
– Will read computer disks and play video disks
Dogs Veritable Dinner
Officially - nothing!!!
DVD - technology
Multi-layer
Very high capacity (4.7G per layer)
Full length movie on single disk
—Using MPEG compression
Finally standardized (honest!)
Movies carry regional coding
Players only play correct region films
Can be “fixed”
DVD – Writable
Loads of trouble with standards
First generation DVD drives may not read
first generation DVD-W disks
First generation DVD drives may not read
CD-RW disks
Wait for it to settle down before buying!
CD and DVD
High Definition Optical Disks
Designed for high definition videos
Much higher capacity than DVD
—Shorter wavelength laser
– Blue-violet range
—Smaller pits
HD-DVD
—15GB single side single layer
Blue-ray
—Data layer closer to laser
– Tighter focus, less distortion, smaller pits
—25GB on single layer
—Available read only (BD-ROM), Recordable
once (BR-R) and re-recordable (BR-RE)
Optical Memory Characteristics
Magnetic Tape
Serial access
Slow
Very cheap
Backup and archive
Linear Tape-Open (LTO) Tape Drives
—Developed late 1990s
—Open source alternative to proprietary tape
systems
End