Bussed Architecture in Microprocessor: Address Bus, Data Bus, Control Bus and Computer Languages
Bussed Architecture in Microprocessor: Address Bus, Data Bus, Control Bus and Computer Languages
Bussed architecture is one of the most important concepts in microprocessor and microcomputer systems. It explains how the CPU communicates with memory, input devices, output devices, and other supporting circuits using a common set of lines called buses.
In simple words, a bus is like a common road inside a microcomputer. Different parts of the system use this road to send addresses, transfer data, and exchange control signals. Without a proper bus structure, the system becomes complex, costly, difficult to expand, and hard to design.
Basic Components of a Microcomputer
A microcomputer is formed when a microprocessor is combined with memory, input/output devices, and a clock system. The basic components are:
- CPU: Executes instructions and controls the complete system.
- Program Memory: Stores the program or instruction sequence.
- Data Memory: Stores temporary data, intermediate results, and user data.
- Input Ports: Receive data from switches, sensors, keyboards, ADCs, and other input devices.
- Output Ports: Send data to LEDs, displays, motors, DACs, printers, and other output devices.
- Clock Generator: Provides clock pulses for synchronized operation.
The clock generator produces regular timing pulses so that every operation inside the microcomputer occurs in a proper sequence. In some processors, such as the Intel 8085A, the clock generator circuit is available on the chip, but an external crystal or RC network is used to decide the operating frequency.
Why Bussed Architecture is Needed
One simple method of connecting a microprocessor to memory and I/O devices is to provide separate wires for every device. However, this method creates many problems. If each memory chip and each I/O port is connected separately to the CPU, the number of address lines, data lines, and control lines becomes very large.
This increases the size of the CPU pins, makes the circuit more complex, and limits future expansion. For example, if a CPU is designed to connect only a fixed number of devices, adding one more device becomes difficult or impossible.
To avoid this problem, microcomputer systems use bussed architecture. In this method, many devices share common lines, and the CPU selects the required device using address and control signals.
What is a Bus in Microprocessor?
A bus is a group of parallel electrical lines used to carry information between two or more devices. The information may be address information, data information, or control information.
In a microcomputer, the CPU communicates with memory and I/O devices through three major buses:
- Address Bus
- Data Bus
- Control Bus
Whenever the processor wants to access a memory location or an input/output device, it first places the address of that device on the address bus. Then data is transferred using the data bus. Finally, the control bus decides whether the operation is read, write, memory access, or I/O access.
Conditions for Sharing a Common Bus
In a bussed system, many devices are connected to the same data lines. Therefore, proper rules are required so that the system works correctly. Suppose device 1 wants to send data to device 2 through a common bus. The transfer is possible only when:
- Device 1 knows when to place data on the bus.
- Device 2 is ready to receive the data.
- No other device places data on the bus at the same time.
- No wrong device accepts the data from the bus.
If two devices try to send data at the same time, bus conflict occurs. This can produce wrong results and may even damage hardware. To avoid this problem, only one device is allowed to drive the data bus at a time.
Role of Tri-State Buffer in Bus Architecture
Normal logic gates are not suitable for directly driving a shared bus because their output is always either logic 0 or logic 1. But in a bussed system, sometimes a device must disconnect itself from the bus. For this purpose, tri-state buffers are used.
A tri-state buffer has three possible output states:
- Logic 0
- Logic 1
- High impedance state (High-Z)
The High-Z state acts like an open circuit. When a device is in High-Z condition, it does not affect the bus. This allows other devices to use the same bus safely.
The Microcomputer Bus System
A microcomputer normally uses three buses to perform all operations. These buses connect the microprocessor with memory and input/output devices.
| Bus Type | Main Function | Direction | Example in 8085 |
|---|---|---|---|
| Address Bus | Selects memory location or I/O device | Unidirectional | 16-bit address bus |
| Data Bus | Transfers data between CPU, memory, and I/O | Bidirectional | 8-bit data bus |
| Control Bus | Carries read, write, interrupt, reset, and timing signals | Mostly mixed direction | RD, WR, IO/M and other signals |
Address Bus
The address bus is used by the microprocessor to select a specific memory location or I/O device. The CPU places the address on this bus, and the external circuit decodes that address to select the required device.
The address bus is normally unidirectional. This means address information flows only from the microprocessor to memory or I/O devices. Memory and I/O devices do not send addresses back to the CPU through this bus.
Address Bus in 8085 Microprocessor
In the Intel 8085A microprocessor, the address bus is 16-bit wide. It can generate:
216 = 65,536 addresses
This means the 8085 can address 65,536 memory locations, which is equal to 64 KB of memory.
The address lines are represented as:
- A0 to A15
However, the lower 8 address lines are multiplexed with data lines and are represented as AD0 to AD7. This means the same pins are used for address during one part of the machine cycle and for data during another part.
Data Bus
The data bus is used to transfer actual data between the microprocessor, memory, and input/output devices. The data bus is bidirectional, meaning data can flow from CPU to memory or from memory to CPU.
In the 8085 microprocessor, the data bus is 8-bit wide. This means the processor can transfer 8 bits of data at a time.
For example, during a memory read operation, data moves from memory to CPU. During a memory write operation, data moves from CPU to memory.
Why Only One Device Can Drive the Data Bus
Since many devices are connected to the same data bus, only one device should place data on the bus at a time. All other devices must remain in High-Z condition. This prevents bus conflict and ensures correct data transfer.
Control Bus
The control bus carries control and timing signals. These signals tell the memory and I/O devices what operation is being performed.
Important control signals include:
- RD: Read signal
- WR: Write signal
- IO/M: Selects whether the operation is for I/O or memory
- Interrupt signals: Used to request CPU attention
- Reset signals: Used to restart the processor
- Clock signals: Used for timing synchronization
The control bus is different from the data bus. In the data bus, all lines generally work together in the same direction at a given time. But in the control bus, each signal line has its own fixed purpose and direction.
Address Bus vs Data Bus vs Control Bus
| Feature | Address Bus | Data Bus | Control Bus |
|---|---|---|---|
| Purpose | Selects memory or I/O location | Transfers data | Controls operation |
| Direction | Usually one-way | Two-way | Mixed direction |
| Controlled by | CPU | CPU, memory, and I/O devices | CPU and external devices |
| 8085 Example | 16-bit | 8-bit | RD, WR, IO/M, ALE etc. |
8085 Multiplexed Address and Data Bus
In Intel 8085, the lower order address bus and data bus are multiplexed. The pins AD0 to AD7 carry lower address bits during the beginning of a machine cycle. Later, the same pins carry data.
This technique reduces the number of pins required in the microprocessor chip. However, external latch circuits are needed to separate the address and data information. The signal ALE (Address Latch Enable) is used for this purpose.
How CPU Communicates with Memory
When the CPU wants to read data from memory, the following steps occur:
- The CPU places the memory address on the address bus.
- The address decoder selects the required memory location.
- The CPU activates the read control signal.
- The selected memory places data on the data bus.
- The CPU reads the data from the data bus.
Similarly, during a memory write operation, the CPU places the address on the address bus, places data on the data bus, and activates the write signal.
What is Address Decoding?
Address decoding is the process of selecting the correct memory chip or I/O device based on the address generated by the CPU. Since many devices share the same buses, decoding is required to ensure that only the selected device responds.
For example, if the CPU sends an address belonging to RAM, then only RAM should respond. ROM, input ports, and output ports should remain inactive.
Advantages of Bussed Architecture
- Reduces the number of physical connections.
- Makes the microcomputer system simpler and cheaper.
- Allows easy expansion of memory and I/O devices.
- Improves standardization in system design.
- Allows different devices to share common communication lines.
Limitations of Bussed Architecture
- Only one device can normally use the bus at a time.
- Bus speed can limit overall system performance.
- Bus conflicts can occur if control logic is not designed properly.
- Additional circuits such as buffers, latches, and decoders may be required.
Computer Language in Microprocessor Systems
A microprocessor understands only binary instructions, which are made of 0s and 1s. This form is called machine language. Since writing programs directly in binary is difficult, other programming forms are used.
Machine Language
Machine language is the actual binary code executed by the microprocessor. Every instruction is represented by a specific binary pattern. It is very fast for the processor but difficult for humans to write and remember.
Assembly Language
Assembly language uses short English-like words called mnemonics. Examples include:
ADDSUBMOVJMP
An assembly language program must be converted into machine language before execution. This conversion is done by a program called an assembler.
High-Level Language
High-level languages are easier for humans to understand. Examples include:
- C
- C++
- Python
- Java
- BASIC
- FORTRAN
Programs written in high-level languages are converted into machine language by a compiler or interpreter.
Assembly Language vs High-Level Language
| Point | Assembly Language | High-Level Language |
|---|---|---|
| Ease of writing | Difficult | Easy |
| Execution speed | Usually faster | Depends on compiler efficiency |
| Hardware control | Very good | Limited compared to assembly |
| Portability | Machine dependent | More portable |
| Use | Time-critical and hardware-specific tasks | General application development |
Why Assembly Language is Still Important
Even though high-level languages are popular today, assembly language is still useful in microprocessor and embedded system applications. It is used when direct hardware control, fast execution, and memory optimization are required.
For example, time-critical operations in device drivers, interrupt service routines, and low-level embedded systems may still use assembly language.
Modern Importance of Bus Architecture
The concept of bussed architecture is not limited to old microprocessors like 8085 and 8086. Modern computers, microcontrollers, and embedded systems also use different types of buses for communication.
Modern examples include:
- System bus in computers
- Memory bus for RAM communication
- USB for external devices
- I2C and SPI buses in microcontrollers
- CAN bus in automobiles
- PCI Express in modern computers
So, learning address bus, data bus, and control bus gives a strong foundation for understanding modern digital electronics, embedded systems, computer organization, and microcontroller programming.
Frequently Asked Questions
What is bussed architecture?
Bussed architecture is a system in which multiple components such as CPU, memory, and I/O devices are connected through common signal lines called buses.
What are the three main buses in a microcomputer?
The three main buses are address bus, data bus, and control bus.
Why is the address bus unidirectional?
The address bus is unidirectional because the CPU sends address information to memory and I/O devices. The memory or I/O devices do not normally send addresses back to the CPU.
Why is the data bus bidirectional?
The data bus is bidirectional because data can move from CPU to memory and also from memory to CPU.
What is the function of the control bus?
The control bus carries signals that decide whether the operation is read, write, memory access, I/O access, interrupt, reset, or timing related.
What is a tri-state buffer?
A tri-state buffer is a digital circuit whose output can be logic 0, logic 1, or high impedance. It is used to safely connect multiple devices to a common bus.
What is the difference between machine language and assembly language?
Machine language uses binary codes, while assembly language uses mnemonics such as ADD, SUB, MOV, and JMP. Assembly language is easier for humans but must be converted into machine code before execution.
Key Takeaways
- A bus is a group of parallel lines used to transfer information.
- Bussed architecture reduces wiring and improves expandability.
- Address bus selects memory or I/O devices.
- Data bus transfers actual data.
- Control bus manages read, write, timing, and control operations.
- Tri-state buffers prevent bus conflicts.
- 8085 uses a 16-bit address bus and 8-bit data bus.
- Computer languages include machine language, assembly language, and high-level languages.
Conclusion
Bussed architecture is the backbone of a microcomputer system. It allows the CPU, memory, and input/output devices to communicate through shared lines in an organized way. The address bus identifies the location, the data bus carries information, and the control bus manages the operation. Understanding these buses is essential for learning microprocessors, microcontrollers, computer organization, and embedded systems.
For beginners, the most important idea is simple: the bus system works like a common communication path inside the computer. With proper address selection, data transfer, and control signals, the microprocessor can execute programs and interact with the real world efficiently.
SEO Keywords
bussed architecture in microprocessor, microprocessor bus system, address bus data bus control bus, 8085 address bus, 8085 data bus, control bus in microprocessor, computer organization basics, microcomputer bus, tri-state buffer, machine language, assembly language, high level language, microprocessor tutorial for beginners
Suggested Search Description
Learn bussed architecture in microprocessor systems, address bus, data bus, control bus, tri-state buffer, 8085 bus structure, and computer languages in simple words.
No comments