Extras din curs
Cap. 1. SISTEME PIPELINE
Tehnica pipeline reprezintă o metodă de îmbunătătire a performantelor
unui procesor sau a unei unităti aritmetice. Această metodă permite executia
simultană a mai multor instructiuni sau operatii. Această tehnică este
transparentă pentru programator; ea utilizează paralelismul prin suprapunerea
fazelor de executie ale instructiunilor sau a etapelor de executie ale unei operatii
aritmetice. Un sistem pipeline poate fi comparat cu o linie de asamblare a unui
produs, în care există posturi de lucru specializate pentru o anumită operatie, iar
la capătul benzii este obtinut produsul final.
1.1. Structura unui sistem pipeline
Tehnica pipeline descompune un proces secvential în mai multe
subprocese, care sunt executate de unităti sau etaje diferite. Un etaj execută un
subproces si produce un rezultat intermediar, care reprezintă o intrare pentru
etajul următor. Rezultatul final este obtinut numai după ce toate subprocesele
au trecut prin întregul sistem pipeline. Figura 1.1 ilustrează structura de bază a
unui sistem pipeline cu m etaje.
Fig. 1.1
Un etaj Ei constă dintr-un registru de intrare sau latch Ri si un circuit de
prelucrare Ci , care poate fi secvential, combinational sau inteligent. Registrele
păstrează rezultatele partiale pe măsură ce acestea se deplasează prin sistemul
pipeline; registrele au si rolul de buffere care previn interferentele dintre etajele
vecine. Un semnal comun de ceas determină ca registrele să îsi schimbe starea
în mod sincron. In fiecare ciclu de ceas, fiecare etaj transferă rezultatele sale
partiale la următorul etaj si calculează un nou set de rezultate. Perioada
semnalului de ceas trebuie să fie suficient de mare pentru ca etajul cel mai lent
Date de
intrare
Date de
iesire
Etaj E1 Etaj E2 Etaj Em
R1 R2 Rm
m
C1 C2 Cm
Unitate de Control
să termine executia operatiei sale. In plus, trebuie să existe un timp suficient
pentru ca un registru să memoreze datele sale de intrare. Deci, perioada
ceasului trebuie să fie mai mare decât întârzierea maximă a etajului cel mai lent,
plus timpul necesar pentru memorarea datelor într-un registru.
Avantajul acestei tehnici constă în faptul că un sistem pipeline cu m etaje
poate procesa simultan până la m seturi independente de subprocese. Aceste
subprocese se deplasează prin sistemul pipeline etaj cu etaj, astfel încât atunci
când sistemul pipeline este plin, sunt executate în mod concurent m operatii
separate, fiecare într-un etaj diferit. Mai mult, un nou rezultat final este generat
la iesirea sistemului pipeline în fiecare ciclu de ceas.
1.2. Indicatori de performantă ai sistemelor pipeline
Prin suprapunerea fazelor de executie ale unui proces secvential pentru
diferite taskuri de intrare (instructiuni sau operatii), se obtine un timp teoretic de
executie egal cu:
T m P n P pipe = ∗ + ( −1) ∗ (1.1)
unde m este numărul de etaje, n este numărul taskurilor de intrare, iar P este
perioada ceasului. Termenul m∗ P, numit întârziere sau latentă a sistemului
pipeline, este timpul necesar pentru ca primul task de intrare să parcurgă toate
etajele, iar termenul (n −1) ∗ P este timpul necesar pentru următoarele taskuri.
După întârzierea necesară parcurgerii tuturor etajelor, se va genera o iesire în
fiecare ciclu de ceas. Iesirile vor fi generate la intervale de timp care depind de
întârzierea introdusă de etajul cel mai lent. Chiar si cu această limitare, prin
tehnica pipeline se pot îmbunătăti performantele în mod semnificativ fată de
executia obisnuită, în care este necesară terminarea unui task înainte de
începerea executiei unui alt task. Atunci când n are o valoare mare, un sistem
pipeline poate genera iesirile de aproximativ m ori mai rapid fată de un sistem
care nu utilizează această tehnică.
Pe de altă parte, fără suprapunerea fazelor de executie procesul
secvential anterior necesită un timp de executie egal cu:
Σ
=
= ∗ τ
m
i
T n i
1
sec (1.2)
unde, este întârzierea introdusă de etajul i . In cazul ideal în care toate etajele
au întârzieri egale, τ = τ i pentru i =1,...,m, Tsec poate fi scris ca:
Tsec = n ∗m∗ τ (1.3)
Dacă se ignoră timpul necesar memorării într-un registru ( = 0 ti ), atunci
P = τ
si se obtine:
T = n ∗m∗ P sec (1.4)
Cresterea vitezei de calcul ( S ) poate fi definită ca:
( 1) ( 1)
sec
+ −
∗
=
∗ + − ∗
∗ ∗
= =
m n
n m
m P n P
n m P
T
T
S
pipe
(1.5)
Valoarea S se apropie de m atunci când n→∞. Deci, cresterea maximă a
vitezei unui sistem pipeline cu m etaje fată de un sistem care nu utilizează
tehnica pipeline este aproximativ m. Cu alte cuvinte, atunci când n este foarte
mare, un sistem pipeline poate genera iesirile de aproximativ m ori mai rapid
fată de un sistem obisnuit. Atunci când n are o valoare mică, cresterea vitezei
este mai redusă; pentru n =1, cresterea vitezei este 1.
Pe lângă cresterea de viteză, se utilizează adesea alti doi factori pentru
determinarea performantelor unui sistem pipeline; acestea sunt eficienta si rata
de transfer. Eficienta E a unui sistem pipeline cu m etaje, care reprezintă
cresterea vitezei pe etaj, este definită ca:
Preview document
Conținut arhivă zip
- cap4.doc
- Curs_1.pdf
- Curs_10.pdf
- Curs_11.pdf
- Curs_12.pdf
- Curs_13.pdf
- Curs_14.pdf
- Curs_2.pdf
- Curs_3.pdf
- Curs_4.pdf
- Curs_5.pdf
- Curs_6.pdf
- Curs_7.pdf
- Curs_8.pdf
- Curs_9.pdf
- curs15.doc
- Fig_Cap2.doc
- Simulare_pipeline_1.pdf
- Simulare_Scorebord.pdf
- Simulare_Tomasulo.pdf
- Structura_unui_calculator.pdf
- Subiecte_pt[1]._referate.pdf