Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Modele komputerów, maszyna Turinga …Otóż moglibyśmy skonstruować maszynę, która wykonałaby pracę tego komputera… A. Turing Sławomir Nowak Podstawy informatyki.

Podobne prezentacje


Prezentacja na temat: "Modele komputerów, maszyna Turinga …Otóż moglibyśmy skonstruować maszynę, która wykonałaby pracę tego komputera… A. Turing Sławomir Nowak Podstawy informatyki."— Zapis prezentacji:

1 Modele komputerów, maszyna Turinga …Otóż moglibyśmy skonstruować maszynę, która wykonałaby pracę tego komputera… A. Turing Sławomir Nowak Podstawy informatyki

2 computers – ludzie którzy liczą… computer

3 computers Komputer służy do liczenia to przecież oczywiste! Skuteczność komputerów cyfrowych w ich liczeniu opiera się na matematycznej idei mówiącej, że każdy poprawnie sformułowany problem ma swoje rozwiązanie poprzez jego obliczenie Maszyna Turinga - od ''komputera'' do komputera, Computerworld, 5 październik 1998, Marek Hetmański

4 computers Obliczeniem jest mechaniczna procedura wykonania zadania w skończonej liczbie kroków. Inaczej mówiąc, obliczenie jest wykonalne, jeśli istnieje dla niego algorytm. U podstaw matematyki, logiki i informatyki toczyła się dyskusja nad obliczalnością problemów na podstawie mechanicznych (algorytmicznych) procedur. Maszyna Turinga - od ''komputera'' do komputera, Computerworld, 5 październik 1998, Marek Hetmański

5 Rozstrzyganie problemów matematycznych Znaleźć skończony zbiór reguł i aksjomatów, pozwalający rozstrzygnąć dowolny problem matematyczny (idea Hilberta) Pewnych problemów matematycznych nie da się rozstrzygnąć. Problem zdań typu: to zdanie jest fałszywe. Nie sposób uniknąć paradoksów (twierdzenie Godla)

6 Alan Turing ( ), matematyk, kryptolog, neurolog, wizjoner, sportowiec, prekursor sztucznej inteligencji, twórca teorii automatów, dziedziny stanowiącej matematyczne podstawy teorii obliczeń. Największe znaczenie dla rozwoju informatyki miały jego prace teoretyczne, w szczególności praca podająca teoretyczny model komputera (automat Turinga). TIME zaliczył Turinga do Największych postaci XX w.

7 ENIGMA i COLLOSUS W czasie wojny Turing należał do grupy ekspertów zaangażowanych w odcyfrowywanie niemieckich szyfrów ENIGMA. Niemałą rolę w tej pracy grał polski wywiad. Dla potrzeb deszyfracji zbudowano imponującą maszynę liczącą o nazwie Collossus. Analizowała ona tysiące wiadomości dziennie poszukując właściwego klucza (zmienianego trzy razy dziennie), dzięki któremu Enigma mogła odcyfrować wiadomości. Jeden ze współpracowników Turinga tak powiedział komentując jego rolę w programie łamania szyfrów: Nie powiem, że dzięki Turingowi wygraliśmy wojnę ale śmiem powiedzieć, że bez niego moglibyśmy ją przegrać.

8 1954 Samobójstwo Turinga Źródło:

9 Maszyna Turinga Turing pracował na problemem rozstrzygalności i obliczalności zadań matematycznych; R ozważył obliczanie od strony czynności, które wykonuje rachmistrz, a nawet każde dziecko, gdy na kartce papieru, etap po etapie, przeprowadza obliczenia.

10 Maszyna Turinga Na działanie komputera (rachmistrza) składają się zatem skończone instrukcje przechodzenia między poszczególnymi kratkami (częściowymi obliczeniami) na kartce wraz z wykonaniem pewnych działań – odczytywaniem i zapisywaniem.

11 Maszyna Turinga Wobec każdego problemu, wykonywanego przez rachmistrza istnieje maszyna uniwersalna, która może imitować jego obliczenia. …Otóż moglibyśmy skonstruować maszynę, która wykonałaby pracę tego komputera… A. Turing

12 Maszyna Turinga Maszyna Turinga składa się z: Nieskończonej taśmy zawierającej komórki z symbolami Ruchomej głowicy zapisująco-odczytującej. Układu sterowania głowicą.

13 Maszyna Turinga Taśma Nieskończona taśma dzieli się na komórki, w których umieszczone zostały symbole, (przetwarzane znaki). MT odczytuje symbole z kolejnych komórek i przetwarza na inne symbole. Wyniki obliczeń są zapisywane w komórkach taśmy. Graf. taśma: wikipedia AACCD14AB…

14 Maszyna Turinga Głowica Głowica odczytuje i zapisuje symbole na taśmie. Głowice zawsze znajduje się nad jedną z komórek taśmy. Może ona odczytywać zawartość tej komórki oraz zapisywać do niej inny symbol (przetwarzanie danych). Pomiędzy odczytami głowica porusza się w prawo i w lewo do sąsiednich komórek. W ten sposób może się ona przemieścić do dowolnie wybranej komórki taśmy. Przed rozpoczęciem pracy głowica jest zawsze ustawiana nad komórką taśmy zawierającą pierwszy symbol do przetworzenia.

15 Maszyna Turinga Układ sterowania (odpowiednik procesora) Zarządza przetwarzaniem informacji. Odczytuje za pomocą głowicy symbole z komórek taśmy, przesyła do głowicy symbole do zapisu w komórkach oraz steruje jej przemieszczaniem. Podstawą działania MT są stany układu sterowania. Stan układu sterowania określa jednoznacznie jaką operację wykona MT gdy odczyta z taśmy określony symbol.

16 Maszyna Turinga Układ sterowania Zatem operacje wykonywane przez układ sterowania zależą od dwóch czynników: symbolu odczytanego z komórki na taśmie. bieżącego stanu układu sterującego. Stany będziemy określać kolejnymi nazwami: q 0, q 1, q 2,...,q n, gdzie q 0 jest stanem początkowym

17 Maszyna Turinga Instrukcje MT Instrukcje składają się z piątki symboli:

18 Maszyna Turinga Instrukcje MT S 0 i q i są tzw. częścią identyfikacyjną instrukcji. MT wykonuje tyle różnych instrukcji, ile zdefiniujemy części identyfikacyjnych. W programie nie może być dwóch różnych instrukcji o identycznej części identyfikacyjnej.

19 Maszyna Turinga Instrukcje MT S z, q j i L/P są tzw. częścią operacyjną, która określa jakie działanie podejmuje dana instrukcja. Części operacyjne różnych instrukcji mogą być takie same. Oznacza to, iż instrukcje te wykonują dokładnie to samo działanie.

20 Maszyna Turinga Przykład Instrukcja: (A, q 0, B, q 0, P) Jeżeli odczytanym przez głowicę symbolem z taśmy będzie A, a układ sterowania znajduje się w stanie q 0, to głowica zamieni ten symbol na B, stan wewnętrzny nie zmieni się (pozostanie dalej q 0 ), a głowica przesunie się do sąsiedniej komórki po prawej stronie (P – prawo).

21 Przykładowe programy MT Program zamiany bitów 0,q0,1,q0,L bit 0 zamień na 1 1,q0,0,q0,L bit 1 zamień na 0

22 Przykładowe programy MT …?10110?… …?10111?… …?10101?… …?10001?… …?11001?… …?01001?… symbol nierozpoznany - koniec

23 Bardziej złożone programy składają się z wielu instrukcji, dlatego wygodniej zapisywać je w postaci tzw. tablicy charakterystycznej MT, g dzie każdy ruch R (instrukcja) związany jest z odczytanym symbolem s i oraz stanem q j, czyli R ij = (s k, K, q l ) Interpretacja tej tabeli jest następująca: Jeżeli będąc w stanie q j głowica odczytała symbol s i, to należy zapisać na taśmie symbol s k, przesunąć taśmę w kierunku określonym przez K, a głowica ma przejść do stanu q l. Maszyna Turinga Na podst. Wykłady z podstaw informatyki prof.. Stefana Węrzyna, wyd. Pol. Śl. Gliwice 2003

24 Maszyna Turinga Na podst. Wykłady z podstaw informatyki prof.. Stefana Węrzyna, wyd. Pol. Śl. Gliwice 2003

25 Maszyna Turinga Przykład: W zbiorze napisów trójliterowych utworzonych z liter a, b, c tylko napis abc jest poprawny. Zapisać dla MT program rozpoznawanie takiego zapisu. Jaki jest algorytm? 1.Pobierz symbol. Jeżeli jest nim a, to pobierz następny symbol i idź do 2, w przeciwnym przypadku idź do 4. 2.Jeżeli pobranym symbolem jest b, to pobierz następny symbol i przejdź do 3, jeżeli nie, idź do 4. 3.Jeżeli pobranym symbolem jest c, idź do 5, w przeciwnym przypadku idź do 4. 4.Sygnalizuj nieprawidłowy napis. 5.Sygnalizuj napis poprawny. Ciąg poprawny Ciąg niepoprawny Na podst. Wykłady z podstaw informatyki prof.. Stefana Węrzyna, wyd. Pol. Śl. Gliwice 2003

26 Maszyna Turinga Przykład: Zaprojektować maszynę Turinga obliczającą sumę dowolnej liczby zapisanej w systemie dziesiętnym i liczby 1. Aby do dowolnej liczby dodać 1, należy przeanalizować jej ostatnią cyfrę. Jeżeli jest nią któraś z cyfr 0 – 8, to dodanie jedynki sprowadzi się do zapisu w tym miejscu danej cyfry zwiększonej o jeden, tzn. jednej z cyfr 1 – 9. Jeśli ostatnią cyfrą jest cyfra 9, to należy w jej miejscu napisać cyfrę 0, a następnie dodać 1 do cyfry przedostatniej lub napisać jedynkę, jeżeli cyfra nie występuje. Na podst. Wykłady z podstaw informatyki prof.. Stefana Węrzyna, wyd. Pol. Śl. Gliwice 2003

27 Maszyna Turinga Przykład: Zaprojektować maszynę Turinga obliczającą sumę dowolnej liczby zapisanej w systemie dziesiętnym i liczby 1. Algorytm (głowica maszyny Turinga powinna być ustawiona na ostatniej cyfrze): 1. Jeżeli cyfra z zakresu 0 – 8 pisz odpowiednio 1 – 9 i idź do 3, w przeciwnym przypadku pisz 0, przesuń głowicę w lewo i idź do Jeżeli miejsce puste pisz 1, idź do 3, jeśli nie idź do Sygnalizuj koniec. Przykład działania dla liczby 89:

28 Maszyna Turinga Przykład: Zaprojektować maszynę Turinga obliczającą sumę dowolnej liczby zapisanej w systemie dziesiętnym i liczby 1. Tablica charakterystyczna MT: (przejścia dla liczby 89) Koniec Na podst. Wykłady z podstaw informatyki prof.. Stefana Węrzyna, wyd. Pol. Śl. Gliwice 2003

29 Podsumowanie Jakie znaczenie ma w Informatyce maszyna Turinga? Twierdzenie: Każdy algorytm może być realizowany przez odpowiednio zaprogramowaną (za pomocą tablicy charakterystycznej) maszynę Turinga. W postaci MT dokonało się przejście od ery automatycznych kalkulatorów do komputerów sterowanych algorytmami.

30 Podsumowanie Można rozważać bardzo wiele różnych wariantów maszyny Turinga. Istnieją maszyny Turinga wielotaśmowe lub niedeterministyczne (gdzie jednej parze (symbol, stan) może odpowiadać kilka instrukcji).

31 Podsumowanie P rogram dla maszyny Turinga jest tablicą instrukcji. Kolejność instrukcji w tablicy jest zupełnie dowolna. Program kończy się, jeśli program nie definiuje działania dla bieżącego symbolu wejściowego i stanu wewnętrznego. Praktyczne zastosowanie koncepcji Turinga jest trudne ze względu na słabą skalowalność programów, a także ich nieczytelność i trudność modyfikacji. W e współczesnych komputer ach program składa się z ciągu kolejno wykonywanych instrukcji.

32 Podsumowanie Jeden z wielu symulatorów MT:

33 Architektura Von Neumana Maszyna Turinga jest jednym z matematycznych modeli komputerów. Praktyczny model komputera podał John von Neuman. Margittai Neumann János Lajos (ur. Budapeszt 1903) Johann von Neumann (Niemcy) John von Neumann (USA) (zm r.)

34 Zasady von Neumana: 1. instrukcje i dane mają być identycznie reprezentowane w maszynie; 2. program i dane muszą mieścić się w tej samej wewnętrznej pamięci (operacyjnej) komputera; 3. dzięki jednakowej reprezentacji danych i instrukcji maszyna powinna móc wykonywać operacje na instrukcjach i całym programie.

35 Architektura Von Neumana W architekturze Von Neumana wyróżniamy: Pamięć, jednostkę sterującą (procesor), jednostkę arytmetyczno- logiczną oraz układ wejścia/wyjścia Taką architekturę komputera nazywano sterowaną programem. Wobec tak sformułowanej definicji komputera ENIAC wszystkie poprzedzające go maszyny nie były komputerami wg. modelu Von Neumana.

36 Architektura Von Neumana We współczesnych komputerach architektura uległa pewnym modyfikacjom. Ogólny schemat jest następujący: Elementy: procesor (wraz z ALU) zegar magistrala danych magistrala adresowa magistrala sterująca pamięć sterowniki we/wy Na podst:

37 Architektura Von Neumana Procesor układ dokonujący operacji na danych zgromadzonych w pamięci lub pochodzących z urządzeń we/wy, sterowany programem, którego kod znajduje się w pamięci. Do przechowywania swojego wewnętrznego stanu procesor wyposażony jest w pewną ilość rejestrów. Rejestry to komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) służące do przechowywania tymczasowych wyników obliczeń, adresów lokacji w pamięci operacyjnej itd. Większość procesorów przeprowadza działania wyłącznie w oparciu o wewnętrzne rejestry, kopiując do nich dane z pamięci i po zakończeniu obliczeń odsyłając wynik do pamięci. Na podst:

38 Architektura Von Neumana Zegar odmierza cykle wykonywania instrukcji programu, synchronizuje podzespoły komputera Na podst:

39 Architektura Von Neumana Magistrale służą do przesyłania danych i synchronizacji elementów komputera: 1. Magistrala danych służy do przesyłania danych między pamięcią, układami we/wy, a procesorem. Ilość użytych tutaj linii (szerokość szyny) jest równa długości słowa maszynowego i jest równa rozmiarowi komórki pamięci, lub jest jego wielokrotnością. 2. Magistrala adresów służy procesorowi do wysyłania numerów komórek pamięci lub rejestrów we/wy na których będzie dokonane następne przesłanie danych. Ilość użytych tutaj linii decyduje o wielkości pamięci jaką można zaadresować. 3. Magistrala sterująca służy do wzajemnej synchronizacji oraz przekazywania i potwierdzania przyjęcia/wykonania zleceń. Na podst:

40 Architektura Von Neumana Pamięć przechowuje dane i kod programu. Jeżeli jej konstrukcja umożliwia oprócz odczytu dokonywanie w niej modyfikacji nazywamy ją RAM, jeśli jej konstrukcja pozwala jedynie na odczyt nazywana jest ROM. Pamięć dzieli się na komórki, z których każda jest w stanie przechować liczbę całkowitą z ustalonego dla danej architektury zakresu (słowo bitowe). Każda komórka pamięci posiada unikalny numer zwany adresem fizycznym, który służy procesorowi do odwoływania się do niej. Na podst:

41 Podsumowanie Maszyna von Neumanna była komputerem w pełni automatycznym, cyfrowym i uniwersalnym, z wczytywanym programem. Jej wewnętrzna architektura stała się wzorem dla komercyjnych maszyn następnej generacji i w znacznym stopniu pozostaje aktualna do dziś.

42 Podsumowanie Innym rodzajem architektury jest architektura harwardzka. W odróżnieniu od architektury von Neumanna, pamięć danych programu jest oddzielona od pamięci rozkazów. Jest to podstawowa architektura komputerów zerowej generacji i początkowa komputerów pierwszej generacji. Budowa ta często przekłada się na większą szybkość działania dlatego jest często wykorzystywana w procesorach sygnałowych oraz jednoukładowych.


Pobierz ppt "Modele komputerów, maszyna Turinga …Otóż moglibyśmy skonstruować maszynę, która wykonałaby pracę tego komputera… A. Turing Sławomir Nowak Podstawy informatyki."

Podobne prezentacje


Reklamy Google