Architettura Degli ElaboratoriCorsi

L’architettura di tipo SISD

Nel 1972 l’ingegnere e informatico Flynn, ideò una nuova classificazione degli elaboratori suddividendoli in:

  • SISD, (Single Instruction Single Data) il classico modello di Von Neumann
  • SIMD, (Single Instruction Single Data), ad esempio gli Array di Processori e l’Architettura MMX
  • MISD, (Mutiple Instruction Single Data), questo tipo di architettura non è stato ancora realizzato un modello del genere
  • MIMD, (Multiple Instruction Multi Data), ad esempio le architettura a multiprocessori e multicomputer.

ARCHITETTURA SISD

L’architettura SISD è il modello di Von Neumann, costituita da un unico processore che esegue una singola istruzione su un dati di tipo scalare.

L’elaborazione è estremamente sequenziale, è possibile eseguire esclusivamente un’istruzione dopo l’altra il cui ordine è fissato dal programma.

Il ciclo d’istruzione è composto da:

  • Fase di Fetch, in cui l’unità di controllo (CU) preleva l’istruzione da eseguire e viene incrementato il registro PC (Program Counter);
  • Fase di Decode, l’unità di controllo (CU) interpreta l’istruzione da eseguire
  • Fase di Execute, l’unica di aritmetico-logica (ALU) esegue le operazione e l’unita di controllo (CU) controlla l’esecuzione delle operazioni.

La macchina SISD presenta limiti architetturali e tecnologici in quanto c’è una singola connessione tra memoria e processore derivante dal:

  • Processore che può prelevare un’istruzione alla volta
  • Diverse velocità tra processore e memoria

Per superare tale limiti sono stati necessari:

  • Allargamento del bus;
  • Introduzione della cache;
  • Introduzione del Parallelismo temporale, ovvero si cerca di eseguire il maggior numero di istruzioni al secondo tramite il pipelining.

SISD BASATI SUL PREFETCHING

L’architettura SISD era inizialmente basato sul prefetching i quali prevedevano separate unità per eseguire il fetch e l’execute.

Questa tecnica non tiene conto delle alterazioni della sequenza d’istruzioni, ad esempio con le istruzioni di salto. I cambiamenti della sequenza fanno perdere il vantaggio del prefetching, tuttavia non rallentano l’esecuzione del programma.

BASATI SUL PAPELING

In questo tipo di architettura l’esecuzione di un’istruzione è divisa in più fasi dette stadi. Ogni stadio è gestito da un’unità Hardware dedicata per consentire l’esecuzione simultanea di più fasi d’istruzioni.

Il modello SISD basato sul papeling è comunque un modello seriale ma opera in parallelo su più istruzioni che si trovano a successivi stadi di elaborazione.

L’obiettivo del pipeling non è quello di eseguire le istruzioni velocemente bensì aumentare la frequenza di completamento delle istruzioni aumentando il throughtput.

La latenza con la quale viene eseguita un’istruzione non cambia aumentano solo il numero di istruzioni per ciclo (IPC).

I fattori che possono limitare le potenzialità del papelining sono:

  • Dipendenza tra istruzioni, si verifica quanto un’istruzione dipende dal risultato di un’altra operazione
  • Presenza di istruzioni di salto, il processore non riesce a comprendere quale sia la successiva istruzione fino a quanto non viene completata l’istruzione di diramazione.

Nell’architettura RISC il pipeling consente di raggiungere elevate velocità di calcolo, nelle CISC, invece, i vantaggi non possono essere sfruttati a pieno. In presenza di istruzioni complesse che eseguono il papelining le istruzioni più semplici vengono rallentate.

Due processori con la stessa frequenza di clock possono avere differenti velocità se uno utilizza il piplining e l’atro no. Oltre alla frequenza di clock occorre tenere a mente il numero delle istruzioni completate per ciclo.

LINK UTILI

Corso su Architettura Degli Elaboratori: https://www.developersumo.com/architettura-degli-elaboratori/
Pagina Instagram: https://www.instagram.com/developer_sumo/
Le nostre applicazioni: https://play.google.com/store/apps/developer?id=Developer+Sumo

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

You may also like

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *