Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo
Corso di Laurea in FISICA Fisica dell informazione Elementi di architettura degli elaboratori Non è degno di uomini eccellenti perdere ore come schiavi e faticare su calcoli che potrebbero essere affidati a chiunque se venissero usate le macchine. Gottfried Wilhelm Leibnitz
Automatizzare il calcolo In base due possono essere effettutate le normali operazioni aritmetiche, utilizzando gli algoritmi usuali Per esempio la somma tra due numeri:
Vediamo nel dettaglio la somma a 1 bit: B1 + B2 = S 0 + 0 = 0 0 + 1 = 1 1 + 1 = 10 Tavola di verità della somma a 1 bit
Costruire un sommatore Tavola di verità della somma a 1 bit Disciplina nota come Architettura dei calcolatori
Operatori logici, cenni di logica booleana La somma non è la sola operazione che si può fare sui bit. Oltre alle operazioni algebriche esistono le operazioni LOGICHE Operazione LOGICA NOT Tavola di verità
Operazione LOGICA OR Tavola di verità
Operazione LOGICA AND Tavola di verità
Algebra di Boole:.. George Boole (1815-1864) NOT OR AND Vediamo qualche esempio.
NOT OR AND Se I1 = 1 ------> NOT (I1) = 0 Se I1 = 0 ------> NOT (I1) = 1 Se I1 = 0 e I2 = 1 ------> I1 AND I2 = 0 Se I1 = 1 e I2 = 1 ------> I1 AND I2 = 1 Se I1 = 0 e I2 = 1 ------> I1 OR I2 = 1
NOT OR AND Se I1 = 0 e I2 = 1 ------> (I1 OR I2) AND I1 =? Se I1 = 1 e I2 = 0 ------> (I1 AND I2) OR (I1 OR I2) =? Se I1 = 1 e I2 = 1 ------> (I1 OR I2) AND (I1 OR I2) =?
NOT OR AND Reti combinatorie
Algebra di Boole
Problema: data una tavola di verità come determinare l espressione algebrica che la soddisfa Ci sono diverse tecniche. Data una tavola di verita : 1. si considerano le righe delle uscite corrispondenti a valori 1 2. per queste righe si fa l AND tra gli elementi che costituiscono gli ingressi negando quelli che hanno 0 in ingresso 3. si fa l OR dei termini cosi ottenuti. Esempio: il semi-sommatore
Semi-sommatore S = (B1 B2) + (B1 B2 ) per il Riporto.. R = B1 B2
Semi-sommatore S = (B1 B2) + (B1 B2 ) A volte, per amor di semplicità di rappresentazione, si introduce una nuova porta logica che descrive il funzionamento dell uscita S. Tale porta si chiama OR esclusivo (XOR) e si indica con B1 B2 S = B1 B2 = (B1 B2) + (B1 B2 )
Semi-sommatore S = B1 B2 R = B1 B2
Sommatore Full-adder S =? R =? Per determinare l espressione algebrica corrispondente (o la sua rappresentazione schematica) possiamo applicare i tre passi della nostra regola per ottenere: S = R in (B1 B2)+ R in (B1 B2 )+ R in (B1 B2 )+ R in (B1 B2) R = R in (B1 B2)+ R in (B1 B2)+ R in (B1 B2 )+ R in (B1 B2)
S = R in (B1 B2)+ R in (B1 B2 )+ R in (B1 B2 )+ R in (B1 B2) R = R in (B1 B2)+ R in (B1 B2)+ R in (B1 B2 )+ R in (B1 B2) Si può minimizzare?
Raccogliendo a fattor comune si ha: S = R in (B1 B2+B1B2 )+ R in (B1 B2 +B1B2) R = (R in + R in )(B1B2)+ R in (B1 B2+B1B2 ) Concentriamo la nostra attenzione su S, ed in particolare sul secondo termine R in (B1 B2 +B1B2). Applicando De Morgan si ha: (B1 B2 )+(B1B2) = ((B1 B2 ) (B1B2) ) e applicando ancora De Morgan entro le singole parentesi: ((B1 B2 ) (B1B2) ) = ((B1+B2) (B1 +B2 )) = = (B1B1 +B1B2 +B2B1 +B2B2 ) Poiché B1B1 = B2B2 = 0, possiamo scrivere il secondo termine di S come R in (B1B2 + B1 B2) e così: S = R in (B1 B2+B1B2 )+ R in (B1 B2 + B1B2 ) Utilizzando la porta logica OR esclusivo, con B1 B2 = (B1 B2)+(B1B2 ), si ottiene: S = R in (B1 B2)+ R in (B1 B2) = R in (B1 B2)
Veniamo ora al termine che fornisce il riporto: R = (R in + R in )(B1B2)+ R in (B1 B2+B1B2 ) Il primo termine si semplifica osservando che (R in + R in ) = 1 mentre il secondo termine altro non è che R in (B1 B2). Quindi R = B1B2+ R in (B1 B2)
Full Adder: S = R in (B1 B2) R = B1B2+ R in (B1 B2) La rete combinatoria per il Full Adder:
Dal modello ai dispositivi: il transistor 1944 (Bardeen, Brattley e Shotky) Se V in > 0.5V allora V out = 0 V Se V in < 0.5V allora V out = 5 V
Dal modello ai dispositivi: il transistor 1944 (Bardeen, Brattley e Shotky) Se V in > 0.5V allora V out = 0 V Se V in < 0.5V allora V out = 5 V NOT gate: Se V in > 0.5V (stato di Input=1) allora V out = 0 V (stato di Output=0) Se V in < 0.5V (stato di Input=0) allora V out = 5 V (stato di Output=1)
Vediamo una interessante combinazione NAND gate:
Alla fine ne restò uno solo NOT gate: AND gate: OR gate: Verificare
Somma a più bit Esempio: uno schema che mostra il funzionamento di un dispositivo sommatore per numeri a 3 bit. I numeri addendi sono: A1A2A3 e B1B2B3 (per esempio 011 + 100) L ultimo bit di riporto Cr (quello più a sinistra o, come si dice quello più significativo) prende il nome di bit di overflow. Se questo bit è diverso da 0 significa che il risultato della somma non può essere contenuto in tre bit (condizione detta per l appunto di overflow).
Reti combinatorie: L uscita di una rete combinatoria è funzione dei propri ingressi. L uscita varia istantaneamente al variare degli ingressi. Esiste una diversa classe di dispositivi che chiameremo sequenziali. In un dispositivo sequenziale il valore che si ottiene all uscita in un dato istante dipende sia dal valore che si trova all ingresso in quello stesso istante che dallo stato precedente del dispositivo stesso. Esempio: la cella di memoria di un computer
Esempio: una Bombarda Il cannone può trovarsi in diversi stati possibili, 1) carico 2) scarico 3) fuori servizio
Esempio: una Bombarda Analogia: Ingresso: accensione miccia valore: SI, NO Uscita: esplulsione proiettile valore: SI, NO Non posso costruire una tavola di verità senza tenere conto dellostato del cannone. Infatti il valore dell uscita dipende non soltanto dall ingresso ma anche dallo stato del cannone: Ingresso: NO -----------------------> Uscita: NO Ingresso: SI -----------------------> Uscita: SI se STATO = carico Ingresso: SI -----------------------> Uscita: NO se STATO <> carico
In sintesi: Il valore che si ottiene all uscita in un dato istante (cioè quando serve sparare) dipende sia dal valore che si trova all ingresso (miccia accesa o miccia spenta) in quello stesso istante che dallo stato precedente del dispositivo stesso (cannone carico, scarico o fuori uso). Un modo per descrivere questo comportamento è quello di dire che il dispositivo conserva memoria della storia precedente, ovvero ha una memoria sua interna che determina lo stato attuale del dispositivo. Il termine sequenziale, associato a questa classe di dispositivi sta proprio ad indicare che il risultato degli ingressi dipende dalla sequenza delle azioni a cui è stato sottoposto precedentemente il dispositivo stesso.
Come lo si può realizzare con i dispositivi noti? Utilizzando un trucco: il feedback Flip-Flop SR, sincrono
Flip-Flop SR, sincrono
Flip-Flop tipo D la configurazione proibita è impedita a priori e l ingresso D viene memorizzato all uscita Q, durante ogni fase abilitata dal clock
Definizione un dispositivo sequenziale caratterizzato da un certo numero di stati n, prende anche il nome di: Macchina a Stati Finiti (FSM) o Automa a Stati Finiti.
Due tipologie di FSM sono particolarmente rilevanti per chi si occupa di architettura dei computer: la macchina di Moore e la macchina di Mealy. Una FSM è una macchina di Moore: se, ad ogni istante, il valore delle uscite dipende esclusivamente dal valore dei suoi stati in quell istante senza dipendere dal valore degli ingressi in quegli istanti. Una FSM è una macchina di Mealy: se, ad ogni istante, il valore delle uscite dipende sia dal valore dei suoi stati in quell istante che dal valore degli ingressi, in quegli stessi istanti. Si può dimostrare che si può sempre trasformare una macchina di Moore in una di Mealy e viceversa. Tuttavia il passaggio dalla macchina di Mealy alla macchina di Moore comporta in genere un amumento del numero degli stati della macchina stessa.