Historia informatyki cz.3: początki rewolucji

Już w 18 wieku wiedziano, że budowa uniwersalnej maszyny programowalnej jest możliwa. Ba, nawet powstały takie projekty. Niestety ich stopień skomplikowania nie pozwalał na realizację w tamtych czasach, a niektórych z nich nie udało się zbudować do dnia dzisiejszego. Czegoś jeszcze brakowało… Sprawdźmy co pozostało do odkrycia.

W pierwszej części artykułu Historia informatyki cz.1 wspiąć się na ramiona olbrzymów przyglądaliśmy się skromnym początkom informatyki. Potem w drugiej części Historii informatyki: bit i para widzieliśmy jak cała sprawa zaczyna nabierać rozpędu. Dzisiaj prześledzimy kolejne odkrycia, które pozwoliły uwolnić się z kajdan mechaniki.

Ówczesne projekty maszyn programowalnych bazowały na konstruktach mechanicznych. Ich stopień skomplikowania rósł wykładniczo i nie było sposobu aby jakoś nad tym zapanować lub przynajmniej mieć jakąś kontrolę nad chaosem trybów i krzywek. Innymi słowy, pojawiła się granica, której przekroczenie wydawało się niemożliwe. Potrzebny był nowy przełom. I się pojawił.

W 1904 roku wynaleziono lampę elektronową. Jest to już nieco zapomniany element ale to właśnie on zapoczątkował rozwój elektroniki. Przed tym wynalazkiem prąd elektryczny był traktowany, podobnie jak węgiel, jako kolejna forma energii, owszem miał swoje poważniejsze zastosowania (np. telegraf, oświetlenie) ale natura tego nowego fenomenu była słabo poznana i często zaskakująca. To mocno ograniczało możliwości wykorzystania elektryki.

Lampa elektronowa

Wynalezienie lampy elektronowej całkowicie zmieniło ten stan rzeczy. A co to w ogóle jest ta lampa elektronowa? Jest to bańka szklana wypełniona gazem szlachetnym z różnymi elektrodami w środku. Jedną z fundamentalnych własności tego urządzenia jest możliwość wzmacniania sygnałów elektrycznych. W dużym uproszczeniu: słaby sygnał podany na wejściu zostaje przetworzony na sygnał większej mocy. Łatwo sobie wyobrazić użyteczność lamp elektronowych kiedy pomyślimy o takich urządzeniach jak wzmacniacze audio, wzmacniacze sygnałów telegraficznych albo nadajniki stacji radiowych. Zapytasz: dobrze ale co to ma wspólnego z maszynami programowanymi?

Otóż oprócz własności wzmacniających, lampy umożliwiają w prosty sposób tworzenie podstawowych cegiełek świata cyfrowego jakimi są bramki logiczne. Ale aby to zrozumieć należy się cofnąć aż do roku 1705, czyli aż ponad trzysta lat. Wtedy to jeden z największych gigantów matematyki, geniusz wszech czasów, czyli nie kto inny jak Gottfried Wilhelm Leibniz wynalazł system dwójkowy, a w każdym bądź razie wtedy upublicznił swoje odkrycie.

Gottfried Wilhelm Leibniz, Bernhard Christoph Francke.jpg
Gottfried Wilhelm Leibniz

Co więcej, ten genialny umysł pokazał, że system dwójkowy może być wykorzystany do syntezy zasad arytmetyki i logiki. Wyniki działań w systemie dwójkowym są równoważne do odpowiadających wyników w innych systemach liczbowych jak np. dziesiętnym. Czyli można konwertować liczby z jednego systemu do drugiego bez utraty ogólności. Leibniz jest też autorem innych, kapitalnych odkryć jak na przykład rachunek różniczkowy czy pojęcie całki jako sumy nieskończonej.

A dla czego system binarny? Ponieważ jest on dwustanowy (0 lub 1, fałsz lub prawda) przez co bardzo łatwo można go wykorzystać w systemach elektronicznych na zasadzie „jest sygnał” – „nie ma sygnału”. I wracając do naszych bramek logicznych – są to podstawowe operatory działań logicznych takie jak NOT, AND, OR, NAND, NOR, XOR, NXOR. Mając takie cegiełki możemy budować bardziej złożone konstrukty takie jak przerzutniki, rejestry, zatrzaski, sumatory, akumulatory.

Ludzkość uzbrojona w takie potężne narzędzia zaczęła konstruować pierwsze uniwersalne komputery programowalne. I wydawać by się mogło, że takie wynalazki powinny powstawać jak grzyby po deszczu. A jednak nie. Z kilku powodów. Po pierwsze wielu wynalazców nie doceniło lamp elektronowych i skupiali się na przekaźnikach jako elementach wykonawczych. Drugi problem to czasy w których przyszło konstruktorom żyć – dwie wojny światowe.

Dopiero w roku 1951 w Wielkiej Brytanii powstał w pełni programowalny komputer Ferranti Mark 1, który umożliwiał skoki warunkowe – można było zaprogramować dowolny algorytm, innymi słowy maszyna była zgodna w sensie Turinga. Osiągi jak na dzisiejsze standardy nie były spektakularne, urządzenie było w stanie wykonać od 400 to 800 operacji na sekundę, w zależności od rodzaju operacji.

Ferranti Mark 1

Program do tego komputera powstawał na kartach perforowanych, dokładnie ta sama technologia, którą wykorzystał Joseph Jacquard w roku 1805 konstruując swoje programowalne krosno – opisywałem to w drugiej części.

I prawdopodobnie dzisiaj byśmy używali podobnych, zapewne nieco udoskonalonych maszyn gdyby nie pewne kolejne odkrycie… Ale o tym w następnym odcinku.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *