10
\$\begingroup\$

Is bus a bunch of wires connected between functional blocks? or does it have any other functional importance?

if possible, someone please provide some material to get some clear understanding.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ just a bunch of wires or metal strips between other things, nothing more than that. \$\endgroup\$
    – old_timer
    Commented Aug 5, 2016 at 1:06

3 Answers 3

33
\$\begingroup\$

Bus is an abbreviation of omnibus.

enter image description here

Figure 1. The omnibus - an early example of the problem of attempting to exceed rated bus bandwidth. Photo: Gail-Thornton.

omnibus, noun, from Latin omnibus "for all," dative plural of omnis "all".

Oddly enough, in the English abbreviation of "for all" we dropped the "omnis" part and kept the "bus" part which means "for". If someone more literally minded had made the abbreviation we might be discussing the "computer data and address omnis".

Parallel bus

Just as the omnibus was a public mode of transport "for all", the concept of the electronic bus is that of a common mode of transport for a group of signals. This can be seen very clearly in earlier memory chip designs in the layout of address bus and data bus and both ran from CPU to multiple chips.

enter image description here

Figure 2. Computer architecture showing address, data and control busses. Source: Wikispaces.

In computer parlance a bus is usually a group of signal lines connecting multiple devices. In the layout shown in Figure 2, for example, to write to a certain RAM location the address bus lines would be set to point to the memory location, the data set up on the data bus and the write command on the control bus when the previous two were ready. Each block, RAM, ROM, I/O and OTHER are given unique addresses.

enter image description here

Figure 3. The ZX81 (1981) schematic clearly shows the parallel buses. Even in this relatively simple computer the parallel buses creates a requirement for a high number of pins and traces, both adding to PCB real-estate. (Click image for full-size view.)

Serial bus

The problem with the "parallel" computer buses (multiple lines in parallel) is that the bus width grows with the number of bits. This results in more and more pins on the chips and traces running around the PCB. To solve this problem various serial bus systems have been developed. The address and data can be sent to the smart peripherals (which now have to have the serial communications devices built-in to the chips) on just two or three wires. These are often referred to as "serial bus" as, once again, the omnibus principle applies.

Busbar

enter image description here

Figure 3. A 3-phase busbar system with connecting cables. Upper bus is L1, next is L2 and L3 is on the bottom. Source: aica.co.uk.

The term is expanded slightly in "busbar" used in electrical distribution panels as a common supply rail for connection of cables or circuit-breakers to a phase or neutral power line.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Another problem with parallel buses is that they require either that all lines have equal signal propagation times that are matched to within a fraction of a clock cycle, or else that devices include delay logic to handle signals that arrive at different times; neither alternative is much fun. Self-clocking serial buses have the inherent advantage that variations in signal propagation time are less apt to be a problem, at least if all signals on the bus are confined to a narrow range of frequencies. \$\endgroup\$
    – supercat
    Commented Aug 4, 2016 at 15:02
  • 1
    \$\begingroup\$ +1 in particular for "attempting to exceed rated bus bandwidth" as a caption to a wheeled bus image. \$\endgroup\$ Commented Aug 4, 2016 at 22:05
12
\$\begingroup\$

A bus can mean one of several things:

  • A schematic element, which just signifies that several nets go along together. These two schematics should be interpreted identically: Example for bus

  • As you said, a bunch of wires connected between physical blocks - a bus can be any connection of multiple lines between modules, through which they communicate

  • A physical protocol - when someone refers to the I²C bus, USB (Universal Serial Bus), etc., it is usually understood as a set of rules (e.g. a protocol) for communication between modules. What's important is that those rules specify the physical layer: for example, the I²C bus specifies that it consists of two lines, pulled up by resistors, and acted upon by open collector devices, and specifies how to encode "0" and "1" bits, then bytes, and then higher level functions like addressing modules.

Usually, when we talk about a bus as a protocol, this includes the fact that it will be implemented as several wires that go together between modules, in addition to the protocol specification.

\$\endgroup\$
1
  • \$\begingroup\$ Great answer, thank you. The schematics example really cleared things up. \$\endgroup\$ Commented May 19, 2021 at 9:52
2
\$\begingroup\$

A bus is just a conductor between circuit elements. It could be wires or traces on a PCB.

Calling these wires or traces a "bus" just implies that they are used for communication between circuit elements.

EDIT: As slebetman pointed out, this could also refer to power distribution but the more common term for that is "busbar". In the digital logic domain a bus is meant to refer to communication.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Actually, it implies that the connection is shared by various different circuits (or different parts of a circuit). Communication is just one use of a bus. The term originated before computing or signaling from power busses (usually called bas bars - because they're literally big bars of copper). \$\endgroup\$
    – slebetman
    Commented Aug 4, 2016 at 7:43
  • \$\begingroup\$ @slebetman True, but the OP was referring to digital logic design. \$\endgroup\$
    – bitshift
    Commented Aug 4, 2016 at 8:10
  • 1
    \$\begingroup\$ Same thing. It implies that the connection is shared. Consider that wires and traces that are not buses are also used for communication between circuit elements. "Wires" implies signaling (communication), busses implies shared connection. \$\endgroup\$
    – slebetman
    Commented Aug 4, 2016 at 8:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.