Sunteți pe pagina 1din 92

Arhitectura Calculatoarelor 1

Evaluare 1. Întrebări
1 Explicați notiunea – compilator.
Program special care asigură traducerea în calculatorul electronic a unui program scris într-un nivel
înalt în limbaj de asamblare sau în limbaj de mașină.

2 Explicați notiunea – interpretor.


Translatează fiecare instrucţiune în limbajul de nivel înalt într-o succesiune de instrucţiuni maşină,
acestea fiind executate imediat. În acest caz nu se generează un program executabil. Viteza de
execuţie este însă redusă, deoarece fiecare instrucţiune trebuie interpretată chiar dacă ea este
executată în mod repetat.

3 Explicați notiunea – mașină virtuală.


Masina virtuala este un calculator imaginar, dotat cu un set de instructiuni ce constituie limbajul
(codul) virtual. Este un program de software cu functii speciale, care permite instalarea de sisteme
de operare multiple sau de programe diverse fara a mai fi necesara instalarea lor propriu-zisa pe
hard-disk.

4 Explicați diferența între compilare și interpretare.


– Compilare: codul sursă este translatat de un program denumit compilator în cod maşină, după care
poate fi executat
– Interpretare: un program este executat direct din cod sursă prin intermediul unui interpretor

5 Destinația registrelor generali (AX, BX, CX, DX, SP, BP, SI, DI).
Regiştrii de uz general sunt implicaţi în operarea majorităţii instrucţiunilor, drept operanzi sursă sau
destinaţie pentru calcule, copieri de date, pointeri la locaţii de memorie sau cu rol de contorizare.

6 Destinația registrelor segment.


Denumirile registrelor de segment sunt: CS-registru de segment de cod (code segment), DS-registru
de segment de date (data segment), SS-registru de segment de stivă (stack segment), ES-registru de
segment de date suplimentar (extra segment). regiştrilor de segment sunt în strânsă legătură cu
noţiunea de segmentare a memoriei. segmentare a memoriei presupune utilizarea unor adrese de
memorie formate din două părţi. Prima parte reprezintă adresa segmentului iar cea de-a doua
porţiune reprezintă adresa de deplasament, sau offset-ul.

7 Destinația registrului Flags.


Registrul indicatorilor de stare (FLAGS) pe 16 biţi conţine informaţii legate de starea
microprocesorului precum şi de rezultatele ultimilor instrucţiuni executate. Un indicator de stare
(flag) este în sine o locaţie de memorie de 1 bit ce indică starea curentă a microprocesorului şi
modalitatea sa de operare. Un indicator se spune că “este setat” dacă are valoarea 1 şi “nu este
setat” în caz contrar.

8 Destinația registrului IP.


Registrul pointer de instrucţiuni (IP – Instruction Pointer) este folosit, întotdeauna, pentru a stoca
adresa următoarei instrucţiuni ce va fi executată de către microprocesor. Pe măsură ce o instrucţiune
este executată, pointerul de instrucţiune este incrementat şi se va referi la următoarea adresă de
memorie.

9 Ce indică perechea de registre (CS:IP)?


va indica totdeauna adresa următoarei instrucţiuni care se va executa

10 Ce indică perechea de registre (SS:SP)?


indică totdeauna adresa vârfului stivei
Arhitectura Calculatoarelor 2
11 Formarea adresei fizice.
Formarea adresei fizice (pe 20 de biţi) este realizată automat (prin hardware) de către o componentă
a procesorului. Concret, adresa fizică se obţine prin deplasarea adresei de segment cu 4 biţi la
stânga şi prin adunarea deplasamentului. Pentru specificarea unei adrese complete (de 32 de biţi), se
foloseşte notaţia (segment:offset) sau (registru_segment:offset). De exemplu, putem specifica o
adresă prin (18A3:5B27) sau prin (DS:5B27).

12 Scrieți un program ce definește date pe 16, 64 și 80 biți.


INCLUDE Irvine32.inc
.data
variabila1 WORD 0
variabila2 QWORD 0
variabila3 TBYTE 8 DUP(0)
.code
main PROC
exit
main ENDP
END main

13 Scrieți un program ce definește date pe 8, 32 biți și în format BCD (împachetat, despachetat).


INCLUDE Irvine32.inc
.data
v1 BYTE 02h,03h ; 32 in format BCD neimpachetat
v2 BYTE 32h, 12h ; 1232 in format BCD impachetat
v3 dword 0123h,0222h ;222123 in format BCD neimpachetat
v4 dword 1235h,4567h ; 45671235 in format BCD impachetat
.code
main PROC
exit
main ENDP
END main
14 Numiți componentele funcționale ale unui calculator (hardware).
1. Unitatea centrala de prelucrare:
- prelucreaza datele din memoria interna
- controlul activităţii întregului calculator
2. MEMORIA - din punctul de vedere al sistemului pe care îl definim, o secvenţă de locaţii pentru
stocarea informaţiei. Dispozitivele de intrare/ ieșire (I/O) sunt constituite din circuitele prin care se
realizează legătura între calculator şi lumea exterioară.
3. Magistrala de control - permite circulaţia, bidirecţională, a semnalelor de comandă şi control de la/la
microprocesor, în calitatea sa de Unitate centrală.
Arhitectura Calculatoarelor 3

15 Explicați noțiunea – magistrală.- un set de conexiuni fizice între blocuri prin care informaţia care
circulă are o semnificaţie prestabilită.

16 Caracterizați circuitele RFID.


Această tehnologie presupune stocarea informaţiilor nu prin codurile de bare, ci prin intermediul
unor cipuri electronice integrate, de ex. în etichete, ecusoane, ambalaje de marfă, corpurile
animalelor etc. Aceste informaţii, ce reprezintă un cod unic din 128 biți, pot fi citite de la distanţă
de câţiva metri prin unde radio. Dimensiunea acestor circuite este mai mică de 0,5mm, costul fiind
de câțiva cenți. Circuitele nu utilizează surse de alimentare și pot stoca informația mult timp.

17 Caracterizați grupa de calculatoare – servere.


Un server este o un calculator, care operează continuu în rețeaua sa și așteaptă solicitări din partea
altor calculatoare din rețea, pentru a asigura accesul la toată paleta de forme de conectare și servicii.
Serverele deservesc resurse hardware care sunt partajate și pot uneori fi comandate de către
calculatoarele-client, cum ar fi imprimante (atunci serverul se numește print server) sau sisteme de
fișiere (atunci el se numește file server). Această partajare permite un acces și o securitate mai
bune. Cu toate că serverele pot fi construite, din comoditate, din componente obișnuite de
calculatoare, este necesar ca, pentru operații rapide și de mare amploare, serverele să folosească
configurații hardware optimizate pentru aceste cerințe. Cu toate că serverele oferă mult spațiu pe
disc, pentru mărirea siguranței în funcționare sunt folosite hard-discuri de capacitate redusă,
numeroase, interconectate în mod special.

18 Caracterizați grupa de calculatoare – mainframe.


Calculatoarele mainframe sunt calculatoare ce pot exploata volume imense de date şi pot suporta
lucrul a mii de utilizatori simultan. Un calculator mainframe se distinge mai ales prin capacitatea de
stocare şi memoria internă. El poate rula ani întregi fără întrerupere, Unele calculatoare pot rula mai
multe sisteme de operare simultan, operând astfel ca o mulţime de “maşini virtuale”. Preţul unui
astfel de calculator este de ordinul sutelor de mii de dolari. Este solicitat de companiile care
vehiculează şi prelucrează un volum foarte mare de informaţie

19 Clasificarea lui Flynn. Arhitectura SISD.


Instrucţiunile sunt executate secvenţial, însă pot exista suprapuneri între acestea dacă este
implementat conceptul de bandă de asamblare (pipeline) – majoritatea sistemelor SISD actuale
utilizează conceptul de bandă de asamblare. Calculatoarele SISD pot avea mai multe unităţi
funcţionale (ex: coprocesor matematic, procesor grafic, procesor de intrare/ieşire, etc.), însă acestea
sunt văzute ca o singură unitate de execuţie.

20 Clasificarea lui Flynn. Arhitectura SIMD.


Această categorie de arhitecturi cuprinde sistemele de calcul compuse din mai multe unităţi de
execuţie identice aflate sub comanda unei singure unităţi de control. Unitatea de control transmite
acelaşi flux de instrucţiuni, simultan, tuturor unităţilor de execuţie. Toate unităţile de execuţie
execută simultan aceeaşi instrucţiune asupra datelor din memoria proprie (există sisteme ce au şi o
memorie partajată pentru comunicaţii). Unitatea de control trebuie să permită tuturor elementelor de
procesare să-şi termine instrucţiunea curentă înainte de iniţierea unei noi instrucţiuni, astfel că
execuţia instrucţiunilor trebuie sincronizată între toate unităţile de execuţie. Ca şi ordin de mărime
numărul procesoarelor implicate într-o structură SIMD este de câteva mii.

21 Clasificarea lui Flynn. Arhitectura MISD.


Arhitecturile MISD au mai multe elemente de procesare, fiecare executând un set diferit de
instrucţiuni asupra unui singur flux de date. Acest lucru este realizabil în două moduri: acelaşi
element din fluxul de date este prelucrat de toate procesoarele, fiecare executând propriile operaţii
asupra respectivei date; un element din fluxul de date este prelucrat de primul procesor, rezultatul
obţinut este pasat mai departe celui de-al doilea procesor ş.a.m.d., formându-se astfel o macro-
bandă de asamblare.
Arhitectura Calculatoarelor 4
22 Clasificarea lui Flynn. Arhitectura MIMD.
Majoritatea sistemelor multiprocesor se pot încadra în această categorie. Un sistem de calcul
MIMD are mai multe elemente de procesare interconectate, fiecare având propria unitate de control.
Procesoarele lucrează fiecare asupra propriilor date executând asupra lor propriile instrucţiuni.
Sistemele MIMD pot avea şi memorie partajată. Operaţiile executate de fiecare procesor sunt
independente intre ele, deci modul lor de operare este asincron.

23 Explicați diferența între microprocesoarele CISC și RISC.


Procesoarele RISC au inaugurat un nou set de principii arhitecturale: setul deinstructiuni sa fie
simplu, instructiunile trebuie sa ruleze la cea mai mare viteza posibila, notiunea de pipeline este mai
importanta decit dimensiunea setului de instructiuni, tehnologia compilatorului este un element
critic intr-un proceso RISC. Punctele relevante ale arhitecturii RISC reprezinta si diferentele dintre
procesoarele CISC. Ca principiu, arhitectura RISC are mai multi registri generali, in timp ce CISC
are mai multi speciali.

24 Definiți noţiunile ”arhitectura scalară, superscalară”.


Microprocesoarele ce includ o Bandă de asamblare se numesc microprocesoare cu arhitectura
scalara,cele ce includ două şi mai multe - microprocesoare cu arhitectura suprascalară.

25 Explicați funcționarea unei benzi de asamblare cu 5 segmente.


Ciclul maşină „fetch”(Citirea instrucţiunii din cache sau din memoria internă);Decodificarea
instrucţiunii – decodifică în microinstrucțiuni;Generarea adresei pentru localizarea operanzilor în
memorie;Prelucrarea instrucţiunii în UAL;Înscrierea rezultatului ( unde va fi înscris rezultatul
depinde de formatul instucţiunii).Toate aceste segmente sunt executate în paralel. Din unitatea
„prefetch” instrucţiunea se transferă în unitatea pentru decodificarea instrucţiuni, şi unitatea
„prefetch” este liberă şi poate citi următoarea instrucţiune. Deci, în interiorul microprocesorului se
află 5 instrucţiuni în diferite segmente de execuţie. Aceste segmente formează o Bandă de
asamblare (pipeline). Segmentul 1 extrage instructiunea din memorie si o plaseaza într-un registru
tampon. Segmentul 2 o decodifica, determinându-i tipul si operanzii. Segmentul 3 localizeaza si
extrage operanzii, fie din registri, fie din memorie. Segmentul 4 executa instructiunea, de obicei
rulând operanzii prin calea de date, iar segmentul 5 scrie rezultatul în registri.

26 Explicați funcționarea unei benzi de asamblare duale cu 5 segmente.

Pentru a putea lucra în paralel, cele 2 instructiuni nu trebuie să-și dispute resursele (de exemplu
registrele) și nici una nu trebuie să depindă de rezultatul celeilalte. Fie compilatorul trebuie să
garanteze că ipoteza anterioara e respectată, fie conflictele sunt detectate și eliminate pe parcursul
execuției, cu ajutorul unui hardware suplimentar.

27 Explicați funcționarea unei benzi de asamblare cu 5 unități funcționale.


Arhitectura Calculatoarelor 5

Procesorul Pentium II are o structură asemănătoare (sunt și diferențe) cu cea din fig. 3.10. Unitațile
funcționale UAL din segmentul S4 pot executa instrucțiuni timp de un ciclu de ceas, iar cele care
accesează memoria sau care lucrează în virgulă mobilă (mai lente), au nevoie de mai mult timp
decât un ciclu de ceas pentru a-și executa funcția. După cum se poate observa, pot exista mai multe
unități funcționale în segmentul S4.

Assembler
1. Instrucţiunea mov word ptr [bx],0:
a) încarcă registrul bx cu valoarea 0
b) încarcă în locaţia adresată de bx valoarea 0 pe un octet
c) încarcă în locaţia adresată de bx valoarea 0 pe un cuvânt

2. Implementaţi Instrucţiunea xchg bx,cx folosind


stiva push bx
push cx
pop bx
pop cx
3. Implementaţi Instrucţiunea xchg bx,cx folosind instrucţiuni de tip
mov mov ax,cx
mov cx,bx
mov bx,ax
4. Instrucţiunea in al,71h:
a) încarcă în registrul al valoarea 71h
b) citeşte în registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
5. Instrucţiunea out 71h,al
a) încarcă în registrul al valoarea 71h
b) citeşte în registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
6. Instrucţiunea adc dest, sursă realizează operaţia:
a) sursă<--dest+ sursă
b) dest<--dest+ sursă
c) dest<--dest+ sursă+carry
d) sursă<--dest+ sursă+carry
7. Instrucţiunea add dest, sursă realizează operaţia:
a) sursă<--dest+ sursă
b) dest<--dest+ sursă
c) sursă<--dest+ sursă+carry
d) dest<--dest+ sursă+carry
Arhitectura Calculatoarelor 6
8. Instrucţiunea sub dest, sursă realizează operaţia:
a) sursă<--dest+ sursă
b) dest<--dest- sursă
c) dest<--dest+ sursă
d) sursă<--dest- sursă
9. Instrucţiunea sbb dest, sursă realizează operaţia:
a) sursă<--dest- sursă
b) dest<--dest- sursă
c) dest<--dest- sursă+carry
d) dest<--dest- sursă-carry
10. Instrucţiunea cmp dest, sursă realizează operaţia:
a) compara operanzii sursă si destinaţie prin aplicarea funcției logice "si"
b) compara operanzii sursă si destinaţie prin aplicarea funcției logice "sau"
c) compara operanzii sursă si destinaţie prin scădere.
11. Care este sintaxa corectă a Instrucţiunii dec?
a) dec dest, sursă
b) dec dest
c) dec
12. Care este sintaxa corectă a Instrucţiunii not?
a) not dest, sursă
b) not dest
c) not
13. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea shl al,3 se va obţine:

a) 00011001
b) 01001000
c) 00100100
d)11001000

14. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea shr al,3 se va obţine:

a) 00011001
b) 01001000
c) 00010010
d)11001000
15. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea rol al,3 se va obține:

a) 01001010
b) 01001110
c) 00111001
d)11001000

16. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea ror al,3 se va obține:

a) 01001010
b) 01001110
c) 00111001
d)11001000
17. Dacă în val este stocată valoarea 0F000h, iar în registrul AX - 0F000h, după
Instrucţiunea shld val,ax,4 în val se va obține:
Arhitectura Calculatoarelor 7

a) 0FF00h
b) 00FFh
c) 0F00Fh
d) 000Fh

18. Dacă în val este stocată valoarea 0F000h, iar în registrul AX - 0F000h, după
Instrucţiunea shrd val,ax,4 în val se va obține:

a) 0FF00h
b) 00FFh
c) 0F00h
d) 0F0Fh

19. Care este starea indicatorului carry după Instrucţiunea rcl al,2 dacă în AL se afla 00100101?

CF de la etapa precedenta
a) 0
b) 1
20. Care este starea indicatorului carry după Instrucţiunea rcr al,2 dacă în AL se afla 00100101?

CF de la etapa precedenta
a) 0
b) 1
21. Dacă în AL avem 11011110, în urma instrucțiunii and al,0fh se obține valoarea:
a) 11011111
Arhitectura Calculatoarelor 8
b) 00001110
c) 11010001
22. Dacă în AL avem 11011110, în urma instrucțiunii or al,0fh se obține valoarea:
a) 11011111
b) 00001110
c) 11010000
23. Dacă în AL avem 11011110, în urma instrucțiunii test al,0fh se obține valoarea:
a) 11011111
b) 00001110
c) 11010001
d) 11011110
24. La instrucţiunile pentru manipularea şirurilor:
a) şirul sursă este pointat de ESI
b) şirul destinaţie e pointat de ESI
c) şirul sursă e pointat de EDI
d) şirul destinaţie e pointat de EDI
25. Se poate seta sensul de parcurgerea şirurilor de caractere?
a) Da
b) nu
c) uneori

26. Contorul pentru instrucţiunile cu şiruri se află în registrul:


a) AX
b) BX
c) CX
d) DX

27. Ce operaţie realizează Instrucţiunea MOVSB?


MOVSB(Move(copy)bytes)
Transfer pe 8 biţi, din zona de memorie indicată de ESI, în zona de memorie indicată de registrul
EDI. După transferul primului byte dacă flag-ul DF=0, se petrece autoincrementarea ESI←ESI+1;
EDI←EDI+1 (decrementare pentru DF=1).

28. Ce operaţie realizează Instrucţiunea CMPSB?


CMPSB(compare bytes)
Comparare pe 8 biţi, din zona de memorie indicată de ESI, cu zona de memorie indicată de registrul
EDI. După compararea primului byte dacă flag-ul DF=0, se petrece autoincrementarea ESI←ESI+1;
EDI←EDI+1 (decrementare pentru DF=1).

29. Ce operaţie realizează Instrucţiunea SCASB?


SCASB(SCAS- scan a string)
Instrucţiunile compară valoarea din AL/AX/EAX cu byte, din zona de memorie indicată de EDI.
Instrucţiunile sunt utile la căutarea unui singur element într-un şir.

30. Ce operaţie realizează Instrucţiunea LODSB?


LODSB(LODS- load accumulator from string)
Instrucţiunile încarcă valoarea din byte, din memorie idicat de ESI, în AL/AX/EAX respectiv.
Instrucţiunile sunt utile la căutarea unui singur element într-un şir.

31. Ce operaţie realizează Instrucţiunea STOSB?


STOSB(STOS-store string data)
Arhitectura Calculatoarelor 9
Instrucţiunile încarcă valoarea din AL/AX/EAX , în memorie cu offset-ul indicat de EDI.
Incrementarea se petrece conform flag-ului DF (DF=0- incrementarea, DF=1- decrementarea).

32. Instrucţiunea jmp et realizează:


a) un salt necondiţionat la et
b) un salt condiţionat la et
c) apelul rutinei et

33. Ce operaţii se realizează la execuţia instrucțiunii CALL?


Apel de procedura. Poate apărea sub una din formele:
CALL nume_proc
CALL NEAR PTR nume_proc
CALL FAR PTR nume_proc
Tipul apelului poate fi dedus din tipul procedurii (primul caz) sau specificat explicit prin NEAR şi
FAR. Tipul apelului trebuie să coincidă cu tipul procedurii şi cu tipul instructiunii RETURN din
interiorul procedurii.

34. Ce operaţii se realizează la execuţia instrucțiunii


RET? Forma generală:
RET [n]
unde n este o constantă întreagă opțională.
Dacă instrucțiunea RET este de tip NEAR semnificația sa este:
[IP]  SS: [[SP] + 1: [SP]]
[SP]  [SP] + 2
[[SP]  [SP] + n]
adică se reface (IP) prin copierea conținutului vârfului stivei şi incrementarea cu 2 a lui (SP). Dacă în
instrucțiunea RET apare şi constanta n atunci această constantă se adună la (SP), adică se descarcă
stiva.

35. Instrucţiunea JZ et realizează saltul la et dacă:


a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Sign este 1
d) flagul Sign este 0
36. Instrucţiunea JNZ et realizează saltul la et dacă:
a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Sign este 1
d) flagul Sign este 0

37. Instrucţiunea JC et realizează saltul la et dacă:


a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Carry este 1
d) flagul Carry este 0
Arhitectura Calculatoarelor 10
38. Instrucţiunea JNC et realizează saltul la et dacă:
a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Carry este 1
d) flagul Carry este 0
39. Instrucţiunea JCXZ et realizează saltul la et dacă:
a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Carry este 0
d) registrul CX este 0
40. Instrucţiunea corespunzătoare etichetei et din LOOP et se află:
a) înaintea instrucțiunii LOOP
b) după Instrucţiunea LOOP
c) nu se afla în programul respectiv
41. Instrucţiunea STC:
a) activează sistemul de întreruperi
b) dezactivează sistemul de întreruperi
c) pune carry pe 0
d) pune carry pe 1

42. Instrucţiunea CLC:


a) activează sistemul de întreruperi
b) dezactivează sistemul de întreruperi
c) pune carry pe 0
d) pune carry pe 1
43. Complementul față de doi se utilizează pentru:
a) reprezentarea numerelor naturale
b) reprezentarea numerelor întregi negative
c) reprezentarea numerelor reale negative
44. Cum sunt reprezentate în memorie caracterele?
In categoria datelor alfanumerice intra caracterele alfabetice, caracterele numerice, semnele de
punctuație şi caracterele de control.
Codificarea acestora se face conform codului standard ASCII (American Standard Code for
Information Interchange). Codul ASCII standard este un cod pe 7 biți (128 combinații distincte). Ca
atare un caracter ASCII se reprezintă pe un octet in care bitul cel mai semnificativ este
zero.Domeniul de valori este de la 0 la 127 (in hexazecimal de la 00h la 07fh).
Exemplu:
Caracterul 'a' are codul 61h, 'A' are codul 41h, '5' are codul 35h, '+' are codul 02Bh.
Șirurile de caractere sunt reprezentate prin succesiuni de octeți ce cuprind codurile caracterelor
respective. De exemplu șirul de caractere “Aa4+b” se reprezintă pe 5 octeți ce vor conține 41 61 34
2B 42h.
45. Cum sunt reprezentate numerele reale:
a) în mărime şi semn
b) în format BCD
c) în format virgula mobila
B13.3
Execuția speculativă se referă la capacitatea procesorului de a executa instrucțiuni până la instrucțiunile adresate de contorul
software și de a furniza rezultatele în ordinea liniei de început a instrucțiunilor. Pentru a permite execuția speculativă,
microarhitectura familiei P6 separă trimiterea și executarea instrucțiunilor de primirea rezultatelor. Blocul de trimitere și
executare a comenzilor folosește analiza fluxului de date pentru a executa toate comenzile din rezervorul de comandă și a
stoca rezultatele în registre temporare. Unitatea de căutare a instrucțiunilor caută apoi instrucțiunile care au fost executate și
pentru care nu există dependențe de date cu alte instrucțiuni sau predicții ramificate nerezolvate. Când sunt găsite
instrucțiunile care au fost executate, unitatea de căutare stochează rezultatele acestor instrucțiuni în memorie sau în registre
de microarhitectură (opt registre de procesor și opt registre de computer cu virgulă mobilă) în ordinea specificată în program și
le șterge. instrucțiuni din manualul rezervorului.
B03.1
Din această categorie fac parte calculatoarele convenţionale care execută un singur flux de instrucţiuni asupra unui singur
flux de date. Aceste siteme de calcul se mai numesc şi calculatoare von Neumann.

Figura 3.2 Arhitectura von Neumann


B22.1
Adresarea liniară a memoriei este o schemă de adresare a memoriei computerului în procesoare compatibile.
Datorită introducerii mecanismului de adresare liniară, este posibil să creați orice număr (limitat doar de dimensiunea RAM) de
spații de adresă. Mai mult, fiecare pagină a spațiului de adrese liniare poate fi localizată la orice adresă fizică (în mod natural,
aliniată de-a lungul limitei de 4 KB) și datorită handlerului #PF - pe orice unitate.

B03.3

Explicați mecanismul de predicție a unei adrese de sucursală (BTB).


Pentru a prezice tranziția, se utilizează un buffer de memorie (BTB - Branch Target Buffer), care conține adresele
instrucțiunilor țintă pentru fiecare tranziție, precum și informațiile necesare pentru predicție. Tamponul BTB este adresat
folosind o instrucțiune de ramificare. Deoarece este evident că nu se poate utiliza un BTB prea mare, vor fi folosite metode
pentru maparea adresei instrucțiunii de salt la spațiul de adrese BTB (metode similare cu cache). Dimensiunea bufferului BTB
afectează viteza de predicție. Dacă procesorul încarcă mai multe instrucțiuni într-un ciclu, atunci BTB trebuie accesat în blocuri
de date.

B18.1
Stiva. Structură de memorie, accesul la care se petrece cu instrucţiuni speciale (PUSH, POP).
Instrucţiunea PUSH

Instrucţiunea PUSH decrementează registrul ESP şi copie operandul sursă în stivă. Un operand pe 16 biţi decrementează
registrul ESP cu 2, iar un operand pe 32 biţi – cu 4. Sunt 3 formate ale instrucţiunii:

PUSH reg/mem16

PUSH reg/mem32

PUSH imm32

Instrucţiunea POP

Instrucţiunea PUSH copie conţinutul stivei în operandul sursă pe 16 sau 32 biţi şi incrementează registrul ESP cu valorile 2 sau 4
respectiv. Sunt 2 formate ale instrucţiunii:

POP reg/mem16

POP reg/mem32
B07.3
Trebuie si cu ceva sa incepi asaca povestesti de la 32-64

Microprocesoarele pe 32 biţi funcţionează în diferite moduri, ce determină mecanismele de


protecţie şi de adresare a memoriei: modul real 8086 (pe 16 biţi), modul virtual 8086 (V8086),
modul protejat pe 32 biţi (inclusiv protejat pe 16 biţi). Modul de funcţionare a
microprocesorului este impus de sistemul de operare (SO) în conformitate cu modul definit de
aplicaţii (task-uri).

În microprocesoarele pe 64 biţi au fost introduse noi moduri de funcţionare:

- Modul pe 64 biţi (64-bit mode) – acest mod susţine adresarea virtuală pe 64 biţi şi extensiile
registrelor pe 64 biţi. În acest mod este folosit numai modelul plat de memorie (un segment
comun pentru cod, date şi stivă).

- Modul de compatibilitate (compatibility mode) permite SO să execute aplicaţii pe 32 şi 16


biţi. Pentru aplicaţii microprocesorul reprezintă un microprocesor pe 32 biţi cu toate atributele
modului protejat, cu mecanismele de segmentare şi paginare.

Microprocesoarele pe 64 biţi reprezintă seturi de registre disponibile programatorilor (figura


2.1).

B14.1

Explicati procedeul "swapping tasks"


Procedeul swapping tasks descrie comutarea între două aplicații prin copierea programului curent rulat pe disc sau alt
dispozitiv de stocare de mare viteză (memorie auxiliară, EMS etc.) și încărcarea unui program în spațiul respec.

B19.3
Explicaţi structura și destinația blocului FPU (coprocesor) din modelul program al
microprocesoarelor x86-64.

FPU (Floating Point Unit- unitatea de prelucrare în virgulă mobilă) .Registrele blocului FPU sunt
destinaţi executării operaţiilor aritmetice, calcului principalelor funcţii matematice (trigonometrice,
exponente, logaritmi) ş.a
Coprocesorul prelucrează 7 tipuri de date: numere întregi pe 16, 32, 64 biţi; numere în virgulă mobilă
pe 32, 64, 80 biţi (format FP) şi 18 numere în cod binar-zecimal (BCD). Aplicarea coprocesorului
accelerează considerabil viteza de calcul.
Instrucţiunile în virgulă mobilă x86 funcţionează cu blocul FPU şi prelucrează date în virgulă mobilă:
80 biţi – precizie extinsă, 64 – precizie dublă, 32 – precizie unitară. Suplimentar susţin formatul BCD.
Registrele microprocesoarelor х86-64

Ca si IU, FPU primeste instructiunea de la IQ. Pentru a se asigura ca unitatea de instructiuni nu


asteapta terminarea instructiunii in VM, FPU are propria sa coada de 2 instructiuni. Prin plasarea
instructiunii in coada proprie, instructiunile cu intregi si ramificatiile au timp sa se desfasoare in paralel.
FPU poseda 32 FPR pe 64 biti pentru operatii in simpla sau dubla precizie. Suporta (ca si i486) date format
IEEE-754.

B09.3
3. Tipuri de Magistrale
Conceptual, magistrala este un mediu comun de comunicatie intre componentele unui sistem de
calcul; fizic este alcatuita dintr-un set de linii de semnal care faciliteaza transferul de date
si realizeaza sincronizarea intre componentele sistemului. In decursul timpului au fost
dezvoltate diferite standarde de magistrala, care au urmarit evolutia procesoarelor
(a unitatilor centrale) si a necesitatilor de comunicatie ale acestora (viteza, mod de
transfer, necesitati de sincronizare si control etc.). S-au dezvoltat, de asemenea, magistrale
specializate pentru anumite tipuri de echipamente periferice (SCSI si EIDE pentru unitati de
disc, console grafice, interfete de masura si control). Din acest punct de vedere. in momentul
actual se pot distinge doua clase de magistrale:
• magistrale de sistem – dezvoltate mai ales pentru conectarea unitatii centrale la
celelalte componente de baza ale sistemului (de exemplu: MultiBus, ISA, EISA,
PCI);
• magistrale specializate – care incearca sa optimizeze transferul de date cu un
anumit tip de echipamente periferice (VESA, AGP, SCSI, GPIB).
Magistrala:
– Magistrala dedicată;
– Magistrala multiplexată;
– Magistrala sincronă;
– Magistrala asincronă.
Magistrala de sistem:
– Magistrala de date;
– Magistrala de adrese;
– Magistrala de control.

B08.1
În cazul on care controlerului DMA funcționează, la o frecventamaximă de 15 MHz, cu o memorie de 50
ns, rata maximă de transfer este de 15 MHz (67ns), deoarece controlerul DMA este mai lăsat decât decât
memoria • In multe cazuri, controlerulMA încetinește viteza sistemului atunci când au loc transferuri !!!

B.02 – 1 Menţionaţi aspecte ale fnctionarii procesorului in mod protejat


Modul protejat este un mod operațional al procesorului compatibil Intel 80286. Permite software-ului sistemului să utilizeze
caracteristici precum memoria virtuală, paginarea și multi-tasking-ul. De asemenea, este conceput pentru a mari controlul
sistemului de operare asupra programelor.

Mai detaliat :
În modul protejat, procesorul poate functiona în regim multi-proces (multitasking), în care pot fi
executate mai multe procese în mod concurent. În acest mod se realizeaza o comutare prin hardware între
procesele care se execut concurent. Memoria utilizata de fiecare proces este protejat fata de actiunile altor
procese. Pentru aceasta procesorul dispune de diferite mecanisme de protectie. Acestea cuprind testarea limitelor
segmentelor, existenta atributelor de segment care permit doar citirea continutului unui segment sau doar executia
codului din acel segment, şi pâna la patru nivele de privilegiu pentru protectia codului sistemului de operare de
programele de aplicatii sau de programele utilizatorului. Existenta unor tabele ale descriptorilor locali de segment
permite sistemului de operare protejarea între ele a programelor de aplicatii sau a programelor utilizatorului. Sunt
disponibile instructiuni privilegiate suplimentare pentru setarea modului protejat şi controlul proceselor multiple.

B.21 - 3 Definiţi noţiunea ”ALU "Unitate Aritmetico-Logica)

Raspuns 1 : O unitate logică aritmetică este partea unui procesor de calculator care efectuează operații
aritmetice și logice pe operanzi în cuvinte de instrucțiuni de calculator. În unele procesoare, ALU este
împărțit în două unități, o unitate aritmetică (AU) și o unitate logică (LU).

Raspuns 2 : Unitatea logică aritmetică este un circuit combinațional care efectuează operații aritmetice și în biți pe numere
binare întregi. Este un element fundamental al multor tipuri de circuite de calcul, inclusiv unitatea centrală de procesare (CPU)
a computerelor, FPU-urilor și unităților de procesare grafică (GPU-uri).

Intrările într-o ALU sunt datele care trebuie operate, numiți operanzi și un cod care indică operația care trebuie efectuată;
ieșirea ALU este rezultatul operației efectuate. În multe modele, ALU are, de asemenea, intrări sau ieșiri de stare, sau ambele,
care transmit informații despre o operație anterioară sau respectiv operațiunea curentă, între ALU și registrele de stare
externe.

EX 04.1
Specificații SCSI Principalele caracteristici ale magistralei SCSI sunt Lățimea sa este de 8 sau 16 biți. Sau, cu alte cuvinte,
„îngust” sau „lat”.
Viteza (aproximativ - frecvența cu care este ceasul autobuzului)
Tipul fizic de interfață (unipolar, diferențial, optic ...). uneori poate fi numit tipul de conector pentru conectare
SCSI este partea comună a numelui. De obicei scris în dreapta. Sau înseamnă interfață SCSI „de bază”: magistrală 8 biți, viteză 5
MHz.
Frecvența rapidă sau -2 poate atinge 10MHz (uneori scriu FastSCSI-2, dar nu știu de ce).
Ultra frecvența poate ajunge la 20 MHz Frecvența .
Ultra2 poate atinge 40MHz (nu este compatibilă cu altele)
Wide Lățimea lată a magistralei a crescut la 16 biți

EX 16.1
Registrul de pavilion sau cuvântul de stare a procesorului este un registru specializat care reflectă starea curentă a
procesorului.

CF Carry Flag
PF Parity Flag
0 reserved
AF Auxiliary Carry Flag
0 reserved
ZF Zero Flag
SF Sign Flag
TF Trap Flag
IF Interrupt Enable Flag
DF Direction Flag
OF Overflow Flag
IOPL I/O Privilege Level
NT Nested Task
0 reserved

10.1 O magistrală este ansamblul de căi de comunicaţie, grupate funcţional, interconectând mai multe
dispozitive din calculator şi pe care informaţia se transferă paralel.Cea mai des folosit structură de
interconectare este magistrala;  Există mai multe magistrale: – organizate ierarhic => structura cu
magistrale multiple.Magistrala constă din conductori electrici, care vehiculează semnale în formă de
impulsuri.

6.2 Memoria virtuală pentru microprocesoarele pe 32 biți


Vom detalia aici principiul gestionării memoriei, folosind pentru exemplificare componenta familiei Intel - microprocesorul
PentiumIV, ce combină segmentarea memoriei cu paginarea.
Adresa virtuală, ca şi adresa logică, are pentru utilizator două părţi componente:
− adresa efectivă (sau offsetul ădresei virtuale);
− selectorul, care înlocuieşte adresa segment.
Adresa efectivă este adresa în interiorul segmentului şi utilizatorul trebuie să o conceapă ca fiind relativă la baza unui
segment predefinit. Adresa efectivă este precizată de modul de adresare aferent instrucţiunii care o utilizează.
Selectorul se află, ca şi în cazul adreselor logice, tot într-un registru segment. Noutatea constă în faptul că definirea
segmentului asociat unui selector nu se mai face direct (ca în cazul microprocesorului Intel 8086) ci prin mecanismul adresării
indirecte.
Microprocesorul are următoarele particularităţi:
- Adresa virtuală este o adresă pe 48 de biţi:
AV ≡ adr48
- Adresa efectivă este o adresă pe 32 biţi:
AE ≡ adr32
Aceasta impune dimensiunea maximă a unui segment la 2 32 B = 4 GB.
Selectorul are 16 biţi şi este compus din trei entităţi informaţionale:
− un câmp numit INDEX pe 13 biţi;
− un "indicator de tabelă" (TI) care ocupă 1 bit;
− un câmp de 2 biţi denumit "nivelul de privilegiu cerut" (RPL). Deci:
SELECTOR = INDEX TI RPL

B05.3
Adresarea segmentată, în care memoria este divizată logic în porţiuni numite segmente, în interiorul cărora adresarea este
liniară. Orice localizare în memorie se face relativ la baza segmentului iar fixarea fizică a bazei unui segment este transparentă
utilizatorului. Am prezentat deja, pentru 8086, mecanismul segmentelor de dimesiune fixă, noţiunea de adresă logică precum
şi translatarea ei în adresă fizică.

B17.3
Schema, prezentată în figura 5.1, reprezintă modelul program al microprocesoarelor Intel pe 32 biţi (Intel Architecture (IA)-32).
Pentru fiecare grup de registre, în paranteze, se indică începând de la care model a apărut grupul dat de registre în
modelul program al microprocesoarelor Intel. Dacă nu este indicat, grupul dat de registre a fost prezent în microprocesoarele
i386 şi i486.
În modelul program al microprocesorului Intel intră:
− Harta memoriei fizice (Pentium IV – 236 – 1 B);
− Setul de registre generali;
− Setul de registre de segment;
− Setul de registre de stare şi control;
− Setul de registre ai unităţii de calcul în virgulă mobilă (coprocesorului);
− Setul de registre destinate extensiilor MMX, reflectaţi pe registrii coprocesorului (Pentium MMX);
− Setul de registre destinate extensiilor MMX în virgulă mobilă (Pentium III);
− Stiva. Structură de memorie, accesul la care se petrece cu instrucţiuni speciale (PUSH, POP).

Setul de registre
Modelul program include câteva grupe de registre folosite de programe:
− Registre generali eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, еcх/cx/ch/cl, ebp/bp, esi/si, edi/di, esp/sp. Aceste registre
conţin, de regulă, operanzi şi/sau rezultate aferente instrucţiunilor de transfer şi prelucrare a datelor;
− Registre segment cs, ds, ss, es, fs, gs. Aceste registre sunt folosite pentru crearea diviziunilor logice în memorie numite
segmente;
− Registre coprocesorului st(0), st(l), st(2), st(3), st(4), st(5), st(6), st(7). Sunt folosiţi în calcule în virgulă mobilă;
− Registre extensiilor MMX (date împachetate, întregi) mmx0, mmx1, mmx2, mmxЗ, mmx4, mmx5, mmx6, mmx7;
− Registre extensiilor XMM (date împachetate, în virgulă mobilă) хmm0, хmm1, хmm2, хmmЗ, хmm4, хmm5, хmm6,
хmm7;
− Registre de stare şi control – conţin informaţia despre starea microprocesorului, programului în execuţie;
− Registrul de fanioane eflags/flags;
− Registrul indicator de instrucţiuni;
− Registre de sistem – dedicate controlului modurilor de funcţionare microprocesorului.
Registre de uz general
Spatiul 2 36-1 ( 2 32-1)
31 15 0
de
ax
eax adresare
ah al
i 486/ Pentium
bx Pentium PRO/II/III/IV
ebx
bh bl
cx Stiva
ecx ss: esp
ch cl
dx
edx 0
dh dl
ebp bp cs
ss
esi si Registre de
ds segment
edi di es
esp sp fs
gs
Registrele coprocesorului st(7)-st(0)
79 63 0 Registre de stare si control
st(0) mmx0
st(1) mmx1 Registrul de fanioane
st(2) mmx2 eflags flags
st(3) mmx3 31 15 0
mmx4 Registrul indicator de instructiuni
st(4)
st(5) mmx5 eip ip
st(6) mmx6 31 15 0
st(7) mmx7
Registrele extensiilor MMX Registre de sistem
(mmx7-mm0)
(Pentium MMX/II-IV)
127 0
xmm0
xmm1
xmm2
xmm3
xmm4
xmm5
xmm6
xmm7
Registrele extensiilor MMX in virgula mobila
(Pentium III /IV)

B20.1

Conceptul memoriei virtuale

Consideram toate memoriile (MP si MA) ca pe un spatiu unic de adrese care ofera utilizarea unui spatiu de memorie denumit logic sau virtual
unde pot fi construite blocuri de date mult mai mari decat in mp. Aceste blocuri nu mai sunt limitate de dimensiunile MP si MV, e vazuta ca o "mp"
care ofera un spatiu de adrese mult mai mare decat spatiu memoriei fizice. Pt implementarea conceptului de MV e necesar ca accesul la MV sa
fie transparent pt programator, care trb degrevat de utilizarea acestui bloc de date. Cea mai mare parte a informatiei(date) sunt stocate in MA.
Apoi sistemul aduce informatii din MA in mp si sistemul incepe sa functioneze.

Realizarea mv implica existenta unui mecanism care sa execute transferal de date intre mp si ma. Transeferul de date intre mp si ma e ineficient,
de aceea se realizeaza pe blocuri/module; Implementarea conceptului de mv poate fi realizat : soft sau hard.

Pentru a fi executat un program de microprocesoare trebuie plasat in memoria principala (memoria de tip semiconductor)

Pentru a prelucra datele, trebuie sa fie plasate in memoria principal, operanzii microprocesorului.

Microproc evoluate folosesc principiul organizarii modulare:

Liniara (spatiu de memorie liniara, pentru microproc simple (<64 octeti))

Modular (blocuri, pt microproc evoluate, blocuri, segmente, pagini)

Dimensiunea blocurilor de memorie este limitata de dimensiunea memoriei principale. Este un impediment pentru ca microprocesoarele nu pot sa
creeze blocuric de memorie mai mari decat memoria principala. Uneori spatiul memoriei de blocuri este f mic (pt microproc <64 Kocteti)

Pentru utilizator ar fi mai comod sa constituie blocuri de date care sa nu tine seama de memoria principala.
In structura unui sistem de calcul, in afara de memoria principala, exista alte memorii (memorii auxiliare - este accesata prin intermediul registrului
de intrare iesire), ex:discuri magnetice, discuri optice.

Memoria principala este, de regula, mai mare.

Pt a accesa memoria auxiliara trebuie sa mutam continutul in memoria principala de unde poate fi prelucrata de microproc.

Def: conceptul de memorie virtuala - consideram toate memoriile (MP si MA) ca pe un spatiu unic de adrese care ofera utilizatorului un spatiu de
memorie denumit logic sau virtual unde pot fi construite blocuri mult mai mari decat in MP.

Aceste blocuri nu mai sunt limitate de dimensiunea memoriei principale.

11.3
Definiţi noţiunea “interfaţă”.
interfaţă - un punct (loc) de interacțiune dintre două unități, dispozitive componente etc. ale unui sistem, care
este compatibil din punct de vedere hardware și software spre ambele părți ce comunică prin el uni- sau
bidirecțional. Prin analogie, sensul de interfață poate fi uzual interpretat ca o față (suprafață) de margine, de
graniță a unui element, care servește comunicației spre și/sau dinspre alte elemente. Interfața este o parte a
unui sistem de operare care servește comunicării, facilitând aceasta.

20.3
Descrieti "Unitatea de control "a unui procesor.
Unitatea de control este o parte indispensabilă care efectuează următoarea listă de lucrări în mod continuu și
transparent:

• adresează și extrage din memoria principală instrucțiunile binare ale programului;


• decodifică (interpretează) instrucțiunile și generează secvența semnalelor de comandă necesare către
toate celelalte unități funcționale ale calculatorului; ca urmare a acestor semnale instrucțiunea curentă este
executată;
• în plus, UCC analizează semnalele de stare și sincronizare ce provin de la celelalte unități funcționale
ale calculatorului și, ca urmare, poate schimba succesiunea semnalelor de comandă pe care le generează.
La terminarea execuției instrucțiunii curente, se trece la instrucțiunea următoare.

Unitatea de control este deci adevărata umbră a creierului din interiorul procesorului, care se
ocupă de gestionarea faptului că toate părțile procesorului primesc datele corecte și execută
instrucțiunile corecte în orice moment.

▪ Unitățile de control cu fir sunt utilizate în procesoare foarte simple , deoarece în ele tabelul
registrelor și instrucțiunile nu pot fi modificate din cauza ca toate căile de date sunt cablate
intr-un mod fix . Intr-o unitate de control cu fir, instrucțiunile vor avea întotdeauna aceeași
performanță și nu vor putea adăuga altele noi sau optimiza funcționarea lor.
▪ În cazul unităților de control microprogramate, se folosește un procesor care este responsabil
pentru îndeplinirea tuturor funcțiilor unității de control , acest lucru permite optimizarea
modului în care instrucțiunile trebuie executate și chiar adăugarea de instrucțiuni noi.

B21.3 3)Definiţi noţiunea ”ALU "Unitate Aritmetico-Logica).

Unitatea aritmetică logică, UAL sau ALU )este un circuit electronic digital complex care poate efectua
operații aritmetice și logice. În diagramele-bloc de computere, unitatea aritmetică logică este
reprezentată ca un modul funcțional, componentă a schemei de principiu a unui calculator electronic.
Constructiv, în calculator, UAL este un bloc fundamental al unității centrale de procesare
(prelucrare) UCP (engleză CPU). Unitatea logică aritmetică este utilizată pentru a efectua transformări
logice și aritmetice pe operanții necesari, adesea comenzi sau coduri de numere. După finalizarea
acțiunii, rezultatul este returnat dispozitivului de stocare pentru a fi utilizat în următoarele calcule.

B24.1
1) Explicaţi structura și destinația blocului MMX din modelul program al microprocesoarelor
x86-64.

Microprocesoarele oferă un sistem de privilegii pe 4 nivele destinat protecţiei memoriei, spaţiului


de intrare/ieşire şi întreruperilor, şi un mecanism destinat comutării sarcinilor pentru sistemele de
operare multitask. Setul de instrucţiuni conţine toate instrucţiunile microprocesoarelor
precedente x86 şi este extins cu noi instrucţiuni. Cu extensia setului de instrucţiuni se extinde şi
setul de registre arhitecturali (MMX, XMM, noi registre de uz general pe 64 biţi).
Bilet 1

Ex 1:

Memoria virtuală (VM) este o caracteristică dezvoltată pentru kernel-ul unui sistem de operare (OS) care
simulează memorie principală suplimentară, cum ar fi RAM (memorie cu acces aleatoriu) sau stocare pe
disc. Această tehnică implică manipularea și gestionarea memoriei, permițând încărcarea și execuția
simultană a unor programe mai mari sau a mai multor programe. De asemenea, permite fiecărui
program să funcționeze ca și când ar avea o memorie infinită și este adesea considerat mai rentabil
decât achiziționarea de memorie RAM suplimentară.

Memoria virtuală permite software-ului să utilizeze memorie suplimentară prin utilizarea hard disk-ului
(HDD) ca stocare temporară. Majoritatea unităților centrale de procesare (CPU) furnizează unități de
gestionare a memoriei (MMU) care acceptă memoria virtuală. MMU acceptă „tabelele de pagini” care
sunt folosite pentru a transforma adresele „reale” și „virtuale” situate în memorie și pe HDD.

Un sistem de operare care utilizează memorie virtuală eliberează spațiu prin transferul de date de pe
HDD care nu este necesar imediat. Când datele sunt necesare, acestea sunt copiate înapoi pe HDD. Când
se folosește toată memoria RAM, VM schimbă datele pe HDD și apoi din nou. Astfel, VM permite o
memorie totală mai mare a sistemului; cu toate acestea, este necesară scrierea de cod complicată.

Ex2:

Instrucţiunea mov word ptr [bx],0:

a) încarcă registrul bx cu valoarea 0

b) încarcă în locaţia adresată de bx valoarea 0 pe un octet

c) încarcă în locaţia adresată de bx valoarea 0 pe un cuvânt

Ex 3:

Funcţia este un dispozitiv USB capabil sã transmitã informaţii de date sau control prin magistralã. În mod
obişnuit, o funcţie este un periferic independent cu un cablu care se ataşeazã la un port al unui hub. Este
posibil ca o unitate fizicã sã includã mai multe funcţii şi un hub, dispunând de un singur cablu de
conexiune. Acesta se numeşte dispozitiv compus şi este vãzut de gazdã ca un hub cu mai multe
dispozitive nedetaşabile. Fiecare funcţie posedã informaţie de configurare prin care sunt descrise pentru
gazdã facilitãţile şi resursele necesare.

Exemple de funcţii de dispozitiv:

• dispozitiv de localizare - mouse, tabletã digitizoare, light pen;

• dispozitiv de intrare - tastatura;

• dispozitiv de ieşire - imprimanta;


• adaptor de telefonie - ISDN.
Biletul nr. 2
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
1. Menţionaţi aspecte ale functionarii dispozitivelor USB combinate .

Un aspect care s-a avut în vedere la elaborarea magistralei USB a


fost asigurarea unei rate de transfer mai ridicate decât ratele de
transfer permise de porturile seriale şi paralele. De asemenea, s-a
urmărit ca perifericele să poată fi adăugate în mod simplu la
calculator, fără deschiderea carcasei acestuia, fără oprirea
tensiunii de alimentare şi fără reîncărcarea sistemului de operare.

2. Instrucţiunea CLC:
a. activează sistemul de întreruperi
b. dezactivează sistemul de întreruperi
c. pune carry pe 0
d. pune carry pe 1

3. Destinația puntilor in arhitectura clasica a calculatoarelor


personale.

De obicei, un chipset este format din două punți:


Puntea de nord este un controler de sistem, care este unul dintre
elementele chipsetului plăcii de bază și este responsabil pentru
funcționarea procesorului central cu RAM, adaptor video și puntea de
sud. Prerogativa puntei de sud este operațiunile „lente”. El este
responsabil pentru funcționarea interfețelor SATA, IDE, LAN, USB,
BIOS, audio și puntea de nord. Puntea de sud are și un al doilea
nume - controler I / OS

Biletul nr. 3
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1Descrieți componentele funcționale ale unui calculator" Von


Neumann"(hardware).
2 Instrucţiunea out 71h,al
a. încarcă în registrul al valoarea 71h
b. citeşte în registrul al un octet de la portul 71h
c. scrie valoarea din registrul al la portul 71h
3. Conceptul "echipamente periferice" pentru calculatoarele PC.
„ 12„ martie 2021 Examinator

: Postovan Dumitru

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament IS
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020

1)
Există mai multe posibile arhitecturi după care poate fi construit un calculator, cea mai
populară dintre ele fiind cea numită von Neumann, de la numele matematicianului american (la
origine, evreu din Austro-Ungaria) John von Neumann. Elaborată la începutul anilor 40 ai
secolului trecut, arhitectura von Neumann presupune existența a patru module principale, și
anume:
1. unitatea aritmetică și logică (UAL),
2. unitatea de comandă și control (UCC),
3. memoria centrală (internă) și
4. dispozitivele de intrare/ieșire (prescurtat I/E). Acestea sunt interconectate cu un
mănunchi de fire numit magistrală (bus) pe care circulă datele de calcul și datele de
program (instrucțiunile) și sunt conduse în tactul unui ceas (șir permanent de impulsuri
regulate). Componentele 1, 2 și 3 sunt referite, uneori, ca formând unitatea centrală
(UC).

UAL este din multe puncte de vedere „creierul” calculatorului. Aceasta este capabilă să
efectueze mai multe tipuri de operații, de exemplu operații aritmetice (adunare, înmulțire ș.a.),
operații de comparație, operații de manevrare a datelor (duplicare, mutare, trunchiere ș.a.)
precum și operații care influențează ordinea și fluxul instrucțiunilor.

Sistemele de I/O sunt dispozitive prin care calculatorul preia informații din lumea
exterioară și raportează înapoi rezultatele. Într-un calculator personal obișnuit dispozitive de
intrare sunt de exemplu tastatura și mausul, iar dispozitive de ieșire
sunt monitorul și imprimanta. Există și dispozitive I/O combinate, atât pentru intrare cât și pentru
ieșire, de exemplu modemul, placa de rețea și discul dur (harddisk) magnetic.

Unitatea de control este un modul central care comandă și leagă toate celelalte module
între ele. Rolul ei este să culeagă („citească“) instrucțiunile și datele din memorie sau de la
dispozitivele I/O (intrare/ieșire), să decodeze instrucțiunile, să ofere UAL (unității aritmetico-
logice) date de intrare corecte conform cu instrucțiunea, să comande UAL ce operație să
efectueze asupra intrărilor, precum și să trimită (scoată afară) rezultatele, adică să „scrie” în
memorie sau către dispozitivele de ieșire (Output).

2)
Instrucţiunea out 71h,al
a) încarcă în registrul al valoarea 71h
b) citeşte în registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
3)
Echipamentele periferice asigură comunicarea dintre om și mașină la intrarea și ieșirea
informațiilor din unitatea centrală și stocarea unui volum important de date care pot fi reutilizate
ulterior.De asemenea echipamentele periferice asigură comunicațiile cu alte rețele de
calculatoare,Internet.

Ele pot fi clasificate:

 Echipamentele periferice de intrare


 Echipamente periferice de ieşire

Echipamente periferice de intrare


Sunt echipamente al căror rol este de a capta şi colecta informaţii cu scopul de a le supune
prelucrărilor necesare de către sistemul electronic de calcul. Cele mai uzuale echipamente
periferice de intrare sunt: tastatura calculatorului (keyboard), microfon captator de sunete şi
dispozitivele pentru citirea informaţiilor (cititoare, scannere ş.a.m.d.)

Echipamente periferice de ieşire

Rolul acestei categorii de echipamente periferice este acela de a genera informaţiile


prelucrate de către sistemul de calcul, sub o formă inteligibilă utilizatorului uman. De asemenea,
ele asigură afişarea sau tipărirea informaţiilor. într-o formă solicitată. Cele mai utilizate
echipamente periferice sunt monitoarele şi imprimantele.

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament IS
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 4
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Caracterizați magistrala PCI.
Peripheral Component Interconnect (PCI) este o magistrală locală de computer pentru atașarea
dispozitivelor hardware la un computer și face parte din standardul PCI Local Bus. Busul PCI
acceptă funcțiile găsite pe o magistrală de procesor, dar într-un format standardizat care este
independent de magistrala nativă a oricărui procesor dat. Dispozitivele conectate la magistrala PCI
par a fi un master bus care trebuie conectat direct la propria magistrală și li se atribuie adrese în
spațiul de adrese al procesorului.

Dispozitivul PCI poate fi multifuncţional, adică constă din mai multe funcţii. Fiecărei funcţii se
atribuie un spaţiu de configurare de 256 bytes (Standardul PCI determină pentru fiecare slot spaţiu de
configurare de pină la 256 registre (pe 8 bits), ce nu se referă la spaţiul de memorie şi nici la spaţiul de
intrare/ieşire). Accesul la acestea registre se petrece in faze speciale ale magistralei Configuration Read şi
Configuration Write. Numărul funcţiei in tranzacţiile de configurare este transmis pe liniile AD[10:8]
(liniile AD[0:7] adresează registrii din interiorul dispozitivului PCI). Deci dispozitivul poate incorpora pină
la 8 funcţii. La configurare se adresează funcţia cu numărul “0”. La o magistrală PCI pot fi conectate citeva
dispozitive fiecare cu numărul său. In sistemă pot fi citeva magistrale PCI, fiecare cu numărul său.
Magistralele se numerotează consecutiv.

2. Instrucţiunea JNZ et realizează saltul la et dacă:


a. flagul Zero este 1
b. flagul Zero este 0
c. flagul Sign este 1
d. flagul Sign este 0
3. Explicați notiunea GUI (Graphic User Interface).
GUI reprezintă o interfață de sistem de operare bazată pe grafică care folosește pictograme,
meniuri și un mouse pentru a gestiona interacțiunea cu sistemul.Un mediu GUI cuprinzător
include patru componente: o bibliotecă grafică, un set de instrumente pentru interfața cu
utilizatorul, un ghid de stil al interfeței cu utilizatorul și aplicații consistente. Biblioteca
grafică oferă o interfață de programare grafică la nivel inalt. Setul de instrumente pentru
interfața cu utilizatorul, construit deasupra bibliotecii grafice, oferă programe de aplicații
cu mecanisme pentru crearea și gestionarea elementelor de dialog ale interfeței Windows,
pictograme, meniuri, indicatoare și bare de defilare.

Biletul 5
1. Cardul Grafic si Arhitectura SIMD.
Un procesor grafic este un procesor pentru computere și jocuri console , care este specializat și
optimizate pentru calculul grafice și smartphone - uri . În plus, transmite grafica calculată la unul
sau mai multe afișaje. Obișnuia să aibă Cardurile grafice nu aveau capacități de calcul proprii și
erau carduri de ieșire pure.
Această categorie de arhitecturi cuprinde sistemele de calcul compuse din mai multe unităţ i de
execuţ ie identice aflate sub comanda unei singure unităţ i de control.
Unitatea de control transmite acelaş i flux de instrucţ iuni, simultan, tuturor unităţ ilor execuţ ie.
Toate unităţ ile de execuţ ie execută simultan aceeaş i instrucţ iune asupra datelor din memoria
proprie (există sisteme ce au ş i o memorie partajată pentru comunicaţ ii). Unitatea de control
trebuie să permită tuturor elementelor de procesare să-ş i termine instrucţ iunea curentă î nainte de
iniţ ierea unei noi instrucţ iuni, astfel că execuţ ia instrucţ iunilor trebuie sincronizată î ntre toate
unităţ ile de execuţ ie. Ca ş i ordin de mărime numărul procesoarelor implicate î ntr-o structură
SIMD este de câteva mii.

2. Instrucţiunea in al,71h:
a. încarcă în registrul al valoarea 71h
b. citeşte în registrul al un octet de la portul 71h
c. scrie valoarea din registrul al la portul 71h
3. Explicați noţiunea "Memorie cu acces Direct".
Accesul direct la memorie (DMA - Direct Memory Access) este folosit pentru
transferurile rapide dintre dispozitivele de intrare/ieşire şi memorie fară intervenţia CPU.
Accesul direct la memorie este folosit în driver-ele de floppy disk şi de hard disk, dar poate fi
folosit şi la transferuri de la alte dispozitive de intrare sau ieşire (Sound Blaster, CD-ROM, plăci
de reţea, etc) şi memorie. Transferuri DMA se pot face în ambele direcţii între memorie şi
porturile de intrare/ieşire precum şi între două zone de memorie.

1. Explicați procesele de transmitere de date sincrone și asincrone.

https://ro.sawakinome.com/articles/communication/difference-between-synchronous-and-asynchronous-
transmission.html

Sincronă

În această transmisie, ceasul transmițătorului și ceasul receptorului sunt în sincronizare, prin urmare,
acestea funcționează la aceeași rată. Transmite bloc prin bloc sau cadru cu cadru la o singură dată în
intervale fixe de timp. Mai mult, nu are aeriene cu biți suplimentari pentru antet și subsol. Pe scurt,
transmisia sincronă este eficientă, fiabilă și permite o cantitate mare de transfer de date.

Asincronă

Această transmisie trimite un caracter sau 8 biți la un moment dat. Înainte de transmisie fiecare
caracter trimite bitul de pornire. După trimiterea caracterului trimite bitul de stop. Cu biți de caractere și
biți de pornire și oprire, numărul total de biți în 10 biți. Pe scurt, este o metodă de transmisie simplă, rapidă
și rentabilă.

2. Instrucţ iunea corespunzătoare etichetei et din LOOP et se află:

a) î nainteainstrucț iuniiLOOP

b) după Instrucţ iunea LOOP

c) nu se afla î n programul respectiv

3. Organizarea datelor pe unități de disc tip Winchester.

Datele sunt reprezentate in sistemul binar si sunt organizate in fisiere(file) de diferite tipuri, care sunt
grupate dupa anumite criterii in directoare(dosare, in elngleza folders sau directory).Un director poate
contine mai multe directoare sau poate fi gol.

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 7
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1 Explicați notiunea "magistrală".


Magistrală- un set de conexiuni fizice(un grup de semnale electrice sau fire) între
blocuri prin care informaţia care circulă are o semnificaţie prestabilită.
Magistrala este un ansamblu de conexiuni electrice prin care circulă informație de
acelaşi tip având ca suport semnale electrice; în funcție de tipul informației, magistralele sunt
de trei categorii: de date, de adrese şi de control. O caracteristică de bază este dimensiunea
magistralei, adică numărul liniilor de conectare; avem astfel magistrale de 8 biți (cu 8 linii de
conectare), magistrale de 16 biți (cu 16 linii de conectare), etc. Dimensiunea fiecărei
magistrale este determinată de structura unității centrale şi determină la rândul său structura
memoriei (numărul de biți pe locație) şi a porturilor de intrare / ieşire.
Prin cuvântul magistrală se înțelege de regulă şi ansamblul de circuite electronice
(amplificatoare uni- sau bi-direcționale) care sporesc puterea semnalelor electrice (pentru
fan-out mai mare) şi aduc nivelul (tensiunea) la valoarea standard.
Magistralele unidirecționale pot transmite informația într-un singur sens iar cele
bidirecționale, în ambele sensuri (sensul de transmisie este controlat de unitatea centrală).
Magistrala de adrese este unidirecțională (de la unitatea centrală spre sistem) iar magistralele
de date şi de control sunt bidirecționale.
Magistrala paralelă poate fi subdivizată in trei categorii, după tipul informaţiei transferate:
magistrale de adrese, de date, şi de control.
Destinaţia liniilor magistralei paralele
Magistrala asigură conectarea paralelă a dispozitivelor periferice şi asigură transferurile de
informaţie între ele.
Arhitectura magistralei include următoarele componente:
- Linii pentru transferuri de date (magistrala de date);
- Linii pentru adresarea datelor (magistrala de adrese);
- Linii pentru controlul datelor (magistrala de control);
- Controllerul magistralei.
Controllerul magistralei efectuează controlul procesului de schimb de date, de semnale de
control şi reprezintă un microcircuit sau se integrează în circuitele chipset-ului.

2 Instrucţiunea adc dest, sursă realizează operaţia:


a. sursă<--dest+ sursă
b. dest<--dest+ sursă
c. dest<--dest+ sursă+carry
d. sursă<--dest+ sursă+carry
3 Calculati volumul de memorie minimal necesar pentru a stoca o
imagine statica in color (RGB) la rezolutie 1024 linii cu cate
1080 pixeli per linie.
Dimensiune imagine 1024×1080 pixeli, 1.105.920 pixeli,1.106 Megapixeli, Raport de aspect
135:128 (1.055:1)
Dimensiune date 3,317,760 Bytes, 3.164 MB, 3 bytes per pixel
Pentru a calcula volumul de memorie minimal trebuia mai întâi să calculăm numărul de pixeli al
imaginii 1024x1080=1.105.920, deoarece e o imagine statică trebuie să înmulțim cu 3 pentru a
afla numărul de octeți , pentru fiecare culoare câte 1. 1.105.920x3=3.317.760 am aflat numărul
de octeți, acum știm că un kilobyte este egal cu 1026 bytes. Deci pentru a putea converti
împărțim numărul de octeți la 1024. 3.317.760%1024=3.240 kilobytes, nu ne oprim aici și
calculăm cât va fi în megaocteți pentru a putea calcula este necesar de împărțit numărul de
kilobytes la 1024. 3240%1024=3,16 megaocteți sau MB. Volumul de memorie minimal pentru a
stoca această imagine este 3,16MB
12 martie 2021 Examinator: Postovan Dumitru

https://www.geeksforgeeks.org/direct-access-media-dma-controller-in-computer-
architecture/#:~:text=DMA%20Controller%20is%20a%20hardware,CPU%20and%20Input%2FOutput%20
devices.
Controlerul DMA este un dispozitiv hardware care permite dispozitivelor I/O să acceseze direct memoria
cu o participare mai mică a procesorului. Controlerul DMA are nevoie de aceleași circuite vechi ale unei
interfețe pentru a comunica cu CPU și dispozitivele de intrare/ieșire.

Cum sunt reprezentate în memorie caracterele?

In categoria datelor alfanumerice intra caracterele alfabetice, caracterele numerice, semnele de


punctuație şi caracterele de control. Codificarea acestora se face conform codului standard ASCII
(American Standard Code for Information Interchange). Codul ASCII standard este un cod pe 7 biți (128
combinații distincte). Ca atare un caracter ASCII se reprezintă pe un octet in care bitul cel mai
semnificativ este zero.Domeniul de valori este de la 0 la 127 (in hexazecimal de la 00h la 07fh).

Explicați noțiunile ”parity check, CRC (Cicl)”.

https://www.techopedia.com/definition/1803/parity-
check#:~:text=A%20parity%20check%20is%20the,of%20bits%20with%20value%20one.

O verificare de paritate este procesul care asigură transmisia precisă a datelor între noduri în timpul
comunicării . Un bit de paritate este atașat biților de date originali pentru a crea un număr de bit par sau
impar; numărul de biți cu valoarea unu.

https://www.techopedia.com/definition/1793/cyclic-redundancy-check-crc

O verificare a redundanței ciclice (CRC) este un cod de detectare a erorilor utilizat în mod obișnuit în
rețelele digitale și dispozitivele de stocare pentru a detecta modificări accidentale ale datelor digitale .
Blocurile de date care intră în aceste sisteme primesc o valoare de verificare scurtă atașată, bazată pe
restul unei diviziuni polinomiale a conținutului lor.
Biletul nr. 9
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Explicati notiunea HUB pentru magistrala USB.
2. Instrucţiunea cmp dest, sursă realizează operaţia:
a. compara operanzii sursă si destinaţie prin aplicarea
funcției logice "si"
b. compara operanzii sursă si destinaţie prin aplicarea
funcției logice "sau"
c. compara operanzii sursă si destinaţie prin scădere.
3. Tipuri de Magistrale.

1. Hub in cadrul magistralei USB reprezinta un driver ce permite conexiunea a mai multor
periferice USB la un calculator.
2. c)
3. Magistrale interne (magistrale locale):
- Magistrala procesorului
- Magistrala memoriei
- Magistrale de sistem:
o Magistrala de date:
o Magistrala de adrese:
o Magistrala de control
Magistrale externe. Magistralele externe sau magistrale de intrare-ieșire (I/O) sunt
alcătuite din sloturile de extensie care conectează diferite dispozitive externe, și permit
procesorului să comunice cu aceste dispozitive periferice.
- Multibus
- ISA (Industrial Standard Architecture)
- EISA
- MCA
- PCI (Peripheral Component Interconnect)
- VL-Bus
- SCSI
- AGP

Biletul nr. 10
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1. Definiţi noţiunea " MAGISTRALA "(BUS).


2. Cum sunt reprezentate numerele reale:
a. în mărime şi semn
b. în format BCD
c. în format virgula mobila
3. Explicați mecanismul functionarii memoriei "Cash".

1. Magistrala este o cale prin care pot circula datele in interiorul unui calculator. Aceasta
cale este utilizata pentru comunicatie si se stabileste intre doua sau mai multe elemente
ale calculatorului.
2. C)
3. - Memoria cache are rol de memorie de tampon fata de memoria principala, costul ridicat
al implementarii memoriilor rapide (care pot tine pasul cu procesorul) implica necesitatea
de a dimensiona memoriile cache astfel incat efectul sa fie sesizabil iar costul sa fie
rezonabil.
- Memoria cache are ca scop mentinerea datelor de care procesorul ar avea nevoie 60-70%
din timp astfel incat comunicarea cu memoria principala sa aibe loc cat mai rar.
- Prin mecanismele de mapare, memoria cache poate retine blocuri de date din memoria
principala, operatiunile de alterare a datelor facute asupra memoriei cache putand fi
propagate automat catre memoria principala.

Dispozitivele sunt conectate la gazdã printr-o reţea de tip stea (multiplã)

Punctele de ataşare sunt puse la dispoziţie prin clasa de dispozitive numite hub (distribuitor). Punctele
de ataşare sunt porturile. Gazda are un hub inclus, numit root-hub (RH în figurã) prin care furnizeazã
unul sau mai multe puncte de legãturã. Dispozitivele care conferã gazdei facilitãţi suplimentare se
numesc funcţii. Într-un dispozitiv fizic pot fi înglobate mai multe funcţii. Unitatea fizicã conţine în acest
caz un hub la care sunt ataşate permanent în configuraţie fixã funcţiile individuale; acesta este un
dispozitiv compus.(Comound Device)
http://calc.fcim.utm.md/biblioteca/arhiva/Anul%20II/Semestru%20I/BTD_C_FR_2017_2017/F_R_2017_
2018/5_6_Magistrala%20Seriala%20Universala%20USB.pdf

O alta Varianta de raspuns Din testul rezolvat pe scribd


Ca dispozitive (Device) USB pot fi hub-uri (distribuitoare), funcţii sau
dispozitive ce îmbină şi hub-uri şi funcţii (compound device, figura 7.17). Hub-
urile asigură puncte de conectare suplimentare a dispozitivelor la magistrală.
Funcţiile USB sunt nişte sisteme, de exemplu mouse ce susţine USB. Dispozitive
care combină câteva funcţii, (compound device, figura mai jos) de exemplu,
keyboard cu trackball încorporat. O funcţie este un dispozitiv USB care poate
transmite şi/sau recepţiona date sau informaţii de control pe magistrală. Acest
dispozitiv trebuie să răspundă la cererile de tranzacţie transmise de
calculatorul gazdă. O funcţie este implementată în mod obişnuit ca un periferic
separat conectat printr-un cablu la un port al unui hub. Un singur dispozitiv
fizic poate conţine însă funcţii multiple. De exemplu, o tastatură şi un
trackball pot fi combinate într -un singur dispozitiv fizic. În cadrul unui
asemenea dispozitiv compus, funcţiile individuale sunt ataşate la un hub, iar
acest hub intern este conectat la magistrala USB. Fiecare funcţie conţine
informaţii de configuraţie care descriu posibilităţile sale şi resursele
necesare. Aceste informaţii sunt transmise calculatorului gazdă ca răspuns la o
tranzacţie de control. Înaintea utilizării unei funcţii, aceasta trebuie
configurată de calculatorul gazdă. Această configurare presupune alocarea unei
lăţimi de bandă în cadrul magistralei USB şi selectarea opţiunilor specifice de
configuraţie
1. Definiți noțiunea “interfață”
Interfața este un loc de interacțiune dintre două dispozitive componente ale unui sistem
care este compatibil din punct de vedere software și hardware cu ambele părți ce comunică
cu el unidirecțional sau bidirecțional.
Cu alte cuvinte interfața reprezintă o suprafață cu margini a unui element care servește
comunicației cu alte elemente.
Din punctul de vedere al unui utilizator interfața este modul în care un software se afișează
la ecran.

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 12
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Nivele de privilegii ale programelor .
Este unul dintre cele 3 aspecte de protectie, iar procesoarele
din familia intel au 4 nivele de protectie. Nivelele sunt
numerotate 0-3, nivelul zero corespunde accesului nelimitat şi
este destinat nucleului sistemului operaţional (SO). Nivelul
3, acces minimal şi practic este destinat aplicaţiilor. Orice
violare a protecţiei provoacă apariţia excepţiilor speciale
care sunt prelucrate de nucleul SO.
2. Instrucţiunea STC:
a. activează sistemul de întreruperin
b. dezactivează sistemul de întreruperi
c. pune carry pe 0
d. pune carry pe 1
3. Descrieti arhitectura Hyper Transport
Principala inovaţie – înlocuirea conectării prin intermediul magistralelor a dispozitivelor periferice prin
conectarea punct-la-punct (point-to-point) ce presupune transferuri de date concomitent în ambele
direcţii între 2 noduri (similară cu topologia PCI-e, detaliată ulterior). Prin această tehnologie se
majorează considerabil viteza de transfer a datelor. Puntea de bază (host bridge) asigură legătura cu
nucleul sistemului – microprocesorul şi memoria. Controllerele perifericelor, ce necesită rate înalte de
transfer de date sunt realizate în formă de tuneluri HT (HT Tunnel). Structura conectării controllerului
grafic AGP şi a magistralei PCI-X la magistrala HT, organizate ca tunel .
Caracteristicile principale ale tunelului sunt:
• Interfaţa HyperTransport pe 16 biţi (Side A) oferă o rată maximală de transfer (lăţime de bandă) –
până la 6,4 GB/s;
• Interfaţa HyperTransport pe 8 biţi (Side B) oferă o rată maximală de transfer – până la 1,6 GB/s.

În arhitectură este prevăzută şi conectarea prin punte cu magistrala PCI.


Arhitectura HT asigură toate tipurile de tranzacţii a microprocesorului şi dispozitivelor PCI, PCI-X şi AGP.
Tranzacţiile se efectuează în formă de pachete de diferite tipuri. Iniţiatorul transferului transmite
pachetul-cerere şi datele necesare tranzacţiei scriere, dispozitivul ţintă trimite pachetul-confirmare şi
date pentru tranzacţii de citire.
12 martie 2021 Examinator: Postovan

Dumitru

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică

Biletul nr. 13
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Caracterizați grupa de calculatoare – mainframe.
Calculatoarele mainframe sunt calculatoare ce pot exploata volume imense de date şi
pot suporta lucrul a mii de utilizatori simultan. Un calculator mainframe se distinge
mai ales prin capacitatea de stocare şi memoria internă. El poate rula ani întregi fără
întrerupere, Unele calculatoare pot rula mai multe sisteme de operare simultan,
operând astfel ca o mulţime de “maşini virtuale”. Preţul unui astfel de calculator este
de ordinul sutelor de mii de dolari. Este solicitat de companiile care vehiculează şi
prelucrează un volum foarte mare de informaţie

Mainframe-urile, cuvânt englez care se pronunță /'mein.freim/ (v. AFI), sunt


computere mari și scumpe folosite de instituții guvernamentale și companii mari
pentru procesarea de date importante pe domeniile: statistică, recensăminte, cercetare
și dezvoltare, proiectare, prognoză, planificarea producției, tranzacții financiare ș.a.
Încă nu există un cuvânt românesc corespunzător.

Un computer mainframe, numit informal mainframe sau big iron, este un computer
utilizat în principal de organizații mari pentru aplicații critice, cum ar fi prelucrarea în
bloc a datelor pentru sarcini precum recensământul, statisticile industriei și
consumatorilor, planificarea resurselor întreprinderii și procesarea tranzacțiilor la
scară largă . Un computer mainframe este mare, dar nu la fel de mare ca un
supercomputer și are o putere de procesare mai mare decât alte clase de computere,
cum ar fi minicomputere, servere, stații de lucru și computere personale . Cele mai
multe arhitecturi de sisteme computerizate la scară largă au fost înființate în anii
1960, dar continuă să evolueze. Computerele mainframe sunt adesea folosite ca
servere.

2. Instrucţiunea mov word ptr [bx],0:


a. încarcă registrul bx cu valoarea 0
b. încarcă în locaţia adresată de bx valoarea 0 pe un octet
c. încarcă în locaţia adresată de bx valoarea 0 pe un cuvânt
3. Explicați conceptul - memorie virtuala
Memoria virtuală este o zonă de stocare temporară la care se apelează ori de câte ori un program
necesită mai multă memorie RAM decât cea care se găseşte instalată într-un calculator.
Pentru ca memoria RAM să nu impiedice rularea unor programe atunci când aceastea au nevoie
de mai mult spatiu de stocare,sistemul de operare foloseste spaţiul de pe hard disk ca o extensie a
memoriei ram. Chiar dacă un calculator este echipat în realitate cu doar 64 de megabiţi de RAM,
prin folosirea memoriei virtuale un program poate avea la dispoziţie până la 4 gigabaiţi de
memorie. (in cazul unui sistem de operare pe 32 de biti)
Memoria virtuală (VM) este o caracteristică dezvoltată pentru kernel-ul unui sistem de operare
(OS) care simulează memorie principală suplimentară, cum ar fi RAM (memorie cu acces
aleatoriu) sau stocare pe disc. Această tehnică implică manipularea și gestionarea memoriei,
permițând încărcarea și execuția simultană a unor programe mai mari sau a mai multor
programe. De asemenea, permite fiecărui program să funcționeze ca și când ar avea o memorie
infinită și este adesea considerat mai rentabil decât achiziționarea de memorie RAM
suplimentară.

12 martie 2021 Examinator: Postovan Dumitru

Biletul nr. 14
1. Explicati notiunea "Magistrale Paralele".

Magistrala paralelă conţine un set de linii permiţând transferul simultan al unui cuvânt
(cuvânt pe 8, 16, 32, 64,128, 256, 512 biţi) de informaţie. Pe magistrala serială informaţia se
transmite succesiv (un cuvânt este transmis bit cu bit, pe aceeaşi linie).
Magistrala paralelă poate fi subdivizată in trei categorii, după tipul informaţiei
transferate: magistrale de adrese, de date, şi de control.
Destinaţia liniilor magistralei paralele
Magistrala asigură conectarea paralelă a dispozitivelor periferice şi asigură transferurile
de informaţie între ele.
Arhitectura magistralei include următoarele componente:
- Linii pentru transferuri de date (magistrala de date);
- Linii pentru adresarea datelor (magistrala de adrese);
- Linii pentru controlul datelor (magistrala de control);
- Controllerul magistralei.
Controllerul magistralei efectuează controlul procesului de schimb de date, de semnale de
control şi
reprezintă un microcircuit sau se integrează în circuitele chipset-ului.
2. Instrucţiunea JNC et realizează saltul la et dacă:
a. flagul Zero este 1
b. flagul Zero este 0
c. flagul Carry este 1
d. flagul Carry este 0

3. Caracterizați perifericele de tip Winchester.

Hard disk-ul are mai multe denumiri alternative. De exemplu, abrevierea HDD este
adesea folosită pentru a-l desemna, ceea ce înseamnă hard disk drive, care poate fi tradus ca disc
dur. Un alt nume este Winchester. Acesta este un nume care a apărut în anii 70.
Hard disk-ul este un dispozitiv electronic-mecanic pentru stocarea sau memorarea
nevolatilă a datelor.
Stocarea datelor se face pe o suprafață magnetică dispusă pe platane rotunde metalice
rigide. În general hard disk-urile sunt utilizate ca suport de stocare extern principal pentru
servere și calculatoare personale, dar și pentru anumite aparate electronice.
Dacă la începuturi capacitatea unui disc rigid nu depășea 20 megabait (MB), astăzi
(2020) un disc rigid obișnuit poate depăși 30,7 terabaiți (TB).
O alternativă la folosirea discurilor în mișcare pentru memorarea datelor au devenit
memoriile pur electronice de tip Solid-state drive (SSD), care neavând piese în mișcare sunt mult
mai rapide, dar și mai scumpe. Ele simulează caracteristicile discurilor rigide, reacționând identic
la comenzi și utilizând uneori chiar aceleași interfețe, nemodificate
Discul rigid este format de obicei din:
 placă electronică de control logic,
 un număr de platane cu suprafață magnetizabilă (de obicei 2 sau 3), împărțite în piste
și sectoare,
 capete magnetice de citire/scriere (engl. read/write heads, R/W heads), de o parte și
de alta a platanelor, legate printr-un braț metalic comandat electromagnetic numit în
general actuator,
 un sistem electromecanic de frânare și blocare a capetelor pe pista de stop (engl.
landing zone), atunci când discul e oprit,
 un motor electric trifazic extraplat, care asigură rotirea cu viteză constantă a
platanelor.

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 15
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1. Explicați notiunea "magistrală"


Magistrală un sistem de comunicație care transferă date între componentele unui calculator, fiind
calea prin care circulă datele în interiorul unui calculator. Ea semnifica nu doar traseul fizic respectiv,
ci și regulile legate de transmisia de date și comenzi între componentele sistemului și modul de
interconectare a perifericelor de pe placa de bază. O putem defini și ca un set de conexiuni fizice între
blocuri prin care informaţia care circulă are o semnificaţie prestabil.Numărul de fire este egal cu
numărul de biţi ce pot fi transferaţi simultan prin magistrală.
Surse:
https://elearning.masterprof.ro/lectiile/informatica/lectie_01/magistralele_calculatorului.html
https://ro.wikipedia.org/wiki/Magistral%C4%83_(calculator)

https://en.wikipedia.org/wiki/Bus_(computing)

2. Implementaţi Instrucţiunea xchg bx,cx folosind instrucţiuni de tip


mov
mov ax,cx

mov cx,bx

mov bx,ax

sau codul:
.data
.code main PROC
mov cx, 5
mov bx, 6
mov ax, cx
mov cx, bx
mov bx, ax
;xchg bx, cx
exit
main ENDP
END main
3. Structuri de date pe unitati de disk tip Winchester.
Unitati de tip Winchester este un hard disk, care avea stocare detașabilă, care pune capetele și
platourile (discurile) într-o unitate etanșă pentru o viteză mai mare. Reprezintă o formă de stocare
pe disc magnetic în care suprafețele de înregistrare, mecanismul de acces și capetele de citire/scriere
sunt fabricate împreună și ambalate într-un cartuș sigilat. Datele fiind prezentate în sistemul binar,
iar transferul în memorie fiind posibil prin mai multe metode de genul DMA sau MM I/O.

Legat de structurile de date, platourile de discuri sunt formatate într-un sistem de cercuri
concentrice, sau inele, numite piste. În fiecare pistă sunt sectoare, care subdivid cercul într-
un sistem de arce, fiecare formatat pentru a conține aceeași cantitate de date - de obicei 512
octeți.
Sursa:
https://www.snia.org/education/storage_networking_primer/stor_devices/data_structure#:
~:text=Disk%20platters%20are%20formatted%20in,of%20data%E2%80%94typically%2
0512%20bytes.
https://www.webopedia.com/definitions/winchester-disk-drive/

12 martie 2021 Examinator: Postovan Dumitru

Biletul nr. 16
1. Explicati principiul de sintezare a imaginilor color (RGB).
Valorile RGB sunt stocate ca numere în memorie. Deoarece un octet poate reprezenta numere de la 0 la 255 (256
sau 2^8 valori unice), de obicei, ei atribuie câte un octet intensității roșu, verde și albastru, zero fiind complet
întunecat și 255 fiind cât mai luminos posibil. in acea culoare. Când combinați toate combinațiile posibile, obțineți
aproximativ 24 de milioane de culori reprezentabile individual. Există o parte din circuitele adaptorului video a cărei
sarcină este pur și simplu să citească aceste valori în mod repetat, câte un pixel, și să le trimită pe monitor. Când este
vorba de o conexiune digitală (HDMI, DisplayPort), numerele sunt pur și simplu împachetate în protocolul și
sincronizarea adecvate pentru a fi interpretate la monitor. În cazul unei conexiuni analogice precum VGA, există un
convertor digital-analogic care emite o tensiune precisă pentru fiecare canal de culoare pe baza valorii sale
numerice. Totuși, transmisia analogică a căzut din dizgrație datorită capacității de a prezenta rezoluții mai mari și o
imagine mai precisă atunci când se realizează conversia analogică cât mai aproape de panoul de afișare digital,
sincronizat cu atenție cu fiecare pixel fizic.

How do computers represent pixel colour on the basis of RGB values? Where is the RGB located on a computer
hardware? - Quora

SAU
Modelul cromatic red -green -blue, abreviat RGB, este un model aditiv de culoare, în care culorile albastru, roșu și
verde sunt amestecate în diferite moduri pentru a produce o gamă largă de culori. Principalul scop al paletei de
culori RGB este de a reprezenta imagini pe sistemele electronice, cum ar fi televizoarele și calculatoarele, deși a fost
folosit și în fotografie. Înainte de era electronică, modelul RGB era mai puțin cunoscut, în principal el fiind folosit în
biologie, la percepția umană a culorilor. RGB este un model cromatic dependent de dispozitive: două monitoare
diferite pot reprezenta o anumită valoare RGB diferit, deoarece răspunsul elementului chimic ce provoacă culoarea
diferă de la producător la producător sau chiar la același dispozitiv, odată cu trecerea timpului. Astfel o valoare RGB
nu definește aceeași culoare pe toate dispozitivele fără un fel de gestiune a culorilor. Dispozitivele de intrare tipice
RGB sunt camerele de filmat, scanerele și aparatele de fotografiat, iar cele de ieșire sunt televizoarele (CRT, LCD,
cu plasmă, etc.), monitoarele, ecranele telefoanelor mobile, proiectoarele video, afișoarele cu LED-uri multicolore

2. Instrucţiunea JCXZ et realizează saltul la et dacă:


a. flagul Zero este 1
b. flagul Zero este 0
c. flagul Carry este 0
d. registrul CX este 0
3. Principii de sincronizare a datelor in procesul transmiterii
de date.

Nu stiu care, ASTA


Metoda sincronă de transmitere a datelor - o metodă de transmitere a datelor digitale printr-o interfață serială
(последовательный), în care receptorul și emițătorul cunosc timpul transmisiei datelor, adică emițătorul și
receptorul funcționează sincron, în timp. Sincronizarea receptorului și emițătorului se realizează fie prin
introducerea unei secvențe de sincronizare (de exemplu, la începutul transmisiei de date, se transmite un semnal
determinist cu o comutare cunoscută a stărilor de la „zero” la „unu”, receptorul și transmițătorul sunt sincronizate la
momentul sosirii, prin setarea impulsurilor stroboscopice în centrul intervalului de biți ), sau prin aplicarea metodei
de codificare cu autosincronizare în timpul transmiterii fiecărui bit de date [1]. Codurile de auto-sincronizare includ:
RZ, Manchester-II, MLT-3.

Metodă sincronă de transmitere a datelor: a) folosind o secvență de sincronizare; b) folosind codificarea canalului cu
autosincronizare

Avantaje >Eficiență ridicată a transmisiei de date, > viteza inalta de transmitere

Синхронный способ передачи данных — Википедия (wikipedia.org)


Transferul de date asincron este o metodă de transfer de date digitale de la un transmițător la un receptor printr-o
interfață serială, în care datele sunt transmise în orice moment. Pentru ca receptorul să inițieze recepția datelor, sunt
introduse secvențe speciale de biți pentru a încadra datele. Înainte de începerea transferului de date se transmite un
bit de start, la sfârșitul transferului de date se transmite un bit de oprire.

Avantaje
Ușurința construirii unui sistem de recepție și transmisie, Cost redus al echipamentelor de interfață.
Dezavantaje
Debitul este redus datorită transmiterii de biți de serviciu (pornire și oprire), Rată(viteza) scăzută de transfer de date
în comparație cu transferul de date sincron.
Асинхронный способ передачи данных — Википедия (wikipedia.org)
SAU ASTA
Tipurile de transfer de date Arhitectura USB permite patru tipuri de transferuri de date: de control, de
întrerupere, de date voluminoase şi izocrone.
Transferurile de control se utilizează de driverele calculatorului gazdă pentru configurarea dispozitivelor
care sunt ataşate la sistem. Alte drivere pot utiliza transferuri de control în moduri specifice implementării.
Transferurile de întrerupere se utilizează pentru date cu volum redus. Transferul acestor date poate fi
solicitat de un dispozitiv în orice moment, iar rata de transfer pe magistrala USB nu poate fi mai redusă decât cea
specificată de dispozitiv. Datele pentru care se utilizează transferurile de întrerupere constau din notificarea unor
evenimente, din caractere sau coordonate care sunt organizate pe unul sau mai mulţi Arhitectura Calculatoarelor 95
octeţi. Un exemplu îl reprezintă coordonatele de la un dispozitiv indicator (Ex. mouse). Datele interactive pot avea
anumite limite ale timpului de răspuns care trebuie asigurate de magistrala USB.
Transferurile de date voluminoase (“bulk”) se utilizează cu periferice cum sunt memorii de masă,
imprimante sau scanere. Aceste date sunt secvenţiale. Fiabilitatea transferurilor este asigurată la nivel hardware prin
utilizarea unui cod detector de erori şi reluarea unui transfer cu erori de un număr de ori. Rata de transfer în cazul
acestor transferuri poate varia în funcţie de alte activităţi de pe magistrală.
Transferurile izocrone (isos – egal, chronos – timp) se utilizează pentru datele care trebuie furnizate cu o
anumită rată de transfer constantă şi a căror sincronizare trebuie garantată. Izocron are semnificaţia “cu durată
egală” sau “care apare la intervale regulate”. Datele izocrone sunt generate în timp real şi trebuie furnizate cu rata cu
care sunt recepţionate pentru a păstra sincronizarea lor. Pe lângă rata de transfer impusă, pentru datele izocrone
trebuie respectată şi întârzierea maximă cu care acestea sunt furnizate. Furnizarea la timp a datelor izocrone este
asigurată cu preţul unor pierderi potenţiale în şirul de date. Cu alte cuvinte, erorile de transmisie nu sunt corectate
prin mecanisme hardware, de exemplu, prin retransmiterea lor. În concluzie, transferurile izocrone se caracterizează
prin furnizarea la timp a datelor şi prin lipsa retransmiterii lor în cazul unor erori, deoarece datele întârziate nu mai
sunt utile. Spre deosebire de transferurile izocrone, transferurile asincrone se caracterizează prin faptul că fiabilitatea
transmiterii datelor este mai importantă decât asigurarea sincronizării. Pentru aceasta se utilizează retransmiterea
datelor în cazul unor erori, chiar dacă apar întârzieri din această cauză.
Un exemplu tipic de date izocrone este reprezentat de imaginile video. Dacă rata de transfer a acestor şiruri
de date nu este respectată, va avea loc pierderea unor date datorită depăşirii capacităţii bufferelor. Chiar dacă datele
sunt furnizate de magistrala USB cu rata adecvată, întârzierile introduse de programe pot afecta negativ aplicaţiile
care utilizează aceste date, cum sunt cele pentru videoconferinţe. Şirurilor de date izocrone li se alocă o porţiune
dedicată a lăţimii de bandă a magistralei USB. De asemenea, această magistrală este proiectată pentru o întârziere
minimă a transferurilor de date izocrone.
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 17
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1 Arhitectura SIMD in cardurile video a calculatoarelor.


SIMD este o arhitectură în care mai multe unități de procesare procesează mai multe
fluxuri de date în paralel . Acesta este utilizat de procesoarele vectoriale sau de
procesoarele care rulează în paralel. SIMD este adesea utilizat de supercomputere și cu
unele variații, de asemenea, în microprocesoarele moderne.

Unitatea GPU este potrivita pentru paralelismul de date SIMD (Single Instruction
Multiple Data), astfel aceleasi instructiuni sunt executate in paralel pe mai multe unitati
de procesare. Datorita faptului ca acelasi program este executat pentru fiecare element de
date, sunt necesare mai putine elemente pentru controlul fluxului. Si deoarece calculele
sunt intensive computational, latenta accesului la memorie poate fi ascunsa prin calcule
in locul unor cache-uri mari pentru date.
SIMD de asemenea se regăsește si în jocurile video. Aproape fiecare joc video modern
tip consolă are încorporat un procesor SIMD undeva în arhitectura sa. Aplicații grafice
3D au tendința de a se potrivi bine la procesarea SIMD, deoarece acestea se bazează
foarte mult pe operațiile cu vectori de 4 dimensiuni.

2 Instrucţiunea sbb dest, sursă realizează operaţia:


a. sursă<--dest- sursă
b. dest<--dest- sursă
c. dest<--dest- sursă+carry
d. dest<--dest- sursă-carry
3 Descrieți modelul program IA-32.
Modelul de program IA-32 este versiunea de 32 de biti a arhitecturii setului de
instructiuni x86, proiectata de Intel. IA-32 este numit uneori arhitectura i386. Modelul IA-
32 ale multor sisteme de operare moderne sunt inca mentinute. De exemplu inca exista
compatibilitate cu Windows 10 si 11 si cu distributia Linux. Multe actualizari ale
programului ofera numeroase completari, de exemplu capabilitati in virgula mobila si
extensii MMX.
12 martie 2021 Examinator: Postovan Dumitru
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
WProces verbal nr. 4 din 24.11.2020
Biletul nr. 18
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1. Explicați conceptul "STIVA (STACK)".


STIVA (STACK) - structură de date liniară abstractă, pentru care sunt definite operațiile de
adăugare a unui element și eliminare a unui element și aceste operații se realizează la un singur capăt al
structurii, numit și vârf al stivei.
Pentru a scrie un program ASM, se folosesc directivele simplificate de definire a segmentelor. Una
dintre aceste modele este : .stack n (definire de segment de stivă). Directiva .stack alocă o zonă având
lungimea n (.stack n) , zonă fiind definită ca stivă. Directiva rezervă (nu-şi inițializează) zona dedicată
stivei.

Operații asupra STIVEI:


a) Instrucţiunea PUSH Instrucţiunea PUSH decrementează registrul ESP şi copie operandul sursă
în stivă.

b) Instrucţiunea POP Instrucţiunea POP copie conţinutul stivei în operandul sursă pe 16 sau 32 biţi
şi incrementează registrul ESP cu valorile 2 sau 4 respectiv.

c) Instrucţiunile PUSHFD şi POPFD Instrucţiunea PUSHFD copie conţinutul registrului EFLAGS pe


32 biţi în stivă, iar POPFD extrage din stivă valoarea pe 32 biţi şi încarcă registrul de fanioane EFLAGS.

d) Instrucţiunile PUSHAD, PUSHA, POPAD şi POPA Instrucţiunea PUSHAD copie conţinutul


registrelor de uz general în stivă în ordinea următoare: EAX, ECX, EDX, EBX, ESP (valorile înaintea
execuţiei PUSHAD), EBP, ESI şi EDI. Iar instrucţiunea POPAD extrage din stivă şi încarcă regiştrii de uz
general în ordinea inversă. Respectiv instrucţiunea PUSHA copie conţinutul registrelor de uz general pe
16 biţi în stivă în ordinea următoare: AX, CX, DX, BX, SP, BP, SI, DI. Iar inctrucţiunea POPA extrage din
stivă şi încarcă regiştrii de uz general pe 16 biţi, în ordinea inversă

2. Ce operaţii se realizează la execuţia directivei "CALL"?


Instructiunea CALL numită și apel de procedura.
Tipul apelului de procedură (CALL) poate fi dedus din tipul procedurii (primul caz) sau specificat explicit
prin NEAR şi FAR. Tipul apelului trebuie să coincidă cu tipul procedurii şi cu tipul instructiunii RETURN
din interiorul procedurii. Dacă atributul NEAR şi FAR lipsesc, în cazul utilizării definiţiilor complete se
consideră implicit NEAR.

Instrucțiunea poate fi sub una din forme:


a) CALL numeProcedura

b) CALL NEAR PTR numeProcedura

c) CALL FAR PTR numeProcedura


3. WExplicati principiul de lucru al calculatoarelor electronice
analogice .
Un calculator analogic este un tip de calculator care utilizează aspecte (semnale) care se schimbă
în mod continuu ale fenomenelor fizice, cum ar fi cele electrice, mecanice, hidraulice sau ale altor mărimi
pentru a modela problema care trebuie rezolvată. Descoperirea și dezvoltarea tranzistoarelor a permis
construirea de calculatoare electronice analogice tranzistorizate, larg folosite înaintea celor electronice
digitale din zilele noastre.
Calculatoarele analogice profită de similitudinile dintre matematica proprietăților microscopice—
poziția și mișcarea roților sau potențialul și curentul electric—și matematica altor fenomene fizice, de
exemplu, traiectoriile balistice, inerția, rezonanța, transferul de energie, impulsul. Ele modelează
fenomene fizice cu ajutorul tensiunilor electrice și al curenților electrici drept cantități analogice.

În esență, aceste sisteme analogice funcționează prin crearea unor circuite electrice
corespondente ale altor sisteme, ceea ce permite utilizatorilor să prezică comportamentul acelor sisteme
de interes prin observarea corespondentelor lor analogice. Cea mai utilă dintre aceste analogii a fost
modul în care comportamentul la scară microscopică se poate reprezenta prin ecuații diferențiale și
integrale, și ar putea fi astfel utilizat pentru a rezolva acele ecuații.

Un exemplu de astfel de mașină, care folosea apa drept cantitate analogică, a fost integratorul cu
apă construit în 1928; un exemplu electric îl constituie mașina Mallock, construită în 1941. Un planimetru
este un dispozitiv ce calculează integrale, folosind distanța drept cantitate analogică. Până în anii 1980,
sistemele HVAC au utilizat aer atât drept cantitate analogică, cât și ca element de control. Spre deosebire
de calculatoarele numerice moderne, calculatoarele analogice nu sunt foarte flexibile, și trebuie
reconfigurate (reprogramate) manual pentru a le trece de la rezolvarea unei probleme la alta.
Calculatoarele analogice aveau, față de primele calculatoare numerice, avantajul că puteau fi utilizate
pentru a rezolva probleme complexe folosind analogii comportamentale, pe când primele tentative pe
calculatoarele numerice au fost foarte limitate.

12 martie 2021 Examinator: Postovan Dumitru


1. Destinația registului Flags

Registrul indicatorilor de stare (FLAGS) pe 16 biţ i conţ ine informaţ ii legate de starea
microprocesorului precum ş i de rezultatele ultimilor instrucţ iuni executate. Un indicator de stare
(flag) este î n sine o locaţ ie de memorie de 1 bit ce indică starea curentă a microprocesorului ş i
modalitatea sa de operare. Un indicator se spune că “este setat” dacă are valoarea 1 ş i “nu este
setat” î n caz contrar.

2. Instrucțiunea add dest, sursă realizează operația

a) sursă<--dest+ sursă

b) dest<--dest+ sursă

c) sursă<--dest+ sursă+carry

d) dest<--dest+ sursă+carry

3. Expicați structura și destinația memoriei CASH

https://ro.theastrologypage.com/memory-cache

Memoria cache este un tip de memorie cache care este instalat și / sau face parte din memoria principală de
acces aleatoriu (RAM) a computerului. Este o memorie cache nativă a RAM-ului care oferă acces mai rapid
la date și capabilități de procesare decât RAM-ul în sine.

Biletul nr. 20
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Explicați conceptul "memorie virtuală".(Atest 2)
Memoria virtuală este o caracteristică a unui sistem de operare care permite unui computer să
compenseze deficitul de memorie fizică prin transferarea paginilor de date din memoria cu
acces aleatoriu la stocarea pe disc. Acest proces se face temporar și este conceput să funcționeze
ca o combinație de memorie RAM și spațiu pe hard disk.
Aceasta înseamnă că atunci când memoria RAM este scăzută, memoria virtuală poate muta
datele din ea într-un spațiu numit fișier de paginare. Acest proces permite eliberarea memoriei
RAM, astfel încât un computer să poată finaliza sarcina.
Ocazional, unui utilizator i se poate afișa un mesaj care spune că memoria virtuală se epuizează,
aceasta înseamnă că fie trebuie adăugată mai multă RAM, fie dimensiunea fișierului de
paginare trebuie mărită.
2. Dacă în AL avem 11011110, în urma instrucțiunii test al,0fh se
obține valoarea:
a. 11011111
b. 00001110
c. 11010001
d. 11011110.
3. Descrieti "Unitatea de control "a unui procesor.(Atest-1)

O unitate de control sau CU este un circuit care direcționează operațiunile din procesorul unui
computer. Acesta permite unității logice a computerului, memoriei și dispozitivelor de intrare
și de ieșire să știe cum să răspundă la instrucțiunile primite de la un program. Exemple de
dispozitive care utilizează unități de control includ procesoare și GPU.
O unitate de control funcționează prin primirea informațiilor de intrare pe care le convertește
în semnale de control, care sunt apoi trimise procesorului central. Procesorul computerului
spune apoi hardware-ului atașat ce operațiuni trebuie să efectueze. Funcțiile pe care le
îndeplinește o unitate de control depind de tipul de procesor, datorită variației arhitecturii între
diferiți producători.

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 21
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Explicati notiunea de "intrerupere programata".
Întreruperea programului poate fi descrisă ca un transfer al controlului programului de la un
program care rulează în prezent la un alt program de serviciu la o cerere generată extern sau
intern. După executarea programului de service, controlul revine la programul original.
2. Dacă în registrul AL este stocată valoarea 11001001, după
Instrucţiunea shl al,3 se va obţine:
a. 00011001
b. 01001000
c. 00100100
d. d)11001000
3. Definiţi noţiunea ”ALU "Unitate Aritmetico-Logica).
Unitate Aritmetico-Logica este un circuit digital combinațional care
efectuează operații aritmetice și pe biți pe numere binare întregi.
SAU

Unitatea aritmetică logică, UAL sau ALU (elgleza Arithmetic logic unit) este un circuit electronic digital
complex care poate efectua operații aritmetice și logice. În diagramele-bloc de computere, unitatea
aritmetică logică este reprezentată ca un modul funcțional, componentă a schemei de principiu a unui
calculator electronic. Constructiv, în calculator, UAL este un bloc fundamental al unității centrale de
procesare (prelucrare) UCP (engleză CPU). Unitatea logică aritmetică este utilizată pentru a efectua
transformări logice și aritmetice pe operanții necesari, adesea comenzi sau coduri de numere. După
finalizarea acțiunii, rezultatul este returnat dispozitivului de stocare pentru a fi utilizat în următoarele
calcule.

12 marie 2021 Examinator: Postovan Dumitru

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 22
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Definiţi noţiunea "memorie liniara"
Modelul de memorie liniară se referă la o paradigmă de adresare
a memoriei în care „memoria apare programului ca un singur spațiu
de adrese contiguu”. CPU poate adresa direct (și liniar) toate
locațiile de memorie disponibile, fără a fi nevoie să recurgă
la nici un fel de segmentare a memoriei sau scheme de paginare.
2. Instrucţiunea JCXZ et realizează saltul la et dacă:
a. flagul Zero este 1
b. flagul Zero este 0
c. flagul Carry este 0
d. registrul CX este 0
3. Explicați notiunea "mașină virtuală".
Virtual Machine (VM) este o resursă de calcul care utilizează
software în loc de un computer fizic pentru a rula programe și
a implementa aplicații. Una sau mai multe mașini virtuale
„oaspeți” rulează pe o mașină „gazdă” fizică. Fiecare mașină
virtuală rulează propriul sistem de operare și funcționează
separat de celelalte mașini virtuale, chiar și atunci când toate
rulează pe aceeași gazdă. Aceasta înseamnă că, de exemplu, o
mașină virtuală MacOS virtuală poate rula pe un computer fizic.

Tehnologia mașinilor virtuale este utilizată pentru multe cazuri


de utilizare în medii on-premise și cloud. Mai recent,
serviciile publice cloud folosesc mașini virtuale pentru a oferi
resurse de aplicații virtuale mai multor utilizatori simultan,
pentru o calcul și mai eficient din punct de vedere al costurilor
și mai flexibil.

12 martie 2021 Examinator: Postovan Dumitru

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 23
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Explicați diferența între compilare și interpretare.(ATEST 1)
- Un limbaj compilat este un limbaj de programare ale cărui
implementări sunt de obicei compilatoare și nu
interpreți,pe cand un limbaj interpretat este un limbaj de
programare ale cărui implementări execută instrucțiuni
direct și liber, fără a compila în prealabil un program în
instrucțiuni în limbajul mașinii.
- În compilare, odată ce programul este compilat, acesta este
exprimat în instrucțiunile mașinii țintă, pe cand in
interpretare odată ce programul este compilat, acesta este
exprimat în instrucțiunile mașinii țintă.
- Codul limbajului compilat poate fi executat direct de CPU-
ul computerului,pe cand Un program scris într-un limbaj
interpretat nu este compilat, este interpretat.
2. Instrucţiunea in al,71h:
a. încarcă în registrul al valoarea 71h
b. citeşte în registrul al un octet de la portul 71h
c. scrie valoarea din registrul al la portul 71h
3. Explicati principiul de sintezare a imaginilor in culori (RGB)
".
Principiul de sintetizare a imaginilor in culori se utilizeaza pentru a transforma o imagine în tonuri
de gri într-o imagine color sintetică. ENVI schimbă imaginea în tonuri de gri într-o imagine color,
aplicând filtre trece-înaltă și trece-jos imaginii pentru a separa informațiile de frecvență înaltă și
joasă. Informațiile de joasă frecvență sunt atribuite nuanței, iar informațiile de înaltă frecvență sunt
atribuite valorii și este utilizat un nivel de saturație fix. Aceste date de nuanță, saturație și valoare
(HSV) sunt transformate în spațiu roșu, verde și albastru (RGB), producând o imagine color.
Sistemul RGB se bazează pe emisia de lumină roşie ( Red ), verde ( Green ) şi albastră ( Blue).
Acestea sunt culori aditive. Prin combinarea lor se obţine alb.iar prin absența lor- negru Pe acest
principiu se bazează în general sistemele de afişare ( monitoare, televizoare, panouri publicitare).
Modelul RGB este aditiv, unde culorile sunt adăugate la negru. În absența radiațiilor - nu există
culoare - negru, amestecând toate cele trei într-o anumită proporție - dă alb. Dacă culoarea ecranului
iluminat de un spot de culoare este indicată în RGB ca (r1, g1, b1), iar culoarea aceluiași ecran
iluminat de un alt spot este (r2, g2, b2), atunci sub iluminare cu două spoturi , culoarea ecranului
va fi indicată ca (r1 + r2, g1 + g2, b1 + b2).
12 martie 2021 Examinator: Postovan Dumitru

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 17
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.
1. Explicaţi principiile SUBSTRACTIVE si ADITIVE de mixare a
culorilor.

Amestecarea subtractivă sau sinteza subtractivă a două sau mai multe culori constă în
amestecarea sau suprapunerea a doi sau mai mulți coloranți sau pigmenți care apar individual de
o culoare diferită atunci când sunt luminați cu lumină cu o anumită compoziție spectrală,
deoarece absorb diferite benzi ale luminii incidente, deci să producă, odată amestecat sau
suprapus și iluminat de aceeași lumină, senzația unei culori diferite. De exemplu, dacă amestecați
un colorant care apare galben, deoarece absoarbe banda albastră, cu unul care apare magenta,
deoarece absoarbe banda verde, amestecul rezultat apare roșu.
Amestecul extractiv poate fi produs în diferite moduri; de exemplu: amestecarea pigmenților, ca
în vopsea sau suprapunerea straturilor de cerneluri, ca în fotografie și tipărire.
Procesele de sinteză aditivă a culorilor exploatează această sensibilitate diferită la trei game
diferite de lungimi de undă vizibile pentru a produce, folosind un număr limitat de stimuli de
culoare (cum se numesc de obicei fasciculele de lumină care stimulează conurile), de obicei trei,
o gamă largă de culori. Acești stimuli de culoare, cu alte cuvinte primarele aditive, sunt în mod
ideal monocromatice, dar în mod normal, din motive practice, nu sunt și chiar pot ocupa fiecare
o bandă extinsă de lungimi de undă.
Tocmai faptul că nu este necesar să se utilizeze elemente primare monocromatice explică modul
în care este posibil să se producă o gamă largă de culori chiar și cu procese subtractive, adică
folosind coloranți care filtrează lumina albă, lăsând fiecare să treacă doar o bandă de și care pot
fi utilizate în combinație în așa fel încât benzile de frecvență reziduale, care ajung la ochi, să
permită sinteza culorilor la fel cum se întâmplă cu procedura aditivă.
Deoarece modelul CMYK este utilizat în principal în industria de imprimare pentru imprimarea
color. și hârtie și alte materiale de imprimare sunt suprafețe care reflectă lumina, este mai
convenabil să ia în considerare cantitatea de lumină (și culoare) reflectată de la unele de
suprafață, mai degrabă decât cât de mulți au fost absorbite. Astfel, dacă scădem din alb trei culori
primare, RGB. obținem trei culori suplimentare CMY. „Substractiv“ înseamnă „deductibilă“ -
alb scăzută culoare primară.
Cu toate acestea, Louis Ducos du Hauron a fost primul care a descris, în 1862, principiul sintezei
subtractive, care permite depășirea dezavantajelor practice pe care le prezintă sinteza aditivă atât
în reproducerea fotografică (cât și cinematografică) a culorilor (de exemplu necesitatea utilizării
a trei proiectoare, sau a unui filtru rotativ sau a filmelor lenticulare) și în reproducerea tipărită
(necesitatea utilizării unui mozaic de culori care face, de exemplu, practic imposibil să se creeze
culori luminoase și în special alb, datorită absorbției de lumină de cerneluri).

2. Complementul față de doi se utilizează pentru:


a. reprezentarea numerelor naturale
b. reprezentarea numerelor întregi negative
c. reprezentarea numerelor reale negative
3. Cum e organizata memoria cu acces direct pe o unitate de disk
Winchester.

Acces direct. Blocurile sau înregistrările individuale au o adresă unică pe baza amplasării
fizice a acestora. Timpul de acces este de asemenea variabil. Unită- ţile de disc sunt
echipamente cu acces direct.
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică
Aprob
Şef departament ISA
Ion Fiodorov
Proces verbal nr. 4 din 24.11.2020
Biletul nr. 25
**Pentru evaluarea 2(doi)la disciplina: Arhitectura calculatoarelor
Grupele AI 191;SI191;TI1912,3,4,5;FI191 Facultatea C.I.M.

1. Explicați diferența între compilare și interpretare.

2. Diferența dintre compilare și interpretare se rezuma la faptul că într-un limbaj


compilat, mașina țintă traduce direct programul, pe când în cadrul interpretării , codul
sursă nu este tradus direct de mașina țintă. În schimb, un alt program, denumit
interpretul, citește și execută codul.
Ca urmare limbajul de compilare tinde să fie mai rapid și mai eficient de executat decât
limbile interpretate. De asemenea, oferă dezvoltatorului mai mult control asupra
aspectelor hardware, cum ar fi gestionarea memoriei și utilizarea procesorului.Iar,
interpretarea parcurge un program linie cu linie și execută fiecare comandă.

- O alta deosebire este că interpretatorul este eficient dacă să vorbim despre memoria sa, iar
compilatorul are nevoie de mai multă memorie.
- Următoarea diferență ar fi că interpretatorul arată foarte rapid erorile în cod, însă compilatorul
trebuie întâi să scaneze întreg programul pentru asta.

3. Instrucţiunea cmp dest, sursă realizează operaţia:


a. compara operanzii - sursă si destinaţie prin
aplicarea funcției logice "si";
b. compara operanzii - sursă si destinaţie prin
aplicarea funcției logice "sau";
c. compara operanzii - sursă si destinaţie prin
scădere.

3. Banda de asamblare cu 6 segmente a procesorului


de pe cardul video .
Banda de asamblare cu 6 segmente a procesorului de pe cardul video constituie din:input
assembler, vertex shader, geometry shader, setup & rasterizer, pixel shader, raster
operations/output manager;
 input assembler are scopul de a citi date primitive din tampoane umplute de utilizator și
de a asambla datele în primitive care vor fi utilizate de celelalte etape ale conductei.
 Vertex shader este utilizat pentru a transforma atributele vârfurilor (punctele unui
triunghi), cum ar fi culoarea, textura, poziția și direcția de la spațiul de culoare original la
spațiul de afișare. Permite ca obiectele originale să fie distorsionate sau remodelate în orice
mod.
 Geometry Shader rulează codul shader specificat de aplicație cu vârfuri ca intrare și
capacitatea de a genera vârfuri la ieșire.
 Setup & Rasterizer transfrorma imaginea descrisa intr-un format graphic vectorial intro
imagine raster (o serie de pixeli, puncte sau linii, care cand sunt afisate impreuna creeaza
imaginea care a fost reprezentata prin forme).
 Pixel Shader permite tehnici bogate de umbrire, cum ar fi iluminarea pe pixeli și post-
procesare. Un pixel shader este un program care combină variabile constante, date de
textură, valori interpolate pe vârf și alte date pentru a produce ieșiri pe pixel.
 Raster Operations/output merger generează culoarea finală a pixelilor redați utilizând o
combinație de stare a conductei, datele pixelilor generate de umbrele pixelilor, conținutul
țintelor de redare și conținutul tampoanelor de adâncime / stencil.

12 martie 2021 Examinator: Postovan Dumitru


1. Explicați schema structurată a microprocesorului Pentium.

Pentium are 2 benzi de asamblare: „u” pipeline, care execută orice instrucțiune și „v” pipeline, care
poate executa doar instrucțiuni simple în virgulă mobilă. Reguli complicate determină dacă
instrucțiunile sunt compatibile, astfel încît să poată fi executate paralel. Pentium folosește 2 memorii
cache de 8 kB, pentru cele mai frecvente coduri și date. Astfel se elimină necesitatea de a accesa
permanent memoria calculatorului. De asemenea microprocesorul are un buffer pentru decodificarea
anticipată a instrucțiunilor. Astfel sunt sesizate eventualele salturi înainte ca instrucțiunea să fie
trimise în banda de asamblare. Transmiterea din memoria cache se efectueaza pe o magistrala de
256 biți, ceea ce permite aducerea unor secvențe de instrucțiuni cu o viteză mai mare decît viteza de
procesare. Pentium utilizează predicția salturilor (BTB), care stochează informația despre ultimele
256 de salturi. Registrele generale sunt de 32 biți, dar magistralele sunt de 128 și 256 de biți pentru a
mări viteza transferurilor interne. Magistrala externă a fost extinsă la 64 de biți. Procesorul dispune
de tehnologia TLB (Translation Lookaside Buffer), care translatează adresa liniară în fizică.
Pentium dispune și de un controler avansat de întreruperi (APIC – advanced programmable interrupt
con.)

2. Explicați mecanismul predicției adreselor salturilor (BTB).

Mecanismul predicției salturilor este un concept întiîlnit la majoritatea arhitecturilor performante de


calculatoare și a microprocesoarelor de viteză ridicată. Acest concept permite procesoarelor permite
decodificarea instrucțiunilor de după cele de salt pentru a nu goli calea de date în banda de
asamblare la execuția instrucțiunilor de salt. Unitatea de extragere și decodificare a instrucțiunilor
utilizează un algoritm de predicție optimizat pentru anticiparea direcției fluxului de instrucțiuni prin
nivele multiple de salturi, apeluri la proceduri și reveniri din proceduri.

3. Explicați analiza dinamică a fluxului de date

Analiza dinamică a fluxului de date implică analiza în timp real a fluxului datelor prin procesor
pentru a determina dependența datelor și a registrelor și pentru a detecta posibilitatea execuției
instrucțiunilor într-o ordine diferită de cea specificată în program. Unitatea de expediere și execuție
a instrucțiunilor poate monitoriza simultan mai multe instrucțiuni și poate executa aceste instrucțiuni
într-o ordine în care se optimizează utilizarea unităților multiple de execuție ale micro arhitecturii,
menținînd în același timp integritatea datelor asupra cărora se operează. Această ordine de execuție
asigură ocuparea unităților de execuție chiar și atunci cînd apar dependențe între datele
instruncțiunilor.

4. Explicați execuția speculativă

Execuția speculativă se referă la posibilitatea de a executa instrucțiuni aflate înaintea instrucțiunii


adresate de contorul de program și de a furniza rezultatele în ordinea șirului inițial de instrucțiuni.
Pentru ca execuția speculativă să fie posibilă, microarhitectura familiei de procesoare P6 separă
expedierea și execuția instrucțiunilor de producerea rezultatelor. Unitatea de expediere și execuție a
instrucțiunilor utilizează analiza fluxului de date pentru a executa toate instrucțiunile din rezervorul
de instrucțiuni și de memora rezultatele în registre temporare. Unitatea de retragere a instrucțiunilor
caută apoi instrucțiunile care au fost executate și dacă se găsesc de acestea, unitatea de retragere
depune rezultatele în memorie sau în registrele microarhitecturii și le retrage din coada de
instrucțiuni.
5. Explicați tehnologia Hyper-threading.
În microprocesor a fost implementată tehnologia Hyper-threading, ce permite execuția a
două fluxuri de instrucțiuni de un singur nucleu fizic. Sistemul de operare, ce susține tehnologia
Hyper-threading, determină existența a două procesoare logice (Logical procesor). Fizic, fiecărui
procesor logic îi sunt alocate setul său de regiştri și un controler de întreruperi (APIC), iar restul
componentelor ale procesorului sunt utilizate în comun. Potrivit Intel, utilizarea acestei tehnologii,
majorează viteza de execuție cu 15-30%.

Următoarele elemente structurale implementate:

 adoptarea unei arhitecturi Hyper Pipeline cu 20 de segmente de procesare a instrucţiunilor


(dublu faţă de varianta P6), fapt ce a majorat frecvența procesorului – de la 1,4 Ghz (3,2
Ghz în Pentium 4 Extreme Edition);
 a fost extinsă memoria cache L2 - 512 KB și L3 – pînă la 2МB (Pentium 4 Extreme Edition),
iar transferurile între memoriile cache au ajuns la o rată de transfer de 48 GB/s;
 a fost introdusă o memorie cache pentru microinstrucțiuni, volum 12000 microinstrucțiuni;
 setul de instrucțiuni SSE2 a fost extins prin adăugarea a 144 instrucţiuni SIMD noi şi
extinderea lăţimii datelor prelucrate la 128 biţi (16 octeţi prelucraţi în paralel);
 a fost majorată rata de transfer între microprocesor și controlerul memoriei la 3,2 GB/s (La
P6 – maximum 1,06 GB/s).
 proces tehnologic utilizat de 130 nm.

6. Explicați Tehnologia Macro Fusion

Tehnologia Macro Fusion constă în fuziunea a două instrucțiuni x86 (și cîteva microinstrucțiuni x86
– Fusion) într-una singură. Unele perechi de instrucțiuni (de exemplu compararea și de salt
condiționat) la decodificare pot fi fuzionate și utilizate ulterior ca o singură microinstrucțiune. Fără
utilizarea tehnologiei Macro Fusion, procesorul (cu 4 UE) poate decodifica pînă la 4 instrucțiuni.
Macro Fusion permite fuzionarea a două dintre ele. Astfel, microprocesorul poate decodifica 5
instrucțiuni.

7. Explicați Tehnologia Turbo Boost

Tehnologia Turbo Boost permite automat ca nucleele procesorului să poată funcționa cu o frecvență
mai înaltă decît cea nominală, doar dacă procesorul lucrează în cadrul limitelor de putere, curent și
temperatură, conform TDP (Thermal Design Power).

8. Descrieți modelul program IA-32.


Registre de uz general
Spatiul 2 36-1 ( 2 32-1)
31 15 0
de
ax
eax adresare
ah al
i 486/ Pentium
bx Pentium PRO/II/III/IV
ebx
bh bl
cx Stiva
ecx ss: esp
ch cl
dx
edx 0
dh dl
ebp bp cs
ss
esi si Registre de
ds segment
edi di es
esp sp fs
gs
Registrele coprocesorului st(7)-st(0)
79 63 0 Registre de stare si control
st(0) mmx0
st(1) mmx1 Registrul de fanioane
st(2) mmx2 eflags flags
st(3) mmx3 31 15 0
mmx4 Registrul indicator de instructiuni
st(4)
st(5) mmx5 eip ip
st(6) mmx6 31 15 0
st(7) mmx7
Registrele extensiilor MMX Registre de sistem
(mmx7-mm0)
(Pentium MMX/II-IV)
127 0
xmm0
xmm1
xmm2
xmm3
xmm4
xmm5
xmm6
xmm7
Registrele extensiilor MMX in virgula mobila
(Pentium III /IV)

Figura 5.1 Modelul program IA-32

Tabelul 5.1

RF Fanionul reluare 16 Se foloseşte la prelucrarea întreruperilor provenite de la


(Resume Flag) registrul de reglare

VM Fanionul 17 Indicatorul funcţionării microprocesorului în mod virtual


modului virtual 8086:
8086 (Virtual
1 —microprocesorul funcţionează în modul virtual 8086
8086 Mode)
AC Fanionul 18 Destinat controlului alinierii
0 — microprocesorul la adresarea
funcţionează memoriei
în modul real
alinierii

(Alignment
Check)
VIF Fanionul 19 În modul virtual este analogic fanionului if. Fanionul vif se
foloseşte împreună cu fanionul vip. A fost introdus în
Întreruperii
Pentium.
Virtuale

(Virtual
Fanionul 20 Se setează în 1 pentru indicarea întreruperii amânate. Se
VIP
Interrupt Flag) foloseşte în modul V împreună cu fanionul vif. Introdus la
Întreruperii
Pentium.
Virtuale
amânate
ID Fanionul
(Virtual 21 Indică susţinerea instrucţiunii cpuid.
Interrupt
identificării
Pending flag)
(IDentification
flag)

?9. Descrieți modelul program AMDx86-64 (Intel EM64T).


Operanzii folosiţi de microprocesoare operează cu date de diferite tipuri:

 Numere întregi (cu sau fără semn) mărime de Byte, cuvânt (16 biţi), cuvânt dublu (DWord, 32
biţi), cuvânt din 4 Byte (QWord, 64 biţi), cuvânt din10 Byte (TB, 80 biţi) şi cuvânt din 16
Byte (DQWord, 128 biţi);
 Biţi, câmpuri de biţi, şiruri de biţi;
 Numere în virgulă mobilă (FP) mărime 32, 64, 80 biţi.
Posibilitatea de a folosi operanzi lungi (64 şi 128 biţi) a apărut în microprocesoarele cu extensiile
MMX şi XMM. Maximal de rapid microprocesorul procesează datele ce se află în regiştrii săi
interni. Componenţa regiştrilor la care au acces aplicaţiile este prezentată în figura 5.2.

Notaţiile regiştrilor pe 64 biţi încep cu litera R.

Microprocesoarele includ un set de regiştri de sistem ce nu sunt folosite de aplicaţii (în figură nu
sunt prezentaţi). La ei se referă regiştrii de adrese de sistem, regiştrii de control, regiştrii pentru
reglări şi testări. Un şir din aceşti regiştri sunt specifici (Model-Specific Registers, MSR), ce sunt
destinate controlului reglărilor, monitorizării productivităţii, controlului efectuat de microprocesor,
gestionarea memoriei cache ş.a. Componenţa lor diferă la diferite microprocesoare, accesul este
privilegiat.
Registre de uz general Registrele blocului FPU/MMX Registrele blocului XMM
63 31 15 0 79 63 0 127 0
RAX eax ah ax al st(0) mmx0 xmm0
RBX ebx bh bx bl st(1) mmx1 xmm1
RCX ecx ch cx cl st(2) mmx2 xmm2
RDX edx dh dx dl st(3) mmx3 xmm3
RBP ebp bp st(4) mmx4 xmm4
RSI esi si st(5) mmx5 xmm5
RDI edi di st(6) mmx6 xmm6
RSP esp sp st(7) mmx7 xmm7
R8 15 0 xmm8
R9 cs xmm9
R10 xmm10
ss xmm11
R11 Registre de
R12 ds segment xmm12
R13 xmm13
es xmm14
R14
R15 fs xmm15
gs

63 31 15 0
RFLAGS eflags flags Registrul de fanioane Registre de sistem
RIP eip ip Registrul idicator de instrucţiuni 8086/x86-64

Figura 5.2 Regiştrii microprocesoarelor х86-64

10. Definiți modurile de funcționare a microprocesoarele pe 32 biţi.


Microprocesoarele pe 32 biţi pot funcţiona în unul din următoarele moduri:

 Modul de adresare reală (real address mode), sau modul real (real mode), compatibil cu modul
8086. În acest mod este posibilă adresarea până la 1 MByte de memorie fizică.
 Modul virtual protejat de adresare (protected virtual address mode), sau modul protejat
(protected mode). În acest mod microprocesorul conectează mecanismele de segmentare şi
paginare. Mecanismul segmentării permite accesarea la un spaţiu de memorie virtuală până la
64 TByte. Practic este folosit numai mecanismul paginării care asigură accesul fiecărei sarcini
(task) la 4 GByte memorie virtuală. Implicit, adresele şi operanzii sunt pe 32 biţi. În modul
protejat microprocesorul poate executa instrucţiuni, inaccesibile în modul real, un şir de
instrucţiuni de transfer a controlului, prelucrare a întreruperilor sunt executate în mod diferit
de modul real.
 Modul virtual 8086 (Virtual 8086 Mode, V86) este un mod deosebit al modului protejat, în
care microprocesorul funcţionează ca 8086 (adresele şi datele pe 16 biţi). Pe un
microprocesor, în acest mod, pot fi executate în paralel câteva sarcini cu resurse izolate.
Totodată adresarea spaţiului fizic de memorie este gestionat de mecanismele de segmentare şi
paginare. Încercările de a executa instrucţiuni nepermise, ieşirea după limitele spaţiului de
memorie şi a spaţiului de intrare/ieşire permis sunt controlate de sistemul de protecţie. Mai
efectiv este modul virtual extins 8086 (Enhanced Virtual 8086 Mode, EV86) în care
virtualizarea întreruperilor este optimizată.
În modul de gestiune a sistemului (System Management Mode, SMM) microprocesorul accesează
un spaţiu de memorie izolat de alte moduri. Acest mod este folosit în scopuri de control şi reglare.
De exemplu, invizibil sunt executate funcţiile de control asupra alimentării, se emulează adresările
la dispozitive inexistente (emularea tastaturii şi mouse-lui PS/2 pentru usb

11.Definiți modurile de funcționare a microprocesoarele pe 64 biţi.


Pentru microprocesoarele х86-64 modurile enunţate sunt grupate şi grupa are denumire legacy
mode, dar a mai fost introdus un nou mod long mode cu două submoduri:

 Modul pe 64 biţi (64-bit mode) – acest mod susţine adresarea virtuală pe 64 biţi şi extensiile
registrelor pe 64 biţi. În acest mod este folosit numai modelul plat de memorie (un segment
comun pentru cod, date şi stivă). Implicit adresa este pe 64 biţi, a operanzilor – 32 biţi, dar cu
prefixul (REX) pot fi definiţi operanzi pe 64 biţi. A fost introdus un nou mod de adresare –
relativ la indicatorul de instrucţiuni. Acest mod este folosit de sistemele de operare (SO) pe 64
biţi la lansarea aplicaţiilor pe 64 biţi – este setat de SO pentru segmentul de cod a unei sarcini;
Modul de compatibilitate (compatibility mode) permite SO să execute aplicaţii pe 32 şi 16 biţi.

12.Explicaţi structura și destinația blocului FPU (coprocesor) din modelul program al


microprocesoarelor x86-64.

Registrele blocului FPU sunt destinaţi executării operaţiilor aritmetice, calcului principalelor funcţii
matematice (trigonometrice, exponente, logaritmi) ş.a. În diferite generaţii de microprocesoare acest
bloc era numit FPU (Floating Point Unit- unitatea de prelucrare în virgulă mobilă) , NPX (Numeric
Processor extension – extensie numerică a procesorului) sau coprocesor. Coprocesorul prelucrează 7
tipuri de date: numere întregi pe 16, 32, 64 biţi; numere în virgulă mobilă pe 32, 64, 80 biţi (format
FP) şi 18 numere în cod binar-zecimal (BCD). Aplicarea coprocesorului accelerează considerabil
viteza de calcul.

Registre de uz general Registrele blocului FPU/MMX Registrele blocului XMM


63 31 15 0 79 63 0 127 0
RAX eax ah ax al st(0) mmx0 xmm0
RBX ebx bh bx bl st(1) mmx1 xmm1
RCX ecx ch cx cl st(2) mmx2 xmm2
RDX edx dh dx dl st(3) mmx3 xmm3
RBP ebp bp st(4) mmx4 xmm4
RSI esi si st(5) mmx5 xmm5
RDI edi di st(6) mmx6 xmm6
RSP esp sp st(7) mmx7 xmm7
R8 15 0 xmm8
R9 cs xmm9
R10 xmm10
ss xmm11
R11 Registre de
R12 ds segment xmm12
R13 xmm13
es xmm14
R14
R15 fs xmm15
gs

63 31 15 0
RFLAGS eflags flags Registrul de fanioane Registre de sistem
RIP eip ip Registrul idicator de instrucţiuni 8086/x86-64

13. Explicaţi structura și destinația blocului MMX din modelul program al


microprocesoarelor x86-64.
Tehnologia MMX este orientată aplicaţiilor multimedia, grafica 2D/3D şi comunicaţiilor. Avantajul
principal al MMX constă în prelucrarea concomitentă a unui şir de date cu o instrucţiune – conform
tehnologiei SIMD (Single Instruction — Multiple Data). Tehnologia MMX prelucrează noi tipuri de
date împachetate în registre pe 64 biţi: 8 Byte, 4 cuvinte, 2 cuvinte duble, cuvânt pe 64 biţi. Aceste
date sunt prelucrate în registrele MMX0-MMX7, care reprezintă 64 biţi inferiori ai registrelor FPU
pe 80 biţi.
14.Explicaţi structura și destinația blocului XMM şi extensiilor SSE din modelul program al
microprocesoarelor x86-64.
Extensiile SSE (Streaming SIMD Extensions) sunt destinate accelerării prelucrării fluxurilor
mari de date în virgulă mobilă (FP). Extensiile fluxurilor de date sunt realizate pe baza registrelor
blocului XMM (8 registre pe 128 biţi la microprocesoarele pe 32 biţi, 16 - la microprocesoarele x86-
64).

Registrele XMM prelucrează următoarele tipuri de date:

 4 numere în virgulă mobilă cu precizie unitară (32 biţi);


 2 numere în virgulă mobilă cu precizie dublă (64 biţi);
 Numere întregi: 16 Byte, 8 cuvinte, 4 cuvinte duble sau 2 cuvinte pe 64biţi (numai în SSE2)
În procesoarele Pentium III este aplicat setul SSE, în Pentium 4 – SSE2 destinat pentru
prelucrarea datelor în grafica 3D, codificarea/decodificarea video, cifrarea datelor. Apoi a fost
aplicată şi extensia SSE3, iar în procesaorele moderne și SSE4.2. Blocul XMM şi seturile SSE1,
SSE2, SSE3 sunt aplicate şi în microprocesoarele AMD

15. Definiți noţiunea "adresarea segmentată".


Există deci două modalităţi principial diferite de a trata memoria:

- Adresarea liniară, care presupune accesul în memorie în mod continuu de la adresa 0 la adresa 2n-
1
, unde "n" este numărul de biţi ai unei adrese (sau, fizic, numărul de linii ai magistralei de adrese).

- Adresarea segmentată, în care memoria este divizată logic în porţiuni numite segmente, în
interiorul cărora adresarea este liniară. Orice localizare în memorie se face relativ la baza
segmentului iar fixarea fizică a bazei unui segment este transparentă utilizatorului. Am prezentat
deja, pentru 8086, mecanismul segmentelor de dimesiune fixă, noţiunea de adresă logică precum şi
translatarea ei în adresă fizică.

16. Explicați conceptul de memorie virtuală.


Conceptul de memorie virtuală se bazează pe ideea separării memoriei logice a utilizatorului de cea
fizică și extinderea memoriei logice prin stocare imaginii sale pe hard disc. Fiecare program la
execuție, nu este obligatoriu să fie stocat întreg în memoria RAM, ci doar o secvență de cod și
date, executate la un moment dat. Apare, în mod firesc, ideea de a extinde spațiul de memorie
logică, care poate fi realizat cu mult mai mare decât memoria fizică. Acesta este principiul de bază
al organizării memoriei virtuale.

17. Explicaţi conceptul "multitasking".


Un alt concept este acela de multiprocesare (concurenţă, multiprogramare, "multitasking") care se
referă la capacitatea calculatorului de a executa mai multe procese ("task-uri") simultan aceasta se
realizează prin comutarea, secvenţială, de la o secvenţă de instrucţiuni a unui proces (task) la altă
secvenţă aparţinând altui proces şi aşa mai departe, apoi se comută din nou la prima secvenţă etc.
Tot acest mecanism este transparent utilizatorului care are impresia desfaşurării simultane a mai
multor procese (aceasta poate însemna, eventual, mai mulţi utilizatori, sau un singur utilizator care
are nevoie de mai multe procese simultan). Ideea nu trebuie să surprindă: este firesc ca într-un
sistem cu o memorie virtuală de mari dimensiuni (la Pentium ajunge la 64TB), organizată logic într-
o multitudine de segmente, să fie loc pentru mai multe procese.

18. Menţionaţi trei aspecte ale mecanismului protecţiei.


 Controlul informaţiei (coduri sau diverse tipuri de date);
 Izolarea utilizatorilor unul faţă de altul (protecţia "inter-task");
 Izolarea software-ului de sistem de cel de aplicaţii (protecţia "intra-task").

19. Explicaţi procedeul "swapping tasks".


Segmentarea memoriei şi multiprocesarea încurajează un procedeu de a rula procese ce au nevoie de
resurse importante de memorie, în memorii fizice cu mult mai reduse. Acest deziderat se realizează
prin procedeul denumit interschimbarea locului proceselor ("swapping tasks"), care constă în
trimiterea provizorie în memorie a proceselor (sau a unor părţi componente dintr-un proces) din
memoria internă în cea externă, dacă acel proces (sau acea parte din el) nu este în execuţie la un
moment dat. Schimbarea locului între memoria internă şi cea externă se poate face de câte ori este
necesar pentru a menţine continuu în memoria internă doar strictul necesar bunei desfaşurări a unei
acţiuni.

20. Structura adresei virtuale pentru PentiumIV.


Adresa virtuală pentru pentium IV, ca şi adresa logică, are pentru utilizator două părţi
componente:

 adresa efectivă (sau offsetul ădresei virtuale);


 selectorul, care înlocuieşte adresa segment.
Adresa efectivă este adresa în interiorul segmentului şi utilizatorul trebuie să o conceapă ca fiind
relativă la baza unui segment predefinit. Adresa efectivă este precizată de modul de adresare aferent
instrucţiunii care o utilizează.

Selectorul se află, ca şi în cazul adreselor logice, tot într-un registru segment. Noutatea constă în
faptul că definirea segmentului asociat unui selector nu se mai face direct (ca în cazul
microprocesorului Intel 8086) ci prin mecanismul adresării indirecte.

Microprocesorul are următoarele particularităţi:

- Adresa virtuală este o adresă pe 48 de biţi:


AV ≡ adr48

- Adresa efectivă este o adresă pe 32 biţi:


AE ≡ adr32

Aceasta impune dimensiunea maximă a unui segment la 232 B = 4 GB.

21.Explicați schema generării adresei fizice în microprocesoarele pe 32 biţi, în mod protejat.


În mod protejat adresa de bază se încarcă din descriptor, ce se află într-un tabel de descriptori,
selectat de selectorul ce se află în registrul de segment utilizat. Adresa fizică este formată după
translatarea adresei lineare cu ajutorul unităţii de paginare. Adresa se plasează pe magistrala externă
a procesorului. Când unitatea de paginare este deconectată adresa fizică coincide cu cea lineară.
Unitatea de paginare activată translatează adresa lineară în cea fizică ce localizează pagini de 4
KByte (2 sau 4 MB). Unitate de paginare poate fi activată numai în modul protejat.

22.Explicați schema generării adresei fizice în microprocesoarele cu extensii pe 64 biţi, în


mod pe 64 biţi.
În modul pe 64 biţi segmentarea nu se foloseşte : aplicaţiile operează cu adrese virtuale lineare. Din
registrele de segment procesorul utilizează numai registrele CS, FS şi GS. În descriptorul indicat de
CS sunt utilizate numai atributele: indicatorul modului pe 64 biţi, implicit mărimea operandului şi
nivelul de privilegii.

În microprocesoarele cu extensii pe 64 biţi, adresa lineară este limitată la 48 biţi, iar adresa fizică
până la 52 biţi.

23.Explicaţi structura descriptorului (Pentium) (fig).


Descriptorul constituie elementul de bază în definirea infomiaţiilor legate de segmentarea şi
gestionarea memoriei virtuale precum şi de mecanismul protecţiilor proceselor. Descriptorii sunt
folosiţi pentru o coerenţă maximă în descrierea celor mai diferite entităţi informaţionale. Astfel,
există următoarcle tipuri de descriptori: a) Descriptorii segmentelor care permit identificarea
segmentelor uzuale de lucru (de programe şi/sau de date).

b) Descriptorii speciali de control care sunt, la rândul lor, de mai multe feluri: 1)
Descriptorii segmentelor de sistem, segmente care sunt folosite de microprocesor în
mecanismul gestionării memoriei.
2) Descriptorii "segmentelor de stare a proceselor" prin care se poate implementa
mecanismul multiprocesării.

3) Descriptorii "porţilor" (Gate) folosiţi în mai multe tipuri de acţiuni:

protecţia multi-nivel, multiprocesarea, răspunsul la cererile de


întreruperi.

Cei 8B ai descriptorului au următoarele semnificaţii:

 Octeţii 0, 1 şi nibble-ul inferior ai octetului 6, conţin 20 biţi din


LIMITA segmentului selectat.
 Octeţii 2, 3, 4 şi 7 conţin 32 biți din BAZA (adresa fizică a bazei) segmentului selectat.
 Octetul 5 şi nibble-ul superior ai octetului 6, este câmpul ATRIBUTE, cu diverse informaţii
despre segment pe care le vom detalia în continuare.
În ceea ce priveşte câmpul ATRIBUTE, notăm următoarele semnificaţii (începând cu octetul 5);

 Bitul 7, notat cu P, are rolul de a indica dacă segmentul este "prezent" în memoria fizică (P =
1) sau nu (P = 0).
 Biţii 6 şi 5 formează "Nivelul de privilegiu al descriptorului" (DPL) şi este folosit în
mecanismul protecţiei multi-nivel.
 Bitul 4, notat cu S, este folosit, aşa cum arătam deja, pentru a distinge între segmentele
normale de lucru (S=1) sau segmentele speciale de sistem (S=0).
În acest ultim caz, configuraţia nibble-ului inferior este 0010 (informaţie prezentată succint cu
codificarea tip = 2) care indică faptul că descriptorul defineşte în spaţiul adreselor globale o LDT.

Pentru segmentele obişnuite, semnificaţia biţilor inferiori este:

 Bitul 3, notat cu E, indică un segment executabil (E=1), adică un segment de program, sau un
segment pentru date (E = 0).
În funcţie de această ultimă clasificare, următorii trei biţi au semnificaţii diferite:

a) Pentru segmentele de program:

 Bitul 2, notat cu C, este folosit de mecanismul protecţiei multi-nivel pentru a introduce o


excepţie în modul de acces al acestui tip de segment.
 Bitul 1, notat cu R, indică, pentru R = 1 că segmentul poate fi şi citit nu numai executat.
Bitul 0, notat cu A, semnifică "accesat". Ne vom opri puţin mai în detaliu asupra acestui bit,
deoarece microprocesoarele Intel îl folosesc în cadrul unui procedeu cu o aplicabilitate mult mai
generală. Procedeul poartă numele de Strategia "LRU- Least Recently Used” " ("cel mai puţin
utilizat") şi ajută sistemul de operare să decidă ce segment este mai puţin utilizat pentru a fi trimis în
memoria externă a calculatorului, în aşteptare. Astfel A este setat ori de câte ori se face referire la
descriptorul care îl conţine; periodic A este resetat de sistemul de operare, orice resetare efectivă
incrementând un contor. Segmentul al cărui contor asociat este minim va fi ales ca "victimă" pentru
a aştepta în memoria externă.
b) Pentru segmentele de date:

 Bitul 2, notat acum cu ED (prescurtarea de la "expanded down"), indică dacă segmentul de


date este folosit ca stivă.
- pentru ED= 0 - segment de date;

- pentru ED=1 - stivă.

 Bitul 1, notat acum cu W, indică, pentru W = 1, dacă segmentul de date poate fi şi "înscris"
nu numai citit.
 Bitul 0, notat cu A, are aceeaşi semnificaţie ca şi pentru segmentele de program, fiind folosit
în cadrul "Strategiei LRU".
Se impun câteva observaţii:

 Dimensiunea adresei fizice a bazei segmentului indică o locaţie în harta memoriei fizice de 4
GB.
 Câmpul LIMITA indică o dimensiune maximă de 220 = l M cuante de informaţie. Numai că
această cuantă poate fi octetul sau pagina (în dimensiune fixă de 4 kB).
Acest tip de organizare a memoriei este indicat de bitul 7 al octetului 6, bit notat cu G
("granularitate"). Pentru G = 1, Pentium foloseşte mecanismul paginării. Se observă că în cazul
granularităţii pe octet segmentele au maximum 1 MB, iar în cazul granularităţii pe pagină,
segmentele ating dimensiunea maximă de 4 GB.

Ceilalţi trei biţi din octetul 6 au următoarele semnificaţii:

 Bitul 6, notat cu D/B (D pentru date şi B pentru coduri), indică pentru D/B = 1 că se lucrează
cu operanzi pe 32 de biţi, cu toate modurile de adresare care îi sunt caracteristice. Pentru D/B
= 0, se lucrează cu operanzi pe 16 biţi şi cu segmente de maximum 64 kB.
 Bitul 5 este 0 pentru compatibilitate cu descendenţii familiei Intel.
 Bitul 4, notat cu AVL este la dispoziţia utilizatorului ("disponibil").

24. Explicaţi mecanismul translatării adresei virtuale (Pentium) pentru spaţiile adreselor
globale (TI=0) (fig).
Mecanismul de translatare porneşte de la cele două entităţi informaţionale din adresa virtuală
(selector și adresa efectivă):

 Selectorul furnizează, la rândul său, următoarele informaţii:


1) Prin intermediul lui TI se identifică tipul de tabelă.
2) Câmpul INDEX este multiplicat cu 8 (un descriptor are 8B) şi se obţine poziţia relativă faţă
de baza tabelei, identificându-se astfel un descriptor din tabelă.
Din descriptor se extrage:

a) Adresa fizică a bazei segmentului ("BAZA") pe 4 octeţi.

b) Dimensiunea segmentului vizat ("LIMITA") pe 20 de biţi.

 Adresa efectivă se adună la BAZA obţinută indirect cu ajutorul selectorului (aşa cum arătam
mai sus) obţinându-se astfel adresa fizică (AF) a informaţiei din segmentul vizat. Concomitent
se verifică dacă dimensiunea prestabilită a segmentului nu este depăşită:
AE  LIMITA

Mecanismul translatării adresei virtuale (TI=1) este dat în


Figura 6.6.

Stabilirea bazei tabelei de descriptori depinde de tipul de


tabelă: în spaţiul adreselor globale sau locale.

În spaţiul adreselor globale, GDT are o modalitate mai


simplă de definire: fiind unică, baza şi lungimea sa sunt
stocate într-un registru intern al microprocesorului: "Registrul
tabelei de descriptori globali" (GDTR). Accesul la acest
registru este asigurat de instrucţiuni privilegiate, astfel încât un
utilizator obişnuit să nu poată avea acces la redefinirea acestei
tabele (reamintim că GDT este folosită de toate procesele, inclusiv de sistemul de operare).

25. Explicaţi mecanismul paginării (folosind adresa liniară) aplicat la Pentium (fig).
Mecanismul paginării (pagini pe 4K) are următoarele elemente esenţiale:

 Se utilizează două nivele de adresare indirectă cu memoria, astfel încât, până să se ajungă la
pagina propriu-zisă, se face o referinţă într-un "director" din care se selectează o "tabelă a
paginilor".
 Toate obiectele din memorie implicate (directorul şi tabelele) sunt tratate la rândul lor ca nişte
pagini speciale; deci au toate mărimea fixă de 4 kB. Se păstrează astfel principiul coerenţei
informaţiei în memorie (ca şi în cazul segmentelor).
 Atât directorul cât şi tabelele de pagini au structură uniformă fiind formate din 1 k "elemente"
de câte 4 octeţi. Senmificaţia informaţiei din aceste elemente va fi detaliată în cadrul acestui
subcapitol. Ne limităm să menţionăm acum că aici se găseşte adresa bazei tabelei şi respectiv a
paginii selectate.
 Orice adresă a bazei unei tabele sau a unei pagini este dată pe 20 de biţi, aceştia constituind
partea mai semnificativă a adresei fizice vizate. Toate blocurile în memorie sunt "aliniate" din
4 kB în 4 kB, deci, automat cei mai puţin semnificativi 12 biţi ai adreselor fizice ale bazelor
sunt 0.
 Adresa fizică a bazei directorului se află într-unul din registrele de control ale
microprocesorului CR3 (Page Directory Physical Base Address) (desigur şi aici cei mai puţin
semnificativi 12 biţi ai adresei sunt 0).

26. Explicaţi mecanismul memoriei “cache” (TLB) (fig).


Problema timpului necesar pentru accesul într-o pagină din memorie se rezolvă folosind
principiul general al memoriei asociative cache. Pentru a elimina stările suplimentare impuse de
mecanismul paginării, unitatea care se ocupă de aceasta conţine o astfel de memorie, adresabilă prin
conţinut, denumită TLB ("translation lookaside buffer"). Principiul este prezentat în figura 6.10.

Memoria conţine cele mai frecvent utilizate 32 de elemente din director şi tabelele paginilor. De câte
ori este necesar accesul într-o pagină, se verifică întâi TLB. Dacă aici se găseşte elementul vizat
(ceea ce se numeşte "cache hit"), translatarea se face citind adresa corespunzătoare din TLB, fără
timpii adiţionali de calcul şi căutare în tabele succesive. Reactualizarea TLB se face ori de câte ori
nu se gaseşte elementul cerut ("cache miss"). Evident TLB este complet reînnoit când CR3 este
încărcat cu o nouă adresă de bază a directotiilui. Intel ne asigură că în 98% dintre referinţele în
memorie, mecanismul de translatare este înlocuit cu simpla citire a adresei din TLB.

27. Destinaţia „Chipset”.


Chipset-ul constă din 2 circuite, fiecare cu destinație specială, notate - puntea de nord (North bridge)
şi puntea de sud (South bridge). Chipset-ul conține diferite controllere ce interconectează
componentele de pe placa de sistem. Pe placa de bază modernă Intel QM77, puntea de nord este
incorporată în circuitul microprocesorului.

28.Explicați principiul de funcționare a controllerului DMA (fig).


Controllerul DMA (DMA-direct memory access, acces direct la memorie) este un dispozitiv ce
asigură accesul direct la RAM a perifericelor, neutilizând registrii interni ai microprocesorului.

Cererea de acces este formulată pe un terminal specializat denumit, de regulă, "BUSRQ"


(cerere de magistrală). Are prioritatea maximă şi răspunsul aşteaptă doar terminarea ciclului maşină
curent.

Microprocesorul "îngheaţă" întreaga activitate internă; magistralele sale trec în "impedanţă înaltă"
iar controlul transferului de informație este preluat de controllerul DMA. Acesta facilitează
transferul informaţiei direct între memorie şi echipamente periferice

29.Definiţi noţiunea “interfaţă”.


Cuplarea echipamentelor periferice la un sistem de calcul presupune adaptarea semnalelor specifice
fiecărui echipament periferic la semnalele de pe magistrală si reglarea fluxului de date de
intrare/iesire între calculator si periferic şi aceste funcţii sunt efectuate de interfeţe.
30. Destinaţia tunelului în arhitectura HT.
Tunel (Tunnel) – dispozitiv cu 2 interfeţe HT; ele pot forma un lanţ (daisy chain), organizând o
magistrală logică. Lanţul de dispozitive se conectează la host (microprocesorul cu Host bridge), ce
asigură configurarea tuturor dispozitivelor şi gestionează funcţionarea HT.
31. Descrieţi tehnologia Hyper Transport (topologia, tunel, „cave”, structura magistralei HT).
Tehnologia (arhitectura) HyperTransport (HT) a fost proiectată ca alternativă arhitecturii bazate pe
magistrale şi punţi. Principala inovaţie – înlocuirea conectării prin intermediul magistralelor a
dispozitivelor periferice prin conectarea punct-la-punct (point-to-point) ce presupune transferuri de
date concomitent în ambele direcţii între 2 noduri (Prin această tehnologie se majorează
considerabil viteza de transfer a datelor.Puntea de bază (host bridge) asigură legătura cu nucleul
sistemului – microprocesorul şi memoria. Controllerele perifericelor, ce necesită rate înalte de
transfer de date sunt realizate în formă de tuneluri HT (HT Tunnel).
Caracteristicile principale ale tunelului sunt:
 Interfaţa HyperTransport pe 16 biţi (Side A) oferă o rată maximală de transfer (lăţime de
bandă) – până la 6,4 GB/s;
 Interfaţa HyperTransport pe 8 biţi (Side B) oferă o rată maximală de transfer – până la 1,6
GB/s.

32. Magistrala PCI (Configurarea; comentați diagrama transferului de date pe magistrala


PCI).
Dispozitivul PCI poate fi multifuncţional, adică constă din mai multe funcţii. Fiecărei funcţii se
atribuie un spaţiu de configurare de 256 bytes (Standardul PCI determină pentru fiecare slot spaţiu
de configurare de pînă la 256 registre (pe 8 bits), ce nu se referă la spaţiul de memorie şi nici la
spaţiul de intrare/ieşire). Accesul la acestea registre se petrece în faze speciale ale magistralei
Configuration Read şi Configuration Write. Numărul funcţiei (function number), în tranzacţiile de
configurare este transmis pe liniile AD[10:8] (liniile AD[0:7] adresează registrii din interiorul
dispozitivului PCI). Deci dispozitivul poate încorpora pînă la 8 funcţii. La configurare se adresează
funcţia cu numărul “0”.

La o magistrală PCI pot fi conectate cîteva dispozitive fiecare cu numărul său (device number). În
sistemă pot fi cîteva magistrale PCI, fiecare cu numărul său (PCI bus number). Magistralele se
numerotează consecutiv.

33. Magistrala serială PCI Express (topologia, structura legăturii punct la punct, ”data
stripping”, protocolul).
Topologia unui sistem bazat pe magistrala PCI Express conţine un comutator şi mai multe
conexiuni punct la punct cu dispozitivele de I/E. Nivelul fizic are la bază o legătură punct la punct
formată din două canale de comunicaţie simplex, unul pentru transmisie şi unul pentru recepţie.
Legătura fizică de bază (Figura 7.10) utilizează 4 conexiuni între două dispozitive, semnalele
transmise fiind diferenţiale şi având tensiuni reduse (LVDS - Low Voltage Differential Signaling).

Nivelul legăturii de date adaugă numere de secvenţă şi coduri CRC acestor pachete pentru a
asigura un transfer fiabil. Semnalul de ceas este codificat împreună cu datele pentru a obţine rate de
transfer ridicate.
Figura 7.10 – Structura legăturii puct la punct

34. Structura magistralei ATA (IDE).


Standardul ATA prevede opţiunea de funcţionare a sistemului cu două unităţi conectate în lanţ.
Prima unitate (unitatea 0) este numită master, iar unitatea a doua (unitatea 1) este numită slave. O
unitate poate fi desemnată fie ca master, fie ca slave, prin aşezarea unui jumper sau comutarea unui
microîntrerupător.

Cablul utilizat (Figura 7.13) pentru conectarea unităţilor IDE este un cablu cu 40 de fire,
prevăzut cu trei conectori.

De obicei, cablul pleacă de la conectorul IDE către o unitate, şi apoi în continuare spre a doua
unitate (dispunere în lanţ). La unul din capete cablul este legat fie la conectorul pentru interfaţa IDE
de pe placa de bază, fie la o placă adaptoare pentru interfaţa IDE, care este amplasată într-unul din
conectorii plăcii de bază.

35. Structura magistralei SATA.


Magistrala constă din 7 fire (figura 7.14), dintre care 4 sunt informaţionale şi 3 pentru conectare la
masă (Ground). O pereche de fire se foloseşte pentru transferuri, iar alta pentru recepţia datelor.
Informaţia se codifică după metoda NRZ (Non Return to Zero).

36. Caracterizați magistrala SCSI.


Interfaţa SCSI (Small Computer System Interface) SCSI nu este o interfaţă de disc, ci o interfaţă la
nivelul sistemelor, formată dintr-o magistrală care acceptă mai multe echipamente. Unul din aceste
echipamente, adaptorul cu sistemul gazdă, funcţionează ca o punte între magistrala SCSI şi
magistrala sistemului. Magistrala SCSI nu comunică direct cu echipamentele periferice, cum sunt
unităţile de discuri, ci cu controllerul care este inclus în aceste unităţi.

O singură magistrală SCSI poate accepta până la 8 sau 16 unităţi fizice, numite unităţi SCSI,
dintre care una este adaptorul SCSI. Unităţile fizice pot fi unităţi de discuri fixe, unităţi de bandă,
unităţi CD-ROM, scanere, imprimante. Majoritatea sistemelor pot accepta până la patru adaptoare
SCSI la sistemul gazdă, fiecare din acestea permiţând cuplarea a până la şapte echipamente
periferice, conectate în lanț.

SCSI este o interfaţă destinată în special staţiilor de lucru şi serverelor cu performanţe ridicate.
La prima versiune a interfeţei SCSI, frecvenţa de ceas a magistralei era de 5 MHz, iar rata maximă
de transfer era de 5 MB/s. La versiunile actuale ale acestei interfeţe, frecvenţa de ceas a magistralei
este de 80 MHz sau 160 MHz, iar ratele maxime de transfer sunt de 320 MB/s, respectiv 640 MB/s.

Pe lângă aceste versiuni paralele ale interfeţei SCSI, a fost elaborată şi o versiune serială a interfeţei.
Această interfaţă SCSI serială, numită Serial Attached SCSI, va înlocui treptat interfaţa SCSI
paralelă. Atât tehnologia SCSI paralelă, cât şi cea serială, sunt promovate de organizaţia SCSI Trade
Association. Există două tipuri principale de interfeţe electrice SCSI: normale şi diferenţiale.

37. Caracterizați magistrala serială SCSI (SAS).


Serial Attached SCSI (SAS) reprezintă versiunea serială a interfeţei SCSI. Aceasta utilizează un
protocol serial punct la punct şi setul standard de comenzi SCSI. Interfaţa serială SAS oferă
compatibilitate cu unităţile de discuri SATA de generaţia a doua, care se pot conecta la plăci de bază
SAS. Totuşi, unităţile de discuri SAS nu se pot conecta la plăci de bază SATA. Interfaţa SAS este o
arhitectură punct la punct, cu fiecare echipament conectat direct la un port SCSI în loc de a fi
conectat la o magistrală partajată. Interfaţa SAS utilizează semnale diferenţiale, codificarea 8b/10b a
datelor şi cifrarea datelor pentru reducerea interferenţelor electromagnetice. Se pot combina până la
patru porturi cu aceeaşi adresă într-un port de lăţime mai mare, care permite transferuri de date cu
până la 24 Gbiţi/s.

38. Definiţi noţiunea hub (USB).


hub (usb) Cablul de comunicaţie constă din 4 fire: două sunt de date si două pentru alimentare (5V
si 0V). USB asigură schimbul de date între host-calculatorul şi diferite echipamente periferice.
Distribuirea vitezei de transfer a magistralei între echipamentele periferice sunt planificate de HOST
şi se realizează de el cu ajutorul indicatoarelor (token). Magistrala permite conectarea, configurarea,
folosirea şi deconectarea dispozitivelor în timpul lucrului hostulu

Un hub reprezinta un multiplicator a conectoarelor.

Hub-urile asigură puncte de conectare suplimentarea dispozitivelor la magistrală


39. Definiţi noţiunea ”compound device”.
(compound device...dispozitive care combina si imbina citeva functii si cabluri)
Ca dispozitive (Device) USB pot fi hub-uri (distribuitoare), funcţii sau dispozitive ce îmbină şi hub-
uri şi funcţii (compound device, figura 7.17). Hub-urile asigură puncte de conectare suplimentare a
dispozitivelor la magistrală. Funcţiile USB sunt nişte sisteme, de exemplu mouse ce susţine USB.
Dispozitive care combină câteva funcţii, (compound device, figura mai jos) de exemplu, keyboard cu
trackball încorporat.

Elementele principale ale unui sistem care utilizează magistrala USB sunt dispozitivele USB,
cablurile USB şi programele de sistem. Dispozitivele de pe magistrala USB sunt conectate fizic la
calculatorul gazdă utilizând o topologie sub formă de stea , după cum se ilustrează în Figura 7.17.

Figura 7.17 – Topologia fizică

40. Topologia magistralei USB pe nivele.


Topologia magistralei pe nivele
Figura 7.18 – Topologia magistralei pe nivele

Centrul magistralei USB este însăşi host-controlerul, care este conectat cu hub de rădăcină (root
hub), de regula, prin unul din două porturi ale sale

41. Divizarea sistemului USB pe trei nivele.


Sistema USB se divizează pe trei nivele cu anumite reguli de interacţiune. Dispozitivul USB
conţine interfaţa (USB Bus Interface), componentele logice (USB Logical Device) şi funcţia (function).
Hostul tot este divizat în trei părţi - interfaţa (USB Host Controller), de sistem (USB System) şi soft-ul
dispozitivului (Client SW). Fiecare parte are o destinaţie predefinită, interacţiunile logice şi reale între
nivele sunt prezentate în fig 7.21.

Figura 7.21 - Interacţiunea componentelor USB

42. Definiţi noţiunea Canal (Pipe) și ”endpoint” la USB.


Fiecare dispozitiv USB conţine un set de puncte finale (Endpoint), cu care host-controlerul realizează
schimb de informaţie. Endpoint se caracterizează cu următorii parametri:

 frecvenţa de acces la magistrală;


 lăţimea de bandă a canalului;
 numărul Endpoint
 cerinţe la prelucrarea erorilor
 mărimea maximală a pachetelor transferate
 tipul transferului
direcţia transferului (pentru transferul izocronic

Fiecare tranzacţie, constă din 3 pachete şi începe în momentul în care controlerul USB transmite,
pe baza unei planificări, un pachet antet (Token) care descrie tipul tranzacţiei, direcţia acesteia,
adresa dispozitivului USB şi numărul punctului terminal. Sursa tranzacţiei transmite apoi un pachet
de date (Data) conţinând datele care trebuie transferate, sau poate indica faptul că nu are date de
transmis prin faptul că pachetul de date nu conţine informaţii utile. Destinaţia răspunde, în general,
cu un pachet de confirmare (Handshake) indicând dacă transferul s-a efectuat cu succes sau dacă
punctul terminal nu este disponibil. Succesiunea pachetelor în tranzacţii este prezentată în fig. 7.32

Figura 7.32 - Succesiunea pachetelor

43. Magistrala USB (Funcţii şi hub-uri; trei nivele ale sistemului USB; modelul de transfer a
datelor; structura tranzacțiilor din 3 pachete).
Arhitectura USB permite patru tipuri de transferuri de date: de control, de întrerupere, de date
voluminoase şi izocrone.

Transferuri pe magistrala USB

Fiecare transfer pe magistrală este iniţiat de Host controler. Controlerul formează cadre în care
sunt plasate transferurile către fiecare dispozitiv conectat la magistrala USB. Pentru sincronizarea
întregului sistem USB, calculatorul gazdă transmite câte un pachet SOF (Start-of-Frame) la fiecare
interval de timp corespunzător începutului unui cadru sau micro-cadru. Un cadru reprezintă un
interval de timp de 1 ms ± 0,0005 ms şi este definit pentru magistrala USB cu viteza normală (12
Mbiţi/s). Un micro-cadru reprezintă un interval de timp de 125 μs ± 0,0625 μs şi este definit pentru
magistrala USB cu viteza ridicată (480 Mbiţi/s). Un pachet SOF constă dintr-un câmp de
sincronizare, un câmp PID şi un câmp de 11 biţi reprezentând numărul cadrului, după cum se
ilustrează . După pachetul SOF urmează transferul către primul dispozitiv conectat la magistrala
USB(pachetele IN/OUT, DATA, HANDSHAKE, ca pe fig. 7.33), apoi se petrece schimbul de date
cu dispozitivul doi(pachetele IN/OUT, DATA, HANDSHAKE), până nu este apelat ultimul
dispozitiv conectat la magistrală. Dispozitivele lente pot fi apelate şi peste câteva cadre. În
următorul cadru interogarea dispozitivelor se repetă.

În cazul magistralei USB cu viteza ridicată, numărul cadrului va fi acelaşi pentru opt pachete SOF
consecutive, pe durata unei perioade de 1 ms.

44. Magistrala USB (Funcţii şi hub-uri; tipurile de transfer a datelor; formatul pachetelor;
structura transferului de cadre pe magistrala USB).
Ca dispozitive (Device) USB pot fi hub-uri (distribuitoare), funcţii sau dispozitive ce
îmbină şi hub-uri şi funcţii (compound device, figura 7.17). Hub-urile asigură puncte de conectare
suplimentare a dispozitivelor la magistrală. Funcţiile USB sunt nişte sisteme, de exemplu mouse ce
susţine USB. Dispozitive care combină câteva funcţii, (compound device, figura mai jos) de
exemplu, keyboard cu trackball încorporat. O funcţie este un dispozitiv USB care poate transmite
şi/sau recepţiona date sau informaţii de control pe magistrală. Acest dispozitiv trebuie să răspundă la
cererile de tranzacţie transmise de calculatorul gazdă. O funcţie este implementată în mod obişnuit
ca un periferic separat conectat printr-un cablu la un port al unui hub. Un singur dispozitiv fizic
poate conţine însă funcţii multiple. De exemplu, o tastatură şi un trackball pot fi combinate într-un
singur dispozitiv fizic. În cadrul unui asemenea dispozitiv compus, funcţiile individuale sunt ataşate
la un hub, iar acest hub intern este conectat la magistrala USB.

Fiecare funcţie conţine informaţii de configuraţie care descriu posibilităţile sale şi resursele
necesare. Aceste informaţii sunt transmise calculatorului gazdă ca răspuns la o tranzacţie de control.
Înaintea utilizării unei funcţii, aceasta trebuie configurată de calculatorul gazdă. Această configurare
presupune alocarea unei lăţimi de bandă în cadrul magistralei USB şi selectarea opţiunilor specifice
de configuraţie.
Arhitectura Calculatoarelor 1
Evaluare 1. Întrebări
1 Explicați notiunea – compilator.
Program special care asigură traducerea în calculatorul electronic a unui program scris într-un nivel
înalt în limbaj de asamblare sau în limbaj de mașină.

2 Explicați notiunea – interpretor.


Translatează fiecare instrucţiune în limbajul de nivel înalt într-o succesiune de instrucţiuni maşină,
acestea fiind executate imediat. În acest caz nu se generează un program executabil. Viteza de
execuţie este însă redusă, deoarece fiecare instrucţiune trebuie interpretată chiar dacă ea este
executată în mod repetat.

3 Explicați notiunea – mașină virtuală.


Masina virtuala este un calculator imaginar, dotat cu un set de instructiuni ce constituie limbajul
(codul) virtual. Este un program de software cu functii speciale, care permite instalarea de sisteme
de operare multiple sau de programe diverse fara a mai fi necesara instalarea lor propriu-zisa pe
hard-disk.

4 Explicați diferența între compilare și interpretare.


– Compilare: codul sursă este translatat de un program denumit compilator în cod maşină, după care
poate fi executat
– Interpretare: un program este executat direct din cod sursă prin intermediul unui interpretor

5 Destinația registrelor generali (AX, BX, CX, DX, SP, BP, SI, DI).
Regiştrii de uz general sunt implicaţi în operarea majorităţii instrucţiunilor, drept operanzi sursă sau
destinaţie pentru calcule, copieri de date, pointeri la locaţii de memorie sau cu rol de contorizare.

6 Destinația registrelor segment.


Denumirile registrelor de segment sunt: CS-registru de segment de cod (code segment), DS-registru
de segment de date (data segment), SS-registru de segment de stivă (stack segment), ES-registru de
segment de date suplimentar (extra segment). regiştrilor de segment sunt în strânsă legătură cu
noţiunea de segmentare a memoriei. segmentare a memoriei presupune utilizarea unor adrese de
memorie formate din două părţi. Prima parte reprezintă adresa segmentului iar cea de-a doua
porţiune reprezintă adresa de deplasament, sau offset-ul.

7 Destinația registrului Flags.


Registrul indicatorilor de stare (FLAGS) pe 16 biţi conţine informaţii legate de starea
microprocesorului precum şi de rezultatele ultimilor instrucţiuni executate. Un indicator de stare
(flag) este în sine o locaţie de memorie de 1 bit ce indică starea curentă a microprocesorului şi
modalitatea sa de operare. Un indicator se spune că “este setat” dacă are valoarea 1 şi “nu este
setat” în caz contrar.

8 Destinația registrului IP.


Registrul pointer de instrucţiuni (IP – Instruction Pointer) este folosit, întotdeauna, pentru a stoca
adresa următoarei instrucţiuni ce va fi executată de către microprocesor. Pe măsură ce o instrucţiune
este executată, pointerul de instrucţiune este incrementat şi se va referi la următoarea adresă de
memorie.

9 Ce indică perechea de registre (CS:IP)?


va indica totdeauna adresa următoarei instrucţiuni care se va executa

10 Ce indică perechea de registre (SS:SP)?


indică totdeauna adresa vârfului stivei
Arhitectura Calculatoarelor 2
11 Formarea adresei fizice.
Formarea adresei fizice (pe 20 de biţi) este realizată automat (prin hardware) de către o componentă
a procesorului. Concret, adresa fizică se obţine prin deplasarea adresei de segment cu 4 biţi la
stânga şi prin adunarea deplasamentului. Pentru specificarea unei adrese complete (de 32 de biţi), se
foloseşte notaţia (segment:offset) sau (registru_segment:offset). De exemplu, putem specifica o
adresă prin (18A3:5B27) sau prin (DS:5B27).

12 Scrieți un program ce definește date pe 16, 64 și 80 biți.


INCLUDE Irvine32.inc
.data
variabila1 WORD 0
variabila2 QWORD 0
variabila3 TBYTE 8 DUP(0)
.code
main PROC
exit
main ENDP
END main

13 Scrieți un program ce definește date pe 8, 32 biți și în format BCD (împachetat, despachetat).


INCLUDE Irvine32.inc
.data
v1 BYTE 02h,03h ; 32 in format BCD neimpachetat
v2 BYTE 32h, 12h ; 1232 in format BCD impachetat
v3 dword 0123h,0222h ;222123 in format BCD neimpachetat
v4 dword 1235h,4567h ; 45671235 in format BCD impachetat
.code
main PROC
exit
main ENDP
END main
14 Numiți componentele funcționale ale unui calculator (hardware).
1. Unitatea centrala de prelucrare:
- prelucreaza datele din memoria interna
- controlul activităţii întregului calculator
2. MEMORIA - din punctul de vedere al sistemului pe care îl definim, o secvenţă de locaţii pentru
stocarea informaţiei. Dispozitivele de intrare/ ieșire (I/O) sunt constituite din circuitele prin care se
realizează legătura între calculator şi lumea exterioară.
3. Magistrala de control - permite circulaţia, bidirecţională, a semnalelor de comandă şi control de la/la
microprocesor, în calitatea sa de Unitate centrală.
Arhitectura Calculatoarelor 3

15 Explicați noțiunea – magistrală.- un set de conexiuni fizice între blocuri prin care informaţia care
circulă are o semnificaţie prestabilită.

16 Caracterizați circuitele RFID.


Această tehnologie presupune stocarea informaţiilor nu prin codurile de bare, ci prin intermediul
unor cipuri electronice integrate, de ex. în etichete, ecusoane, ambalaje de marfă, corpurile
animalelor etc. Aceste informaţii, ce reprezintă un cod unic din 128 biți, pot fi citite de la distanţă
de câţiva metri prin unde radio. Dimensiunea acestor circuite este mai mică de 0,5mm, costul fiind
de câțiva cenți. Circuitele nu utilizează surse de alimentare și pot stoca informația mult timp.

17 Caracterizați grupa de calculatoare – servere.


Un server este o un calculator, care operează continuu în rețeaua sa și așteaptă solicitări din partea
altor calculatoare din rețea, pentru a asigura accesul la toată paleta de forme de conectare și servicii.
Serverele deservesc resurse hardware care sunt partajate și pot uneori fi comandate de către
calculatoarele-client, cum ar fi imprimante (atunci serverul se numește print server) sau sisteme de
fișiere (atunci el se numește file server). Această partajare permite un acces și o securitate mai
bune. Cu toate că serverele pot fi construite, din comoditate, din componente obișnuite de
calculatoare, este necesar ca, pentru operații rapide și de mare amploare, serverele să folosească
configurații hardware optimizate pentru aceste cerințe. Cu toate că serverele oferă mult spațiu pe
disc, pentru mărirea siguranței în funcționare sunt folosite hard-discuri de capacitate redusă,
numeroase, interconectate în mod special.

18 Caracterizați grupa de calculatoare – mainframe.


Calculatoarele mainframe sunt calculatoare ce pot exploata volume imense de date şi pot suporta
lucrul a mii de utilizatori simultan. Un calculator mainframe se distinge mai ales prin capacitatea de
stocare şi memoria internă. El poate rula ani întregi fără întrerupere, Unele calculatoare pot rula mai
multe sisteme de operare simultan, operând astfel ca o mulţime de “maşini virtuale”. Preţul unui
astfel de calculator este de ordinul sutelor de mii de dolari. Este solicitat de companiile care
vehiculează şi prelucrează un volum foarte mare de informaţie

19 Clasificarea lui Flynn. Arhitectura SISD.


Instrucţiunile sunt executate secvenţial, însă pot exista suprapuneri între acestea dacă este
implementat conceptul de bandă de asamblare (pipeline) – majoritatea sistemelor SISD actuale
utilizează conceptul de bandă de asamblare. Calculatoarele SISD pot avea mai multe unităţi
funcţionale (ex: coprocesor matematic, procesor grafic, procesor de intrare/ieşire, etc.), însă acestea
sunt văzute ca o singură unitate de execuţie.

20 Clasificarea lui Flynn. Arhitectura SIMD.


Această categorie de arhitecturi cuprinde sistemele de calcul compuse din mai multe unităţi de
execuţie identice aflate sub comanda unei singure unităţi de control. Unitatea de control transmite
acelaşi flux de instrucţiuni, simultan, tuturor unităţilor de execuţie. Toate unităţile de execuţie
execută simultan aceeaşi instrucţiune asupra datelor din memoria proprie (există sisteme ce au şi o
memorie partajată pentru comunicaţii). Unitatea de control trebuie să permită tuturor elementelor de
procesare să-şi termine instrucţiunea curentă înainte de iniţierea unei noi instrucţiuni, astfel că
execuţia instrucţiunilor trebuie sincronizată între toate unităţile de execuţie. Ca şi ordin de mărime
numărul procesoarelor implicate într-o structură SIMD este de câteva mii.

21 Clasificarea lui Flynn. Arhitectura MISD.


Arhitecturile MISD au mai multe elemente de procesare, fiecare executând un set diferit de
instrucţiuni asupra unui singur flux de date. Acest lucru este realizabil în două moduri: acelaşi
element din fluxul de date este prelucrat de toate procesoarele, fiecare executând propriile operaţii
asupra respectivei date; un element din fluxul de date este prelucrat de primul procesor, rezultatul
obţinut este pasat mai departe celui de-al doilea procesor ş.a.m.d., formându-se astfel o macro-
bandă de asamblare.
Arhitectura Calculatoarelor 4
22 Clasificarea lui Flynn. Arhitectura MIMD.
Majoritatea sistemelor multiprocesor se pot încadra în această categorie. Un sistem de calcul
MIMD are mai multe elemente de procesare interconectate, fiecare având propria unitate de control.
Procesoarele lucrează fiecare asupra propriilor date executând asupra lor propriile instrucţiuni.
Sistemele MIMD pot avea şi memorie partajată. Operaţiile executate de fiecare procesor sunt
independente intre ele, deci modul lor de operare este asincron.

23 Explicați diferența între microprocesoarele CISC și RISC.


Procesoarele RISC au inaugurat un nou set de principii arhitecturale: setul deinstructiuni sa fie
simplu, instructiunile trebuie sa ruleze la cea mai mare viteza posibila, notiunea de pipeline este mai
importanta decit dimensiunea setului de instructiuni, tehnologia compilatorului este un element
critic intr-un proceso RISC. Punctele relevante ale arhitecturii RISC reprezinta si diferentele dintre
procesoarele CISC. Ca principiu, arhitectura RISC are mai multi registri generali, in timp ce CISC
are mai multi speciali.

24 Definiți noţiunile ”arhitectura scalară, superscalară”.


Microprocesoarele ce includ o Bandă de asamblare se numesc microprocesoare cu arhitectura
scalara,cele ce includ două şi mai multe - microprocesoare cu arhitectura suprascalară.

25 Explicați funcționarea unei benzi de asamblare cu 5 segmente.


Ciclul maşină „fetch”(Citirea instrucţiunii din cache sau din memoria internă);Decodificarea
instrucţiunii – decodifică în microinstrucțiuni;Generarea adresei pentru localizarea operanzilor în
memorie;Prelucrarea instrucţiunii în UAL;Înscrierea rezultatului ( unde va fi înscris rezultatul
depinde de formatul instucţiunii).Toate aceste segmente sunt executate în paralel. Din unitatea
„prefetch” instrucţiunea se transferă în unitatea pentru decodificarea instrucţiuni, şi unitatea
„prefetch” este liberă şi poate citi următoarea instrucţiune. Deci, în interiorul microprocesorului se
află 5 instrucţiuni în diferite segmente de execuţie. Aceste segmente formează o Bandă de
asamblare (pipeline). Segmentul 1 extrage instructiunea din memorie si o plaseaza într-un registru
tampon. Segmentul 2 o decodifica, determinându-i tipul si operanzii. Segmentul 3 localizeaza si
extrage operanzii, fie din registri, fie din memorie. Segmentul 4 executa instructiunea, de obicei
rulând operanzii prin calea de date, iar segmentul 5 scrie rezultatul în registri.

26 Explicați funcționarea unei benzi de asamblare duale cu 5 segmente.

Pentru a putea lucra în paralel, cele 2 instructiuni nu trebuie să-și dispute resursele (de exemplu
registrele) și nici una nu trebuie să depindă de rezultatul celeilalte. Fie compilatorul trebuie să
garanteze că ipoteza anterioara e respectată, fie conflictele sunt detectate și eliminate pe parcursul
execuției, cu ajutorul unui hardware suplimentar.

27 Explicați funcționarea unei benzi de asamblare cu 5 unități funcționale.


Arhitectura Calculatoarelor 5

Procesorul Pentium II are o structură asemănătoare (sunt și diferențe) cu cea din fig. 3.10. Unitațile
funcționale UAL din segmentul S4 pot executa instrucțiuni timp de un ciclu de ceas, iar cele care
accesează memoria sau care lucrează în virgulă mobilă (mai lente), au nevoie de mai mult timp
decât un ciclu de ceas pentru a-și executa funcția. După cum se poate observa, pot exista mai multe
unități funcționale în segmentul S4.

Assembler
1. Instrucţiunea mov word ptr [bx],0:
a) încarcă registrul bx cu valoarea 0
b) încarcă în locaţia adresată de bx valoarea 0 pe un octet
c) încarcă în locaţia adresată de bx valoarea 0 pe un cuvânt

2. Implementaţi Instrucţiunea xchg bx,cx folosind


stiva push bx
push cx
pop bx
pop cx
3. Implementaţi Instrucţiunea xchg bx,cx folosind instrucţiuni de tip
mov mov ax,cx
mov cx,bx
mov bx,ax
4. Instrucţiunea in al,71h:
a) încarcă în registrul al valoarea 71h
b) citeşte în registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
5. Instrucţiunea out 71h,al
a) încarcă în registrul al valoarea 71h
b) citeşte în registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
6. Instrucţiunea adc dest, sursă realizează operaţia:
a) sursă<--dest+ sursă
b) dest<--dest+ sursă
c) dest<--dest+ sursă+carry
d) sursă<--dest+ sursă+carry
7. Instrucţiunea add dest, sursă realizează operaţia:
a) sursă<--dest+ sursă
b) dest<--dest+ sursă
c) sursă<--dest+ sursă+carry
d) dest<--dest+ sursă+carry
Arhitectura Calculatoarelor 6
8. Instrucţiunea sub dest, sursă realizează operaţia:
a) sursă<--dest+ sursă
b) dest<--dest- sursă
c) dest<--dest+ sursă
d) sursă<--dest- sursă
9. Instrucţiunea sbb dest, sursă realizează operaţia:
a) sursă<--dest- sursă
b) dest<--dest- sursă
c) dest<--dest- sursă+carry
d) dest<--dest- sursă-carry
10. Instrucţiunea cmp dest, sursă realizează operaţia:
a) compara operanzii sursă si destinaţie prin aplicarea funcției logice "si"
b) compara operanzii sursă si destinaţie prin aplicarea funcției logice "sau"
c) compara operanzii sursă si destinaţie prin scădere.
11. Care este sintaxa corectă a Instrucţiunii dec?
a) dec dest, sursă
b) dec dest
c) dec
12. Care este sintaxa corectă a Instrucţiunii not?
a) not dest, sursă
b) not dest
c) not
13. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea shl al,3 se va obţine:

a) 00011001
b) 01001000
c) 00100100
d)11001000

14. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea shr al,3 se va obţine:

a) 00011001
b) 01001000
c) 00010010
d)11001000
15. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea rol al,3 se va obține:

a) 01001010
b) 01001110
c) 00111001
d)11001000

16. Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea ror al,3 se va obține:

a) 01001010
b) 01001110
c) 00111001
d)11001000
17. Dacă în val este stocată valoarea 0F000h, iar în registrul AX - 0F000h, după
Instrucţiunea shld val,ax,4 în val se va obține:
Arhitectura Calculatoarelor 7

a) 0FF00h
b) 00FFh
c) 0F00Fh
d) 000Fh

18. Dacă în val este stocată valoarea 0F000h, iar în registrul AX - 0F000h, după
Instrucţiunea shrd val,ax,4 în val se va obține:

a) 0FF00h
b) 00FFh
c) 0F00h
d) 0F0Fh

19. Care este starea indicatorului carry după Instrucţiunea rcl al,2 dacă în AL se afla 00100101?

CF de la etapa precedenta
a) 0
b) 1
20. Care este starea indicatorului carry după Instrucţiunea rcr al,2 dacă în AL se afla 00100101?

CF de la etapa precedenta
a) 0
b) 1
21. Dacă în AL avem 11011110, în urma instrucțiunii and al,0fh se obține valoarea:
a) 11011111
Arhitectura Calculatoarelor 8
b) 00001110
c) 11010001
22. Dacă în AL avem 11011110, în urma instrucțiunii or al,0fh se obține valoarea:
a) 11011111
b) 00001110
c) 11010000
23. Dacă în AL avem 11011110, în urma instrucțiunii test al,0fh se obține valoarea:
a) 11011111
b) 00001110
c) 11010001
d) 11011110
24. La instrucţiunile pentru manipularea şirurilor:
a) şirul sursă este pointat de ESI
b) şirul destinaţie e pointat de ESI
c) şirul sursă e pointat de EDI
d) şirul destinaţie e pointat de EDI
25. Se poate seta sensul de parcurgerea şirurilor de caractere?
a) Da
b) nu
c) uneori

26. Contorul pentru instrucţiunile cu şiruri se află în registrul:


a) AX
b) BX
c) CX
d) DX

27. Ce operaţie realizează Instrucţiunea MOVSB?


MOVSB(Move(copy)bytes)
Transfer pe 8 biţi, din zona de memorie indicată de ESI, în zona de memorie indicată de registrul
EDI. După transferul primului byte dacă flag-ul DF=0, se petrece autoincrementarea ESI←ESI+1;
EDI←EDI+1 (decrementare pentru DF=1).

28. Ce operaţie realizează Instrucţiunea CMPSB?


CMPSB(compare bytes)
Comparare pe 8 biţi, din zona de memorie indicată de ESI, cu zona de memorie indicată de registrul
EDI. După compararea primului byte dacă flag-ul DF=0, se petrece autoincrementarea ESI←ESI+1;
EDI←EDI+1 (decrementare pentru DF=1).

29. Ce operaţie realizează Instrucţiunea SCASB?


SCASB(SCAS- scan a string)
Instrucţiunile compară valoarea din AL/AX/EAX cu byte, din zona de memorie indicată de EDI.
Instrucţiunile sunt utile la căutarea unui singur element într-un şir.

30. Ce operaţie realizează Instrucţiunea LODSB?


LODSB(LODS- load accumulator from string)
Instrucţiunile încarcă valoarea din byte, din memorie idicat de ESI, în AL/AX/EAX respectiv.
Instrucţiunile sunt utile la căutarea unui singur element într-un şir.

31. Ce operaţie realizează Instrucţiunea STOSB?


STOSB(STOS-store string data)
Arhitectura Calculatoarelor 9
Instrucţiunile încarcă valoarea din AL/AX/EAX , în memorie cu offset-ul indicat de EDI.
Incrementarea se petrece conform flag-ului DF (DF=0- incrementarea, DF=1- decrementarea).

32. Instrucţiunea jmp et realizează:


a) un salt necondiţionat la et
b) un salt condiţionat la et
c) apelul rutinei et

33. Ce operaţii se realizează la execuţia instrucțiunii CALL?


Apel de procedura. Poate apărea sub una din formele:
CALL nume_proc
CALL NEAR PTR nume_proc
CALL FAR PTR nume_proc
Tipul apelului poate fi dedus din tipul procedurii (primul caz) sau specificat explicit prin NEAR şi
FAR. Tipul apelului trebuie să coincidă cu tipul procedurii şi cu tipul instructiunii RETURN din
interiorul procedurii.

34. Ce operaţii se realizează la execuţia instrucțiunii


RET? Forma generală:
RET [n]
unde n este o constantă întreagă opțională.
Dacă instrucțiunea RET este de tip NEAR semnificația sa este:
[IP]  SS: [[SP] + 1: [SP]]
[SP]  [SP] + 2
[[SP]  [SP] + n]
adică se reface (IP) prin copierea conținutului vârfului stivei şi incrementarea cu 2 a lui (SP). Dacă în
instrucțiunea RET apare şi constanta n atunci această constantă se adună la (SP), adică se descarcă
stiva.

35. Instrucţiunea JZ et realizează saltul la et dacă:


a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Sign este 1
d) flagul Sign este 0
36. Instrucţiunea JNZ et realizează saltul la et dacă:
a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Sign este 1
d) flagul Sign este 0

37. Instrucţiunea JC et realizează saltul la et dacă:


a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Carry este 1
d) flagul Carry este 0
Arhitectura Calculatoarelor 10
38. Instrucţiunea JNC et realizează saltul la et dacă:
a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Carry este 1
d) flagul Carry este 0
39. Instrucţiunea JCXZ et realizează saltul la et dacă:
a) flagul Zero este 1
b) flagul Zero este 0
c) flagul Carry este 0
d) registrul CX este 0
40. Instrucţiunea corespunzătoare etichetei et din LOOP et se află:
a) înaintea instrucțiunii LOOP
b) după Instrucţiunea LOOP
c) nu se afla în programul respectiv
41. Instrucţiunea STC:
a) activează sistemul de întreruperi
b) dezactivează sistemul de întreruperi
c) pune carry pe 0
d) pune carry pe 1

42. Instrucţiunea CLC:


a) activează sistemul de întreruperi
b) dezactivează sistemul de întreruperi
c) pune carry pe 0
d) pune carry pe 1
43. Complementul față de doi se utilizează pentru:
a) reprezentarea numerelor naturale
b) reprezentarea numerelor întregi negative
c) reprezentarea numerelor reale negative
44. Cum sunt reprezentate în memorie caracterele?
In categoria datelor alfanumerice intra caracterele alfabetice, caracterele numerice, semnele de
punctuație şi caracterele de control.
Codificarea acestora se face conform codului standard ASCII (American Standard Code for
Information Interchange). Codul ASCII standard este un cod pe 7 biți (128 combinații distincte). Ca
atare un caracter ASCII se reprezintă pe un octet in care bitul cel mai semnificativ este
zero.Domeniul de valori este de la 0 la 127 (in hexazecimal de la 00h la 07fh).
Exemplu:
Caracterul 'a' are codul 61h, 'A' are codul 41h, '5' are codul 35h, '+' are codul 02Bh.
Șirurile de caractere sunt reprezentate prin succesiuni de octeți ce cuprind codurile caracterelor
respective. De exemplu șirul de caractere “Aa4+b” se reprezintă pe 5 octeți ce vor conține 41 61 34
2B 42h.
45. Cum sunt reprezentate numerele reale:
a) în mărime şi semn
b) în format BCD
c) în format virgula mobila
B13.3
Execuția speculativă se referă la capacitatea procesorului de a executa instrucțiuni până la instrucțiunile adresate de contorul
software și de a furniza rezultatele în ordinea liniei de început a instrucțiunilor. Pentru a permite execuția speculativă,
microarhitectura familiei P6 separă trimiterea și executarea instrucțiunilor de primirea rezultatelor. Blocul de trimitere și
executare a comenzilor folosește analiza fluxului de date pentru a executa toate comenzile din rezervorul de comandă și a
stoca rezultatele în registre temporare. Unitatea de căutare a instrucțiunilor caută apoi instrucțiunile care au fost executate și
pentru care nu există dependențe de date cu alte instrucțiuni sau predicții ramificate nerezolvate. Când sunt găsite
instrucțiunile care au fost executate, unitatea de căutare stochează rezultatele acestor instrucțiuni în memorie sau în registre
de microarhitectură (opt registre de procesor și opt registre de computer cu virgulă mobilă) în ordinea specificată în program și
le șterge. instrucțiuni din manualul rezervorului.
B03.1
Din această categorie fac parte calculatoarele convenţionale care execută un singur flux de instrucţiuni asupra unui singur
flux de date. Aceste siteme de calcul se mai numesc şi calculatoare von Neumann.

Figura 3.2 Arhitectura von Neumann


B22.1
Adresarea liniară a memoriei este o schemă de adresare a memoriei computerului în procesoare compatibile.
Datorită introducerii mecanismului de adresare liniară, este posibil să creați orice număr (limitat doar de dimensiunea RAM) de
spații de adresă. Mai mult, fiecare pagină a spațiului de adrese liniare poate fi localizată la orice adresă fizică (în mod natural,
aliniată de-a lungul limitei de 4 KB) și datorită handlerului #PF - pe orice unitate.

B03.3

Explicați mecanismul de predicție a unei adrese de sucursală (BTB).


Pentru a prezice tranziția, se utilizează un buffer de memorie (BTB - Branch Target Buffer), care conține adresele
instrucțiunilor țintă pentru fiecare tranziție, precum și informațiile necesare pentru predicție. Tamponul BTB este adresat
folosind o instrucțiune de ramificare. Deoarece este evident că nu se poate utiliza un BTB prea mare, vor fi folosite metode
pentru maparea adresei instrucțiunii de salt la spațiul de adrese BTB (metode similare cu cache). Dimensiunea bufferului BTB
afectează viteza de predicție. Dacă procesorul încarcă mai multe instrucțiuni într-un ciclu, atunci BTB trebuie accesat în blocuri
de date.

B18.1
Stiva. Structură de memorie, accesul la care se petrece cu instrucţiuni speciale (PUSH, POP).
Instrucţiunea PUSH

Instrucţiunea PUSH decrementează registrul ESP şi copie operandul sursă în stivă. Un operand pe 16 biţi decrementează
registrul ESP cu 2, iar un operand pe 32 biţi – cu 4. Sunt 3 formate ale instrucţiunii:

PUSH reg/mem16

PUSH reg/mem32

PUSH imm32

Instrucţiunea POP

Instrucţiunea PUSH copie conţinutul stivei în operandul sursă pe 16 sau 32 biţi şi incrementează registrul ESP cu valorile 2 sau 4
respectiv. Sunt 2 formate ale instrucţiunii:

POP reg/mem16

POP reg/mem32
B07.3
Trebuie si cu ceva sa incepi asaca povestesti de la 32-64

Microprocesoarele pe 32 biţi funcţionează în diferite moduri, ce determină mecanismele de


protecţie şi de adresare a memoriei: modul real 8086 (pe 16 biţi), modul virtual 8086 (V8086),
modul protejat pe 32 biţi (inclusiv protejat pe 16 biţi). Modul de funcţionare a
microprocesorului este impus de sistemul de operare (SO) în conformitate cu modul definit de
aplicaţii (task-uri).

În microprocesoarele pe 64 biţi au fost introduse noi moduri de funcţionare:

- Modul pe 64 biţi (64-bit mode) – acest mod susţine adresarea virtuală pe 64 biţi şi extensiile
registrelor pe 64 biţi. În acest mod este folosit numai modelul plat de memorie (un segment
comun pentru cod, date şi stivă).

- Modul de compatibilitate (compatibility mode) permite SO să execute aplicaţii pe 32 şi 16


biţi. Pentru aplicaţii microprocesorul reprezintă un microprocesor pe 32 biţi cu toate atributele
modului protejat, cu mecanismele de segmentare şi paginare.

Microprocesoarele pe 64 biţi reprezintă seturi de registre disponibile programatorilor (figura


2.1).

B14.1

Explicati procedeul "swapping tasks"


Procedeul swapping tasks descrie comutarea între două aplicații prin copierea programului curent rulat pe disc sau alt
dispozitiv de stocare de mare viteză (memorie auxiliară, EMS etc.) și încărcarea unui program în spațiul respec.

B19.3
Explicaţi structura și destinația blocului FPU (coprocesor) din modelul program al
microprocesoarelor x86-64.

FPU (Floating Point Unit- unitatea de prelucrare în virgulă mobilă) .Registrele blocului FPU sunt
destinaţi executării operaţiilor aritmetice, calcului principalelor funcţii matematice (trigonometrice,
exponente, logaritmi) ş.a
Coprocesorul prelucrează 7 tipuri de date: numere întregi pe 16, 32, 64 biţi; numere în virgulă mobilă
pe 32, 64, 80 biţi (format FP) şi 18 numere în cod binar-zecimal (BCD). Aplicarea coprocesorului
accelerează considerabil viteza de calcul.
Instrucţiunile în virgulă mobilă x86 funcţionează cu blocul FPU şi prelucrează date în virgulă mobilă:
80 biţi – precizie extinsă, 64 – precizie dublă, 32 – precizie unitară. Suplimentar susţin formatul BCD.
Registrele microprocesoarelor х86-64

Ca si IU, FPU primeste instructiunea de la IQ. Pentru a se asigura ca unitatea de instructiuni nu


asteapta terminarea instructiunii in VM, FPU are propria sa coada de 2 instructiuni. Prin plasarea
instructiunii in coada proprie, instructiunile cu intregi si ramificatiile au timp sa se desfasoare in paralel.
FPU poseda 32 FPR pe 64 biti pentru operatii in simpla sau dubla precizie. Suporta (ca si i486) date format
IEEE-754.

B09.3
3. Tipuri de Magistrale
Conceptual, magistrala este un mediu comun de comunicatie intre componentele unui sistem de
calcul; fizic este alcatuita dintr-un set de linii de semnal care faciliteaza transferul de date
si realizeaza sincronizarea intre componentele sistemului. In decursul timpului au fost
dezvoltate diferite standarde de magistrala, care au urmarit evolutia procesoarelor
(a unitatilor centrale) si a necesitatilor de comunicatie ale acestora (viteza, mod de
transfer, necesitati de sincronizare si control etc.). S-au dezvoltat, de asemenea, magistrale
specializate pentru anumite tipuri de echipamente periferice (SCSI si EIDE pentru unitati de
disc, console grafice, interfete de masura si control). Din acest punct de vedere. in momentul
actual se pot distinge doua clase de magistrale:
• magistrale de sistem – dezvoltate mai ales pentru conectarea unitatii centrale la
celelalte componente de baza ale sistemului (de exemplu: MultiBus, ISA, EISA,
PCI);
• magistrale specializate – care incearca sa optimizeze transferul de date cu un
anumit tip de echipamente periferice (VESA, AGP, SCSI, GPIB).
Magistrala:
– Magistrala dedicată;
– Magistrala multiplexată;
– Magistrala sincronă;
– Magistrala asincronă.
Magistrala de sistem:
– Magistrala de date;
– Magistrala de adrese;
– Magistrala de control.

B08.1
În cazul on care controlerului DMA funcționează, la o frecventamaximă de 15 MHz, cu o memorie de 50
ns, rata maximă de transfer este de 15 MHz (67ns), deoarece controlerul DMA este mai lăsat decât decât
memoria • In multe cazuri, controlerulMA încetinește viteza sistemului atunci când au loc transferuri !!!

B.02 – 1 Menţionaţi aspecte ale fnctionarii procesorului in mod protejat


Modul protejat este un mod operațional al procesorului compatibil Intel 80286. Permite software-ului sistemului să utilizeze
caracteristici precum memoria virtuală, paginarea și multi-tasking-ul. De asemenea, este conceput pentru a mari controlul
sistemului de operare asupra programelor.

Mai detaliat :
În modul protejat, procesorul poate functiona în regim multi-proces (multitasking), în care pot fi
executate mai multe procese în mod concurent. În acest mod se realizeaza o comutare prin hardware între
procesele care se execut concurent. Memoria utilizata de fiecare proces este protejat fata de actiunile altor
procese. Pentru aceasta procesorul dispune de diferite mecanisme de protectie. Acestea cuprind testarea limitelor
segmentelor, existenta atributelor de segment care permit doar citirea continutului unui segment sau doar executia
codului din acel segment, şi pâna la patru nivele de privilegiu pentru protectia codului sistemului de operare de
programele de aplicatii sau de programele utilizatorului. Existenta unor tabele ale descriptorilor locali de segment
permite sistemului de operare protejarea între ele a programelor de aplicatii sau a programelor utilizatorului. Sunt
disponibile instructiuni privilegiate suplimentare pentru setarea modului protejat şi controlul proceselor multiple.

B.21 - 3 Definiţi noţiunea ”ALU "Unitate Aritmetico-Logica)

Raspuns 1 : O unitate logică aritmetică este partea unui procesor de calculator care efectuează operații
aritmetice și logice pe operanzi în cuvinte de instrucțiuni de calculator. În unele procesoare, ALU este
împărțit în două unități, o unitate aritmetică (AU) și o unitate logică (LU).

Raspuns 2 : Unitatea logică aritmetică este un circuit combinațional care efectuează operații aritmetice și în biți pe numere
binare întregi. Este un element fundamental al multor tipuri de circuite de calcul, inclusiv unitatea centrală de procesare (CPU)
a computerelor, FPU-urilor și unităților de procesare grafică (GPU-uri).

Intrările într-o ALU sunt datele care trebuie operate, numiți operanzi și un cod care indică operația care trebuie efectuată;
ieșirea ALU este rezultatul operației efectuate. În multe modele, ALU are, de asemenea, intrări sau ieșiri de stare, sau ambele,
care transmit informații despre o operație anterioară sau respectiv operațiunea curentă, între ALU și registrele de stare
externe.

EX 04.1
Specificații SCSI Principalele caracteristici ale magistralei SCSI sunt Lățimea sa este de 8 sau 16 biți. Sau, cu alte cuvinte,
„îngust” sau „lat”.
Viteza (aproximativ - frecvența cu care este ceasul autobuzului)
Tipul fizic de interfață (unipolar, diferențial, optic ...). uneori poate fi numit tipul de conector pentru conectare
SCSI este partea comună a numelui. De obicei scris în dreapta. Sau înseamnă interfață SCSI „de bază”: magistrală 8 biți, viteză 5
MHz.
Frecvența rapidă sau -2 poate atinge 10MHz (uneori scriu FastSCSI-2, dar nu știu de ce).
Ultra frecvența poate ajunge la 20 MHz Frecvența .
Ultra2 poate atinge 40MHz (nu este compatibilă cu altele)
Wide Lățimea lată a magistralei a crescut la 16 biți

EX 16.1
Registrul de pavilion sau cuvântul de stare a procesorului este un registru specializat care reflectă starea curentă a
procesorului.

CF Carry Flag
PF Parity Flag
0 reserved
AF Auxiliary Carry Flag
0 reserved
ZF Zero Flag
SF Sign Flag
TF Trap Flag
IF Interrupt Enable Flag
DF Direction Flag
OF Overflow Flag
IOPL I/O Privilege Level
NT Nested Task
0 reserved

10.1 O magistrală este ansamblul de căi de comunicaţie, grupate funcţional, interconectând mai multe
dispozitive din calculator şi pe care informaţia se transferă paralel.Cea mai des folosit structură de
interconectare este magistrala;  Există mai multe magistrale: – organizate ierarhic => structura cu
magistrale multiple.Magistrala constă din conductori electrici, care vehiculează semnale în formă de
impulsuri.

6.2 Memoria virtuală pentru microprocesoarele pe 32 biți


Vom detalia aici principiul gestionării memoriei, folosind pentru exemplificare componenta familiei Intel - microprocesorul
PentiumIV, ce combină segmentarea memoriei cu paginarea.
Adresa virtuală, ca şi adresa logică, are pentru utilizator două părţi componente:
− adresa efectivă (sau offsetul ădresei virtuale);
− selectorul, care înlocuieşte adresa segment.
Adresa efectivă este adresa în interiorul segmentului şi utilizatorul trebuie să o conceapă ca fiind relativă la baza unui
segment predefinit. Adresa efectivă este precizată de modul de adresare aferent instrucţiunii care o utilizează.
Selectorul se află, ca şi în cazul adreselor logice, tot într-un registru segment. Noutatea constă în faptul că definirea
segmentului asociat unui selector nu se mai face direct (ca în cazul microprocesorului Intel 8086) ci prin mecanismul adresării
indirecte.
Microprocesorul are următoarele particularităţi:
- Adresa virtuală este o adresă pe 48 de biţi:
AV ≡ adr48
- Adresa efectivă este o adresă pe 32 biţi:
AE ≡ adr32
Aceasta impune dimensiunea maximă a unui segment la 2 32 B = 4 GB.
Selectorul are 16 biţi şi este compus din trei entităţi informaţionale:
− un câmp numit INDEX pe 13 biţi;
− un "indicator de tabelă" (TI) care ocupă 1 bit;
− un câmp de 2 biţi denumit "nivelul de privilegiu cerut" (RPL). Deci:
SELECTOR = INDEX TI RPL

B05.3
Adresarea segmentată, în care memoria este divizată logic în porţiuni numite segmente, în interiorul cărora adresarea este
liniară. Orice localizare în memorie se face relativ la baza segmentului iar fixarea fizică a bazei unui segment este transparentă
utilizatorului. Am prezentat deja, pentru 8086, mecanismul segmentelor de dimesiune fixă, noţiunea de adresă logică precum
şi translatarea ei în adresă fizică.

B17.3
Schema, prezentată în figura 5.1, reprezintă modelul program al microprocesoarelor Intel pe 32 biţi (Intel Architecture (IA)-32).
Pentru fiecare grup de registre, în paranteze, se indică începând de la care model a apărut grupul dat de registre în
modelul program al microprocesoarelor Intel. Dacă nu este indicat, grupul dat de registre a fost prezent în microprocesoarele
i386 şi i486.
În modelul program al microprocesorului Intel intră:
− Harta memoriei fizice (Pentium IV – 236 – 1 B);
− Setul de registre generali;
− Setul de registre de segment;
− Setul de registre de stare şi control;
− Setul de registre ai unităţii de calcul în virgulă mobilă (coprocesorului);
− Setul de registre destinate extensiilor MMX, reflectaţi pe registrii coprocesorului (Pentium MMX);
− Setul de registre destinate extensiilor MMX în virgulă mobilă (Pentium III);
− Stiva. Structură de memorie, accesul la care se petrece cu instrucţiuni speciale (PUSH, POP).

Setul de registre
Modelul program include câteva grupe de registre folosite de programe:
− Registre generali eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, еcх/cx/ch/cl, ebp/bp, esi/si, edi/di, esp/sp. Aceste registre
conţin, de regulă, operanzi şi/sau rezultate aferente instrucţiunilor de transfer şi prelucrare a datelor;
− Registre segment cs, ds, ss, es, fs, gs. Aceste registre sunt folosite pentru crearea diviziunilor logice în memorie numite
segmente;
− Registre coprocesorului st(0), st(l), st(2), st(3), st(4), st(5), st(6), st(7). Sunt folosiţi în calcule în virgulă mobilă;
− Registre extensiilor MMX (date împachetate, întregi) mmx0, mmx1, mmx2, mmxЗ, mmx4, mmx5, mmx6, mmx7;
− Registre extensiilor XMM (date împachetate, în virgulă mobilă) хmm0, хmm1, хmm2, хmmЗ, хmm4, хmm5, хmm6,
хmm7;
− Registre de stare şi control – conţin informaţia despre starea microprocesorului, programului în execuţie;
− Registrul de fanioane eflags/flags;
− Registrul indicator de instrucţiuni;
− Registre de sistem – dedicate controlului modurilor de funcţionare microprocesorului.
Registre de uz general
Spatiul 2 36-1 ( 2 32-1)
31 15 0
de
ax
eax adresare
ah al
i 486/ Pentium
bx Pentium PRO/II/III/IV
ebx
bh bl
cx Stiva
ecx ss: esp
ch cl
dx
edx 0
dh dl
ebp bp cs
ss
esi si Registre de
ds segment
edi di es
esp sp fs
gs
Registrele coprocesorului st(7)-st(0)
79 63 0 Registre de stare si control
st(0) mmx0
st(1) mmx1 Registrul de fanioane
st(2) mmx2 eflags flags
st(3) mmx3 31 15 0
mmx4 Registrul indicator de instructiuni
st(4)
st(5) mmx5 eip ip
st(6) mmx6 31 15 0
st(7) mmx7
Registrele extensiilor MMX Registre de sistem
(mmx7-mm0)
(Pentium MMX/II-IV)
127 0
xmm0
xmm1
xmm2
xmm3
xmm4
xmm5
xmm6
xmm7
Registrele extensiilor MMX in virgula mobila
(Pentium III /IV)

B20.1

Conceptul memoriei virtuale

Consideram toate memoriile (MP si MA) ca pe un spatiu unic de adrese care ofera utilizarea unui spatiu de memorie denumit logic sau virtual
unde pot fi construite blocuri de date mult mai mari decat in mp. Aceste blocuri nu mai sunt limitate de dimensiunile MP si MV, e vazuta ca o "mp"
care ofera un spatiu de adrese mult mai mare decat spatiu memoriei fizice. Pt implementarea conceptului de MV e necesar ca accesul la MV sa
fie transparent pt programator, care trb degrevat de utilizarea acestui bloc de date. Cea mai mare parte a informatiei(date) sunt stocate in MA.
Apoi sistemul aduce informatii din MA in mp si sistemul incepe sa functioneze.

Realizarea mv implica existenta unui mecanism care sa execute transferal de date intre mp si ma. Transeferul de date intre mp si ma e ineficient,
de aceea se realizeaza pe blocuri/module; Implementarea conceptului de mv poate fi realizat : soft sau hard.

Pentru a fi executat un program de microprocesoare trebuie plasat in memoria principala (memoria de tip semiconductor)

Pentru a prelucra datele, trebuie sa fie plasate in memoria principal, operanzii microprocesorului.

Microproc evoluate folosesc principiul organizarii modulare:

Liniara (spatiu de memorie liniara, pentru microproc simple (<64 octeti))

Modular (blocuri, pt microproc evoluate, blocuri, segmente, pagini)

Dimensiunea blocurilor de memorie este limitata de dimensiunea memoriei principale. Este un impediment pentru ca microprocesoarele nu pot sa
creeze blocuric de memorie mai mari decat memoria principala. Uneori spatiul memoriei de blocuri este f mic (pt microproc <64 Kocteti)

Pentru utilizator ar fi mai comod sa constituie blocuri de date care sa nu tine seama de memoria principala.
In structura unui sistem de calcul, in afara de memoria principala, exista alte memorii (memorii auxiliare - este accesata prin intermediul registrului
de intrare iesire), ex:discuri magnetice, discuri optice.

Memoria principala este, de regula, mai mare.

Pt a accesa memoria auxiliara trebuie sa mutam continutul in memoria principala de unde poate fi prelucrata de microproc.

Def: conceptul de memorie virtuala - consideram toate memoriile (MP si MA) ca pe un spatiu unic de adrese care ofera utilizatorului un spatiu de
memorie denumit logic sau virtual unde pot fi construite blocuri mult mai mari decat in MP.

Aceste blocuri nu mai sunt limitate de dimensiunea memoriei principale.

11.3
Definiţi noţiunea “interfaţă”.
interfaţă - un punct (loc) de interacțiune dintre două unități, dispozitive componente etc. ale unui sistem, care
este compatibil din punct de vedere hardware și software spre ambele părți ce comunică prin el uni- sau
bidirecțional. Prin analogie, sensul de interfață poate fi uzual interpretat ca o față (suprafață) de margine, de
graniță a unui element, care servește comunicației spre și/sau dinspre alte elemente. Interfața este o parte a
unui sistem de operare care servește comunicării, facilitând aceasta.

20.3
Descrieti "Unitatea de control "a unui procesor.
Unitatea de control este o parte indispensabilă care efectuează următoarea listă de lucrări în mod continuu și
transparent:

• adresează și extrage din memoria principală instrucțiunile binare ale programului;


• decodifică (interpretează) instrucțiunile și generează secvența semnalelor de comandă necesare către
toate celelalte unități funcționale ale calculatorului; ca urmare a acestor semnale instrucțiunea curentă este
executată;
• în plus, UCC analizează semnalele de stare și sincronizare ce provin de la celelalte unități funcționale
ale calculatorului și, ca urmare, poate schimba succesiunea semnalelor de comandă pe care le generează.
La terminarea execuției instrucțiunii curente, se trece la instrucțiunea următoare.

Unitatea de control este deci adevărata umbră a creierului din interiorul procesorului, care se
ocupă de gestionarea faptului că toate părțile procesorului primesc datele corecte și execută
instrucțiunile corecte în orice moment.

▪ Unitățile de control cu fir sunt utilizate în procesoare foarte simple , deoarece în ele tabelul
registrelor și instrucțiunile nu pot fi modificate din cauza ca toate căile de date sunt cablate
intr-un mod fix . Intr-o unitate de control cu fir, instrucțiunile vor avea întotdeauna aceeași
performanță și nu vor putea adăuga altele noi sau optimiza funcționarea lor.
▪ În cazul unităților de control microprogramate, se folosește un procesor care este responsabil
pentru îndeplinirea tuturor funcțiilor unității de control , acest lucru permite optimizarea
modului în care instrucțiunile trebuie executate și chiar adăugarea de instrucțiuni noi.

B21.3 3)Definiţi noţiunea ”ALU "Unitate Aritmetico-Logica).

Unitatea aritmetică logică, UAL sau ALU )este un circuit electronic digital complex care poate efectua
operații aritmetice și logice. În diagramele-bloc de computere, unitatea aritmetică logică este
reprezentată ca un modul funcțional, componentă a schemei de principiu a unui calculator electronic.
Constructiv, în calculator, UAL este un bloc fundamental al unității centrale de procesare
(prelucrare) UCP (engleză CPU). Unitatea logică aritmetică este utilizată pentru a efectua transformări
logice și aritmetice pe operanții necesari, adesea comenzi sau coduri de numere. După finalizarea
acțiunii, rezultatul este returnat dispozitivului de stocare pentru a fi utilizat în următoarele calcule.

B24.1
1) Explicaţi structura și destinația blocului MMX din modelul program al microprocesoarelor
x86-64.

Microprocesoarele oferă un sistem de privilegii pe 4 nivele destinat protecţiei memoriei, spaţiului


de intrare/ieşire şi întreruperilor, şi un mecanism destinat comutării sarcinilor pentru sistemele de
operare multitask. Setul de instrucţiuni conţine toate instrucţiunile microprocesoarelor
precedente x86 şi este extins cu noi instrucţiuni. Cu extensia setului de instrucţiuni se extinde şi
setul de registre arhitecturali (MMX, XMM, noi registre de uz general pe 64 biţi).

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