410 likes | 641 Views
Metodyka nauczania Informatyki. WYKŁAD 3 Modele komputerów. Komputer vs. model. Komputer: magiczne urządzenie, które (podłączone do prądu) wykonuje, w tajemniczy sposób, działania zarezerwowane dla istot myślących.
E N D
Metodyka nauczania Informatyki WYKŁAD 3 Modele komputerów
Komputer vs. model • Komputer: magiczne urządzenie, które (podłączone do prądu) wykonuje, w tajemniczy sposób, działania zarezerwowane dla istot myślących. • Model: urządzenie, które można zbudować samemu (z kartonu, patyków, śrubek, gwoździ, …) i wykonać z jego pomocą dziwne czynności „zarezerwowane” dla istot myślących.
Przykład - elipsa • Komputer • Korzystamy z oprogramowania, np. arkusz kalkulacyjny • Wprowadzamy odpowiednio dane – wzór krzywej do narysowania • Rysunek pojawia się automatycznie
Przykład - elipsa • Model • Przygotowujemy nitkę, dwie szpilki, ołówek i kartkę papieru • Wbijamy szpilki w odległości 8 cm, wiążemy pętlę z kawałka nitki o długości 10+8=18 cm. • Zakładamy pętlę na szpilki i rysujemy elipsę ołówkiem umieszczonym wewnątrz pętli.
Rodzaje modeli • Ideowy – teoretyczny • Obrazuje ideę działania, reguły pracy • Dowodzi poprawności rozważań, możliwości teoretycznych zbudowania danego urządzenia • Fizyczny – realny • Pozwala na bezpośrednią obserwację (czynnościową) • Obrazuje zasadę mechaniczną (elektryczną), która może być wykorzystana w urządzeniu rzeczywistym
Modele ideowe komputera • Abstrakcyjne • Rachunek binarny, kodowanie liczb (moduł-znak prosty, moduł-znak odwrotny) • Funkcje rekurencyjne • Bliskie realizacji • Funkcje boolowskie • Realizacje funkcji boolowskich za pomocą bramek logicznych
Modele ideowe programowania • Abstrakcyjne • Maszyny Turinga • Służyły do rozważań teoretycznych, można wykorzystać jako ideowy model programowania • Bliskie realizacji • PMC – Przykładowa Maszyna Cyfrowa • Służy jako przykład koncepcji programowania niskopoziomowego, można wykorzystać jako model programowania w języku wewnętrznym komputera
Maszyna Turinga • Budowa: • Nieskończona taśma z kratkami, w których można napisać zero lub jedynkę • Głowica znajdująca się nad jedną kratką taśmy, która może: • Przesunąć taśmę w lewo (L) lub prawo (P) • Napisać jeden (1) lub zero (0) • Zmienić swój stan wewnętrzny zgodnie z instrukcją i znakiem zapisanym na taśmie w kratce pod głowicą
Maszyna Turinga • Instrukcje • Cztery znaki: • Stan głowicy • Znak na taśmie w kratce pod głowicą • Czynność wykonana przez głowicę (L,P,1,0 i S – stop) • Nowy stan, który ma mieć głowica po wykonaniu czynności • Przykłady • 5,0,1,9 – jeżeli głowica jest w stanie 5 i z taśmy odczytuje 0 to ma napisać jedynkę (zacierając poprzedni znak) i zmienić stan na 9 • 3,1,P,3 – jeżeli głowica jest w stanie 3 i z taśmy odczytuje 1 to ma przesunąć taśmę w prawo o jedną kratkę i zmienić stan na 3
Maszyna Turinga • Zadanie • Dane: • Taśma ze skończoną liczbą kratek z jedynkami i pozostałymi kratkami wypełnionymi zerami • Początkowe położenie głowicy na taśmie • Wynik: • Zatrzymanie maszyny • Taśma z określoną konfigurację jedynek zależną od danych początkowych • Położenie głowicy w określonym miejscu
Maszyna Turinga • Programowanie • Spisanie instrukcji takich, aby po uruchomieniu maszyny z początkowym stanem (np. 1) w określonym miejscu taśmy zawierającej określoną (w warunkach zadania) konfigurację skończonej liczby jedynek, maszyna zatrzymała się zostawiając na taśmie odpowiednią konfigurację skończonej liczby jedynek i głowicę w odpowiednim miejscu
Maszyna Turinga • Przykład zadania • Dane • Taśma z dwoma nieprzerwanymi, skończonymi ciągami jedynek oddzielonymi jedną kratką z zerem • Głowica jest ustawiona na pierwszej jedynce pierwszego ciągu (pozostałe jedynki są na prawo od głowicy): • Wynik • Taśma z jednym nieprzerwanym ciągiem jedynek mający tyle samo jedynek ile było ich na początku (położenie głowicy nieistotne)
Maszyna Turinga • Rozwiązanie zadania • Program • 1,1,L,1 • 1,0,1,2 • 2,1,L,2 • 2,0,R,3 • 3,1,0,3 • 3,0,S,0
Maszyna Turinga • Inne zadania • Wyszukiwanie • Na taśmie jedna jedynka, głowica na jakimś zerze • Wynik: głowica na jedynce • Arytmetyka • Ciąg n+1 jedynek oznacza liczbę n • Dwa ciągi reprezentujące liczby m i n, zostawić jeden ciąg reprezentujący m+n, mn, m/n, itp
Bramki logiczne • Urządzenia (teoretyczne lub realne) przetwarzające sygnały (np. elektryczne) AND NAND NOT OR NOR XOR
Bramki logiczne - software http://www.softronix.com/logic.html
Przykładowa Maszyna Cyfrowa • PMC ma słowo długości 12 bitów, używa kodowania znak-moduł, czyli zakres liczb od –2047 do 2047. • Budowa: • Pamięć operacyjna: 356 komórek 12 bitowych adresowanych liczbami od 0 do 255 (8 bitów) • Procesor: dwuukładowy: • Arytmometr przeznaczony do wykonywania 4 działań arytmetycznych i operacji porównania liczby z zerem, w arytmometrze jest akumulator • Sterowanie ma dwa rejestry: • Rejestr rozkazów licznik 12 bitowy • Licznik rozkazów rejestr 8 bitowy do przechowywania adresu rozkazu • Procesor wykonuje jeden z 16 rozkazów w jednym cyklu rozkazowym. • Interfejsy wejścia i wyjścia – każdy ma rejestr na przechowanie jednego słowa maszynowego.
Przykładowa Maszyna Cyfrowa • Dekodowanie rozkazu: • Podział 12 bitów słowa na 4 bity – część operacyjna, 8 bitów – część adresowa • Rozkazy • A – akumulator • L(A) – liczba w akumulatorze • X – adres komórki pamięci • L(X) – liczba z komórki o adresie X
Przykładowa Maszyna Cyfrowa // dodawanie dwóch liczb 0: WP 17 // pierwsza liczba w komórce o adresie 17 1: WP 16 // druga liczba w komórce o adresie 16 2: UA 17 // pierwsza liczba do akumulatora 3: DO 16 // do akumulatora dodaj liczbę z komórki // 16 – wynik w akumulatorze 4: PA 15 // wynik dodawania do komórki 15 5: PW 15 // wynik na wyjście 6: ST
Modele fizyczne - mechaniczne Mechanizm tangensowy
Modele fizyczne - mechaniczne Sumator analogowy
Modele fizyczne - mechaniczne Studencki transformer: liczba na liczbę binarną
Modele fizyczne - mechaniczne Studencki transformer: liczba na liczbę binarną
Suwak logarytmiczny Instrukcja do zrobienia własnego z papieru: http://www.chem.univ.gda.pl/~tomek/suwak_log.pdf