Dalla teoria all’hardware: come ti codifico l’informazione

Un calcolatore elettronico è sicuramente una macchina potente e complessa. Tuttavia essa si basa su principi abbastanza elementari. L’elementarità, dovrebbe a questo punto essere intuitivo, consiste nel fatto che i segnali elettrici (stati della tensione) da esso trattati sono soltanto due.

Per semplificare al massimo le cose, si può pensare al fatto che un elemento terminale di una sua componente in un dato istante abbia corrente, oppure, su di esso, la corrente non sia presente. A questi due stati normalmente si associano per convenzione rispettivamente i valori 1 e 0. Riuscendo a gestire questi due stati (e quindi dei simboli presi da un certo alfabeto binario) associabili a questi stati e sapendo che organizzando in vario modo tali simboli possiamo rappresentare ciò che vogliamo si aprono ai nostri occhi immensi panorami.

La cosa importante da notare è che non solo possiamo rappresentare determinati valori ma possiamo su di essi realizzare tutta una serie di operazioni.

L’esempio più semplice che possiamo immaginare è quello di trasformare un segnale (simbolo) da 1 a 0 e viceversa. Tale trasformazione si riflette, sul lato strettamente fisico, nel far si che la corrente scompaia da un certo terminale e al contrario, se assente, si renda nuovamente presente. Il modulo che realizza tale funzionalità (o funzione) è noto come invertitore ed è fisicamente realizzato con un unico transistor (un elemento di base dell’elettronica). La funzione stessa è nota con il termine tecnico NOT (negazione).

Come al solito, dietro quasi ogni elemento che incontriamo si nasconde un intero e più complesso mondo; è facile, infatti, intuire che tale semplice funzione non sia l’unica. Ma, non mi stancherò mai di ripeterlo, le cose devono essere comprese nei loro aspetti e concetti più semplici e fondamentali. Così facendo le difficoltà si sciolgono come neve al sole ed il sole stesso illuminerà lo scenario complessivo mostrandocelo in tutta la sua chiarezza.

Per semplificare l’analisi della funzione svolta dall’invertitore si può fare ricorso ad una sua forma tabellare:

 

ingresso

uscita

0

1

1

0

 

Tale tabella prende il nome di tavola di verità della funzione NOT. Per essere precisi la funzione svolta è una funzione binaria di variabili binarie (ha a che fare con solo due possibili valori) ed è detta anche funzione commutatoriale.

Boole e Shannon: algebra binaria e sua implementazione pratica

George Boole
George Boole

La precedente discussione mi serviva per introdurre un paio di argomenti tanto importanti quanto strettamente collegati.

Da una parte abbiamo tutta una serie di potenzialità teoriche che hanno a che fare con la possibilità di gestire stati (nel nostro contesto solo due) di variabili appunto binarie e dall’altro l’implementazione pratica di tali funzionalità.

Il matematico inglese George Boole (1815-1864) sviluppò un nuovo tipo di logica che utilizzava dei simboli (logica simbolica) associati a determinate parti del discorso (inteso come ragionamento).

Tali parti di un ragionamento sono delle proposizioni che devono risultare delle affermazioni. Queste affermazioni prendono il nome di enunciati.

E’ importante sottolineare come un enunciato sia una affermazione che può risultare vera oppure falsa ma non può essere contemporaneamente sia vera che falsa. Ad esempio, una proposizione del tipo: “imparate l’informatica!” non è un enunciato (ma piuttosto un saggio invito 😉 La richiesta che un enunciato possa essere o vero o falso rientra in quello che è definito come principio del terzo escluso (ovvero esistono due sole possibilità).

piove”, “quella matita è di colore rosso ”, “la macchina è in moto”, “10 è un numero pari”, “Benevento è una città”, ecc. sono tutti esempi di enunciati.

Boole introdusse inoltre degli operatori per mettere in relazione due affermazioni (quindi operatori binari) . Egli costruì una vera e propria algebra binaria denominata in suo onore algebra booleana (o algebra di Boole).

Boole propose quindi una nuova impostazione della logica: dopo aver rilevate le analogie fra oggetti dell’algebra e oggetti della logica, ricondusse le composizioni degli enunciati a semplici operazioni algebriche.

Claude Shannon
Claude Shannon

Nel 1938 Claude Elwood Shannon (1916-2001) ha dimostrato come l’algebra booleana potesse essere presa a fondamento per la progettazione di circuiti logici digitali, realizzando un passo fondamentale verso la concezione dei moderni computer (e questa mi sembra proprio la chiusura del cerchio). Shannon per tale eccezionale contributo è noto come il «padre del digitale».

Carlo A. Mazzone

Supportaci condividendo sui social il nostro articolo!

Raspberry Mini HowTo

Questa mini guida illustra in maniera sintetica e diretta le modalità di preparazione di un sistema Raspberry.

Installazione di Raspbian con NOOBS

L’uso di NOOBS rappresenta il modo più facile per installare Raspbian su di una SD card. NOOBS, ovvero New Out Of Box Software, è un manager di installazione per i sistemi operativi compatibili con la Raspberry Pi. NOOBS è disponibile in due tipologie: offline e network install (versione Full)oppure solo network install (versione Lite).

La versione full include già Raspbian in modo che la si possa installare,direttamente sulla SD card, mentre la versione Lite di NOOBS necessità sempre di una connessione a internet per installare sua Raspian che un qualsiasi altro sistema operativo.

Ovviamente, la versione già presente del sistema operativo sulla versione full potrebbe essere non aggiornata nel caso un cui un un nuovo sistema dovesse essere stato appena rilasciato ma connettendosi ad Internet verranno mostrate le opzioni per il download dell’ultima versione eventualmente disponibile.

Download di NOOBS

L’URL di riferimento per lo scaricamento di una copia di NOOBS è:

www.raspberrypi.org/downloads/

Una volta raggiunta la pagina in questione cliccare sul link relativo a NOOBS.

A questo punto selezionare, per semplicità, l’opzione per lo scaricamento dello zip (o in alternativa usare un programma per il download dei file torrent).

Formattazione della SD Card

A questo punto sarà necessario preparare la scheda SD. Poichè la procedura prevede la cancellazione totale dei file presenti sulla scheda, se ritenuto opportuno, sarà necessario effettuare un backup dei dati eventualmente presenti.

In generale, la formattazione della scheda può essere realizzata con gli strumenti classici presenti nel sistema operativo. Tuttavia, tali strumenti non sono ottimizzati per le schede SD/SDHC/SDXC e ciò potrebbe comportare delle performance più basse.

Il consiglio è quindi quello di utilizzare uno strumento appositamente progettato per tale scopo, ovvero il “SD Memory Card Formatter 5.0 for SD/SDHC/SDXC” disponibile per il download, per Windows e Mac, qui:

https://www.sdcard.org/downloads/formatter_4/index.html

Sarà sufficiente seguire le istruzioni per il download e l’installazione del software e successivamente inserire la SD card nel proprio PC o laptop. Nel Formatter selezionare la lettera assegnata alla SD card e procedere con la formattazione.

Estrazione e copia di NOOBS

Ovviamente è ora necessario estrarre i file dallo zip NOOBS. Per farlo usate la vostra procedura preferita.

A questo punto utilizzando Explorer (per Windows) oppure il Finder (per Mac) spostatevi nella cartella dove è stato estratto lo zip. Sarà ora sufficiente farne il drag and drop oppure un copia e incolla nella radice della SD card.

A questo punto non resta che estrarre la scheda SD.

Avvio di NOOBS

Una volta copiati i file di NOOBS sulla micro SD Card sarà sufficiente inserire la scheda nella Raspberry Pi e collegarla all’alimentazione.

Una volta avviato il sistema potrete selezionare il box per il sistema Raspbian e quindi cliccare sula voce Install.

NOTA: L’utente di default in Raspbian è pi, e la corrispondente password, necessaria per scopi di amministrazione, è raspberry.

La cosa interessante da sapere è che l’elenco dei sistemi operativi disponibili per l’installazione, se non precedentemente installati, viene visualizzato solo nel caso in cui la Raspeberry sia collegata alla rete (via cavo o wireless). Nel caso di collegamento fisico con cavo la Raspberry ottiene un IP tramite DHCP mentre nel caso di collegamento wireless è necessario impostare i parametri della scheda tramite l’apposita icona relativa alla rete Wi-Fi.

Al riavvio della scheda è sempre possibile scegliere un nuovo sistema operativo da installare premendo il tasto Shift.

di Carlo A. Mazzone (Ver. 20180121A)

Supportaci condividendo sui social il nostro articolo!