Architettura degli elaboratori, 11 Dicembre 2007
Compito e tempo piu' breve per indisponibilita' aule, 1h:15m a disposizione per lo svolgimento.

  • 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.
  • Esercizio 1 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 con indirizzi da 0 a 24-1. Di queste parole quali sono quelle che fisicamente appartengono alla ROM sopra citata? Giustificare la risposta.
    Esercizio 2 Nell'hardware di Mic-1 e' presente una componente contrassegnata con una 'O':
    	  MPC
    	  ___________________ 
    	  | | | | | | | | | |
    	  -------------------
                      ^
    		  |
                    -----
    	  - --> | O |< --
    		-----
    		  ^
    		  |
    	  
    Qual e' la sua funzione?
    Esercizio 3 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 4 Tradurre in assembly IJVM il seguente metodo:
    	public int owl(int x, int y)
          	{
    	    int counter = 0;
    
       	    while(counter < 12)
        	    { x = counter + x + y;
       	    counter = counter + 1;
       	    }
    
        	    return castle(x);
             }
     
    Supporre di avere gia' un metodo IJVM di nome "castle". Tradurre il metodo cosi' com'e', senza fare ottimizzazioni.
    Commentare il codice. Codice non commentato non verra' valutato.