Architettura degli elaboratori, 31 Gennaio 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, comunicatelo immediatamente al docente o all'assistente in aula.

  • Esercizio 1
    Uno dei principi di progettazione dei calcolatori moderni e' "Le istruzioni devono essere facili da decodificare".
    In che modo e' possibile soddisfare tale requisito? E' un requisito da rispettare solo per linguaggi realizzati in Hw? Giustificare.
    Esercizio 2
    Disegnare il circuito di un Multiplexer (selettore in uscita) a 4 vie.
    Esercizio 3
    Disegnare il diagramma di temporizzazione di un bus asincrono relativo alla lettura di una parola di memoria. Nel bus sono presenti un insieme di linee ADDRESS, un insieme di linee DATA e i segnali MREQ, RD, MSYN, SSYN. Tutti i segnali sono asseriti alti. Descrivere brevemente gli eventi rappresentati nel diagramma.
    Esercizio 4
    Nel Data Path dell'architettura del Mic-2 il registro MBR e' rappresentato, piu' o meno, nel seguente modo:
    
                                      | |
               - - - - - - - ---- ==> | |
          ====>:  MBR     ->|    |    | |
               - - - - - - - ---- ==> | |
                             ^ ^      | |
                             | |      | |
    													     
    Scrivere brevemente tutto quello che si conosce di tale registro, il suo funzionamento, i collegamenti, la sua funzione.
    Esercizio 5
    Supponiate di avere a disposizione in IJVM un'istruzione GETCH che pone sullo Stack il primo elemento del buffer circolare relativo alla realizzazione di I/O con interruzioni come descritto nelle note del corso "Esempio (con simulatore) di realizzazione di Input/Outpur con interruzioni".
    Scrivere un metodo in assembly IJVM che restituisca il valore 3n, dove n e' il primo elemento nel buffer circolare (che si assume rappresenti un numero naturale).
    Si puo' assumere di avere a disposizione un metodo mult che esegue il prodotto.
    Commentare il codice. Codice non commentato non verra' valutato.
    Esercizio 6
    Prendendo in considerazione l'esempio di assemblaggio per l'assembly IJVM proposto nel materiale del corso, descrivere il comportamento del Linker.