• 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 (5 pts)

Dato il circuito qui accanto:

a. Determinarne il tempo di commutazione, se ogni porta AND e OR impiega 3 ns, e ogni porta NOT 1 ns.

b. Scrivere la tabella delle verità della funzione associata.

c. Scrivere un’espressione equivalente in prima forma canonica., ottimizzata utilizzando le mappe di Karnaugh.

Esercizio 2 (5 pts)

Mostare la rappresentazione del numero –146.4 in virgola mobile, con 12 bit di mantissa e 5 bit di esponente (offset a 16), con troncamento (quindi arrotondando per difetto). Determina quale valore viene effettivamente rappresentato (usando il procedimento inverso).

Esercizio 3 (2 pts)

Disegnare un circuito che implementa una funzione OR (a due ingressi) usando solo porte NOR.

Esercizio 4 (6 pts) Si supponga di avere a

disposizione il datapath mostrato a fianco (è uno di quelli visti a lezione). L’ALU dispone delle seguenti funzioni dei suoi due ingressi A e B:

Add: R = A+B Sub: R = A – B PassA: R = A PassB: R = B

IsZero: esiti = isZeroA Not: R = not A

Si scriva un microprogramma che realizza l’operazione: JALI imm (“Jump and link to immediate”) avente opcode = 22. L’effetto di tale operazine è quello di memorizzare il Program Counter corrente nel registro 31, e di saltare all’istruzione indicata dal campo immediate. Il microprogramma deve includere la fase di fetch.

(2)

Esercizio 5 (4 pts)

Realizzare un circuito sequenziale per controllare un dispositivo provvisto di lampadina LED.

L’uscita U del circuito determina se la lampadina è accesa. Il dispositivo ha due stati: disattivato e lampeggiante. Quando è disattivato, la lampadina rimane spenta. Quando è lampeggiante, la lampadina alterna fra accesa e spenta una volta ogni ciclo di clock.

Il dispositivo è provvisto di un solo tasto, collegato direttamente all’unico input del circuito (oltre al clock). Questo segnale alterna fra i due stati del dispositivo.

Si possono usare tutte le comuni porte (AND, OR, XOR, NOT…) e i blocchi funzionali sequenziali (latch, flip flop sincronizzati, etc) o combinatori.

Esercizio 6 (3 pts)

Si disegni il circuito di un bistabile SR. Si ricorda che tale latch prende in input un segnale S (set) e uno R (reset), e restituisce in uscita un valore corrente Q e il suo negato \Q. Quando S vale 1, il valore di Q viene messo a 1. Quando il R vale 1, il valore di Q assume 0. Quando entrembi valgono 0, il valore di Q rimane inalterato.

Esercizio 7 (6 pts)

Si completi il programma Assembly MIPS qui sotto.

Ipotizzare che nella sezione dati sia stato memorizzato un array che contiene un sequenza di un certo numero di valori interi strettamente positivi (maggiori di 0), memorizzati in altrettanti words.

L’array è terminato dal valore speciale 0.

Al termine del programma, il registro s0 deve contenere il maggiore di questi valori, oppure 0 se non è memorizzato alcun valore nell’array.

Indizio: bastano meno di una dozzina fra istruzioni ed etichette.

Per agevolare la stesura del codice, si fornisce qua a fianco una tabella con le sintassi di alcune possibili istruzioni.

Scrivere solo il codice da sostituire alla parte indicata in rosso.

.

data dati:

.word <qui verranno messi i dati>

.globl main .text

main:

<il tuo codice viene copiato qui>

over:

# 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)

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

j etichetta jump

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

zero

bnez reg , etichetta branch on not equal zero

beqz reg , etichetta branch on equal zero

Riferimenti

Documenti correlati

Conditionally branch to the instruction at the label if the contents of register Rsrc1 are greater than or equal to Src2. bgez Rsrc, label Branch on Greater Than

[r]

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

(b) Un progettista ha stimato che, incrementando il costo, si può ottenere uno a scelta dei seguenti due effetti: incrementare la dimensione della cache di

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

(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

Il Test Sierologico per Covid-19 è un test di screening quantitativo per la ricerca di anticorpi contro il virus SARS–CoV2 responsabile della polmonite