Calcolatori 1 - Università degli Studi di Messina

Università di Messina - Facoltà di Ingegneria
Calcolatori 1
Obiettivi del corso:
L'obiettivo principale del corso è l’insegnamento delle conoscenze di base relative
alle metodologie per l'analisi ed il progetto dei circuiti logici e lo studio degli elementi fondamentali di architettura dei sistemi di calcolo.
Docente:
Dott. Dario Bruneo, PhD
e-mail: [email protected]
tel: +39 090 3977343
ricevimento: lun 16:00 18:00
Il concetto di informazione
Rappresentazione delle informazioni. Sistemi numerici. Rappresentazione dei numeri naturali. Rappresentazione dei numeri relativi. Numeri con segno e senza segno. Operazioni aritmetiche. Rappresentazione dei numeri
razionali. Numeri in virgola fissa e mobile. Lo standard IEEE 754. Codici numerici. Il codice BCD. ll codice
ASCII. Il codice UNICODE.
Algebra di Boole e dei circuiti di commutazione
Logica binaria. Il concetto di porte logica. Algebra booleana. Identità dell’algebra booleana. Espressioni e funzioni. Circuiti logici. Semplificazioni algebriche. Teorema del consenso. Funzioni in forma complementata. Forme canoniche. Mintermini e maxtermini. Implementazioni a due livelli. Le mappe di Karnaugh. Minimizzazione
di funzioni con il metodo delle k-map- Condizioni di don’t care. Funzioni booleane di due variabili. Principali
porte logiche. Funzione dispari. Generatore di parità. Cenni sulle famiglie logiche. Ritardo di propagazione.
Alee. Logica positiva e negativa. Logica tri-state.
Circuiti logici combinatori
Definizione di circuito combinatorio. Tecniche di progettazione (gerarchica, top-down, bottom-up, CAD). Linguaggi HDL. Sintesi logica. Procedura di analisi. Individuazione delle funzioni booleane. Simulazione logica.
Procedura di sintesi. Convertitore BCD - 7 segmenti. Decodificatori. Codificatori. Codificatore con priorità. Multiplexer. Demultiplexer. Circuiti aritmetici. Half adder. Full adder. Sommatore parallelo. Sommatore carry lookahead. Circuiti sottrattori. Circuito sommatore/sottrattore. Overflow. Moliplicatori binari. La ALU. Dispositivi
logici programmabili (ROM, PLA, PAL, FPGA).
Circuiti logici sequenziali
Definizione di circuito sequenziale. Circuiti asincroni e sincroni. Memorizzazione delle informazioni. Circuiti
bistabili. Latch (SR, S’R’, D). Flip-flop master-slave (SR, JK,T). Flip-flop edge triggered (D, JK,T). Tabelle caratteristiche. Caratteristiche temporali dei flip-flop. Ingressi diretti. Procedura di analisi. Modelli di Mealy e di Moore. Diagrammi di stato. Procedura di sintesi. Registri (paralleli, a scorrimento, universali, bidirezionali). Contatori (a cascata, sincroni, a incremento e decremento, a caricamento parallelo, generici). Le memorie RAM. Lettura e scrittura di una RAM. Temporizzazioni. SRAM. DRAM. Cenni sul controller DRAM. RAM a banchi.
Calcolatori 1 - Programma del corso
a.a. 2006/2007
1
Calcolatori 1
Calcolatori 1
Architettura dei calcolatori
Cenni storici. La legge di Moore. Classi di calcolatori. L’interfaccia hw/sw. I componenti di un calcolatore. Modello di Von Neumann. Architettura e organizzazione. Il livello ISA.
L’architettura MIPS 32
Introduzione alla programmazione assembler. Le istruzioni. Filosofie RISC e CISC. Panoramica del procesore
MIPS 32. Istruzioni aritmetiche di base. Operandi. Operandi allocati in memoria. Indirizzamento dei byte (little
endian, big endian). Operandi immediati. Rappresentazione delle istruzioni. Tipi di istruzione. Istruzioni logiche.
Istruzioni condizionali. I cicli. Istruzioni di test. Gestione delle procedure. Passaggio dei parametri. Lo stack.
Record di attivazione. Registri caller-saved e callee-saved. Procedure annidate. Procedure ricorsive. Dati statici.
L’heap. Segmenti. Direttive MIPS. Istruzioni di trasferimento dati. Indirizzamento. Aritmetica del MIPS. Gestione dell’overflow. Aritmetica in virgola mobile. Architettura MIPS R2000. L’ambiente SPIM. Chiamate di sistema.
Il compilatore. L’assemblatore. File oggetto. Il linker. Il loader. Librerie dinamiche. Cenni sull’architettura IA32.
Il processore
Cenni sulle prestazioni della CPU. Progetto della CPU. Stati di fetch, decode, execute. Il datapath. Temporizzazione. Datapath a ciclo singolo. Progetto dell’unità di controllo per datapath a ciclo singolo. Limiti della realizzazione a ciclo singolo. Datapath multiciclo. Progetto dell’unità di controllo per datapath multiciclo. Unità di controllo in logica cablata. Valutazione delle prestazioni. Granularità del clock. Le eccezioni. La microprogrammazione. Formato delle microistruzioni. Unità di controllo in logica microprogrammata. Introduzione al pipelining.
Alee nella pipeline (strutturali, sui dati, sul controllo). Datapath con pipeline. Rappresentazione grafica della
pipeline. Unità di controllo con pipeline. La propagazione. La forwarding unit. Lo stallo. L’hazard detection unit.
Libri di testo
Mano - Kime: Reti Logiche. Addison-Wesley. 2002
Patterson - Hennessy: Struttura e progetto dei calcolatori - l’interfaccia hw-sw. Zanichelli. 2006
Modalità d’esame
L’esame è composto da una prova scritta sulla programmazione assembler e da una prova orale.
Calcolatori 1 - Programma del corso
a.a. 2006/2007
2