01-Evoluzione delle Macchine da calcolo

01-Evoluzione delle Macchine da calcolo

{gspeech style=2}

L’Informatica, significa elaborazione automatica delle informazioni, si occupa della progettazione e dell’uso di macchine in grado di trattare grandi quantità di dati in tempi brevi e in modo automatico, cioè senza l’intervento dell’uomo, capaci di trasmettere informazioni rendendo ininfluenti le distanze geografiche.Si parla quindi di ICT (Information and Communication Technology, Tecnologie della Comunicazione e dell’Informazione), un insieme di tecnologie in grado di reperire, elaborare, memorizzare e trasferire dati: l’Information Technology.Oggi una macchina informatica non è più vista come uno strumento capace di risolvere un compito particolare, ma come un elemento in grado di comunicare con altre risorse di vario tipo al fine di svolgere attività di elaborazione e trasmissione.

Nel 1943, Thomas Watson, un dirigente IBM affermava: «Credo che il mercato mondiale possa aver bisogno al massimo di 5 computer». Nel 1977, Ken Olsen, presidente della DEC diceva: «Non c’è nessun motivo per cui una persona debba avere un computer a casa». Secondo alcuni storici, l’evoluzione delle macchine da calcolo ha avuto inizio quasi 4000 anni fa, in Cina, quando fu inventato l’abaco. Altri ritengono, invece, che l’abaco abbia avuto origine presso i Babilonesi; in ogni caso sono pervenuti fino ai nostri giorni esemplari di questa «macchina» che risalgono a Egiziani, Romani, Maya. Nella versione moderna l’abaco, noto anche come pallottoliere, è composto da una struttura in legno con palline disposte su fili paralleli, e da barre perpendicolari ai fili, che suddividono le palline in più gruppi. Ogni colonna rappresenta una posizione nel sistema di numerazione decimale; in altre parole, la colonna posta all’estrema destra corrisponde alle unità; quella posta alla sua sinistra corrisponde alle decine e così via. In ogni colonna, sotto la barra trasversale, sono poste cinque palline (ognuna delle quali rappresenta un’unità) e, sopra la barra, due palline che corrispondono ciascuna a cinque unità. Ad esempio, nella colonna delle decine, le palline del gruppo da cinque valgono 10 mentre quelle del gruppo da due valgono 50. Le palline da conteggiare nella formazione del numero sono sistemate contro la barra trasversale. 

abaco

La macchina di Anticitera è il più antico calcolatore meccanico di cui la storia abbia memoria. Si tratta di un complesso planetario, mosso da ruote dentate, che serviva per calcolare il sorgere del sole, le fasi lunari, i movimenti dei 5 pianeti allora conosciuti, gli equinozi, i mesi e i giorni della settimana. Prende nome dal luogo del ritrovamento e risale all’87 a.C. Solo nel 1951 i dubbi sul misterioso meccanismo cominciarono ad essere svelati. Quell’anno infatti il professor Derek Price cominciò a studiare il congegno, esaminando minuziosamente ogni ruota ed ogni pezzo e riuscendo, dopo circa vent’anni di ricerca, a scoprirne il funzionamento originario. Il meccanismo risultò essere un antichissimo calcolatore per il calendario solare e lunare, le cui ruote dentate potevano riprodurre il rapporto di 254:19 necessario a ricostruire il moto della Luna in rapporto al Sole (la Luna compie 254 rivoluzioni siderali ogni 19 anni solari). L’estrema complessità del congegno era inoltre dovuta al fatto che tale rapporto veniva riprodotto tramite l’utilizzo di una ventina di ruote dentate e di un differenziale, un meccanismo che permetteva di ottenere una rotazione di velocità pari alla somma o alla differenza di due rotazioni date. Il suo scopo era quello di mostrare, oltre ai mesi lunari siderali, anche le lunazioni, ottenute dalla sottrazione del moto solare al moto lunare siderale. 

La macchina di Anticitera

 

Nel 1600 Nepero inventa uno strumento per effettuare moltiplicazioni e divisioni e per calcolare e costruire le tavole dei logaritmi; questa macchina era costituita da bastoncini (o regoli) che permettevano di moltiplicare o dividere un numero qualunque per un numero di una sola cifra, senza ricorrere alla Tavola Pitagorica. I regoli erano 11, uno fisso e gli altri mobili.Nel 1650 il matematico inglese E. Gunter inventò il regolo calcolatore, per calcolare potenze, radici quadrate e cubiche, utilizzato fino a pochi decenni fa. Fino a questo punto, però, le nostre macchine non sono ancora in grado di effettuare operazioni, ma solo di rappresentarle in un certo modo. Nel XVII secolo arrivano invece i primi sistemi meccanici che consentono l’esecuzione automatica delle operazioni. La prima macchina in grado di eseguire in modo automatico delle addizioni è stata la Pascalina, ideata dal filosofo e matematico francese Blaise Pascal nel 1642 .Questa macchina era costituita da una serie di ruote dentate (rappresentanti unità, decine e centinaia) collegate mediante opportuni ingranaggi meccanici; la rotazione di queste ruote consentiva di effettuare addizioni e sottrazioni, tenendo conto dei riporti e dei prestiti.

 pascalina

Nel 1671, il matematico tedesco Gottfried Leibniz ideò una macchina in grado di effettuare in modo automatico le quattro operazioni, macchina che, però, difettava in precisione. Lo stesso Leibniz ideò il sistema binario, cioè un sistema per rappresentare i numeri utilizzando solo le cifre 0 e 1 e intuì che tale sistema poteva essere utilizzato dalle macchine di calcolo automatiche.
All’inizio del 1800 Joseph Marie Jacquard inventò e diffuse un telaio di tessitura automatizzato, in grado di leggere le«istruzioni» per la tessitura con opportune«schede perforate», che erano delle schede di cartone con dei fori. La prima macchina per il calcolo prodotta serie (1500 esemplari) fu l’«aritmometro» (1820).

aritmometro

Nel 1822, il matematico inglese Charles Babbage progettò la sua macchina differenziale, capace di effettuare le operazioni matematiche di base. Successivamente si applicò allo sviluppo della«macchina analitica» (1833), in grado di leggere le istruzioni da schede perforate e di propagare i riporti in modo automatico (in pratica i risultati delle operazioni potevano essere utilizzati come operandi per le istruzioni successive).macchina analitica

Nel 1823 Berzelius, chimico svedese, isolò il silicio: questo elemento rivoluzionerà il mondo degli ela­boratori. Nel 1847 Charles Boole elaborò i concetti di Leibniz sulla logica binaria; la sua teoria è ancora oggi alla base del funzionamento dei moderni calcolatori. Nel 1880, l’americano Herman Hollerith ideò la «macchina tabulatrice», utilizzata dal governo americano per leggere da schede perforate i dati del censimento: visto il successo ottenuto (diminuzione drastica dei tempi di acquisizione ed elaborazione dei dati con maggiore precisione) questa macchina sancì l’inizio della produzione industriale e della diffusione delle macchine di calcolo automatiche. Le schede perforate di Hollerith avevano le dimensioni delle banconote da un dollaro, formato che consentiva di utilizzare 80 colonne di fori e vennero utilizzate fino a pochi decenni fa.macchina Tabulatrice

Nei primi anni del 1900 si passò da macchine puramente meccaniche a macchine elettromeccaniche: queste utilizzavano come elemento base il relè.Queste nuove macchine, dette «elettromeccaniche» o«meccanografiche» permettevano l’esecuzione delle operazioni fondamentali e anche una rappresentazione dei risultati non solo in forma numerica, ma anche alfanumerica.Nel 1924 nasce la International Business Machines (IBM), sulla scia della Hollerith’s Tahulating Machines Company.Negli anni successivi si assiste alla vera e propria commercializzazione delle macchine a schede perforate e ad un enorme sforzo da parte degli scienziati per aumentarne l’efficienza, soprattutto in termini di velocità di calcolo.

I calcolatori elettromeccanici
Siamo ormai vicini ad uno dei periodi più bui del secolo passato (la Seconda Guerra Mondiale) e proprio grazie a necessità belliche, il settore delle macchine da calcolo subisce repentini ed incisivi cambiamenti. Nel 1938 un ingegnere tedesco, Konrad Zuse, realizza il primo calcolatore elettromeccanico, lo Z1, seguito subito dallo Z2 (2600 relè) e dallo Z3 (che era in grado di eseguire le 4 operazioni e le radici quadrate), utilizzato dai nazisti fino al termine del conflitto. Parallelamente a queste invenzioni europee, negli Stati Uniti viene realizzato, nel 1944, Mark I, il primo calcolatore elettromeccanico americano; il suo ideatore fu un ricercatore dell’Università di Harvard, Howard Aiken.Mark I, oltre alle funzionalità di Z3, era in grado di eseguire calcoli trigonometrici, esponenziali e logaritmici. Mark I poteva leggere i dati e le istruzioni per manipolarli sia da schede perforate sia da serie di interruttori e forniva i risultati ancora sotto forma di fori su schede o di tabulati stampati da dispositivi simili a macchine da scrivere. Mark I era costituito da più di 3.000 relè collegati da 800 km di fili elettrici; le sue dimensioni erano quelle di una grande stanza, il suo peso era di 5 tonnellate ed era in grado di sommare due numeri di 23 cifre in 3 decimi di secondo e moltiplicarli in 6 secondi; il suo costo ammontava a circa 400.000 dollari.

La prima generazione degli elaboratori elettronici
Due anni più tardi, nel 1946, presso l’Università della Pensylvania, viene realizzato l’ENIAC (Electric Numerical Integrator And Computer), il primo calcolatore a valvole, che segna l’inizio di una nuova era per il calcolo automatico. John P. Eckert e John Mauchly, i realizzatori di ENIAC, utilizzarono, per memorizzare le informazioni, al posto dei relè, dei tubi a vuoto o valvole elettroniche. Con l’utilizzo delle valvole elettroniche vengono eliminati tutti gli organi meccanici, consentendo così velocità superiori: ENIAC è in grado di effettuare 300 moltiplicazioni al secondo. Le dimensioni di ENIAC sono titaniche: occupa una superficie di 180 metri quadri, pesa 13 tonnellate, utilizza 18.000 valvole con frequenza di 100.000 Hz. Esso è 10.000 volte più lento di un moderno personal computer.

Eniac

Uno scienziato matematico ungherese, John Von Neumann, elaborò nell’immediato dopoguerra la teoria che ancora oggi è alla base dei moderni calcolatori.
Con Von Neumann, il calcolatore diventa «elaboratore», cioè sulla base dei risultati delle operazioni intermedie può saltare direttamente ad una determinata istruzione: in questo modo l’elaboratore con il suo «programma» è in grado di risolvere diversi problemi, cioè non esegue solamente operazioni aritmetiche, ma anche logiche, sulla base delle quali prende decisioni (basandosi comunque su un programma scritto dall’uomo). In altre parole, se prima era richiesto l’intervento umano per collegare in modo particolare i circuiti dei calcolatori per risolvere determinati problemi, ora tutto ciò viene eseguito automaticamente dalla macchina, sulla base di confronti tra dati: grazie a questa fondamentale innovazione, la velocità degli elaboratori ha subito un eccezionale incremento.
Gli elaboratori della prima generazione (ma anche quelli dei giorni nostri), in definitiva, sono in grado di ricevere delle informazioni, di elaborarle e di produrre dei risultati. I dati e le istruzioni che operano su di essi sono letti da schede perforate e trasferiti nella memoria centrale dell’elaboratore. I dati vengono poi processati dall’Unità Aritmetico Logica (ALU), che esegue le operazioni indicate dalle istruzioni (quindi dal programma); i risultati sono restituiti mediante stampati o schede perforate.
Tutte queste operazioni sono guidate dall’Unità di Controllo che legge le istruzioni, le interpreta, coordina la loro esecuzione e il flusso dei dati in modo automatico (precedentemente, negli elaboratori meccanici, queste fasi erano eseguite manualmente dagli operatori). Come già detto, le informazioni elaborate e memorizzate da queste macchine, venivano (e vengono) rappresentate mediante il sistema di numerazione binario, sistema che utilizza due sole cifre (lo zero e l’uno) per codificare le informazioni. I componenti fondamentali degli elaboratori vengono fatti lavorare in due loro stati, cui vengono associate le 2 cifre del sistema binario; le informazioni manipolate dagli elaboratori sono perciò segnali elettrici, con due soli valori, cui corrispondono i due stati dei dispositivi elettrici (acceso e spento). I vantaggi dell’utilizzare segnali binari sono tutti nella semplicità con cui i componenti distinguono i due livelli (anziché 10 se utilizzassimo il sistema decimale) ed eseguono le operazioni elementari.Le cifre del sistema binario vengono dette BIT (da BInary digiT, cifra binaria, in inglese). Le regole con le quali i bit vengono elaborati sono essenzialmente le leggi dell’algebra di Boole, elaborate dal matematico inglese Boole nel 1800; le operazioni elementari (somma, sottrazione, moltiplicazione e divisione) alla fine vengono tutte ricondotte a particolari operazioni di somma, per cui ai componenti che costituiscono i circuiti di calcolo di un elaboratore viene richiesto di effettuare nient’altro che somme tra bit. Gli elaboratori della prima generazione memorizzavano le informazioni su particolari dispositivi magnetici — tamburi rotanti ad alta velocità: diverse testine magnetiche «scrivono» e «leggono» dati e istruzioni sulla superficie dei tamburi, suddivisa in tanti punti magnetizzati, impiegando per queste operazioni alcuni millisecondi. Verso la metà degli anni ’50 si iniziano ad utilizzare le memorie a nuclei di ferrite, di dimensioni e tempi di lettura/scrittura inferiori rispetto ai tamburi magnetici. I nuclei di ferrite sono anelli di materiale magnetico, di pochi decimi di millimetro di diametro, attraversati da due conduttori elettrici disposti perpendicolarmente tra di loro. In base ai segnali elettrici fatti passare nei conduttori, ogni anello può venire magnetizzato in due modi differenti e memorizzare così un uno oppure uno zero. La presenza di un terzo conduttore che attraversa gli anelli permette la lettura dei dati memorizzati, con tempi di accesso di pochi millisecondi.

Nucleo di ferriteIl componente fondamentale dei circuiti preposti all’elaborazione delle informazioni (l’Unità Centrale) è il tubo a vuoto o valvola elettronica. I dispositivi di output sono ancora costituiti da perforatori di schede o da dispositivi di stampa, che convertono i bit in forma facilmente intelligibile dagli operatori umani. Sempre in questi anni fanno la loro comparsa dispositivi ausiliari di memoria, cioè dispositivi esterni all’elaboratore, in grado di memorizzare grandi quantità di dati. Questi dispositivi sono nastri e dischi magnetici. I primi sono dispositivi ad accesso sequenziale: per reperire una particolare informazione è necessario scorrere tutto il nastro fino al punto cercato; i dischi invece sono dispositivi ad accesso diretto, che consentono di reperire istantaneamente le informazioni cercate.

nastro

Il fatto che le istruzioni venissero registrate in un’apposita memoria liberava il computer dalle limitazioni di velocità dovute alla lettura del nastro perforato durante l’esecuzione dei programmi, permettendogli di eseguire compiti diversi senza alcun intervento sui collegamenti. Si riesce così a costruire l’elaboratore elettronico come l’aveva concepito Von Neumann.Evoluzione delle macchine da calcoloNei primi anni ’50 si assiste ad una crescita esponenziale della richiesta e della produzione di elaboratori elettronici:

  • nel 1953 si hanno circa 100 elaboratori in funzione nel mondo;
  • nel 1958 il numero di calcolatori negli Stati Uniti è di 2500.

In Italia le cose procedono più lentamente:

  • nel 1954 viene installato presso il Politecnico di Milano il primo elaboratore;
  • nel 1957 si ha il primo utilizzo di una elaboratore in azienda;
  • nel 1958 abbiamo circa 10 elaboratori.

Nati come strumenti puramente scientifici, gli elaboratori elettronici negli anni ’50 si sono via via diffusi anche nelle aziende e sono ormai diventati un insostituibile strumento per l’elaborazione delle informazioni.

La seconda generazione degli elaboratori elettronici
Verso la fine degli anni ’50 le valvole vengono sostituite dal transistor e gli elaboratori vengono detti di «seconda generazione». Grazie all’introduzione del transistor, gli elaboratori diventano più veloci, più piccoli e si diffondono rapidamente in tutto il mondo, estendendo i loro campi di impiego in tutti i settori aziendali e non solo.

transistor

Nel 1955 la Bell realizzò il primo elaboratore a transistor, il TRADIC. Nel 1957 la Siemens commercializzò il modello 2002.Tra il 1960 e il 1964, l’IBM costruì il modello 1401 (più di centomila esemplari) e Olivetti sviluppò ELEA (poco più di 100 esemplari) che rappresentò il primo tentativo italiano di affacciarsi al mercato degli elaboratori elettronici. L’introduzione del transistor ha evidentemente migliorato le prestazioni della CPU: i transistor, più durevoli e meno costosi in termini di potenza, permisero la messa a punto di elaboratori più evoluti, compatti, veloci ed economici. Parallelamente a questi progressi anche le memorie di massa e i dispositivi di input e di output hanno subito forti innovazioni. Le memorie di massa a dischi sono ormai largamente diffuse e consentono velocità di lettura/scrittura elevate e capacità di memorizzazione di qualche milione di caratteri; inoltre è possibile collegare assieme più unità a disco in modo da arrivare a capacità di memorizzazione ancora superiori. Oltre alle unità di memoria di massa «fisse», cioè interne agli elaboratori, si diffondono memorie «mobili» a dischi, che possono essere sostituite con altre in breve tempo, consentendo così di elaborare enormi quantità di dati. Gli elaboratori della seconda generazione sono inoltre in grado di svolgere operazioni aritmetiche e operazioni logiche contemporaneamente, di leggere e scrivere schede perforate e leggere e scrivere dati su supporti magnetici. In questi anni, inoltre, si assiste alla nascita e diffusione delle unità terminali (o semplicemente «terminali»), connessi ad un calcolatore centrale: i terminali hanno solo il compito di trasmettere dati all’elaboratore centrale, che invece li manipola e li memorizza. Con la diffusione degli elaboratori, nasce anche la necessità di scrivere programmi adatti a svolgere determinati compiti. Nascono e si sviluppano allora i primi linguaggi di programmazione.

La terza generazione degli elaboratori elettronici
Verso la metà degli anni ’60 venne sviluppato un nuovo componente, destinato a rivoluzionare ancora una volta il mondo degli elaboratori elettronici: si tratta del circuito integrato, che grazie allo sforzo congiunto di tecnici elettronici, di fisici e di chimici, consente elevatissime velocità, ingombri ridottissimi ed ottima affidabilità. I primi elaboratori ad adottare circuiti integrati sono state le macchine della serie 360 IBM (oltre 30.000 esemplari nel mondo), il G115 della Honeywell (1.000 esemplari) e la serie 9.000 della Univac (2.500 esemplari).Queste macchine sono in grado di eseguire un’operazione in pochi nanosecondi, mille volte più veloci degli elaboratori a transistor.
Le memorie di massa, ancora costituite da nuclei di ferrite, erano però dispositivi troppo lenti per affiancare l’elevata velocità di elaborazione delle nuove CPU: per questo motivo vennero introdotti nuovi tipi di memorie, più veloci, da inserire tra memorie di massa e unità centrale; in queste memorie, dette di transito, i dati potevano essere letti/scritti velocemente dall’unità centrale e successivamente essere trasmessi alle memorie di massa.
Le nuove macchine possono essere «aggiornate» nel tempo, utilizzando appositi moduli che ne sostituiscono altri diventati obsoleti (lenti, di capacità insufficiente, ecc.); inoltre i programmi sviluppati possono funzionare su macchine differenti (si parla di compatibilità del software), e questo ha portato ad un incremento del mercato mondiale del software. In altre parole gli elaboratori non sono più progettati e costruiti per svolgere un determinato compito, ma si adattano a svolgere diversi programmi, nei settori più disparati.
In questi anni nasce un programma particolare, il sistema operativo, il cui compito è quello di porsi come interfaccia tra l’hardware e l’utente, coordinando le operazioni svolte dalla macchina e facilitandone l’utilizzo anche da parte di utenti poco esperti. Gli elaboratori non sono più quindi un prodotto riservato a pochi (scienziati, tecnici, ecc.) ma si stanno diffondendo anche tra i non addetti. In questo periodo, grazie alla velocità di elaborazione, i calcolatori possono eseguire contemporaneamente più compiti: si parla allora di multi-programmazione e di time-sharing. Più utenti possono far eseguire i loro programmi da un unico calcolatore, che riserva ad ogni processo una frazione del suo tempo. Si afferma quindi sempre più la tecnica di utilizzare un elaboratore centrale cui sono collegati diversi terminali dai quali gli utenti possono eseguire programmi anche diversi. Infine, parallelamente all’evoluzione della CPU anche i dispositivi di input e output diventano sempre più veloci e il modo con cui gli utilizzatori inseriscono dati o leggono risultati è sempre più «user friendly», cioè vicino all’uomo. Si riescono ormai a leggere mille e più schede perforate al minuto e le stampanti riescono a produrre oltre 2.000 righe di output al minuto: la capacità dei dischi arriva ora a molti miliardi di caratteri (forse è più facile dire molti GByte – GIGA Byte).
Facendo un confronto fra le tre generazioni di calcolatori, si osserva un miglioramento delle prestazioni incredibile:

  • elaboratore a valvole (prima generazione) – circa 2.000 moltiplicazioni al secondo;
  • elaboratore a transistor (seconda generazione) – circa 35.000 moltiplicazioni al secondo;
  • elaboratore a circuiti integrati (terza generazione)- circa 2 milioni di moltiplicazioni al secondo.

Le memorie a nuclei di ferrite sono troppo lente per i nuovi circuiti di elaborazione: nascono allora le memorie a circuiti integrati, che utilizzano la stessa tecnologia delle CPU e garantiscono tempi di lettura e scrittura rapidissimi. Rimane ancora un limite per quanto riguarda la capacità di queste memorie, ridotta rispetto alla capacità delle memorie di massa su disco e spesso insufficiente a contenere l’intero programma che si deve eseguire. Per ovviare a questo inconveniente, viene utilizzata una parte di memoria di massa come se fosse una grande memoria principale (viene chiamata «memoria virtuale») e i programmi vengono suddivisi in «pagine»; solo una parte del programma si trova in memoria principale, la rimanente parte rimane nella memoria virtuale e la CPU deciderà di caricarne in memoria un’altra parte quando le servirà. Il primo elaboratore ad utilizzare la tecnica della memoria virtuale fu l’IBM Sistema 370, che aveva una memoria centrale di oltre 3 MByte. Inizia anche a modificarsi il modo con cui le informazioni vengono inserite negli elaboratori: dalle schede perforate si passa a dispositivi a tastiera e soprattutto a supporti magnetici (dischi) sui quali le informazioni possono essere facilmente memorizzate e lette.

I microprocessori e la quarta generazione degli elaboratori elettronici
Il microprocessore è un particolare circuito integrato che racchiude al suo interno tutte le funzionalità dell’Unità di Controllo e dell’Unità Aritmetico Logica, oltre a particolari circuiti (registri) per memorizzare dati e istruzioni.La potenzialità di un microprocessore viene data dalla velocità con cui vengono eseguite le operazioni e dal numero di bit che possono essere elaborati contemporaneamente: si parla allora di clock e di bus dati. Il clock indica il numero di operazioni al secondo che possono essere eseguite, il bus dati indica invece il numero di bit che costituiscono i dati elaborati. Il microprocessore ha un bus interno e un bus esterno.
 

cpu

Il microprocessore fece la sua comparsa alla metà degli anni Settanta, quando furono prodotti circuiti a grande scala di integrazione (Large Scale Integration, LSI) e poi a grandissima scala di integrazione (Very Large Scale Integration, VLSI), contenenti milioni di transistor interconnessi, realizzati su un’unica piastrina di silicio. Nel 1971 l’ingegnere italiano F. Faggin e gli americani T. Hoff e S. Mazer producono il primo microprocessore della INTEL, il 4004, microprocessore a 4 bit (cioè capace di elaborare informazioni a gruppi di 4 bit), utilizzato in una calcolatrice da tavolo; le potenzialità del 4004 erano molto ridotte, tanto da spingere la INTEL stessa a realizzare a breve il 8008, microprocessore a 8 bit. Dopo altri microprocessori a 8 bit (l’8085 e l’8048), INTEL passò alla tecnologia a 16 bit, producendo l’8088 e l’8086: questi hanno inizialmente un clock di 4,77 MHz e passano successivamente a 10 MHz.
Nel 1972 nasce in California l’era dei Videogiochi, con Pong: una pallina che rimbalza sullo schermo e viene rilanciata da due sbarrette che si muovono con due potenziometri. Con Space Invaders (1978) e Pacman (1980) i progressi di­ventano strabilianti.

pong

Nel 1973 IBM lancia il primo Hard Disk e successivamente il Winchester, Hard Disk da 70 MB. Nel 1976, Steve Jobs e Stephan Wozniak realizzarono in modo pionieristico il primo Personal Computer: Apple I; visto l’inaspettato successo, dopo la vendita di alcuni esemplari di Apple I (in scatola di montaggio), fondarono la Apple Computer Company.
Nel 1977 venne rilasciato Apple II, il vero primo Personal Computer. Apple II aveva dimensioni e costi ridotti rispetto ai precedenti elaboratori, era dotato di una tastiera per l’immissione dei dati e utilizzava come dispositivo di output un normale televisore: si tratta quindi di tecnologia alla portata di tutti e proprio questo sancisce la rapida diffusione del personal computer in tutto il mondo. Apple II poteva essere programmato utilizzando il linguaggio Basic e utilizzava una memoria di massa costituita da un disco (floppy disk) da 5’/4 pollici, e anche questo rappresenta una causa del suo successo.

apple ii

Nel 1978 la HAYES lancia sul mercato il primo modem (modulatore-demodulatore), che trasforma i segnali digitali dei computer in segnali analogici, trasmessi e ricevuti at­traverso il telefono. L’utente si può così collegare con qualsiasi altro computer al mondo. Nel 1979 l’IBM produce la prima stampante laser. Nel 1980 anche l’IBM entra nel mercato del personal computer (altre ditte, come Tandy, si erano già aggiunte precedentemente); il primo PC IBM, il 5150, venne presentato nel 1981, utilizzava un microprocessore 8088 con bus interno a 16 bit e soprattutto era molto più potente di tutti i suoi predecessori. Parallelamente si svilupparono aziende per la produzione di dispositivi ausiliari compatibili con la tecnologia IBM. Altre ditte puntarono ad abbassare i costi dei loro prodotti: ecco allora la Sinclair con lo Spectrum, la Commodore con il VIC20 e il Commodore 64 e la Texas Instrument. Nel 1982 il chip Intel 80286 possiede 134 mila transistor.commodore 64Nel 1983 lo studente americano F. Cohen realizza il primo virus per computer, che consisteva in un insieme di istruzioni capaci di penetrare in un computer via modem o floppy disk, provocando la distruzione di file e cancellando il contenuto della memoria.
Il sistema operativo con cui operavano le macchine IBM era il CP/M (Control Program for Microcomputers) ideato nel 1974 da G. Kindall, a cui presto succedette l’MS-DOS (MicroSoft Disk-Operating System), sviluppato per microprocessori a 16 bit dalla MicroSoft di Paul Allen, Steve Ballmer e Bill Gates, fondata sempre in USA nel 1977.
Nel 1985 il chip 80386 possiede 275 mila transistor. Nel 1989 il chip 80486 possiede 1,2 milioni di transistor. Nel 1993 nasce il Pentium: contiene 3,2 milioni di transistor, 15.000 per millimetro quadrato (i transistor utilizzati sono cento milioni di volte più piccoli del loro primo predecessore). Nel 1991 fanno la loro comparsa i primi microprocessori AMD; nel 1992 nascono i Cyrix. Nel 1994 abbiamo AMD 486DX2 a 80 MHz e Pentium a 100 MHz; negli anni successivi arrivano Pentium Pro, Pentium II, Pentium MMX, Pentium III (siamo nel 1999) e Pentium IV e AMD Duron e Athlon.
In questi ultimi anni (siamo arrivati al terzo millennio) si assiste ad un vertiginoso incremento della velocità a cui operano i mi­croprocessori — siamo ormai oltre i 2 GHz— e si parla ormai di tecnologia a 64 bit.

Breve storia dei linguaggi di programmazione, dei sistemi operativi e del software applicativo
Poiché la CPU lavora con 0 e 1, un programma sarà costituito da lunghe sequenze di 0 e 1 che istruiscono la macchina sulle operazioni da svolgere. Appare evidente che scrivere programmi le cui istruzioni sono costituite da lunghe sequenze di bit (linguaggio macchina) è un compito assolutamente non banale. Un programma quindi è una sequenza di istruzioni che la macchina deve eseguire; il programma viene caricato nella memoria dell’elaboratore e da lì eseguito, istruzione per istruzione, dalla CPU. Vista la necessità di scrivere direttamente in linguaggio macchina, nasce nel 1957 un linguaggio simbolico, il FORTRAN (FORmula TRANslator), sviluppato da John Backus, IBM. Il linguaggio simbolico sostituisce le sequenze di 0 e 1 con delle sequenze più brevi di lettere e numeri, con significati ben precisi e facilmente intelligibili dall’uomo. Il programmatore scriverà il programma utilizzando questi simboli (con un minor rischio di commettere errori) e la macchina dovrà tradurre il programma scritto con il linguaggio simbolico in linguaggio macchina. Nel 1958 il linguaggio Lisp venne sviluppato da John McCarthy al MIT, usato soprattutto per manipolare liste di dati. Nei primi anni ’60 nascono altri linguaggi di programmazione simbolici: accanto al Fortran, principalmente utilizzato per problemi scientifici e tecnici, abbiamo il COBOL (COmmon Business Oriented Language), principalmente utilizzato per problemi di tipo economico e finanziario in cui si manipolano molte informazioni con operazioni poco complesse (i simboli che costituiscono questo linguaggio sono parole normalmente utilizzate nel mondo del commercio), l’ALGOL (ALGOrithmic Language), che ha contribuito allo sviluppo del FORTRAN e del PASCAL, nato nel 1968 grazie a Niklaus Wirth e Kathleen Jensen.
Nasce pure in questo periodo il termine bug per indicare un errore di programmazione. Bug in inglese significa cimice o, genericamente, insetto (e non baco, come usualmente tradotto) e la cosa nacque da un errore del Mark II che fece impazzire i tecnici, fino a quando scoprirono che un relè non funzionava in modo corretto proprio perché una farfalla notturna vi era rimasta incastrata.

bug

Nascono in questi anni anche i programmi applicativi, cioè programmi scritti e messi in commercio da software house adatti a svolgere un ben determinato compito, eventualmente grazie a piccole modifiche o personalizzazioni; nasce quindi un nuovo settore chiamato software, che si sviluppa in modo parallelo al settore hardware.
Nascono altri linguaggi di programmazione: l’APL (A Programming Language). di Ken Iverson dell’Università di Harvard (1962), il PL/1 (Programming Language 1), adatto a problemi scientifici e commerciali, il BASIC (Beginners All-purpouse Sytnholic Instruction Code), di facile utilizzo anche da utenti non esperti (Tom Kurtz e John Kemeny, Dartmouth College).

  • Nel 1963 abbiamo la nascita del primo software Computer-Aided Design (CAD).
  • Nel 1969 Ken Thompson elaborò la prima versione del Sistema operativo Unix (all’AT&T’s Beli Laboratories).
  • Nel 1970 venne sviluppato da Charles Moore il linguaggio FORTH.
  • Nel 1974 Brian Kernighan e Dennis Ritchie svilupparono il linguaggio di programmazione C.
  • Nel 1975 Bill Gates e Paul Allen svilupparono un nuovo BASIC, l’MSBASIC. utilizzato da Atari.
  • Nel 1979 uscirono i primi word processor (Apple Writer e Wordstar); il primo foglio elettronico (VisiCalc per Apple II), Vulcan database program (dbase II), il linguaggio ADA, il Modula I (di Wirth); Apple Computer rilasciò il DOS 3.2 (Disk Operating System) sviluppato dall’Applesoft.
  • Nel 1980 abbiamo il sistema operativo Unix BSD 4.1 e Logo Computer Systems (Canada) commercializzò il suo linguaggio: il LOGO.
  • Nel 1981 MicroSoft rilasciò MS-DOS 1.0 (su un prototipo IBM 5150, noto come IBM PC).
  • Nel 1982 abbiamo il Fortran per sistemi MS-DOS, MBA (pacchetto con word processor, foglio elettronico, grafica, ecc.), il foglio elettronico Lotus 123, il GW Basic e l’MS Cobol di MicroSoft. L’anno successivo vedono la luce i word processor MicroSoft Word e Word-Perfect (della Satellite Software), il C+ + (evoluzione del C), il Turbo Pascal della Borland, un prototipo di Windows, OS/2 e Netware di Novell (per quanto riguarda i sistemi operativi).
  • Il 1985 diede i natali a MSDOS 3.0 e X Windows per sistemi Unix e il 1986 a MS Windows 1.0 e a QBasic 1.0 (sempre MicroSoft): nel 1987 abbiamo Windows 2.0. nel 1988 MS Office 1.0 (suite di programmi per l’ufficio), nel 1990 Windows 3.0, nel 1991 MS Word ed Excel 3.0, Linux, Windows NT.
  • Nel 1992 arrivano Windows 3.2, IBM OS/2 2.0, MS DOS 6.0. MS Access 1.0; nel 1993 Mosaic (il primo browser). Nel 1994 Apple Quick Time 2.0, Netscape Navigator, le Norton Utilities 3.0. MS Word 6 per Mac; nel 1995 Borland Delphi. Windows 95, MS Internet Explorer: nel 1996 Windows NT 4, nel 1998 Windows 98, nel 2000 Windows 2000 e ME; nel 2001, Windows XP, nel 2007 Windows Vista, nel 2009 Windows 7, nel 2012 Windows 8, nel 2013 Windows 8.1, nel 2015 Windows 10.

{/gspeech}

Commento all'articolo