Architettura degli elaboratori, 22 Settembre 2009

Per A.A. precedente a 08/09: esercizi 1-3
Per A.A. 08/09: esercizi 1-4

(Indicare sul compito se si e' dell'a.a. 08/09 o precedenti)

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.
  • Per superare lo scritto occorre che almeno uno degli esercizi 2 e 3 sia svolto in maniera sufficiente
  • Se si passa lo scritto, si deve obbligatoriamente sostenere anche un colloquio orale. Gli orali si terranno nei pomeriggi del 30 Settembre e 1 Ottobre (per il presente appello gli orari precisi degli orali e i risultati dello scritto verranno comunicati sul Forum)

  • Esercizio 1
    Cosa si intende per I/O mappato in memoria (Memory mapped I/O)? Come si realizza?

    Esercizio 2
    Si scriva un segmento di codice Mic-2 che calcoli il numero di bit a 0 presenti nel registro TOS e che inserisca tale numero in SP.
    Commentare il codice. Codice non commentato non verra' valutato.

    Esercizio 3
    Supponamo di aver esteso la macchina IJVM con una nuova istruzione SET-CPOOL. Tale istruzione prende la parola in cima allo Stack (eliminandola dallo Stack stesso) e la inserisce nell'elemento 26 della Constant Pool.
    E' possibile realizzare tale estensione di IJVM su Mic-1? E su Mic-2?

    Supponiamo ora di poter collegare l'elemento 25 della Costant Pool alle linee di Request di 3 possibili Master di un bus (tali linee Request sono connesse ai bit da 0 a 2 dell'elemento 25). L'elemento 26 della Constant Pool, invece, viene collegato alle linee di Grant dei 3 possibili Master (tali linee Grant sono connesse ai bit da 0 a 2 dell'elemento 26).
    Realizzare un metodo assembly IJVM (che ovviamente non termina mai) che implementi un arbitro per un arbitraggio centralizzato a stella (simile a quello del PCI bus per intenderci).
    Commentare il codice. Codice non commentato non verra' valutato.

    Esercizio 4
    Le tecniche di predizione dei salti: cosa sono, a cosa servono. Descrivere brevemente almeno due tecniche di predizione dei salti.