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 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

                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