Architettura degli elaboratori, 16 Settembre 2010

Per A.A. precedente a 08/09 (6 crediti): esercizi 1-4
Per A.A. 08/09 e successivi (9 crediti): esercizi 1-5

(Indicare sul compito se il proprio piano di studi richiede 6 o 9 crediti)

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.
  • Gli iscritti alla laurea triennale debbono essersi prenotati sul portale studenti del nostro ateneo. Se cio' non e' stato fatto, comunicatelo immediatamente al docente o all'assistente in aula.
  • Date ed orari degli orali verranno indicati nella pagina web dei risultati e sul Forum.



  • Esercizio 1   Fornire le definizioni di circuito combinatorio, sequenziale, sequenziale sincrono e sequenziale asincrono.
    Fornire il circuito di un Multiplexer a quattro vie.
    Fornire la descrizione di un semplice circuito sequenziale asincrono.

    Esercizio 2   Si vuole estendere il linguaggio IJVM con una nuova istruzione XISTR. Vogliamo che l'effetto dell'esecuzione di XISTR risulti equivalente all'effetto dell'esecuzione del seguente segmento di codice IJVM puro:
    ILOAD 1
    ILOAD 2
    BIPUSH 3
    IADD 
    IADD
    
    Scrivere il codice Mic-1 che realizza l'istruzione XISTR. Fornire anche la versione Mic-2 del codice prodotto.
    Commentare il codice. Codice non commentato non verra' valutato.

    Esercizio 3  Quello che segue e' il codice della realizzazione dell'istruzione INVOKEVIRTUAL in Mic-2.
    Ricopiare e commentare sinteticamente tale codice, indicando l'effetto e la finalita' delle varie microistruzioni.
    invokevirtual1 MAR = CPP + MBR2U; rd
    invokevirtual2 OPC = PC 
    invokevirtual3 PC = MDR 
    invokevirtual4 TOS = SP - MBR2U 
    invokevirtual5 TOS = MAR = H = TOS + 1 
    invokevirtual6 MDR = SP + MBR2U + 1; wr 
    invokevirtual7 MAR = SP = MDR 
    invokevirtual8 MDR = OPC; wr 
    invokevirtual9 MAR = SP = SP + 1 
    invokevirtual10 MDR = LV; wr 
    invokevirtual11 LV = TOS; goto(MBR1)
    


    Esercizio 4   Descrivere, con il massimo livello di dettaglio possibile, un protocollo di arbitraggio decentralizzato del Bus.

    Esercizio 5   Rappresentazione dei numeri razionali in Virgola Mobile e Standard IEEE 754.
    Discuterne brevemente.