Anno acc. 2008-2009 Prof. Gaetano Gerardi

Università degli Studi di Palermo
Facoltà di Scienze MM.FF.NN.
Corso di laurea in “Informatica”
Programma di: "Architetture I" (9 CFU)
Anno acc. 2008-2009
Codice 01478
Prof. Gaetano Gerardi
Scopo del corso: Il corso si propone di fornire allo studente i concetti teorici generali alla base delle
definizioni e realizzazioni delle moderne CPU e la conoscenza dei metodi fondamentali pratici di
progetto e di realizzazione hardware sia con logica random che con logica programmata.
Introduzione ai Sistemi Numerici: binari, ottale, esadecimale e tecniche di conversione di
base. Complementazione ad r e a (r-1). Codici binari, decimali, con correzione di errore, riflessi.
Codici alfanumerici. Logica binaria e sua realizzazione con AND, OR, NOT. Diagrammi temporali.
Algebra booleana: Definizione e Teoremi fondamentali. Precedenza degli operatori,
Diagrammi di Venn. Funzioni Booleane. Forme canoniche: Somma di prodotti e Prodotto di
somme. Operatori binari. Rappresentazione delle funzioni Booleane con il metodo delle mappe fino
a 4 variabili. Minimizzazione delle funzioni anche con l'uso delle condizioni "d'ont care". Metodo
tabulare di minimizzazione: Determinazione e scelta dei primi implicanti.
Logica combinatoria: Logica positiva e Logica negativa. Buffer tri-state. Bus uni e bidirezionali. Uso delle OR esclusive ed equivalence, generatori e checker di parità. Circuiti
discriminatori e trigger di Schmitt. Rivelatori di fronti. Corse. Procedure di progetto e di analisi.
Encoder, Decoder, Rivelatore e codificatore di parità. Conversione di codici. Comparator.
Multiplexer e Demultiplexer. Analisi di circuiti logici combinatori. Realizzazioni di SHIFTER e di
BARREL SHIFTER con l’uso di MUX. Timing Hazard statici e dinamici come si riparano:
campionamento ritardato, unità di ritardo, K-map e filtri passa basso. Gestione delle periferiche:
metodo di polling, dell’interrupt e polling e dell’interrupt vettorizzato con ROM/RAM-Mapp.
Circuiti ausiliari per la connessione in cascata di comparatori e interrupt controller.
Circuiti Aritmetici fondamentali: Circuiti di incremento e decremento binario; Somma
binaria: Half Adder, Full Adder, Parallel adder, Look-Ahead Adder. Sottrazione Binaria.
Complemento a 10 e a 9, complemento a 2 e ad 1. Sottrazione con numeri scritti in complemento ad
2 e ad 1. Somma e sottrazione BCD.
Logica sequenziale: Gated Oscillator. Uso di circuiti CR ed RC per la realizzazione di:
Clocks, Impulsi, Ritardi, Duplicatori di Frequenza. Implementazione dei principali Flip Flop (RS,
D, T, JK) non clocked e clocked (Latch). Forme d'onda: quadra, impulsi positivi negativi,
Definizione di tempi di salita e di discesa. Triggering con il primo o secondo fronte del clock. FlipFlop Master/Slave e Edge Triggered e loro equazione di stato. Circuiti Monostabili retriggerabili e
non retriggerabili.
Analisi dei circuiti sequenziali clocked: Tabelle, Diagrammi ed Equazioni di stato.
Funzioni di ingresso dei Flip Flop, Progetto di circuiti sequenziali temporizzati, Assegnazione degli
stati, Tabella di eccitazione dei Flip Flop: RS, JK, D, T.
– Tel 091.6615081 – Fax 091.6615063– Email: [email protected]
Università degli Studi di Palermo - Facoltà di Scienze MM. FF. NN.
Pagina 2
Procedure di progetto di un Circuito Sequenziale ed uso delle Tabelle di Eccitazione,
Equazioni di stato, Diagrammi temporali. Rivelatori di sequenze
Circuiti sequenziali. Registri di tipo latched e non latched, Registri a scorrimento. Circuito
di calcolo e check del CRC, Contatori ad anello, contatore Johnson. Contatore Gray con uscite
decodificate, Contatori Binari e BCD di tipo ripple e paralleli, Up e Down. Contatori modulo N.
Contatori programmabili asincroni e sincroni.
Memorie Statiche RAM e ROM Register File dual port- Static Random Access MemoryFunzioni logiche realizzate con l’uso di ROM, PLA, PAL, CPLD, FPGA.
Microprogrammazione: Controllore micro programmato per sequenze singole e multiple;
Mapping-Prom; Realizzazione hardware di Salti condizionati e non. Sovrapposizione temporale
delle operazioni di fetch ed execution: Registro Pipeline. Program counter realizzato con
Incrementer+storage Registro. Stack LIFO e Chiamate a Subroutine; Overlapping dei campi di
microistruzioni e gestione di loop. Gestione delle periferiche: Status polling e Polled interrupt.
Linguaggio di programmazione Hardware: VHDL. Livelli di astrazione per la
definizione di un progetto: Livello Strutturale, Dataflaw, Behavioral; Linguaggio VHDL per la
definizione di circuiti digitali combinatori e Funzione Booleane: AND, NOR, Multiplexer,
Decoders, Convertitori di codice, Demultiplexer, Parallel Adder e Parallel Subtractor, ALU, Shifter.
Definizione VHDL di Latches e Flip-Flop con e senza abilitazione, sincroni ed asincroni.
Definizione VHDL di un circuito sequenziale a partire da un diagramma di stati (macchine di
Mealy e di Moore). Definizione VHDL di: Shift Register di tipo PIPO, SIPO, PISO, Universale,
Contatori Binari UP, DOWN e UP/DOWN con clear e preset sincroni ed asincroni. Registri di
Memoria statica. Sintesi, implementazione hardware, map e Place&Route, simulazione behavioural
e Post-Route
Uso del Simulazione PSPICE (student edition) Simulazione di sistemi combinatori e
sequenziali
Uso del Sintetizzatore Xilinx (ISE WebPACK) Sintesi e Simulazione di sistemi
combinatori e sequenziali definite in VHDL.
Modalità esami: Esami orali durante il quale lo studente deve dimostrare padronanza dei concetti
teorici in programma e padronanza nell’uso dei due CAD fondamentali PSPICE e
XILINX (ISE WebPACK) anche attraverso la soluzione di uno o più problemi.
Libri di testo: G. Gerardi “Introduzione alle reti logiche Combinatorie e Sequenziali”
(DISPENSE)
G. Gerardi “Architettura Microprogrammata di Computer” (DISPENSE)
Testi Consigliati M. Morris Mano & Charles R.Kime "Reti Logiche"
(traduzione dell'edizione italiana a cura di Antonio Gentile, Filippo Sorbello e
Salvatore Vitabile) Addison WESLEY
Donnamaie E. White “Bit-Slice Design: Controllers and ALUs”
published by Garland STPM press,1981,
scaricabile da: http://www10.edacafe.com
HARDY Electronics AB “VHDL Handbook” scaricabile da web
Manuali CAD:
PSPICE: Manuale d'uso Simulatore (fornito con il sintetizzatore/simulatore)
Xilinx: Manuale d'uso ISE Web PACK (fornito con il sistema)
– Tel 091.6615081 – Fax 091.6615063– Email: [email protected]