Una lezione/esercitazione supplementare si terra' lunedi 15 aprile, in aula LUM250 , con orario 14:15 - 16:15
Prima sessione (chiusa il 24 aprile 2002): risultati finali .
Seconda sessione (chiusa il 25 luglio 2002): risultati finali .
Terza sessione (chiusa il 28 settembre 2002): risultati finali.
! 19 settembre 2002
Si avvisano gli studenti che hanno
conseguito, ma non verbalizzato, votazioni definitive (ossia non
richiedenti un ulteriore colloquio orale) nel corso delle sessioni d'esame
dell'anno accademico 2001/2, che tali valutazioni decadranno, se ancora
non verbalizzate, il 30 settembre p.v., con il completamento della 3a
ed ultima sessione d'esame.
20 maggio 2002
Gli studenti che non hanno avuto il loro voto d'esame verbalizzato
nella seduta odierna sono pregati di prendere al piu' presto appuntamento
con il docente per la verbalizzazione.
14 maggio 2002
La verbalizzazione dei risultati conseguiti nella 1a sessione d'esame
avra' luogo lunedi 20 maggio dalle ore 14:30
in aula LUM250. Chi non potesse essere presente in tale occasione dovra'
prendere appuntamento con il docente.
5 aprile 2002
In preparazione agli appelli della 1a sessione di esame, il docente
ha posto alcuni quesiti tipo, a mo' di esercitazione, nel documento qui allegato
. Tali quesiti verranno discussi e risolti nella lezione straordinaria
programmata per lunedi 15 aprile con l'orario e l'aula sopra indicati.
21 marzo 2002
Il giorno 20 marzo 2002 si e' svolta una simulazione di prova scritta
di esame. Il testo dei quesiti posti in tale occasione e' disponibile
in versione elettronica
.
|
|
|
| 1 Struttura di un elaboratore |
|
| 1.1 Macchina astratta | |
| 1.1.1 Livello 0: macchina digitale | |
| 1.1.2 Livello 1: macchina microprogrammata | |
| 1.1.3 Livello 2: macchina hardware | |
| 1.1.4 Livello 3: macchina virtuale (sistema operativo) |
|
| 1.1.5 Livello 4: macchina utente programmatore | |
| 1.1.6 Livello 5: macchina utente finale | |
| 1.2 Architettura di un elaboratore | |
| 1.2.1 Funzioni della RAM | |
| 1.2.2 Funzioni della ROM | |
| 1.2.3 Funzioni dell'I/O | |
| 1.2.4 Funzioni dei Bus | |
| 1.2.5 Funzioni della CPU | |
| 1.2.6 Esempio: architettura semplificata | |
| 2 La CPU |
|
| 2.1 Logica operativa (data path) | |
| 2.2 Registri | |
| 2.3 Circuiti aritmetici dedicati | |
| 2.4 ALU | |
| 2.4.1 Operazioni | |
| 2.4.2 Codifica | |
| 2.4.3 Memorizzazione | |
| 2.5 Bus, instradatori e buffer | |
| 2.5.1 Esempio: una semplice esecuzione | |
| 2.6 Logica di controllo (control path) | |
| 2.6.1 Comandi | |
| 2.6.2 Stati | |
| 2.6.3 Implementazione (hardware / microprogrammata) | |
| 2.7 Set di istruzioni |
|
| 2.7.1 Classificazione | |
| 2.7.2 Casistica (stack / accumulatore / registro-memoria / registro-registro / accesso diretto) | |
| 2.7.3 Evoluzione commerciale | |
| 2.7.4 Modalita' di accesso alla memoria | |
| 2.7.5 Metodi di indirizzamento | |
| 2.7.6 Tipi di operazione | |
| 2.7.7 Formato delle istruzioni |
| 3 Evoluzione delle architetture |
|
| 3.1 Pipeline |
|
| 3.1.1 Generalita' | |
| 3.1.2 Decomposizione in fasi | |
| 3.1.3 Progresso ideale dell'esecuzione | |
| 3.1.4 Problemi | |
| 3.1.5 Sbilanciamento delle fasi | |
| 3.1.6 Dipendenza dai dati | |
| 3.1.7 Dipendenza dalla logica di controllo | |
| 3.1.8 Evoluzioni | |
| 3.1.8.1 Pipeline superscalare | |
| 3.1.8.2 Schedulazione dinamica | |
| 3.2 Gerarchie di memoria |
|
| 3.2.1 Generalita' | |
| 3.2.2 Schema concettuale | |
| 3.2.3 Cache: hit / miss | |
| 3.2.3 Strategie di organizzazione della cache | |
| 3.2.3.1 Problematiche | |
| 3.2.3.2 Mappatura diretta | |
| 3.2.3.3 Associazione completa | |
| 3.2.3.4 Associazione selettiva a gruppi | |
| 3.2.3.5 Rimpiazzo dei blocchi | |
| 3.2.3.6 Quantificazione | |
| 3.2.4 Memoria principale | |
| 3.2.4.1 SRAM / DRAM | |
| 3.3 Memoria virtuale | |
| 3.3.1 Generalita' | |
| 3.3.2 Problemi e strategie | |
| 3.3.2.1 Paginazione | |
| 3.3.2.2 Segmentazione | |
| 3.4 Architettura RISC |
|
| 3.4.1 Caratteristiche, cronologia, evoluzione | |
| 3.5 Architettura x86 | |
| 3.5.1 Registri | |
| 3.5.2 Modalita' di indirizzamento | |
| 3.5.3 Set di istruzioni | |
| 3.5.4 Esempio: Pentium |
| 4 Gestione dell'I/O |
|
| 4.1 Prestazioni e generalita' |
T - 1.4.3 |
| 4.2 Modelli di funzionamento | |
| 4.3 Dispositivi di memorizzazione (nastri, dischi / magnetici / ottici) | |
| 4.4 Gestione
software |
|
| 4.5 Bus standard |
|
| 4.5.1
Generalita', classificazione, architetture |
|
| 4.6 Video ed audio | |
| 4.6.1 Problematiche | |
| 4.6.2 Tecniche | |
| 4.7 Dispositivi di ingresso (tastiera, mouse, evoluzioni) |
|
| 5 Valutazione delle prestazioni(non trattata) |
|
| 5.1 Prestazioni della CPU |
|
| 5.1.1 Definizioni | |
| 5.1.2 Unita' di misura: caratteristiche | |
| 5.1.3 Caratterizzazione | |
| 5.2 Prestazioni del sistema | |
| 5.2.1 SPEC | |
| 5.3 Considerazioni finali |
| 6 Sistema operativo |
|
| 6.1 Generalita' |
|
| 6.2 Classificazione e definizioni | |
| 6.2.1 Processo, risorsa, file system, interfaccia | |
| 6.2.2 Sicurezza e protezione | |
| 6.3 Struttura generale | |
| 6.3.1 Tipologie (monolitici, a livelli, a macchine virtuali, client-server) | |
| 6.3.2 Caricamento | |
| 6.3.3 Esempio: sistema operativo elementare | |
| 6.4 Gestione dei processi |
|
| 6.4.1 Strutture, e tecniche di schedulazione | |
| 6.4.2 Creazione, avanzamento, sincronizzazione, comunicazione | |
| 6.4.3 Modelli e problemi di cooperazione (stallo) | |
| 6.5 Gestione della memoria (trattata in sezione 3.2) |
|
| 6.5.1 Caricamento, allocazione, memoria virtuale | |
| 6.6 Gestione dell'I/O(non trattata) |
|
| 6.6.1 Politiche di servizio (FCFS, SSTF, SCAN) | |
| 6.7 File system (non trattato) |
|
| 6.7.1 Attributi, struttura, operazioni, metodi di accesso | |
| 6.7.2 Struttura di directory, operazioni | |
| 6.7.3 Aspetti di implementazione | |
| 6.7.4 Esempio: Unix FS |