Sunteți pe pagina 1din 34

1. Ce este un microsistem digital?

Sistemele de calcul bazate pe microprocesoare sau microcontrolere se numesc microsisteme


digitale. Exist 2 tipuri de echipamente care sunt microsisteme digitale: microcalculatoarele i
sistemele de calcul orientate pe aplicaii.
Microprocesorul se poate defini ca fiind un circuit logic programabil de ctre utilizator, ntr-o
singur capsul i cu funcie de procesor de uz general.
Microcontrolerul se poate defini ca un circuit logic, programabil de ctre utilizator, cu o structur
adaptat pentru rezolvarea unei largi game de aplicaii de timp real. El nu este folosit ca procesor de
uz general ci ca procesor orientat pe aplicaii, fiind, n general, inclus n echipamentul pe care l
conduce.
DSP prelucreaz digital semnale analogice
2. Prezentai structura unui microprocesor i descriei, n cte o propoziie, rolul fiecrui
bloc
UAL unitate aritmetica si logica
DCC disp de comanda si control
DCI decodificator de
instructiuni
(comanda DCC)
RI registru de instructiuni (le
memoreaza temporar)
PC numara adresele
TD tampon de date
TA tampon de adrese
REG registre (capacitate mica)

3. Prezentai schema bloc a unui microsistem digital i descriei, n cte o propoziie, rolul
fiecrui bloc
UC up/uc + generator de tact,
amplif/
demux mag.
Mem. Fixa ROM, OTP,
EPROM,
EEPROM,
Flash
Mem. Scr/cit (S/D)RAM
mem. temp.
Porturi interfata dintre UC si
I/O
DECM gen semnale selectie pt
mem
DECP decodif. porturile

4. Enumerai 5 terminale de comand i control ale p 8086 i prezentai semnificaiile


lor
/BHE Bus High Enable (octet superior D15-D8)
/RD Read (se face o operatie de citire I/O)
READY s-a incheiat o operatie de transfer a datelor
INTR Interrupt Request (se intra in rutina de tratare a intreruperii; poate fi mascata)
NMI Non-Maskable Interrupt (intrerupere ce nu poate fi mascata)
RESET se intrerupe imediat activitatea up
5. Prezentai structura intern a p 8086 i descriei, n cte o propoziie, rolul fiecrei
uniti
EU executa toate instructiunile,
furnizeaza date si adrese pentru
BIU.
BIU aduce instructiuni, citeste
operanzi si scrie rezultate.

6. Gestionarea memoriei la p 8086


- capacitatea de memorie direct adresabil este de 1 MO,
- memoria este gestionat n segmente:
i. avantaje:
1. este facilitat programarea modular; fiecare modul poate ocupa unul
sau mai multe segmente putnd fi dezvoltat independent unul fa de
cellalt;
2. faciliteaz relocarea dinamic a programelor; pentru aceasta este
necesar ca acestea s nu afecteze coninuturile registrelor segment i
s nu fac referire la locaii din afara segmentului; programul poate fi
plasat oriunde n memorie prin modificarea coninuturilor registrelor
de segment;
3. se poate utiliza un numr mare de stive, prin plasarea adresei de
nceput a segmentului stiv n registrul SS i a vrfului stivei n SP;
ii.
dezavantaje:
1. limitri n lungimea programelor introduse de dimensiunile
segmentelor;
2. adresa fizic se obine din dou configuraii printr-un mecanism care
necesit timp deci duce la o scdere a vitezei de lucru.

7. Organizarea i comanda memoriei la p 8086


Organizarea memoriei:
- 00000H 00013H zon dedicat,
- 00014H 0007FH zon rezervat,
- 00080H FFFEFH zon disponibil,
- FFFF0H FFFFBH zon dedicat,
- FFFFCH FFFFFH zon rezervat.
Comanda memoriei

8. Sistemul de intrare/ ieire al p 8086


Sistemul de intrare/ ieire
- conectarea porturilor n spaiul de memorie,
- conectarea porturilor n spaiul de intrare/ ieire dedicat: suprapus peste primul
segment de memorie.
Transfer de operanzi pe:
- 16 bii,
- 8 bii pe D0-7 (adres par de port) sau D8 15 (adres impar de port).
Adrese de port pe:
- 16 bii: se folosete adresarea indirect prin DX (65536 porturi),
- 8 bii: se folosete adresarea direct (256 porturi).
Instruciuni IN i OUT
- transfer port registrul AX (16 bii) sau AL, respectiv AH (8 bii).
9. Sistemul de ntreruperi al p 8086
Sistemul de ntreruperi
- ntreruperi externe i interne,
- 256 ntreruperi, accesul la rutina de tratare este vectorizat.
Tabela vectorilor de ntrerupere: primii 1024 octei:
Tip
Intrare
Adres
Eroare la
0
00000H
divizare
Pas cu pas
1
00004H
ntrerupere
2
00008H
nemascabil
Breakpoint
3
0000CH
Rezervat
4
00010H
Depire
5 31
00014H 0007CH
Disponibil
32 255
00080H 003FCH
Instruciuni
0 - 255
00000H 003FCH

10. Ce nseamn cicluri cu generare n avans a adreselor, la p 80386, i care este ctigul
utilizrii lor?
cicluri normale

cicluri cu generare n avans a adreselor


(ctig: minimizarea numrului de stri de ateptare)

Citire 1
T1
CLK2
/BE3-0,
A31-2,
M//IO,
D//C

T1

Adres 1

Citire 1

Scriere 3

Citire 2
T2

T2

T1

CLK2
/BE3-0,
A31-2,
M//IO,
D//C
W//R

Adres 3

Adres 2

T1p

T2

W//R

Adres 1

Citire 2
T2p

T1p

Scriere 3
T2p

T1p

Adres 2

Adres 3

IN 1

IN 2

T2p

Adres 4

/NA

/ADS
/ADS

/NA
/READY

/READY
D31-0

IN 1

IN 2

OUT 3

D31-0

OUT 3

11. Mecanismul de segmentare a memoriei la p 80386


Adresa logic = Deplasament +
Registru selector;
Deplasament: 32 bii, furnizat de
instruciune;
Registru selector = Registru de
segment;
Coninutul registrului selector: index
n Tabela;
O intrare n Tabel = grup de 8 octei
numit descriptor;
Dezavantaj al mecanismului de segmentare:
citirea unui descriptor adic 2 cicluri suplimentare; soluia:
Registre cache pentru descriptori.
Avantaje ale mecanismului de segmentare:
faciliteaz implementarea sistemelor multitasking prin asignarea segmentelor de cod
i date propri,
facilitile de protecie oferite de microprocesor asigur separarea segmentelor
corespunztoare unui task de cele corespunztoare altui task i de cele
corespunztoare sistemului de operare; n acest fel pot rula concurent mai multe
taskuri, izolate unul de cellalt, fiecare avnd acces doar la propriile resurse i izolate
de resursele sistemului de operare,
un program oarecare nu poate modifica resursele sistemului de operare i o eroare
dintr-un program nu poate afecta dect propriile resurse,
n cazul existenei unei erori ntr-un program care duce la abandonarea sa, alte
programe pot rula pentru a diagnostica i, eventual corecta, eroarea.
12. Ce nseamn Segment Stare Task, la p 80386, i la ce este util?
Fiecrui task i corespunde un segment special, numit Segment Stare Task, TSS, care conine
toate informaiile necesare actualizrii strii microprocesorului i revenirii n taskul de unde s-a
fcut comutarea.

13. Mecanismul de paginare a memoriei la p 80386


31

- mecanismul de paginare preia


adresa generat de cel de
segmentare, adresa liniar, i o
transform n adres fizic;
- dac mecanismul de paginare
nu este activat, atunci adresa
liniar devine adres fizic;

Adres liniar
22 21
12 11
0
Director
Tabel
Deplasament

31
31

+
Adresa
fizic

Pagina fizic
dorit

+
Tabela
paginilor
CS3

Tabela
directorilor

Avantaje:
se pot gestiona 1024 x 1024 = 1 M pagini a cte 4 Ko;
tabelele sunt ele nsele pagini de cte 4 Ko;
cere zone de memorie contigue de dimensiuni mici: 4 Ko fa de un mecanism pe un
singur nivel, cu pagini de 4 Ko, pentru care ar fi fost necesar o tabel cu 1 M intrri
i considernd 4 octei/ intrare ar fi fost necesar o zon de memorie contigu de 4
Mo.
Dezavantaje:
necesitatea execuiei a dou accese suplimentare la memorie pentru fiecare acces
dorit, ceea ce nseamn timp suplimentar;
soluia: prevederea n microprocesor a unei memorii cache pentru paginare,
cunoscut sub denumirea de TLB;
conine adresele celor mai recent folosite 32 pagini;
tabela are 32 intrri i poate acoperi 128 Ko de memorie.
14. Schema adresrii memoriei la p 80386
A
dres
logic

15

31

SELEC
TO
R

D
EPLA
SA
M
EN
T

D
escriptor

Tabeldescriptori
G
D
TsauLD
T
A
dres
liniar

22

31

21

12
Tabel

D
irector

11

0
D
eplasam
ent

Paginareneactivat

M
em
oriafizic
Paginare
activat

M
em
orie
cachepentru
paginare
(TLB)

Cutarecusucces

+
A
dresa
fizic

C
utarefr
succes
31

31

0
+

C
R
3

Tabela
directorilor

Tabelapaginilor

Pagina
fizic
dorit

15. Prezentai soluii pentru amplificarea liniilor uni i bidirecionale ale unui
microprocesor

Amplificarea liniilor unidirecionale

Amplificarea liniilor bidirecionale

Cu facilitatea de cedare a magistralelor


16. Demultiplexarea liniilor unui microprocesor

Demultiplexarea central

Demultiplexarea local

17. Unitate central cu p 8086 n modul minim


3X

OC
RES
RDY1
AEN1

BHE
A19-16
RESET
AD15-0
READY ALE

BHE

L
S
3
7
3

CLK

8
2
8
4
A

Memorii
8
RD
0
WR
8
6 M / IO

A19-0

Porturi

GSC

2X

MN /
MX

DT / R
DEN

L
S
2
DIR 4
5
G

D15-0

18. Unitate central cu p 8086 n modul maxim


3X
OC
RES
RDY1
AEN 1

8
2
8
4
A

A19 -16
AD15 -0

RES ET

BHE

L
S
3
7
3

BHE

CLK

READY

MRDC

S2-0

S2 0

8
0
8
6

ALE

8
2
8
DEN 8
DT / R

Memorii

A19 -0

Porturi

MWTC
AMWC
IORC
IOWC
AIOWC
INTA

2X
L
S
2
4
DIR 5
G

MN /
MX

D15 -0

19. Prezentai 2 soluii pentru stabilirea prioritii cererilor de acces ntr un sistem
multiprocesor
Vcc
BUSY

Vcc

CBRQ

BUSY
Arbitru
8289
2

Arbitru
8289
1
BPRN

BPRO

BPRN

CBRQ

Arbitru
8289
n
BPRO

BPRN

BPRO

Arbitru
8289
2

Arbitru
8289
1

Arbitru
8289
n

. . .
Codificator cu
prioritate

BPRN

BPRO

BPRN

BPRO

BPRN

BPRO

Soluia serial
Decodificator
. . .

Soluia paralel
Soluia rotativ:
- similar cu cea paralel doar c prioritatea este reasignat n mod dinamic;
- codificatorul cu prioritate este nlocuit de un circuit mai complex care rotete prioritatea ntre
arbitri care cer acces, asigurnd astfel fiecrui arbitru timp egal pe magistral.
20. Care este calea prin care unui p 8086 i se permite sau nu accesul la resursele comune
dintr un sistem multiprocesor?
Circuitul 8289 acioneaz asupra circuitului 8288 (controler de magistral):
- cnd arbitrul permite accesul procesorului la magistrala comun, el va activa linia /AEN;
aceasta va permite accesul separatoarelor de pe liniile de adrese i date pe magistrala
comun; semnalele de comand vor fi generate, de ctre circuitul 8288, n funcie de tipul de
ciclu executat de procesor;
- cnd arbitrul nu permite accesul procesorului la magistrala comun, el va dezactiva
semnalul /AEN; circuitul 8288 va trece toate semnalele de comand a transferurilor cu

resursele de pe magistrala comun n starea lor inactiv, separatoarele de pe liniile de date i


adrese ntre magistralele procesorului i magistrala comun vor fi trecute n a 3-a stare
permind astfel accesul altor procesoare la magistrala comun.
Microprocesorul este introdus n stri de WAIT;
ntr-un sistem multimaster este necesar definirea unei prioriti la existena cererilor de acces
simultane la magistrala comun; 3 tehnici: paralel, serial i rotativ.
21. Prezentai o schem de conectare a unui p 8086 ntr un sistem multiprocesor
1
RESB

IOB

RDY1

LOCK
CLK
DIR
S2

8
2
8
4 READY
A CLK

S1

8
2
8
9

BUSY
CBRQ
BPRO
BPRN
BREQ

S0

AEN

BCLR

AEN 1
AEN

S2
S1

CLK
READY

MN /
MX

S0

8
0
8
6

S2
S1
S0

CLK
DEN
DT / R
ALE

MRDC
MWTC

8
2
8
8

AMWC
IORC
IOWC
AIOWC
IOB

INTA

LOCK
OC

BHE

A19-16
AD15-0
G

G
DIR

L
S
3
7
3

L
S
2
4
5

BHE

M
A
g.
c
o
m
u
n
a

A19-0

AD15-0

22. Ce nseamn i care este rolul unui decodificator de memorii ntr un microsistem
digital?
Proiectarea unui decodificator de memorii
rolul unui decodificator de memorii este s genereze semnale de selecie pentru
circuitele de memorie din microsistem;
poziia pe care o ocup, n cadrul microsistemului, este ntre unitatea central i
circuitele de memorie;
proiectantul pornete de la aa numita hart a memoriei care arat plasarea circuitelor
de memorie n spaiul de adresare direct a microprocesorului;
plasarea se face n funcie de capacitatea fiecrui circuit, de cerinele aplicaiei, ale
unitii centrale i ale sistemului de operare, dac exist;
aplicaia va fixa capacitatea total de memorie necesar;
n funcie de capacitatea circuitelor de memorie disponibile, va rezulta i numrul de
circuite necesare;
capacitatea fiecrui circuit va determina dimensiunea zonei ocupate de respectivul
circuit.

Intrrile decodificatorului de memorii:


linii din magistrala de adrese, corespunztoare zonelor ocupate de aceste
circuite i
semnale de comand (uneori).
23. Descriei decodificarea complet
Decodificarea complet:
- se construiete un tabel avnd ca i coloane rangurile de adrese i ca linii configuraii
care arat adresa de nceput i de sfrit a fiecrei zone ocupate de cte un circuit;
- pentru fiecare circuit, se inspecteaz coloanele, pornind de la rangurile mai
semnificative spre cele mai puin semnificative i se stabilesc acele ranguri ce rmn
nemodificate oricare ar fi locaia adresat n respectiva zon;
- o funcie combinaional a acestor intrri va individualiza zona respectiv i va
constitui ecuaia pentru semnalul de selecie a circuitului care o acoper;
- exemplu: s se proiecteze decodificatorul pentru urmtoarea hart a memoriei:
i. 00000H 1FFFFH circuitul de memorie C1, avnd capacitatea de 64K x
16 bii,
ii.
40000H 4FFFFH circuitul de memorie C2, avnd capacitatea de
32K x 16 bii,
iii.
70000H 7FFFFH circuitul de memorie C3, avnd capacitatea de
32K x 16 bii.
Tabelul:
A A A A A A A A A A A9 A8 A7 A6 A5 A4 A3 A2 A1 C
19 18 17 16 15 14 13 12 11 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C1
0

0 1

1 1

0 0

0 0

0 0

1 1

1 1

0 0

1 1

1 1

Ecuaiile semnalelor de selecie:


/SELC1 = /A19 * /A18 * /A17
/SELC2 = /A19 * A18 * /A17 * /A16
/SELC3 = /A19 * A18 * A17 * A16
Schema decodificatorului:

C2

C3

24. Descriei decodificarea incomplet. Care sunt avantajele i riscurile ei?


Decodificarea incomplet:
se construiete tabelul ca n cazul anterior dar funcia sau funciile care vor genera
semnalele de selecie nu vor utiliza toate liniile de adres ce rmn nemodificate
oricare ar fi locaia adresat din zona respectiv;
aceasta va duce la o simplificare a decodificatorului dar un acelai circuit, sau
diviziune, va ocupa mai multe zone de memorie de aceeai capacitate ca cea a
circuitului;
dac nu se consider o linie de adres un acelai circuit va ocupa 2 zone de memorie,
dac nu se consider 2 linii de adres un acelai circuit va ocupa 4 zone de memorie
. a. m. d.
exemplu: s se proiecteze decodificatorul pentru urmtoarea hart a memoriei:
00000H 0FFFFH circuitul de memorie C1, avnd capacitatea de 32K x
16 bii,
40000H 4FFFFH circuitul de memorie C2, avnd capacitatea de 32K x
16 bii,
80000H 8FFFFH circuitul de memorie C3, avnd capacitatea de 32K x
16 bii,
C0000H CFFFFH circuitul de memorie C4, avnd capacitatea de 32K x
16 bii.
Tabelul:
A A A A A A A A A A A9 A8 A7 A6 A5 A4 A3 A2 A1 C
19 18 17 16 15 14 13 12 11 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C1
0

C2

C3

C4

Ecuaiile semnalelor de selecie n cazul decodificrii incomplete:


/SELC1 = /A19 * /A18
/SELC2 = /A19 * A18
/SELC3 = A19 * /A18
SELC4 = A19 * A18
Fiecare circuit ocup 4 zone de memorie, avnd capaciti egale cu cele ale circuitului; de
exemplu circuitul C1 ocup zonele:
00000H 0FFFFH,
10000H 1FFFFH,
20000H 2FFFFH i
30000H 3FFFFH.
Schema decodificatorului n cazul decodificrii incomplete

25. Prezentai 1 soluie pentru conectarea unei memorii fixe la o UC cu p 8086


Circuitul EPROM Am27C2048:

74x138

Ai

A2

Aj

A1
A0

Ak
GND sau Al
GND sau Am
M/ /IO

/RD

.
.
.
/Yn

/E1
/E2
E3

.
.
.

la
/CE

la
/OE

Liniile de adrese ale memoriilor se leag la liniile A1 A17 (pentru 8086).

26. Prezentai 1 soluie pentru conectarea unei memorii SRAM la o UC cu p 8086


Circuitul SRAM A616316
Soluii de conectare: ciclul de scriere 1:

74x138
Ai
Aj
Ak
GND sau Al
GND sau Am
M/ /IO

A2
A1
A0

.
.
.
/Yn

.
.
.

/E1
/E2
E3

/RD

la
/OE

/WR

/WE

A0

/LB

/BHE

/HB

Liniile de adrese ale memoriilor se leag la liniile A1 A17 (pentru 8086).


27. Prezentai soluia pentru conectarea unei memorii DRAM la o UC cu p 8086 fr
utilizarea unui
A19controler de DRAM
A17
M//IO

UC

A16
.
.
.
A1
/DEN
/BHE
A0
D15
/RD
.
.
D0

D
E
C

/OE
A7
.
.
.
A0

M
U
X

/RAS
/UCAS
LOGIC
/LCAS
I/O15
/WE
.
.
I/O0

I
C
4
1
C
1
6
6
5

28. Prezentai soluia pentru conectarea unei memorii DRAM la o UC cu p 8086 cu


utilizarea unui controler de DRAM
A19
A17
M//IO

UC/RD

A16
.
.
.
A1

/WR

D
E
C

/OE

/CS

C
D
R
A
M

/DEN
A0
/BHE
D15
.
.
D0

A7
.
.
.
A0
/RAS
/UCAS
/LCAS
/WE

I
C
4
1
C
1
6
6
5

I/O15
.
.
I/O0

29. Ce se nelege prin port i cum se pot implementa?


Prin port de intrare/ ieire sau, mai scurt, port, se nelege un circuit, sau grup de circuite, care fac
legtura ntre unitatea central a unui microsistem i dispozitivele i echipamentele periferice.
Implementarea porturilor:
- Cu 1 sau puine circuite: dac UC se leag la led uri, comutatoare, module de
afiare cu segmente, module de afiare cu LCD, tastaturi, bistabile cu funciuni
speciale etc.
- Cu mai multe circuite, dac UC se leag la un echipament periferic, uneori
nefcndu-se distincia ntre port si interfa; ex.: microcalculatorul PC: porturile
serial, paralel, USB; noiunea de port este mai larg cuprinznd mai multe circuite,
inclusiv un circuit specializat programabil sau o parte a unui circuit specializat
programabil mai complex, precum i elemente mecanice de conectare.
30. Prezentai soluia complet pentru conectarea unei pori ca port
Schema de principiu:
Schema trebuie s fie nsoit de o secven de instruciuni;
fie i = k = 0 i j = h = 1, atunci secvena pentru citirea
semnalului EXT1 este:
IN
AL,00H
RCR AL,1
JNC ZERO; s-a citit 0 logic
.
; s-a citit 1 logic
S-au considerat conexiunile: A7 la A2, A6 la A1, A5 la A0,
M//IO la /E1, GND la /E2 i 1 la E3

31. Prezentai soluia complet pentru conectarea unui bistabil ca port de intrare
Schema de principiu:

MOV
OUT

MOV
OUT

Fie k = 0, h = 1 i i = 7:
pentru modificarea ieirii bistabilului de tip JK
este suficient execuia instruciunii OUT
00H,AL i bistabilul va trece n starea
complementar celeia n care a fost;
utilizarea acestei soluii are dezavantajul c
trebuie cunoscut starea prezent a bistabilului
nainte de a lansa n execuie instruciunea care
i modific starea;
Ieirea bistabilului de tip D poate fi comandat fr a fi necesar cunoaterea strii
prezente ntruct are intrare de date;
Urmtoarea secven provoac trecerea bistabilului n starea 1:
AL,80H
20H,AL
Urmtoarea secven provoac trecerea bistabilului n starea 0:
AL,00H
20H,AL

32. Prezentai soluia complet pentru conectarea unui bistabil ca port de ieire
Soluia principial pentru comanda registrelor 74x373 i 74x374:

MOV
OUT
OUT

Fie k = 0 i h = 1; ncrcarea unei configuraii n registrele 74x373 i 74x374:


AL,____H
00H,AL; pentru 373
20H,AL; pentru 374

33. Ce se nelege prin comanda unui semnal prin program?


Semnific:
- Citirea unui semnal din exteriorul microsistemului: soluia este cea prezentat la
citirea unui semnal prin intermediul unui port implementat cu o poart:
i. Semnalul este legat la intrarea de date a unei pori cu 3 stri;
ii.
Intrarea de validare a porii este comandat de o ieire a unui
decodificator de porturi;
iii.
Ieirea porii este legat la o linie a magistralei de date a unitii
centrale;
iv.
Citirea se face cu o instruciune IN i apoi se face ramificarea.
- Poziionarea unui semnal la 1 sau 0 logic: soluia este cea prezentat la

implementarea unui port cu un bistabil:


i. Valoarea semnalului este transmis la intrarea de date a unui bistabil prin
intermediul unei linii a magistralei de date;
ii.
Tactul bistabilului este comandat de o ieire a unui decodificator de
porturi;
iii.
Iesirea bistabilului este semnalul care trebuie comandat;
iv.
Poziionarea semnalului se face cu o instruciune OUT.
34. Care sunt cele 2 soluii pentru extinderea spaiului de memorie fizic a unui
microprocesor?
i. Cu bistabile: fiecare bloc va fi comandat de 1 bistabil; pentru n blocuri sunt
necesare n bistabile;
ii.
Cu bistabile i decodificator: pentru n blocuri sunt necesare log2n
bistabile + decodificator.
Soluia cu bistabile:
- Varianta cu bistabile cere ca fiecare pagin s fie comandat de un bistabil.
- Ieirea bistabilului va fi o component a semnalului sau semnalelor de selecie ale
circuitului sau circuitelor care sunt suportul fizic al blocului.
- Grupul de bistabile va fi comandat de microprocesor ca unul sau mai multe porturi
de ieire, intrrile de date ale bistabilelor fiind conectate la magistrala de date.
- Va exista un singur port de ieire dac numrul bistabilelor nu este mai mare de 8
(16) sau mai multe porturi n caz contrar.
- Condiia de funcionare corect este ca un singur bistabil s fie activ la un moment
dat.
- Particularitile de implementare vor impune ca nivelul activ al bistabilelor, pentru
aceast aplicaie, s fie 0 sau 1.
- Avantaj: simpl, recomandat dac numrul de blocuri este mic;
- Dezavantaje: multe bistabile, bistabilele necesit iniializare, nu ofer protecie.
Soluia cu bistabile i decodificator:
- Varianta cu bistabile i decodificator necesit mai puine bistabile;
- Ieirile bistabilelor se conecteaz la intrrile unui decodificator iar ieirile
decodificatorului vor fi componente ale semnalelor de selecie ale circuitelor de
memorie.
- Avantaje:
i. numr mai mic de circuite pentru partea de comand dar acest avantaj exist
doar dac numrul de blocuri este mare i depinde de numrul de ieiri ale
decodificatorului i, mai ales,
ii.
protecie asigurat circuitelor de memorie: oricare ar fi configuraia
nscris n bistabile, doar o ieire a decodificatorului va fi activ la un
moment dat deci nu exist riscul conflictului pe magistral; din acelai motiv
nu necesit nici iniializare ca urmare nu este necesar ca bistabilele s aib
accesibile intrrile asincrone.
- Dezavantaj:
i. Numr mai mare de circuite pentru puine blocuri;
ii.
Se recomand doar la numr mare de blocuri.
35. Ce se nelege printr un circuit specializat programabil i ce trsturi generale au
aceste circuite?
Definiie i caracteristici
Standardizarea soluiilor pentru diversele tipuri de aplicaii rezolvabile cu sisteme cu
microprocesoare circuite specializate pe o problem.

Cerine:
Flexibilitate: pentru a acoperi toate modurile de lucru;
Programabilitate: pentru comunicare cu programatorul.
Un circuit specializat este programabil n sensul c i se poate cere, prin intermediul unuia
sau mai multor cuvinte de comand, alegerea unor particulariti ale tipului de aplicaie
pentru care circuitul a fost conceput.
Cuvintele de comand sunt transmise circuitului de unitatea central.
Ofer informaie de stare legat de ultimul transfer.
Trsturi generale ale CSP:
referitor la structura lor intern, circuitele specializate sunt vzute de unitatea central ca un
grup de porturi de intrare/ ieire ale cror adrese au un cmp comun, diferind, n general,
prin valorile pe care le iau ultimele 1 2 ranguri;
tot referitor la structura lor intern, se pot distinge 3 tipuri de porturi n cadrul circuitelor
specializate:
porturi de comand, care primesc de la unitatea central octeii de comand prin care
i se cere circuitului s aleag un mod de lucru i anumite caracteristici ale sale,
porturi de date, prin care circuitul transfer date ntre el i unitatea central i
porturi de stare, care ofer informaii asupra strii curente a circuitului i asupra
modului cum a decurs ultimul transfer de date; din informaia de stare, unitatea
central mai poate afla care este momentul n care circuitul poate accepta un nou
transfer;
referitor la terminalele acestor circuite, ele se pot grupa n 2 mari categorii:
una una care realizeaz dialogul unitate central circuit i
care realizeaz dialogul circuit periferic;
CSP fac parte din familia unui microprocesor:
pot fi conectate direct la microprocesorul respectiv,
Pot fi conectate direct sau uor, cu minim de circuite, la un microprocesor obinut din
primul prin evoluie
Se conecteaz dificil, cu multe circuite, la alte microprocesoare
36. Ce se nelege prin interfa serial i ce avantaje are?
Interfaa serial const n totalitatea circuitelor i programelor de baz care asigur
comunicarea ntre unitatea central i un echipament periferic, aceasta fiind de tip bit dup bit.
Transferul serial este foarte util atunci cnd exist distane mari (peste 3 m) ntre echipamentele
care comunic.
Exist dou motive care susin aceast recomandare: costul i rezistena la perturbaii:
- Costul este determinat de numrul firelor din cablul care leag cele 2 echipamente:
dac acest numr este mai mic, costul va fi mai redus;
- Transferul serial are o rezisten mai mare la perturbaii dect cel paralel din dou
motive:
i. posibilitatea de perturbare a liniilor scade dac numrul acestora este mai mic
i
ii.
distana dintre nivelele de tensiune corespunztoare celor 2 nivele
logice este mai mare dect la transferul paralel.
37. Tipuri de interfee seriale
Exist multe tipuri de interfee seriale:
- Fr fir: Bluetooth, WiFi, ZigBee etc.
- Cu fir: RS232, RS485, I2C, CAN, USB, Flexray etc.
- Difer prin:
i. Mediul de transmitere a informaiei,

ii.
Modalitatea de alocare a tensiunilor nivelelor logice,
iii.
Parametri: rat de transfer, rezistena la perturbaii, corecie a erorilor,
metode de codificare, utilizarea sau nu a tactului, numrul de module care se
pot conecta, ierarhizarea modulelor etc.
- La PC: RS232 i USB.
Cea mai veche dar i cea mai rspndit: RS232; se folosete la transmiterea la distan a
datelor;
n mediu industrial: RS485;
n domeniile audio, video: I2C;
n industria automobilelor: CAN, Flexray etc.
38. Cum arat forma de und a unui caracter n transferul asincron de tip RS232?

39. Ce nseamn controlul fluxului ntr un transfer serial i ce soluii are?


Controlul fluxului: cum afl transmitorul c receptorul nu mai poate prelua caractere? - din
diferite motive, de exempu: tamponul su este plin, este deconectat de la linie etc., ca urmare nu
mai are rost s le trimit fiindc, n caz contrar, acestea se pierd.
- Exist trei soluii:
i. fr control;
ii.
cu control software ( software handshaking ) i
iii.
cu control hardware ( hardware handshaking ).
- Prima soluie: emitorul i receptorul lucreaz la aceeai vitez, mic;
- A doua soluie: utilizarea a dou caractere de control: XON avnd codul DC1 (11h)
i XOFF avnd codul DC3 (13h); receptorul trimite XON dac dorete transfer i
XOFF dac nu dorete transfer.
- A treia soluie: realizeaz un dialog ntre transmitor i receptor prin intermediul a
dou semnale. Atunci cnd transmitorul dorete s transfere ceva, activeaz linia
RTS. Dac receptorul poate primi informaia, va rspunde prin activarea liniei CTS
iar cnd nu mai poate primi informaie va dezactiva linia CTS. Aceast soluie este
mai rapid dect cea dinainte dar cere un cablu cu 2 fire n plus.
40. Circuitul 8251: rol, caracteristici i structur intern
Circuitul specializat programabil 8251
- Specializat pentru transferurile seriale;
- Face parte din categoria circuitelor de tip USART (Universal Synchronous
Asynchronous Receiver Transmitter); moduri de lucru:
i. Sincron,
ii.
Asincron;
- Poate s primeasc un octet n paralel de la unitatea central, s l serializeze i s
l transmit la un echipament serial;
- Poate s preia de pe linie, de la un echipament periferic serial, un octet, s l
asambleze i s l predea, n paralel, unitii centrale;

Circuitul comunic unitii centrale cnd are un caracter gata pentru ea sau cnd a
terminat de transmis un octet i poate prelua altul; poate comunica:
i. Prin program,
ii.
Prin ntreruperi;
Transmisie i recepie cu dublu tampon

41. Care sunt cile prin care un circuit 8251 anun procesorul c a terminat de transmis
un caracter sau c are un caracter pentru el, sosit de pe linia serial?
Recepia:
- Pentru creterea vitezei, a fost implementat conceptul de suprapunere.
- Tamponul recepie este alctuit din 2 registre, RA i RB;
- Datele sunt preluate de pe linia serial n registrul RB, se elimin informia de
cadrare, i, dup asamblarea unui caracter, acesta este transferat n registrul RA i,
simultan, este activat terminalul RXRDY i rangul cu acelai nume din registrul de
stare.
- Prin acest semnal, circuitul anun microprocesorul c are un caracter asamblat pe
care poate s i l ofere.
- Microprocesorul va trebui s preia coninutul registrului RA n timpul ct se
asambleaz un nou caracter n registrul RB.
- Dac nu este ndeplinit aceast cerin, vechiul caracter se pierde, ntruct n RB se
va transfera noul caracter i circuitul va detecta eroare de ritm i va poziiona un rang
din registrul de stare, anunnd astfel exteriorul c a aprut aceast eroare.
- n acest fel, s a realizat suprapunerea ntre timpul necesar prelurii i asamblrii
unui caracter de pe linia serial cu timpul necesar citirii caracterului asamblat de
ctre microprocesor.
- Semnalul RXRDY este dezactivat doar de un semnal activ pe linia /RD, ceea ce
corespunde unei citiri din partea microprocesorului.
Transmisia:
- Suprapunerea;
- Tamponul transmisie este alctuit din 2 registre, TA i TB.
- Unitatea central ncarc un caracter n registrul TA, circuitul l transfer n registrul
TB, de unde caracterul este serializat i transmis pe linie.

Dup transferul coninutului registrului TA n TB, circuitul activeaz semnalul


TXRDY comunicnd microprocesorului c poate prelua un nou caracter.
Simultan este activat i rangul cu acelai nume din registrul de stare.
Dezactivarea terminalului TXRDY se face de primul front al semnalului /WR care
corespunde operaiei de scriere a unui nou caracter de ctre microprocesor.
Terminalul TXRDY este activat la ndeplinirea condiiilor descrise mai sus doar dac
transmisia poate avea loc, adic rangul TXE din cuvntul de comand este 1 i
terminalul /CTS = 0;
De remarcat c rangul TXRDY din registrul de stare este activat indiferent de starea
rangului TXE i a terminalului /CTS.

42. Enumerai cteva tipuri de informaii trimise circuitului 8251 prin programare
- cuvntul de mod, pentru mod sincron
- cuvntul de mod, pentru mod asincron
- cuvntul de comand
- cuvntul de stare
43. Enumerai tipurile de aplicaii pentru care se poate folosi circuitul 8253
Tipuri de aplicaii:
- generarea de ntrzieri;
- generarea de impulsuri cu frecven programabil:
- generarea de impulsuri singulare;
- ceas de timp real;
- monostabil numeric;
- numrarea de evenimente externe.
44. Circuitul 8253: caracteristici i structura intern

Tamponul date asigur legtura ntre circuit i magistrala de date a sistemului; transfer
cuvinte de comand, constante de divizare precum i coninutul contoarelor, n cazul unei
operaii de citire a lor.
Logica scriere/ citire conduce ntregul transfer de date din interiorul circuitului; are ca intrri
semnale de comand din partea microprocesorului care i comunic ce fel de operaii se
desfoar.
RCC, Registrul de comand i control, va prelua cuvintele de comand transmise de ctre
microprocesor care arat contoarele implicate n operaiile curente i modurile de lucru ale

acestora; nu poate fi citit.


Contoarele 0, 1 i 2 sunt identice i independente n funcionare; fiecare este un numrtor
pe 16 ranguri, cu prencrcare, care numr n jos, avnd ca intrare de tact linia CLKi; n
faza de programare, contorul este prencrcat cu o constant iar cuvntul de comand care i
corespunde i va fixa modul de lucru; fiecare contor poate lucra n unul din 6 moduri; dac
se numr evenimente, impulsurile care le descriu vor fi preluate de contor la intrarea CLK
proprie iar dac se dorete generarea de ntrzieri atunci la intrarea CLK a unui contor se va
lega tactul sistemului; coninutul contoarelor poate fi citit de microprocesor.
45. Descriei 2 moduri de lucru ale unui contor al circuitului 8253
Modul 0 sau generarea unei cereri de ntrerupere la sfritul numrrii:
Dup programarea contorului, ieirea acestuia trece la nivel 0 logic;
Se menine la aceast valoare pn cnd coninutul contorului va ajunge la valoarea 0, n urma
numrrii impulsurilor sosite pe linia CLK, cnd va trece la 1 logic;
Rmne n aceast stare pn la o nou ncrcare;
Numrarea poate fi inhibat prin activarea intrrii GATE;
Fig. prezint modificarea ieirii unui contor programat s lucreze n modul 0:
Cifra din parantez indic valoarea constantei;
Decrementarea ncepe dup ncrcarea constantei i dup trecerea unui impuls la intrarea de tact.

Modul 3 sau generator de semnale dreptunghiulare:


Ieirea contorului va genera semnal dreptunghiular cu perioada egal cu perioada tactului nmulit
cu valoarea constantei.
Factorul de umplere al semnalului va fi 1/ 2 dac constanta este par iar dac aceasta este impar,
semnalul va avea 1 logic o durat egal cu (n + 1)T/ 2 i 0 logic o durat (n 1)T/ 2, unde n este
valoarea constantei iar T este perioada tactului.

46. Enumerai cteva tipuri de informaii trimise circuitului 8253 prin programare
- selectie contor
- comanda
- mod de lucru (0-5)
- mod binar/BCD

47. Circuitul 8255: rol, caracteristici i structur


Spre deosebire de transferul serial, la care transferul datelor se face bit dup bit, la transferul paralel
se transfer 8 bii simultan iar transferul este nsoit i de semnale de dialog.
Circuitul specializat programabil 8255
Dispune de 24 linii de intrare/ ieire care pot fi configurate n mai multe feluri n funcie de
modul de lucru ales:
2 grupe de cte 12 linii de intrare sau ieire, fr semnale de dialog;
2 grupe de cte 8 linii de intrare sau ieire, cu semnale de dialog sau
o grup de 8 linii bidirecionale, cu semnale de dialog.
Din cele 24 linii de intrare/ ieire 16 au posibiliti de memorare iar 8 nu au aceast
facilitate.
Comunicarea cu circuitul 8255 se face prin intermediul a 4 adrese de port, corespunztoare
porturilor A, B, C i portului pentru cuvntul de comand.

48. Descriei modul 0 al circuitului 8255


Modul 0:
Se mai numete i mod intrare/ ieire i se folosete pentru operaii simple de intrare/ ieire
fr dialog. Caracteristicile modului sunt urmtoarele:
se pot comanda 2 porturi pe 8 bii i 2 porturi pe 4 bii,
oricare port poate fi intrare sau ieire,
un port ieire are posibiliti de memorare iar un port intrare nu memoreaz datele,
exist 16 configuraii posibile,
pentru a transmite date la portul selectat se folosete o instruciune de ieire,
pentru a prelua date de la portul selectat se folosete o instruciune de intrare.
49. Descriei modul 1 intrare al circuitului 8255
Modul 1:
Se mai numete i mod de intrare/ ieire cu dialog i se folosete pentru operaii de intrare/
ieire cu dialog. Caracteristicile modului sunt urmtoarele:

se pot comanda independent grupul A i grupul B,


grupul A conine portul A i 3 ranguri ale portului C iar grupul B conine portul B i
alte 3 ranguri ale portului C ,
rangurile nefolosite ale portului C pot fi comandate prin modul bit set/ reset,
porturile A i B pot fi declarate ca intrri sau ieiri avnd i posibiliti de memorare,
portul C are i rol de registru de stare.
Semnalele de dialog folosite n modul 1 intrare sunt:
/STB (Strobe): intrare prin care perifericul anun c a plasat date pe liniile
portului; 0 logic va provoca ncrcarea datelor n port;
IBF (Input Buffer Full): ieire, activ la 1 logic, prin care portul anun perifericul
c datele au fost preluate; semnalul redevine inactiv dup ce semnalul /RD de la
microprocesor devine inactiv, ceea ce corespunde situaiei n care microprocesorul a
preluat data ncrcat cu /STB;
INTR (Interrupt): este o ieire, activ la 1 logic, ctre microprocesor, prin care
8255 i comunic acestuia c un port de intrare are o dat de transmis; semnalul
poate fi cerere de ntrerupere pentru microprocesor; semnalul va fi activ cnd /STB =
1, adic data a fost ncrcat, IBF = 1, adic i s a comunicat perifericului c data a
fost preluat i dac sistemul de ntreruperi al circuitului este activ; semnalul va fi
dezactivat de frontul anterior al semnalului /RD care corespunde situaiei n care
microprocesorul a luat n considerare cererea; sistemul de ntreruperi este
implementat cu bistabilul INTEA pentru portul A i INTEB pentru portul B i este
comandat n modul bit set/ reset prin rangurile PC4 pentru portul A, respectiv PC2
pentru portul B ale portului C.

50. Descriei modul 1 ieire al circuitului 8255


Modul 1:
Se mai numete i mod de intrare/ ieire cu dialog i se folosete pentru operaii de intrare/
ieire cu dialog. Caracteristicile modului sunt urmtoarele:
se pot comanda independent grupul A i grupul B,
grupul A conine portul A i 3 ranguri ale portului C iar grupul B conine portul B i
alte 3 ranguri ale portului C ,
rangurile nefolosite ale portului C pot fi comandate prin modul bit set/ reset,
porturile A i B pot fi declarate ca intrri sau ieiri avnd i posibiliti de memorare,
portul C are i rol de registru de stare.
Semnalele de dialog folosite n modul 1 ieire sunt:

/OBF (Output Buffer Full): ieire, activ la 0 logic, prin care portul anun
perifericul c microprocesorul i a trimis o dat i a plasat o pe liniile proprii;
semnalul este activat dup dezactivarea lui /WR, prin care microprocesorul nscrie
data n port, i va fi dezactivat de rspunsul perifericului;
/ACK (Acknowledge): intrare, activ la 0 logic, prin care perifericul anun c a
preluat data trimis de portul A sau B; este rspunsul la semnalul /OBF;
INTR (Interrupt): ieire, activ la 1 logic, ctre microprocesor, prin care 8255 i
comunic acestuia c a transmis ctre periferic data primit de la el i ateapt o
nou dat; semnalul poate fi cerere de ntrerupere pentru microprocesor; semnalul va
fi activ cnd /OBF = 1, adic data a fost transmis ctre periferic, /ACK = 1, adic
perifericul a preluat data i dac sistemul de ntreruperi al circuitului este activ;
sistemul de ntreruperi este implementat cu bistabilul INTEA pentru portul A i
INTEB pentru portul B i este comandat n modul bit set/ reset prin rangurile PC6
pentru portul A, respectiv PC2 pentru portul B ale portului C.

51. Enumerai cteva tipuri de informaii trimise circuitului 8255 prin programare
- selectie mod (grup A/B)
- intrare/iesire (port A/B/C sup./C inf.)
- set/reset
- selectie bit
52. Care sunt posibilitile de conectare a porturilor la o UC?
Posibiliti de conectare a porturilor la UC:
Intrare/ ieire programabil (PIO): transferul se desfoar prin intermediul UC; folosete
intensiv timpul UC;
ntreruperi: procesorul este ntrerupt la transferul fiecrui cuvnt (octet); multe ntreruperi
care nu ntotdeauna pot fi acceptate; rat de transfer limitat
Accesul direct la memorie (DMA): transfer direct memorie periferic sau periferic
periferic sau memorie memorie (neutilizat pentru c este mai rapid prin UC); nu implic
UC dar cere hardware suplimentar conectat pe magistrale;
Controler DMA: 8237A
53. Descriei 2 configuraii DMA
Configuraii DMA:
Magistral comun, controler DMA separat,
Magistral comun, controler DMA integrat,

Magistral de intrare/ ieire distinct.


Magistral comun, controler DMA separat:

Procesor

Memorie

DMA

Porturi

Fiecare transfer folosete magistrala de 2 ori:


3. Port cu DMA,
4. DMA cu memoria
UC este oprit de 2 ori/ transfer.
Magistral comun, controler DMA integrat:

Procesor

DMA

Memorie

... Port

Port

Controlerul DMA este conectat la mai multe porturi.


Fiecare transfer folosete magistrala o singur dat: DMA cu memoria.
UC este oprit o singur dat/ transfer.

Magistral de intrare/ ieire distinct:

Procesor

DMA

Memorie
Magistral de intrare/ ieire

Port

Port

Port

Fiecare transfer folosete magistrala comun o singur dat: DMA cu memoria.


UC este oprit o singur dat/ transfer.
54. Comunicarea UC controler DMA
- UC iniiaz transferul;
- Transmite controlerului DMA (prin programare):
i. Operaia (citire sau scriere),
ii.
Adresa dispozitivului periferic (portului),

iii.
Adresa de nceput a blocului de memorie implicat (poate fi i un
singur octet sau cuvnt),
iv.
Dimensiunea blocului de transferat.
UC execut alte operaii (instruciuni) care nu necesit datele care se transfer;
Controlerul DMA se ocup de transferul memorie port sau port memorie;
folosete magistralele comune ca urmare procesorul este oprit la fiecare transfer
DMA;
Controlerul DMA anun ncheierea transferului prin generarea unei cereri de
ntrerupere ctre UC;
Controlerul DMA i UC folosesc complementar magistralele.

55. Comunicarea UC controler DMA periferic


- Perifericul cere transfer de tip DMA activnd intrarea DREQ (DMA Request) a
controlerului DMA;
- Controlerul DMA activeaz ieirea sa HRQ spre intrarea HOLD a procesorului
anuntndu-l c are nevoie de magistrale;
- Procesorul ncheie ciclul main nceput, i trece magistralele i semnalele de
comand n a 3 a stare, respectiv n starea inactiv, i activeaz ieirea HLDA
anunnd controlerul DMA c a cedat magistralele; cererea de pe intrarea HOLD
trebuie s ramn activ pe toat durata transferului DMA;
- Controlerul DMA activeaz ieirea sa DACK comunicnd perifericului c cererea sa
DREQ a fost acceptat i va ncepe transferul;
- Controlerul DMA execut transferurile:
i. Memorie port: pune adresa primului octet (cuvnt) pe magistrala de adrese,
actveaz semnalul de comand MEMR i apoi IOW,
ii.
Port memorie: activeaz semnalul de comand IOR, pune adresa
primului octet (cuvnt) pe magistrala de adrese i apoi MEMW;
- Dup ncheierea transferurilor controlerul DMA dezactiveaz ieirea HRQ anunnd
procesorul c nu mai are nevoie de magistrale.
56. Circuitul 82C37A: rol, caracteristici
- Dispune de 4 canale independente,
- Poate fi cascadat pentru a obine oricte canale,
- Control individual (activare/ dezactivare i polaritate) asupra fiecrei cereri DREQ i
fiecrui rspuns DACK,
- Permite transfer memorie memorie,
- Rat de transfer ridicat:
i. Pn la 4 MO/ sec. cu tact de 8 MHz i
ii.
Pn la 6.25 MO/ sec. cu tact de 12.5 MHz,
- Asigur incrementarea sau decrementarea adresei,
- Se folosete cu un registru extern pentru jumtatea mai semnificativ a adresei,
- Poate lucra n mai multe moduri,
- Compatibil TTL/ CMOS.
57. Descriei 2 tipuri de cicluri active ce pot fi executate de circuitul 82C37A
Demand transfer mode:
- Se tranfer date continuu pn cnd:
i. TC este setat sau
ii.
/EOP este activat sau
iii.
Cererea DREQ devine inactiv.
- Mod util atunci cnd un periferic dorete s-i goleasc tamponul de date, indiferent
de capacitatea acestuia.

Cascade mode:
Permite extinderea numrului de canale prin legarea n cascad a mai multor circuite
82C37A;
Figura urmtoare arat o cascadare pe 2 nivele:

Pot fi ataate noi nivele la intrrile DREQ libere ale circuitelor de pe nivelul 2;
Programarea ncepe cu circuitul cel mai aproape de procesor
58. Cascadarea circuitelor 82C37A: ce nseamn, cum se poate realiza i la ce folosete?
Cascade mode:
Permite extinderea numrului de canale prin legarea n cascad a mai multor circuite
82C37A;
Figura urmtoare arat o cascadare pe 2 nivele:

Pot fi ataate noi nivele la intrrile DREQ libere ale circuitelor de pe nivelul 2;
Programarea ncepe cu circuitul cel mai aproape de procesor
59. Cum poate stabili circuitul 82C37A prioritatea cererilor de acces DMA?
Priority Encoder: rezolv problemele de prioritate n cazul mai multor cereri DMA simultane.
Prioritatea: 2 tipuri selectabile prin software:
- Fix,
- Rotativ.
Prioritatea fix:
- Dup numrul de ordine, 0 prioritate maxim, 3 prioritate minim;
- Dup acceptarea unei cereri de la orice canal, celelalte eventuale cereri vor trebui s
atepte terminarea tratrii cerrii acceptate.
Prioritatea rotativ:
- Prioritatea este rotit dup fiecare cedare a magistralelor procesorului;
- Previne monopolizarea sistemului de ctre un acelai canal;

Ultimul canal tratat primete prioritate minim, conform figurii:

60. Enumerai cteva tipuri de informaii trimise circuitului 82C37A prin programare
n prealabil canalul a fost programat prin intermediul registrelor Command, Mode, Address i
Word; de ex. pentru un transfer DMA port:
Adresa de nceput este ncrcat n Base i Current Address Registers, ale canalului implicat,
Lungimea blocului este ncrcat n Word Count register corespunztor,
Mode Register corespunztor este programat pentru un transfer memorie port,
Opiuni sunt selectate prin Command Register i Mode Register,
Bitul de mascare a canalului este pus la 0 pentru a valida o cerere DREQ; aceasta poate fi un
semnal sau o comand software.
61. ntreruperile: ce nseamn, la ce folosesc i de cte tipuri sunt?
Permit abandonarea momentan de ctre microprocesor a execuiei unui program i nceperea
execuiei unui alt program situat oriunde n spaiul de memorie.
Se folosesc la:
- Comunicarea UC periferie,
- n sisteme multiprocesor.
2 tipuri:
- Externe i
- Interne.
62. ntreruperile externe
Sunt provocate de evenimente externe microprocesorului care cer atenie imediat din partea
acestuia.
Cel care cere ntreruperea trebuie s:
- in cererea activat pn cnd microprocesorul rspunde,
- Se identifice atunci cnd microprocesorul o cere.
ntreruperile externe sunt de 2 tipuri:
- Active pe nivel sau
- Active pe front.
ntreruperile externe active pe nivel:
- Pe nivel 0 sau 1;
- Cererea trebuie meninut activ pn cnd este luat n seam de microprocesor;
- Linia trebuie meninut n starea sa inactiv atunci cnd nu este activ vreo cerere;
- Este minimizat riscul lurii n seam a aa numitelor Spurious Interrupts.
ntreruperile externe active pe front:
- Pe front cresctor sau descresctor;
- Risc de perdere a unei asemenea cereri dac nu exist vreun mecanism de memorare;
- Poate fi transformat n o cerere activ pe nivel cu hardware extern (bistabil).
63. Prioritizarea ntreruperilor externe
Pot exista cereri simultane din partea mai multor surse => prioritizare:
- Fie cu o logic de prioritizare:
i. Serial (daisy chain) sau
ii.
Paralel.

Fie cu un PIC.
Prioritizarea poate fi:
i. Fix,
ii.
Programabil sau
iii.
Rotativ.
Exist 2 tipuri de ntreruperi externe:
- Mascabile sau
- Nemascabile.
ntreruperile externe mascabile:
- Vin din partea periferiei sau altui microprocesor (n sisteme multiprocesor);
- Mascarea se face prin program dezactivnd sistemul de ntreruperi;
ntreruperile externe nemascabile:
- Microprocesorul le ia n seam ntotdeauna;
- Nu pot fi blocate dect prin hardware extern;
- Rezervate pentru situaii catastrofale, de exemplu:
i. O iminent cdere a tensiunii de alimentare,
ii.
O eroare la memorie.
64. ntreruperile interne
Se gsesc la microprocesoarele peste 8 bii i la toate microcontrolerele;
Se numesc i excepii la unele microprocesoare;
O parte din ele se numesc i traps la unele microprocesoare;
Provocate de cauze interne procesorului;
La microcontrolere pot fi mascate, la microprocesoare nu;
2 tipuri de cauze (la microprocesoare):
- Evenimente interne speciale sau
- Instruciuni dedicate (se mai numesc i ntreruperi software).
ntreruperi interne provocate de evenimente speciale:
- Pot fi generate nainte de execuia unei instruciuni: de ex.: o violare de privilegiu
sau cod ilegal etc.;
- Pot fi generate dup execuia unei instruciuni: de ex.: o divizare la 0, obinerea unui
rezultat n afara unui domeniu, pas cu pas etc.
ntreruperi interne datorate instruciunilor:
Exist instruciuni ale cror execuie este echivalent cu generarea unei cereri de
ntrerupere; de ex.:
INT nn la familia Intel,
TRAP #n la microprocesoarele Motorola.
Pot fi folosite pentru emularea a noi instruciuni.
Pe lng o eventual prioritizare extern, exist i o prioritizare implicit a surselor de
nterupere; de ex. la 8086:
Eroare la divizare, INT nn prioritate maxim,
INTO,
NMI,
INTR,
Pas cu pas prioritate minim.
65. Cum sunt luate n considerare cererile de ntrerupere?
Luarea n considerare a cererilor de ntrerupere:
- Cele interne: atunci cnd apar cauzele care le genereaz;
- Cele externe:
i. Microprocesorul se uit la anumite momente de timp pe liniile de ntrerupere;

dac cererea nu este activ n acel moment, nu va fi luat n considerare;


ii.
Dac cererea este mascabil trebuie ca i sistemul de ntreruperi s fie
activat;
iii.
Unele microprocesoare verific liniile de ntrerupere doar n ultimul
ciclu main al unei instruciuni nu accept ntreruperea instruciunilor;
iv.
Microprocesoarele evoluate accept ntreruperea instruciunilor;
v.Microprocesorul comunic printr un ciclu de acceptare a cererii de
ntrerupere acceptarea acesteia;
vi.
Cel care a generat cererea de ntrerupere trebuie s plaseze pe
magistrala de date (D0 7) vectorul de ntrerupere.
Microprocesorul folosete vectorul de ntrerupere generat din exterior sau din
interior (pentru ntreruperile interne) pentru a ajunge la rutina de tratare a cererii.

66. Cum sunt tratate cererile de ntrerupere?


Tratarea cererilor de ntrerupere:
- Programul principal este oprit;
- Procesorul salveaz, n stiv, coninutul PC i, n unele cazuri, i alte informaii
aceste informaii vor fi folosite la revenirea din rutina de tratare a cererii de
ntrerupere;
- Procesorul ncarc n PC adresa de nceput a ISR (Interrupt Service Routine);
- Adresa de nceput este:
i. Fix,
ii.
Obinut dintr o tabel vectorul de ntrerupere este folosit ca
deplasament pentru a ajunge la intrarea ce conine adresa de nceput.
- Se execut ISR; trebuie evitat decalarea stivei;
- La sfritul ISR se reactiveaz sistemul de ntreruperi (dac s a tratat o cerere
extern mascabil);
- Revenirea n programul principal se face cu o instruciune dedicat (de ex. IRET la
familia Intel) care aduce din stiv coninutul PC-ului.
67. Circuitul 8259A: rol, caracteristici i schem intern
Poate gestiona i prioritiza 8 cereri de ntrerupere;
Poate fi legat n cascad cu alte 8 circuite similare asigurnd astfel gestionarea i prioritizarea a 64
cereri de ntrerupere;
Posibilitate de mascare individual a cererilor;
Mai multe moduri de gestionare a ntreruperilor:
- Fully nested,
- Rotating priority,
- Special mask i
- Poll.
Necesit 2 - 4 cuvinte de iniializare (ICW1 4) i 4 cuvinte de operare (OCW1 4);
Genereaz vectorul de ntrerupere asociat cererii luat n considerare de procesor.

68. Cascadarea circuitelor 8259A: ce nseamn, cum se poate realiza i la ce folosete


Poate fi legat n cascad cu alte 8 circuite similare asigurnd astfel gestionarea i prioritizarea a
64 cereri de ntrerupere;
Legarea n cascad (master slave) a mai multor circuite 8259A:

69. Enumerai cteva tipuri de informaii trimise circuitului 8259A prin programare
Programarea circuitului
Cere 2 tipuri de cuvinte de comand:
- De iniializare: 2 4 cuvinte, ICW1 4 (single/cascade mode; level/edge triggered
mode; input has/does not have slave etc.)
- De operare: 4 cuvinte, OCW1 4. (interrupt mask set/reset; special mask mode; read
register command etc.)
70. Schema sistemului de ntreruperi a PC ului

71. Care este secvena de ntrerupere valabil pentru procesoarele Intel?


Secvena de ntrerupere (valabil pentru procesoarele Intel):
Se presupune c PIC este programat:
Una sau mai multe cereri IR sunt activate,
Dup prioritizare este aleas una i se actveaz ieirea /INT ctre procesor,
Procesorul rspunde cu /INTA artnd c a acceptat cererea,
Bitul corespunztor din registrul ISR este setat i cel din IRR este resetat,
Procesorul genereaz un al 2 lea impuls /INTA iar circuitul genereaz vectorul pe
liniile D0 7,
n modul AEOI bitul ISR este resetat la sfritul celui de al 2 lea /INTA; dac nu
este activat modul AEOI, bitul ISR rmne setat pn la generarea unei comenzi EOI
la sfritul rutinei de tratare.
72. Prezentai 2 soluii complete pentru comanda unui LED prin program

n soluia a s-a folosit un bistabil n tehnologie TTL, ca urmare comanda va fi n 0 (IOL = 16


mA, IOH = 0,8 mA);
Secvena ca LED ul s lumineze este:
MOV AL,00H
OUT 00H,AL
Secvena ca LED ul s nu lumineze este:
MOV AL,01H
OUT 00H,AL
n varianta b bistabilul este n tehnologie HCT, ca urmare comanda se poate face fie n 0 fie
n 1;
Secvena ca LED ul s lumineze (comand n 1):
MOV AL,01H
OUT 00H,AL
Secvena ca LED ul s nu lumineze (comand n 1):
MOV AL,00H
OUT 00H,AL
Dimensionarea rezistenei (s-a considerat LED ul rou):
R = (5 1,6 0,2) V / 10 mA = 320 , valoarea uzual fiind 330
73. Descriei soluiile pentru comanda prin program a unui modul de afiare cu
segmente cu mai multe ranguri
Comanda unui modul de afiare cu segmente cu mai multe ranguri:
Soluia nemultiplexat,
Soluia multiplexat.
Soluia nemultiplexat:
- Cere un registru pentru fiecare rang,
- Registrele vor fi comandate ca porturi de ieire i vor memora configuraiile care se
vor afia,
- Comanda n 0 sau 1 n funcie de tehnologia registrelor i de tipul de circuit afiaj
(cu anod sau catod comun),
- Componenta software simpl,
- Avantaje: software simplu, uor de extins,
Dezavantaje: numr mare de circuite, numr mare de rezistene, consum mare.
Soluia multiplexat:
Se bazeaz pe ineria ochiului uman: imaginile care se succed cu o rat mai mare de
25 ori/ sec. dau impresia de micare continu;
Exist un singur registru pentru memorarea configuraiei care se va afia, indiferent
de numrul de ranguri;
Este necesar comanda alimentrii circuitelor afiaj;
Va exista cte un bistabil pentru fiecare rang care va comanda un tranzistor plasat pe
alimentare sau pe mas n funcie de tipul circuitului afiaj (cu anod sau cu catod
comun);
Componenta software va trebui s asigure afiarea cu o rat mai mare ca 25 ori/ sec.,
succesiv i ciclic;
Componenta software va trebui s asigure concordana ntre coninutul registrului i
afiajul care este alimentat;
Avantaje: minim de hardware, numr minim de rezistene, consum minim;
Dezavantaje: software complex, utilizarea ntreruperilor.

74. Prezentai soluiile complete pentru comanda prin program a unui comutator
25. Soluii pentru conectarea unui comutator:

a
b
Secvena pentru soluia a:
IN
AL,00H
AND AL,80H
JZ
SUS ; ramura corespunztoare poziiei din figur
; ramura corespunztoare poziiei contrare
Secvena pentru soluia b:
IN
AL,00H
AND AL,80H
JNZ SUS ; ramura corespunztoare poziiei din figur
; ramura corespunztoare poziiei contrare
Probleme:
1. S se conecteze la o UC cu microprocesorul 8086 n modul minim:
- 512 Koctei memorie fix n zona superioar a spaiului de adrese;
- 256 Koctei memorie SRAM ncepnd cu adresa 80000H a spaiului de adrese.
Se vor folosi circuite AM27C2048 i A616316.
1. S se conecteze la o UC cu 8086 16 blocuri de cte 64 ko, n zona 80000H 8FFFFH
2. S se proiecteze un modul digital, conectat la o UC cu 8086, pentru citirea a 32 intrri
digitale i comanda a 32 ieiri digitale. Ieirile trebuiesc memorate.
3. S se proiecteze o interfa serial cu circuitul 8251, conectat la o UC cu 8086, transferul
fcndu se prin program. Datele iniiale ale transferului sunt: 7 bii de date, paritate par, 2
bii de STOP, factor de multiplicare 64, rata de transfer: 19200 bps. Circuitul 8251 va fi
comandat de un circuit 8253.
4. S se proiecteze un modul, bazat pe circuitul 8253, la care contorul 0 s comande intrrile
/RXC i /TXC ale unui circuit 8251, trebuind s genereze un semnal cu frecvena de 4800 x
16 = 72800 Hz iar contorul 2 s anune microprocesorul apariia de 500 ori a unui
eveniment. Apariiile evenimentului sunt aduse la cunotina circuitului de un traductor care
genereaz 200 impulsuri cu caracteristici TTL i perioad de 400 ns pentru o apariie.
5. S se proiecteze o interfa paralel, conectat la o UC cu 8086, care s lucreze n
conformitate cu dialogul de tip CENTRONIX.

6. S se proiecteze o interfa serial pe 2 canale, cu 2 circuite 8251, la o unitate central cu


microprocesorul 8086, cu urmtoarele date iniiale: 7 bii de date, paritate par, 2 bii de
stop, factor 64, viteza de transfer 4800 bps pentru canalul 1 i 8 bii de date, paritate impar,
2 bii de stop, factor 16, viteza de transfer 9600 bps pentru canalul 2. Circuitele 8251 vor fi
comandate de un circuit 8253. Se va desena schema i se vor scrie rutinele de programare i
rutinele de baz de transfer.
7. S se proiecteze o interfa serial cu circuitul 8251, la o unitate central cu microprocesorul
8086, cu urmtoarele date iniiale: viteza perifericului 9600 bps, factor de multiplicare 16, 8
bii de date, fr paritate,2 bii de STOP. Interfaa va lucra prin ntreruperi i va fi comandat
de un circuit 8253. Se vor prezenta: schema, rutinele de programare, rutinele de transfer,
soluia prin care microprocesorul ajunge la rutinele de tratare.
8. S se proiecteze un modul care anun microprocesorul 8086 c un eveniment extern a
aprut de 100 ori. O apariie este anunat microprocesorului prin un tren de 4000 impulsuri
cu caracteristici TTL. Se va utiliza un circuit 8253.
9. S se comande 48 semnale de ieire de ctre un microprocesor 8086. Se vor utiliza circuite
8255.
10. S se proiecteze un modul care va genera vectorii: A2H, 86H, 2EH la activarea cererilor de
ntrerupere mascabile INT1, INT2, respectiv INT3. Cererile sunt active pe nivel logic 1, sunt
disjuncte iar vectorii vor fi trimii procesorului 8086 la cel de-al doilea impuls de acceptare.
11. S se conecteze o minitastatur cu 16 contacte i un modul de afiare cu segmente cu 2
ranguri la o unitate central cu microprocesorul 8086. Dac se apas tasta 0 se va afia
caracterul 0 pe cele 2 ranguri, dac se apas tasta 1 se va afia caracterul 1, . a. m. d. Se vor
prezenta schema i programele necesare.
12. S se conecteze la o unitate central cu microprocesorul 8086, un modul de afiare cu
segmente cu 32 ranguri. Se va scrie cte o rutin pentru afiarea cte unei cifre hexazecimale
pe fiecare rang.
13. S se conecteze 16 comutatoare distincte i un circuit de afiare cu segmente cu 4 ranguri la
o unitate central cu microprocesorul 8086. Dac se apas comutatorul 0 se afieaz cifra 0
pe cele 4 ranguri, dac se apas comutatorul 1 se afieaz cifra 1 . a. m. d.
14. S se conecteze 4 minitastaturi cu cte 16 contacte la o unitate central cu microprocesorul
8086.
15. S se conecteze 32 led uri i 8 comutatoare la o unitate central cu microprocesorul 8086.
Dac se apas primul comutator se aprind led urile 1, 9, 17 i 25, dac se apas al 2 lea
comutator se aprind led urile 2, 10, 18, 26 . a. m. d.