Dai bit ai trit

“Si dà per scontato che i calcolatori debbano necessariamente operare mediante elementi a due stati e rappresentare i dati in codice binario. Esistono ragioni storiche o teoriche per questa scelta o è solo una soluzione tecnica fra le tante possibili?”, si domandava qualche anno addietro Silvio Hénin dalle pagine di Mondo Digitale.

La notazione binaria affonda le sue radici in un manoscritto di Leinniz del 1679 nel quale si dimostrava che il sistema binario poteva rappresentare una valida alternativa al sistema decimale.

Nei secoli successivi la numerazione binaria fece qualche episodica comparsa nelle ricerche dei matematici senza mai entrare nella pratica dell’aritmetica. Tutte le macchine da calcolo antecedenti al moderno calcolatore, dalla Pascalina del diciassettesimo secolo alle calcolatrici meccaniche del novecento, mantennero la notazione decimale.

Sarà l’uso della corrente elettrica a dare nuova linfa alla numerazione binaria grazie alla stretta somiglianza, concettuale e strutturale, tra circuiti elettrici a relè e logica di Boole basata sui due valori vero-falso. Tale binomio confermò che qualunque operazione logico/aritmetica poteva essere effettuata con circuiti elettrici a due stati in grado di simulare i connettivi logici elementari – la congiunzione AND, la disgiunzione inclusiva OR e la negazione NOT.

A sancire il definitivo successo del sistema binario fu il lavoro di organizzazione teorica e tecnica per la progettazione di calcolatori di John von Neumann. “Da allora la scelta del binario non fu quasi mai messa in discussione”.

Tuttavia, il sistema binario, dal punto di vista degli algoritmi di calcolo, non sarebbe neppure il più efficiente. Ad esempio, i numeri negativi devono essere rappresentati con un bit dedicato al segno, ma questo causa un’asimmetria nel range di numeri utilizzabili o produce due diversi valori per lo zero. Nel sistema binario, inoltre, la sottrazione deve essere trasformata in addizione con il complemento del sottraendo, obbligando ad uno o due passi in più rispetto all’addizione, a meno di non ricorrere ad un organo aggiuntivo dedicato a questa operazione. A questo va aggiunto che per rilevare e correggere gli errori dovuti a malfunzionamenti accidentali, i dati sono rappresentati con codici ridondanti in cui ogni cifra decimale è scritta con più cifre binarie dello stretto necessario. Inoltre, per i calcoli scientifici, i numeri sono rappresentati nella notazione detta “in virgola mobile”, ottenuta usando due codici adiacenti, uno per la mantissa e l’altro per l’esponente.

L’idea di costruire calcolatori usando sistemi di numerazione ternari trovò concretizzazione nel progetto portato avanti all’università di Mosca. Nell’intento di costruire un calcolatore che fosse più efficiente e avesse minor consumo di energia, venne alla luce un calcolatore ternario chiamato SETUN che operava su composti di 18 cifre ternarie denominate trit. Le ricerche di alternative al sistema binario non si sono estinte, anzi l’interesse verso opportunità di questo tipo registrano livelli di attenzione sempre crescenti.

Le ricadute positive di un sistema basato su logiche multi valore (anziché binarie) sarebbero notevoli. In primo luogo, potendo trasmettere contemporaneamente più di un bit su ogni linea trasmissiva, per esempio sfruttando tre (o più) stati elettrici invece dei due attuali, il numero delle linee diminuirebbe a vantaggio di dimensioni, velocità e minor consumo.

Nel settore delle memorie, poter immagazzinare più di un bit per ogni cella, grazie all’utilizzo di più livelli di potenziale, è vantaggioso sia in termini di velocità di accesso che di dimensioni.

Domenico Signorelli


Silvio Hénin, Perché i calcolatori sono binari?, Mondo Digitale n° 2, giugno 2007 

Commenti

commenti