SECONDA PROVA INTERMEDIA DEL MODULO INTEGRATO DI NOME: COGNOME: MATRICOLA:

Documenti analoghi
SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 Giugno 2014

SECONDA PROVA INTERMEDIA DEL MODULO DI

SECONDA PROVA INTERMEDIA DEL MODULO DI

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2015 NOME: COGNOME: MATRICOLA:

ESERCIZIO 1 (12 punti) 1. (2 punti) Scrivere la sequenza di istruzioni MIPS che implementino lo pseudocodice:

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2018 NOME: COGNOME: MATRICOLA:

SECONDA PROVA INTERMEDIA DEL MODULO DI. 20 maggio 2016 NOME: COGNOME: MATRICOLA:

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2018 NOME: COGNOME: MATRICOLA:

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

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI NOME: COGNOME: MATRICOLA: CFU:

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

SECONDA PROVA INTERMEDIA DEL MODULO DI C A L C O L A T O R I E L E T T R O N I C I 5 Giugno 2012

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

PROVA SCRITTA DEL MODULO DI. 13 giugno 2017 NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL MODULO DI. 3 luglio 2018 NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL MODULO DI. CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA 14 febbraio 2017

SECONDA PROVA INTERMEDIA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 9 Giugno 2006

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 2010

PROVA SCRITTA DEL MODULO DI

PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 26 Settembre 2012

PROVA SCRITTA DEL CORSO DI. Corso di Laurea in Ingegneria Biomedica, Ingegneria Elettrica ed Elettronica 17 Luglio 2014

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2004

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

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 17 Febbraio 2006

PROVA SCRITTA DEL MODULO/CORSO DI. 24 novembre 2016

PROVA SCRITTA DEL MODULO DI. 18 Settembre 2018

PROVA SCRITTA DEL MODULO DI. 17 giugno 2015 NOME: COGNOME: MATRICOLA: CFU:

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI

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 ORDINAMENTO DIDATTICO 24 Settembre 2009

Esercitazione di Calcolatori Elettronici Prof. Fabio Roli Corso di Laurea in Ingegneria Elettrica ed Elettronica

PROVA SCRITTA DEL MODULO DI. 16 gennaio 2017

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 28 Settembre 2006

PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 19 Febbraio 2013

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A

PROVA SCRITTA DEL MODULO E DEL CORSO DI. 9 giugno 2016

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 2 Luglio 2004

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI NOME: COGNOME: MATRICOLA: CFU:

PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO (5-6-7 CFU) 16 Gennaio 2014

Outline. cose da ricordare (cont d) Aritmetica di macchina: cose da ricordare

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

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 7 Input/Output

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Capitolo 5 Linguaggio Assembly

Richiami: v[i] e &v[i] Organizzazione della memoria. Esercizio 1. Esercitazione di Calcolatori Elettronici Prof. Gian Luca Marcialis

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 ORDINAMENTO DIDATTICO 18 Giugno 2009

Calcolatori Elettronici da 6CFU (CdL Ingegneria Informatica) Esame del 20 luglio 2018 tempo a disposizione: 1 ora e 25 minuti

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

1 Esercizio. 2 Esercizio

Richiami: v[i] e &v[i] Organizzazione della memoria. Organizzazione della memoria. Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI NOME: COGNOME: MATRICOLA: CFU:

Unità aritmetica e logica

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

PRIMA SCRITTA DEL MODULO DI

Informatica Generale 02 - Rappresentazione numeri razionali

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

0/0 1/0 1/0 0/0 0/1 1/0 1/0

Rappresentazione di numeri interi

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

Corso di Laurea in Informatica

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004

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

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

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI NOME: COGNOME: MATRICOLA: CFU:

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

Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS

Calcolo numerico e programmazione Rappresentazione dei numeri

Codifica. Rappresentazione di numeri in memoria

Lezione 9 Aritmetica in virgola mobile (3)

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Numeri con segno ed in virgola

PROVA SCRITTA DEL MODULO DI. CORSI DI LAUREA IN INGEGNERIA BIOMEDICA INGEGNERIA ELETTRICA, ELETTRONICA ED INFORMATICA 17 luglio 2018

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 14 Febbraio 2007

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Soluzione Esercizio 1

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 14 Settembre 2004

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

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

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

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

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 29 gennaio 2007

Lezione 18 Il Set di Istruzioni (4)

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. 27 Febbraio 2001

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

Corso di laurea in Ingegneria Biomedica, Elettrica, Elettronica ed Informatica

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli

Rappresentazione dei Numeri

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

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

Esempio 1: virgola mobile

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Codifica dell Informazione per il Calcolo Scientifico

Corso di Circuiti Logici Appunti e Approfondimenti A. Di Stefano

La rappresentazione dei numeri. La rappresentazione dei numeri. Aritmetica dei calcolatori. La rappresentazione dei numeri

Esercitazione 1 del 10/10/2012

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 10 Novembre 2015

Transcript:

SECONDA PROVA INTERMEDIA DEL MODULO INTEGRATO DI CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA - 6 CFU 31 Maggio 2013 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 LINGUAGGIO ASSEMBLY MIPS ESERCIZIO 1.1 (4 punti) Interpretando passo-passo la sequenza di istruzioni Assembler MIPS del riquadro (a), indicare quale sarà il contenuto del registro $7, considerati i contenuti delle locazioni di memoria forniti nel riquadro (b). (a) move $7, $0 move $8, $0 addi $4, $0, 4 point: muli $9, $8, 4 lw $10, 1000($9) add $7, $7, $10 addi $8, $8, 1 bne $8, $4, point (b) Contenuto Indirizzo 1000 56 1004-1 1008 100 1012 15 ESERCIZIO 1.2 (4 punti) L istruzione lui $r, <valore> carica con indirizzamento immediato il contenuto del campo <valore> nella metà più significativa del registro $r (r compreso tra 0 e 31). Come è noto i registri MIPS sono a 32 bit. Supponendo che, inizialmente, il contenuto di $r sia impostato a 0, scrivere una sequenza di istruzioni Assembler MIPS che, senza utilizzare l istruzione lui, ma soltanto le istruzioni addi e muli, realizzi la stessa operazione. Si ricordi che i campi operando con indirizzamento immediato sono a 16 bit secondo l architettura MIPS. ESERCIZIO 1.3 (5 punti) Scrivere una funzione Assembler MIPS che, dati l indirizzo iniziale di un vettore v nel registro $4, la sua dimensione n nel registro $5, e un valore x nel registro $6, scriva nel registro $7 la somma di tutti i valori presenti in v che risultano strettamente inferiori ad x. Nella stesura del codice, si indichi il ruolo di ciascuno dei registri scelti per le operazioni intermedie. Una possibile implementazione in linguaggio C della soluzione è la seguente: int somma_se(int *v, int n, int x) { int i, somma; for(i=0, somma=0; i<n; i++) somma = somma + (v[i]<x) * v[i]; } return somma; ESERCIZIO 2 UNITA LOGICO-ARITMETICA ESERCIZIO 2.1 (7 punti) Siano dati 8 bit per la rappresentazione di valori numerici in virgola fissa ed in virgola mobile. Per la prima, si disponga di un campo di 5 bit per la parte intera e 3 per la parte frazionaria (quindi si potranno rappresentare solo valori non negativi). Per la seconda, si consideri una mantissa M frazionaria e normalizzata in segno e valore con modalità 1.M (bit di parte intera implicito), esponente a 3 bit in eccesso 2, e bit di segno. 1) (3 punti) Spiegando bene ogni passo del ragionamento, indicare il minimo ed il massimo numero rappresentabili, escluso lo zero, nei due casi. 2) (2 punti) Rappresentare i valori 27.5 e 10.25, qui espressi in notazione decimale, nella notazione in virgola mobile indicata nel testo, indicando chiaramente i valori dei bit nei campi segno, esponente e mantissa. 3) (2 punti) Sommare i valori al punto 2, secondo l algoritmo di somma utilizzato nei calcolatori elettronici, e segnalare l eventuale perdita di precisione rispetto al risultato atteso.

ESERCIZIO 2.2 (3 punti) Si vuole progettare una ALU realizzata con un Parallel Added e un opportuno set di reti logiche, controllate da una coppia di segnali s1 e s0, secondo lo schema in figura. Progettare le reti logiche relative a ciascuno degli N bit degli operandi A e B, e al bit riporto in ingresso (carryin), in accordo alla tabella di funzionalità sottostante: s1 s0 F 0 0 A + B 0 1 A B 1 0 B A 1 1 -A ESERCIZIO 3 UNITA DI I/O ESERCIZIO 3.1 (4 punti) Si consideri un bus con frequenza 100 MHz, pari a quella del clock di sistema. La capacità del bus dati e del bus indirizzi è di 32 bit. Il trasferimento attraverso il bus richiede quattro cicli di clock. La memoria presenta un tempo di ciclo pari a 50 ns. 1. (2 punti) Spiegare chiaramente il protocollo di lettura sincrono di una parola dalla memoria, precisando il numero minimo di segnali coinvolti nel processo. 2. (2 punti) Calcolare il tempo di lettura di una parola da 64 bit, considerando una memoria indirizzata con 32 bit ed il protocollo testè descritto. ESERCIZIO 3.2 (2 punti) Considerando un processore dotato di frequenza di clock pari a 100 MHz, calcolare la massima velocità di trasferimento, in bps, di una parola da 32 bit, quando il trasferimento sia realizzato da un modulo DMA in modalità block transfer. Motivare chiaramente la risposta. ESERCIZIO 3.3 (4 punti) Si devono collegare cinque periferiche ad un calcolatore disponendo di due soli segnali di controllo per l arbitraggio del bus. Motivando chiaramente la risposta, indicare quale tecnica di arbitraggio è ammissibile in questo caso e disegnare il relativo schema di collegamento periferiche-bus.

ESERCIZIO 1 ASSEMBLY MIPS ESERCIZIO 1.1 (4 punti) move $7, $0 #$7 0 move $8, $0 #$8 0 addi $4, $0, 4 #$4 4 point: muli $9, $8, 4 #$9 $8 * 4 lw $10, 1000($9) #$10 contenuto della locazione 1000+($9) add $7, $7, $10 #somma ad $7 il valore prelevato e copiato in $10 addi $8, $8, 1 #incrementa di 1 il contenuto di $8 bne $8, $4, point #se $8<4 ripete a partire dall etichetta point Si tratta chiaramente di un ciclo per la lettura di quattro locazioni contigue a partire da quella di indirizzo 1000, i cui contenuti vengono sommati e memorizzati in $7. Alla fine della sequenza, il contenuto di $7 sarà dunque il valore 170. ESERCIZIO 1.2 (4 punti) Il risultato finale dell istruzione lui $r, <valore> è dato dal seguente schema del registro $r: 31 16 15 1 0 <valore> 0 0 0 In altri termini, i primi 16 bit, quelli meno significativi, devono essere tutti a zero, mentre i sedici più significativi sono occupati dal valore caricato. Per realizzare questa stessa istruzione, utilizzando solo addi e muli, va considerato che, in aritmetica binaria, una moltiplicazione per 2 equivale a uno shift a sinistra del valore. Ad esempio, moltiplicando per 2 il valore in binario 10101, si ottiene 101010, dove lo zero nel bit meno significativo è dato appunto dal prodotto. Quindi per ottenere un valore di 32 bit, i cui i 16 meno significativi sono tutti a zero, è sufficiente prima caricare il valore nella parte meno significativa e poi moltiplicare tutto per 2 16. Nel caso del MIPS bisogna fare attenzione in quanto 2 16 non è rappresentabile in modalità immediata, essendo i campi operando di soli 16 bit. Tuttavia è possibile rappresentare agevolmente 2 15, e, ovviamente, 2. La sequenza di istruzioni equivalenti ad un operazione lui richiesta è dunque: addi $r, $0, <valore> muli $r, $r, 2 15 muli $r, Sr, 2 ESERCIZIO 1.3 (5 punti) Nella soluzione che proponiamo, si utilizzeranno i seguenti registri: $8 come contatore (i nel codice C) $9 come appoggio per calcoli intermedi (offset rispetto a v, indirizzo di v[i], prodotto (v[i]<x) * v[i]); $10 conterrà v[i]; $11 conterrà il valore di verità v[i]<x somma_se: addi $29, $29, -16 #salvataggio del contesto sw $8, 0($29) sw $9, 4($29) sw $10, 8($29) sw $11, 12($29) move $7, $0 #inizio corpo della funzione: somma=0 move $8, $0 #i=0 for: beq $8, $5, exit #se i=n vai a exit muli $9, $8, 4 #calcola l offset rispetto a v add $9, $9, $4 #calcola indirizzo di v[i] lw $10, 0($9) #carica v[i] in $10 slt $11, $10, $6 #$11 = v[i]<x mul $9, $11, $10 #se $11=1, $9=v[i], altrimenti $9=0 add $7, $7, $9 #aggiorna somma addi $8, $8, 1 #aggiorna i j for #ritorna a for exit: lw $8, 0($29) #ripristino del contesto lw $9, 4($29) lw $10, 8($29) lw $11, 12($29) addi $29, $29, 16 jr $31 #ritorno al chiamante

ESERCIZIO 2 UNITA LOGICO-ARITMETICA ESERCIZIO 2.1 (7 punti) 1) Per quanto riguarda i campi in virgola fissa, si ha che il valore minimo è ottenuto in corrispondenza di tutti i bit di parte intera pari a zero e un unico 1 nella posizione meno significativa della parte frazionaria. Quindi il valore minimo sarà pari a 2-3, ovvero 1/8 o 0.125. Il valore massimo invece si ottiene ponendo ad 1 tutti i bit di parte frazionaria e intera, ottenendo quindi il valore 2 5-2 -3, ovvero 31.875 in base 10. Per quanto riguarda la rappresentazione in virgola mobile, abbiamo sette bit utili a parte il bit di segno, dei quali quattro per la mantissa e tre per l esponente. Il minimo valore rappresentabile si ottiene considerando il minimo valore dell esponente, che essendo in eccesso 2, è, per definizione di eccesso k, pari a k, ovvero -2, e il minimo valore della mantissa, corrispondente ad un campo formato da tutti zeri poiché il bit implicito per definizione è sempre impostato ad 1. Il minimo valore è dunque pari a 1.0*2-2, pari a ¼ ovvero 0.25 in base 10. Il massimo valore rappresentabile si ottiene valutando il massimo esponente, che si ricava dalla formula 2 n -1-k, con n numero di bit usati per l esponente. Il risultato è 8-1-2=5. La massima mantissa si ottiene ponendo tutti i bit disponibili a 1, ottenendo dunque il valore 1.1111, considerato anche il bit implicito, pari a 2-2 -4. Il massimo valore rappresentabile è dunque (2-2 -4 )* 2 5, ovvero 2 6-2=64-2=62 in base 10. In sintesi: Minimo Massimo Virgola fissa 0.125 31.875 Virgola mobile 0.25 62 2) Per rappresentare i due valori 27.5 e 10.25 in virgola mobile, vanno innanzi tutto convertiti in binario mediante gli algoritmi della divisione successiva per la parte intera, e della moltiplicazione successiva per la parte frazionaria, ottenendo rispettivamente 11011.1 e 1010.01. Non ci resta che normalizzare la mantissa ottenendo i relativi esponenti: 1.10111*2 4 e 1.01001*2 3. Gli esponenti vanno scritti con tre bit in eccesso due. Per ottenere la rappresentazione in eccesso due è sufficiente sommare appunto l eccesso al valore numerico da rappresentare, e poi convertirlo in binario. Si ha 4+2=6 110 e 3+2=5 101. Quindi i valori sono rappresentati nel campo a 8 bit come segue: Valore S Esponente Mantissa 27.5 0 1 1 0 1 0 1 1 10.25 0 1 0 1 0 1 0 0 Come si può notare lo spazio per la mantissa non è sufficiente per memorizzare la mantissa di entrambi, che verranno così approssimati a 27 ed a 10 (viene tagliato l 1 meno significativo). Il bit di segno è lo stesso per entrambi i valori, dal momento che sono positivi (non è rilevante se sia 0 od 1). 3) L algoritmo dei calcolatori prevede i seguenti passaggi: allineamento delle mantisse degli operandi, somma delle mantisse degli operandi, normalizzazione della mantissa del risultato ed eventuale modifica dell esponente. Allineamento delle mantisse: la differenza fra gli esponenti del primo e del secondo numero è 1. Si divide quindi il secondo valore, più piccolo, per 2, onde avere la mantissa allineata con il numero maggiore. Somma delle mantisse: 1.10110 + 0.101 = 10.0101 Normalizzazione della mantissa e modifica dell esponente: 10.0101 = 1.00101 * 2 *2 4 = 1.00101 * 2 5 Valore S Esponente Mantissa 37? 0 1 1 1 0 0 1 0 Anche la somma subisce un troncamento risultando ora pari a 36. In sintesi ci si aspettava la somma di 27.5 e 10.25, pari a 37.75, ed invece, coi bit a disposizione, la progressiva perdita di precisione nella rappresentazione dei singoli addendi prima e dell operazione poi, ha portato ad un risultato pari a 36.

ESERCIZIO 2.2 (3 punti) Le tabelle di verità per il bit generico dell operando A e per quello dell operando B sono le seguenti: Operando A: s1 s0 Ai Ai new Nota 0 0 0 0 In A+B e A-B, 0 0 1 1 Ai è inalterato 0 1 0 0 0 1 1 1 1 0 0 1 In B-A e -A, 1 0 1 0 Ai è complementato 1 1 0 1 1 1 1 0 A s1s0 0 00 01 11 10 1 1 Operando B: s1 s0 Bi Bi new Nota 0 0 0 0 In A+B, 0 0 1 1 Bi è inalterato 0 1 0 1 In A-B, 0 1 1 0 Bi è complementato 1 0 0 0 In B-A, 1 0 1 1 Bi è inalterato 1 1 0 0 In A, 1 1 1 0 Bi è forzato a 0 B s1s0 0 00 01 1 11 10 1 1 1 1 1 1 Infine, per quanto riguarda : s1 s0 cin Note 0 0 0 0 1 1 Effetto della rappresentazione in complemento a 2 di B 1 0 1 Effetto della rappresentazione in complemento a 2 di A 1 1 1 Da cui si evince che:.

ESERCIZIO 3 UNITA DI I/O Il protocollo prevede attivazione del segnale di READ e contestualmente rilascio dell indirizzo della parola da cercare (40 ns); tempo di ciclo della memoria (50 ns); trasferimento dati dalla memoria alla CPU (80 ns poiché la dimensione è doppia rispetto alla linea dati del bus): 40 ns 50 ns 80 ns Il tempo complessivo di traferimento è dato dunque da 40+50+80=170 nsec. ESERCIZIO 3.2 (2 punti) Considerando un processore dotato di frequenza di clock pari a 100 MHz, calcolare la massima velocità di trasferimento, in bps, di una parola da 32 bit, quando esso sia realizzato da un modulo DMA in modalità block transfer. Motivare la risposta. Soluzione. La massima velocità ottenibile è data dal numero di bit per parola, per il numero di cicli al secondo, ovvero la frequenza di clock. Nel calcolo si suppone che avvenga un trasferimento per ogni ciclo, dal momento che il bus è completamente occupato dal DMA che ne è diventato master. Si ottiene dunque 32 (bit/ciclo) * 100 Mcicli/sec = 3.2 Gbps. ESERCIZIO 3.3 (4 punti) Con soli 2 segnali liberi è possibile solo utilizzare la tecnica daisy chain con arbitraggio centralizzato che ha solo 2 segnali (request e grant). Ovviamente questa tecnica implica una gestione rigida delle priorità, che sono definite una volta per tutte.