CALCOLATORI ELETTRONICI 15 aprile 2014



Похожие документы
CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2011

Architettura di tipo registro-registro (load/store)

L unità di controllo di CPU multi-ciclo

Controllo con macchina a stati finiti

Tutorato Architettura degli elaboratori

Calcolatori Elettronici

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

Hazard sul controllo. Sommario

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Esercitazione sulle CPU pipeline

Calcolatori Elettronici

CPU. Maurizio Palesi

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura del calcolatore

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Calcolatori Elettronici B a.a. 2006/2007

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

L unità di controllo di CPU a singolo ciclo

Lezione n.19 Processori RISC e CISC

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

La macchina programmata Instruction Set Architecture (1)

Richiami sull architettura del processore MIPS a 32 bit

Calcolatori Elettronici

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Richiami sull architettura del processore MIPS a 32 bit

Università degli Studi di Cassino e del Lazio Meridionale

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Calcolatori Elettronici

Calcolatori Elettronici A a.a. 2008/2009

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Progetto CPU (ciclo singolo) Salvatore Orlando

Implementazione semplificata

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Il Processore: l Unità di Controllo Principale Barbara Masucci

MODELLO DLX IN UNISIM

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Architettura di un calcolatore: introduzione

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

Architettura. Indice:

L architettura di riferimento

Lezione 3: Architettura del calcolatore

CPU a ciclo multiplo

Architettura hardware

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Calcolatori Elettronici B a.a. 2008/2009

Транскрипт:

CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado di eseguire, tra le altre, le operazioni di somma, sottrazione e slt (set on less than) Per quanto riguarda l operazione slt, si chiede di: - indicare quale significato hanno e come devono essere impostati (in modo qualitativo) gli ingressi Ainvert, Bnegate e Operation per fare in modo che la ALU compia l operazione slt - come viene realizzata l operazione slt, precisando tra l altro il ruolo della linea Set [4] Si studi infine il problema dell overflow nell operazione slt: nella realizzazione finale la segnalazione di overflow nell uscita Overflow indica che il risultato della slt non è valido? Perché? Si precisi come può essere realizzato il circuito per tener conto dell overflow nell operazione di sottrazione tra gli operandi [2] Ainvert Bnegate Operation a0 b0 CarryIn ALU0 Less CarryOut Result0 a1 b1 0 CarryIn ALU1 Less CarryOut Result1 a2 b2 0 CarryIn ALU2 Less CarryOut Result2 Zero CarryIn Result31 a31 CarryIn b31 ALU31 Set 0 Less Overflow

2 Si considerino, mostrati nelle figure alle pagine seguenti, il datapath ed il diagramma a stati finiti che specifica l unità di controllo secondo la tecnica a multiciclo relativamente alle istruzioni MIPS lw, sw, beq, j ed alle istruzioni Tipo-R Si vuole implementare la nuova istruzione loop r1, Etichetta // r1=r1-1; se r1==0 salta a Etichetta che decrementa il registro r1 e salta ad una istruzione di destinazione (specificata nello stesso modo in cui viene specificata nell istruzione beq) se r1 risulta nullo dopo il decremento Ricordando i tre formati di codifica delle istruzioni (riportati di seguito) si chiede di: - riportare il formato della nuova istruzione macchina (specificando il campo per r1); - riportare, nella corrispondente figura, le modifiche necessarie al datapath; - estendere il diagramma degli stati per implementare la nuova istruzione [5] Promemoria formati delle istruzioni:

2 Memory address computation ALUSrcA = 1 ALUSrcB = 10 ALUOp = 00 Start Instruction fetch 0 MemRead ALUSrcA = 0 IorD = 0 IRWrite ALUSrcB = 01 ALUOp = 00 PCWrite PCSource = 00 6 (Op = 'LW') or (Op = 'SW') Execution ALUSrcA =1 ALUSrcB = 00 ALUOp= 10 8 (Op = R-type) Branch completion ALUSrcA = 1 ALUSrcB = 00 ALUOp = 01 PCWriteCond PCSource = 01 Instruction decode/ register fetch 1 (Op = 'BEQ') 9 ALUSrcA = 0 ALUSrcB = 11 ALUOp = 00 (Op = 'J') Jump completion PCWrite PCSource = 10 3 (Op = 'LW') Memory access (Op = 'SW') 5 Memory access 7 R-type completion MemRead IorD = 1 MemWrite IorD = 1 RegDst = 1 RegWrite MemtoReg = 0 4 Write-back step RegDst = 0 RegWrite MemtoReg =1

3 Si consideri il seguente schema, che si riferisce ad una unità di controllo del processore microprogrammata Per ciascuna delle seguenti affermazioni, si dica se è vera o falsa, motivando le risposte: il contatore di microprogramma (microprogram counter) viene aggiornato quando viene aggiornato il program counter; il contatore di microprogramma viene aggiornato più volte rispetto al program counter; il contatore di microprogramma viene aggiornato ad ogni ciclo di clock [3]

4 Si consideri il seguente frammento di codice MIPS: add $t1, $t0, $t2 lw sw lw $t1, 40($t1) $t1, 28($t1) $t2, 32($t1) sub $t2, $s0, $t2 Si consideri l implementazione con pipeline a 5 stadi (F: Fetch, D: Decode, E: Execute, M: Mem, W: Write-Back) Si chiede di: a) individuare in modo preciso tutte le dipendenze tra i dati b) tracciare il diagramma temporale delle istruzioni (indicando esplicitamente le eventuali propagazioni e, per ognuna di esse, quale dato è propagato) in ognuna delle seguenti ipotesi: - non è disponibile alcuna unità di propagazione - è disponibile un unità di propagazione verso lo stadio E - è disponibile un unità di propagazione verso lo stadio E ed una verso lo stadio M Nei diagrammi, si chiede di indicare il numero di cicli di penalità [6]

5 Si vuole implementare un processore mediante una pipeline a 4 stadi (F, D, E, W), in grado di eseguire le seguenti istruzioni, il cui significato è riportato a commento (per semplicità, si faccia riferimento solo alle seguenti istruzioni trascurando ad esempio l istruzione sw, ecc): add rd, rs lw rd, (rs) beq rs, rd, IND // rd rd+rs // rd M[rs] // IF (rs == rd) PC PC+IND Per la gestione dei salti condizionati, si utilizza la tecnica del salto ritardato Nella pagina seguente è riportato uno schema incompleto di datapath Si chiede di: 1) completare i collegamenti tra unità funzionali e registri interstadio negli stadi F, D, E, W inserendo eventualmente opportuni multiplexer e indicando i segnali di controllo necessari; 2) disegnare nel datapath l unità di controllo (che può essere schematizzata con un ovale) e i relativi collegamenti; 3) disegnare accuratamente nel datapath i collegamenti dei segnali di controllo nei diversi stadi della pipeline; 4) fornire per mezzo di una tabella la specifica dell unità di controllo (i codici operativi delle istruzioni possono essere specificati in forma simbolica) 5) relativamente all implementazione della beq, specificare il numero di slot di ritardo che si verificano e spiegare (molto brevemente) perché [10]

6 Con riferimento alla gestione delle operazioni di scrittura nella memoria cache, illustrare la tecnica del write through, specificando in particolare la differenza rispetto al write back Specificare inoltre la funzione ed il ruolo in termini di prestazioni del write buffer (sempre nel caso della tecnica del write-through) [2]