Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Egzamin z informatyki zagadnienia różne część 1, Egzaminy z Informatyka

Notatki dotyczące tematów z dziedziny informatyki: zagadnienia na egzamin;metody reprezentacji liczb całkowitych, algorytmy mnożenia liczb binarnych.

Typologia: Egzaminy

2012/2013

Załadowany 08.03.2013

Kowal_86
Kowal_86 🇵🇱

3.7

(3)

109 dokumenty

1 / 12

Toggle sidebar

Ta strona nie jest widoczna w podglądzie

Nie przegap ważnych części!

bg1
ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH
ZAGADNIENIA NA EGZAMIN
I ARYTMETYKA KOMPUTERÓW
1. Metody reprezentacji liczb całkowitych.
a) w zapisie znak-moduł, własności reprezentacji
Metody reprezentacji:
W tej reprezentacji daną liczbę możemy zapisać według wag systemu binarnego na N-1 bitach.
Najstarszy bit (nazywany BITEM ZNAKU), służy jedynie do określenia czy liczba jest nieujemna
(ustawiony na „0”) albo niedodatnia (ustawiony na „1”). W związku z tym występują dwie
reprezentacje zera: +0 (00000000ZM) i -0 (10000000ZM).
Jednocześnie wpływa to na zakres liczb jaki można przedstawić używając kodowania ZM na n
bitach:
Dla 8 bitów (1 bajt) są to liczby od -127 do 127.
Własności:
liczbę przeciwną tworzymy za pomocą negacji najstarszego bitu (bitu znaku)
są dwie reprezentacje zera
Przykłady:
Zapis liczby -13 na 8 bitach:
bit B7B6B5B4B3B2B1B0
wartość 1 0 0 0 1 1 0 1
waga +/- 26252423222120
1
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa

Podgląd częściowego tekstu

Pobierz Egzamin z informatyki zagadnienia różne część 1 i więcej Egzaminy w PDF z Informatyka tylko na Docsity!

ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

ZAGADNIENIA NA EGZAMIN

I ARYTMETYKA KOMPUTERÓW

1. Metody reprezentacji liczb całkowitych.

a) w zapisie znak-moduł, własności reprezentacji

Metody reprezentacji: W tej reprezentacji daną liczbę możemy zapisać według wag systemu binarnego na N-1 bitach. Najstarszy bit (nazywany BITEM ZNAKU), służy jedynie do określenia czy liczba jest nieujemna (ustawiony na „0”) albo niedodatnia (ustawiony na „1”). W związku z tym występują dwie reprezentacje zera: +0 (00000000ZM) i -0 (10000000ZM).

Jednocześnie wpływa to na zakres liczb jaki można przedstawić używając kodowania ZM na n bitach:

Dla 8 bitów (1 bajt) są to liczby od -127 do 127.

Własności:

  • liczbę przeciwną tworzymy za pomocą negacji najstarszego bitu (bitu znaku)
  • są dwie reprezentacje zera

Przykłady: Zapis liczby -13 na 8 bitach: bit B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0

wartość 1 0 0 0 1 1 0 1

waga +/- 26 25 24 23 22 21 20

b) w zapisie uzupełnień do 1, własności reprezentacji

W systemie U1 wszystkie bity zapisu liczby posiadają swoje wagi. Najstarszy bit jest bitem znaku i ma wagę równą (-2n-1+1), gdzie n oznacza ilość bitów w zapisie liczby. Pozostałe bity posiadają wagi takie jak w naturalnym systemie dwójkowym.

Bit znaku przyjmuje wartość 0 dla liczb dodatnich, a dla liczb ujemnych wartość 1 (ponieważ tylko waga tej pozycji jest ujemna, to jest to jedyny sposób na otrzymanie wartości ujemnej). Cechą charakterystyczną kodu U1 jest to, że liczbę przeciwną do danej tworzy poprzez negację wszystkich bitów.

c) w zapisie uzupełnień do 2, własności reprezentacji

Obliczanie U2 : Cyfry mnożymy przez wagi pozycji, na których się znajdują. Waga bitu znakowego jest ujemna. Sumujemy iloczyny.

bn − 1 bn − 2 ⋯ b 1 b 0  U2 =∑ i = 0

n − 2 bi ⋅ 2 i^ − bn − 1  2 n −^1  , gdzie

b ∈{ 0 , 1 } - bit, n (^) - liczba bitów przechowywanej liczby Zakres U2 : xU2 ∈[− 2 n −^1 , 2 n −^1 − 1 ] (^) dla liczby zapisanej na n bitach.

Algorytm znajdowania uzupełnienia do U2 : Sposób 1: Zaneguj wszystkie bity i dodaj 1 (gdyż ujemnych liczb jest o 1 więcej).

1

0 0 1 1

  • 1 0 1 0

1 1 0 1 (-2)

1 1 1

0 0 1 0

  • 1 1 1 0

0 0 0 0

  • 0 0 0 1

0 0 0 1 1

1 1 1

1 1 1 0

  • 1 1 1 0

1 1 0 0

  • 0 0 0 1

1 1 0 1 (-2)

U2:

Dodawanie i odejmowanie w systemie U2 jest najprostsze ze wszystkich ponieważ wykonuje się je identycznie jak zwyczajne dodawanie i odejmowanie na liczbach binarnych. Przeniesienie w tym przypadku zarówno przy dodawaniu jak i odejmowaniu ignorujemy. Przykłady: 3 + 3 0 0 1 1

  • 0 0 1 1

0 1 1 0 6

b) układ półsumatora, układ sumatora – budowa i zasada działania

Półsumator : Dodawanie cyfr realizowane jak w przypadku liczb dziesiętnych (suma i przeniesienie):

A B Carry Sum

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Sumator jednobitowy :

A B Cin Cout S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 1

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

Sumator n-bitowy z przeniesieniem szeregowym :

  •  - sumatory pełne.
  • Połączone są kaskadowo.
  • Przeniesienie przekazywane kaskadowo.
  • Bit ostatniej sumy wyznaczony po wyliczeniu wszystkich przeniesień.

Zalety Wady

  • Prostota.
  • Możliwość łatwego rozszerzenia liczby bitów. - Mała szybkość działania.

Sumator n-bitowy z przeniesieniem równoległym :

b) algorytm Bootha mnożenie liczb w zapisie U2, schemat blokowy zasada działania

Zasada działania: Umieszczamy mnożną i mnożnik odpowiednio w rejestrach M i Q. Dodatkowo wprowadzamy rejestry A i jednobitowy rejestr Q-1 , którym początkowo ustawiamy wartości 0. W rejestrze Q-1 będziemy zapisywać najmłodszy bit z Q po przesunięciu. Musimy również wiedzieć, ile zajmuje nasza liczba w bitach, bądź ilu bitowe są rejestry w których przechowujemy liczby. Przeglądamy mnożnik Q bit po bicie. Dodatkowo bierzemy bit leżący po prawej stronie badanego bitu i sprawdzamy czy oba bity są różne od siebie. Jeśli mamy kombinację 10, to rejestrowi A przypisujemy A-M. Jeśli mamy kombinację 01, to rejestrowi A przypisujemy A+M. Natomiast w przypadku, gdy oba bity są jednakowe (00 lub

  1. nic nie robimy. Następnie przesuwamy arytmetycznie (z zachowaniem znaku, czyli najstarszy bit zostaje przesunięty i zarazem zostaje na swoim miejscu np. 1101
  1. w prawo rejestry A , Q , Q-1 i dekrementujemy licznik bitów. Powyższe czynności powtarzamy, aż licznik bitów będzie równy 0. Wynik mnożenia jest zapisany w rejestrach A i Q.

Przykład: 3 ∗ (^4) ( 10 )= (^12) ( 10 )= 0011 ∗ (^0100) ( 2 )= (^00001100) ( 2 ) A Q Q-1 M 0000 0100 0 0011 N = 3 stan początkowy 0000 0010 0 0011 N = 3 >> 0000 0001 0 0011 N = 2 >> 1101 0001 0 0011 N = 1 A <- A - M 1110 1000 1 0011 N = 1 >> 0001 1000 1 0011 N = 0 A <- A + M 0000 1100 0 0011 N = 0 >>

4. Reprezentacja zmiennoprzecinkowa liczb rzeczywistych.

a) budowa liczby zmiennoprzecinkowej oraz wpływ poszczególnych elementów liczby na zakres i dokładność danej reprezentacji zmiennoprzecinkowej

Standard IEE754 reprezentacji liczb zmiennoprzecinkowych :

Standard stosowany w dzisiejszych czasach. Mówi, że każdą liczbę x ≠ 0 można zapisać w postaci: (^) x = smBc^ , gdzie:

  • s ∈{−^1 ,^^1 }^ – znak
  • m ∈〈1, 2  – mantysa
  • c – cecha należąca do liczb całkowitych.
  • B^ – podstawa (w przypadku komputerów jest to 2 ).

Jednakże na komputerze nie jesteśmy w stanie przeznaczyć nieskończenie wiele pamięci do precyzyjnego zapisu liczby zmiennoprzecinkowej. Jako, że nasze możliwości są ograniczone, a zbiór liczb rzeczywistych jest zbiorem gęstym (pomiędzy każdą parą liczb różnych od siebie istnieje nieskończenie wiele liczb) jesteśmy zmuszeni trochę oszukiwać.

Tak naprawdę na komputerze nie jest przechowywana ani cała cecha, ani cała mantysa. Realistyczny sposób przechowywania wygląda tak: rdx =− 1  e^  1  fzb^ , gdzie

  • zb^ - cecha.
  • e ∈{−1,1}
  • 1  f - mantysa W pamięci komputera przechowywane jest jedynie f^ oraz z^. Jedynka i bias (oznaczony przez b ) są niejako 'dokładane' przez komputer w trakcie obliczeń itp. Oczywiście generuje to niedokładności. Liczby możemy zapisać więc w pewnym ograniczonym zakresie i z ograniczoną dokładnością. Za zakres odpowiada cecha (zapisana w kodzie z nadmiarem). Za precyzję mantysa.

Jako, że chcielibyśmy móc swobodnie operować zakresem liczby tak na lewo jak i na prawo cecha zapisana jest w kodzie z nadmiarem. Jeśli więc bias =^127 , a cecha = 12 , to jej wartość wykorzystana przez komputer będzie równa 12 − 127 =− 115. Pozwoli to na przesunięcie przecinka o 115 miejsc w lewo. Bity przeznaczone na cechę mają szczególne znaczenie, jeśli wszystkie bity są zerami lub jedynkami, co zostanie pokazane później. Stąd: Maksymalna wartość 4-bitowej cechy: 1110 // a nie 1111 gdyż wszystkie bity ustawione na 1 mają specjalną wartość Minimalna wartość 4-bitowej cechy: 0001 // a nie 0000 gdyż wszystkie bity ustawione na 0 mają specjalną wartość.

Wartości specjalne :

przeznaczonych na wykładnik ( n cyfr dla wartości i 1 dla znaku wykładnika). Uznaje się również, że jedna dodatkowa pozycja (najstarsza) zarezerwowana jest dla zapisu znaku całej liczby. Wówczas wartości maksymalne i minimalne dla M i E określone są następująco:

Wykładnik E:

  • Emin = − B ^1
  • Emax = B−^^1 Mantysa M:
  • Mmin =^1
  • Mmax = B − B^ // aby napewno? nie przypadkiem : Mmax = B − B − m −^1 ^?

Stąd najmniejsza i największa liczba dodatnia możliwa do zapisania w takiej reprezentacji to:

  • xmin = MminBEmin = 1 ⋅ BEmin
  • xmax = MmaxBE^ max^ = BB −^ m −^1 ^ ⋅ BEmax^  BE^ max ^1 Błąd :

Błąd względny reprezentacji wynosi

Bm −^1

(inaczej: waga najmniej znaczącej cyfry mantysy).

Błędów bezwzględnych na ogół się nie podaje.

Błąd reprezentacji liczb zmiennoprzecinkowych.

d) budowa binarnej liczby zmiennoprzecinkowej

Liczba zmiennoprzecinkowa jest komputerową reprezentacją liczb rzeczywistych zapisanych w postaci wykładniczej (zwanej również notacja naukową). Ze względu na wygodę operowania na takich liczbach przyjmuje się ograniczony zakres na mantysę i cechę. Ogranicza to precyzję i zakres liczby.

Wartość liczby jest określana wg wzoru x = SMBE^ , gdzie:

  • S - znak liczby 1 lub -1 ,
  • M - znormalizowana mantysa, liczba ułamkowa,
  • B - podstawa systemu liczbowego (2 dla systemów komputerowych),
  • E - wykładnik, liczba całkowita. W celu uproszczenia operacji na liczbach zmiennopozycyjnych wymagane jest zwykle, aby były one znormalizowane. Liczbą znormalizowaną jest taka liczba, w której najbardziej znacząca cyfra mantysy jest różna od zera (ta po lewej stronie), zatem M ∈〈 1 , 2 . Znormalizowana liczba niezerowa ma postać: ±1, bbbb × 2 ± E , gdzie:
  • b^ – dowolna cyfra binarna (0 lub 1),
  • E – wykładnik. Dzięki temu możemy np. przechowywać 24-bitową mantysę na polu 23-bitowym..

e) własności podstawowych operacji arytmetycznych na liczbach zmiennoprzecinkowych (dodawanie, odejmowanie, mnożenie, dzielenie)

 Arytmetyka zmiennoprzecinkowa nie jest łączna. To znaczy że dla z , y , z mogą zachodzić różności:  xy  zx  yz   xy ⋅ zx ⋅ yz

  • Kolejność wykonywania działań wpływa na końcowy wynik  Inne problemz przy wykonywaniu obliczeń zmiennoprzecinkowych:
  • Zaokrąglenia
  • Nieprawidłowe operacje
  • Przepełnienie
  • Niedomiar  Sposób wykonywania operacji

dodawanie i odejmowanie mnożenie i dzielenie

mamy dwie liczby: x 1 = M (^) 1 ⋅ BE^1 x 2 = M (^) 2 ⋅ BE^^2 oraz x 1  x 2 wówczas: x 1 ± x 2 = M 1 ± M (^) 2 ⋅ BE^^2 − E^^1 ⋅ BE^^1

mamy dwie liczby: x 1 = S (^) 1 ⋅ M (^) 1 ⋅ BE^1 x 2 = S (^) 2 ⋅ M (^) 2 ⋅ BE^^2 wówczas: x 1 ⋅ x 2 = S 1 ⋅ S 2 ⋅ M (^) 1 ⋅ M (^) 2 ⋅ BE^^1  E^^2 x 1 / x 2 = S 1 ⋅ S 2 ⋅ M (^) 1 / M (^) 2 ⋅ BE^1 ^ E^^2

5. Reprezentacja stałoprzecinkowa liczb rzeczywistych – zakres reprezentacji oraz

własności reprezentacji stałoprzecinkowej.

Do zapisu liczby stałoprzecinkowej przeznaczona jest z góry określona ilość cyfr dwójkowych (bitów), a pozycję przecinka ustala się arbitralnie, w zależności od wymaganej dokładności. Podziału na część całkowitą i ułamkową dokonuje arbitralnie projektant systemu lub programista.

Np.: mając do dyspozycji słowo 32-bitowe, można wydzielić 24 bity na część całkowitą, 8 bitów na część ułamkową, albo po 16 bitów na część całkowitą i ułamkową, albo 30 bitów na część całkowitą i zostawić tylko 2 bity do zapisu części ułamkowej.

Wartość liczby stałoprzecinkowej jest określana tak jak w pozycyjnym systemie liczbowym. Wagi bitów części całkowitej mają wartości (kolejno, od najbardziej znaczącego bitu): 2 k −^1  20 , Wagi bitów części ułamkowej mają wartości: 2 −^1  2 − n^.

Dokładność reprezentacji wynosi 2 − n^ , czyli jest równa wadze najmniej znaczącego bitu części ułamkowej.