RETI LOGICHE L-A Orario Lunedì ore 14-16 17 (ora Q) [aula 5.7], Giovedì ore 9-12 [aula 6.2], Venerdì ore 9-11 [aula 6.1] Informazioni, programma, materiale didattico (slide, compiti a casa, testo e soluzione di prove d’esame) www.lia.deis.unibo.it/Courses/2007-08 Dispense R. Laschi, M. Prandini: “Reti Logiche”, Esculapio, 2007 Ricevimento Venerdì ore 11-13; Mercoledì ore 15-17, previo accordo telefonico (051 20) 93005 o via e-mail ([email protected]) Regolamento prove d’esame In ogni A.A. sono previsti 6 appelli d’esame: Giugno, Luglio, Settembre, Dicembre, Gennaio, Aprile L’esame consiste in due prove: 1. prova scritta (2 esercizi) • punti complessivamente disponibili: 20 • superamento: punteggio di ciascun esercizio 4 2. prova orale • punti disponibili: 10 • superamento: punteggio 4 Voto esame: somma dei punteggi delle due prove Nella sola SESSIONE ESTIVA: - la prova orale può essere sostituita dalla prova intermedia, se superata con almeno 4 punti (o, per chi ha superato la prova scritta di Giugno, con il primo esercizio della prova di Luglio) - ogni compito a casa, svolto congiuntamente da due Studenti e consegnato in tempo, incrementa il voto finale fino a 0,5 punti Date prove scritte d’esame sessione estiva prova intermedia: Sabato 24 Maggio, ore 9.00-13.00, aula 6.2 I prova scritta: Giovedì 26 Giugno, ore 14.30-18.30, aula 6.2 II prova scritta: Mercoledì 16 Luglio, ore 14.30-18.30, aula 6.2 iscrizione obbligatoria tramite Uniwex Obiettivi del corso RETI LOGICHE insegna a descrivere e a progettare le MACCHINE DIGITALI Eugenio Faldella (ET) Roberto Laschi (I) Stefano Mattoccia (A) Marina Pettinari (ET) Aspiranti ingegneri dell’informazione Macchine digitali Sistemi artificiali che impiegano grandezze fisiche contraddistinte da un insieme discreto di valori “significativi” (segnali digitali) per rappresentare, elaborare e comunicare informazioni il “mezzo” il “fine” 3000 anni di storia e 4 tecnologie complessità tutte le attività controllo calcolo manuale misura meccanica elettrica elettronica tecnologia tempo “Pervasive Digital Era” Livelli di descrizione La descrizione del comportamento di un sistema complesso, in ogni ambito ingegneristico, è inevitabilmente articolata su più livelli (approccio “divide et impera”). Ogni livello individua entità (sottosistemi, unità, moduli, …, componenti “primitivi”) opportunamente cooperanti, contraddistinte da ben predefiniti ruoli, funzionalità, interfacce e protocolli di interazione con le altre entità operanti nello stesso livello o nei livelli adiacenti della gerarchia. Esplorando i livelli della gerarchia dall’alto verso il basso, aumenta il numero di entità, ma diminuisce la complessità di ciascuna di esse, dal punto di vista sia comportamentale che strutturale. I livelli di descrizione di una diffusissima macchina digitale: il calcolatore elettronico … Fondamenti di Informatica L-A Livello architetturale Livello logico Calcolatori Elettronici L-A Reti Logiche L-A Livello fisico Microelettronica L-A Elettronica Digitale L-A Rete Logica: RAM, Registro, Contatore, ALU, Decoder, Multiplexer modello della macchina digitale che consente • di astrarre dalla tecnologia • di dettagliare l’immagine architetturale Funzioni, variabili, espressioni processore, memoria, I/O Livello architetturale Adattabilità, velocità, capacità, sicurezza, espressività Livello logico Descrizione formale, composizione, decomposizione Argomenti da affrontare per impiegare il modello: • Modalità di rappresentazione, elaborazione e trasferimento dell’informazione • Metodi per la definizione formale delle specifiche • Metodologie di progetto segnali e circuiti Livello fisico Affidabilità, velocità, ingombro, consumo, costo I due contesti progettuali oggetto di studio astrazione cosa fa Descrizione del COMPORTAMENTO Sintesi come è fatta non univoco univoco esito Analisi Descrizione della STRUTTURA Macchina digitale Progettazione top-down e bottom-up Livello n Comportamento dell’intero sistema Struttura formata da sottosistemi Componenti “primitivi” per il livello n Livello n-1 Comportamenti dei vari sottosistemi Strutture formate da parti più semplici Componenti “primitivi” per il livello n-1 Livello 1 Andamenti di tensioni e di correnti elettriche Schemi circuitali Componenti “primitivi” per il livello 1 Livello 0 Fenomeni fisici all’interno di materiali Il progetto, o sintesi, su un livello nuovo comportamento Metodologie per l’ottimizzazione del costo e delle prestazioni CAD nuovo componente Descrizione della struttura che presenta il nuovo comportamento Elenco dei componenti disponibili, del loro comportamento e delle modalità con cui farli interagire Programma Cap.7: Metodologie per la sintesi e l’analisi di reti sequenziali sincrone Saper fare Cap.6: Metodologie per la sintesi e l’analisi di reti sequenziali asincrone Orale Prova scritta Cap.5: Metodologie per la sintesi e l’analisi di reti combinatorie Cap.4: Componenti logici elementari e algebra di commutazione Sapere Cap.3: Modelli e metodi per la descrizione formale delle specifiche Cap.2: Rappresentazione, elaborazione, trasferimento dell’informazione Cap.1: Introduzione alle macchine digitali Orale Prova intermedia Macchine digitali: dal livello fisico al livello logico La gestione dell’informazione a livello fisico I circuiti elettronici che formano il livello fisico di una macchina digitale coordinano il loro funzionamento scambiandosi informazioni veicolate da “segnali”. sorgente segnali destinazione Segnale: grandezza fisica variabile nel tempo, il cui andamento o forma d’onda identifica l’informazione che la sorgente intende inviare alla destinazione. Segnale analogico: ogni variazione della grandezza fisica modifica l’informazione trasportata. Segnale digitale: solo a “significative” variazioni della grandezza fisica corrisponde una modifica dell’informazione trasportata. Forma d’onda di un segnale “rumore” • Il segnale analogico s(t) informazione • Il segnale digitale • Il segnale binario H L Segnali analogici vs. segnali digitali IPOTESI: si dispone di una tensione elettrica V variabile nell’intervallo 0-10 volt, di cui si è in grado di generare (lato sorgente) e misurare (lato destinazione) il valore con la precisione del centesimo di volt. PROBLEMA: trasferire il valore N di un numero intero (0 ≤ N ≤ 999). SOLUZIONI Segnale analogico: posto V = N, la comunicazione richiede una sola unità di tempo, ma un “rumore” di entità pari a 0,01 volt altera il valore trasferito. Segnale digitale: suddiviso l’intervallo di variabilità del segnale V in 10 fasce da 1 volt, la comunicazione richiede tre unità di tempo, una per ciascuna cifra decimale; l’immunità al rumore è pari a 0,5 volt. Segnale binario: suddiviso l’intervallo di variabilità del segnale V in 2 fasce da 5 volt, la comunicazione richiede dieci unità di tempo; l’immunità al rumore è pari a 2,5 volt. Segnali analogici vs. segnali binari PROBLEMA: evidenziare il livello del carburante in un’automobile SOLUZIONI: 1 segnale analogico, oppure, a parità di contenuto informativo, una molteplicità di segnali binari 8/8 7/8 6/8 5/8 4/8 3/8 2/8 1/8 4/4 3/4 2/4 sensore (on/off) riserva 1 segnale 1/4 4 segnali 8 segnali ... Fenomeni fisici e segnali binari contatto mobile sorgente di alimentazione segnale tensione segnale corrente circuito elettrico “causa” fenomeno fisico “effetto” carico “Interruttori” elettronici bipolare corrente elettrica causa valore “alto” / “basso” corrente elettrica tensione o corrente in ingresso corrente in uscita il transistore effetto corrente SI / NO unipolare tensione elettrica corrente elettrica H L tempo H L tempo Tecnologia e prestazioni Azionamento Manuale Meccanico Elettrico Elettronico evoluzione Integrazione! Transistore unipolare area: velocità: consumo: costo: 10-9 1010 10-4 10-3 mm2 commutazioni/s watt lire I/O analogico segnali analogici microfono termostato altimetro Convertitore A/D segnali binari tastiera mouse floppy segnali analogici altoparlante plotter dinamo Elaborazione di segnali binari Convertitore D/A segnali binari lampadina monitor floppy Variabili binarie Bit (binary digit) Variabile x tale che x B:0,1 logica positiva o negativa Segnali binari: Presente, Assente Alta, Bassa Aperto, Chiuso Accesa, Spenta ecc. x corrente x x tensione x x contatto x x lampada x 1 assente 0 1 bassa 0 1 aperto 0 1 spenta 0 0 presente 1 0 alta 1 0 chiuso 1 0 accesa 1 logica negativa logica positiva Configurazioni binarie n bit Configurazione binaria di n bit: stringa di n simboli {0,1}. x1 x2 x3 xn • Le distinte configurazioni binarie di n bit sono 2n. n=3: x1 x2 x3 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 • Una configurazione di n bit può rappresentare: i valori di n segnali binari in un certo istante; i valori di un segnale binario in n istanti. x1 0 x2 0 x3 0 t x 1 0 0 t1 t2 t3 notazione alternativa: x1x2x3 010 111 000 011 111 …