28
Historia informatyki Wykład 4 – Pierwsze (prawdziwe) komputery Piotr Gawrysiak [email protected] 2007

Historia informatyki Wykład 4 – Pierwsze (prawdziwe) komputery

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

Page 1: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

Historia informatykiWykład 4 – Pierwsze (prawdziwe)

komputery

Piotr [email protected]

2007

Page 2: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 3: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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)

Page 4: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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)

Page 5: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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)

Page 6: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 7: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 8: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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.

Page 9: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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…

Page 10: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 11: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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…

Page 12: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

Współczesna rekonstrukcja Colossusa

Page 13: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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.

Page 14: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 15: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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.

Page 16: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

ENIAC

fd

Page 17: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery
Page 18: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 19: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery
Page 20: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery
Page 21: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

ENIAC - programowanie

Trudność w programowaniu to główna wada ENIAC’a. Rozwiązaniem okażą się komputery z programem wewnętrznym (stored program computers)

Page 22: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 23: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 24: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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”

Page 25: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 26: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

Komponenty komputera opartego o architekturę von Neumanna

ArithmeticUnit

Memory

InputControlUnit

Output

Page 27: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

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

Page 28: Historia informatyki Wykład  4  –  Pierwsze (prawdziwe)  komputery

Zaczyna się przemysłowe wykorzystanie komputerów…