“Siate affamati, siate folli
(stay hungry, stay foolish).” Steve Jobs
“Col computer risolvo un sacco di problemi … che prima non avevo”
Avviso
La lezione di lunedì 1 dicembre è rinviata
La lezione di giovedì 6 Novembre si terrà in aula F1
Il corso inizia mercoledì 24 settembre 2014.
Il corso consiste
di 10 CFU, di cui 8 CFU di lezione
frontale (=56 ore) e 2 CFU di esercitazione (=24 ore), per un totale di 80 ore di corso.
E’
disponibile il programma e il syllabus
del corso.
I libri di testo sono:
[PH] D. A. Patterson ,
J. L. Hennessy, “Struttura e progetto dei calcolatori”, III ed. con cd rom,
2010, Zanichelli, ISBN: 9788808062796
[P] F. Preparata,
“Introduzione alla organizzazione e progettazione di un elaboratore
elettronico”, Ed. Franco Angeli 2012, ISBN: 9788820474157
Slides: Le slides
delle lezioni saranno disponibili sulla piattaforma
di e-learning. Esse non devono sostituire il libro, perché possono
presentare errori o inesattezze. A tal proposito invito chi ne riscontrasse a
segnalarmele. Per la stesura delle slides si
ringraziano vari colleghi di questa e altre università.
Calendario provvisorio delle lezioni
Lezione 1 (Mercoledì 24 settembre 2014): Presentazione del corso.
Introduzione all’architettura degli Elaboratori. Tipi di calcolatori. Cosa c’è dietro un programma. [PH] parr. 1.1, 1.2. Introduzione alla rappresentazione in
binario.
Lezione 2 (Giovedì 25 settembre 2014 ore 9-10): Notazione posizionale per i numeri
naturali: binaria, ottale, generale. [PH] par. 2.4 (I parte).
Lezione 3 (Lunedì 29 settembre 2014):
Algoritmi di conversione da binario in decimale e viceversa. Somma in binario.
[P] par. 1.1, 1.2, 1.3.1, 1.4.
Lezione 4 (Mercoledì 1 ottobre 2014):
Codice ASCII. Conversione da ottale e da esadecimale in binario (e viceversa). Rappresentazione
delle frazioni proprie col sistema posizionale pesato. [PH] par. 2.9 (prima
parte); [P] 1.5, 1.3.2. Esercizi. Ecco un file con esercizi di cui potete svolgere
quelli dal n°1 al n°6 e gli esercizi 11, 12 e 13.
Lezione 5 (Giovedì 2 ottobre 2014):
Rappresentazioni di numeri con e senza segno in complemento a 2 e relative
operazioni di addizione e sottrazione. [PH] par. 2.4, 3.1, 3.2, [P] par. 6.1,
6.2. Ecco un file con esercizi che adesso
potete svolgere tutti.
Lezione 6 (Lunedì 6 ottobre 2014):
Rappresentazioni di numeri reali in virgola mobile. [PH] par. 3.5 (prima
parte).
Lezione 7 (Mercoledì 8 ottobre 2014):
Aritmetica in virgola mobile. Algebra di Boole e reti logiche. [PH] appendice
C.1, C.2, C.3, [P] cap. 3. Esercizi 1 e 15 da questo file con esercizi.
Lezione 8 (Giovedì 9 ottobre 2014):
Reti logiche: analisi, sintesi e minimizzazione con le identità dell’algebra di
Boole. [PH] appendice C.1, C.2, C.3, [P] par. 4.1, 4.2, 4.3.
Lezione 9 (Lunedì 13 ottobre 2014):
Minimizzazione di funzioni booleane con le mappe di Karnaugh.
Le slides sono disponibili sulla el-platform.
Lezione 10 (Mercoledì 15 ottobre 2014):
Breve test di valutazione sugli argomenti delle prime 6 lezioni e
correzione (1). Esercizi sulle mappe di Karnaugh. Esercizi
da svolgere da [P]: 3.1, 3.5, 3.9, 3.10, 3.11. 3.14; 4.1, 4.2, 4.3, 4.5, 4.7,
4.8.
Lezione 11 (Giovedì 16 ottobre 2014):
Moduli combinatori. [PH] appendice C.3 [P] par. 4.8. Esercizi.
Lezione 12 (Lunedì 20 ottobre 2014):
ALU.
Lezione 13 (Mercoledì 22 ottobre 2014):
Architettura e livelli di astrazione. Avviare un programma. [PH] 2.12
(cenni). Architettura MIPS; le istruzioni add,
sub, lw, sw. Gestione dei
registri e della memoria. [PH] par. 2.1, 2.2, 2.3 (parte). Esercizi
2.1, 2.2, 2.3 da [PH] sul passaggio da C ad assembler
e viceversa.
Lezione 14 (Giovedì 23 ottobre 2014):
Istruzioni MIPS: Operazioni immediate. Rappresentazione in binario delle
istruzioni nel formato R, I. [PH] par. 2.3, 2.5.
Lezione 15 (Lunedì 27 ottobre 2014):
Istruzioni MIPS: Operatori logici. [PH] par. 2.6. Esercizi su espressioni
booleane e reti combinatorie.
Lezione 16 (Mercoledì 29 ottobre 2014):
Istruzioni MIPS per prendere decisioni. [PH] par. 2.7. Test di valutazione (2)
e correzione.
Lezione 17 (Giovedì 30 ottobre 2014):
Gestione costanti e indirizzi “grandi”. Decodifica linguaggio macchina [PH]
par. 2.8 (solo l’inizio), 2.10, 2.19. Esercizi sulle istruzioni MIPS: es. 2.6.5
di [PH].
(Lunedì 3 novembre 2014): Lezione
rinviata per concomitanza con la prova intercorso di Matematica Discreta
Lezione 18 (Mercoledì 5 novembre 2014):
Istruzioni MIPS: chiamata di funzioni: jal e jr.
Valutazioni delle prestazioni. [PH] 1.4. Esercizi sulle istruzioni MIPS.
Lezione 19 (Giovedì 6 novembre 2014 Aula F1):
Esercitazione sul programma finora svolto in preparazione alla prova
intercorso.
Lezione 20 (Lunedì 10
novembre 2014 ore 9-12): Prima prova intercorso (secondo
le modalità descritte nella piattaforma e-learning).
Lezione 21 (Mercoledì 12 novembre 2014):
Reti sequenziali e clock: il flip-flop. [PH] appendice C.7, C.8, oppure [P]
par. 5.1, 5.2, 5.3, 5.5. Correzione prima prova intercorso.
Lezione 22 (Giovedì 13 novembre 2014):
Register file. [PH] appendice C.8, oppure [P] 5.7.
Elementi di memoria: SRAM e DRAM (cenni
dall’appendice C.9). Introduzione al
processore MIPS.
Lezione 23 (Lunedì 17 novembre 2014):
Il processore: una panoramica
dell’implementazione MIPS;
realizzazione dell’unità
di elaborazione [PH] par. 4.1 e
4.3.
Lezione 24 (Mercoledì 19 novembre 2014):
Ancora sulla realizzazione di una unità di elaborazione. Uno schema semplice di
implementazione. L’unità
di controllo della ALU. [PH] par. 4.3 e 4.4
(cenni). Esercizi da compiti di esame.
Lezione 25 (Giovedì 20 novembre 2014):
L’unità di
controllo principale e l’istruzione di salto incondizionato. [PH]
par. 4.4, appendice D.1, D.2. Esercizio (vedi slides
sulla piattaforma e-learning)
Lezione 26 (Lunedì 24 novembre
2014): Introduzione al pipeline. L’unità di elaborazione e di controllo col
pipeline. [PH] par. 4.5, 4.6. Si
consiglia di svolgere gli esercizi sul processore MIPS dal capitolo 4 di [PH] e
dagli esercizi di esame assegnati lo scorso anno accademico.
Lezione 27 (Mercoledì 26 novembre 2014): ): Pipeline: hazard
sui dati e sul controllo. [PH] par. 4.5, par. 4.7, 4.8 (cenni).
Lezione 28 (Giovedì 27 novembre 2014):
Esercitazione sul processore a singolo ciclo e con pipeline.
Lunedì 1 dicembre 2014:
Lezione rinviata!
Lezione 29 (Mercoledì 3 dicembre 2014):
La gerarchia di memoria: introduzione. [PH]
par. 5.1 e cenni dall’appendice C.9. Test
di valutazione (3) sul processore (parr. 4.1 – 4.6) e
correzione.
Lezione 30 (Giovedì 4 dicembre 2014):
La gerarchia di memoria: principi base della cache. [PH] par. 5.2.
Lunedì 8 dicembre 2014:
Festività
dell’Immacolata Concezione
Lezione 31 (Mercoledì 10 dicembre 2014 ore 9-11):
La ALU: ripetizione.
Lezione 32 (Giovedì 12 dicembre 2014):
Ancora sulla gerarchia di memoria. Esercizi. Riepilogo ed esercitazione finale.
Lezione 33 (Lunedì 15 dicembre 2014):
Test di valutazione (4) e correzione.
Lezione 34 (Mercoledì 17 dicembre 2014 ore 9-11):
Risultati dei test ed esercitazione finale.
Giovedì 18 dicembre 2014:
Prova intercorso di Matematica Discreta
13 gennaio 2015 ore 9 aula P4: Seconda prova
intercorso (e correzione).
·
Durante lo svolgimento del
compito scritto NON è consentito consultare libri, appunti o altro materiale di
nessun tipo.
·
Gli orali si terranno di norma nel mio studio che è il n° 57 al 4° piano della Stecca 7 (prendere l’ascensore di fronte
l'aula F8, salire al piano 4, andare diritti e prendere il secondo corridoio a
destra: il mio studio è il primo sulla sinistra).