Maszyna Pawlaka
Maszyna Pawlaka – teoretyczny automat wykonujący obliczenia podane liniowo zaprojektowany przez Zdzisława Pawlaka.
Budowa automatu
Automat posiada głowicę (A i S) przesuwającą się po taśmie F, która to taśma zawiera informacje o danych (czy dana jest podana na wejściu, czy też jest wynikiem cząstkowym). Poza tym składa się na pamięć danych (D) oraz pamięć wyników cząstkowych (W).
Opis języka
Język uproszczony
Język uproszczony symbolizuje jakie działania mają zostać przez automat kolejno wykonane, bez konieczności wpisywania poszczególnych danych. Δ oznacza daną początkową. * symbolizuje wynik cząstkowy, otrzymany z wcześniejszych obliczeń. +,-,•,/ reprezentują działania, które mają być wykonane przez automat.
Kolejność obliczeń
Zdzisław Pawlak obliczenia przedstawił w formie drzewa, którego węzły reprezentują działania, zaś gałęzie dane i wyniki cząstkowe. Proponowane są dwa porządki przejścia przez drzewo, które nazwane zostały W i P.
porządek W (wzdłużny)
Działania wykonujemy poruszając się wzdłuż gałęzi. Rozpoczynamy od najniższej gałęzi po prawej stronie drzewa i wykonujemy obliczenia. Następnie przesuwamy się w górę drzewa. Jeżeli nie możemy wykonać obliczeń, ponieważ brakuje nam danych, przesuwamy się do dołu gałęzi z lewej strony. Wykonujemy obliczenia aż do uzyskania wyniku końcowego.
porządek P (poprzeczny)
Działania wykonujemy poruszając się poziomami drzewa, zaczynając od najniższego. W wypadku wystąpienia na jednym poziomie drzewa większej ilości zadań rozpoczynamy od lewej strony drzewa. Następnie przechodzimy do poziomu wyższego aż osiągniemy wynik końcowy.
Działanie maszyny
Schemat maszyny jest niezmienny zależnie od porządku obliczeń, jednakże sposób umieszczania i wykorzystywania wyników cząstkowych jest różny.
Działanie dla porządku P
Na początku analizowany jest symbol wykonywanego działania oraz symbole obu argumentów. Kolejne argumenty są pobierane z pamięci danych D lub pamięci wyników częściowych W, w zależności jakim symbolem jest oznaczony argument. Następnie przeprowadzane jest działanie, a wynik zapisywany jest na końcu pamięci wyników częściowych W. Ostatnim uzyskanym wynikiem jest wynik końcowy.
Działanie dla porządku W
Działanie dla porządku W różni się od porządku P jedynie innym sposobem pobierania i zapisywania wyników częściowych. Jeżeli oba argumenty są danymi początkowymi to pobierane są kolejne dane z pamięci danych D, a wynik działania zapisywany jest na pierwszym wolnym miejscu w pamięci wyników częściowych W. Jeżeli jednym argumentem jest dana początkowa, a drugim wynik częściowy, to dana jest pobierana z kolejnego miejsca pamięci danych D, a drugim argumentem jest ostatnio zapisany wynik częściowy. Liczba odczytana z pamięci wyników częściowych jest po odczytaniu zawsze usuwana, więc wynik działania jest zapisywany na miejscu uprzednio odczytanego argumentu. Jeżeli oba argumenty są pobierane z pamięci wyników częściowych W, to pobierane są ostatnie dwie liczby, a wynik zapisywany jest na miejscu przedostatniej.
Przykłady działania
Przykład dla porządku P
10 – 3 = 7
2 • 3 = 6
7 + 7 = 14
1 • 2 = 2
9 – 6 = 3
4 • 8 = 32
14 / 2 = 7
3 + 32 = 35
7 + 35 = 42
Zakładając, że symbol operacji zapiszemy po odpowiadających mu argumentach, obliczenia można zapisać za pomocą liniowego przedstawienia: 10,3,-,2,3,•,7,7,+,1,2,•,9,6,-,4,8,•,14,2/,3,32,+,7,35,+,42 Co w języku uproszczonym ma postać: ΔΔ-ΔΔ•*Δ+ΔΔ•Δ*-ΔΔ•**/**+**+*
Przykład dla porządku W
4 • 8 = 32
2 • 3 = 6
9 – 6 = 3
3 + 32 = 35
1 •2 = 2
10 – 3 = 7
7 + 7 = 14
14 / 2 = 7
7 + 35 = 42
Zakładając, że symbol operacji zapiszemy po odpowiadających mu argumentach, obliczenia można zapisać za pomocą liniowego przedstawienia: 4,8,•,2,3,•,9,6,-,3,32,+,1,2,•,10,3,-,7,7,+,14,2,/,7,35,+,42 Co w języku uproszczonym ma postać: ΔΔ•ΔΔ•Δ*-**+ΔΔ•ΔΔ-*Δ+**/**+*
Bibliografia
- Pawlak Zdzisław, Maszyna i język (http://bcpw.bg.pw.edu.pl/dlibra/docmetadata?id=1681&from=pubindex&dirids=1&lp=1029)[dostęp 19.01.2020r.]
- Pawlak Zdzisław, Organizacja maszyn bezadresowych (http://bcpw.bg.pw.edu.pl/dlibra/docmetadata?id=1682&from=&dirids=1&ver_id=&lp=7&QI=)[dostęp 19.01.2020r.]
Linki zewnętrzne
- http://bcpw.bg.pw.edu.pl/Content/2327/ZP_biblio.html
- ISBN 83-7143-428-6 (książka wydana przez Politechnikę Poznańską, z okazji nadania Zdzisławowi Pawlakowi tytułu Doktora Honoris Causa)
Media użyte na tej stronie
Autor: JanPielesiak, Licencja: CC BY-SA 4.0
Przykład obliczeń maszyny Pawlaka zapisanych na drzewie