Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Technika Mikroprocesorowa 1
Kody binarne
2
Wykład /47 Kody binarne w technice mikroprocesorowej Arytmetyka binarnych liczb całkowitych Arytmetyka liczb stałopozycyjnych Arytmetyka liczb zmiennopozycyjnych
3
Kody binarne - NB /47 NB
4
Kody binarne - NB /47 zakresy wartości:
5
Kody binarne - ZM /47 ZM
6
Kody binarne - ZM /47 zakresy wartości:
7
Kody binarne - U /47 U2
8
Kody binarne - U /47 zakresy wartości:
9
Kody binarne - U /47
10
Kody binarne - U /47 U1
11
Kody binarne - BCD /47 BCD
12
Kody binarne - kod Gray’a 11/47
tworzenie kolejnych słów kodu: 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0
13
ASCII Kody binarne - ASCII 12/47
128 kodów binarnych (0..127) reprezentujących: 33 kody sterujące i 95 podstawowych znaków alfanumerycznych Zastosowanie: komunikacja znakowa (tekstowa), obsługa wyświetlaczy mozaikowych, drukarek, klawiatur autonomicznych, itd. ASCII rozszerzony - dodatkowe 128 kodów ( ) reprezentujących różne znaki pisarskie i semigrafikę.
14
Dodawanie i odejmowanie liczb w NB
Arytmetyka - NB /47 Dodawanie i odejmowanie liczb w NB Przeniesienie (CY) sygnalizuje: nadmiar przy dodawaniu NB pożyczkę przy odejmowaniu w NB
15
Dodawanie i odejmowanie liczb w U2
Arytmetyka - U /47 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=S2S przy odejmowaniu w U2 występuje gdy S1S2 i CY=S
16
Dodawanie i odejmowanie liczb w BCD
Arytmetyka - BCD /47 Dodawanie i odejmowanie liczb w BCD Przeniesienie (CY) po korekcji sygnalizuje: nadmiar przy dodawaniu BCD pożyczkę przy odejmowaniu w BCD
17
Arytmetyka - długie liczby 16/47
18
Arytmetyka - długie liczby 17/47
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)
19
Arytmetyka - długie liczby 18/47
20
Arytmetyka - mnożenie bez znaku 19/47
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
21
Arytmetyka - mnożenie bez znaku 20/47
2. Mnożenie restytucyjne (21) x x (6) (126) Zał: L1,L2 - 1-bajtowe czynniki, LW - 2-bajtowy iloczyn
22
Arytmetyka - mnożenie bez znaku 21/47
3. Przykłady mnożenia w asemblerze Z80
23
Arytmetyka - mnożenie bez znaku 22/47
24
Arytmetyka - mnożenie bez znaku 23/47
25
Arytmetyka - mnożenie bez znaku 24/47
4. Mnożenie długich liczb operowanie dłuższymi ciągami bitów; wykorzystanie procedur pomocniczych mnożących np. bajtbajt: mnożenie tetrad jako cyfr szesnastkowych przy użyciu tabliczki mnożenia opłacalne tylko dla liczb w BCD; mnożenie przyśpieszone.
26
Arytmetyka - mnożenie bez znaku 25/47
mnożenie przyśpieszone: zał: x = Bx1 + x y = By1 + y (B=256) w = xy = (Bx1 + x0)(By1 + y0) - 4 mnożenia 4 dodawania niech: u = x1 - x0 i v = y1 - y0 wtedy: uv = x1y0 + x0y1 - x1y1 - x0y0 x1y0 + x0y1 = uv + x1y1 + x0y0 w = BBx1y1 + B(x1y0 + x0y1) + x0y0 = = BBx1y1 + Buv + Bx1y1 + Bx0y0 + x0y0 = = (BB + B)x1y1 + Buv + (B + 1)x0y0
27
Arytmetyka - mnożenie bez znaku 26/47
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.
28
Arytmetyka - mnożenie bez znaku 27/47
29
Arytmetyka - dzielenie bez znaku 28/47
1. Dzielenie przez wielokrotne odejmowanie zał: L1,L2 - 1-bajtowa dzielna i dzielnik, LW - 1-bajtowy iloraz
30
Arytmetyka - dzielenie bez znaku 29/47
2. Dzielenie przez potęgę 2 równoważne przesunięciu o odpowiednią ilość bitów w prawo
31
Arytmetyka - dzielenie bez znaku 30/47
3. Dzielenie restytucyjne zał: L1,L2 - 1-bajtowa dzielna i dzielnik, LW - 1-bajtowy iloraz LD - 2-bajtowa zmienna pomocnicza (rejestr)
32
Arytmetyka - dzielenie bez znaku 31/47
Przykład: kolejne stany LD przy dzieleniu L1=31 przez L2=7 LD: L2: -L2 reszta iloraz
33
Arytmetyka - dzielenie bez znaku 32/47
4. Przykłady dzielenia w asemblerze Z80 4.1. Dzielenie przez wielokrotne odejmowanie
34
Arytmetyka - dzielenie bez znaku 33/47
4.2. Dzielenie restytucyjne
35
Arytmetyka - liczby ze znakiem 34/47
Można stosować przedstawione algorytmy mnożenia i dzielenia uwzględniając znak wyniku operacji zgodnie z regułami matematycznymi
36
Arytmetyka - liczby ze znakiem 35/47
37
Arytmetyka - zapis stałopozycyjny 36/47
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.
38
Arytmetyka - zapis stałopozycyjny 37/47
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
39
Arytmetyka - zapis stałopozycyjny 38/47
3. Mnożenie liczb stałopozycyjnych
40
Arytmetyka - zapis stałopozycyjny 39/47
4. Dzielenie liczb stałopozycyjnych
41
Arytmetyka - zapis zmiennopozycyjny 40/47
1. Zasada zapisu zmiennopozycyjnego
42
Arytmetyka - zapis zmiennopozycyjny 41/47
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:
43
Arytmetyka - zapis zmiennopozycyjny 42/47
2. Wzory podstawowych operacji arytmetycznych
44
Arytmetyka - zapis zmiennopozycyjny 43/47
3. Przykłady formatów zmiennopozycyjnych
45
Arytmetyka - zapis zmiennopozycyjny 44/47
46
Arytmetyka - zapis zmiennopozycyjny 45/47
4. Przykładowe algorytmy 4.1. Dodawanie i odejmowanie
47
Arytmetyka - zapis zmiennopozycyjny 46/47
4.2. Mnożenie
48
Arytmetyka - zapis zmiennopozycyjny 47/47
4.3. Dzielenie
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.