Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Dalej  

Autor artykułu: prof. Raúl Rojas

©2023 mgr Jerzy Wałaszek
I LO w Tarnowie

Pierwsze maszyny liczące

SPIS TREŚCI

Pierwsze maszyny liczące

Konrad Zuse
(1910 – 1995)

Konrad Zuse jest powszechnie uważany w Niemczech za "ojca komputerów" , a jego Z1, programowalny automat skonstruowany w latach 1936 do 1938, został nazwany "pierwszym komputerem'' na świecie. Przez długi okres nie było zgody w skali międzynarodowej kto jest "prawdziwym" wynalazcą komputera. Czasami spory te wygasały i przerzucano się na określanie drobiazgowych cech technologicznych wybranej maszyny. Na przykład ENIAC okrzyknięty został pierwszym na dużą skalę, uniwersalnym komputerem elektronicznym  na świecie [Burks, Burks 81]. ENIAC (skrót nazwy angielskiej Electronic Numerical Integrator And Computer) został skonstruowany  w Szkole Inżynierii Elektrycznej Moore'a na Uniwersytecie Pensylwanii w okresie od maja 1943 do 1945. Rozwiązał on swój pierwszy problem numeryczny w grudniu 1945 i oficjalnie zaprezentowano go w styczniu 1946. Innym kandydatem do tytułu pierwszego komputera jest Mark I zbudowany przez Howarda Aikena na Uniwersytecie Harvard w okresie od 1939 do 1944 roku. Mark I był maszyną elektromechaniczną, niejako pewnym rodzajem hybrydy pomiędzy zupełnie mechaniczną naturą poprzednich urządzeń liczących a dostępną w owym czasie elektroniką [Aiken, Hopper 46]. Maszyna zbudowana przez Johna Atanasoffa (później nazwana ABC) w Iowa State College w okresie od 1938 do 1942 używała lamp elektronowych, lecz ograniczała się do dodawania i odejmowania wektorów oraz posiadała nieodpowiednią strukturę dla uniwersalnych obliczeń [Burks, Burks 88]. W przeciwieństwie do tych trzech maszyn Z1 był dużo bardziej elastyczny oraz został zaprojektowany do wykonywania długich ciągów instrukcji zapisanych na taśmie perforowanej. Maszyny Konrada Zuse nie były czysto elektroniczne i miały ograniczoną wielkość. Ponieważ Z1 ukończono przed komputerem Mark I, został on nazwany pierwszą programowalną maszyną liczącą na świecie. Oczywiście stare spory nie znikną wraz z pojawieniem się tego artykułu, lecz zamierzamy pokazać w nim, jak zaawansowanymi maszynami były komputery zbudowane przez Konrada Zuse rozważywszy je z punktu widzenia architektury nowoczesnych komputerów i porównawszy je z innymi wczesnymi komputerami tego okresu.

Student uniwersytetu Konrad Zuse zaczął myśleć o maszynach liczących w latach 1930-tych. Zdał sobie sprawę, iż mógłby skonstruować automat zdolny wykonywać ciągi operacji arytmetycznych potrzebnych do wyliczania tablic matematycznych. Posiadając wykształcenie inżyniera lądowo-wodnego nie był on formalnie elektronikiem oraz nie miał wiedzy na temat technologii stosowanej w konwencjonalnych kalkulatorach mechanicznych. Te braki obróciły się jednakże na jego korzyść, ponieważ zmuszony był przemyśleć od podstaw cały problem obliczeń arytmetycznych i w ten sposób natrafił na nowe i oryginalne rozwiązania.

Zuse zdecydował się zbudować swoją pierwszą eksperymentalną maszynę liczącą wykorzystując dwa główne pomysły:

Zuse doszedł do identycznych wniosków na lata przez Johnem von Neumannem objaśniającym zalety architektury komputerowej, w której procesor jest rozdzielony od pamięci. W roku 1936 pamięć2 planowanej maszyny została ukończona. Było to urządzenie mechaniczne, lecz bardzo niezwykłe. Zamiast kół zębatych (jak czynił to Babbage wiek wcześniej) Zuse zaimplementował operacje logiczne i arytmetyczne przy pomocy przesuwanych pasków z metalu. Paski te mogły się przesuwać tylko w jednym z dwóch kierunków (naprzód lub wstecz) i z tego powodu nadawały się doskonale do maszyny binarnej [Zuse 70]. Procesor dla Z1 ukończony został kilka miesięcy po pamięci przy zastosowaniu tej samej technologii. Współdziałał on z pamięcią, lecz nigdy nie pracował zupełnie niezawodnie. Głównym problemem była precyzyjna synchronizacja, niezbędna w celu uniknięcia nadmiernych naprężeń mechanicznych w ruchomych częściach. Jako ciekawostkę można podać, iż w tym samym roku, gdy została ukończona pamięć dla Z1, Alan Turing napisał swój przełomowy referat na temat liczb obliczalnych, w którym sformalizował intuicyjną koncepcję obliczalności.

Z1, chociaż zawodny, pokazał, iż projekt architektury był rozsądny i zmusił Konrada Zuse do rozpoczęcia badań nad innymi technologiami. Idąc za radą swojego przyjaciela Helmuta Schreyera rozważył zastosowanie lamp elektronowych, lecz porzucił ten pomysł na korzyść przekaźników elektromechanicznych, które łatwiej można było zdobyć zarówno przed wojną jak i w jej trakcie. Zbudowany został "pośredni", uproszczony model (Z2) przy wykorzystaniu hybrydowego podejścia (procesor zbudowany z przekaźników i pamięć mechaniczna). Natychmiast po nim Zuse rozpoczął budowę Z3, maszyny składającej się wyłącznie z przekaźników, lecz posiadającej taką samą strukturę logiczną jak Z1. Była ona gotowa do pracy w roku 1941, cztery lata przed komputerem ENIAC.

Konrad Zuse i rekonstrukcja jego komputera Z1

Artykuł ten oferuje po raz pierwszy dokładną analizę architektury komputerów Z1 i Z3. Komputer Z1 został zrekonstruowany przez samego Konrada Zuse w Berlinie w latach 1980-tych i stanowi obecnie jedną z atrakcji wystawowych w Berlińskim Muzeum Transportu i Technologii. Jednakże dostępna informacja opisuje jedynie konstrukcję pamięci mechanicznej [Schweier, Saupe 88]. Z3 został opisany przez Konrada Zuse w jego podaniu patentowym Z-391 z roku 1941, które jest raczej trudne do odcyfrowania z uwagi na niestandardową notację i terminologię [Zuse 41]. Książka Czauderna na temat Z3 stanowi dobre źródło dla zrozumienia szczegółowych warunków historycznych otaczających wynalazki Konrada Zuse [Czauderna 79]. W następnych częściach artykułu, z uwagi na praktycznie identyczną strukturę logiczną Z1 i Z3, będziemy się koncentrować jedynie na Z3. Główną różnicą w architekturze pomiędzy Z1 a Z3 był fakt, iż z Z1 usunięto operację obliczania pierwiastka kwadratowego. Występowały również drobne różnice w ilości bitów używanych w operacjach arytmetycznych wewnątrz procesora (Z1 używał o jeden bit mniej dla mantysy liczb zmiennoprzecinkowych) oraz w liczbie taktów potrzebnych dla każdej instrukcji. Pomijając owe drobne różnice i biorąc pod uwagę jedynie cechy architektury, możemy praktycznie mówić o Z1 i Z3 jako o tej samej maszynie.

Na początek:  podrozdziału   strony 

Architektura Pierwszych Maszyn Liczących Konrada Zuse  została umieszczona w serwisie edukacyjnym nauczycieli I-LO w Tarnowie za pisemną zgodą autora:
prof. dr Raula Rojasa
Z języka angielskiego tłumaczenie wykonał:
mgr Jerzy Wałaszek

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2023 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.