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

  • As you move down the hierarchy, three parameters increase
    1. 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
    2. 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
    3. 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.