Instytut Astronomii

KontaktPiwnice k. Torunia, 87-148 Łysomice
tel.: +48 56 611 30 10
fax: +48 56 611 30 09

System sterowania radioteleskopu RT15 na początku lat 1980-tych

W pierwszych latach użytkowania 15-metrowego radioteleskopu (RT15 zwanego też RT3) do jego sterowania był wykorzystywany polskiej produkcji minikomputer Mera 302. Urządzenie to służyło także (zamiennie, jako maszyna licząca w tzw. Systemie Biurowym oferującym symboliczny język programowania) do rozmaitych innych zadań, m.in. do opracowywania codziennych obserwacji Słońca na częstości 127 MHz.

System sterowania RT15 został napisany w języku maszynowym (wewnętrznym) minikomputera składającym się z około 30 elementarnych poleceń 8-bitowego procesora. Z czasem obsługa sterowania ruchem teleskopu została poszerzona o obsługę innych urządzeń zewnętrznych (w tym pamięci taśmowej i plottera XY) i do synchronicznego z okresem pulsara zbierania i wyświetlania danych z takich radioźródeł. Szybkość tej maszyny była taka, że wykonanie najprostszych poleceń (np. wyzerowanie akumulatora) zajmowało 2 mikrosekundy (zatem, porównując do dzisiejszych gigahercowych PC, miał on szybkość rzędu 1 MHz).

System sterowania RT15 na dziurkowanej taśmie. Początkowa część taśmy zawiera tzw. bootstrap (na zdjęciu widać jego pełny kod: 616 400 000 711 103 702 400 000), który wprowadzało się z czytnika ręcznie, za pomocą kluczy na pulpicie minikomputera, na początek 000 strony pamięci operacyjnej (PAO). Po uruchomieniu, programik ten już sam wczytywał (pierwszy rozkaz, 616, to “wczytaj slowo do akumalora z czytnika”) dalsze słowa (bajty) z taśmy, na której znajdowały się modyfikacje samego bootstrapu oraz właściwy program wczytujący system sterowania (zapisywany na końcowych stronach PAO) i cały system.

Poniżej pokazano wybrane fragmenty (całość kodu maszynowego zajmowała około 3/4 pamięci operacyjnej, PAO, czyli około 190 z 256 32-bajtowych stron) oryginalnych roboczych wydruków kodów źródłowych, jakie zachowały się z tamtego okresu.

Kod maszynowy w obszarze pamięci operacyjnej zawierającej początek (miejsce startowe) jednej z prostszych wersji systemu sterowania oraz blokowy schemat operacji. W tabelce kolejne miejsca pamięci operacyjnej (PAO) występują w wierszach (na stronach) od lewej do prawej – w tej też kolejności procesor wykonywał podane tu polecenia (ich spis zawiera Skan 3). Cały taki kod za pierwszym razem był wprowadzany do PAO ręcznie, bajt po bajcie. Na schemacie blokowym adresy PAO sa zapisane w postaci dwucyfrowego miejsca na stronie i trzycyfrowego numeru strony w kodzie 8b (ósemkowobinarnym). Np. 26-405 oznacza miejsce 22 (= 28 + 61) i stronę 133 (= 432 + 08 + 51), czyli 4278 (= 13332 + 22) bajt PAO (która miała całkowitą pojemność 8192 bajtów).
Część elementarnych procedur (działania arytmetyczne i knowersja kodowania między systemami: binarnym i dziesiętnym) napisanych dla systemu sterowania. W tej tabelce kolejne miejsca PAO występują w kolumnach (na stranach) od góry do dołu.
Wykaz poleceń procesora minikomputera Mera 302. Zapis Ai oznacza i-ty bit 8-bitowego akumulatora (zerowy bit jest tu najbardziej znaczący). Wskaźniki to: CI – skoku warunkowego, P – przelania akumulatora (po operacji dodawania i przesuwania A), Z – strony zerowej oraz S – aktywnej strony (tj. używanej przez rozkazy 0.., 1.. i inne przy Z = 0).