• 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

Prof. Marco Tarini

Cognome e nome ____________________________ Matricola __________

Esercizio 1

Si desidera un circuito combinatorio che realizza la funzione da b,c,d a Z rispondente alla tabella delle verità qui a fianco.

(a) Realizza il circuito, ottimizzato utilizzando le mappe di Karnaugh, e sintetizzando l’espressione come prodotto di somme.

(b) Ripeti l’esercizio, questa volta come somma di prodotti.

(c) I due circuiti che hai disegnato sono equivalenti? Giustifica la risposta.

Esercizio 2

Un’archiettura usa numeri in virgola mobile con 8 bit di mantissa e 5 di esponente (offset a 16), con troncamento. Riporta per intero le rappresentazioni dei numeri la cui espressione in base 10 è: (a) -1000 (b) 1/100 (se sono nel range rappresentabile).

Esercizio 3

Si ha a disposizione il datapath mostrato a fianco (è uno di quelli visto a lezione). L’ALU dispone delle funzioni:

Add: R = A+B PassA: R = A PassB: R = A Sub: R = A – B Shl: R = shift left(A) Not: R = not A

Scrivi un microprogramma che realizza l’operazione mips

SW

Rs Imm(Rt) avente opcode = 43, e che

come si ricorderà ha l’effetto di memorizzare nella casella di memoria RAM indicata da Rt incrementata dell’offset (nel campo immediate) il valore attuale del registro Rs. Non è richiesta la fase di fetch: il microprogramma parte dalla microistruzione numero 4, dopo la fase di fetch.

Il micorprogramma deve consistere in una tabella che riporti, come input: la microistruzione, il codice dell’istruzione corrente, e gli esiti; e, come output: i comandi da madare al datapath e il passo successivo.

b c d Z 0 0 0 X 0 0 1 X 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0

(2)

2 Esercizio 4

Un dispositivo possiede un solo input A e due uscite B e C.

Il suo funzionamento desiderato è espresso dalla macchina a stati finiti riportata qui accanto (in ogni stato, è riporato l’output prodotto). Lo stato deve essere aggioranto ad ogni ciclo di clock.

Progetta il circuito che realizza questo comportamento, usando se necessario i comuni blocchi funzionali visti a lezione. E’ solo richiesto il corretto funzionamento a regime, trascurando lo stato iniziale.

Esercizio 5

Completa il programma Assembly MIPS qui sotto.

Nella sezione dati, come si vede, viene memorizzato un array “numeretti”, terminato da 0, che contiene una sequenza di numeri (di lunghezza non nota). Il programma deve calcolare il valore del massimo numero nella sequenza, e della somma di tutti i numeri della sequenza, e memorizzare questi due valori delle locazioni indicati da “max” e “somma” rispettivamente.

Per agevolare la scrittura, qui a destra si fornisce una tabella con la sintassi di alcune possibili istruzioni MIPS.

Scrivi solo il codice da sostituire alla parte indicata

.

data

numeretti:

.word 4 -4 +2 1 … 0 max:

.word 0 somma:

.word 0 .globl main .text

main:

<il tuo codice va qui>

fine:

# exit program li $v0 10

syscall

la reg , etichetta load address (copia l’indirizzo nel registro)

li reg , valore load immediate (copia il valore nel registro)

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,valore add immediate sub reg , reg , reg subtract (differenza)

j etichetta jump

jr reg jump register

jal etichetta jump and link

bnez reg , etichetta branch on not equal to zero

beqz reg , etichetta branch on equal to zero

bgtz reg , etichetta branch on greater than zero

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

Riferimenti

Documenti correlati

DALLA CHIESA - OMEGNA QUALIFICA OPERATORE ELETTRICO CORSO DI ESERCITAZIONI PRATICHE CLASSE SECONDA..

Un motore asincrono trifase viene avviato manualmente e ruota in un senso definito convenzionalmente &#34;AVANTI&#34;. Dopo 5 secondi dall'avviamento inverte automaticamente il

Dopo altri 4 secondi il secondo motore si arresta automaticamente e il primo riparte, ruotando nel senso definito &#34;INDIETRO&#34;.. Sei secondi più tardi il primo motore

(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

Infine recentemente, analizzando 132 carcinomi del colon-retto, caratterizzati da instabilità cromosomica (CIN), sono state identificate 11 mutazioni somatiche in quattro

Leggere n e generare un array di n numeri casuali, leggere un numero s e verificare se nell’array esiste una sequenza di elementi contigui la cui somma vale s.. Se tale

IMPORTANTE: Utilizzare una funzione per creare la lista, un'altra per stamparla e una terza per stampare la sottolista di