Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: prof. Raúl Rojas

©2023 mgr Jerzy Wałaszek
I LO w Tarnowie

Wynalezienie komputera

SPIS TREŚCI

Wynalezienie komputera

Główną wadą komputera Z3 stanowił brak skoku warunkowego w zbiorze instrukcji. Nie byłoby trudno taką instrukcję zaimplementować, chociaż jest to raczej niezdarne do wykonania, gdy program przechowuje się na taśmie perforowanej, to jednak niezbędny mechanizm wymagałby zaledwie kilku dodatkowych obwodów.

Czasem linia podziału pomiędzy maszynami liczącymi a uniwersalnymi komputerami jest wytyczana przez rozróżnienie maszyn z programami przechowywanymi wewnętrznie i zewnętrznie. W innej pracy [Rojas 93] dowodziłem, iż nie jest to warunek niezbędny. Zewnętrzny program może działać jak interpreter danych liczbowych. Zewnętrzny program staje się stałą częścią procesora a dane stają się programem, w dużym stopniu podobnie do pracy jako interpreter uniwersalnej maszyny Turinga. Dowiodłem, iż dla ogólnych obliczeń potrzebny jest minimalny zestaw instrukcji oraz adresowanie pośrednie [Rojas94]. Adresowanie pośrednie można symulować pisząc samo modyfikujące się programy, aby zestaw instrukcji stał się warunkiem definiującym. Maszyna z wystarczającą pamięcią, akumulatorem i zdolna wykonywać instrukcje CLR (czyść), INC (zwiększ o jeden), LOAD (ładuj), STORE (zachowaj) i BZ (skocz gdy zero) jest komputerem uniwersalnym.

Patrząc z tej strony Z1 nie był  w pełni dojrzałym komputerem, lecz pozostałe wczesne maszyny również nie były. ABC był maszyną specjalizowaną do eliminacji Gaussa, Harvard Mark 1 nie posiadał instrukcji warunkowych rozgałęzień, chociaż mógł tworzyć pętle. Komputer ENIAC nawet nie był programowalny za pomocą programu, elementy składowe musiały być sprzętowo łączone ze sobą wzdłuż ścieżki przepływu danych. Rozgałęzienia warunkowe były w komputerze ENIAC dostępne tylko w ograniczonym stopniu, a o samo modyfikujących się programach można było oczywiście tylko pomarzyć.

Tablice 2 i 3 pokazują najważniejsze informacje o wczesnych maszynach liczących wspomnianych w rozdziale 1. Z tablic tych jasno wynika, iż żadna z nich nie spełnia wszystkich niezbędnych wymagań dla komputera uniwersalnego. Uwzględniamy również maszynę Mark 1 wybudowaną w Manchesterze w latach 1946 do 1948, ponieważ zgodnie ze stanem naszej wiedzy, była to pierwsza maszyna, która spełnia naszą definicję uniwersalnego komputera. Mark 1 został wybudowany pod kierownictwem F.C. Williamsa i T. Kilburna. Maszyna ta przechowywała swój program w cyfrowej pamięci o dostępie swobodnym, zrealizowanej przy pomocy lamp kineskopowych. Dostępne były wszystkie niezbędne instrukcje podstawowe (w zmodyfikowanej postaci) i chociaż brakowało adresowania pośredniego, można było tworzyć samo modyfikujące się programy. Pierwszy program uruchomiono w czerwcu 1948 roku i obliczył on największy czynnik właściwy liczby 218 [Lavington 75]. We wrześniu Alan Turing otrzymał stopień starszego wykładowcy matematyki w Manchesterze i napisał kilka programów dla pierwszego na świecie komputera uniwersalnego. Jego wizja komputera uniwersalnego opublikowana w roku 1936, tym samym, w którym została skonstruowana jednostka pamięci dla Z1, została w końcu zrealizowana. Tablice 2 i 3 są stanowcze: wynalazek komputera był zbiorowym osiągnięciem obejmującym dwa kontynenty i okres dwunastu lat.

Tablica 2: Porównanie cech architektury
Maszyna Pamięć i procesor rozdzielone? Skoki warunkowe? Programowanie sprzętowe czy softwarowe? Programy samomodyfikujące się? Adresowanie pośrednie?
Z1 Zusego obrazek x softwarowe x x
Atanasoffa obrazek x sprzętowe x x
H-Mark I x x softwarowe x x
ENIAC x częściowo sprzętowe x x
M-Mark 1 obrazek obrazek softwarowe obrazek x
Tablica 3: Niektóre dodatkowe cechy architektury
Maszyna wewnętrzne kodowanie liczb stało czy zmiennoprzecinkowy? Sekwencyjna arytmetyka bitowa? Architektura Technologia
Z1 Zusego dwójkowe zmiennoprzecinkowy x sekwencyjna mechaniczna
Atanasoffa dwójkowe stałoprzecinkowy obrazek wektorowa elektroniczna
H-Mark I dziesiętne stałoprzecinkowy x równoległa elektromechaniczna
ENIAC dziesiętne stałoprzecinkowy x przepływ danych elektroniczna
M-Mark 1 dwójkowe stałoprzecinkowy obrazek sekwencyjna elektroniczna
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.