Anteprima
Vedrai una selezione di 1 pagina su 3
Domande di Teoria di Calcolatori Elettronici Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Indicare quali metodologie è possibile adottare per gestire le alee di

controllo.

A seconda che la retroazione del BTA a PC sia fatta dalla barriera EX/MEM alla IF/ID, direttamente

da EX a IF/ID oppure da EX direttamente a PC si hanno rispettivamente 3, 2 e 1 istruzione errate

nella pipeline, a patto che il salto sia preso (BRANCH). Per eliminare queste istruzioni errate è

possibile usare il dalayed branch e a tempo di compilazione spostare dopo l’istruzione di salto/

branch 1÷3 istruzioni che devono essere eseguite a prescindere dal fatto che il salto sia preso o

no, se ciò non è possibile si useranno delle NOP. Una soluzione a livello hardware prevede un

meccanismo che registra se i salti sono stati presi e dove hanno portato e se gli stessi salti ven-

gono rieseguiti può prevedere se questa volta verrano presi o no e caricare le istruzioni di con-

seguenza, se la previsione è sbagliata sarà necessario eliminare alcune istruzioni dalla pipeline

prima che scrivano i dati in memoria. Una terza soluzione, sempre hardware, consiste nel ri-

conoscere e calcolare la destinazione del salto già nella fase IF, quindi nessuna istruzione sbaglia-

ta entrerà mai nella pipeline, questo però richiede la duplicazione di molti componenti.

Descrivere sinteticamente in cosa consiste il delayed branch e quali

vantaggi può apportare.

A seconda che la retroazione del BTA a PC sia fatta dalla barriera EX/MEM alla IF/ID, direttamente

da EX a IF/ID oppure da EX direttamente a PC si hanno rispettivamente 3, 2 e 1 istruzione errate

nella pipeline, a patto che il salto sia preso (BRANCH). Per eliminare queste istruzioni errate è

possibile usare il dalayed branch, questo non comporta alcun hardware particolare, ma una riorga-

nizzazione del codice a tempo di compilazione. In base alle scelte hardware descritte prima dopo

l’istruzione di salto avremo da 1 a 3 istruzioni che verranno eseguite sempre, che il salto sia preso

o no, il compilatore cercherà di riempire questi delay slot con istruzioni precedenti a quella di salto

(che quindi devono essere eseguite a prescindere), se ciò non è possibile verranno usate delle

NOP.

Indicare quale è la funzione del Branch Target Buffer e descrivere sin-

teticamente il principio di funzionamento.

Il Branch Target Buffer è una rete di predizione dei salti: tiene traccia di tutti i salti, se questi sono

stati presi o no e della loro destinazione, quando lo stesso salto/istruzione viene incontrata di nuo-

vo il BTB usa i dati passati per predire se ora il salto sarà preso. Nel caso più semplice viene sal-

vato un bit che rappresenta cosa è successo l’ultima volta e questo corrisponde alla previsione.

Una versione più avanzata e che sbaglia meno prevede due bit: se una salto per più volte consec-

utive viene preso serviranno due volte consecutive in cui non viene preso per cambiare la previ-

sione da preso a non-preso, e viceversa.

Indicare come potrebbe essere la struttura ai morsetti di un register file

del DLX evidenziando e descrivendo sinteticamente il significato di tutti

i segnali.

Indipendentemente dall’architettura del DLX il RF ha due uscite e un’entrata quindi avremo 32 + 32

bit in uscita, detti A e B, con 5 + 5 bit in ingresso (RS1 e RS2) per scegliere i registri da caricare in

A e B oltre a un OE per ciascuno. Per quanto riguarda la scrittura avremo un segnale di WE, 5 bit

(RD) per scegliere dove scrivere e 32 bit di dati da salvare. A questi segnali si aggiunge il piedino

di CK per il campionamento e il cambiamento delle uscite.

Come noto il DLX non emette i segnali d’indirizzo BA1 e BA0. Se non

fosse così, sarebbe possibile generare i segnali BE3, BE2, BE1 e BE0

utilizzando esclusivamente i segnali BA1 e BA0? Esplicitare chiara-

mente le motivazioni della risposta.

I segnali BA[1..0] portano informazioni soltanto sul primo indirizzo da cui leggere in memoria quindi

avendo solo quelli sarebbe possibile fare letture a lunghezze fissate, sempre 8, 16 o 32 bit. I seg-

2

Dettagli
Publisher
A.A. 2015-2016
3 pagine
6 download
SSD Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher piscoTech di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici T e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Mattoccia Stefano.