Architettura degli elaboratori (2004/2005)

Corso a esaurimento

Codice insegnamento
4S00011
Crediti
10
Altri corsi di studio in cui è offerto
Altri corsi di studio in cui è offerto
Altri corsi di studio in cui è offerto
L'insegnamento è organizzato come segue:
Modulo Crediti replica Settore disciplinare Periodo Docenti
Teoria 8   ING-INF/05-SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 2° Q, 3° Q Franco Fummi
Laboratorio 2 Laboratorio Vedi pagina del modulo Vedi pagina del modulo
Laboratorio Vedi pagina del modulo Vedi pagina del modulo

Obiettivi formativi

Modulo: Laboratorio
-------
Il corso si propone di dare allo studente le conoscenze necessarie alla descrizione di dispositivi digitali mediante linguaggi dedicati e alla realizzazione di programmi Assembly per piattaforme Intel 80X86.


Modulo: Teoria
-------
Il corso si propone di dare allo studente la conoscenza 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. Queste conoscenze costituiscono i prerequisiti necessari alla comprensione dei meccanismi di funzionamento di un sistema informativo e del processo di codifica di un programma a partire da una sua descrizione ad alto livello.


Programma

Modulo: Laboratorio
-------
l corso ha un carattere strettamente pratico e prevede l'utilizzo dei laboratori didattici del dipartimento.


* Progettazione digitale:
o La minimizzazione esatta di funzioni a due livelli: Espresso.
o La minimizzazione approssimata di circuiti combinatori: SIS.
o La progettazione automatica di FSM: SIS.
o La minimizzazione degli stati: Stamina.
o L'assegnamento degli stati: Nova.
o Componenti di libreria combinatori e sequenziali.
o Modellazione e progettazione di FSMD.

* Il linguaggio Assembly dell'Intel 80X86:
o Gestione della memoria.
o La rappresentazione dei dati.
o Le strutture di controllo.
o Procedure e funzioni.
o I servizi di sistema operativo.



Modulo: Teoria
-------
l corso viene svolto in 64 ore di lezione e 24 ore di laboratorio. Le attività pratiche vengono svolte utilizzando le attrezzature hardware e software presenti nei laboratori didattici del Dipartimento.

Fondamenti:
+ Codifica dell'informazione:
- Dall'informazione analogica a quella digitale.
- I sistemi numerici posizionali.
- La codifica alfanumerica.
- La codifica dei numeri relativi.
+ Funzioni Booleane:
- Algebra di commutazione.
- Forme canoniche (mintermini e maxtermini).
- Operatori universali.
+ Aritmetica:
- La codifica dei numeri in virgola mobile (IEEE 754).
- Le operazioni tra numeri in virgola mobile.
- I sommatori ripple-carry e carry-lookahead.
- Moltiplicatori combinatori.
- La struttura di una ALU.
Progettazione digitale:
+ Circuiti combinatori:
- Le porte logiche elementari.
- Componenti logici combinatori.
- Minimizzazione di funzioni mediante Mappe di Karnaugh.
- Algoritmo di Quine-McCluskey.
- Cenni di minimizzazione a piu` livelli.
- Mapping tecnologico.
+ Circuiti sequenziali:
- Definizione.
- Elementi di memoria.
- Macchine a stati finiti.
- Modellazione di circuiti sequenziali mediante FSM.
- Minimizzazione degli stati di una FSM.
- Cenni all'assegnamento delle codifiche degli stati.
+ Circuiti sequenziali con unità di elaborazione:
- Limiti del modello FSM.
- Il modello FSMD.
- La progettazione di una unità di elaborazione.
- Interazione unità di controllo/unità di elaborazione.
L'architettura del calcolatore:
+ Principi di base:
- Il modello di Von Neumann.
- Il modello a macchine virtuali.
- La CPU.
- Le memorie.
- I BUS.
- I dispositivi di I/O.
- Le prestazioni.
+ Il set di istruzioni:
- Modalita` di indirizzamento.
- Il linguaggio assemblatore.
- Operazioni di I/O.
- Procedure.
- Il set di istruzioni Intel 80xx86.
+ L'unità di Elaborazione:
- Fetch/Decodifica/Esecuzione.
- Controllo cablato.
- Prestazioni, organizzazione a BUS multipli.
- Cenni sul controllo microprogrammato.
+ La gerarchia di memoria:
- Principi generali.
- Classificazione delle Memorie.
- Le memorie cache.
- Analisi delle prestazioni.
- La memoria virtuale.
+ Organizzazione dell'input/output:
- Interrupt.
- Accesso diretto alla memoria, l'arbitraggio.
- Interfacce standard di I/O.
- Le periferiche.
+ Dal modello alla realtà:
- Classificazione dei sistemi di elaborazione.
- Gli approcci CISC e RISC.
- Pipelining.
- Intel 80X86.



Modalità d'esame

Modulo: Laboratorio
-------
Allo studente verra` richiesto di realizzare un circuito sequenziale ed un programma assembler che implementano un algoritmo dato. Parte delle lezioni in laboratorio saranno utilizzate per lo sviluppo di questi due progetti. Il peso del voto di laboratorio incide per un massimo di 4/30 sul voto finale del corso.

Vedere la sezione Avvisi relativi al corso per informazioni sull'orario di ricevimento del docente e sulla prenotazione di ore aggiuntive (partecipazione libera) di laboratorio.


Modulo: Teoria
-------
Le competenze teoriche vengono verificate con una prova scritta scomposta durante il corso in due prove intermedie. Per la verifica delle attività di laboratorio si veda il relativo corso. Il peso del voto di laboratorio incide per un massimo di 4/30 sul voto finale.


Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistiche esiti
Esiti Esami Esiti Percentuali Media voti Deviazione Standard
Positivi 34.04% 24 3
Respinti 19.14%
Assenti 36.17%
Ritirati 6.38%
Annullati 4.25%
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
6.2% 6.2% 12.5% 0.0% 12.5% 6.2% 6.2% 0.0% 31.2% 6.2% 6.2% 0.0% 0.0% 6.2%

Valori relativi all'AA 2004/2005 calcolati su un totale di 47 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.