Fondamenti di Informatica - Dipartimento di Informatica e Sistemistica

Fondamenti di Informatica
Ingegneria delle Comunicazioni ed Ingegneria Elettronica
Parte I - Architetture di Elaborazione
prof. Silvio Salza
Programma svolto nell’a.a. 2015 -2016
•
Evoluzione dei sistemi di elaborazione.
Struttura a livelli dell’organizzazione hardware e software del sistema di elaborazione – Evoluzione
storica dei sistemi di elaborazione – Generazioni di sistemi di elaborazione – Dalla macchina di
Babbage al Personal Computer – Leggi di Moore e di Nathan – Tipologie di computer – Le famiglie
Intel, SPARC e ARM.
•
Struttura del sistema di elaborazione.
Il processore e la sua organizzazione interna – Esecuzione ed interpretazione delle istruzioni – Il
ciclo fetch-decode-execute – Architetture CISC e RISC – Forme di parallelismo, pipelining,
architetture superscalari – La memoria centrale, organizzazione interna, ordinamento dei dati –
Codici a rilevazione e correzione di errore – Gerarchie di memoria, memorie cache – Dischi
magnetici, dischi IDE, EIDE, Serial ATA e SCSI – Dischi RAID – Dischi ottici, CD ROM, DVD, DVD
Blue ray – Monitor e Display Flat-Panel – Terminali a mappa di caratteri e di bit – Stampanti ink-jet e
laser – Tastiere e mouse – Interfacce tattili – Interfacce vocali – Modem – Modem ADSL– Codifica
di caratteri, codici ASCII, ISO-IEC 8859, UNICODE, UTF 8.
•
Logica digitale, memorie, microprocessori e bus.
Richiami sull’algebra booleana, porte logiche – Circuiti logici di base: multiplexer, decodificatori,
comparatori, PLA – I circuiti dell’Unità Aritmetico Logica, latch, flip-flop, registri, addizionatori –
Memoria centrale e sua organizzazione interna – Matrici di selezione bidimensionali – RAM statiche
e dinamiche, ROM, EPROM, memorie flash – Chip di memoria e schede di memoria, SIMM e DIMM
– Memorie SDRAM e DDR – Memorie DDR-2, DDR-3 e Dual Channel – Dischi allo sto solido (SSD).
•
Bus e microprocessori
Architettura a bus – Prestazioni dei bus – Tipologie di bus: paralleli, seriali, sincroni ed asincroni –
Standardizzazione dei bus – Protocolli di bus sincroni ed asincroni – Arbitraggio dei bus – Pinout del
microprocessore – Esempi di microprocessori, il Pentium 4 – Architetture multicore – Intel Core –
Architettura classica della piattaforma Intel, bus PCI, AGP, local bus – Bus PCI Express – Nuova
piatatforma Intel: Core i3-i7 – Bus USB 1, USB 2, USB 3, specifiche e struttura dei frame – Gestione
dell’I/O – Gestione delle interruzioni.
•
Microarchitetture, cache e pipeline.
La microarchitettura, il cammino dei dati – Ciclo di esecuzione delle microistruzioni – Accesso alla
memoria – Formato delle microistruzioni – La sezione di controllo – Memorie cache, memorie
associative pure, a mappa diretta, associative ad insiemi – Gestione della cache in lettura e scrittura
– Pipeline e architetture superscalari – Gestione dei salti, previsione statica e dinamica – Esecuzione
in-order e out-of-order – Microarchitettura Sandy Bridge (Intel Core)
•
Il livello delle istruzioni macchina.
Registri, Program Status Word e modello della memoria – Architetture ad n bit – Architettura IA-64
Itanium – Architettura AMD-64 – Architettura x86-64 – Vantaggi delle architetture a 64 bit – Registri
nelle architetture IA-32 e x86-64 – Modi di funzionamento e livelli di privilegio – Tipi di dati – Formato
delle istruzioni – Espansione dei codici operativi – Formato delle istruzioni nel Pentium 4 – Modalità
di indirizzamento – Indirizzamento a stack – Gestione dell’I/O, I/O programmato, con interruzioni e
DMA – Repertorio di istruzioni nell’architettura x86-64 – Gestione delle trap e delle interruzioni
•
Traduzione e collegamento
Linguaggi macchina e linguaggi ad alto livello – Traduttori: interpreti compilatori ed assemblatori –
Linguaggi assemblativi – Istruzioni e pseudoistruzioni – Macro, macro con parametri procedure –
Funzionamento degli assemblatori – Assemblatori a due passate – Struttura del modulo oggetto –
Collegamento e aggiornamento degli indirizzi – Collegamento dinamico – Librerie DLL.
•
Sistemi di numerazione binaria.
Numeri e numerali – Rappresentazioni a precisione finita – Sistemi di numerazione posizionale –
Conversioni di base, binario, decimale esadecimale – Rappresentazione degli interi negativi,
notazioni in complemento a uno e a due, in eccesso 2e e relative conversioni – Addizioni e
moltiplicazioni fra interi – Rappresentazioni in virgola mobile, overflow, underflow – Addizioni e
moltiplicazioni in virgola mobile – Lo standard IEEE 754, numeri denormalizzati – Stima dell’errore
assoluto e relativo
RIFERIMENTI
- A.S. Tanembaum, Todd Austin Architettura dei calcolatori: un approccio strutturato, 6a Ed.,
Pearson Italia 2013.
- Materiale distribuito dal docente
Materiale didattico in formato elettronico
Copia delle trasparenze, testi di esercizi di esame ed altro materiale didattico sono disponibili
all’indirizzo:
http://www.dis.uniroma1.it/~salza/FI-architetture.htm