Sunteți pe pagina 1din 19

Arhitectura Calculatoarelor 1

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.

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. Registrul IP (instruction
pointer) este registrul de instrucțiuni.IP –instruction point,conție adresa la instrucțiunea care se execută , se află
offsetul a segmentului de cod.
9. Ce indică perechea de registre (CS:IP)?
Perechea de registre (CS:IP) va indica totdeauna adresa următoarei instrucțini care se va executa . Se observă că
denumirile registrelor de segment corespund zonelor principale ale unui program executabil. Astfel ,perechea de
registre(CS:IP) va indica totdeauna adresa următoarei instrucținui care se va executa.
10. Ce indică perechea de registre (SS:SP)?
Perechea (SS:SP) indică totdeauna adresa vârfului stivei. Registrele DS şi ES sunt folosite pentru a accesa date.
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).
Arhitectura Calculatoarelor 3

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).
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.

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.

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.

Figura 3.4 Arhitectura SIMD


Topologia reţelei de interconectare nu apare în clasificarea lui Flynn.
21. Clasificarea lui Flynn. Arhitectura MISD.
MISD (Multiple Instruction Single Data)
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:
Arhitectura Calculatoarelor 6
 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.
Singurul exemplu de implementare pentru acest tip de arhitecturi este C.mmp (calculator multimicroprocesor)
construit la Carnegie-Mellon University. Acest calculator este reconfigurabil şi poate opera în modurile SIMD,
MISD şi MIMD.

Figura 3.5 Arhitectura MISD


UC-unit.de comandă,UE-uniteta de execuție,element de procesare,procesor
MM-modul de memorie,SI-flux(șir) de instrucțiuni
SD-flux(șir) de date

22. Clasificarea lui Flynn. Arhitectura MIMD.


MIMD (Multiple Instruction Multiple Data)
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.
Acest tip de arhitecturi sunt aplicabile în cazul aplicaţiilor paralele (calcul paralel).
Exemple de implementare: C.mmp, Burroughs D825, Cray-2, S1, Cray X-MP, SGI/Cray Power Challenge Array,
SGI/Cray Origin-2000, HP/Convex SPP-2000, Pluribus, IBM 370/168 MP, Univac 1100/80, Tandem/16, IBM
3081/3084, BBN Butterfly, Meiko Computing Surface (CS-1), FPS T/40000, iPSC.

O variantă între SIMD şi MIMD sunt


arhitecturile SPMD (Single Program Multiple
Data), în care unităţile de procesare execută
acelaşi segment de cod asupra unor date diferite,
independent unul de celălalt (în mod asincron).
SIMD < SPMD < MIMD

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


Multe microprocesoare au seturi de instrucţiuni ce includ mai mult de 100 – 200 instrucţiuni. Ele folosesc o
varietate de tipuri de date şi un mare număr de moduri de adresare. Tendinţa aceasta de a mări numărul de
instrucţiuni a fost influenţată de mai mulţi factori, dintre care amintim:
 perfecţionarea unor modele de procesoare existente anterior, pentru a pune la dispoziţia utilizatorilor
(programelor utilizator) cât mai multe funcţii;
 adăugarea de instrucţiuni care să faciliteze translatarea din limbajele de nivel înalt în programe cod executabil
(limbaj maşină);
Așa arhitecturi de microprocesoare au fost numite arhitecturi CISC - Complex Instruction Set Computer -
calculator cu set complex de instrucţiuni. Câteva din caracteristici sunt:
 Multe instrucţiuni care prelucrează operanzi din memorie;
 Format de lungime variabilă pentru instrucţiuni;
 Unitate de control microprogramată (micro-codată), avantajoasa din punctul de
 vedere al flexibilităţii implementării, dar lentă;
 Set complex (extins) de instrucţiuni şi o mare varietate de moduri de adresare;
 Un număr relativ mic de registre în interiorul UCP.
Arhitectura Calculatoarelor 7
 Utilizarea compilatoarelor optimizatoare - pentru a optimiza performanţele codului obiect;
Ideea simplificării setului de instrucţiuni, în scopul măririi performanţelor procesorului, provine din proiectele
realizate la universităţile americane din Berkeley (RISC I, RISC II şi SOAR) şi Stanford (proiectul MIPS).
Proiectele RISC (Reduced Instruction Set Computer - Calculator cu set redus de instrucţiuni) au urmărit ca
instrucţiunile procesorului să fie de aceeaşi lungime, instrucţiunile să se execute într-o singură perioadă de ceas (cu
ajutorul tehnicii de tip pipeline). La RISC se urmăreşte de asemenea ca accesările la memorie (consumatoare de
timp) să se efectueze doar pentru operaţiile de încărcare şi stocare (arhitectura fiind numită în consecinţă:
"load/store"), iar celelalte operaţii să se efectueze cu operanzi stocaţi în registrele interne ale UCP. Unele din
proiectele de arhitecturi RISC folosesc un set mare de ferestre de registre pentru a accelera operaţiile de apel al
subrutinelor.
Rezumând, putem enumera câteva din elementele caracteristice pentru maşinile RISC:
 Acces la memorie limitat, doar prin instrucţiuni de încărcare (load) şi stocare (store);
 Format de lungime fixă pentru instrucţiuni, deci uşor de decodificat; caracteristică care contribuie la
simplificarea structurii unităţii de control;
 structură simplă a unităţii de control, deci cu viteză mare de funcţionare;
 Relativ puţine tipuri de instrucţiuni (tipic sub 100 de instrucţiuni) şi puţine moduri de adresare (din nou această
caracteristică contribuie şi la simplificarea structurii unităţii de control);
 Tehnica de tip pipeline este utilizată şi la arhitecturile CISC, dar la RISC tehnica este mai eficientă şi mai uşor
de implementat, datorită lungimii constante a instrucţiunilor;
 Un număr relativ mare de registre în interiorul UCP;
Asa cum s-a arătat mai sus, arhitecturile RISC restricţionează numărul de instrucţiuni care accesează direct
memoria principală. Cele mai multe instrucţiuni ale RISC presupun doar operaţii între registrele interne UCP.
Pentru că instrucţiunile complexe nu există în setul de instrucţiuni, dacă este nevoie de ele, acestea se
implementează prin rutine cu ajutorul instrucţiunilor existente. În final, într-un program executabil vor fi mai
multe instrucţiuni decât la CISC, dar execuţia pe ansamblu va fi mai rapidă. Formal, toate microprocesoarele x86
erau microprocesoare de tip CISC, dar microprocesoarele noi, începând de la Intel 486DX sunt microprocesoare
CISC cu un nucleu RISC. Instrucțiunile microprocesoarelor x86 de tip CISC, înainte de executarea lor, sunt
transformate într-un set simplu de instrucțiuni interne de tip RISC..
Multe microprocesoare moderne încorporează arhitecturi RISC, ca de exemplu ARM, DEC Alpha, SPARC, AVR,
MIPS, POWER, PowerPC.
24. Definiți nitiunile ”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.
Arhitectura Calculatoarelor 8

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

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

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

4. Instrucţiunea in al,71h: citeşte în registrul al un octet de la portul 71h


5. Instrucţiunea out 71h,al: scrie valoarea din registrul al la portul 71h
6. Instrucţiunea adc dest, sursă realizează operaţia: dest<--dest+ sursă+carry
7. Instrucţiunea add dest, sursă realizează operaţia: dest<--dest+ sursă
8. Instrucţiunea sub dest, sursă realizează operaţia: dest<--dest- sursă
9. Instrucţiunea sbb dest, sursă realizează operaţia: dest<--dest- sursă-carry
10 Instrucţiunea cmp dest, sursă realizează operaţia:compara operanzii sursă si destinaţie prin scădere.
Arhitectura Calculatoarelor 9
11 Care este sintaxa corectă a Instrucţiunii dec? dec dest
12 Care este sintaxa corectă a Instrucţiunii not? not dest
13 Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea shl al,3 se va obţine: 01001000
14 Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea shr al,3 se va obţine:00011001
15 Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea rol al,3 se va obține:01001110
16 Dacă în registrul AL este stocată valoarea 11001001, după Instrucţiunea ror al,3 se va obține:00111001
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: 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:0F00h
19 Care este starea indicatorului carry după Instrucţiunea rcl al,2 dacă în AL se afla 00100101? 0
20 Care este starea indicatorului carry după Instrucţiunea rcr al,2 dacă în AL se afla 00100101?1
21 Dacă în AL avem 11011110, în urma instrucțiunii and al,0fh se obține valoarea: 00001110
22 Dacă în AL avem 11011110, în urma instrucțiunii or al,0fh se obține valoarea: 11011111
23 Dacă în AL avem 11011110, în urma instrucțiunii test al,0fh se obține valoarea:11011110
24 La instrucţiunile pentru manipularea şirurilor: şirul sursă este pointat de ESI
25 Se poate seta sensul de parcurgerea şirurilor de caractere?
26 Contorul pentru instrucţiunile cu şiruri se află în registrul: CX
27 Ce operaţie realizează Instrucţiunea MOVSB?
Este o instrucțiune cu operanzi impliciți.Realizează transferul pe 8 biți ,din zona de memorie indicată de ESI,în
zona de memorie indicată de registrul EDI
28 Ce operaţie realizează Instrucţiunea CMPSB?
Comparare pe 8 biți ,din zona de memorie indicată de ESI,cu zona de memorie indicată de registrul EDI.
29 Ce operaţie realizează Instrucţiunea SCASB?
Compara valoarea din AL cu byte ,word sau doubleword din zona de memorie indicată de EDI
30 Ce operaţie realizează Instrucţiunea LODSB?
Instrucțiunile încarcă valoarea din byte,word sau doubleword din memorie indicat 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?
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ă: un salt necondiţionat la et
33 Ce operaţii se realizează la execuţia instrucțiunii CALL?
La execuția instrucțiuii CALL se efectuează apelarea procedurii. Tipul apelului poate fi dedus din tipul
procedurii,sau specificat explicit prin NEAR și FAR.Exemple: CALL nume_proc,CALL NEAR PTR
nume_proc,CALL FAR PTR nume_proc
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 refece (IP) prin copierea
conținutului vârfului stivei și incremetarea 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ă: flagul Zero este 1
36 Instrucţiunea JNZ et realizează saltul la et dacă: flagul Zero este 0
37 Instrucţiunea JC et realizează saltul la et dacă:flagul Carry este 1
38 Instrucţiunea JNC et realizează saltul la et dacă: flagul Carry este 0
39 .Instrucţiunea JCXZ et realizează saltul la et dacă: registrul CX este 0
40 Instrucţiunea corespunzătoare etichetei et din LOOP et se află: înaintea instrucțiunii LOOP
41 Instrucţiunea STC:pune carry pe 1
42 Instrucţiunea CLC: pune carry pe 0
43 Complementul față de doi se utilizează pentru: reprezentarea numerelor întregi negative
44 Cum sunt reprezentate în memorie caracterele?
Deși există mai multe sisteme de codificare a caracterelor ,pe marea majoritate a calculatoarelor actuale se
folosește codul standart ASCII
45 Cum sunt reprezentate numerele reale: în format virgula mobila
Arhitectura Calculatoarelor 10
Setul 2
1. Explicați schema structurată a microprocesorului Pentium.
Procesorul Pentium utilizează predicţia salturilor pentru a creşte performanţele construcţiilor care utilizează bucle
de program. Procesorul Pentium foloseşte mecanismul predicţiei adreselor salturilor (BTB-Branch Target
Buffer).Pentium are 2 benzi de asamblare: „u” pipeline, care execută orice instrucțiune și „v” pipeline, care
poate executa doar instrucțiuni simple în virgulă mobilă. Reguli complicate determină dacă instrucțiunile sunt
compatibile, astfel încît să poată fi executate paralel. Pentium folosește 2 memorii cache de 8 kB, pentru cele mai
frecvente coduri și date. Astfel se elimină necesitatea de a accesa permanent memoria calculatorului. De asemenea
microprocesorul are un buffer pentru decodificarea anticipată a instrucțiunilor. Astfel sunt sesizate eventualele
salturi înainte ca instrucțiunea să fie trimise în banda de asamblare. Transmiterea din memoria cache se efectueaza
pe o magistrala de 256 biți, ceea ce permite aducerea unor secvențe de instrucțiuni cu o viteză mai mare decît
viteza de procesare. Pentium utilizează predicția salturilor (BTB), care stochează informația despre ultimele
256 de salturi. Registrele generale sunt de 32 biți, dar magistralele sunt de 128 și 256 de biți pentru a mări viteza
transferurilor interne. Magistrala externă a fost extinsă la 64 de biți. Procesorul dispune de tehnologia TLB
(Translation Lookaside Buffer), care translatează adresa liniară în fizică. Pentium dispune și de un controler
avansat de întreruperi (APIC – advanced programmable interruptcon.)

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


Conform statisticii, un program tipic la fiecare 6-8 instrucţiuni conţine o instrucţiune de salt. Deci, la fiecare 6-8
instrucţiuni va fi necesară reactualizarea benzii de asamblare (BA) conform adresei de salt, şi avantajele folosirii
BA se pierd. Pentium foloseşte o memorie BTB în care se stochează informaţia ultimelor 256 de salturi.
Unitatea BTB presupune, că ramificarea va fi repetată şi furnizează instrucţiunea de salt benzii de asamblare.
Statistica predicţiilor corecte este de 80% (conform Intel).Registrele generale sunt tot de 32 de biţi, dar s-au
adăugat căi interne de date de 128 şi 256 de biţi pentru a creşte viteza transferurilor interne, iar magistrala externă
de date a fost extinsă la 64 de biţi.Mecanismul predicției salturilor este un concept întiîlnit la majoritatea
arhitecturilor performante de calculatoare și a microprocesoarelor de viteză ridicată. Acest concept permite
procesoarelor permite decodificarea instrucțiunilor de după cele de salt pentru a nu goli calea de date în banda de
asamblare la execuția instrucțiunilor de salt. Unitatea de extragere și decodificare a instrucțiunilor utilizează un
algoritm de predicție optimizat pentru anticiparea direcției fluxului de instrucțiuni prin nivele multiple de salturi,
apeluri la proceduri și reveniri din proceduri.
3. Explicați conceptul - analiza dinamică a fluxului de date.
Analiza dinamică a fluxului de date implică analiza în timp real a fluxului datelor prin procesor pentru a determina
dependenţa datelor şi a registrelor, şi pentru a detecta posibilitatea execuţiei instrucţiunilor într-o ordine diferită de
cea specificată în program. Unitatea de expediere şi execuţie a instrucţiunilor poate monitoriza simultan mai multe
instrucţiuni şi poate executa aceste instrucţiuni într-o ordine în care se optimizează utilizarea unităţilor multiple de
execuţie ale microarhitecturii, menţinând în acelaşi timp integritatea datelor asupra cărora se operează. Această
ordine de execuţie asigură ocuparea unităţilor de execuţie chiar şi atunci când apar dependenţe între datele
instrucţiunilor.
4. Explicați conceptul - execuţia speculativă.
Execuţia speculativă se referă la posibilitatea procesorului de a executa instrucţiuni aflate înaintea instrucţiunii
adresate de contorul de program, şi de a furniza rezultatele în ordinea şirului iniţial de instrucţiuni. Pentru ca
execuţia speculativă să fie posibilă, microarhitectura familiei P6 separă expedierea şi execuţia instrucţiunilor de
producerea rezultatelor. Unitatea de expediere şi execuţie a instrucţiunilor utilizează analiza fluxului de date pentru
Arhitectura Calculatoarelor 11
a executa toate instrucţiunile din rezervorul de instrucţiuni şi a memora rezultatele în registre temporare. Unitatea
de retragere a instrucţiunilor caută apoi instrucţiunile care au fost executate şi pentru care nu mai există
dependenţe de date cu alte instrucţiuni sau predicţii nerezolvate ale salturilor. Atunci când se găsesc instrucţiuni
care au fost executate, unitatea de retragere a instrucţiunilor depune rezultatele acestor instrucţiuni în memorie sau
în registrele microarhitecturii (cele opt registre ale procesorului şi opt registre ale unităţii de calcul în virgulă
mobilă), în ordinea specificată în program, şi retrage aceste instrucţiuni din rezervorul de instrucţiuni.
5. Explicați tehnologia Hyper-threading.
În microprocesor a fost implementată tehnologia Hyper-threading, ce permite execuția a două fluxuri de
instrucțiuni de un singur nucleu fizic. Sistemul de operare, ce susține tehnologia Hyper-threading, determină
existența a două procesoare logice (Logical procesor). Fizic, fiecărui procesor logic îi sunt alocate setul său de
registre și un controler de întreruperi (APIC), iar restul componentelor ale procesorului sunt utilizate în comun.
Potrivit Intel, utilizarea acestei tehnologii, majorează viteza de execuție cu 15-30%.
Următoarele elemente structurale implementate:
- adoptarea unei arhitecturi Hyper Pipeline cu 20 de segmente de procesare a instrucţiunilor
(dublu faţă de varianta P6), fapt ce a majorat frecvența procesorului – de la 1,4 Ghz (3,2 Ghz în Pentium 4
Extreme Edition);
- a fost extinsă memoria cache L2 - 512 KB și L3 – pînă la 2МB (Pentium 4 Extreme Edition),
iar transferurile între memoriile cache au ajuns la o rată de transfer de 48 GB/s;
- a fost introdusă o memorie cache pentru microinstrucțiuni, volum 12000 microinstrucțiuni;
- setul de instrucțiuni SSE2 a fost extins prin adăugarea a 144 instrucţiuni SIMD noi şi
extinderea lăţimii datelor prelucrate la 128 biţi (16 octeţi prelucraţi în paralel);
- a fost majorată rata de transfer între microprocesor și controlerul memoriei la 3,2 GB/s (La
P6 – maximum 1,06 GB/s). - proces tehnologic utilizat de 130 nm.
6. Explicați Tehnologia Macro Fusion.
Tehnologia Macro Fusion constă în fuziunea dintre două instrucțiuni x86 (și câteva microinstrucțiuni - micro-ops
Fusion), într-o una singură instrucțiune (microinstrucțiune). Unele perechi de instrucțiuni (de exemplu,
instrucțiunea de comparare și de salt condiționat) la decodificare pot fi fuzionate și utilizate ulterior ca o singură
microinstrucțiune. Ignorând tehnologia Macro Fusion procesorul (cu 4 unități de execuție) poate decodifica doar
patru instrucțiuni. Utilizând tehnologia MacroFusion, procesorul poate decodifica cinci instrucțiuni (prin
fuziunea a două din ele)
7. Explicați Tehnologia Turbo Boost.
Tehnologia Turbo Boost -  permite automat, ca  nucleele  procesorului să  poată funcționa cu o frecventă mai mare
decât frecventa de bază (nominală), doar dacă procesorul funcţionează în cadrul limitelor de putere, curent si
temperatură, conform TDP (TDP - thermal design power).
8. Descrieți modelul program IA-32.

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


Operanzii folosiţi de microprocesoare operează cu date de diferite tipuri:  Numere întregi (cu sau fără semn)
mărime de Byte, cuvânt (16 biţi), cuvânt dublu (DWord, 32 biţi), cuvânt din 4 Byte (QWord, 64 biţi), cuvânt din10
Byte (TB, 80 biţi) şi cuvânt din 16 Byte (DQWord, 128 biţi);  Biţi, câmpuri de biţi, şiruri de biţi;  Numere în
virgulă mobilă (FP) mărime 32, 64, 80 biţi. Posibilitatea de a folosi operanzi lungi (64 şi 128 biţi) a apărut în
microprocesoarele cu extensiile MMX şi XMM. Maximal de rapid microprocesorul procesează datele ce se află în
regiştrii săi interni. Componenţa regiştrilor la care au acces aplicaţiile este prezentată în figura 5.2. Notaţiile
regiştrilor pe 64 biţi încep cu litera R. Microprocesoarele includ un set de regiştri de sistem ce nu sunt folosite de
aplicaţii (în figură nu sunt prezentaţi). La ei se referă regiştrii de adrese de sistem, regiştrii de control, regiştrii
pentru reglări şi testări. Un şir din aceşti regiştri sunt specifici (Model-Specific Registers, MSR), ce sunt destinate
controlului reglărilor, monitorizării productivităţii, controlului efectuat de microprocesor, gestionarea memoriei
cache ş.a. Componenţa lor diferă la diferite microprocesoare, accesul este privilegiat.
Arhitectura Calculatoarelor 12

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


Microprocesoarele pe 32 biţi pot funcţiona în unul din următoarele moduri:  Modul de adresare reală (real
address mode), sau modul real (real mode), compatibil cu modul 8086. În acest mod este posibilă adresarea până
la 1 MByte de memorie fizică.  Modul virtual protejat de adresare (protected virtual address mode), sau modul
protejat (protected mode). În acest mod microprocesorul conectează mecanismele de segmentare şi paginare.
Mecanismul segmentării permite accesarea la un spaţiu de memorie virtuală până la 64 TByte. Practic este folosit
numai mecanismul paginării care asigură accesul fiecărei sarcini (task) la 4 GByte memorie virtuală. Implicit,
adresele şi operanzii sunt pe 32 biţi. În modul protejat microprocesorul poate executa instrucţiuni, inaccesibile în
modul real, un şir de instrucţiuni de transfer a controlului, prelucrare a întreruperilor sunt executate în mod diferit
de modul real.  Modul virtual 8086 (Virtual 8086 Mode, V86) este un mod deosebit al modului protejat, în care
microprocesorul funcţionează ca 8086 (adresele şi datele pe 16 biţi). Pe un microprocesor, în acest mod, pot fi
executate în paralel câteva sarcini cu resurse izolate. Totodată adresarea spaţiului fizic de memorie este gestionat
de mecanismele de segmentare şi paginare. Încercările de a executa instrucţiuni nepermise, ieşirea după limitele
spaţiului de memorie şi a spaţiului de intrare/ieşire permis sunt controlate de sistemul de protecţie. Mai efectiv este
modul virtual extins 8086 (Enhanced Virtual 8086 Mode, EV86) în care virtualizarea întreruperilor este
optimizată. În modul de gestiune a sistemului (System Management Mode, SMM) microprocesorul accesează un
spaţiu de memorie izolat de alte moduri. Acest mod este folosit în scopuri de control şi reglare. De exemplu,
invizibil sunt executate funcţiile de control asupra alimentării, se emulează adresările la dispozitive inexistente
(emularea tastaturii şi mouse-lui PS/2 pentru usb
11. Definiți modurile de funcționare a microprocesoarele pe 64 biţi.
Pentru microprocesoarele х86-64 modurile enunţate sunt grupate şi grupa are denumire legacy mode, dar a mai
fost introdus un nou mod long mode cu două submoduri:  Modul pe 64 biţi (64-bit mode) – acest mod susţine
adresarea virtuală pe 64 biţi şi extensiile registrelor pe 64 biţi. În acest mod este folosit numai modelul plat de
memorie (un segment comun pentru cod, date şi stivă). Implicit adresa este pe 64 biţi, a operanzilor – 32 biţi, dar
cu prefixul (REX) pot fi definiţi operanzi pe 64 biţi. A fost introdus un nou mod de adresare – relativ la indicatorul
de instrucţiuni. Acest mod este folosit de sistemele de operare (SO) pe 64 biţi la lansarea aplicaţiilor pe 64 biţi –
este setat de SO pentru segmentul de cod a unei sarcini; Modul de compatibilitate (compatibility mode) permite
SO să execute aplicaţii pe 32 şi 16 biţi.
12. Explicaţi structura și destinația blocului FPU (coprocesor) din modelul program al microproc.lor x86-64.
Registrele blocului FPU sunt destinaţi executării operaţiilor aritmetice, calcului principalelor funcţii matematice
(trigonometrice, exponente, logaritmi) ş.a. În diferite generaţii de microprocesoare acest bloc era numit FPU
(Floating Point Unit- unitatea de prelucrare în virgulă mobilă) , NPX (Numeric Processor extension – extensie
numerică a procesorului) sau coprocesor. Coprocesorul prelucrează 7 tipuri de date: numere întregi pe 16, 32, 64
biţi; numere în virgulă mobilă pe 32, 64, 80 biţi (format FP) şi 18 numere în cod binar-zecimal (BCD). Aplicarea
coprocesorului accelerează considerabil viteza de calcul.
13. Explicaţi structura și destinația blocului MMX din modelul program al microprocesoarelor x86-64.
Tehnologia MMX este orientată aplicaţiilor multimedia, grafica 2D/3D şi comunicaţiilor. Avantajul principal al
MMX constă în prelucrarea concomitentă a unui şir de date cu o instrucţiune – conform tehnologiei SIMD (Single
Instruction — Multiple Data). Tehnologia MMX prelucrează noi tipuri de date împachetate în registre pe 64 biţi: 8
Byte, 4 cuvinte, 2 cuvinte duble, cuvânt pe 64 biţi. Aceste date sunt prelucrate în registrele MMX0-MMX7, care
reprezintă 64 biţi inferiori ai registrelor FPU pe 80 biţi.
14. Explicaţi struct.și destin.blocului XMM şi extensiilor SSE din modelul program al microproc-lor x86-64.
Extensiile SSE (Streaming SIMD Extensions) sunt destinate accelerării prelucrării fluxurilor mari de date în
virgulă mobilă (FP). Extensiile fluxurilor de date sunt realizate pe baza registrelor blocului XMM (8 registre pe
128 biţi la microprocesoarele pe 32 biţi, 16 - la microprocesoarele x86- 64). Registrele XMM prelucrează
următoarele tipuri de date:  4 numere în virgulă mobilă cu precizie unitară (32 biţi);  2 numere în virgulă mobilă
cu precizie dublă (64 biţi);  Numere întregi: 16 Byte, 8 cuvinte, 4 cuvinte duble sau 2 cuvinte pe 64biţi (numai în
SSE2) În procesoarele Pentium III este aplicat setul SSE, în Pentium 4 – SSE2 destinat pentru prelucrarea datelor
în grafica 3D, codificarea/decodificarea video, cifrarea datelor. Apoi a fost aplicată şi extensia SSE3, iar în
procesaorele moderne și SSE4.2. Blocul XMM şi seturile SSE1, SSE2, SSE3 sunt aplicate şi în microprocesoarele
AMD
Arhitectura Calculatoarelor 13

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


Există deci două modalităţi principial diferite de a trata memoria:
- Adresarea liniară, care presupune accesul în memorie în mod continuu de la adresa 0 la adresa 2n1 , unde "n"
este numărul de biţi ai unei adrese (sau, fizic, numărul de linii ai magistralei de adrese).
- Adresarea segmentată, în care memoria este divizată logic în porţiuni numite segmente, în interiorul cărora
adresarea este liniară. Orice localizare în memorie se face relativ la baza segmentului iar fixarea fizică a bazei unui
segment este transparentă utilizatorului. Am prezentat deja, pentru 8086, mecanismul segmentelor de dimesiune
fixă, noţiunea de adresă logică precum şi translatarea ei în adresă fizică.
16. Explicați conceptul de memorie virtuală.
Conceptul de memorie virtuală se bazează pe ideea separării memoriei logice a utilizatorului de cea fizică și
extinderea memoriei logice prin stocare imaginii sale pe hard disc. Fiecare program la execuție, nu este obligatoriu
să fie stocat întreg în memoria RAM, ci doar o secvență de cod și date, executate la un moment dat. Apare, în mod
firesc, ideea de a extinde spațiul de memorie logică, care poate fi realizat cu mult mai mare decât memoria fizică.
Acesta este principiul de bază al organizării memoriei virtuale.
17. Explicaţi conceptul "multitasking".
Un alt concept este acela de multiprocesare (concurenţă, multiprogramare, "multitasking") care se referă la
capacitatea calculatorului de a executa mai multe procese ("task-uri") simultan aceasta se realizează prin
comutarea, secvenţială, de la o secvenţă de instrucţiuni a unui proces (task) la altă secvenţă aparţinând altui proces
şi aşa mai departe, apoi se comută din nou la prima secvenţă etc. Tot acest mecanism este transparent utilizatorului
care are impresia desfaşurării simultane a mai multor procese (aceasta poate însemna, eventual, mai mulţi
utilizatori, sau un singur utilizator care are nevoie de mai multe procese simultan). Ideea nu trebuie să surprindă:
este firesc ca într-un sistem cu o memorie virtuală de mari dimensiuni (la Pentium ajunge la 64TB), organizată
logic întro multitudine de segmente, să fie loc pentru mai multe procese.
18. Menţionaţi trei aspecte ale mecanismului protecţiei.
 Controlul informaţiei (coduri sau diverse tipuri de date);
 Izolarea utilizatorilor unul faţă de altul (protecţia "inter-task");
 Izolarea software-ului de sistem de cel de aplicaţii (protecţia "intra-task")
19. Explicaţi procedeul "swapping tasks".
Segmentarea memoriei şi multiprocesarea încurajează un procedeu de a rula procese ce au nevoie de resurse
importante de memorie, în memorii fizice cu mult mai reduse. Acest deziderat se realizează prin procedeul
denumit interschimbarea locului proceselor ("swapping tasks"), care constă în trimiterea provizorie în memorie a
proceselor (sau a unor părţi componente dintr-un proces) din memoria internă în cea externă, dacă acel proces (sau
acea parte din el) nu este în execuţie la un moment dat. Schimbarea locului între memoria internă şi cea externă se
poate face de câte ori este necesar pentru a menţine continuu în memoria internă doar strictul necesar bunei
desfaşurări a unei acţiuni.
20. Structura adresei virtuale pentru PentiumIV.
Adresa virtuală pentru pentium IV, ca şi adresa logică, are pentru utilizator două părţi componente:
 adresa efectivă (sau offsetul ădresei virtuale);
 selectorul, care înlocuieşte adresa segment. Adresa efectivă este adresa în interiorul segmentului şi utilizatorul
trebuie să o conceapă ca fiind relativă la baza unui segment predefinit. Adresa efectivă este precizată de modul de
adresare aferent instrucţiunii care o utilizează. Selectorul se află, ca şi în cazul adreselor logice, tot într-un registru
segment. Noutatea constă în faptul că definirea segmentului asociat unui selector nu se mai face direct (ca în cazul
microprocesorului Intel 8086) ci prin mecanismul adresării indirecte. Microprocesorul are următoarele
particularităţi:
- Adresa virtuală este o adresă pe 48 de biţi: AV ≡ adr48 - Adresa efectivă este o adresă pe 32 biţi: AE ≡ adr32
Aceasta impune dimensiunea maximă a unui segment la 232 B = 4 GB
21. Explicați schema generării adresei fizice în microprocesoarele pe 32 biţi, în mod protejat.
In mod protejat adresa de bază se încarcă din descriptor, ce se află într-un tabel de descriptori, selectat de
selectorul ce se află în registrul de segment utilizat. Adresa fizică este formată după translatarea adresei lineare cu
ajutorul unităţii de paginare. Adresa se plasează pe magistrala externă a procesorului. Când unitatea de paginare
este deconectată adresa fizică coincide cu cea lineară. Unitatea de paginare activată translatează adresa lineară în
cea fizică ce localizează pagini de 4 KByte (2 sau 4 MB). Unitate de paginare poate fi activată numai în modul
protejat.
Arhitectura Calculatoarelor 14

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

41. Divizarea sistemului USB pe trei nivele.


Sistema USB se divizează pe 3 nivele cu anumite reguli de interacțiune. Dispozitivul USB conține interfața(USB
Bus Interface), componentele logice(USB Logical Device) și funcția(function). Hostul tot este divizat în 3 părți –
interfața(USB Host Controller),de sistem(USB System) și soft-ul dispozitivului(Client SW)

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


Fiecare dispozitiv USB conţine un set de puncte finale (Endpoint), cu care host-controlerul realizează schimb de
informaţie. Endpoint se caracterizează cu următorii parametri:
- frecvenţa de acces la magistrală; lăţimea de bandă a canalului; numărul Endpoint ; cerinţe la prelucrarea
erorilor ,mărimea max. a pachetelor transferate ;tip. transferului direcţia transferului (pentru transferul izocronic
Fiecare tranzacţie, constă din 3 pachete şi începe în momentul în care controlerul USB transmite, pe baza unei
planificări, un pachet antet (Token) care descrie tipul tranzacţiei, direcţia acesteia, adresa dispozitivului USB şi
numărul punctului terminal. Sursa tranzacţiei transmite apoi un pachet de date (Data) conţinând datele care trebuie
transferate, sau poate indica faptul că nu are date de transmis prin faptul că pachetul de date nu conţine informaţii
utile. Destinaţia răspunde, în general, cu un pachet de confirmare (Handshake) indicând dacă transferul s-a
efectuat cu succes sau dacă punctul terminal nu este disponibil.
43. Func.şi hub-uri; trei niv.ale sistemului USB; modelul de transfer a datelor; struct.tranz.din 3 pachete).
Arhitectura USB permite patru tipuri de transferuri de date: de control, de întrerupere, de date voluminoase şi
izocrone. Transferuri pe magistrala USB Fiecare transfer pe magistrală este iniţiat de Host controler. Controlerul
formează cadre în care sunt plasate transferurile către fiecare dispozitiv conectat la magistrala USB. Pentru
sincronizarea întregului sistem USB, calculatorul gazdă transmite câte un pachet SOF (Start-of-Frame) la fiecare
interval de timp corespunzător începutului unui cadru sau micro-cadru. Un cadru reprezintă un interval de timp de
1 ms ± 0,0005 ms şi este definit pentru magistrala USB cu viteza normală (12 Mbiţi/s). Un micro-cadru reprezintă
un interval de timp de 125 μs ± 0,0625 μs şi este definit pentru magistrala USB cu viteza ridicată (480 Mbiţi/s). Un
pachet SOF constă dintr-un câmp de sincronizare, un câmp PID şi un câmp de 11 biţi reprezentând numărul
cadrului, după cum se ilustrează . După pachetul SOF urmează transferul către primul dispozitiv conectat la
magistrala USB(pachetele IN/OUT, DATA, HANDSHAKE, ca pe fig. 7.33), apoi se petrece schimbul de date cu
dispozitivul doi(pachetele IN/OUT, DATA, HANDSHAKE), până nu este apelat ultimul dispozitiv conectat la
magistrală. Dispozitivele lente pot fi apelate şi peste câteva cadre. În următorul cadru interogarea dispozitivelor se
repetă. În cazul magistralei USB cu viteza ridicată, numărul cadrului va fi acelaşi pentru opt pachete SOF
consecutive, pe durata unei perioade de 1 ms.
44. USB (Func.şi hub-uri; tip.de transf.a datelor;form.pach-lor;struct.transf. de cadre pe magistrala USB).
Ca dispozitive (Device) USB pot fi hub-uri (distribuitoare), funcţii sau dispozitive ce îmbină şi hub-uri şi funcţii
(compound device, figura 7.17). Hub-urile asigură puncte de conectare suplimentare a dispozitivelor la magistrală.
Funcţiile USB sunt nişte sisteme, de exemplu mouse ce susţine USB. Dispozitive care combină câteva funcţii,
(compound device, figura mai jos) de exemplu, keyboard cu trackball încorporat. O funcţie este un dispozitiv USB
care poate transmite şi/sau recepţiona date sau informaţii de control pe magistrală. Acest dispozitiv trebuie să
răspundă la cererile de tranzacţie transmise de calculatorul gazdă. O funcţie este implementată în mod obişnuit ca
un periferic separat conectat printr-un cablu la un port al unui hub. Un singur dispozitiv fizic poate conţine însă
funcţii multiple. De exemplu, o tastatură şi un trackball pot fi combinate într-un singur dispozitiv fizic. În cadrul
unui asemenea dispozitiv compus, funcţiile individuale sunt ataşate la un hub, iar acest hub intern este conectat la
magistrala USB. Fiecare funcţie conţine informaţii de configuraţie care descriu posibilităţile sale şi resursele
Arhitectura Calculatoarelor 19
necesare. Aceste informaţii sunt transmise calculatorului gazdă ca răspuns la o tranzacţie de control. Înaintea
utilizării unei funcţii, aceasta trebuie configurată de calculatorul gazdă. Această configurare presupune alocarea
unei lăţimi de bandă în cadrul magistralei USB şi selectarea opţiunilor specifice de configuraţie.

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

  • Atestarea 1 AC Rezolvat
    Atestarea 1 AC Rezolvat
    Document10 pagini
    Atestarea 1 AC Rezolvat
    Ion Damaschin
    Încă nu există evaluări
  • AC Sesiunea 1
    AC Sesiunea 1
    Document8 pagini
    AC Sesiunea 1
    Valeria Codrean
    Încă nu există evaluări
  • Lab1 AC
    Lab1 AC
    Document13 pagini
    Lab1 AC
    Dark Light
    100% (1)
  • Ac 3
    Ac 3
    Document10 pagini
    Ac 3
    Maria Sevciuc
    Încă nu există evaluări
  • Raport4 Lab4 AC
    Raport4 Lab4 AC
    Document3 pagini
    Raport4 Lab4 AC
    crismaruion
    Încă nu există evaluări
  • Lab1 Arhitectura Calculatoarelor
    Lab1 Arhitectura Calculatoarelor
    Document8 pagini
    Lab1 Arhitectura Calculatoarelor
    Valeria Lisenco
    Încă nu există evaluări
  • Laborator 1 Prelucrarea Semnalelor
    Laborator 1 Prelucrarea Semnalelor
    Document19 pagini
    Laborator 1 Prelucrarea Semnalelor
    Ion Cornea
    Încă nu există evaluări
  • Examen PW
    Examen PW
    Document71 pagini
    Examen PW
    DorinRotaru
    Încă nu există evaluări
  • Subiecte Asdn
    Subiecte Asdn
    Document2 pagini
    Subiecte Asdn
    Catalin Crisan
    100% (1)
  • Lucrare de Laborator nr.4 Florea Cristina
    Lucrare de Laborator nr.4 Florea Cristina
    Document9 pagini
    Lucrare de Laborator nr.4 Florea Cristina
    Cristina Florea
    Încă nu există evaluări
  • Atestare
    Atestare
    Document3 pagini
    Atestare
    Cristian Conea
    Încă nu există evaluări
  • Darea de Seama ASM
    Darea de Seama ASM
    Document18 pagini
    Darea de Seama ASM
    VasiaTimus
    100% (1)
  • PPE Lab7
    PPE Lab7
    Document14 pagini
    PPE Lab7
    danielploaia
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document8 pagini
    Lab 1
    dtatn
    Încă nu există evaluări
  • PAM
    PAM
    Document3 pagini
    PAM
    nicu zuza
    Încă nu există evaluări
  • Laborator nr.1 APA
    Laborator nr.1 APA
    Document5 pagini
    Laborator nr.1 APA
    Anastasia Gherman
    Încă nu există evaluări
  • Lab2 Somipp
    Lab2 Somipp
    Document6 pagini
    Lab2 Somipp
    Iov Albu
    Încă nu există evaluări
  • Laborator 1 Cucu Eugeniu
    Laborator 1 Cucu Eugeniu
    Document5 pagini
    Laborator 1 Cucu Eugeniu
    Cucu Eugen
    Încă nu există evaluări
  • Laborator Retele de Calculatoare nr.2
    Laborator Retele de Calculatoare nr.2
    Document3 pagini
    Laborator Retele de Calculatoare nr.2
    Alexandr Țurcan
    Încă nu există evaluări
  • ASDN2
    ASDN2
    Document6 pagini
    ASDN2
    Viktor Dobrovolschi
    Încă nu există evaluări
  • Lab 2 LFA Doc
    Lab 2 LFA Doc
    Document7 pagini
    Lab 2 LFA Doc
    Jenya Matevosean
    Încă nu există evaluări
  • Raport 6
    Raport 6
    Document3 pagini
    Raport 6
    Dekionlolz В
    Încă nu există evaluări
  • PS Lab #3-2020 Short
    PS Lab #3-2020 Short
    Document11 pagini
    PS Lab #3-2020 Short
    Full Name
    Încă nu există evaluări
  • TAP Lab5 Popov Biatrice CR 191
    TAP Lab5 Popov Biatrice CR 191
    Document6 pagini
    TAP Lab5 Popov Biatrice CR 191
    Alina Axenti
    Încă nu există evaluări
  • Lab 4 APA
    Lab 4 APA
    Document20 pagini
    Lab 4 APA
    Cristi Poselețchi
    Încă nu există evaluări
  • Laboratorul 1
    Laboratorul 1
    Document11 pagini
    Laboratorul 1
    Дарья Рг
    Încă nu există evaluări
  • Lab1 Somipp
    Lab1 Somipp
    Document14 pagini
    Lab1 Somipp
    Jen4ik
    100% (1)
  • Lab1 La Programare in Windows
    Lab1 La Programare in Windows
    Document4 pagini
    Lab1 La Programare in Windows
    Micael Coye
    Încă nu există evaluări
  • Lab APA 4
    Lab APA 4
    Document12 pagini
    Lab APA 4
    AlionaCrigan
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document10 pagini
    Lab 1
    Radu Madiudin
    Încă nu există evaluări
  • Laborator Metode Numerice
    Laborator Metode Numerice
    Document4 pagini
    Laborator Metode Numerice
    Florin Gheorghe
    Încă nu există evaluări
  • LL1 Prelucrarea Semnalelor
    LL1 Prelucrarea Semnalelor
    Document20 pagini
    LL1 Prelucrarea Semnalelor
    Anya Mr
    Încă nu există evaluări
  • Lab 5
    Lab 5
    Document7 pagini
    Lab 5
    Dorin Nicoara
    Încă nu există evaluări
  • IoT LL6
    IoT LL6
    Document8 pagini
    IoT LL6
    Anya Mr
    Încă nu există evaluări
  • Programarea Paralela Si Concurenta
    Programarea Paralela Si Concurenta
    Document24 pagini
    Programarea Paralela Si Concurenta
    Beșliu Nicu
    Încă nu există evaluări
  • Lab1 GC
    Lab1 GC
    Document8 pagini
    Lab1 GC
    Andrei Barbalat
    Încă nu există evaluări
  • AI-191 Medinschi Ion SO4
    AI-191 Medinschi Ion SO4
    Document5 pagini
    AI-191 Medinschi Ion SO4
    Carolin
    Încă nu există evaluări
  • Lab5 RC
    Lab5 RC
    Document3 pagini
    Lab5 RC
    Жан Ганган
    Încă nu există evaluări
  • Ppe 1
    Ppe 1
    Document5 pagini
    Ppe 1
    Victor Lungu
    Încă nu există evaluări
  • PSLab 1
    PSLab 1
    Document19 pagini
    PSLab 1
    Victor Turculet
    Încă nu există evaluări
  • PS Lab2
    PS Lab2
    Document13 pagini
    PS Lab2
    Dorin Osipov
    Încă nu există evaluări
  • PSLab 4
    PSLab 4
    Document5 pagini
    PSLab 4
    Victor Turculet
    Încă nu există evaluări
  • Prelucrarea Semnalelor Lab 4
    Prelucrarea Semnalelor Lab 4
    Document18 pagini
    Prelucrarea Semnalelor Lab 4
    Greed MD
    Încă nu există evaluări
  • TW Lab3
    TW Lab3
    Document6 pagini
    TW Lab3
    Dan
    Încă nu există evaluări
  • Interactiunea Om-Calculator
    Interactiunea Om-Calculator
    Document85 pagini
    Interactiunea Om-Calculator
    Maxim Grajdean
    Încă nu există evaluări
  • Ppe 1-3
    Ppe 1-3
    Document86 pagini
    Ppe 1-3
    Doinita Dumanov
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document6 pagini
    Lab 4
    violina
    Încă nu există evaluări
  • Lab 7 Somipp
    Lab 7 Somipp
    Document5 pagini
    Lab 7 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • APA - Lab2 GS
    APA - Lab2 GS
    Document18 pagini
    APA - Lab2 GS
    Unknown Person
    Încă nu există evaluări
  • IoT LL1
    IoT LL1
    Document12 pagini
    IoT LL1
    Anya Mr
    100% (1)
  • LL2 Baze de Date
    LL2 Baze de Date
    Document15 pagini
    LL2 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • IoT LL4
    IoT LL4
    Document4 pagini
    IoT LL4
    Anya Mr
    Încă nu există evaluări
  • Examen TIDPP
    Examen TIDPP
    Document3 pagini
    Examen TIDPP
    Rosca Doinita
    Încă nu există evaluări
  • Ac Exam
    Ac Exam
    Document92 pagini
    Ac Exam
    Negru Tatiana
    Încă nu există evaluări
  • Lab Ac 2
    Lab Ac 2
    Document12 pagini
    Lab Ac 2
    Sebastian Oglage
    Încă nu există evaluări
  • Cap 1
    Cap 1
    Document19 pagini
    Cap 1
    Dan Bulbuc
    Încă nu există evaluări
  • Mic Raspunsuri
    Mic Raspunsuri
    Document32 pagini
    Mic Raspunsuri
    MihaiBacso
    100% (1)
  • Bti Masm
    Bti Masm
    Document10 pagini
    Bti Masm
    Narcisa Busuioc
    Încă nu există evaluări
  • Atestarea Ac
    Atestarea Ac
    Document11 pagini
    Atestarea Ac
    Cristina Florea
    Încă nu există evaluări
  • Ilovepdf Merged
    Ilovepdf Merged
    Document124 pagini
    Ilovepdf Merged
    Stefan
    Încă nu există evaluări
  • Proiectul de An
    Proiectul de An
    Document43 pagini
    Proiectul de An
    Rosca Doinita
    Încă nu există evaluări
  • Orar Examen FR IV
    Orar Examen FR IV
    Document3 pagini
    Orar Examen FR IV
    Rosca Doinita
    Încă nu există evaluări
  • Amoo Partea I
    Amoo Partea I
    Document20 pagini
    Amoo Partea I
    Rosca Doinita
    Încă nu există evaluări
  • Examen TIDPP
    Examen TIDPP
    Document3 pagini
    Examen TIDPP
    Rosca Doinita
    Încă nu există evaluări
  • Prezentare 11
    Prezentare 11
    Document16 pagini
    Prezentare 11
    Rosca Doinita
    Încă nu există evaluări
  • Prezentare 10
    Prezentare 10
    Document12 pagini
    Prezentare 10
    Rosca Doinita
    Încă nu există evaluări
  • Prezentare 8
    Prezentare 8
    Document34 pagini
    Prezentare 8
    Rosca Doinita
    Încă nu există evaluări
  • Prezentare 7
    Prezentare 7
    Document8 pagini
    Prezentare 7
    Rosca Doinita
    Încă nu există evaluări