GIER

Z Wikipedii, wolnej encyklopedii
Jednostka centralna

GIER (od duń. Geodætisk Instituts Elektroniske Regnemaskine – elektroniczna maszyna licząca Instytutu Geodezyjnego, zwana także drugim komputerem Danii) – w pełni tranzystorowy komputer drugiej generacji skonstruowany w latach 1958-1961 przez duńską firmę Regnecentralen. Przeznaczony przede wszystkim na potrzeby akademickie, swoją nazwę wziął od rządowego Instytutu Geodezyjnego w Danii – instytucji finansującej budowę pierwszego egzemplarza. Językiem programowania wysokopoziomowego dla maszyny był ALGOL. Wyprodukowano i sprzedano około 34[1] egzemplarze komputera GIER.

Przy budowie komputera oraz konsultacjach, projektowaniu i implementacji kompilatora brały udział znane autorytety w dziedzinie informatyki, m.in. Peter Naur, Jørn Jensen, Christian Gram, Esdger Dijkstra. Kompilator GIER Algol uważany był za jeden z najbardziej niezawodnych i najlepiej udokumentowanych w swoich czasach.

Maszyna GIER oraz współpraca z firmą Regnecentralen w środowisku akademickim miała istotny wpływ na informatyzację w Polsce i przyczyniła się do powstania Instytutu Informatyki na Uniwersytecie Warszawskim. Po sukcesie komercyjnym w Polsce komputery GIER znalazły klientów w państwach bloku wschodniego: Czechosłowacji, Węgrzech, Bułgarii, Rumunii czy Jugosławii.

Stolik operatora
Panel sterowania
Masowa pamięć karuzelowa

Architektura[edytuj | edytuj kod]

Elementami przetwarzania sygnałów elektrycznych użytymi w komputerze GIER były tranzystory zamiast używanych wcześniej lamp elektronowych. Maszyna miała rozmiary trzydrzwiowej szafy, dodatkowo wymagała stanowiska operatora, przy którym dostępne były urządzenia wejścia-wyjścia. Nowsza technika pozwoliła poprawić parametry techniczne[2][3]:

  • długość słowa w maszynie to 42 bity, z czego dwa wykorzystywane były na specjalne znaczniki (jeden określał długość instrukcji – 40 lub 20 bitów, drugi rodzaj operacji – zmienno lub stało pozycyjne)
  • pamięć operacyjna składała się z 1024 słów, co dawało 4kb pamięci całkowitej
  • pamięć zewnętrzną stanowił bęben składający się z 320 ścieżek po 40 słów na każdej (12800 słów maszynowych)
  • liczby zmiennoprzecinkowe reprezentowane były na 10 bitach wykładnika i 30 bitach mantysy
  • operacje na liczbach stałopozycyjnych zajmowały 36 do 50 mikrosekund
  • operacje zmiennopozycyjne wymagały odpowiednio: dodawanie 100 mikrosekund, mnożenie 170 mikrosekund, dzielenie 220 mikrosekund
  • wejście maszyny: czytnik 8 kanałowej taśmy perforowanej o prędkości 1000 znaków na sekundę
  • wyjście maszyny: perforacja na papierowej taśmie wynikowej z prędkością 150 znaków na sekundę

Alternatywnymi metodami interakcji z komputerem były: konsola operatora w postaci maszyny do pisania, która pozwalała wykonywać instrukcje maszynowe oraz panel z 42 przyciskami białymi i czarnymi umożliwiającymi zapisywanie odpowiednich bitów słów maszynowych bezpośrednio w rejestrach i pamięci operacyjnej.

Programista mógł korzystać z programów bibliotecznych – odwołanie do kodu bibliotecznego wymagało manualnej zmiany taśmy z programem po napotkaniu odpowiedniej instrukcji w kodzie. Ze względu na szybkość czytania wejścia taśma mogła zatrzymać się za instrukcją blokującą, więc część danych była buforowana do późniejszego wykonania.

GIER Algol[edytuj | edytuj kod]

Na potrzeby komputera GIER stworzony został dedykowany kompilator języka ALGOL 60 do kodu wykonywanego przez maszynę. Ze względu na dynamiczną naturę języka wejściowego kompilator uwzględniał mechanizmy wirtualizacji w przypadku kończącej się pamięci operacyjnej, dając większą swobodę programiście. Proces tłumaczenia programu na instrukcje asemblera realizowany był w następujących przebiegach[3]:

  1. Analiza poprawności zapisu programu na taśmie, tłumaczenie na język pośredni, asemblacja i umieszczenie w pamięci ciągów znaków.
  2. Dopasowanie identyfikatorów użytych w programie – każdy unikalny identyfikator reprezentowany był jako liczba z przedziału 512 i 1022.
  3. Analiza i sprawdzenie struktury znaków przystankowych i separatorów. Znaki wieloznaczne zamieniane były na unikatowe odpowiedniki w zależności od kontekstu. Na potrzeby kolejnych przejść dodawane były pomocnicze znaki.
  4. Deklaracje z początków bloków (instrukcja begin) oraz nagłówków procedur były zbierane, analizowane i wrzucane na stos. Następowało uporządkowanie wywołań procedur.
  5. Tworzenie i dystrybucja tablicy symboli dla bloków w programie, alokacja pamięci dla zmiennych.
  6. Faza sprawdzania typów dla identyfikatorów i operandów. Konwersja do odwrotnej notacji polskiej.
  7. Generowanie instrukcji maszynowych dla wyrażeń. Alokacja zmiennych roboczych.
  8. Końcowe adresowanie instrukcji i zmiennych programu, podział na poszczególne ścieżki pamięci bębnowej, wygenerowanie instrukcji skoków i ostatecznego kodu maszynowego.
  9. Ułożenie segmentów kodu na ścieżkach w pamięci bębnowej

Historia powstania[edytuj | edytuj kod]

Komputer GIER powstał w Regnecentralen jako technologiczny następca maszyny DASK (duńskiej wersji szwedzkiego komputera pierwszej generacji BESK). Lampy elektronowe zostały zastąpione tranzystorami co znacznie poprawiło wydajność i niezawodność. Prace nad zaprojektowaniem i realizacją maszyny zaczęły się w 1958 roku na zamówienie duńskiego Instytutu Geodezyjnego, który miał już długoletnie doświadczenie w pracy z maszynami liczącymi (m.in. IBM 602A). Projekt prowadzili głównie Henning Isaksson i H. Worsøe[1]. Pomimo niewielkiego budżetu udało się zrealizować założenia i w 1961 roku oddać w pełni funkcjonalny sprzęt. Ze względu na uniwersalne podejście i względnie niski koszt produkcji do Regnecentralen zwrócili się prywatni przedsiębiorcy z ofertami kupna, przez co postanowiono zbudować kolejne 8 egzemplarzy. Wzrost popularności, szczególnie w Europie Wschodniej, poskutkował kolejnymi zamówieniami.

Ciekawostki[edytuj | edytuj kod]

  1. GIER posiadał najszybszy czytnik taśmy perforowanej na świecie pozwalający przetwarzać dane z prędkością nawet 5 metrów na sekundę.
  2. Koszt zakupu maszyny w 1964 roku dla Uniwersytetu Warszawskiego to wysoka kwota 140 tys. dolarów amerykańskich.
  3. Komputer GIER na Uniwersytecie Warszawskim działał nieprzerwanie przez 15 lat. Przeszedł na emeryturę, kiedy techniczna konstrukcja stała się przestarzałą, choć cały czas pozostawał sprawny funkcjonalnie.
  4. Istnieje symulator komputera GIER napisany w języku C. Można go pobrać z witryny: http://datamuseum.dk/site_dk/rc/giersimulator/

Przypisy[edytuj | edytuj kod]

  1. a b Per V. Kluver, From Research Institute to Computer Company: Regnecentralen 1946-1964 [online].
  2. Christian Gram, GIER-A Danish Computer of Medium Size, Danish Institute of Computing Machinery, Danish Academy of Technical Sciences, Copenhagen, Denmark. 1963.
  3. a b Peter Naur, THE DESIGN OF THE GIER ALGOL COMPILER, 1963.

Linki zewnętrzne[edytuj | edytuj kod]