Architettura degli elaboratori [Matricole pari] (2018/2019)

Codice insegnamento
4S00011
Crediti
12
Coordinatore
Franco Fummi
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 9 II semestre, I semestre Franco Fummi, Luca Geretti

Vai all'orario delle lezioni

Laboratorio 2 II semestre, I semestre Francesco Setti

Vai all'orario delle lezioni

Esercitazioni 1 II semestre, I semestre Claudio Tomazzoli

Vai all'orario delle lezioni

Obiettivi formativi

Il corso si propone di fornire allo studente la conoscenza teorica e pratica necessaria alla realizzazione in forma digitale di un algoritmo, presentando le possibili alternative comprese tra l'utilizzo di un sistema di calcolo automatico general purpose e la costruzione di un dispositivo digitale dedicato.

Al termine del corso lo studente dovrà dimostrare di avere conoscenze e capacità di comprensione delle nozioni teoriche e pratiche necessarie alla realizzazione in forma digitale di un algoritmo e delle problematiche derivanti dalla implementazione hardware di un algoritmo; avere capacità di applicare le conoscenze acquisite e capacità di comprensione al fine di saper individuare le caratteristiche architetturali di una macchina in funzione dei requisiti del compito da svolgere; saper valutare la complessità di realizzazione in forma digitale di un algoritmo; saper presentare le caratteristiche principali di un progetto autonomamente realizzato e saper interagire con un gruppo di colleghi per la realizzazione di un progetto comune; saper sviluppare le competenze necessarie per proseguire gli studi in modo autonomo nell’ambito della progettazione di sistemi digitali.

Programma

Teoria
----------
* Fondamenti:
- codifica dell'informazione,
- funzioni booleane,
- aritmetica.

* Progettazione digitale:
- circuiti combinatori,
- circuiti sequenziali,
- circuiti sequenziali con unità di elaborazione,
- circuiti sequenziali programmabili.

* Architettura del calcolatore:
- principi di base,
- il set di istruzioni,
- unità di elaborazione,
- gerarchia di memoria,
- organizzazione dell'input/output,
- dal modello alla realtà (cache, memoria virtuale, pipeline),
- parallelismi.

Laboratorio
-----------------
* Progettazione digitale automatica di un dispositivo programmabile
* Il linguaggio assembly dell'Intel 80X86
* Interazione tra linguaggio assembly e linguaggio ad alto livello

Modalità d'esame

Per superare l'esame gli studenti devono dimostrare di:
- saper progettare un dispositivo digitale,
- conoscere i componenti principali dell'architettura di un calcolatore,
- saper programmare in assembly interagendo correttamente con i componenti del calcolatore,
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande e progetti.
Le competenze teoriche vengono verificate con una prova scritta scomposta durante il corso in prove intermedie.
Per la verifica delle attività di laboratorio è prevista la consegna di due elaborati il cui voto medio incide per un massimo di 4/30 sul voto finale.
Voti di teoria non completati dal voto di laboratorio nella stessa sessione d'esame vengono mantenuti per la sessione successiva a fronte di una riduzione.

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria C. Hamacher, Z. Vranesic, S. Zaky, N. Manjikian Introduzione all'architettura dei calcolatori (Edizione 1) McGraw-Hill 2012 9788838667510 seconda parte del corso
Teoria Franco Fummi, Mariagiovanna Sami, Cristina Silvano Progettazione Digitale (Edizione 2) McGraw-Hill 2007 8838663521 prima parte del corso
Materiale didattico
Titolo Formato (Lingua, Dimensione, Data pubblicazione)
Orario Dettagliato I Semestre html html (it, 81 KB, 01/10/18)