# Calcolo automatico

Il calcolo automatico è una disciplina che studia i metodi per la ricerca di soluzioni a problemi complessi evitando il coinvolgimento umano nelle operazioni di calcolo. Nata come branca della matematica applicata, e in particolare del calcolo, si è progressivamente evoluta in quella che oggi conosciamo come informatica.

## Storia

La prima idea sull'utilizzo dell'elettronica digitale per effettuare calcoli si può trovare nel documento del 1931 "L'uso dei tiratroni per il conteggio automatico ad alta velocità di fenomeni fisici" scritto da CE Wynn-Williams. Il documento di Claude Shannon del 1938 " Un'analisi simbolica dei circuiti di relè e di commutazione " introdusse inoltre l'idea di usare l'elettronica per le operazioni algebriche booleane.
Il concetto di transistor ad effetto di campo venne proposto da Julius Edgar Lilienfeld nell'anno 1925. La sua versione perfezionata, il MOSFET, inventato nel 1959, ha permesso di costruire chip per circuiti integrati ad alta densità, portando a quella che oggi viene chiamata la rivoluzione del computer o rivoluzione del personal computer.

## Relazione con l'informatica moderna

L'informatica è l'approccio scientifico e pratico al calcolo ed alle sue applicazioni. Un informatico è specializzato nella teoria del calcolo e nella progettazione di sistemi computazionali.
I suoi sottocampi so possono suddividere in tecniche pratiche per la sua implementazione ed applicazione in sistemi informatici ed aree puramente teoriche. Talune, come la teoria della complessità computazionale, che studia le proprietà fondamentali dei problemi computazionali, sono estremamente astratte, diversamente altre, come la computer grafica, enfatizzano le applicazioni del mondo reale. Altre ancora si concentrano in modo specifico su sfide nell'implementazione dei calcoli. Ad esempio, la teoria dei linguaggi di programmazione studia gli approcci alla descrizione dei calcoli, mentre lo studio della stessa programmazione studia diversi aspetti dell'uso di linguaggi di programmazione e sistemi complessi, l'interfaccia tra uomo e macchina si concentra specialmente sulle sfide nel rendere utili e utilizzabili computer e calcoli e universalmente accessibile agli umani.

## Calcolo distribuito

Una rete di computer, talvolta definita semplicemente come una "rete", è una raccolta di componenti hardware e di computer collegati tra di loro in rete mediante canali di comunicazione che consentono la condivisione di risorse ed informazioni. Laddove è presente un processo in un dispositivo, il quale è in grado di inviare e/o ricevere dati a/da almeno un processo situato in un dispositivo remoto, si dice che i due dispositivi si trovano in una rete.
Le reti si possono classificare mediante un'ampia varietà di caratteristiche come il mezzo utilizzato per trasportare i dati, il protocollo di comunicazione utilizzato, la dimensione, la topologia e l'ambito organizzativo.
I protocolli di comunicazione definiscono le regole ed i formati dei dati che si utilizzano nello scambio di informazioni in una rete di computer e che forniscono la base per la programmazione di una rete. Tra i protocolli di comunicazione noti troviamo: Ethernet, che è uno standard di tipo hardware, Link Layer, che è onnipresente nelle reti locali, e Internet Protocol Suite, che definisce una serie di protocolli per la comunicazione di dati tra più reti, per il trasferimento di dati host-to-host e per la definizione e l'uso di formati di trasmissione dei dati specifici ad una determinata applicazione.
Le reti informatiche vengono talvolta considerate una sotto-disciplina di ingegneria elettrica, telecomunicazioni, informatica, informatica o ingegneria informatica, siccome esse si basano sulla messa in pratica di queste discipline.

## Ricerca e tecnologie emergenti

La computazione basata sul DNA e l'informatica quantica sono due aree di ricerca sia nel campo dell'hardware che nel software (come lo sviluppo di algoritmi quantici). Le potenziali infrastrutture per le tecnologie future includono origami a DNA sulla fotolitografia e antenne quantiche per il trasferimento di informazioni tra trappole ioniche. Nel 2011, i ricercatori sono riusciti con successo aimpigliare 14 qubit. I circuiti digitali veloci (compresi quelli basati su giunzioni Josephson e la tecnologia quantistica a flusso singolo rapido) stanno attualmente diventando pian piano realizzabili con la scoperta di superconduttori situati ad una scala nanometrica.
I dispositivi di tipo fotonico ed a fibre ottiche, i quali vengono attualmente utilizzati per trasportare dati su lunghi tragitti, hanno iniziato ad essere utilizzati nei data center, in parallelo con CPU e componenti di memoria. Ciò consente la separazione della memoria RAM dalla CPU che possono essere unite mediante le connessioni ottiche. IBM ha ideato e prodotto un circuito integrato con lo scopo di elaborare informazioni di tipo elettronico ed ottico in un unico chip. Questo viene attualmente indicato come "nanofotonica integrata con CMOS" o (CINP). Un vantaggio delle interconnessioni ottiche è il fatto che le schede madri che in precedenza richiedevano un certo tipo di sistema su un chip (SoC) ora possono spostare i controller di memoria e di rete precedentemente dedicati dalle schede madri, diffondendo i controller sul rack. Ciò consente la standardizzazione delle interconnessioni backplane e delle schede madri per più tipi di SoC, il che consente aggiornamenti più tempestivi delle CPU.
Un altro campo di ricerca moderno è la spintronica. La spintronica è un particolare campo nel quale si può fornire una sostanziale potenza di calcolo ed archiviazione, senza accumulo di calore. Alcune ricerche vengono condotte su chip ibridi, che combinano fotonica e spintronica.

### Calcolo quantistico

L'informatica quantistica è un'area di ricerca che riunisce le discipline dell'informatica e della fisica quantistica. L'idea alla base è che l'informazione sia un elemento fondamentale nella fisica è relativamente nuova, ma al momento pare si possa creare un forte legame tra la teoria dell'informazione e la meccanica quantistica. Diversamente dal calcolo tradizionale che opera su un sistema binario di uno e zeri, il calcolo quantistico utilizza i qubit. I Qubit si possono trovare in uno stato di sovrapposizione, il che significa che si trovano contemporaneamente in ambedue gli stati, uno e zero. Ciò significa che il qubit non è compreso tra 1 e 0, ma in realtà il valore del qubit cambia a seconda di quando viene misurato. Questa caratteristica dei qubit viene chiamata in termini tecnici entanglement quantistico ed è l'idea alla base del calcolo quantico ed è ciò che consente ai computer quantistici di eseguire calcoli con equazioni su larga scala. Il calcolo quantistico si utilizza per la ricerca scientifica nella quale un normale computer non avrebbe una potenza di calcolo sufficiente ad eseguire i calcoli necessari. Un buon esempio potrebbe essere la modellistica molecolare. Le molecole di grandi dimensioni sono troppo complesse per i computer moderni per calcolare cosa succede loro durante una reazione, ma la potenza dei computer quantistici può potenzialmente aiutare a spalancare le porte per comprendere ulteriormente queste molecole.