XYZ, czyli polska premiera

Pod koniec 1955 r. dyrekcja Instytutu Maszyn Matematycznych zadecydowała o połączeniu odrębnych dotąd zespołów - analogowego i cyfrowego - pod kierownictwem Leona Łukaszewicza do realizacji jednego, wspólnego zadania. Tym razem cel został osiągnięty i w ciągu dwóch lat w Zakładzie Aparatów Matematycznych (dawnym GAM) zaprojektowano, wykonano i uruchomiono jesienią 1958 r. maszynę cyfrową XYZ.

Pod koniec 1955 r. dyrekcja Instytutu Maszyn Matematycznych zadecydowała o połączeniu odrębnych dotąd zespołów - analogowego i cyfrowego - pod kierownictwem Leona Łukaszewicza do realizacji jednego, wspólnego zadania. Tym razem cel został osiągnięty i w ciągu dwóch lat w Zakładzie Aparatów Matematycznych (dawnym GAM) zaprojektowano, wykonano i uruchomiono jesienią 1958 r. maszynę cyfrową XYZ.

Mimo niepowodzenia projektu EMAL, ów pionierski okres nie był czasem straconym. Zebrane doświadczenia ułatwiły wykonanie kolejnego zadania. Pracujący w jednym zespole elektronicy i matematycy nauczyli się w praktyce projektowania maszyn cyfrowych, nauczyli się też doceniać stronę technologiczną przedsięwzięcia, jaką są tolerancja i stabilność elementów czy rozrzuty parametrów. Należy też zauważyć, że układy elektroniczne maszyny XYZ nie składały się już - jak w EMAL-u - z diod próżniowych, lecz były oparte na diodach półprzewodnikowych.

XYZ, czyli polska premiera
Miejscem narodzin XYZ stał się, nomen omen, Mądralin, gdzie w domu pracy twórczej PAN opracowano w ciągu dwóch tygodni architekturę logiczną. W kilkuosobowym zespole byli, obok kierownika Leona Łukaszewicza, m.in. Antoni Mazurkiewicz, Zdzisław Pawlak, Jerzy Fiett, Zygmunt Sawicki, który też pokierował całością budowy komputera. Wkrótce do zespołu dołączyli inni, wśród nich Jerzy Dańda. Powstał projekt, potem model maszyny, a następnie w ciągu pół roku skompletowano cały zestaw. Tak więc od chwili podjęcia decyzji o kształcie emc XYZ do momentu jej pełnego uruchomienia upłynął zaledwie rok. Gdy z kilkumiesięcznego stażu w Paryżu przyjechał kierownik zespołu, był zaskoczony poważnym zaawansowaniem prac realizacyjnych i stwierdził po powrocie wyraźnie zawiedziony: Wy tu już kończycie, a ja miałem tyle świetnych pomysłów!. Ale właściwe zakończenie prac nastąpiło, oczywiście, dopiero po wyposażeniu maszyny w oprogramowanie, nad czym pracowali Antoni Mazurkiewicz, Jan Borowiec, Krzysztof Moszyński, Jerzy Swianiewicz, Andrzej Wiśniewski.

Twórcy XYZ doskonale zdawali sobie sprawę ze skromnych środków i niewielkiego doświadczenia praktycznego. Leon Łukaszewicz ujawniał później z całą szczerością: Gdzie tylko się dało, korzystaliśmy z rozwiązań zagranicznych. Architektura XYZ była uproszczeniem i tak już prostej architektury IBM 701; zakładaliśmy, że taka firma jak IBM w wyborze swym nie może się mylić. Konstrukcja zaś komórek elementarnych XYZ była zapożyczona od maszyny radzieckiej BESM 6.

Ale zapożyczali również z rozwiązań krajowych: EMAL służył początkowo jako wzór szybkiej pamięci. Była to pamięć akustyczna zbudowana na rurach rtęciowych. Ze względu na to, że nie odznaczała się jednak niezbędną niezawodnością, zastąpiono ją pamięcią opartą na drutach niklowych. A ponadto, jako pamięć pomocniczą, zewnętrzną, wprowadzono pamięć bębnową.

XYZ, czyli polska premiera
I wreszcie pewnego dnia XYZ ruszył. Trzy stojaki z panelami wypełnionymi lampami, pulpit operatora i reproducer kart dziurkowanych wypełniały dość spore, specjalnie zaadaptowane pomieszczenie. Na pulpicie widać było kilka rzędów kluczy i dwa okrągłe oscyloskopy. Na jednym z nich można było obserwować zawartość wybranej "rury" pamięci (32 słowa, czyli 64 bajty), oczywiście w postaci binarnej, zakodowanej przez jaśniejsze i ciemniejsze kropki, na drugim - zawartość rejestrów akumulatora i mnożnika w postaci klasycznych ciągów impulsów - tak pierwsze dni pierwszego polskiego komputera opisywał Antoni Mazurkiewicz. - Oglądaliśmy z przejęciem wzrastanie zawartości liczników (wówczas dla nas zawrotnie szybkie, zmienność dopiero szóstego bitu od końca dawała się zauważyć! XYZ liczył bowiem z niebagatelną w tym czasie szybkością ok. 1000 operacji arytmetycznych na sekundę). Na drugim oscyloskopie można było zobaczyć na własne oczy, jak powstaje wynik dodawania, mnożenia, a nawet podzielenia dwóch słów binarnych. W tym czasie charakterystyczny był w Zakładzie Aparatów Matematycznych widok programisty siedzącego przy pulpicie XYZ, wpatrującego się w owe oscyloskopy i naciskającego jeden klucz, bardzo ważny i najczęściej używany, powodujący wykonanie pojedynczego kolejnego rozkazu programu (z angielska "single shot"). Tak właśnie uruchamiało się programy: wykonywało się mianowicie kolejno instrukcję po instrukcji i obserwowało się na oscyloskopie efekty ich działania. Pamięć XYZ (zbudowana na liniach opóźniających skonstruowanych z rur stalowych wypełnionych rtęcią, w których rozchodziły się fale akustyczne opóźniające bieg impulsów) składała się z 1024 słów 18-bitowych. Najwięcej kłopotów było z wyprowadzaniem wyników. Początkowo jedynym medium wyjściowym były karty perforowane. Urządzenie wyjściowe dziurkujące karty było wielkości biurka, niezmiernie ciężkie, masywne i hałasujące tak, że wyprowadzanie wyników było słychać w całym gmachu przy Śniadeckich 8. Co więcej, nie było na miejscu urządzenia tabulującego zawartość kart, trzeba było jeździć z kartami do Głównego Urzędu Statystycznego, aby dowiedzieć się, co maszyna naniosła na karty wyjściowe.

O oprogramowaniu dla XYZ pomyślano zawczasu, gdy sama maszyna była dopiero w fazie budowy. Dzięki rozpoczęciu tych prac równolegle do prac konstrukcyjnych udało się wykonać całość zadania w tak krótkim terminie - zaledwie dwóch lat.

Programować zaczęliśmy abstrakcyjnie, bez maszyny i bez jakichkolwiek doświadczeń. Początkowo jedynie Andrzej Wakulicz i Adam Empacher wiedzieli, co to jest elektroniczna maszyna cyfrowa i na czym polega jej programowanie, potem matematycy pracujący przy maszynach analogowych (Józef Winkowski, Tomasz Pietrzykowski i wspominający tamte chwile Antoni Mazurkiewicz) dołączyli do wtajemniczonych. Żaden z nas nie widział wówczas działającej maszyny cyfrowej, wiedzę o oprogramowaniu czerpaliśmy z nielicznych publikacji zagranicznych; pamiętam, że jedną z nich była książka Wilkesa z Wlk. Brytanii. Było to jedyne źródło naszej wiedzy o kodach, adresach, pseudorozkazach, tworzeniu pętli i rozgałęzień.

XYZ był modelem użytkowym dla całej serii maszyn, które powstawały w następnych latach jako kolejne wersje ZAM-ów, nazywanych tak od skrótu nazwy Zakładu Aparatów Matematycznych.

Niewielka objętość pamięci i niezbyt wielka szybkość XYZ wywarły widoczny wpływ na metodologię programowania tej maszyny - raz jeszcze zacytujmy Antoniego Mazurkiewicza. - Dążono do jak najmniejszej objętości programu; jeśli przy tym udawało się powiększyć jego szybkość, sukces był pełny. Złoty okres przeżywało programowanie trickowe: istniało nawet w folklorze programowym pojęcie katalogu chwytów programistycznych na każdą okazję. Technika programowania wynikała też ze skąpych możliwości dokonywania zmian w programach; na ogół programy były zbudowane z "epicykliÓ: wyskoków do sekwencji brakujących początkowo instrukcji. Każdy program, można by rzec, był dziełem sztuki. Rzecz jasna, opiekę nad tak napisanym programem mógł sprawować wyłącznie jego autor.

cdn.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200