In
computer architecture, a bus (historically also called a data highway
or databus) is a communication system that transfers
data
Data ( , ) are a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted for ...
between components inside a
computer
A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
or between computers. It encompasses both
hardware (e.g., wires,
optical fiber
An optical fiber, or optical fibre, is a flexible glass or plastic fiber that can transmit light from one end to the other. Such fibers find wide usage in fiber-optic communications, where they permit transmission over longer distances and at ...
) and
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
, including
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
s. At its core, a bus is a shared physical pathway, typically composed of wires, traces on a circuit board, or
busbar
In electric power distribution, a busbar (also bus bar) is a metallic strip or bar, typically housed inside switchgear, panel boards, and busway enclosures for local high current power distribution. They are also used to connect high volt ...
s, that allows multiple devices to communicate. To prevent conflicts and ensure orderly data exchange, buses rely on a
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
to manage which device can transmit data at a given time.
Buses are categorized based on their role, such as
system bus
A system bus is a single computer bus that connects the major components of a computer system,
combining the functions of a data bus to carry information, an address bus to determine where it should be sent or read from, and a control bus to det ...
es (also known as internal buses, internal data buses, or memory buses) connecting the
CPU and
memory
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
.
Expansion bus
In computing, an expansion card (also called an expansion board, adapter card, peripheral card or accessory card) is a printed circuit board that can be inserted into an electrical connector, or expansion slot (also referred to as a bus sl ...
es, also called
peripheral buses, extend the system to connect additional devices, including
peripheral
A peripheral device, or simply peripheral, is an auxiliary hardware device that a computer uses to transfer information externally. A peripheral is a hardware component that is accessible to and controlled by a computer but is not a core compo ...
s. Examples of widely used buses include
PCI Express
PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
(PCIe) for high-speed internal connections and
Universal Serial Bus
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
(USB) for connecting external devices.
Modern buses utilize both
parallel and
serial communication
In telecommunication and data transmission, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits a ...
, employing advanced encoding methods to maximize speed and efficiency. Features such as
direct memory access
Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system computer memory, memory independently of the central processing unit (CPU).
Without DMA, when the CPU is using programmed i ...
(DMA) further enhance performance by allowing data transfers directly between devices and memory without requiring CPU intervention.
Address bus
An ''address bus'' is a bus that is used to specify a
physical address
In computing, a physical address (also real address, or binary address), is a memory address that is represented in the form of a binary number on the address bus circuitry in order to enable the data bus to access a ''particular'' storage cell o ...
. When a
processor or
DMA-enabled device needs to read or write to a memory location, it specifies that memory location on the address bus (the value to be read or written is sent on the data bus). The width of the address bus determines the amount of memory a system can address. For example, a system with a ''32-bit'' address bus can address ''2
32'' (4,294,967,296) memory locations. If each memory location holds one byte, the addressable memory space is about .
Address multiplexing
Early processors used a wire for each bit of the address width. For example, a 16-bit address bus had 16 physical wires making up the bus. As the buses became wider and lengthier, this approach became expensive in terms of the number of chip pins and board traces. Beginning with the
Mostek
Mostek Corporation was a semiconductor integrated circuit manufacturer, founded in 1969 by L. J. Sevin, Louay E. Sharif, Richard L. Petritz and other ex-employees of Texas Instruments. At its peak in the late 1970s, Mostek held an 85% market sh ...
4096
DRAM
Dram, DRAM, or drams may refer to:
Technology and engineering
* Dram (unit), a unit of mass and volume, and an informal name for a small amount of liquor, especially whisky or whiskey
* Dynamic random-access memory, a type of electronic semicondu ...
, address multiplexing implemented with
multiplexer
In electronics, a multiplexer (or mux; spelled sometimes as multiplexor), also known as a data selector, is a device that selects between several Analog signal, analog or Digital signal (electronics), digital input signals and forwards the sel ...
s became common. In a multiplexed address scheme, the address is sent in two equal parts on alternate bus cycles. This halves the number of address bus signals required to connect to the memory. For example, a 32-bit address bus can be implemented by using 16 lines and sending the first half of the memory address, immediately followed by the second half memory address.
Typically two additional pins in the control busrow-address strobe (RAS) and column-address strobe (CAS)are used to tell the DRAM whether the address bus is currently sending the first half of the memory address or the second half.
Implementation
Accessing an individual byte frequently requires reading or writing the full bus width (a
word
A word is a basic element of language that carries semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consensus among linguist ...
) at once. In these instances the least significant bits of the address bus may not even be implemented - it is instead the responsibility of the controlling device to isolate the individual byte required from the complete word transmitted. This is the case, for instance, with the
VESA Local Bus
The VESA Local Bus (usually abbreviated to VL-Bus or VLB) is a short-lived expansion bus introduced during the i486 generation of x86 IBM-compatible personal computers. Created by VESA (Video Electronics Standards Association), the VESA Local Bu ...
which lacks the two least significant bits, limiting this bus to
aligned 32-bit transfers.
Historically, there were also some examples of computers that were only able to address words
word machine
In computer architecture, ''word addressing'' means that addresses of memory on a computer uniquely identify Word (computer architecture), words of memory. It is usually used in contrast with byte addressing, where addresses uniquely identify byt ...
s.
Memory bus
The ''memory bus'' is the bus that connects the
main memory
Computer data storage or digital data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processin ...
to the
memory controller
A memory controller, also known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the flow of data going to and from a computer's main memory. When a memory controller is integrated into anothe ...
in computer systems. Originally, general-purpose buses like
VMEbus
VMEbus (Versa Module Eurocard bus) is a computer bus standard physically based on Eurocard sizes.
History
In 1979, during development of the Motorola 68000 CPU, one of their engineers, Jack Kister, decided to set about creating a standar ...
and the
S-100 bus
The S-100 bus or Altair bus, later standardized as IEEE 696-1983 ''(inactive-withdrawn)'', is an early computer bus designed in 1974 as a part of the Altair 8800. The bus was the first industry standard expansion bus for the microcomputer in ...
were used, but to reduce
latency, modern memory buses are designed to connect directly to DRAM chips, and thus are defined by chip standards bodies such as
JEDEC
The Joint Electron Device Engineering Council (JEDEC) Solid State Technology Association is a consortium of the semiconductor industry headquartered in Arlington County, Virginia, Arlington, United States. It has over 300 members and is focused ...
. Examples are the various generations of
SDRAM
Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal.
DRAM integrated circuits (ICs) produced from the ...
, and serial point-to-point buses like
SLDRAM
Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal.
DRAM integrated circuits (ICs) produced from the ea ...
and
RDRAM
Rambus DRAM (RDRAM), and its successors Concurrent Rambus DRAM (CRDRAM) and Direct Rambus DRAM (DRDRAM), are types of synchronous dynamic random-access memory (SDRAM) developed by Rambus from the 1990s through to the early 2000s. The third-generati ...
.
Implementation details
Buses can be
parallel buses, which carry
data words in parallel on multiple wires, or
serial buses, which carry data in bit-serial form. The addition of extra power and control connections,
differential drivers, and data connections in each direction usually means that most serial buses have more conductors than the minimum of one used in
1-Wire
1-Wire is a Wired communication, wired half duplex, half-duplex Serial communication, serial Bus (computing), bus designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data communication and IC power-supply pin, supply volt ...
and
UNI/O. As data rates increase, the problems of
timing skew
Clock skew (sometimes called timing skew) is a phenomenon in synchronous circuit, synchronous Digital electronics, digital circuit systems (such as computer systems) in which the same sourced clock signal arrives at different Electronic component, ...
, power consumption, electromagnetic interference and
crosstalk
In electronics, crosstalk (XT) is a phenomenon by which a signal transmitted on one circuit or channel of a transmission system creates an undesired effect in another circuit or channel. Crosstalk is usually caused by undesired capacitive, ...
across parallel buses become more and more difficult to circumvent. One partial solution to this problem has been to
double pump the bus. Often, a serial bus can be operated at higher overall data rates than a parallel bus, despite having fewer electrical connections, because a serial bus inherently has no timing skew or crosstalk.
USB
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
,
FireWire
IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple in cooperation with a number of companies, primarily Sony a ...
, and
Serial ATA
SATA (Serial AT Attachment) is a computer bus interface that connects host adapter, host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PAT ...
are examples of this.
Multidrop connections do not work well for fast serial buses, so most modern serial buses use
daisy-chain or hub designs.
The transition from parallel to serial buses was allowed by
Moore's law
Moore's law is the observation that the Transistor count, number of transistors in an integrated circuit (IC) doubles about every two years. Moore's law is an observation and Forecasting, projection of a historical trend. Rather than a law of ...
which allowed for the incorporation of
SerDes in integrated circuits which are used in computers.
Network connections such as
Ethernet
Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
are not generally regarded as buses, although the difference is largely conceptual rather than practical. An attribute generally used to characterize a bus is that power is provided by the bus for the connected hardware. This emphasizes the
busbar
In electric power distribution, a busbar (also bus bar) is a metallic strip or bar, typically housed inside switchgear, panel boards, and busway enclosures for local high current power distribution. They are also used to connect high volt ...
origins of bus architecture as supplying switched or distributed power. This excludes, as buses, schemes such as serial
RS-232
In telecommunications, RS-232 or Recommended Standard 232 is a standard introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such as a compu ...
, parallel
Centronics
Centronics Data Computer Corporation was an American manufacturer of computer printers, now remembered primarily for the parallel interface that bears its name, the Centronics connector.
History
Foundations
Centronics began as a divisio ...
,
IEEE 1284
IEEE 1284, also known as the Centronics port, is a standard that defines bi-directional parallel communications between computers and other devices. It was originally developed in the 1970s by Centronics before its IEEE standardization.
Hi ...
interfaces and Ethernet, since these devices also needed separate power supplies.
Universal Serial Bus
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
devices may use the bus supplied power, but often use a separate power source. This distinction is exemplified by a
telephone
A telephone, colloquially referred to as a phone, is a telecommunications device that enables two or more users to conduct a conversation when they are too far apart to be easily heard directly. A telephone converts sound, typically and most ...
system with a connected
modem
The Democratic Movement (, ; MoDem ) is a centre to centre-right political party in France, whose main ideological trends are liberalism and Christian democracy, and that is characterised by a strong pro-Europeanist stance. MoDem was establis ...
, where the
RJ11 connection and associated modulated signalling scheme is not considered a bus, and is analogous to an
Ethernet
Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
connection. A phone line connection scheme is not considered to be a bus with respect to signals, but the
Central Office uses buses with
cross-bar switches for connections between phones.
However, this distinctionthat power is provided by the busis not the case in many
avionic systems, where data connections such as
ARINC 429
ARINC 429, the "Mark 33 Digital Information Transfer System (DITS)," is the ARINC technical standard for the predominant avionics data bus used on most higher-end commercial and transport aircraft. It defines the physical and electrical interface ...
,
ARINC 629,
MIL-STD-1553B (STANAG 3838), and EFABus (
STANAG 3910) are commonly referred to as ''data buses'' or, sometimes, ''databuses''. Such
avionic data buses are usually characterized by having several
Line Replaceable Items/Units (LRI/LRUs) connected to a common, shared
media
Media may refer to:
Communication
* Means of communication, tools and channels used to deliver information or data
** Advertising media, various media, content, buying and placement for advertising
** Interactive media, media that is inter ...
. They may, as with ARINC 429, be
simplex
In geometry, a simplex (plural: simplexes or simplices) is a generalization of the notion of a triangle or tetrahedron to arbitrary dimensions. The simplex is so-named because it represents the simplest possible polytope in any given dimension. ...
, i.e. have a single source LRI/LRU or, as with ARINC 629, MIL-STD-1553B, and STANAG 3910, be
duplex, allow all the connected LRI/LRUs to act, at different times (
half duplex
A duplex communication system is a Point-to-point (telecommunications), point-to-point system composed of two or more connected parties or devices that can communicate with one another in both directions. Duplex systems are employed in many commu ...
), as transmitters and receivers of data.
[Avionic Systems Standardisation Committee, ''Guide to Digital Interface Standards For Military Avionic Applications'', ASSC/110/6/2, Issue 2, September 2003]
The frequency or the speed of a bus is measured in Hz such as MHz and determines how many clock cycles there are per second; there can be one or more data transfers per clock cycle. If there is a single transfer per clock cycle it is known as
Single Data Rate (SDR), and if there are two transfers per clock cycle it is known as
Double Data Rate
In computing, double data rate (DDR) describes a computer bus that transfers data on both the rising and falling edges of the clock signal and hence doubles the memory bandwidth by transferring data twice per clock cycle. This is also known a ...
(DDR) although the use of signalling other than SDR is uncommon outside of RAM. An example of this is PCIe which uses SDR. Within each data transfer there can be multiple bits of data. This is described as the width of a bus which is the number of bits the bus can transfer per clock cycle and can be synonymous with the number of physical electrical conductors the bus has if each conductor transfers one bit at a time. The data rate in bits per second can be obtained by multiplying the number of bits per clock cycle times the frequency times the number of transfers per clock cycle. Alternatively a bus such as
PCIe
PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
can use modulation or encoding such as
PAM4 which groups 2 bits into symbols which are then transferred instead of the bits themselves, and allows for an increase in data transfer speed without increasing the frequency of the bus. The effective or real data transfer speed/rate may be lower due to the use of encoding that also allows for error correction such as 128/130b (b for bit) encoding. The data transfer speed is also known as the bandwidth.
Bus multiplexing
The simplest
system bus
A system bus is a single computer bus that connects the major components of a computer system,
combining the functions of a data bus to carry information, an address bus to determine where it should be sent or read from, and a control bus to det ...
has completely separate input data lines, output data lines, and address lines.
To reduce cost, most microcomputers have a bidirectional data bus, re-using the same wires for input and output at different times.
[
Don Lancaster]
"TV Typewriter Cookbook"
(TV Typewriter
The TV Typewriter is a video terminal that could display two pages of 16 lines of 32 upper case characters on a standard television set. The design, by Don Lancaster, appeared on the cover of ''Radio-Electronics'' magazine in September 1973.
The ...
).
Section "Bus Organization".
p. 82.
Some processors use a dedicated wire for each bit of the address bus, data bus, and the control bus.
For example, the 64-pin
STEbus
The STEbus (also called the IEEE-1000 bus) is a non-proprietary, processor-independent, bus (computing), computer bus with 8 data lines and 20 address lines. It was popular for industrial control systems in the late 1980s and early 1990 ...
is composed of 8 physical wires dedicated to the 8-bit data bus, 20 physical wires dedicated to the 20-bit address bus, 21 physical wires dedicated to the control bus, and 15 physical wires dedicated to various power buses.
Bus multiplexing requires fewer wires, which reduces costs in many early microprocessors and DRAM chips.
One common multiplexing scheme,
address multiplexing, has already been mentioned.
Another multiplexing scheme re-uses the address bus pins as the data bus pins,
an approach used by
conventional PCI
Peripheral Component Interconnect (PCI) is a local computer bus for attaching hardware devices in a computer and is part of the PCI Local Bus standard. The PCI bus supports the functions found on a processor bus but in a standardized format ...
and the
8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allo ...
.
The various ''serial buses'' can be seen as the ultimate limit of multiplexing, sending each of the address bits and each of the data bits, one at a time, through a single pin (or a single differential pair).
History
Over time, several groups of people worked on various computer bus standards, including the IEEE Bus Architecture Standards Committee (BASC), the IEEE Superbus study group, the open microprocessor initiative (OMI), the open microsystems initiative (OMI), the Gang of Nine that developed
EISA, etc.
First generation
Early
computer
A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
buses were bundles of wire that attached
computer memory
Computer memory stores information, such as data and programs, for immediate use in the computer. The term ''memory'' is often synonymous with the terms ''RAM,'' ''main memory,'' or ''primary storage.'' Archaic synonyms for main memory include ...
and peripherals. Anecdotally termed the ''digit trunk'' in the early Australian
CSIRAC computer, they were named after electrical power buses, or
busbar
In electric power distribution, a busbar (also bus bar) is a metallic strip or bar, typically housed inside switchgear, panel boards, and busway enclosures for local high current power distribution. They are also used to connect high volt ...
s. Almost always, there was one bus for memory, and one or more separate buses for peripherals. These were accessed by separate instructions, with completely different timings and protocols.
One of the first complications was the use of
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s. Early computer programs performed
I/O by
waiting in a loop for the peripheral to become ready. This was a waste of time for programs that had other tasks to do. Also, if the program attempted to perform those other tasks, it might take too long for the program to check again, resulting in loss of data. Engineers thus arranged for the peripherals to interrupt the CPU. The interrupts had to be prioritized, because the CPU can only execute code for one peripheral at a time, and some devices are more time-critical than others.
High-end systems introduced the idea of
channel controller
In computing, channel I/O is a high-performance input/output (I/O) architecture that is implemented in various forms on a number of computer architectures, especially on mainframe computers. In the past, channels were generally implemented with cu ...
s, which were essentially small computers dedicated to handling the input and output of a given bus.
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
introduced these on the
IBM 709
The IBM 709 is a computer system that was announced by IBM in January 1957 and first installed during August 1958. The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific compute ...
in 1958, and they became a common feature of their platforms. Other high-performance vendors like
Control Data Corporation
Control Data Corporation (CDC) was a mainframe and supercomputer company that in the 1960s was one of the nine major U.S. computer companies, which group included IBM, the Burroughs Corporation, and the Digital Equipment Corporation (DEC), the N ...
implemented similar designs. Generally, the channel controllers would do their best to run all of the bus operations internally, moving data when the CPU was known to be busy elsewhere if possible, and only using interrupts when necessary. This greatly reduced CPU load, and provided better overall system performance.
To provide modularity, memory and I/O buses can be combined into a unified
system bus
A system bus is a single computer bus that connects the major components of a computer system,
combining the functions of a data bus to carry information, an address bus to determine where it should be sent or read from, and a control bus to det ...
. In this case, a single mechanical and electrical system can be used to connect together many of the system components, or in some cases, all of them.
Later computer programs began to share memory common to several CPUs. Access to this memory bus had to be prioritized, as well. The simple way to prioritize interrupts or bus access was with a
daisy chain. In this case signals will naturally flow through the bus in physical or logical order, eliminating the need for complex scheduling.
Minis and micros
Digital Equipment Corporation
Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until ...
(DEC) further reduced cost for mass-produced
minicomputer
A minicomputer, or colloquially mini, is a type of general-purpose computer mostly developed from the mid-1960s, built significantly smaller and sold at a much lower price than mainframe computers . By 21st century-standards however, a mini is ...
s, and
mapped peripherals into the memory bus, so that the input and output devices appeared to be memory locations. This was implemented in the
Unibus
The Unibus was the earliest of several computer bus (computing), bus and backplane designs used with PDP-11 and early VAX systems manufactured by the Digital Equipment Corporation (DEC) of Maynard, Massachusetts, Maynard, Massachusetts. The Uni ...
of the
PDP-11
The PDP–11 is a series of 16-bit minicomputers originally sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of a ...
around 1969.
Early
microcomputer
A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (P ...
bus systems were essentially a passive
backplane
A backplane or backplane system is a group of electrical connectors in parallel with each other, so that each pin of each connector is linked to the same relative pin of all the other connectors, forming a computer bus. It is used to connect s ...
connected directly or through buffer amplifiers to the pins of the
CPU. Memory and other devices would be added to the bus using the same address and data pins as the CPU itself used, connected in parallel. Communication was controlled by the CPU, which read and wrote data from the devices as if they are blocks of memory, using the same instructions, all timed by a central clock controlling the speed of the CPU. Still, devices
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
ed the CPU by signaling on separate CPU pins.
For instance, a
disk drive
Disc or disk may refer to:
* Disk (mathematics), a two dimensional shape, the interior of a circle
* Disk storage
* Optical disc
* Floppy disk
Music
* Disc (band), an American experimental music band
* ''Disk'' (album), a 1995 EP by Moby
Other ...
controller would signal the CPU that new data was ready to be read, at which point the CPU would move the data by reading the memory location that corresponded to the disk drive. Almost all early microcomputers were built in this fashion, starting with the
S-100 bus
The S-100 bus or Altair bus, later standardized as IEEE 696-1983 ''(inactive-withdrawn)'', is an early computer bus designed in 1974 as a part of the Altair 8800. The bus was the first industry standard expansion bus for the microcomputer in ...
in the
Altair 8800
The Altair 8800 is a microcomputer introduced in 1974 by Micro Instrumentation and Telemetry Systems (MITS) based on the Intel 8080 CPU. It was the first commercially successful personal computer. Interest in the Altair 8800 grew quickly after i ...
computer system.
In some instances, most notably in the
IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the List of IBM Personal Computer models, IBM PC model line and the basis for the IBM PC compatible ''de facto'' standard. Released on ...
, although similar physical architecture can be employed, instructions to access peripherals (
in
and
out
) and memory (
mov
and others) have not been made uniform at all, and still generate distinct CPU signals, that could be used to implement a separate I/O bus.
These simple bus systems had a serious drawback when used for general-purpose computers. All the equipment on the bus had to talk at the same speed, as it shared a single clock.
Increasing the speed of the CPU becomes harder, because the speed of all the devices must increase as well. When it is not practical or economical to have all devices as fast as the CPU, the CPU must either enter a
wait state
A wait state is a delay experienced by a computer processor when accessing external memory or another device that is slow to respond.
Computer microprocessors generally run much faster than the computer's other subsystems, which hold the data the ...
, or work at a slower clock frequency temporarily,
to talk to other devices in the computer. While acceptable in
embedded systems
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is em ...
, this problem was not tolerated for long in general-purpose, user-expandable computers.
Such bus systems are also difficult to configure when constructed from common off-the-shelf equipment. Typically each added
expansion card
In computing, an expansion card (also called an expansion board, adapter card, peripheral card or accessory card) is a printed circuit board that can be inserted into an electrical connector, or expansion slot (also referred to as a bus sl ...
requires many
jumpers
Jumper or Jumpers may refer to:
Clothing
*Jumper (sweater), is a long-sleeve article of clothing; also called a top, pullover, or sweater
**A waist-length top garment of dense wool, part of the Royal Navy uniform and the Uniforms of the United St ...
in order to set memory addresses, I/O addresses, interrupt priorities, and interrupt numbers.
Second generation
Second-generation bus systems like
NuBus addressed some of these problems. They typically separated the computer into two
address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.
For software programs to save and retrieve ...
s, the CPU and memory on one side, and the various peripheral devices on the other. A ''bus controller'' accepted data from the CPU side to be moved to the peripherals side, thus shifting the communications protocol burden from the CPU itself. This allowed the CPU and memory side to evolve separately from the peripheral bus. Devices on the bus could talk to each other with no CPU intervention. This led to much better performance but also required the cards to be much more complex. These buses also often addressed speed issues by being bigger in terms of the size of the data path, moving from 8-bit
parallel buses in the first generation, to 16 or 32-bit in the second, as well as adding software setup (later standardized as
Plug-n-play) to supplant or replace the jumpers.
However, these newer systems shared one quality with their earlier cousins, in that everyone on the bus had to talk at the same speed. While the CPU was now isolated and could increase speed, CPUs and memory continued to increase in speed much faster than the buses they talked to. The result was that the bus speeds were now much slower than what a modern system needed, and the machines were left starved for data. A particularly common example of this problem was that
video card
A graphics card (also called a video card, display card, graphics accelerator, graphics adapter, VGA card/VGA, video adapter, display adapter, or colloquially GPU) is a computer expansion card that generates a feed of graphics output to a displa ...
s quickly outran even the newer bus systems like
PCI, and computers began to include
AGP just to drive the video card. By 2004 AGP was outgrown again by high-end video cards and other peripherals and has been replaced by the new
PCI Express
PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
bus.
An increasing number of external devices started employing their own bus systems as well. When disk drives were first introduced, they would be added to the machine with a card plugged into the bus, which is why computers have so many slots on the bus. But through the 1980s and 1990s, new systems like
SCSI
Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced ...
and
IDE were introduced to serve this need, leaving most slots in modern systems empty. Today there are likely to be about five different buses in the typical machine, supporting various devices.
Third generation
Third-generation buses have been emerging into the market since about 2001, including
HyperTransport
HyperTransport (HT), formerly known as Lightning Data Transport, is a technology for interconnection of computer Processor (computing), processors. It is a bidirectional Serial communication, serial/Parallel communication, parallel high-Bandwi ...
and
InfiniBand
InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used ...
. They also tend to be very flexible in terms of their physical connections, allowing them to be used both as internal buses, as well as connecting different machines together. This can lead to complex problems when trying to service different requests, so much of the work on these systems concerns software design, as opposed to the hardware itself. In general, these third-generation buses tend to look more like a
network than the original concept of a bus, with a higher protocol overhead needed than early systems, while also allowing multiple devices to use the bus at once.
Buses such as
Wishbone have been developed by the
open source hardware
Open-source hardware (OSH, OSHW) consists of physical artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by this open-source culture movemen ...
movement in an attempt to further remove legal and patent constraints from computer design.
The
Compute Express Link (CXL) is an
open standard
An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
interconnect
In telecommunications, interconnection is the physical linking of a carrier's network with equipment or facilities not belonging to that network. The term may refer to a connection between a carrier's facilities and the equipment belonging to its ...
for high-speed
CPU-to-device and CPU-to-memory, designed to accelerate next-generation
data center
A data center is a building, a dedicated space within a building, or a group of buildings used to house computer systems and associated components, such as telecommunications and storage systems.
Since IT operations are crucial for busines ...
performance.
Examples of internal computer buses
Parallel
*
Asus Media Bus proprietary, used on some
Asus
ASUSTeK Computer Inc. (, , , ; stylized as ASUSTeK or ASUS) is a Taiwanese Multinational corporation, multinational computer, phone hardware and electronics manufacturer headquartered in Beitou District, Taipei, Taiwan. Its products include deskto ...
Socket 7 motherboards
*
Computer Automated Measurement and Control
Computer-Aided Measurement And Control (CAMAC) is a standard bus and modular-crate electronics standard for data acquisition and control used in particle detectors for nuclear and particle physics and in industry. The bus allows data exchange be ...
(CAMAC) for instrumentation systems
*
Extended ISA or EISA
*
Industry Standard Architecture
Industry Standard Architecture (ISA) is the 16-bit internal bus (computing), bus of IBM PC/AT and similar computers based on the Intel 80286 and its immediate successors during the 1980s. The bus was (largely) backward compatible with the 8-bi ...
or ISA
*
Low Pin Count or LPC
*
MBus
*
MicroChannel or MCA
*
Multibus for industrial systems
*
NuBus or IEEE 1196
*
OPTi local bus used on early
Intel 80486
The Intel 486, officially named i486 and also known as 80486, is a microprocessor introduced in 1989. It is a higher-performance follow-up to the i386, Intel 386. It represents the fourth generation of binary compatible CPUs following the Inte ...
motherboards.
*
Peripheral Component Interconnect
Peripheral Component Interconnect (PCI) is a local computer bus for attaching hardware devices in a computer and is part of the PCI Local Bus standard. The PCI bus supports the functions found on a processor bus but in a standardized format ...
or Conventional PCI
*
Parallel ATA
Parallel ATA (PATA), originally , also known as Integrated Drive Electronics (IDE), is a standard interface designed for IBM PC-compatible computers. It was first developed by Western Digital and Compaq in 1986 for compatible hard drives and C ...
(also known as Advanced Technology Attachment, ATA, PATA, IDE, EIDE, ATAPI, etc.),
Hard disk drive
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
, optical disk drive, tape drive peripheral attachment bus
*
S-100 bus
The S-100 bus or Altair bus, later standardized as IEEE 696-1983 ''(inactive-withdrawn)'', is an early computer bus designed in 1974 as a part of the Altair 8800. The bus was the first industry standard expansion bus for the microcomputer in ...
or IEEE 696, used in the
Altair 8800
The Altair 8800 is a microcomputer introduced in 1974 by Micro Instrumentation and Telemetry Systems (MITS) based on the Intel 8080 CPU. It was the first commercially successful personal computer. Interest in the Altair 8800 grew quickly after i ...
and similar
microcomputer
A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (P ...
s
* SBus or IEEE 1496
* SS-50 Bus
* Runway bus, a proprietary front side CPU bus developed by Hewlett-Packard for use by its PA-RISC microprocessor family
* GSC bus, GSC/HSC, a proprietary peripheral bus developed by Hewlett-Packard for use by its PA-RISC microprocessor family
* HP Precision Bus, Precision Bus, a proprietary bus developed by Hewlett-Packard for use by its HP3000 computer family
*
STEbus
The STEbus (also called the IEEE-1000 bus) is a non-proprietary, processor-independent, bus (computing), computer bus with 8 data lines and 20 address lines. It was popular for industrial control systems in the late 1980s and early 1990 ...
* STD Bus (for STD-80 [8-bit] and STD32 [16-/32-bit])
FAQ
*
Unibus
The Unibus was the earliest of several computer bus (computing), bus and backplane designs used with PDP-11 and early VAX systems manufactured by the Digital Equipment Corporation (DEC) of Maynard, Massachusetts, Maynard, Massachusetts. The Uni ...
, a proprietary bus developed by
Digital Equipment Corporation
Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until ...
for their
PDP-11
The PDP–11 is a series of 16-bit minicomputers originally sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of a ...
and early VAX computers.
* Q-Bus, a proprietary bus developed by
Digital Equipment Corporation
Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until ...
for their Programmed Data Processor, PDP and later VAX computers.
*
VESA Local Bus
The VESA Local Bus (usually abbreviated to VL-Bus or VLB) is a short-lived expansion bus introduced during the i486 generation of x86 IBM-compatible personal computers. Created by VESA (Video Electronics Standards Association), the VESA Local Bu ...
or VLB or VL-bus
*
VMEbus
VMEbus (Versa Module Eurocard bus) is a computer bus standard physically based on Eurocard sizes.
History
In 1979, during development of the Motorola 68000 CPU, one of their engineers, Jack Kister, decided to set about creating a standar ...
, the VERSAmodule Eurocard bus
* PC/104
* PC/104#PC/104-Plus, PC/104-Plus
* PCI-104
* PCI/104-Express
* PC/104#PCI/104, PCI/104
* Zorro II and Zorro III, used in Amiga computer systems
Serial
*
1-Wire
1-Wire is a Wired communication, wired half duplex, half-duplex Serial communication, serial Bus (computing), bus designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data communication and IC power-supply pin, supply volt ...
*
HyperTransport
HyperTransport (HT), formerly known as Lightning Data Transport, is a technology for interconnection of computer Processor (computing), processors. It is a bidirectional Serial communication, serial/Parallel communication, parallel high-Bandwi ...
* I²C
* I3C (bus)
* SLIMbus
*
PCI Express
PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
or PCIe
*
Serial ATA
SATA (Serial AT Attachment) is a computer bus interface that connects host adapter, host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PAT ...
(SATA),
Hard disk drive
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
, solid-state drive, optical disc drive, tape drive peripheral attachment bus
* Serial Peripheral Interface (SPI) bus
*
UNI/O
* SMBus
* Advanced eXtensible Interface
* M-PHY
Examples of external computer buses
Parallel
* HIPPI High Performance Parallel Interface
* IEEE-488 (also known as GPIB, General-Purpose Interface Bus, and HPIB, Hewlett-Packard Instrumentation Bus)
* PC Card, previously known as ''PCMCIA'', much used in laptop computers and other portables, but fading with the introduction of USB and built-in network and modem connections
Serial
Many field buses are serial data buses (not to be confused with the parallel data bus section of a
system bus
A system bus is a single computer bus that connects the major components of a computer system,
combining the functions of a data bus to carry information, an address bus to determine where it should be sent or read from, and a control bus to det ...
or
expansion card
In computing, an expansion card (also called an expansion board, adapter card, peripheral card or accessory card) is a printed circuit board that can be inserted into an electrical connector, or expansion slot (also referred to as a bus sl ...
), several of which use the RS-485 electrical characteristics and then specify their own protocol and connector:
* CAN bus ("Controller Area Network")
* Modbus
*
ARINC 429
ARINC 429, the "Mark 33 Digital Information Transfer System (DITS)," is the ARINC technical standard for the predominant avionics data bus used on most higher-end commercial and transport aircraft. It defines the physical and electrical interface ...
* MIL-STD-1553
* IEEE 1355
Other serial buses include:
* Camera Link
* eSATA
* ExpressCard
* IEEE 1394 interface (FireWire)
*
RS-232
In telecommunications, RS-232 or Recommended Standard 232 is a standard introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such as a compu ...
* Thunderbolt (interface), Thunderbolt
*
USB
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
Examples of internal/external computer buses
* Futurebus
*
InfiniBand
InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used ...
* PCI Express External Cabling
* QuickRing
* Scalable Coherent Interface (SCI)
* Small Computer System Interface (SCSI),
Hard disk drive
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
and tape drive peripheral attachment bus
* Serial Attached SCSI (SAS) and other serial SCSI buses
* Thunderbolt (interface), Thunderbolt
* Yapbus, a proprietary bus developed for the Pixar Image Computer
See also
* Address decoder
* Bus contention
* Bus error
* Bus mastering
* Communication endpoint
* Computer port (hardware)
* Control bus
* Crossbar switch
* Memory address
* Front-side bus (FSB)
* External Bus Interface (EBI)
* Harvard architecture
* Master/slave (technology)
* Network on chip
* List of device bandwidths
* List of network buses
* Software bus
References
External links
Computer hardware buses and slots pinouts with brief descriptions
{{DEFAULTSORT:Bus (Computing)
Computer buses,
Digital electronics
Motherboard
Communication interfaces