Sunteți pe pagina 1din 18

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.

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

  • Lab 1 Docx
    Lab 1 Docx
    Document6 pagini
    Lab 1 Docx
    AlexandruBotnaru
    Încă nu există evaluări
  • Anul III EvP1 1
    Anul III EvP1 1
    Document3 pagini
    Anul III EvP1 1
    AlexandruBotnaru
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document4 pagini
    Lab 2
    AlexandruBotnaru
    Încă nu există evaluări
  • SSM Tema 1FFCIM
    SSM Tema 1FFCIM
    Document17 pagini
    SSM Tema 1FFCIM
    Nastea13
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document4 pagini
    Lab 2
    AlexandruBotnaru
    Încă nu există evaluări
  • Lab 1 Docx
    Lab 1 Docx
    Document6 pagini
    Lab 1 Docx
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Lab 1 Docx
    Lab 1 Docx
    Document6 pagini
    Lab 1 Docx
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Laborator 4 OOP
    Laborator 4 OOP
    Document4 pagini
    Laborator 4 OOP
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Test1proba PPE
    Test1proba PPE
    Document20 pagini
    Test1proba PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Cap1-3 PPE
    Cap1-3 PPE
    Document81 pagini
    Cap1-3 PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Raspunsuri Teste Examen
    Raspunsuri Teste Examen
    Document14 pagini
    Raspunsuri Teste Examen
    Damean Alexandra
    Încă nu există evaluări
  • Raspunsuri
     Raspunsuri
    Document39 pagini
    Raspunsuri
    Munteanu Doinelush
    Încă nu există evaluări
  • Atestare RC 2
    Atestare RC 2
    Document6 pagini
    Atestare RC 2
    AlexandruBotnaru
    Încă nu există evaluări
  • Raspunsuri
     Raspunsuri
    Document39 pagini
    Raspunsuri
    Munteanu Doinelush
    Încă nu există evaluări
  • Cristian Frasinaru-Curs Practic de Java
    Cristian Frasinaru-Curs Practic de Java
    Document462 pagini
    Cristian Frasinaru-Curs Practic de Java
    anon-331879
    100% (14)
  • Test2proba PPE
    Test2proba PPE
    Document30 pagini
    Test2proba PPE
    AlexandruBotnaru
    Încă nu există evaluări
  • Laborator 3 2020
    Laborator 3 2020
    Document1 pagină
    Laborator 3 2020
    AlexandruBotnaru
    Încă nu există evaluări
  • Laboratorul 8 LFA
    Laboratorul 8 LFA
    Document4 pagini
    Laboratorul 8 LFA
    AlexandruBotnaru
    Încă nu există evaluări
  • Laborator 2
    Laborator 2
    Document6 pagini
    Laborator 2
    AlexandruBotnaru
    Încă nu există evaluări
  • Laborator 2
    Laborator 2
    Document6 pagini
    Laborator 2
    AlexandruBotnaru
    Încă nu există evaluări
  • Laborator 3
    Laborator 3
    Document11 pagini
    Laborator 3
    AlexandruBotnaru
    Încă nu există evaluări
  • Laborator 1
    Laborator 1
    Document5 pagini
    Laborator 1
    AlexandruBotnaru
    Încă nu există evaluări