\Teorie PMD
[Link] 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.
2. Prezentați și comentați structura clasică a unui microprocesor.
UAL – unitate aritmetica si logica. Este un circuit logic combinational capabil sa realizeze
operatii aritmetice si logice (+,-,*,/,si,sau,) asupra operanzilor aplicati la intrari
subforma binara.
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) este utilizat pentru depozitarea temporara a datelor in
CPU, unele registre fiind destinate doar pentru un anumit tip de date
3. Prezentați și comentați schema bloc a unui microsistem digital.
UC – up/uc + generator de tact, amplif/demux mag. unitatea de comanda care
interpreteaza instructiunile din program, genereaza semnale de comanda
necesare pentru executia acestora si supravegheaba executia
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. Prezentați structura internă a microprocesorului 8086. Care este rolul unităților interne?
EU(execution unit) executa toate instructiunile ,furnizeaza date si adrese pentru [Link] timp ce EU isi
indeplineste rolul ,BIU extrage noi instructiuni pe care le pune intr-o coada de asteptare (queue).
BIU(bus interface user) pregateste executia fiecarei instructiuni astfel : extrage o instructiune din
memorie ,o depune in coada de instructiuni si caculeaza adresa din memorie a unui eventual
[Link] terminarea executiei unei instructiuni EU are deja o noua instructiune in coada de
asteptare construita de BIU.
EU continue ALU si unitate de comanda si control pe 16 biti,registrul indicatorilor de stare
(flags),registrul operatorilor (temporari) si registri generali (de date si adrese).
BIU continue IP (instruction pointer),registri segment,un bloc de control si interfatare al
magistralei,un sir(coada) de intructiuni extrase de BIU si o unitate aritmetica proprie.
5. Cum organizează și gestionează microprocesorul 8086 memoria?
Organizarea memoriei:
- 00000H – 00013H – zonă dedicată,
- 00014H – 0007FH – zonă rezervată,
- 00080H – FFFEFH – zonă disponibilă,
- FFFF0H – FFFFBH – zonă dedicată,
- FFFFCH – FFFFFH – zonă rezervată.
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.
6. Descrieți, pe scurt, mecanismul de segmentare a memoriei la microprocesorul 80386.
Partea vizibilă a registrelor segment este de 16 biti dar ele sunt de fapt de 80 de biti,
deoarece se adaugă partea invizibilă de 64 de biti - descriptorul de segment - stocat în memorie, într-
o tabelă de descriptori. 320 Adresa logică sau virtuală este o adresă pe 48 de biti, din care 16 biti
constituie "selectorul" din registrul segment iar restul de 32 de biti constituie OFFSET - ul. Adresa
liniară pe 32 de biti, rezultă prin însumarea adresei de bază (extrase din descriptor) cu OFFSET - ul
furnizat de modul de adresare. Adresa liniară devine adresă fizică dacă nu este utilizată paginarea.
Câmpul selector din registrul segment este utilizat ca etichetă pentru extragerea descriptorului
corespunzător din tabela de descriptori; după extragere, descriptorul furnizează toate informatiile
necesare pentru adresarea memoriei. Când un program se află în executie, toate registrele segment
sunt încărcate cu selectori, astfel că programul are acces la 6 segmente de memorie simultan, prin
intermediul celor şase descriptori de segment corespunzători.
7. Care este capacitatea maximă a memoriei virtuale care poate fi gestionată de un task? Justificați.
Orice acces la memorie este posibil doar respectând un set de reguli bine determinat care include
controale de tip de acces, controale de drepturi de acces şi controale de nivel de privilegiu;
Permite ca fiecărui task să îi fie alocaţi 64 To memorie virtuală şi această memorie virtuală va putea fi
mapată în doar 4 Go memorie fizică.
8. Care este calea prin care un task nou ajunge la segmentele proprii de memorie?
Fiecărui task îi corespund segmente de date proprii ale căror descriptori se găsesc într-o LDT
proprie; aceasta asigură o izolare a datelor corespunzătoare taskurilor; selectorul care va fi
încărcat în LDTR, partea vizibilă, va fi preluat din TSS;
Adresa de început şi limita unui TSS se obţin dintr-un descriptor pentru un TSS, prezent în
GDT;
Accesul la descriptor se face printr-un selector conţinut în registrul de task, TR, în partea
vizibilă a sa;
În partea invizibilă a sa se încarcă, din descriptor, adresa de bază şi limita Segmentului Stare
Task, realizându-se accesul la acesta.
9. Descrieți mecanismul de paginare a memoriei la microprocesorul 80386. Avantaje și dezavantaje.
a apărut ca urmare a dimensiunilor mari ale segmentelor (până la 4 Go), în scopul
gestionării mai eficiente a lor, priveşte segmentul ca fiind alcătuit din pagini fixe de 4
Ko şi oferă facilităţi suplimentare de protecţie;
activarea / dezactivarea mecanismului de paginare se face prin setarea / resetarea
rangului PG, cel mai semnificativ, din registrul CR0;
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ă;
Avantaje:
se pot gestiona 1024 x 1024 = 1 M pagini a câte 4 Ko;
tabelele sunt ele însele pagini de câte 4 Ko;
cere zone de memorie compacte 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
intrări şi considerând 4 octeţi/ intrare ar fi fost necesară o zonă de memorie
compactă de 4 Mo.
Dezavantaje:
necesitatea execuţiei a două accese suplimentare la memorie pentru fiecare acces
dorit, ceea ce înseamnă timp suplimentar;
soluţia: prevederea în microprocesor a unei memorii cache pentru paginare,
cunoscută sub denumirea de TLB;
conţine adresele celor mai recent folosite 32 pagini;
tabela are 32 intrări şi poate acoperi 128 Ko de memorie.
10. Prezentați schema bloc a adresării memoriei la microprocesorul 80386.
11. Prezentați soluții pentru amplificarea liniilor uni și bidirecționale ale unui microprocesor.
Amplificarea liniilor unidirecţionale:
Amplificarea liniilor bidirecţionale:
12. Prezentați soluții principiale pentru demultiplexarea liniilor multiplexate ale unui
microprocesor. Avantaje și dezavantaje.
Demultiplexare centrala
Demultiplexare locala
13. Prezentați schema unității centrale cu microprocesorul 8086 în modul minim.
14. Prezentați schema unității centrale cu microprocesorul 8086 în modul maxim.
15. Prezentați schema clasică a unui sistem multiprocesor cu resurse partajate.
Curs 4,slide 12
16. . Care este rolul unui circuit arbitru într-un sistem multiprocesor? Exemplificați utilizând
circuitul 8289.
Circuitul 8289:
Acţionează asupra circuitului 8288:
când 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
către circuitul 8288, în funcţie de tipul de ciclu executat de procesor;
cînd 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 permiţând astfel accesul altor
procesoare la magistrala comună.
17. Prezentați soluții pentru stabilirea priorității în sisteme multiprocesor multimaster. Avantaje și
dezavantaje.
Într-un sistem multimaster este necesară definirea unei priorităţi la existenţa cererilor
de acces simultane la magistrala comună; 3 tehnici:
paralelă,
serială
rotativă.
Solutia paralela
Solutia seriala
Soluţia rotativă:
- similară cu cea paralelă doar că prioritatea este reasignată în mod dinamic;
- codificatorul cu prioritate este înlocuit de un circuit mai complex care roteşte prioritatea
între arbitri care cer acces, asigurând astfel fiecărui arbitru timp egal pe magistrală.
Slide-ul 5
18. Care este rolul și poziția unui decodificator de memorii într-un microsistem digital?
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;
19. Descrieți decodificarea completă. Avantaje și dezavantaje.
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:
00000H – 1FFFFH – circuitul de memorie C1, având capacitatea de 64K x 16
biţi;
40000H – 4FFFFH – circuitul de memorie C2, având capacitatea de 32K x 16
biţi;
70000H – 7FFFFH – circuitul de memorie C3, având capacitatea de 32K x 16
biţi.
A A A A A A A A A A A A A A A A A A A C
9 8 7 6 5 4 3 2 1
1 1 1 1 1 1 1 1 1 1
9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C
1
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 C
0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C
3
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 (A16 nu se pune pt ca variaza ,odata e 0, odata 1)
/SELC2 = /A19 * A18 * /A17 * /A16
/SELC3 = /A19 * A18 * A17 * A16
20. Descrieți decodificarea incompletă. Avantaje și dezavantaje.
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.
A A A A A A A A A A A A A A A A A A A C
9 8 7 6 5 4 3 2 1
1 1 1 1 1 1 1 1 1 1
9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C
1
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 C
2
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 C
3
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 C
4
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
21. Care tip de memorie se conectează mai ușor la o unitate centrală cu microprocesor: fixă, SRAM
sau DRAM? Dar mai greu? De ce?
22. Se pot conecta porturi la un procesor care nu are sistem de intrare/ieșire? Dacă nu, de ce? Dacă
da, cum?
23. Prezentați și comentați soluția pentru portul realizat cu porți. Pentru ce tip de port se
recomandă? De ce?
Este folosită pentru porturile de intrare;
Ieşirile porţilor se conectează la linii de date ale microprocesorului, ca urmare este
necesar să aibă facilitatea de a 3 – a stare;
Semnalele care se citesc se conectează la intrările de date ale porţilor;
Intrările de validare ale porţilor sunt comandate de una sau mai multe ieşiri dintr - un
decodificator de porturi;
Semnalele care se citesc sunt generate din exterior şi se presupune că circuitul care le
generează le şi memorează până când este necesar; în caz contrar sunt prevăzute
bistabile;
Citirea se face în timpul ciclului de intrare.
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
JNCZERO; s-a citit 0 logic
. ; s-a citit 1 logic
24. Prezentați și comentați soluția pentru portul realizat cu bistabile. Pentru ce tip de port se
recomandă? De ce?
Este folosită pentru porturile de ieşire;
Există mai multe variante:
cu bistabile:
de tip JK;
de tip D;
cu bistabile care comută:
pe nivelul impulsului de tact;
pe frontul impulsului de tact:
anterior;
posterior.
Schema de principiu:
Fie k = 0, h = 1 şi i = 7:
pentru modificarea ieşirii bistabilului de tip JK este suficientă execuţia instrucţiunii
OUT 00H,AL şi bistabilul va trece în starea complementară celeia în care a fost;
utilizarea acestei soluţii are dezavantajul că trebuie cunoscută starea prezentă a
bistabilului înainte de a lansa în execuţie instrucţiunea care îi modifică starea;
Ieşirea bistabilului de tip D poate fi comandată fără a fi necesară cunoaşterea stării
prezente întrucât are intrare de date;
Următoarea secvenţă provoacă trecerea bistabilului în starea 1:
MOV AL,80H
OUT 20H,AL
Următoarea secvenţă provoacă trecerea bistabilului în starea 0:
MOV AL,00H
OUT 20H,AL
Modificarea stării bistabilelor se face în timpul ciclului de ieşire.
25. Ce înseamnă 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ă:
Semnalul este legat la intrarea de date a unei porţi cu 3 stări;
Intrarea de validare a porţii este comandată de o ieşire a unui decodificator
de porturi;
Ieşirea porţii este legată la o linie a magistralei de date a unităţii centrale;
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:
Valoarea semnalului este transmisă la intrarea de date a unui bistabil prin
intermediul unei linii a magistralei de date;
Tactul bistabilului este comandat de o ieşire a unui decodificator de porturi;
Iesirea bistabilului este semnalul care trebuie comandat;
Poziţionarea semnalului se face cu o instrucţiune OUT.
26. Definiți și comentați noțiunea de circuit specializat programabil.
5.1Definiţ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.
Trasaturi generale :
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: de comandă, de date şi de stare;
referitor la terminalele acestor circuite, ele se pot grupa în 2 mari categorii: pentru
dialogul unitate centrală – circuit şi circuit – periferic;
referitor la tehnologie, sunt circuite realizate în tehnologia MOS, introducând
încărcări mici, de ordinul A;
referitor la viteza de lucru a acestor circuite, ea este adaptată la viteza de lucru a
microprocesorului din a cărui familie fac parte.
27. Prezentați și comentați caracteristicile de bază ale interfeței RS232 (fără controlul fluxului).
Nivelele de tensiune:
Nu sunt TTL ci EIA şi au următoarele valori:
- 25V ÷ - 3V pentru “1” logic şi
+ 3V ÷ + 25V pentru “0” logic;
Sunt necesare circuite de conversie TTL → EIA şi EIA → TTL: 232;
Direcţia de deplasare a datelor:
Simplex (unidirecţionale), semi-duplex sau half duplex (bidirecţionale dar la momente
de timp diferite) şi duplex sau full duplex (bidirecţionale ce pot avea loc simultan);
Viteza:
Mică;
Există două unităţi de măsură a vitezei transferului: bit pe secundă (bps) şi baud; dacă
transferul este digital atunci 1 bps = 1 baud;
Treptele de viteză mai utilizate sunt: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400,
57600, 115200 mai rar 230400, 460800 bps.
Transferul serial de tip RS232 este 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:
28. Ce înseamnă controlul fluxului la interfața serială RS232?
Controlul fluxului: cum află transmiţătorul că receptorul nu mai poate prelua caractere? - din
diferite motive, de exempu: tamponul său 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 soluţii:
fără control;
cu control software ( “software handshaking” ) şi
cu control hardware ( “ hardware handshaking” ).
Prima soluţie: emiţătorul şi receptorul lucrează la aceeaşi viteză, mică;
A doua soluţie: utilizarea a două caractere de control: XON având codul DC1 (11h) şi
XOFF având codul DC3 (13h); receptorul trimite XON dacă doreşte transfer şi XOFF
dacă nu doreşte transfer.
A treia soluţie: realizează un dialog între transmiţător şi receptor prin intermediul a
două semnale. Atunci când transmiţătorul doreşte să transfere ceva, activează linia
RTS. Dacă receptorul poate primi informaţia, va răspunde prin activarea liniei CTS iar
când nu mai poate primi informaţie va dezactiva linia CTS. Această soluţie este mai
rapidă decât cea dinainte dar cere un cablu cu 2 fire în plus.
29. Ce este circuitul 8251? Prezentați caracteristicile sale.
Circuitul specializat programabil 8251
Specializat pentru transferurile seriale;
Face parte din categoria circuitelor de tip USART (“Universal Synchronous
Asynchronous Receiver Transmitter”); moduri de lucru:
Sincron;
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;
Transmisie şi recepţie cu dublu tampon.
30. Prezentați și comentați structura internă a circuitului 8251.
C//D este intrarea prin care se alege unul din cele 2 porturi interne ale circuitului:
portul de comandă/stări, ptr. C = 1 şi portul de date ptr. C = 0; aici se leagă o linie din
magistrala de adrese (de obicei A1 sau A2);
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.
31. Cum se programează circuitul 8251 (nu este necesară structura cuvintelor ci doar ce anume i se
comunică circuitului)?
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:
Prin program;
Prin întreruperi;
32. Pentru ce clasă de aplicații se folosește circuitul 8253?
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.
33. Prezentați și comentați structura internă a circuitului 8253.
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; conţinutul
contoarelor poate fi citit.
34. Cum se programează circuitul 8253 (nu este necesară structura cuvintelor ci doar ce anume i se
comunică circuitului)?
Fiecare contor al circuitului va fi programat individual, fiind privit, de către microprocesor, ca un port
de intrare/ ieşire; ordinea poate fi oricare;
Fiecare contor va fi programat cu un cuvânt de comandă şi cu o constantă de preâncărcare, pe 1 sau 2
octeţi.
35. Descrieți un mod de lucru al 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.
36. Câte linii sunt necesare pentru un transfer paralel? Justificați.
Daca ne referim la 2 sisteme atunci e nevoie de n linii de date(si anume cati biti transmitem) si o linie
de control pentru validare daca s-au transmis respective receptionat datele.
37. Ce este circuitul 8255? Prezentați caracteristicile sale.
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ă.
38. Prezentați și comentați structura internă a circuitului 8255.
Tamponul date asigură legătura între circuit şi magistrala de date a sistemului: transferă
cuvinte de comandă, de stare şi date.
Logica scriere/ citire are rolul să conducă î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ă;
Acest bloc comandă cele 2 jumătăţi ale circuitului: grupul A şi grupul B;
Blocurile de control pentru grupele A şi B primesc comenzi de la blocul Logică scriere/
citire, primesc cuvintele de comandă şi generează comenzile pentru porturile
corespunzătoare;
Porturile A, B şi C au câte 8 biţi:
Portul A poate fi ieşire, în modurile 0, 1 sau 2, cu posibilităţi de memorare sau intrare,
în modurile 0, 1 sau 2, cu posibilităţi de memorare doar în modul 1 sau 2;
Portul B poate fi ieşire, în modurile 0 sau 1, cu posibilităţi de memorare sau intrare, în
modurile 0 sau 1, cu posibilităţi de memorare doar în modul 1;
Portul C are funcţiuni multiple: poate fi ieşire, doar în modul 0, cu posibilităţi de
memorare sau intrare, doar în modul 0, fără posibilităţi de memorare; dacă porturile
A şi B lucrează în modurile 1 sau 2, atunci ranguri din portul C vor fi folosite pentru
semnale de dialog şi întregul port C poate fi folosit pentru a obţine informaţie de
stare de la circuit;
39. Cum se programează circuitul 8255 (nu este necesară structura cuvintelor ci doar ce anume i se
comunică circuitului)?
Se realizează prin transmiterea unui cuvânt de comandă la adresa portului cuvântului
de comandă; se poate cere porturilor să lucreze în unul din următoarele moduri:
modul 0, numit şi mod intrare/ ieşire, pentru porturile A, B şi C,
modul 1, numit şi mod intrare/ ieşire cu dialog, pentru porturile A şi B şi
modul 2, numit şi mod bidirecţional cu dialog, doar pentru portul A.
Există şi posibilitatea ca, printr – o singură instrucţiune de ieşire, microprocesorul să
comande ieşiri individuale ale portului C; se face printr – un cuvânt de comandă în
care rangul 7 este la valoarea 0 logic; particularitatea este cunoscută sub numele
mod “bit set/ reset” şi este utilă în aplicaţii de control.
40. Descrieți unul din modurile de lucru cu dialog ale circuitului 8255
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.
41. Care sunt posibilitățile de conectare a porturilor la o UC cu microprocesor?
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
42. Prezentați 3 configurații DMA. Caracteristici.
Configuraţii DMA:
Magistrală comună, controler DMA separat,
Magistrală comună, controler DMA integrat,
Magistrală de intrare/ ieşire distinctă.
Magistrală comună, controler DMA separat:
Procesor Memorie DMA Porturi
Fiecare transfer foloseşte magistrala de 2 ori:
Port cu DMA,
DMA cu memoria
UC este oprit de 2 ori/ transfer.
Magistrală comună, controler DMA integrat:
Controlerul DMA este conectat la mai multe porturi.
Fiecare transfer foloseşte magistrala o singură dată: DMA cu memoria.
UC este oprit o singură dată/ transfer.
Magistrală de intrare/ ieșire distinctă:
Procesor DMA Memorie
Port Port Port
Fiecare transfer foloseşte magistrala comună o singură dată: DMA cu memoria.
UC este oprit o singură dată/ transfer.
43. Descrieți comunicarea UC – controler DMA – periferic.
Comunicarea UC – controler DMA:
UC iniţiază transferul;
Transmite controlerului DMA (prin programare):
Operaţia (citire sau scriere),
Adresa dispozitivului periferic (portului),
Adresa de început a blocului de memorie implicat,
Dimensiunea blocului de transferat (poate fi şi un singur octet sau cuvânt).
UC execută alte operaţii (instrucţiuni) care nu necesită datele care se transferă;
Controlerul DMA se ocupă de transferul memorie – port sau port – memorie;
foloseşte magistralele comune ca urmare procesorul este oprit la fiecare transfer
DMA;
Controlerul DMA anunţă încheierea transferului prin generarea unei cereri de
întrerupere către UC;
Controlerul DMA şi UC folosesc complementar magistralele.
Comunicarea UC – DMA – periferic:
Perifericul cere transfer de tip DMA activând intrarea DREQ (DMA Request) a
controlerului DMA;
Controlerul DMA activează ieşirea sa HRQ spre intrarea HOLD a procesorului
anunţându-l că are nevoie de magistrale;
Procesorul încheie ciclul maşină început, îşi trece magistralele şi semnalele de
comandă în a 3 – a stare, respectiv în starea inactivă, şi activează ieşirea HLDA
anunţând controlerul DMA că a cedat magistralele; cererea de pe intrarea HOLD
trebuie să rămână activă pe toată durata transferului DMA;
Controlerul DMA activează ieşirea sa DACK comunicând perifericului că cererea sa
DREQ a fost acceptată şi va începe transferul;
Controlerul DMA execută transferurile:
Memorie – port: pune adresa primului octet (cuvânt) pe magistrala de
adrese, activează semnalul de comandă MEMR şi apoi IOW,
Port – memorie: activează semnalul de comandă IOR, pune adresa primului
octet (cuvânt) pe magistrala de adrese şi apoi MEMW;
După încheierea transferurilor controlerul DMA dezactivează ieşirea HRQ anunţând
procesorul că nu mai are nevoie de magistrale.
44. Ce este circuitul 82C37A? Prezentați caracteristicile sale.
. Controlerul DMA 82C37A (o variantă mai modernă a clasicului 8237A)
Dispune de 4 canale independente,
Poate fi cascadat pentru a obţine oricâte canale,
Control individual (activare/ dezactivare şi polaritate) asupra fiecărei cereri DREQ şi
fiecărui răspuns DACK,
Permite transfer memorie – memorie,
Rată de transfer ridicată: până la 4 MO/ sec. sau până la 6.25 MO/ sec. în funcţie de
frecvenţa tactului;
Asigură incrementarea sau decrementarea adresei,
Se foloseşte cu un registru extern pentru jumătatea mai semnificativă a adresei,
Poate lucra în mai multe moduri,
Compatibil TTL/ CMOS.
45. Descrieți î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.
Pot exista cereri simultane din partea mai multor surse => prioritizare:
Fie cu o logică de prioritizare:
Serială (“daisy – chain”) sau
Paralelă;
Fie cu un PIC;
Prioritizarea poate fi:
Fixă;
Programabilă sau
Rotativă.
46. Descrieți î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.
47. Ce este circuitul 8259? Prezentați caracteristicile sale.
. Controlerul pentru întreruperi (PIC) 8259A
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:
Fully nested,
Rotating priority,
Special mask şi
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.
48. Cum se face și la ce folosește legarea în cascadă a circuitelor 8259?
Se foloseste la sistemul de intreruperi ale PC-ului.
49. Care este diferenţa între arhitectura şi microarhitectura unui microprocesor?
Arhitectură vs. microarhitectură
Arhitectură: setul de instrucţiuni, registrele, structura datelor în memorie; sunt
informaţii accesibile programatorului;
Microarhitectură: implementarea arhitecturii pe suportul fizic; este îmbunătăţită
continuu;
50. Dați exemple de arhitecturi ale seturilor de instrucțiuni ale microprocesoarelor. Caracteristici
Von Neumann
Codul şi datele sunt reprezentate în memorie la fel şi sunt accesate la fel;
Se folosesc aceleaşi magistrale; rezultă simplitate;
Întrucât toate accesele se fac la aceeaşi memorie şi memoria este mai lentă
ca procesorul (la toate nivelele tehnologice), aceasta va frâna execuţia
programului;
Harvard
Codul şi datele sunt păstrate în memorii diferite; există 2 spaţii de adrese;
Accesul la cod şi date se face prin magistrale diferite; rezultă viteză mare dar
scheme mai complicate;
Structura Princetown: un singur spaţiu de adrese dar 2 blocuri de memorii;
51. Descrieți evoluția soluțiilor implementate în microprocesoare pentru execuția instrucțiunilor
(fără hyperthreading).
1 ciclu instrucţiune = 5 cicluri maşină:
IF: aducere cod de instrucţiune (instruction fetch);
ID: decodificare cod de instrucţiune (instruction decode);
EX: generare semnale de comandă şi control (execution);
MEM: citire operanzi;
WB: scriere rezultat;
Procesoare cu execuţie secvenţială:
Hardware ineficient folosit, viteză mică;
Simplitate, uşor de stabilit durata secvenţelor de cod;
Procesoare cu bandă de asamblare (pipeline):
Rata de execuţie creşte de 5 ori (banda de asamblare are 5 nivele);
Hardware eficient folosit; hardware complex;
Latenţa este dată de cel mai lent nivel;
Procesoare cu superpipeline: Pentium 4 cu pipeline cu 20 nivele;
Nivelele mai lente sunt divizate în nivele cu latenţă mai mică;
Hardware complex;
Procesoare superscalare:
Au un singur nucleu dar mai multe resurse de execuţie (multiple ALU, multiple FPU
etc.);
Execută simultan mai multe instrucţiuni;
52. Ce înseamnă noțiunea de hazard?
Hazardul
Hazardul de date; la accesul datelor:
Read after write (RAW): citirea are loc după scriere, în acelaşi ciclu; dacă
scrierea durează prea mult, la citire se va obţine o dată incorectă;
Write after read (WAR): scrierea din o instrucţiune anterioară nu se încheie
înaintea începerii citirii; citirea va genera o dată incorectă;
Write after write (WAW): 2 scrieri au loc simultan la aceeaşi locaţie; dacă nu
sunt decalate, una din date se va pierde;
Hazardul de control:
Atunci când intră în banda de asamblare o instrucţiune de salt condiţionat;
până la procesarea ei şi aflarea ramurii corecte, pot fi executate instrucţiuni
inutile;
Hazardul structural:
2 instrucţiuni accesează simultan aceeaşi resursă hardware;
Hazardul electronic.
53. Care este cauza limitării eficienței benzii de asamblare? Prezentați soluții pentru creșterea
eficienței benzii de asamblare.
Creşterea eficienţei benzii de asamblare
Scade la apariţia instrucţiunilor care rup secvenţialitatea unui program: salturi,
apeluri, întreruperi; pierderea este mare la apariţia instrucţiunilor de salt sau apel
condiţionat;
Soluţii:
Execuţia speculativă: se ghiceşte ramura unui salt/apel condiţionat care va fi
continuată; în gazul ghicirii eronate, banda trebuie golită; în cazul ghicirii
corecte, nu se pierde timp;
Întârzierea execuţiei: după instrucţiunea de salt/apel condiţionat se plasează
o instrucţiune care va fi executată indiferent de ramura care va continua;
dacă nu sunt dependenţe de date, această instrucţiune poate fi NOP; se
câştigă timp pentru ca instrucţiunea de salt/apel condiţionat să stabilească
ramura pe care va continua;
Predicţia ramurii: se ghiceşte ramura care se va executa dar nu aleator ci
bazat pe anumite considerente, de obicei istoria salturilor;
Ex.: execuţia unei bucle; o buclă este executată de mai multe ori
înaintea terminării ei, însemnând că au loc mai multe ramificări în o
direcţie şi doar o singură ramificare în cealaltă direcţie; fie secvenţa
în pseudocod HLL:
54. Prezentați 2 soluții pentru un compromis între creșterea frecvenței și scăderea puterii.
Creşterea frecvenţei este limitată de soluţiile pentru scăderea puterii;
Clock-gating:
Există o validare a tactului care permite încărcarea informaţiei în registre doar
dacă datele s-au modificat; este economisită putere dar şi limitată frecvenţa;
Power-gating:
Tranzistorul de sus poate opri alimentarea etajului final, economisind putere
dar introduce timpul necesar tranziţiei sale, limitând frecvenţa;
55. Care sunt diferențele principiale între microprocesoarele unicore, multimicroprocesoare,
microprocesoarele multitasking și cele multicore?
Microprocesoare unicore
Execuţie secvenţială a instrucţiunilor;
Facilităţi: pipeline, out-of-order execution (instruction level parallelilsm)
Performanţa limitată de interdependenţele între instrucţiuni;
Performanţa pipeline-ului limitată de instrucţiunile care modifică
secvenţialitatea;
Multimicroprocesoare: sisteme cu mai multe microprocesoare + circuite, cu acces
comun la resurse;
Problemă: accesul la resursele comune;
Microprocesoare multitasking (multithreading)
Un unic microprocesor fizic este văzut de software ca mai multe
microprocesoare logice;
Fiecare microprocesor logic execută un task;
Problemă: comutarea taskurilor;
Microprocesoare multicore
Mai multe microprocesoare fizice (core (nucleu)) execută fiecare câte un task;
56. Prezentați schema bloc a unui microprocesor multicore cu hyperthreading.
57. Ce arată legea lui Amdahl?
Legea lui Amdahl: G. Amdahl a considerat că orice program paralel are o componentă
secvenţială care nu poate fi paralelizată,S şi o parte complet paralelizabilă, P; timpul
de execuţie al programului pe un procesor unicore va fi S + P iar timpul de execuţie pe
un processor cu n nuclee va fi S + P/ n; atunci FA va fi:
Speedup (n) = (S + P)/(S + P/n) = 1/((1 – P) + P/n) =1/(S + P/n) ≤ 1/S
adică creşterea de viteză este limitată de porţiunea din cod neparalelizată, indiferent de
numărul de nuclee;
58. Prezentați structura unui microprocesor multicore simetric și a unuia asimetric.
a: multicore simetric cu 16 nuclee cu 1 BCE;
b: multicore simetric cu 4 nuclee cu 4 BCEs;
c: multicore asimetric cu 12 nuclee cu 1 BCE şi 1 nucleu cu 4 BCEs;
Procesoarele multicore pot fi:
Simetrice: toate nucleele sunt la fel (resurse, performanţe, cost);
Asimetrice: nuclee diferite (resurse, performanţe, cost);
Dinamice: nucleele îşi pot modifica caracteristicile în timpul rulării;
sau:
Omogene: toate nucleele au aceeaşi funcţionalitate;
Heterogene: o parte din nuclee au funcţionalităţi diferite, sunt
neconvenţionale (GPU, FPGA etc.);
59. Ce înseamnă hyperthreading fine – grained și coarse – grained?
Fine-grained multithreading înseamnă deţinerea resurselor de către un thread un timp egal cu cel
pentru execuţia unei instrucţiuni;
Coarse-grained (swith on event) multithreading înseamnă deţinerea resurselor de către un thread un
timp egal cu cel pentru execuţia unui proces.
60. Prezentați schema bloc a unui microprocesor Intel Quad Core și a unui microprocesor AMD
Dual sau Quad Core. Care sunt diferențele principiale?
Quad Core Intel
AMD Duo Core
Diferente :
Nr nuclee
Nr cpu
Memorie mai mare la quad core
Performanta (poate rula mai multe taskuri deodata)
61. Descrieți 3 inovații ale microarhitecturii Intel Core.
Intel Intelligent Power Capability
Gestionează puterea în mod dinamic;
Se bazează pe Power-Gating; întârzierea introdusă de etajul de comandă a
alimentării este minimizată;
Intel Advanced Smart Cache:
Prin crearea unei memorii cache L2 comune, creşte probabilitatea ca fiecare
nucleu să acceseze informaţia dorită din memoria cache;
Dacă un nucleu accesează rareori memoria cache comună, alt nucleu poate
să o utilizeze mult mai intens;
Intel Advanced Digital Media Boost:
Permite creşterea performanţei la execuţia operaţiilor de tip SIMD, cu
instrucţiuni pe 128 biţi (extensia SSE – Streaming SIMD Extensions);
instrucţiunile pe 128 biţi pot fi executate în un singur ciclu faţă de 2 cicluri în
lipsa acestei caracteristici;
Util la aplicaţii multimedia, video, sunet, procesare foto, criptare, calcule
inginereşti etc.;
62. Prezentați evoluția microprocesoarelor Intel pe minim 5 direcții, perioada fiind 1971 – 2018.
Microprocesoarele Intel
Perioada: noiembrie 1971 – 2018;
Evoluţia după nr. de biţi: 4, 8, bit-slice, 16, 32, 64;
Evoluţia microarhitecturilor: x86, IA32, Pentium, Celeron, NetBurst, IA64, Xeon, Intel Core, →
Evoluţia după generaţii: 1 – 9 (după Intel Core, inclusiv);
Evoluţia după frecvenţa tactului: 740 KHz – 4 GHz (+ Turbo Boost);
Evoluţia după gradul de integrare: 2300 tranzistoare – 2,2 miliarde în 2011 – estimat 7
miliarde la unele exemplare i9 în 2019;
Evoluţia după tehnologie: 10 μm – 10 nm;
Evoluţia după capacitatea de memorie adresabilă: ~ 5 Ko – 2 64 o + ~ 25 Mo memorie cache;
Evoluţia după complexitate: 1 nucleu, 1 thread – 18 nuclee, 36 thread-uri;
Evoluţia după consum (putere): ~ 0,5 W – 165 W/nucleu;
Evoluţia după specializare: desktop, mobile, servere;
Preţ (actual): ~ 26 $ - 2000 $.
63. Prezentați schema bloc a unui microprocesor i3 sau a unuia i5. Caracteristici.
Microprocesorul i3
Procesor folosit la desktop-uri şi laptop-uri;
Procesor cu 2 nuclee, unele modele din generaţia a 8-a au 4 nuclee; prin
implementarea HT, se obţin 4 thread-uri;
Structura:
Memorie cache L3 de capacitate 3 sau 4 Mo;
Variante:
Viteze mici, 1.30 GHz – 1.80 GHz, şi putere/nucleu 11.5 W, 15 W sau 25 W;
folosite în laptop-uri;
Viteze medii, 2.00 GHz – 2.50 GHz, şi putere/nucleu 28 W, 35 W sau 37 W;
folosite în laptop-uri şi desktop-uri;
Viteze mari, 2.90 GHz – 3.90 GHz, şi putere/nucleu 35 W, 37 W sau 54 W;
folosite în desktop-uri;
Microprocesorul i5
Procesor folosit la desktop-uri şi laptop-uri;
Procesor cu 4 nuclee, unele modele din generaţia a 9-a au 8 nuclee; nu au HT în
schimb au TB;
Structura:
Memorie cache L3 de capacitate 3, 4, 6 sau 8 Mo;
Variante:
Viteze mici, 1.90 GHz – 2.30 GHz, şi putere/nucleu 11.5 W; folosite în laptop-
uri;
Viteze medii, 2.60 GHz – 3.10 GHz, şi putere/nucleu 15 W, 25 W sau 28 W;
folosite în laptop-uri şi desktop-uri;
Viteze mari, 3.20 GHz – 3.80 GHz, şi putere/nucleu 35 W, 37 W, 45 W, 47 W,
65 W sau 84 W; folosite în desktop-uri;
64. Prezentați schema bloc a unui microprocesor i7. Caracteristici.
Microprocesorul i7
Procesor performant folosit la servere, desktop-uri şi laptop-uri;
Procesor cu 4 – 10 nuclee; au HT iar unele modele şi TB;
Structura:
Memorie cache L1, 32 Ko pentru cod şi 32 Ko pentru date, L2, 256 Ko şi L3 de
capacitate 6, 8 sau 12 Mo;
Viteză: 2.93 – 3.70 GHz, putere maximă/nucleu: 140 W;
65. Descrieți minim 2 îmbunătățiri interne implementate în microprocesorul i7.
Modificarea microarhitecturii
În variantele anterioare un acces la memorie cerea parcurgerea traseului: procesor – FSB –
Northbridge – controlerul de memorie – memorie; prin includerea controlerului de memorie în
procesor scade latenţa şi creşte rata de transfer pentru că scade nr. acceselor exterioare la memorie;
similar dacă se doreşte un transfer prin PCIe;
Modificarea reţelei de interconectare:
A fost introdusă o reţea de interconectare de tip punct – la – punct, Intel QuickPath
Interconnect (QPI) şi o nouă structură a memoriei, cea distribuită; QPI asigură o rată de transfer de
25.6 GO/s;
În variantele anterioare nucleele erau legate la o memorie comună prin o magistrală comună;
în noua variantă, fiecare nucelu are propria memorie, se pot executa accese simultane, nuceleele pot
comunica între ele mai rapid (pot avea loc comunicări simultane între perechi de nuclee), iar dacă un
nucleu doreşte acces la o altă memorie poate face accesul prin nucleul de care aparţine respectiva
memorie;
66. Prezentați și comentați, pe scurt, schema bloc a unei plăci de bază cu microprocesorul i9.
46 biţi pentru memoria fizică şi 48 biţi pentru memoria virtuală;
44 căi de comunicare pentru PCIe şi 4 căi de comunicare pentru DMI 3.0;
Include în capsula procesorului un controler de memorie pentru 4 canale de
memorie DDR4 şi un controler pentru I/E;
Procesorul poate lucra cu setul de circuite Intel X299 (PCH);
Memorie cache L1, 32 Ko + 32 Ko/nucleu, mem. cache L2, 1 Mo/nucleu şi
mem. cache L3, 1,375 Mo/nucleu, comună;
67. Descrieți minim 3 îmbunătățiri interne implementate în microprocesorul i9.
[Link]ă de asamblare cu mai multe nivele şi algoritm de predicţie mai performant;
[Link] memoriei cache: prin creşterea memoriei cache locale L2; în acest fel structurile de
date vor fi mai apropiate de nucleu;
Quadruplarea capacităţii memoriei cache L2 a redus la jumătate rata de miss, păstrând
asociativitatea;
3. Intel Virtualization Technology:
Asigură, pentru software, multiplicarea unui sistem fizic în mai multe
sisteme logice independente; virtualizarea este realizată la nivelul
procesorului, al memoriei şi al blocului de I/E; virtualizarea la nivelul
memoriei se realizează prin virtualizarea tabelelor cu descriptori;
Virtualizarea permite crearea de mai multe partiţii pe un acelaşi
sistem; în acest fel pot rula concomitent mai multe sisteme de
operare sau mai multe partiţii ale aceluiaşi sistem de operare;
Îmbunătăţeşte performanţele virtualizării implementate la
arhitecturile IA32 şi IA64;
68. Justificația existența unui circuit de memorare (bistabil, registru) în schema de comandă a unui
led prin program.
Conectarea la o UC se face prin intermediul unui port de ieşire;
Elementul de afisare poate fi un bistabil sau un registru.
În soluţia a s-a folosit un bistabil în tehnologie TTL, ca urmare comanda va fi în 0 (I OL = 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
În varianta b bistabilul este în tehnologie HCT, ca urmare comanda se poate face fie în 0 fie în
1;
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
69. Descrieți, pe scurt, soluții pentru comanda unui modul de afișare cu segmente cu mai
multe ranguri
Solutiile pt afisarea unui model de afisare cu segmente pe mai multe ranguri :
Comanda unui modul de afişare cu segmente cu mai multe ranguri:
Soluţia nemultiplexată,
Soluţia multiplexată.
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.
Soluţia multiplexată:
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ă;
Există un singur registru pentru memorarea configuraţiei care se va afişa, indiferent
de numărul de ranguri;
Este necesară comanda alimentării circuitelor afişaj;
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);
Componenta software va trebui să asigure afişarea cu o rată mai mare ca 25 ori/ sec.,
succesiv şi ciclic;
Componenta software va trebui să asigure concordanţa între conţinutul registrului şi
afişajul care este alimentat;
Avantaje: minim de hardware, număr minim de rezistenţe, consum minim;
Dezavantaje: software complex, utilizarea întreruperilor.
70. Descrieți o soluție pentru citirea stării unui comutator prin program.
A B
Secvenţa pentru soluţia a:
IN AL,00H
AND AL,80H
JZ SUS ; ramura corespunzătoare poziţiei din figură
; ramura corespunzătoare poziţiei contrare
Secvenţa pentru soluţia b:
IN AL,00H
AND AL,80H
JNZ SUS ; ramura corespunzătoare poziţiei din figură
; ramura corespunzătoare poziţiei contrare