Text Derulant

27 nov. 2010

Istoria mașinilor de calcul - partea a-IV-a

8.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.
Î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ă),[44] 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-UL


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


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[46] începuseră să înlocuiască alte forme de mecanisme de stocare temporară, și au dominat acest domeniu până spre jumătatea anilor 1970.
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.


Calculatoarele comerciale


În iunie 1951, UNIVAC I (Universal Automatic Computer) a fost livrat Biroului de Recensăminte al Statelor Unite. Remington Rand a vândut 46 de mașini la prețuri de peste 1 milion de dolari bucata. UNIVAC a fost astfel primul calculator produs în serie; toate predecesoarele sale fuseseră unicate, sau în serii extrem de limitate. El utiliza 5200 de tuburi electronice și avea un consum de 125 kW. Folosea o memorie cu linii de întârziere cu mercur capabilă să stocheze 1000 de cuvinte de câte 11 cifre zecimale plus semn (lungime echivalentă în binar cu 72 biți. O caracteristică esențială a sistemului UNIVAC a fost un nou tip de bandă magnetică metalică, și o unitate de bandă de mare viteză, pentru stocare pe mediu nevolatil.


În 1952, IBM a anunțat public mașina electronică de prelucrare a datelor IBM 701, prima din seria IBM 700/7000 și primul calculator IBM mainframe. IBM 704, introdus în 1954, utiliza memorie cu ferite, care a devenit standard la mașinile mari. Primul limbaj de programare generic de nivel înalt care a fost implementat vreodată, Fortran, era dezvoltat și la IBM pentru 704 în 1955–1956 și a fost lansat la începutul lui 1957. În 1955 s-a format un grup de utilizatori voluntari pentru a face schimb de experiență și de software pentru IBM 701; acest grup, care există și în anii 2000, a fost un precursor al comunităților open source.
IBM a introdus în 1954 un calculator mai mic și mai ieftin care s-a dovedit foarte popular. IBM 650 cântărea peste 900 kg, sursa de alimentare atașată cântarea aproximativ 1350 kg și cele două părți stăteau în două dulapuri separate, de aproximativ 1,5 x 0,9 x 1,8 metri. Costa 500.000 de dolari și putea fi închiriat pentru 3500 de dolari pe lună. Memoria sa cu tamburi putea stoca inițial doar 2000 de cuvinte de zece cifre, iar programarea sa era extrem de dificilă și importantă pentru o utilizare eficientă. Astfel de limitări de memorie aveau să domine programarea timp de zeci de ani după aceea, până când capabilitățile hardware au evoluat și au permis un model de programare mai simplu.


În 1955, Maurice Wilkes a inventat microprogramarea,care permite definirea unui set de instrucțiuni de bază ce poate fi extins prin unele programe denumite astăzi firmware sau microcod. Acest concept a fost utilizat în procesoarele și în unitățile de virgulă mobilă ale mainframe-urilor și ale altor calculatoare, cum ar fi cele din seria IBM 360.


În 1956, IBM a vândut primul sistem de stocare pe disc magnetic, RAMAC (Random Access Method of Accounting and Control). Acesta utiliza 50 de discuri metalice de 610 mm, cu 100 de piste pe fiecare față. Acesta putea stoca 5 megaocteți de date și costa 10.000 de dolari pe megaoctet.La nivelul anului 2008, unitățile de stocare pe suport magnetic, sub formă de hard diskuri, costau mai puțin de o cincizecime de cent pe megaoctet.


A doua generație: calculatoarele cu tranzistoare


În a doua jumătate a anilor 1950, tranzistoarele bipolare (BJTs) au înlocuit tuburile electronice. Utilizarea lor a dat naștere calculatoarelor de a doua generație. Inițial, se credea că se vor produce și se vor utiliza foarte puține calculatoare la nivel mondial. Aceasta se datora dimensiunilor, costurilor, și priceperii necesare pentru a le folosi și pentru a interpreta rezultatele. Tranzistoarele au redus masiv dimensiunea calculatoarelor, costul inițial și cel de operare. Tranzistoarele bipolare au fost inventate în 1947 și americanii John Bardeen, Walter Brattain și William Shockley au primit în 1956 Premiul Nobel pentru Fizică pentru această realizare. Dacă prin joncțiunea emitor-bază a unui tranzistor bipolar nu circulă curent, atunci nu circulă curent nici între colector și emitor (iar tranzistorul este blocat). Dacă circulă un curent suficient de mare prin joncțiunea bază-emitor, trece curent și între emitor și colector (tranzistorul fiind saturat). Saturația sau blocarea unui tranzistor reprezintă cifrele binare 0 și 1.Prin comparație cu tuburile electronice, tranzistoarele prezintă numeroase avantaje: au costuri de fabricație mult mai mici și sunt mult mai rapide, comutarea între stările de 1 și 0 consumând un timp de ordinul micro- sau nanosecundelor. Volumul tranzistoarelor era de ordinul milimetrilor cubi, prin comparație cu tuburile electronice de ordinul centimetrilor cubi. Temperatura mai joasă de funcționare a tranzistoarelor le conferă o fiabilitate mai mare, prin comparație cu tuburile electronice. Calculatoarele cu tranzistoare puteau acum să fie dotate cu zeci de mii de circuite logice binare într-un spațiu relativ compact.


Calculatoarele de a doua generație erau compuse dintr-un mare număr de plăci cu cablaje imprimate, cum ar fi IBM Standard Modular System fiecare cu 1–4 porți logice sau bistabili. Un calculator din a doua generație, IBM 1401, a reușit să câștige aproape o treime din piața mondială de tehnică de calcul. IBM a instalat peste o sută de mii de 1401 între 1960 și 1964.
Electronica cu tranzistoare a dus la îmbunătățirea nu doar a procesoarelor, ci și a dispozitivelor periferice. IBM 350 RAMAC a fost introdus în 1956 și a fost primul hard-disk din lume. Unitățile de stocare pe disc magnetic din a doua generație de calculatoare puteau stoca zeci de milioane de litere și cifre. La procesor se puteau conecta mai multe periferice, capacitatea totală de memorare crescând la ordinul sutelor de milioane de caractere. Pe lângă unitățile fixe de stocare, conectate la procesor prin legături de mare viteză, au apărut și unități de disc deconectabil. Astfel, o stivă de discuri se putea înlocui în câteva secunde cu o alta. Deși capacitatea unui disc deconectabil este mai mică decât cea a unui disc fix, interșanjabilitatea lor garantează disponibilitatea unei cantități cvasinelimitate de date. Pe de altă parte, banda magnetică a continuat să furnizeze capabilități de arhivare a datelor cu costuri mai reduse decât discurile.


Mai multe procesoare din a doua generație delegau comunicațiile periferice unui procesor secundar. Astfel, în timp ce procesorul de comunicație controla, de exemplu citirea și perforarea de cartele, procesorul principal executa calcule și instrucțiuni de ramificație. O magistrală de date ducea datele de la procesorul principal și memoria principală cu viteza ciclului de fetch-execute a procesorului, iar celelalte magistrale de date deserveau dispozitivele periferice. Pe PDP-1, ciclul memoriei era de 5 microsecunde; astfel, majoritatea instrucțiunilor aritmetice durau 10 microsecunde (100.000 de operații pe secundă) deoarece majoritatea operațiilor durau cel puțin două cicluri de memorie: unul pentru aducerea instrucțiunii, celălalt pentru aducerea operanzilor.


În timpul celei de-a doua generații, au început să fie folosite din ce în ce mai mult terminalele la distanță, adesea sub formă de mașini teletype. Conexiunile telefonice furnizau viteză suficientă pentru primele terminale la distanță și permiteau o separare între centrul de calcul și stațiile de lucru de sute de kilometri.


A treia și a patra generație


Explozia gradului de utilizare a calculatoarelor a început cu cele din a treia generație. Acestea se bazau pe invenția circuitului integrat de către Jack St. Clair Kilby și independent de Robert Noyce, tehnologie care a condus mai târziu la inventarea microprocesorului, de către Ted Hoff, Federico Faggin, și Stanley Mazor de la Intel. Primul procesor integrat, Intel 4004 (1971) avea 12 mm², și era compus din 2300 tranzistoare; prin comparație, procesorul Pentium Pro avea 306 mm² și 5,5 milioane de tranzistoare.


În anii 1960, utilizarea calculatoarelor din generațiile a doua și a treia s-au suprapus considerabil. IBM și-a implementat modulele IBM Solid Logic Technology în circuitele hibride pentru IBM System/360 în 1964. Până în 1975, Sperry Univac a continuat să fabrice mașini din a doua generație, cum ar fi UNIVAC 494. Sistemele mari Burroughs, cum ar fi B5000 erau mașini cu stivă, simplu de programat. Aceste automate cu stivă erau implementate și în minicalculatoarele și microprocesoarele de mai târziu, care au influențat proiectarea limbajelor de programare. Minicalculatoarele serveau drept centre de calcul ieftine pentru industrie și universități. Microprocesorul a condus la dezvoltarea microcalculatoarelor, calculatoare mici și ieftine ce puteau fi vândute firmelor mici și persoanelor private. Microcalculatoarele, care au apărut în anii 1970, au devenit omniprezente după anii 1980. Steve Wozniak, cofondatorul companiei Apple Computer, este considerat a fi dezvoltatorul primului calculator personal produs în serie. Primul calculator al acestuia, Apple I, a apărut însă după MOS Technology KIM-1 și Altair 8800, iar primul calculator Apple cu capabilități grafice și de sunet a apărut după Commodore PET.Primele succese ale pieţei au fost microprocesorul Intel 8080 şi noul sistem de operare numit CP/M-80 scris pentru acest cercuit. CP/M-80 a fost creat în 1975 de Gary Kildall, fondatorul şi preşedintele companiei Digital Research – primul producător al unui sistem de operare pentru microcalculatoare. Astăzi, compania este o divizie a lui Novell Inc. – cea mai mare companie în domeniul sistemelor de operare în reţea.
CP/M este prescurtat de la Controlul Programului/Microcalculatorului – cel mai sugestiv nume de produs, dacă mai existase unul, de până atunci. Acest sistem de operare a fost, la acea dată, extraordinar. Dacă aveai un sistem 8080 sau Z80, cu sistem de operare CP/M, cu 64 kilobiţi de RAM şi o pereche de unităţi de disc flexibil de 8", aveai „ultimul strigăt” al modei calculatoarelor şi îl făceai verde de invidie pe orice pasionat. Un singur lucru le putea depăşi invidia şi cîştiga ura: să ai un disc şi o imprimată; ambele necesitau o cheltuială exorbitantă.
Discurile acelor timpuri merită puţină atenţie. Primul tip larg răspândit împreună cu microcalculatoarele aveau discuri de 14" (comparaţi-le cu cele de 3,5" disponibile astăzi) şi un timp de acces suficient pentru o pauză de cafea.



Sisteme de complexitatea calculatoarelor aveau nevoie de fiabilitate mare. ENIAC a rămas pornit, în continuu între 1947 și 1955, opt ani fără să fie oprit. Deși tuburile electronice se mai defectau, ele se înlocuiau fără a opri sistemul. Prin simpla strategie de a nu opri ENIAC, s-au redus drastic defectările majore. Hard diskurile hot-pluggable, care puteau fi cuplate sau decuplate de la o mașină fără oprirea acesteia, continuă tradiția reparațiilor efectuate în timpul funcționării. Memoriile cu semiconductori operează fără erori, fiind garantate de producători pe viață, deși unele sisteme de operare, cum ar fi Unix oferă posibilitatea rulării de teste de memorie pentru verificarea funcționalității hardware. În secolul al XXI-lea, nevoia de fiabilitate este și mai stringentă, ferme de servere fiind platformă de bază. Google utilizează software tolerant la defecte pentru a trata elegant defecțiunile hardware, și lucrează la conceptul de ferme de servere decuplabile.
În secolul al XXI-lea, au apărut pe piață microprocesoarele multinucleu. Tablourile de celule de memorare din semiconductori sunt des întâlnite. După ce memoriile cu semiconductoare au devenit omniprezente, dezvoltarea de software s-a simplificat și codurile sursă ale programelor au devenit mai ușor de înțeles. Programarea unei memorii cu tamburi impunea programatorului să fie conștient de poziția în timp real a capului de citire, de-a lungul rotațiilor tamburului. Când porțile logice bazate pe tranzistoare cu efect de câmp CMOS au înlocuit tranzistoarele bipolare, consumul de energie al calculatoarelor a putut scădea drastic și astfel utilizarea puterii de calcul a devenit foarte ieftină și s-a răspândit în toată lumea, sub multe forme, de la felicitări și telefoane mobile la sateliți artificiali și sonde spațiale.


Cel mai rapid supercomputer din top 500 este IBM Roadrunner, mai rapid decât Blue Gene/L (la 25 mai 2008).(ro.wikipedia.org)

Niciun comentariu:

Trimiteți un comentariu