Programma preliminare del corso
Calcolatori Elettronici
(CANALE DI Rieti)
6 crediti
A/A 2007/2008
Tutor: Diego Rughetti
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 e periferiche 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
Bus cache-memoria principale
Trasferimento dati in modalità DMA
Prestazioni della cache
Gestione della gerarchia di memoria
(a indirizzamento diretto, set-associativa, completamente associativa)
Esercitazioni in laboratorio
Simulazione di circuiti combinatori e sequenziali
PD32: simulatore e esercizi assembler
Testi consigliati:
· Ciciani: Dispense “Complementi sull’architettura del PD32”, sul sito
· Cioffi: Reti combinatorie, Siderea
· Cioffi, Ciciani: Reti sequenziali Mc Graw Hill
· Cioffi, Jorno, Villani: Il Processore PD32, Masson
· Patterson, Hennessy: Computer Organization & Design: the hardware/software Interface, Morgan Kaufmann Publishers--------solo un capitolo
Sul sito http://www.dis.uniroma1.it/~ciciani/
· Lucidi delle lezioni e delle esercitazioni
· Tipiche domande di esame
· Testi di esame
· Simulatore di porte logiche
· Simulatore del PD32