Architecture of 8086 Micro-Processor 8086 Microprocessor is a 16-bitMicroprocessor. It is an improved version of 8085Microprocessor.
It wasdesigned by Intel in 1976. It has 20 address lines and16 data lines which givesup to 1MB of storage. Operations like multiplication and division can becarried out easily as it consists of powerful instruction set.It has two types of mode for operation: 1)Maximum Mode and 2) Minimum Mode. Maximum mode is best for system having morethan one processors and Minimum Mode is best for system having only oneprocessor.The 8086 micro-processor has twodifferent working parts: The Bus Interface Unit or BIUThe Execution Unit or EU. The Architecture of 8086Micro-Processor is shown in figure below.
Bus Interface Unit or BIU : The main function of the Bus Interface Unit (BIU) is that it generates a 20-bit physical memory address. 8086 has only one memory interface. It provides a link with the external memory like ROM or RAM. 6-bytes of instruction are stored in a 6-byte Instruction Queue which is fetched in advance from the memory. The other instructions are being processed in the Execution Unit (EU).
When the execution of an instruction completes, the next instruction is directly fetched from the instruction queue and CPU does not have to wait for the external memory to send the instruction. This process is called pipe-lining. It helps in speeding up the overall execution process. The BIU has four 16-bit segment registers which are as follows 1) The Code Segment (CS) 2) The Stack Segment (SS) 3) The Extra Segment (ES) 4) The Data Segment (DS). These segment registers contains 16-bit segment addresses respectively.
The offset address is contained by another 16-bit register. For a segment, segment address is the upper 16-bits of the starting address and the lower 4-bits of the starting address is always zero. The formula to calculate physical 20-bit address is PhysicalAddress = Segment Address + Offset AddressExecutionUnit or EU:Execution unit gets program instructioncodes and data from the Bus Interface Unit, processes them and stores theoutput in the general registers. Using the instruction decoder & ALU, itcontrols operations on data. The EU contains some functional parts such as:1) ArithmeticLogical Unit (ALU).2) FlagRegisters: It contains Conditional Flags and ControlFlags.3) GeneralPurpose Registers.4) StackPointer Register.The Programming ModelThe Programming Model of 8086 Micro-Processorconsists of Multipurpose Registers and Special Registers.Multipurpose Registers:· Accumulator Register (AX)· Base Register (BX)· Count Register (CX)· Data Register (DX)· Base Pointer (BP)· Destination Index (DI)· Source Index (SI)Special Purpose Registers:· Instruction Pointer· Stack Pointer· Carry Flag· Parity flag· Auxiliary Flag· Zero Flag· Sign Flag· Overflow Flag· Direction Flag· Interrupt Flag· Trap Flag, etc.