Structura și arhitectura calculatoarelor

Previzualizare curs:

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:

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • 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
Alte informații:
Tipuri fișiere:
doc, pdf
Nota:
10/10 (1 voturi)
Nr fișiere:
22 fisiere
Pagini (total):
223 pagini
Imagini extrase:
223 imagini
Nr cuvinte:
75 111 cuvinte
Nr caractere:
399 735 caractere
Marime:
3.30MB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Automatică
Predat:
la facultate
Materie:
Automatică
Profesorului:
Viorel Angelin, sef catedra de Calculatoare
Sus!