SPM Pipeline

Imagine preview
(8/10)

Acest referat descrie SPM Pipeline.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 3 pagini .

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domenii: Calculatoare, Automatica, Inteligenta Artificiala

Extras din document

A doua metoda de crestere a performantei, care este oarecum o consecinta indirecta a miniaturizarii, este paralelismul. Daca ai mai multi vîslasi barca merge mai repede. Cu cît vîslasii sînt mai mici, cu atît poti pune mai multi în cala. (Desigur, analogia nu e perfecta, pentru ca, spre deosebire de galere, pentru un microprocesor un vîslas mai mic face la fel de multa treaba ca unul mare). Cum se aplica deci conceptul în cazul microprocesoarelor? Care e treaba unui microprocesor? Sa execute, una cîte una, instructiunile programelor scrise de utilizatori. Dar executia unei instructiuni se poate descrie ca o serie de pasi succesivi; ceva de genul: adu instructiunea din memorie, uita-te ce fel de instructiune este (o operatie aritmetica/logica, un apel de procedura, un salt, etc.), decide care date trebuie procesate (care sînt registrii care contin acele date), extrage datele din registri, efectueaza operatia asupra datelor, pune rezultatul la loc unde trebuie, si ia-o de la capat cu instructiunea urmatoare.

Daca un procesor este implementat ca un pipeline, atunci între diferitele stagii ale tevii se afla niste "tampoane", care izoleaza stagiile unul de altul. Arhitectural vorbind, tampoanele sînt de fapt tot niste registri, numiti pipeline registers. Fiecare din acesti registri este comandat de ceasul microprocesorului, si încarca în interior toate rezultatele procesarii obtinute din stagiul anterior: instructiunea, rezultatele partiale, informatii de stare, etc. .Mai exista o gramada de probleme pe care le-am trecut cu vederea, dar care devin evidente de îndata ce ne aplecam putin asupra constructiei.

Prima problema care poate aparea provine din faptul ca una dintre asertiunile mele de mai sus poate fi falsa; anume aceasta: "cînd folosea unul dintre stagii, celelalte erau inutile". Iata un exemplu în care acest lucru nu este adevarat: un procesor trebuie dupa fiecare instructiune sa incrementeze adresa de unde se ia urmatoarea instructiune (adresa este aflata în registrul numit "program counter"). Pentru ca incrementarea este o operatiune aritmetica, procesorul ar putea folosi pentru acest scop unitatea aritmetica-logica (în figura noastra am fi avut în loc de ALU si circuitul de incrementare un singur circuit). Aici avem deci un conflict: o alta instructiune, aflata în stagiul de calcul ar putea dori sa foloseasca acea unitate în acelasi timp pentru ca trebuie sa adune doua numere.

Fisiere in arhiva (1):

  • Pipeline.doc