ARCHITETTURA DEGLI ELABORATORI E LABORATORIO F - NModulo ARCHITETTURA DEGLI ELABORATORI
Anno accademico 2022/2023 - Docente: EMILIANO ALESSIO TRAMONTANARisultati di apprendimento attesi
Conoscenza e capacità di comprensione: acquisire conoscenza e capacità di comprensione dei concetti fondamentali delle principali architetture hardware dei sistemi di calcolo e dei principi metodologici che ne ispirano lo sviluppo, nella prospettiva storica della loro evoluzione.
Capacità di applicare conoscenza e comprensione: acquisire capacità di risolvere problemi di progettazione di sistemi di calcolo, cimentandosi con esercizi proposti a tal fine, e di adoperare, progettare e realizzare strumenti software, quali simulatori ed interpreti, per macchine astratte relative ai livelli più bassi della organizzazione dei sistemi di calcolo.
Autonomia di giudizio: essere in grado di confrontare e valutare la qualità di soluzioni a problemi di progetto di sistemi di calcolo.
Abilità comunicative: acquisire abilità comunicativa e proprietà di linguaggio utili alla comunicazione di problematiche inerenti il funzionamento, la progettazione, la realizzazione e la valutazione di sistemi di calcolo.
Capacità di apprendimento: sviluppare la capacita di capire le caratteristiche innovative e migliorative dell'hardware futuro.
Modalità di svolgimento dell'insegnamento
Lezioni frontali, esempi e esercizi svolti in aula.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Prerequisiti richiesti
Nessun prerequisito richiesto.
Frequenza lezioni
Per una piena comprensione degli argomenti del corso e delle tecniche presentate, la frequenza delle lezioni e delle esercitazioni è fortemente consigliata.
Contenuti del corso
- Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici.
- Macchine da calcolo: unità funzionali, architetture.
- Strutture algebriche, algebre di Boole.
- Realizzazione di porte logiche, circuiti sequenziali, flip-flop.
- Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali.
- Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali.
- Operazioni di I/O, controllo e servizio delle interruzioni.
- Software di supporto, linguaggi assemblativi e C, sistema operativo.
- Struttura di base del processore, microarchitetture RISC e CISC.
- Processori ad alte prestazioni, tecniche predittive, processori superscalari.
- Dispositivi di memoria principale, DMA, gerarchia delle memorie, memoria cache.
- Circuiti efficienti per l'aritmetica binaria.
Testi di riferimento
C. Hamacher, Z. Vranesic, S. Zaky & N. Manjikian : Introduzione all'architettura dei calcolatori. Terza edizione, McGraw-Hill Education (Italy), 2013
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici. | C. 1 |
2 | Macchine da calcolo: unità funzionali, architetture | C. 1 |
3 | Strutture algebriche, algebre di Boole. | C. 2 |
4 | Realizzazione di porte logiche, circuiti sequenziali, flip-flop. | A |
5 | Architetture RISC e CISC, modi d'indirizzamento | C. 2 |
6 | Tipi e formati di istruzioni, esempi di linguaggi assemblativi | C.2 |
7 | Operazioni di I/O, controllo e servizio delle interruzioni. | C. 3 |
8 | Software di supporto, linguaggi assemblativi e C, sistema operativo | C. 4 |
9 | Struttura di base del processore, microarchitetture RISC e CISC | C. 5 |
10 | Processori ad alte prestazioni, tecniche predittive, processori superscalari | C. 6 |
11 | Dispositivi di memoria principale, DMA, gerarchia delle memorie, cache | C. 8 |
12 | Circuiti efficienti per l'aritmetica binaria | C. 9 |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Prova scritta e colloquio orale.
Opzionale lo svolgimento e la presentazione di un progetto.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Esempi di domande e/o esercizi frequenti
Conversioni di numeri in basi decimale, binario e esadecimale
Sintesi di funzioni logiche
Tabelle di verità di porte logiche
Istruzioni assembly, e programmi elementari
Esecuzione di istruzioni assembly tramite percorso dati
Organizzazione della memoria cache
Esecuzione in pipeline e problematiche