Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sławomir Nowak Podstawy informatyki

Podobne prezentacje


Prezentacja na temat: "Sławomir Nowak Podstawy informatyki"— Zapis prezentacji:

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

2 „computers” – ludzie którzy liczą…

3 „computers” matematycznej idei
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 TIME zaliczył Turinga do Największych postaci XX w.
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”). Turing wielokrotnie startował jako zawodnik w maratonie. Aresztowany w 1952 roku za homoseksualizm i skazany na leczenie psychiatryczne oraz kurację hormonalną Turing w dwa lata później prawdopodobnie popełnił samobójstwo (okoliczności jego śmierci do dzisiaj nie są w pełni wyjaśnione). 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ć”. Turing wielokrotnie startował jako zawodnik w maratonie. Jakkolwiek byśmy na to nie popatrzyli, COLOSSUS był jednym z pierwszych na świecie działających, programowanych komputerów cyfrowych. Lecz była to maszyna o specjalnym przeznaczeniu, która w rzeczywistości nadawała się do wąskiego zakresu zadań (na przykład nie potrafiła mnożyć dziesiętnie). Gdy to już stwierdziliśmy, musimy jednak przyznać, iż COLOSSUS pomimo tego, iż był komputerem o specjalnym zastosowaniu, to jednak dowiódł on swojej wystarczającej elastyczności, aby można go było programować do wykonywaniu przeróżnych zadań. W 1952 roku włamano się do domu Alana Turinga, który poinformował o tym fakcie policje. W wyniku jej śledztwa Turing potwierdził, iż jest homoseksualistą[1]. Wówczas został oskarżony o naruszenie moralności publicznej, wytoczono przeciwko niemu proces. Jako karę orzeczono odebranie klauzuli dostępu do poufnych informacji oraz zakazano udziału w badaniach związanych z konstrukcją komputera. Zmuszono go do konsultacji z psychiatrą i rocznej kuracji hormonalnej, polegającej na przyjmowaniu estrogenu (zob. terapia konwersyjna). Efektem kuracji była między innymi ginekomastia. 7 czerwca 1954 Alan Turing zamknął się w swojej sypialni i popełnił samobójstwo spożywając jabłko zanurzone wcześniej w cyjanku.

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

9 Maszyna Turinga Turing pracował na problemem rozstrzygalności i obliczalności zadań matematycznych; Rozważ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. A C D 1 4 B Graf. taśma: wikipedia

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: q0, q1, q2, ... ,qn, gdzie q0 jest stanem początkowym

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

18 Maszyna Turinga Instrukcje MT
S0 i qi 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
Sz, qj 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, q0 , B, q0, P)
Jeżeli odczytanym przez głowicę symbolem z taśmy będzie A, a układ sterowania znajduje się w stanie q0, to głowica zamieni ten symbol na B, stan wewnętrzny nie zmieni się (pozostanie dalej q0), 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
? 1 ? 1 ? 1 ? 1 ? 1 symbol nierozpoznany - koniec ? 1

23 Maszyna Turinga Bardziej złożone programy składają się z wielu instrukcji, dlatego wygodniej zapisywać je w postaci tzw. tablicy charakterystycznej MT, gdzie każdy ruch R (instrukcja) związany jest z odczytanym symbolem si oraz stanem qj, czyli Rij = (sk, K, ql) Interpretacja tej tabeli jest następująca: Jeżeli będąc w stanie qj głowica odczytała symbol si, to należy zapisać na taśmie symbol sk, przesunąć taśmę w kierunku określonym przez K, a głowica ma przejść do stanu ql. 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? Pobierz symbol. Jeżeli jest nim a, to pobierz następny symbol i idź do 2, w przeciwnym przypadku idź do 4. Jeżeli pobranym symbolem jest b, to pobierz następny symbol i przejdź do 3, jeżeli nie, idź do 4. Jeżeli pobranym symbolem jest c, idź do 5, w przeciwnym przypadku idź do 4. Sygnalizuj nieprawidłowy napis. Sygnalizuj napis poprawny. Ciąg poprawny 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 2. 2. Jeżeli miejsce puste ∅ pisz 1, idź do 3, jeśli nie idź do 1. 3. 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 Program 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. We współczesnych komputerach 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 "Sławomir Nowak Podstawy informatyki"

Podobne prezentacje


Reklamy Google