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.
    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.