Komentarz 70-lecie zbitki WBI

Opis systemu UMC KRTM GEO-20

data wpisu: 2019.03.08 | data publikacji: 2018.01.18

Wacław Iszkowski przy współpracy Andrzeja Paplińskiego, Aleksandra Wigury, Andrzeja Pająka, Włodzimierza Zuberka, Janusza Sosnowskiego, Marka Manieckiego, Marka Suchenka oraz Małgorzaty Kalinowskiej-Iszkowskiej.

Instytut Informatyki (do 1972 Instytut Maszyn Matematycznych) na wydziale Elektroniki Politechniki Warszawskiej w 1972 roku na zlecenie z przemysłu rozpoczął prace nad systemem KRTM (Klawiaturowy Rejestrator na Taśmach Magnetycznych).

Miała to być realizacja zapotrzebowania w ośrodkach obliczeniowych na usprawnienie wprowadzania i weryfikowania tekstu programów oraz danych, które dotychczas były wprowadzane na karty papierowe. Każdybłąd wymagał powtórnego wydziurkowania okreśłonej karty i następnie wymiany jej w pliku kartowym z tą z błędem. Pochłaniało to sporo czasu oraz często prowadziło do powstania kolejnych błędów.  W tym czasie koszty przygotowania danych stanowiły około 40% kosztów eksploatacji ośrodków obliczeniowych.


Karta 80-kolumnowa z instrukcją  MOV #40, (R0)+   
(C) JS.Nowak - pomysł z przypomnieniem jak wyglądała karta perforowana

O warunkach w jakich miał być realizowany ten projekt pisze szerzej w swoim opracowaniu Jerzy Mieścicki [1]. Zamówiony system miał być seryjnie wytwarzany w zakładach MERAMAT na warszawskim Służewcu.

W projekcie tym uczestniczyła większość pracowników z Zakładu Doświadczalnego Budowy Maszyn Matematycznych oraz pracowników dydaktyczno-naukowych  Instytutu. 

Architektura systemu KRTM

Zamawiany system miał być złożony z:

Minikomputer UMC-20 (model)

Jednostka centralna minikomputera UMC-20, zaprojektowana i wykonana w Zakładzie Doświadczalnym Instytutu, była nowoczesną maszyną zbudowaną w technologii układów scalonych, które weszły do produkcji w kraju w zakładach TEWA. Konstrukcyjnie jednostka była umieszczona w jednym 19-calowym panelu dostępnym z pulpitu operatora.

Jednostka zawierała:

Mikroprogramowany procesor 16-bitowy zawierający:

Układ przerwań wykrywający przerwania programowe (w systemie zwane ekstrakodami) oraz sprzętowe: zanik i restart zasilania, restart z pulpitu, z licznika interwałów, z urządzeń peryferyjnych z odpowiednego kanału. Możliwe też było ustawienie przerwania po wykonaniu każdej instrukcji, co umożliwiało śledzenie wykonywania programu/procesu.

Pamięć operacyjną - ferrytową o pojemności 32k 16-bitowych słów o czasie cyklu 1,2 us z dostępem adresowym do słów oraz bajtów z inkrementacją/dekrementacją wskazanych słów pamięci oraz wstawiania stałych -1,0,1. Pamięć operacyjna mogła być logicznie podzielona na obszary złożone z  modułów 256 słów. Każdy z obszarów był adresowany względem wartości bazowej relokacji ze sprawdzaniem dolnej i górnej wartości ograniczenia obszaru. Obszary mogły być przeznaczone do wykonywania instrukcji (obszar I) oraz na dane (obszar D). Tym samym możliwe było wykonywanie procesów o tym samym kodzie instrukcji dla wielu rozłącznych obszarów danych.

Kanał selektorowy realizujący transmisje pomiędzy pamięcią operacyjną a pamięciami masowymi. Maksymalna szybkość transmisji wynosiła 0,6 mln 16b słów na sekundę. Kanał mógł obsługiwać do 32 urządzeń rozłącznie. Równocześnie z transmisją z/do wybranego urządzenia mogły być przesyłane rozkazy sterujące do innych urządzeń. Do kanału mogły być podłączone jednostki obsługi:

Kanał multiplekserowy (znakowy) realizujący transmisje pomiędzy pamięcią operacyjną a urządzeniami znakowymi z szybkością do 0,3 mln 16b słów na sekundę. Kanał miał możliwość obsługi do 256 urządzeń. Równocześnie mogły być realizowane transmisje dla wszystkich urządzeń. Do kanału była dołączona jednostka obsługi systemowego zegara oraz jednostki obsługi rodzajów urządzeń:

Stanowiska wprowadzania (terminale) EMA-960 były zaprojektowane i produkowane w Zakładzie Doświadczalnym Instytutu. W obudowie monitora był wmontowany początkowo telewizor radziecki Junost 603 sterowany z generatora znaków poprzez wejście antenowe. Na ekranie miał 4 wiersze po 20 znaków każdy. Układy generatora znaków musiały być zakupione za granicą za dewizy, a telewizory kupione ze specjalną zgodą Ministerstwa Przemysłu. Potem zostały one zastąpione polskimi telewizorami Vela, które z nowym generattorem na ekranie miały 12 wierszy po 40 lub 80 znaków każdy (karta perforowana miała wtedy 80 kolumn). Wyświetlane były tylko duże litery, łącznie z literami polskiego alfabetu wg normy BN-73/3101-01.

Również klawiatury były składane z zamówionych elementów w Zakładzie. Każde stanowisko było więc parą urządzeń znakowych – wejścia z klawiatury i wyjścia na ekran, obsługiwanych znak po znaku przez odpowiedni program systemu.

Model i prototyp UMC-20.

Na podstawie modelu UMC-20 wykorzystywanego do przygotowania oprogramowania KRTM, powstał prototyp maszyny UMC-20 z nieco zmienionym rozwiązaniem systemu przerwań oraz zmodyfikowaną listą instrukcji, przeznaczony dla systemu GEO-20.

Oprogramowanie systemu KRTM i GEO-20

Równolegle z projektowaniem sprzętu opracowano zestaw oprogramowania dla KRTM:

MISS – Wieloprocesowy system operacyjny dla UMC-20, obsługujący system przerwań, ekstrakody oraz procesy synchronizowane złożonymi mechanizmami synchronizacji semaforowej, z współbieżnie wykonywanymi procesami obsługi urządzeń znakowych i pamięci masowych na poziomie fizycznym i logicznym.  System plików obsługiwał pliki na taśmach magnetycznych oraz pliki na dysku rozmieszczane w wielopoziomowym katalogu. Dla ułatwienia uruchamiania oprogramowania system był wyposażony w debugger pozwalający śledzić wykonywanie instrukcji każdego z aktywnych procesów systemu wraz z zachowaniem obrazu stanu procesów danego programu. Wykonano trzy wersje systemu MISS:

SFINX – Program obsługi równoczesnego wprowadzania i kontroli poprawności danych z 32 stanowisk. Wprowadzane dane mogły być weryfikowane według określonych wcześniej formatów oraz zdefiniowanej programowo walidacji rekordów. Rekordy były składowane w zbiorze pliku pamięci dyskowej. Zbiory rekordów mogły być przeglądane, poprawiane lub weryfikowane przez powtórne wprowadzenia danych. Po stwierdzeniu poprawności zbiór z pliku pamięci dyskowej był zapisywany na taśmie magnetycznej w odpowiednim formacie zapisu (np. dla systemu Odry-1305). Znaczącym ułatwieniem implementacji tego programu był system MISS umożliwiający współbieżne wykonywanie procesów obsługi każdego ze stanowisk z możliwością wyłączności i synchronizacji dostępu do wspólnych zasobów pamięci operacyjnej, masowej oraz taśmowej. Z kolei możliwość podziału pamięci operacyjnej na obszar instrukcji (wspólny dla wszystkich identycznych procesów) oraz obszar danych (wyłączny dla każdego procesu) istotnie zmniejszało na nią zapotrzebowanie.

BAAS - Asembler instrukcji maszyny, zaimplementowany w Fortranie na maszynie Odra 1305. Programy dla maszyny UMC-20 były  wprowadzane i kompilowane na maszynie Odra i zapisywane w postaci wynikowej (binarnej) na taśmie papierowej, która następnie była wczytywana do maszyny UMC-20. W asemblerze o o strukturze segmentowej były zaimplementowane dyrektywy definiowania procesów z przypisanymi im obszarami instrukcji oraz obszarów dla danych wspólnych i rozłącznych. Był jeszcze zaimplementowany asembler MIDAS (Midlle ASembler) o strukturze blokowej z rozbudowanymi mechanizmami lokalności zmiennych oraz procedur z generowaniem kodu do postaci wynikowej w kodzie rozkazów maszyny UMC-20.

Dla prototypu serii maszyn UMC-20 przygotowano oprogramowanie dla systemu GEO-20:

MAAS –Zawansowany makroasembler o strukturze blokowej z lokalnością symboli z możliwością generowania kodu półskompilowanego lub binarnego.

LINK – Konsolidator modułów programów półskompilowanych o źródłach napisanych w asemblerze oraz potem w języku Fortran.

FORTRAN – Kompilator standardowego języka ANSI FORTRAN IV do postaci półskompilowanej przeznaczonej do konsolidacji .

LINE - Edytor wierszowy z możliwością podziału tekstu na strony (umożliwiało to drukowanie tylko stron z poprawkami) do wprowadzania treści programów.  Wcześniej  był jeszcze edytor  EDIT i TEMF.

LIBRARY- Biblioteka operacji i funkcji zmiennoprzecinkowych.

GEO-PROGRAM -  Biblioteka programów i funkcji standardowych obliczeń geodezyjnych.

Epilog

Model maszyny UMC-20 w konfiguracji KRTM-20 powstawał w latach 1974 – 75 wraz z systemem MISS oraz programem SFINX obsługi rejestracji danych. W chwili kończenia prac nad KRTM, MERAMAT wycofał zlecenie, gdyż otrzymał zgodę i fundusze na zakup licencji na zbliżony funkcjonalnie system Seecheck brytyjskiej firmy Redifon. Po odpowiedniej adaptacji do standardów RWPG, system ten był później produkowany jako MERA 9150.

Kierownictwo Instytutu Informatyki uratowało projekt, wykorzystując dotychczasowe dobre relacje współpracy z polską geodezją, gdzie pracowały już maszyny serii GEO wyprodukowane w Zakładzie Doświadczalnym Instytutu. 

Na zlecenie Zjednoczenia Przedsiębiorstw Geodezyjnych i Kartograficznych (GEOKART), w Zakładzie Doświadczalnym Instytutu wykonano siedem egzemplarzy systemu, nazywanego już wtedy GEO-20, które w latach 1979 – 1983 zainstalowano we wszystkich siedmiu okręgowych przedsiębiorstwach geodezyjnych i kartograficznych w Polsce.

Posłowie

Udział w tak całościowym projekcie systemu komputerowego oznaczał przyjemność projektowania, pasjonującą przygodę zawodową i bezwzględny sprawdzian kompetencji dla specjalistów zarówno od sprzętu, jak oprogramowania. Niezwykle korzystnie wpływał również na poziom nauczania. Zajęcia z organizacji komputerów, zespołów funkcjonalnych, projektowania układów, oprogramowania systemowego, systemów operacyjnych – prowadziły osoby, które znały te dziedziny nie tylko z literatury i naprawdę dobrze wiedziały, o co w nich chodzi. Z drugiej strony jednak, satysfakcję ujrzenia swojego dzieła w działaniu trzeba było okupić wieloma mozolnymi, intelektualnie jałowymi czynnościami, których jedynym celem było przezwyciężenie lub ominięcie zupełnie nie-merytorycznych ograniczeń: braku dewiz, układów i podzespołów, przepisów o charakterze politycznym, reguł scentralizowanej gospodarki planowej – czytamy w opracowaniu Jerzego Mieścickiego [1].

Zespół projektowo-wykonawczy UMC-20, KRTM, GEO-20

W projekcie brało udział w sumie około 40 pracowników Instytutu, a także studenci i dyplomanci.  Zaprezentowana lista osób wraz z wykazem ich działań, zapewne nie jest kompletną (proszę o wybaczenie pomijania tytułów naukowych, ale w danym czasie z reguły były one inne niż w późniejszych i obecnych czasach – WBI):

Antoni Kiliński – dyrektor Instytutu, kierownik projektu.
Jerzy Szewczyk – kierownik Zakładu Doświadczalnego KBMM [Katedra Budowy Maszyn Matematycznych, później Instytut Informatyki].

Andrzej Papliński – kierownik projektu, główny projektant architektury systemu i główny konstruktor sprzętu cyfrowego UMC-20/KRTM/GEO-20.
Zbigniew Dudek – projektant i konstruktor kanału multiplekserowego i selektorowego (DMA).
Janusz Sosnowski – projektant współpracy z urządzeniami.
Marian Łakomy, Andrzej Skorupski, Piotr Parewicz i inni,
Maria Kochman - dokumentacja techniczna.

Jan Bielecki – Kierownik oprogramowania, główny projektant architektury oprogramowania, mechanizmów synchronizacji zasobami, projektant systemu kompilacji MAAS+LINK.
Aleksander Wigura – Z-ca kierownika oprogramowania, po przejściu do Zakładu Doświadczalnego kierownik oprogramowania, projektant i zarządzający implementacją asemblera o strukturze blokowej i systemu MISS, projektant i zarządzający implementacją kompilatora Fortranu.
Jerzy Kuhl i Tomasz Stawiński – implementujący assembler BAAS na maszynie Odra 1304 dla modelu UMC-20.
Wacław Iszkowski – implementujący obsługę kanału multiplekserowego oraz debugger w systemie MISS.
Marek Maniecki – implementujący system plików w systemie MISS.
Marek Suchenek – implementujący obsługę kanału selektorowego w MISS oraz konsultujący poprawność kompilatora FORTRAN IV ze standardem.
Andrzej Pająk – projektant i zarządzający implementacją systemu SFINX.
Grzegorz Prochowski -implementujący system SFINX, prowadzący serwis oprogramowania GEO-20.
Jan Sobolewski – implementujący funkcje systemu SFINX.
Małgorzata Kalinowska – implementująca funkcje we/wy w systemie SFINX.
Henryk Stelmasik, Włodzimierz Zuberek, Jacek Stochlak – implementujący makroasembler MAAS, konsolidator LINK dla prototypu UMC-20.
Jarosław Szeffer – implementujący konsolidator LINK. oraz kompilator Fortranu.
Mirosław Lizurek, Janusz Niebudek – odpowiedzialni za implementację konsolidatora LINK.
Janusz Skolimowski – implementujący edytor EDIT i kompilator Fortranu, prowadzący serwis oprogramowania  GEO-20.
Ryszard Kwaśniewski–implementujący generator kodu dla wyrażeń arytmetycznych kompilatora Fortranu IV, testowanie, dokumentację użytkową kompilatora Fortranu. 
Zbigniew Zorski– implementujący bibliotekę operacji i funkcji zmiennoprzecinkowych.

Kompilator Fortranu dla K-202

Warto też przypomnieć, że w latach 1971-1973, Zespół Instytutu Informatyki pod kierunkiem Jana Bieleckiego (w zespole byli też Aleksander Wigura, Henryk Stelmasik, Grzegorz Prochowski i inni) zaimplementował kompilator FORTRANu IV dla minikomputera K-202. Ale praca wykonana i opłacona nie została nigdzie przypisana autorom. Potem próbowano zaadaptować ten kompilator dla maszyn serii MERA 400.

Według Andrzeja Ziemkiewicza i Elżbiety Jezierskiej Ziemkiewicz [18], translatory języków BASIC oraz FORTRAN były dla tych maszyn opracowane przez grupę programistów z Politechniki Poznańskiej pod kierunkiem Janusza Gocałka.

Bibliografia 

  1. Jerzy Mieścicki; Dzieje badań w dziedzinie informatyki na Wydziale Elektroniki i technik Informacyjnych Politechniki Warszawskiej. Instytut Informatyki 29 maja 2001 r. [źr. wystarczy tytuł wpisać do wyszukiwarki]
  2. GE0-20 Dokumentacja Techniczno-Ruchowa część 2 , Centralny procesor UMC-20 http://delibra.bg.polsl.pl/dlibra/doccontent?id=29289
  3. Zbigniew Dudek, Janusz Sosnowski; Organizacja współpracy urządzęń zewnętrznych w minikomputerowym systemie wstępnego przetwarzania danych UMC-20; Organizacja Maszyn Cyfrowych i Mikroprogramowanie, Tom 1, PWN 1976.
  4. Andrzej Papliński; Wielostanowiskowy system rejestracji i wstępnego przetwarzania danych KRTM-20, Organizacja Maszyn Cyfrowych i Mikroprogramowanie, Tom 1, PWN 1976.
  5. Jan Bielecki, Wacław Iszkowski, Marek Maniecki, Marek Suchenek, Aleksander Wigura; Implementacja supervisora o wielopoziomowej asynchronicznej obsłudze przerwań; Organizacja Maszyn Cyfrowych i Mikroprogramowanie, Tom 2, PWN 1977.
  6. Andrzej Pająk, Grzegorz Prochowski; Implementacja oprogramowania wielostanowiskowego systemu rejestracji i wstępnego przetwarzania danych – KRTM-20; Organizacja Maszyn Cyfrowych i Mikroprogramowanie, Tom 2, PWN 1977.
  7. Andrzej Papliński; System GEO-20. Dane podstawowe ; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 5-17, Ameliówka 1977 [do użytku służbowego].
  8. Andrzej Papliński, Piotr Parewicz; Centralny procesor UMC-20; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 18-27, Ameliówka 1977 [do użytku służbowego].
  9. Zbigniew Dudek, Janusz Sosnowski; Koncepcja WE/WY systemu GEO-20; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 28-41, Ameliówka 1977 [do użytku służbowego].
  10. Aleksander Wigura; System MISS-75; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 42-46, Ameliówka 1977 [do użytku służbowego].
  11. Włodzimierz Zuberek; Zasada tworzenia postaci półskompilowanej w asemblerze BAAS; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 47-59, Ameliówka 1977 [do użytku służbowego].
  12. Jacek Stochlak; Ogólna charakterystyka języka asemblerowego BAAS; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 60-75, Ameliówka 1977 [do użytku służbowego].
  13. Jarosław Szeffer; Edytor wierszowy LINE; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 76-87, Ameliówka 1977 [do użytku służbowego].
  14. Andrzej Pająk, Grzegorz Prochowski, Jan Sobolewski; SFINX - wielostanowiskowy system rejestracji i wstępnego przetwarzania danych; VII narada klubu użytkowników ETO na temat Informatyka w Geodezji i Kartografii, Część I, str 88-102, Ameliówka 1977 [do użytku służbowego].
  15. Andrzej Pająk, Grzegorz Prochowski, Jan Sobolewski; System SFINX; Wyd. SIGMA, 1981
  16. Andrzej Skorupski (?); Konstrukcje wykonane w Zakładzie Doświadczalnym Instytutu Informatyki.[źr. wystarczy tytuł wpisać do wyszukiwarki]
  17. Informacje od osób biorących udział w tym projekcie.
  18. Andrzej Ziemkiewicz, Elżbieta Jezierska-Ziemkiewicz ,Rodzina maszyn K-202 / Mera-400 / MX-16, Polska Informatyka:trudne początki, Wydawnictwo PTI 2017

Artykuł ten Autorzy przekazują do domeny publicznej .

Opublikowane również na witrynie historycznej PTI

Warszawa, 22 stycznia 2018 roku, akt. 5 marca 2019 roku