Upload
ciaran-shaw
View
47
Download
2
Embed Size (px)
DESCRIPTION
Piotr Gawrysiak [email protected]. 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 - PowerPoint PPT Presentation
Citation preview
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)
Maszyna Turinga
1
0 01
1
1
1
1
1
0000
Tablica stanów
Gło
wic
aStan
obecnyWej. Wyj. Stan
kolejnyKier.ruchu
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 YRUHQSLDPXNGOKMIEBFZCWVJAT reflektor
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ół polskiPolakom jako pierwszym udało się „rozpracować”
szyfrowanie EnigmyTrochę 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…
Współczesna rekonstrukcja Colossusa
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, R11000 0001 ADD to R10110 0110 data 100
• ADD @100, R11001 0001 ADD to R10110 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
Memory
InputControlUnit
Output
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
Zaczyna się przemysłowe wykorzystanie komputerów…