CALCOLATORI ELETTRONICI 20 gennaio 2012

Documenti analoghi
CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 9 gennaio 2013

CALCOLATORI ELETTRONICI 15 giugno 2015

CALCOLATORI ELETTRONICI 14 giugno 2010

CALCOLATORI ELETTRONICI 27 marzo 2018

CALCOLATORI ELETTRONICI 29 giugno 2015

CALCOLATORI ELETTRONICI A 25 gennaio 2011

CALCOLATORI ELETTRONICI 27 giugno 2017

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 15 luglio 2014

CALCOLATORI ELETTRONICI 25 giugno 2018

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 31 marzo 2015

Calcolatori Elettronici

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici

CALCOLATORI ELETTRONICI B 23 giugno 2008

L unità di controllo di CPU multi-ciclo. Sommario

Calcolatori Elettronici B a.a. 2005/2006

L unità di controllo di CPU multi-ciclo

Università degli Studi di Cassino

CPU a ciclo multiplo: l unità di controllo

Unità di controllo della pipeline

Lezione 29 Il processore: unità di controllo (2)

Realizzazione a cicli di clock multipli

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

Calcolatori Elettronici

Architettura della CPU multi-ciclo

Architettura degli Elaboratori

Richiami sull architettura del processore MIPS a 32 bit

Architettura degli elaboratori - II Le architetture multi-ciclo

L unità di controllo di CPU a singolo ciclo

CPU a ciclo multiplo

Calcolatori Elettronici A a.a. 2008/2009

CPU a ciclo multiplo

Richiami sull architettura del processore MIPS a 32 bit

Instruction Level Parallelism Andrea Gasparetto

L unità di controllo di CPU a singolo ciclo

Una CPU multi-ciclo. Sommario

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

Controllo con macchina a stati finiti

Esercitazione del 30/04/ Soluzioni

L'architettura del processore MIPS

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

Il Processore: l Unità di Controllo Principale Barbara Masucci

La pipeline. Sommario

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H

Sommario. Gestione delle criticità sui dati nella pipeline. CPU con pipeline. Criticità nei dati. Hazard nei dati: soluzione tramite compilatore

L unità di controllo di CPU a singolo ciclo. Sommario

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

Calcolatori Elettronici B a.a. 2006/2007

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo

Problemi del ciclo singolo

Calcolatori Elettronici A a.a. 2008/2009

Architettura degli elaboratori MZ Compito A

La pipeline. Sommario

Calcolatori Elettronici B a.a. 2007/2008

Calcolatori Elettronici B a.a. 2006/2007

Prova intermedia di Architettura degli elaboratori canale MZ Sterbini Compito A

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

Calcolatori Elettronici B a.a. 2007/2008

Università degli Studi di Cassino e del Lazio Meridionale

Un quadro della situazione. Lezione 28 Il Processore: unità di controllo (2) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

31!30!29!28!27!26!25!24!23!22!21!20!19!18!17!16!15!14!13!12!11!10! 9! 8! 7! 6! 5! 4! 3! 2! 1! 0! !

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello dell 11 Settembre Attenzione:

Lezione di Tutorato Di Architettura degli Elaboratori B 18/05/2005 SOLUZIONI: PIPELINE

Università degli Studi di Cassino

Calcolatori Elettronici

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Stall on load e Hazard sul controllo

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

Arch. Elab. - S. Orlando 2. unità funzionali possono essere usate più volte per eseguire la stessa

Stall on load e Hazard sul controllo

Università degli Studi di Cassino

Problemi con progetto a singolo ciclo. Progetto CPU (multiciclo) Esempio di riduzione del ciclo di clock. Datapath multiciclo

Progetto CPU (multiciclo) Salvatore Orlando

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 25 Febbraio Attenzione:

Pipeline criticità e forwarding

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita?

CPU pipeline hazards

Progetto CPU (multiciclo)

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione:

Esercitazione su Instruction Level Parallelism

Transcript:

CALCOLATORI ELETTRONICI 20 gennaio 2012 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e se ne spieghi il funzionamento. Nel disegno si possono utilizzare latch S-R sensibili ai livelli. [4]

2. Utilizzando la green card, tradurre in linguaggio macchina le seguenti due istruzioni espresse in assembly MIPS: [4] L1: addi $t0, $t0, -1 bne $t0, $zero, L1

3. Si considerino, mostrati nelle figure alla pagina seguente, 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 integrare un insieme di istruzioni che si riferiscono ad una architettura basata su stack. Lo stack è costituito da un insieme di parole di memoria consecutive (ciascuna al solito di 4 byte) e cresce per indirizzi crescenti; l indirizzo dell elemento in cima allo stack è contenuto nel registro n. 29. In particolare, si implementi l istruzione EQ che confronta i due elementi in cima allo stack e li sostituisce con il valore 1 se sono uguali, 0 se sono diversi. Ricordando i tre formati di codifica delle istruzioni (riportati di seguito) si chiede di: - riportare il formato della nuova istruzione macchina; - riportare, nella corrispondente figura, le modifiche necessarie al datapath; - estendere il diagramma degli stati per implementare la nuova istruzione. [6] 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

4. Si considerino 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 assumano i seguenti tempi per le operazioni atomiche che coinvolgono le unità funzionali principali: Lettura da memoria: Scrittura in memoria: Lettura Register File: Scrittura in Register File: Operazione ALU: 2 ns 1 ns 1 ns 2 ns 1 ns Si chiede di suggerire una modifica al datapath e al diagramma degli stati (riportati di seguito) in modo da migliorare le prestazioni. [5] 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

5. Si consideri il seguente frammento di codice MIPS: add $t1, $t0, $t2 sw lw sw $t1, 40($t0) $s1, 40($t1) $t1, 20($s1) add $s1, $t1, $t1 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]

6. Si consideri il seguente frammento di codice MIPS: add $t5, $t5, $t6 sub $s5, $t5, $t6 add $s4, $s2, $s3 bne $s1, $s4, Dest sub $t1, $t3, $t2 Dest: add $s4, $t1, $t4 sub $t1, $s4, $s5 Si consideri un implementazione tramite pipeline a 5 stadi in cui la decisione e l esecuzione del salto beq avvengono nel terzo stadio della pipeline. Per la gestione delle criticità sui salti, viene adottata la tecnica del salto ritardato. Quanti slot di ritardo sono presenti? Perché? Si indichi, motivando brevemente la soluzione proposta, come potrebbe essere riordinato il codice per gestire la criticità sul salto beq minimizzando il numero di cicli persi. [5]