WPR - Ściąga 2.doc

(59 KB) Pobierz
Schemat blokowy komputera

Schemat blokowy komputera.

Pamięć główna (PAO) – jest to pamięć RAM służąca do przechowywania danych i rozkazów. Zestaw rozkazów zwany logiczna całość nazywamy programem.

Model Pamięci – jest to tablica zawierająca ponumerowane pozycje tzn. komórki pamięci, każda komórka przechowuje jedno słowo maszynowe.

Komputer – urządzenie elektroniczne służące do obliczania, przetwarzania informacji wprowadzanych przez operatora. Słowo maszynowe może mieć różną długość: 8,16,32 bity.

1 bit – najmniejsza jednostka informacji lub pojemność pamięci mogąca przyjmować dwie wartości logiczne 0 lub 1.

1 bajt – jednostka informacji równa 8 bitom lub obszar pamięci w którym można zapisać 1 bajt informacji. 1 bajt może przyjmować 256 różnych kombinacji.

Numer komórki pamięci nazywamy adresem danego słowa.

 

Struktura komputera według von Neumanna:

(rysunek)

JAL – nazywana jest blokiem operacyjnym, służy do wykonywania operacji w szczególności działań arytmetycznych i logicznych na liczbach reprezentowanych przez dwójkowe albo binarne słowa danych operacji. Wyniki operacji arytmetyczno-logicznych przechowywane są w pamięci.

REJESTRY – to podręczna pamięć do przechowywania pojedynczych słów maszynowych.

URZADZENIA WE/WY – nazywane są również blokami komunikacji z otoczeniem, służą do wprowadzania danych i programów oraz do wyprowadzania wyników obliczeń.

Informacja wewnętrzna komputera ma postać dwuwartościowych sygnałów elektrycznych.

Informacja zewnętrzna ma postać czytelną dla człowieka. Poprzez urządzenia WE/WY występuje reformacja informacji.

STEROWANIE – zapewnia skuteczne połączenie wszystkich bloków komputera dla realizacji programu w pamięci głównej komputera układ sterowania generuje właściwy powtarzalny ciąg sygnałów synchronizacyjnych.

Sygnały synchronizacyjne to:

-           pobranie rozkazów z PAO

-           interpretacja czyli zdekodowanie rodzajów rozkazów

-           przygotowanie argumentów

-           wykonanie rozkazów w JAL lub w urządzeniach WE/WY

-           przygotowanie adresu następnego rozkazu i powrót do czynności pierwszej

 

Warstwowy model komputera:

 

6 – systemy aplikacyjne

5 – języki problemowe

4 – język assemblera

3 – system operacyjny

2 – język wewnętrzny

1 – układy logiczne

 

W każdej warstwie rozważa się hipotetyczną, czyli wirtualną maszynę opisaną przez język danej warstwy:

-           układy logiczne (fizyczny komputer) – język tej warstwy to sygnały elektryczne

-           język wewnętrzny (2) – stosowany język wewnętrzny ma postać języka dwójkowego i jest interpretowany bezpośrednio przez układy logiczne.

-           warstwa (3) nosi nazwę systemu operacyjnego, język warstwy (3) oprócz języka warstwy (2) zawiera dodatkowe mechanizmy umożliwiające symboliczną adresację stronicowanie PAO sterowanie urządzeniami WE/WY

-           język warstwy (4) jest dokładnym odwzorowaniem języka wewnętrznego ma postać symboliczną

-           warstwa (5) to warstwowe definiowanie problemów tzw. języka algorytmicznego, problemowego np. Pascal, C++

-           warstwa (6) to warstwa aplikacji z własnymi językami aplikacyjnymi

 

RAM – pamięć z której można odczytać i do której można zapisać dane programy

ROM – pamięć służąca tylko do odczytu, jest to półprzewodnikowa pamięć, która przechowuje informacje zapisane na stałe przez producenta układu scalonego.

Pojemność ROM jest od 40 : 60 kB

 

Systemy liczbowe pozycyjne:

Systemy liczbowe o podstawie r (r – baza systemu liczbowego) są systemami w których każda z cyfr oznaczona jest różnym symbolem a wartość liczby wynika z położenia kolejnych cyfr w ciągu liczb.

 

Schematy blokowe algorytmów:

Algorytm – jest to przepis na rozwiązanie określonego problemu (zadania) podany jako zbiór kolejnych poleceń. Wykonawcą algorytmu może być człowiek, komputer lub jakieś urządzenie techniczne.

Program – jest to algorytm zapisany w jakimś języku programowania

Schemat blokowy – jest to algorytm zapisany przy pomocy języka symboli graficznych i matematycznych.

-           Sekwencyjne wykonywanie obliczeń w formie poleceń a następnie przejście do bloku oznaczonego strzałką.

-           Blok warunkowy – zadaniem bloku warunkowego jest sprawdzenie podanego warunku i jeżeli warunek jest spełniony to przejście do bloku wskazanego strzałką wychodzącą z litery T, jeżeli warunek nie jest spełniony to przejście do bloku wskazanego strzałką wychodzącą z litery N.

Własności algorytmów:

-           własność STOPU – że kiedyś się zatrzyma

-           własność częściowej poprawności (jeśli się zatrzyma to da poprawny wynik)

-           złożoność obliczeniowa algorytmów – im krótszy algorytm co da ten sam wynik tym lepiej

W komputerze używa się systemu binarnego i cyfry tego systemu reprezentowane są przez różne poziomy napięcia (poziom wysoki „1” , poziom niski „0”).

Cyfra dwójkowa nazywana jest bitem.

Bit – najmniejsza jednostka informacji. Informacje w komputerze przedstawia się jako ciąg bitów, ciąg bitów dzięki różnym technikom kodowania mogą przedstawiać nie tylko liczby dwójkowe, ale dowolne symbole – dyskretne np. litery @,$

 

Algorytm zamiany liczby „10” na liczbę o podstawie „r” jest następujący:

-           dokonujemy podziału liczby „10” na część całkowitą i ułamkową. Dokonuje się konwersji każdej liczby osobno.

-           Zamiany z całkowitej liczby „10” na liczbę o podstawie „r” dokonuje się w wyniku kolejnych działań, polegającej na dzieleniu części całkowitej przez „r” i zapamiętywaniu reszty. Proces ten powtarza się dopóty, dopóki wynik z dzielenia będzie równy 0.

-           Zamiany „10” części ułamkowej na liczbę w zapisie o podstawie „r” dokonuje się w wyniku kolejnych mnożeń tej liczby przez „r” i zapamiętywaniu otrzymywanych w ten sposób cyfr. Proces ten powtarza się dopóty, dopóki część ułamkowa będzie równa 0, lub liczba wyznaczonych cyfr da nam żądaną dokładność.

-           Łączymy otrzymane w kroku 2 i 3 części

 

Z uwagi na to, że 2 do trzeciej = 8 i 2 do czwartej = 16 każda cyfra ósemkowa odpowiada 3 cyfrom dwójkowym, a każda cyfra szesnastkowa odpowiada 4 cyfrom dwójkowym.

 

Zamiana liczby dwójkowej na liczbę ósemkową to podział liczby dwójkowej na grupy po 3 cyfry, a każdej grupie cyfr dwójkowych przypisuje się odpowiednią cyfrę ósemkową.

 

Zamiana liczby dwójkowej na zapis szesnastkowy to podział na grupy po 4 cyfry, następnie każdej grupie cyfr dwójkowych przypisuje się cyfrę 16-tkową.

 

Reprezentacja maszynowa liczb:

Przyjęto, że „+” jest reprezentowany przez 0, a „-„ jest reprezentowany przez 1. Do przedstawienia liczby dwójkowej z uwzględnieniem jej znaku potrzeba n+1 bitów, gdzie n – to liczba bitów dla zapisu liczby modułu i jeden bit dodatkowy dla zapisu znaku. Bit znaku umieszcza się zwyczajowo w lewej skrajnej pozycji rejestru.

 

Reprezentacja stałoprzecinkowa liczb binarnych:

Istnieją dwa sposoby określania pozycji przecinka dziesiętnego:

-           reprezentacja stałoprzecinkowa

-           reprezentacja zmiennoprzecinkowa

W reprezentacji stałoprzecinkowej zakłada się, że przecinek dziesiętny znajduje się na skrajnej lewej pozycji rejestru tuż za bitem znaku. Oznacza to że zapisana w rejestrze liczba jest ułamkiem. Przecinek znajduje się na skrajnej prawej pozycji rejestru, oznacza to że liczba jest liczbą całkowitą.

 

W zapisie zmiennoprzecinkowym liczba składa się z 2 części:

-           pierwsza część stanowi liczbę stałoprzecinkową tzw. mantysę, określa położenie przecinka dziesiętnego lub dwójkowego i zwana jest częścią wykładniczą lub cechą.

 

 

Uzupełnienia:

Uzupełnień używa się najczęściej do przedstawienia liczb ujemnych gdyż ułatwiają one wykonywanie operacji arytmetycznych.

 

Dodawanie w U2:

-           dodawanie dwóch liczb binarnych ze znakiem, w przypadku gdy liczby ujemne są zastąpione zapisem znak U2, wykonywane jest poprzez dodanie tych liczb wraz z bitami znaku. Przeniesienie na najbardziej znaczącej pozycji (bit znaku) zostaje odrzucone.

 

Dodawanie w U1:

-           dodawanie dwóch liczb binarnych ze znakiem w przypadku gdy liczby ujemne są zastąpione zapisem znak U1 wykonywane jest poprzez dodanie tych liczb wraz z bitami znaku. Gdy istnieje przesunięcie na najbardziej znaczącą pozycję to dajemy to przeniesienie do najmniej znaczącej pozycji i wyrzucamy to z wyniku.

 

Odejmowanie liczb stałoprzecinkowych:

 

Algorytm odejmowania jest następujący: (w zapisie znak uzupełnienie do „r”)

-           dodaj odjemną do r-tego uzupełnienia odjemnika

-           sprawdz rezultat dodawania wykonanego w kroku 1, ze względu na przeniesienie koncowe

a)         jeżeli przeniesienie koncowe wystepuje to je odrzuc

b)         jeżeli przeniesienie koncowe nie wystepuje to weź r-te uzupełnienie liczby otrzymanej w kroku 1 i umiesc przed nim znak „-„

 

Algorytm odejmowania jest nastepujacy: (w zapisie znak uzupełnienie do „r-1”)

-           dodaj odjemna do „r-1” uzupelnienia odjemnika

-           sprawdz rezultat dodawania wykonanego w kroku 1 ze względu na przeniesienie:

a)         jeżeli przeniesienie koncowe wystepuje dodaj „1” do najmniej znaczacej pozycji cyfry.

b)         Jeżeli przeniesienie nie wystepuje weź „r-1” uzupelnienie liczby otrzymanej w kroku 1 i umiesc przed nim znak „-„

 

Reprezentacja zmiennoprzecinkowa:

W celu otrzymania maksymalnej dokladnosci zapisu liczby zmiennoprzecinkowej, liczby te sa znormalizowane. Oznacza to ze pierwsza cyfra znaczaca mantysy jest umieszczana tuż po miejscu jej pozycji znakowej. Dzieki temu mantysa zawsze jest ulamkiem wlasciwym czyli: r(do –1) =< m <1

 

Mantysę dla liczb binarnych zapisuje się zwykle w kodzie znak U2, natomiast cechę zapisuje się w kodzie ZM, lub w kodzie dziesiętnym.

 

Algebra Boole’a:

OR – dodawanie

AND – iloczyn

NOT – negacja

 

OR:

x

y

X+y

0

0

0

0

1

1

1

0

1

1

1

1

 

AND:

x

y

xy

0

0

0

0

1

0

1

0

0

1

1

1

 

NOT:

x

x

0

1

1

0

 

Prawa Boole’a:

- prawo łącznosci względem dodawania i mnozenia:

x+(y+z) = (x+y)+z

x(yz) = (xy)z

 

- prawo przemiennosci względem mnozenia i dodawania:

x*y = y*x

x+y = y+x

 

- prawo rozdzielnosci iloczynu wzgledem sumy:

             x(y+z) = xy + xz

 

- prawo rozdzielnosci sumy względem iloczynu

              x+(yz) = (x+y)(x+z)

...

Zgłoś jeśli naruszono regulamin