fisica dell’informazione 1 elementi di architettura degli ... · elementi di architettura degli...

36
Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell Fisica dell informazione informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Prof. Luca Gammaitoni Gammaitoni Informazioni sul corso: Informazioni sul corso: www.fisica. www.fisica. unipg unipg. it/gammaitoni/fisinfo it/gammaitoni/fisinfo

Upload: vunhu

Post on 18-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Corso di Laurea in FISICALaurea Specialistica in Informatica

Fisica dellFisica dell’’informazioneinformazione

1 Elementi di Architettura deglielaboratori

Prof. Luca Prof. Luca GammaitoniGammaitoni

Informazioni sul corso:Informazioni sul corso:

www.fisica.www.fisica.unipgunipg..it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Corso di Laurea in FISICAFisica dellFisica dell’’informazioneinformazione

Elementi di architetturaElementi di architetturadegli elaboratoridegli 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

In base due possono essere effettutate le normalioperazioni aritmetiche, utilizzando gli algoritmi usuali

Per esempio la somma tra due numeri:

Automatizzare il calcolo

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

Disciplina nota come Architettura dei calcolatoriArchitettura dei calcolatori

Costruire un sommatore

Tavola di verità della somma a 1 bit

Operatori logici, cenni di logica Operatori logici, cenni di logica booleanabooleana

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à

ANDORNOT

Vediamo qualche esempio….

Algebra di Boole: ….. George Boole (1815 - 1864)

ANDORNOT

Se I1 = 1 ------> NOT (I1) = 0 Se I1 = 0 ------> NOT (I1) = 1

Se I1 = 0 e I2 = 1 ------> I1 AND I2 = 0Se I1 = 1 e I2 = 1 ------> I1 AND I2 = 1Se I1 = 0 e I2 = 1 ------> I1 OR I2 = 1

ANDORNOT

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) = ?

ANDORNOT

Reti combinatorie

Algebra di Boole

Problema:Problema: data una tavola di verità come determinare l’espressione algebrica che la soddisfa

Data una tavola di verita:1. si considerano le righe delle uscite corrispondenti a valori 12. per queste righe si fa l’AND tra gli elementi che costituiscono gli ingressi negando

quelli che hanno 0 in ingresso3. si fa l’OR dei termini cosi ottenuti.

Ci sono diverse tecniche ….

Esempio: il semi-sommatore

Semi-sommatore

S = (B1’・B2) + (B1・B2’)

R = B1・B2per il Riporto …..

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

SommatoreFull-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 = Rin’(B1’• B2)+ Rin’(B1• B2’)+ Rin(B1’• B2’)+ Rin(B1• B2)R = Rin’(B1’• B2)+ Rin(B1’• B2)+ Rin(B1• B2’)+ Rin(B1• B2)

Si può minimizzare?

S = Rin’(B1’• B2)+ Rin’(B1• B2’)+ Rin(B1’• B2’)+ Rin(B1• B2)R = Rin’(B1’• B2)+ Rin(B1’• B2)+ Rin(B1• B2’)+ Rin(B1• B2)

Raccogliendo a fattor comune si ha:

S = Rin’ (B1’B2+B1B2’)+ Rin(B1’B2’+B1B2)R = (Rin’+ Rin)(B1B2)+ Rin(B1’B2+B1B2’)

Concentriamo la nostra attenzione su S, ed in particolare sulsecondo termine Rin(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 Rin(B1B2’ + B1’B2)’ e così:

S = Rin’ (B1’B2+B1B2’)+ Rin(B1’B2 + B1B2’)’Utilizzando la porta logica OR esclusivo, con B1⊕B2 = (B1’B2)+(B1B2’), siottiene:

S = Rin’ (B1⊕B2)+ Rin(B1⊕B2)’= Rin ⊕ (B1⊕B2)

Veniamo ora al termine che fornisce il riporto:

R = (Rin’+ Rin)(B1B2)+ Rin(B1’B2+B1B2’)

Il primo termine si semplifica osservando che

(Rin’+ Rin) = 1

mentre il secondo termine altro non è che Rin(B1⊕B2).

Quindi

R = B1B2+ Rin(B1⊕B2)

Full Adder:S = Rin ⊕ (B1⊕B2)R = B1B2+ Rin(B1⊕B2)

La rete combinatoria per il Full Adder:

Dal modello ai dispositivi: il transistor

Se Vin > 0.5V allora Vout = 0 VSe Vin < 0.5V allora Vout = 5 V

1944 (Bardeen, Brattley e Shotky)

Dal modello ai dispositivi: il transistor

Se Vin > 0.5V allora Vout = 0 VSe Vin < 0.5V allora Vout = 5 V

1944 (Bardeen, Brattley e Shotky)

Se Vin > 0.5V (stato di Input=1) allora Vout = 0 V (stato di Output=0)Se Vin < 0.5V (stato di Input=0) allora Vout = 5 V (stato di Output=1)

NOT gate:

Vediamo una interessante combinazione…

NAND gate:

Alla fine ne restò uno solo

NOT gate:

AND gate:

OR gate:

Verificare …

Somma a più bitEsempio: uno schema che mostra il funzionamento di undispositivo 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) prendeil nome di bit di overflow.Se questo bit è diverso da 0 significa che il risultato della somma non può essere contenutoin tre bit (condizione detta per l’appunto di overflow).

Reti combinatorie: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 chiameremosseequenzialiquenziali.

In un dispositivo sequenziale il valore che si ottiene all’uscita in un dato istantedipende sia dal valore che si trova all’ingresso in quello stesso istante che dallo statoprecedente 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 micciavalore: SI, NO

Uscita: esplulsione proiettilevalore: 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 statodel cannone:

Ingresso: NO -----------------------> Uscita: NOIngresso: SI -----------------------> Uscita: SI se STATO = caricoIngresso: 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 trovaall’ingresso (miccia accesa o miccia spenta) in quello stessoistante che dallo stato precedente del dispositivo stesso(cannone carico, scarico o fuori uso).

Un modo per descrivere questo comportamento è quello didire che il dispositivo conserva memoria della storiaprecedente, ovvero ha una memoria sua interna chedetermina lo stato attuale del dispositivo.

Il termine sequenziale, associato a questa classe di dispositivista proprio ad indicare che il risultato degli ingressi dipendedalla sequenza delle azioni a cui è stato sottopostoprecedentemente 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

un dispositivo sequenziale caratterizzato daun certo numero di stati n, prende anche ilnome di:

Macchina a Stati FinMacchina a Stati Finiititi (FSM)o “Automa a Stati Finiti”.

Definizione

Si può dimostrare che si può sempre trasformare una macchina di Moore inuna di Mealy e viceversa. Tuttavia il passaggio dalla macchina di Mealy allamacchina di Moore comporta in genere un amumento del numero degli statidella macchina stessa.

Due tipologie di FSM sono particolarmente rilevanti per chi si occupa diarchitettura dei computer:la macchina di Moore e la macchina di Mealy.

Una FSM è una macchina di macchina di MooreMoore:se, ad ogni istante, il valore delle uscite dipende esclusivamente dalvalore dei suoi stati in quell’istante senza dipendere dal valore degliingressi in quegli istanti.

Una FSM è una macchina di macchina di MealyMealy:se, ad ogni istante, il valore delle uscite dipende sia dal valore dei suoistati in quell’istante che dal valore degli ingressi, in quegli stessi istanti.