SISD

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Arhitecturi conexe
( Taxonomia lui Flynn )
Instrucțiuni
Singur
Instrucțiuni
Multiplu
Dat
Singur
SISD MISD
Date
Multiplu
SIMD MIMD

Fluxul de instrucțiuni unice, fluxul de date unice ( SISD ) este o arhitectură în care o singură unitate de procesare execută un singur flux de date [1] . Acesta corespunde arhitecturii clasice von Neumann folosită în aproape toate computerele personale chiar dacă acum este învechită.

Mașină SISD

În arhitectura SISD este posibil să se execute o singură instrucțiune la un moment dat pe o singură dată, executând instrucțiunile una după alta, așa cum este cerut de paradigma imperativă.

Cicluri de educație

  • Faza de preluare = preia instrucțiunea care trebuie executată din memoria centrală utilizând adresa conținută în PC (Program Counter), crește computerul astfel încât să poată conține adresa următoarei instrucțiuni de executat,
  • Faza de decodare = CU (unitatea de control) interpretează instrucțiunea și determină operațiunile care trebuie efectuate.
  • Execute phase = ALU (unitate aritmetică logică) execută operațiile și CU monitorizează progresul execuției operațiunilor.

Limitele arhitecturii SISD

O limitare importantă a arhitecturii SISD este conexiunea unică între procesor și memorie. Deoarece accesul la memorie este limitat la o singură operație la un moment dat, apare problema clasică definită ca blocaj , generând o încetinire generalizată.

Solutii posibile

Unele soluții identificate sunt:

  • Extinderea BUS-ului de date;
  • Introducerea cache - ului ;
  • Paralelism de timp pentru instrucțiuni, asigurându-vă că mașina este capabilă să proceseze cel mai mare număr posibil de instrucțiuni pe secundă.

Mașină SISD cu pre-preluare

Suprapunerea „temporală” a preluării și executarea fazei a două instrucțiuni succesive.

Calculatorul are două unități hardware separate pentru a efectua faza de preluare și executare.

Această tehnică nu ia în considerare modificările în secvența de execuție.

Exemplu: când există instrucțiuni de salt

Modificările secvenței nu vă permit să profitați de câștigurile de timp datorate pre-preluării, dar nici nu încetinesc execuția în comparație cu modelul de pre-preluare.

Conducte pe SISD

Pipelining implică atât executarea unei instrucțiuni împărțite în mai multe faze (numite și etape), cât și suprapunerea temporală a etapelor mai multor instrucțiuni, în care fiecare etapă este gestionată de o unitate hardware dedicată.

Conducerea pe SISD presupune funcționarea paralelă a mai multor instrucțiuni situate în diferite etape.

Pipelining nu execută instrucțiuni mai repede, dar crește rata de finalizare a instrucțiunilor, adică crește numărul de instrucțiuni executate pe secundă ( Throughtput ).

 Throughtput = Num_operations / cycle

Conductele au de obicei 5 etape de bază. O conductă în etapă X procesează N instrucțiuni pe o perioadă de timp egală cu ciclurile de ceas X + (N-1), în timp ce un procesor cu conducte ia X * N cicluri de ceas.

Câștigul maxim (randament) este dat de indicele Speed_up definit astfel: Speed_up = [X+(N-1)]/(X*N)

Probleme de conducte

În prezența tarabelor, câștigul unei conducte este redus atât datorită dependenței dintre instrucțiuni, cât și datorită prezenței instrucțiunilor de salt, deoarece următoarea instrucțiune care trebuie executată nu este cunoscută a priori.

În arhitectura RISC , conducta permite atingerea unor viteze mari de calcul.

În arhitectura CISC , avantajele conductelor nu sunt întotdeauna exploatate datorită prezenței instrucțiunilor complexe care utilizează toate fazele de conducte, încetinind cele simple.

Notă

  1. ^ Hennessy, John L. și Asanović, Krste., Arhitectura computerelor: o abordare cantitativă , ediția a 5-a, Morgan Kaufmann, 2012, ISBN 012383872X ,OCLC 755102367 .
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT