Was there life before computer?

gli strumenti di calcolo prima dell'era digitale


Il sistema binario


Una serie di 8 trigrammi e 64 esagrammi, analogo ai sistemi binari con 3 e 6 bit, era conosciuta nella Cina antica attraverso il testo classico "I Ching". Lo Yin rappresentava lo zero e lo Yang l'uno, ma non risulta che i cinesi avessero intuito le potenzialità matematiche di questa disposizione. Altre tracce di un sistema a base 2 si trovano nell'opera indiana "Chandas-shastra" del IV° secolo a.C.

Il moderno sistema binario venne inventato nel 1679 da Leibniz che, al corrente degli studi cinesi, notò come gli esagrammi corrispondessero ai numeri binari da 0 a 111111. Al tempo non si poteva costruire un calcolatore basato su questo "linguaggio macchina" e solo nel 1936 l'ingegnere tedesco Konrad Zuse, anch' egli avanti rispetto ai tempi, costruì nel salotto di casa il primo calcolatore binario, lo Z1 interamente meccanico e composto da oltre 30.000 pezzi.

I primi super calcolatori funzionavano in modo decimale, sistema poco efficiente sulle macchine, mentre il calcolatore di Zuse accettava un input decimale, elaborava in binario e restituiva il risultato in decimale: esattamente la stessa interfaccia di oggi.

Nel 1941 nacque lo Z3, elettromeccanico e totalmente programmabile. Venne distrutto in un bombardamento ed il primato di primo computer binario passò al gigantesco "ENIAC" americano del 1941: 18.000 valvole per 30 tonnellate di peso, dove i dati venivano inseriti con le schede già inventate nel 1801 da Jacquard per programmare i suoi telai. Vediamo ora brevemente come si calcola in binario, scrivendo 80.167 intendiamo dire: 8 volte 10.000 + 0 volte 1.000 + 1 volta 100 + 6 volte 10 + 7 volte 1.

    10.000   1.000   100   10   1

            8         0       1     6   7

Il sistema binario è organizzato nello stesso modo, solo che invece di potenze di 10 (1, 10, 100, 1.000, ecc.) si utilizzano le potenze di 2: 1, 2, 4, 8, 16, 32, 64,128, ecc. Capito adesso perché le memorie dei computer hanno valori di 64kb, 128kb, 256kb?

Col sistema decimale scrivere un numero significa indicare quante volte si ha bisogno dell'intestazione di una data colonna per formarlo. Per ogni colonna si può andare da 0 a 9 volte, non di più perché in questo caso aggiungeremmo una unità nella colonna a sinistra. Col sistema binario dobbiamo invece decidere se usare, o non usare, la potenza di 2 che si trova come intestazione di ciascuna colonna. Non possiamo prendere, per esempio, più di una volta l'intestazione della prima colonna da destra, 1, perché si produrrebbe una unità nella colonna 2, subito a sinistra. Proviamo a riscrivere 80.167:

65.536 32.768 16.384 8.192 4.096 2.048 1.024 512 256 128 64 32 16 8 4 2 1

        1         0         0       1       1        1      0     0      0   1   1   0   0 0 0 1 1

Scriveremo 1 sotto 65.536 in quanto è la prima potenza di due più piccola di 80.167 e dopo dobbiamo esprimere 14.631 (80.167 - 65.556), che è più piccolo delle intestazioni delle due colonne seguenti, (32.768 e 16.384), per cui scriveremo zero sotto di esse. Scriveremo 1 sotto 8.192 in quanto è più piccolo di 14.631 e così via fino ad ottenere: 65.536 + 8.192 + 4.096 + 2.048 + 128 + 64 + 2 + 1 = 80.167. Per addizionare la regoletta è: 0+0 = 0; 1+0 = 1; 1+1 = 10. Proviamo con 19+13 = 32:

    10011 +

      1101 =

  --------------

  100000

Nella colonna più a destra il risultato della somma è 2 (scritto 10): si scrive zero nella riga del risultato e si riporta uno. Questo riporto di uno più l'uno del primo addendo della seconda riga da destra dà di nuovo "scrivo zero e riporto uno" che continua ad essere trasmesso verso sinistra finché va a produrre l'unico uno del risultato. La moltiplicazione si esegue come nel sistema decimale ed è sufficiente sommare il moltiplicando, facendolo scorrere verso sinistra in base al valore del moltiplicatore.

Questa è una matematica perfetta per i processori che la possono esprimere con un unico simbolo: presenza di corrente = 1. Gli zeri li abbiamo messi noi per tenere occupate le posizioni vuote, il processore non riscontra corrente e le ignora. Leibniz era un genio.

Il computer di Zuse

Lo Z1, il primo computer binario

Ringrazio l'Ing. Roberto Vacca che nel suo libro "Come imparare più cose e vivere meglio" spiega il sistema binario in modo chiaro e comprensibile a tutti.




Nicola Marras 2008

      

Valid CSS 3!      Valid HTML 4.01!

Se visualizzate questa pagina priva del menù laterale
di navigazione cliccate sul banner per rientrare nel sito