What Is A Bus?
From lesson #4, you'll remember that there are two buses on every motherboard. The Internal bus is the wiring that connects the CPU, memory, and all the other components on the motherboard. The External bus connects all the peripherals and attachments to the motherboard.
Buses are defined not only by their placement but by their width. The easiest analogy for this is a multi-lane highway; The more lanes you have, the more traffic that can pass through per time period. The larger the bus width, the more information that can be transferred in a specific time period. A 32bit data bus can transmit 32 bits of data across the bus at any one time, where an 8bit data bus can only transmit 1/4th of the data.
Buses are also under speed constraints as well. Going back to our highway analogy, the speed limit on the highway states how fast traffic moves. On a bus, the speed is measured in megahertz. (MHz) The only difference between a highway speed limit and a bus speed is that all traffic on a bus travels at exactly the speed limit.
The Internal Bus
The internal bus is also known as the system bus, and is made up of 4 distinct parts. Each part fulfills a different function. (The Internal bus is often referred to as the system bus. If it is referring to the system bus, they are referring to the internal bus.)
|Power||The power bus is the wires that provide electrical power to every part of the motherboard.|
|Control||The control bus sends out timing signals so that other components on the motherboard can stay in time with the CPU.|
|Address||The address bus is used for sending information on memory addressing. This information tells the components on the motherboard where to find instructions and data in memory.|
|Data||The data bus does exactly what it sounds like. It is responsible for transmitting the actual data between the system components.|
When most people talk about buses in terms of computers, they are referring to the data bus. They are also talking about the address bus, because the two are tied together. The address bus sends the information about where the data is, and the data bus transfers the information. Without one bus, the other could not function. In other words, address bus is the bus driver, and the data is the passenger. Address bus information contains the source and destination of the information, directing it to it's proper location.
The External Bus
The external bus, or expansion bus, allows peripherals to connect and communicate with the motherboard and it's components. Where the wiring on the bottom of the motherboard showed the internal bus, the connectors on the motherboard where pieces plug in represent the external bus.
The most common form of external bus connector is the expansion slot. This is a row of spring-held copper connectors that make contact with expansion cards when they are inserted into the slot. There are several expansion slot types, listed below;
|8-bit Bus||This is the oldest of the bus systems, and isn't used on computers anymore. It supports 8 Interrupts and 4 DMA channels, all pre-assigned.|
|Industry Standard Architecture (ISA)||This was the first 16-bit bus produces, and was used on almost all AT motherboards. 8-bit busses and ISA where very similar, except the ISA boards had an additional set of circuits that extended into a larger connector. ISA had 16 interrupts and 8 DMA channels, and used jumpers and DIP switches to the proper assignment of IRQ's and and/or DMA's. The ISA system allowed the bus clock from the CPU clock, allowing the data bus to run at a slower speed than the the rest of the bus systems. ISA has almost completely disappeared from modern computers.|
|Micro-Channel Architecture (MCA)||MCA introduced the first 32-bit bus structure, developed by IBM for the PS-2 computer. It featured bus mastering and a 10 MHz clock speed, and was similar in shape to the ISA card, except it had twice as many channels in the same area. It also allowed for software-configurable IRQ and DMA assignment. MCA is not used in modern computers.|
|Extends ISA (EISA)||EISA was an improvement on ISA in order to compete with MCA. It only had a 8MHz bus clock in order to remain compatible with order ISA equipment, but featured software-configurable IRQ and DMA assignments, and a 32-bit data bus. EISA also had more available I/O addresses. EISA is also dying out as an option on modern computers.|
|Intelligent Drive Electronics (IDE)||This technology is used almost exclusively for fixed-disk controllers. Extended IDE (EIDE) allows up to 4 fixed disks to be installed into two separate IDE channels, allowing faster access times and more drive options. Most modern computers use an EIDE hard drive controller built into the motherboard.|
|VESA Local Bus (VLB)||VLB was an addition to the 486 computer architecture that tied the clock speed of the CPU to the data bus. It was essentially an extension of the ISA slot that was built right into the motherboard's system bus. The VLB expansion card had an ISA-style connector and a longer connector added on the end. It most mostly used for Video controllers, although some proprietary manufacturers developed other cards using this technology. There are rare instances where 586-style boards contained a VLB slot, but were mostly used by Cyrix and AMD extended 486-style processors. VLB was never used after the release of Pentium processors and motherboards.|
|Peripherical Component Interconnect (PCI)||PCI allows a local bus support for either 32-bit or 64-bit buses, allowing it to be used on either Pentium or 486 systems. The PCI bus again separated the bus clock from the CPU clock, all PCI expansions cards contained a bridging circuit that allowed the bus to run independently. It has a 33 MHz bus speed, introduced Plug-N-Play, requiring no jumpers and Operating system-configurable IRQ's, DMA's, and I/O Addresses. All modern computers, including Macintosh, utilize some format of the PCI bus architecture.|
|Universal Serial Bus (USB)||USb is a new serial connection system that allows up to 127 devices to connect using a two serial buses. USB devices are hot-swappable, meaning that they can be plugged and unplugged from the system without turning off the system. They are used for everything from mice and keyboards to scanners and modems, and are used on almost all modern motherboards. Another format of USB, called FireWire, is similar to USB, but was invented previous to USB and is capable of faster speeds. The FireWire connection was first used by Apple computers, and is just now starting to gain industry recognition.|
|Advanced Graphics Port (AGP)||AGP ports are the newest bus systems available today. They combine minimum 66MHz bus speeds with 64 bit bandwidth to produce high transmission rates PCI is not capable of. The ability to double and quadruple the bus speed allows speeds of up to 266MHz out of these slots, providing much greater ability for the port to perform advanced processing, like 3d-Texture Mapping and High-Resolution graphics. AGP is available on all motherboard produced today, but is strictly used for video card installations.|
Every external bus slot carries a certain number of signals through it's copper pathways to the external bus. Some of these signals are used for power, some for IRQ requests, and some connect directly to the data and address bus. Here are the most important connections to know.
|Clock Signal||The clock signal is used to provide timing information in order for the bus clock to synchronize it's transmissions with the system buses.|
|Interrupt Request (IRQ)||Sometimes the external bus must carry a request to the CPU that needs urgent or special attention. This is called an Interrupt Request, or IRQ. Each external bus device is given an IRQ value so that the CPU knows which IRQ's are coming from which devices. IRQ's can be shared between devices, but only if the two devices NEVER attempt to use the Interrupt at the same time.|
|Direct Memory Access (DMA)||DMA allows certain types of instructions to totally bypass the processor and access main memory themselves. Unlike IRQ's, two devices can not share a DMA channel, although current system buses provide more DMA channels than were previously available. Hard drives and video cards use DMA extensively, mainly because they have on-board processors that don't necessarily require CPU access.|
|Input/Output Address (I/O)||As opposed to an IRQ sending an interrupt to the CPU, I/O addresses allow the processor to directly access the device. Each expansion port is identified by a unique I/O address, which lets the CPU send instructions directly to the device. The device then responds through it's DMA channel or the data bus. No two devices can share the same I/O address.|
|Bus Mastering||Sometimes a device requires the ability to talk directly to another device. This is called bus mastering, and is controlled by a bus mastering chip installed directly on the expansion device.|
With the advent of the PCI architecture came a new standard called Plug-and-Play, or PnP. This allowed devices to become self-configurable, meaning no jumpers, DIP switches, or software had to be changed to install the device. As the name states, you just plugged in the device and began playing.
There are several requirements and standards associated with PnP. The BIOS, operating system, motherboard, chipset, and device must be PnP compatible. Windows 95 and 98 are fully PnP compatible, where Windows NT is only partially compatible. All PCI and AGP devices are PnP, but not ISA devices aren't necessarily and VESA Local Bus devices never were. Remember that all PCI cards are PnP, but not all PnP cards are PCI.
Bus Widths In Relation To Architectures
Use the following table to memorize what architectures are associated with each bus width.
|Bus||Bus Width||Bus Speed||Configuration|
|8-Bit||8 Bit||8MHz||Jumpers and DIPs|
|ISA||16 Bit||8MHz||Jumpers and DIPs|
|VesaLocalBus (VLB)||32||Processor Speed||Jumpers and DIPs|
Another type of bus used on portables and laptops is a Personal Computer Memory Card International Association bus, called PCMCIA. (Said Pick-em-See-ya) It uses credit card-sized cards to offer expansion services such as Memory, Fixed Drives, NICs and modems. There are 3 types of PCMCIA slots, and they have the following properties.
Type I - 3.3mm Thick, Used for memory upgrades.
Type II - 5mm Thick, Used for Modems and Network Interface Cards
Type III - Up to 10.5mm think, and used for hard drives and CD-ROM drives.
Remember that PCMCIA cards are hot-swappable.
Small Computers System Interface, or SCSI (Said Skuzzy) is another type of bus used by hard drives, printers, CD-ROM drives, and scanners. We'll discuss SCSI in depth in later chapters. Remember that SCSI allows up to 8 devices daisy-chained in sequence through a single connection, and that SCSI chains must be terminated on both ends.