KarbosGuide.com. Module 2c.1

About the I/O buses

On these pages, you can read about the important system bus derivatives, the different I/O buses:

  • Introduction to the I/O buses
  • Technical and historical background for the I/O buses
  • Next page
  • Previous page

  • Introduction to the I/O buses

    We have seen before, that the PC's buses are the fundamental data "highways" on the system board. The "first" bus is the system bus, which connects the CPU with RAM. In older designs it was a local bus. In newer designs this bus is called the front side bus (FSB).

    The typical local bus has a speed and width depending on the type CPU installed on the motherboard. Typically, the system bus will be 64 bits wide and run at 66, 100 or 133 MHz. These high speeds create electrical noises and other problems. Therefore, the speed must be reduced for data reaching the expansion cards and other more peripheral components.

    Very few expansion cards can operate at more than 40 MHz. Then the electronics shut down. The chips can just not react faster. Therefore, the PC has additional buses.

    Originally only one bus

    However, the first PCs had only one bus, which was common for the CPU, RAM and I/O components:

    The older first and second generation CPUs ran at relatively low clock frequencies, and all system components could keep up with those speeds.

    RAM on adapters

    Among other things, that allowed additional RAM to be installed in expansion slots in the PC, by installing an adapter in a vacant expansion slot. An adapter, where RAM was mounted:

    This setup would be unthinkable today. However it is truely a local bus. All units are united on one bus using the same clock.

    First in 1987, Compaq figured out how to separate system bus from I/O bus, so they could run at different speeds. This multi-bus architecture has been industry standard ever since. Modern PCs also have more than one I/O bus.

    What does an I/O bus do?

    I/O buses connect the CPU to all other components, except RAM. Data are moved on the buses from one component to another, and data from other components to the CPU and RAM. The I/O buses differ from the system bus in speed. Their speed will always be lower than the system bus speed. Over the years, different I/O buses have been developed. On modern PCs, you will usually find four buses:

  • The ISA bus, which is an old low speed bus, soon to be excluded from the PC design.
  • The PCI bus, which is a new high speed bus.
  • The USB bus (Universal Serial Bus), which is a new low speed bus.
  • The AGP bus which solely is used for the graphics card.

    As mentioned earlier, I/O buses are really extensions to the system bus. On the motherboard, the system bus ends in a controller chip, which forms a bridge to the I/O buses.

    All in all, the buses have had a very central placement in the PC's data exchange. Actually, all components except the CPU communicate with each other and with RAM via the different I/O buses. Here you see a demonstration of this logic:

    The physical aspects of the I/O buses

    Physically, the I/O bus consists of tracks on the printed circuit board. These tracks are used as:

  • Data tracks, which each can move one bit at a time
  • Address tracks, which identify where data should be sent to
  • Other tracks for clock ticks, voltage, verification signals, etc.

    When data are sent on the bus, they must be supplied with a receiver. Therefore, each device on the bus has an address. Similarly, the RAM is divided in sections, each having its address. Prior to sending data, a number is sent on the address track, to identify where the data should be sent to.

    The bus width

    The number of data tracks determine the data transfer capacity. The ISA bus is slow, partly because it only has 16 data tracks. The modern PCs send 32 bits per clock tick. On the ISA bus, 32 bits must be divided in two packages of 16 bits. This delays the data transfer. Another I/O bus concept is wait states.

    Wait states

    Wait states are small pauses. If an ISA adapter cannot keep up with the incoming data flow, its controller sends wait states to the CPU. Those are signals to the CPU to "hold on for a sec." A wait state is a wasted clock tick. The CPU skips a clock tick, when not occupied. Thus the old and slow ISA adapter can significantly reduce the operating speed of a modern computer.

    Another aspect is the IRQ signals, which the components use to attract attention from the CPU. That and the concepts DMA and bus mastering, are described in module 5, which deals with adapters.

    Technical and historical background for the I/O buses

    In modern PCs you only find the PCI and ISA buses (besides USB, which we do not know much about yet). But, over the years, there have been other buses. Here is a diagram of the various I/O buses. Then comes a more detailed description of each of the buses:

    Bus width
    Bus speed
    Max. throughput
    PC and XT
    8 bit
    Synchronous with CPU:
    4.77 - 6 MHz
    4-6 MBps
    ISA (AT)
    Simple bus.
    16 bit
    8-10 MHz
    8 MBps
    MCA. Advanced,
    intelligent bus by IBM.
    32 bit
    10.33 MHz
    40 MBps
    Bus for servers.
    32 bit
    max. 8 MHz
    32 MBps
    VL. High speed bus,
    used in 486s.
    32 bit
    33-50 MHz
    PCI. Intelligent,
    advanced high speed bus.
    32 bit
    33 MHz
    132 MBps
    USB. Modern, simple, and intelligent bus. 1996 Serial   1.2 MBps
    FireWire (IEEE1394).
    High-speed I/O bus for storage, video etc.
    1999 Serial   80 MBps
    USB 2.0 2001 Serial   12-40 MBps

    SCSI is another type of bus.

  • Next page
  • Previous page

    Learn more

    5c about the modern I/O bus called USB.

    Read module 5b about AGP and module 5c about Firewire.

    Read more about chip sets on the motherboard in module 2d

    Read about RAM in module 2e

    Read Module 4b about hard disks.

    Read Module 4c about optical media (CDROM and DVD).

    Read Module 4d about super diskette and MO drives.

    Read module 5a about expansion cards, where we evaluate the I/O buses from the port side.

    Read module 7a about monitors, and 7b on graphics card.

    Read module 7c about sound cards, and 7d on digital sound and music.

    [Main page]
    [Karbo's Dictionary]
    [The Software Guides]

    Copyright (c) 1996-2005 by Michael B. Karbo. www.karbosguide.com.