Komputer EDVAC. czyli von Neumann zrobi to lepiej Historia Komputerów. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Podobne dokumenty
Architektura komputerów Historia systemów liczących

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

Architektura komputerów wer. 7

Architektura komputerów wer. 3

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Architektura komputerów

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

Budowa komputera Komputer computer computare

Logiczny model komputera i działanie procesora. Część 1.

Pracownia Komputerowa. Wyk ad I Magdalena Posiada a-zezula

Technologie Informacyjne

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

Wstęp do kognitywistyki. Wykład 3: Logiczny neuron. Rachunek sieci neuronowych

Podstawy Informatyki Systemy sterowane przepływem argumentów

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

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

Arytmetyka liczb binarnych

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Organizacja typowego mikroprocesora

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawy Informatyki

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

Kod U2 Opracował: Andrzej Nowak

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

dr inż. Jarosław Forenc

Podstawy Informatyki dla Nauczyciela

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Techniki multimedialne

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

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

HISTORIA KOMPUTERÓW 2015/16. Bartosz Klin.

Architektura komputerów

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Architektura mikroprocesorów TEO 2009/2010

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki- wykład 2

Dzielenie sieci na podsieci

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

Naturalny kod binarny (NKB)

Adam Korzeniewski p Katedra Systemów Multimedialnych

Struktura i działanie jednostki centralnej

Adam Korzeniewski p Katedra Systemów Multimedialnych

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

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

Wstęp do architektury komputerów

1.1. Pozycyjne systemy liczbowe

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Budowa Mikrokomputera

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Architektura komputerów

Arytmetyka binarna - wykład 6

Przykładowe pytania DSP 1

Stan wysoki (H) i stan niski (L)

Sławomir Kulesza. Projektowanie automatów synchronicznych

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

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

Krótka wycieczka do wnętrza komputera

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Pracownia Komputerowa wykład V

Architektura systemów komputerowych

Technologie Informacyjne Wykład 4

Architektura komputera

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

1. Operacje logiczne A B A OR B

SYSTEMY LICZBOWE 275,538 =

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

L6.1 Systemy liczenia stosowane w informatyce

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

Magistrala systemowa (System Bus)

Metoda znak-moduł (ZM)

LEKCJA TEMAT: Zasada działania komputera.

O systemach liczbowych

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Operacje arytmetyczne

0 + 0 = 0, = 1, = 1, = 0.

Pracownia Komputerowa wykład IV

Architektura typu Single-Cycle

Luty 2001 Algorytmy (7) 2000/2001

Kodowanie liczb całkowitych w systemach komputerowych

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Systemy liczbowe używane w technice komputerowej

Wprowadzenie do informatyki ćwiczenia

MIKROKONTROLERY I MIKROPROCESORY

ZADANIE 1. Rozwiązanie:

Algorytmy i struktury danych. Wykład 4

Pracownia Komputerowa wykład VI

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

Systemy liczenia. 333= 3*100+3*10+3*1

Teoretyczne Podstawy Informatyki

Transkrypt:

Komputer EDVAC czyli von Neumann zrobi to lepiej Michał Bukowski Kajetan Dutka Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski 15.12.14 Historia Komputerów

Timeline Kontekst historyczny dla EDVACa. Kolorowe groszki reprezentują komputery. Wybór tendencyjny i niekompletny, głównie z USA. Kolorowe paski dotyczą ENIACa i EDVACa, trwają od początku budowy do końca działania. 1940 1950 1960 1970

ABC ABC ( 43) 1940 1950 1960 1970

ABC vacuum = lampa tube = elektronowa vacuum tube = lampa elektronowa zobacz też: Pchła Szachrajka by Jan Brzechwa ABC ( 43) 1940 1950 1960 1970

Colossus Colossus ( 44) 1940 1950 1960 1970

Colossus Colossus? Wygląda niepozornie. Na poprzednim zdjęciu była Maszyna Lorenza, Tunny. Colossus pomagał w odczytywaniu zaszyfrowanych nią wiadomości. Colossus ( 44) 1940 1950 1960 1970

Colossus Colossus ( 44) 1940 1950 1960 1970

Colossus Colossus ( 44) 1940 1950 1960 1970

ENIAC ENIAC ( 46) 1940 1950 1960 1970

EDVAC EDVAC ( 51) 1940 1950 1960 1970

EDVAC EDVAC ( 51) 1940 1950 1960 1970

EDVAC EDVAC ( 51) 1940 1950 1960 1970

EDVAC EDVAC ( 51) 1940 1950 1960 1970

EDVAC EDVAC ( 51) 1940 1950 1960 1970

Manchester s etc. University of Manchester s experimental Transistor Computer ( 53) 1940 1950 1960 1970

Manchester s etc. University of Manchester s experimental Transistor Computer ( 53) 1940 1950 1960 1970

TRADIC TRADIC ( 54) 1940 1950 1960 1970

CADET CADET ( 55) 1940 1950 1960 1970

CADET CADET ( 55) 1940 1950 1960 1970

BRLESC BRLESC (1962) 1940 1950 1960 1970

EDVAC Electronical Discrete Variable Automatic Computer. Uruchomiony w sierpniu 1951 roku. Początek EDVACowi dały rozważania Johna Mauchly ego i Johna Eckerta. Pomysł na konstrukcję jeszcze przed ukończeniem ENIACa (Sierpień 1944). W 1945 dołączył John von Neumann, podsumował całą ideę w pracy First Draft of a Report on the EDVAC.

Teoria Architektura von Neumanna. Obliczenia w systemie binarnym w U2 (Zuse 1 : von Neumann 1). Fixed Binary Point : liczby z przedziału -1 do 1 (Zuse 2 : von Neumann 1). Obliczenia sekwencyjne. Prostota przede wszystkim.

Pentalog von Neumanna Jam jest Pan Bóg twój, Którym cię wywiódł z ziemi dziesiętnej, Z domu niewoli.

Nie będziesz miał operacji cudzych przede mną... I. Urządzenie powinno wspierać conajmniej 4 podstawowe operacje arytmetyczne : +,,,, przy pomocy wydzielonych organelli.

Tutaj trudniej znaleźć odpowiednik w dekalogu II. Powinna istnieć jednostka logiczna zawiadująca wykonywaniem operacji.

Pamiętaj, abyś... III. Urządzenie musi być w stanie wykonać długi i skomplikowany ciąg operacji (w szczególności obliczeń). W tym celu powinno umieć zapamiętać znaczną liczbę częściowych wyników.

Pożądaj danych bliźniego swego IV. Urządzenie musi być w stanie przekierowywać dane z zewnętrznego nośnika do swojej pamięci...

Jak Kuba Bogu, tak Bóg Kubańczykom V....jak i wyliczone dane ze swojej pamięci do zewnętrznego nośnika.

Architektura von Neumanna na przykładzie EDVACa Jednostka Arytmetyczno Logiczna (CA) wykonuje obliczenia. Program trzymany razem z danymi w Pamięci (M). Jednostka Kontrolna (CC) decyduje, który rozkaz wykonać i na jakich danych. Komputer ma Wejście (I) i Wyjście (O) do komunikacji ze światem zewnętrznym.

CA Głównym zadaniem EDVACa były obliczenia numeryczne. Podstawowe operacje arytmetyczne były dostępne jako instrukcje : +,,,,. Poza tym dostępne były konwersje db, bd oraz magiczne instrukcje: i, j, s. Bardziej skomplikowane funkcje miały być stablicowane w pamięci.

CC Otrzymuje rozkazy z pamięci (tej samej, w której są dane numeryczne). Rozkaz wykonania operacji w CA. Rozkaz przesunięcia liczby. Wczytanie następnego rozkazu (implicite chodzi o możliwość skoku). Operacje wejścia/wyjścia.

M Przechowywane są w niej zarówno dane jak i rozkazy. Adres określany przez 2 wartości µρ. µ określona za pomocą 8 bitów. ρ okreslona za pomocą 5 bitów. Nie ma bezpośrednich połączeń między komórkami pamięci, transfery między komórkami umożliwia CA. Rozkazy ułożone w kolejnych komórkach pamięci. Cała pamięć ma połączenie do rejestru I.

Klasy rozkazów Instrukcje należą do jednej z 8 klas oznaczonych greckimi literami: α β γ δ ɛ θ ζ η W raporcie klasy są przedstawione w tej właśnie kolejności, dociekliwy obserwator widzi jednak, że 3 ostatnie klasy są w złym porządku. Przypadek? Być może. Skoro mamy 8 klas rozkazów to potrzebujemy 3 bitów na określenie, która klasa nas interesuje.

Klasa rozkazów α Wykonaj jedną z 10 instrukcji CA. Zakładamy, że dane są w rejestrach I oraz J. Do zakodowania potrzebne jest 5 bitów (4 na instrukcję, 1 na magiczną wartość c).

Klasa rozkazów β Załaduj liczbę z pamięci do rejestru I. W rozkazie podane adresy µ i ρ. Do zakodowania potrzeba 13 bitów.

Klasa rozkazów γ Załaduj liczbę, która znajduje się w nastepnej komórce pamięci, do rejestru I. Szybsze niż β, które jest instrukcją charakteryzującą dostęp swobodny. Do zakodowania potrzebne jest potrzebne 0 bitów!

Klasa rozkazów δ Załaduj liczbę z rejestru O do pamięci. Adresy podobnie jak w γ. Do zakodowania potrzebne jest 13 bitów.

Klasa rozkazów ɛ Załaduj liczbę z rejestru O do następnej komórki pamięci. Instrukcja przeciwna do instrukcji γ. Nadal 0 bitów.

Klasa rozkazów θ Załaduj liczbę z rejestru O do rejestru I. Rozmiar 0 bitów.

Klasa rozkazów ζ Skok do instrukcji pod adresem µ ρ. Rozmiar 13 bitów.

Klasa rozkazów η Operacje wejścia/wyjścia. Rozmiar bliżej nieokreślony.

Optymalizacje Słowo liczy 32 bity, rozkazy maksymalnie 13, czy jest tu pole do popisu? Łączymy instrukcje α oraz δ i ɛ i θ by jednocześnie obliczać i przypisywać wynik.

Koniec niespodzianek Wszyscy dobrze znają architekturę von Neumanna. Można sobie mniej więcej wyobrazić, jak EDVAC działał w środku. Pewnie tak samo, jak dzisiejsze komputery, tylko był wielki i głupi.

Spoiler alert

Nieśmiałe kroki w kierunku dodawania Be amazed, ale jeszcze nie teraz. Liczba to ciąg bitów. Można go reprezentować na dwa sposoby. Nie chodzi o to, że jako int albo float, ani o to, że można zamienić rolę zer i jedynek.

Równoległość vs sekwencyjność place multiple events in a temporal succession rather than in (simultaneous) spatial juxtaposition

Kodowanie liczb Jedna liczba jeden kabel, niezależnie od liczby bitów. Uzasadnienie: prostszy sprzęt, bo mniej lamp. Taktowanie rzędu kilku MHz >> 10Hz nie ogranicza.

Zamiast bramek logicznych: E-elementy Uogólniona lampa elektronowa, podobna do neuronu. Kilka wejść i kilka wyjść. Wejścia wzbudzające lub hamujące. Domyślna granica aktywacji to 1.

Układ z E-elementów Przykład: układ o granicy aktywacji równej 2. Można myśleć, że to bramka UND, ale próby tłumaczenia kolejnych układów na bramki logiczne spełzną na niczym. Każda strzałka to opóźnienie o jeden cykl.

Taktowanie Charakterystyka sygnału na obrazku. Sygnał (chyba) stanowi zasilanie lamp i jest doprowadzony do każdej oddzielnie. A może tylko wejście jest taktowane? In all this we are following the procedure of W.J. MacCulloch and W. Pitts the stimulus is completely renewed and synchronized after each step

W poszukiwaniu prawdy W.S. MacCulloch and W. Pitts A logical calculus of the ideas immanent in nervous activity, Bull. Math. Biophysics, Vol.5 (1943) Artykuł wygląda mniej więcej tak:

Dodawanie (2) generuje przeniesienie. Wszystkie elementy z lewej warstwy mają 3 wejścia, w tym przeniesienie z poprzedniego cyklu.

Pamięć 1-bitowa Pojedynczy E-element ze sprzężeniem zwrotnym opóźnionym o jeden cykl. rs - receiving stimulus cs - clearing stimulus

Opóźniacz k-bitowy Scieżka z k E-elementów pozwala opóźnić ciąg zer i jedynek o k cykli. Można go uzupełnić o sprzężenie zwrotne i elementy do zapisu/zerowania. Daje się zbudować z samych kabli i dwóch E-elementów na końcach.

Układ mnożący Argumenty w dl I i dl II. Wynik buduje się w dl III. d 3 trzyma jeden bit przez całą fazę dodawania. v 1 przepuszcza lub blokuje liczbę z dl I. a 1 to układ dodający.

Dzielenie: analogicznie Czytając schemat trzeba brać pod uwagę upływ czasu.

Pamięć operacyjna CA wystarczą opóźniacze, ale co z M? Pamięć operacyjna z lamp elektronowych to pomysł równie dobry, jak RAM z rejestrów. Rozwiązanie: pamięć rtęciowa, dynamiczna i cykliczna. Wszystkie epitety dotyczą jednej rzeczy.

Pamięć rtęciowa Jedno z poniższych zdjęć przedstawia pamięć rtęciową. Na drugim jest silnik rakietowy. Czy potrafisz je odróżnić?

Schemat rury z bitami Dl ma z lewej strony głośnik, a z prawej słuchawkę. W środku mieści się kilka tysięcy bitów. SG to kontroler pamięci, może czytać i pisać. Całość trzeba jeszcze zapętlić.

Ile to miejsca, tak na chłopski rozum? 28 210 256 rur, każda po 1024 bity, 8 = 32KB. Każda liczba ma 30 bitów znaczących, bit znaku i flagę czy to jest instrukcja. W pamięci mieszczą się 8192 liczby.

To ile tych tam lampek w sumie potrzeba? Procesor miał składać się raptem z kilkuset lamp elektronowych. Skok do 6000 spowodowały wzmacniacze i kontrolery pamięci.

Wymiary ENIAC: Waga 27 ton, powierzchnia 157 m 2, pobór prądu 150 kw EDVAC: Waga 8 ton, powierzchnia 45 m 2, pobór prądu 56 kw

Bebechy i wydajność ENIAC: W ciągu sekundy 5000 dodawań, 357 mnożeń, 38 dzieleń, 3 pierwiastki Pamięć w postaci akumulatorów, później rozszerzony według założeń von Neumanna 17000 lamp elektronowych EDVAC: W ciągu sekundy 1160 dodawań, 340 mnożeń (zależne od miejsca w pamięci) 32 KB pamięci 6000 lamp elektronowych