Mecanisme avansate în procesoare

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: docx
Pagini : 41 în total
Cuvinte : 8958
Mărime: 2.19MB (arhivat)
Publicat de: Eric Bratu
Puncte necesare: 7
Universitatea De Stat din Pitești Facultatea De Electronică Comunicații și Calculatoare

Extras din proiect

Predicția Salturilor

Predicţia salturilor este o cerinţă importantă în sistemele de calcul ce utilizează intens

tehnica pipe-line. Prin predicţia salturilor se optimizează utilizarea structurii pipe-line

evitându-se reiniţializarea acesteia dacă intrucţiunile corespunzătoare saltului în program au

fost încărcate în mod eronat.

În situaţia unei instrucţiuni de salt condiţionat instrucţiunea ţintă nu poate fi încarcată

în pipe-line decât după ce s-a calculat adresa de salt şi nu s-a evaluat condiţia de salt. Pentru

salturile necondiţionate trebuie calculată numai adresa de salt.

Până când aceste informaţii sunt disponibile structura pipe-line aşteaptă sau încarcă o

instrucţiune tintă posibilă; în momentul când informaţiile sunt disponibile se poate decide o

reiniţializare a structurii (în situaţia în care în pipe-line s-au încărcat instrucţiuni ţintă în mod

eronat). În ambele situaţii apare o degradare a performanţei structurii pipe-line. Utilizarea

predicţiei salturilor conduce la o atenuare a acestei degradări de performanţă datorită faptului

că în majoritatea cazurilor instrucţiunile ţintă sunt încărcate corect.

Instrucţiunile de salt se impart în două categorii:

- salturi statice ( care se regăsesc în codul binar şi sînt cunoscute înainte de execuţia programului)

- salturi dinamice ( care apar în urma execuţiei şi nu sînt cunoscute înainte de execuţie)

Predicţia salturilor dinamice este mai dificilă decît predicţia salturilor statice.

Ideea de bază a predicţiei salturilor este memorarea istoriei fiecărui salt (dacă s-a

efectuat sau nu s-a efectuat) şi luarea deciziei (salt efectuat / salt ne-efectuat) pe baza acestei

istorii. Se definesc anumite tipare (patern) de diferite lungimi care indică în timp dacă saltul

s-a efectuat sau nu. Aceste tipare sunt dependente de tipul de program care se execută.

Există mai multe tipuri de programe (task-uri):

• T1 – procesarea bazelor de date

• T2 – programe de căutare, editare, compilare şi testare

• T3 – programe de rezervare hotelieră, tranzacţii bancare

• T4 – programe utilitare pentru manevrarea de date

În următorul tabel se prezintă un număr de instrucțiuni de salt pentru fiecare tip de task:

Predicţia salturilor utilizează un buffer de memorie ( BTB – Branch Target Buffer)

care conţine adresele instrucţiunilor ţintă pentru fiecare salt precum şi informaţia necesară

predicţiei. Bufferul BTB este adresat cu ajutorul adresei instrucţiunii de salt. Deoarece în mod

evident nu se poate utilize un BTB excesiv de mare se vor utilize tehnici de mapare a adresei

instrucţiunii de salt în spaţiul de adresabilitate al BTB ( tehnici similare mapării memoriei

cache). Dimensiunea bufferului BTB influenţează rata de predicţie (figura 1).

Figura 1. Variaţia ratei de predicţie funcţie de dimensiunea BTB

Dimensiunea mare a BTB poate fi în aparenţă un avantaj. Totuşi un BTB mare are

următoarele dezavantaje:

• se reduce din dimensiunea memoriei sistemului

• se stochează adrese effective ( nu adrese fizice) ceea însemnă că la comutarea task-urilor tot conţinutul BTB este inutil sau chiar contraproductiv

Bibliografie

1. The 1st JILP Championship Branch Prediction Competition (CBP-1),

http://www.jilp.org/cbp, 2004

Gellert A., Vint¸an L., Person Movement Prediction Using Hidden

Markov Models, Studies in Informatics and Control, Vol.15, No. 1,

2. ISSN: 1220-1766, National Institute for Research and Development in

Informatics, Bucharest, March 2006

3. Gellert A., Florea A., Vint¸an M., Egan C., Vint¸an L. Unbiased

Branches: An Open Problem, Lecture Notes in Computer Science,

Advances in Computer Systems Architecture, vol. 4697, pg. 16-27,

Springer-Verlag Berlin / Heidelberg, 2007

4. Marcus S., Paradigme universale, Ed. Paralela 45, Pite¸sti, 2005,

paginile 248-257

5. Marcus S. - Comunicare personal˘a (trimis˘a prin e-mail autorului), 23

ianuarie, 2008

6. Rabiner L. R.,A Tutorial on Hidden Markov Models and Selected Ap-

plications in Speech Recognition, Proceedings of the IEEE, Vol. 77, No.

February 1989

7. Vint¸an L.,Towards a High Performance Neural Branch Predictor, Pro-

ceedings of the International Joint Conference on Neural Networks,

Washington DC, USA, 10-16 July, 1999

8. Vint¸an L., Gellert A., Florea A., Oancea M., Egan C., Understanding

Prediction Limits through Unbiased Branches, Lecture Notes in Com-

puter Science, Advances in Computer Systems Architecture, vol. 4186,

pg. 480-487, Springer-Verlag Berlin / Heidelberg, 2006

Lucian N. Vint¸an 31

9. Vint¸an L., Prediction Techniques in Advanced Computing Architec-tures, Matrix Rom Publishing House, Bucharest, 2007

10. Volchan S. B., What Is a Random Sequence?, The American Mathe-matical Monthly, 109, January 2002

11. http://en.wikipedia.org/wiki/Kolmogorov complexity

Universitatea ”Lucian Blaga” din Sibiu

Catedra de Calculatoare ¸si Automatiz˘ari,

Str.E. Cioran, Nr. 4, Sibiu - 550025, ROMˆANIA,

E-mail: lucian.vintan@ulbsibiu.ro,

http://webspace.ulbsibiu.ro/lucian.vintan

Preview document

Mecanisme avansate în procesoare - Pagina 1
Mecanisme avansate în procesoare - Pagina 2
Mecanisme avansate în procesoare - Pagina 3
Mecanisme avansate în procesoare - Pagina 4
Mecanisme avansate în procesoare - Pagina 5
Mecanisme avansate în procesoare - Pagina 6
Mecanisme avansate în procesoare - Pagina 7
Mecanisme avansate în procesoare - Pagina 8
Mecanisme avansate în procesoare - Pagina 9
Mecanisme avansate în procesoare - Pagina 10
Mecanisme avansate în procesoare - Pagina 11
Mecanisme avansate în procesoare - Pagina 12
Mecanisme avansate în procesoare - Pagina 13
Mecanisme avansate în procesoare - Pagina 14
Mecanisme avansate în procesoare - Pagina 15
Mecanisme avansate în procesoare - Pagina 16
Mecanisme avansate în procesoare - Pagina 17
Mecanisme avansate în procesoare - Pagina 18
Mecanisme avansate în procesoare - Pagina 19
Mecanisme avansate în procesoare - Pagina 20
Mecanisme avansate în procesoare - Pagina 21
Mecanisme avansate în procesoare - Pagina 22
Mecanisme avansate în procesoare - Pagina 23
Mecanisme avansate în procesoare - Pagina 24
Mecanisme avansate în procesoare - Pagina 25
Mecanisme avansate în procesoare - Pagina 26
Mecanisme avansate în procesoare - Pagina 27
Mecanisme avansate în procesoare - Pagina 28
Mecanisme avansate în procesoare - Pagina 29
Mecanisme avansate în procesoare - Pagina 30
Mecanisme avansate în procesoare - Pagina 31
Mecanisme avansate în procesoare - Pagina 32
Mecanisme avansate în procesoare - Pagina 33
Mecanisme avansate în procesoare - Pagina 34
Mecanisme avansate în procesoare - Pagina 35
Mecanisme avansate în procesoare - Pagina 36
Mecanisme avansate în procesoare - Pagina 37
Mecanisme avansate în procesoare - Pagina 38
Mecanisme avansate în procesoare - Pagina 39
Mecanisme avansate în procesoare - Pagina 40
Mecanisme avansate în procesoare - Pagina 41

Conținut arhivă zip

  • Mecanisme avansate in procesoare.docx

Te-ar putea interesa și

Analiza Filtrelor de Eliminare a Zgomotului din Imagini

Introducere Imaginile digitale sunt deseori afectate de zgomote de diferite naturi. Unul din ele, foarte des întâlnit, este zgomotul impulsiv...

Execuția Speculativă a Instrucțiunilor

Execuţia speculativă a instrucţiunilor Execuţia speculativă este deocamdată cea mai avansată tehnică de procesare a instrucţiunilor de salt....

Evoluția microprocesoarelor

Arhitectura x86 Corporatia Cyrix este unul dintre furnizorii de baza ai solutiilor bazate pe microprocesoare, care a introdus noi standarde pe...

Evoluția microprocesoarelor

Evolutia procesoarelor Perioada 1993-1998 a fost foarte zbuciumata, marcata de o lupta foarte dura pe piata microprocesoarelor, in care Intel a...

Arhitectura calculatoarelor

Capitolul 1 INTRODUCERE 1.1 Scurt istoric al sistemelor de calcul Istoria mijloacelor mecanice de calcul începe cu multe secole în urma. Se...

Arhitectura sistemelor de calcul

1.1. SCHEMA DE BAZĂ A UNUI CALCULATOR Orice calculator are în componenţă patru mari unităţi fundamentale: -Unitatea centrală (UC). -Unitatea de...

Structura procesoarelor din familia Intel

5.1. Structura procesorului 286 Arhitectura internă a microprocesorului 286 constă din patru unităţi funcţionale, care lucrează în paralel şi...

Arhitectura unui PC

CAPITOLUL I ARHITECTUARA PC Ce este un PC ? Calculatorul este un echipament electronic ce permite prelucrarea automata a datelor sau realizarea...

Ai nevoie de altceva?