Manchester Dziecko -Manchester Baby

Manchester Dziecko
Seria siedmiu wysokich metalowych stojaków wypełnionych sprzętem elektronicznym stojących przed ceglaną ścianą.  Znaki nad każdym stojakiem opisują funkcje realizowane przez elektronikę, którą zawiera.  Trzech odwiedzających czytało ze stojaków informacyjnych po lewej stronie obrazu
Replika Dziecka w Muzeum Nauki i Przemysłu w Castlefield , Manchester
Znany również jako Eksperymentalna maszyna na małą skalę
Deweloper Frederic Calland Williams
Tom Kilburn
Geoff Tootill
Produkt rodzinny Komputery Manchester
Data wydania 21 czerwca 1948 ; 74 lata temu ( 1948-06-21 )
Pamięć 1 kilobit (1024 bity)
Następca Znak Manchesteru 1

Manchester Baby , znany również od projektu replikacji jako Mała Skala Eksperymentalna Maszyna ( SSEM ) , był pierwszym elektronicznym komputerem z przechowywanymi programami . Został zbudowany na Uniwersytecie w Manchesterze przez Frederica C. Williamsa , Toma Kilburna i Geoffa Tootilla , a swój pierwszy program uruchomili 21 czerwca 1948 roku.

Baby nie miał być praktycznym silnikiem obliczeniowym, ale został zaprojektowany jako platforma testowa dla Williams tube , pierwszej pamięci o dostępie swobodnym . Opisywana jako „mała i prymitywna” 50 lat po jej stworzeniu, była pierwszą działającą maszyną, która zawierała wszystkie elementy niezbędne dla nowoczesnego elektronicznego komputera cyfrowego. Gdy tylko Baby zademonstrowało wykonalność swojego projektu, na uniwersytecie zainicjowano projekt przekształcenia go w pełnowymiarową maszynę operacyjną, Manchester Mark 1 . Z kolei Mark 1 szybko stał się prototypem Ferranti Mark 1 , pierwszego na świecie komercyjnie dostępnego komputera ogólnego przeznaczenia.

Dziecko miało 32 -bitową długość słowa i pamięć 32 słów (1 kilobit (1024-bit)). Ponieważ został zaprojektowany jako najprostszy komputer z programami przechowywanymi w pamięci, jedynymi operacjami arytmetycznymi zaimplementowanymi w sprzęcie były odejmowanie i negacja ; inne operacje arytmetyczne zostały zaimplementowane w oprogramowaniu. Pierwszy z trzech programów napisanych dla maszyny obliczył najwyższy właściwy dzielnik 2 18 (262 144) testując każdą liczbę całkowitą od 2 18 w dół. Wykonanie tego algorytmu zajęłoby dużo czasu — a tym samym udowodnienie niezawodności komputera, ponieważ dzielenie zostało zrealizowane przez wielokrotne odejmowanie dzielnika. Program składał się z 17 instrukcji i działał przez około 52 minuty, zanim osiągnął poprawną odpowiedź 131 072, po tym jak Baby wykonało około 3,5 miliona operacji (dla efektywnej szybkości procesora wynoszącej około 1100 instrukcji na sekundę ).

Tło

Artystyczne przedstawienie maszyny Turinga

Pierwszym projektem komputera sterowanego programowo był silnik analityczny Charlesa Babbage'a w latach 30. XIX wieku, w którym Ada Lovelace wpadła na pomysł pierwszego programu teoretycznego do obliczania liczb Bernoulliego. Sto lat później, w 1936, matematyk Alan Turing opublikował swój opis tego, co stało się znane jako maszyna Turinga , teoretyczna koncepcja mająca na celu zbadanie granic obliczeń mechanicznych. Turing nie wyobrażał sobie fizycznej maszyny, ale osobę, którą nazwał „komputerem”, która działała zgodnie z instrukcjami dostarczonymi przez taśmę, na której symbole można było czytać i zapisywać sekwencyjnie, gdy taśma przesuwała się pod głowicą taśmy. Turing udowodnił, że jeśli można napisać algorytm, aby rozwiązać problem matematyczny, to maszyna Turinga może go wykonać.

Konrad Zuse Z3 był pierwszym na świecie działającym programowalnym , w pełni automatycznym komputerem z binarną cyfrową logiką arytmetyczną, ale brakowało mu warunkowego rozgałęzienia maszyny Turinga. 12 maja 1941 roku Z3 został z powodzeniem zaprezentowany publiczności złożonej z naukowców z Deutsche Versuchsanstalt für Luftfahrt ("Niemieckie Laboratorium Lotnictwa") w Berlinie . Z3 przechowywał swój program na zewnętrznej taśmie, ale był on raczej elektromechaniczny niż elektroniczny. Colossus z 1943 roku był pierwszym elektronicznym urządzeniem liczącym, ale nie był maszyną ogólnego przeznaczenia.

ENIAC ( 1946) był pierwszym automatycznym komputerem, który był zarówno elektroniczny, jak i ogólnego przeznaczenia. Był kompletny , z warunkowym rozgałęzieniem i programowalny do rozwiązywania szerokiego zakresu problemów, ale jego program był utrzymywany w stanie przełączników w kablach krosowych, a nie w pamięci zmienianej przez maszynę, a przeprogramowanie mogło zająć kilka dni. Badacze, tacy jak Turing i Zuse, zbadali pomysł wykorzystania pamięci komputera do przechowywania programu, a także danych, nad którymi pracował, a to matematyk John von Neumann napisał szeroko rozpowszechniony artykuł opisujący tę architekturę komputera, wciąż używaną prawie wszystkie komputery.

Projekt architektury von Neumann (1947)

Konstrukcja komputera von Neumanna zależała od dostępności odpowiedniego nośnika pamięci do przechowywania programu. Podczas II wojny światowej badacze zajmujący się problemem usuwania zakłóceń z sygnałów radarowych opracowali formę pamięci linii opóźniającej , której pierwszym praktycznym zastosowaniem była linia opóźniająca rtęciowa, opracowana przez J. Prespera Eckerta . Nadajniki radarowe wysyłają regularne krótkie impulsy energii radiowej, których odbicia są wyświetlane na ekranie CRT. Ponieważ operatorzy są zwykle zainteresowani tylko ruchomymi celami, pożądane było odfiltrowanie wszelkich rozpraszających odbić od nieruchomych obiektów. Filtrowanie zostało osiągnięte przez porównanie każdego otrzymanego impulsu z poprzednim impulsem i odrzucenie obu, jeśli były identyczne, pozostawiając sygnał zawierający tylko obrazy dowolnych poruszających się obiektów. Aby zapisać każdy odebrany impuls w celu późniejszego porównania, był on przekazywany przez linię transmisyjną, opóźniając go dokładnie o czas między przesyłanymi impulsami.

Turing dołączył do Narodowego Laboratorium Fizycznego (NPL) w październiku 1945 roku, kiedy to naukowcy z Ministerstwa Zaopatrzenia doszli do wniosku, że Wielka Brytania potrzebuje Narodowego Laboratorium Matematycznego do koordynowania obliczeń wspomaganych maszynowo. Wydział Matematyki został utworzony w NPL, a 19 lutego 1946 Alan Turing przedstawił artykuł przedstawiający swój projekt elektronicznego komputera z programami przechowywanymi w pamięci, znanego jako Automatic Computing Engine (ACE). Był to jeden z kilku projektów powstałych w latach po drugiej wojnie światowej, których celem było skonstruowanie komputera z programami przechowywanymi w pamięci. Mniej więcej w tym samym czasie EDVAC był rozwijany w Moore School of Electrical Engineering na Uniwersytecie Pensylwanii , a Laboratorium Matematyczne Uniwersytetu Cambridge pracowało nad EDSAC .

NPL nie miało doświadczenia, aby zbudować maszynę taką jak ACE, więc skontaktowało się z Tommy Flowers z Laboratorium Badawczego Dollis Hill General Post Office (GPO) . Flowers, projektant Colossusa, pierwszego na świecie programowalnego komputera elektronicznego, był zaangażowany gdzie indziej i nie mógł wziąć udziału w projekcie, chociaż jego zespół zbudował kilka linii opóźniających rtęciowych dla ACE. Zwrócono się również o pomoc do Telekomunikacji Research Establishment (TRE) oraz Maurice'a Wilkesa z Laboratorium Matematycznego Uniwersytetu Cambridge.

Departament rządowy odpowiedzialny za NPL zdecydował, że ze wszystkich prac wykonywanych przez TRE w jego imieniu ACE ma mieć najwyższy priorytet. Decyzja NPL doprowadziła do wizyty superintendenta Wydziału Fizyki TRE w dniu 22 listopada 1946 r. w towarzystwie Frederica C. Williamsa i AM Uttleya, również z TRE. Williams kierował grupą rozwojową TRE pracującą nad sklepami CRT do zastosowań radarowych, jako alternatywy dla linii opóźniających. Williams nie był dostępny do pracy w ACE, ponieważ przyjął już profesurę na Uniwersytecie w Manchesterze , a większość jego techników obwodów była w trakcie przenoszenia do Departamentu Energii Atomowej. TRE zgodziło się oddelegować niewielką liczbę techników do pracy pod kierunkiem Williamsa na uniwersytecie i wspierać inną małą grupę pracującą z Uttley w TRE.

Rurka Williamsa-Kilburna

Chociaż niektóre wczesne komputery, takie jak EDSAC, inspirowane projektem EDVAC, z powodzeniem wykorzystywały później rtęciową pamięć opóźniającą , technologia ta miała kilka wad: była ciężka, droga i nie pozwalała na losowy dostęp do danych . Ponadto, ponieważ dane były przechowywane jako sekwencja fal akustycznych rozchodzących się w kolumnie rtęci , temperatura urządzenia musiała być bardzo dokładnie kontrolowana, ponieważ prędkość dźwięku w medium zmienia się wraz z jego temperaturą. Williams widział eksperyment w Bell Labs demonstrujący skuteczność lamp elektronopromieniowych (CRT) jako alternatywy dla linii opóźniającej w usuwaniu echa naziemnego z sygnałów radarowych. Pracując w TRE, na krótko przed dołączeniem do Uniwersytetu w Manchesterze w grudniu 1946 r., wraz z Tomem Kilburnem opracowali formę pamięci elektronicznej znaną jako lampa Williamsa lub lampa Williamsa–Kilburna, opartą na standardowym CRT: pierwszy elektroniczny układ losowy dostęp do cyfrowego urządzenia pamięci masowej. Baby został zaprojektowany, aby pokazać, że jest praktycznym urządzeniem do przechowywania danych, pokazując, że przechowywane w nim dane można niezawodnie odczytywać i zapisywać z prędkością odpowiednią do użycia w komputerze.

Do zastosowania w binarnym komputerze cyfrowym, lampa musiała być zdolna do przechowywania jednego z dwóch stanów w każdej z lokalizacji pamięci, odpowiadających cyfrom binarnym ( bitom ) 0 i 1. Wykorzystuje dodatni lub ujemny ładunek elektryczny generowany przez wyświetlanie kreski lub kropki w dowolnym miejscu na ekranie CRT, zjawisko znane jako emisja wtórna . Kreska generowała ładunek dodatni, a kropka ładunek ujemny, z których każdy mógł zostać wyłapany przez płytkę detektora przed ekranem; ładunek ujemny oznaczał 0, a ładunek dodatni 1. Ładunek rozproszył się w ciągu około 0,2 sekundy, ale mógł zostać automatycznie odświeżony na podstawie danych zebranych przez detektor.

Rurka Williamsa zastosowana w Baby była oparta na CV1131, dostępnym w handlu kineskopie CRT o średnicy 12 cali (300 mm), ale w Mark I zastosowano mniejszą rurę 6 cali (150 mm), CV1097.

Geneza projektu

Tablica na cześć Williamsa i Kilburna na Uniwersytecie w Manchesterze

Po opracowaniu komputera Colossus do łamania kodów w Bletchley Park podczas II wojny światowej, Max Newman zaangażował się w opracowanie komputera, który zawierałby zarówno matematyczne koncepcje Alana Turinga , jak i koncepcję programu przechowywanego, opisaną przez Johna von Neumanna . W 1945 roku został powołany na stanowisko Fielden Chair of Pure Mathematics na uniwersytecie w Manchesterze; zabrał ze sobą swoich kolegów z projektu Colossus, Jacka Gooda i Davida Reesa, do Manchesteru, gdzie zwerbowali FC Williamsa, aby był „człowiekiem obwodów” dla nowego projektu komputerowego, na który miał zapewnione finansowanie z Royal Society .

„Po zapewnieniu wsparcia uniwersytetu, uzyskaniu finansowania z Towarzystwa Królewskiego i zgromadzeniu pierwszorzędnego zespołu matematyków i inżynierów, Newman miał teraz wszystkie elementy swojego planu budowy komputerów. Przyjmując podejście, którego tak skutecznie używał w Bletchley Park Newman wypuścił swoich ludzi na szczegółowe prace, jednocześnie koncentrując się na zorganizowaniu przedsięwzięcia”.

—  David Anderson, historyk

Po objęciu stanowiska w Katedrze Inżynierii Elektrycznej na Uniwersytecie w Manchesterze Williams zatrudnił swojego kolegę z TRE, Toma Kilburna , na oddelegowanie. Jesienią 1947 roku para zwiększyła pojemność lampy Williamsa z jednego bitu do 2048, ułożonych w macierz 64 na 32 bity i wykazała, że ​​jest w stanie przechowywać te bity przez cztery godziny. Inżynier Geoff Tootill dołączył do zespołu wypożyczonego z TRE we wrześniu 1947 roku i pozostał oddelegowany do kwietnia 1949 roku.

„A teraz wyjaśnijmy sobie sprawę, zanim przejdziemy dalej, że ani Tom Kilburn, ani ja nie wiedzieliśmy o komputerach, kiedy przybyliśmy na Manchester University… Newman wyjaśnił nam całą sprawę, jak działa komputer”.

Kilburn miał trudności z przypomnieniem sobie wpływów na jego konstrukcję maszyny:

„W tamtym okresie w jakiś sposób wiedziałem, czym jest komputer cyfrowy… Skąd czerpałem tę wiedzę, nie mam pojęcia”.

—  Tom Kilburn

Jack Copeland wyjaśnia, że ​​pierwszy projekt Kilburna (przed niemowlęciem) pozbawiony akumulatorów (zdecentralizowany, w nomenklaturze Jacka Gooda) był oparty na danych wejściowych od Turinga, ale później przeszedł na opartą na akumulatorach (scentralizowaną) maszynę w rodzaju zalecanego przez von Neumanna, jak napisali i nauczyli go Jack Good i Max Newman.

Zestaw siedmiu instrukcji operacyjnych Baby był w przybliżeniu podzbiorem zestawu dwunastu instrukcji operacyjnych zaproponowanego w 1947 przez Jacka Gooda, w pierwszym znanym dokumencie, w którym użyto terminu „Baby” dla tej maszyny. Good nie zawierał instrukcji „zatrzymaj”, a proponowana przez niego instrukcja warunkowego skoku była bardziej skomplikowana niż ta, którą zaimplementował Baby.

Rozwój i projektowanie

Schemat architektoniczny przedstawiający rozmieszczenie czterech lamp katodowych (pokazanych na zielono)

Chociaż Newman nie odegrał żadnej roli inżynierskiej w rozwoju Baby, ani żadnego z późniejszych komputerów Manchester , ogólnie popierał i entuzjastycznie podchodził do projektu i zaaranżował nabycie dostaw z nadwyżek wojennych do jego budowy, w tym metalowych stojaków GPO i „…materiał dwóch kompletnych Kolosów” firmy Bletchley.

Do czerwca 1948 r. Dziecko zostało zbudowane i pracowało. Miał 17 stóp (5,2 m) długości, 7 stóp 4 cale (2,24 m) wysokości i ważył prawie 1 długą tonę (1,0 tony). Maszyna zawierała 550  zaworów (lamp próżniowych) — 300  diod i 250  pentod — i zużywała 3500 watów. Jednostka arytmetyczna została zbudowana przy użyciu zaworów pentodowych EF50 , które były szeroko stosowane w czasie wojny. Dziecko używało jednej lampy Williamsa, aby zapewnić 32 na 32-bitowe słowa pamięci o dostępie swobodnym (RAM), drugą do przechowywania 32-bitowego akumulatora , w którym można było tymczasowo przechowywać pośrednie wyniki obliczeń, a trzecią do przechowywania aktualna instrukcja programu wraz z jej adresem w pamięci. Czwarty CRT, bez elektroniki z pozostałych trzech, był używany jako urządzenie wyjściowe, zdolne do wyświetlania wzoru bitowego dowolnej wybranej lampy magazynującej.

Trzy wysokie stojaki zawierające obwody elektroniczne
Wyjściowy monitor CRT znajduje się bezpośrednio nad urządzeniem wejściowym, otoczony elektroniką monitora i sterowania.

Każde 32-bitowe słowo pamięci RAM może zawierać instrukcję programu lub dane. W instrukcji programu bity 0–12 reprezentowały adres pamięci operandu , który ma być użyty, a bity 13–15 określały operację do wykonania, taką jak przechowywanie liczby w pamięci; pozostałe 16 bitów było niewykorzystanych. 0-argumentowa architektura zestawu instrukcji Baby |single operand oznaczała, że ​​drugi argument każdej operacji był niejawny: akumulator lub licznik programu (adres instrukcji); instrukcje programu określały tylko adres danych w pamięci.

Słowo w pamięci komputera można było odczytać, zapisać lub odświeżyć w 360 mikrosekundach. Wykonanie instrukcji trwało cztery razy dłużej niż uzyskanie dostępu do słowa z pamięci, co dało szybkość wykonywania instrukcji około 700 na sekundę. Główny sklep był stale odświeżany, a proces ten trwał 20 milisekund, ponieważ każde z 32 słów Baby musiało zostać przeczytane, a następnie odświeżone po kolei.

Dziecko reprezentowało liczby ujemne za pomocą dopełnienia do dwóch , tak jak większość komputerów. W tej reprezentacji wartość najbardziej znaczącego bitu oznacza znak liczby; liczby dodatnie mają na tej pozycji zero, a liczby ujemne jedynkę. W związku z tym zakres liczb, które mogą znajdować się w każdym 32-bitowym słowie, wynosił od -2 31 do +2  31-1 (dziesiętnie: od -2147 483 648 do +2 147 483 647).

Programowanie

Format instrukcji Baby miał trzybitowe pole kodu operacji , które pozwalało na maksymalnie osiem (2 3 ) różnych instrukcji. W przeciwieństwie do współczesnej konwencji, magazyn maszyny został opisany najmniej znaczącymi cyframi z lewej strony; w ten sposób jedynka była reprezentowana w trzech bitach jako „100”, a nie bardziej konwencjonalna „001”.

Zestaw instrukcji dla dziecka
Kod binarny Oryginalna notacja Współczesny mnemonik Operacja
000 S, Cl JMP S Skok do instrukcji pod adresem uzyskanym z podanego adresu pamięci S (bezwzględny skok bezwarunkowy)
100 Dodaj S, Cl JRP S Skok do instrukcji przy liczniku programu plus (+) względna wartość uzyskana z podanego adresu pamięci S (względny skok bezwarunkowy)
010 -S, C LDN S Weź liczbę z określonego adresu pamięci S, zanegouj ją i załaduj do akumulatora
110 c, S STO Zapisz numer w akumulatorze pod podanym adresem pamięci S
001 lub
101
SUB S SUB S Odejmij liczbę pod określonym adresem pamięci S od wartości w akumulatorze i zapisz wynik w akumulatorze
011 Test CMP Pomiń następną instrukcję, jeśli akumulator zawiera wartość ujemną
111 Zatrzymaj się STP Zatrzymaj się

Niezręczne negatywne operacje były konsekwencją braku sprzętu do wykonywania jakichkolwiek operacji arytmetycznych, z wyjątkiem odejmowania i negacji . Uznano za niepotrzebne budowanie sumatora przed rozpoczęciem testowania, ponieważ dodawanie można łatwo zaimplementować przez odejmowanie, tj. x + y można obliczyć jako −(− xy ). Dlatego dodanie do siebie dwóch liczb, X i Y, wymagało czterech instrukcji:

LDN X // load negative X into the accumulator
SUB Y // subtract Y from the value in the accumulator
STO S // store the result at S
LDN S // load negative value at S into the accumulator

Programy wprowadzano w formie binarnej, przechodząc kolejno przez każde słowo pamięci i używając zestawu 32 przycisków i przełączników znanych jako urządzenie wejściowe, aby ustawić wartość każdego bitu każdego słowa na 0 lub 1. Dziecko nie miało czytnik taśmy papierowej lub dziurkacz .

Pierwsze programy

Mała lampa elektronopromieniowa w zardzewiałej metalowej ramie
Wyjście CRT

Na komputer napisano trzy programy. Pierwsza, składająca się z 17 instrukcji, została napisana przez Kilburna i, o ile można to ustalić, po raz pierwszy została uruchomiona 21 czerwca 1948. Została zaprojektowana, aby znaleźć najwyższy właściwy współczynnik 2 18 (262 144), próbując każdą liczbę całkowitą od 2 18  − 1 w dół. Podziały zostały zrealizowane przez wielokrotne odejmowanie dzielnika. Baby potrzebowało 3,5 miliona operacji i 52 minut, aby uzyskać odpowiedź (131 072). Program używał ośmiu słów pamięci roboczej oprócz 17 słów instrukcji, co dało rozmiar programu 25 słów.

Geoff Tootill napisał poprawioną wersję programu w następnym miesiącu, a w połowie lipca Alan Turing — który we wrześniu 1948 roku został mianowany lektorem na wydziale matematyki na Uniwersytecie w Manchesterze — przedstawił trzeci program, w celu przeprowadzenia dzielenia długiego. Turing został do tego czasu powołany na nominalne stanowisko zastępcy dyrektora Laboratorium Maszyn Obliczeniowych na uniwersytecie, chociaż laboratorium nie stało się rzeczywistością fizyczną aż do 1951 roku.

Późniejsze wydarzenia

BrewDog nazwał swój minibrowar w Manchesterze eksperymentalną maszyną do piwa na małą skalę na cześć eksperymentalnej maszyny na małą skalę (SSEM)

Williams i Kilburn donieśli o Baby w liście do Journal Nature , opublikowanym we wrześniu 1948 roku. Udana demonstracja maszyny szybko doprowadziła do skonstruowania bardziej praktycznego komputera, Manchester Mark 1 , nad którym prace rozpoczęły się w sierpniu 1948 roku. wersja była gotowa do użytku w kwietniu 1949 roku, co z kolei doprowadziło bezpośrednio do opracowania Ferranti Mark 1 , pierwszego na świecie dostępnego na rynku komputera ogólnego przeznaczenia.

W 1998 roku zbudowano działającą replikę Baby, wystawioną obecnie w Muzeum Nauki i Przemysłu w Manchesterze , aby uczcić 50. rocznicę uruchomienia pierwszego programu. W muzeum regularnie odbywają się pokazy pracy maszyny. W 2008 roku na Uniwersytecie w Manchesterze odkryto oryginalne zdjęcie panoramiczne całej maszyny. Zdjęcie, zrobione 15 grudnia 1948 przez studenta Aleca Robinsona, zostało zreprodukowane w The Illustrated London News w czerwcu 1949.

Bibliografia

Uwagi

Cytaty

Bibliografia

  • Anderson, David (2010), „Historie sporne: odmitologizowanie wczesnej historii nowoczesnej brytyjskiej informatyki”, „ Historia informatyki”. Uczenie się z przeszłości , Springer, s. 58–67
  • Brown, Louis (1999), Radar Historia II wojny światowej: imperatywy techniczne i wojskowe , CRC Press, ISBN 978-0-7503-0659-1
  • Copeland, Jack (2010), "Colossus i wzrost nowoczesnego komputera", w Copeland, B. Jack (red.), Colossus The Secrets of Bletchley Park's Codebreaking Computers , Oxford University Press, ISBN 978-0-19-957814-6
  • Copeland, Jack (2011), "The Manchester Computer: A Revised History - Part 2: The Baby Computer", IEEE Roczniki Historii Informatyki , 33 (styczeń-marzec 2011): 22-37, doi : 10.1109/MAHC. 2010.2 , S2CID  9522437
  • Lavington, Simon (1980), Early British Computers: The Story of Vintage Computers i ludzi, którzy je zbudowali (1st ed.), Manchester University Press Society, ISBN 978-0-7190-0803-0
  • Lavington, Simon (1998), A History of Manchester Computers (2nd ed.), Swindon: The British Computer Society, ISBN 978-1-902505-01-5
  • Lavington, Simon H. (2019), Early computing w Wielkiej Brytanii: Ferranti Ltd. i finansowanie rządowe, 1948-1958 , Springer, ISBN 9783030151034
  • Napper, RBE (2000), „Komputery Manchester Mark 1”, w Rojas, Raúl; Hashagen, Ulf (red.), Pierwsze komputery. Historia i architektura , MIT Press, s. 356-377, ISBN 978-0-262-68137-7

Dalsze czytanie

Zewnętrzne linki