Calcolatori Elettronici

Denominazione dell’insegnamento: Calcolatori elettronici 
Corso di Laurea o di Laurea Magistrale : Ingegneria elettronica e informatica 
SSD: ING-INF/05                        Numero C.F.U.: 6                        
Titolari:  Mauro Iacono
 

 

Obiettivi del corso

 

Gli obiettivi primari del corso sono quelli di introdurre l’architettura dei calcolatori 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 digitali, da un lato, e l’organizzazione del software di sistema e di base dall’altro. La componente esercitativa riguarda 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

INTRODUZIONE

Introduzione al calcolo automatico

CODIFICA E RAPPRESENTAZIONE DELLE INFORMAZIONI

Codifica dell’informazione - Sistemi di numerazione posizionali - Regole di interpretazione - Numerazione in base 2, 10 , 16 - Conversioni di base - Rappresentazioni dei numeri negativi: modulo e segno, complemento a 1 e a 2 - Aritmetica binaria - Overflow e underflow – Cenni sulla codifica dei numeri razionali (virgola fissa, virgola mobile) - Codifica di dati alfanumerici

LOGICA DEI SISTEMI DIGITALI

Algebra di Boole - Proprietà dell’algebra booleana - Tabelle di verità - Porte logiche - Funzioni booleane - Teorema di Shannon - Reti combinatorie - Somma di prodotti - Prodotto di somme - Semplificazione di espressioni logiche - Mappe di Karnaugh – Minimizzazione – Implementazione di reti logiche

RETI SEQUENZIALI

Modello generale - Automa a stati finiti: grafo e tabella - Automi di Moore e Mealy e loro rappresentazioni - La macchina di Turing -  Macchine sequenziali – Flip flop

ARCHITETTURA DEI SISTEMI DI ELABORAZIONE

Introduzione e cenni storici - Modelli di riferimento: Von Neumann e Harvard - Struttura dei calcolatori moderni - La CPU - Elementi fondamentali CPU - Registri CPU e Stack - Interfaccia CPU-memoria - Cicli di lettura scrittura - Ciclo di elaborazione - Parallelismo e Pipelining, architetture parallele - Istruzioni macchina e loro codifica - Esecuzione istruzioni - Set di istruzioni, CISC e RISC - Bus interni alla CPU - Unità di controllo - Unità di elaborazione (ALU ad un bit e ALU a 32 bit) - Organizzazione unità di controllo - Generazione segnali di controllo - Trend di evoluzione CPU: legge di Moore - La memoria - Principio di località - Organizzazione, struttura e funzioni della memoria - Memoria Virtuale - Gerarchie di Memoria - Registri e loro implementazione -Memorie a sola lettura ROM e loro implementazione - Memorie Cache - La memoria principale: struttura e organizzazione, byte ordering - Modello logico di un’unità di memoria - Celle di memoria RAM - RAM statiche e dinamiche, modelli di realizzazione - Gestione degli errori, controllo di parità, codici a rilevamento e correzione di errore - Supporti magnetici e ottici (caratteristiche meccaniche, organizzazione dei dati, prestazioni), dischi, CD/DVD-ROM - memorie a stato solido/flash - Il sottosistema di I/O - Interfacce/controllers e drivers - I/O mappato in memoria - I/O Interrupt-driven - Interruzioni, Routine di servizio, Gestione di più periferiche - Arbitraggio delle priorità - Polling e Interruzioni vettorizzate - Gestione a controllo di programma - Accesso diretto alla memoria (DMA) - Trasferimento dell’informazione: i bus - Tipologie di BUS standard

ARCHITETTURA E PROGRAMMAZIONE ASSEMBLY DELLA FAMIGLIA 80x86

Architettura 8086 - Famiglia di processori Intel - Schema interno 8086 - Ciclo di sviluppo in assembly, generazione di un programma eseguibile - Linguaggio assembly 8086 - Codifica delle istruzioni - Repertorio delle istruzioni - Modalità di indirizzamento - Definizione di segmenti di memoria - Direttive assemblatore - Segmenti dati  - Dichiarazione di variabili – Sottoprogrammi - Esempi di programmazione assembly

Curricula scientifici dei docenti

Sono resi disponibili a cura del docente: Mauro Iacono

Competenze attese in ingresso e/o Propedeuticità

Nessuna

Risultati d’apprendimento attesi

Conoscenza degli aspetti fondamentali dell’architettura di un elaboratore elettronico, del funzionamento di un processore e della programmazione in liguaggio assemblativo

Anno del corso di studio in cui è inserito

I

Testi di riferimento

G. Bucci, Calcolatori Elettronici - Architettura e Organizzazione, McGraw-Hill

C. Hamacher, Z. Vranesic, S. Zaky, Computer Organization, Quinta edizione McGraw-Hill

S. Tanenbaum, Architettura dei Calcolatori. Un Approccio Strutturale, Quinta edizione, Pearson Prentice Hall

R. Hyde, The Art of Assembly Language  http://webster.cs.ucr.edu/AoA/DOS/index.html

Intel: The 8086 Family User's Guide

Materiale didattico aggiuntivo

Sono resi disponibili a cura del docente: Mauro Iacono

Modalità di erogazione

Tradizionale.

Sede

Via Michelangelo - Via Roma 29 Aversa.

Organizzazione della didattica

Come da sito del docente www.mauroiacono.com

Modalità di frequenza

Obbligatoria

Metodi di valutazione

Prova scritta, prova orale

Dati statistici delle votazioni conseguite dagli studenti

Sono resi disponibili a cura del docente: Mauro Iacono

Calendario delle attività didattiche

Calendario

Eventuali attività di supporto alla didattica

Da determinare

Orari di ricevimento studenti

Sono resi disponibili a cura del docente: Mauro Iacono

Calendario delle prove di esame

Prove di esame