Architettura degli elaboratori, 15 Giugno 2006

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 verranno registrati sul portale CEA alcuni giorni dopo la loro pubblicazione su web. Chi non intende accettare il voto o intende fare un orale (se il voto fosse maggiore di 24), dovra' comunicarlo tempestivamente al docente.
  • Gli iscritti alla laurea triennale debbono essersi prenotati sul portale CEA. Nel caso cio' non sia stato fatto, si prega di farlo 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
    (a) Descrivere la componente Interprete delle Macchine Astratte. E' possibile avere delle macchine astratte senza la componente Interprete? Motivare brevemente la risposta.
    (b) Supponiate di avere un Bus con 4 linee per gli indirizzi e che tali linee siano collegate al segnale CS di una piccola ROM, come indicato nella figura.
                     __________ CS
                    |
                   AND
                _________
                |      |
                OR     |
              ______   |
               |  |    |
               |  |    |
    A3     ----x--|----|-------
    A2     -------|----|-------
    A1     -------x----|-------
    A0     ------------x-------
       
    Ovviamente una CPU collegata a tale bus potra' leggere in uno spazio di indirizzamento di 24 parole (con indirizzi da 0 a 24-1). Di queste, quali sono quelle che fisicamente appartengono alla ROM sopra citata?
    Giustificare la risposta.

    Esercizio 2
    (a) Nell'hardware di Mic-1 e' presente una componente contrassegnata con una 'O':
    	  MPC
    	  ___________________ 
    	  | | | | | | | | | |
    	  -------------------
                      ^
    		  |
                    -----
    	  - --> | O |< --
    		-----
    		  ^
    		  |
    	  
    Qual e' la sua funzione?

    (b) Si scriva il microcodice Mic-1, da inserire nel microinterprete, che permetta di realizzare una nuova istruzione IJVM:
    IFMPLT offset (l'argomento offset e' lungo due byte).
    Tale istruzione e' un'istruzione di salto condizionato. Il salto viene effettuato se la cima dello Stack (che viene poi eliminata) e' un numero positivo multiplo di 3.

    Esercizio 3
    (a) Descrivere la differenza tra interruzioni e trap.

    (b)
    Scrivere un metodo in assembly IJVM che corrisponda alla traduzione della seguente funzione scritta nel fantastico linguaggio di programmazione ITALIAN.
    Funzion Pippo(arg1, arg2, arg3)
    Se arg1 Piugrandougual arg2
    Allor Restituisc Pippo(2Perarg2, arg3Menoarg2, arg3)
    Altriment Restituisc arg1Piu'arg2Piu'arg3
    Findellafunzion