Bus (computing)

related topics
{system, computer, user}
{math, number, function}

In computer architecture, a bus is a subsystem that transfers data between computer components inside a computer or between computers.

Early computer buses were literally parallel electrical buses with multiple connections, but the term is now used for any physical arrangement that provides the same logical functionality as a parallel electrical bus. Modern computer buses can use both parallel and bit-serial connections, and can be wired in either a multidrop (electrical parallel) or daisy chain topology, or connected by switched hubs, as in the case of USB.



First generation

Early computer buses were bundles of wire that attached memory and peripherals. They were named after electrical buses, or busbars. Almost always, there was one bus for memory, and another for peripherals,[citation needed] and these were accessed by separate instructions, with completely different timings and protocols.

One of the first complications was the use of interrupts. 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.

Full article ▸

related documents
Network switch
Commodore 128
Audio crossover
Software-defined radio
Super Audio CD
Acorn Electron
Application-specific integrated circuit
Handheld game console
Apple Newton
MOS Technology 6502
Remote control
Automatic link establishment
Atari 2600
ARM architecture
Distress radiobeacon
Wireless LAN
Aster CT-80
Sinclair ZX81
Portable Network Graphics
Sinclair ZX Spectrum