CALCOLATORI ELETTRONICI 25 giugno 2018

Documenti analoghi
CALCOLATORI ELETTRONICI 27 marzo 2018

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 29 giugno 2015

CALCOLATORI ELETTRONICI 15 luglio 2014

CALCOLATORI ELETTRONICI 27 giugno 2017

CALCOLATORI ELETTRONICI 20 gennaio 2012

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2010

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

Calcolatori Elettronici

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

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

Problemi del ciclo singolo

Richiami sull architettura del processore MIPS a 32 bit

Instruction Level Parallelism Andrea Gasparetto

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione:

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

Calcolatori Elettronici

CALCOLATORI ELETTRONICI B 23 giugno 2008

ESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello:

Calcolatori Elettronici B a.a. 2006/2007

Il processore: unità di elaborazione

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Richiami sull architettura del processore MIPS a 32 bit

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

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

CPU pipeline hazards

Calcolatori Elettronici

L'architettura del processore MIPS

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

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

Esercitazione su Instruction Level Parallelism

1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware.

CALCOLATORI ELETTRONICI 15 aprile 2014

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

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

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

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

Esercitazione su Instruction Level Parallelism Salvatore Orlando

CALCOLATORI ELETTRONICI 31 marzo 2015

Capitolo 5 Struttura di base del processore

Architettura del calcolatore (Seconda parte)

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

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

L unità di controllo di CPU a singolo ciclo

PRESTAZIONI. senza e con memoria cache

Stall on load e Hazard sul controllo

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

Cicli di clock e istruzioni

La pipeline. Sommario

Calcolatori Elettronici B a.a. 2004/2005

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

Calcolatori Elettronici A a.a. 2008/2009

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Calcolatori Elettronici B a.a. 2006/2007

CPU a ciclo multiplo

Calcolatori Elettronici B a.a. 2007/2008

Implementazione semplificata

Si ricorda il primo schema elementare della pipeline. che verrà indicato in modo sommario come

Controllo a ciclo singolo

Il processore Pentium

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Calcolatori Elettronici

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita

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

Calcolatori Elettronici

Esercitazione del 05/05/ Soluzioni

Una CPU multi-ciclo. Sommario

Progetto CPU a singolo ciclo

Il pipelining: tecniche di base

PROVA SCRITTA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO E VECCHIO ORDINAMENTO DIDATTICO 24 Settembre 2008

CPU a ciclo multiplo

La pipeline. Luigi Palopoli

Circuti AND, OR, NOT Porte logiche AND

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini

Calcolatori Elettronici B a.a. 2005/2006

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

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

PROVA SCRITTA DEL MODULO DI. 18 Settembre 2018

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

SECONDA PROVA INTERMEDIA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 14 Gennaio 2011

Esame di Architetture Canale AL Prof. Sterbini 17/6/13 Compito A

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Calcolatori Elettronici B a.a. 2004/2005

Esame di Architetture Canale AL Prof. Sterbini 8/7/13 Compito A

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

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Il pipelining: tecniche di base

Multiplexer. Multiplexer 2 a 1 (a 1 bit) e sua implementazione. Multiplexer 2 a 1 (a 32 bit) e sua implementazione

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 14 gennaio 2010

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

Transcript:

CALCOLATORI ELETTRONICI 25 giugno 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche OR, AND, NOT la funzione combinatoria (a 3 ingressi e due uscite) che pone in uscita il valore binario corrispondente al numero di uni in ingresso (ad esempio, se in tutti e tre gli ingressi si ha 1, l uscita deve riportare 11, se tutti e tre gli ingressi sono a 0, l uscita deve essere 00). Si esprima inoltre la funzione (per mezzo di un opportuna formula logica) solo con porte NAND. Si esprima infine la funzione solo con porte NOR. [6]

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 è esattamente l effetto dell esecuzione dell istruzione?). [3]

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 implementare la nuova istruzione beqcmem const, (r1), (r2) che confronta il valore di una costante const a 16 bit specificata nell istruzione con il valore contenuto nella locazione di memoria di indirizzo r1 e, nel caso i valori siano uguali, salta all indirizzo specificato nella locazione di memoria di indirizzo r2: if(m[r1]==const) salta a M[r2]. Ricordando i tre formati di codifica delle istruzioni (riportati di seguito) si chiede di: - riportare il formato della nuova istruzione macchina (specificando anche i campi destinati a r1 e r2); - riportare, nella corrispondente figura, le modifiche necessarie al datapath; - estendere il diagramma degli stati per implementare la nuova istruzione. [6] Promemoria formati delle istruzioni:

4. Si consideri un implementazione del processore MIPS per la quale si utilizza un hardware che richiede i seguenti tempi di esecuzione: - prelievo istruzione e accesso alla memoria dati: 2 ns - ogni altra operazione critica (ALU, decodifica, lettura e scrittura register file): 1 ns Si assuma un carico di lavoro che prevede la seguente distribuzione delle istruzioni MIPS: lw: 30 % sw: 20 % formato-r: 35 % beq: 10 % j: 5 % Si supponga inoltre che: - il 20% 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). Il processore utilizza una cache primaria distinta per i dati e le istruzioni. La cache, che in caso di successo consente di accedere all istruzione o al dato in un ciclo di clock, presenta le seguenti caratteristiche: - percentuale di successo (hit rate): 90% per le istruzioni, 80% per i dati in lettura, 70% per i dati in scrittura - penalità di fallimento: 5 cicli di clock in lettura, 10 cicli di clock in scrittura Si chiede di confrontare le prestazioni di un implementazione multiciclo e dell usuale implementazione basata su pipeline a 5 stadi (per la quale si possono trascurare le criticità sui salti). L implementazione con pipeline fa uso di un unità di propagazione solo verso lo stadio E, mentre non dispone di unita di propagazione verso M. Nel caso in cui la cache per i dati e le istruzioni fosse unica (ed avesse un hit rate pari al 90%, penalità di fallimento: 5 cicli di clock in lettura, 10 cicli di clock in scrittura) si esprima il tempo medio di esecuzione (a regime) dell implementazione basata su pipeline (sempre con unita di propagazione verso E). Si mostrino i passaggi principali relativamente alle risposte fornite. [6]

5. Si consideri il seguente frammento di codice MIPS: lw sw $t1, 20($t2) $t2, 40($t1) add $t1, $t2, $t2 sub $s0, $t1, $t2 sw $s0, 20($s2) 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. In qualità di esperti consulenti dell implementazione del processore MIPS mediante pipeline, vi viene proposta una modifica all usuale implementazione (dotata di tutte le possibili unità di propagazione) che dovrebbe risolvere i problemi legati alle criticità sui dati. L idea si basa sulle seguenti osservazioni: - le penalità sono dovute alle criticità carica-e-usa - queste ultime danno origine ad un ciclo di stallo quando l istruzione dipendente usa i suoi dati sorgente al terzo stadio. Per evitare il ciclo di penalità, si potrebbe spostare l esecuzione dell operazione aritmetica per le istruzioni TIPO-R al quarto stadio, aggiungendo un opportuna ALU in parallelo alla memoria (la ALU già presente al terzo stadio verrebbe usata solo per il calcolo dell indirizzo nel caso di istruzioni di accesso alla memoria). In questo modo, un ciclo di penalità dovuto a criticità carica-e-usa si avrebbe solo quando un istruzione dipendente lw e sw usi il dato prodotto da una lw immediatamente precedente per il calcolo dell indirizzo (caso che potete supporre piuttosto raro). Si esprima una valutazione della proposta (per quanto possibile analitica) precisando anche se: - la proposta è completamente irrealizzabile - la proposta è realizzabile, ma non consegue mai alcuna riduzione delle penalità dovute alle criticità sui dati - la proposta è realizzabile, ma la riduzione delle penalità si ottiene solo in determinate condizioni - la proposta è realizzabile e ottiene sempre una riduzione delle penalità, che vanno comunque valutate in rapporto all incremento dei costi legati all introduzione di una ALU supplementare. [3]

7. Nel contesto della logica classica, qual è la differenza tra prova e implicazione logica? [3] 8. In un argumentation framework, si sa che la gorunded semantics giustifica l argomento A, il quale è attaccato dall argomento B. E possibile sapere se B è incluso in qualche preferred extension? Si giustifichi precisamente la risposta. [3]