Sunteți pe pagina 1din 31

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 aplicaţii.
Microprocesorul se poate defini ca fiind un circuit logic programabil de către
utilizator, într-o singură capsulă şi cu funcţie de procesor de uz general.
Microcontrolerul se poate defini ca un circuit logic, programabil de către utilizator, cu
o structură adaptată pentru rezolvarea unei largi game de aplicaţii de timp real. El nu este
folosit ca procesor de uz general ci ca procesor orientat pe aplicaţii, fiind, în general,
inclus în echipamentul pe care îl conduce.
DSP – prelucrează digital semnale analogice

2. Prezentaţi structura unui microprocesor şi descrieţi, în cîte o propoziţie,


rolul fiecărui 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. Prezentaţi schema bloc a unui microsistem digital şi descrieţi, în cîte o
propoziţie, rolul fiecărui 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. Care sunt magistralele unui microprocesor? Prezentati rolul fiecareia.


Magistrala de date(de regulă cu o dimensiune de 32 sau 64 de biţi) reprezintă de
fapt,ceea ce intelegem de obicei când vorbim despre magistrale; aceste "canale" de
transmisie ajută practic la transferul datelor în interiorul PC-ului. Cu cât magistrala de
date este mai largă, cu atât mai multe date se pot transmite simultan.
Magistrala de adrese (de asemenea, pe 32 biţi sau mai mult) reprezintă canalele pe care
se transportă informaţia despre locul în memorie unde datele sunt transferate, sau de
unde se transferă. Această magistrală nu conţine deci informaţie efectiv utilă, ci practic
doar adrese de memorie ce determină locaţiile unde datele sunt scrise sau de unde sunt
citite.
Magistrala de control (formată din aproximativ 15 „linii” de control ce au rolul de a iniţia
sau stopa diverse activităţi din interiorul computerului).
5. Enumeraţi 5 terminale de comandă şi control ale µp 8086 şi prezentaţi
semnificaţiile 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
6. Prezentaţi structura internă a µp 8086 şi descrieţi, în cîte o propoziţie, rolul
fiecărei unităţi

EU executa toate
instructiunile,
furnizeaza date si
adrese pentru BIU.

BIU aduce
instructiuni, citeste
operanzi si scrie
rezultate.

7. 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 putând fi
dezvoltat independent unul faţă de celălalt;
2. facilitează relocarea dinamică a programelor; pentru
aceasta este necesar ca acestea să nu afecteze
conţinuturile registrelor segment şi să nu facă referire la
locaţii din afara segmentului; programul poate fi plasat
oriunde în memorie prin modificarea conţinuturilor
registrelor de segment;
3. se poate utiliza un număr mare de stive, prin plasarea
adresei de început a segmentului stivă în registrul SS şi
a vârfului stivei în SP;
ii. dezavantaje:
1. limitări în lungimea programelor introduse de
dimensiunile segmentelor;
2. adresa fizică se obţine din două configuraţii printr-un
mecanism care necesită timp deci duce la o scădere a
vitezei de lucru.
8. 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 octeţi:


Tip Intrare Adresă
Eroare la 0 00000H
divizare
Pas cu pas 1 00004H
Întrerupere 2 00008H
nemascabilă
Breakpoint 3 0000CH
Rezervat 4 00010H
Depăşire 5 – 31 00014H – 0007CH
Disponibil 32 – 255 00080H – 003FCH
Instrucţiuni 0 - 255 00000H – 003FCH
9. Prezentaţi soluţii pentru amplificarea liniilor uni şi bidirecţionale ale unui
microprocesor
Amplificarea liniilor unidirecţionale:

Amplificarea liniilor bidirecţionale:


Cu facilitatea de cedare a magistralelor:

10. Demultiplexarea liniilor unui microprocesor


Demultiplexarea centrală:

Demultiplexarea locală:
11. Unitate centrală cu µp 8086 în modul minim

3X

OC BHE
RES L
8 CLK BH E S
RDY1 2 3
8 A19-16 7
RESET
AEN1 4 AD15-0 3
A … A19-0
G
READY A LE
Memorii Porturi

8 R D
0 GSC
8 W R
6 M/IO

2X

L
S D15-0
MN/
1 2
MX DT/R DIR 4
5
DEN G

12. Unitate centrală cu µp 8086 în modul maxim

3X

OC BHE
RES L
8 CLK BHE S
RDY1 2 3
8 A19-16 7
RESET 3
AEN1 4 AD15-0
A … A19-0
G
READY
MRDC Memorii Porturi
S2-0 S20 MWTC
8 ALE 8 AMWC
0 2 IORC
8 8 IOWC
6 DEN 8
AIOWC
DT/R
INTA

2X

L
S D15-0
MN/ 2
MX 4
DIR 5
G
13. Tipuri de memorii folosite într-un microsistem digital și diferența între ele.

Memorii DRAM (Dynamic Random Access Memory). Acestea au dezavantajul că îşi


pierd conţinutul în timp,deci este necesară reîmprospătarea periodică a informaţiei ceea
ce necesită circuite suplimentare.
Memoriile SRAM (static Random Access Memory) sunt mai rapide decât DRAM-urile,
au consum mai redus de putere şi nu necesită reîmprospătarea informaţiei dar la fel ca si
cele DRAM sunt volatile adică odată cu întreruperea alimentării toate datele sunt
pierdute.
Memoriile ROM (Read Only Memory) utilizate pentru stocarea codurilor de program
sau informaţiilor care nu se schimbă niciodată.
EPROM-urile (sau UV-EPROM Ultra Violet Erasable Programable ROM) pot fi şterse şi
reprogramate de utilizator cu ajutorul unei lămpi UV şi a unui echipament de programare.
EEPROM (Electrically Erasable PROM) are avanatjul de a putea fi ştres şi programat in
situ.
FLASH memory este un alt tip de EEPROM, care datorită densităţii mai mari şi
timpului de ştregere mai mare este mai recomandat pentru a înlocui hard discuri.

14. 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 selecţie
pentru circuitele de memorie din microsistem;
 poziţia pe care o ocupă, în cadrul microsistemului, este între unitatea
centrală şi circuitele de memorie;
 proiectantul porneşte de la aşa numita hartă a memoriei care arată plasarea
circuitelor de memorie în spaţiul de adresare directă a microprocesorului;
 plasarea se face în funcţie de capacitatea fiecărui circuit, de cerinţele
aplicaţiei, ale unităţii centrale şi ale sistemului de operare, dacă există;
 aplicaţia va fixa capacitatea totală de memorie necesară;
 în funcţie de capacitatea circuitelor de memorie disponibile, va rezulta şi
numărul de circuite necesare;
 capacitatea fiecărui circuit va determina dimensiunea zonei ocupate de
respectivul circuit.
Intrările decodificatorului de memorii:
 linii din magistrala de adrese, corespunzătoare zonelor ocupate de aceste
circuite şi
 semnale de comandă (uneori).
15. Descrieţi decodificarea completă

Decodificarea completă:
- se construieşte un tabel având ca şi coloane rangurile de adrese şi
ca linii configuraţii care arată adresa de început şi de sfârşit a
fiecărei zone ocupate de câte un circuit;
- pentru fiecare circuit, se inspectează coloanele, pornind de la
rangurile mai semnificative spre cele mai puţin semnificative şi se
stabilesc acele ranguri ce rămân nemodificate oricare ar fi locaţia
adresată în respectiva zonă;
- o funcţie combinaţională a acestor intrări va individualiza zona
respectivă şi va constitui ecuaţia pentru semnalul de selecţie a
circuitului care o acoperă;
- exemplu: să se proiecteze decodificatorul pentru următoarea hartă a
memoriei:
i. 00000H – 1FFFFH – circuitul de memorie C1, având capacitatea
de 64K x 16 biţi,
ii. 40000H – 4FFFFH – circuitul de memorie C2, având
capacitatea de 32K x 16 biţi,
iii. 70000H – 7FFFFH – circuitul de memorie C3, având
capacitatea de 32K x 16 biţi.

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 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C2

0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C3

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

 Ecuaţiile semnalelor de selecţie:


 /SELC1 = /A19 * /A18 * /A17
 /SELC2 = /A19 * A18 * /A17 * /A16
 /SELC3 = /A19 * A18 * A17 * A16
 Schema decodificatorului:
16. Descrieţi decodificarea incompletă. Care sunt avantajele şi riscurile ei?

 Decodificarea incompletă:
 se construieşte tabelul ca în cazul anterior dar funcţia sau funcţiile
care vor genera semnalele de selecţie nu vor utiliza toate liniile de
adresă ce rămân nemodificate oricare ar fi locaţia adresată din zona
respectivă;
 aceasta va duce la o simplificare a decodificatorului dar un acelaşi
circuit, sau diviziune, va ocupa mai multe zone de memorie de
aceeaşi capacitate ca cea a circuitului;
 dacă nu se consideră o linie de adresă un acelaşi circuit va ocupa 2
zone de memorie, dacă nu se consideră 2 linii de adresă un acelaşi
circuit va ocupa 4 zone de memorie ş. a. m. d.

 exemplu: să se proiecteze decodificatorul pentru următoarea hartă a


memoriei:
 00000H – 0FFFFH – circuitul de memorie C1, având capacitatea
de 32K x 16 biţi,
 40000H – 4FFFFH – circuitul de memorie C2, având capacitatea
de 32K x 16 biţi,
 80000H – 8FFFFH – circuitul de memorie C3, având capacitatea
de 32K x 16 biţi,
 C0000H – CFFFFH – circuitul de memorie C4, având
capacitatea de 32K x 16 biţi.
 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 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C2
0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C3
1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C4
1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

 Ecuaţiile semnalelor de selecţie în cazul decodificării incomplete:


 /SELC1 = /A19 * /A18
 /SELC2 = /A19 * A18
 /SELC3 = A19 * /A18
 SELC4 = A19 * A18
 Fiecare circuit ocupă 4 zone de memorie, avînd capacităţi egale cu cele ale
circuitului; de exemplu circuitul C1 ocupă zonele:
 00000H – 0FFFFH,
 10000H – 1FFFFH,
 20000H – 2FFFFH şi
 30000H – 3FFFFH.

Schema decodificatorului în cazul decodificării incomplete:

17. Prezentaţi 1 soluţie pentru conectarea unei memorii fixe la o UC cu µp 8086

Circuitul EPROM Am27C2048:


74x138

A A .
iA 2
A .
j 1 .
A A
k 0 /Y la
n . /CE
GND sau /E
GND
Al sau /E
1 .
Am M/ E
2 .
/IO 3

/R la
D /O
Liniile de adrese ale memoriilor se leagă la liniile A1 – A17 (pentru 8086).
18. Prezentaţi 1 soluţie pentru conectarea unei memorii SRAM la o UC cu µp
8086

Circuitul SRAM A616316


 Soluţii de conectare: ciclul de scriere 1:
74x138
Ai A2 .
Aj A1 .
Ak A0 .
/Yn
.
GND sau Al /E1
GND sau Am /E2 .
M/ /IO E3 .

/RD la
/OE
/WR /WE

A0 /LB
/BHE /HB

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

19. Prezentaţi soluţia pentru conectarea unei memorii DRAM la o UC cu µp


8086 fără utilizarea unui controler de DRAM

A19 D
A17 E
C /OE
M//IO

A16 M A7 I
. . C
U .
.
X . 4
.
A1 A0 1
C
UC 1
/DEN
/RAS 6
/UCAS 6
/BHE LOGICĂ
5
/LCAS
A0
/WE
I/O15
/RD
D15 .
. .
. I/O0
D0
20. Prezentaţi soluţia pentru conectarea unei memorii DRAM la o UC cu µp
8086 cu utilizarea unui controler de DRAM

A19 D
A17 E
/OE
C
M//IO

A7
/CS . I
A16 . C
. . 4
. C A0 1
. D /RAS
A1 /UCAS C
UC/RD R
1
A
/LCAS 6
M
/WR /WE 6
5
/DEN
A0 I/O15
/BHE
D15 .
. .
. I/O0
D0

21. Ce se înţelege prin port şi cum se pot implementa?

Prin port de intrare/ ieşire sau, mai scurt, port, se înţelege un circuit, sau grup
de circuite, care fac legătura între unitatea centrală a unui microsistem şi
dispozitivele şi echipamentele periferice.
Implementarea porturilor:
- Cu 1 sau puţine circuite: dacă UC se leagă la led – uri, comutatoare,
module de afişare cu segmente, module de afişare cu LCD, tastaturi,
bistabile cu funcţiuni speciale etc.
- Cu mai multe circuite, dacă UC se leagă la un echipament periferic,
uneori nefăcându-se distincţia între port si interfaţă; ex.:
microcalculatorul PC: porturile serial, paralel, USB; noţiunea de port
este mai largă cuprinzând mai multe circuite, inclusiv un circuit
specializat programabil sau o parte a unui circuit specializat
programabil mai complex, precum şi elemente mecanice de
conectare.

22. Prezentaţi soluţia completă pentru conectarea unei porţi ca port

 Schema de principiu:
Schema trebuie să fie însoţită de o secvenţă de instrucţiuni;
fie i = k = 0 şi j = h = 1, atunci secvenţa 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

23. Prezentaţi soluţia completă pentru conectarea unui bistabil ca port de


ieşire

 Soluţia principială pentru comanda registrelor 74x373 şi 74x374:

 Fie k = 0 şi h = 1; încărcarea unei configuraţii în registrele 74x373 şi


74x374:
MOV AL,____H
OUT 00H,AL; pentru 373
OUT 20H,AL; pentru 374

24. Ce se înţelege prin comanda unui semnal prin program?

Semnifică:
 Citirea unui semnal din exteriorul microsistemului: soluţia este cea prezentată la
citirea unui semnal prin intermediul unui port implementat cu o poartă:
1. Semnalul este legat la intrarea de date a unei porţi cu 3 stări;
2. Intrarea de validare a porţii este comandată de o ieşire a unui
decodificator de porturi
3. Ieşirea porţii este legată la o linie a magistralei de date a unităţii
centrale;
4. Citirea se face cu o instrucţiune IN şi apoi se face ramificarea.
 Poziţionarea unui semnal la 1 sau 0 logic: soluţia este cea prezentată la
implementarea unui port cu un bistabil:
1. Valoarea semnalului este transmisă la intrarea de date a unui bistabil
prin intermediul unei linii a magistralei de date;
2. Tactul bistabilului este comandat de o ieşire a unui decodificator de
porturi
3. Iesirea bistabilului este semnalul care trebuie comandat;
4. Poziţionarea semnalului se face cu o instrucţiune OUT.

25. Ce se înţelege printr – un circuit specializat programabil şi ce trăsături


generale au aceste circuite?

Definiţie şi caracteristici
 Standardizarea soluţiilor pentru diversele tipuri de aplicaţii rezolvabile cu
sisteme cu microprocesoare → circuite specializate pe o problemă.
 Cerinţe:
 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
particularităţi ale tipului de aplicaţie pentru care circuitul a fost conceput.
 Cuvintele de comandă sunt transmise circuitului de unitatea centrală.
 Oferă informaţie de stare legată de ultimul transfer.
 Trăsături generale ale CSP:
 referitor la structura lor internă, circuitele specializate sunt văzute de
unitatea centrală ca un grup de porturi de intrare/ ieşire ale căror adrese au
un câmp 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ă octeţii 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ă informaţii asupra stării curente a
circuitului şi asupra modului cum a decurs ultimul transfer de date;
din informaţia 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 uşor, cu minim de circuite, la un
microprocesor obţinut din primul prin evoluţie
 Se conectează dificil, cu multe circuite, la alte microprocesoare
26. Ce se înţelege prin interfaţă serială şi ce avantaje are?

Interfaţa 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 când există distanţe mari (peste 3 m)
între echipamentele care comunică.
Există două motive care susţin această recomandare: costul şi rezistenţa la
perturbaţii:
- Costul este determinat de numărul firelor din cablul care leagă cele 2
echipamente: dacă acest număr este mai mic, costul va fi mai redus;
- Transferul serial are o rezistenţă mai mare la perturbaţii decât cel
paralel din două motive:
i. posibilitatea de perturbare a liniilor scade dacă numărul
acestora este mai mic şi
ii. distanţa dintre nivelele de tensiune corespunzătoare
celor 2 nivele logice este mai mare decât la transferul paralel.

27. Cum arată forma de undă a unui caracter în transferul asincron de tip
RS232?
28. 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:
1. Sincron,
2. 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, unităţii centrale;
 Circuitul comunică unităţii centrale când are un caracter gata pentru ea sau
când a terminat de transmis un octet şi poate prelua altul; poate comunica:
1. Prin program,
2. Prin întreruperi;
 Transmisie şi recepţie cu dublu tampon
29. Care sunt căile 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ă?

Recepţia:
- Pentru creşterea vitezei, a fost implementat conceptul de
suprapunere.
- Tamponul recepţie este alcătuit din 2 registre, RA şi RB;
- Datele sunt preluate de pe linia serială în registrul RB, se elimină
informţia de cadrare, şi, după asamblarea unui caracter, acesta este
transferat în registrul RA şi, simultan, este activat terminalul RXRDY
şi rangul cu acelaşi 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 conţinutul registrului RA în timpul
cât se asamblează un nou caracter în registrul RB.
- Dacă nu este îndeplinită această cerinţă, vechiul caracter se pierde,
întrucât în RB se va transfera noul caracter şi circuitul va detecta
eroare de ritm şi va poziţiona un rang din registrul de stare,
anunţând astfel exteriorul că a apărut această eroare.
- În acest fel, s – a realizat suprapunerea între timpul necesar preluării
şi asamblării unui caracter de pe linia serială cu timpul necesar citirii
caracterului asamblat de către 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 alcătuit 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 conţinutului registrului TA în TB, circuitul activează
semnalul TXRDY comunicând microprocesorului că poate prelua un
nou caracter.
- Simultan este activat şi rangul cu acelaşi nume din registrul de stare.
- Dezactivarea terminalului TXRDY se face de primul front al
semnalului /WR care corespunde operaţiei de scriere a unui nou
caracter de către microprocesor.
- Terminalul TXRDY este activat la îndeplinirea condiţiilor descrise mai
sus doar dacă transmisia poate avea loc, adică rangul TXE din
cuvântul 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.
30. Enumeraţi cîteva tipuri de informaţii trimise circuitului 8251 prin
programare
- cuvântul de mod, pentru mod sincron
- cuvântul de mod, pentru mod asincron
- cuvântul de comandă
- cuvântul de stare

31. Enumeraţi tipurile de aplicaţii pentru care se poate folosi circuitul 8253
Tipuri de aplicaţii:
- generarea de întârzieri;
- generarea de impulsuri cu frecvenţă programabilă:
- generarea de impulsuri singulare;
- ceas de timp real;
- monostabil numeric;
- numărarea de evenimente externe.

32. Circuitul 8253: caracteristici şi structura internă

 Tamponul date asigură legătura între circuit şi magistrala de date a


sistemului; transferă cuvinte de comandă, constante de divizare precum şi
conţinutul contoarelor, în cazul unei operaţii de citire a lor.
 Logica scriere/ citire conduce întregul transfer de date din interiorul
circuitului; are ca intrări semnale de comandă din partea microprocesorului
care îi comunică ce fel de operaţii se desfăşoară.
 RCC, Registrul de comandă şi control, va prelua cuvintele de comandă
transmise de către microprocesor care arată contoarele implicate în
operaţiile curente şi modurile de lucru ale acestora; nu poate fi citit.
 Contoarele 0, 1 şi 2 sunt identice şi independente în funcţionare; fiecare
este un numărător pe 16 ranguri, cu preâncărcare, care numără în jos,
având ca intrare de tact linia CLKi; în faza de programare, contorul este
preâncărcat cu o constantă iar cuvântul de comandă care îi corespunde îi
va fixa modul de lucru; fiecare contor poate lucra în unul din 6 moduri;
dacă se numără evenimente, impulsurile care le descriu vor fi preluate de
contor la intrarea CLK proprie iar dacă se doreşte generarea de întârzieri
atunci la intrarea CLK a unui contor se va lega tactul sistemului; conţinutul
contoarelor poate fi citit de microprocesor.

33. Descrieţi 2 moduri de lucru ale unui contor al circuitului 8253

Modul 0 sau generarea unei cereri de întrerupere la sfârşitul numărării:


După programarea contorului, ieşirea acestuia trece la nivel 0 logic;
Se menţine la această valoare până când conţinutul contorului va ajunge la
valoarea 0, în urma numărării impulsurilor sosite pe linia CLK, când va trece la 1
logic;
Rămâne în această stare până la o nouă încărcare;
Numărarea poate fi inhibată prin activarea intrării GATE;
Fig. prezintă modificarea ieşirii unui contor programat să lucreze în modul 0:
Cifra din paranteză indică valoarea constantei;
Decrementarea începe după încărcarea constantei şi după trecerea unui impuls la
intrarea de tact.

Modul 3 sau generator de semnale dreptunghiulare:


Ieşirea contorului va genera semnal dreptunghiular cu perioada egală cu perioada
tactului înmulţită 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.

34. Enumeraţi cîteva tipuri de informaţii trimise circuitului 8253 prin


programare

- selectie contor
- comanda
- mod de lucru (0-5)
- mod binar/BCD

35. 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 biţi simultan iar transferul este însoţit şi de
semnale de dialog.
 Circuitul specializat programabil 8255

 Dispune de 24 linii de intrare/ ieşire care pot fi configurate în mai multe


feluri în funcţie de modul de lucru ales:
 2 grupe de câte 12 linii de intrare sau ieşire, fără semnale de dialog;
 2 grupe de câte 8 linii de intrare sau ieşire, cu semnale de dialog sau
 o grupă de 8 linii bidirecţionale, cu semnale de dialog.

 Din cele 24 linii de intrare/ ieşire 16 au posibilităţi de memorare iar 8 nu au


această facilitate.

 Comunicarea cu circuitul 8255 se face prin intermediul a 4 adrese de port,


corespunzătoare porturilor A, B, C şi portului pentru cuvântul de comandă.
36. Descrieţi modul 0 al circuitului 8255

 Modul 0:
 Se mai numeşte şi mod intrare/ ieşire şi se foloseşte pentru operaţii simple de
intrare/ ieşire fără dialog. Caracteristicile modului sunt următoarele:
 se pot comanda 2 porturi pe 8 biţi şi 2 porturi pe 4 biţi,
 oricare port poate fi intrare sau ieşire,
 un port ieşire are posibilităţi de memorare iar un port intrare nu memorează
datele,
 există 16 configuraţii posibile,
 pentru a transmite date la portul selectat se foloseşte o instrucţiune de
ieşire,
 pentru a prelua date de la portul selectat se foloseşte o instrucţiune de
intrare.

37. Descrieţi modul 1 intrare al circuitului 8255 (ne da ori 35. ori 35’.)

 Modul 1:
 Se mai numeşte şi mod de intrare/ ieşire cu dialog şi se foloseşte pentru operaţii
de intrare/ ieşire cu dialog. Caracteristicile modului sunt următoarele:
 se pot comanda independent grupul A şi grupul B,
 grupul A conţine portul A şi 3 ranguri ale portului C iar grupul B conţine
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 intrări sau ieşiri având şi posibilităţi 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 încărcarea datelor în port;
 IBF (“Input Buffer Full”): ieşire, 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
situaţiei în care microprocesorul a preluat data încărcată cu /STB;
 INTR (“Interrupt”): este o ieşire, activă la 1 logic, către 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 când /STB = 1, adică data a fost încărcată, 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 situaţiei î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.

35’. Descrieţi modul 1 ieşire al circuitului 8255 (ne da ori 35. Ori 35’.)

 Modul 1:
 Se mai numeşte şi mod de intrare/ ieşire cu dialog şi se foloseşte pentru operaţii
de intrare/ ieşire cu dialog. Caracteristicile modului sunt următoarele:
 se pot comanda independent grupul A şi grupul B,
 grupul A conţine portul A şi 3 ranguri ale portului C iar grupul B conţine
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 intrări sau ieşiri având şi posibilităţi de
memorare,
 portul C are şi rol de registru de stare.

 Semnalele de dialog folosite în modul 1 ieşire sunt:


 /OBF (“Output Buffer Full”): ieşire, 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 răspunsul
perifericului;
 /ACK (“Acknowledge”): intrare, activă la 0 logic, prin care perifericul anunţă
că a preluat data trimisă de portul A sau B; este răspunsul la semnalul
/OBF;
 INTR (“Interrupt”): ieşire, activă la 1 logic, către microprocesor, prin care
8255 îi comunică acestuia că a transmis către periferic data primită de la el
şi aşteaptă o nouă dată; semnalul poate fi cerere de întrerupere pentru
microprocesor; semnalul va fi activ când /OBF = 1, adică data a fost
transmisă către 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.
38. Enumeraţi cîteva tipuri de informaţii trimise circuitului 8255 prin
programare

- selectie mod (grup A/B)


- intrare/iesire (port A/B/C sup./C inf.)
- set/reset
- selectie bita

39. Care sunt posibilităţile de conectare a porturilor la o UC?

Posibilităţi de conectare a porturilor la UC:


 Intrare/ ieşire programabilă (PIO): transferul se desfăşoară prin intermediul
UC; foloseşte intensiv timpul UC;
 Întreruperi: procesorul este întrerupt la transferul fiecărui cuvânt (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

40. Întreruperile: ce înseamnă, la ce folosesc şi de căte tipuri sunt?

Permit abandonarea momentană de către microprocesor a execuţiei unui


program şi începerea execuţiei unui alt program situat oriunde în spaţiul de
memorie.
Se folosesc la:
◦ Comunicarea UC – periferie,
◦ În sisteme multiprocesor.
2 tipuri:
◦ Externe şi
◦ Interne.

41. Întreruperile externe

Sunt provocate de evenimente externe microprocesorului care cer atenţie


imediată din partea acestuia.
Cel care cere întreruperea trebuie să:
- Ţină cererea activată până când microprocesorul răspunde,
- Se identifice atunci când 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 menţinută activă până când este luată în seamă de
microprocesor;
- Linia trebuie menţinută în starea sa inactivă atunci când nu este
activă vreo cerere;
- Este minimizat riscul luării în seamă a aşa numitelor “Spurious
Interrupts”.
Întreruperile externe active pe front:
- Pe front crescător sau descrescător;
- 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).
42. Întreruperile interne

Se găsesc la microprocesoarele peste 8 biţi şi la toate microcontrolerele;


Se numesc şi excepţii 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
- Instrucţiuni dedicate (se mai numesc şi întreruperi software).
Întreruperi interne provocate de evenimente speciale:
- Pot fi generate înainte de execuţia unei instrucţiuni: de ex.: o violare
de privilegiu sau cod ilegal etc.;
- Pot fi generate după execuţia unei instrucţiuni: de ex.: o divizare la 0,
obţinerea unui rezultat în afara unui domeniu, pas cu pas etc.
 Întreruperi interne datorate instrucţiunilor:
 Există instrucţiuni ale căror execuţie 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 instrucţiuni.

 Pe lângă 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ă.
43. Cum sunt luate în considerare cererile de întrerupere?

Luarea în considerare a cererilor de întrerupere:


- Cele interne: atunci când 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 maşină al unei instrucţiuni – nu acceptă
întreruperea instrucţiunilor;
iv. Microprocesoarele evoluate acceptă întreruperea
instrucţiunilor;
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 foloseşte vectorul de întrerupere generat din
exterior sau din interior (pentru întreruperile interne) pentru a ajunge
la rutina de tratare a cererii.

44. Cum sunt tratate cererile de întrerupere?


Tratarea cererilor de întrerupere:
- Programul principal este oprit;
- Procesorul salvează, în stivă, conţinutul PC şi, în unele cazuri, şi alte
informaţii – aceste informaţii 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. Obţinută dintr – o tabelă – vectorul de întrerupere este
folosit ca deplasament pentru a ajunge la intrarea ce conţine
adresa de început.
- Se execută ISR; trebuie evitată decalarea stivei;
- La sfârşitul ISR se reactivează sistemul de întreruperi (dacă s – a
tratat o cerere externă mascabilă);
- Revenirea în programul principal se face cu o instrucţiune dedicată
(de ex. IRET la familia Intel) care aduce din stivă conţinutul PC-ului.
45. Circuitul 8259A: rol, caracteristici, schema interna.

Poate gestiona şi prioritiza 8 cereri de întrerupere;


Poate fi legat în cascadă cu alte 8 circuite similare asigurând astfel gestionarea şi
prioritizarea a 64 cereri de întrerupere;
Posibilitate de mascare individuală a cererilor;
Mai multe moduri de gestionare a întreruperilor:
a. Fully nested, b. Rotating priority,
c. Special mask şi d. Poll.
Necesită 2 - 4 cuvinte de iniţializare (ICW1 – 4) şi 4 cuvinte de operare (OCW1 – 4);
Generează vectorul de întrerupere asociat cererii luată în considerare de
procesor.
46. Cascadarea circuitelor 8259A: ce înseamnă, cum se poate realiza şi la ce
foloseşte

Poate fi legat în cascadă cu alte 8 circuite similare asigurând astfel


gestionarea şi prioritizarea a 64 cereri de întrerupere;
Legarea în cascadă (master – slave) a mai multor circuite 8259A:

47. Schema sistemului de întreruperi a PC – ului


48. Prezentaţi 2 soluţii complete pentru comanda unui LED prin program

 În soluţia a s-a folosit un bistabil în tehnologie TTL, ca urmare comanda va fi în 0


(IOL = 16 mA, IOH = 0,8 mA);
 Secvenţa ca LED – ul să lumineze este:
MOV AL,00H
OUT 00H,AL
 Secvenţa ca LED – ul să nu lumineze este:
MOV AL,01H
OUT 00H,AL
2. În varianta b bistabilul este în tehnologie HCT, ca urmare comanda se poate face
fie în 0 fie în 1;
3. Secvenţa ca LED – ul să lumineze (comandă în 1):
MOV AL,01H
OUT 00H,AL
 Secvenţa ca LED – ul să nu lumineze (comandă în 1):
MOV AL,00H
OUT 00H,AL
 Dimensionarea rezistenţei (s-a considerat LED – ul roşu):
R = (5 – 1,6 – 0,2) V / 10 mA = 320 Ω, valoarea uzuală fiind 330 Ω

49. Descrieţi soluţiile pentru comanda prin program a unui modul de afişare cu
segmente cu mai multe ranguri

 Comanda unui modul de afişare cu segmente cu mai multe ranguri:


◦ Soluţia nemultiplexată,
◦ Soluţia multiplexată.

1. Soluţia nemultiplexată:
- Cere un registru pentru fiecare rang,
- Registrele vor fi comandate ca porturi de ieşire şi vor memora
configuraţiile care se vor afişa,
- Comanda în 0 sau 1 în funcţie de tehnologia registrelor şi de tipul de
circuit afişaj (cu anod sau catod comun),
- Componenta software simplă,
- Avantaje: software simplu, uşor de extins,
Dezavantaje: număr mare de circuite, număr mare de rezistenţe, consum mare.

2. Soluţia multiplexată:
1. Se bazează pe inerţia ochiului uman: imaginile care se succed cu o
rată mai mare de 25 ori/ sec. dau impresia de mişcare continuă;
2. Există un singur registru pentru memorarea configuraţiei care se va
afişa, indiferent de numărul de ranguri;
3. Este necesară comanda alimentării circuitelor afişaj;
4. Va exista câte un bistabil pentru fiecare rang care va comanda un
tranzistor plasat pe alimentare sau pe masă în funcţie de tipul
circuitului afişaj (cu anod sau cu catod comun);
5. Componenta software va trebui să asigure afişarea cu o rată mai
mare ca 25 ori/ sec., succesiv şi ciclic;
6. Componenta software va trebui să asigure concordanţa între
conţinutul registrului şi afişajul care este alimentat;
7. Avantaje: minim de hardware, număr minim de rezistenţe, consum
minim;
8. Dezavantaje: software complex, utilizarea întreruperilor.
9.
50. Prezentaţi soluţiile complete pentru comanda prin program a unui
comutator

51. Soluţii pentru conectarea unui comutator:

a b
 Secvenţa pentru soluţia a: Secventa pentru solutia b:
IN AL,00H IN AL,00H
AND AL,80H AND AL,80H
JZ SUS ; ramura coresp. poziţiei din figură JNZ SUS
; ramura corespunzătoare poziţiei contrare

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