Strumenti Utente

Strumenti Sito


Barra laterale

informatica_triennale:architettura_degli_elaboratori_2

Architettura degli elaboratori II

FAQ

Come è strutturato l’esame?

L’esame di teoria consiste in una parte scritta e orale. Quella scritta si svolge su piattaforma Exam.net e SEB (si presume a crocette), quella orale su zoom e ci si accede se si è passati la parte scritta. Per la parte di laboratorio invece è richiesto lo svolgimento di un progetto in assembly seguito poi da un colloquio orale. Il voto di teoria vale 2/3 del voto finale, mentre quello di laboratorio 1/3. E’ consigliato fare affidamento al sito del docente per eventuali cambiamenti in situazione covid.

Qual è il materiale a disposizione per studiare?

Sono disponibili le videolezioni sul sito ariel del docente, con i relativi pdf. Il libro consigliato dal docente è “Computer organization and design” di D. A. Patterson.

Quali sono le risorse disponibili?

Data la scarsa quantità di aggiornamenti e l'impossibilità di utilizzare un tema scuro nella versione originale del software Mars 4.5.1 è possibile scaricare una versione non ufficiale ma funzionante con la customizzazione di temi (dark e non), sono presenti tutti i temi più noti. L'unico inconveniente è che la zona di editor e dei registri non sono soggette a modifiche (rimangono bianche).

Laboratorio

Come faccio ad utilizzare MARS sui PC dei laboratori?

Sembra che Java non sia installato su Windows, devi utilizzare Linux. Su Linux (Fedora) è sufficiente scaricare con Firefox il file .jar dal sito ufficiale ed eseguire i seguenti comandi:

cd Downloads/

java -jar Mars<tab>

Per <tab> si intende di premere il tasto tab.

Domande effettuate durante gli orali a distanza

Per delle brevi risposte e soluzioni riguardo queste domande è possibile trovare un documento nel gruppo relativo.

  • Come fa la cpu a sapere la priorità di un interrupt se è alta o bassa?
  • Come vengono gestite le priorità degli interrupt negli Intel?
  • Come faccio a sapere quale degli 8 banchi della cache è stato utilizzato meno di recente?
  • Risoluzione hazard sui dati
  • Nel caso di due hazard sullo stesso dato, quale viene propagato?
  • Questo meccanismo è presente anche nelle pipeline superscalari?
  • Che relazione c'è con il registro renaming?
  • Come funziona l'hazard detection unit?
  • Come si calcola il codice di Hamming?
  • Come si calcola l'offset di una branch? Come fa l'architettura a calcolare l'indirizzo di salto?
  • Mi disegni una cella DRAM.
  • Mi disegni una Memoria DRAM organizzata a matrice.
  • Prestazioni + CPI
  • Come funziona il Daisy Chain?
  • Memoria virtuale, Tabella delle pagine, TLB e questione delle page fault
  • Come mantieni la coerenza nei sistemi multi-core?
  • Gestione delle eccezioni
  • Cosa fa la cpu in caso di branch?
  • Come funziona il Branch Prediction Buffer e dove si trova nelle pipeline attuali?
  • Cos'è una memoria flash?
  • Cosa sono i dischi a stato solido?
  • Che tipo di circuito è la forwarding unit? Combinatorio o sequenziale?
  • Come viene gestito l'hazard sui dati causato da load word? Come fa l'hazard detection unit
  • Cosa sono le SRAM?
  • Nel caso di un Overflow cosa esce dalla ALU?
  • Superpipeline e pipeline multiple-issue
  • Legge di Amdahl
  • Parallelismo a livello di parola
  • Write invalidate protocol
  • Come funzionano le eccezioni a livello hardware e concettualmente
  • Schema DRAM a matrice
  • Come vengono gestiti gli hazard sui dati nelle superscalari?
  • Cos'è il blocking?
  • Protocolli per la coerenza e consistenza della memoria
  • Cos'è il branch prediction buffer e dove si trova?
  • E' possibile che la tlb abbia una hit e la tabella delle pagine abbia una entry non valida?
  • Come viene gestita un'eccezione di istruzione non valida?
  • Come vengono gestiti gli interrupt e le eccezioni multiple?
  • Come vengono gestite le eccezioni in Intel?
  • Memorie SRAM
  • Come usi i codici di rilevazione degli errori per creare uno schemino che capisce la mmu?
  • Cosa dice la legge di Amdhal?
  • Gestione memory miss
  • Schema di write back
  • A cosa serve l'invalidate bit?
  • Schema della RAM
  • Polling
  • Come agisce il circuito della MMU che controlla il bit di parità?
  • Chi genera gli indirizzi virtuali?
  • Mi parli delle istruzioni fetch e decode in Intel. Cosa sa dirmi?
  • Ha chiesto la gestione delle eccezioni vettorizzata, che mi pare sia sugli Intel (?)
  • Write invalidate protocol
  • Qual è la definizione di latenza di una memoria?
  • Perchè usiamo una matrice quadrata nelle DRAM ?
  • A cosa serve il reference bit nelle TLB?
  • Se devo modificare la cpu per gestire un’operazione non valida(opcode non valido) , quale è il nome del segnale che “segnala” che l’opcode non è valido?
  • Cosa vuol dire “parallelismo a livello di parola” ?
  • Come modifichi questa pipeline per la retropropagazione
  • Mem virtuale
  • Pipeline multiple issues e multiscalari nel dettaglio
  • Modifica pipeline hardware per gestione delle eccezioni
  • Codice di hamming
  • Perché la cache è più veloce rispetto a una memoria tradizionale?
  • Daisy chain
  • Cos'è la memoria virtuale?
  • Coerenza e consistenza
  • Srotolamento dei cicli
  • Superscalare (a piacere)
  • Protocollo di arbitraggio (daisy chain)
  • Cache a due vie
  • Modificare la cpu per gestione di overflow
  • Eccezione a piacere
  • Write back - Write throught
  • Protocollo write invalidate
  • Superscalare, principi su cui è basata
  • Cosa s'intende per speculazione e chi la fa?
  • Branch prediction buffer a 2 bit (macchina a stati)
  • Cos'è il BPB (struttura)
  • Disegnare una DRAM
  • Disegnare una SRAM
  • Come valutare le prestazioni (Speed Up - come si misura)
  • Coerenza e consistenza delle memorie
  • A cosa serve il write buffer?
  • Tabella delle pagine (dove si trova? Come è fatta? Disegnarla - dimensionarla ho un architettura a 32 bit)
  • Algoritmo richiesta dato
  • Offset e Virtual Page Number
informatica_triennale/architettura_degli_elaboratori_2.txt · Ultima modifica: 2024/01/06 17:49 da 127.0.0.1