HISTORIA KOMPUTERÓW 2014/15. Bartosz Klin.

Podobne dokumenty
HISTORIA KOMPUTERÓW 2015/16. Bartosz Klin.

Architektura komputerów Historia systemów liczących

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Kod U2 Opracował: Andrzej Nowak

Architektura komputerów wer. 7

HISTORIA KOMPUTERÓW 2014/15. Bartosz Klin.

Budowa pierwszych komputerów i ich zastosowanie w matematyce

Architektura komputerów wer. 3

Arytmetyka liczb binarnych

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

JAKIE IDEE WPŁYNĘŁY NAJSILNIEJ NA ROZWÓJ I EWOLUCJĘ INFORMATYKI?

HISTORIA KOMPUTERÓW 2014/15. Bartosz Klin.

Technologie Informacyjne

HISTORIA KOMPUTERÓW 2015/16. Bartosz Klin.

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Architektura komputerów

Architektura komputerów

HISTORIA KOMPUTERÓW 2015/16. Bartosz Klin.

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

HISTORIA KOMPUTERÓW 2015/16. Bartosz Klin.

Podstawy Informatyki. Podstawy Informatyki. Warunki zaliczenia. Program wykładów. Metalurgia, I rok. Czym jest informatyka? Z czego się uczyć?

Operacje arytmetyczne

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Elementy historii INFORMATYKI

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Wykład pierwszy Rys historyczny rozwoju sprzętu komputerowego

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Podstawy Informatyki

Technologie Informacyjne Wykład 4

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Pracownia Komputerowa wykład V

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Arytmetyka komputerów

Technologie Informacyjne

O ALGORYTMACH I MASZYNACH TURINGA

Podstawy Informatyki

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

1. Operacje logiczne A B A OR B

HISTORIA KOMPUTERÓW 2014/15. Bartosz Klin.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Wprowadzenie do informatyki ćwiczenia

Podstawy Informatyki Maszyna Turinga

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Stan wysoki (H) i stan niski (L)

Budowa komputera Komputer computer computare

Podstawy Informatyki dla Nauczyciela

Techniki multimedialne

Wstęp do Informatyki. dr inż. Paweł Pełczyński

Wprowadzenie do informatyki - ć wiczenia

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

HISTORIA KOMPUTERÓW 2014/15. Bartosz Klin.

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Tranzystor JFET i MOSFET zas. działania

Programowanie Niskopoziomowe

PRACA ZALICZENIOWA Z WORDA

PRZESŁANKI I PIERWSZE KONCEPCJE AUTOMATYCZNEGO LICZENIA

Technika Cyfrowa i Mikroprocesorowa

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Komputery. Wersja: 5 z drobnymi modyfikacjami! Wojciech Myszka :08:

Technologie Informacyjne Wykład 3

SYSTEMY LICZBOWE 275,538 =

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Systemy zapisu liczb.

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Arytmetyka binarna - wykład 6

Kodowanie liczb całkowitych w systemach komputerowych

Wprowadzenie do inżynierii przetwarzania informacji

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

L6.1 Systemy liczenia stosowane w informatyce

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Architektura komputerów

O informatyce i jej historii. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Arytmetyka stałopozycyjna

Przykładowe pytania DSP 1

HISTORIA KOMPUTERÓW 2015/16. Bartosz Klin.

Technologie Informacyjne Wykład 2

Wstęp do architektury komputerów

Dodawanie liczb binarnych

Zapis liczb binarnych ze znakiem

Liczby zmiennoprzecinkowe i błędy

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

algorytm przepis rozwiązania przedstawionego zadania komputer urządzenie, za pomocą którego wykonywane są algorytmy

ARYTMETYKA KOMPUTERA

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2

Pracownia Komputerowa wykład VI

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Informatyka. Michał Rad

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Transkrypt:

HISTORIA KOMPUTERÓW 2014/15 Bartosz Klin klin@mimuw.edu.pl http://www.mimuw.edu.pl/~klin/

Lata 20te, lata 30te: złoty wiek tabulatorów duplikatory gang punchery sortowniki kolatory interpretery multiplikatory

Łączenie urządzeń 1934: instalacja do rozwiązywania równań różniczkowych (Columbia University) tabulator IBM 285 duplikator IBM 016 sterownik (własny) multiplikator IBM 601 - stosy kart przenosiło się ręcznie

Progressive digiting Dane: k kart, na każdej karcie 2 liczby m i, n i Zadanie: obliczyć P n i=1 m i n i - posortować karty po ostatniej cyfrze n i, malejąco - wybrać te z cyfrą 9, dodać w nich m i, sumę wypisać - dodać do tego m i z tych z cyfrą 8, sumę wypisać -... - dodać wszystkie wypisane dotąd sumy - to samo dla przedostatnich cyfr itd. - wiele artykułów o tytułach takich jak A faster multiplication method on IBM 407

Przemyślenia Turinga Alan Turing (1912-1954) 1936: On computable numbers, with an application to the Entscheidungsproblem - maszyna Turinga jako abstrakcyjny komputer - maszyna uniwersalna: maszyny jako programy - wpływ na informatykę teoretyczną: kolosalny - wpływ na budowę komputerów w latach 40tych: niewielki

Przemyślenia Shannona Claude Shannon (1916-2001) - twórca teorii informacji (1948) - wymyślił pojęcie bitu - projektant kodów korygujących - pionier komputerowych programów szachowych 1937: A symbolic analysis of relay and switching circuits - praca magisterska z inżynierii elektrycznej - pomysł: analiza obwodów za pomocą rachunku zdań - upraszczanie obwodów np. prawem de Morgana

Upraszczanie obwodów - niech A odpala wtedy, gdy spośród x, y, z i W dokładnie 1, 3 lub 4 odpalają. - naiwne rozwiązanie: (x to zanegowany x) - po uproszczeniu:

Obwód dodający - podany jako jeden z przykładów - pozycyjne dodawanie liczb binarnych - aj, bj: j-te bity dodawanych liczb - sj: j-ty bit wyniku - cj: bit przeniesienia na j-tą pozycję

Przemyślenia Busha Vannevar Bush (1890-1974) - inżynier, wynalazca, polityk - twórca komputerów analogowych - wizja memeksu (1945) - promotor doktoratu Shannona 1936: Instrumental analysis - wykład w American Mathematical Society - przegląd istniejących technologii obliczeniowych (analogowych i cyfrowych) - krótka wizja przyszłości

Instrumental analysis, maszyny cyfrowe - stan rzeczy: -- popularne, szybkie tabulatory -- 10.000 ton kart perforowanych użytych rocznie - problemy do pokonania: -- zwiększenie liczby informacji na 1 karcie -- binarne kodowanie liczb -- eliminacja ręcznego przenoszenia kart -- centrum sterujące przepływem kart This would be a close approach to Babbage s large conception as far as arithmetics is concerned. V. Bush (1936)

George Stibitz (1904-1995) - matematyk, fizyk, inżynier - od 1930 r. matematyk w Bell Labs -- laboratorium badawcze telefonii -- założone w 1925 r. przez AT&T -- setki wynalazków: telewizja, vocoder, fotokomórka, tranzystor,... - od 1937 r., konstruktor komputerów elektrycznych na potrzeby Bell Labs - 1940: Complex Number Calculator (Model I) - 1943: Relay Calculator (Model II) -... - 1947: General Purpose Relay Calculator (Model V)

Model K (1937) - K jak Kuchnia (nie znał jeszcze prac Shannona) - pomysł: arytmetyka binarna za pomocą przekaźników - dodawator bitów: 2 przekaźniki baterie wejście: 2 kontakty żarówka (AND) żarówka (XOR)

Schemat Modelu K wejście przekaźniki

Kolejne modele - dodawanie: jak u Shannona - mnożenie: chluba arytmetyki binarnej! 10110101 x 1011 =? 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 - Stibitz naszkicował też obwód dla dzielenia

Od zabawki do komputera - Bell Labs tonęły w obliczeniach na liczbach zespolonych (a + bi)+(c + di) =(a + c)+(b + d)i (a + bi) (c + di) =(ac bd)+(ad + bc)i - zastana technologia: arytmometry mechaniczne - projekt: komputer do takich działań - prace od 1938 r., gotowy w 1939, rok debugowania - Complex Number Computer (Bell Labs Model 1)

Konstrukcja - ok. 450 przekaźników mnożenie dodawanie - osobne jednostki do części rzeczywistych i urojonych - liczby dziesiętne ośmiocyfrowe - dodawanie: ok. 0.1 sek. - mnożenie: ok. 4 sek. - koszt ok. $20.000 ( astronomiczny )

Wejście-wyjście - trzy terminale w osobnych pokojach - 1940: demonstracja na konferencji w Dartmouth -- zdalne połączenie telefoniczne z Nowym Jorkiem -- obecni m.in. von Neumann, Mauchly, Wiener

Kodowanie liczb dziesiętnych - każda cyfra w 4 bitach, systemem +3 0 = 0011 1 = 0100 2 = 0101 3 = 0110... 8 = 1011 9 = 1100 - zalety: -- dopełnienie do 9 = negacja wszystkich bitów -- przeniesienie dziesiętne = przeniesienie binarne - wady: -- po każdym dodawaniu trzeba odjąć 3

Kolejne maszyny Bell Labs - 1943: Relay Interpolator (Model II) -- interpolacja funkcji (potrzeby wojskowe) -- ok. 440 przekaźników -- pamięć: 7 liczb -- ciąg operacji i dane na taśmach perforowanych - 1946: Model V -- 9000 przekaźników, 10 ton, $500.000 -- pamięć: 30 liczb, taśmy perforowane -- dwa procesory, 15 rejestrów każdy -- sterownik dzielił operacje między procesory - wszystkie modele działały w arytmetyce dziesiętnej

Howard Aiken (1900-1973) - fizyk, profesor na Uniw. Harvarda - w doktoracie musiał numerycznie rozwiązywać równania różniczkowe - zainspirowany pracami Babbage a postanowił zbudować komputer - Monroe Calculating Co. odmówiła finansowania - IBM dał pieniądze, sprzęt, warsztaty, inżynierów - prace od 1939 r. - 1944: IBM Automatic Sequence Controlled Calculator = Harvard Mark I

Wizja - Proposed Automatic Calculating Machine (1937-38) - memorandum dla kierownictwa IBM - motywacja naukowa: -- wiele funkcji zdefiniowanych jako sumy szeregów, niedostatecznie stablicowanych -- konieczność rozwiązywania równań różniczkowych -- dokładne eksperymenty wymagają takichże obliczeń - braki tabulatorów: -- nie mogą używać funkcji trygonometrycznych, eliptycznych, logarytmów itp. -- nie są programowalne

Wizja cd. - co jest potrzebne: -- 4 działania arytmetyczne -- stablicowane podstawowe funkcje -- nawiasowanie - idea: -- połączyć wiele tabulatorów, dodać sterownik -- wszystko sterowane taśmą perforowaną - główne operacje: -- przenieś liczbę z pozycji x do pozycji y -- wykonaj operację właściwą dla y - przewidywana prędkość: -- mnożenie liczb 8-cyfrowych: 5 sek. -- logarytm liczby 10-cyfrowej: 45 sek.

Harvard Mark I wejście (pokrętła) dodawanie/ odejmowanie mnożenie/ dzielenie wejście (taśmy) drukarki - elektromechaniczny, dziesiętny, programowalny - napęd: silnik elektryczny - 15m. długości, 2.5m wysokości, 60cm głębokości - >750.000 części (przekaźniki, elementy mechaniczne) - 800 km kabli - koszt: $50.000

Wejście/wyjście wejście (pokrętła) wejście (taśmy) drukarki - 60 rzędów pokręteł po 23 cyfry + znak - maszyna nie może zmieniać tych wartości - czytniki taśm perforowanych: -- 3 dla stablicowanych wartości funkcji -- 1 dla instrukcji (programu)

Działania arytmetyczne dodawanie/ odejmowanie mnożenie/ dzielenie - dodawanie/odejmowanie: -- 72 rejestry po 23 cyfry + znak -- każdy był akumulatorem (umiał dodawać) -- kółka zębate z elektromagnetycznym wychwytem - mnożenie/dzielenie: jak u Babbage a -- wielokrotności mnożnika w 9 specjalnych rejestrach -- potem dodawane z przesunięciem

Programowanie: taśmy perforowane - 3 kolumny: -- źródło -- cel -- akcja - znaczenie: -- przenieś źródło do celu stosując operację dla celu -- wykonaj akcję (np. przejdź krok dalej, wydrukuj itp.) - programy: głównie cele wojskowe (także projekt Manhattan)

adm. dr Grace Hopper (1906-1992) - informatyczka, dr matematyki - jedna z 3 pierwszych programistów Harvard Mark I - autorka podręcznika budowy i użytkowania maszyny - 1951: pierwszy kompilator (język A-0) - projektantka języków: -- FLOW-MATIC -- COBOL (1959)

Debugging - Popularna historia: -- w przekaźniku komputera Harvard Mark II utkwiła ćma, co zawiesiło maszynę -- stąd błędy w oprogramowaniu nazywamy bugami First actual case of bug being found TO MIT! - słowa bug użył w tym sensie już Edison w 1889 r.

Kolejne maszyny Aikena na U. Harvarda - finansowanie: armia USA - Mark I działał do 1959 r. - Mark II (1947): elektromechaniczny -- akumulatory na przekaźnikach (bez kółek zębatych) -- funkcje trygonometryczne itp. wgrzane w sprzęt - Mark III (1949), Mark IV (1952): elektroniczne -- program w pamięci, ale oddzielnie od danych -- trwała pamięć magnetyczna