Architettura degli elaboratori, 16 Settembre 2008

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.
  • 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.
  • Coloro che debbono sostenere l'esame da 9 crediti, una volta superato lo scritto dovranno sostenere un orale sulla parte del programma del loro anno di corso non coperto dal programma di quest'anno.


  • Esercizio 1
    Fornire le definizioni di: Circuito, Circuito Combinatorio, Circuito Sequenziale, Circuito Sequenziale Sincrono, Circuito Sequenziale Asincrono.

    Esercizio 2
    Descrivere il comportamento dell'istruzione WIDE di IJVM e discutere della sua implementazione in Mic-1.

    Esercizio 3
    Supponiamo di voler estendere il linguaggio Mic-1 con istruzioni della forma
    if B goto et1; else goto et2
    
    dove B puo' essere, come al solito, (N) oppure (Z).
    La semantica di tali istruzioni e' quella di un salto condizionato, ma il valore su cui si testa la condizione e' quello dell'espressione utilizzata nell'assegnamento presente nell'istruzione eseguita il ciclo precedente (supponendo che l'istruzione eseguita il ciclo precedente contenga sempre un assegnamento).
    Il normale Hw Mic-1 permette di realizzare anche istruzioni di questo nuovo tipo senza alcuna modifica? In caso affermativo, giustificare. Altrimenti, proporre una modifica dell'Hw a tale scopo.

    Esercizio 4
    Quanto tempo ci vuole affinche' un Mic-1 a 400Mhz esegua l'istruzione Java i=j+k? Fornire la risposta in nanosec.
    (Si suppone che tutti i livelli superiori a quello IJVM siano realizzati per traduzione)

    Esercizio 5
    Scrivere il codice assembly IJVM corrispondente ad un metodo Java che abbia tre numeri naturali come parametri e che restituisca il piu' grande dei parametri se il piu' piccolo e' uguale a 0, altrimenti restituisca il piu' piccolo dei parametri .
    Qual e' il valore dei 4 byte che precedono il codice una volta tradotto ed inserito nella Method Area?
    Commentare il codice (codice non commentato non verra' valutato)

    Esercizio 6
    Nell'esempio di I/O gestito con interruzioni presente nel programma del corso, la rilevazione della presenza di un segnale di interruzione e' eseguita da un segmento di codice Mic-1.
    E' possibile estendere l'Hw Mic-1 in modo che la rilevazione della presenza di segnali di interruzione sia effettuata via Hw? Giustificare una eventuale risposta negativa o fornire uno schema di realizzazione.