Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor: prof. Horst Zuse |
©2021 mgr Jerzy Wałaszek |
Szczegółowe spojrzenie na architekturę komputera Z1
SPIS TREŚCI |
Od 1936 do 1938 ojciec mój zajęty był budową Z1, który działał według zasad omówionych w Rozdziale 2. Maszyna Z1 była godna uwagi z wielu powodów. Oprócz pamięci z 64 słów (każde z nich zawierało po 22 bity) maszyna ta posiadała wszystkie składniki, które poprzednio wymieniono w Części 2. Dlatego Z1 był pierwszym na świecie, swobodnie programowalnym komputerem dwójkowym!
![]() |
Fot.7.
Komputer Z1 w pokoju gościnnym rodziców Konrada Zuse w 1936 |
![]() |
Fot.8.
Elementami składowymi Z były cienkie, metalowe arkusze |
Z1 był programowany przy pomocy taśmy perforowanej i jej czytnika. Poszczególne elementy składowe (czytnik taśmy perforowanej, jednostka sterująca całą maszyną i wykonywaniem instrukcji, jednostka arytmetyczna z rejestrami R1 i R2, pamięć oraz urządzenia wejścia wyjścia) były od siebie dobrze odseparowane.
W 1986 Konrad Zuse zdecydował się odbudować komputer Z1 (Fot. 13), ponieważ jego architektura była prawie identyczna z architekturą komputera Z3 (omawianego poniżej) niestety zniszczonego w czasie Drugiej Wojny Światowej. Stąd powiedzenie, iż "Wojna jest matką wszystkiego" nie jest prawdziwe w przypadku wynalazku komputera.
![]() |
Fot.9.
Odbudowany komputer Z1 w widoku z lotu ptaka (Źródło: Deutsches Technik Museum w Berlinie) |
Zwróć uwagę, jak przypomina on kształtem widok nowoczesnego układu scalonego.
![]() |
Fot.10. Schemat blokowy komputera Z1 |
Funkcje większości składników są oczywiste. Pamięć, która składała się z 64 słów, każde po 22 bity, została uformowana w trzy bloki. Pierwszy blok zawierał 64 słowa dla wykładników i znaków (8 bitów na każde słowo). Pozostałe dwa bloki zawierały 32 słowa dla mantysy (14 bitów w każdym słowie). Jednostka adresowa interpretowała adresy pamięci przekazywane przez jednostkę sterującą. Jednostka arytmetyczna była sumatorem, a wszystkie operacje sprowadzano do dodawań lub odejmowań (dodawanie i odejmowanie są bardzo podobnymi do siebie operacjami).
Rejestry R1 i R2 były dwoma słowami, każde po 22 bity. Dwa koła po lewej stronie (na bloku generatora zegarowego) symbolizują kołowroty do ręcznego wprowadzenia cyklu zegarowego, gdzie górna korba odnosi się do pamięci a dolna przeznaczona jest dla jednostki sterującej i arytmetycznej.
Konrad Zuse odbudował Z1 w swojej pracowni w Hünfeld pomiędzy rokiem 1987 a 1989. Oryginalny Z1 był finansowany prywatnie przez Konrada Zuse, jego rodziców, siostrę Lieselotte (1908-1953) oraz przyjaciół. Rekonstrukcja Z1 stała się trudnym zadaniem dla mojego ojca, ponieważ miał już 77 lat. Odtworzenie wszystkich elementów maszyny było bardzo kosztowne. Całkowity koszt odbudowy komputera Z1 wyniósł około 800.000 DM. Przedsiębiorstwo Siemens AG koordynowało konsorcjum pięciu kompanii i pokryło większą część tych kosztów.
Pracując w swojej pracowni Konrad odtworzył tysiące rysunków technicznych każdego elementu maszyny, ponieważ oryginalne plany uległy zniszczeniu w czasie wojny. Pod koniec 1987 prace rekonstruktorskie nad Z1 uległy przerwaniu, gdyż mój ojciec dostał ataku serca. Jednakże po sześciu miesiącach rekonwalescencji budowa maszyny była kontynuowana.
![]() |
Fot.11. Na
brązowej desce kreślarskiej Konrad Zuse po raz drugi zaprojektował Z1 |
![]() |
Fot.12. Inny
widok na pracowni Konrada Zuse (1986) |
W przybliżeniu 30.000 komponentów wchodzących w skład tej maszyny - narysowane przez Konrada Zuse - wykonano następnie w przedsiębiorstwie Siemens AG w miejscowości Bad Hersfeld przy użyciu nowoczesnych obrabiarek numerycznych. Komponenty te zostały następnie złożone w całość przez Konrada Zuse, pracownika Siemens AG i dwóch studentów Schweiera i Saupe [SCHW89] z Kolonii.
![]() |
Fot.13.
Odbudowa Z1 w pracowni Konrada Zuse (Zdjęcie to wykonał Horst Zuse 25 grudnia 1988) |
Odbudowany komputer Z1, ukończony w 1989, przeniesiono z Hünfeld do Berlina. Odbudowa Z1 była wspaniałym osiągnięciem pozwalającym mojemu ojcu pokazać światu pierwszy swobodnie programowalny komputer oparty na liczbach zmiennoprzecinkowych i dwójkowym systemie liczenia.
Powiedzieliśmy już wcześniej, iż Z1 posiadał pamięć 64 słów po 22 bity. Każde słowo było bezpośrednio adresowalne przez taśmę perforowaną wraz z jej czytnikiem i jednostką sterującą, a dane można było odczytywać i zapisywać do każdego z tych słów. Warto zauważyć, iż ta pamięć mechaniczna wcale nie pracowała wolniej od pamięci zbudowanej przy użyciu przekaźników, nie licząc tego, iż pamięć mechaniczna zajmowała o wiele mniej miejsca.
![]() |
Fot.14. Jeden bit mechanicznej pamięci Konrada Zuse |
Bez wątpienia był to unikalny rodzaj pamięci, a w roku 1936 Konrad Zuse uzyskał na niego patent [ZUSE36]. Metalowe paski ukazane na Fot. 14 przechowują jeden bit. Na tej ilustracji w pamięci umieszczona jest dwójkowa wartość 1 (pozycja lewa) (pozycja prawa odpowiada dwójkowej wartości 0). Paski metalowe a oraz b są ruchome i sterowane przez jednostkę sterującą przy zapamiętywaniu bitu (przy danej częstotliwości zegara generowanej za pomocą silnika elektrycznego).
Poniżej pokazano prosty przełącznik mechaniczny. Kliknij na drugi od góry pasek (jest to pasek sterujący), a następnie kliknij na trzeci pasek od góry (to jest pasek testowy). W zależności od pozycji środkowego bolca górny pasek (pasek wskaźnikowy) poruszy się lub nie. Urządzenie to jest bardzo proste, ale odpowiednio duża liczba takich elementów może wykonywać obliczenia!
![]() |
Pomysł
oryginalny (C) Alexander Thurm Opracowanie JavaScript (C) Jerzy Wałaszek |
Pisaliśmy już wcześniej, iż programy dla Z1 (Rechenpläne) były zapisywane na taśmach perforowanych w 8-bitowym kodzie. To właśnie dzięki umieszczeniu ich na taśmie zamiast na stałe wbudowanie do mechanizmu sprawiło, iż Z1 był swobodnie programowalną maszyną. Zestaw instrukcji komputera Z1 był następujący:
Pr z | Odczyt zawartości komórki pamięci z do rejestru R1 lub R2. |
Ps z | Zapis zawartości rejestru R1 do komórki pamięci z. |
Ls1 | Dodanie liczb zmiennoprzecinkowych w rejestrach R1 i R2. |
Ls2 | Odjęcie liczb zmiennoprzecinkowych w rejestrach R1 i R2. |
Lm | Pomnożenie liczb zmiennoprzecinkowych w rejestrach R1 i R2. |
Li | Podzielenie liczb zmiennoprzecinkowych w rejestrach R1 i R2. |
Lu | Odczyt liczb dziesiętnych z urządzenia wejściowego. |
Ld | Zapis liczb dziesiętnych na urządzenie wyjściowe. |
![]() |
Fot.15.
Taśma perforowana (ze standardowego filmu kinowego 35mm) oraz czytnik taśmy w Z1 |
![]() |
Fot.16. Z1 w
całej okazałości. Na pierwszym planie widoczna korba ręczna do napędu generatora taktu |
Komputer Z1 jest pokazany w całości na Fot.16. Oprócz korby (na pierwszym planie) do ręcznego generowania cykli w maszynie, występował również silnik elektryczny, który wytwarzał częstotliwość zegarową wynoszącą jeden hertz (jeden cykl na sekundę). Z tyłu na tym samym zdjęciu widoczne są trzy bloki pamięci, natomiast jednostka arytmetyki zmiennoprzecinkowej jest po stronie prawej.
![]() |
Fot.17.
Jednostka arytmetyki zmiennoprzecinkowej komputera Z1. Do jej zbudowania potrzebne było tysiące cienkich, metalowych płytek |
![]() |
Fot.18.
Interfejs pomiędzy jednostką arytmetyczną (po lewej) a pamięcią (po prawej). Dzisiaj powiedzielibyśmy, że między nimi była magistrala równoległa |
Jeśli zapiszesz sobie na kawałku papieru dwie liczby zmiennoprzecinkowe przy użyciu systemu dwójkowego i spróbujesz opracować algorytmy wykonywania nad nimi podstawowych działań arytmetycznych, to zrozumiesz, ile wysiłku należało włożyć w zbudowanie jednostki arytmetycznej komputera Z1. Projekt zmiennoprzecinkowej, dwójkowej jednostki arytmetycznej wykonany przez mojego ojca był bardzo pomysłowy. Jednakże techniczne wykonanie przy użyciu cienkich arkuszy metalowych okazało się zbyt złożone. Jednostka arytmetyczna oryginalnego Z1 nie działała pewnie (podobne problemy występowały w zrekonstruowanym Z1).
![]() |
Fot.19.
Urządzenie wejściowe (na dole po prawej) i wyjściowe (na środku zdjęcia) w komputerze Z1 |
![]() |
Fot.20.
Konrad Zuse wprowadza liczbę dziesiętną do urządzenia wejściowego (ponad tymi klawiszami można było ustawić wykładnik od +8 do -8 |
Z1 posiadał dziesiętne urządzenia wejściowe i wyjściowe. Liczby wprowadzano do maszyny w postaci dziesiętnej z wykładnikiem. Komputer Z1 następnie dokonywał zamiany tych liczb na ich znormalizowany, zmiennoprzecinkowy odpowiednik binarny. W podobny sposób urządzenie wyjścia zamieniało binarną liczbę zmiennoprzecinkową z rejestru R1 na odpowiadającą jej liczbę dziesiętną z wykładnikiem.
![]() |
Fot.21.
Urządzenie wyjścia miało postać wskaźnika. Wykładnik zaznaczony jest u dołu na kolor czerwony |
![]() |
Fot.22. Regulacja metalowych płytek i bolców |
Więc już w latach 1936 -1938 komputer Z1 demonstrował prawie wszystkie własności tak zwanej maszyny von Neumanna [NEUM45], [BURK46]. W rzeczywistości jedynymi nie zaimplementowanymi własnościami był odczyt i przechowywanie programu w pamięci wewnętrznej Z1. Stało się tak dlatego, iż w owym czasie budowanie dużych pamięci stanowiło zadanie bardzo kosztowne. Obliczenie zwykłego wyznacznika (trzeciego stopnia) wymaga około 50 instrukcji i 15 słów pamięci na zmienne i wyniki pośrednie. Ten prosty przykład pokazuje, iż umieszczenie programu w pamięci wewnętrznej uniemożliwiłoby swobodne programowanie komputera Z1.
![]() |
Fot.23.
Konrad Zuse z odbudowanym komputerem Z1 w Muzeum Niemieckiej Techniki w Berlinie we wrześniu 1989 |
Życie i Praca Konrada ZuseAutor Horst ZuseSchaperstraße 21 Tekst, fotografie oraz inne obrazki pojawiające się w artykule "Życie i Praca Konrada Zuse" są prywatną własnością Horsta Zuse i ich nieupoważniona reprodukcja lub imitacja w całości lub w części jest jawnie zabroniona. Historia życia i twórczości Konrada Zuse została umieszczona w Serwisie Edukacyjnym Nauczycieli I-LO w Tarnowie za pisemną zgodą syna wynalazcy, prof. dr inż. Horsta Zuse |
![]() |
Zespół Przedmiotowy |
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.