Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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

Technika cyfrowa

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