0% found this document useful (0 votes)
196 views47 pages

8086 Microprocessor Overview

The document provides an overview of the Intel 8086 microprocessor, including: - The 8086 was developed in 1976 as a temporary substitute for Intel's delayed iAPX 432 project. It gave rise to the x86 architecture used in future Intel processors. - The x86 instruction set architecture is based on the 8086 and emphasizes backward compatibility as additions have been made over the years. - The 8086 is a 16-bit processor that uses segmentation to access more than 64KB of memory through segment registers and a segment:offset addressing scheme. - It has key features like general purpose registers, flag registers, and memory is divided into code, data, stack and extra segments.

Uploaded by

cobalt_1223
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
196 views47 pages

8086 Microprocessor Overview

The document provides an overview of the Intel 8086 microprocessor, including: - The 8086 was developed in 1976 as a temporary substitute for Intel's delayed iAPX 432 project. It gave rise to the x86 architecture used in future Intel processors. - The x86 instruction set architecture is based on the 8086 and emphasizes backward compatibility as additions have been made over the years. - The 8086 is a 16-bit processor that uses segmentation to access more than 64KB of memory through segment registers and a segment:offset addressing scheme. - It has key features like general purpose registers, flag registers, and memory is divided into code, data, stack and extra segments.

Uploaded by

cobalt_1223
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

SYNAPSE Techno Design Innovation Pvt Ltd

Confidential Information: Do not share or photocopy without prior written approval

8086

Confidential Information: Do not share or photocopy without prior written approval

AGENDA

BIRTH OF 8086 WHAT IS X86? ARCHITECTURE INTERRUPTS ADDRESSING MODES TIMING DIAGRAMS INSTRUCTIONS SUCCESSORS APPLICATIONS
Confidential Information: Do not share or photocopy without prior written approval 3

BIRTH OF 8086

It all started from Intel's iAPX 432, which was a very ambitious multi-chip microprocessor architecture started in 1975. The project was Intel's first 32-bit microprocessor design. It soon became clear that it would take several years and many engineers to design it , given the current technology at that time. So, the 8086 project was started in May 1976 and was originally intended as a temporary substitute for the delayed iAPX 432 project.

Confidential Information: Do not share or photocopy without prior written approval

BIRTH OF 8086

The architecture was defined by Stephen P. Morse with some help and assistance by Bruce Ravenel The 8086 gave rise to the x86 architecture of Intel's future processors. It was marketed as source compatible. The 8086 was implemented using depletion-load nMOS circuitry with approximately 20K active transistors It was soon moved to a new refined nMOS manufacturing process called HMOS. The original chip measured 33 mm and minimum feature size was 3.2 m.
Confidential Information: Do not share or photocopy without prior written approval 5

WHAT IS X86?

x86 is a series of computer microprocessor instruction set architectures based on the Intel 8086 CPU. The term x86 derived from the fact that early successors to the 8086 also had names ending with "86". Many additions and extensions have been added to the x86 instruction set over the years, almost consistently with full backward compatibility.

Confidential Information: Do not share or photocopy without prior written approval

WHAT IS X86?

The x86 architecture is a variable instruction length, primarily two-address "CISC" design with emphasis on backward compatibility. The instruction set is not typical CISC, however, but basically an extended version of the simple eight-bit 8008 and 8080 architectures.

Confidential Information: Do not share or photocopy without prior written approval

KEY FEATURES

It is a 16 bit microprocessor. 8086 has a 20 bit address bus can access upto 2^20 memory locations ( 1 MB) . It can support upto 64K I/O ports. It provides 14, 16-bit registers. It has multiplexed address and data bus AD0- AD15 and A16 A19

Confidential Information: Do not share or photocopy without prior written approval

KEY FEATURES

It requires single phase clock with 33% duty cycle to provide internal timing.

8086 is designed to operate in two modes, Minimum and Maximum.

It can prefetch upto 6 instruction bytes from memory and queues them in order to speed up instruction execution.

It requires +5V power supply. A 40 pin dual in line package.

Confidential Information: Do not share or photocopy without prior written approval

PIN DIAGRAM

Confidential Information: Do not share or photocopy without prior written approval

10

EU AND BIU

The 8086 CPU logic has been partitioned into two functional units namely Bus Interface Unit (BIU) and Execution Unit (EU) The major reason for this separation is to increase the processing speed of the processor The BIU has to interact with memory and input and output devices in fetching the instructions and data required by the EU EU is responsible for executing the instructions of the programs and to carry out the required processing

Confidential Information: Do not share or photocopy without prior written approval

11

ARCHITECTURE

Confidential Information: Do not share or photocopy without prior written approval

12

GENERAL PURPOSE REGISTERS

8086 CPU has 8 general purpose registers, each register has its own name:

AX - the accumulator register (divided into AH / AL):


Generates shortest machine code Arithmetic, logic and data transfer One number must be in AL or AX Multiplication & Division Input & Output

Confidential Information: Do not share or photocopy without prior written approval

13

GENERAL PURPOSE REGISTERS

BX - the base address register (divided into BH / BL). CX - the count register (divided into CH / CL): Iterative code segments using the LOOP instruction. Repetitive operations on strings with the REP command. Count (in CL) of bits to shift and rotate. DX - the data register (divided into DH / DL): DX:AX concatenated into 32-bit register for some MUL and DIV operations. Specifying ports in some IN and OUT operations.
14

Confidential Information: Do not share or photocopy without prior written approval

GENERAL PURPOSE REGISTERS

SI - source index register:


Can be used for pointer addressing of data Used as source in some string processing instructions Offset address relative to DS DI - destination index register: Can be used for pointer addressing of data Used as destination in some string processing instructions Offset address relative to ES

Confidential Information: Do not share or photocopy without prior written approval

15

GENERAL PURPOSE REGISTERS

BP - base pointer: Primarily used to access parameters passed via the stack Offset address relative to SS SP - stack pointer: Always points to top item on the stack Offset address relative to SS Always points to word (byte at even address) An empty stack will had SP = FFFEh

Confidential Information: Do not share or photocopy without prior written approval

16

EXECUTION UNIT- FLAGS

Confidential Information: Do not share or photocopy without prior written approval

17

MEMORY SEGMENTATION

In 8086, memory has four different types of segments.

Code Segment - It contains instructions of a program in memory. Data Segment -The processor can access data in any one out of 4 available segments. Stack Segment - A stack is a section of the memory set aside to store addresses and data while a subprogram executes. Extra Segment - This segment is also similar to data memory where additional data may be stored and maintained.

Reserved locations - 0000h - 03FFh are reserved for interrupt vectors. Each interrupt vector is a 32-bit pointer in format segment:offset. FFFF0h FFFFFh,after RESET the processor always starts program execution at the FFFF0h address.

Confidential Information: Do not share or photocopy without prior written approval

18

SEGMENT- OFFSET Notation

The total addressable memory size is 1MB Most of the processor instructions use 16-bit pointers the processor can effectively address only 64 KB of memory To access memory outside of 64 KB the CPU uses special segment registers to specify where the code, stack and data 64 KB segments are positioned within 1 MB of memory A simple scheme would be to order the bytes in a serial fashion and number them from 0 (or 1) to the end of memory

Confidential Information: Do not share or photocopy without prior written approval

19

SEGMENT- OFFSET Notation

The scheme used in the 8086 is called segmentation Every address has two parts, a SEGMENT and an OFFSET (Segment:Offset ) The segment indicates the starting of a 64 kilobyte portion of memory, in multiples of 16 The offset indicates the position within the 64k portion Absolute address = (segment * 16) + offset

Confidential Information: Do not share or photocopy without prior written approval

20

SEGMENT REGISTERS

Confidential Information: Do not share or photocopy without prior written approval

21

SEGMENT REGISTERS

Each of these segments are addressed by an address stored in corresponding segment register. These registers are 16-bit in size. Each register stores the base address (starting address) of the corresponding segment. Because the segment registers cannot store 20 bits, they only store the upper 16 bits.

Confidential Information: Do not share or photocopy without prior written approval

22

SEGMENT REGISTERS How is a 20-bit address obtained if there are only 16-bit registers?

The answer lies in the next few slides. The 20-bit address of a byte is called its Physical Address. But, it is specified as a Logical Address. Logical address is in the form of:

Base Address : Offset Offset is the displacement of the memory location from the starting location of the segment.

Confidential Information: Do not share or photocopy without prior written approval

23

EXAMPLE
The value of Data Segment Register (DS) is 2222 H. To convert this 16-bit address into 20-bit, the BIU appends 0H to the LSBs of the address. After appending, the starting address of the Data Segment becomes 22220H. If the data at any location has a logical address specified as: 2222 H : 0016 H Then, the number 0016 H is the offset. 2222 H is the value of DS. To calculate the effective address of the memory, BIU uses the following formula: Effective Address = Starting Address of Segment + Offset To find the starting address of the segment, BIU appends the contents of Segment Register with 0H. Then, it adds offset to it. Therefore: EA = 22220 H + 0016 H -----------22236 H
Confidential Information: Do not share or photocopy without prior written approval 24

EXAMPLE (Contd.)

Confidential Information: Do not share or photocopy without prior written approval

25

MAX. SIZE OF SEGMENT

All offsets are limited to 16-bits. It means that the maximum size possible for segment is 216 = 65,535 bytes (64 KB). The offset of the first location within the segment is 0000 H. The offset of the last location in the segment is FFFF H.

Confidential Information: Do not share or photocopy without prior written approval

26

WHERE TO LOOK FOR THE OFFSET

Segment CS

Offset registers IP

Function Address of the next instruction

DS SS ES

BX,DI,SI SP,BP BX,DI,SI

Address of data Address in the stack Address of destination data (for string operations)

Confidential Information: Do not share or photocopy without prior written approval

27

MODES OF OPERATION MINIMUM MODE

Confidential Information: Do not share or photocopy without prior written approval

28

MODES OF OPERATION

MAXIMUM MODE
Confidential Information: Do not share or photocopy without prior written approval 29

Interrupts in 8086
An 8086 Interrupt can come from any of three sources. Hardware Interrupt External interrupt applied to nonmaskable interrupt NMI. External interrupt applied to maskable interrupt INTR. Software Interrupt Execution of INT instruction.

Confidential Information: Do not share or photocopy without prior written approval

30

Interrupts in 8086

In the 8086 there are a total of 256 interrupts (or interrupt types) INT 00 INT 01 INT FF In 80x86, the memory location to which an interrupt goes is always four times the value of the interrupt number . INT 03h goes to 000Ch

Confidential Information: Do not share or photocopy without prior written approval

31

Interrupt Vector Table IVT

Confidential Information: Do not share or photocopy without prior written approval

32

Interrupts in 8086

The lowest five types are dedicated to specific interrupts. Interrupts 5 to 31 are reserved by INTEL for complex Processors Upper 224 interrupt types ( 32 to 255) available to use for hardware or software interrupts.

Confidential Information: Do not share or photocopy without prior written approval

33

Interrupts in 8086
Interrupt Type zero INT 0 Divide by zero interrupt. If the quotient is too large to fit into AL/AX Divide by zero interrupt invoked. Interrupt Type one INT 1 Single step Interrupt If trap flag is set 8086 will do a type 1 interrupt after every instruction execution.

Confidential Information: Do not share or photocopy without prior written approval

34

Interrupts in 8086
Non Maskable Interrupt Type 2 When 8086 receives a low to high transition on its NMI input. Type 2 interrupt response cannot be disabled ( masked) by any program instruction. Could be used for handling critical situations like power failure detection.

Confidential Information: Do not share or photocopy without prior written approval

35

Interrupts in 8086
Break Point Interrupt Type 3 INT 3 instruction to implement break point routines. The system execute instruction up to break point and then goes to break point routine. Used for debugging. Overflow Interrupt Type 4 INTO: Interrupt on overflow instruction used for invoking an interrupt after overflow in an arithmetic operation. If no overflow it will be a NOP instruction.

Confidential Information: Do not share or photocopy without prior written approval

36

Interrupt Priority

HIG H

1. Divide error, INT nn, INTO 2. NMI 3. INTR 4. Single Step

LOW

Confidential Information: Do not share or photocopy without prior written approval

37

Interrupts in 8086
What if 8086 receives INTR while executing DIV which produces divide-by-zero error? 8086 executes INT 00 (as it has higher priority) This clears the IF and thus disables INTR Complete routine of INT 00 is executed and in the end IRET is executed This enables the INTR again Now INTR will be processed

Confidential Information: Do not share or photocopy without prior written approval

38

Interrupts in 8086
What if 8086 receives NMI while executing DIV which produces divide-by-zero error? 8086 executes INT 00 (as it has higher priority) This clears the IF but does not disable NMI Branching to ISR0 and then again to ISR2 Return back to ISR0 and then to mainline program

Confidential Information: Do not share or photocopy without prior written approval

39

ADDRESSING MODES

Confidential Information: Do not share or photocopy without prior written approval

40

CLOCK CYCLES USED IN DIFF ADDRESSING MODES

Confidential Information: Do not share or photocopy without prior written approval

41

INSTRUCTIONS
GENERAL PURPOSE BYTE OR WORD TRANSFER INSTRUCTION: MOV,PUSH,POP,XCHG,XLAT SPECIAL ADDRESS TRANSFER INSTRUCTION: LEA,LDS,LES FLAG TRANSFER INSTRUCTIONS LAHF,SAHF,PUSHF,POPF I/O TRANSFER INSTRUCTIONS IN,OUT SIGN EXTENSION INSTRUCTION CBW,CWD PROCESSOR CONTROL INSTRUCTION STC,CLC,CMC,STD,CLD,STI,CLI EXTERNAL HARDWARE SYNCHRONIZATION INSTRUCTION: HLT,WAIT,ESC,LOCK,NOP INTERRUPT INSTRUCTIONS: INT,INTO,IRET

Confidential Information: Do not share or photocopy without prior written approval

42

TIMING DIAGRAM

Confidential Information: Do not share or photocopy without prior written approval

43

SUCCESSOR'S

80186 80286

It included features such as clock generator, interrupt controller, timers, wait state generator, DMA channels, and external chip select lines Released in1982. Clock frequency was increased, optimizing in instruction handling. ability to run in protected mode

80386

It was the first 32 bit CPU from 1985, it also introduced a new working mode called virtual besides the real and the protected modes of the 286 which opened for Multitasking The 486 from 1989 runs twice as fast as its predecessor, bus speed was increased, novelty in the 486 is the built in math co-processor

80486

Confidential Information: Do not share or photocopy without prior written approval

44

APPLICATIONS

The first commercial microcomputer built on the basis of the 8086 was the Mycron 2000. One of the most influential microcomputers of all, the IBM PC, used the Intel 8088, a version of the 8086 with an eight-bit data bus (as mentioned above). The first Compaq Deskpro used an 8086 running at 7.14 MHz, but was capable of running add-in cards designed for the 4.77 MHz IBM PC XT. An 8 MHz 8086 was used in the AT&T 6300 PC (built by Olivetti). The IBM PS/2 models 25 and 30 were built with an 8 MHz 8086. The Amstrad PC1512, PC1640, PC2086, PC3086 and PC5086 all used 8086 CPUs at 8 MHz. The NEC PC-9801 also used 8086 at 5 MHz. The Tandy 1000 SL-series machines used 8086 CPUs. The IBM Displaywriter word processing machine and the Wang Professional Computer also used the 8086. NASA used original 8086 CPUs on equipment for ground-based maintenance of the Space Shuttle Discovery until the end of the space shuttle program in 2011.

Confidential Information: Do not share or photocopy without prior written approval

45

INSTRUCTION TIMING

Confidential Information: Do not share or photocopy without prior written approval

46

THANK YOU

Confidential Information: Do not share or photocopy without prior written approval

47

You might also like