Mp - Cap4 2013

32
c 2013 Liviu Kreindler / Aurelian Sarca 4 - 1 Sisteme cu microprocesoare Microprocesorul INTEL 8086 Arhitectura procesorului Concepte 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- cesoare din a doua generatie CPU: BUS: EU: BIU: BUS: micropro- cesoare 8086/8088 Execute T Execute Execute Execute Execute Execute Write Write Fetch Fetch Fetch Fetch Fetch Fetch Read Read Busy Busy Busy Busy Busy Busy Busy Busy Busy Busy Prima instructiune (deja extrasa): "Executa" si "Scrie" rezultatul A doua instructiune: doar "Executa" A treia instructiune: "Citeste" operandul si "Executa" A patra instructiune: (nedefinita) A cincea instructiune: (nedefinita) LEGENDA

description

mp

Transcript of Mp - Cap4 2013

Page 1: 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

Page 2: Mp - Cap4 2013

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

Page 3: Mp - Cap4 2013

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

Page 4: Mp - Cap4 2013

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

Page 5: Mp - Cap4 2013

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

Page 6: Mp - Cap4 2013

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

Page 7: Mp - Cap4 2013

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

Page 8: Mp - Cap4 2013

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

Page 9: Mp - Cap4 2013

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

Page 10: Mp - Cap4 2013

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)

Page 11: Mp - Cap4 2013

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

Page 12: Mp - Cap4 2013

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

Page 13: Mp - Cap4 2013

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

Page 14: Mp - Cap4 2013

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

Page 15: Mp - Cap4 2013

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

Page 16: Mp - Cap4 2013

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

Page 17: Mp - Cap4 2013

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

Page 18: Mp - Cap4 2013

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

Page 19: Mp - Cap4 2013

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)

Page 20: Mp - Cap4 2013

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

Page 21: Mp - Cap4 2013

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

Page 22: Mp - Cap4 2013

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).

Page 23: Mp - Cap4 2013

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

Page 24: Mp - Cap4 2013

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)

Page 25: Mp - Cap4 2013

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

Page 26: Mp - Cap4 2013

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

Page 27: Mp - Cap4 2013

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

Page 28: Mp - Cap4 2013

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

Page 29: Mp - Cap4 2013

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.

Page 30: Mp - Cap4 2013

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

Page 31: Mp - Cap4 2013

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

Page 32: Mp - Cap4 2013

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