Summary

Questo capitolo fornisce una panoramica introduttiva sulle macchine digitali, coprendo argomenti come la descrizione e la progettazione di queste macchine. Vengono presentati i concetti chiave di struttura e comportamento, e l'importanza dell'astrazione nei progetti complessi. Sono incluse le metodologie di analisi e sintesi.

Full Transcript

Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione Capitolo 1: Macchine digitali 1.1 – Descrizione e progettazione Evoluzione Fin dai tempi più remoti l’uomo si è costruito macchine p...

Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione Capitolo 1: Macchine digitali 1.1 – Descrizione e progettazione Evoluzione Fin dai tempi più remoti l’uomo si è costruito macchine per rappresentare, comunicare ed elaborare informazioni. Tali sistemi artificiali operano su insiemi discreti di simboli e sono per questo detti digitali. Le macchine digitali sono complessità state inizialmente semplici supporti per il Macchine digitali calcolo manuale, poi strumenti automatici di tutte le attività misura, poi controllori d’altri sistemi artificiali ed infine oggetti d’uso quotidiano nel lavoro, negli affari, nello studio e nell’intrattenimento. Questa straordinaria evoluzione delle controllo applicazioni ha richiesto non solo macchine formate da un numero sempre più grande di misura calcolo componenti fisici, ma anche l’uso di tecnologie sempre più in grado di innalzare la velocità operativa e di ridurre l’ingombro, il consumo tempo energetico ed il costo. Oggi le macchine sono manuale meccanica elettrica elettronica tecnologia elettroniche ed hanno milioni di componenti. Struttura e Comportamento Per progettare macchine di questo tipo è assolutamente indispensabile saperne dominare Struttura & Comportamento la complessità. A tal fine sono utili due differenti tipi di descrizione:  il “com’è fatta” la macchina e quindi la sua struttura, quale risulta definita dalle parti che la compongono e dalle modalità con cui interagiscono, COMPORTAMENTO: “vista” della  il “cosa fa” la macchina e quindi il suo macchina focalizzata sulle risposte fornite a seguito di ogni possibile comportamento, quale risulta definito sollecitazione esterna dalla relazione tra gli stimoli che riceve e le risposte che fornisce. STRUTTURA: “vista” della macchina focalizzata sui componenti e sulle Si noti che il comportamento è una modalità con cui interagiscono descrizione astratta della macchina, potendo prescindere dalla maggior parte dei dettagli Analisi & Sintesi costruttivi e tecnologici della sua struttura. La astrazione comprensibilità è la prima conseguenza utile di cosa fa questo punto di vista; la seconda è la Descrizione generalità, dato che uno stesso comportamento del COMPORTAMENTO può poi essere ottenuto con strutture diverse. L’ingegneria delle macchine digitali ha Sintesi come è bisogno d’entrambe le descrizioni. Nel fatta Analisi procedimento di SINTESI, il comportamento è Descrizione il punto di partenza e la struttura il punto della STRUTTURA d’arrivo; nel procedimento d’ANALISI si prende atto di una struttura esistente e se ne deduce il comportamento. 1 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione Livelli d’astrazione e di progettazione Una macchina complessa richiede una gerarchia di livelli di descrizione. Livelli di descrizione Salendo di livello si aumenta l’astrazio- La descrizione del comportamento ne assumendo come componenti primitivi può essere più e più volte decomposta strutture di componenti più semplici descritte in comportamenti più semplici da nel livello sottostante: da ciò discende una svolgere nello spazio e/o nel tempo diminuzione del numero delle parti in gioco ed una descrizione più chiara del loro ruolo. Ogni livello di questa gerarchia individua Scendendo di livello si aumenta il strutture formate da componenti “astratti” la cui struttura è definita nel livello sottostante dettaglio fornendo la descrizione strutturale dei componenti assunti come primitivi nel livello superiore: ciò consente di puntualizzare sempre meglio, ma in contesti sempre più limitati, i e Scendendo dall’alto verso il basso aumenta il numero di componenti diminuisce la complessità dell’azione svolta da ciascuno particolari costruttivi dell’intera macchina. Inizialmente il progetto di una macchina complessa ha richiesto due fasi, dette procedi- Progettazione top-down e bottom-up mento top-down e procedimento bottom-up. Comportamento Struttura formata del sistema da sottosistemi Durante la prima fase si discendeva la Componenti “primitivi” per il livello n gerarchia dei livelli di descrizione per ottenere una decomposizione graduale e sempre più Comportamenti dei vari sottosistemi Strutture formate da parti più semplici dettagliata delle iniziali specifiche di Componenti “primitivi” per il livello n-1 comportamento della macchina. Durante la seconda fase, si procedeva alla realizzazione dei comportamenti primitivi individuati in precedenza a partire da quelli del Andamenti di tensioni e di correnti elettriche Schemi circuitali livello più basso, per ottenere una Componenti “primitivi” per il livello 1 composizione graduale della macchina ed una Gestione di fenomeni fisici e chimici all’interno di materiali progressiva verifica del suo funzionamento. Questi complessi progetti hanno messo a disposizione le realizzazioni e gli standard d’impiego di componenti di tutti gli strati. Oggi è dunque possibile operare su tre soli livelli:  al livello più basso si prende atto di una famiglia di componenti primitivi già realizzati;  al livello più alto si definiscono le specifiche di un nuovo componente,  al livello intermedio si procede alla realizzazione della sua struttura. E’ proprio questo modo di operare che è riuscito a creare un giro “virtuoso” da cui sono derivati sia componenti complessi sempre migliori, sia macchine in grado di soddisfare esigenze di calcolo sempre più impegnative. La cosa importante da capire in questo paradigma di progettazione è che, una volta Il progetto, o sintesi, su un livello assegnata una certa “famiglia di componenti”, nuovo componente Descrizione esistono molte strutture in grado di presentare del un nuovo comportamento. Per scegliere la comportamento struttura “migliore” il progettista deve sapere sia valutare a priori il costo e le prestazioni per Metodologie l’ottimizzazione Descrizione della futura macchina, sia guidarne la del costo e CAD della delle prestazioni struttura realizzazione nella direzione di maggiore interesse per i suoi futuri utilizzatori. A tal fine è determinante avvalersi della Elenco dei componenti disponibili, del loro progettazione assistita dal calcolatore (CAD o comportamento e delle modalità con cui farli Computer Aided Design), una metodologia interagire oggi disponibile per tutti i livelli di progetto. 2 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione Schemi a blocchi Ad ogni livello di astrazione della macchina digitale vengono individuate strutture formate da un certo numero di componenti assunti come primitivi, ma in realtà dotati ciascuno di una sua struttura interna definita nel livello di astrazione sottostante. Un componente “astratto” di ogni livello può dunque essere utilmente rappresentato da un blocco, o scatola nera, che ne illustri il comportamento e ne oscuri la struttura interna. Una freccia entrante nel blocco indica Il modello del “blocco” o “scatola nera” l’informazione da elaborare, una freccia uscente indica il risultato dell’elaborazione, una notazione simbolica posta all’interno del blocco indica la trasformazione da lui operata dati risultati (relazione d’ingresso/uscita o di causa/effetto). (ingresso) P (uscita) Per caratterizzare il comportamento di un certo blocco occorre precisare: P ↔ relazione ingresso/uscita o di causa/effetto  quali sono i simboli che può ricevere in trasformazione ingresso (alfabeto d’ingresso), temporizzazione  quali sono i simboli che può generare in uscita (alfabeto d’uscita),  quale trasformazione esegue ed in quale modo (processo di elaborazione). La descrizione della trasformazione eseguita da un blocco dipende dal livello in cui viene impiegato: ai livelli più altri si ricorre ad una sigla, o ad una parola, o ad una frase, per evidenziare succintamente il compito di elaborazione svolto; ai livelli più bassi i comportamenti sono più semplici e possono essere assegnati con tabelle e/o con espressioni. L’interconnessione di più blocchi, detto schema a blocchi, è lo strumento grafico che consente di descrivere come viene ottenuto, o realizzato, un certo comportamento. Il numero di blocchi aumenta quando si scende di livello. In figura sono evidenziate le tre regole Regole “elementari” di composizione elementari per la composizione di due blocchi: a) in serie u=M2(M1(i)) la disposizione in serie, la disposizione in i M 1 M2 u Deve operare prima il blocco a sinistra, poi quello a destra. parallelo e la disposizione in retroazione. Sono anche evidenziate le notazioni b) in parallelo matematiche della funzione composta, del M1 u { uu12=M 1 1(i) =M2(i) sistema di due funzioni e della funzione i M2 u I due blocchi operano 2 ricorsiva che consentono di puntualizzare il contemporaneamente. corrispondente comportamento complessivo. c) in retroazione u=M1(i, s) s=M2(u) Le modalità di operare dei due blocchi i u u=M1(i, M2(u)) M1 sono infine precisate con frasi che mettono in È necessario che l’anello completi s conto come devono svolgersi nel tempo le loro M2 un calcolo prima di avviarne uno nuovo. elaborazioni. Il livello architettonico Al livello più alto di astrazione la macchina digitale è dunque inizialmente rappresentabile con un unico blocco. La descrizione del compito svolto dalla macchina consente di introdurre una importante classificazione. Una macchina è detta special purpose se ha un solo e ben preciso comportamento. Una macchina è detta general purpose se è invece in grado di presentare qualsiasi comportamento descrivibile con un algoritmo. A tal fine la macchina impiega il cosiddetto principio del programma memorizzato per consentire a chi la impiega di specificare il comportamento che di volta in volta gli interessa. 3 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione NOTA STORICA – Nella Analitical Engine (1833) Charles Babbage prevede una memoria, un pacco di schede perforate, in cui scrivere il programma che dovrà guidarla nell’esecuzione dei calcoli. Babbage muore nel 1871 senza essere riuscito a realizzare il suo progetto, troppo complesso per la tecnologia meccanica allora disponibile. Il principio del programma memorizzato è ripreso in considerazione solo cento anni dopo, quando diventa possibile fare ricorso alla tecnologia elettronica. Alla definizione della “macchina universale” contribuiscono Alan Touring e John von Neumann. Il primo calcolatore elettronico dotato di programma, l’ENIAC, è stato costruito nel 1943. La memoria elettronica dedicata a contenere indifferentemente dati e programmi è sperimentata nel progetto successivo, l’EDVAC, la cui costruzione inizia nel 1945, terminando però soltanto nel 1952. Il comportamento di una macchina general purpose è definito da due componenti: il software (Sw) e l’hardware (Hw). Il software descrive il comportamento Hardware e Software desiderato sotto forma di programma, cioè di una lista d’istruzioni scelte all’interno di un Macchina general purpose insieme di comandi (instruction set) che la macchina sa interpretare ed eseguire. L’hardware è la struttura in grado di software hardware memorizzare il software, di prelevare dalla memoria un’istruzione alla volta e di svolgere l’attività d’elaborazione per essa prevista. Nello sviluppo temporale del comporta- mento si distingue una prima fase durante la caricamento fetch execute fetch execute fetch quale il programma è “caricato” in memoria, t seguita da una seconda fase in cui si alternano l’attività di reperimento di un’istruzione (fetch) e quella della sua esecuzione (execute). L’Hw di un calcolatore (ma anche di ogni altra attuale macchina special purpose) è Il Controllo ed il Percorso dei dati formato da due blocchi in retroazione: richiesta notifica  il Controllo scandisce i passi dell’algo- ritmo che definisce quale deve essere il comportamento;  il Percorso dei dati esegue sui dati tutte le controllo operazione che vengono via via richieste comandi stato dall’algoritmo. dato percorso dei dati risultato In ogni istante di funzionamento è dunque il Controllo, con i suoi comandi, a dire al percorso dei dati che cosa bisogna fare. Per svolgere quest’azione di guida il Controllo ha però bisogno di conoscere lo stato del Percorso dati. Tipiche informazioni di ritorno sono: “attesa di un nuovo compito”, “esecuzione in corso”, “esecuzione terminata”, “impossibilità di proseguire a causa di..”. Il Controllo è di solito a sua volta controllato, o dall’uomo o da un’altra macchina. Tipiche richieste sono i comandi di start e di stop, affiancati eventualmente da un parametro quando i comportamenti possibili sono più di uno. La notifica viaggia in senso contrario e riassume lo “stato” dell’intera macchina. La decomposizione Controller/Data path offre:  semplicità d’uso: con pochi comandi, facili da apprendere e da fornire, si può ottenere l’esecuzione di elaborazioni anche molto complesse;  flessibilità di impiego: è possibile ottenere comportamenti diversi con modifiche anche modeste apportate o al Controllo o al Percorso dei dati. 4 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione Un’ulteriore decomposizione discende dalla constatazione che il calcolatore deve scambiare dati con il mondo esterno. Questa attività richiede l’esecuzione di un protocollo specifico del dispositivo periferico con cui la macchina deve comunicare, impegna tempi relativamen- Central Processing Unit e te lunghi e costituisce un “servizio” richiesto Input/Output da tutti i programmi. Elaborazione Per ottenere efficienza e flessibilità, centrale convienr suddividere il Percorso dei dati in tre Ingresso Uscita blocchi disposti in serie: controllo richiesta notifica  l’input per acquisirli, controllo controllo  la central processing unit per trasformarli,  l’output per restituirli. protocollo protocollo dato elaborazione buffer risultato Confinare lo scambio dei dati con di buffer dei dati di ingresso uscita l’esterno in blocchi di interfaccia, dotati ciascuno di un Controllo e di un Percorso dati, consente di dedicare l’unità centrale alle attività di calcolo vero e proprio; quando le serve un trasferimento di dati con l’esterno, le sarà, infatti, sufficiente inviare solo un comando di attivazione all’interfaccia del dispositivo periferico con cui intende farlo, senza doversi preoccupare del protocollo di scambio necessario. La presenza di memorie temporanee (buffer) consente inoltre alla più veloce unità centrale di elaborazione di acquisire e restituire non un singolo dato alla volta, ma un blocco di dati. Ciascuna interfaccia è poi usualmente realizzata su una scheda che l’Utente può facilmente inserire/estrarre, riuscendo così a configurare la macchina come ritiene più opportuno. CASO DI STUDIO – L’interfaccia di tastiera è formata da due blocchi: l’unità di scansione (polling) L’interfaccia esamina uno dopo l’altro lo stato dei tasti; il buffer della tastiera memorizza il nome di quelli trovati “premuti”. L’unità di scansione richiede:  un generatore di nomi (il Controller) che produca, uno dopo l’altro, il nome del tasto da interrogare: il ritmo di scansione deve garantire che durante il Unità di ingresso tempo di pressione di un tasto capiti almeno Selettore premuto/non premuto un’interrogazione del suo stato;  un selettore (il Data Path) che riceve in ingresso lo Generatore “stato” di tutti i tasti e che riproduce in uscita quello di Z del tasto indicato dal generatore. “nomi” Y La CPU, quando può, deve “svuotare” il buffer: X Scansione Buffer la sua capacità di memoria deve garantire che i dati non vengano “sovrascritti” prima di essere stati letti. Da 10 a 30 interrogazioni al secondo CASO DI STUDIO – L’interfaccia video deve “rinfrescare” continuamente ciò che si vuole visualizzare sul monitor. Il monitor è una matrice con M+1 righe e immagine, posizione Interfaccia Video N+1 colonne; in ogni incrocio è collocato un pixel (picture element) in grado di assumere e mantenere temporaneamente uno tra diversi possibili colori. Il 0,0: nero colore è un dato comunicato al pixel ogniqualvolta il 0,1: giallo “pennello” elettronico passa nella sua posizione. Il Selettore pennello si muove da sinistra verso destra e dall’alto verso il basso. Nell’interfaccia video occorrono: Monitor  un buffer per memorizzare una “schermata”; N,M: blu  un selettore (il Data Path) per scegliere uno dei dati memorizzati nel buffer ed inviarlo al monitor; Generatore Da 50 a 72  un generatore di coordinate (il Controller), per di coordinate quadri dire al selettore in ogni istante quale dato deve al secondo apparire sulla sua uscita. Buffer Selezione 5 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione L’unità centrale di elaborazione di una macchina general purpose deve saper eseguire un programma. Una visione più dettagliata della sua struttura porta ad individuare quattro parti Input, Central Processing Unit, componenti: Output  una memoria in cui sia possibile alloggiare la lista delle istruzioni, CPU memoria  un interprete capace sia di prelevare dalla Input istruzioni Output memoria l’istruzione da eseguire, sia di generare tutti i comandi interni necessari per richiesta controllo interprete controllo notifica far avvenire l’attività di elaborazione corrispondente all’ordine in essa contenuto; dato protocollo protocollo risultato  una memoria in cui alloggiare tutti i dati di esecutore di (iniziali, parziali e finali) del programma, ingresso uscita memoria  un esecutore delle operazioni che il dati linguaggio di macchina mette a disposizione del programmatore. Abbiamo detto che i blocchi di Ingresso e di Uscita alloggiano le interfacce dei dispositivi periferici del calcolatore. Bisogna però prendere atto che molti dispositivi (ad es. l’hard disk, od il modem per le comunicazioni remote) sono bidirezionali, cioè scambiano dati con la CPU in entrambe le direzioni. Parimenti va notato che anche se il dispositivo è unidirezionale (ad ed. la stampante, o lo scanner), è poi bidirezionale il flusso delle richieste e delle notifiche che consente alla CPU di controllarne il funzionamento. Da tutto ciò discende l’utilità di comporre i due blocchi in un’unità di Ingresso/Uscita, dotandola di un collegamento bidirezionale con la CPU, il Bus, su cui trasferire comandi, stati e dati di tutte le interfacce. Una secondo importante osservazione riguarda la memorizzazione di istruzioni e dati nella CPU: la capacità richiesta a queste due memorie dipende fortemente dal programma in esecuzione ed è dunque difficile stabilirla a priori. Molto più flessibile è la soluzione architettonica che prevede di suddividere la CPU in due blocchi in retroazione: il Processore e la Memoria principale. Il blocco Processore contiene al suo interno la memoria per la sola istruzione in esecuzione, il loro interprete, l’esecutore delle Architettura di un calcolatore elettronico operazioni e la memoria per alcuni dati da elaborare con istruzioni successive. Tramite il Bus, il Processore è anche in grado di BUS scambiare dati con l’unità di I/O e di eseguire sulla Memoria operazioni di lettura/scrittura. Il blocco Memoria principale contiene Memoria Unità di Processore ingresso/ l’intero programma e tutti i dati necessari per la principale uscita sua esecuzione. Contiene inoltre il software di base (kernel del sistema operativo, drivers dei dispositivi esterni, ecc.) e le tabelle di dati che consentono la gestione dell’intero sistema. Lo schema a quattro blocchi che abbiamo appena individuato costituisce una descrizione di alto livello dell’hardware di un calcolatore. Tale livello, detto architettonico, definisce un componente primitivo per il livello superiore, quello del software, a cui fornisce una gamma di comportamenti elementari, singolarmente invocabili con istruzioni del linguaggio macchina. Prestazioni importanti da conseguire in questo livello sono l’adattabilità ad ogni utile forma di colloquio con il mondo esterno, la capacità di memorizzare tutte le informazioni necessarie per 6 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione un funzionamento autonomo, la velocità di esecuzione delle istruzioni, la potenza espressiva del linguaggio di macchina, la sicurezza del funzionamento. Con la tecnologia elettronica dell’integrazione su larga scala (Very Large Scale Integration) tali obiettivi sono oggi pienamente conseguiti da un piccolo insieme di componenti fisici dotati di una grande complessità interna. ESEMPIO - Le immagini che seguono mostrano rispettivamente una scheda madre, una scheda di RAM, un processore ed il suo zoccolo, un hard disk, un floppy disk ed i loro cavi di bus e di alimentazione. 7 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione 8 Cap. 1 – Macchine digitali 1.1 – Descrizione e progettazione I livelli fisico e logico Sotto il livello architettonico si trova il livello fisico, a cui compete la realizzazione dei veri e propri componenti fisici della macchina digitale. Nella parte bassa della figura a lato è evidenziato che in questo livello occorre Fenomeni e segnali prendere in considerazione relazioni di causa/ segnale posizione effetto tra le grandezze fisiche, i segnali, che caratterizzano fenomeni di varia natura ( elet- segnale trici, elettronici, magnetici, ecc.). segnale resistenza segnale Nella parte alta della figura è mostrato tensione tensione un caso di particolare interesse per le macchine digitali: in una maglia elettrica, il segnale tensione ai capi della resistenza dipende da quello emesso dalla pila e dalla resistenza grandezza grandezza Fenomeno Fenomeno fisico grandezza grandezza “effetto” “effetto” fisico nulla/infinita ai morsetti dell’interruttore; “causa” “causa” questa ultima dipende dal segnale che posiziona il contatto mobile. Il problema fondamentale del progetto è quello di coordinare lo svolgimento di molti, anzi di moltissimi, di questi comportamenti elementari. Obiettivi rilevanti di questo livello di progettazione sono il rendere massimo l’affidabilità e la velocità di svolgimento dei fenomeni ed il rendere minimi l’ingombro, il consumo energetico ed il costo del materiale coinvolto. Tra il livello architettonico ed il livello fisico s’interpone il livello logico, con un Il livello logico duplice compito: Ram, 1. impiegare l’astrazione matematica della Registro, Contatore Funzioni, variabile, della funzione e dell’operazione Alu, variabili, Decoder espressioni per dare una descrizione indipendente Multiplexer dalla tecnologia ad ogni relazione elemen- tare di causa/effetto che si verifica a livello Processore,memoria, I/O fisico; Livello architettonico contatti, 2. definire procedimenti formali che indichino segnali e come impiegare tali operazioni per Livello logico circuiti conseguire comportamenti più complessi da Livello fisico mettere a disposizione di chi opera a livello architettonico. L’insegnamento di Reti Logiche si occupa della progettazione a livello logico. Argomenti rilevanti di questa disciplina sono:  le modalità di rappresentazione dell’informazione (che studieremo nel cap.2),  le modalità d’elaborazione dell’informazione (che studieremo nel cap.3),  la descrizione matematica delle funzioni d’elaborazione (che studieremo nel cap.4)  i procedimenti d’analisi e sintesi (che studieremo nei cap. 5, 6 e 7). Resta da capire molto bene come s’interfacciano il livello fisico ed il livello logico, cosa che faremo nel prossimo paragrafo, a conclusione di questo capitolo introduttivo. 9 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori 1.2 – Segnali ed interruttori Segnali analogici e digitali I circuiti elettrici ed elettronici che formano il livello fisico di una macchina digitale coordinano il loro funzionamento scambiandosi segnali, cioè grandezze fisiche variabili nel tempo. L’attribuzione di un certo andamento, o forma d’onda, ad uno o più segnali è dunque il modo con cui un circuito genera e comunica informazioni; il riconoscimento di una certa forma d’onda su un certo segnale è di conseguenza il modo con cui un circuito riceve informazioni. In generale le grandezze impiegate per introdurre i dati nella macchina (segnali d’ingresso) sono diverse da quelle impiegate per estrarre i risultati (segnali d’uscita) e da quelle che servono per coordinare il funzionamento delle parti interne (segnali interni). ESEMPIO – Il pedale dell’acceleratore consente di regolare la velocità di un’automobile: premendolo opportunamente (segnale d’ingresso) si ottengono diverse velocità di rotazione delle ruote (segnale d’uscita). In realtà i segnali in gioco non sono solo due. Il movimento del piede ruota il pedale; la rotazione del pedale, tramite un tirante, diventa rotazione della farfalla all’interno del carburatore; la modifica di posizione della farfalla crea differenti composizioni della miscela aria-benzina e determina poi, nella camera di scoppio, una differente pressione sui pistoni in movimento verticale; l’albero motore trasforma questo moto in rotatorio ed il differenziale lo applica alle ruote. I segnali, indipendentemente dalla loro natura fisica, sono inoltre di due tipi. Il segnale analogico impiega tutti i possibili valori istantanei della grandezza fisica Grandezze fisiche e informazioni per rappresentare informazioni. y(t) ≡ informazione Le macchine che elaborano segnali Il segnale analogico analogici (ad es. l’automobile citata prima) sono dette analogiche. Teoricamente un segnale analogico Il disturbo dispone d’infiniti valori e d’infiniti andamenti. In realtà il suo impiego è tutt’altro che facile quando l’obiettivo è la precisione: un Il segnale digitale segnale analogico può, infatti, assumere valori e andamenti non voluti per colpa di disturbi Il segnale binario H provenienti dall’ambiente in cui opera. L Per ottenere insensibilità ai disturbi le macchine per l’elaborazione dell’informazione impiegano segnali digitali, cioè grandezze fisiche il cui campo di variabilità è stato preventivamente suddiviso in un certo numero di “fasce” di eguale significato: tanto più larga è la fascia, tanto più bassa è la probabilità che il disturbo riesca a modificare l’informazione trasportata. Usuale è l’impiego del segnale binario, che garantisce la massima robustezza possibile: i due valori (“alto” o H, “basso” o L) sono ottenuti suddividendo l’intervallo di variabilità con due valori di “soglia” ed obbligando poi il segnale a transitare il più rapidamente possibile nella fascia intermedia, a cui non è attribuito alcun significato. Naturalmente ciò va a scapito della velocità e della complessità. CASO DI STUDIO - Si ha una tensione elettrica che può variare nell’intervallo 0  10 volt e di cui si è in grado di generare/misurare il valore con la precisione del centesimo di volt. Si vuole comunicare il valore di un numero intero minore di 1000. Se il segnale è analogico, occorre un istante di tempo, ma un “rumore” d’ampiezza pari al centesimo di volt modifica il valore del dato. Se il segnale è digitale, l’intervallo di variabilità della tensione è da considerarsi idealmente suddiviso in 10 fasce d’ampiezza pari a 1 volt. Per la comunicazione occorrono tre istanti di tempo, ma l’insensibilità al rumore è pari a 0,5 volt. Se il segnale è binario, le fasce sono due da 5 volt ciascuna: la comunicazione richiede dieci intervalli, ma l’insensibilità al rumore diventa di 2,5 volt; se però s’impiegano dieci segnali binari la comunicazione dura un solo istante di tempo. 10 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori I segnali binari in uso sono i più svariati. Un segnale d’ingresso tipico è la Segnali binari: esempi posizione di una levetta o di un pulsante. Un segnale d’uscita tipico è la lumino- sità o meno di una lampadina, o di un segmen- to, o di un pixel. Nella stampa è in gioco la pressione o meno di un “martelletto” sulla carta, levetta: contatto: lampadina: alta/bassa aperto/chiuso accesa/spenta o l’emissione o meno di un getto d’inchiostro o di un raggio laser. Segnali di grandissimo impiego in ingresso, in uscita e all’interno della macchina sono la presenza/assenza di tensione e corrente tensione elettrica: cristallo liquido: corrente elettrica: in un circuito elettrico e l’induzione residua di High/Low trasparente/opaco presente/assente materiale ad alta permeabilità magnetica. Convertitori e trasduttori Per conseguire la massima flessibilità d’impiego le macchine digitali devono in generale poter scambiare con il mondo esterno sia segnali binari, sia segnali analogici. ESEMPI - La tastiera, il mouse, il floppy disk generano segnali binari; la lampadina, il monitor, il floppy disk sono predisposti per ricevere segnali binari. Anche il modem ed il telecomando generano segnali binari: il segnale emesso ha un andamento sinusoidale, ma sono poi impiegati due soli valori dell’ampiezza o della frequenza. Il microfono, il termostato, l’altimetro generano segnali analogici. L’altoparlante, il plotter, la dinamo, il galvanometro devono essere azionati da segnali analogici (o in ogni modo a più valori). La trasformazione dei segnali da analogici a binari e viceversa è affidata a Ingressi e uscite di una macchina digitale convertitori (analog to digital o A/D in ingresso, digital to analog o D/A in uscita), che il livello architettonico prevede di inserire Segnale Convertitore Convertitore Segnale analogico Trasduttore Attuatore analogico all’interno delle interfacce. Di norma il segnale A/D D/A da convertire o da ricostruire è una grandezza Macchina elettrica (tensione o corrente). digitale Quando occorre trattare grandezze Segnale Segnale diverse (segnali meccanici, acustici, ecc.) si binario binario ricorre ad un trasduttore, collocato a monte del convertitore A/D, e/o ad un attuatore, collocato a valle del convertitore D/A. CASO DI STUDIO - In figura è mostrato un caso di conversione A/D. Una slitta portautensili di una Conversione diretta da A a D macchina a controllo numerico trascina nel suo movimento due scatole, contenenti l’una tre fotodiodi, l’altra tre fotocellule. La luce passa o non passa a L seconda della trasparenza o meno del materiale B interposto tra ogni fotodiodo e la sua fotocellula. B L L L La posizione della slitta è una grandezza L B B B analogica, ma la predisposizione delle tre piste con zone B B B B trasparenti/opache riduce a 8 le posizioni rilevabili dai B segnali d’uscita (il tutto determina una discretizzazione o B B L L digitalizzazione della grandezza analogica). L Per evitare errori causati da piccoli disal- L lineamenti dei fotodiodi o delle fotocellule, posizioni Luce/Buio consecutive sono fatte differire per lo stato di un solo Luce/Buio Luce/Buio “vetrino” e quindi per il valore di un solo segnale. 11 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori CASO DI STUDIO - Nel convertitore D/A di figura, i quattro segnali binari che trasportano l’informazione Conversione D/A: un esempio sono impiegati per tenere aperti o chiusi altrettanti interruttori elettronici posti a valle di 4 identici Generatore generatori di corrente. di corrente: ↓I0 ↓I0 ↓ I0 ↓I0 Il segnale analogico d’uscita (nel caso di figura un segnale digitale a cinque possibili valori) è la tensione ↓I0 C1 C2 C3 C4 ai capi della resistenza su cui si vanno a sovrapporre gli effetti di quelle correnti che hanno trovato chiuso il ↑ VU contatto interposto tra la resistenza ed il generatore da cui c = chiuso, a = aperto provengono. C4 C3 C2 C1 DA converter Si noti che, a parità di segnali binari, è possibile c c c c VU = 4.R.I0 ottenere una ricostruzione più accurata del segnale a c c c VU = 3.R.I0 a a c c VU = 2.R.I0 analogico impiegando 4 generatori di corrente con valore a a a c VU = R.I0 diverso: I0, 2 I0, 4 I0, 8 I0. In questo caso, infatti, il a a a a VU = 0 segnale d’uscita può assumere sedici differenti valori. Interruttori Il più semplice componente di una macchina digitale è l’interruttore, un oggetto fisico dotato di un comando atto a far passare o no corrente elettrica tra due suoi morsetti esterni. Com’è già stato evidenziato a pag. 9, l’interruttore è poi di norma interposto tra un generatore (di tensione o di corrente) ed un carico (una certa disposizione in serie/parallelo di resistenze, capacità ed induttanze). La figura illustra struttura e comporta- mento dell’interruttore ad azionamento manu- Azionamento manuale ale, presente ad es. in tutti gli elettrodomestici. L’interruttore ha un segnale d’ingresso binario (la posizione alta o bassa che l’uomo può manualmente attribuire al contatto mobile) ed un segnale d’uscita pure binario (lo stato elettrico di circuito aperto o di cortocircuito tra i suoi morsetti). L’azionamento manuale va sicuramente bene quando c’è un solo interruttore, ma è assolutamente inadatto a macchine che richiedono l’azionamento coordinato di un numero enorme d’interruttori. Il primo importante contributo alla Azionamento elettromagnetico realizzazione di macchine digitali automatiche è stato dato dall’invenzione del relè, un C D interruttore ad azionamento elettromagnetico. A B Tale componente complesso mette in gioco parti meccaniche (la levetta, la molla), parti elettriche (la bobina) e parti elettroma- gnetiche (l’armatura, il traferro). Φ2 = k i forza d’attrazione 2 al traferro La presenza/assenza di corrente nella bobina consente di azionare contemporanea- gen. di mente più contatti. L’effetto desiderato si corrente i ottiene dopo qualche decina di millisecondi: la velocità operativa è quindi di almeno un ordine di grandezza superiore a quella dell’uomo. 12 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Il problema dell’ingombro e della velocità d’azionamento degli interruttori è stato veramente risolto soltanto quando la tecnologia elettronica ha consentito di controllare con grandezze elettriche, e senza intermediari meccanici, il flusso della corrente in un conduttore. Il componente fondamentale dell’inter- Azionamento elettronico ruttore elettronico è il transistore, o bipolare o unipolare; ai due tipi sono associati differenti interruttore! simboli grafici. Il passaggio o meno della corrente tra Causa valore “alto” Effetto corrente SI due morsetti del transistore (l’effetto) è valore “basso” corrente NO comandato tramite il terzo morsetto o da una corrente, o da una tensione (la causa). bipolare il transistore unipolare Il transistore unipolare è quello che oggi offre le prestazioni migliori: è piccolo Corrente elettrica Tensione (occupa un’area di circa 10-9 mm2), è veloce elettrica (può commutare il suo stato 1010 volte al Corrente Corrente secondo), consuma poco (meno di 10-4 watt) e elettrica elettrica costa pochissimo (10-6 $). Molti e complessi sono i fenomeni che presiedono al funzionamento del transistore Forme d’onda della causa e dell’effetto come interruttore, come si vedrà nei corsi di Forma d’onda Elettronica Applicata. della tensione In questa sede è sufficiente un’osserva- oindella corrente ingresso H zione: non è assolutamente necessario che il L comando d’azionamento e la corrente in uscita tempo abbiano proprio due soli valori. In realtà questi segnali variano in modo Forma d’onda continuo all’interno di un certo intervallo, pur della corrente in uscita H mantenendosi di norma o sopra un certo valore (soglia H), o sotto ad un certo altro valore L tempo (soglia L). Si noti in figura il “ritardo” introdotto dal componente tra causa ed effetto. Descrizione astratta Consideriamo un interruttore manuale che deve accendere/spegnere una lampada e poniamoci l’obiettivo di individuare una descrizione astratta per la struttura ed il comportamento. Esistono due possibili montaggi. astrazione astrazione Struttura Livello fisco Lampada interruttore I Interruttore 220 volt 220 volt lampada L Chiaramente la causa è la posizione d’aperto/chiuso del contatto, l’effetto, la luminosità della lampada. 13 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Facendo due soli esperimenti è possibile individuare la relazione di causa/effetto, in pratica una tabella che riporta lo stato della lampada in corrispondenza d’ogni stato del contatto. astrazione astrazione Struttura Livello fisco Comportamento Lampada interruttore I Interruttore Interruttore Lampada Interruttore Lampada alto spenta alto accesa 220 volt basso accesa 220 volt basso spenta lampada L ANALISI ANALISI la causa è la posizione dell’interruttore la causa è la posizione dell’interruttore l’effetto è l’emissione o meno di luce l’effetto è l’emissione o meno di luce Per eliminare ogni inutile dettaglio tecnologico introduciamo una variabile binaria i per rappresentare la posizione del contatto, impiegando il valore 0 per indicare quando è basso ed il valore 1 per indicare quando è alto. Analogamente introduciamo la variabile L per rappresentare la luminosità della lampada: 0 segnala se è accesa, 1 se è spenta. Con queste posizioni le tabelle degli esperimenti si trasformano nella descrizione di due funzioni della variabile i: L = f1(i) e L = f2(i). i L i L 1 1 1 0 0 0 0 1 astrazione astrazione Struttura Livello fisco Comportamento Lampada Interruttore Interruttore Lampada interruttore I Interruttore Lampada alto spenta alto accesa 220 volt basso accesa 220 volt basso spenta lampada L ANALISI ANALISI la causa è la posizione dell’interruttore la causa è la posizione dell’interruttore l’effetto è l’emissione o meno di luce l’effetto è l’emissione o meno di luce Il comportamento astratto può essere ora rappresentato con un blocco. Usuale è dargli una forma ed un nome particolari per poter agevolmente associare struttura e comportamento. “buffer” “not” i L i L 1 1 1 0 I L I L 0 0 0 1 astrazione astrazione Struttura Livello fisco Comportamento Lampada Interruttore Interruttore Lampada interruttore I Interruttore Lampada alto spenta alto accesa 220 volt basso accesa 220 volt basso spenta lampada L ANALISI ANALISI la causa è la posizione dell’interruttore la causa è la posizione dell’interruttore l’effetto è l’emissione o meno di luce l’effetto è l’emissione o meno di luce Esistono dunque due differenti modalità d’elaborazione di un segnale binario: il buffer (indicato graficamente da un “triangolino”), che copia in uscita il valore d’ingresso, ed il not (indicato da un triangolino seguito un “pallino”) che lo “inverte”. 14 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Nella realizzazione elettronica di un not, oltre al transistore, occorrono una Il “not” elettronico resistenza ed una tensione d’alimentazione +E. I U In ingresso ed in uscita è presente una I U 0 1 tensione elettrica di valore o 0 volt, o +E volt. 1 0 Con ingresso +E l’interruttore è chiuso: sulla resistenza passa dunque la corrente E/R e l’uscita è di conseguenza 0 volt. +E Con ingresso 0 volt l’interruttore è Vu +E volt oppure Vi Vu aperto: in questo caso la corrente non può 0 volt passare e l’uscita è di conseguenza+E. 0 volt Vi 0 +E oppure +E 0 Introducendo il simbolo 0 al posto del +E volt valore 0 ed il simbolo 1 al posto del valore +E, si ottiene la tabella della funzione “not”. Disposizione in serie e in parallelo Ritorniamo ora a livello fisico per individuare il comportamento della disposizione in serie ed in parallelo di due contatti. In figura sono mostrati i due possibili montaggi, le relative tabelle degli esperimenti ed i particolari simboli grafici che evidenziano le elaborazioni a cui sono sottoposti i due segnali d’ingresso I1 ed I2. “and” “and” “or” “or” L’interruttore L’interruttore“complessivo” “complessivo”èèchiuso chiusose sesono sono L’interruttore L’interruttore“complessivo” “complessivo”èèchiuso chiusose seèè chiusi chiusieeI1 I1eeI2 I2 chiuso chiusoooI1 I1ooI2 I2 I1 I1 I2 I2 AB AB I1 I1 I2 I2 AB AB 00 00 00 00 00 00 00 11 00 00 11 11 11 00 00 11 00 11 11 11 11 11 11 11 Contatti Contattiininserie serie Contatti Contattiininparallelo parallelo I1 I1 I2 I2 AB AB I1 I1 I2 I2 AB AB aperto aperto aperto aperto aperto aperto aperto aperto aperto aperto aperto aperto AA BB AA I1 BB aperto aperto aperto chiuso aperto chiuso aperto I1 aperto chiuso chiuso chiuso chiuso chiuso chiuso aperto aperto aperto aperto chiuso chiuso aperto aperto chiuso chiuso I1 I2 chiuso I1 I2 chiuso chiuso chiuso chiuso chiuso chiuso chiuso chiuso chiuso chiuso chiuso I2 I2 I nomi and e or riportati nelle figure precedenti discendono dal ruolo rilevante assunto dall’uno o dall’altro connettivo quando si vuole dare una descrizione a parole del comportamento di queste due altre macchine astratte: “l’interruttore formato da una disposizione in cascata di contatti è chiuso se, e solo se, sono chiusi e I1 e I2”; “l’interruttore formato da una disposizione in parallelo di contatti è chiuso se, e solo se, è chiuso o I1, o I2”. E’ agevole estendere le due precedenti And e Or a più di due ingressi descrizioni anche ai casi in cui sono più di due x1 x1 gli interruttori disposti o in serie o in parallelo. x2 z x2 z x3 x3 Le denominazioni usate sono quindi ancora quelle di and e di or. Anche i simboli grafici sono identici: l’unica differenza è il numero di linee Contatti in serie Contatti in parallelo d’ingresso che occorre indicare. x1 Si noti che tutti i simboli logici che stiamo introducendo hanno una forma che x1 x2 x3 x2 consente di distinguere, senza l’ausilio di x3 z frecce, quali sono i segnali d’ingressi e quale è z il segnale d’uscita. 15 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Una nuova regola elementare d’elabora- zione è indicata nella figura a lato. “ex-or” Nella struttura appaiono due deviatori ( con tale termine si indica un contatto disposto tra tre morsetti in modo da creare sempre una situazione di circuito aperto ed una di cortocircuito). Questo montaggio consente ad esempio di accendere/spegnere un lampadario da due differenti punti della stanza. deviatore D1 deviatore D2 D1 D2 L Il nome ex-or (abbreviazione di exclusi- alto alto spenta lampada L ve or) discende dalla seguente descrizione del basso alto accesa alto basso accesa comportamento: “l’interruttore formato dalla 220 volt basso basso spenta connessione dei due deviatori è chiuso se sono alti o D1 o D2, ma non entrambi”. Con gli interruttori elettronici è agevole realizzare due nuove regole d’elaborazione: il nor (da “not-or”) ed il nand (da “not-and”). Le sottostanti figure evidenziano i comportamenti ed i simboli logici di queste macchine elementari (N.B. 0 ↔ L e 1 ↔ H). “nor” “nand” x1 x1 z z x2 x2 +E +E Vu Vu V1 V2 Vu N.B. Gli interruttori V1 V2 Vu N.B. Gli interruttori V1 in parallelo possono V1 in serie possono L L H L L H L H H essere più di due. essere più di due. L H L V2 V2 H L L H L H H H L H H L Retroazione Comportamenti più complessi si ottengono se s’impiega l’uscita di una rete d’interruttori per azionare uno dei contatti posti al suo interno. In casi di questo genere si dice che la struttura presenta una retroazione. In figura è ad esempio mostrato il cosiddetto relè ad autoritenuta, un montaggio usualmente impiegato per avviare/arrestare un motore elettrico in corrente continua. La rete d’interruttori è formata da un pulsante M (o MARCIA) in parallelo alla disposizione in serie di un pulsante A (o pulsante M ARRESTO) e di un contatto i mosso da un Motore elettrico relè. Quando la rete d’interruttori genera un Alimentaz. cortocircuito, la corrente fluisce nella bobina in interruttore i del relè ed il contatto i è di conseguenza corrente S N continua pulsante A posizionato in basso: il motore ruota. Relè Nella situazione di circuito aperto, indicata in figura, la bobina non è interessata da corrente e la molla mantiene di conseguenza il contatto nella posizione alta: il motore è fermo. I pulsanti di Marcia e Arresto di un motore 16 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Il comportamento del circuito può essere al solito dedotto conducendo esperimenti: le figure illustrano cosa succede premendo prima M e poi A. pulsante M interruttore i Alim. S N pulsante A Corrente I Marcia ! pulsante M Alim. interruttore i S N pulsante A.. Ho inteso ! pulsante M Alim. interruttore i S N pulsante A … e me lo ricordo ! pulsante M Alim. interruttore i S N pulsante A Arrestati ! 17 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Per una descrizione più puntuale del comportamento occorre una tabella. Tre colonne ed otto righe consentono di elencare tutte le possibili posizioni dei tre Relè ad “autoritenuta ”: contatti M, A, i. tabulazione degli esperimenti Una quarta colonna consente di Pulsante M Pulsante A Interruttore i Corrente I Situazione elencare il valore SI/NO della corrente di rilasciato rilasciato aperto NO stabile bobina I in corrispondenza di ciascuna rilasciato rilasciato chiuso SI stabile situazione. premuto rilasciato aperto SI instabile Si noti che la terza e la sesta riga premuto rilasciato chiuso SI stabile indicano situazioni che durano solo un tempo rilasciato premuto aperto NO stabile ∆t (quello che impiega il relè per dare al rilasciato premuto chiuso NO instabile contatto una posizione congruente con la premuto premuto aperto SI inutile corrente presente nella bobina) e che sono per premuto premuto chiuso SI inutile questo dichiarate instabili: a regime è impossi- bile, infatti, che il contatto sia aperto se c’è corrente e che sia chiuso se non c’è corrente. Le ultime due righe della tabella hanno lo stesso effetto del solo comando di MARCIA e sono per questo dichiarate inutili. Le prime due righe sono quelle che realmente interessano: per tutto il tempo in cui entrambi i pulsanti sono mantenuti non attivi è possibile ottenere o corrente NO e quindi motore fermo, o corrente SI e quindi motore in rotazione. Per passare dalla prima alla seconda situazione di stabilità è sufficiente premere e rilasciare M; la transizione opposta si ottiene premendo e poi rilasciando A. Quando i due pulsanti sono “a riposo” il relè con autoritenuta ha dunque la capacità di ricordarsi quale dei due è stato premuto per ultimo. Più avanti vedremo che per dedurre il comportamento del circuito elettrico che controlla il motore è molto più utile ragionare sullo schema logico che gli corrisponde. Tale astrazione si ottiene agevolmente dallo schema elettrico individuando come vengono elaborati i suoi astrazione M I segnali: A 1. il segnale fornito dal pulsante A è elaborato da un NOT (premendolo si genera, infatti, i(t +∆t) = I(t) la situazione di circuito aperto); ∆t 2. l’uscita del NOT è elaborata da un AND Contatti disposti in serie/parallelo ed una retroazione con ritardo ∆t tra la corrente di comando del relè e la posizione del contatto i insieme al segnale generato dal contatto i M azionato dal relè (disposizione in serie di due contatti); A i 3. l’uscita dell’AND è elaborata da un OR Alim. insieme al segnale generato dal pulsante M I (disposizione in parallelo di un contatto e di una rete di contatti). Il disegno della struttura astratta non è però ancora finito. Come sappiamo, lo stato della rete di contatti attribuisce, infatti, o il valore “SI” o il valore “NO” alla corrente I; a sua volta questa ultima determina, dopo un tempo ∆t causato dall’inerzia di tutto il materiale coinvolto, o la situazione di “aperto”, o la situazione di “chiuso” del contatto i. Per completare lo schema logico occorre dunque aggiungere una retroazione tra il segnale I (questa volta la causa) ed il segnale i (il suo effetto). La macchina astratta da mettere in retroazione è un blocco particolare, che chiameremo ritardo e che impiegheremo per modellare tutte le situazioni in cui un segnale è la copia “ritardata” di un altro segnale. 18 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Nella parte bassa della figura a lato è mostrata una struttura formata dalla disposi- Due “nor” in retroazione zione in serie di due NOR elettronici e da una retroazione. Nella parte in alto è indicato il V V3 u corrispondente schema logico. V 1 All’inizio di questo paragrafo si è affermato che la retroazione induce comporta- V 2 menti più complessi di quelli presentati da +E +E interruttori disposti in serie/parallelo. Vu Vediamo di capire meglio in cosa V1 consiste la maggiore complessità. V2 V3 Consideriamo la situazione d’ingresso V2 = V3 = L e V1 = X (per ora indeterminato). Il segnale d’uscita del NOR più a sinistra è H se X = L, L se X = H: in questa situazione il NOR si comporta dunque come un NOT; il NOR più a destra si trova in una situazione analoga. Possiamo dunque concludere che Vu = X (situazione di stabilità) e che sul ramo in retroazione può indifferentemente esserci o H, o L. Il punto è sapere in ogni istante quale valore c’è. A tal fine è necessario considerare Il comportamento dei due NOR in retroazione cosa è successo prima. Supponiamo che la precedente situazione d’ingresso sia stata V2 = H e V3 = L: in tal caso l’uscita del primo NOR H è L, l’uscita del secondo NOR è H è la V2 L L L situazione VU = V1 = H si mantiene finché gli ingressi non cambiano. Quando dunque si H verifica di nuovo V2 = L il segnale in V3 L L L retroazione si mantiene al valore H. H H Se la precedente situazione d’ingresso è invece V2 = L e V3 = H, VU presenta il valore Vu L L L, che mantiene anche quando V3 ritorna a L. Adesso siamo in grado di tirare le conclusioni. Se si “attiva” (valore H) un solo ingresso alla volta e poi lo si “disattiva” si può sapere dal circuito qual è stato: con Vu = H è stato V2, con Vu = L è stato V3. Un’altra considerazione interessante: facendo un rapido controllo si può verificare che i due NOR in retroazione hanno lo stesso comportamento del relè ad autoritenuta. Bit e configurazioni binarie Il primo obiettivo del progetto logico è Variabili binarie lo studio dei comportamenti senza dover mettere in conto il tipo, la disposizione e la Bit (binary digit) - Variabile x tale che: x ∈ B{{0,1}} modalità d’azionamento degli interruttori impiegati per ottenerlo. logica positiva e negativa Abbiamo visto che ciò si ottiene descrivendo le disposizioni “elementari” con Segnali binari: {Presente, Assente} } {High, Low} } simboli grafici particolari ed impiegando poi i {Aperto, Chiuso} } {Luce, Buio} } ecc. simboli 0 e 1 per rappresentare segnali del tipo v tensione v C Contatto C L Lampada L {Presente, Assente}, {High, Low}, {Aperto, 0 alta 1 0 aperto 1 0 accesa 1 Chiuso}, {Luce, Buio}. 1 bassa 0 1 chiuso 0 1 spenta 0 A livello logico il segnale diventa così logica negativa logica positiva una variabile, il bit, che può assumere i soli due valori dell’insieme B: {0,1}. 19 Cap. 1 – Macchine digitali 1.2 – Segnali ed interruttori Si deve però prendere nota che sono due le possibili associazioni tra valori del bit e valori del segnale: considerando ad esempio il caso {H, L} si può stabilire che H sia 1 e L sia 0 (scelta usualmente denominata “logica positiva”), oppure che H sia 0 e L sia 1 (“logica negativa”). In generale un blocco fisico riceve e/o genera più di un segnale. Ipotizziamo che questi segnali siano n ed occupiamoci della rappresentazione astratta dei loro valori. La prima cosa da chiarire è quanti sono i valori possibili. A tal fine consideriamo la stringa di bit b1, b2, ….., bn. Attribuendo ad ogni bit della stringa o il valore 0 o il valore 1 si ottiene una configurazione binaria. Il Calcolo combinatorio sancisce che le disposizioni con ripetizione di m elementi presi a n a n sono mn: le distinte configurazioni binarie di n bit sono dunque 2n. ESEMPIO – Con 2 bit si ottengono 4 configurazioni: 00, 01, 10, 11. Con 3 bit si ottengono 8 configurazioni: 000, 100, 010, 001, 110, 101, 011, 111. Le configurazioni di 4 bit sono 16. Una stringa di 10 bit ha 1024 valori distinti. La seconda cosa da discutere è come rappresentare la sequenza di valori assunti al Diagrammi ad occhio trascorrere del tempo. In figura è mostrato l’uso Andamento di 3 segnali: dei cosiddetti diagrammi ad occhio, figure 010 101 000 … … formate da due linee che ogni tanto procedono in parallelo (intervallo di mantenimento della configurazione indicata all’interno) ed ogni Relazione di causa/effetto di un blocco con 3 tanto s’incrociano (istanti in cui si modifica ingressi e 2 uscite: almeno un segnale). 010 101 000 … … Il progredire della figura da sinistra verso destra indica il trascorrere del tempo. 11 00 01 10 01 ………. Due figure di questo tipo consentono di descrivere una relazione di causa/effetto. Data sheet La tecnologia elettronica ha consentito di assemblare, sotto forma di un unico componente fisico, un numero sempre più grande d’interruttori interconnessi, mettendo così a disposizione dei soprastanti livelli di progettazione componenti primitivi di sempre maggiore complessità. La piccola area di silicio su cui è stata realizzata una rete d’interruttori elettronici è Tecnologia elettronica: chip e contenitori detta chip. Il chip è alloggiato all’interno di un contenitore isolante e scambia con l’esterno, Anno Sigla interruttori/chip tramite un certo numero di piedini metallici, i 1968 SSI 30 segnali elettrici che costituiscono cause ed Standard 1970 MSI 300 1972 LSI 3.000 effetti per la rete interna. Almeno due piedini DIP 1975 VLSI 30.000 PCC sono impegnati dall’alimentazione. PLCC 1993 UVLSI 3.000.000 All’aumentare della complessità interna CERQUAD …… è aumentato il n° di segnali che un chip deve SECC scambiare con l’esterno e ciò ha imposto di modificare più e più volte gli standard industriali a cui attenersi nella realizzazione dei contenitori. La descrizione della struttura, del comportamento e delle norme di corretto impiego di ognuno di tali circuiti complessi (numerosissimi, come numerosissimi sono i Costruttori: visitate un sito!) è fornita da un data sheet. Il progettista di hardware deve oggi saper consultare tale forma di documentazione, per poter scegliere di volta in volta i componenti che rispettano al meglio i vincoli di costo, di velocità e di consumo di potenza della macchina da realizzare. 20 Cap. 2 – Codifica binaria dell’informazione 2.1 – Rappresentazione Capitolo 2: Codifica binaria dell’informazione 2.1 – Rappresentazione Alfabeti e simboli Svariate sono le forme che impieghiamo quotidianamente per scambiarci informazioni. Tutte hanno due attori (la sorgente e la destinazione), un supporto di comunicazione Il modello (il canale) e l’informazione comunicata (il messaggio). Quest’ultimo chiama in causa la modalità di rappresentazione dell’informazione, sorgente canale destinazione quale risulta definita da: messaggio 1) un certo alfabeto (un numero finito di simboli che sorgente e destinazione hanno concordato di impiegare per rappresentare un pari numero d’informazioni elementari), stringa 2) una certa stringa (una giustapposizione in un certo ordine di un certo numero di alfabeto simboli, atta a rappresentare un’informazio- ne più complessa). ESEMPIO – Un testo è formato da caratteri, un numero da cifre, un disegno geometrico da segmenti e da curve, uno spartito da note, ecc. Gli stessi elementi devono quindi Rappresentazione binaria dell’informazione caratterizzare anche le comunicazioni tra l’uomo e la macchina digitale e tra un blocco e l’altro della macchina. L’uso dei segnali binari come “canale” Rappresentazione binaria delle “richieste” e delle “notifiche” comporta controllo  che l’alfabeto impiegato dalla macchina sia sempre e soltanto l’insieme {0,1} }, Rappresentazione binaria dei “comandi” e degli “stati”  che qualsiasi informazione sia rappresen- tata da una stringa di bit. percorso dei dati Un aspetto cruciale della descrizione è Rappresentazione binaria dei “dati” e dei “risultati” dunque la regola che attribuisce un ben preciso significato ad ogni configurazione binaria ricevuta, elaborata e restituita da ogni componente astratto della macchina. La codifica binaria dell’informazione La rappresentazione binaria dell’in- formazione compete al progetto logico, ove è necessario descrivere in termini di bit ogni freccia d’ingresso e d’uscita d’ogni blocco. Ai livelli più alti è invece sempre più considerata un dettaglio da mascherare: a livello architettonico si vuole, infatti, poter parlare di istruzioni, dati e risultati senza codice doversi ricordare lunghe stringhe di bit; a livello applicativo, analogamente, si vuo

Use Quizgecko on...
Browser
Browser