Conoscenza e capacità di comprensione: acquisire conoscenza e capacità di comprensione dei concetti fondamentali di architettura 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 progetto 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, anche con interlocutori non esperti.
Capacità di apprendimento: sviluppare capacita di adattamento delle proprie conoscenze alla rapida evoluzione della disciplina e di aggiomamento mediante la consultazione di fonti specialistiche del settore.
Conoscenza e capacità di comprensione: acquisire conoscenza e capacità di comprensione dei concetti fondamentali di architettura 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 progetto 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, anche con interlocutori non esperti.
Capacità di apprendimento: sviluppare capacita di adattamento delle proprie conoscenze alla rapida evoluzione della disciplina e di aggiomamento mediante la consultazione di fonti specialistiche del settore.
Lezioni frontali
Esercitazioni 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.
Nessun prerequisito è richiesto.
Nessun prerequisito è richiesto.
Per una piena comprensione degli argomenti del corso e delle tecniche presentate, la frequenza delle lezioni e delle esercitazioni è fortemente consigliata.
Per una piena comprensione degli argomenti del corso e delle tecniche presentate, la frequenza delle lezioni e delle esercitazioni è fortemente consigliata.
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.
Slide del corso:
Home page del Docente: https://nigno17.github.io/
ARCHITETTURA DEGLI ELABORATORI | ||
Argomenti | Riferimenti testi | |
1 | Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici. | 1: 1.7 |
2 | Macchine da calcolo: unità funzionali, architetture | 1: 1.0-3, 1.6 |
3 | Strutture algebriche, algebre di Boole. | 2 |
4 | Realizzazione di porte logiche, circuiti sequenziali, flip-flop. | 1: A.5-6 |
5 | Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali. | 1: 2.0-4, A2.1-2 |
6 | Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali. | 1: 2.8, 2.10.2, A2.4-5 |
7 | Operazioni di I/O, controllo e servizio delle interruzioni. | 1: 3.0-2.5, A3.1 |
8 | Software di supporto, linguaggi assemblativi e C, sistema operativo. | 1: 4.0-9.2 |
9 | Struttura di base del processore, microarchitetture RISC e CISC. | 1: 5.0-4 |
10 | Processori ad alte prestazioni, tecniche predittive, processori superscalari. | 1: 6.6-10 |
11 | Dispositivi di memoria principale, DMA, gerarchia delle memorie. | 1: 8.0-5 |
12 | Circuiti efficienti per l'aritmetica binaria. | 1: 9.2-4, 9.6 |
LABORATORIO | ||
Argomenti | Riferimenti testi | |
1 | Esercitazione su sistema binario e sui sistemi di rappresentazione | Capitolo 1 (1.4-1.5) |
2 | Esercitazione su analisi e sintesi di funzioni logiche | Appendice A (A.1-A4) |
3 | Esercitazione su circuiti sequenziali | Appendice A (A.5-A.10) |
4 | Esempio di ALU | Capitolo 9 (9.1) |
5 | Esercitazione programmi assembly calcolo prodotto scalare e ricerca minimo | Capitolo 2 (2.1-2.5, 2.11, App 2.1-2.2(ARM)) |
6 | Esercitazione di programmazione assembly per chiamata a sottoprogramma | Capitolo 2 (2.6-2.10, 2.12-2.13 App 2.3-2.4(ARM)) |
7 | Esercitazione sulla struttura dei processori RISC e CISC | Capitolo 5 |
8 | Esercitazione sul pipelining | Capitolo 6 |
9 | Esercitazione interfacce di I/O | Capitolo 7 |
10 | Esercitazione Circuiti aritmetici | Capitolo 9 (9.1-9.4, 9.6-9.8) |
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Home page del Docente: https://nigno17.github.io/