Documente Academic
Documente Profesional
Documente Cultură
Setul 1
1. Explicați notiunea – compilator
Unei instrucţiuni într-un limbaj de nivel înalt îi corespunde o succesiune de instrucţiuni în limbaj maşină.
Translatarea în limbajul maşină se poate realiza cu ajutorul unui compilator, care generează din programul sursă
un program executabil, acesta fiind executat după ce întregul program a fost compilat. 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.
O altă posibilitate este utilizarea unui interpretor, care 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ă.
Uneori este mai convenabil să se considere că există un calculator ipotetic sau o maşină virtuală, a cărui limbaj
maşină este un anumit limbaj de nivel înalt. Un asemenea calculator ar executa direct instrucţiunile limbajului de
nivel înalt, fără a fi necesară utilizarea unui translator (compilator) sau interpretor. Chiar dacă implementarea unei
maşini virtuale care să lucreze direct cu un limbaj de nivel înalt ar fi prea costisitoare, se pot scrie programe pentru
această maşină, deoarece aceste programe pot fi translatate sau interpretate cu un program care poate fi executat
direct de calculatorul existent.
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.
Toate registrele sunt de 16 biţi. O serie de registre (AX, BX, CX, DX) sunt disponibile şi la nivel de octet, părţile
mai semnificative fiind AH, BH, CH şi DH, iar cele mai puţin semnificative, AL, BL, CL şi DL. Denumirile
registrelor sunt:
- AX - registru acumulator
- BX - registru de bază general
- CX - registru contor
- DX - registru de date
- BP - registru de bază pentru stivă (base pointer)
- SP - registru indicator de stivă (stack pointer)
- SI - registru index sursă
- DI - registru index destinaţie
6. Destinația registrelor de 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.Registru segmentului de cod (CS) conține
adresa de început a segmentului din care sunt extrase instrucțiunile – segmentul de cod . Stiva programului se află
în așa numitul segment de stivă către care “pointeaza” registrul segmentului de stivă (SS). Mai există de asemenea
două segmente de date,unul propriu-zis(DS) și unul suplimentar(ES) fiecaruia fiindu-i asociat către un registru de
segment ce conține adresa de început respective .
Arhitectura Calculatoarelor 2
7. Destinația registrului Flags.
Registrul notat FLAGS cuprinde flagurile procesorului, sau bistabililor de condiţie.Semnificaţia flagurilor este
următoarea:
- CF (Carry Flag, bistabil de transport) - semnifică un transport sau un împrumut din/în bitul cel mai
semnificativ al rezultatului, de exemplu la operaţii de adunare sau de scădere.
- PF (Parity Flag, flag de paritate) - este poziţionat în aşa fel încât numărul de biţi egali cu 1 din octetul cel
mai puţin semnificativ al rezultatului, împreună cu flagul PF, să fie impar; altfel formulat, suma modulo 2
(XOR) a tuturor biţilor din octetul c.m.p.s. şi a lui PF să fie 1.
- AF (Auxiliarry Carry Flag, bistabil de transport auxiliar) - indică un transport sau un împrumut din/în bitul
4 al rezultatului.
- ZF (Zero Flag, bistabil de zero) - este poziţionat la 1 dacă rezultatul operaţiei este 0.
- SF (Sign Flag, bistabil de semn) - este poziţionat la 1 dacă b.c.m.s. al rezultatului (bitul de semn) este 1.
- OF (Overflow Flag, bistabil de depăşire) - este poziţionat la 1 dacă operaţia a condus la o depăşire de
domeniu a rezultatului (la operaţii cu sau fără semn).
- TF (Trap Flag, bistabil de urmărire) - dacă este poziţionat la 1, se forţează o întrerupere, pe un nivel
predefinit, la execuţia fiecărei instrucţiuni; acest fapt este util în programele de depanare, în care este
posibilă rularea pas cu pas a unui program.
- IF (Interrupt Flag, bistabil de întreruperi) - dacă este poziţionat la 1, procesorul ia în consideraţie
întreruperile hardware externe; altfel, acestea sunt ignorate.
- DF (Direction Flag, bistabil de direcţie) - precizează sensul (crescător sau descrescător) de variaţie a
adreselor la operaţiile cu şiruri de octeţi sau de cuvinte.
Flagurile CF, PF, AF, ZF, SF şi OF sunt numite flaguri de stare (aritmetice). Flagurile TF, IF şi DF sunt
numite flaguri de control.
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).
Din punct de vedere hardware, calculatorul are trei componente funcţionale legate într-un mod specific (Figura
3.1). Blocurile funcţionale sunt:
1. Unitatea centrală de prelucrare (UCP) are două funcţii esenţiale:
prelucrarea datelor;
controlul activităţii întregului calculator.
2. MEMORIA este, din punctul de vedere al sistemului pe care îl definim, o secvenţă de locaţii pentru stocarea
informaţiei.Fiecare locaţie este definită prin două entităţi informaţionale:
Conţinutul, reprezentat de o înşiruie de cifre binare 0 sau 1 ("biţi"); se va observa că nu am folosit
noţiunea de "număr binar", pentru că informaţia stocată într-o locaţie de memorie poate avea diverse
semnificaţii. Numărul de cifre binare conţinute într-o locaţie depinde de modul în care microprocesorul
organizează informaţia în memorie; mărimea unei locaţii va fi denumită formatul memoriei, exprimat în număr
de biţi (de regulă 8 sau 16 biţi). Formatul memoriei nu are nici-o legătură cu organizarea fizica a cipurilor de
memorie.
MEMORY
Magistrala
date
Magistrala
adrese
CPU
Mgistrala
control
I/O
Adresă, reprezentând numărul de ordine al locaţiei, care permite identificarea sa în cadrul secvenţei de locaţii
(există o corespondenţă biunivocă între fiecare locaţie de memorie şi adresa sa).
În privinţa memoriei unui calculator vom folosi câteva noţiuni:
"Harta memoriei", definită ca fiind totalitatea locaţiilor de memorie pe care le poate adresa un microprocesor.
"Pagini" şi/sau "segmente" sunt subdiviziuni logice ale hărţii memoriei, ale căror dimensiuni, fixe sau dinamice,
sunt specifice modului în care un microprocesor anume organizează memoria. Subliniem din nou că aceste
Arhitectura Calculatoarelor 4
moduri de organizare nu au nici-o legătură cu structura fizică a memoriei unui calculator.
3. Dispozitivele de intrare/ ieșire (I/O) sunt constituite din circuitele prin care se realizează legătura între
calculator şi lumea exterioară. O unitate elementară de conversaţie cu exteriorul poartă numele de "port de
intrare/ieşire". Între porturi şi locaţiile din memorie există nişte similitudini:
Porturile sunt în esenţă tot locaţii de memorare a informaţiei, adresabile; desigur, informaţia care se foloseşte
uzual aici este alcătuită din operanzi/rezultate (date).
Există o "hartă a porturilor" care, aşa cum vom arăta în capitolele următoare, poate sau nu să facă parte din
harta memoriei.
Singura deosebire esenţială faţă de locaţiile de memorie este legătura fizică pe care porturile o asigură cu
exteriorul; pentru microprocesor, de multe ori, această legătură fizică este transparentă şi nesemnificativă.
15. Explicați notiunea – magistrală.
În sfârşit, componenţa hardware a calculatorului comportă un set de legături specifice; acestea se realizează printr-
o aşa numită "magistrală": un set de conexiuni fizice între blocuri prin care informaţia care circulă are o
semnificaţie prestabilită. Sistemele la care ne referim au o magistrală unică, ce le caracterizează; din punct de
vedere funcţional, există trei componente ale acestei magistrale, individualizate şi în Figura 3.1:
1. Magistrala de date, bidirecţională, permite circulaţia datelor (operanzi/rezultate), a instrucţiunilor şi chiar a
adreselor.
2. Magistrala de adrese, unidirecţională, permite microprocesorului să localizeze informaţia în Memorie sau în
Dispozitivele de intrare/ieşire; deci pe această magistrală circulă numai adrese.
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ă.
16. Caracterizați circuitele RFID.
Circuitelor RFID (Radio Frequency Identification — Tehnologia identificării prin radiofrecvenţă). 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. Multe componente
de hardware sunt identice cu cele ce le găsim într-un calculator personal. Totuși serverele rulează sisteme de
operare și programe specializate care sunt diferite față de cele folosite pe calculatoare personale.
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.
Folosirea mai multor microprocesoare duce la o mai mare fiabilitate în comparație cu un singur microprocesor. De
asemenea se folosesc Uninterruptible Power Supplies (UPS-uri) pentru a fi siguri de continuitatea de alimentare
cu energie electrică, astfel ca penele din rețeaua publică de curent să nu provoace stricăciuni ireparabile. Diferența
majoră între computerele personale și servere nu este partea hardware ci partea de software. Pe servere rulează
sisteme de operare care sunt special proiectate pentru acestea. De asemenea ele rulează aplicații special proiectate
pentru procesele dorite. În lumea serverelor cele mai populare sistem de operare sunt FreeBSD, Sun Solaris și
GNU/Linux – care derivă și sunt asemănătoare cu sistemul de operare UNIX. UNIX a fost o alegere logică și
eficientă ca sistem de operare pentru servere.
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. Principala
diferenţă între supercalculatoare şi mainframe este că primele se folosesc pentru operaţii ce necesită calcule
intense, în timp ce mainframe efectuează operaţii de complexitate redusă asupra unor volume mari de date.
Arhitectura Calculatoarelor 5
Supercalculatorul posedă resurse hardware şi software deosebite. Se utilizează în industria de apărare, în
cercetarea ştiinţifică, în câteva universităţi, în industria aeronautică şi spaţială. Departamentul Energiei SUA deţine
un supercomputer din lume The Roadrunner. Acesta are o putere de calcul de 1 petaflop (1000 trilioane operaţii
pe secundă). Ocupă o suprafaţă de 1100 m2 şi a fost construit din 700 de procesoare AMD Opteron.
În anul 2013 compania Cray va realiza pentru Departamentul Energiei al SUA un supercomputer cu o putere de
calcul de 20 peta operaţii de secundă (20 petaflops) numit Titan. Astfel, în scurt timp (anul 2025), se va realiza un
supercomputer cu o putere de calcul de 10 exaflops (1020 flops), care va fi capabil să simuleze activitatea creierului
uman.
19. Clasificarea lui Flynn. Arhitectura SISD.
SISD (Single Instruction Single Data):
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.
UC – unitate de comandă;
UE – unitate de execuţie, element de procesare, procesor;
MM – modul de memorie; SI – flux (şir) de instrucţiuni;
SD – flux (şir) de date.Exemple de calculatoare SISD
: CDC 6600, CDC 7600, Amdhal 470/6, Cray-1.
20. Clasificarea lui Flynn. Arhitectura SIMD.
SIMD (Single Instruction Multiple Data)
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.
Aplicabilitate: calculatoarele SIMD sunt folosite în cazul aplicaţiilor paralele ce necesită un control fin asupra
datelor. Exemplu: reţele neuronale.
Exemple de implementări SIMD: ILLIAC-IV, PEPE, BSP, STARAN, MPP, DAP, Connection Machine CM-1,
CM-2 (de la Thinking Machines Corporation), MassPar MP-1, MP-2.
Assembler
1. Instrucţiunea mov word ptr [bx],0:încarcă în locaţia adresată de bx valoarea 0 pe un cuvânt
2. Implementaţi Instrucţiunea xchg bx,cx folosind stiva
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 2 20 = 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:
Arhitectura Calculatoarelor 15
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)
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ă.
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
Arhitectura Calculatoarelor 16
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, struct. 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.
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
Arhitectura Calculatoarelor 17
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 huburi ş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.
40. Topologia magistralei USB pe nivele
Arhitectura Calculatoarelor 18