Charles Babbage (1791-1871) - pionier w tworzeniu technologii obliczeniowej, który opracował 2 klasy komputerów - różnicowy i analityczny. Pierwsza z nich otrzymała swoją nazwę ze względu na matematyczną zasadę, na której się opiera - metodę różnic skończonych. Jego piękno polega na wyłącznym stosowaniu dodawania arytmetycznego bez konieczności uciekania się do mnożenia i dzielenia, które są trudne do mechanicznego zaimplementowania.
Więcej niż kalkulator
Babbage's Difference Engine to urządzenie liczące. Manipuluje liczbami w jedyny możliwy sposób, nieustannie sumując je zgodnie z metodą różnic skończonych. Nie można go używać do ogólnych obliczeń arytmetycznych. Silnik analityczny Babbage to znacznie więcej niż tylko kalkulator. Oznacza przejście od zmechanizowanej arytmetyki do obliczeń ogólnego przeznaczenia w pełnej skali. Na różnych etapach ewolucji idei Babbage'abyły co najmniej 3 projekty. Dlatego jego silniki analityczne najlepiej określać w liczbie mnogiej.
Wygoda i wydajność inżynierii
Komputery Babbage'a są dziesiętne w tym sensie, że używają 10 cyfr od 0 do 9, i cyfrowe, ponieważ operują tylko liczbami całkowitymi. Wartości są reprezentowane przez koła zębate, a każda cyfra ma swoje własne koło. Jeśli zatrzyma się w pozycji pośredniej między wartościami całkowitymi, wynik jest uważany za nieokreślony, a maszyna jest blokowana, aby wykazać naruszenie integralności obliczeń. Jest to forma wykrywania błędów.
Babbage rozważał również użycie systemów liczbowych innych niż dziesiętne, w tym binarnych i o podstawie 3, 4, 5, 12, 16 i 100. Postawił na system dziesiętny ze względu na jego znajomość i efektywność inżynieryjną, ponieważ znacznie zmniejsza liczba ruchomych części.
Silnik różnic 1
W 1821 Babbage rozpoczął prace nad mechanizmem przeznaczonym do obliczania i zestawiania funkcji wielomianowych. Autor opisuje go jako urządzenie do automatycznego obliczania sekwencji wartości z automatycznym wydrukiem wyników w postaci tabeli. Integralną częścią projektu jest drukarka połączona mechanicznie z sekcją obliczeniową. Difference Engine 1 to pierwszy kompletny projekt do automatycznych obliczeń.
Od czasu do czasu Babbage zmieniał funkcjonalność urządzenia. Projekt z 1830 roku przedstawia maszynę zaprojektowaną na 16 cyfr i 6 rzędów różnicy. Model składał się z 25 tysięcy części, podzielonych równo pomiędzy część obliczeniową i drukarkę. Gdyby urządzenie zostało zbudowane, ważyłoby około 4 ton i miałoby wysokość 2,4 m. Prace nad machiną różnicową Babbage'a wstrzymano w 1832 r. po sporze z inżynierem Josephem Clementem. Finansowanie rządowe ostatecznie zakończyło się w 1842 roku
Silnik analityczny
Kiedy prace nad aparatem różnicowym utknęły w martwym punkcie, w 1834 Babbage wymyślił bardziej ambitne urządzenie, które później stało się znane jako Analytical Universal Programmable Computing Engine. Właściwości strukturalne maszyny Babbage'a w dużej mierze odpowiadają podstawowym elementom konstrukcyjnym współczesnego komputera cyfrowego. Programowanie odbywa się za pomocą kart perforowanych. Pomysł ten został zaczerpnięty z krosna żakardowego, gdzie są wykorzystywane do tworzenia skomplikowanych wzorów tekstylnych.
Struktura logiczna Silnika Analitycznego Babbage'a zasadniczo odpowiada dominującej konstrukcji komputerów ery elektronicznej, która implikuje obecność pamięci („magazynu”), oddzielonej od jednostki centralnej („młyn”), sekwencyjnej wykonywanie operacji i urządzeń do wprowadzania i wyprowadzania danych i instrukcji. Dlatego autor opracowania otrzymał tytuł pioniera technologii komputerowych całkiem zasłużenie.
Pamięć i procesor
Maszyna Babbage ma „magazyn”, w którym przechowywane są liczby i wyniki pośrednie, a także oddzielny „młyn”, w którym wykonywane są operacje arytmetyczne. Miała zestaw 4 funkcji arytmetycznych i potrafiła wykonywać bezpośrednie mnożenie i dzielenie. Ponadto urządzenie było zdolne do wykonywania operacji, które obecnie nazywa się warunkowym rozgałęzieniem, pętlą (iteracją), mikroprogramowaniem, przetwarzaniem równoległym, utrwalaniem, kształtowaniem impulsów itp. Sam autor nie używał takiej terminologii.
Procesor silnika analitycznego Charlesa Babbage'a, który nazwał „młynem”, zapewnia:
- przechowywanie numerów, na których operacje wykonywane są natychmiast, w rejestrach;
- posiada sprzęt do wykonywania na nich podstawowych operacji arytmetycznych;
- przenoszenie zewnętrznych instrukcji zorientowanych na użytkownika do szczegółowej kontroli wewnętrznej;
- system czasu (zegar) do wykonywania instrukcji w starannie wybranej kolejności.
Mechanizm kontrolny silnika analitycznego wykonuje operacje automatycznie i składa się z dwóch części: niższego poziomu kontrolowanego przez masywne bębny zwane beczkami oraz wysokiego poziomu wykorzystującego karty dziurkowane zaprojektowane przez Jacquard dla krosien powszechnie stosowanych na początku XIX wieku.
Urządzenia wyjściowe
Wyniki obliczeń są wyświetlane na różne sposoby, w tym drukowanie, karty perforowane, kreślenie iautomatyczna produkcja stereotypów - tacki z miękkiego materiału, na których nadrukowany jest wynik, mogące służyć jako forma do odlewania płyt do druku.
Nowy projekt
Pionierska praca Babbage nad Maszyną Analityczną została w dużej mierze ukończona w 1840 r. i rozpoczęto opracowywanie nowego urządzenia. W latach 1847-1849 ukończył rozwój silnika różnicowego nr 2, który był ulepszoną wersją oryginału. Ta modyfikacja została zaprojektowana do operacji na liczbach 31-bitowych i może zestawiać dowolny wielomian siódmego rzędu. Projekt był niezwykle prosty, wymagał tylko jednej trzeciej liczby części oryginalnego modelu, zapewniając jednakową moc obliczeniową.
Różnica i silniki analityczne Charlesa Babbage'a wykorzystywały ten sam projekt urządzenia wyjściowego, które nie tylko wykonywało wydruki na papierze, ale także automatycznie tworzyło stereotypy i samodzielnie wykonywało formatowanie zgodnie z układem strony określonym przez operatora. Jednocześnie możliwe było dostosowanie wysokości linii, liczby kolumn, szerokości pól, automatycznego składania rzędów lub kolumn oraz rozmieszczenia pustych linii dla czytelności.
Dziedzictwo
Z wyjątkiem kilku częściowo stworzonych zespołów mechanicznych i modeli testowych małych sekcji roboczych, żaden z projektów nie został w pełni zrealizowany za życia Babbage'a. Głównym modelem zmontowanym w 1832 roku był 1/7 silnika różnicowego nr 1, który składał sięz około 2 tys. części. Działa bezbłędnie do dziś i jest pierwszym udanym automatycznym urządzeniem obliczeniowym, które implementuje obliczenia matematyczne w mechanizmie. Babbage zmarł podczas montażu małej eksperymentalnej części silnika analitycznego. Zachowało się wiele szczegółów konstrukcji, a także kompletne archiwum rysunków i notatek.
Projekty Babbage dotyczące ogromnych komputerów mechanicznych są uważane za jedno z oszałamiających osiągnięć intelektualnych XIX wieku. Dopiero w ostatnich dziesięcioleciach jego prace zostały szczegółowo zbadane, a znaczenie tego, co zrobił, staje się coraz bardziej widoczne.