Architettura degli elaboratori, 13 Giugno 2009
Per A.A. precedente a 08/09: esercizi 1-4
Per A.A. 08/09: esercizi 1-6
(Indicare sul compito se si e' del 08/09 o precedenti)
Non e' ammesso l'uso di alcun testo, appunti o
calcolatrici. Le risposte vanno scritte nel foglio di bella copia. Si
raccomanda la massima SINTETICITA'. L'eccessiva verbosita' verra'
considerata negativamente.
I risultati (sia positivi
che negativi) verranno registrati sul portale CEA non appena corretti i
compiti. Chi non intenda accettare un voto basso o desideri fare un
orale in caso di voto basso (se quest'ultimo e' comunque maggiore di
24), deve comunicarlo per tempo al docente o all'assistente in aula ed
indicarlo sul proprio elaborato.
Gli iscritti alla laurea
triennale debbono essersi prenotati sul portale studenti del nostro
ateneo, in caso cio' non sia stato fatto fatelo immediatamente presente
al docente o all'assistente in aula.
Per passare l'esame occorre che almeno uno degli esercizi 3 e 4
sia svolto in maniera sufficiente
Esercizio 1
Architetture RISC e architetture CISC: fornirne una breve descrizione.
Il sistema studiato a lezione (quello con l'hw Mic-1) e' RISC o CISC?
E se usassimo Mic-2?
Il principio di progetto "Solo operazioni di LOAD e STORE devono far
riferimento alla memoria" e' un principio di progetto per macchine
CISC o RISC? Giustificare la risposta.
Esercizio 2
Fornire la definizione di Insieme di operatori booleani funzionalmente completo.
Qual e' l'affermazione corretta tra le due seguenti? Dimostrarlo formalmente.
- il numero di insiemi funzionalmente completi
di operatori booleani e' finito.
- il numero di insiemi funzionalmente completi
di operatori booleani e' infinito.
Esercizio 3
Scrivere un segmento di codice Mic2 che inserisca in SP
il prodotto tra il contenuto di TOS e quello di OPC.
In seguito modificare ed estendere tale codice in modo che
in SP venga inserito il contenuto di TOS elevato al contenuto di OPC.
Si supponga, per semplicita', che OPC > 0 e TOS > 0.
Codice non commentato non verra' valutato.
Esercizio 4
Scrivere un metodo assembly IJVM tale che la rappresentazione in esadecimale dei byte che vengono inseriti nella Method Area a seguito della sua traduzione sia:
0x00 0x05 0x00 0x03 0x15 0x02 0x59 0x36 0x06 0x84 0x06
0x04 0x10 0x03 0x59 0x9B 0x00 0x05 0x15 0x07 0x60 0xAC
(Si ricordi il significato dei primi 4 byte di un metodo
presente nella Method Area.)
In seguito si programmi in assembly IJVM una chiamata a
tale metodo (utilizzando sempre 0 per gli argomenti) e si
forniscano i byte della sua traduzione (rappresentati in esadicimale).
Esercizio 5
Tradurre in Mic-3 le prime 4 microistruzioni del codice relativo
alla prima parte dell'esercizio 3.
Esercizio 6
Descrivere la rappresentazione (a lunghezza fissa)
in complemento a due dei numeri interi.
Fornire una procedura per ottenere, data la rappresentazione
in complemento a due di un numero, quella del suo opposto.
Dimostrare formalmente la correttezza di tale procedura.