XYZ, czyli polska premiera
- Ignacy Rutkiewicz,
- 01.02.2004
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.
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ą.
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.