COA Tutorial

Computer Organization and Architecture Tutorial Basic Terminologies Related to COA Digital Number System Computer Organization and Architecture Data Formats Fixed and Floating-Point Number IEEE Standard 754 Floating Point Numbers Control Unit Organization Data Path, ALU and Control Unit Micro-Operations CPU Registers Addressing Modes COA: Interrupt and its types Instruction Cycle: Computer Organization and Architecture Instruction Pipelining and Pipeline Hazards Pipelining: Computer Organization and Architecture Machine Instructions 8085 instructions set 8085 Pin Configuration Addressing mode in 8085 microprocessor Advantages and Disadvantages of Flash Memory BCD to 7 Segment Decoder Biconnectivity in a Graph Bipartite Graph CarryLook Ahead Adder Control Signals in 8155 Microprocessor Convert a number from base 2 to base 6 Ethernet Frame Format Local Broadcast Address and loopback address Microprocessor classification Use Case Diagram for the online bank system 8086 Microprocessor Pin Configurations 8255 Microprocessor Operating Modes Flag Register of 8086 Microprocessor Data Transfer and Manipulation 8085 Arithmetic Instructions Assembly Language Register What is Cache Associativity? Auxiliary Memory in COA Associative Memory in Computer Architecture SCSI Bus in Computer Architecture What are Registers in Microprocessor What is Associative Memory 1 Persistent CSMA What is Floating-Point Representation in Computer Architecture? What is a Serial Port in a Computer? What is Cluster Computing What is Batch Processing in Computer Advantages of Client Server Architecture Spooling Meaning in Computer System Magnetic Core Memory Magnetic Ink Card Reader Decision Making Tools and Techniques Digital Electronics using Semiconductor Memory What is Internal Chip Organization in Computer Architecture? What is Hardwired Control Unit? Definition of Diodes in Electronics Advantages of FSK Web Server Architecture How the OS interfaces between the user, apps, hardware? Discuss the I/O Interface in Computer Architecture Difference between Internal Fragmentation and External Fragmentation MDR in Computer Architecture

Control Signals in 8155 Microprocessor

Intel designed the chip 8155 used to interface with I/O devices. Basically, the 8085 microprocessor is directly unable to deal with its peripheral input output devices for reading data or writing data into them. So, the 8085 microprocessor connects itself with the 8155 chip, and then the 8155 chip deals with I/O devices to read or write data based on the control signals.

There are generally two kinds of ports:

  • Programmable
  • Non-programmable

Programmable ports

Ports that can be programmed, and with the help of control signals, we can use them as an input ports or output ports based on our requirements are defined as programmable ports. We can also control the mode in which they will work with the help of control signals.

Non-Programmable ports

Ports that cannot be programmed, and once they are built their working cannot be changed, are defined as non-programmable ports. For example, if a port is designed as an input port and if it is non-programmable, then we can’t use it as an output port or any other port.

In the 8155 chip, there are three programmable ports:

  • Port A
  • Port B
  • Port C

Port A and Port B are 8-bit ports, whereas Port C is a 6-bit port. So, there are 8 pins in Port A and Port B for each bit, and there are 6 pins in Port C.

  • 8 pins are like PA0 to PA7 and PB0 to PB7
  • Six pins are from PC0 to PC5.

There are 8 pins of the address bus (8-bit address bus), which connect it to the address bus of the 8085 microprocessor’s address bus. The address bus is from AD0 to AD7.

There are control signals generated by the 8085 microprocessor, and internally it is transferred to 8155. Then 8155 performs various actions like reading data or writing data, or enabling the interrupt signal. There is an 8-bit control register in 8155 where control signals are stored.

Handshake Mode

It is also called strobe mode for I/O. In this mode, port A uses 3 pins of Port C, and Port B also uses the other 3 pins of Port C. So basically, the control signal is generated by Port C in this mode.

This mode is generally used when the device connected to the peripheral of 8155 is not fast enough to send the data or receive the data. Port A and Port B are both independent in terms of programming in this mode.

8155 can generate the following types of control signals:


It is also called strobe input. It is an active low input control signal for 8155 and also an output signal for the device connected to it.

This signal is the indication that tells the 8155 to load the data in the input buffer. This signal is generated by the device connected; indicating that data has been sent to the ports of the 8155 chip, and you can now take data as input.

So, after receiving the signal, 8155 takes the input data into the buffer.


BF is also known as Buffer Full control signal. This is an active high signal which is raised by the 8155 microprocessor. This control signal is output for 8155 and input for connected devices.

When BF is 1, it means the input buffer has been full, and 8155 cannot take more data from the device. So the device will stop sending the data until BF becomes low.

When 8085 reads the complete data from the buffer, then BF becomes low, and then the device can send the data to 8155 again. It works as an acknowledge signal for the input device connected.


This is an active high signal which is raised by 8155. This is the output signal indicating to the 8085 microprocessor that the device connected has sent the data to ports, and data is now available on the buffer. So it indicates the microprocessor to read the data from the input buffer.

When the microprocessor reads the data from the input buffer, then this control signal INTR becomes low.


The interrupt functionality of the 8155 is turned on or off using this internal flip-flop. Bits D4 and D5 in the control register, respectively, control the interrupts of ports A and B.