There are many types of buses in a computer that connect different internal and external components and allow them to communicate.
Internal and external data bus work for the transportation of data.
In this article, you will know about the different types of buses in the computer architecture.
Some of the main points discussed in this article are:
- Bus definition computer and its history
- Types of Buses in a computer architecture
- Internal and external bus definition
- Parallel and serial bus
- Data bus definition and its types
- What is CPU external data bus
- It uses, size, speed, and examples
- What is an Address Bus?
- The functions of an address bus
Bus Definition Computer:
If you remove the CPU case, you will witness a mesh of wire or electronic pathway that are connected between the computer companies and the motherboards.
- It is a pathway through the information flows between different computer components.
- It is used for communication.
- Computer buses now use both types of connections, i.e., parallel and bit-serial relationship.
What is the Meaning of Bus in a Computer Architecture?
In computer architecture, the bus is referred to as the communication system whose responsibility is to transfer data between different computer components.
The bus consists of wires that have the addressing information which describes the memory location of the data, i.e., where the data is sent in and from where it needs to be retrieved.
Each of these wires carries a single bit of information.
Thus the knowledge that the bus can address is dependent on the number of the wires.
The throughput of a bus is defined in bits per second or the megabits per second.
A lot of people have improved computer bus standards. Many groups of people worked on it.
The very early computer buses consisted of wire that was attached to the computer memory and the computer peripherals.
- There were separate buses for the memory and the peripherals.
- They were accessed by different protocols too.
- The primary concern came with the use of interrupts.
- The computer programs had to wait in a loop so that the peripheral get ready.
- This was indeed a time wastage for other programs.
Efforts For the Solution:
- Thus engineer made efforts to arrange the peripheral to interrupt the CPU.
- Then the idea of channel controller was put forward by the high-end systems.
- Channel controller consisted of small computers that were capable of handling the Input and output of bus.
- IBM introduced them in 1958.
- Thus channel controllers handled the bus operations internally in a pleasant way.
This also resulted in the reduction of CPU load and thus increasing the system performance.
Minis and Macros:
DEC(Digital Equipment Corporation) made a change and reduced cost by mapping peripheral into the memory bus.
In this way, the I/O devices came into the memory locations.
- In the earlier microcomputer, the bus system was connected to the pins of the CPU with the help of buffer amplifiers.
- The data were connected in parallel.
- CPU controlled the entire communication.
- The major drawback, in this case, was that all equipment shared a single clock and thus had to talk at the same speed.
- The increment in CPU speed was a big issue as it would increase the rate of other devices too.
In the second generation bus system, some of the problems discussed above were solved to a greater extent.
- They prepared the CPU into two halves.
- The CPU a the memory occupied the one side while the various other device occupied the remaining second side.
- In this way, the CPU and memory part could efficiently work separately from the device bus.
- The CPU could now enjoy isolation and could increase the speed as well.
- As the external devices increased, they employed their bus systems. This resulted in a large number of slots on the bus.
- Then in the 1980s and 1990s, a new better system like IDE was introduced to solve this issue.
- They left many slots in the system empty.
Today there are almost five different buses in a machine that support various devices.
They are on the market since 2001.
- They have flexible physical connections.
- The third generation buses formed be a network that was a bit different than the original concept of the bus.
- They allowed multiple device sots to use the use the bus at a time.
How Many Types of Buses Are there in a Computer Architecture?
Today the computers consist of 2 bus categories. i.e., internal and the external buses.
A computer consists of data, address bus and control bus
1) Internal Bus Definition:
- This bus connects the internal components of a computer.
- They are also called local buses.
- The reason for this is that they connect the local devices.
- Internet bus is quick because it is not dependent on other operations of the computer.
They are also referred to as:
- Memory bus
- System bus
- Front side bus
Internal Computer Bus Example:
They are either parallel or serial.
- SS-50 Bus
- Runway bus
- LPC (Low Pin Count)
- STE bus
- STD Bus
Some of these are:
- SPI (Serial Pherial Interface) Bus
2) External Bus:
They are also called expansion buses.
They connect the different external device to the computer and are made up of electronic pathways.
Expansion Bus Types:
Some common types include:
- AGP( Accelerated Graphics Port)
- SCSI (Small Computer System Interface)
- PCMCIA(PErsoan Computer Memory Card Industry Association)
They are listed below.
- PC Card
- GPIB (General purpose interface bus)
Parallel And Serial Bus:
Buses can be parallel or serial.
- Parallel buses carry data words in parallel while the serial buses carry data in serial form.
- The serial bus can sometimes be operated at a higher data rate as compared tot he parallels bus. This is because the serial bus has no crosstalk.
What is Data Bus Definition?
The data functions for the transportation of data.
- The same bus works for both read and writes operations.
- For the write operation, then the processor puts the data that needs to be written on this bus.
- For the read operation, the specific memory block gives the data to the memory controller and then put it is kept in the data bus.
I/O Ports and CPU are also connected by this bus. Thus CPU can easily write data or read from the I/O ports or the memory.
- It is bidirectional.
- Thus it can transfer date form CPU to main memory and from the main memory to CPU too.
The size of a data word being written or read is dependent on the number of data lines.
- You can find the width of this bus by the individual memory block size.
- In the 8085 microprocessor, the address and the data bus are multiplexed.
- The data bus provides the data to the MDR(MEmoery Data Register).
- Then MAR tells it the memory location where the address is stored.
- MDR holds the data that needs to be stored and then that data is written int he memory place.
Types of Data Bus:
a) PCI Bus:
This bus resides between the motherboard and the peripheral.
b) Memory Bus:
This bus functions between the computer and the memory
This is the protocol used by portable devices. Computer peripherals also use it.
What is CPU External Data Bus Definition in the Microprocessor?
It is a primary type of data bus.
All data handling components are connected to this bus.
What is the External Data Bus Used For?
It is referred to as the primary data route in the PC.
The optional data devices are also connected to this bus.
- Thus information placed on this bus is available to all other devices that are connected to the computer.
- There is the connector on the motherboard that allows the access to the data bus for keyboards, mouse and other peripheral devices like modem and printers on COM and LPT ports.
- The coded message can be quickly sent to any device that is connected to this bus.
The width of this bus increased from 8 bit to 16, then to 32 a finally to 64 conductors.
- The wider the bus, the more data flows through it.
- You can understand it by a highway lane example.
- The more paths added to the road, the more cars can move through a point at the same time quite quickly.
- The width of the data bus is essential in determining the performance of the entire computer
Sizes in Different Microprocessors:
Different microprocessors supported different sizes of this bus.
- The 8086 microprocessor had 16-bit external data bus which was a bit incompatible with some hardware and software.
Thus in 8088 microprocessors, the size was reduced to 8 bit.
- The size of 808286 was 16 bit. And in the 80386 was 32 bit.
- Here the issue in the 803286 processor with a 32-bit bus was that 16-bit motherboard was not compatible with it.
- This is the reason that 80386SX processor was introduced that supported the 80386 modes and still had the 16-bit bus.
- On the Pentium, this bus implements dual pipelining. Here two 32 bit buses work independently. In this way, the commands can be executed simultaneously.
- In Pentium Pro and Pentium II the size of this bus is 64 bit and supports quad pipelining. Which means four simultaneous pipelines that are separated from each other.
Bus Width vs. Internal Structure of the Microprocessor:
It is not necessary that the width of the bus must agree with the internal structure of the microprocessor.
You can consider an example of Intel 8088 microprocessor that resembled the 16 bit 8086 microprocessor, but the bus width was 8 bit.
It is a bit slower regarding the data communication as compared to the rate of the internal data bus.
The reason for this slow speed is that it is external and thus does not lie in the CPU circuitry system.
Two most common ones, i.e., USB are PCI are described below.
USB (Universal Serial Bus):
- It was introduced in 1996.
- It uses asynchronous serial communication mode to transfer the data.
- It provides a convenient interconnection system that overcomes the issue of the limited number of input and output ports on a PC.
- Provides a plug and play mode of operation
- Many versions of USB has been introduced.
- It was introduced in 1992. Intel introduced it
- PCI slots extend the computer system capability.
- Two different versions of PCI are present, a 32bit and a 64 bit.
- Both of these versions have some subversions too.
- PCI express is also introduced that solves the issue with the PCI.
What is an Address Bus?
It transfers the data between different devices.
- The hardware address of the physical memory is used to identify the devices.
- This bus consists of the wire that connects the CPU with the main memory. This is used in finding the addresses in the memory.
- A 64-bit system can efficiently address 16 exbibytes of memory locations.
- This bus contains the address of the memory location or the I/O device to be read from or to write.
The primary purpose for which address bus was developed was to decrease the cost and enhance the modular integration.
The width of address bus refers to the number of wires. These number of wires tell how many unique locations it can access.
To get the width of the address bus, you can use the size of the memory that needs to be addressed by the system.
- This bus is unidirectional.
- This means that the data travels in one way.i.e from CPU to memory only.
- The reason that address bus is unidirectional is that the processor specifies the address.
The Function of Address Bus:
System bus comprises of the address bus, data bus, and control bus.
In the computer hardware, operations are dependent on addressing.
- If we intend to store something in the memory, then we will need to have its address of that particular location.
- A register called MAR (Memory Address Register) does this work.
- The MAR is in connection with the address bus.
- The address bus to the MAR provides the address of the location.
- The address bus carries the location to which the data needs to be stored.
- Thus it specifies a physical address.
- The computer processor has to read or written from or to the memory.
- It is in need of a physical address of that memory area. The address bus does this job for the processor.
- Thus when it needs to write the edit to the memory, it will trigger the write signal and set the address on the address bus.
External Data Bus vs. Address Bus:
The address bus specifies the memory address while the data bus specifies the value that needs to be written.
Such buses connect peripheral devices to the CPU.
Internal and external data bus play a significant role in computer architecture as they allow communication between different components.
Address bus works in providing the address of the location where the data needs to write or read.
The difference between the address bus and the external data bus is that the first one locates the memory address while the second one provides the data.