Architettura degli elaboratori, 18 Settembre 2007

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.

  • Esercizio 1
    Fornire le definizioni di: Circuito, Circuito Combinatorio, Circuito Sequenziale, Circuito Sequenziale Sincrono, Circuito Sequenziale Asincrono.
    Esercizio 2
    Descrivere lo schema di arbitraggio centralizzato daisy chaining (collegamento a festone) per i bus.
    Esercizio 3
    Scrivere il codice piu' corto possibile in IJVM puro che esegua un loop infinito che non fa' nulla. Giustificare la risposta.
    Esercizio 4
    Tenendo presente la realizzazione Hw di Mic-1 presentata dal testo, dire se tale Hw potrebbe realizzare, senza modifica alcuna, anche istruzioni Mic-1 contenenti salti condizionali del tipo
    if (N or Z) goto et1; else goto et2
    
    Giustificare la risposta.
    Esercizio 5
    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
    

    Esercizio 6
    Supponiamo di estendere il linguaggio IJVM con la seguente istruzione
    CMPVAR varnum1 varnum2 offset
    dove gli argomenti varnum1 e varnum2 sono lunghi 1 byte, mentre offset e' lungo 2 byte.
    Scrivere in Mic-1 il codice (da inserire nel programma che realizza l'interprete IJVM) che realizza tale istruzione, la cui semantica e' la seguente:
    confronta i valori delle due variabili identificate da varnum1 e varnum2 e, se sono identici, salta all'istuzione distante offset dal byte contente l'opcode dell'istruzione.
    Commentare il codice, codice non commentato non verra' preso in considerazione.