280 likes | 381 Views
Piotr Gawrysiak pgawrysiak@supermedia.pl. Historia informatyki Wykład 4 – Pierwsze (prawdziwe) komputery. 2007. To co to jest ten komputer…. Funkcje – przetwarzanie liczb Z tego wynika także przetwarzanie innego rodzaju danych – wszystko bowiem można zamienić ( zakodować ) na liczby
E N D
Piotr Gawrysiak pgawrysiak@supermedia.pl Historia informatykiWykład 4 – Pierwsze (prawdziwe) komputery 2007
To co to jest ten komputer… • Funkcje – przetwarzanie liczb • Z tego wynika także przetwarzanie innego rodzaju danych – wszystko bowiem można zamienić (zakodować) na liczby • Mechanizacja działania – człowiek przestaje być potrzebny do przetwarzania liczb (OK – może kręcić korbą…) • Autonomia działania – człowiek przestaje być potrzebny do pełnienia funkcji kontrolnych (czyli maszyna może podejmować decyzje o swojej pracy) • Z powyższych wynika w ogólności możliwość obliczania dowolnych (tj. takich które są obliczalne – nie każde są – twierdzenie Godla) wyrażeń matematycznych • Model teoretyczny – maszyna Turinga
Maszyna Turinga • Matematyka na początku XX wieku – potrzeba systematyzacji i „utwierdzenia” podstaw • Bertrand Russell, Alfred North Whitehead, Principia mathematica (1910) • Kurt Gödel, On formally undecidable propositions of Principia mathematica and related systems (1931) • Turing - On computable numbers, with an application to the Entscheidungsproblem (1936) • Jeśli coś jest obliczalne, to może to obliczyć maszyna Turinga Kurt Gödel (1906-78)
Głowica 0 0 1 1 0 1 0 1 0 1 1 1 0 Stan obecny Kier.ruchu Stankolejny Wej. Wyj. Tablica stanów Maszyna Turinga Alan M. Turing (1912-54)
Pierwszy komputer… • W dużej mierze dzieło przypadku – Z1 zbudowany przez Konrada Zuse (świeżo po studiach) w pokoju mieszkania rodziców w 1938 • Całkowicie mechaniczny • Autonomiczny • Oparty o arytmetykę binarną • Z2, Z3 (1941) • Zbudowane już na zlecenie Luftwaffe • Z3 – sterowany programem zapisanym w pamięci wewnętrznej (czyli tak, jak współczesne komputery) • H1, H2 – pierwsze komputery przemysłowe, używane do automatycznego sterowania procesem produkcyjnym (… bomby typu „cruise” produkowanej przez zakłady Henschel) • Z4 – przeszmuglowany w 1945 roku do Szwajcarii (Zuse miał szczęście bo uznano Z4 za jedną z „tajnych” broni), w końcu stał się pierwszym komputerem używanym w szwajcarskim ETZ. Konrad Zuse (1910-1995)
Druga Wojna Światowa • Wojna „technologiczna” • Niemcy – zaawansowana technologia (wojskowa) • USA – „zaawansowana” gospodarka • Wynik działań wojennych w dużej mierze zależny od wyników prac badawczych nad technologią wojskową (to szczególnie oczywiste w przypadku USA <-> Japonia) – bomba atomowa, radar, samoloty odrzutowe itd. • Potrzeby obliczeniowe • Obliczenia inżynierskie (np. w przemyśle lotniczym – vide komputery Zusego) • Szyfrowanie (i dekryptaż) wiadomości • Obliczenia związane z budową bomby atomowej i (później) wodorowej
Szyfry - Enigma • Enigma – niemiecka maszyna szyfrująca, oferowana od końca I wojny światowej jako produkt komercyjny • Od początku II wojny światowej „przejęta” przez wojsko niemieckie i uznana za „oficjalny” system kodowania wiadomości • W pełni automatyczna – kodowanie polegało na „przepuszczeniu” sygnału elektrycznego przez zestaw kilku tarcz kodujących. Sygnał (odpowiadający literze) podawany przez klawiaturę, wynikowa litera – na tablicy świetlnej. • Dodatkowa tablica z wtyczkami – zwiększająca liczbę kombinacji • Przed kodowaniem (lub odczytaniem – do tego służyć mogła ta sama maszyna) trzeba było ustawić tarcze zgodnie z obowiązującym na dany dzień kodem
Przykład działania Enigmy ABCDEFGHIJKLMNOPQRSTUVWXYZBDFHJLCPRTXVZNYEIWGAKMUSQO tarcza 1AJDKSIRUXBLHWTMCQGZNPYFVOE tarcza 2EKMFLGDQVZNTOWYHXUSPAIBRCJ tarcza 3 YRUHQSLDPXNGOKMIEBFZCWVJATreflektor Po zakodowaniu jednej litery pierwsza tarcza obraca się o jedną pozycję. Po wykonaniu pełnego obrotu o jedną pozycję obraca się druga tarcza itd.
Enigma – zespół polski Polakom jako pierwszym udało się „rozpracować” szyfrowanie Enigmy Trochę pomógł przypadek (Niemcy jedną z maszyn wysłali do Gdańska zwykłą pocztą zamiast dyplomatyczną…), trochę niedbałość niemieckich szyfrantów, ale przede wszystkim znaczenie miała analiza matematyczna Pracownicy Biura Szyfrów – Marian Rejewski, Henryk Zygalski, Jerzy Różycki W 1939 roku wojna staje się nieunikniona, Polacy przekazują (zupełnie zaskoczonym ) Anglikom i Francuzom dane oraz zbudowany sprzęt (w tym tzw. bomby kryptologiczne) Rejewskiego i współpracowników Brytyjczycy zamiast „wykorzystać” do pracy nad dekryptażem wiadomości Enigmy odesłali do „drugorzędnych” zadań Całość objęta tajemnicą wojskową, dopiero niedawno „wychodzi” na jaw, szczególnie na zachodzie…
COLOSSUS • Wraz z rozwojem działań wojennych metody „ręczne” przestają wystarczać – po prostu nie starcza czasu • Ponadto Niemcy wprowadzają bardziej skomplikowaną wersję Enigmy na potrzeby komunikacji na szczeblu sztabu generalnego – Geheimfernschreiber, Lorenz machine, Fish • Jedynym sensownym rozwiązaniem staje się analiza maszynowa tekstów depesz • Alan Turing i Tommy Flowers proponują urządzenie oparte na lampach elektronowych (1800 lamp), które będzie w stanie dokonywać operacji logicznych na ciągach znaków – zapisanych na taśmie papierowej • Maszyna ta to Colossus – pierwsze na świecie (1943) duże urządzenie elektroniczne służące do przetwarzania informacji • To jeszcze nie jest komputer – nie jest równoważny maszynie Turinga – to urządzenie specjalizowane • Pokazuje, iż zbudowanie w pełni elektronicznego (a zatem szybkiego!!!) urządzenia analizujacego dane i dokonującego na nich operacji – i to nie tylko arytmetycznych ale także logicznych – jest możliwe
Colossus • Zainstalowany w Bletchey Park – brytyjskim ośrodku dekryptażu • Ponoć istniało kilka kolosów, używanych jeszcze nawet w latach pięćdziesiątych • Z racji tajności nie miał bezpośredniego wpływu na rozwój technologii – ale za to miał niebagatelny pośredni. Po wojnie ludzie z Bletchey musieli znaleźć cywilne zajęcia…
Tymczasem w USA… • IBM Harvard Mark I- 1944 • IBM Automatic Sequence Controlled Calculator zbudowany dla Harvard University w 1944. 750000 części z czego 72 akumulatory zbudowane z maszyn liczących IBM, całość waży 5 ton.
Tablice balistyczne • Potrzeby wojenne USA obejmują m.in. obliczenia tablic balistycznych – z czym nie dają sobie rady tradycyjne metody • Obliczenia ręczne • Obliczenia na analogowych analizatorach różniczkowych • Ballistic Research Laboratory w Aberdeen prosi o pomoc University of Pensylvannia • Dr. John W. Mauchley z Moore School UPenn zaczyna poszukiwać sposobu na szybsze obliczenia, zaznajamia się z pracami doktoranta Prespera Eckerta (zdolnego elektronika)… • Rozwiązanie – urządzenie w pełni elektroniczne = szybkie
ENIAC • W 1943, Ordinance Department podpisuje kontrakt na budowę systemu do obliczeń • Eckert – chief engineer • Mauchley – principal consultant • Lt. Herman H. Goldstein, szef naukowy • Nazwa Electronic Numerical Integrator and Computer • Konstrukcję ukończono w 1945 już po zakończeniu II wojny światowej. Akurat wtedy tablice balistyczne stają się niezbyt potrzebne. Zaczyna się natomiast zimna wojna – Eniac przydaje się do prac związanych z opracowaniem bomby wodorowej.
ENIAC fd
ENIAC • Maszyna bardzo szybka jak na owe czasy – 5000 działań na sekundę (Mark I – 3 działania na sekundę), arytmetyka dziesiętna • Budowa „rozproszona” – cały komputer to seria modułów (accumulator, initiator, master programmer, multiplier, divider/square-root, gate, buffer, and the function tables), które można ze sobą łączyć • Modułowa budowa także samych „dużych” modułów – to ułatwiało naprawy • Łączenie paneli odpowiada programowaniu – za każdym razem budowano w ten sposób specjalizowaną maszynę obliczeniową • 42 panele, całość wypełniała sporą halę, wymagała ok. 200kW zasilania oraz sztucznego chłodzenia • Waga - 30 ton • Około 19000 lamp próżniowych (dziennie psuła się średnio jedna, co jest wynikiem całkiem niezłym), 100 tysięcy innego rodzaju części elektronicznych • Wejście i wyjście danych – za pomocą „standardowego” sprzętu IBM • W ciągu swojego użytecznego życia (do 1955 roku) wykona więcej obliczeń niż cała ludzkość do 1945 roku
ENIAC - programowanie Trudność w programowaniu to główna wada ENIAC’a. Rozwiązaniem okażą się komputery z programem wewnętrznym (stored program computers)
Znaczenie ENIAC’a • Moore School UPenn organizuje serię wykładów o „elektronicznej technice obliczeniowej” – uczestnicy z USA i Wielkiej Brytanii • Osoby biorące udział w wykładach to twórcy pierwszych komputerów: • Tom Kilburn - Manchester Baby Computer (1948) • Cambridge University - EDSAC (1948) • Von Neumann - IAS Computers • Eckert & Mauchly BINAC & UNIVAC (ci założyli firmę komercyjną) • Moore School - EDVAC (ukończony w 1952) • IBM Selective Sequence Electronic Calculator • Inne - JONNIAC, MANIAC, ILLIAC, SILLIAC… • Obecnie całego ENIACA da się zmieścić w jednym układzie scalonym – projekt Eniac on a Chip - http://www.ese.upenn.edu/~jan/eniacproj.html
ENIAC on a chip Oryginalne moduły ENIACA zrealizowano przy użyciu bramek logicznych • Accumulator • Constant transmitter • Cycling Unit • Initiation Unit • Function Table • Master Programmer • High Speed Multiplier • Divider • Square Rooter
John von Neumann • 1903-1957 • Węgierski żyd, uciekł do USA w latach 30tych • Cudowne dziecko (w wieku 6-ciu lat umie dodawać 8 cyfrowe liczby w pamięci) • Profesor matematyki w Princeton • Włączony w „wysiłek wojenny” USA • Konsultant naukowy armii USA • Opracowanie metody detonacji bomby atomowej • Udział w tworzeniu bomby wodorowej • Po zapoznaniu się z ENIAC proponuje ulepszony model komputera – oparty o „program wewnętrzny”
Program wewnętrzny (stored program) • Zarówno dane jak i instrukcje programu są przechowywane w tej samej pamięci np. • ADD #100, R1 1000 0001 ADD to R1 0110 0110 data 100 • ADD @100, R1 1001 0001 ADD to R1 0110 0110 data at address 100 • Instrukcje zapisane sekwencyjnie razem z odpowiadającymi im danymi • Wykonywanie instrukcji sekwencyjne, chyba że trafiamy na instrukcję warunkową lub skoku która przenosi wykonanie programu do innego miejsca w pamięci (tj. nakazuje odczyt z innej niż kolejna komórki pamięci) • Fetch-Decode-Execute • Kodowanie binarne (nie zaś dziesiętne) • Całość zwana jest architekturą von Neumanna
Komponenty komputera opartego o architekturę von Neumanna ArithmeticUnit Input ControlUnit Output Memory
EDVAC Report • Von Neumann opisał wspomnianą architekturę w raporcie A First Draft of a Report of the EDVAC(1945), proponującym budowę komputera EDVAC (Electronic Discrete Variable Automatic Computer) • Mauchly i Eckert twierdzili, iż całość wymyślili oni, zaś von Neumann im pomysł ukradł… • A i tak komputery Zusego (Z4) oparte były na tym pomyśle wcześniej… IAS EDVAC