Podstawy Techniki Cyfrowej Wykład 3: Arytmetyka dwójkowa Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie 4:46
Plan Działania na liczbach bez znaku Działania na liczbach ze znakiem Działania na liczbach w kodzie BCD Działania na liczbach zmiennoprzecinkowych 4:46
Działania na liczbach bez znaku Dodawanie Odejmowanie Sumowanie modulo 2 Mnożenie Sprzętowa realizacja mnożenia Dzielenie Dzielenie metodą restytucyjną 4:46
Dodawanie liczb dwójkowych 4:46
Reguły jednopozycyjnego dodawania liczb dwójkowych 1 4:46
Przykład 4:46
Sumowanie akumulacyjne 4:46
Sumowanie modulo 2 Sumowanie, które nie uwzględnia przeniesień (z pozycji niższej i na pozycję wyższą) Symbol: ⊕ Reguły 1 4:46
Odejmowanie 1 4:46
Odejmowanie przez dodanie liczby w kodzie uzupełnieniowym U1 występuje tzw. przeniesienie zwrotne, które należy dodać do wyniku U2 występujące przeniesienie oznacza liczbę dodatnią, należy je pominąć 4:46
Mnożenie 4:46
Mnożenie – przykład 4:46
Mnożenie – właściwości 4:46
Mnożenie – metoda praktyczna 4:46
Dzielenie – metoda porównawcza 4:46
Przykład – dzielenie bez reszty 4:46
Przykład – dzielenie z resztą 4:46
Dzielenie – metoda restytucyjna W każdym kroku odejmowany jest dzielnik (w kodzie U2) i badany jest znak różnicy, jeśli jest ujemny, to oznacza, że trzeba restytuować poprzednią postać reszty częściowej (dodać dzielnik w kodzie naturalnym) W szybszej metodzie nierestytucyjnej unika się odtwarzania sumy częściowej 4:46
Działania na dużych liczbach stałoprzecinkowych W realizacjach sprzętowych układy przeznaczone do wykonywania operacji mają często pojemność jednego bajta Działania na liczbach wielobajtowych wymagają sekwencyjnego przetwarzania kolejnych bajtów No przykład przy dodawaniu dodaje się parami bajty począwszy od najmniej znaczących i uwzględniając przeniesienia z poprzednich sum Przeniesienie powstałe przy sumowaniu najstarszych bajtów nosi nazwę nadmiaru lub przepełnienia 4:46
Działania arytmetyczne na liczbach dwójkowych ze znakiem 4:46
Mnożenie i dzielenie liczb ze znakiem Najprościej w kodzie ZM (mnożenie modułów, znak wyznaczany operacją sumowania modulo 2) W kodzie ZU2 można zastosować metodę Bootha 4:46:15
Metoda Bootha Bada się pary sąsiednich bitów począwszy od najmniej znaczącego bitu Zależnie od wartości bitowej danej pary wykonuje się dodawanie, odejmowanie lub nic się nie robi Następnie wykonuje się przesuniecie arytmetyczne w prawo i przechodzi się do następnej pary bitów Reguły: 4:46
Metoda Bootha – przykład 4:46
Działania arytmetyczne w kodach BCD 4:46
Korekta dodawania w BCD 8421 4:46
Algorytm korekty dodawania dwóch bajtów w BCD 8421 4:46
Odejmowanie w kodzie BCD 8421 Zastępuje się dodawaniem uzupełnienia odjemnika (do 9 lub do 10) 4:46
Działania na liczbach zmiennoprzecinkowych (1) Wyrównywanie wykładników: od większego odejmujemy mniejszy a związaną z nim mantysę przesuwamy w prawo o liczbę pozycji równą wynikowi 4:46
Działania na liczbach zmiennoprzecinkowych (2) Właściwości dodawania i odejmowania: jeżeli w wyniku dodawania w mantysie sumy wystąpi przeniesienie na pozycję znaku, to należy go skorygować, przesuwając mantysę o jedną pozycję w prawo i zwiększenie wykładnika o 1 jeżeli w wyniku odejmowania w mantysie różnicy wystąpi zero na najbardziej znaczącej pozycji to należy znormalizować mantysę przesuwając ją w lewo tak długo, aż na tej pozycji pojawi się 1 (nie dotyczy mantysy zerowej), a wykładnik należy zmniejszyć o liczbę odpowiadającą liczbie pozycji, o które została przesunięta mantysa 4:46
Działania na liczbach zmiennoprzecinkowych (3) 4:46
DziękujĘ ZA UWAGĘ 4:46