Documente Academic
Documente Profesional
Documente Cultură
Pentium are 2 benzi de asamblare: u pipeline, care execut orice instruciune i v pipeline, care
poate executa doar instruciuni simple n virgul mobil. Reguli complicate determin dac
instruciunile sunt compatibile, astfel nct s poat fi executate paralel. Pentium folosete 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 instruciunilor. Astfel sunt sesizate eventualele salturi nainte ca instruciunea s fie
trimise n banda de asamblare. Transmiterea din memoria cache se efectueaza pe o magistrala de
256 bii, ceea ce permite aducerea unor secvene de instruciuni cu o vitez mai mare dect viteza de
procesare. Pentium utilizeaz predicia salturilor (BTB), care stocheaz informaia despre ultimele
256 de salturi. Registrele generale sunt de 32 bii, dar magistralele sunt de 128 i 256 de bii pentru a
mri viteza transferurilor interne. Magistrala extern a fost extins la 64 de bii. Procesorul dispune
de tehnologia TLB (Translation Lookaside Buffer), care translateaz adresa liniar n fizic.
Pentium dispune i de un controler avansat de ntreruperi (APIC advanced programmable interrupt
con.)
2. Explicai mecanismul prediciei adreselor salturilor (BTB).
Mecanismul prediciei salturilor este un concept ntilnit la majoritatea arhitecturilor performante de
calculatoare i a microprocesoarelor de vitez ridicat. Acest concept permite procesoarelor permite
decodificarea instruciunilor de dup cele de salt pentru a nu goli calea de date n banda de
asamblare la execuia instruciunilor de salt. Unitatea de extragere i decodificare a instruciunilor
utilizeaz un algoritm de predicie optimizat pentru anticiparea direciei fluxului de instruciuni prin
nivele multiple de salturi, apeluri la proceduri i reveniri din proceduri.
3. Explicai 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 dependena datelor i a registrelor i pentru a detecta posibilitatea execuiei
instruciunilor ntr-o ordine diferit de cea specificat n program. Unitatea de expediere i execuie
a instruciunilor poate monitoriza simultan mai multe instruciuni i poate executa aceste instruciuni
ntr-o ordine n care se optimizeaz utilizarea unitilor multiple de execuie ale micro arhitecturii,
meninnd n acelai timp integritatea datelor asupra crora se opereaz. Aceast ordine de execuie
asigur ocuparea unitilor de execuie chiar i atunci cnd apar dependene ntre datele
instrunciunilor.
4. Explicai execuia speculativ
Execuia speculativ se refer la posibilitatea de a executa instruciuni aflate naintea instruciunii
adresate de contorul de program i de a furniza rezultatele n ordinea irului iniial de instruciuni.
Pentru ca execuia speculativ s fie posibil, microarhitectura familiei de procesoare P6 separ
expedierea i execuia instruciunilor de producerea rezultatelor. Unitatea de expediere i execuie a
instruciunilor utilizeaz analiza fluxului de date pentru a executa toate instruciunile din rezervorul
de instruciuni i de memora rezultatele n registre temporare. Unitatea de retragere a instruciunilor
caut apoi instruciunile care au fost executate i dac se gsesc de acestea, unitatea de retragere
depune rezultatele n memorie sau n registrele microarhitecturii i le retrage din coada de
instruciuni.
Registre de uz general
31
15
Spatiul
de
adresare
0
ax
eax
ah
al
i 486/ Pentium
Pentium PRO/II/III/IV
bx
ebx
bh
bl
Stiva
cx
ecx
ch
2 36-1 ( 2 32-1)
ss: esp
cl
dx
edx
dh
dl
ebp
bp
esi
si
cs
ss
ds
edi
di
esp
sp
Registre de
segment
es
fs
gs
Registre de sistem
127
0
xmm0
xmm1
xmm2
xmm3
xmm4
xmm5
xmm6
xmm7
Registrele extensiilor MMX in virgula mobila
(Pentium III /IV)
RF
Fanionul reluare 16
(Resume Flag)
VM
Fanionul
registrul de reglare
17
modului virtual
AC
alinierii
(Alignment
Check)
8086 (Virtual
8086 Mode)
Fanionul
Destinat
controlului alinierii
la adresarea
memoriei
0 microprocesorul
funcioneaz
n modul
real
VIF
Fanionul
19
ntreruperii
Pentium.
Virtuale
VIP
(Virtual
Fanionul
20
Interrupt Flag)
ntreruperii
Virtuale
ID
amnate
Fanionul
(Virtual
21
Interrupt
identificrii
Pending flag)
(IDentification
flag)
Registre de uz general
63
31
15
0
eax
RAX
ah ax al
ebx
bh bx bl
RBX
ecx
ch cx cl
RCX
edx
RDX
dh dx dl
RBP
ebp
bp
esi
si
RSI
RDI
di
edi
esp
sp
RSP
R8
R9
R10
R11
R12
R13
R14
R15
127
0
cs
ss
ds
xmm0
xmm1
xmm2
xmm3
xmm4
xmm5
xmm6
xmm7
xmm8
xmm9
xmm10
xmm11
xmm12
xmm13
xmm14
xmm15
Registre de
segment
es
fs
gs
15
63
31
0
Registrul de fanioane
flags
RFLAGS eflags
eip
ip
RIP
Registrul idicator de instruciuni
Registre de sistem
8086/x86-64
Pentru microprocesoarele 86-64 modurile enunate sunt grupate i grupa are denumire legacy
mode, dar a mai fost introdus un nou mod long mode cu dou submoduri:
Modul pe 64 bii (64-bit mode) acest mod susine adresarea virtual pe 64 bii i extensiile
registrelor pe 64 bii. n acest mod este folosit numai modelul plat de memorie (un segment
comun pentru cod, date i stiv). Implicit adresa este pe 64 bii, a operanzilor 32 bii, dar cu
prefixul (REX) pot fi definii operanzi pe 64 bii. A fost introdus un nou mod de adresare
relativ la indicatorul de instruciuni. Acest mod este folosit de sistemele de operare (SO) pe 64
bii la lansarea aplicaiilor pe 64 bii este setat de SO pentru segmentul de cod a unei sarcini;
Modul de compatibilitate (compatibility mode) permite SO s execute aplicaii pe 32 i 16 bii.
12.Explicai structura i destinaia blocului FPU (coprocesor) din modelul program al
microprocesoarelor x86-64.
Registrele blocului FPU sunt destinai executrii operaiilor aritmetice, calcului principalelor funcii
matematice (trigonometrice, exponente, logaritmi) .a. n diferite generaii 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 bii; numere n virgul mobil pe 32, 64, 80 bii (format
FP) i 18 numere n cod binar-zecimal (BCD). Aplicarea coprocesorului accelereaz considerabil
viteza de calcul.
Registre de uz general
63
31
15
0
eax
RAX
ah ax al
ebx
bh bx bl
RBX
ecx
ch cx cl
RCX
edx
RDX
dh dx dl
RBP
ebp
bp
esi
si
RSI
RDI
di
edi
esp
sp
RSP
R8
R9
R10
R11
R12
R13
R14
R15
0
cs
ss
ds
Registre de
segment
es
fs
127
xmm0
xmm1
xmm2
xmm3
xmm4
xmm5
xmm6
xmm7
xmm8
xmm9
xmm10
xmm11
xmm12
xmm13
xmm14
xmm15
gs
15
63
31
0
Registrul de fanioane
flags
RFLAGS eflags
eip
ip
RIP
Registrul idicator de instruciuni
Registre de sistem
8086/x86-64
14.Explicai structura i destinaia blocului XMM i extensiilor SSE din modelul program al
microprocesoarelor x86-64.
Extensiile SSE (Streaming SIMD Extensions) sunt destinate accelerrii prelucrrii fluxurilor
mari de date n virgul mobil (FP). Extensiile fluxurilor de date sunt realizate pe baza registrelor
blocului XMM (8 registre pe 128 bii la microprocesoarele pe 32 bii, 16 - la microprocesoarele x8664).
Registrele XMM prelucreaz urmtoarele tipuri de date:
4 numere n virgul mobil cu precizie unitar (32 bii);
2 numere n virgul mobil cu precizie dubl (64 bii);
Numere ntregi: 16 Byte, 8 cuvinte, 4 cuvinte duble sau 2 cuvinte pe 64bii (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
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. Menionai trei aspecte ale mecanismului proteciei.
Controlul informaiei (coduri sau diverse tipuri de date);
Izolarea utilizatorilor unul fa de altul (protecia "inter-task");
Izolarea software-ului de sistem de cel de aplicaii (protecia "intra-task").
19. Explicai 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 pri componente dintr-un proces) din
memoria intern n cea extern, dac acel proces (sau acea parte din el) nu este n execuie la un
moment dat. Schimbarea locului ntre memoria intern i cea extern se poate face de cte ori este
necesar pentru a menine continuu n memoria intern doar strictul necesar bunei desfaurri a unei
aciuni.
20. Structura adresei virtuale pentru PentiumIV.
Adresa virtual pentru pentium IV, ca i adresa logic, are pentru utilizator dou pri
componente:
adresa efectiv (sau offsetul dresei virtuale);
selectorul, care nlocuiete 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
instruciunii 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 adresrii indirecte.
Microprocesorul are urmtoarele particulariti:
-
n mod protejat adresa de baz se ncarc din descriptor, ce se afl ntr-un tabel de descriptori,
selectat de selectorul ce se afl n registrul de segment utilizat. Adresa fizic este format dup
translatarea adresei lineare cu ajutorul unitii de paginare. Adresa se plaseaz pe magistrala extern
a procesorului. Cnd 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.
AE LIMITA
Mecanismul translatrii adresei virtuale (TI=1) este dat n
Figura 6.6.
Stabilirea bazei tabelei de descriptori depinde de tipul de
tabel: n spaiul adreselor globale sau locale.
n spaiul 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 instruciuni privilegiate, astfel nct un
utilizator obinuit s nu poat avea acces la redefinirea acestei
tabele (reamintim c GDT este folosit de toate procesele, inclusiv de sistemul de operare).
25. Explicai mecanismul paginrii (folosind adresa liniar) aplicat la Pentium (fig).
Mecanismul paginrii (pagini pe 4K) are urmtoarele elemente eseniale:
Se utilizeaz dou nivele de adresare indirect cu memoria, astfel nct, pn 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 rndul lor ca nite
pagini speciale; deci au toate mrimea fix de 4 kB. Se pstreaz astfel principiul coerenei
informaiei n memorie (ca i n cazul segmentelor).
Att directorul ct i tabelele de pagini au structur uniform fiind formate din 1 k "elemente"
de cte 4 octei. Senmificaia informaiei din aceste elemente va fi detaliat n cadrul acestui
subcapitol. Ne limitm s menionm acum c aici se gsete adresa bazei tabelei i respectiv a
paginii selectate.
Orice adres a bazei unei tabele sau a unei pagini este dat pe 20 de bii, acetia constituind
partea mai semnificativ a adresei fizice vizate. Toate blocurile n memorie sunt "aliniate" din
4 kB n 4 kB, deci, automat cei mai puin semnificativi 12 bii 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 puin
semnificativi 12 bii ai adresei sunt 0).
26. Explicai 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 strile suplimentare impuse de
mecanismul paginrii, unitatea care se ocup de aceasta conine o astfel de memorie, adresabil prin
coninut, denumit TLB ("translation lookaside buffer"). Principiul este prezentat n figura 6.10.
Memoria conine cele mai frecvent utilizate 32 de elemente din director i tabelele paginilor. De cte
ori este necesar accesul ntr-o pagin, se verific nti TLB. Dac aici se gsete elementul vizat
(ceea ce se numete "cache hit"), translatarea se face citind adresa corespunztoare din TLB, fr
timpii adiionali de calcul i cutare n tabele succesive. Reactualizarea TLB se face ori de cte ori
nu se gasete elementul cerut ("cache miss"). Evident TLB este complet rennoit cnd CR3 este
ncrcat cu o nou adres de baz a directotiilui. Intel ne asigur c n 98% dintre referinele n
memorie, mecanismul de translatare este nlocuit cu simpla citire a adresei din TLB.
31. Descriei tehnologia Hyper Transport (topologia, tunel, cave, structura magistralei HT).
Tehnologia (arhitectura) HyperTransport (HT) a fost proiectat ca alternativ arhitecturii bazate pe
magistrale i puni. Principala inovaie nlocuirea conectrii prin intermediul magistralelor a
dispozitivelor periferice prin conectarea punct-la-punct (point-to-point) ce presupune transferuri de
date concomitent n ambele direcii ntre 2 noduri (Prin aceast tehnologie se majoreaz
considerabil viteza de transfer a datelor.Puntea de baz (host bridge) asigur legtura 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:
Interfaa HyperTransport pe 16 bii (Side A) ofer o rat maximal de transfer (lime de
band) pn la 6,4 GB/s;
Interfaa HyperTransport pe 8 bii (Side B) ofer o rat maximal de transfer pn la 1,6
GB/s.
32. Magistrala PCI (Configurarea; comentai diagrama transferului de date pe magistrala
PCI).
Dispozitivul PCI poate fi multifuncional, adic const din mai multe funcii. Fiecrei funcii se
atribuie un spaiu de configurare de 256 bytes (Standardul PCI determin pentru fiecare slot spaiu
de configurare de pn la 256 registre (pe 8 bits), ce nu se refer la spaiul de memorie i nici la
spaiul de intrare/ieire). Accesul la acestea registre se petrece n faze speciale ale magistralei
Configuration Read i Configuration Write. Numrul funciei (function number), n tranzaciile de
configurare este transmis pe liniile AD[10:8] (liniile AD[0:7] adreseaz registrii din interiorul
dispozitivului PCI). Deci dispozitivul poate ncorpora pn la 8 funcii. La configurare se adreseaz
funcia cu numrul 0.
La o magistral PCI pot fi conectate cteva dispozitive fiecare cu numrul su (device number). n
sistem pot fi cteva magistrale PCI, fiecare cu numrul su (PCI bus number). Magistralele se
numeroteaz consecutiv.
33. Magistrala serial PCI Express (topologia, structura legturii punct la punct, data
stripping, protocolul).
Topologia unui sistem bazat pe magistrala PCI Express conine un comutator i mai multe
conexiuni punct la punct cu dispozitivele de I/E. Nivelul fizic are la baz o legtur punct la punct
format din dou canale de comunicaie simplex, unul pentru transmisie i unul pentru recepie.
Legtura fizic de baz (Figura 7.10) utilizeaz 4 conexiuni ntre dou dispozitive, semnalele
transmise fiind difereniale i avnd tensiuni reduse (LVDS - Low Voltage Differential Signaling).
Nivelul legturii 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 obine rate de
transfer ridicate.
Interfaa 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, funcioneaz ca o punte ntre magistrala SCSI i
magistrala sistemului. Magistrala SCSI nu comunic direct cu echipamentele periferice, cum sunt
unitile de discuri, ci cu controllerul care este inclus n aceste uniti.
O singur magistral SCSI poate accepta pn la 8 sau 16 uniti fizice, numite uniti SCSI,
dintre care una este adaptorul SCSI. Unitile fizice pot fi uniti de discuri fixe, uniti de band,
uniti CD-ROM, scanere, imprimante. Majoritatea sistemelor pot accepta pn la patru adaptoare
SCSI la sistemul gazd, fiecare din acestea permind cuplarea a pn la apte echipamente
periferice, conectate n lan.
SCSI este o interfa destinat n special staiilor de lucru i serverelor cu performane ridicate.
La prima versiune a interfeei SCSI, frecvena de ceas a magistralei era de 5 MHz, iar rata maxim
de transfer era de 5 MB/s. La versiunile actuale ale acestei interfee, frecvena 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 lng aceste versiuni paralele ale interfeei SCSI, a fost elaborat i o versiune serial a interfeei.
Aceast interfa SCSI serial, numit Serial Attached SCSI, va nlocui treptat interfaa SCSI
paralel. Att tehnologia SCSI paralel, ct i cea serial, sunt promovate de organizaia SCSI Trade
Association. Exist dou tipuri principale de interfee electrice SCSI: normale i difereniale.
37. Caracterizai magistrala serial SCSI (SAS).
Serial Attached SCSI (SAS) reprezint versiunea serial a interfeei SCSI. Aceasta utilizeaz un
protocol serial punct la punct i setul standard de comenzi SCSI. Interfaa serial SAS ofer
compatibilitate cu unitile de discuri SATA de generaia a doua, care se pot conecta la plci de baz
SAS. Totui, unitile de discuri SAS nu se pot conecta la plci de baz SATA. Interfaa 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. Interfaa SAS utilizeaz semnale difereniale, codificarea 8b/10b a
datelor i cifrarea datelor pentru reducerea interferenelor electromagnetice. Se pot combina pn la
patru porturi cu aceeai adres ntr-un port de lime mai mare, care permite transferuri de date cu
pn la 24 Gbii/s.
38. Definii noiunea hub (USB).
hub (usb) Cablul de comunicaie 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
Fiecare dispozitiv USB conine un set de puncte finale (Endpoint), cu care host-controlerul realizeaz
schimb de informaie. Endpoint se caracterizeaz cu urmtorii parametri:
frecvena de acces la magistral;
limea de band a canalului;
numrul Endpoint
cerine la prelucrarea erorilor
mrimea maximal a pachetelor transferate
tipul transferului
direcia transferului (pentru transferul izocronic
Fiecare tranzacie, const din 3 pachete i ncepe n momentul n care controlerul USB transmite,
pe baza unei planificri, un pachet antet (Token) care descrie tipul tranzaciei, direcia acesteia,
adresa dispozitivului USB i numrul punctului terminal. Sursa tranzaciei transmite apoi un pachet
de date (Data) coninnd datele care trebuie transferate, sau poate indica faptul c nu are date de
transmis prin faptul c pachetul de date nu conine informaii utile. Destinaia rspunde, n general,
cu un pachet de confirmare (Handshake) indicnd dac transferul s-a efectuat cu succes sau dac
punctul terminal nu este disponibil. Succesiunea pachetelor n tranzacii este prezentat n fig. 7.32