Saturday, February 4, 2012

Bus (computing)

In computer architecture, a bus is a subsystem that transfers abstracts amid apparatus central a computer, or amid computers.

Early computer buses were actually alongside electrical affairs with assorted connections, but the appellation is now acclimated for any concrete adjustment that provides the aforementioned analytic functionality as a alongside electrical bus. Modern computer buses can use both alongside and bit consecutive connections, and can be active in either a multidrop (electrical parallel) or daisy alternation topology, or affiliated by switched hubs, as in the case of USB.

History

First generation

Early computer buses were bundles of wire that absorbed computer anamnesis and peripherals. Anecdotally termed the "digit trunk",1 they were called afterwards electrical ability buses, or busbars. Almost always, there was one bus for memory, and addition for peripherals,citation needed and these were accessed by abstracted instructions, with absolutely altered timings and protocols.

One of the aboriginal complications was the use of interrupts. Aboriginal computer programs performed I/O by cat-and-mouse in a bend for the borderline to become ready. This was a decay of time for programs that had added tasks to do. Also, if the affairs attempted to accomplish those added tasks, it ability yield too connected for the affairs to analysis again, consistent in accident of data. Engineers appropriately abiding for the peripherals to arrest the CPU. The interrupts had to be prioritized, because the CPU can alone assassinate cipher for one borderline at a time, and some accessories are added time-critical than others.

Single arrangement bus

To accommodate modularity, anamnesis and I/O buses can be accumulated into a unified arrangement bus.2 Digital Accessories Corporation (DEC) added bargain amount for banal minicomputers, and mapped peripherals into the anamnesis bus, so that the ascribe and achievement accessories appeared to be anamnesis locations. This was implemented in the Unibus of the PDP-11 about 1969.3

Later computer programs began to allotment anamnesis accustomed to several CPUs. Admission to this anamnesis bus had to be prioritized, as well. The classic, simple way to accent interrupts or bus admission was with a daisy chain.

Early microcomputer bus systems were about a acquiescent backplane affiliated anon or through absorber amplifiers to the pins of the CPU. Anamnesis and added accessories would be added to the bus application the aforementioned abode and abstracts pins as the CPU itself used, affiliated in parallel. Communication was controlled by the CPU, which had apprehend and accounting abstracts from the accessories as if they are blocks of memory, application the aforementioned instructions, all timed by a axial alarm authoritative the acceleration of the CPU. Still, accessories disconnected the CPU by signaling on abstracted CPU pins. For instance, a deejay drive ambassador would arresting the CPU that new abstracts was accessible to be read, at which point the CPU would move the abstracts by account the "memory location" that corresponded to the deejay drive. Almost all aboriginal microcomputers were congenital in this fashion, starting with the S-100 bus in the Altair 8800 computer system.

In some instances, a lot of conspicuously in the IBM PC, although agnate concrete architectonics can be employed, instructions to admission peripherals (in and out) and anamnesis (mov and others) accept not been fabricated compatible at all, and still accomplish audible CPU signals, that could be acclimated to apparatus a abstracted I/O bus.

These simple bus systems had a austere check if acclimated for general-purpose computers. All the accessories on the bus has to allocution at the aforementioned speed, as it aggregate a individual clock.

Increasing the acceleration of the CPU becomes harder, because the acceleration of all the accessories accept to access as well. If it is not applied or economical to accept all accessories as fast as the CPU, the CPU accept to either access a delay state, or plan at a slower alarm abundance temporarily,4 to allocution to added accessories in the computer. While adequate in anchored systems, this botheration was not acceptable for connected in general-purpose, user-expandable computers.

Such bus systems are aswell difficult to configure if complete from accustomed off-the-shelf equipment. About anniversary added amplification agenda requires abounding jumpers in adjustment to set anamnesis addresses, I/O addresses, arrest priorities, and arrest numbers.

edit Additional generation

"Second generation" bus systems like NuBus addressed some of these problems. They about afar the computer into two "worlds", the CPU and anamnesis on one side, and the assorted accessories on the other. A bus ambassador accustomed abstracts from the CPU ancillary to be confused to the peripherals side, appropriately alive the communications agreement accountability from the CPU itself. This accustomed the CPU and anamnesis ancillary to advance alone from the accessory bus, or just "bus". Accessories on the bus could allocution to anniversary added with no CPU intervention. This led to abundant bigger "real world" performance, but aswell appropriate the cards to be abundant added complex. These buses aswell generally addressed acceleration issues by getting "bigger" in agreement of the admeasurement of the abstracts path, affective from 8-bit alongside buses in the aboriginal generation, to 16 or 32-bit in the second, as able-bodied as abacus software bureaucracy (now standardised as Plug-n-play) to supplant or alter the jumpers.

However these newer systems aggregate one superior with their beforehand cousins, in that anybody on the bus had to allocution at the aforementioned speed. While the CPU was now abandoned and could access acceleration after fear, CPUs and anamnesis connected to access in acceleration abundant faster than the buses they talked to. The aftereffect was that the bus speeds were now actual abundant slower than what a avant-garde arrangement needed, and the machines were larboard fatigued for data. A decidedly accustomed archetype of this botheration was that video cards bound outran even the newer bus systems like PCI, and computers began to cover AGP just to drive the video card. By 2004 AGP was outgrown afresh by high-end video cards and added peripherals and has been replaced by the new PCI Express bus.

An accretion amount of alien accessories started employing their own bus systems as well. If deejay drives were aboriginal introduced, they would be added to the apparatus with a agenda acquainted into the bus, which is why computers accept so abounding slots on the bus. But through the 1980s and 1990s, new systems like SCSI and IDE were alien to serve this need, abrogation a lot of slots in avant-garde systems empty. Today there are acceptable to be about 5 altered buses in the archetypal machine, acknowledging assorted devices.

edit Third generation

"Third generation" buses accept been arising into the bazaar back about 2001, including HyperTransport and InfiniBand. They aswell tend to be actual adjustable in agreement of their concrete connections, acceptance them to be acclimated both as centralized buses, as able-bodied as abutting altered machines together. This can advance to circuitous problems if aggravating to account altered requests, so abundant of the plan on these systems apropos software design, as against to the accouterments itself. In general, these third bearing buses tend to attending added like a arrangement than the aboriginal abstraction of a bus, with a college agreement aerial bare than aboriginal systems, while aswell acceptance assorted accessories to use the bus at once.

Buses such as Wishbone accept been developed by the accessible antecedent accouterments movement in an attack to added abolish acknowledged and apparent constraints from computer design.

Description of a bus

At one time, "bus" meant an electrically alongside system, with electrical conductors agnate or identical to the pins on the CPU. This is no best the case, and avant-garde systems are abashing the curve amid buses and networks.

Buses can be alongside buses, which backpack abstracts words in alongside on assorted wires, or consecutive buses, which backpack abstracts in bit-serial form. The accession of added ability and ascendancy connections, cogwheel drivers, and abstracts access in anniversary administration usually agency that a lot of consecutive buses accept added conductors than the minimum of one acclimated in the 1-Wire and UNI/O consecutive buses. As abstracts ante increase, the problems of timing skew, ability consumption, electromagnetic arrest and crosstalk beyond alongside buses become added and added difficult to circumvent. One fractional band-aid to this botheration has been to bifold pump the bus. Often, a consecutive bus can in fact be operated at college all-embracing abstracts ante than a alongside bus, admitting accepting beneath electrical connections, because a consecutive bus inherently has no timing skew or crosstalk. USB, FireWire, and Consecutive ATA are examples of this. Multidrop access do not plan able-bodied for fast consecutive buses, so a lot of avant-garde consecutive buses use daisy-chain or hub designs.

Most computers accept both centralized and alien buses. An centralized bus connects all the centralized apparatus of a computer to the motherboard (and thus, the CPU and centralized memory). These types of buses are aswell referred to as a bounded bus, because they are advised to affix to bounded devices, not to those in added machines or alien to the computer. An alien bus connects alien peripherals to the motherboard.

Network access such as Ethernet are not about admired as buses, although the aberration is abundantly conceptual rather than practical. The accession of technologies such as InfiniBand and HyperTransport is added abashing the boundaries amid networks and buses. Even the curve amid centralized and alien are sometimes fuzzy, I²C can be acclimated as both an centralized bus, or an alien bus (where it is accepted as ACCESS.bus), and InfiniBand is advised to alter both centralized buses like PCI as able-bodied as alien ones like Fibre Channel. In the archetypal desktop application, USB serves as a borderline bus, but it aswell sees some use as a networking account and for connectivity amid altered computers, afresh abashing the conceptual distinction.

An aspect about acclimated to characterize a bus is that ability is provided by the bus for the affiliated hardware. This abstraction emphasizes the busbar origins of bus architectonics as bartering switched or broadcast power. Conventionally, this application was acclimated to exclude, as buses, accouterments affiliation schemes such as the consecutive RS-232 and alongside Centronics and IEEE 1284 interfaces (and Ethernet above) area the archetypal devices, such as modems and printers, bare to be acquainted into ability outlets. However, Universal Consecutive Bus accessories may or may not use the bus supplied power, generally application the devices' centralized batteries instead. This acumen is exemplified by a blast arrangement with a affiliated modem, area the RJ11 affiliation and associated articulate signaling arrangement is not advised a bus, and is akin to an Ethernet connection. It should be acclaimed that a buzz band affiliation arrangement is not advised to be a bus even admitting the buzz is powered by the POTS arrangement but yet, in the Central Office, buses are acclimated with cross-bar switches for access amid phones.

Bus topology

In a network, the adept scheduler controls the abstracts traffic. If abstracts is to be transferred, the requesting computer sends a bulletin to the scheduler, which puts the appeal into a queue. The bulletin contains an identification cipher which is advertisement to all nodes of the network. The scheduler works out priorities and notifies the receiver as anon as the bus is available.

The articular bulge takes the bulletin and performs the abstracts alteration amid the two computers. Having completed the abstracts alteration the bus becomes chargeless for the next appeal in the scheduler's queue.

Advantage: Any computer can be accessed anon and letters can be beatific in a almost simple and fast way.

Disadvantage: A scheduler is appropriate to adapt the cartage by allotment frequencies and priorities to anniversary signal.

See also: Bus network

Examples of internal computer buses

Parallel

ASUS Media Bus proprietary, acclimated on some ASUS Socket 7 motherboards

Computer Automated Measurement and Control (CAMAC) for chart systems

Extended ISA or EISA

Industry Standard Architecture or ISA

Low Pin Count or LPC

MBus

MicroChannel or MCA

Multibus for automated systems

NuBus or IEEE 1196

OPTi bounded bus acclimated on aboriginal Intel 80486 motherboards.

Conventional PCI

Parallel ATA (aka Advanced Technology Attachment, ATA, PATA, IDE, EIDE, ATAPI, etc.) disk/tape borderline adapter bus

S-100 bus or IEEE 696, acclimated in the Altair and agnate microcomputers

SBus or IEEE 1496

SS-50 Bus

Runway_bus, a proprietary foreground ancillary CPU bus developed by Hewlett-Packard for use by its PA-RISC chip family

GSC/HSC, a proprietary borderline bus developed by Hewlett-Packard for use by its PA-RISC chip family

Precision Bus, a proprietary bus developed by Hewlett-Packard for use by its HP3000 computer family

STEbus

STD Bus (for STD-80 8-bit and STD32 16-/32-bit), FAQ

Unibus, a proprietary bus developed by Digital Equipment Corporation for their PDP-11 and aboriginal VAX computers.

Q-Bus, a proprietary bus developed by Digital Equipment Corporation for their PDP and after VAX computers.

VESA Bounded Bus or VLB or VL-bus

VMEbus, the VERSAmodule Eurocard bus

PC/104

PC/104 Plus

PC/104 Express

PCI-104

PCIe-104

Zorro II and Zorro III, acclimated in Amiga computer systems

edit Serial

1-Wire

HyperTransport

I²C

PCI Express or PCIe

Serial ATA (SATA)

Serial Borderline Interface Bus or SPI bus

UNI/O

SMBus

edit Self-repairable

Spare Net for Adaptable Interface Bus from US apparent appliance 200800828785

Self-repairable adaptable interface buses accept afresh been invented by IBM. IBM has filed a apparent appliance on these buses which is ability associate analysis on Peer-to-Patent. The accessible annotation aeon bankrupt on July 24, 2008.5 The IBM apparatus provides a additional net which the arrangement switches to in the accident that an alternating net doesn't function.

Examples of external computer buses

Parallel

HIPPI HIgh Performance Parallel Interface

IEEE-488 (aka GPIB, General-Purpose Interface Bus, and HPIB, Hewlett-Packard Instrumentation Bus)

PC Card, ahead accepted as PCMCIA, abundant acclimated in laptop computers and added portables, but crumbling with the addition of USB and congenital arrangement and modem connections

edit Serial

USB Universal Serial Bus, acclimated for a array of alien devices

Controller breadth arrangement ("CAN bus")

EIA-485

eSATA

IEEE 1394 interface (FireWire)


Examples of internal/external computer buses

Futurebus

InfiniBand

QuickRing

Scalable Coherent Interface (SCI)

SCSI Small Computer System Interface, disk/tape borderline adapter bus

Consecutive Attached SCSI (SAS) and added consecutive SCSI buses

Yapbus, a proprietary bus developed for the Pixar Image Computer