Mp - Cap4 2013
description
Transcript of Mp - Cap4 2013
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 1
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Arhitectura procesoruluiArhitectura procesoruluiConcepte noi:
• segmentarea memoriei
• moduri de adresare caracteristice limbajelor de nivel inalt
• set de registri optimizat
• set de instructiuni codificat pentru utilizarea cu maxima eficienta a memoriei
Caracteristici H/W noi:
• multiplexarea in timp a magistralei de adrese si date
• configuratie interna comutabila
Suprapunerea in timp a etapelor de extragere si executie a instructiunilor procesorului 8086:
micropro-cesoaredin a douageneratie
CPU:
BUS:
EU:
BIU:
BUS:
micropro-cesoare8086/8088
Execute
T
ExecuteExecuteExecute
ExecuteExecuteWrite
Write
Fetch
FetchFetchFetchFetch
Fetch Read
Read
Busy
BusyBusyBusyBusyBusy
BusyBusyBusy
Busy
Prima instructiune (deja extrasa):"Executa" si "Scrie" rezultatulA doua instructiune:doar "Executa"A treia instructiune:"Citeste" operandul si "Executa"A patra instructiune:(nedefinita)A cincea instructiune:(nedefinita)
LEGENDA
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 2
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Arhitectura procesoruluiArhitectura procesorului
Microprocesorul 8086 - schema bloc
AH AL
BH BL
CH CL
DH DL
SP
BP
DI
SI
registre temporare
éé
UAL
indicatori de conditie
(16biti)
CS
DS
SS
ES
IP
registre decomunicatii
interne
Magistrala de adrese(20 biti)
Magistrala
de date(16 biti)
8086
Unitatea de executie Unitatea de interfata cu magistrala
(EU) (BIU)
1 2 3 4 5 6
magistralade control
logicBUS
coada de instructiuni
sistemcontrol
EU
magistrala date UAL
16
Registre deuz general
1
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 3
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Arhitectura procesoruluiArhitectura procesoruluiRegistrii microprocesoruuil 8086
15 8 7 0
15 0
H L
AX
BX
CX
DX
AH
BH
CH
DH
AL
BL
CL
DL
SP
BP
SI
DI
ACCUMULATOR
BASE
COUNT
DATA
STACK
BASE
SOURCE
DESTINATION
POINTER
POINTER
INDEX
INDEX
DATAGROUP
INDEX
POINTERAND
GROUP
REGISTRU
OPERAŢIIAX
Inmultiri, impartiri
si
I/E pe
cuvantAL
Inmultiri, impartiri
si
I/E pe
octet, translatari,aritmetica
zecimalaAH
Inmultiri
si
impartiri
pe
octetBX
TranslatariCX
Operatii
cu siruri
de caractere, contor
pentruoperatii
repetateCL
Deplasari
si
rotiri
cu mai
mult
de o pozitieDX
Inmultiri
si
impartiri
pe
cuvant, I/E cu adresareindirecta
SP
Operatii
cu stivaSI, DI
Operatii
cu siruri
de caractere
15 0
CODESEGMENT
DATASEGMENT
STACK
EXTRA
SEGMENT
SEGMENT
CS
DS
SS
ES
IP - Instruction pointer
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 4
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Arhitectura procesoruluiArhitectura procesorului
Indicatorii de conditie (flag) ai microprocesoruuil 8086
TF - TrapDF - DirectionIF - Interrupt
TRANSPORT
PARITATE
TRANSPORT AUXILIAR
ZERO
SEMN
DEPASIRE
ACTIVARE INTRERUPERE
DIRECTIE
PAS CU PAS
TF DF IF OF SF ZF AF PF CF
INDICATORI DE
CONTROL
INDICATORI DE
STARE
OF - OverflowSF - SignZF - ZeroAF - Auxiliary carryPF - ParityCF - Carry
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 5
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Organizarea memorieiOrganizarea memorieiMemorarea variabilelor si instructiunilor
00000H
7 0 7 07 0 7 0
00001H 00002H FFFFEH FFFFFH
1 MEGABYTE
Adresejoase
Adreseinalte
ß à
19H
Instruc-tiune Instructiune
Bytevaria-bil
Bytevaria-bil
Bytevaria-bil
Variabila wordaliniata
Variabila wordnealiniata
1AH 1BH 1CH 1DH 1EH 1FH 20H 21H 22H 23H(b)
(a)
0 4 8 C
246H 247H
HEXABINAR0000 0100 1000 1100
Valoarea variabilei wordmemorata la 246H este 8C04H
6 5 0 0 4 C 3 B
0110 0101 0000 0000 0100 1100 0011 1011
HEXA
BINAR
4H 5H 6H 7H
VALOAREA POINTERULUI STOCAT LA 4H:ADRESA BAZA SEGMENT:3B4CH OFFSET:65H
Memorarea variabilelor de tip word si pointer
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 6
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Segmentarea memoriei
SEGMENT A SEGMENT B
SEGMENT C
SEGMENT D
SEGMENT E
0H 10000H 20000H 30000H
memoriefizica
segmentelocale
disjuncte
complet suprapusepartial suprapuse
continue
Alocarea segmentelor in memoria fizica
Segmente adresabile in mod curent
Organizarea memorieiOrganizarea memoriei
A
B
CD
EF
G H
IJ
K
B
J
E
H
FFFFFH
0H
DATA DS:
COD CS:
STIVA SS:
EXTRA ES:
B
E
H
J
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 7
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Segmentarea memoriei
Adresa fizica si adrese logice
2C4H2C3H2C2H2C1H2C0H2BFH2BEH2BDH2BCH2BBH2BAH2B9H2B8H2B7H2B6H2B5H2B4H2B3H2B2H2B1H2B0H
BAZASEGMENT
OFFSET(3H)
OFFSET(13H)
BAZASEGMENT
ADRESELOGICE
ADRESEFIZICE
+
=
Deplasare stinga 4 bitiSEGMENT
OFFSET
CATRE MEMORIE
ADRESA
LOGICA
ADRESA FIZICA
19 0
15 0
19 0
15 0
15 0
1 2 3 4
0 0 2 21 2 3 4 0
0 0 2 2
1 2 3 6 2
Generarea adresei
Scopul
accesului
la Segment
Segment
Ofsetmemorie
implicit
alternativ
Extragere
instructiune
CS
-
IPOperatie
cu stiva
SS
-
SPVariabila
(except. urmat.) DS
CS, ES, SS Adr. Efect.Sursa
sir caractere
DS
CS, ES, SS SIDestinatie
sir caractere
ES
-
DIBP utiliz. ca reg. de baza
SS
CS, DS, ES Adr. Efect.
Organizarea memorieiOrganizarea memoriei
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 8
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Segmentarea memoriei
Relocatarea dinamica a programelor
rezervat
dedicat
disponibil
rezervat
dedicat
disponibil
rezervat
disponibil
memorie I/O
FFFFFH
FFFFCHFFFFBHFFFF0HFFFEFH
80H7FH14H13H
0H
FFFFH
100HFFHF8H
0HF7H
Spatiul de memorie si I/E cu precizarea "locatiilor speciale"
Organizarea memorieiOrganizarea memoriei
segmentcode
segmentstiva
segmentdata
extrasegment
segmentcode
segmentstiva
segmentdataextra
segment
CSSSDSES
CSSSDSES
spatiuliber
inainte derelocatare
duparelocatare
segmentcod
segmentcod
segmentstiva
segmentstiva
segmentdata segment
dataextra segment extra
segment
ES ESDSDS
SS SSCS CS
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 9
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Stiva microprocesorului 8086Organizarea memorieiOrganizarea memoriei
00 11
22 33
44 55
66 77
88 99
12 34
01 23
A4 82
89 AB
CD EF
OPERATIILE CU STIVA PT. SECVENTA DE CODPUSH AXPOP AXPOP BX
SS
SP
SS
SP
SS
SP
1062
1060
105E
105C
105A
1058
1056
1054
1052
1050
TOS
00 11
22 33
44 55
66 77
88 99
12 34
BB AA
A4 82
89 AB
CD EF
1062
1060
105E
105C
105A
1058
1056
1054
1052
1050
TOS
00 11
22 33
44 55
66 77
88 99
12 34
BB AA
A4 82
89 AB
CD EF
BX
AX
1062
1060
105E
105C
105A
1058
1056
1054
1052
1050
TOS
absente
dinstiva
bazastivei
stivaexistenta
01 05
00 06
01 05 01 05
00 04 00 08
12 34
AABB
BX
AX
A7 B4
AABB
PUSH AXPOP AX
POP BX
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 10
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareMicroprocesorui 8086
1234567891011121314151617181920
40
3839
3736353433323130292827262524232221
UCP8086
GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMI
INTRCLKGND
VccAD15A16/S3A17/S4A18/S5A19/S6BHE/STMN/MXRDHOLD (RQ/GTO)HLDAWRM/IODT/RDENALEINTATESTREADYRESET
(RQ/GT1)(LOCK)(S2)(S1)(S0)(QS0)(QS1)
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 11
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSemnale
comuneNume
Functie
TipAD15-AD0
Address/Data Bus —
Magistrala
de adrese/date
Bidir., 3-stateA19/S6-A16/S3
Address/Status —
Adrese/Stare
Iesire, 3-stateBHE/S7
Bus High Enable/Status —
Activare
octet superior pe
mag./Stare Iesire, 3-stateMN/MX
Minimum/Maximum Mode Control —
Control mod min./max.
IntrareRD
Read Control —
Control citire
Iesire, 3-stateTEST
Wait On Test Control —
Test asteptare
IntrareREADY
Wait State Control —
Sincronizare
transfer pe
mag. de date
IntrareRESET
System Reset —
Initializare
sistem
IntrareNMI
Non-Maskable
Interrupt Request —
Cerere
intrerupere
nemascabila
IntrareINTR
Interrupt Request —
Cerere
intrerupere
mascabila
IntrareCLK
System Clock —
Ceas
de sistem
IntrareVcc
+ 5 V
IntrareGND
Ground —
MasaSemnale
pentru
modul
minim ( MN/MX = Vcc
)Nume
Functie
TipHOLD
Hold Request —
Cerere
magistrala
IntrareHLDA
Hold Acknowledge —
Acceptare
cerere
magistrală
IesireWR
Write —
Control scriere
Iesire, 3-stateM/IO
Memory/IO Control —
Control selectie
memorie/port de I/E
Iesire,3-stateDT/R
Data Transmit/Receive —
Control sens
transfer date pe
magistrala
Iesire,3-stateDEN
Data Enable —
Activare
date pe
magistrala
Iesire,3-stateALE
Address Latch Enable —
Activare
adrese
pe
magistrala
IesireINTA
Interrupt Acknowledge —
Acceptare
cerere
de intrerupere
IesireSemnale
pentru
modul
maxim ( MN/MX = GND )Nume
Functie
TipRQ/GT1,0
Request/Grant Bus Access Control —
Cerere/Acceptare
acces
mag. BidirectionalLOCK
Bus Priority Lock Control —
Control acces
pe
magistrala
Iesire,3-stateS2 —
S0
Bus Cycle Status —
Specificare
stare ciclu
de magistrala
Iesire,3-stateQS1,QS0
Instrucţion Queue Status —
Specificare
stare coada
de instructiuni
Iesire
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 12
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Functionarea magistralei multiplexate
T1 T2 T3 T4 T1 T2 T3 T4
adresa buffer data adresa buffer data
ciclu de magistrala ciclu de magistrala
ciclu de magistrala
ciclu de magistrala
ciclu de magistrala
T1 T2 T3 T4 T1 T2 T3 T4 T1 TI TI TI TI T1 T2 T3 T4
1 2 3 4 5 6 7 8 9 10 11
perioade deinactivitate
Ciclu tipic de magistrala
Idle states pe magistrala
Tw - Wait states
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 13
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareOperatiade citire pe magistrala multiplexata
addr.,BHE out
status out
A19/S6--
A16/S3
SI BHE/S7
CLK
addr. out
data inAD15--AD0
ALE
M/IO low=I/O read,high=memory read
RD
DT/R
DEN
un ciclu de magistrala
T1 T2 T3 T4
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 14
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareOperatiade scriere pe magistrala multiplexata
addr.,BHE out
status out
A19/S6--
A16/S3
SI BHE/S7
CLK
addr. out
data outAD15--AD0
ALE
M/IO low=I/O write,high=memory write
WR
DT/R
DEN
un ciclu de magistrala
T1 T2 T3 T4
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 15
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareDemultiplexarea magistralei de adrese
8282
8282
8282
8086ALE
BHE
ADRESA
BHE
A19-A16
A15-A8
A7-A0
AD15-AD0
Magistrala multiplexata in timp (adrese/date)
INTEL 8282 - latch pe 8 biti
STB
DI0 DO0
8282/3
DI7 DO7
8 8
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 16
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareConecterea circuitelor direct pe magistrla multiplexata
STB
DI
DI
DO
8282
DATAWR
AD/OE
CS
magistralamultiplexata
ALE
A19-A16,BHE
AD15-AD0
WR
RD
decodificare
magistralade
adrese
A19-A0,BHE
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 17
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareMagistrala de date buferata
INTEL 8286 -buffer pe 8 biti
OE
A0 B0
8286/7
A7 B7
T
8 8
OE=0: T=1 => transfer A->BT=0 => transfer B->A
OE=1: HZ
8282
8282
8282
8086ALE
BHE
ADRESA
BHE
A19-A16
A15-A8
A7-A0
MAGISTRALA DE DATEBUFERATA
8286/8287
A
EN
T
B
8286/8287
A
EN
T B
DATA
magistralele
sistemuluiDEN
DT/R
D15-D8
D7-D0
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 18
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareCircuitul de ceas INTEL 8284
RES
RDY1AEN1
AEN2RDY2
X1
X2
F/C
CLK
RESET
READY
8284
8086CLK
RESET
READY
8 19
10 21
5 22
17
18
13
113476
+5V
CLK
RDYINPUT
READYOUTPUT
UN CICLU DE MAGISTRALA
T1 T2 T3 TW T4
Interfatarea circuitului de ceas 8284 la microprocesorul 8086
Generarea starii de asteptare Twpe magistrala
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 19
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Configuratia sistemului in modul minim
STB8282sau
TOE
8286
CLKREADYRESET
RES
8284GENE-RATORCEAS
VccMN/MX
M/IO
RDWR
DT/RDEN
ALE
AD15-AD0
A19-A16BHE
8086UCP
Vcc
sau8287
8283Memorie
data
Periferice I/O
data
BHEmag. adrese
mag. date
A^
A/D^
Legenda:A^=adresaA/D^=adresa/data (b)
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 20
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Modul maxim: Controlerul de magistrala INTEL 8288
S2 S1 S0 CICLUMICROPROCESOR
IESIRE 8288
0 0 0 Acceptare intrerupere INTA0 0 1 Citire port I/E IORC0 1 0 Scriere port I/E IOWC,
AIOWC0 1 1 Halt -1 0 0 Extragere instructiune MRDC1 0 1 Citire memorie MRDC1 1 0 Scriere memorie MWTC,
AMWC1 1 1 Pasiv -
Modul minim: Ciclu cerere/acceptare magistrala
CLK
T4sauT1
HOLD
HLDA
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 21
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareConfigurarea sistemului in modul maxim
STB8282sau
CLKREADYRESET
RES
8284GENE-RATORCEAS
Vcc
AD15-AD0
A19-A16BHE
8086
UCP
8283Memorie
data
Periferice I/O
data
BHEmag. adrese
mag. date
A^
A/D^
Legenda:A^=adresaA/D^=adresa/data
MN/MX
S0S1S2
MRDCMWTCAMWCIORC
IOWCINTA
S0S1S2DENDT/RALE
CLK
8288
TOE
8286sau8287
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 22
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareModul maxim: Ciclu cerere/acceptare magistrala
CLK
T4sau
T1
RQ/QT
coprocesorulcereaccesul lamagistrala
UCP acorda magistrala
coprocesorului
coprocesorulelibereazamagistrala
RQ/GT1, RQ/GT0
LOCKINTEL 8289 - arbitru de magistrala
instructiunea pe un octet — LOCK.
QS1, QS0 queue status - monitorizarea de catre coprocesorul aritmetic a starii in care se afla coada de instructiuni din BIU: 00 — nici un octet nu a fost extras din coada;01 — s-a extras primul octet al unei instructiuni;10 — coada a fost reinitializata ca urmare a executiei unei instructiuni de transfer;11 — s-a extras al doilea octet al unei instructiuni).
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 23
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSelectia memoriei
MAGISTRALA DE ADRESEA19-A1
A0 BHE
1/2 SUPERIOARA A MAG. DATE
1/2 INFERIOARA A MAG. DATE
D15-D8
D7-D0
A0-A18SEL SEL A0-A18
BANK-ULSUPERIOR(IMPAR)512Kx8
BANK-ULINFERIOR(PAR)512Kx8
Mecanismul de transfer cu memoriaBHE A0 Octet transferat
0 0 Ambii octeti0 1 Octetul high la / de la
adresa impara1 0 Octetul low la / de la
adresa para1 1 Nici unul
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 24
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSelectia memoriei
Y+1X+1
Y(X)
TRANSFERX
A19-A1D15-D8 D7-D0
BHE(HIGH) A0(LOW)
Y+1(X+1)
Y(X)
TRANSFERX+1.X
A19-A1
D15-D8 D7-D0
BHE(LOW) A0(LOW)
Y+1(X+1)
YX
TRANSFERX+1
A19-A1
D15-D8 D7-D0
BHE(LOW) A0(HIGH)
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 25
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSelectia memoriei
Y+1(X+1)
YX
Primul ciclu de mag.
A19-A1
D15-D8 D7-D0
BHE(LOW) A0(HIGH
Y+1(X+1)
(Y)X
Al doilea ciclu de mag.
A19-A1
D15-D8 D7-D0
BHE(HIGH) A0(LOW
TRANSFER variabila word nealiniata
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 26
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSelectia porturilor de I/E
A0-A2
E1E2E3
O0
O78205
ADRESA
A0
BHE
porturileaflate la adresepare
A0-A2
E1E2E3
O0
O78205
porturile
adreseimpare
aflate la
(a)
A0-A2
E1E2E3
O0
O78205
ADRESA
A0 BHE
porturileaflate la adresepare
A0-A2
E1E2E3
O0
O78205
porturile
adreseimpare
aflate la
(b)
A0-A1
E1E2E3
O0
O78205
ADRESA
A0
porturileaflate la adresepare
porturile
adreseimpare
aflate la
A2
(c)
A0-A2
E1E2E3
O0
O78206
ADRESA
A0 BHE
porturileaflate la adresepare D15-D8
MAG. DATE16 BITI
D7-D0
B
B
OE
OE
8286
8286
T
A
T
A
D7-D0
BHE
A0
CSPORTURI
RD
MAG. DATEPORTURI 8-BITI
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 27
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSistemul de intreruperi
CERERE DEINTRERUPERE
NEMASCABILA
LOGICAINTRERUPERI
NMI
instr.INT n
instr.INTO
UCP 8086/8088
8259A
CERERI DEINTRERUPEREMASCABILE
INTR
impartirecu zero
pas cu pas(TF=1)
Controlerul de intreruperi I8259A
Sursele de intrerupere la microprocesorul 8086 (max. 256):- externe: NMI (Non-Mascable Interrupt) si INTR- interne: INT n, INTO (Interrupt on Overflow), Divide error, Step-by-step
Intrerupere / cod = tipul intreruperii / (adresa) vector de intrerupere / (adresa) rutina de tratare a intreruperii
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 28
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardwareSistemul de intreruperi
Tabela vectorilor de intrerupere
Primii 5 dedicati
Nr. - Tip Intrerupere
0 - impartire la zero
1 - pas cu pas
2 - NMI
3- breakpoint
4 - overflow
Urmatorii 27 rezervati
Restul (32 - 255) - la dispozitia utilizatorului
IPSP
IPSP
subruti-
tratarea intre-ruperii 5
0
5
255
000
014
3FE
400
Nr. tipintrerupere
adresamemorie
IPSP
tabelavectoru-lui deintreru-pere
na de
00000101
adresatabeleivectorului
deintrerupere
Nr. tipintrerupere
FFFFE
00
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 29
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Secventa de raspuns la intreruperiintr.
interna
NMI
INTR
TF
executieinstr.
urmatoare
instr.curentacompleta
IF1
0
acceptareintr.
citirecodtip
nu
nu
da
da
nu
da
0
1push flags
TEMP=TF
stergeIF&TF
pushCS&IP
cheamaR.T.I.
NMIda
nu
TEMP1
0executaR.T.I.
popIP&CS
pop flags
parasesteproced.
de intr.
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 30
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Controlerul de intreruperi INTEL 8259A
CSWR
RDD7D6D5D4D3D2D1D0
CAS0CAS1GND
VccA0 INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2
8259A
1234567891011121314
2827262524232221201918171615
CONFIGURATIA PINILOR
D7-D0RDWRA0CSCAS1-CAS0SP/ENINTINTAIR0-IR7
linii cascadare
mag. date (bidirectionala)
selectie circuit
intrare acceptare intr.cereri de intr.
iesire intrerupereslave/enable
adresa selectie comandaintrare scriereintrare citire
SEMNIFICATIA PINILOR
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 31
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Controlerul de intreruperi INTEL 8259A
logica decontrol
buffermag.date
logicacitire/scriere
buffercasca-dare/comp.
registrucerere
intr.
reg. masca intr.
mag. interna
IR0IR1IR2IR3IR4IR5IR6IR7
(IMR)
registruintreru-
periservite(ISR)
resol-ver
priori-tati (IRR)
D0-D7
SP/ENCAS2CAS1CAS0
CSA0
WRRD
INTA INTSCHEMA BLOC
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 32
Sisteme cu microprocesoare Microprocesorul INTEL 8086
Specificatii hardwareSpecificatii hardware
Secventa de recunoastere a intreruperii INTR
CLK
ALE
^LOCK
INTA
tipvector
AD7-AD0
T1 T2 T3 T4 T1 T2 T3 T4primul ciclu INTA al doilea ciclu INTA
^ -doar ptr. modul maxim
Octetul vectorului de intrerupereIR D7 D6 D5 D4 D3 D2 D1 D07 T7 T6 T5 T4 T3 1 1 16 T7 T6 T5 T4 T3 1 1 05 T7 T6 T5 T4 T3 1 0 14 T7 T6 T5 T4 T3 1 0 03 T7 T6 T5 T4 T3 0 1 12 T7 T6 T5 T4 T3 0 1 01 T7 T6 T5 T4 T3 0 0 10 T7 T6 T5 T4 T3 0 0 0