Sunteți pe pagina 1din 36

Subiecte Sisteme bazate pe microprocesoare

1. Structura general a unui calculator. Organizarea general a unui sistem cu un singur procesor

Fluxul de informaii este controlat de UCP pe dou ci:
cale de control (creierul procesorului). Semnalele de control spun cii de date, memoriei i sistemului de intrare/ieire ce
s fac, conform instruciunilor unui program.
cale de date (muchii procesorului). Calea de date realizeaz operaii aritmetice / logice i de transfer

2. Ce reprezint un microprocessor i un microcontroller. Care este diferena dintre acestea? MICROCONTROLLER - un
calculator ce include un microprocesor i care este destinat aplicaiilor de control industrial (nu calculului de uz
general). Un microcontroller conine: UCP, memorie i IO Un microcontroller este un microcalculator pe un chip
proiectat pentru aplicaii de control.

Microprocesor vs. Microcontroller
Microprocesoarele sunt utilizate n general pentru aplicaii de nalt performan de procesare.
Microprocesoarele sunt utilizate ca UCP pentru calculatoare de uz general (GPC)
Microprocesoarele necesit extern memorie i interfee IO
Microprocesoarele sunt utilizate n PC-uri, staii de lucru, servere, unde compatibilitatea software, performana,
generalitatea i flexibilitatea sunt importante.
Microcontrollerele sunt proiectate pentru a se obine o dimensiune redus a chip-ului, micorarea costurilor i includerea
de spaiu de memorie i IO pe chip.
Microcontrollerele sunt adesea specializate pe aplicaii n dauna flexibilitii.
Un microcontroller conine: UCP, Memorie, IO
Principalul obiectiv al proiectrii pentru fiecare tip de chip poate fi rezumat ca:
Microprocesoarele (MP) sunt mai ales flexibile
Microcontrollerele (MC) sunt mai ales compacte
3. Arhitectura general a unui calculator model von Neumann Principii:
Datele i instruciunile sunt stocate n aceeai memorie principal (conceptul de program stocat);
Coninutul memoriei este adresabil la nivel de locaie (fr a se considera ce informaie este stocat: date sau cod);
Instruciunile sunt executate secvenial (una cte una n ordinea locaiilor de memorie n care sunt stocate) cu excepia
faptului cnd acest lucru este precizat explicit.
Calculatorul conine urmtoarele subsisteme: unitate de control, unitate aritmetic i logic (ALU), sistem IO, memorie
Calculatoarele cu arhitectur von Neumann sunt calculatoare de uz general. Ele pot rezolva diverse probleme n funcie de
programul executat.
Arhitectur de uz general secvenial (von Neumann) reprezentare structural

4. Unitatea de control. Structur general
Unitatea de control (UC) este creierul procesorului
UC controleaz i sincronizeaz toate elementele din interiorul UCP i interfeele ctre calea de date extern.



5. Memoria principal (intern)


6. Tipuri de arhitecturi
Arhitectur von Neumann o singur memorie pentru date i instruciuni




Arhitectur Harvard Memorii separate pentru instruciuni i date





,,Arhitectura calculatorului
Arhitectul de calculator proiecteaz maina pentru a rula programe. Printre sarcinile sale, sunt i urmtoarele:
proiectarea setului de instruciuni
organizare funcional
proiectare logic, i
implementare
Termenul de arhitectur se refer la dou componente principale:
Arhitectura Setului de Instruciuni (ISA), se refer la setul de instruciuni vizibile programatorului. Arhitectura setului de
instruciuni servete ca o interfa ntre software i hardware.
Implementarea mainii cu dou sub-componente:
organizare
hardware
7. Structura unui processor de uz general i funciile acestuia
Funcie processor Unitatea Central de Prelucrare (UCP) a calculatorului numeric este o structur de procesor de uz
general, cu set de instruciuni
UCP este un procesor de uz general
n cadrul unui sistem de calcul, (micro)procesorul UCP are responsabilitatea general de interpretare i execuie a
instruciunilor unui program (secven de instruciuni stocat n memoria principal).
n accepiunea clasic (von Neumann) a unui sistem de calcul, maina conine o singur UCP
Un astfel de calculator este numit uniprocesor, pentru a-l deosebi de calculatoarele multiprocesor, care conin dou sau mai
multe UCP. UCP are o funcionare ciclic fiecare instruciune este executat ntr-o secven de etape
aduce (fetch) o instruciune din memorie.
execut instruciunea
Ciclul de execuie include:
decodificarea instruciunii
aducerea operanzilor
execuia operaiilor specifice codului operaiei
Ca structur general, un procesor cuprinde
o unitate de prelucrare a datelor (care conine o unitate aritmetic i logic i registrele folosite ca memorie local) i
o unitate de control
Structura unui processor

8. Ciclurile de funcionare ale
unui processor
Cicluri de funcionare
Ciclu instruciune: Secvena de
operaii necesare pentru adresarea,
aducerea i execuia unei instruciuni.
Un ciclu instruciune conine mai
multe cicluri main
Ciclul main: intervalul de timp
necesar pentru terminarea unei operaii intermediare: citire memorie, scriere memorie, citire IO, scriere IO
Ciclul de fetch instruciune = primul ciclu main al oricrui ciclu instruciune
De obicei un ciclu main implic un transfer al procesorului cu exteriorul. Un ciclu main conine mai multe stri UCP.
Stare (timp de ciclu al UCP)
Este timpul UCP (tUCP) necesar pentru executarea unei operaii elementare i bine definite (este inversul frecvenei la care
lucreaz procesorul)
O operaie elementar (micro-operaie) se refer de obicei la un transfer ntre dou registre
Starea este unitatea de timp de baz pentru msurarea duratei activitilor UCP

9. UCP tipic pentru organizarea pe baz de registre de uz general

10. Set tipic de indicatori de condiii cu exemple de setare a acestora
Sign (S)
Zero (Z)
Parity (P)
OVerflow (V)
Carry (C)
Auxiliary Carry (AC)
Exemple privind modul de setare al indicatorilor de condiii



11. Semnalele de interfa a
procesorului cu exteriorul
MAGISTRALE EXTERNE
magistrala de adrese
magistrala de date
magistrala de control

12. Magistrala de adrese. MAGISTRALA DE ADRESE
Linii de adres, ce transmit doar semnale de ieire din microprocesor
Este o magistral unidirecional
Liniile de pe aceast magistral se folosesc pentru adresarea locaiilor de memorie i a porturilor de intrare-ieire.
Ieirile P spre magistrala extern de adrese pot trece n starea de nalt impedan (HiZ) la o cerere extern, cnd UCP
cedeaz controlul magistralelor ctre alt dispozitiv
De obicei valorile binare cele mai semnificative (cu ponderea binar maxim) din adres se folosesc pentru selectarea
blocurilor de memorie
Logic de adresare i decodificare memorie

Decodificare pentru generarea semnalelor de selecie i adresarea unei memorii de 64 k prin decodificare complet



Construire de memorii mai MARI ca nr. Cuvinte Exemplu: 256 KB cu circuite de 64 KB


Construire de memorii cu numr mai mare de bii pe cuvnt






13. Magistrala de date i Magistrala de control
MAGISTRALA DE DATE
Lrgimea magistralei de date este de obicei multiplu de octet (d = 8, 16, 32, 64...)
Cele d linii ale magistralei de date sunt bidirecionale
Liniile au posibilitatea de trecere n starea de nalt impedan (HiZ)
Pentru economie de pini, unele microprocesoare multiplexeaz n timp liniile magistralei de date
n primul ciclu main al fiecrei instruciuni pe magistrala de date se pot transmite informaii de adres sau informaii de
control
De exemplu la procesoarele Intel 8085 i 8086 pini ai magistralei de date sunt multiplexai pentru a se putea transmite i
informaie de adres (adres validat de semnalul de control ALE (Address Latch Enable) care comand stocarea adresei ntr-
un registru extern
MAGISTRALA DE CONTROL
1. Semnale de control i sincronizare pentru transferuri de date cu memoria i dispozitivele de I/O;
2. Semnale de control i sincronizare a cererilor de cedare a controlului magistralelor;
3. Semnale de control i sincronizare cu evenimente externe ce genereaz cereri de ntrerupere;
4. Semnale indicatoare de stare;
5. Semnale utilitare, cum ar fi reset, clock, alimentare cu tensiune;
6. Semnale diverse, specifice tipurilor de microprocesoare i scopului pentru care au fost proiectate. De exemplu:
intrri testabile prin software
intrri pentru comanda activitii pas cu pas a UCP
intrri pentru semnalizarea unor erori
intrri / ieiri pentru lucrul n sistem multi-procesor etc.
14. Semnale pentru controlul datelor pe magistral cu exemplu de ciclu de citire asincron
Rol: control i sincronizare al transferurilor pe magistrala de date, cu memoria i dispozitivele de IO
Set minim:
RD = (ReaD, citete)
= (WRite, scrie)
La unele microprocesoare exist un singur semnal de ieire (R/W),
Address Strobe = validare adres
GATA


15. Semnale de control a cererilor de cedare a magistralelor
Problema cererii / cedrii controlului magistralelor se poate pune doar n sisteme de calcul care conin mai multe dispozitive
ce pot controla cele trei tipuri de magistrale (dispozitive active / master)
alte procesoare de uz general (UCP), procesoare cu sarcini specifice (de exemplu procesoare de I/O), circuite de tip controller
care au i posibilitatea de transfer al datelor direct cu memoria principal (transfer DMA)
Set minim de semnale:
cerere de acces la controlul magistralelor, BR (Bus Request).
semnal de confirmare a cedrii controlului magistralelor, BG (Bus Grant)
n urma cedrii controlului magistralelor, UCP trece ieirile sale ctre magistralele de date, adrese i o parte din cele de control
n stare de nalt impedan (HiZ)
UCP prevzut cu aceast pereche de semnale sondeaz de obicei semnalul de cerere, de tip BR, la sfritul fiecrui ciclu
main i cedeaz controlul magistralelor ct mai curnd posibil, cu excepia unor cazuri speciale n care operaiile nu pot fi
ntrerupte
ntrzierea maxim cu care este servit o cerere de acces la controlul magistralelor este deci un ciclu main.
n cazul mai multor cereri de acordare a controlului magistralelor, analiza prioritilor se face de obicei cu un circuit de
arbitrare centralizat a cererilor de magistral.
16. Semnale de sincronizare cereri de ntrerupere Semnale de sincronizare cereri de ntrerupere
Semnalele au rolul sincronizrii evenimentelor externe cu microprocesorul
Cererea de ntrerupere provenit din exterior este de obicei o cerere de servicii
Exist dou tipuri de cereri de ntrerupere hardware (iniiate prin semnal electric de ntrerupere):
ntreruperi mascabile
ntreruperi nemascabile
Un set minim de semnale pentru manevrarea cererilor de ntrerupere cuprinde:
cerere de ntrerupere, INT,
NMI
confirmarea acceptrii
ntreruperii (INTA)
Exemple semnale de cereri de
ntrerupere


Semnale indicatoare de stare
Semnale, sau combinaii de semnale, care indic starea n care se gsete microprocesorul
Semnalele de stare pot indica:
tipul ciclului main curent
informaii despre registrele interne implicate n calculul de adres
informaii de sincronizare cu alte module master de magistral
starea memoriei tampon (cache, coad) intern
speciale, pentru lucrul cu coprocesoare aritmetice externe (cerere / acceptare de transfer operand, test busy,
informare de eroare).
17. Semnale utilitare Semnale utilitare: RESET
Semnalul de tip RESET este prezent la toate microprocesoarele i el aduce coninutul registrelor
microprocesorului ntr-o stare prefixat prin proiectare
n aceast stare predeterminat
contorul de program (PC) se
iniializeaz la o valoare fix (de
obicei la zero), iar ntreruperile
mascabile sunt invalidate
Restartare microprocesor
Power-on Reset (Resetare la
alimentarea circuitului)
Semnale utilitare: CLOCK


18. NTRERUPERI I EXCEPII
NTRERUPEREA UNUI PROGRAM
n timpul rulrii programelor pot aprea unele evenimente neobinuite (de excepie)
Aceste evenimente pot conduce la suspendarea temporar a programului aflat curent n execuie
n intervalul de ntrerupere a rulrii programului se va executa, de obicei, o rutin de tratare a evenimentelor ce au
ntrerupt programul
Toate evenimentele produse de condiii neobinuite / neateptate pentru programul curent n execuie sunt numite la
modul general "ntreruperi
produc ntreruperea programului si devierea ctre o rutin special de tratare a evenimentului "ntreruptor"

CLASIFICARE EVENIMENTE NTRERUPTOARE"
. Cereri de ntrerupere
evenimente generate din exteriorul UCP care cer tratare
asincrone cu programul rulat
cererea de ntrerupere apare ca un semnal electric de intrare n sunt numite i ntreruperi hardware
cererile de ntrerupere pot proveni:
de la echipamente periferice care cer servicii de la UCP (cerere de transfer de date, sau informri cu privire la starea
perifericului)
de la circuite specializate pentru supravegherea funcionrii normale a componentelor hardware (eroare de paritate la
citirea memoriei, eroare de paritate pe magistral, cderea iminent a tensiunii de alimentare etc.);
2. Excepii
evenimentele ntreruptoare (care cer tratare) sunt generate de instruciunile programului rulat
sunt deci sincrone cu programul ce va fi ntrerupt
excepiile produc devieri / capcane ("traps")
sunt numite i ntreruperi software
indic situaii de excepie cum ar fi:
ntlnirea unor instruciuni de control ilegale n programul utilizator,
ncercarea de violentare a sistemului de protecie a informaiilor din memorie,
condiii aritmetice speciale (depiri, mprire la zero),
ncercarea de a accesa un segment / pagin de informaie (instruciuni, date) nerezident n memoria principal.
EFECT NTRERUPERI I EXCEPII
Efectul general (att pentru ntreruperea hardware ct i pentru ntreruperea software) este un salt ctre o rutin de
tratare / servire a ntreruperii (RTI)
Indiferent de sursa ce a generat ntreruperea cele dou tipuri sunt servite n mod asemntor, prin secvena general:
saltul la o rutin de tratare a evenimentului ntreruptor
execie RTI
revenire la programul ntrerupt
Termenii ntrerupere i cerere de ntrerupere sunt folosii, n general, pentru evenimente ce produc cereri asincrone cu
programul curent rulat (ntreruperi hardware)
Termenii excepie, capcan, sunt folosii pentru ntreruperile software, sincrone cu programul rulat
CLASIFICARE EXCEPII (INTEL)
Dup modul de manifestare i tratare a excepiilor, Intel mparte excepiile n urmtoarele categorii:
devieri ('traps'). O deviere poate fi recunoscut doar dup terminarea ciclului instruciune curent. Dup tratare devierile
produc reluarea programului ntrerupt ncepnd cu instruciunea urmtoare.
erori ('faults') . Sunt excepii ce sunt detectate fie nainte de nceputul execuiei instruciunii, fie in timpul execuiei
acestora. Dac erorile se detecteaz n timpul execuiei unei instruciuni, dup tratarea erorii reluarea programului se va
face ncepnd cu instruciunea ntrerupt.
esecuri - terminari anormale ('abort'). Produc abandonarea procesului. Eecurile sunt utilizate pentru a trata erori severe
cum sunt valori ilegale si / sau inconsecvente n tabelele sistemului sau erori de hardware.
19. Memoria stiv ROLUL MEMORIEI STIV
Memoria stiv (stack memory) este o structur de date special ce lucreaz pe principiul LIFO (Last In First Out = ultimul
intrat - primul ieit)
Fiecare cuvnt nou introdus n stiv se aeaz peste cuvinte anterioare
Extragerea articolelor din stiv se ncepe de la vrful stivei (ultimul articol introdus).
Subsistemul de ntreruperi salveaz automat n stiv i restaureaz automat din stiv adresa de ntoarcere la programul
interrupt
Memoria stiv este utilizat ca memorie de stocare temporar:
sistemul de ntreruperi
tehnicile de apelare a procedurilor (subrutinelor)
stocare temporar i regsire rapid a datelor (rezultate intermediare, sau parametri transmii ctre proceduri)
Metode de implementare a memoriei stiv
stiv construit hardware (implementat cu registre interne. Vitez mare / capacitate mic de stocare)
stiv software (implementat n cadrul memoriei principale, ntr-o zon cu dimensiune satisfctoare pentru aplicaie. Vitez
redus / capacitate mare de stocare)
20. Memoria . Principii de realizare a sistemului de memorie
SISTEMUL DE MEMORIE Organizare ierarhic Caracteristici dispozitive de memorie Memorii SRAM Memorii DRAM
SISTEM DE MEMORIE Dispozitivele de memorare au rolul de a stoca informaia numeric (programe, date iniiale, rezultate
intermediare i finale) cu posibilitatea ca informaia numeric s poat fi accesat printr-o adresa, pentru a fi citit sau scris
Sistemul de memorie al calculatorului = dispozitivele de stocare a informaiei + algoritmii de control ai memoriei
(implementai fie n software fie n hardware)
La proiectarea i construcia unui sistem de memorie, se face un compromis, al crui obiectiv este obinerea unei viteze de
acces medii ct mai mari n condiiile unui cost total minim

PRINCIPII DE REALIZARE A SISTEMULUI DE MEMORIE
Informaia stocat este distribuit pe o varietate de dispozitive de memorie (dispozitive cu raport cost / performan i
caracteristici fizice foarte diferite)
Organizate pentru a asigura o viteza medie ct mai mare, la un cost specific mediu ct mai mic
Transferul de informaii ntre diferitele niveluri ale memoriei se desfoar transparent pentru utilizator (sarcina sistemului
de operare)
metode de alocare dinamic a spaiului disponibil de memorie, pentru o utilizare ct mai eficient.
Realizarea conceptelor memoriei virtuale pentru a elibera programele utilizator de funcia administrrii spaiului de memorie
i pentru a face programele relativ independente de configuraia dat a memoriei fizice.
Creterea lrgimii de band a sistemului de memorie i asigurarea unor mecanisme de protecie
21. Localizarea referinelor la memorie
La majoritatea programelor rulate se manifest localizarea referinelor la memorie
Pe baza localizrii referinelor sistemul de memorie pstreaz cele mai recent accesate articole, pe ct posibil, n memoria
cea mai rapid
Dou variante: localizare temporal a referinelor: dac programul face acces la o celul de memorie la momentul t,
este foarte probabil ca programul s fac din nou acces la aceeai celul la momentul t +
localizare spaial a referinelor: dac la momentul t programul face acces la o celul de memorie de adres X, este foarte
probabil ca la momentul t + programul s fac acces la celula de adres X + .
Pentru a folosi caracteristica referinelor localizate n timp, datele cele mai recent accesate trebuie pstrate ct mai aproape
de procesor
Pentru a folosi caracteristica referinelor localizate n spaiu la transferul ntre niveluri trebuie mutate blocuri continue de
date i nu cuvinte individuale.
Organizare ierarhic i referine localizate pe diferite niveluri ierarhice exist copii ale aceluiai bloc de date, date ce pot fi
modificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile inferioare
De aceea sistemele de memorie multinivel, cu posibilitatea de scriere-citire trebuie s satisfac dou proprieti privind
informaia stocat:
proprietatea de incluziune proprietatea de coeren
22. Caracteristici principale ale dispozitivelor de memorie
Capacitatea de stocare Puterea consumat
Timpul de acces Geometria
Modul de acces (sau tipul de acces) Alterabilitate
Timp de ciclu i vitez de transfer a datelor Permanenta stocrii
Costul
Capacitatea de stocare a memoriei (S) reprezint numrul total de bii ce pot fi stocai ntr-un dispozitiv sau circuit de
memorie. Exprimarea parametrului S se face destul de rar n bii, folosindu-se multiplii de octei (vom nota bit cu b iar Byte
(octet) cu B):
1 octet (Byte) are 8 bii
2
10
bii = 1 kilo-bit (kb)
2
10
Bytes = 1 kilo-Byte (kB)
2
10
kB = 220 B = 1024 kB = 1 MB
2
10
MB = 1024 Mb = 1 GB
2
10
GB = 1 TB
Pentru capacitatea de stocare exprimarea n multiplii de bii sau de octei nu ine seama de modul de organizare intern i
adresare a cuvintelor dispozitivului de memorie.
Timpul de acces (tA) la dispozitivul de memorie exprim un timp mediu necesar pentru a scrie sau a citi o cantitate fix de
informaie din / n memorie (un cuvnt de memorie)
Se calculeaz din momentul cnd dispozitivul de memorie primete o cerere de citire (scriere) pn n momentul cnd
informaia este disponibil la terminalele de ieire (sau este nscris n locaia de memorie adresat)
Timpul de acces depinde de caracteristicile fizice ale mediului de stocare i de tipul (modul) de acces folosit
Inversul timpului de acces este numit vitez de acces (bA) la dispozitivul de memorie:
Timpul mediu de acces este o caracteristic a dispozitivului de memorie indiferent de viteza cu care lucreaz procesorul.
Modul de acces (sau tipul de acces) spune modul n care se acceseaz informaia dintr-un anumit dispozitiv de memorie
Modul de acces depinde n primul rnd de tehnologia de realizare a dispozitivului de memorie i de principiul constructiv
adoptat
Accesul la celulele individuale de stocare se poate face:
ntr-o anumit ordine (acces poziional, sau serial) aleator (acces aleator)
Timp de ciclu i vitez de transfer a datelor (tM): Interval de timp ntre dou acesri succesive la acelai dispozitiv de
memorie
Inversul acestui interval de timp exprim cantitatea maxim de informaie ce poate fi transferat la sau de la memorie n
fiecare secund (bM este viteza de transfer a datelor, sau lrgime de band)

23. Principiul de funcionare al unui system cu microprocessor
Scopul acestui capitol este de a nelege funcionarea unei maini de calcul i de a nelege principiul de programare a
unei astfel de maini.
S-au luat n considerare urmtoarele tipuri de maini: cele mai vechi, maina Turing i von Neumann.
Arhitectura Von Neumann este folosit de ctre sistemele cu microprocesor actuale
La sfritul capitolului, se prezint evoluiei mainii Von Neumann, ctre arhitectura Harvard-Aiken.
Schema funcional

Exist 2 componente principale:
- memoria (date i programul instruciuni)
- Unitatea de comand i control (unitatea inteligent)
ntre cele 2 blocuri se face schimb de informaie (date i instruciuni).
n unitatea de comand i control exist:
UAL : (Unitatea aritmetic i logic): efectueaz calcule aritmetice (+,-, *, /) i logice.
- Unitatea de comand : controleaz toate operaiile efectuate de sistem.
- Acumulator (A) : este o memorie local a procesorului care conine unul dintre operanzii implicai n calcul i
rezultatul
- Contorul de program (CP) : toat informaia din memorie este regsit pe baza unei adrese (la fel ca o adres
postala) Adresa e un numr pozitiv. Contorul de program conine adresa urmtoarei instruciuni care va fi executat.
Definiii
Registrul de instruciuni (RI) (un registru este o memorie intern din unitatea central de prelucrare - procesor)
conine instruciunea care este n curs de execuie. Fiecare instruciune este memorat cu ajutorul unui numr
codul instruciunii, al operaiei de executat.
Registrul indicatorilor de condiii (Flags) permite cunoaterea de informaii despre ultima operaie efectuat de
U.A.L. Rezultatul este gal cu 0?, este pozitiv?, ngativ? Structurile de selecie i iteraie utilizeaz aceste
informaii.
Ceasul (tactul) permite secvenierea tuturor operaiilor din sistem. El definete viteza de execuie al sistemului
Magistral = ansamblu de conexiuni electrice:
Date: bidirecional, permite transfer de informaii (date i instruciuni) ntre memorie i procesor
Adrese: unidirecional permite transmiterea ctre memorie a adresei de la care se vor citi informaii / la care se
vor scrie informaii
Control: bidirecional permite un dialog coerent ntre memorie i UCP
Instruciuni de baz
ncrcare A Constant MOV A, Cst
Adunare A A+ Constant ADD A, Cst
Citire din memorie (Load)
A Coninutul memoriei MOV A, [Adr]
Scriere n memorie (Store)
Coninutul memoriei A MOV [Adr],A
Salt necondiionat J Adres
Salt condiionat J> Adres
J<=Adres
Instruciuni suplimentare
Acumulator auxiliar AA
MOV AA, Cst ADD A, AA ADD AA,A
MOV AA,[Adr] MOV [Adr],AA
Registre index IX
MOV A,[IX] MOV [IX],A
MOV A,[IX] MOV [IX],A
Instruciuni logice I SAU NU
AND A,AA AND A,CONST OR A,AA
OR A,CONST NON A
n memoria de instruciuni, instructiunile sunt codificate prin numere ntregi pozitive: codul main
24. Prelucrarea instruciunilor n regim pipeline la microprocesoarele pe 16 bii
O caracteristic arhitectural specific microprocesoarelor pe 16 bii este extragerea anticipat a instrucunilor i
execuia acestora n regim "pipeline" ceea ce n limba romn se traduce adesea prin "band de asamblare''. Procedeul are la
baz o idee simpl. Un proces de calcul mai complex se subdivde n subprocese de complexitate mai redus, fiecare subproces
fiind executat ntr-o subunitate hardware specializat. Subunitile hardware se succed una dup alta, nct se poate spune c
formeaz o conduct sau, o band de asamblare. Prima subunitate recepioneaz continuu informaia la intrare, o
prelucreaz conform cu atribuiile ce i-au fost ncredinate i pred la ieire rezutatul ntr-un anumit moment. eirea primei
subuniti constituie intrare pentru unitatea a doua .a.m.d. La un moment dat, conducta este "plin" i toate subunitiile
hardware ce o compun funcioneaz simultan. Acest principiu este exemplificat n fig.1.1.a, referitor la prelucrarea
instruciunilor. Procesul de prelucrare a fost divizat n cinci subprocese: extragerea instruciunii (F), decodificare (D), calculul
adresei efective (A), extragerea operandului (O) si execuia propriu-zis a operaiei (E).





Fig. 1.1 Prelucrarea pipeline
a instruciunilor
Extragere
instruciun
e(F)
Decodificare
instruciune
(D)
Calculul adresei
efective
(A)
Extragere
operand
(O)
Execuie
instruciune
(F)
a)
b)
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15
F1
D1
A1 01
E1
F2
D2 A2 02
E2
F3
F4
D3 A3
03
E3
D4
A4 04 E4
Instruc-iunea 1

Instruc-iunea 2

Instruc-iunea 3


n figura 1.1.b, s-a luat n considerare procesarea a patru instruciuni i rezult pentru acestea c sunt necesare numai
cinsprezece uniti de timp, fa de douzeci uniti de timp cte ar fi necesare dac nu s-ar apela la prelucrarea tip pipeline.
Repartizarea n timp a subproceselor s-a fcut avnd n vedere c n timpul operaiei de decodificare a codului (D1), n
principiu memoria poate fi adresat (pentru extragerea offsetului , a datelor imediate etc) i prin urmare nu se poate
suprapune n timp cu extragerea codului urmtoarei instruciuni (F2) . Din aceleai motive, D2 nu poate apare suprapus n timp
cu O1. n mod practic, problema este mult mai complex dect rezult din cele prezentate mai sus. La mparirea unui proces
mai complex n subprocese mai simple, n vederea execuiei acestora n regim pipeline, trebuie avute n vedere mai multe
criterii pentru a obine rezultatele dorite, att ca performan n execuie, ct i ca pre de cost. O alt caracteristic
arhitectural a microprocesoarelor pe 16 bii, o prezint extragerea anticipat ("look-ahead") a instruciunilor. La baza acestui
mecanism se gseste o memorie tampon n care se ncarc un numr de instruciuni i operanzi din memoria principal n
avans fat de instruciunea curent. Acest proces se declaneaz n timpul execuiei unei instruciuni, dac rezult c
magistrala de legtur cu memoria principal, pentru anumite perioade de timp, este neocupat. Procedndu-se n acest mod,
numrul de instruciuni prelucrate ntr-o secund crete, ntruct unele instruciuni vor fi preluate direct din memoria tampon
intern, fiind eliminat deci timpul relativ lung de aducere din memoria principal. La microprocesorul 8086, pentru procesarea
instruciunilor, s-au prevzut dup cum rezult din fig. 1.2, dou uniti. Prima dintre ele notat prescurtat BIU ("Bus Inter-face
Unit") care asigur interfaa cu memoria, este nsrcinat cu realizarea subprocesului de extragere a instruciunilor i
operanzilor din memorie i stocarea acestora ntr-o memorie tampon a crei capacitate s-a ales de ase octei. A doua unitate,
notat prescurtat cu EU ("Execution Unit") este nsrcinat cu decodificarea, calculul adresei efective, preluarea operandului
de la BIU i cu execuia propriu-zis a instruciunilor pe care le preia din memoria tampon a BIU. Tot unitatea EU are sarcina de
a transmite spre BIU datele ce trebuie stocate n memorie.
25. Arhitectura microprocesorului 8086 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.


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.
26. Registrele microprocesorului 8086
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.



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.
x x x x OF DF IF TF SF ZF x AF x PF x CF
F E D C B A 9 8 7 6 5 4 3 2 1 0
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.
27. Organizarea i selecia memoriei la 8086. Exemple numerice
Microprocesorul 8086 consider memoria ca pe un ir de 1
Moctei, 2
20
= 1 058 576 octei. Acest spaiu de memorie
este organizat liniar cu adrese joase la bceput i c adrese
mari la sfrit. Instruciunile i datele pot fi plasate liber la
orice adres par sau impar. O adres a unei locaii de
memorie trebuie deci reprezentat pe 20 de bii (5 cifre
hexa).
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.

28. Segmentele de memorie la 8086 i registrele implicate
n calcului adresei fizice 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: s
3
s
2
s
1
s
0
:o
3
o
2
o
1
o
0
Mecanismul de calcul al adresei fizice
este prezentat n fig.urmtoare:
Adresa fizic:
a
4
a
3
a
2
a
1
a
0
= s
3
s
2
s
1
s
0
0+o
3
o
1
o
1
o
0


Registru de segment
0 0 0 0 Deplasament
0 0 15 15
Unitate aritmetic
ADR
Adresa fizic
19


0


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.
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
semnificativ
octet mai puin
semnificativ
CS
DS
ES
SS
Segment
de cod
Segment
de date
Segment de
date
suplimentar
Segment
de stiv
Valori mari
de adrese
Valori mici
de adrese
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.

29. Transferul datelor din memorie pe magistrala de date la 8086 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.





Fig. 6
Transferul unui octet sau cuvnt se face sub controlul a dou linii A0 i BHE conform tabelului:
BHE A0 Se transfer
0 0 ambii octei
0 1 octet superior la/de la adresa impar
1 0 octet inferior la/de la adresa par
1 1 fr transfer
REZERVAT
FFFFFH
FFFFCH
DEDICAT
FFFFBH
FFFF0H
DISPONIBIL



00080H
REZERVAT
0007FH
00014H
DEDICAT
00013H
00000H
D7 - D0
FFFFFH
FFFFDH
FFFFEH
FFFFCH
03H
01H
02H
00H
A0 A19 - A1
D15 D8
BHE
Fig. 5
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.





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.





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.




Fig.9Transfer de octet la/de la adresa par
D7 - D0 A0 = 0 A19 - A1
D15 D8
" 1 " BHE
a + 1 a
D7 - D0 A0 = 1 A19 - A1
D15 D8 " 0 " BHE
a + 1 a
D7 - D0 A0 = 0 A19 - A1
D15 D8 " 0 " BHE
a + 1 a
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.











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






D7 - D0 A0 = 1 A19 - A1
D15 D8 " 0 " BHE
a + 1 a
a + 3
a + 2
D7 - D0 A0 = 0 A19 - A1
D15 D8 " 1 " BHE
a + 1 a
a + 3
a + 2
30. Semnificaia terminalelor la 8086
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;
31. Modurile de lucru la 8086 i ciclurile de intrare i de ieire pentru modul minim 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

1 40
2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
GND
AD14
AD13
AD12
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
NMI
INTR
CLK
GND
Vcc
AD15
A16/S3
A17/S4
A18/S5
A19/S6
BHE/S7
MN/MX
RD
RQ/GT0 (HOLD)
RQ/GT1 (HLDA)
LOCK (WR)
S2 (M/IO)
S1 (DT/R)
S0 (DEN)
QS0
QS1
TEST
READY
RESET
8
0
8
6

n mod maxim
microprocesorul comunic, la
fiecare nceput de ciclu tipul de
ciclu pe care-l va executa, pe
trei linii de stare S2, S1, S0.
Aceste linii constitue intrri
pentru un circuit speclializat
8288 , care va genera semnale
de comand pentru transferul
cu memoriile i echipamentele
de intrare-ieire. Modul maxim
este potrivit n cazul aplicaiilor
mai complexe, inclusiv n
sistemele multiprocesor i
conectarea de coprocesoare. Fixarea modului de lucru se face prin intermediul semnalului MN/MX=0 pentru modul maxim
i 1 pentru modul minim.
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.
ntre strile T3 i T4 se pot insera stri de ateptate, notate cu Tw, atunci cnd 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 variaia 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.
Ciclul de citire i
intrare n modul minim
T1 T2
T3 T4
CLK
A19/S6-
A16/S3<BHE>

AD15-AD0
ALE
M/IO
RD
DT/R
DEN
READY
ADRESE
ADRESE
STARI
DATE
PRIMITE
8
0
8
6

A19/S6-A16/S3

AD15-AD0


ALE
BHE/S7
M/IO
DT/R
RD
WR
DEN
READY

INTR
INTA
TEST
NMI
RESET
HOLD
HLDA
CLK


MN/MX=Vcc
La nceputul strii T1, semnalele IO M i R DT sunt poziionate conform tipului de ciclu n curs, starea lor
rmnnd neschimbat tot timpul ciclului. Linia IO M indic dac ciclul se refer la memorie, IO M =1 logic, sau la
periferie, IO M =0 logic iar linia R DT indic dac microprocesorul transmite R DT =1 logic sau recepioneaz,
R DT =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 R DT i IO M 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 R DT 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.












Ciclul de scriere i ieire n modul minim
T1 T2
T3 T4
CLK
A19/S6-
A16/S3<BHE>

AD15-AD0
ALE
M/IO
WR
DT/R
DEN
READY
ADRESE
ADRESE
STARI
DATE
GENERALE
32. Sistemul de intreruperi la 8086 (pn la 8259)
ntreruperile permit abandonarea momentan de ctre microprocesor a execuiei unui program i nceperea
execuiei unui alt program situat oriunde n spaiul de memorie direct adresabil. n cazul microprocesorului 8086
ntreruperile pot fi datorate fie datorit unor cauze externe fie datorit unor cauze interne. 8086 poate trata 256
tipuri de ntreruperi, fiecrui tip fiindu-i asociat
un cod care-l identific. Legtura ntre
diferitele tipuri de ntrerupere i procedurile
care le deservesc se face prin intermediul unui
tabel de vectori de ntrerupere situat n
domeniul 00000 - 003FFH.
Fiecare vector ocup 4 locaii i are
urmtoarea structur: cel mai puin
semnificativ octet al registrului IP, cel mai
semnificativ octet al registrului IP, cel mai
puin semnificativ octet al registrului CS, cel
mai semnificativ octet al registrului CS. Practic,
un vector conine adresa complet subrutinei
de tratare a ntreruperilor respective. Pentru a
realiza accesului la un vector, microprocesorul
multiplic cu 4 codul pe care-l primete i care
identific tipul ntreruperii.
Tabela de vectori de ntrerupere este mprit
n trei domenii: o zon dedicat, care este utilizat n mod automat de microprocesor la apariia unor tipuri de
ntrerupere, predefinite, o zon rezervat, i o zon de disponibil pentru cererile de ntrerupere utilizator. Dac
ntr-o aplicaie nu sunt folosite ntreruperile predefinite, utilizatorul poate folosi i zona dedicat.
ntreruperile externe Sunt iniiate prin intermediul celor dou intrri dedicate ale microprocesorului
INTR i NMI. O cerere pe linia NMI genereaz o ntrerupere nemascabil i este predefinit de tipul 2, adic
microprocesorul execut accesul la vectorul 2, fr alte informaii suplimentare.
O cerere de ntrerupere pe linia INTR este generat de un circuit exterior care evalueaz prioritatea, n cazul
apariiei cererilor simultane din mai multe surse, i las s treac cererea cu prioritate maxim n momentul
respectiv. Semnalul INTR este testat de microprocesor n
ultima stare, ultimul ciclu din execuia unei instruciuni. Exist
excepii de la aceast regul i anume cazul instruciunilor
care lucreaz cu iruri la care linia INTR este testat dup
prelucrarea fiecrui element al irului, i n cazul instruciunii
WAIT la care ntreruperea este testat dup fiecare verificare
a liniei TEST. Exist i situaii n care cererea de ntrerupere
nu este luat n continuare dect dup execuia urmtoarei
TIP 255 Disponibil
003FFH
TIP 254 Disponibil
003FCH
003F8H

TIP 33 Disponibil
00084H
TIP 32 Disponibil
00080H
TIP 31 Rezervat
0007CH

00018H
TIP 5 Rezervat
00014H
TIP 4 Depire
00010H
TIP 3 Breakpoint
0000CH
TIP 2 Nemascabil
00008H
TIP 1 Pas cu pas
00004H
TIP 0 Eroare la divizare
00000H
Zon
disponibil
Zon
rezervat
Zon
dedicat
Primul ciclu Al doilea ciclu
T1 T2 T3 T4 T1 T2 T3 T4
CLK
ALE
INTA
LOCK
D7-D0
Cod ntrer.
instruciuni. Prin luarea n considerare a unei cereri de ntrerupere ce sosete la intrarea INTR este necesar ca
sistemul de ntrerupere al microprocesorului s fie activat, adic indicatorul de ntrerupere IF s conin valoarea 1
logic. Dac IF = 0 logic, cererea de ntrerupere nu va fi luat n considerare. Pentru anularea indicatorului de
ntrerupere se poate utiliza instruciunea CLI, iar pentru setarea lui, instruciunea STI. Dac indicatorul de
ntrerupere este activat, microprocesorul va lua n considerare cererea de ntrerupere de pe linia INTR. Indicatorul IF
va fi anulat pentru a preveni luarea n considerare a unei noi cereri de ntrerupere. De asemenea indicatorul TF va fi
anulat, invalidnd facilitatea de lucru pas cu pas. Apoi microprocesorul va depune n stiv coninutul indicatorilor
(IF i TF avnd vechile valori) i a regitrilor CS i IP, actualiznd de fiecare dat registrul SP. Din acest moment
ncepe ciclul exterior de acceptare a cererii de ntrerupere, care dureaz doi cicli de magistral. n starea T1 a
primului ciclu este generat semnalul ALE, iar magistrala de adrese / date trece n starea a treia i rmne n aceast
stare pn la sfritul ciclului. Apoi se activeaz linia INTA indicnd exteriorului c cererea de ntrerupere a fost
luat n considerare i practic cererea poate fi dezactivat. Simultan cu activarea liniei INTA microprocesorul
activeaz i linia LOCK indicnd exteriorului c nu poate ceda magistrala.
Acest semnal va trebui folosit de circuitele externe, inclusiv arbitrul de magistral, pentru a nu permite accesul unui
alt periferic la magistral. Dac microprocesorul este n mod minim, semnalul LOCK se va activa doar intern iar o
cerere HOLD nu va fi luat n considerare.
n al doilea ciclu de magistral corespunztor acceptrii unei cereri de ntrerupere, microprocesorul va activa din
nou linia INTA, indicnd exteriorului c ateapt codul care identific sursa ce a cerut ntreruperea. Acest cod este
furnizat de autorul cererii de ntrerupere n general prin intermediul circuitului specializat pentru ntreruperi 8259A.
Microprocesorul preia codul i execut accesul la subrutina de tratare a ntreruperii prin intermediul tabelei
vectorilor. n acest timp el execut dou cicluri de citire cuvnt din memorie pentru a ncrca registrele IP i CS.
Subrutina de tratare a ntreruperii va trebui s se ncheie cu instruciunea IRET, care va realiza revenirea n
programul principal i restabilirea, prin citirea din stiv a coninutului indicatorilor i regitrilor CS i IP, valorile
existente nainte de luarea n considerare a cererii de ntrerupere. Utilizatorul are la dispoziie pentru cererile de
ntrerupere externe zona 00080H 003FFH din tabela de vectori de ntreruperi adic dispune de maxim 224 vectori.
ntreruperi interne Diferena fa de cele externe const n aceea c sursa de ntrerupere nu constituie un
eveniment extern ci cererea de ntrerupere apare ca urmare a execuiei unei instruciuni tipice sau ca urmare a
producerii unui eveniment intern. Ele se mpart n dou categorii:
- ntreruperi generate de instruciunea INT nn
- ntreruperi predefinite
Instruciunea INT nn ocup doi octei n memorie, codul instruciunii i tipul ntreruperii i realizeaz legtura cu
vectorul din tabela de vectori de ntrerupere. Deci are acelai efect ca i o ntrerupere extern de tip nn doar c
nu este mascabil i microprocesorul nu execut o secven de acceptare a ei, deci nu se vor genera semnale
INTA.
Operaiile executate de microprocesor n luarea n considerare a acestui tip de ntrerupere sunt aceleai ca n
cazul celor externe, fr ns a se genera semnale INTA. Subrutinele pentru tratarea acestor ntreruperi pot fi
folosite pentru emulare, testare, etc. De exemplu o subrutin pentru execuia unei operaii aritmetice mai
complexe poate fi apelat prin intermediul unei instruciuni INT nn.
ntreruperile predefinite sunt generate de nsui microprocesor, n mod automat, la detectarea apariiei unor
anumite evenimente interne. Aceste ntreruperi sunt nemascabile, iar pentru luarea lor n considerare
microprocesorul execut aceleai operaii ca i n cazul instruciunilor INT nn. ntreruperile predefinite apar n
urma detectrii urmtoarelor evenimente:
- mprire la zero - tip 0 ntreruperea este generat n urma execuiei instruciunilor de mprire, dac ctul
este mai mare dect valoarea maxim admis. Este considerat ca fcnd parte din instruciunea de
mprire. n cazul instruciunii DIV valoarea ctului care determin generarea ntreruperii este FFH dac
mpritorul este octet, sau FFFFH dac mpritorul este cuvnt; n cazul instruciunii IDIV aceste valori sunt
7FH sau 7FFFH.
- pas cu pas tip 1 ntreruperea poate fi luat n considerare dup setarea indicatorului de control TF
(Trap Flag). La sfritul execuiei fiecrei instruciuni microprocesorul va lua n considerare o ntrerupere
predefinit de tip 1. Subrutina de tratare a cererii de ntrerupere poate afia coninutul registrelor, a
memoriei sau poate oferi utilizatorului informaii importante pentru verificarea , depanarea i punerea la
punct a programelor.
- NMI - tip 2 apariia unui anumit cod, care semnific instruciune de ntrerupere pe un singur octet
(ntrerupere de tip breakpoint) tip 3. Este utilizat pentru fixarea unor puncte de ntrerupere n timpul
execuiei unui program, n scopul depanrii i punerii la punct. Are avantajul de a ocupa un singur octet n
memorie.
- depire tip 4. ntreruperea este generat n urma apariiei depirii capacitii registrelor oricare ar
fi operaia aritmetic care se execut, deci indicatorul OF = 1 logic, dar ntreruperea nu se genereaz automat
ci numai dac microprocesorul execut o instruciune INTO, care n general trebuie s urmeze unei instruciuni
aritmetice cu operanzi cu semn. Recapitulnd, instruciunile care intervin n generarea i tratarea ntreruperilor
sunt: INT nn: determin generarea unei instruciuni interne de tip nn; microprocesorul execut un acces la
vectorul nn din tabela de vectori de ntrerupere, i nu execut un ciclu extern de acceptare a cererii.
INTO: determin generarea unei cereri de ntrerupere predefinite de tip 4, n cazul n care indicatorul de
depire OF = 1 n urma execuiei unei instruciuni aritmetice cu operanzi cu semn.
IRET determin revenirea n programul principal, prin restaurarea coninutului indicatorilor i regitrilor
IP i CS cu informaia citit din stiv. Tabelul urmtor prezint gradul de prioritate a diferitelor tipuri de ntrerupere.
Tipul ntrerupere Prioritate
mp. la zero, INT nn maxim
INTO
NMI
INTR
Pas cu pas minim

33. Generatorul de tact. Circuitul are rolul de a genera semnalul de tact necesar microprocesorului precum i cel
necesar circuitelor specializate pentru interfee, pornind de la un cuar sau de la un semnal exterior. De
asemenea, genereaz semnalele RESET i READY, ctre microprocesorul sincronizat cu semnalul de tact.
Pentru generarea tactului CLK, ctre microprocesor se folosete un
divizor la trei, care are ca intrri fie un oscilator cu cuar, fie un
semnal exterior, la terminalul EFI (External Clock Input). Se obine un
semnal cu factorul de umplere 1/3. Terminalul OSC ofer semnalul
de intrare. O alt ieire a acestui circuit o constituie PCLK, cu
frecvena pe jumtate fa de cea a semnalului CLK. Acest semnal
este util pentru circuitele specializate pentru interfee din familia
8080, care pot fi conectate la 8086 dar sunt mai lente dect acesta i
necesit un tact de frecven mai mic.. Circuitul are o intrare de sincronizare CSYNC cu rolul de a sincroniza
generatorul de tact cu evenimente externe (de exemplu un alt circuit 8284, n sistemele multiprocesor).
Pe lng generarea tactului, 8284 are i rolul de a sincroniza intrarea de iniializare RES, cu frontul cztor al
tactului, rezultnd semnalul RESET ctre microprocesor i celelalte circuite.
O alt facilitate este aceea de a genera semnalul READY, cerere ctre microprocesor pentru stri de
ateptare, sincronizat cu tactul CLK. Exist dou surse de cerere de ateptare, RDY1, RDY2 fiecare dintre ele putnd
s fie sau nu autorizate de intrrile AEN1 i AEN2. Exist i posibilitatea utilizrii intrrilor AEN1 i AEN2 ca surse
pentru cereri de stri de ateptare, active la 0 logic, n timp ce semnalele RDY1 i RDY2 pot fi folosite pentru
validare. Utilizarea acestor semnale depinde de circuitele care genereaz cererile externe de ateptare: dac
acestea sunt active la 1 logic atunci se vor conecta la intrrile RDY1 i RDY2, iar dac sunt active la 0 logic, se vor
conecta la intrrile AEN1 i AEN2.
Funciile terminalelor
AEN1 i AEN2: (Adress Enable) intrri active pe 0 semnificnd validarea cererilor de stri de ateptare.
RDY1 i RDY2: (Buss Ready) intrri pentru cereri de stri de ateptare, active pe 1.
READY ieire activ pe 1 semnificnd c circuitul selectat este gata pentru transfer.
X1, X2 - intrri pentru comanda cristalului de cuar. Pentru a obine o frecven de 5MHz, este necesar ca
frecvena cuarului s fie de 15 MHz.
TNK intrare pentru conectarea unui circuit LC nu este n general necesar.
C / F selecteaz intrarea pentru divizorul care genereaz tactul CLK: 0 selecteaz cristalul de cuar, iar
1 selecteaz intrarea extern EFI.
EFI - intrare de tact extern, care prin divizare la trei va da semnalul de tact CLK pentru microprocesor.
CLK: semnalul de tact pentru microprocesor cu factor de umplere 1/3.
V
cc
X1

X2

TNK
0
EFI

F/C

OSC

RES

RD

RESET

CSYNC

PCLK

AEN1

RDY1

READY

RDY2

AEN2

CLK

GND

1

2

3

4

5

6

7

8

9

40

39

38

37

36

35

34

33

32

8284
PCLK: semnal de tact pentru circuite specializate pentru interfee cu frecvena pe jumtate fa de cea a
semnalului CLK i factor de umplere .
OSC: semnal de tact cu frecven egal cu cea a intrrii n divizorul care genereaz tactul.
RES: intrare activ pe 0 indicnd o cerere de iniializare pentru ntregul sistem; n mod uzual, la aceast
intrare se conecteaz un grup RC i un comutator.
RESET ieire pentru iniializarea microprocesorului obinut prin sincronizarea intrrii RES.
CSYNC (Clock Synchronization) intrare pentru sincronizarea divizorului care genereaz semnalele CLK i
PCLK; 1 logic nseamn c cele dou divizoare sunt iniializate, iar 0 logic nseamn c ele lucreaz.
34. Unitate central cu 8086 n mod minim
Aplicaiile n care microprocesorul 8086 lucreaz n modul minim sunt de mic i medie complexitate, n general
plci
microprocesor.
Semnalele de
comand pentru
transferul cu
memoria i
porturile de
intrare/ieire sunt
generate de ctre
microprocesor.
Pentru cedarea
magistralelor se
folosete un
mecanism
aproape identic
cu cel de la
microprocesorul
pe 8 bii, de tip
cerere-rspuns.
35. Arhitectura microprocesorului 80286 Arhitectura acestui microprocesor const din patru uniti funcionale,
care lucreaz n paralel i realizeaz execuia instruciunilor ca pe o band de asamblare. Funcionarea
procesorului se poate rezuma la o succesiune de operaii care se execut n mod repetat:
1. Citete instruciunea pe durata acestui ciclu se transmite adresa instruciunii de executat i se
aduce instruciunea din memorie n UCP (ciclul Fetch).
2. Decodific instruciunea (ciclul Decoding)
3. Transmite adresa i citete un operand din memorie, dac se specific n instruciune (ciclul
Read)
4. Execut instruciunea (Ciclul Execution)
5. Transmite adresa i scrie rezultatul n memorie, dac instruciunea o cere (ciclul Write)
La un procesor pe 8 bii aceste faze se realizeaz secvenial conform figurii:
F
1
D
1
E
1
F
2
D
2
E
2
. . . . . .
n aceast schem s-a considerat execuia a dou instruciuni simple, fiecare dintre ele cu fazele de citire
instruciune (fetch F
1
, fetch F
2
), decodificare (D
1

i D
2
) i execuie (E
1
i E
2
).
Spre deosebire de acest mod de lucru
secvenial procesorul 286 realizeaz execuia
acestor faze n paralel ca n figura:



n acesat diagram sunt simplificate ciclurile procesorului, considernd execuia unei secvene de instruciuni simple, care nu
conine operaiile 3
i 5, dintr-un ciclu
complet al unei
instruciuni
complexe.Cele
patru uniti
funcionale ale
procesorului 286
sunt: unitatea de
adresare AU,
unitatea de
interfaare cu
magistrala BU,
unitatea de
decodificare
instruciuni (IU)
i unitatea de
execuie (EU),
conform figurii:

A
1
A
2
A
3
A
4
A
5
A
6
. . . . . . AU

F
1
F
2
F
3
F
4
F
5
F
6
. . . . BU

D
1
D
2
D
3
D
4
D
5
D
6
. . . . IU

E
1
E
2
E
3
E
4
. . . . EU
Fig. 1.
Unitatea de adresare (AU Adress Unit) determin adresa fizic i conine un sumator de
deplasament (offset), care determin deplasamentul n funcie de modul de adresare; mai conine un
sumator de adrese fizice (de 24 sau de 20 bii n funcie de modul de lucru) care determin adresa fizic ca
sum dintre adresa de segment i offset. De asemenea unitatea mai realizeaz diferite modificri (n modul
de lucru protejat), verific limita i dimensiunea unui segment i furnizeaz adresa de baz a segmentului.
Aceast unitate este complet izolat fa de exterior.
Unitatea de interfaare cu magistrala (BU Bus Unit) conine circuite driver pentru adrese, o
unitate de citire anticipat a instruciunilor (prefetcher), interfaa cu extensia de procesor (spre exemplu
un coprocesor de intrare ieire sau coprocesorul matematic), logica pentru controlul magistralei, o coad
de instruciuni de 6 octei i realizeaz recepia i transmisia datelor. Lungimea cozii este astfel aleas nct
BU s in ocupat unitatea de execuie ct mai mult posibil. De fapt aceast unitate realizeaz
comunicaia cu exteriorul.
Unitatea de citire anticipat (prefetcher) a instruciunilor realizeaz funcia de anticipare a
programului. Atunci cnd BU nu efectueaz cicluri de magistral (citire scriere operand) pentru execuia
unei instruciuni, aceast unitate utilizeaz BU pentru citirea secvenial, n avans a fluxului de instruciuni.
BU lanseaz o cerere de citire (din memorie) de instruciune imediat ce exist 2 octei liberi n coada de
instruciuni.
n general BU conine cel puin un octet n coada de instruciuni, deci EU nu trebuie s atepte citirea
instruciunilor. n coada de ateptare sunt introduse instruciunile de la adresele imediat urmtoare
instruciunii curente, dac nu se ntlnete o instruciune de salt.
Unitatea de decodificare a instruciunilor (IU Instruction Unit) preia octeii din coada de ateptare
i i translateaz n microcod. Instruciunile decodificate (n numr de trei) sunt puse ntr-o coad unde
ateapt s fie prelucrate de EU. Unitatea lucreaz n paralel cu celelalte uniti i ncepe o nou
decodificare n momentul n care o locaie din coad devine liber.
Unitatea de execuie (EU Execution Unit) execut instruciunile din coada de instruciuni decodificate i
comunic cu celelalte uniti. Aceast unitate implementeaz funciile de execuie ale tuturor instruciunilor,
furnizeaz adrese i date spre AU, respectiv BU, manipuleaz registrele generale i indicatorii de condiii. Cu
excepia unor linii de control EU este complet izolat de exterior. Cnd EU este gata pentru execuia unei
instruciuni, citete codul acesteia din coada de instruciuni decodificate gestionat de IU i apoi execut
instruciunea. Cele dou uniti lucreaz asincron i se sincronizeaz n cazul n care coada este plin sau goal.
Dac n timpul execuiei unei instruciuni EU necesit un acces la memorie sau la circuitele de intrare ieire, se
lanseaz o cerere de acces la BU, care controleaz i efectueaz accesul la adresa furnizat de AU.



36. Terminalele microprocesorului 80286 i rolul lor
Acest procesor este un procesor avansat, cu performane ridicate, cu capaciti special optimizate pentru
sisteme multi-master i multi-tasking. El poate opera n dou moduri: modul real de adresare (8086) i
modul protejat de adresare virtual. Programele n mod real de adresare utilizeaz adrese reale ntr-un
spaiu de adres de pn la 1 Moctet. n modul protejat, procesorul 286 mapeaz automat 1 Goctet de
adrese virtuale pentru un task, peste un spaiu de adrese reale de 16 Moctei. De asemenea, acest mod
furnizeaz mecanisme de protecie a memoriei, pentru a izola sistemul de operare i pentru a asigura
mecanisme de protecie a memoriei, i pentru a asigura inviolabilitatea (secretul) pentru fiecare dintre
programele i datele taskurilor.
Semnificaia semnalelor din schema bloc a procesorului:
- CLK = este ceasul sistemului, divizat intern la 2 pentru a genera ceasul intern al procesorului, care
determin starea magistralei (PCKL);
- D
15
D
0
= magistrala bidirecional de date; ea este folosit ca intrare pentru date de la memorie,
porturi de I/O, cicluri de recunoatere ntrerupere, respectiv ca ieire pentru datele transmise la memorie
sau porturi de I/O. Magistrala de date este activ pe 1 (HIGH) i poate fi n starea de mare impedan, pe
durata recunoaterii unei cereri HOLD;
- A
23
A
16
= magistrala de adrese (de ieire), care furnizeaz adresa fizic de memorie sau adresa
unui port de I/O; liniile A
23
A
16
sunt LOW pe durata transferurilor I/O (adresa portului fiind pe liniile A
15

A
0
);
- BHE
- S
1
, S
0
= semnale de stare a magistralei, care indic iniierea unui ciclu i mpreun cu M/IO i
COD/INTA definesc tipul ciclului;
- M/IO = acest semnal de ieire separ accesrile la memorie de cele din spaiul I/O;
- COD/INTA = acest semnal (Code/INTerrupt Acknowledge) de ieire este utilizat pentru separarea
ciclurilor fetch de ciclurile de citire date din memorie, respectiv cicluri de recunoatere ntrerupere de
cicluri I/O, n combinaie cu celelalte semnale (S
1
, S
0
, M/IO);
- LOCK = semnalul bus LOCK specific unui alt modul master de pe magistrala sistemului c nu poate
prelua controlul magistralei;
- READY = semnalul de intrare bus READY termin un ciclu de magistral;
- HOLD = cele dou semnale bus HOLD request i bus HLDA Acknowledge, primul de intrare, iar cel
de-al doilea de ieire, permit controlul magistralei;
- INTR =
- NMI =
- PEREQ = semnalele Processor Extension operand REQuest, de intrare i
- PEACK = Processor Extension operand ACKnowledge, de ieire, extind facilitile de protecie i
administrare a memoriei virtuale, ale procesorului 286 i pentru extensii de procesor (de exemplu
coprocesor matematic 80287); intrarea PEREQ cere procesorului 286 s realizeze un transfer de operand
pentru o extensie procesor; ieirea PEACK semnaleaz extensie procesor cnd operandul cerut este
transferat i cnd semnalul de cerere PEREQ va fi dezactivat;
- BUSY = semnale de intrare , processor extension BUSY i
- ERROR = processor extension ERROR indic o condiie de operare a unei extensii de procesor
pentru procesorul 286; dac semnalul BUSY este activ (LOW), ceea ce nseamn c extensia de procesor
este ocupat, se pornete execuia programului de pe procesorul 286, pe instruciunile WAIT sau ESC
urmtoare, pn cnd semnalul BUSY devine inactiv; cel de-al doilea semnal devine activ (LOW) cnd
coprocesorul matematic determin o eroare sau o excepie la execuia unei instruciuni i determin ca
procesorul 286 s execute o ntrerupere de extensie procesor cnd se execut instruciunile WAIT sau ESC,
urmtoare celei ce a generat eroarea;
- RESET

S-ar putea să vă placă și