Both 8085 and 8086 are two major microprocessors designed by Intel. However, the crucial difference between 8085 and 8086 microprocessor is that an 8085 microprocessor is an 8-bit microprocessor i.e., can operate on 8-bit data at a time. As against 8086 is a 16-bit microprocessor, that can perform operation on 16-bit data in one cycle.
There exist various other factors that create significant differences between 8085 and 8086 microprocessor. In this section, we will discuss the other differences between 8085 and 8086 microprocessor using a comparison chart.
Content: 8085 Vs 8086
Comparison Chart
Basis for Comparison | 8085 | 8086 |
---|---|---|
Microprocessor type | 8-bit | 16-bit |
Size of data bus | 8-bit | 16-bit |
Size of address bus | 16-bit | 20-bit |
Supportable memory capacity | 64 KB | 1 MB |
Operating frequency | 3 MHz | 5 MHz |
Number of flags present | 5 | 9 |
Number of transistors | Less (around 6500) | More (around 29000) |
Operating mode | Only one | Two (minimum and maximum mode) |
Pipelining | Unsupportable | Supportable |
Cost | Low | Comparitively high |
Memory segmentation | Unsupportable | Supportable |
Instruction queue | Absent | Present |
Addressing mode | 5 | 9 |
Definition of 8085 Microprocessor
8085 is an 8-bit microprocessor that is able to perform an operation on 8-bit data in a single cycle. Basically, it is called so because the ALU size is of 8-bit. It offers a data bus size of 8-bit with an address bus of 16-bit. Thus the permissible accessible memory space is 64KB.
More specifically we can say that as one data byte is stored in one memory location, therefore overall 64 kilobytes of data can be stored by 8085 microprocessor. The arithmetic and logic unit of 8085 microprocessor is able to perform operations like add, subtract, compare, complement, increment, decrement, shift, AND, OR, X-OR.
It is an accumulator based processor. This means that the data during operation reside in the accumulator and temporary registers. Also, the output of the operation is stored in the accumulator and in accordance with the outcome generated, the flags get set and reset. It performs program execution in 3 stages, which are fetching, decoding and executing.
Firstly, fetching of instruction from the memory is done and then is stored in the instruction register. After that, the instruction is decoded by the decoder and the respective control signal is produced by the timing and control unit. According to the signal received the ALU performs the desired operation and stores the result in the accumulator and accordingly sets the flag register.
Definition of 8086 Microprocessor
8086 is a 16-bit microprocessor that is designed to perform execution over 16-bit data in one cycle. The reason behind it being a 16-bit microprocessor is the size of its ALU. The data bus size in case of 8086 microprocessor is 16-bit and that of the address bus is 20-bit. Therefore, the permissible memory location offered by the 8086 microprocessor is 1 MB.
More simply we can say that it can store 1 megabyte of data inside it. Along with the operation performed by the ALU of the 8085 microprocessor, the arithmetic and logic unit of 8086 microprocessor can also perform multiplication and division operation.
8086 has two separate operating units that work independently:
- Bus Interface Unit (BIU) and
- Execution Unit (EU)
The BIU is responsible for fetching the instructions from the memory or I/O device. And the EU executes the perfected instructions present in the instruction queue.The presence of an instruction queue in 8086 acts as an advantageous factor when compared with the 8085 microprocessor.
This is so because, by the help of instruction queue, BIU can prefetch the instructions and can store them in 6-byte instruction pre-fetch queue. This somehow reduces the instruction execution time and resultantly the overall efficiency of the system.
8086 microprocessor can operate as both single processors as well as a multi-processor system. Thus has two operating modes: minimum mode and maximum mode. In case of a single processor system, it operates in minimum mode. While for multiple processors, 8086 operates in maximum mode.
Key differences between 8085 and 8086 Microprocessor
- The size of the data bus specifies the amount of data that can be fetched by the data bus in one cycle. The size of the data bus in the case of 8085 microprocessor is 8-bit while in case of 8086 microprocessor, it is 16-bit.
- The address bus size in case of 8085 microprocessor is 16-bit whereas in case of 8086 microprocessor it is of 20-bit.
- The memory addressing capacity of 8085 is 216 i.e., 64 KB. On the contrary, the memory addressing the capacity of 8086 is 220 i.e., 1 MB.
- 8085 operates at a frequency of about 3 MHZ. While the operating frequency of 8086 microprocessor is 5 MHz, also the advanced version of 8086 microprocessor operates at a frequency about 8 and 10 MHz also.
- 8085 microprocessor consists of less number of transistors in its structure. Whereas 8086 comparatively holds a very large number of processors in it.
- 8085 supports a single mode of operation, while 8086 supports two operating modes, minimum and maximum mode.
- There exist total 5 flags (i.e., sign, zero, auxiliary carry, parity and carry flag) in 8085 microprocessor. As against overall 9 flags (i.e., overflow, direction, interrupt, trap and rest other of 8085) are present in 8086 microprocessor.
- 8085 is a single processor configuration microprocessor. On the contrary 8086 is a multi-processor configuration microprocessor.
- Pipelining is unsupportable by 8085. Whereas pipelining is supported by the 8086 microprocessor.
- Instruction queue is absent in 8085 microprocessor. While as queuing is supported by 8086 it has instruction queue.
- Memory segmentation is not supported by 8085 while it is supported by the 8086 microprocessor.
- 8085 is an accumulator based processor. On the contrary 8086 is a general-purpose register type microprocessor.
Conclusion
Due to advanced architecture and more providable features, 8086 is more expensive than the 8085 microprocessor.