8086 Microprocessor Architecture: 16-bit microprocessor

AshwiniTodkar4 567 views 47 slides May 09, 2024
Slide 1
Slide 1 of 47
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47

About This Presentation

This presentation gives you easier way to study 8086 i.e. 16 bit microprocessor. 8086 microprocessor's architecture contains two basic functional units namely Bus Interface Unit and Execution Unit. BIS fetches the instructions from memory. It reads/writes instructions to/from memory. Input/Outpu...


Slide Content

8086 Architecture
-Presented By,
Ashvini A Todkar
Assistant Professor, ATS’s SBGI Miraj
1

Block diagram of 8086
2

Software Model of the 8086 Microprocessors
3

8086 Registers
4CS
SS
DS
ES
Segment
BP
Index
SP
SI
DI
AH
BH
CH
DH DL
CL
BL
AL
General Purpose
Status and Control
Flags
IP
AX
BX
CX
DX

General Purpose Registers
•Normally used for storing temporary results
•Each of the registers is 16 bits wide (AX, BX, CX, DX)
•Can be accessed as either 16 or 8 bits AX, AH, AL
5
AX -the Accumulator
BX -the Base Register
CX -the Count Register
DX -the Data Register

General Purpose Registers
•AX
–Accumulator Register
–Preferred register to use in arithmetic, logic and data
transfer instructions because it generates the shortest
Machine Language Code
–Must be used in multiplication and division
operations
–Must also be used in I/O operations
•BX
–Base Register
–Also serves as an address register
6

General Purpose Registers
•CX
–Count register
–Used as a loop counter
–Used in shift and rotate operations
•DX
–Data register
–Used in multiplication and division
–Also used in I/O operations
7

Pointer and Index Registers
•All 16 bits wide, L/H bytes are not accessible
•Used as memory pointers
–Example: MOV AH, [SI]
•Move the byte stored in memory location whose addressis contained in
register SI to register AH
•IP is not under direct control of the programmer
8

Flag Register
9
Carry
Parity
Auxiliary Carry
Zero
Overflow
Direction
Interrupt enable
Trap
Sign
6 are status flags
3 are control flag

8086 Programmer’s Model
10
ES
CS
SS
DS
IP
AH
BH
CH
DH
AL
BL
CL
DL
SP
BP
SI
DI
FLAGS
AX
BX
CX
DX
Extra Segment
Code Segment
Stack Segment
Data Segment
Instruction Pointer
Accumulator
Base Register
Count Register
Data Register
Stack Pointer
Base Pointer
Source Index Register
Destination Index Register
BIU registers
(20 bit adder)
EUregisters

The Stack
•Thestackisusedfortemporarystorageofinformation
suchasdataoraddresses.
•WhenaCALLisexecuted,the8086automaticallyPUSHes
thecurrentvalueofCSandIPontothestack.
•Otherregisterscanalsobepushed
•Beforereturnfromthesubroutine,POPinstructionscan
beusedtopopvaluesbackfromthestackintothe
correspondingregisters.
11

The Stack
12

INTEL 8086 -Pin Diagram
13

INTEL 8086 -Pin Details
14
Ground
Clock
Duty cycle: 33%
Power Supply
5V 10%
Reset
Registers, seg
regs, flags
CS: FFFFH, IP:
0000H
If high for
minimum 4
clks

INTEL 8086 -Pin Details
15
Address/DataBus:
Contains address
bits A
15-A
0 when ALE
is 1 & data bits D
15–
D
0when ALE is 0.
Address Latch Enable:
When high,
multiplexed
address/data bus
contains address
information.

INTEL 8086 -Pin Details
16
INTERRUPT
Non -maskable
interrupt
Interrupt request
Interrupt
acknowledge

INTEL 8086 -Pin Details
17
Direct
Memory
Access
Hold
acknowledge
Hold

INTEL 8086 -Pin Details
18
Address/Status Bus
Address bits A
19–
A
16& Status bits S
6
–S
3

INTEL 8086 -Pin Details
19
Bus High Enable/S7
Enables most
significant data bits
D
15–D
8during read
or write operation.
S
7: Always 1.
BHE#, A
0:
0,0:Whole word
(16-bits)
0,1:High byte
to/from odd address
1,0:Low byte
to/from even address
1,1:No selection

INTEL 8086 -Pin Details
20
Min/Max mode
Minimum Mode: +5V
Maximum Mode: 0V
Minimum Mode Pins
Maximum Mode
Pins

Minimum Mode-Pin Details
21
Read Signal
Write Signal
Memory or I/0
Data Bus Enable
Data
Transmit/Receive

Maximum Mode -Pin Details
22
Status Signal
Inputs to 8288 to
generate eliminated
signals due to max
mode.
S2 S1 S0
000: INTA
001: read I/O port
010: write I/O port
011: halt
100: code access
101: read memory
110: write memory
111: none -passive

Maximum Mode -Pin Details
23
DMA
Request/Grant
Lock Output
LockOutput
Usedtolockperipherals
offthesystem
Activatedbyusingthe
LOCK:prefixonany
instruction

Maximum Mode -Pin Details
24
Queue Status
Used by numeric
coprocessor (8087)
QS1 QS0
00: Queue is idle
01: First byte of opcode
10: Queue is empty
11: Subsequent byte of
opcode

Minimum Mode 8086 System
25

Minimum Mode 8086 System
26

‘Read’ Cycle timing Diagram for
Minimum Mode
27

‘Write’ Cycle timing Diagram for
Minimum Mode
28

Maximum Mode 8086 System
29

Maximum Mode 8086 System
30

Maximum Mode 8086 System
•Here,eitheranumericcoprocessorofthetype8087oranother
processorisinterfacedwith8086.
•TheMemory,AddressBus,DataBusesaresharedresources
betweenthetwoprocessors.
•ThecontrolsignalsforMaximummodeofoperationare
generatedbytheBusControllerchip8788.
•ThethreestatusoutputsS0*,S1*,S2*fromtheprocessorare
inputto8788.
•TheoutputsofthebuscontrolleraretheControlSignals,namely
DEN,DT/R*,IORC*,IOWTC*,MWTC*,MRDC*,ALEetc.
31

Memory Read timing in
Maximum Mode
32

Memory Write timing in
Maximum Mode
33

8086 Control Signals
1.ALE
2.BHE
3.M/IO
4.DT/R
5.RD
6.WR
7.DEN
34

Coprocessor and Multiprocessor
configuration
•MultiprocessorSystemsrefertotheuseofmultiple
processorsthatexecutesinstructionssimultaneously
andcommunicatewitheachotherusingmailboxesand
Semaphores.
•Maximummodeof8086isdesignedtoimplement3
basicmultiprocessorconfigurations:
1.Coprocessor(8087)
2.Closelycoupled(8089)
3.Looselycoupled(Multibus)
35

Coprocessor and Multiprocessor
configuration
•CoprocessorsandCloselycoupledconfigurationsare
similarinthatboththe8086andtheexternalprocessor
sharesthe:
-Memory
-I/O system
-Bus & bus control logic
-Clock generator
36

Coprocessor / Closely Coupled
Configuration
37

TEST pin of 8086
•UsedinconjunctionwiththeWAITinstructionin
multiprocessingenvironments.
•Thisisinputfromthe8087coprocessor.
•Duringexecutionofawaitinstruction,theCPUchecksthis
signal.
•Ifitislow,executionofthesignalwillcontinue;ifnot,it
willstopexecuting.
38

Coprocessor Execution Example
Coprocessor cannot take control of the bus, it does everything through the CPU
39

Closely Coupled Execution Example
•Closely Coupled
processor may take
control of the bus
independently.
•Two 8086’s cannot
be closely coupled.
40

Loosely Coupled Configuration
•hassharedsystembus,systemmemory,andsystem
I/O.
•eachprocessorhasitsownclockaswellasitsown
memory(inadditiontoaccesstothesystemresources).
•Usedformediumtolargemultiprocessorsystems.
•Eachmoduleiscapableofbeingthebusmaster.
•Anymodulecouldbeaprocessorcapableofbeingabus
master,acoprocessorconfigurationoracloselycoupled
configuration.
41

Loosely Coupled Configuration
•Nodirectconnectionsbetweenthemodules.
•Eachsharethesystembusandcommunicatethrough
sharedresources.
•Processorintheirseparatemodulescansimultaneously
accesstheirprivatesubsystemsthroughtheirlocal
busses,andperformtheirlocaldatareferencesand
instructionfetchesindependently.Thisresultsin
improveddegreeofconcurrentprocessing.
•Excellentforrealtimeapplications,asseparatemodules
canbeassignedspecializedtasks
42

Advantages of Multiprocessor
Configuration
1.Highsystemthroughputcanbeachievedbyhavingmorethan
oneCPU.
2.Thesystemcanbeexpandedinmodularform.
Eachbusmastermoduleisanindependentunitandnormallyresideson
aseparatePCboard.Onecanbeaddedorremovedwithoutaffectingthe
othersinthesystem.
3.Afailureinonemodulenormallydoesnotaffectthebreakdown
oftheentiresystemandthefaultymodulecanbeeasily
detectedandreplaced
4.Eachbusmasterhasitsownlocalbustoaccessdedicated
memoryorIOdevices.Soagreaterdegreeofparallelprocessing
canbeachieved.
43

WAIT State
•Awaitstate(T
w)isanextraclockingperiod,inserted
betweenT2andT3,tolengthenthebuscycle,allowing
slowermemoryandI/Ocomponentstorespond.
•TheREADYinputissampledattheendofT2,andagain,
ifnecessaryinthemiddleofTw.IfREADYis‘0’thena
Twisinserted.
44 1 2 3 4
Clock
READY
Tw

8086 System Memory Circuitry
1.Minimum Mode System Memory Circuitry
2.Maximum Mode System Memory Circuitry
45

Minimum Mode System Memory Circuitry
46

Maximum Mode System Memory Circuitry
47