Docente/i:
Giovanni Danese
Denominazione del corso: Calcolatori elettronici (mn)
Codice del corso: 062117
Corso di laurea: Ingegneria Informatica
Settore scientifico disciplinare: ING-INF/05
L'insegnamento è affine per:
Crediti formativi: CFU 6
Sito web del corso: http://gamma.unipv.it
Obiettivi formativi specifici
Gli obiettivi primari del corso sono quelli di introdurre l’architettura dei microcalcolatori e dei microprocessori, data la loro grande diffusione in impianti e strumenti di qualunque genere, e di spiegarne il funzionamento attraverso il linguaggio assemblativo di programmazione. Il corso si propone di affrontare gli aspetti tecnici e architetturali evidenziando la relazione esistente fra l’architettura di un calcolatore e le tecnologie microelettroniche, da un lato, e l’organizzazione del software di base dall’altro. Le esercitazioni riguardano il linguaggio assemblativo di un microprocessore, la scrittura e la messa a punto di semplici programmi attraverso un idoneo ambiente di sviluppo e simulazione.
Programma del corso
Architettura dei calcolatori
Introduzione. Schema a blocchi. Hardware, firmware, software. Componenti elettronici di un calcolatore. Unità di memoria e relativa gestione. Unità di ingresso/uscita e relativa gestione. Interruzione. Interconnessione fra unità funzionali: bus. Rappresentazione e codifica dell’informazione.
Architettura di una CPU
Unità funzionali, registri, linguaggio di trasferimento fra registri; unità di controllo, microcomandi, microprogrammazione; unità di elaborazione.
Microprocessore e linguaggio assemblativo
Microprocessori e sistemi costruiti su microprocessori. Modalità di indirizzamento e istruzioni di un linguaggio assemblativo. Gestione dei segnali di interruzione. Esempi di programmi scritti in linguaggio assemblativo.
L’aritmetica dei calcolatori
Rappresentazione dei numeri binari con e senza segno. Operazioni aritmetiche e logiche elementari. L’architettura di una unità aritmetico-logica.
L’ambiente di sviluppo dei progetti
Assemblatore. Linker-Loader. Simulatore. Esempi di programmi scritti in linguaggio assemblativo e relativa messa a punto mediante l’uso di un simulatore.
Prerequisiti
Devono essere noti gli argomenti trattati nei corsi Fondamenti di Informatica e Fondamenti di Informatica (laboratorio).
Tipologia delle attività formative
Lezioni (ore/anno in aula): 40
Esercitazioni (ore/anno in aula): 10
Laboratori (ore/anno in aula): 0
Progetti (ore/anno in aula): 0
Materiale didattico consigliato
Informazioni di utilità relative all’insegnamento sono reperibili al sito http://gamma.unipv.it/
Patterson David A., Hennessy John L.. Struttura e progetto dei calcolatori (con CD-ROM) - l'interfaccia hardware software. Zanichelli. Seconda edizione Zanichelli condotta sulla terza edizione americana.
Patterson D.A., Hennessy J.L. Computer Organization and Design: The Hardware/Software Interface, Third Edition. Morgan Kaufmann Publishers, Inc. 2004.
Modalità di verifica dell'apprendimento
Prove degli appelli d’esame - Le prove d’esame prevedono una prova di teoria in cui vengono proposti argomenti trattati nel corso delle lezioni che devono essere approfonditi dal candidato e una prova pratica in cui viene valutata la capacità di utilizzare gli strumenti di sviluppo di progetti messi a disposizione.
Prove in itinere. Valgono le seguenti regole:
1. la prima prova verte su argomenti di teoria trattati nel corso delle lezioni e vengono proposti al candidato argomenti oggetto di approfondimento;
2. la seconda prova verte su argomenti di teoria trattati nel corso delle lezioni nel periodo che intercorre fra la prima prova in itinere e la fine delle lezioni; vengono proposti al candidato argomenti oggetto di approfondimento. L’accesso a questa prova è vincolata al superamento della prima prova.
3. Nella prova pratica conclusiva viene valutata la capacità di utilizzare l'ambiente di sviluppo SPIM su programmi concepiti dal candidato o su esempi di codice proposti dal docente.
|