• Non ci sono risultati.

Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate

N/A
N/A
Protected

Academic year: 2021

Condividi "Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate"

Copied!
2
0
0

Testo completo

(1)

Università degli Studi dell’Insubria

Dipartimento di Scienze Teoriche e Applicate

Architettura degli elaboratori: Esame del 6/6/2017 Prof. Marco Tarini

Nome e Cognome: Matricola:

Tempo Massimo 2h e 15m

Esercizio 1 (tempo suggerito: 30 minuti: 20+9+1)

Data la funzione da a,b,c,d a R definita dalla tavola delle verità qui a fianco:

1.a) Utilizzando le mappe di Karnaugh, scrivi l’espressione equivalente ottimizzata sia come prodotto di somme, sia come somma di prodotti (specificando quale è quale).

1.b) Disegna i due circuiti corrispondenti (uno per ciascuna espressione), usando solo porte binarie e la porta NOT.

1.c) Quale dei due circuiti è più veloce, se le porte OR, AND e NOT hanno un tempo di commutazione di 0.3, 0.2, e 0.1 ns rispettivamente?

Esercizio 2 (tempo suggerito: 15 minuti)

Il signor Salviati afferma che le due espressioni (A )B xorA e (A )B xorB siano equivalenti. Il signor Simplicio lo nega con forza. Chi ha ragione? Come lo dimostreresti?

Esercizio 3 (tempo suggerito: 15 minuti) Un’architettura possiede registri di 6 bit.

3.a) Scrivi le rappresentazioni in complemento a due di A = 10 e B = -14.

3.b) Elabora la somma C = A+B svolgendo l’opportuna operazione sulle due rappresentazioni di A e B ottenenendo la rappresentazione in complemento a 2 di C.

3.c) Interpreta C come natuale in base 10, verificando così la correttezza del tuo procedimento.

Esercizio 4 (tempo suggerito: 15 minuti)

Disegna un circuito combinatorio che effettua la moltiplicazione fra due numeri a 4 bit dati,

utilizzando i blocchi funzionali standard come quelli visti a lezione (ma non, ovviamente, quello che effettua la moltiplicazione!).

(segue ) a b c d R

0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1

(2)

2 Esercizio 5 (tempo suggerito: 60 minuti :-- 40 + 20)

Hai a disposizione l’archietettura mostrata a fianco (è una di quelle visto a lezione). L’ALU ha come esiti i bit isZero e isPos, e dispone delle funzioni:

add: R = A+B pass: R = B sub: R = A – B

isAZero: isZero = 1 se A vale zero isBZero: isZero = 1 se B vale zero isAPos: isPos = 1 se A è positivo isBPos: isPos = 1 se B è positivo not: R = not A

5.a) Scrivi un microprogramma, come tabella con le colonne Step, Opcode, Esiti, Oridini, e NextStep, che realizza l’operazione:

order Rs Rd

avente opcode 60, che ha l’effetto di scambire fra loro i valori dei due registri indicati, se il primo è maggiore del secondo (dopo l’operazione, dunque, i due registri saranno sempre ordinati in ordine crescente, Rs ≤ Rd, indipendentemente dalloro valore iniziale). Ovviamente, nessuno degli altri registri utente deve essere “sporcato” dall’operazione. Minimizza il numero di microistruzioni utilizzate. Non è richiesta la fase di fetch, che occupa i passi 0,1,2 e 3 di ogni istruzione.

5.b) Anche avvalendosi di questa nuova istruzione, scrivi un piccolo programma MIPS che ordina i tre numeri dati, che sono registrati nella sezione dati sotto

làetichetta °numeri”, come illustrato qui sotto:

.

data numeri:

.word <i tre valori sono qui>

.globl main .text

main:

<il tuo codice va qui>

over:

# exit program li $v0 10

syscall

Per agevolare il compito, qui a fianco è riporatta la sintassi e la semantica di acluni altre istruzioni MIPS.

la rd , etichetta load address (copia l’indirizzo nel registro) li rd , valore load immediate

(copia il valore nel registro) lw rd , offset(rs) load word

(l’offset è opzionale) sw rd , offset(rs) store word (l’offset è opzionale) add rd , rs , rt add (somma) addi rd, rs, valore add immediate sub rd , rs , rt subtract

(differenza)

j etichetta jump

jr rd jump register

jal etichetta jump and link bnez rd , etichetta branch on not

equal zero beqz rd , etichetta branch on equal

zero

Riferimenti

Documenti correlati

Coi metodi visti fin’ora (che usano la tavola di verità o le mappe di Karnaugh) possiamo fare solo reti piccole, con pochi input. La realizzazione di moderni circuiti

(c) Se una porta AND (a due ingressi) costa quanto 2 porte NOT, e una porta OR (a due ingressi) costa quanto 3 porte NOT (e non è disponibile nessun altro tipo di porta), quale

Quindi possiamo considerarlo come un solo array, con il doppio degli elementi.. Scandiamo il doppio degli elementi a partire dal

Si noti che circuiti come Decoder e Multiplexer non fanno alcuna ipotesi sul significato dei segnali. Il confrontatore invece ipotizza che i dati di ingresso siano dei numeri

Marco Tarini - Università

All’interno di questo complicato arcipelago ho scelto di illustrare un lavoro di rassegna che analizza nel dettaglio il rapporto tra finzione cardiovascolare, in

- nominato Professore associato per la disciplina Neuropatologia presso la Facoltà di Medicina e Chirurgia dell'Università degli Studi di Siena, cessando in pari

Presumibilmente si tratta di quelli che erano conosciuti come penny dreadful, ovvero giornali economici (costavano appunto un penny), la cui diffusione «fu dovuta in