Docente
|
NAPOLI CHRISTIAN
(programma)
Il corso è articolato nei seguenti argomenti principali:
Macchine da calcolo: Cenni storici - Introduzione alla storia delle macchine da calcolo, dall'aritmetica Maya all'abaco, e utilizzo di simulatori storici. Analisi delle prime unità funzionali e architetture delle macchine da calcolo.
Rappresentazione binaria dei numeri e dell'informazione - Studio della rappresentazione binaria, delle basi matematiche, e della conversione tra differenti basi numeriche. Approfondimento sulla rappresentazione dei dati nei calcolatori.
Strutture algebriche e Algebre di Boole - Introduzione alle strutture algebriche fondamentali e alle algebre di Boole. Applicazione della logica booleana alla progettazione di circuiti logici.
Logica della commutazione e Porte logiche - Studio dei principi della logica della commutazione, delle porte logiche fondamentali e della sintesi di funzioni logiche.
Circuiti sequenziali e Flip-Flop - Progettazione e analisi di circuiti sequenziali, inclusi i flip-flop e la loro applicazione nei registri e nei contatori.
Componenti di chip di memoria e processore - Esplorazione dei registri, delle unità di memoria, delle PLA, FPGA e ALU, e delle loro funzioni nelle architetture dei calcolatori.
Architetture RISC e CISC - Studio delle architetture RISC e CISC, dei loro vantaggi e svantaggi, e dei modi di indirizzamento utilizzati.
Linguaggio assemblativo - Introduzione al linguaggio assemblativo, alle direttive dell'assemblatore, all'uso delle pile e dei sottoprogrammi, con esempi di linguaggi assemblativi reali.
Operazioni di I/O e gestione delle interruzioni - Approfondimento delle operazioni di input/output, della gestione delle interruzioni ed eccezioni, e del software di supporto nei sistemi operativi.
Progettazione di microarchitetture - Studio della struttura di base dei processori, della microprogrammazione, del pipelining e delle tecniche predittive per processori ad alte prestazioni.
Dispositivi di memoria e gerarchia delle memorie - Analisi dei dispositivi di memoria principale, delle memorie cache, della memoria secondaria, e delle tecniche per il miglioramento delle prestazioni.
Circuiti efficienti per l'aritmetica binaria - Progettazione di circuiti per l'aritmetica binaria, inclusi algoritmi per la moltiplicazione veloce e l'aritmetica in virgola mobile secondo lo standard IEEE 754.
Per il corso, verranno adottati i seguenti testi:
Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Manjikian: "Introduzione all'Architettura dei Calcolatori", McGraw-Hill (2013) - Questo libro offre una panoramica completa sull'architettura dei calcolatori, coprendo aspetti fondamentali come le unità funzionali, le architetture RISC e CISC, e i principi di progettazione dei processori. È un testo essenziale per comprendere le basi delle macchine da calcolo e delle loro componenti.
Andrew S. Tanenbaum: "Architettura dei Calcolatori", Pearson (2013) - Un testo classico e molto apprezzato che esplora in profondità i concetti di base e avanzati dell'architettura dei calcolatori. Tanenbaum affronta argomenti chiave come la logica della commutazione, i registri, le memorie cache e i processori ad alte prestazioni, offrendo esempi pratici e applicazioni reali.
|