Wykład II
Kody
Arytmetyka systemów cyfrowych
Piotr Kawalec
Wykład II - 1
Technika cyfrowa
Plan wykładu
Kody stosowane w technice
cyfrowej
Zapis liczb względnych
Wykonywanie operacji arytmetycznych w kodach U1
Wykonywanie operacji arytmetycznych w kodach U2
Arytmetyka dwójkowo-dziesiętna
Piotr Kawalec
Wykład II - 2
Kody stosowane w technice cyfrowej Kodami nazywamy ciągi binarne nie mające cech pozycyjnych systemów liczbowych
Kody stosowane do zapisu liczb względnych Î kod U1 (zapis odwrotny)
Î kod U2 (zapis dopełniający)
Kody stosowane w arytmetyce dwójkowo-dziesiętnej (kod BCD)
Piotr Kawalec
Wykład II - 3
Kody stosowane w technice cyfrowej (2)
Kody wykorzystywane w syntezie układów cyfrowych
Î kod Gray’a
Kody stosowane w transmisji danych
Î kody detekcyjne
Î kody korekcyjne
Piotr Kawalec
Wykład II - 4
Zapis znaku liczby
pozycja znakowa liczby binarnej
. liczba w NKB
Î dla liczb dodatnich - pozycja znakowa 0.
Î dla liczb ujemnych - pozycja znakowa 1.
Piotr Kawalec
Wykład II - 5
Zapis liczb względnych (1)
1. zapis znak - moduł
znak. moduł liczby w NKB
dla liczb dodatnich - pozycja znakowa 0.
dla liczb ujemnych - pozycja znakowa 1.
Piotr Kawalec
Wykład II - 6
Zapis liczb względnych (2)
2. zapis odwrotny (uzupełnienie do jedności, kod U1)
dla liczb dodatnich - taki jak zapis modułowy Îznak. moduł liczby w NKB
dla liczb ujemnych:
Î zanegować bity modułu
Î na pozycji znakowej umieścić 1.
Piotr Kawalec
Wykład II - 7
Zapis liczb względnych (3)
3. zapis dopełniający (uzupełnienie do dwóch, kod U2)
dla liczb dodatnich - taki jak zapis modułowy Îznak. moduł liczby w NKB
dla liczb ujemnych:
Î zanegować bity modułu
Î dodać jedynkę
Î na pozycji znakowej umieścić 1.
Piotr Kawalec
Wykład II - 8
Wykonywanie operacji arytmetycznych w zapisie modułowym
operacje wykonuje się na modułach liczb;
oddzielne bloki do dodawania (sumatory) i odejmowania (subtraktory);
konieczność wstępnego porównywania liczb, aby przy odejmowaniu zawsze odejmować od liczby o większej wartości bezwzględnej liczbę o mniejszej wartości bezwzględnej (znak wyniku taki jak znak liczby o większej wartości bezwzględnej)
Piotr Kawalec
Wykład II - 9
Wykonywanie operacji arytmetycznych w kodzie U1 (1)
wykonywane jest tylko sumowanie;
kolejność czynności:
Î po wyznaczeniu NKB liczb należy wyrównać pozycyjność; Î liczby zapisać w kodzie U1;
Î wykonać sumowanie na wszystkich bitach łącznie z bitami znaku;
Î ewentualną jedynkę przeniesienia lub pożyczki dodać do najmniej znaczącego bitu wyniku;
Piotr Kawalec
Wykład II - 10
Wykonywanie operacji arytmetycznych w kodzie U1 (2)
Î przy operacjach na liczbach o tym samym znaku sprawdzić możliwość przekroczenia zakresu i przeprowadzić ewentualną korektę;
Î jeśli na pozycji znakowej wyniku występuje 1. uzyskać NKB
wyniku negując bity modułu i umieszczając przed nim znak - .
Cechy charakterystyczne:
Î podwójna reprezentacja zera;
Î konieczność zarezerwowania czasu na dwukrotne sumowanie
Piotr Kawalec
Wykład II - 11
Wykonywanie operacji arytmetycznych w kodzie U2 (1)
wykonywane jest tylko sumowanie;
kolejność czynności:
Î po wyznaczeniu NKB liczb należy wyrównać pozycyjność; Î liczby zapisać w kodzie U2;
Î wykonać sumowanie na wszystkich bitach łącznie z bitami znaku;
Î ewentualną jedynkę przeniesienia lub pożyczki pominąć !!!
Piotr Kawalec
Wykład II - 12
Wykonywanie operacji arytmetycznych w kodzie U2 (2)
Î przy operacjach na liczbach o tym samym znaku sprawdzić możliwość przekroczenia zakresu i przeprowadzić ewentualną korektę;
Î jeśli na pozycji znakowej wyniku występuje 1. uzyskać NKB
wyniku negując bity modułu, dodając 1 i umieszczając przed NKB znak - .
Cechy charakterystyczne:
Î jednoznaczna reprezentacja liczb;
Î jednokrotne sumowanie
Piotr Kawalec
Wykład II - 13
Arytmetyka dwójkowo-dziesiętna
zamienić moduł liczby dziesiętnej na kod BCD;
wykonać sumowanie bitów zaznaczając * tetrady z których nastąpiło przeniesienie;
do tetrad z których nastąpiło przeniesienie dodać korekcyjną wartość 110 (6);
do tetrad w których został przekroczony zakres kodu BCD
dodać korekcyjną wartość 110 (6)
Piotr Kawalec
Wykład II - 14
Wykonywanie operacji mnożenia
przy pomocy specjalnych układów mnożących (multiplikatorów);
metodą wielokrotnego sumowania mnożnej i przesuwania tworzonych sum cząstkowych:
Î liczba sumowań zależy od ilości jedynek mnożnika; Î liczba przesunięć zależy od ilości bitów mnożnika Piotr Kawalec
Wykład II - 15