Algebre booleane e progetto logico dei calcolatori digitali: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
fix tags
fix tags
Riga 16:
La principale applicazione dei calcolatori analogici si ha nello studio di sistemi descrivibili per mezzo di equazioni differenziali ordinarie ed equazioni differenziali alle derivate parziali.<br/>
Vengono altresì usati per la risoluzione di sistemi di equazioni algebriche lineari (simultanee) e per il calcolo delle [[w:radici di polinomi|radici di polinomi]].<br/>
Il regolo calcolatore, inventato nel secolo XVII, è il primo esempio di calcolatore analogico sul quale, ad es., i logaritmi sono rappresentati da lunghezze ad essi proporzionali (da cui il nome analogia).<bebr/>
Questo procedimento presenta però notevoli difficoltà se si lavora su dei fenomeni discontinui, ed altresì presenta l 'inconveniente che la precisione dei calcoli è limitata da quella degli organi utilizzati nel calcolatore.<br/>
I vantaggi più interessanti dei modelli analogici sono il tempo relativamente breve necessario per giungere alla soluzione del problema, ed inoltre la possibilità, una volta introdotto il problema nell'elaboratore, di esaminare in pochissimo tempo, le soluzioni corrispondenti ad un vasto campo di valori dei parametri.<br/>
Riga 32:
I problemi di navigazione, bellici, commerciali, con conseguente necessità di risolvere calcoli di notevole mole, suscitarono, a partire dal XVII, e nel XVIII secolo, un violento impulso per lo sviluppo delle "macchine" da calcolo.<br/>
Nel 1620l'inglese E.Gunter ideava il regolo calcolatore; e dello stesso periodo erano le invenzioni di B.Pascasl (1642) e di W.Leibniz (1651): il primo ideava unamacchina addizionatrice , il secondo una moltiplicatrice; macchine funzionanti per mezzo di ruote azionate manualmente ma con riporto automatico.<br/>
Altro tentativo degno di essere menzionatoè quello di G.Poleni (1709) veneziano, che ideo una "macchina per calcolare", di cui realizzo un prototipo funzionante.<bebr/>
A Charles- Xavier Thomas de Colmar va il merito di aver costruito (1820) la prima calcolatrice venduta su scala commerciale.<br/>
Mentre un altro francese, Falcon, un secolo prima, aveva ideato il sistema delle schede perforate<br/>
Riga 150:
::::::::<math>X_b=\sum_{k=0}^{k=n} x_kb^k</math>
 
Ogni simbolo x<sub>n</sub>...x<sub>k</sub>....x<sub>0</sub> è uno fra i b simboli utilizzati per rappresentare i numeri da 0 a b-1.<br/>
Data la rappresentazione x<sub>n</sub>x<sub>{n-1}</sub>.....x<sub>0</sub> la sommatoria fornisce X univocamente, e inversamente si può dimostrare che la rappresentazione x<sub>n</sub>x<sub>{n-1}</sub>....x<sub>0</sub> di un intero è unica.<br/>
 
Riga 431:
::::::<math>X_i=X_{8i+1)p-1}...X_{(i+1)p-1}.....X_{ip}</math><br />
:::::::::::<math>(i=0,1...k)\qquad (l=1...p)</math><br />
cioè raggruppando le cifre binarie a gruppi di '''p''' a partire da destra.<br/>
Segue che:<br/>
:::::<math>N=\sum_{i=0}^{i=k}X_i 2^{ip}=\sum_{i=0}^(i=k)X_i (2^p)^i</math><br/>
Riga 844:
 
 
4.6.''funzioni di due variabili.<brfbr/>
Si sono definite in precedenza le due funzioni di due variabili, chiamate '''X*Y''' e '''X+Y''', mediante l'uso di una tavola nella quale viene rappresentato il valore della funzione pe rogni combinazione dei valori delle due variabili '''X''' e '''Y'''. Si può usare questo procedimento per definire altre funzioni di 2 variabili. per fare questo si consideri ancora la lista delle combinazioni di ingresso e si consideri il fatto che, per ognuna di esse , si può scegliere di attribuire come valore di uscita il valore '''1''' o il valore '''0'''. Poiche esistono 4 combiunazioni di ingresso, a ciascuna delle quali si può fare corrispondere 2 valori, in conseguenza esistono '''2<sup>4</sup>=16''' funzioni possibili di 2 variabili.<br/>
[[File:Funzioni di 2 variabili.png|left]]<br/>
Riga 1 075:
 
E' il nome dato alla funzione '''F6''': si confrontino le due tavole della verità di '''P⊕Q''' e '''P v Q'''<br/>
Si noti che '''P ⊕ Q''' ha il valore '''1''' quando '''P''' e '''Q''' hanno valori logici differenti e '''0''' altrimenti.<bebr/>
Al contrario la proposizione '''P v Q''' assume il valore '''1''' anche per '''P=1''' e '''Q=1'''<br/>
 
Riga 1 370:
::::::::::<math>A+(B\cdot C)\ \ \ \ \ A\cdot (B+C)</math>
:::::::::<math>A\cdot \bar B+\bar A\cdot B\ \ \ \ \ \ \ (A+\bar B)\cdot (\bar A+B)</math><br/>
Il fatto che gli assiomi di un'algebra di Boole si raggruppino in coppie duali costituisce già una particolarità interessante. Ma più interessante è la considerazione che se ne trae sotto la forma detta del '''Principio di dualità'''. Si consideeri un terorema valido su un'algebra di Boole; per dimostrarlo si deve applicare una successione di operazioni che, in ultima analisi, è una applicazione , in tappe successive, degli assiomi. Se ora si sostituisce ad ognuna di queste operazioni intermedie l'0perazione duale, si otterrà, ovviamente, il risultato duale; si potrà quindi fare a meno di dimostrare il duale di un teorema.<barbr/>
Il principio di dualità si può cosi enunciare:<br/>
''''Ad ogni teorema , vero in un'algebra di Boole, corrisponde un teorema duale che è altrettanto vero''''.<br/>
Riga 1 717:
[[File:Tabella rettangolare.png|right]]<br/>
Volendo riscrivere la tabella , questa volta in forma rettangolare procediamo prima nel seguente modo:<br/>
Consideriamo , ad esempio, la '''5<sup>a</sup>''' colonna. Ad essa corrisponde l'assegnazione '''(x<sub>1</sub>, x<sub>2</sub>, x<sub>3</sub>)=(100)''' ed alla '''2<sup>a</sup>''' riga corrisponde l'assegnazione '''(x<sub>4</sub> x<sub>5</sub>9=(01)'''. Se ora consideriamo contemporaneamente le due assegnazioni, esse corrispondono all'unica '''(x<sub>1</sub>, x<sub>2</sub>, x<sub>3</sub>, x<sub>4</sub>, x<sub>5</sub>)=(10001)'''. A tale combinazione , nella tabella '''(a)''', corrisponde il valore '''1''' (della funzione); Nella tabella '''b''' (a fianco), allora, scriveremo all'intersezione della '''5<sup>a</sup>''' colonna con la '''2<sbrbr/>
up>a</sup>''' riga il valore '''1'''.
 
Riga 1 845:
 
::<math>m_{001}=m_1=x_1^0 x_2^0 x_3^1=\bar x_1\bar x_2 x_3</math><br/>
::<math>m_{101}=m_5=x_1^1 x_2^0 x_3^1=x_1 \bar x_2 x_3</math><barbr/>
::<math>m_{111}=m_7=x_1 x_2 x_3</math>
 
Riga 2 164:
In maniera analoga si ha :
 
:::::<math>x_1/x_2/.../x_n=\bar{x_1}+\bar{x_2}+...+\bar{x_n}</math><br//>
 
ponendo <math>x_i=\bar{A_i}</math><br/>
Riga 3 210:
:<math>2.8\ Contatori\ decimali.</math><br/>
I contatori decimali sono circuiti che accettano degli impulsi in input, li contano e ogni volta che la somma totale risulti essere '''10''', ritornano allo stato iniziale emettendo sulla linea di uscita un impulso di riporto (dettom carry o overflow).<br/>
Tali contatori di capacità '''10''' vengono chiamati '''decadi'''.<br/>
Interconnettendo '''m''' elementi decimali di conteggio di questo tipo, in modo che l'uscita di un elemento '''J-1''' serva come ingresso all'elemnto '''J''', si può realizzare un contatore di capacità '''10<sup>m</sup>.<br/>
Per codificare i 10 stati interni si usano generalmente codifiche di tipo binario con almeno '''4''' digit binari.<br/>
Riga 3 456:
Come esempio, consideriamo la somma aritmetica tra due numeri binari entrambi di cinque bit: siano essi conservatinei registri di shift A e B (fig.3.2.5). L'addizione avviene quando '''P<sub>1</sub>''', proveniente dalla unità di controllo, assume il valore '''1'''.<br/>
[[File:Diagramma logico addizonatgore seriale binario.png|right]]<br/>
Nella addizione seriale , coppie di bits corrispondenti dei due numeri vengono sommati allo stesso istante, quindi i due numeri vengono fatti scorrere del registro a trasferimento dagli impulsi di orologio '''P<sub>1</sub>, P<sub>2</sub>, P<sub>3</sub>, P<sub>4</sub> e P<sub>5</sub>'''.<br/>
Il trasferimento può essere espresso dalla seguente formula simbolica:
 
Riga 3 666:
La seguente (3.4.2) è la rappresentazione di una matrice di commutazione ad albero con circuiti AND.
[[File:Matrice di commutazione adf albero con circuiti AND.png|center]]<br/>
Nelle equazioni (3.4.9), le parentes onde e quadre indicano anche la maniera di connettere i blocchi di '''AND''' di fig.3.4.2.<br/>
Per '''n=2''', sono necessari '''2<sub>3</sub>'input per gli '''AND'''-<br/>
Per '''n=3''', sono richiesti per gli AND 2<sub>3</sub> + 2<sub>4</sub> inputs.<br/>
Riga 4 015:
{|
|-
! Istruzioni.....................................................<br/>
!! Operazioni richieste............... !! Operazioni ausiliarie
|-