A data bus can transmit data to and from a computer's memory, as well as into and out of the central processing unit (CPU), which serves as the device's "engine." A data bus can also be used to send data between two computers. Each component connected to the data bus can read or write to the memory located on another device on the bus.
Data buses are used in many different devices including home appliances, communication equipment, and personal computers. Data buses allow multiple components within these devices to exchange information with each other and/or with the main memory.
Data buses can be either unidirectional or bidirectional. Unidirectional buses transmit data only from one component to another - they do not loop back to re-enter the transmitting component. Bidirectional buses transmit data in both directions; they connect two separate components so that information can pass from one part of the system to another.
Bidirectional buses come in two forms: synchronous and asynchronous. Asynchronous buses operate independently of each component attached to them; each device receives all packets sent on the bus at the same time. Synchronous buses require that all components use a common clock signal to determine when packets are being transmitted and received. The sending component sends out a pulse on the bus while holding this flag active for a certain period.
A data bus is a mechanism within a computer or device that consists of a connection or group of wires that transports data. Data buses of various types have grown alongside personal computers and other pieces of hardware. Older computers used parallel ports, which could be thought of as data buses for peripherals such as printers, but these were eventually replaced by serial ports based on the RS-232 standard. Modern computers often use PCI (Peripheral Component Interconnect) buses as their main form of internal communication, although AGP, USB, and 1394 are also commonly used.
Unidirectional buses transmit information only from one location to another; they do not loop back to return information. Bidirectional buses will transmit information in both directions; they will therefore loop back to retrieve any missed packets. The most common example of a bidirectional data bus is a parallel port.
Data buses can be classified by type, such as memory buses or peripheral buses. Memory buses connect primary memory (RAM) modules together, allowing information to be transferred between them. Peripheral buses connect peripherals to the motherboard, including external disk drives, cameras, and sound cards. Buses may also be classified by speed.
The data bus, a bidirectional route, transports real data between the CPU, memory, and peripherals. The system bus design varies from system to system and might be tailored to a specific computer design or based on an industry standard. The system bus connects the central processing unit (CPU) to other parts of the computer such as memory and input/output devices.
The data bus transports data back and forth between the microprocessor (the CPU) and memory (RAM). The address bus transports information about the placement of data in memory. The control bus transmits control signals that guarantee everything runs smoothly from one site to another.
Data buses include external data buses such as peripheral device busses, internal data buses such as cache memories, and command buses for communicating with other parts of your computer system or devices. Memory addresses and commands are placed on the address/command bus before they are sent to their respective destinations. Data is transported between components over data buses.
All data buses are connected to memory through a structure called an "address bus." The memory address bus is used to identify which part of memory needs to receive data or instructions. The memory address bus consists of several lines that transmit either a numerical value or a signal pattern depending on the protocol being used. These lines connect to individual memory cells where data bits can be stored.
The memory address bus is also connected to input/output (I/O) ports, peripherals, and other special circuits by means of additional lines called "bus drivers." I/O ports are the connections through which users communicate with your computer. Peripherals are auxiliary devices such as printers, scanners, cameras, and hard drives. They often require separate connections because they use different communication protocols than main memory.
The external data bus serves as a route for data and orders to pass between the CPU and RAM. To access registers, the CPU makes use of the external data bus. The RAM responds by providing data words on its address/data pins.
How does accessing data from memory work? When the CPU wants to read or write a specific byte from memory, it gives the address where this byte is located. The RAM then responds by sending this byte to the CPU via the external data bus.
Why do we need an external data bus? An internal data bus would be very difficult to implement because all the data has to travel through one path from RAM to the CPU. This would cause traffic problems and slow down the system. So instead, each bit of data is sent across the bus to each memory location individually. This way there are no traffic problems and the system works well.
Does every computer have an external data bus? No, only high-end computers need them. Modern computers use a parallel interface, which means that several bits of information are transmitted at once over a single line. This reduces the number of connections needed and so lowers the cost of manufacturing devices using these types of interfaces.