Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Technika Mikroprocesorowa 1

Podobne prezentacje


Prezentacja na temat: "Technika Mikroprocesorowa 1"— Zapis prezentacji:

1 Technika Mikroprocesorowa 1
Arytmetyka liczb binarnych

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

3 Dodawanie i odejmowanie liczb w NB
Arytmetyka - NB /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
Arytmetyka – U /38 Dodawanie i odejmowanie liczb w U2 Zał. S1, S2, S - znaki argumentów i wyniku (ich najstarsze bity) Nadmiar: przy dodawaniu w U2 występuje gdy S1=S2S przy odejmowaniu w U2 występuje gdy S1S2 i CY=S

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

6 Arytmetyka – długie liczby 6/38

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

8 Arytmetyka – długie liczby 8/38

9 Arytmetyka – mnożenie bez znaku 9/38
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

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

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

12 Arytmetyka – mnożenie bez znaku 12/38

13 Arytmetyka – mnożenie bez znaku 13/38

14 Arytmetyka – mnożenie bez znaku 14/38
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.

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

16 Arytmetyka – mnożenie bez znaku 16/38
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 ki = 1 jest niewielka (1..4) to można zastosować regułę: L  K = L  2i1 + L  2i2 + L  2i3 + L  2i4 gdzie i1, i2, i3, i4 oznaczają potęgi 2 dla których kiX = 1. Jeżeli K=2m to mnożenie jest równoważne m-krotnemu przesunięciu arytmetycznemu w lewo liczby L.

17 Arytmetyka – mnożenie bez znaku 17/38

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

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

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

21 Arytmetyka – dzielenie bez znaku 21/38
Przykład: kolejne stany LD przy dzieleniu L1=31 przez L2=7 LD: L2: -L2 reszta iloraz

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

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

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

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

26 Arytmetyka – mnożenie i dzielenie liczb ze znakiem 26/38
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ń.

27 Arytmetyka – zapis stałopozycyjny 27/38
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,25  ,20  = 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.

28 Arytmetyka – zapis stałopozycyjny 28/38
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

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

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

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

32 Arytmetyka – zapis zmiennopozycyjny 32/38
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:

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

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

35 Arytmetyka – zapis zmiennopozycyjny 35/38

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

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

38 Arytmetyka – zapis zmiennopozycyjny 38/38
4.3. Dzielenie


Pobierz ppt "Technika Mikroprocesorowa 1"

Podobne prezentacje


Reklamy Google