Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Technika Mikroprocesorowa 1 Arytmetyka liczb binarnych.

Podobne prezentacje


Prezentacja na temat: "Technika Mikroprocesorowa 1 Arytmetyka liczb binarnych."— Zapis prezentacji:

1 Technika Mikroprocesorowa 1 Arytmetyka liczb binarnych

2 Arytmetyka 2/38 Arytmetyka binarnych liczb całkowitych Arytmetyka liczb stałopozycyjnych Arytmetyka liczb zmiennopozycyjnych

3 Arytmetyka - NB 3/38 Dodawanie i odejmowanie liczb w NB Przeniesienie (CY) sygnalizuje: nadmiar przy dodawaniu NB pożyczkę przy odejmowaniu w NB

4 Dodawanie i odejmowanie liczb w U2 Zał. S 1, S 2, S - znaki argumentów i wyniku (ich najstarsze bity) Nadmiar: przy dodawaniu w U2 występuje gdy S 1 =S 2 S przy odejmowaniu w U2 występuje gdy S 1 S 2 i CY=S Arytmetyka – U2 4/38

5 Dodawanie i odejmowanie liczb w BCD Przeniesienie (CY) po korekcji sygnalizuje: nadmiar przy dodawaniu BCD pożyczkę przy odejmowaniu w BCD Arytmetyka – BCD 5/38

6 Arytmetyka – długie liczby 6/38

7 LW: X X X L1: L2: 88 C i= X CY= x i= 0 CY= 0 88h + 35h + 0 = 0BDh BD CY= 0 i= 1 80h + C2h + 0 = 142h CY= 1 42 i= 2 02h + 00h + 1 = 03h 03 CY= 0 i= 3 ( >= m=3) Arytmetyka – długie liczby 7/38

8 Arytmetyka – długie liczby 8/38

9 UWAGA: ilość bitów potrzebnych do reprezentacji iloczynu równa się sumie liczby bitów czynników 1. Mnożenie przez wielokrotne dodawanie Zał: L1,L2 - 1-bajtowe czynniki, LW - 2-bajtowy iloczyn Arytmetyka – mnożenie bez znaku 9/38

10 2. Mnożenie restytucyjne (21) x 204 x 110 (6) (126) Zał: L1,L2 - 1-bajtowe czynniki, LW - 2-bajtowy iloczyn Arytmetyka – mnożenie bez znaku 10/38

11 3. Przykłady mnożenia w asemblerze Z80 Arytmetyka – mnożenie bez znaku 11/38

12 Arytmetyka – mnożenie bez znaku 12/38

13 Arytmetyka – mnożenie bez znaku 13/38

14 4. Mnożenie długich liczb operowanie dłuższymi ciągami bitów; wykorzystanie procedur pomocniczych mnożących np. bajt bajt: mnożenie tetrad jako cyfr szesnastkowych przy użyciu tabliczki mnożenia - opłacalne tylko dla liczb w BCD; mnożenie przyśpieszone. Arytmetyka – mnożenie bez znaku 14/38

15 mnożenie przyśpieszone: zał: x = B x 1 + x 0 y = B y 1 + y 0 (B=256) w = x y = (B x 1 + x 0 ) (B y 1 + y 0 ) - 4 mnożenia 4 dodawania niech: u = x 1 - x 0 i v = y 1 - y 0 wtedy: u v = x 1 y 0 + x 0 y 1 - x 1 y 1 - x 0 y 0 x 1 y 0 + x 0 y 1 = u v + x 1 y 1 + x 0 y 0 w = B B x 1 y 1 + B (x 1 y 0 + x 0 y 1 ) + x 0 y 0 = = B B x 1 y 1 + B u v + B x 1 y 1 + B x 0 y 0 + x 0 y 0 = = (B B + B) x 1 y 1 + B u v + (B + 1) x 0 y 0 Arytmetyka – mnożenie bez znaku 15/38

16 5. Mnożenie przez stałą Zał: wartość stałej jest znana na etapie pisania programu. Każda stała K ma n-bitowe rozwinięcie binarne: K = Jeżeli ilość bitów k i = 1 jest niewielka (1..4) to można zastosować regułę: L K = L 2 i1 + L 2 i2 + L 2 i3 + L 2 i4 gdzie i1, i2, i3, i4 oznaczają potęgi 2 dla których k iX = 1. Jeżeli K=2 m to mnożenie jest równoważne m-krotnemu przesunięciu arytmetycznemu w lewo liczby L. Arytmetyka – mnożenie bez znaku 16/38

17 Arytmetyka – mnożenie bez znaku 17/38

18 1. Dzielenie przez wielokrotne odejmowanie zał: L1,L2 - 1-bajtowa dzielna i dzielnik, LW - 1-bajtowy iloraz Arytmetyka – dzielenie bez znaku 18/38

19 2. Dzielenie przez potęgę 2 równoważne przesunięciu o odpowiednią ilość bitów w prawo Arytmetyka – dzielenie bez znaku 19/38

20 3. Dzielenie restytucyjne zał: L1,L2 - 1-bajtowa dzielna i dzielnik, LW - 1-bajtowy iloraz LD - 2-bajtowa zmienna pomocnicza (rejestr) Arytmetyka – dzielenie bez znaku 20/38

21 Przykład: kolejne stany LD przy dzieleniu L1=31 przez L2= LD: L2: L resztailoraz Arytmetyka – dzielenie bez znaku 21/38

22 4. Przykłady dzielenia w asemblerze Z Dzielenie przez wielokrotne odejmowanie Arytmetyka – dzielenie bez znaku 22/38

23 4.2. Dzielenie restytucyjne Arytmetyka – dzielenie bez znaku 23/38

24 1. Można stosować przedstawione algorytmy mnożenia i dzielenia uwzględniając znak wyniku operacji zgodnie z regułami matematycznymi Arytmetyka – mnożenie i dzielenie liczb ze znakiem 24/38

25 Arytmetyka – mnożenie i dzielenie liczb ze znakiem 25/38

26 2. Można stosować przedstawione algorytmy mnożenia i dzielenia po tzw. rozszerzeniu znakowym argumentów operacji Rozszerzenie znakowe zapisu liczby w kodzie U2 polega na podwojeniu długości reprezentacji binarnej poprzez poprzedzenie jej bitami 0 gdy jest dodatnia albo bitami 1 gdy jest ujemna. Przykładowo: -100: 0FF9Ch 0FFFFFF9Ch 1000: 03E8h E8h Na tak wydłużonych liczbach realizuje się przedstawione wcześniej algorytmy działań, ograniczając uzyskany wynik do właściwej długości (np. 32 bitów po mnożeniu dwóch liczb 16-bitowych przed rozszerzeniem, 16 bitów po dzieleniu dwóch takich liczb, itp.). Jednak działania na tak wydłużonych liczbach skutkują zdwojonym zapotrzebowaniem na pamięć danych i znacznie dłuższym czasem obliczeń. Arytmetyka – mnożenie i dzielenie liczb ze znakiem 26/38

27 1. Format stałopozycyjny liczby binarnej zakres reprezentowanych wartości: m -2 -n przykładowe reprezentacje wartości rzeczywistych przy m=8 i n=4: 10, , = 10,1875 ilość pozycji części całkowitej (m) i ułamkowej (n) zależy od: wymaganej dokładności reprezentacji liczb rzeczywistych; zakresu użytkowego liczb rzeczywistych. Do reprezentacji liczb ze znakiem stosuje się kod U2. Arytmetyka – zapis stałopozycyjny 27/38

28 Przykładowe formaty stałopozycyjne i osiągane w nich zakresy liczb: 2. Dodawanie i odejmowanie liczb stałopozycyjnych Operacje te przeprowadza się tak jak na liczbach całkowitych Arytmetyka – zapis stałopozycyjny 28/38

29 3. Mnożenie liczb stałopozycyjnych Arytmetyka – zapis stałopozycyjny 29/38

30 4. Dzielenie liczb stałopozycyjnych Arytmetyka – zapis stałopozycyjny 30/38

31 1. Zasada zapisu zmiennopozycyjnego Arytmetyka – zapis zmiennopozycyjny 31/38

32 Mantysa jest pamiętana zwykle w kodzie ZM (wyróżniony bit znaku). Cecha jest przechowywana wprost w kodzie U2 lub w tzw. przesuniętym U2: Arytmetyka – zapis zmiennopozycyjny 32/38

33 2. Wzory podstawowych operacji arytmetycznych Arytmetyka – zapis zmiennopozycyjny 33/38

34 3. Przykłady formatów zmiennopozycyjnych Arytmetyka – zapis zmiennopozycyjny 34/38

35 Arytmetyka – zapis zmiennopozycyjny 35/38

36 4. Przykładowe algorytmy 4.1. Dodawanie i odejmowanie Arytmetyka – zapis zmiennopozycyjny 36/38

37 4.2. Mnożenie Arytmetyka – zapis zmiennopozycyjny 37/38

38 4.3. Dzielenie Arytmetyka – zapis zmiennopozycyjny 38/38


Pobierz ppt "Technika Mikroprocesorowa 1 Arytmetyka liczb binarnych."

Podobne prezentacje


Reklamy Google