Sunteți pe pagina 1din 14

MICROPROCESORUL 8086

Generaliti
Microprocesorul 8086 a fost lansat n anul 1978 de firma INTEL. Se prezint sub forma unei
capsule cu 40 terminale i este realizat n tehnologie HMOS. Incorporeaza aproximativ 29000
tranzistoare pe o suprafaa de 37,2 milimetri ptrati.
Apariia lui a fost urmat la scurt timp de o familie de componente: generatorul de tact 8284,
controlorul de magistral 8288, coprocesorul aritmetic 8287 i coprocesorul de intrare-ieire 8089. De
remarcat c n anul 1979 apare microprocesorul 8088 care pstreaz toate caracteristicile
microprocesorului 8086, doar c magistrala sa de date externe este de 8 bii. Cu toate acestea a
cunoscut o 1arg rspndire, mai ales datorit ncorporrii sale n produse ale firmei IBM.
Microprocesorul 8086 este cel mai raspndit microprocesor pe l6 bii. Att registrele sale
interne ct i magistrala extern de date sunt pe 16 bii. Printre caracteristicile sale se pot enumera:
- magistrala multiplexat. de adrese/date i adrese/stri;
- posibilitatea de a adresa direct 1 Moctet de memorie;
- execut 94 tipuri de instruciuni;
- lucreaz cu operanzi pe patru bii (cod BCD) , octet, cuvnt, dublu cuvnt, caractere, bloc;
- opt moduri de adresare a operanzilor;
- viteza mare de lucru obinut att datorit frecvenei ridicate a tactului (5 MHz la cea mai
raspndit variant, existnd nsa i variante pe 4 MHz i 8 MHz) ct i unei arhitecturi interne bazat
pe conceptul de suprapunere care permite aducerea n memorie, n avans, a maxim ase instruciuni n
timpul unor cicluri n care procesorul nu are nevoie de schimb de informaii cu exteriorul;
- poate acoperi o gam larg de aplicaii mai ales datorit celor dou moduri de lucru ale sale:
modul minim pentru aplicaii relativ simple, n care micrcprocesorul genereaz el nsui semnalele
necesare transferurilor cu memoria i porturile de intrare/ieire i modul maxim, pentru aplicaii
complete, inclusiv sisteme multiprocesor n care semnalele de comand pentru memorii i porturi de
intrare/ieire sunt generate de un circuit specializat, 8288;
- o parte a terminalelor au rol dublu, ceea ce mpreun cu multiplexarea magistralelor de date i
adrese, a permis ncapsularea microprocesorului ntr-o capsul de 40 pini;
- o singur tensiune de alimentare, +5 Vcc;
- set de instuciuni puternic, inclusiv operaii aritmetice n cod BCD i ASCII, nmulire i
mprtire,

Arhitectura microprocesorului 8086


Structura microprocesorului
Aceast structur poate fi vzut n figura 1. Microprocesorul dispune de mai muli regitri
generali pe 16 bii. El este format din dou componente mari:
- EU (Executive Unit) care execut instruciunile main prin intermediul componentei ALU
(Aritmetic and Logic Unit).
- BIU (Basic Input Unit) este componenta care pregtete execuia fiecrei instruciuni
main. n esen, aceast component citete o instruciune din memorie, o decodific i
calculeaz adresa din memorie a unui eventual operand. Configuraia rezultat este depus
ntr-o zon tampon cu dimensiunea 6 octei (notat ZT n fig.1), de unde va fi preluat de
ctre EU.

8 7

F
ZT

0
CS

AX:

AH

BX:

BH

AL
BL

CX:

CH

CL

DS
SS

DX:

DH

DL

ES

SP
BP
DI
SI

IP
adrese

ADR
date

ALU
ZT
FLAGS
EU

BIU

Fig.1 Structura microprocesorului 8086


Cele dou componente lucreaz n paralel, n sensul c n timp ce EU execut instruciunea
curent, BIU pregtete instruciunea urmtoare. Cele dou aciuni sunt sincronizate, n sensul c cea
care termin prima ateapt dup cealalt.

Regitrii generali EU
Registrul AX este registrul acumulator. El este folosit de ctre majoritatea instruciunilor ca
unul dintre operanzi.
Registrul BX este folosit n principal ca registru de baz.
Registrul CX este folosit n principal ca registru de numrare (registru contor).
Registrul DX este un registru de date. mpreun cu registrul AX se folosete n calculele ale
cror rezultate depesc dimensiunea unui cuvnt (2 octei).
Fiecare dintre regitrii AX, BX, CX, DX au capacitatea de 16 bii. Fiecare dintre ei poate fi
privit n acelai timp ca fiind format prin concatenarea (alipirea) a doi (sub) regitri. Subregistrul
superior conine cei mai semnificativi 8 bii (partea HIGH) ai registrului de 16 bii din care face parte.
Exist astfel regitrii AH, BH, CH, DH. Subregistrul inferior conine cei mai puin semnificativi 8 bii
(partea LOW) ai registrului de 16 bii din care face parte. Exist AL, BL, CL, DL.
Regitrii SP i BP sau regitrii destinai lucrului cu stiva. O stiv se definete ca fiind o zon de
memorie n care se pot depune succesiv valori, extragerea lor ulterioar fcndu-se n ordinea invers
depunerii.
Registrul SP (Stack Pointer) adreseaz ultimul element introdus n stiv (elementul din vrful
stivei).

Registrul BP (Base pointer) adreseaz primul element introdus n stiv (indic baza stivei).
Regitrii DI i SI sunt regitrii de index utilizai de obicei pentru accesarea elementelor din
iruri de octei sau de cuvinte. Denumirile lor (Destination Index i Source Index).
Flagurile
Un flag este un indicator reprezentat pe un bit. O configuraie a registrului de flaguri indic un
rezumat sintetic a execuiei fiecrei instruciuni. Pentru 8086 acest registru (notat FLAGS n fig.2) are
16 bii dintre care sunt folosii numai 9. Structura n detaliu a registrului FLAGS este dat n figura 2.

F E
D C
B
A
2
1
0
x x x x OF DF IF

9
TF

8
SF

7
ZF

6
5
x AF x

4
PF

3
x

CF

Fig.2 Structura registrului de flaguri 8086


CF (Carry Flag) este flagul de transport. Are valoarea 1 n cazul n care n cadrul operaiei s-a
fcut transport n afara domeniului de reprezentare a rezultatului. De exemplu, dac se efectueaz
urmtoarea adunare ntre doi octei:
10010011+
01110011
.
100010110
rezult un transport de cifr semnificativ. Valoarea 1 este depus automat n CF. n absena
transportului, n CF se va depune valoarea 0.
PF (Parity Flag) este flagul de paritate. Valoarea lui se stabilete n aa fel nct mpreun cu
numrul de bii 1 din reprezentarea rezultatului instruciunii s rezulte un numr impar de cifre 1.
AF (Auxiliary Flag) indic valoarea transportului de la bitul 3 la bitul 4 al rezultatului execuiei
instruciunii. De exemplu, n adunarea de mai sus transportului este 0.
ZF (Zero Flag) primete valoarea 1 dac rezultatul instruciunii este egal cu zero i valoarea 0
la rezultat diferit de zero.
SF (Sign Flag) primete valoarea 1 dac rezultatul execuiei instruciunii este un numr strict
negativ i valoarea 0 n caz contrar.
TF (Trap Flag) este un flag de depanare. Dac are valoarea 1, atunci maina se oprete dup
fiecare instruciune
IF (Intrerrupt Flag) este flag de ntrerupere.
DF (Direction Flag) este folosit cnd se opereaz asupra irurilor de octei sau de cuvinte. Dac
are valoarea 0, atunci deplasarea n ir se face de la nceput spre sfrit, iar dac are valoarea 1 este de
deplasri de la sfrit spre nceput.
OF (Overflow Flag) este flag pentru depire. Dac rezultatul ultimei instruciuni nu a
ncput n spaiul operanzilor, atunci acest flag va avea valoarea 1, astfel va avea valoarea 0.
Semnificaiile de mai sus sunt generale. De fapt, fiecare instruciune i specific modul
propriu de setare i interpretare a flagurilor.

Organizarea i selecia memoriei


Microprocesorul 8086 consider memoria ca pe un ir de 1 Moctei. O adres a unei locaii de
memorie trebuie deci reprezentat pe 20 de bii. Capacitatea registrelor i a cuvintelor este ns de 16
bii. Datorit acestui fapt apare necesitatea mpririi spaiului de 1 Moctet n segmente logice de 64 de
Ko. Microprocesorul lucreaz cu 4 segmente concomitent, adresele lor de nceput fiind n registrele de
segment. Segmentele sunt blocuri de memorie care se pot i suprapune. Adresele de nceput trebuie s
fie multiplu de 16, deci cei mai puini semnificativi 4 bii sunt 0.
Vom numi deplasament offset) adresa unei locaii fa de nceputul unui segment. Deoarece
segmentul are 64 Ko, sunt suficieni 16 bii pentru reprezentarea oricrui deplasament.
Vom numi specificare de adres o pereche de numere de cte 16 bii, primul reprezentnd
adresa de nceput a segmentului, iar al doilea deplasamentul n cadrul segmentului. n scriere
hexazecimal, o adres se exprim sub forma:

s3s2s1s0:o3o2o1o0
Mecanismul de calcul al adresei fizice este prezentat n fig.
15
0
Registru de segment 0

15
0

0
Deplasament

0 0

Unitate aritmetic

ADR
19

0
Adresa fizic

Fig. 3
Adresa fizic:
a4a3a2a1a0 = s3s2s1s00+o3o1o1o0
Deplasamentul se afl ntr-unul dintre registrele interne. Pentru a obine adresa fizic, coninutul
registrului segment se deplaseaz la stnga cu 4 ranguri, completnd cu zerouri la dreapta, apoi se
adun deplasamentul, obinndu-se n final adresa fizic. Acest calcul este efectuat de ctre
componenta ADR din BIU.
Exemplu: Presupunem c (SS) = 2590H i (SP) = 1248H.
Adresa fizic a vrfului stivei va fi:
25900 + 1248 = 26B48H, i va fi specificat astfel: 2590:1248.
Pentru codurile instruciunilor adresa de baz a segmentului va fi n registrul CS (Code
Segment) iar deplasamentul n IP.
Este uor de observat c exist mai multe specificri pentru aceeai adres. De exemplu adresa
7BC1:54A3 care indic adresa fizic 810B3, mai poate fi specificat i prin: 810B:0003. n acest fel
este posibil suprapunerea mai multor segmente n aceeai arie de memorie.

Acest mecanism de adresare este tipic pentru 8086 i se mai numete mod de adresare real (Real
Adress Mode).
ncepnd cu microprocesorul 80286 mai apare modul de adresare protejat (Protected Virtual
Adress Mode) iar ncepnd cu 80386 mai apar nc dou moduri de adrese:
- mod paginat
- mod virtual 8086
Arhitectura microprocesorului 8086 permite existena a 4 tipuri de segmente:
- segment de cod, care conine instruciuni main;
- segment de date, care conine date asupra crora se acioneaz conform instruciunilor;
- segment de stiv;
- segment suplimentar de date (extrasegment).
Fiecare program este compus din unul sau mai multe segmente.
n fiecare moment al execuiei este declarat activ cte un singur segment din fiecare tip.
Valori mici
de adrese
Segment
de cod
CS

DS
ES

Segment
de date

Segment de
date
suplimentar

SS
Segment
de stiv
Valori mari
de adrese
Fig. 4
Registru CS (Code Segment), DS (Date Segment), SS(Stack Segment) i ES (Extra Segment)
din BIU rein adresele de nceput ale segmentelor active, corespunztor fiecare tip. Registrul IP
(Instruction Pointer) conine offsetul (deplasamentul) instruciunii curente din cadrul segmentului de
cod curent, el fiind manipulat exclusiv de BIU.
Dei combinaia registru de segment registru pentru accesul n interiorul unui segment se
face n mod implicit, programatorul are posibilitatea de a modifica aceast combinaie.
Microprocesorul 8086 poate lucra cu operanzi pe bit, digit, octet, cuvnt, cuvnt dublu sau bloc.
n cazul n care se transfer operanzi pe cuvnt, dac acesta se afl la o adres par, transferul are loc
ntr-un singur ciclu, iar dac acesta se afl la o adres impar transferul are loc n doi cicli.
Conform conveniilor firmei INTEL cuvntul (16 bii) este memorat astfel: octetul mai puin
semnificativ la o adres de valoare mai mic.

Exemplu:
Cuvntul 1A2B
octet mai puin
octet mai
semnificativ semnificativ
este memorat la adresa fizic 00100H astfel:
00100H:
2B
00101H:
1A
La fel se memoreaz i cuvntul dublu, adic cuvntul mai puin semnificativ se memoreaz la
o adres mai mic.
Exemplu: F2C056AB (dublul cuvntului)
se memoreaz la adresa fizic 01000H astfel:
01000H: AB
01001H: 56
01002H: C0
01003H: F2
Spaiul de memorie direct adresabil al microprocesorului 8086 este de 1 Mo cu adresele de la
00000H la FFFFFH. Adresarea se poate face la nivel de octei dar i la nivel de cuvnt, doi octei
succesivi, fr a exista restricii referitoare la adresa de nceput a operanzilor cuvnt. n spaiul de
memorie exist dou zone, una la nceput, n domeniul 00000H - 0007FH i alta la sfrit, n domeniul
FFFF0H FFFFFH care au destinaii speciale, fiind fie zone dedicate fie zone rezervate. Prima zon
este folosit la memorarea tabelei vectorilor de ntrerupere iar a doua este adresat n urma activrii
semnalului RESET.

REZERVAT
DEDICAT

FFFFFH
FFFFCH
FFFFBH
FFFF0H

DISPONIBIL

REZERVAT
DEDICAT

00080H
0007FH
00014H
00013H
00000H

Fig. 5

Fizic, memoria poate fi mprit n dou blocuri: blocul par i blocul impar. Blocul par
cuprinde doar locaii cu adrese pare, iar cel impar cuprinde doar locaii cu adrese impare.
Blocul impar este conectat la jumtatea inferioar a magistralei de date, D0 - D7, iar cel impar
la jumtatea superioar a magistralei de date D8 D15.

FFFFFH
FFFFDH

FFFFEH
FFFFCH

03H
01H

02H
00H

A19 - A1

D15 D8

D7 - D0

BHE

A0

Fig. 6
Transferul unui octet sau cuvnt se face sub controlul a dou linii A0 i BHE conform tabelului:

BHE
0
0
1
1

A0
0
1
0
1

Se transfer
ambii octei
octet superior la/de la adresa impar
octet inferior la/de la adresa par
fr transfer

Pentru accesul la un operand aflat la o adres par, linia A0 va selecta blocul par, iar
linia BHE va invalida blocul impar. Ca urmare va avea loc transferul ntre locaia adresat i
jumtatea inferioar a magistralei de date. Fig.7 prezint acest transfer unde a este adresa
par a opernadului octet.

a+1

A19 - A1

D15 D8

BHE "1"

D7 - D0

A0 = 0

Fig.7 Transfer de octet la/de la adresa par


Dac se dorete accesul la un operand octet aflat la o adres impar, a + 1 n figura 8,
linia A0 va invalida blocul par n timp ce BHE = 0 logic va selecta blocul impar. Ca urmare
va avea loc transferul ntre locaia adresat i jumtatea superioar a magistralei de date.
a+1

A19 - A1

D15 D8

BHE "0"

D7 - D0

A0 = 1

Fig.8 Transfer de octet la/de la adresa impar


n cazul unui transfer pe cuvnt, care este memorat ncepnd cu o adres par, fig. 9, ambele
blocuri vor fi selectate simultan de liniile A0 = BHE = 0 logic. Va avea loc transferul ntre
cele dou locaii adresate, a i a + 1, i ntreaga magistral de date. Transferul are loc ntr-un
singur cilcu de magistral i se spune c operandul este aliniat.

a+1

A19 - A1

D15 D8

BHE "0"

D7 - D0

A0 = 0

Fig.9Transfer de octet la/de la adresa par


n cazul unui acces la un operand cuvnt, memorat ncepnd cu o adres impar, fig.10,
se spune c operandul este nealiniat i sunt necesari doi ciclii de magistral. La primul ciclu
avem BHE = 0 logic i A0 = 1 logic ca urmare se va transfera octetul de la adresa impar, a
+ 1 n figura, pe jumtate superioar a magistralei de date, care este octetul mai puin
semnificativ al operandului.
Urmeaz apoi al doilea ciclu, n care adresa este incrementat, deci A0 = 0 logic i
BHE = 1 logic, ca urmare se va transfera octetul de la adresa par, a + 2, pe jumtatea
inferioar a magistralei de date, acest octet fiind cel mai puin semnificativ al operandului.
Aceste operaii sunt executate de microprocesor automat, inclusiv direcionarea corect a
octeilor ctre jumtile corespunztoare ale registrelor interne ale sale i tot procesul este
transparent pentru utilizator, doar c transferul este mai lung cu patru stri.
a+3
a+1

A19 - A1

a+2
a

D15 D8

BHE "0"

D7 - D0

A0 = 1

a+2

a+3
a+1

A19 - A1

D15 D8

BHE "1"

D7 - D0

A0 = 0

Fig.10 Transfer de octet la/de la adresa impar

GND
AD14
AD13
AD12
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
NMI
INTR
CLK
GND

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

8086

Terminalele microprocesorului i semnificaia lor


40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21

Vcc
AD15
A16/S3
A17/S4
A18/S5
A19/S6
BHE/S7
MN/MX
RD
RQ/GT0
RQ/GT1
LOCK
S2
S1
S0
QS0
QS1
TEST
READY
RESET

(HOLD)
(HLDA)
(WR)
(M/IO)
(DT/R)
(DEN)

AD15-AD0 : linii bidirecionale cu trei stri, constitue magistrala multiplexat pe care, n


timpul unui ciclu apar adresele de memorie sau a unor porturi de intrare ieire

A16/S3, A17/S4, A18/S5, A19/S6: ieiri cu trei stri, care n starea T1 reprezint cele mai
semnificative linii ale magistralei de adrese iar n timpul strilor T2- T4 reprezint o informaie
de stare; combinaia de pe liniile S3, S4 indic registrul de segment utilizat n calculul adresei
fizice, S5 copiaz indicatorul pentru ntreruperi, iar S6 este ntotdeauna 0.
BHE/S7: ieire cu trei stri care n timpul strii T1 se activez atunci cnd are loc un transfer pe
jumtatea superioar a magistralei de date validnd acest transfer, iar n timpul strilor T2 - T4
este bit de stare.
RD: ieire cu trei stri activ atunci cnd microprocesorul execut un ciclu de citire.
READY: intrare pentru sincronizare cu memoriile sau porturile de intrare-ieire mai lente;
INTR: intrare pentru cereri de ntrerupere mascabile
TEST: intrare utilizat de instruciunea WAIT; dac TEST=0 logic execuia programului
continu, altfel se introduc stri suplimentare de ateptare;
NMI: intrare pentru cereri de ntrerupere nemascabile;
RESET: intrare pentru iniializarea microprocesorului;
CLK: intrarea de tact cu frecvena uzual de 5 MHz;
n continuare se prezint funciunile terminalelor n mod minim:
M/IO: ieire cu trei stri avnd acelai rol cu S2 n mod maxim; dac are valoarea 0 se
execut un ciclu de acces la memorie, iar dac are valoarea 1 se execut o operaie de intrare /
ieire cu perifericele;
WR: ieire cu trei stri activ cnd microprocesorul execut o operaie de scriere;
INTA: ieire cu trei stri care se activeaz atunci cnd microprocesorul execut un ciclu de
acceptare a unei cereri de ntrerupere;
ALE: ieire care se activeaz atunci cnd pe magistrala multiplexat exist o informaie de
adres; se poate folosi pentru ncrcarea acestei informaii ntr-un registru;
DT/R: ieire cu trei stri avnd acelai rol cu S1 n mod maxim;indic sensul transferului pe
magistrala de date: 1-transmisie, 0 recepie;
DEN: ieire cu trei stricare valideaz preluarea datelor de ctre microprocesor;
HOLD: intrare pentru cereri de cedare a magistralei;
HLDA: ieire, rspuns la cererea HOLD, semnificnd acceptarea acestei cereri i trecerea
magistralelor proprii de date, adrese i de control n starea a treia (de impedan ridicat);
Ultimele opt terminale prezentate au alte funciuni n mod maxim:
S2,S1,S0 : ieiri cu trei stri sunt linii de stare care codific tipul de ciclu pe care-l execut
microprocesorul; ele constitue intrri ctre un circuit specializat 8288 cu rolul de a genera
semnale de comand pentru memorii i porturile de intrare ieire;
S2
S1
S0
Tip ciclu
0
0
0
Acceptare a unei cereri de ntrerupere
0
0
1
Intrare date
0
1
0
Ieire date
0
1
1
Halt
1
0
0
Aducere cod instruciune
1
0
1
Citire date
1
1
0
Scriere date
1
1
1
inactiv

QS1
0
0
1
1

RQ/GT0, RQ/GT1: linii bidirecionale folosite pentru cedarea magistralelor de ctre


microprocesor n urma unui dialog de tip cerere- rspuns-renunare
LOCK: ieire ci trei stri, care atunci cnd se activeaz indic faptul c microprocesorul nu va
rspunde nici unei cereri de cedare a magistralelor; semnalul poate fi activat prin program;
QS0, QS1: ieiri care indic spre exteriortipul de informaie preluat de unitatea de execuie din
irul de ateptare;
QS0 Semnificaie
0
Fr citire din ir
1
Octetul preluat din ir a fost primul octet al instruciunii
0
irul este gol
1
Octetul preluat din ir este un alt octet dect primul din instruciune

Modurile de lucru

8086

Microprocesorul poate lucra n modul minim care se preteaz unui sistem mai simplu , i poate
lucra i n mod maxim. n mod minim genereaz el nsui semnalele de comand pentru transferurile cu
memoria i echipamentele de intrare-ieire. n fig. urmtoare este prezentat d.p.d.v. funcional
microprocesorul 8086 n mod minim

A19/S6-A16/S3

INTR
AD15-AD0
INTA
TEST
ALE
NMI
n mod maxim microprocesorul comunic, la fiecare
nceput de ciclu tipul de ciclu pe care-l
BHE/S7
RESET
va executa, pe trei linii de stare S,S1,S0. Aceste linii constitue intrri pentru un circuit speclializat
M/IO
HOLD
8288 , care
va genera semnale de comand pentru transferul
cu memoriile i echipamentele de intrareDT/R
ieire. Modul
mai complexe, inclusiv n sistemele
HLDAmaxim este potrivit n cazul aplicaiilor
multiprocesor
i
conectarea
de
coprocesoare.
RD
CLK
Fixarea modului de lucru se face prin intermediul semnalului MN/MX=0 pentru modul
WR
maxim i 1 pentru modul minim.
DEN
MN/MX=Vcc
READY

8289

LOCK
S2
S1
S0

INTR

CLK

TEST

LOCK
S2
S1
S0

8086

NMI
RESET

S2
S1
S0

8288

CLK AEN IOB

CLK

DEN
DT/R
ALE

.
BUSY
CBRQ
BPRD
BPRN
BREQ
BCLK

.
MRDC
MWTC
AMWC
IDRC
IDWC
AIOWC
INTA
MCE/
PDEN
ALE
DT/R
DEN
A19/S6A16/S3
AD15-ADO
BHE
RD
READY
QS0
QS1
RQ/GT0
RQ/GT1

MN/MX
=GND

Microprocesorul 8086 n modul maxim


Cicluri de baz
n continuare se va prezenta modul de variante a semnalelor microprocesorului, n cadrul unor
cicluri de baz. Toate transferurile ntre microprocesoare i memorii sau porturi de intrare/ieire se fac
n conformitate cu aceste cicluri.
Un ciclu minim dureaz patru stri, notate cu T1 pn la T4, o stare fiind definit ca o perioad
a impulsului de tact. ntrre strile T3 i T4 se pot insera stri de ateptate, notate cu Tw, atunci cmd
memoria sau porturile de intrare/ieire sunt prea lente, prin intermediul intrrii READY.
BIU execut cicluri de magistral doar atunci cnd EU i cere acest lucru sau cnd aduce
anticipat instruciuni. Strile n care nu exist vreo activitate a BIU cu exteriorul se numesc stri
inactive. ntre doi cicli de magistral pot fi oricte stri ianctive.
ntruct varianta semnalelor de comand depinde de modul n care lucreaz microprocesorul, se
vor prezenta ciclurile de baz pentru modul minim.
Ciclurile de citire i intrare pentru modul minim
Este prezentat n figura urmtoare. Ciclul ncepe cu starea T1 n care microprocesorul plaseaz
pe magistrala de adrese o configuraie pe 20 bii. De asemenea, activeaz semnalul BHE. ntruct

majoritatea memoriilor i a porturilor de intrare/ieire cer ca adresa s fie stabil tot timpul ciclului este
necesar ca aceast informaie s fie preluat de pe magistrala de adrese/date a microprocesorului i
memorat ntr-un registru. Aceast demultiplexare se poate realiza cu semnalul ALE folosit ca semnal
de strobare.
T1

T2

T3

T4

CLK
A19/S6A16/S3<BHE>

ADRESE

AD15-AD0

ADRESE

STARI

DATE
PRIMITE

ALE

M/IO

RD
DT/R

DEN
READY

Ciclul de citire i intrare n modul minim


La nceputul strii T1, semnalele M IO i DT R sunt poziionate conform tipului de ciclu n
curs, starea lor rmnnd neschimbat tot timpul ciclului. Linia M IO indic dac ciclul se refer la
memorie, M IO =1 logic, sau la periferie, M IO =0 logic iar linia DT R indic dac
microprocesorul transmite DT R =1 logic sau recepioneaz, DT R =0 logic.
n timpul strii T2, informaia de pe liniile A16/S3 pn la A19/S6 se schimb indicnd
informaia de stare. Liniile S3 i S4 care codific registrul de segment folosit la calculul adresei de
memorie sau pentru protecia unui segment fa de accese neautorizate. nformaia de stare rmne
necodificat i n strile T3 i T4. Liniile AD15-ADO trec n a treia stare. Tot n starea T2 se activeaz
semnalul RD , indicnd c se execut un ciclu n care microprocesorul primete informaie i semnalul
DEN , indicnd exteriorului c datele pot fi plasate pe magistral.
Pe frontul ridictor al tactului din starea T3 microprocesorul testeaz linia READY. Dac este
1 logic se continu, n caz contrar se intr n stri de ateptare, Tw, n care informaia pe linii rmne
neschimbat i se testeaz linia READY. n starea T3 se preiau datele, iar la nceputul strii T4
sedezactiveaz semnalele RD i DEN indicnd sfritul ciclului. La sfritul aceleiai stri T4 se
poziioneaz liniile DT R i M IO pentru ciclul urmtor.

Ciclul de scriere i ieire pentru modul minim


Ciclul este prezentat n fig.urmtoare. El este asemntor cu cel de citire cu cteva
particulariti:
-pe liniile AD15-ADO, dup informaia de adrese se va genera imediat, n starea T2, informaia
care se va nscrie n memorie sau n portul de ieire, fr ca aceste linii s mai treac n a treia stare;
-linia DT R va avea nivel 1 logic, fa de 0 logic n cazul anterior;
-la nceputul starii T2 se activeaz WR , mai devreme ca RD la ciclul anterior, indicnd
exteriorului ca microprocesorul execut un ciclu de scriere sau ieire;
-semnalul /DEN este activat mai devreme ca n cazul ciclului de citire.
T1

T2

T3

CLK
A19/S6A16/S3<BHE>

ADRESE

AD15-AD0

ADRESE

T4

STARI

DATE
GENERALE

ALE

M/IO
WR
DT/R
DEN
READY

Ciclul de scriere i ieire n modul minim