Estratto del documento

Il calcolatore: studio e storia

Oggi andremo ad affrontare il tema del calcolatore, in particolar modo il contenuto di questa lezione è strutturato in tre ambiti principali: lo studio del calcolatore, l'analisi dei precursori del calcolatore per poi spostarci verso le macchine programmabili.

Che cos'è il calcolatore?

Il protagonista della scena dell'informatica e l'artefice dell'informatizzazione è proprio il calcolatore digitale o definito anche come calcolatore to CUR, computer o elaboratore e dunque la macchina dedicata all'elaborazione automatica delle informazioni digitali, macchina dotata di capacità universali in questo ambito. I calcolatori sono entrati ormai nella nostra vita quotidiana, tutti conosciamo le straordinarie capacità delle macchine per l'elaborazione delle informazioni e iniziamo a vedere quali sono questi elementi.

Innanzitutto l'elaboratore è in grado di compiere operazioni matematiche ad altissima velocità (una comune calcolatrice tascabile è superiore ad esempio a qualsiasi essere umano nel calcolo aritmetico), è inoltre in grado di registrare enormi quantità di informazioni in spazi ridottissimi, fenomeno della miniaturizzazione, quindi un disco ottico di pochi centimetri di diametro è in grado di contenere un'intera enciclopedia e allo stesso modo di ritrovare i dati richiesti con un'incredibile rapidità e quindi in frazioni di secondo. Altro elemento da considerare è la possibilità di trasmettere le informazioni a grandi distanze e con enorme velocità: due calcolatori quindi situati a migliaia di chilometri di distanza sono in grado di scambiarsi milioni di informazioni in pochi secondi. Inoltre è in grado di governare quelli che sono dispositivi meccanici che compiono operazioni di precisione, quali ad esempio i robot, è in grado anche di eseguire programmi che svolgono compiti molteplici come l'elaborazione di testi, la gestione di archivi, l'effettuazione di calcoli scientifici, gestione della contabilità.

I calcolatori ormai sono diffusi in tutte quelle che possiamo definire attività produttive, amministrative e professionali dove sono in grado di offrire prestazioni sempre più elevate a costi sempre più bassi; essi sono ormai i componenti essenziali all'interno della nostra società, basti pensare che senza di essi cesserebbero di funzionare le fabbriche, le banche, le scuole, gli alberghi, i tribunali e allo stesso tempo si fermerebbero tutti quelli che sono i mezzi pubblici, diventerebbero inutilizzabili apparecchiature mediche, elettrodomestici, telefoni e automobili. Tale dipendenza si accresce a mano a mano che si compie il passaggio verso la società dell'informazione. Per quest'ultima uno sciopero generale informatico e quindi l'ipotetica e contemporanea interruzione di tutti i calcolatori nel mondo equivarrebbe di fatto alla paralisi totale.

Tuttavia il calcolatore, strumento che viene utilizzato dalla molteplicità di soggetti, resta per tutti ancora uno sconosciuto, poiché non tutti siamo in grado di conoscere caratteristiche e potenzialità dello strumento: anche se interagiamo quotidianamente con il calcolatore, di fatto ne ignoriamo la storia, la struttura e i principi di funzionamento.

Le macchine e gli algoritmi per elaborare l'informazione

Quali sono le caratteristiche che determinano per il calcolatore la possibilità di ritenerlo un protagonista all'interno della nostra epoca e uno strumento che per noi lo si può intendere come ineliminabile nella quotidianità che ne andiamo a svolgere tutti i giorni?

Il funzionamento del calcolatore è di fatto dovuto alla combinazione di due componenti: l'hardware, che rappresenta l'insieme dei dispositivi materiali (ciò che noi quindi possiamo toccare con mano) e che elaborano l'informazione stessa, mentre dall'altro il software cioè l'insieme dei programmi informatici che governano il funzionamento del calcolatore, andando quindi a indicare in un modo preciso ed univoco le elaborazioni da seguire.

Storia del calcolatore

Possiamo quindi trovare le radici dell'informatica in due linee di ricerca che di fatto però possono convergere fra loro: da un lato il tentativo di realizzare macchine capaci di elaborare le informazioni e dall'altro invece il tentativo di definire procedimenti, che possiamo intendere come precisi e univoci, ossia gli algoritmi, che sono poi in grado di elaborare le informazioni.

L'idea quindi di poter utilizzare dispositivi materiali per le informazioni non è un'idea nuova: l'abaco o pallottoliere ad esempio risale a circa 7000 anni fa e anche l'idea poi di definire metodi precisi per elaborare le informazioni ha una lunga storia. Per esempio Euclide, grande matematico greco vissuto ad Alessandria d'Egitto tra il IV e il III secolo a.C., inventò un famoso algoritmo per effettuare il calcolo del massimo comune divisore. Il nome però algoritmo deriva da un matematico persiano Mohammed al-Khwarizmi, vissuto nel IX secolo, i cui scritti contribuirono proprio ad introdurre in Europa i numeri decimali e l'algebra. In particolar modo proprio al-Khwarizmi indicò quelle che sono le regole precise da seguire, passo dopo passo, e che noi abbiamo ad utilizzare sin dalle scuole elementari per aggiungere, sottrarre, moltiplicare e dividere quelli che sono i numeri decimali. Questi possiamo definirli come delle procedure, quindi degli algoritmi che ci sembrano ovvi e alle volte anche banali ma che rappresentano poi un enorme progresso rispetto alle precedenti tecniche per poter eseguire calcoli numerici.

Un altro soggetto che andò a costruire uno strumento elettronico fu Blaise Pascal che nel XVII secolo realizzò la Pascalina, ossia una macchina in grado di compiere addizioni e sottrazioni. Lo stesso Leibniz andò a perfezionare la pascalina, costruendo invece un apparecchio che era anche in grado di eseguire le moltiplicazioni. Tanto la pascalina quanto l'apparecchio di Lyoness erano poi delle calcolatrici automatiche ma meccaniche quindi non erano elettroniche, esse quindi funzionavano grazie a una serie di ingranaggi a delle ruote dentate e non mediante il passaggio di elettroni, cosa che avviene nei computer moderni. Inoltre potevano eseguire di volta in volta solo una delle operazioni rientranti nella loro competenza, ad esempio una sola addizione, quindi non le possiamo definire come macchine programmabili poiché non potevano di fatto eseguire automaticamente un'intera combinazione di tali operazioni secondo le indicazioni che ne abbiamo fornito.

Programmabilità

Per trovare quindi le origini della programmabilità si deve un po' uscire dall'ambito della matematica e della filosofia e ci si deve spostare in ambito tecnologico, anzi anche industriale. Infatti agli inizi dell'Ottocento un artigiano francese Joseph Marie Jacquard inventò un nuovo tipo di telaio che era in grado di tessere da solo e quindi automaticamente diversi tipi di trame. Le trame da tessere si indicavano inserendo nel telaio speciali carte perforate e la posizione dei fori determinava la scelta dei fili e le altre attività che avrebbe dovuto svolgere la macchina.

Al telaio di Jacquard si sarebbe poi anche ispirato il matematico inglese Charles Babbage, il quale, dopo aver progettato una macchina in grado di calcolare i logaritmi, concepì proprio il motore analitico. Ossia una macchina dotata di una competenza generale capace di eseguire qualsiasi calcolo. La peculiarità del motore analitico era proprio la sua programmabilità, ossia oltre ad essere in grado di compiere le operazioni aritmetiche di base, il motore analitico era in grado di eseguire qualsiasi combinazione digitale di operazioni. Pertanto la combinazione delle operazioni da eseguire (ciò che noi poi andiamo attualmente a definire come programma) si specificava mediante istruzioni riportate su queste schede perforate. Le istruzioni indicate nelle schede venivano poi registrate nella memoria interna al motore analitico che avrebbe proceduto poi alla loro esecuzione, restituendo il risultato nel motore analitico, l'organo di calcolo che poi effettuava le operazioni aritmetiche e l'organo delle istruzioni già eseguite propri dei risultati ottenuti. Esso quindi anticipava la struttura del moderno calcolatore che, come il motore analitico, può suddividersi in varie componenti.

Babbage però non riuscì a superare i problemi tecnici connessi alla costruzione del suo motore, in quanto si tratta di un complesso sistema di ruote dentate, leve e ingranaggi ed il tuo motore analitico rimase poi in realtà un progetto.

Invece Lady Augusta Ada Lovelace fu affascinata proprio dalla macchina di Babbage e in realtà scrisse per essa alcuni programmi ed è celebre per essere diventata la prima programmatrice della storia. Ella immaginò che il motore analitico potesse giocare a scacchi e perfino comporre musica, anticipando quelle che sono oggi le ricerche di intelligenza artificiale.

Tra gli antenati del moderno calcolatore noi possiamo menzionare la macchina calcolatrice, anch’essa meccanica e basata su schede perforate, costruita poi dall'ingegnere americano Herman Hollerith ed utilizzata per calcoli attinenti al censimento americano del 1890.

Negli anni trenta si ottennero però alcuni risultati fondamentali nel campo quello della teoria degli algoritmi da parte di grandi logici e matematici come Alan Turing, Kurt Gödel e Alonzo Church. In particolare si giunse poi alla formulazione della tesi Church-Turing secondo la quale qualsiasi problema algoritmico, ossia qualsiasi problema per il quale esista una precisa procedura di soluzione può essere risolto utilizzando macchine semplici in grado di svolgere poche operazioni elementari. Inoltre si stabilì la possibilità di realizzare macchine universali, capaci di fatto di elaborare qualsiasi tipo di algoritmo. Tali macchine eseguono quindi una procedura esattamente definita ma essa è astratta, cioè non è finalizzata ad un risultato particolare: essa consiste nell'eseguire qualsiasi programma che venga fornito alla macchina, andando poi di fatto ad applicare a dati di input per tali programmi.

I moderni calcolatori corrispondono al concetto di macchina universale benché ancora non esistessero quando quel concetto veniva definito e debbono proprio la loro universalità alla capacità di accogliere non solo i dati ma anche i programmi: possono quindi eseguire qualsiasi programma consistente in operazioni sui numeri binari e confrontati tra tali numeri, applicandolo poi a qualsiasi combinazione di dati.

Equivalenza delle macchine universali

Infine si determinò anche l'equivalenza di tutte le macchine universali cioè ogni macchina universale, opportunamente programmata, è in grado di eseguire qualsiasi algoritmo ma allora ciascuna macchina universale è in grado di eseguire anche l'algoritmo che determina il funzionamento di qualsiasi altra macchina universale e di conseguenza ogni macchina universale, una volta programmata secondo l'algoritmo che descrive il funzionamento di una diversa macchina universale, è in grado di elaborare anche i programmi scritti per quest'ultima. Quindi di fatto ogni macchina universale è capace di emulare qualsiasi altra macchina universale, spetta poi ad Alan Turing il merito di aver circoscritto l'ambito dei problemi che ammettono una soluzione algoritmica. Non è vero che un calcolatore opportunamente programmato può fare qualsiasi cosa, vi sono cose che di fatto nessun calcolatore è in grado di fare cioè problemi che non sono deducibili e che non sono di fatto poi computabili fra loro.

Un'ulteriore evoluzione avvenuta grazie allo stesso Alan Turing è stata poi la possibilità di realizzare anche altre macchine tra le quali ad esempio il Colossus stesso di Alan Turing, utilizzato proprio per andare a decifrare quelli che sono i codici utilizzati dall'esercito tedesco, lo Zuse che venne comunque realizzato tramite lo Z3 (primo calcolatore basato sul sistema binario degli anni '30-'40) ed utilizzato per la progettazione di aeroplani ed infine l’ENIAC (Electronic Numerical Integrator and Computer 1941-45), basato sul sistema decimale ed utilizzato per calcolare le traiettorie dei proiettili.

Il calcolatore inizialmente veniva utilizzato quale strumento per svolgere una serie di operazioni ma che erano di natura meccanica, quindi non avevamo la realizzazione dell'elaboratore così come adesso la andiamo ad immaginare e quindi con un insieme di hardware e software che all'interno sono strumentazioni elettroniche che funzionano tramite i circuiti, ma avevamo un sistema di ingranaggi che era in grado di eseguire una serie di operazioni ed in particolar modo la caratteristica essenziale di questi strumenti era data proprio dalla possibilità di eseguire una singola operazione per volta, quindi io programmo lo strumento per realizzare una singola attività che poi doveva essere nuovamente riprogrammata. Con l'evoluzione dell'elaboratore, grazie soprattutto anche a Lady Augusta, la prima programmatrice della storia, abbiamo avuto anche strumenti che erano in grado di essere configurati ed essere programmati e quindi erano in grado di svolgere le operazioni di volta in volta, senza dover essere nuovamente riconfigurati. Abbiamo assistito di fatto a un passaggio progressivo tra quella che era una prima processione di elaboratore (con ingranaggi) ad una evoluzione dell'elaboratore che poi ha portato a quelli che noi adesso definiamo calcolatori elettronici.

I primi calcolatori

Per trovare i primi calcolatori moderni, definiti anche poi digitali ed elettronici, dobbiamo spostarci al tempo della seconda guerra mondiale, quando i primi calcolatori poi furono inventati contemporaneamente ma indipendentemente nei vari paesi belligeranti. In Inghilterra ad esempio un gruppo di matematici e ingegneri, guidato proprio da Alan Turing, realizzò il Colossus nel 1941, un calcolatore elettronico di fatto però non programmabile. Il Colossus fu impiegato con successo nel decifrare i codici utilizzati per la comunicazione dell'esercito tedesco.

In contrapposizione a questo, in Germania Konrad Zuse, tra la fine degli anni 30 e l'inizio degli anni 40, realizzò lo Z3, il primo calcolatore programmabile basato poi sul sistema binario. Il calcolatore di Zuse trovò qualche impiego nella progettazione di aeroplani ma il Terzo Reich non seppe poi cogliere l'importanza dell'invenzione.

Negli Stati Uniti infine tra il 1941 ed il 1945, presso l'Università della Pennsylvania, fu realizzato invece l’ENIAC (Electronic Numerical Integrator and Computer) elettronico e universale però basato ancora su un sistema decimale e non su un sistema binario come siamo abituati adesso a vedere l'elaboratore elettronico. Infatti la finalità principale fu proprio quella di utilizzarlo per calcolare quelle che sono le traiettorie dei proiettili.

All'inizio degli anni '50 avvenne il salto tecnologico che poi consentì di passare ai primi veri calcolatori moderni: si trattava della registrazione del programma stesso all'interno della memoria del calcolatore e ciò consentiva di accedere con rapidità alle singole istruzioni da eseguire ma soprattutto compiere anche salti condizionati. In base ai risultati già ottenuti potevano essere eseguite o saltate certe istruzioni del programma.

La memorizzazione interna del programma caratterizza proprio la macchina di Von Neumann. L'architettura adottata nei moderni calcolatori fu definita negli anni 40 da un gruppo di lavoro cui partecipava il matematico statunitense anche se di origini ungheresi John Von Neumann. L’elaboratore era composto da due unità: l'unità di controllo (dette control unit - CU) e l'unità di calcolo o unità aritmetico-logica che costituisce poi l'unità centrale di elaborazione (la CPU, detta anche processore). Essi attuano una stretta cooperazione: la prima identifica l'istruzione da eseguire e i relativi dati, la seconda invece esegue l'operazione.

Dati ed istruzioni vengono prelevati dalla memoria centrale (definita anche in memoria principale, primaria o interna) nella quale vengono trasferiti i risultati delle elaborazioni. La memoria centrale è un dispositivo di memorizzazione ad alta velocità di lettura e scrittura tipicamente volatile, quindi si cancella quando il calcolatore si spegne. Essa deve essere poi distinta da quelle che sono le memorie di massa (dette anche secondaria esterne oppure periferiche) costituite da dispositivi, solitamente dischi magnetici o ottici, capaci di contenere permanentemente grandi quantità di informazioni.

Affinché le informazioni che sono contenute all'interno delle memorie di massa (sia i dati che i programmi) possano essere elaborate dalle unità centrali di elaborazione esse devono essere trasferite e quindi riprodotte all'interno della memoria centrale, la sola che è direttamente accessibile all'unità centrale. Ciò significa che l'esecuzione di un software residente sul disco di un computer ne comporta poi la sua duplicazione. Il software quindi deve essere copiato nella memoria centrale e questo poi è un aspetto rilevante anche per fornire…

Anteprima
Vedrai una selezione di 5 pagine su 18
Informatica - Modulo 1 Pag. 1 Informatica - Modulo 1 Pag. 2
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Informatica - Modulo 1 Pag. 6
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Informatica - Modulo 1 Pag. 11
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Informatica - Modulo 1 Pag. 16
1 su 18
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher racheleavilio2002 di informazioni apprese con la frequenza delle lezioni di Informatica generale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica "e-Campus" di Novedrate (CO) o del prof Corona Fabrizio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community