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.

Beginner idea: A microprocessor cannot work alone. It needs memory to store programs and data, input ports to receive information, output ports to send results, and a clock to synchronize all operations. Bussed architecture connects all these parts in an organized way.

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:

  1. CPU: Executes instructions and controls the complete system.
  2. Program Memory: Stores the program or instruction sequence.
  3. Data Memory: Stores temporary data, intermediate results, and user data.
  4. Input Ports: Receive data from switches, sensors, keyboards, ADCs, and other input devices.
  5. Output Ports: Send data to LEDs, displays, motors, DACs, printers, and other output devices.
  6. 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.

Main reason for using bussed architecture: It reduces wiring complexity, saves hardware, makes expansion easier, and allows many memory and I/O devices to communicate with the CPU through common lines.

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.

Simple explanation: Multiplexing means using the same physical lines for more than one purpose at different times. In 8085, AD0 to AD7 first carry address information and then data information.

How CPU Communicates with Memory

When the CPU wants to read data from memory, the following steps occur:

  1. The CPU places the memory address on the address bus.
  2. The address decoder selects the required memory location.
  3. The CPU activates the read control signal.
  4. The selected memory places data on the data bus.
  5. 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:

  • ADD
  • SUB
  • MOV
  • JMP

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