Il modulo Calcolatori Elettronici intende inoltre introdurre l’architettura dei microprocessori e dei microcalcolatori spiegandone il funzionamento attraverso il linguaggio assemblativo di programmazione. L’insegnamento vuol metter in evidenza le relazioni tra architettura dell’elaboratore e le tecnologie microelettroniche e l’organizzazione del software di base. Esempi applicativi riguardano un linguaggio assemblativo e la messa a punto di semplici programmi in apposito ambiente di sviluppo.
Prerequisiti
La comprensione degli argomenti del corso presuppone la conoscenza dei concetti affrontati nel corso di Fondamenti di Informatica.
Metodi didattici
Lezioni (ore/anno in aula): 22,5 Esercitazioni (ore/anno in aula): 37,5 Attività pratiche (ore/anno in aula): 0
Verifica Apprendimento
Il modulo di Calcolatori Elettronici prevede una prova di teoria in cui il candidato approfondisce argomenti trattati nel corso e una prova pratica in cui viene valutata la capacità del candidato di utilizzare gli strumenti di sviluppo messi a disposizione e usati durante il corso. Per questo modulo la valutazione è ottenuta come media aritmetica dei voti conseguiti nella prova di teoria, con peso 2/3, e nella prova pratica, con peso 1/3, a condizione che ambo le valutazioni siano sufficienti.
Testi
Patterson D.A., Hennesy J.L. Struttura e progetto dei calcolatori Zanichelli, 2022, Bologna, V edizione. Traduzione del testo in inglese: David A. Patterson, John L. Hennessy, “Computer Organization and Design” Elsevier – Morgan Kaufmann, 2021, VI edition.
Architettura dei Calcolatori Hardware, firmware e software. Componenti elettronici di un calcolatore. Unità di memoria e relativa gestione. Unità d’ingresso e d’uscita e relativa gestione. Interruzione. Interconnessione tra unità funzionali: bus. Architettura di una CPU Unità funzionali, registri, linguaggio di trasferimento tra registri; unità di controllo, microcomandi, microprogrammazione. Microprocessore e Linguaggio assemblativo Microprocessori e sistemi costruiti su microprocessori. Modalità d’indirizzamento istruzioni di un linguaggio assemblativo. Rappresentazione delle informazioni, numeri relativi, conversioni fra le rappresentazioni, numeri reali. Unità aritmetica, sommatore a propazione a anticipazione di riporto. Esempi di programmi scritti in un linguaggio assemblativo. 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.