Structured Computer Organization, by Tanenbaum
Memory and Input/Output (Chapter 2)
Memory Packaging and Types: Until early 1990's - semiconductor memory
was installed as single chips. The chip was a separate unit.
Present - a group of chips, typically 8 or 16, is mounted on a printed
circuit board and sold as a unit.
SIMM (Single Inline Memory Module) or DIMM (Dual Inline Memory Module)
depending on whether it has a row of connectors on one or both sides of the board.
Typical SIMM configuration: eight chips with 32 megbits (4MB) each on
the SIMM. The entire module would hold 32 MB.
Many have room for 4 modules - 128MB when using 32MB SIMMs. These
can be replaced by 64MB or larger SIMMs as needed.
Secondary Memory
Memory Hierarchies
- CPU registers - can be accessed at full CPU speed.
- Cache memory - currently on the order of 32 KB to a few megabytes (current?)
- Main memory - sizes ranging from 16MB to tens of gigabytes
- Magnetic disks (hard drives on a pc)
- Magnetic tape and Optical Disks
As you move down the hierarchy, three parameters increase
- The access time gets bigger
- CPU registers can be accessed in a few nsec
- Cache memories take a small multiple of CPU registers
- Main memory accesses are a few tens of nsecs
- BIG GAP
- Disk access times are at least 10 msec (millisecond)
- Tape or Optical disk access measured in seconds
- Storage capacity increases as you go downwards
- CPU registers good for 128 bytes
- Cache: a few megabytes
- Main memories: tens to thousands of megabytes
- Magnetic disks: few gigabytes to tens of gigabytes
- Tapes and optical disks: kept offline, capacity limited
only to owner's budget
- Number of bits per dollar spent increases down the hierarchy
(changes rapidly)
- Main memory measured in dollars/megabyte
- Magnetic disk storage measured in pennies/megabyte
- Magnetic tape: dollars/gigabyte or less
Magnetic Disks: A magnetic disk consists of one or more aluminum platters
with a magnetizable coating.
Track: the circular sequence of bits written as the disk makes a complete
rotation.
Sectors: each track is divided up into fixed-length sectors, like 512 data
bytes, preceded by a preamble that allows the head to be synchronized before
reading or writing.
ECC: Following the data is an Error-Correcting Code (ECC), either a
Hamming Code, or a code that can correct multiple errors - Reed-Soloman code.
Intersector gap: Between consecutive sectors is a small intersector gap.
Disks have movable arms that move in and out to different radial distances
At each radial distance, a different track can be written.
The tracks are a series of concentric circles.
The width of the track depends on how large the head is.
Currently disks are between 800 and 2000 tracks per centimeter.
Track widths are in the 5 to 10 micron range (1 micron = 1/1000mm)
Most disks consist of multiple platters stacked vertically, Fig2-20
Each surface has its own arm and head.
Cylinder: The set of tracks at a given radial position.
IDE Disks: Modern disks evolved from the one in the IBM-XT, a 10-MB
Seagate disk
The Seagate disk had 4 heads, 306 cylinders, and 17 sectors/track
SCSI Disks have much higher transfer rates
SCSI: "Small Computer System Interface"
Input/Output
Buses
Most personal computers: a metal box with a large printed circuit board:
the motherboard.
The motherboard contains the CPU chip, some slots for the DIMM modules,
and various support chips. It also contains a bus etched along its length, and
sockets into which the edge connectors of I/O boards can be inserted.
Fig 2-29: the logical structure of a simple low-end pc.
This one has a single bus used to connect the CPU, memory, and I/O devices.
Most systems have two or more buses.
Each I/O device consists of two parts: the controller, and the device itself,
such as a disk drive.
A controller that reads or writes data to or from memory without CPU
intervention is performing Direct Memory Access (DMA)
Bit map terminals - UART (Universal Asynchronous Receiver Transmitter
A start bit and stop bit is added to each character to delimit the
beginning and end of the character.
At 110 bps, 2 stop bits are used.