Che materia stai cercando?

Pipeline - Architettura elaboratori

Appunti e riassunti sulla tecnica del pipelining. Struttura e funzionamento; nascita di un bisogno e da questo un idea ... Ti aiuteranno se non sai dove guardare!!! fidati. Appunti basati su appunti personali del publisher presi alle lezioni del prof. Mei.

Esame di Architettura degli elaboratori docente Prof. A. Mei

Anteprima

ESTRATTO DOCUMENTO

PIPELINE HAZARD

Ci sono situazioni in cui avvengono errori nella pipeline, a causa dei quali non possiamo eseguire

l’istruzione successiva nel successivo colpo di clock. Questi errori vengono chiamati HAZARDS.

Esistono 3 tipi di Hazards:

⚫ STRUCTURAL HAZARDS;

⚫ DATA HAZARDS;

⚫ CONTROL | BRANCH HAZARDS.

1.

Structural Hazard avviene quando cerchiamo di eseguire più istruzioni nello stesso ciclo di clock, e per

questo motivo il nostro programma per la pipeline verrebbe sventato. Fortunamente questo hazard

non capiterà mai poichè proprio la stessa architettura MIPS è progettata per eseguire pipelining.

2.

Data Hazard avviene quando uno step deve aspettare il compimento di un altro step.

Si supponga di avere due add (operazioni MIPS) da eseguire.

add $s0, $t0, $t1

add $s1, $s0, $t2

Nel primo add, $s0 è il registro di destinazione (rd) a cui viene dato accesso solo all’ultimo stadio della

pipeline (stadio WB). Nella seconda, invece, $s0 è utilizzato come registro sorgente (rs) e gli viene dato

accesso nel secondo stadio. Il problema è che durante il secondo stadio, la prima add ancora non ha

scritto il risultato nel registro destinazione e quindi quando lo andiamo a richiamare nel secondo add

si viene a creare una situazione di Stallo / Blocco.

SOLUZIONE 1. 2

Possiamo immaginare l’output dell’ALU come input per la seconda istruzione. Per fare ciò dobbiamo

modificare la circuteria dell’hardware. Tale metodo viene detto FORWARDING.

Il forwarding funziona solo se la prima istruzione non è una load.

SOLUZIONE 2.

Abbiamo due istruzioni.

lw $s0, 20($t1)

add $t2, $s0, $t3

Nel caso della load word (lw) il registro $s0 non è disponibile almeno fino al IV stadio. Il problema

principale è che il forwarding può essere eseguito solo nel momento in cui il registro è accessibile

simultaneamente allo stadio EX. Ciò però non avviene. Quindi nonstante il forwarding dobbiamo

fermare l’esecuzione di uno stage. Questa non ferma davvero la pipeline ma ritarda l’esecuzione della

seconda istruzione tramite quelle che vengono chiamate BOLLE. Esse sono istruzioni fittizie. 3

3.

Control Hazards avviene quando abbiamo la necessità di fare una decisione basata sul risultato di una

istruzione mentre le altre stanno in esecuzione. Viene chiamato anche BRANCH HAZARD.

SOLUZIONE 1.

STALL. Metto in stallo la pipeline ed opero sequenzialmente fino a trovare la giusta formula. Noi però

dovremmo prendere l’istruzione seguendo il branch nel prossimo ciclo di clock. Tuttavia non possiamo

sapere quale sia, almeno fino a quando non viene ricevuta la branch instruction dalla memoria. Una

soluzione è proprio quella di mettere in stallo la pipeline una volta presa la branch ed aspettare fino a

quando non viene determinata l’istruzione successiva.

SOLUZIONE 2. 4


PAGINE

8

PESO

325.63 KB

AUTORE

ABsintio

PUBBLICATO

5 mesi fa


DETTAGLI
Corso di laurea: Corso di laurea in informatica
SSD:
A.A.: 2018-2019

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ABsintio di informazioni apprese con la frequenza delle lezioni di Architettura degli elaboratori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università La Sapienza - Uniroma1 o del prof Mei Alessandro.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Architettura degli elaboratori

Cache - Architettura elaboratori
Appunto
La memoria virtuale - Architettura elaboratori
Appunto
Laboratorio di basi di dati I - la progettazione concettuale
Appunto
Informatica di base - Appunti
Appunto