Pipeline

3x puncte

categorie: Informatica

nota: 10.00

nivel: Liceu

Una dintre aceste forțe este tehnologia de fabricație și miniaturizarea. Miniaturizarea unui circuit integrat digital se măsoară în microni; distanța care se indică este, grosolan vorbind, distanța între două sîrme adiacente pe o suprafață a circuitului. Tehnologia curentă dominantă în acest an este undeva între 0.25 și 0.35 microni. Pentru comparație, un fir de păr omenesc are cam 25 de microni, [...]
DOWNLOAD REFERAT

Preview referat: Pipeline

Una dintre aceste forțe este tehnologia de fabricație și miniaturizarea. Miniaturizarea unui circuit integrat digital se măsoară în microni; distanța care se indică este, grosolan vorbind, distanța între două sîrme adiacente pe o suprafață a circuitului. Tehnologia curentă dominantă în acest an este undeva între 0.25 și 0.35 microni. Pentru comparație, un fir de păr omenesc are cam 25 de microni, adică de 100 de ori mai mult!

A doua metodă de creștere a performanței, care este oarecum o consecință indirectă a miniaturizării, este paralelismul. Dacă ai mai mulți vîslași barca merge mai repede. Cu cît vîslașii sînt mai mici, cu atît poți pune mai mulți în cală. (Desigur, analogia nu e perfectă, pentru că, spre deosebire de galere, pentru un microprocesor un vîslaș mai mic face la fel de multă treabă ca unul mare).

Cum se aplică deci conceptul în cazul microprocesoarelor? Care e treaba unui microprocesor? Să execute, una cîte una, instrucțiunile programelor scrise de utilizatori. Dar execuția unei instrucțiuni se poate descrie ca o serie de pași succesivi; ceva de genul: adu instrucțiunea din memorie, uită-te ce fel de instrucțiune este (o operație aritmetică/logică, un apel de procedură, un salt, etc.), decide care date trebuie procesate (care sînt regiștrii care conțin acele date), extrage datele din regiștri, efectuează operația asupra datelor, pune rezultatul la loc unde trebuie, și ia-o de la capăt cu instrucțiunea următoare.

Dacă un procesor este implementat ca un pipeline, atunci între diferitele stagii ale țevii se află niște "tampoane", care izolează stagiile unul de altul. Arhitectural vorbind, tampoanele sînt de fapt tot niște regiștri, numiți pipeline registers. Fiecare din acești regiștri este comandat de ceasul microprocesorului, și încarcă în interior toate rezultatele procesării obținute din stagiul anterior: instrucțiunea, rezultatele parțiale, informații de stare, etc. .

Mai există o grămadă de probleme pe care le-am trecut cu vederea, dar care devin evidente de îndată ce ne aplecăm puțin asupra construcției.
Prima problemă care poate apărea provine din faptul că una dintre aserțiunile mele de mai sus poate fi falsă; anume aceasta: "cînd folosea unul dintre stagii, celelalte erau inutile".

Iată un exemplu în care acest lucru nu este adevărat: un procesor trebuie după fiecare instrucțiune să incrementeze adresa de unde se ia următoarea instrucțiune (adresa este aflată în registrul numit "program counter"). Pentru că incrementarea este o operațiune aritmetică, procesorul ar putea folosi pentru acest scop unitatea aritmetică-logică (în figura noastră am fi avut în loc de ALU și circuitul de incrementare un singur circuit).

Aici avem deci un conflict: o altă instrucțiune, aflată în stagiul de calcul ar putea dori să folosească acea unitate în același timp pentru că trebuie să adune două numere.

Astfel de "hazards" sînt numite "structurale", pentru că structura procesorului nu permite executarea anumitor tipuri de instrucțiuni simultan în stagii diferite. În exemplul nostru, instrucțiunile care nu folosesc unitatea aritmetică (de pildă o instrucțiune de salt absolut) nu cauzează nici un fel de conflicte.

Putem da și alte exemple de dependențe structurale: mai multe instrucțiuni vor să acceseze simultan același registru, mai multe instrucțiuni vor să acceseze memoria (de pildă o instrucțiune care vrea să-și adune operanzii și tocmai îi citește și una care a terminat și vrea să scrie rezultatul), sau instrucțiuni a căror execuție durează mai mulți cicli de ceas. Un exemplu de ultima speță sînt de pildă operațiile în virgulă flotantă (adică cu numere "reale", nu întregi) care durează uneori zeci de cicli de ceas, iar procesorul de obicei are o singură unitate de calcul în virgulă flotantă.
DOWNLOAD REFERAT
« mai multe referate din Informatica

CAUTA REFERAT

TRIMITE REFERAT CERE REFERAT
Referatele si lucrarile oferite de E-referate.ro au scop educativ si orientativ pentru cercetare academica.
Confidentialitatea ta este importanta pentru noi

E-referate.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat termenii si conditiile de utilizare pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles