Istoria calculatoarelor
Istoria maşinilor de calcul cuprinde evoluţia diverselor tehnici folosite de oameni pentru a efectua calcule matematice şi a maşinilor şi aparatelor fizice de care s-au folosit pentru acest scop. Multă vreme, aceste calcule se efectuau mintal, eventual cu ajutorul unor dispozitive simple, cum ar fi abacul şi, din secolul al XVII-lea, rigla de calcul.
Primele maşini de calcul erau aparate mecanice, care efectuau calcule analogice. Un plan îndrăzneţ pentru o astfel de maşină a fost cel al inginerului englez Charles Babbage, în anii 1820. Proiectul său pentru o maşină mecanică era însă mult mai complex decât orice alt dispozitiv realizat la acea vreme, şi nu s-au putut realiza piese cu o precizie suficient de mare, şi proiectul său a fost în cele din urmă abandonat. În acea perioadă a fost preluată o tehnologie folosită deja la maşinile muzicale şi la războaiele de ţesut, tehnologia cartelelor perforate, adaptată pentru maşinile de calcul, ca tehnică principală de programare. Tot atunci, au apărut primele maşini de calcul electrice, bazate pe simularea, cu ajutorul elementelor de circuit electric, a proprietăţilor sistemelor în care se efectuau calculele.
În prima jumătate a secolului al XX-lea, s-au răspândit diverse mărci de calculatoare de birou, cum ar fi Curta sau Friden şi s-a început dezvoltarea primelor calculatoare electronice, cu ajutorul tuburilor electronice.
Bazele calculatoarelor moderne s-au pus, însă, în preajma celui de-al doilea război mondial. Alan Turing a descris în 1936 un model matematic care astăzi îi poartă numele şi care rezumă funcţionarea unei maşini de calcul programabile, iar Claude Shannon a arătat că orice funcţie din algebra booleană poate fi implementată mecanic cu ajutorul unor circuite logice electronice. John von Neumann a descris şi el, pe când lucra la proiectul EDVAC, arhitectura von Neumann, o schemă structurală de bază a calculatoarelor. Aproape toate calculatoarele moderne sunt construite din circuite logice, se bazează pe arhitectura von Neumann şi implementează funcţional modelul maşinii Turing. În timpul celui de-al doilea război mondial, s-au construit calculatoare primitive pentru a calcula traiectoriile balistice şi pentru a decripta comunicaţiile inamicului şi proiectele realizate au fost continuate şi după război. Mai multe calculatoare din această primă generaţie candidează la titlul de „primul calculator modern”, printre care maşina Atanasoff-Berry (primul calculator electronic), calculatorul britanic Colossus (primul calculator electronic programabil), maşinile inginerului german Zuse (prima maşină Turing-completă) şi mainframe-ul ENIAC (primul calculator generic). Primul calculator cu program stocat, funcţionând în sistemul binar, Turing-complet şi construit exclusiv din componente electronice a fost Manchester Small-Scale Experimental Machine, pornit în iunie 1948.
Inventarea tranzistorului a declanşat o perioadă în care calculatoarele, la început uriaşe, scumpe şi dificil de utilizat, au început să evolueze în sensul miniaturizării, al reducerii costurilor de producţie şi utilizare şi al simplificării programării; în paralel cu unităţile de efectuare a calculelor matematice, s-au dezvoltat şi noi tehnologii pentru stocarea datelor. Calculatoarele cu circuite semiconductoare din a doua generaţie au fost urmate de calculatoarele din a treia generaţie (cu circuite logice integrate) şi din a patra generaţie (cu microprocesor integrat). Ulterior, mai multe calculatoare din centre universitare şi de cercetare au fost interconectate într-o reţea care s-a dezvoltat apoi într-un Internet global. La începutul secolului al XXI-lea, calculatoarele sunt omniprezente, de la telefoane mobile până la sonde spaţiale.
Înainte de maşinile de calcul
La început, calculele dificile sau complexe erau efectuate de oameni al căror unic rol era acesta. Aceşti calculatori se ocupau de regulă de efectuarea calculelor unei expresii matematice, de exemplu pentru efemeride în astronomie, pentru navigaţie sau pentru tabelele de tragere în artilerie. Calculele acelor vremuri erau foarte specializate şi costisitoare şi necesitau ani de pregătire matematică.
Primele aparate de calcul
De mii de ani s-a apelat la diverse invenţii, pentru a face calculele mai simple, începând prin corespondenţa unu-la-unu cu degetele. Primul dispozitiv a fost probabil sub forma beţelor de numărat. Alte dispozitive pentru înregistrarea numerelor folosite în Cornul Abundenţei erau formele de lut, care reprezentau numărul unor lucruri, probabil animale sau produse agricole, ţinute în vase.
Abacul era folosit pentru calcule aritmetice încă din 2400 î.e.n.
Mai multe variante de calculatoare analogice au fost construite în antichitate şi în evul mediu pentrua efectuarea de calcule astronomice. Printre acestea se numără mecanismul Antikythera şi astrolabul din Grecia antică (c. 150–100 î.e.n.), acestea fiind considerate primele calculatoare analogice mecanice. Alte versiuni vechi de aparate mecanice utilizate pentru calcule au fost planisfera şi invenţiile lui Abū Rayhān al-Bīrūnī(c. 1000 e.n.); equatoriumul şi astrolabul universal, independent de latitudine al lui Abū Ishāq Ibrāhīm al-Zarqālī (c. 1015 e.n.); calculatoarele analogice astronomice ale altor astronomi şi ingineri din lumea arabă medievală; şi turnul cu ceasul astronomic al lui Su Song (c. 1090 e.n.) din timpul dinastiei Song.
„Ceasul din castel”, un ceas astronomic inventat de Al-Jazari în 1206, este considerat a fi primul calculator analogic programabil. El afişa zodiacul, orbitele Lunii şi Soarelui, un arătător în formă de semilună ce se deplasa de-a lungul unei porţi determinând deschiderea automată a uşilor la fiecare oră, şi cinci cântăreţi sculptaţi care cântau când erau loviţi cu o pârghie declanşată de un arbore cu came ataşat unei roţi cu apă. Durata zilei şi a nopţii putea fi reprogramată în fiecare zi pentru a trata schimbarea duratei zilei şi nopţii de-a lungul anului.
Suanpan (numărul reprezentat pe acest abac este 6.302.715.408)
Matematicianul şi fizicianul scoţian John Napier a notat că înmulţirea şi împărţirea numerelor se pot efectua prin adăugarea, respectiv prin scăderea logaritmilor acestor numere. La generarea primelor tabele de logaritmi, Napier a avut nevoie să efectueze multe înmulţiri şi în acest punct a proiectat oasele lui Napier, un dispozitiv similar abacului, utilizat pentru înmulţire şi împărţire. Întrucât numerele reale pot fi reprezentate ca distanţe sau intervale pe o dreaptă, în anii 1620 a fost inventată rigla de calcul, pentru a mări semnificativ viteza de efectuare a operaţiilor de înmulţire şi împărţire. Riglele de calcul au fost utilizate de generaţii întregi de ingineri şi de profesionişti în domeniile ştiinţelor exacte, până la inventarea calculatorului de buzunar. Inginerii ce lucrau la programul Apollo, proiectul de a trimite oameni pe lună, au efectuat multe din calculele lor cu ajutorul riglelor de calcul, care aveau o precizie de trei sau patru cifre semnificative.
Aritmometru Yazu. Patentat în Japonia în 1903. Se observă manivela cu care se învârt roţile calculatorului.
Omul de ştiinţă german Wilhelm Schickard a construit primul calculator numeric mecanic în 1623. Întrucât calculatorul său folosea tehnici cum ar fi roţile dinţate, dezvoltate iniţial pentru ceasuri, acest calculator a fost denumit „ceas calculator”. A fost utilizat de prietenul lui Schickard, Johannes Kepler, care a revoluţionat astronomia, formulând legile mişcări planetelor. La muzeul Zwinger se păstrează un calculator original al lui Pascal (1640). Au urmat maşinile lui Blaise Pascal (Pascaline, 1642) şi Gottfried Wilhelm von Leibniz (1671). Leibniz a spus odată că „este nedemn de un om excelent să irosească ceasuri întregi trudind ca un sclav efectuând calcule pe care le-ar putea liniştit lăsa în seama altora dacă s-ar folosi maşini”
Pe la 1820, Charles Xavier Thomas a creat primul calculator mecanic produs în serie, aritmometrul Thomas, care putea efectua adunări, scăderi, înmulţiri şi împărţiri. Calculatoarele mecanice, ca Addiator (zecimal), comptometrul, calculatoarele Monroe, Curta şi Addo-X au continuat să fie folosite până în anii 1970. Leibniz a fost cel care a descris sistemul de numeraţie binar, principiu central al tuturor calculatoarelor moderne. Până în anii 1940, multe proiecte ulterioare (inclusiv maşinile lui Charles Babbage din anii 1800 şi chiar ENIAC din 1945) s-au bazat pe sistemul zecimal; numărătoarele ENIAC emulau operarea roţilor cu cifre ale unei maşini mecanice de adunat.
În Japonia, Ryoichi Yazu a patentat un calculator mecanic denumit aritmometru Yazu în 1903. Acesta consta dintr-un singur cilindru şi 22 de roţi dinţate, şi folosea sistemele mixte în bază 2 şi 5, bine cunoscute de utilizatorii sorobanului (abacul japonez). Transportul şi sfârşitul calculului se determinau automat. Acesta s-a vândut în peste 200 de exemplare, mai ales către agenţiile guvernamentale cum ar fi Ministerul de Răzoi şi staţiilor experimentale agricole. Yazu a investit profitul într-o fabrică ce urma să producă primul avion cu elice din Japonia, dar proiectul a fost abandonat după ce Yazu a murit la 31 de ani.
Tehnologia cartelelor perforate
Sistem cu cartele perforate al unei maşini muzicale
Încă din 1725, Basile Bouchon a folosit o buclă de hârtie perforată într-un război de ţesut pentru a stabili şablonul reprodus pe materialele textile, iar în 1726 colaboratorul său Jean-Baptiste Falcon a îmbunătăţit proiectul acestuia, utilizând cartele de hârtie perforate prinse una de alta pentru eficienţă în adaptarea şi modificarea programului. Războiul de ţesut Bouchon-Falcon era semiautomat şi necesita introducerea manuală a programului. În 1801, Joseph-Marie Jacquard a dezvoltat un război în care şablonul de ţesut era controlat de cartele perforate. Seria de cartele putea fi schimbată fără schimbarea designului mecanic al războiului.
În 1833, Charles Babbage a trecut de la maşina diferenţială la dezvoltarea unui model mai complet, motorul analitic, care se baza direct pe cartelele perforate ale lui Jacquard pentru programare. În 1835, Babbage şi-a descris motorul analitic. Acesta era schiţa unui calculator generic programabil, care primea intrarea pe cartele perforate şi era alimentat cu ajutorul unui motor cu aburi. O invenţie importantă au reprezentat-o roţile dinţate, ca înlocuitor al mărgelelor de la un abac. Ideea iniţială a fost cea de a utiliza cartelele perforate pentru a controla o maşină care să calculeze şi să tipărească tabele logaritmice cu o precizie foarte mare. Deşi proiectul lui Babbage pentru motorul său analitic era unul riguros şi planurile erau probabil corecte, sau cel puţin perfectibile, dezvoltarea a fost încetinită din mai multe motive. Babbage era o personalitate dificilă şi intra în conflict cu oricine nu-i respecta ideile. Toate componentele maşinii analitice ar fi trebuit realizate manual. Toate micile erori de la fiecare piesă, cumulate, duceau la mari discrepanţe la o maşină cu mii de componente, complexitate ce impunea toleranţă mult mai mică decât se practica la acea vreme. Proiectul s-a destrămat în dispute cu producătorii de piese şi s-a încheiat fără succes după epuizarea fondurilor guvenamentale.
Maşina tabulatoare IBM 407 (1961). Se obsercă patch-panelul, în partea dreaptă. Deasupra lui se află un rând de comutatoare.
O replică a motorului diferenţial II, un proiect anterior şi mai limitat, este operaţional din 1991 la London Science Museum. Cu câteva modificări triviale, el funcţionează aşa cum l-a proiectat Babbage şi arată că acesta avea dreptate în teorie. Muzeul a utilizat maşini-unelte operate de calculator pentru a construi componentele necesare, respectând toleranţe pe care un maşinist al secolului al XIX-lea nu ar fi putut să le obţină. Nereuşita lui Babbage poate fi atribuită dificultăţilor legate nu doar de finanţe şi de politică, ci şi de dorinţa lui permanentă de a adăuga noi şi noi caracteristici în proiect. Pe urmele lui Babbage, deşi fără cunoştinţă de munca acestuia, a călcat Percy Ludgate, un contabil din Dublin, Irlanda. El a proiectat separat un calculator mecanic programabil, pe care l-a descris într-o lucrare publicată în 1909.
Spre sfârşitul anilor 1880, Herman Hollerith a inventat o tehnică de înregistrare a datelor pe un mediu de pe care să fie ulterior citite de o maşină. Anterior, maşini care citesc medii de stocare fuseseră folosite pentru diferite automate, războaie de ţesut sau maşini muzicale, dar nu pentru date. Hollerith a ajuns să folosească cartele peforate după ce a observat cum înregistrează conductorii de tren caracteristicile personale ale fiecărui pasager pe biletele acestora. Pentru prelucrarea acestor cartele perforate, cunoscute drept „cartele Hollerith”, el a inventat tabulatorul şi maşina perforatoare. Aceste trei invenţii au format vazele industriei moderne de prelucrarea informaţiei. Maşinile lui foloseau relee mecanice (şi solenoizi) pentru incrementarea numărătoarelor mecanice. Metoda lui Hollerith a fost utilizată cu ocazia recensământului din 1890 din Statele Unite, iar rezultatele finale au fost „... definitivate cu mai multe luni înainte de termen, cu costuri mult mai mici decât cele estimate”. Compania lui Hollerith a stat la baza IBM. IBM a transformat tehnologia de perforare a cartelelor într-o unealtă puternică pentru prelucrarea de date şi a produs o linie extinsă de unit record equipment. Până la 1950, cartelele IBM erau omniprezente în industrie şi în instituţiile publice. Pe majoritatea cartelelor ce trebuia să circule ca documente era scris avertismentul Do not fold, spindle or mutilate, (Nu împăturiţi, nu înţepaţi şi nu mutilaţi), care a devenit un motto al perioadei de după al doilea război mondial.
Cartelă perforată cu alfabetul extins
Articolele lui Leslie Comrie despre metodele cu cartele perforate şi articolul Punched Card Methods in Scientific Computation de W.J. Eckert din 1940, descriau tehnici suficient de avansate pentru a rezolva şi ecuaţii diferenţiale sau pentru a efectua înmulţiri şi împărţiri cu reprezentări în virgulă mobilă, toate pe cartele perforate.
Programarea calculatoarelor în era cartelelor perforate avea ca element principal centrele de calcul. Utilizatorii, de exemplu, studenţi la facultăţile tehnice şi ştiinţifice, îşi depuneau temele la centrul de calcul sub formă de cartele perforate, fiecare cartelă reprezentând o linie de cod. După aceea, ei trebuia să aştepte rândul programului lor să fie prelucrat, compilat şi executat. După un timp, rezultatele tipărite, marcate cu datele de identificare ale autorului, se depuneau la un ghişeu al centrului de calcul. În multe cazuri, aceste rezultate erau compuse doar dintr-un mesaj de eroare, privind sintaxa limbajului etc., obligând autorul să efectueze un nou ciclu de editare-compilare-rulare. Cartele perforate se mai utilizează încă, iar dimensiunile lor distinctive (Hollerith a gândit dimensiunea cartelelor perforate pentru ca ele să încapă în cutiile metalice în care se ţineau bancnote de un dolar din acea perioadă, mai mari decât cele de astăzi) mai pot fi recunoscute în formulare, date vechi şi în programe din toată lumea.
Anii 1930–1960: calculatoarele de birou
Calculatorul Curta, care putea efectua înmulţiri şi împărţiri
Până în secolul al XX-lea, calculatoarele mecanice, casele de marcat, maşinile contabile, au fost reproiectate în sensul utilizării motoarelor electrice, poziţia roţilor dinţate reprezentând starea unei variabile. În preajma anilor 1920, interesul lui Lewis Fry Richardson pentru prognozarea vremii l-a făcut să propună utilizarea analizei numerice de către calculatori pentru modelarea fenomenelor meteorologice; la începutul secolului al XXI-lea, sunt necesare cele mai puternice calculatoare de pe Pământ pentru o modelare adecvată a atmosferei cu ajutorul ecuaţiilor Navier-Stokes. Începând cu anii 1930, mai multe companii, precum Friden, Marchant Calculator şi Monroe au realizat calculatoare de birou capabile să efectueze adunări, scăderi, înmulţiri şi împărţiri. În timpul proiectului Manhattan, viitorul laureat al premiului Nobel Richard Feynman a supervizat o echipă de matematicieni calculatori, printre care multe femei, care înţelegeau ecuaţiile diferenţiale ce trebuiau rezolvate. Chiar şi renumitul Stanisław Ulam a fost forţat muncească la transformarea formulelor matematice în aproximaţii calculabile pentru bomba cu hidrogen, după război.
În 1948, a fost introdus Curta, un calculator mecanic mic, portabil de dimensiunea unei râşniţe de piper. În anii 1950 şi 1960 au apărut pe piaţă mai multe mărci de maşini de calcul. Primul calculator de birou electronic a fost calculatorul de fabricaţie britanică ANITA Mk.VII, care utiliza un afişaj cu tuburi Nixie şi 177 de tiratroane miniaturizate. În iunie 1963, Friden a introdus maşina EC-130 cu patru funcţii. Aceasta costa 2200 de dolari şi fusese proiectată folosind numai tranzistoare, avea o capacitate de 13 digiţi şi un afişaj CRT de 130 mm, şi a introdus forma poloneză inversă. Modelul ulterior EC-132 a adăugat funcţionalitatea de calcul a rădăcinii pătrate şi cea a inversării funcţiilor. În 1965, Laboratoarele Wang au produs LOCI-2, un calculator de birou cu 10 digiţi care utiliza un afişaj cu tuburi Nixie şi putea calcula logaritmi.
Analizorul diferenţial Cambridge, 1938
Înaintea celui de-al doilea război mondial, calculatoarele analogice mecanice şi electrice erau considerate state of the art. Calculatoarele analogice profită de similitudinile dintre matematica proprietăţilor microscopice—poziţia şi mişcarea roţilor sau potenţialul şi curentul electric—şi matematica altor fenomene fizice, de exemplu, traiectoriile balistice, inerţia, rezonanţa, transferul de energie, impulsul. Ele modelează fenomene fizice cu ajutorul tensiunilor electrice şi al curenţilor electrici drept cantităţi analogice.
În esenţă, aceste sisteme analogice funcţionează prin crearea unor circuite electrice corespondente ale altor sisteme, ceea ce permite utilizatorilor să prezică comportamentul acelor sisteme de interes prin observarea corespondentelor lor analogice. Cea mai utilă dintre aceste analogii a fost modul în care comportamentul la scară microscopică se poate reprezenta prin ecuaţii diferenţiale şi integrale, şi ar putea fi astfel utilizat pentru a rezolva acele ecuaţii. Un exemplu de astfel de maşină, care folosea apa drept cantitate analogică, a fost integratorul cu apă construit în 1928; un exemplu electric îl constituie maşina Mallock, construită în 1941. Un planimetru este un dispozitiv ce calculează integrale, folosind distanţa drept cantitate analogică. Până în anii 1980, sistemele HVAC au utilizat aer atât drept cantitate analogică, cât şi ca element de control. Spre deosebire de calculatoarele numerice moderne, calculatoarele analogice nu sunt foarte flexibile, şi trebuie reconfigurate (reprogramate) manual pentru a le trece de la rezolvarea unei probleme la alta. Calculatoarele analogice aveau, faţă de primele calculatoare numerice, avantajul că puteau fi utilizate pentru a rezolva probleme complexe folosind analogii comportamentale, pe când primele tentative pe calculatoarele numerice au fost foarte limitate.
Diagrama Smith, o celebră nomogramă.
Deoarece calculatoarele erau ceva rar în acea perioadă, soluţiile erau adesea hardcodate în forme de hârtie cum ar fi nomogramele, care puteau produce soluţii analoage ale acestor probleme, cum ar fi distribuţia presiunilor si temperaturilor într-un sistem de încălzire. Unele dintre cele mai larg utilizate calculatoare analogice conţineau dispozitive pentru ţintire, cum ar fi sistemul de ghidare a bombardamentelor Norden şi sistemele de control al tragerilor. Unele au continuat să fie folosite zeci de ani după al doilea război mondial; calculatorul de control al tragerilor Mark I a fost folosit de marina Statelor Unite pe mai multe nave de la distrugătoare la cuirasate. Printre alte calculatoare analogice s-a numărat Heathkit EC-1, şi calculatorul hidraulic MONIAC, folosit pentru modelarea fluxurilor econometrice.
Ştiinţa calculatoarelor analogice a atins apogeul cu analizorul diferenţial, inventat în 1876 de către James Thomson şi construit de H. W. Nieman şi Vannevar Bush la MIT începând cu 1927. S-au fabricat doar câteva astfel de dispozitive; cel mai puternic dintre ele a fost construit la Şcoala Moore de Inginerie Electrică de la Universitatea Pennsylvania, unde s-a construit ulterior şi ENIAC. Calculatoarele electronice numerice, cum ar fi ENIAC au reprezentat sfârşitul majorităţii maşinilor analogice de calcul, deşi s-a continuat să se mai folosească în aplicaţii specializate unele calculatoare analogice hibride, controlate de electronică digitală, de-a lungul anilor 1950 şi 1960.
Calculul digital
Program scris pe cartele perforate. De regulă, programele erau mult mai lungi decât acest fragment.
Era modernă a maşinilor de calcul a început cu o frenezie a dezvoltării în perioada dinainte de şi după al doilea război mondial, când componentele electronice (la acea vreme, relee, rezistoare, condensatoare, bobine, şi tuburi electronice) au înlocuit echivalentele lor mecanice, şi calculul digital a înlocuit calculul analogic. Maşini cum ar fi Z3, calculatorul Atanasoff–Berry, calculatoarele Colossus şi ENIAC au fost construite manual cu ajutorul circuitelor ce conţineau relee sau tuburi electronice, şi adesea foloseau cartelele sau benzile perforate ca dispozitiv de intrare şi ca mediu de stocare.
În această perioadă, s-au produs mai multe maşini cu capabilităţi din ce în ce mai vaste. La început, nu exista nimic care să semene măcar cu un calculator modern, în afara planurilor pierdute ale lui Charles Babbage şi în afara ideilor teoretice ale lui Alan Turing. La sfârşitul acestei perioade, s-au construit dispozitive cum ar fi calculatoarele Colossus şi EDSAC, unele din primele calculatoare electronice numerice, dar niciun moment nu este unanim considerat a fi momentul naşterii calculatoarelor numerice.
Lucrarea lui Alan Turing din 1936 s-a dovedit extrem de influentă în domeniile informaticii şi ştiinţei calculatoarelor. Scopul principal a fost cel de a demonstra că există probleme (şi anume problema opririi) care nu pot fi rezolvate de niciun proces secvenţial. Prin aceasta, Turing a dat o definiţie a calculatorului universal care execută un program stocat pe o bandă. Această construcţie a ajuns să fie denumită maşina Turing; ea a înlocuit limbajul universal, mult mai complex şi bazat pe aritmetică, al lui Kurt Gödel. În afara limitarilor impuse de spaţiul finit de stocare, calculatoarele moderne sunt denumite Turing-complete, adică au o capabilitate de a executa algoritmi echivalentă cu cea a maşinii Turing universale.
Bandă magnetică cu nouă piste
Pentru ca o maşină de calcul să fie un calculator universal, trebuie să existe un mecanism convenabilde citire-scriere, cum ar fi banda perforată. Cunoscând modelul teoretic al maşinii universale de calcul a lui Alan Turing, John von Neumann a definit o arhitectură ce utilizează aceeaşi memorie atât pentru stocarea programelor cât şi a datelor: practic toate calculatoarele moderne utilizează această arhitectură (sau una derivată din ea). Deşi, din punct de vedere teoretic, după cum a arătat şi proiectul lui Babbage, se poate implementa un calculator complet mecanic, electronica a făcut posibilă viteza şi gradul de miniaturizare ce caracterizează calculatoarele moderne.
În perioada celui de-al doilea război mondial, au existat trei fluxuri paralele de dezvoltare a tehnologiei calculatoarelor, din care unul a fost complet ignorat, iar al doilea a fost ţinut secret în mod deliberat. Cel ignorat a fost reprezentat de munca germanului Konrad Zuse. Cel de-al doilea a fost dezvoltarea secretă a calculatoarelor Colossus în Regatul Unit. Niciuna dintre acestea nu a avut o influenţă deosebită asupra diverselor proiecte similare din Statele Unite. Al treilea flux de dezvoltare a fost şi cel mai mediatizat, şi a fost reprezenta de maşinile ENIAC şi EDVAC ale lui Eckert şi Mauchly.
În timp ce lucra la Laboratoarele Bell în noiembrie 1937, George Stibitz a inventat şi a construit un calculator cu relee, denumit „Model K” (de la kitchen table–masă de bucătărie, pe care a efectuat asamblarea), care a fost primul care a efectuat calcule în formă binară.
Zuse
Replică a calculatorului Z1 al lui Zuse.
Izolat, în Germania, Konrad Zuse a demarat în 1936 construcţia primului calculator din seria Z, calculatoare cu memorie şi programabile (iniţial, programabilitatea era foarte restrânsă). Calculatorul Z1, pur mecanic, dar care lucra în binar, a fost finalizat în 1938 şi nu a funcţionat niciodată corect din cauza unor probleme în ce priveşte precizia unor piese.
Maşina ulterioară a lui Zuse, Z3, a fost terminată în 1941. Ea se baza pe relee telefonice şi nici ea nu funcţiona satisfăcător. Totuşi, structura lui era întrucâtva similară maşinilor moderne, putând efectua şi operaţii în virgulă mobilă. Înlocuirea sistemului zecimal folosit anterior de Babbage, şi dificil de implementat cu sistemul binar a avut ca efect simplificarea construcţiei maşinii şi creşterea fiabilităţii în condiţiile tehnologiilor disponibile la acea dată.
Programele erau introduse în calculatorul Z3 pe filme perforate. Saltul condiţionat lipsea, dar în anii 1990 s-a demonstrat teoretic că Z3 era totuşi o implementare de maşină Turing. Prin două cereri de patentare, în 1936, Konrad Zuse a anticipat şi că instrucţiunile maşinii vor putea fi stocate în acelaşi spaţiu cu datele – amănunt-cheie în ceea ce ulterior a devenit arhitectura von Neumann care a fost implementată pentru prima oară în maşina britanică EDSAC (1949). Zuse a susţinut şi că a proiectat primul limbaj de programare de nivel înalt, (Plankalkül), în 1945 (publicat în 1948) deşi acesta a fost implementat pentru prima oară în 2000 de o echipă condusă de Raúl Rojas de la Universitatea Liberă Berlin – la cinci ani după moartea lui Zuse.
Zuse a întâmpinat dificultăţi în timpul celui de-al doilea război mondial, când unele dintre maşinile sale au fost distruse de campaniile de bombardamente ale Aliaţilor. Munca sa a fost multă vreme necunoscută de inginerii din Regatul Unit şi din SUA, deşi IBM avea informaţii despre ea, şi a finanţat compania lui Zuse în 1946, în schimbul unei opţiuni pentru patentele obţinute de acesta.
Colossus
Colossus a fost utilizat pentru a sparge cifrurile germane în timpul celui de-al doilea război mondial.
În timpul celui de-al doilea război mondial, la Bletchley Park (la 64 km nord de Londra) britanicii au repurtat mai multe succese în descifrarea comunicaţiilor militare criptate ale Germaniei. Maşina germană de criptare, Enigma, a fost atacată cu ajutorul unor maşini electromecanice denumite Bombe. Maşinile Bombe, proiectate de Alan Turing şi Gordon Welchman, după maşina criptografică poloneză Bomba a lui Marian Rejewski (1938) au început să fie utilizate în 1941. Acestea eliminau din setările posibile ale maşinii Enigma efectuând serii de deducţii logice implementate electric. Majoritatea posibilităţilor conduceau la contradicţii, iar cele puţine care mai rămâneau puteau fi verificate manual.
Germanii au dezvoltat şi alte sisteme de criptare diferite de Enigma. Maşina Lorenz SZ 40/42 a fost utilizată pentru comunicaţii militare la nivel înalt, denumite de către britanici Tunny. Primele interceptări de mesaje Lorenz au avut loc în 1941. Ca parte dintr-un atac asupra cifrurilor Tunny, profesorul Max Newman şi colegii săi au ajutat la scrierea specificaţiilor calculatorului Colossus. Colossus Mk I a fost construit între martie şi decembrie 1943 de Tommy Flowers şi colegii săi de la Post Office Research Station de la Dollis Hill din Londra şi a fost livrat la Bletchley Park în ianuarie 1944.
Colossus a fost prima maşină de calcul complet electronică. Ea utiliza un număr foarte mare de tuburi electronice. Primea datele de intrare pe bandă de hârtie şi putea fi configurată să efectueze diferite operaţii din logica booleană, nefiind însă Turing-completă. S-au construit nouă exemplare de Colossus Mk II şi singurul exemplar de Mk I a fost îmbunătăţit şi transformat şi el într-un Mk II. Detaliile despre existenţa, proiectarea, şi utilizarea lor au fost păstrate secret până în anii 1970. Winston Churchill personal a ordonat ca ele să fie dezmembrate în componente nu mai mari decât mâna unui om. Din cauza acestor constrângeri, calculatoarele Colossus nu au apărut în multe istorii ale calculatoarelor. O copie reconstruită a unei maşini Colossus este expusă la Bletchley Park.
Progresele din SUA
În 1937, Claude Shannon a arătat că există o corespondenţă unu-la-unu între conceptele logicii booleene şi anumite circuite electrice, care astăzi poartă numele de porţi logice, şi sunt omniprezente în calculatoarele numerice. În lucrarea sa de masterat de la MIT, pentru prima dată în istorie, Shannon a arătat că releele şi comutatoarele electronice pot calcula expresii de algebră booleană. Intituată A Symbolic Analysis of Relay and Switching Circuits (O analiză simbolică a releelor şi circuitelor de comutaţie), teza lui Shannon a pus bazele proiectării practice a circuitelor numerice. George Stibitz a realizat un calculator pe bază de relee, denumit de el Model K pentru Laboratoarele Bell în noiembrie 1937. Laboratoarele Bell au autorizat un program complet de cercetare condus de Stibitz spre sfârşitul lui 1938. Proiectul Complex Number Calculator, terminat la 8 ianuarie 1940, putea face calcule cu numere complexe. Într-o demonstraţie la conferinţa American Mathematical Society de la Dartmouth College în ziua de 11 septembrie 1940, Stibitz a reuşit să trimită comenzi la distanţă maşinii Complex Number Calculator prin liniile telefonice cu ajutorul unui teletype. A fost prima maşină de calcul folosită vreodată la distanţă. Printre participanţii la conferinţă care au fost de faţă la demonstraţie s-au numărat John von Neumann, John Mauchly şi Norbert Wiener, care au scris despre aceasta în memoriile lor.
Replică a calculatorului Atanasoff-Berry la etajul 1 din Durham Center, Iowa State University
În 1939, John Vincent Atanasoff şi Clifford E. Berry de la Iowa State University au dezvoltat Calculatorul Atanasoff–Berry (Atanasoff–Berry Computer, ABC), Proiectul a folosit peste 300 de tuburi electronice cu vid şi folosea condensatoare fixate într-un tambur mecanic rotativ pe post de memorie. Deşi maşina ABC nu era programabilă, a fost prima care a avut un sumator cu tuburi electronice. ABC a rămas un proiect uitat până când a devenit motivul procesului Honeywell v. Sperry Rand, care a invalidat patentul ENIAC (şi câteva altele), printre altele, pentru că lucrările lui Atanasoff l-au precedat.
În 1939, a început, în laboratoarele Endicott de la IBM, dezvoltarea maşinii Harvard Mark I. Cunoscut oficial sub numele de Automatic Sequence Controlled Calculator (Calculator Controlat cu Secvenţă Automată), Mark I a fost un calculator electromecanic construit cu finanţare de la IBM şi cu asistenţă din partea personalului IBM, sub conducerea matematicianului Howard Aiken de la Harvard. Proiectul său a fost influenţat de maşina analitică a lui Babbage, folosea aritmetică în baza 10 şi avea roţi de stocare şi comutatoare rotitoare în plus faţă de releele electromagnetice. Se putea programa cu o bandă de hârtie perforată, şi conţinea mai multe unităţi de calcul ce lucrau în paralel. Versiunile ulterioare conţineau mai mult ecititoare de bandă perforată, iar maşina putea comuta între dispozitivele de intrare pe baza unei condiţii. Cu toate acestea, maşina nu era chiar Turing-completă. Mark I a fost mutat la Universitatea Harvard şi a început să funcţioneze în mai 1944.
ENIAC
ENIAC calcula traiectorii balistice şi consuma energie cu o putere de 160 kW.
ENIAC (Electronic Numerical Integrator and Computer–Calculator Şi Integrator Electronic Numeric), construit în SUA, a fost primul calculator electronic generic. El combina, pentru prima dată, viteza mare a componentelor electronice cu posibilitatea programării pentru probleme mai complexe. Putea efectua 5000 de operaţii de adunare şi scădere pe secundă, fiind de o mie de ori mai rapid decât alte maşini care efectuau aceste operaţii. Avea şi module pentru înmulţire, împărţire şi rădăcină pătrată. Memoria de mare viteză era limitată la 20 de cuvinte (aproximativ 80 de octeţi.) Construit sub conducerea lui John Mauchly şi J. Presper Eckert la Universitatea Pennsylvania, dezvoltarea şi construcţia lui ENIAC au durat din 1943 până la sfârşitul lui 1945. Maşina era uriaşă, cântărea 30 de tone, şi conţinea peste 18.000 de tuburi. Una dintre marile realizări inginereşti ale maşinii era minimizarea arderii tuburilor, problemă comună la acea vreme. Maşina a fost utilizată aproape permanent de-a lungul următorilor zece ani.
ENIAC era în mod clar un dispozitiv Turing-complet. Putea calcula orice problemă care putea încăpea în memorie. Un „program” de pe ENIAC, însă, era definit prin conexiunile cablurilor şi prin comutatoare sale, fiind foarte departe de maşinile electronice cu program stocat care au evoluat din el. Odată scris un program, el trebuia să fie introdus manual.
Maşini von Neumann din prima generaţie
Imagine conceptuală a arhitecturii von Neumann (1947)
Chiar înainte de finalizarea lui ENIAC, Eckert şi Mauchly au recunscut limitările acestuia şi au demarat proiectul unui calculator cu program stocat, EDVAC. John von Neumann este autorul unui raport care descria proiectul EDVAC în care atât programul cât şi datele de lucru aveau să fie stocate într-un singur spaţiu unificat. Acest proiect simplu, denumit arhitectura von Neumann, avea să constituie baza dezvoltării tuturor succesoarelor lui ENIAC din toată lumea. În cadrul acestei generaţii, spaţiul temporar de stocare consta din linii cu întârziere, care foloseau timpul de propagare a sunetului printr-un mediu, cum ar fi mercurul lichid (sau un cablu) pentru a stoca datele temporar. O serie de impulsuri acustice sunt trimise de-a lungul unui tub; după un timp, când impulsul ajunge la capătul tubului, circuitele electronice detectau dacă acel impuls reprezintă un 1 sau un 0 şi determinau oscilatorul să-l retransmită. Alte maşini foloseau tuburi Williams, care se bazau pe proprietatea unui tub catodic de a stoca şi accesa date. Până în 1954, memoriile cu ferite începuseră să înlocuiască alte forme de mecanisme de stocare temporară, şi au dominat acest domeniu până spre jumătatea anilor 1970.
Memorie cu ferite. Fiecare miez magnetic reprezintă un bit.
EDVAC a fost primul calculator cu program stocat care a fost proiectat, dar nu a fost primul care a funcţionat. Eckert şi Mauchly au părăsit proiectul, iar construcţia acestuia a întârziat. Prima maşină von Neumann funcţională a fost Manchester „Baby” sau Small-Scale Experimental Machine, dezvoltată de Frederic C. Williams şi Tom Kilburn la Universitatea Manchester în 1948; Ea a fost urmată în 1949 de calculatorul Manchester Mark 1, un sistem complet, cu tuburi Williams şi memorie cu tambur magnetic, şi care a introdus registrele index. Alt pretendent la titlul de „primul calculator numeric cu program stocat” a fost EDSAC, proiectat şi construit la Universitatea Cambridge. Pus în funcţiune la mai puţin de un după Manchester „Baby”, EDSAC era inspirat din planurile lui EDVAC (Electronic Discrete Variable Automatic Computer), succesorul lui ENIAC; aceste planuri erau deja întocmite în momentul când a fost realizat ENIAC. Spre deosebire de ENIAC, care folosea prelucrarea paralelă, EDVAC utiliza o singura unitate de prelucrare. Acest design era mai simplu şi a fost primul implementat în fiecare etapă de miniaturizare care a urmat. Maşina Universităţii din Manchester University a devenit prototipul pentru Ferranti Mark I. Prima maşină Ferranti Mark I a fost livrată Universităţii în luna februarie 1951 şi, între 1951 şi 1957 s-au mai vândut încă cel puţin nouă.
Primul calculator programabil universal din URSS a fost creat de o echipă de oameni de ştiinţă sub conducerea lui Serghei Alexeievici Lebedev de la Institutul de Electrotehnologie Kiev. Calculatorul, denumit MESM (МЭСМ, Mică Maşină Electronică de Calcul) a devenit operaţional în 1950. El avea aproximativ 6000 de tuburi electronice şi un consum de 25 kW. Putea efectua aproximativ 3000 de operaţii pe secundă. Printre primele calculatoare s-a numărat şi CSIRAC, un proiect australian care şi-a rulat primul program de test în 1949. CSIRAC este cel mai vechi calculator care încă mai funcţionează şi a fost primul care a fost utilizat pentru ascultarea de muzică în format digital.
În octombrie 1947, directorii J. Lyons & Company, o companie britanică de catering celebră pentru cafenelele sale şi interesată în tehnicile noi de gestiune, a decis să se implice activ în promovarea dezvoltării comerciale a calculatoarelor. Până în 1951, calculatorul LEO I era operaţional şi a rulat primul job de rutină al unui calculator comercial. La 17 noiembrie 1951, compania J. Lyons a demarat rularea săptămânală a unei operaţiuni de evaluări financiare pe piaţa produselor de brutărie pe LEO (Lyons Electronic Office). Aceasta a fost prima aplicaţie comercială funcţională bazată pe un calculator cu program stocat.
Via Wikipedia.
Dostları ilə paylaş: |