Chapter 2 8086 8088 CPU
Chapter 2 8086 8088 CPU
Chapter 2 8086 8088 CPU
8085 8086
1. Size 8 bit microprocessor 16 bit microprocessor
2. Address Bus 16 Bit address bus 20 bit address bus
3. Memory can access upto 2^16 = 64 Kb of can access upto
memory 2^20 = 1 MB of memory
4. Instruction doesn't have an instruction queue has instruction queue
Queue
5. Pipelining does not support pipelined supports pipelined architechture
architechture
6. Multiprocessing does not support multiprocessing supports multiprocessing support
Support support
7. I/O can address 2^8 = 256 I/O's can access 2^16 = 65,536 I/O's
8. Arithmetic only supports integer and supports integer, decimal and
Support decimal ASCII arithmetic
9. Multiplication Doesn’t support Supports
and Division
10. Operating supports only single operating operates in two modes
Mides mode
11. External Requires less external hardwares Requires more external hardware
Hardware
12. Cost Low High
13. Memory Memory space is not segmented Memory space is segmented
Seqmentation
So, the difference arises from the internal designing of the IC by the manufacturer
which cannot be manipulated manually. Coming to the key differences
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
Microcontroller
They only consist of the Processing Unit. They don't have peripherals
included in them.
They generally have Von Neumann Architecture.
The processing speed is comparatively faster.
The addresses in programming have their own space.
Eg: Raspberry pi.
Solution: In 1978 Intel came out with the 8086 processor. The Intel 8086 is a 16-
bit microprocessor, implemented in N-channel, depletion load, silicon gate
technology (HMOS), and packaged it in a 40 pin dual in line package.
Features of 8086:
1. The 8086 is a 16-bit microprocessor. The term “16-bit” means that it’s
arithmetic logic unit, internal registers and most of its instructions are
designed to work with 16-bit binary words.
2. The 8086 has a 16-bit data bus, so it can read data from or write data to
memory and ports either 16 bits or 8 bits at a time. The 8088, however, has
an 8-bit data bus, so it can only read data from or write data to memory and
ports 8 bits at a time.
3. The 8086 has a 20-bit address bus, so it can directly access 220 or 10,48,576
(1 Mb) memory locations. Each of the 10,48,576 memory locations is byte
wide. Therefore, a sixteen-bit words are stored in two consecutive memory
locations. The 8088 also has a 20-bit address bus, so it can also address 220
or 10,48,576 memory locations.
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
4. The 8086 can generate 16-bit I/O address, hence it can access 216 = 65536
I/O ports.
5. The 8086 provides fourteen 16-bit registers.
6. The 8086 has multiplexed address and data bus which reduces the number of
pins needed, but does slow down the transfer of data (drawbacks).
7. The 8086 requires one phase clock with a 33% duty cycle to provide
optimized internal timing.
8. The 8086 is possible to perform bit, byte, word and block operations in
8086. It performs the arithmetic and logical operations on bit, byte, word and
decimal numbers including multiply and divide.
9. The Intel 8086 is designed to operate in two modes, namely the minimum
mode and the maximum mode. When only 8086 CPU is to be used in a
microcomputer system, the 8086 is used in the minimum mode of operation.
In this mode the CPU issues the control signals required by memory and I/O
devices. In multiprocessor (more than one processor in the system) system
8086 operates in maximum mode. In maximum mode, control signals are
generated with the help of external bus controller (8288).
10.The intel 8086 supports multiprogramming. In multiprogramming, the code
for two or more process is in in memory at the same time and is executed in
a time-multiplexed fashion.
11.An interesting feature of 8086 is that it fetches upto six instruction bytes (4
instruction bytes for 8088) from memory and queue stores from them in
order to speed up instruction execution.
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
12.The 8086 provides powerful instruction set with the following addressing
modes: Registers, immediate, direct, indirect through an index or base ,
indirect through the sum of a base and an index register, relative and
implied.
Solution: Fig 2.2 shows a block diagram of the 8086 internal architecture. It is
internally divided into two separate functional units. These are the Bus Interface
Units (BIU) and the Execution Units (EU). These two functional units can work
simultaneously to increase system speed and hence the throughput. Throughput
is a measure of number of instructions executed per unit time.
The bus interface unit is the 8086’s interface to the outside world. It
provides a full 16-bit bi-directional data bus and 20-bit address bus. The bus
interface unit is responsible for performing all external bus operations, as listed
below.
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
To Implement these functions the BIU contains the instruction queue, segment
registers.
Instruction Queue:
To speed up program execution, the BIU fetches six instruction bytes ahead
of time from the memory. These prefetched instruction bytes are held for the
execution unit in a group of registers called Queue. With the help of queue it is
possible to fetch next instruction when current instruction is in execution. For
example, current instruction in execution is a multiplication instruction. In 8086,
operands for multiplication operations are within registers. Still it requires 100
clock cycles to execute multiply instruction. Like multiplication there are number
of other instructions in 8086 which need quite a large number of clock cycles for
execution. During this execution time the BIU fetches the next instruction or
instructions from memory into the instruction queue instead of remaining idle. The
BIU continues this process as long as the queue is not full. Due to this, execution
unit gets the ready instruction in the queue and instruction fetch time is eliminated.
This is illustrated Fig. 2.3
The queue operates on the principles first in first out (FIFO). So that the execution
unit gets the instruction for execution in the order they are fetched. In case of
JUMP and CALL Instructions already fetched in queue are of no use. Hence, in
these
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
CISC Features:
i) Complex instruction set computer
ii) Large number of instruction(~200-300)
iii) Specialized complex instructions.
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
RISC Features:
i) Reduced Instruction set computer
ii) Relatively few number of instructions(~50)
iii) Basic instruction
iv) Few different addressing
v) Fixed length instruction format
vi) Only load/store instruction can access memory.
vii) Large number of register
viii) Hardwired rather than microprocessor control
ix) Example: MIPS, Alpha, ARM
RISC vs CISC:
VLIW Feature:
[RUMAN]
CHAPTER-2 : 8086 / 8088 CPU
[RUMAN]