[go: up one dir, main page]

Przejdź do zawartości

ENIAC

Z Wikipedii, wolnej encyklopedii
Komputer ENIAC

ENIAC (od ang. Electronic Numerical Integrator And Computer – Elektroniczny, Numeryczny Integrator i Komputer) – komputer skonstruowany w latach 1943–1945 przez J.P. Eckerta i J.W. Mauchly’ego na Uniwersytecie Pensylwanii w USA. Zaprzestano jego używania w 1955 r.

Do roku 1975 uważany był za pierwszy elektroniczny komputer na świecie, jednak teraz o miano to ubiegają się również – po odtajnieniu danych brytyjskich – maszyny Colossus oraz niemieckie Konrada Zusego[1]. Do miana pierwszego elektronicznego komputera na świecie pretenduje także komputer ABC[2] (od ang. Atanasoff-Berry Computer), zbudowany w Iowa State University na wydziale Computer Science[3] przez Johna Vincenta Atanasoffa i Clifforda Berry’ego w latach 1937–1942.

ENIAC był bardzo innowacyjny: posiadał właściwość przetwarzania równoległego oraz oddzielne funkcjonalnie moduły jednostki arytmetycznej i pamięci. Mauchly i Eckert opatentowali tę konstrukcję, sprzedając prawa patentowe firmie Sperry Rand. Firma ta zaczęła domagać się opłat licencyjnych od innych firm, co doprowadziło do wytoczenia procesu przez Honeywell w celu podważenia patentu. Po wieloletnim procesie sądowym, w październiku 1973 roku, sędzia federalny Earl R. Larson podjął decyzję unieważniającą patent ENIAC-a, uznając, że zapożyczał on rozwiązania z wcześniejszego projektu komputera ABC Johna Vincenta Atanasoffa[4][5].

ENIAC zajmował powierzchnię ok. 140 metrów kwadratowych. Nie miał pamięci operacyjnej i początkowo programowany był przez przełączanie wtyków kablowych, natomiast później za pomocą kart perforowanych.

Zastosowanie

[edytuj | edytuj kod]

Maszyna używana była głównie do obliczeń związanych z balistyką (wyliczenia tabel strzelniczych), wytwarzaniem broni jądrowej, prognozowaniem pogody, projektowaniem tuneli aerodynamicznych i badaniem promieniowania kosmicznego. Wykorzystywano ją także do badania liczb losowych i analizowania błędów zaokrągleń.

Powstanie

[edytuj | edytuj kod]
Betty Snyder programująca ENIAC w budynku 328 w Ballistic Research Laboratory, Filadelfia, Pensylwania

Budowa ENIAC-a związana jest z potrzebą sporządzania dla wojska tablic artyleryjskich[a]. W tym celu sprowadzono z Princeton, na stanowisko szefa projektu, wybitnego matematyka norweskiego Oswalda Veblena, który prowadził podobne obliczenia w 1917 roku; ponadto zatrudniono dalszych 7 matematyków, 8 fizyków i 2 astronomów. Ich doradcą był Węgier, John (Janos) von Neumann. Do wojska wcielono w charakterze obliczeniowców (ang. computer) około 100 młodych matematyczek, zarekwirowano na potrzeby armii cały, nadający się do wykorzystania sprzęt obliczeniowy. Było jednak jasne, że tą drogą potrzeb artylerii w pełni się nie zaspokoi. W tym samym czasie spotkali się ze sobą: doktor fizyki John W. Mauchly (ur. 1907), inżynier elektronik John Presper Eckert (ur. 1919) oraz doktor matematyki, porucznik armii USA, Herman Heine Goldstine (ur. 1913). J. Mauchly już w roku 1940 mówił o możliwości zastosowania elektroniki do budowy maszyny liczącej; wpadł na ten pomysł w związku z ogromem obliczeń, jakie musiał wykonać, gdy zainteresował się zastosowaniami statystyki matematycznej w meteorologii. Kiedy wstąpił na zorganizowane przez Uniwersytet Pensylwanii specjalne kursy, przygotowujące wysokiej klasy specjalistów dla armii, spotkał J. P. Eckerta, który był utalentowanym konstruktorem i wykonawcą (wspomina się, iż już w wieku 8 lat potrafił zbudować miniaturowy odbiornik radiowy, który umieścił na końcu ołówka, mając lat 12 zbudował miniaturowy statek sterowany radiem, a w dwa lata później zaprojektował i wykonał profesjonalny zestaw nagłaśniający dla swojej szkoły). Obaj studenci w wolnych od nauki chwilach zaprojektowali wielki kalkulator, uniwersalną maszynę liczącą. Przekazali go oficjalnie, w formie odpowiedniego pięciostronicowego memorandum, J. G. Brainerdowi, członkowi Zarządu Uniwersytetu Pensylwanii, zajmującemu się służbowo kontaktami z rządem USA. Ten jednak odłożył ten dokument do szuflady biurka (znaleziono go tam w 20 lat później – był nietknięty) nie przekazując go dalej, co spowodowałoby zamknięcie sprawy, gdyby nie trzeci współtwórca ENIAC-a, dr H. H. Goldstine.

Dr Goldstine pracował we wspomnianym wyżej ośrodku obliczeniowym armii USA (Ballistic Research Laboratory, BRL) i gwałtownie poszukiwał rozwiązania znanego już nam problemu tablic balistycznych. Prowadząc w marcu 1943 rutynową kontrolę pracującego dla wojska ośrodka obliczeniowego Uniwersytetu Pensylwanii, opowiedział o swoich kłopotach pewnemu studentowi. Był to student Mauchly’ego, jeden z autorów wspomnianego memorandum. W kilkanaście dni później Goldstine i Mauchly zostali przyjęci przez kierownictwo BRL[1].

Do pracy przy ENIAC skierowano elitarną grupę 6 kobiet wyłonionych spośród wcześniej pracujących w charakterze wojskowych rachmistrzyń przy projekcie tablic artyleryjskich pod kierownictwem Oswalda Veblena. W tym gronie znalazły się: Ruth Teitelbaum, a także Kathleen Antonelli, Jean Bartik, Betty Holberton, Marlyn Wescoff Meltzer, Frances Bilas Spence[6].

Oswald Veblen nie miał wątpliwości: nakazał natychmiast udostępnić niezbędne pieniądze na budowę maszyny. W ostatnim dniu maja 1943 roku ustalono nazwę ENIAC. Piątego czerwca podpisano uruchomienie najściślej tajnego „Projektu PX”, którego koszty ustalono na 150 tys. dolarów (faktycznie wyniosły 486 804 dolary i 22 centy). Oficjalnie pracę rozpoczęto 1 lipca, dwa pierwsze akumulatory uruchomiono w czerwcu następnego roku, całą maszynę oddano do prób laboratoryjnych jesienią 1945 roku, pierwsze eksperymentalne obliczenia przeprowadzono w listopadzie roku 1945. Jak wspomniano, 30 czerwca 1946 roku przekazano ENIAC-a armii, która pokwitowała odbiór „Projektu PX”.

ENIAC zatem w wojnie udziału nie wziął. Co więcej, uruchamianie go przez armię trwało aż do 29 lipca 1947 roku. Ale raz uruchomiony i po bardzo zasadniczych poprawkach, wprowadzonych do jego działania – według wskazówek von Neumanna – służył w wojsku dość długo, obliczając nie tylko tablice balistyczne, ale także analizując warianty budowy bomby wodorowej, projektując taktyczną broń atomową, badając promienie kosmiczne, projektując tunele aerodynamiczne, czy wreszcie – najzupełniej „cywilnie” – obliczając wartość liczby pi z dokładnością do tysiąca miejsc po przecinku. Zakończył swą służbę 2 października 1955 roku o godzinie 23.45, kiedy to wyłączono go ostatecznie z sieci i przystąpiono do demontażu. Miał być sprzedany na złom. Korzystający zeń uczeni zaprotestowali jednak i duże fragmenty maszyny udało się ocalić. Największy z nich znajduje się dziś w Smithsonian Institution w Waszyngtonie.

Budowa i działanie

[edytuj | edytuj kod]
Komputer ENIAC

W chwili, kiedy ujawniono konstrukcję ENIAC-a, opinii publicznej wydawało się, iż nigdy dotąd nie zbudowano urządzenia tej wielkości i stopnia skomplikowania, w każdym razie w dziedzinie elektroniki. Ustawione w prostokącie 12 na 6 m, w kształcie litery U, czterdzieści dwie pomalowane na czarno szafy z blachy stalowej – każda miała 3 m wysokości, 60 cm szerokości i 30 cm głębokości – mieściły około 18 800 lamp elektronowych szesnastu rodzajów; zawierały ponadto 6000 komutatorów (przełączników), 1500 przekaźników, 50 000 oporników. Całość – jak powiedziano przedstawicielom prasy – wymagała ręcznego wykonania 0,5 mln lutowań. Maszyna ważyła około 27 ton i pobierała 140 kW mocy. Jej system wentylacyjny miał wbudowane dwa silniki Chryslera o łącznej mocy 24 KM; każda szafa była wyposażona w termostat, który wstrzymywał pracę komputera, jeśli temperatura wewnątrz którejkolwiek z jego części przekraczała 48 °C. W pomieszczeniu przeznaczonym dla maszyny były jeszcze trzy dodatkowe – również wypełnione elektroniką i większe od pozostałych – szafy przesuwne na kółkach, dołączane w miarę potrzeb w odpowiednim miejscu do zestawu. Stanowiły uzupełnienie czytnika i dziurkarki kart perforowanych.

ENIAC rachował – w odróżnieniu od komputerów współczesnych – w systemie dziesiętnym, operując liczbami dziesięciocyfrowymi, dodatnimi lub ujemnymi, z ustalonym położeniem przecinka dziesiętnego[1]. Jego szybkość, na owe czasy niewyobrażalnie niemal wielka, to 5000 dodawań/odejmowań takich liczb w ciągu sekundy[7] (ok. 400 mnożeń i ok. 50 dzieleń na sekundę)[8]. W razie potrzeby maszyna mogła pracować na liczbach podwójnej precyzji (dwudziestocyfrowych) o zmiennym miejscu położenia przecinka dziesiętnego; oczywiście, w takim wypadku działała wolniej, a pojemność pamięci odpowiednio malała.

ENIAC miał typową budowę modułową. Jego architektura opierała się na zhierarchizowanych układach o zmiennej złożoności. Wewnątrz wspomnianych szaf znajdowały się stosunkowo łatwo wymienialne panele, zawierające różne zestawy elementów elektronicznych. Taki typowy panel stanowiła np. dekada, mogąca rejestrować cyfry od 0 do 9 i generować przy dodawaniu sygnał przeniesienia do następnego takiego układu – to w pewnym sensie elektroniczny odpowiednik kół cyfrowych z siedemnastowiecznego sumatora Pascala. Podstawowymi elementami maszyny były akumulatory, które potrafiły zapamiętać liczby dziesiętne, dodawać je i przekazywać dalej; każdy z takich akumulatorów zawierał 550 lamp elektronowych. Liczbę, przechowywaną akurat w danym akumulatorze, można było odczytać z układu zapalonych na czołowej części odpowiedniej szafy neonówek.

W marcu 1948 zainstalowano jednostkę konwertera, która umożliwiła programowanie za pomocą samych przełączników (bez potrzeby zmiany połączeń wtyków)[9][10] i dodała możliwość odczytywania instrukcji programu z czytnika kart dziurkowanych (wcześniej wczytywane były tylko dane)[11][12]. Pierwsze „produkcyjne” użycie nowej metody programowania miało miejsce w kwietniu (symulacja metodą Monte Carlo)[10][13].

Programowanie

[edytuj | edytuj kod]

Programowanie do kwietnia 1948 – czyli zlecanie maszynie konkretnego zadania do wykonania – nie przychodziło łatwo. Operatorzy ENIAC-a mieli trzy tablice funkcyjne – ruchome szafy sterownicze do wprowadzania liczb bądź instrukcji do kalkulatora. Na każdej szafie można było zarejestrować 104 informacje na 14 pozycjach (liczba dwunastocyfrowa i jej znak lub dwie liczby sześciocyfrowe i ich znaki). Tablice obsługiwało się ręcznie. Stojąc przy szafie trzeba było wprowadzać, cyfra po cyfrze, liczby bądź polecenia, nastawiając ręcznie tarcze przełączników. Do uruchomienia wszystkich trzech szaf trzeba było nastawić 4368 przełączników 10-pozycyjnych. Całość danych i instrukcji potrzebnych maszynie w dowolnym momencie obliczeń musiała być wprowadzona na tablice funkcyjne przed rozpoczęciem pracy. Zmiana programu zajmowała bardzo dużo czasu z uwagi na konieczność przełączenia licznych styków, przełączników i połączeń. Błędy popełnione przy nastawianiu maszyny powodowały sporo opóźnień i zacięć[1]. Wbrew pogłoskom o bardzo dużej awaryjności, przepalenia lamp zdarzały się średnio co około dwa dni, a lokalizacja uszkodzenia i wymiana lampy trwały ok. 15 minut[14].

Uznanie

[edytuj | edytuj kod]
ENIAC w postaci układu scalonego
ENIAC jako układ scalony

Aby w 1996 uczcić 50 rocznicę ENIAC-a, Uniwersytet Pensylwanii wykonał projekt o nazwie ENIAC-on-a-Chip (ENIAC w czipie), którego rezultatem był układ scalony o funkcjonalności ENIAC-a[15][16][17].

Porównanie mocy obliczeniowej

[edytuj | edytuj kod]

Zwykły telefon komórkowy już na początku XXI wieku miał 1300 razy większą moc obliczeniową[18].

  1. Po rozbudowie armii okazało się, że oficerowie mający dowodzić na niższych szczeblach jednostkami artylerii nierzadko mają problemy z szybkim i poprawnym obliczaniem nastaw dział w zależności od odległości od celu, rodzaju pocisku etc. – wynikało to z tego, że z reguły były to osoby cywilne, które zgłaszały się na ochotnika i po kilkumiesięcznym przeszkoleniu zostawały oficerami; jeśli chociażby z racji zawodu nie posługiwały się one na co dzień suwakiem logarytmicznym, to w ciągu tego krótkiego przeszkolenia nie mogły nabrać wprawy w posługiwaniu się suwakiem artyleryjskim (odmiana suwaka logarytmicznego). Dlatego też dowództwo armii zaproponowało, żeby zebrać wyniki obliczeń dla różnych warunków prowadzenia ognia w formie książek z zestawami tablic – oficerowie artylerii na niższych szczeblach mieliby bez wykonywania obliczeń wyszukiwać odpowiednie nastawy.

Przypisy

[edytuj | edytuj kod]
  1. a b c d I STAŁ SIĘ ENIAC – BOGDAN MIŚ – Wiedza i Życie – 4/1996 [online], archiwum.wiz.pl [dostęp 2018-11-13] [zarchiwizowane z adresu 2013-05-28].
  2. Gary Wolf: Pulitzer Prize-Winning Novelist Tells the Tale of the World’s First Computer. Wired, 2010-11-01. [dostęp 2010-11-22]. (ang.).
  3. Arthur Oldehoeft: John Vincent Atanasoff & the Birth of The Digital Computer. [w:] College of Liberal Arts and Sciences, Department of Computer Science [on-line]. Iowa State University. [dostęp 2010-11-22]. (ang.).
  4. Kto w takim razie wynalazł komputer?, [w:] Walter Isaacson, Innowatorzy, Insignis, 21 listopada 2016, s. 150–156, ISBN 978-83-65315-82-3 [dostęp 2018-10-02], Cytat: Eckert i Mauchly nie byli pierwszymi samodzielnymi wynalazcami automatycznego elektronicznego komputera cyfrowego, albowiem zapożyczyli wykorzystane w nim rozwiązania od dr. Johna Vincenta Atanosoffa..
  5. Atanasoff-Berry Computer Court Case. JVA Initiative Committee and Iowa State University. [dostęp 2012-09-06]. Cytat: Eckert and Mauchly did not themselves first invent the automatic electronic digital computer, but instead derived that subject matter from one Dr. John Vincent Atanasoff. (ang.).
  6. Famous Women in Computing. www.linuxchix.org. [dostęp 2015-06-16]. [zarchiwizowane z tego adresu (2015-05-10)].
  7. ENIAC – robot matematyk / Vidimus / Katalog HINT, „Problemy” (6), hint.org.pl, 1946, s. 50 [dostęp 2018-10-02].
  8. Elektronowe automatyczne maszyny cyfrowe / Romuald Marczyński / Katalog HINT, „Zastosowania Matematyki”, R.2 (3), hint.org.pl, 1954, s. 264 [dostęp 2018-10-04].
  9. Notes to Pages 132-135, [w:] Emerson W. Pugh, Building IBM: Shaping an Industry and Its Technology, MIT Press, 1995, s. 353, ISBN 978-0-262-16147-3 [dostęp 2018-11-13] (ang.).
  10. a b Thomas Haigh, Mark Priestley, Crispin Rope. Engineering ‘The Miracle of the ENIAC’: Implementing the Modern Code Paradigm. „IEEE Annals of the History of Computing”. 36 (2), s. 47–48, April-June 2014. [dostęp 2018-11-13]. (ang.). 
  11. Section VIII: Modified ENIAC, [w:] R.F. Clippinger, A Logical Coding System Applied to the ENIAC, „Ballistic Research Laboratories Report”, 673, 29 września 1948 [dostęp 2010-01-27] [zarchiwizowane z adresu 2010-01-03] (ang.).
  12. Section 1. – Introduction, [w:] W. Barkley Fritz, Description and Use of the ENIAC Converter Code, „Technical Note” (141), 1949, s. 1, Cytat: At present it is controlled by a code which incorporates a unit called the Converter as a basic part of its operation, hence the name ENIAC Converter Code. These code digits are brought into the machine either through the Reader from standard IBM cards* or from the Function Tables (...). (...) * The card control method of operation is used primarily for testing and the running of short highly iterative problems and is not discussed in this report. (ang.).
  13. Thomas Haigh, Mark Priestley, Crispin Rope. Los Alamos Bets On ENIAC: Nuclear Monte Carlo Simulations 1947-48. „IEEE Annals of the History of Computing”. 36 (3), s. 42–63, July-September 2014. [dostęp 2018-11-13]. (ang.). 
  14. Alexander Randall 5th: Q&A: A lost interview with ENIAC co-inventor J. Presper Eckert. Computerworld, 2006-02-14. [dostęp 2013-09-10].
  15. 50 lat temu, „Przekrój”, 1, Krakowskie Wydawnictwo Prasowe, 1996, s. 53 [dostęp 2018-11-14].
  16. ENIAC-on-a-Chip – Penn Printout, Mar 96 [online], www.upenn.edu [dostęp 2018-11-14].
  17. Eniac-on-a-Chip Project [online], www.seas.upenn.edu [dostęp 2018-11-14].
  18. Np. Samsung SCH-A850.


Linki zewnętrzne

[edytuj | edytuj kod]