Architettura degli Elaboratori - I

 

 

RISULTATI APPELLO 19/09 (guardare in fondo alla pagina dei risultati)
Risultati Compito

 
 
Contenuto e Struttura del corso

 
 
 

(Ultimo aggiornamento: 23 Settembre 2003 )

Docente: Alessandro Sperduti




Note introduttive

Il corso segue, a grandi linee, la struttura illustrata in forma tabulare qui di seguito.
Le dispense di lezione saranno progessivamente rese disponibili (in formato PDF) come collegamenti alle corrispondenti sezioni del corso. Tale materiale si basa in larga misura sulle dispense predisposte dal docente T. Vardanega per il medesimo corso nell'anno accademico 2001/2.
La colonna 'Testo base' indica e fornisce il materiale bibliografico di supporto al corso.
I principali riferimenti bibliografici al corso sono i seguenti:

  1. J Hennessy & D A Patterson. Computer Architecture - A Quantitative Approach. 2nd Edition. (Disponibile, in Inglese, in Biblioteca di Dipartimento.)

  2. La notazione 'H&P - n.x-m.y' in tabella denota le sezioni n.x-m.y di esso considerate rilevanti per lo specifico argomento del corso.
  3. A S Tanenbaum. Modern Operating Systems. (Disponibile, in inglese e in italiano, in Biblioteca di Dipartimento.)

  4. Versione italiana: I Moderni Sistemi Operativi, Jackson. (disp. Libreria Progetto)
    La notazione 'T - n.x-m.y' in tabella denota le sezione n.x-m.y di esso considerate rilevanti per lo specifico argomento del corso.

Calendario delle lezioni

Il corso si tiene su 48 ore, ripartite grossomodo come indicato in tabella, con il seguente calendario: dal mercoledi al venerdi 09:30-11:10 (mercoledi 11:20-13:00) in aula LUM250 (via Luzzati) nel periodo 15 gennaio -  14 marzo 2003


Ricevimento studenti

Il ricevimento studenti si svolge, tranne diverso avviso, con il seguente calendario:

Modalita' di esame

Scritto obbligatorio con orale opzionale.


Appelli di esame

ATTENZIONE, E' NECESSARIO ISCRIVERSI ALLA LISTA D'ESAME ( SIS)

Primo Appello:

27/03   SCRITTO                                      Aula: LUM250          Ore: 14:30
1/04     REGISTRAZIONE/ORALE (si puo' sostenere l'esame orale anche all'appello successivo, il voto dello scritto viene conservato. I risultati dello scritto saranno disponibili in aula P200. Chi non puo' essere presente avra' comunque la possibilita' di sostenere l'orale e/o la registrazione del voto al prossimo appello: 11 Aprile)      Aula: P200                 Ore: 14:30

Secondo Appello:

09/04   SCRITTO                                       Aula: LUM250          Ore: 14:30
11/04   REGISTRAZIONE/ORALE       Aula: P80                   Ore: 14:00
 


AVVISO IMPORTANTE !!

Per poter accedere al laboratorio per le esercitazioni BISOGNA iscriversi alla lista del corso sul sistema SIS . (TERMINE ISCRIZIONE SCADUTO)


NOTE PER LA PRIMA PARTE DEL CORSO:

 Reti Combinatorie
 Reti Sequenziali
Microprogrammazione

MATERIALE PER ESERCIZI (prof. Memo)

 parte 1
 parte 2
 parte 3
 parte 4
 parte 5

AVVISO RECUPERO LEZIONE!!  Giovedi' 13 alle ore 14:15 in Aula P200

ESEMPIO DI COMPITO

 esempio-compito


Struttura e contenuti del corso


Argomento / Dispense
Durata / Materiale didattico
1 Struttura di un elaboratore (lezione del 15/01)
~10 ore
1.1 Macchina astratta
1.1.1 Livello 0: macchina digitale (lezione del 16/01)  formato ppt (zip)  (lezioni 22-23/01) ppt non disponibile (dimensioni troppo grandi) 
1.1.2 Livello 1: macchina microprogrammata lezione del 24/01(ppt zippato)
1.1.3 Livello 2: macchina hardware
1.1.4 Livello 3: macchina virtuale (sistema operativo)
T - 1.1-1.4
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

 ESERCIZI-RETI-COMBINATORIEESERCIZI-RETI-SEQUENZIALI
2 La CPU lezione 30/01   (ppt zippato)lezione 31/01 e  6/02 e 7/02 (ppt zippato) della lez. 31/01
~10 ore
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 lezione 10 (12/02)  ESERCIZI-3ESERCIZI-4
H&P - 2
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
~8 ore
3.1 Pipeline lezione 11 (13/02)
H&P - 3-4
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 lezione 12 (14/02)
H&P - 5
T - 4
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  lezione 13-14 (20 e 26/02) 2 pagine x foglio 6 pagine x foglio 

3.3.1 Generalita'
3.3.2 Problemi e strategie
3.3.2.1 Paginazione
3.3.2.2 Segmentazione

3.4 Architettura RISC lezione 15 (27/02) 2pagine x foglio     6 pagine x foglio 

H&P - App C-D
3.4.1 Caratteristiche, cronologia, evoluzione

4 Gestione dell'I/O (cenni)  lezione 16 (28/02) 2 pagine x foglio    6 x foglio 

~4 ore
4.1 Prestazioni e generalita'
H&P - 6
T - 5
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 Sistema operativo lezioni 17-18-19 (6 pagine x foglio)
~12 ore
6.1 Generalita'
T - 1.5-1.8
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
T - 2-3
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 (cenni) 
T - 4
6.5.1 Caricamento, allocazione, memoria virtuale
6.6 Gestione dell'I/O (cenni)
T - 5
6.6.1 Politiche di servizio (FCFS, SSTF, SCAN)
6.7 File system (cenni)
T - 6
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