Nuova ricerca

Rita CUCCHIARA

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Calcolatori Elettronici e Lab

Ingegneria Informatica (MO) (Offerta formativa 2020)

Obiettivi formativi

Il corso di Calcolatori Elettronici e Lab ( 9 CFU) è rivolto a studenti della Laurea Triennale di Ingegneria Informatica ( e mutuato dagli studenti della Laurea Triennale di Ingegneria Elettronica) del Dipartimento di Ingegneria “Enzo Ferrari” dell’Università di Modena e Reggio Emilia.
Il corso vuole fornire le conoscenze di base sull’architettura dei calcolatori elettronici, con enfasi sulla struttura hardware, sulle reti logiche impiegate come componenti del calcolatore, sui modelli dell’Instruction Set Architecture e della microarchitettura del processore, sulla gerarchia di memorie fino alle periferiche di input e output.
Vengono trattati i processori Intel, dai processori semplici fino alle architetture multicore, con specifico riferimento all’architettura a 32 bit. Il laboratorio prevede esercitazioni sia di programmazione assembly sia di progettazione di reti logiche e di circuiti digitali per il calcolatori.
Essendo un corso di fondamenti, ha una natura prevalentemente teorica proponendo i modelli architetturali, le basi del calcolo delle prestazioni, l’organizzazione e la struttura dei componenti fondamentali di ogni calcolatore, indipendentemente dalle specifiche implementazioni tecnologiche. Per questo i rimandi ai sistemi commerciali saranno episodici e solo esemplificativi. I riferimenti alle tecnologie attuali saranno per lo più orientati al mondo del personal computer, anche se si presenteranno sistemi embedded, per la grafica e il settore mobile.
Calcolatori Elettronici è una disciplina di base, ha come prerequisiti le conoscenze impartite nei corsi di Fondamenti di Informatica, e non necessita alcun prerequisito di elettronica digitale.

Prerequisiti

Fondamenti di Informatica.

Programma del corso

1)Introduzione
• -I dati e i segnali digitali -L’informazione secondo Shannon -La codifica binaria- La Descrizione Funzionale del Calcolatore - L’architettura di un processore di Von Neumann - La storia dell’evoluzione dell’architettura dei calcolatori - L’architettura dei calcolatori, memoria, CPU, I/O e bus -L’evoluzione della architettura del processore –la codifica ridondante di Hamming. Esercizi

2)Reti logiche
• Reti Logiche Combinatorie: -Tabella di verità, Mappe, Espressioni dell’algebra di Boole –analisi delle reti logiche- sintesi canoniche – sintesi con Quine Mccluskey
• Reti logiche e livello RTL -Dispositivi Programmabili
• Reti Logiche Sequenziali Sincrone -Macchine a Stati -Elementi di Memoria: -Latch e Flip Flop D : Esempi di sintesi. La memoria RAM
3)Architettura dei calcolatori
• I calcolatori del XXI secolo: Prestazioni del Calcolatore - Calcolo e Misura delle prestazioni –legge di Amdhal-Legge di Moore -Archietture RISC e CISC
• La CPU: Architettura del calcolatore e microarchitettura della CPU -Bus e comunicazione con le periferiche -Interruzioni e RRI
• Memorie del Calcolatore: -Gerarchia delle memorie, RAM, ROM , Cache -Tecnologie per la Memoria Centrale -Accesso alla memoria e calcolo delle prestazioni
• Periferiche di I/O - Il Disco Rigido caratterizzazione e prestazioni -Organizzazione dei dischi e controller RAID
• Il parallelismo: -Pipeline --Branch Prediction – Tassonomia di Flynn -Architetture multicore sistemi embedded
4) Programma del Laboratorio
• Instruction Set Architecture - Istruzioni e ciclo di decodifica -Formato delle istruzioni e metodi di indirizzamento -Tipo di Istruzioni
• Introduzione all’ IA32 e linguaggio Assembly - I registri di base - Dal C all ‘assembly -compilatore e disassemblatore - Costrutti elementari in assembly -I registri general purpose -Le operazioni matematiche - interfaccia C-Assembly.

Metodi didattici

Lezioni frontali con dispense a cura del docente.
Esercitazioni.
Attività in laboratorio di programmazione in linguaggio assembly

Testi di riferimento

Le lezioni del corso si basano sul libro di testo A. Tanenbaum “Structured Computer Organization” (6th Edition), disponibile anche in italiano dal titolo “Architettura dei Calcolatori un approccio strutturale” Prentice Hall nella sesta edizione, integrato da appunti e dispense dalle lezioni frontali, e da esercitazioni in laboratorio. Per approfondimento si consigliano anche altri altri testi di riferimento “J.Hennessy D. Patterson Computer Architecture a Quantitative Approach VI Ed.” (in lingua inglese), e “G.Bucci Calcolatori Elettronici Architettura e Organizzazione” Mc Graw Hill e C.Hamacher et al. “Introduzione all’architettura dei calcolatori” III Ed. Mc Graw Hill (dall’edizione del 2012 in poi).
Le dispense, i lucidi, le informazioni sull’esame e molto altro materiale digitale sono disponibili sul sito del corso http:\\imagelab.ing.unimore.it\didattica per studenti registrati

Verifica dell'apprendimento

Esame scritto a risposta chiusa.
Prova di laboratorio realizzazione di un programma assembly.
Prova orale con domande riguardanti la teoria dei calcolatori

Risultati attesi

Conoscenza e comprensione
Conoscere e comprendere i fondamenti dei calcolatori elettronici, in particolare basati su microprocessori Intel.
Capacità di applicare conoscenza e comprensione:
Sapere analizzare le principali architetture dei calcolatori elettronici valutandone le prestazioni e sapere scrivere semplici funzioni in assembly.
Autonomia di giudizio:
Fornire gli strumenti metodologici ed operativi per consentirgli di affrontare, con autonomia e obiettività di giudizio, i problemi tipici della progettazione e produzione di applicazioni software, e dell'elaborazione di informazioni digitali.
Abilità comunicative:
Le abilita comunicative che sono richieste ad un futuro Ingegnere Informatico riguardano in particolare la capacità di comunicare informazioni, idee, problemi e soluzioni a interlocutori specialisti e non specialisti, in forma scritta e orale, in italiano e in inglese.
Capacità di apprendimento:
Tali capacità vengono verificate chiedendo allo studente di approfondire in modo autonomo conoscenze in particolari ambiti di interesse.