1 / 48

Technika Mikroprocesorowa 1

Technika Mikroprocesorowa 1. Kody binarne. Wykład 2 1/47.

ahanu
Download Presentation

Technika Mikroprocesorowa 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technika Mikroprocesorowa 1 Kody binarne

  2. Wykład 2 1/47 Kody binarne w technice mikroprocesorowejArytmetyka binarnych liczb całkowitychArytmetyka liczb stałopozycyjnychArytmetyka liczb zmiennopozycyjnych

  3. Kody binarne - NB 2/47 NB

  4. Kody binarne - NB 3/47 zakresy wartości:

  5. Kody binarne - ZM 4/47 ZM

  6. Kody binarne - ZM 5/47 zakresy wartości:

  7. Kody binarne - U2 6/47 U2

  8. Kody binarne - U2 7/47 zakresy wartości:

  9. Kody binarne - U2 8/47

  10. Kody binarne - U1 9/47 U1

  11. Kody binarne - BCD 10/47 BCD

  12. 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 Kody binarne - kod Gray’a 11/47 kod Gray’a tworzeniekolejnych słów kodu:

  13. Kody binarne - ASCII 12/47 ASCII 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 (128..255) reprezentujących różne znaki pisarskie i semigrafikę.

  14. Arytmetyka - NB 13/47 Dodawanie i odejmowanie liczb w NB Przeniesienie (CY) sygnalizuje: nadmiar przy dodawaniu NB pożyczkę przy odejmowaniu w NB

  15. Arytmetyka - U2 14/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=S2S przy odejmowaniu w U2 występuje gdy S1S2 i CY=S

  16. Arytmetyka - BCD 15/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. i=X CY=x L1: 88 80 LW: X 02 X X L2: 35 C2 00 Arytmetyka - długie liczby 17/47 i=0 CY=0 88h + 35h + 0 = 0BDh i=1 CY=0 BD 80h + C2h + 0 = 142h 42 03 CY=1 i=2 02h + 00h + 1 = 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 1215 10101 (21) x 204 x 110 (6) 4860 101010 2430 10101 247860 1111110 (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. 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.

  26. Arytmetyka - mnożenie bez znaku 25/47 • mnożenie przyśpieszone: • zał: x = Bx1 + x0 y = By1 + y0 (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

  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. -L2 L2: 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 Arytmetyka - dzielenie bez znaku 31/47 Przykład: kolejne stany LD przy dzieleniu L1=31 przez L2=7 LD: 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 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: 0 .. 2m-2-n • przykładowe reprezentacje wartości rzeczywistych przy m=8 i n=4: • 10,25  00001010.0100 10,20  00001010.0011 = 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

More Related