ENIAC

elektroniczny komputer do ogólnego użytku (1946–1955)

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.

Komputer ENIAC

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

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

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 tzw. 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 tzw. 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

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

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

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

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

Uwagi

Przypisy


Linki zewnętrzne