CALCOLATORI ELETTRONICI 29 giugno 2010



Похожие документы
CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 15 aprile 2014

Controllo con macchina a stati finiti

Architettura di tipo registro-registro (load/store)

L unità di controllo di CPU multi-ciclo

Esercitazione sulle CPU pipeline

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

Calcolatori Elettronici

CPU. Maurizio Palesi

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

Hazard sul controllo. Sommario

Tutorato Architettura degli elaboratori

Calcolatori Elettronici

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

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

Lezione 3: Architettura del calcolatore

Architettura di un calcolatore: introduzione

Calcolatori Elettronici

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

La memoria centrale (RAM)

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

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Calcolatori Elettronici B a.a. 2006/2007

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

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

Calcolatori Elettronici

Calcolatori Elettronici

Università degli Studi di Cassino e del Lazio Meridionale

Lezione n.19 Processori RISC e CISC

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

CPU pipeline 4: le CPU moderne

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

Richiami sull architettura del processore MIPS a 32 bit

La macchina programmata Instruction Set Architecture (1)

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

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

L architettura del calcolatore (Prima parte)

Testi di Esercizi e Quesiti 1

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

CPU a ciclo multiplo

L unità di controllo di CPU a singolo ciclo

L architettura di riferimento

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Struttura del calcolatore

Architettura del Set di Istruzioni (ISA)

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

L'architettura del processore MIPS

CPU pipeline 4: le CPU moderne

Corso di Laurea in Informatica Architetture degli Elaboratori

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

Транскрипт:

CALCOLATORI ELETTRONICI 29 giugno 2010 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, identificare l istruzione assembly MIPS corrispondente al codice macchina a 32 bit 11100008 hex (espresso in esadecimale) e spiegarne il significato (qual è l effetto dell esecuzione dell istruzione?). [2]

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 ADD che somma i due elementi in cima allo stack e li sostituisce con il risultato. 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 consideri la nota implementazione dell unità di controllo secondo la tecnica multiciclo relativamente alle istruzioni MIPS lw, sw, beq, j e TIPO-R. Si supponga che le operazioni atomiche che coinvolgono le unità funzionali principali richiedano: Unità di memoria (lettura e scrittura): 30 ns Register File (lettura e scrittura): 5 ns Operazione ALU: 5 ns Si assuma il seguente carico di lavoro: Tipo-R: 30% sw: 20% lw: 40% beq: 5% j: 5% Si chiede, riportando i passi significativi dell analisi, di confrontare le prestazioni tra l implementazione a singolo ciclo e quella (usuale) multiciclo. Quesiti non standard: esiste un carico di lavoro con il quale l usuale implementazione multiciclo risulti migliore rispetto a quella a singolo ciclo? Mantenendo fissi i tempi richiesti dalle diverse unità hardware, si individui una modifica all implementazione multiciclo che la renda migliore rispetto all implementazione a singolo ciclo a prescindere dal carico di lavoro. [4]

5. Si consideri il seguente frammento di codice MIPS: add $t0, $t1, $t2 lw lw sw $t1, 40($t0) $s1, 40($t1) $s1, 20($t0) add $t0, $s1, $s1 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 un processore MIPS, implementato tramite pipeline a 5 stadi, che disponga di una cache primaria (distinta per i dati e le istruzioni) e di una cache secondaria (unica per dati e istruzioni). La cache primaria presenta le seguenti caratteristiche: - numero di cicli di clock richiesti in caso di successo (hit): 1 - percentuale di successo (hit rate): 80% per le istruzioni, 70% per i dati - penalità di fallimento (in assenza della cache secondaria): 15 cicli di clock Per la cache secondaria valgono invece le seguenti condizioni: - percentuale di successo (hit rate): 95% - cicli di clock per trasferire un blocco dalla cache secondaria alla cache primaria: 5 Si assuma un carico di lavoro che prevede la seguente distribuzione delle istruzioni MIPS: lw: 25 % sw: 15 % Tipo-R: 30 % beq: 20 % j: 10 % Si supponga inoltre che: - il 30% delle istruzioni Tipo-R siano seguite da istruzioni che ne utilizzano il risultato; - il 10% delle istruzioni lw siano seguite da istruzioni Tipo-R che ne utilizzano il risultato; - il 5% delle istruzioni lw siano seguite da istruzioni sw o lw che ne utilizzano il risultato solo per il calcolo dell indirizzo; - il 10% delle istruzioni lw siano seguite da istruzioni sw che ne utilizzano il risultato solo per immagazzinarlo in memoria. - il 15% delle istruzioni lw siano seguite da istruzioni sw che ne utilizzano il risultato sia per il calcolo dell indirizzo sia per immagazzinarlo in memoria. - il 3% delle istruzioni lw sono seguite da istruzioni beq che ne utilizzano il risultato (si assuma che il confronto tra gli operandi sia effettuato al terzo stadio della pipeline). Tenendo conto dei miss di cache e delle criticità sui dati, si calcoli il CPI (numero medio di cicli di clock per istruzione) ottenuto nei due casi seguenti: - si dispone di un unità di propagazione solo verso lo stadio E - si dispone di un unità di propagazione verso lo stadio E ed una verso lo stadio M. [6]

7. Si consideri il seguente frammento di codice MIPS: add $t4, $t5, $t6 sub $s5, $t5, $t6 add $s1, $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. [4]