Calcolatori Elettronici
Corso di Laurea in Ingegneria Informatica Anno accademico 2012/2013
9 crediti
Docente Prof. Bruno Ciciani
Tutor Ing. Alessandro Pellegrini
Programma preliminare
1. Sistemi numerici e codici
Richiami di sistemi di numerazione
Rappresentazione dei numeri relativi
Rappresentazione dei numeri in virgola mobile
Operazioni aritmetiche
Addizione
Sottrazione
Codici
Codici binari irridondanti: BCD, ASCII
Codici binari ridondanti: parità, di Hamming
2. Algebra di commutazione
Algebra di Boole
Operatori fondamentali
Funzioni di commutazione
Tabelle di verità
Forme canoniche, mintermine, maxtermine
Forme semplificate di una espressione
Mappe di Karnaugh
Rappresentazione di una funzione
Semplificazione di una espressione
Funzioni parzialmente specificate
Operatori Universali
NAND, NOR
Porte logiche e loro simboli grafici
3. Elementi di reti combinatorie
Sintesi di reti combinatorie
Reti combinatorie standard: multiplatori, decodificatori
addizionatori, comparatori
Sintesi di reti combinatorie con ROM e PLA
Reti combinatorie iterative: addizionatori, comparatori
4. Elementi di reti sequenziali
Macchine sequenziali e loro rappresentazioni
Reti sequenziali
Elementi di memorizzazione: flip/flop, registri, banco di
registri, memoria RAM
Reti sequenziali sincronizzate Level Level Clocked (LLC)
Interconnessione di reti LLC
Strutture pipeline e tecniche di sincronizzazione
Sistemi digitali complessi e loro organizzazione:
Sottosistema di Calcolo
Sottosistema di Controllo (microprogrammazione)
Interazione asincrona tra due sistemi digitali complessi
5. Organizzazione e programmazione del “PD32”
Macchina di Von Neumann
Set delle istruzioni e metodi di indirizzamento della memoria
Implementazione del SCA
Organizzazione a blocchi: registri, bus, shifter, ALU
Organizzazione della memoria del PD32
Bus di comunicazione PD32-memoria
Organizzazione delle porte di I/O
Bus di comunicazione PD32-dispositivi di I/O
Implementazione del SCO
Passi elementari dell’esecuzione di una istruzione
Fetch dell’istruzione
Decodifica ed esecuzione dell’istruzione
Architettura del SCO
6. Interfaccia tra processore e periferiche
Tipi e caratteristiche delle periferiche
Tecniche di interfacciamento dei processori con le unità esterne
Busy waiting
Polling
Interruzione
Tecnica di trasferimento dei dati tra memoria eperiferiche di tipo Direct Memory Access
Gestione dell’I/O del “PD32”
Istruzioni di I/O
Gestione eventi asincroni
Gestione dell’interrupt
Gestione dell’hold
Diagramma di stato del microprogramma
Segnali di controllo
Temporizzazioni tra PD32 e memoria di lavoro
Temporizzazioni tra PD32 e dispositivi di I/O
Una possibile organizzazione del microcodice
Esempi di microcodice
Dischi magnetici ed architetture RAID
Bus
Tipi di bus: processore-memora, di I/O, generici
Bus sincroni e asincroni
Arbitraggio del bus
Bus standard
7. Gestione della memoria
Memorie RAM statiche
La gerarchia di memoria
Memoria cache
Gestione dei fallimenti di accesso alla cache
Organizzazione della memoria principale
Tipi di memoria cache (a indirizzamento diretto,
set-associativa, completamente associativa)
Bus cache-memoria principale
Trasferimento dati in modalità DMA
Prestazioni della cache
8. Organizzazione del processore “MIPS” (di tipo RISC)
Set delle istruzioni
Formato dell’istruzione
Architettura nel caso di realizzazione a ciclo singolo
Architettura del SCA
Organizzazione del SCO
Temporizzazioni
Architettura nel caso di SCA organizzata a pipeline
Vantaggi dell’organizzazione pipeline
Architettura del SCA
Organizzazione del SCO
Conflitti di dati e loro controllo
Come limitare i conflitti di dati
Conflitti di salto condizionato e loro controllo
Gestione delle eccezioni
Considerazioni costo/prestazioni delle due architetture analizzate
Cenni di architetture superpipeline, dedicate e superscalari.
Testi consigliati:
AA.VV: Appunti integrativi del corso depositati in biblioteca del DIS (Dipartimento di Informatica e Sistemistica “Antonio Ruberti”), Via Ariosto 25
Ciciani: “Complementi sull’architettura del PD32” ,(sul sito)http://www.dis.uniroma1.it/~ciciani
Patterson, Hennessy: Struttura, organizzazione e progetto dei calcolatori, Zanichelli 2006 (con CD-ROM), oppure Computer Organization & Design: the hardware/software Interface, Third Edition, Elsevier. Edizioni precedenti in inglese o in italiano, se integrate, sono sufficienti.
Testi integrativi (si possono trovare presso la biblioteca del DIS):
Beraldi: Lezioni di Calcolatori Elettronici, Progetto Leonardo
Cioffi: Reti combinatorie, Siderea
Cioffi, Ciciani: Reti sequenziali Mc Graw Hill
Cioffi, Jorno, Villani: Il Processore PD32, Masson