Documente Academic
Documente Profesional
Documente Cultură
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ă.
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.
15 Explicați noțiunea – magistrală.- un set de conexiuni fizice între blocuri prin care informaţia care
circulă are o semnificaţie prestabilită.
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.
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
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
B03.3
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
- 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ă).
B14.1
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
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 !!!
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.
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.
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
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.
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.
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.
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:
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.