Has it ever crossed your mind to investigate what is going on in your computer? How various components of your computer, e.g., the Memory, Central Processing Unit, Hard Disk, e.t.c. Communicate with each other to do different kinds of the task? What is happening inside your USB cord (Universal Serial Bus) when connected to a computer to transfer files from or to your phone or other devices, e.g., pen drives, external hard drive e.t.c.? This short study aims to stir your interest and enlighten you on how computers and other devices communicate with each other and the data traffic between them.
1.1 What is Data Bus?
From the word Data Bus word, web dictionary defined a bus as a vehicle carrying many passengers from one place to another, but data is involved in this case. A bus is a connection that requires data transfer or a communication track between two or more devices. A distinctive illustration is the communication bus between the processing unit and memory unit of a computer system.
The structuring of a bus involves multiple lines of communication or tracts, and in a physical representation, it will be built from various wires (i.e., signal lines).
The information being relayed by the bus is associated with where the data is initiated or where it will be sent. Each of the lines of bus channels/conveys one bit of information. Therefore, the more lines embodied by the bus, the more data it can get/address.
That is referred to as the size or width of a bus, and it dramatically decides to what extent/quantity of data can be transmitted at once. An 8bit bus will share 8 bits of data.
Depending on the type of bus, the information can be transmitted either by serial mode (i.e., a sequence of bits transferred using a line) or a similar way, which means the simultaneous transfer of data/information bits several lines.
Image 1: Data Bus Technology
32-bit was the first standard for the data bus, but the latest data bus systems can transmit much more great amounts of data. A data bus can carry data to and from the computer or central processing unit (CPU), which is the computer brain. A data bus can also transfer information amongst two computers.
The frequent use of the term "Data Bus" in the Information Technology (IT) world is averagely similar to the use of another time, "Electric Busbar," in the world of electronics. The Electronic Busbar is a channel for transmitting the current in the somewhat same way data bus provides the way to transfer data. Computing systems today have become more sophisticated because data is often in transit, running through the parts, components of the CPU board, and peripheral/physical structures.
Data buses are essential tools for facilitating data transfer that allows a substantial need for data transmission in consumer and other systems. With the new network structures and designs, the data is also circulating between different hardware and a broader cabled or virtual system connected.
2、External Data Bus
You have by now learned that information is transferred throughout a computer and its components by binary code (i.e., 0's and 1's) traveling through a bus (Data Bus). The external data bus (also referred to as the external bus or Data Bus) is the data on a computer. All data-addressing components or any other optional data devices are connected to it; hence, any information/data sent on that bus is available to all connected devices to the computer.
As earlier discussed, computers use eight conductors (an 8-bit data bus), which permits only the transmission of 1-byte information at once. Computers then evolved, the size/width of the external data bus increased from 1 to 16, 32, and finally to the present data size/width of 64 conductors. The bigger and broader bus gives more room for data flow at a time, just as the addition of more drive lanes to a highway allows more movement of cars through a point in a given amount of time
The primary/CPU/motherboard is the main circuitry board of a computer, which contains the external data bus connected to expansion devices that are not part of the motherboard's primary design. The expansion slots an inclined surface connecting two external devices to a computer's motherboard through the external bus.
Expansion cards also referred to as the daughter cards, are the mini circuitry cards fitted into the expansion bus slots on the motherboard. Other forms are the slots that hold and accommodate computer memory.
Various connectors found on the motherboard give access to the data bus for peripheral devices, e.g., printers, scanners, modem e.t.c, and some external devices like keyboards, mice.
Image 2: Data Bus Device
To fully comprehend how a computer transmits data between its components, picture each device on the data bus connected to the bus as a collection of on/off switches. By looking at which of the conductors have power and the ones that do not, the device can read the data as it receives the data sent by another device. The on-off mode of a line is represented by the value 0, which is "on" and one which is "off." The wires simplify a code of binary numbers that the computer interprets and then send it to another system component or the user through an output device, e.g., monitor, printer, speaker, fax machine e.t.c. Communication occurs when the voltage is sufficiently applied to, or read from, any of the conductors by the system.
Encrypted messages can be transmitted to or out of any connected devices attached to the external data bus. Think of the data bus as a giant highway with parallel lanes. On that analogy, bits are the cars traveling side-each other carrying part of a coded message. Microprocessors compiled the coded messages into data that perform tasks that are meaningful to the computer's user.
Image 3: Computer Buses
The data, as defined earlier, carries data within the computer system, while the address bus determines where the data should be transmitted to. So, in this, we light I define address bus as a computer bus structure used to transfer data between devices that are described by the hardware address of the physical memory, which is put in the form of binary numbers (i.e., 0's and 1's) to enable the data bus to access memory storage.
The central processing unit utilizes the address bus, or another type of memory access referred to as the direct memory access, which enables some devices to locate the address to relay the read/write commands. The central processing unit does the writing and the reading of all the address busses in the form of bits.
The address bus was built into the computer motherboard to make the computer compatible, less costly and to allow many more devices to connect to the computer.
Image 4: ISA Bus
The address bus is assessed by the quantity of memory a system is capable of regaining. A system with a 32-bit address bus can address 4096 mebibytes (equivalent to 4 gibibytes) of memory space. Computers with a 64-bit address bus with a condition of having an operating system that can support the address bus will address 16,384 pebibytes (the equivalent of 16 exbibytes) of memory locations is considered extremely large.
According to another release, the address Bus is considered a collection of lines or wires used to transmit the addresses of memory or on and off (I//O) devices. It is the primary characteristic of a nondirectional attribute. An example of this includes Intel 88085 microprocessor, which has 16 bits Address bus.
The implication of this is that this microprocessor (Intel 88085) can transmit up to 16 bits of address (i.e., it can address 665,5536 different memory locations). This bus combines several signals into a single sign of 8 bits data bus. Therefore, the most significant bits of address pass through an Address bus ((A7-A0). Moreover, LSB goes through the multiplexed data bus (AD0-AD7)).
Remember, we talked about three main types of computer buses: data bus, address bus, and now a control bus. After the data bus and the location sends, the data is known by the address bus; then, a control bus is needed to execute the data properly.
The control bus is then a particular kind of computer bus that the central processor uses to communicate other components and devices connected to the computer system. This kind of communication is made possible through cable connections and circuitry/printed boards.
The control bus is most important in the sense that the control of all connected devices. And also, computer system components, with the help of varieties of a control signal transmitted by the central processing unit, are made possible by this control bus. Not forgetting, one of the primary objectives of a bus is to minimize the lines that are needed for communication in a computer system.
On the contrary to an individual bus that allows the communication between devices using one data line (i.e., unidirectional), the control bus is very much bidirectional because it permits two-way data bus communication between computer components. And its devices and also helps the central processing unit coordinate and unify the control signals in internal tools and external features. The control bus is made up of interrupt lines, byte enables lines, read/write signals, and status lines.
Hint: Some controls are common to all Central Processing Units
Interrupt Request (IRQ) Lines: It is a specified type of hardware line used by devices to interrupt the current stream of data to be enrooted to the central processing unit. It allows the computer to do so many tasks simultaneously by interrupting an ongoing process to get a job quickly due to its high priority. Most system buses comprise 50 to 100 discrete lines for communication.
Communication between the central computer processing unit and the control bus is of great importance so that the computer system can function properly and proficiently.
The central processing unit cannot know if the system is sending or receiving data without the control bus. Where the write and read information have to go is managed and regulated by the control bus. There is a dedicated control path/line within the control bus for instructions about the write command and a distinct path/line for the read command control. A signal is transmitted to the write command line immediately. The central processing unit writes a data or command addressed to the central computer memory, and a signal is also sent by the central processing unit when it needs to read from the system memory. This signal permits the CPU to receive or transmit data from the Main Memory.
With the help of the control bus, microprocessor process data is what to do with the selected memory location. Some control signals include Read, Write, and Opcode fetch. Commands. Highlight here that a microprocessor performs various kinds of operations with the help of this same control bus. The control bus is dedicated to all timing signals and is managed according to the control signal from the control bus.
5、Data Bus Schedule
The present disclosure generally relates to electronic communications. More specifically, the present disclosure relates to systems and methods of DBI encoding based on the speed of operation.
Data Bus Inversion (DBI) is applied when aiming to raise power integrity and signal and simultaneously reduce power consumption. We can not overemphasize data bus inversion when we have to transfer a large quantity of data with the maximum speed ever possible.
Image 5: Data Bus Schedule
The simple bus systems had a critical setback when used for general-purpose computers. The entire devices placed directly on the bus had to operate at the same speed dictated by the bus as they all shared a single clock system. It became a challenging task when increasing the speed of the central processing unit is the aim. Because to achieve this, the rate of all the devices on the bus just as well be increased.
It then became almost not practical or economical to have all the computer components/devices have the same speed as the CPU. So, the CPU has to wait or work at a very ridiculous slower clock frequency to communicate with other devices in the computer system. While acceptable in embedded systems, this problem was not for long tolerated in general-purpose and user-expandable computers. Such bus systems are also challenging to set up when constructed from standard off-the-shelf tools/equipment.
Image 6: Local Bus Controller
A microprocessor conventionally is a single chip that has many electrical connections on its pins.
It can be used to select an "address" in the main memory and another set of pins to read. Write the data stored at that location. In most cases, the CPU and Memory share signaling characteristics and operate in synchrony.
The bus connecting the CPU and Memory is one of the system's defining characteristics and is often referred to only as of the system bus. It is possible to allow peripherals to communicate with memory in the same fashion, attaching adaptors in the form of expansion cards directly to the system bus. It is commonly accomplished through some standardized electrical connector, forming the expansion bus or local bus.
However, the performance differences between the CPU and peripherals vary widely. Some solutions are generally needed to ensure that peripherals do not slow overall system performance and direct memory access. Most modern systems combine both solutions, where appropriate. As the number of potential peripherals grew, using an expansion card for every peripheral became increasingly untenable.
It has led to the introduction of bus systems explicitly designed to support multiple peripherals. However, these high-performance systems are generally too expensive to implement in low-end devices, like a mouse. It has led to the parallel development of some low-performance bus systems for these solutions. The most common example being the standardized Universal Serial Bus (USB).