Architettura degli elaboratori, 30 Giugno 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, uno 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
    Descrivere la funzionalita' di un decodificatore (decoder). Fornire il circuito di un decodificatore a 4 uscite.
    Esercizio 2
    I codici ASCII e UNICODE. Discuterne.
    Esercizio 3
    Scrivere la versione di INVOKEVIRTUAL in Mic-2.
    Esercizio 4
    Quale valore viene restituito dal seguente metodo assembly IJVM? Giustificare.
    .method X (n)
    .var
    c
    .end_var
    
         BIPUSH 0 
         ISTORE c
         ILOAD n
         BIPUSH 1
         IF_ICMPEQ  end
         LDC_W objref
         ILOAD n
         BIPUSH 1
         ISUB
         INVOKEVIRTUAL X
    end  IINC c 2
         ILOAD c
         IRETURN
    
    .end_method
    

    Esercizio 5
    Cosa si intende per arbitraggio decentralizzato del Bus? Descrivere un tipo di arbitraggio decentralizzato del Bus.
    Esercizio 6
    Durante il corso e' stato descritto un esempio di realizzazione di Trap per IJVM relativa all'evento "Operazione su Stak impossibile: Stack vuoto". Descrivere brevemente come realizzare una Trap per IJVM relativa all'evento "Inserimento su Stack impossibile: Memoria non disponibile".