9
\$\begingroup\$

I have been studying buses used in communication systems. From what I read at Wikipedia,

"In computer architecture, a bus (from the Latin omnibus, meaning "for all") is a communication system that transfers data between components inside a computer, or between computers. This expression covers all related hardware components (wire, optical fiber, etc.) and software, including communication protocol."

Does that mean both a wire and a bus is the same thing? What feature makes the bus totally different from a normal wire in the first place?

\$\endgroup\$
  • 4
    \$\begingroup\$ A house is a building, but a building isn't always a house. \$\endgroup\$ – Scott Seidman Jan 11 '14 at 23:11
7
\$\begingroup\$

A wire can be a bus if it is a serial link carrying many individual pieces of information. More usually, a bus is regarded as a collection of wires that transport digital information from A to B. 64 bit processors (PCs etc.) have a 64 bit-wide bus between the CPU and their memory chips and possibly to other devices.

It doesn't have to be inside a computer of course - anything that is transmitting information from A to B will use some form of wire or collection of wires for achieving those aims.

What differentiates a wire as not being a bus is that it only carries one coherent "entity" such as power or a microphone signal or is connected to an on/off switch or a guitar or a speaker. A bus is usually digital.

\$\endgroup\$
  • \$\begingroup\$ May I ask where you get the idea that 64 bit processors (PCs etc.) have a 64 bit-wide bus between the CPU and their memory chips? All Intel processors that fit the LGA-2011 Socket have 256 data pins, connecting to 256 data lines on the motherboard that lead to the DRAM. The LGA-2011 Socket datasheet, section 6.1. \$\endgroup\$ – davidcary Jan 12 '14 at 1:52
  • \$\begingroup\$ @davidcary Andy was probably thinking of the address, but of course that isn't actually 64-bit either. But actually looking at that data sheet, the data bus to each DIMM is indeed 64 bits. \$\endgroup\$ – derobert Jan 12 '14 at 5:44
5
\$\begingroup\$

I usually consider a bus a union of many wires. Imagine an address data bus with A15..A0 .. 16 wires, 1 bus. This is valid for very low level hardware.

Once you think about protocols, a bus is usually more a description of a topology type.

\$\endgroup\$
  • 4
    \$\begingroup\$ I see a wire as a single signal, a buss is a collection of signals/wires. But there are single wire buses that use timing to convey more then one bit of info... \$\endgroup\$ – dfowler7437 Jan 11 '14 at 20:39
3
\$\begingroup\$

One differentiating feature of a bus is that more than one device on a bus can send information. A device on a bus not only receives information; it can also reply. If it replies over some different wire(s) than the one(s) where it receives, then both (sets of) wires make up the bus.

If the information comes from a single source, and all the other devices are simply passive listeners with no way to reply, that's not a bus.

\$\endgroup\$
1
\$\begingroup\$

A bus is a group of signals that is shared between multiple nodes. The key word here is "shared". For example, when computers are connected using an Ethernet Hub, Ethernet is used in bus mode. But when computers are connected using a Ethernet Switch, Ethernet is not operating as a bus.

An implication of this is that, when one node transmits data on the bus, usually all the nodes will be able receive the data, but only the node for which the data is addressed to, will actually consume the data. A bus will also have a sane mechanism in-place to handle multiple nodes driving the bus simultaneously.

To add more examples, I2C, SPI, 1-Wire are all buses, but USB is not a bus.

\$\endgroup\$
  • \$\begingroup\$ That could be a logical way to define a bus. Unfortunately, this is not how most people thinks. The best example is your mention of USB (which, you know it, stands for Universal Serial Bus). That would also exclude SATA, modern DDR4, and PCIe that are now point-to-point due to speed. How would you call those? Everybody still call them busses. Actually, I think "bus" is a relatively lax term that can't be limited to what you define. And, to make an analogy, a bus in real life is something that transports multiple persons (bits?), but it can very well have two stops only (nodes?) \$\endgroup\$ – dim Feb 7 '18 at 12:13
  • \$\begingroup\$ @dim, sure those interfaces that you mention are no longer buses. The USB is a great way to connect peripherals, but the name Universal Serial Bus, is a misnomer. And IIRC, the word bus is derived from the electrical term busbar. \$\endgroup\$ – Vijay Kumar Feb 7 '18 at 13:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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