Buses Warning: some of the terminology is used inconsistently within the field
Dec 29, 2015
Buses
Warning: some of the terminology is used inconsistently within the field
What is a bus?
A bus is a basically just wires through which data travels from one part of a computer to another. Usually it’s implied the path is shared by a
number of parts
There is more than one bus and more than one kind of bus Data, address, control System, expansion, local, external USB, AGP, ISA, EISA, MCA, PCI, VESA (Parallel, serial)
What does it carry?
In the simple architecture we’ve been considering, data and addresses travel on the same bus, while control information traveled along individual wires (not shared) Saves on pins
In more complicated architectures, they are separate
Data, address and control buses
The data bus carries data and instructionsThe address bus carries information about where the data should go. The control bus carries information from the CPU to other parts of the computer, telling what they should be doing Some use control bus as a synonym for
system bus
Bus characteristics
The highway analogy: moving data along the buses is like moving cars on the highway. Bus width (number of lanes) How many bits are moving around in
parallel
Bus speed (speed limit) How fast those bits are moving
Memory size
The width of the system’s address bus puts an upper limit on the amount of memory locations For example, if the address bus width is 32, then there are 232 (4,294,967,296) addressesNote that instead of addressing individual words, computers usually address individual bytes, so that would mean 4 GBOf course, most computers have a lot less than 4 GB of memory, it’s just an upper limit
Bus speeds
Measured in MHz (millions of cycles per second)It doesn’t make much sense to have a very fast processor speed and a slow bus speed; they should be compatible The bus speed is slower than the
processor speed and often limits the speed of the computer
Multiple buses
A bus should not be too long; its speed is determined in part by its lengthAlso slower devices do not need faster (and more expensive) buses. The computer should not be held back by the slowest deviceSolution: More than one bus
System bus
The system bus connects the CPU, memory and other motherboard partsThis bus should be well coordinated with the processor and memory access speedsOther buses must interface with the system bus if they want to interact with the processor
Frontside and backside buses
The bus within a processor that connects the CPU with main memory. It's used to communicate between the motherboard and other components in a computer system. In contrast, a backside bus connects the CPU to a Level 2 cache.
Expansion bus
The expansion bus connects the system bus to the expansion slots (where cards are inserted to expand the computer’s capabilities) This bus usually works at slower speeds
Early PCs used an expansion bus called the ISA bus. Most PCs today have a much faster PCI bus but usually have an ISA bus for backward compatibility.
Local bus
If a device or devices require a great deal of speed (e.g. video), then one solution is for the device to have its own high-speed, direct (or nearly direct) connection to the processor. Such a connection is called a local bus Can only support a few devices
ISA
Industry Standard Architecture (ISA) is the bus used in early IBM PC and their clones. The AT version of the bus is called the “AT” bus and became an industry standard.Worked at 8.33 MHz
Plug and Play
In 1993, Intel and Microsoft introduced a version of the ISA called Plug and Play ISA. Plug and Play ISA enables the operating system to do the configuring, instead of the user setting switches and jumpers
PCI
Peripheral Component Interconnect, a local bus standard introduced by Intel. PCI is a 64-bit bus, though it is usually implemented as a 32-bit bus. It can run at clock speeds of 33 or 66 MHz. At 32 bits and 33 MHz, it yields a throughput rate of 133 MBps (Mega bits per second).
EISA and MCA
Between ISA and PCI were some short-lived bus architecturesExtended Industry Standard Architecture (EISA)Micro Channel Architecture (MCA) The principal difference between EISA and MCA is that EISA is backward compatible with the ISA bus, while MCA is not.
VLB
Short for VESA Local-Bus, a local bus created by the Video Electronics Standard Association (VESA). 33 MHzAlthough it was used a lot in PCs made in 1993 and 1994, PCI has become more popular
external bus
A bus that connects a computer to peripheral devices. Two examples are the Universal Serial Bus (USB) and IEEE 1394.
USB
Universal Serial Bus, a new external bus standard that supports data transfer rates of 12 Mbps (12 million bits per second). A single USB port can be used to connect up to 127 peripheral devices, such as mice, modems, and keyboards. USB also supports Plug-and-Play installation and hot plugging.
bus mastering
Refers to a feature supported by some bus architectures that enables a controller connected to the bus to communicate directly with other devices on the bus without going through the CPU. Most modern bus architectures, including PCI, support bus mastering because it improves performance.
DMA
Direct Memory Access Gives a peripheral device access to the memory without going through the CPUSpeeds up data transfer
Three State Logic
A E Output
0 0Z (High
impedance)
0 1 0
1 0Z (High
impedance)
1 1 1
Tri-state buffer
In the high impedance state
In the high impedance state
In the “enabled” state
In the “enabled” state