Foto personale

Pagina personale di Rita CUCCHIARA

Dipartimento di Ingegneria "Enzo Ferrari"

Contenuti Insegnamento: Calcolatori Elettronici e Lab

Corso di studio: Ingegneria Informatica (D.M.270/04) (offerta formativa anno 2017)
  • CFU: 9
  • SSD: ING-INF/05

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.

Testi di riferimento

Le lezioni del corso si basano sulle dispense fornite dal docente e sul libro di testo Patterson Hannessy Struttura e progetto dei calcolatori

Metodi Didattici

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

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.