• 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

Cognome e nome Matricola

Esercizio 1 (6 pts)

Qui a fianco è riportata la tabella di verità di una funzione booleana F a quattro variabili. Le X denotano input che non fanno parte del dominio di F.

(a) Scrivere un’espressione booleana, ottimizzata col metodo di Karnaugh, in prima forma canonica.

(b) Ripetere, per la seconda forma canonica.

(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 delle due espressioni risulterà nel circuito meno caro? (giustificare la risposta)

Esercizio 2 (6 pts)

Una architettura con words di 8 bits dispone di un formato in virgola mobile con 4 bit di esponente (memorizzato con spiazzamento 8) seguiti da 3 bit di mantissa. Descrivere il valore memorizzato nei seguenti floats:

(le risposte devono essere fornite in base 10, come numero con virgola oppure come frazione, cioè come rapporto di interi; non è sufficiente fornire le risposte in notazione scientifica).

(a) 00101100 (c) 11101010 (e) 00000000

(b) 10101100 (d) 00001000 (f) 01000010

Esercizio 3 (6 pts)

Si supponga di avere a disposizione il datapath mostrato sotto (è uno di quelli visti a lezione).

L’ALU dispone delle comuni funzioni (ADD, SUB, PASSA, PASSB, eccetera).

Si scriva un microprogramma che realizza la nuova istruzione, avente opcode = 39:

DBLIND regA regB

“Double Indirection”, cioè doppia indirezione(*).

L’effetto di questa istruzione è quello di memorizzare nel registro A il valore in RAM presente alla locazione registrata in RAM all’indirizzo regB. Cioè:

regA = RAM[

RAM [ regB ]

]

Non è necessario includere la fase di fetch: il microprogramma parte dal passo 3, dopo tale fase.

(*) si ricorda che “indirezione”, o

“deferenziazione”, è il procedimento di ottenere un valore registrato in memoria a partire dal suo indirizzo.

a b c d F 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 X 1 1 0 1 X 1 1 1 0 0 1 1 1 1 X

(2)

Esercizio 4 (3 pts)

(a) dire quanti bit di uscita ha un decoder a 4 ingressi, e specificare l’uscita per l’ingresso 0010 (b) disegnare il circuito di un un latch SR usando solo le comuni porte logiche

(c) disegnare il circuito di un Multiplexer a due segnali di ingresso (da un bit ciascuno)

Esercizio 5 (6 pts)

(a) Si ha a disposizione un Clock con frequenza 1MHz, e lo si vuole impegnare per implementare un Clock con frequenza 0.5Hz. Si possono usare tutti i comuni blocchi funzionali, come quelli visti a lezione. Suggerimento: prima di procedere allo svolgimento, ci si accerti di aver capito bene quale comportamento è richiesto dal circuito realizzato; nel proprio elaborato, specificare esplicitamente la durata: del ciclo, dell’intervallo basso, e alto del clock che si vuole ottenere.

(b) Per ciascun blocco funzionale usato, specificare se si tratta di un circuito combinatorio oppure sequenziale.

Esercizio 6 (5+1 pts)

Completare il programma Assembly MIPS qui sotto, fornendo il codice da sostituire alla parte indicata.

La sezione dati contiene una variabile n intera, seguita da un array 1 di n numeri interi, e un array 2 di altri n numeri interi.

Lo scopo del programma è scoprire se almeno uno dei due array contiene uno o più elementi

strettamente negativi ( < 0 ). In questo caso, si deve eseguire il codice contrassegnato dall’ etichetta

“casoA”; altrimenti, se entrambi gli array sono costituiti solo da elementi positivi (o nulli), va eseguito il codice contrassegnato dall’etichetta

“casoB”.

Ci si sforzi di scrivere un programma il più possibile efficiente e coinciso. Bonus di 1 punto al

programma corretto che usi numero minore di istruzioni.

Si forniscono a fianco le sintassi di alcune istruzioni.

.data .word

n: < qui un valore >

array_1: < qui dei valori >

array_2: < qui dei valori >

.text main:

<il tuo codice qui>

casoB:

< qui il trattamento del caso B, e uscita.>

casoA:

< qui il trattamento del caso A, e uscita.>

la reg , etichetta load address li reg , valore load immediate move regA , regB copia il registro B nel

registro A lw reg , offset(reg) load word

(l’offset è opzionale) sw reg , offset(reg) store word

(l’offset è opzionale) add reg , reg , reg add (somma) addi reg , reg , val add immediate sub reg , reg , reg subtract (differenza) sll reg , reg , val Shift left logical srl reg , reg , val Shift right logical

j etichetta jump

bgez reg , etichetta branch on greater than or equal to zero bgtz reg , etichetta branch on greater than

zero

bnez reg , etichetta branch on not equal zero

beqz reg , etichetta branch on equal zero bltz reg , etichetta branch on less than

zero

bltz reg , etichetta branch on less than or equal to zero

Riferimenti

Documenti correlati

Premere il tasto Start ha l’effetto di riazzerare il timer e farlo partire (il timer continua a scorrere, anche se il tasto Start viene rilasciato, fino alla pressione del

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

Il numero di transistor per realizzare una porta dipende dalla tecnologia, dalla funzione e dal numero di ingressi. Porta NOT: 1 oppure 2 transistor Porte AND e OR: 3 oppure

Mi piace però molto scattare le foto durante l’intervista proprio perché du- rante l’intervista uno si lascia prendere dal racconto, quindi le facce, le espressioni sono più

QUESTI RIFIUTI CON LA TECNICA DEL COMPOSTAGGIO DOMESTICO, CON UNO SGRAVIO SULLA TARIFFA RIFIUTI.. E’

Il controller legge il registro control e trova il comando write.. Legge da data-out ed effettua write

C ome da tradizione, nella giornata dell’Epifa- nia, il presidente del CRE-Centro di Riabili- tazione Equestre “Emanuela Setti Carraro Dalla Chiesa”, Alessandro Zambelli, alla

L’impressione che si aveva entrando in Babilonia era di trovarsi in una città ricca di vita, di movimento e di colori; dappertutto si vedevano persone affaccendate, mercanti