79
UKŁADY MIKROPROCESOROWE OPRACOWANIE MALBORK Kodowanie informacji i systemy liczbowe

NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Embed Size (px)

Citation preview

Page 1: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

UKŁADY

MIKROPROCESOROWE

OPRACOWANIE KŁ

MALBORK

Kodowanie informacji i systemy liczbowe

Page 2: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

WPROWADZENIE

1. Pojęcia podstawowe:

Czym zajmuje się elektronika ?

Informacja

Sygnał

Page 3: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Uproszczona klasyfikacja układów elektronicznych

Wzmacniacze

.

.

.

Układy liniowe

Modulatory

Prostowniki

Powielacze

...

Układy nieliniowe

Układy analogowe

Uklady kombinacyjne

Układy synchroniczne Układy asynchroniczne

Układy sekwencyjne

Układy cyfrowe

Układy elektroniczne

Układy kombinacyjne

(bez pamięci)

Układy sekwencyjne

(z pamięcią)

Page 4: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

- Analogowe - nieprzerwane w czasie i dziedzinie amplitudy

- Próbkowane - przerywany na osi czasu; na osi amplitudy przyjmuje

każdą wartość

- Kwantowane - nieprzerwane w czasie; przyjmuje ściśle określone

poziomy amplitudowe

- Cyfrowe - dyskretne, czyli nieciągłe w czasie; nieciągłe w amplitudzie

KLASYFIKACJA SYGNAŁÓW

Page 5: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

- cyfrowe: dyskretne, czyli nieciągłe w czasie; nieciągłe w amplitudzie np.

binarne (dwójkowe) czyli przyjmujące dwie określone wartości w określonych

momentach (chwilach) czasowych; sygnał cyfrowy może mieć wartość

amplitudy 0 [V] (niski potencjał), bądź +U [V] (wysoki potencjał), choć trzeba

zaznaczyć, że jest to sprawa konwencji, bowiem można też przyjąć - U [V].

Zazwyczaj sygnałowi 0 [V] zwykło się przypisywać cyfrę "0", natomiast

sygnałowi +U [V] cyfrę "1" (konwencja dodatnia, pozytywna).

Page 6: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Z powodu swoich zalet sygnały cyfrowe wykorzystuje się coraz

częściej również w dziedzinach elektroniki, gdzie dotychczas

stosowanie sygnałów analogowych wydawało się najbardziej

naturalne i oczywiste (np. technika PCM - modulacja kodowo-

impulsowa w teletransmisji).

Podstawowymi parametrami informacji cyfrowej jest liczba cyfr

tworzących przetwarzaną cyfrę oraz częstotliwość ich

przekazywania. Ponieważ naturalne jest dążenie do zwiększenia

ilości informacji przesyłanej w czasie, dlatego zrozumiała jest

tendencja do stosowania wąskich impulsów o dużej częstotliwości.

Widmo sygnału cyfrowego nie jest istotnym parametrem, dlatego

układy cyfrowe logiczne nie są badane częstotliwościowo, zaś

jedynie pod kątem zachowania standardowych wartości amplitudy

typowej dla "0" lub "1", odpowiedniego czasu narastania i opadania

zbocza impulsu.

TECHNIKA PCM

Page 7: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Układ logiczny - przetwornik informacji podanej w sposób

dyskretny, nieciągłej w czasie i wyróżniającej dwie wartości

amplitudy sygnału.

Układ logiczny a układ cyfrowy - układem logicznym (logic

circuits) zwykło się nazywać modele matematyczne

(abstrakcyjne) fizycznie istniejącego "układu cyfrowego" (digital

circiuts) zbudowanego z elementów cyfrowych. Spotyka się

również termin "układy przełączające" (switching circuits)

mające swoje pochodzenie w technice układów stykowych.

OKREŚLENIE UKŁADU LOGICZNEGO

Page 8: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

POJĘCIE UKŁADU CYFROWEGO, POJĘCIE

UKŁADU LOGICZNEGO

UKŁAD

LOGICZNY

xm

x2

x1 y1

y2

yn

xi{0;1} i=1,2,...,m

yj {0;1} j=1,2,...,n

Page 9: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Programowalny układ logiczny

UKŁAD

LOGICZNY

xm

x2

x1 y1

y2

yn

sk s2 s1

Page 10: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

SPOSOBY PRZEDSTAWIANIA INFORMACJI W UKŁADACH LOGICZNYCH

1. Kodowanie cyfrowe

2. Kody:

• NKB

• BCD (Binary Coded Decimal)

• „1 z n”

• Unitarny

• Kod wskaźnika 7- elementowego

• Gray’a

Page 11: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kodowanie cyfrowe

INFORMACJA CIĄGI BINARNE

KODOWANIE

Kodowanie binarne - odwzorowanie przyporządkowujące każdej

informacji ze zbioru I (zbiór inf. określonego typu) jednego i tylko jednego

słowa binarnego ze zbioru X. Przez kod (I)=X wyrażone jest słowo binarne

reprezentujące informację I.

Jeśli słowo binarne X o długości (liczbie bitów) n reprezentuje formację

liczbową, to jest możliwe podanie wzoru określającego zależności pomię-

dzy wartościami poszczególnych bitów słowa a wartością reprezentowanej

przez to słowo liczby. Zaznaczyć trzeba, że jest to słuszne tylko dla tzw.

kodów wagowych - gdzie każdy bit słowa ma określoną wagę.

Page 12: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

NKB w zakresie od 0 do 15

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

8 4 2 1

Page 13: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD DWÓJKOWY

Cyfra

dziesiętna Wektor informacji

cyfrowej

0

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

03

3

2

2

1

1

2

021

...222

1,0,...

aaaaX

aaaa

n

n

n

n

n

n

nn

10100111 2 1 2 0 2 1 2 0 2 0 2 1 2 1 2 1 1672

7 6 5 4 3 2 1 0

10

35

217 1

17

28 1

8

24 0

4

22 0

2

21 0

1

20 1

................

..................

...................

...................

...................

...................

ILORAZ RESZTA

1 0 0 0 1 1

Page 14: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kod uzupełnieniowy

(ang. complement code)

– dwójkowa reprezentacja liczby, w której bit najbardziej

znaczący jest traktowany jako bit znaku. Zaletą tego kodu

jest prostota układów elektronicznych wykonujących

działania na przedstawionych w nim liczbach. Rozróżnia się

kody uzupełnień do jedności oraz do dwóch, różniące się

sposobem zapisu liczb ujemnych oraz – co za tym idzie –

algorytmami wykonywania działań arytmetycznych.

Page 15: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Kod uzupełnień do dwóch (w skrócie U2 lub ZU2) jest obecnie

najpopularniejszym sposobem zapisu liczb całkowitych oraz ułamkowych

przedstawionych w formacie stałoprzecinkowym na bitach. Jego

popularność wynika z faktu, że operacje dodawania i odejmowania są w nim

wykonywane tak samo jak dla liczb binarnych bez znaku. Z tego też powodu

oszczędza się na kodach rozkazów procesora.

Nazwa kodu wzięła się ze sposobu obliczania liczb przeciwnych. Dla

jednobitowej liczby wartość przeciwną obliczamy odejmując daną liczbę od 2

(uzupełniamy jej wartość do dwóch). Analogicznie, dla liczb n-bitowych

wartości przeciwne uzyskujemy odejmując liczbę od dwukrotnej wagi

najstarszego bitu (2·2n–1 = 2n). W analogiczny sposób można stworzyć np.

kod uzupełnień do jedności.

Zaletą tego kodu jest również istnienie tylko jednego zera. Przedział

kodowanych liczb nie będzie zatem symetryczny. W U2 na n bitach da się

zapisać liczby z zakresu:

Dla 8 bitów (bajta) są to liczby od –128 do 127. Liczba –2n–1 nie posiada

swojego przeciwieństwa w n-bitowej reprezentacji kodu U2.

Page 16: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Zapis liczb

W dwójkowym systemie liczbowym najstarszy bit liczby n-

cyfrowej ma wagę 2n–1. Jedyną różnicą, jaką wprowadza tu

kod U2, jest zmiana wagi tego bitu na przeciwną (–2n–1). Bit

ten jest nazywany bitem znaku, ponieważ świadczy o znaku

całej liczby – jeśli jest ustawiony (=1) cała liczba jest ujemna,

jeśli jest skasowany (=0) – liczba jest dodatnia lub równa 0.

Zwiększając obszar zajmowany przez liczbę w kodzie U2

(np. z jednego bajta na dwa), dodawany obszar wypełnia się

bitem znaku.

Page 17: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Zapis liczb Kod U2 może być połączony z kodem stałopozycyjnym w celu

umożliwienia zapisu liczb niecałkowitych. Wymagana jest wtedy umowa co do

miejsca położenia przecinka oddzielającego część całkowitą od ułamkowej

(może on również leżeć poza cyframi znaczącymi liczby). Liczby takie można

traktować jako liczby całkowite przy dodawaniu i odejmowaniu. Przy mnożeniu i

dzieleniu wymagane są korekty, jeśli wynik ma mieć w tym samym miejscu

przecinek.

Zapis dwójkowy liczb zmiennoprzecinkowych na ogół nie używa wcale kodu

U2, bądź używa go tylko dla wykładnika.

PRZYKŁAD:

11101101U2= 𝟏 ∙ − 𝟐𝟕 + 𝟏 ∙ 𝟐𝟔 + 𝟏 ∙ 𝟐𝟓 + 𝟎 ∙ 𝟐𝟒 + 𝟏 ∙ 𝟐𝟑 + 𝟏 ∙ 𝟐𝟐 + 𝟎 ∙ 𝟐𝟏 + 𝟏 ∙ 𝟐𝟎

Page 18: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Liczba przeciwna

Aby zamienić liczbę w U2 na przeciwną, należy wykonać

dwa kroki:

dokonać inwersji bitów, czyli pozamieniać 0 na 1 i odwrotnie;

zwiększyć wynik o 1.

Można też posłużyć się metodą podaną na wstępie, ale

powyższa metoda jest prostsza i działa również na

procesorach, które nie mają operacji odejmowania.

Przykład

Dana jest liczba:

01001010U2 = 0 ⋅ -(27) + 1 ⋅ 26 + 0 ⋅ 25 + 0 ⋅ 24 + 1 ⋅ 23 + 0 ⋅ 22 + 1 ⋅ 21 + 0 ⋅ 20 = 74D

Dokonujemy inwersji: 10110101 i zwiększamy o 1:

10110110U2 = 1 ⋅ -(27) + 0 ⋅ 26 + 1 ⋅ 25 + 1 ⋅ 24 + 0 ⋅ 23 + 1 ⋅ 22

+ 1 ⋅ 21 + 0 ⋅ 20 = -74D

Page 19: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Dodawanie i odejmowanie liczb

Dodawanie i odejmowanie w U2 odbywa się standardową

metodą – traktujemy liczby jako zwykłe liczby binarne

(dodatnie), dodajemy je lub odejmujemy, a wynik

otrzymujemy w zapisie U2. Dodawanie i odejmowanie

odbywa się łącznie z bitem znaku, a przeniesienia i pożyczki

poza najstarszy bit (bit znaku) ignorujemy. Jeśli jednak

przepełnienie (lub pożyczka) nie będzie występować

jednocześnie na bit znaku i poza niego, wówczas możemy

być pewni przekroczenia zakresu wyniku.

Page 20: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Przykład

Uwaga: przecinek oznacza odddzielenie części całkowitej

od ułamkowej, kropka znaku liczby od wartości w U2

Rezerwujemy odpowiednią ilość "bitów" uzupełniając z lewej

strony bitem znaku, a z prawej zerami zgodnie z zasadą

zapisu w U2.

Page 21: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Dodawanie

1.10100,010

+1.11000,011

------------

1.01100,101

Page 22: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Odejmowanie

Odejmowanie jest realizowane, podobnie jak dodawanie

1.10100,010

-1.11000,011

------------

1.11011,111

Page 23: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Odejmowanie może być zamienione na dodanie liczby przeciwnej,

dlatego w niektórych procesorach zrealizowano tylko operację

tworzenia liczby przeciwnej i dodawanie. Przykład odejmowania

przez zamianę liczby na liczbę przeciwną.

przeciwna do 1.11000,011 = 0.00111,101

1.10100,010

+0.00111,101

------------

1.11011,111

Page 24: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Mnożenie liczb

I wariant metody Bootha

Algorytm słowny:

Badamy kolejne pary bitów mnożnika.

Jeżeli badana para jest kombinacją 10 to od iloczynu

częściowego odejmujemy mnożną, wynik przesuwamy o

jedno miejsce w prawo.

Jeżeli jest to para 01 to dodajemy mnożną do iloczynu

częściowego, przesuwamy wynik o jedno miejsce w prawo

Jeżeli są to pary 00 lub 11 to nie wykonujemy żadnego

działania, tylko przesuwamy o jedno miejsce w prawo.

Gdy w skład pary wchodzi bit znaku to nie wykonujemy

przesunięcia.

Page 25: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Przykład

Uwaga: część całkowita w zapisie binarnym została pominięta -

zapis jest postaci bit_znaku.bity_ułamka

Analizuję bity liczby B (od prawej do lewej strony), dodaję i odejmuję liczbę A.

0.0000 (iloczyn częściowy)

-1.1011 (jest 10, odejmuje)

------

0.0101 0.00101 -> (i przesuwa)

+1.1011 (jest 01, dodaje)

-------

1.11011 1.111011 -> (i przesuwa)

1.1111011 -> (jest 00, tylko przesuwa)

-1.1011 (jest 1.0, ale jest bit znaku, to nie przesuwa )

---------

0.0100011

Wynik otrzymujemy w kodzie znak-moduł (ZM).

KOD U2

Page 26: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD U2

Sprawdzenie

Page 27: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kod uzupełnień do jedności to sposób zapisu liczb całkowitych

oznaczany jako ZU1 lub U1. Liczby dodatnie zapisywane są jak w

naturalnym kodzie binarnym, przy czym najbardziej znaczący bit –

traktowany jako bit znaku – musi mieć wartość 0. Do reprezentowania

liczb ujemnych wykorzystywana jest bitowa negacja danej liczby, co

sprawia, że bit znaku ma wartość 1. Wynika z tego również

występowanie dwóch reprezentacji zera: +0 (00000000U1) i -0

(11111111U1). W związku z tym liczby zapisane w ZU1 na n bitach

pochodzą z zakresu:

co daje zakres identyczny jak w reprezentacji znak-moduł. Dla 8 bitów

(bajta) są to liczby od -127 do 127.

KOD UZUPEŁNIEŃ DO JEDNOŚCI ZU1

Page 28: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

KOD UZUPEŁNIEŃ DO JEDNOŚCI ZU1

Dodawanie i odejmowanie

Dodawanie liczb w U1 jest podobne do dodawania liczb binarnych, z tą

różnicą że powstałe przeniesienie poza najstarszy bit należy dodać do

wynikowej sumy. Na przykład obliczając wartość wyrażenia 7 + (–3)

oczekujemy wyniku 4. Dodając binarnie te liczby zapisane w kodzie U1,

dostaniemy liczbę 3 oraz przeniesienie, które dodajemy do otrzymanej

liczby aby otrzymać ostateczny wynik 4:

111111 (przeniesienia na poszczególnych bitach)

00000111U1 7D

+ 11111100U1 -3D

----------

100000011

00000011U1 3D (wynik obcięty do zakresu liczby)

+ 00000001D 1D (dodajemy przeniesienie)

----------

00000100U1 4D (ostateczny wynik)

Aby wykonać odejmowanie wystarczy odwrócić bity drugiej liczby i tak

powstałe liczby dodać.

Page 29: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kod znak-moduł

to sposób zapisu liczb całkowitych oznaczany

jako ZM (bądź SM). Wszystkie bity poza

najstarszym mają takie samo znaczenie jak w

naturalnym kodzie binarnym. Wyróżniony bit w

tym zapisie jest bitem znaku. Jeżeli ma on

wartość 0 to dana liczba jest dodatnia, jeżeli 1 to

liczba jest ujemna. W związku z tym występują

dwie reprezentacje zera: +0 (00000000ZM) i -0

(10000000ZM). Jednocześnie wpływa to na zakres

liczb jaki można przedstawić używając kodowania

ZM na n bitach:

Dla 8 bitów (bajta) są to liczby od -127 do 127.

Liczby zapisane w kodzie ZM na 4 bitach:

znak-moduł dziesiętnie

0000 +0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 -0

1001 -1

1010 -2

1011 -3

1100 -4

1101 -5

1110 -6

1111 -7

Page 30: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

3 7 6 4 Cyfra

dziesiętna

Wektor informacji

cyfrowej

0

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

KOD ÓSEMKOWY

011 111 110 100

L8=an8n + an-18

n-1 +…+a1 81 + a08

0

3764(8)=3*83 + 7*82 + 6*81 + 4*80=1536+448+48+4=2036(10)

Page 31: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

F A 4 Cyfra

szesnast.

Wektor informacji

cyfrowej

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

KOD SZESTNASTKOWY

1111 1010 0100

7 6 4 4

Lhex=an16n + an-116n-1 +…+a1 161 + a0160

FA4hex= 15*162 + 10*161 + 4*160 = 3840+160+4=4004(10)

Page 32: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

BCD

(25)10 = ( 1 1 0 0 1 )NKB

16 8 4 2 1

(25)10 = ( 0 0 1 0 0 1 0 1 )BCD (Każda cyfra oddzielnie)

2 5

4 BITY BO CYFRY SĄ OD 0 DO 9

Page 33: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Unitarny

( 1 ) 1

( 2 ) 11

( 3 ) 111

( 4 ) 1111

Page 34: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kod wskaźnika 7- elementowego

b g f

e

d

c

a

a b c d e f g

0 1 1 1 1 1 1 0

2 1 1 0 1 1 0 1

6 1 0 1 1 1 1 1

1 0 1 1 0 0 0 0

8 1 1 1 1 1 1 1

3 1 1 1 1 0 0 1

5 1 0 1 1 1 0 1 4 0 1 1 0 0 1 1

9 1 1 1 1 0 1 1

7 1 1 1 0 0 0 0

Page 35: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kod Gray’a

2- bitowy 0 0 0 1 1 1 1 0

3- bitowy

0 000 1 001 2 011 3 010 4 110

5 111 6 101 7 100

1- bitowy n = 1 0 1

110 111

101

000 001

011 010

100

11

00 01

10

Page 36: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Kod Gray’a dla czterech zmiennych

0 0 0 0

0 0 0 1

0 0 1 1

0 0 1 0

0 1 1 0

0 1 1 1

0 1 0 1

0 1 0 0

1 1 0 0

1 1 0 1

1 1 1 1

1 1 1 0

1 0 1 0

1 0 1 1

1 0 0 1

1 0 0 0

1110 1111

1101

1000 1001

1011 1010

1100

0110 0111

0101

0000 0001

0011 0010

0100

Page 37: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Liczby stałopozycyjne

Liczby stałopozycyjne i zmiennopozycyjne

Przeprowadzanie obliczeń na liczbach całkowitych oraz

ułamkowych, o bardzo dużych oraz małych wartościach

wymaga stosowanie rożnych metod przedstawienia liczb.

Obecnie stosowane są dwa sposoby prezentacji liczb,

stałopozycyjne oraz zmienno pozycyjne.

Postać liczby stałopozycyjna może być wykorzystywana

zarówno do reprezentowania liczb całkowitych jak i

ułamkowych. W takiej postaci można przedstawić również

liczby składające się z części całkowitej oraz ułamkowej. W

przypadku takim pierwszy bit odpowiada za znak liczby, druga

część bitów przedstawia część liczby całkowitą, natomiast

część ułamkową przedstawia trzecia część bitów.

Page 38: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Liczby stałopozycyjne

Rys. 8. Format liczby stałopozycyjnej

Page 39: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Liczby stałopozycyjne

W większości komputerów przetwarzane są liczby

stałopozycyjne w których przecinek jest umieszczony

zaraz po najmłodszej cyfrze liczby, czyli przetwarzane są

liczby całkowite. Możliwe jest wtedy przeprowadzenie

obliczeń zarówno w systemie binarnym jak również liczb

dziesiętnych których pojedyncze cyfry zapisane są za

pomocą tetrad. Podczas gdy przecinek umieszczany jest

przed najstarszą z cyfr liczby, obliczenia wykonywane są

na liczbach ułamkowych. Najrzadziej spotyka się liczbę

stałopozycyjną w której przedstawiona jest część

całkowita i ułamkowa, ze względu na skomplikowane

przetwarzanie takich liczb.

Page 40: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Liczby stałopozycyjne

Może się zdarzyć iż liczba cyfr przed przecinkiem jest

większa od ilości odpowiednich bitów i mamy wtedy do

czynienia z nadmiarem w pozycjach cyfrowych, czego

efektem jest przekłamanie w wyniku operacji

arytmetycznych. Aby temu zapobiec wprowadza się

współczynnik skali. Są to liczby przez które mnoży się

liczbę stałopozycyjną aby nie doszło do nadmiaru.

Prostszym rozwiązaniem jest przedstawienie liczby jako

ułamka właściwego. Możliwy jest również przypadek

otrzymania w trakcie operacji arytmetycznych wyniku o

bardzo małej wartości, a wtedy liczba stałopozycyjna

może być zapisana za pomocą samych zer. Mamy wtedy

do czynienia z niedomiarem.

Page 41: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 42: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 43: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Rozwiązaniem problemów związanych z niedokładnością obliczeń

na liczbach stałopozycyjnych jest zastosowanie do reprezentacji liczb

postaci zmiennopozycyjnej. Liczbę w takiej postaci przedstawia wzór:

X = kp M gdzie: M - mantysa liczby X, p - cecha liczby X, k - podstawa

cechy.

Rys. 9. Format liczby zmiennopozycyjnej

Dla mantysy rezerwowana jest stała liczba cyfr o podstawie k tak, że

zakres zmian mantysy może być określony jako k-m < M < 1 – k-m. Dla

udogodnienia zapisu cechy p liczby mantysa podlega normalizacji, czyli

zakres jej zmian zostaje przedstawiony jako k-1 ≤ X ≤ 1 – k-m. W mantysie

po normalizacji pierwsza jej cyfra zawiera zawsze cyfrę różna od zera. W

systemie dwójkowym będzie to jedynka.

Cecha p liczby, przedstawiona jest poprzez liczbę stałopozycyjną i

może być zarówno dodatnia jak i ujemna. Dla cechy jest przeznaczone n

cyfr o podstawie k, wobec czego zakres zmian przedstawia się wzorem:

Page 44: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Tak więc przedział zmian wartości liczby prezentowanej

w postaci zmiennopozycyjnej możemy określić:

Po przekształceniu otrzymujemy równanie:

Liczby w obydwu formatach, stałopozycyjnym oraz

zmiennopozycyjnym są obarczone błędami względnymi i wynoszą

one:

i

Page 45: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 46: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 47: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Błąd względny w przypadku kiedy liczba jest

reprezentowana za pomocą formy zmiennopozycyjnej jest

równomiernie rozłożony w całym zakresie liczby. W

przypadku zastosowania formy stałopozycyjnej błąd

względny jest tym mniejszy im dłuższa jest mantysa w

związku z czym w tej postaci zapisuje się duże liczby,

podczas gdy w formie zmiennopozycyjnej liczby małe. Aby

uzyskać dużą dokładność obliczeń w komputerach stosuje

się kombinację obydwu form przedstawienia liczb.

Wykorzystując do obliczeń liczby stałopozycyjne

uzyskujemy możliwość użycia prostej jednostki

arytmetyczno-logicznej komputera, z drugiej strony

uzyskujemy mały zakres liczb jaki możemy przedstawić za

pomocą takiej jednostki.

Wady i zalety systemu stałopozycyjnego i

zmiennopozycyjnego

Page 48: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 49: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 50: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 51: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 52: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

5.1 Dodawanie i odejmowanie

Algorytm sumy arytmetycznej bitów:

W sumowaniu liczb wielobitowych dodawaniu podlegają bity o

identycznych wagach np.

1001 + 0101 = 1110 C = 0, S = 1110

1101 + 1011 = 11000 C = 1, S = 1000

bity przeniesienie C suma S

0 + 0 0 0

0 + 1 0 1

1 + 0 0 1

1 + 1 1 0

Page 53: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

W sumowaniu liczb wielobitowych dodawaniu podlegają bity o identycznych

wagach np.

1001 + 0101 = 1110 C = 0, S = 1110

1101 + 1011 = 11000 C = 1, S = 1000

Operacje arytmetycznie wygodnie jest wykonywać w kodzie U2.

Wykażemy , że -a = a' + 1

a = (1010)U2 = -8 + 2 = (-6)10

-a = (1010)'U2 + 1 = 0101 + 1 = (0110)U2 = 4 + 2 = (6)10

a - a = 0 , a + a' + 1 = 0 1010 + 0110 = 10000 C = 1 S = 0

Operacja odejmowania w kodzie U2 sprowadza się do dodawania :

a - b = a + (-b) = a + b' + 1

Przykład:

a = (36)10 b = (71)10 , oblicz a - b

a = (00100100)U2 b = (01000111)U2 -b = (01000111)? + 1 = 10111000 + 1 =

(10111001)U2

a - b = 00100100 + 10111001 = (11011101)U2 = -128 + 64 + 16 + 8 + 4 + 1 = (-

35)10

C = 0 , S = 11011101

Page 54: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Mnożenie i dzielenie przez dwa - przesunięcia arytmetyczne

Mnożenie przez dwa ( nazywane inaczej arytmetycznym przesunięciem

w lewo ) realizujemy zawsze przez przesunięcie liczby w lewo z

dopisaniem 0 na najmniej znaczącej pozycji. W razie przekroczenia

zakresu może pojawić się nadmiar.

Przykład: - przesunięcie w lewo

(2)10 = (0010)U2 ------(0100)U2 = (4)10

(-2)10 = (1110)U2 ------ (1100)U2 = - 4

Jeżeli w wyniku przesunięcia znak liczby (najbardziej znaczący bit ) nie

ulegnie zmianie to przesunięcie w lewo poprawnie realizuje mnożenie

przez dwa.

W poniższych przykładach znak liczby zmieni się:

(4)10= (0100)U2 -----(1000)U2 = (-8)10 ?

(-6)10= (1010)U2 ------ (0100)U2 = (4)10 ?

Wystąpił nadmiar i wynik jest błędny. Wynika on z faktu, że

zwiększyliśmy wartość liczby tak bardzo, że przekroczyła ona zakres

liczb możliwych do wyrażenia w ograniczonym słowie.

Page 55: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Dzielenie przez dwa (nazywane inaczej arytmetycznym przesunięciem w

prawo) realizujemy przez przesunięcie liczby w prawo z powielenia na

najbardziej znaczącej pozycji takiego bitu, jaki się tam znajdował przed

przesunięciem. Operacja jest zawsze możliwa do wykonania.

Przykład przesunięcia w prawo:

(6)10 = (0110)U2 ----- (0011)U2 = (3)10

Przesuwając liczbę ujemną w prawo musimy na najbardziej znaczącą

pozycję dopisywać 1, a nie 0:

(-6)10 = (1010)U2 ----- (1101)U2 = (-3)10

Przy przesuwaniu w prawo może nastąpić utrata dokładności np.

(7)10 = (0111)U2 ---- (0011)U2 = (3)10

Aby dokładnie wyznaczyć wynik dzielenia należy wartość gubionego

najmniej znaczącego bitu zapamiętać i traktować jako część ułamkową

liczby czyli (0011,1)U2 = (3,5)10

Page 56: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)
Page 57: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Działania na liczbach binarnych

Page 58: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Działania na liczbach binarnych

Page 59: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Podstawy algebry Boole’a

1. Założenia algebry Boole’a

2. Definicja działań „+” i „*”

3. Aksjomaty

4. Twierdzenia

5. Ilustracja dowodu twierdzenia a + a * b = a

6. Ilustracja praw pochłaniania w algebrze zbiorów

7. Funkcja boolowska

8. Tabela prawdy (logiczna)

9. Zapis numeryczny

10. Dekompresja Shannona

11. Minimalizacja funkcji

boolowskich

Page 60: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Założenia algebry Boole’a

Algebra Boole'a jest

"narzędziem" matematycznym służącym m.in. do opisu, analizy i syntezy układów logicznych. Stanowi ona uogólnienie rachunku zdań i algebry zbiorów uznając jedno i drugie tyko za szczególne przypadki ogólniejszej teorii. Również szczególnym przypadkiem algebry Boole'a jest binarna algebra Boole'a. Dla zdefiniowania każdej algebry potrzebne jest określenie pewnego zbioru, działań w tym zbiorze (operacji) , elementów wyróżnionych w tym zbiorze oraz zespołu aksjomatów i twierdzeń

Binarną algebrę Boole’a tworzą:

Zbiór dwuelementowy {0;1}

Wyróżnione elementy tego zbioru – 0 i 1 (czyli oba są wyróżnione )

Dwa działania (operacje, funktory) – suma logiczna (+) oraz iloczyn logiczny (*) zdefiniowane dalej zestawy aksjomatów 1- 5, 1’- 5’

Wynikający z aksjomatów zestaw twierdzeń 1- 7, 1’- 7’, 8

Page 61: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Definicja działań „+” i „*” w algebrze Boole’a

a b a+b a*b

0 0 0 0

0 1 1 0

1 0 1 0

1 1 1 1

a, b {0;1}

lub i

Page 62: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Aksjomaty według Huntingtona

Aksjomaty Określenia

1. a + b {0,1} 1’. a * b {0,1} Wynik sumy (iloczynu) należy do zbioru {0;1}

2. a + b = b + a 2’. a * b = b * a Przemienność sumy (iloczynu)

3. a * (b + c) = a * b + a *c

3’. a + b * c = (a + b) * (a + c)

Rozdzielność iloczynu (sumy) względem sumy (iloczynu)

4. a + 0 = a 4’. a * 1 = a Istnieje element neutralny pod względem sumy (iloczynu)

5. Istnieje taki element a, że

a + a = 1

5’. Istnieje taki element a, że

a * a = 0

Aksjomat ten stanowi właściwie definicję działania „-” zwanego negacją

Page 63: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Twierdzenia

Twierdzenia Określenia

1. a + (b + c) = (a + b) + c

1’. a * (b * c ) = (a * b) * c

Prawo łączności sumy (iloczynu)

2. a + a * b = a 2’. a * (a + b) = a Prawo absorbcji (pochłaniania)

3. a + a * b = a + b 3’. a * (a + b) = a * b

4. a + 1 = 1 4’. a * 0 = 0 Prawo dominacji elementu max (min)

5. a + a = a 5’. a * a = a Prawo idempotentności

6. a + b = a * b 6’. a * b = a + b Prawa de Morgana !

7. 0 = 1 7’. 1 = 0 Prawo istnienia elementu przeciwnego

8. a = a

Prawo podwójnej negacji

Page 64: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Ilustracja dowodu twierdzenia a + a * b = a metodą zero – jedynkową tabelkową

a

b

Lewa Prawa

a a * b a + a * b a

0 0 0 0 0 0

0 1 0 0 0 0

1 0 1 0 1 1

1 1 1 1 1 1

L = P

Page 65: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

a B

a a B = a

a a B a

a (a B) = a

a B

a a

a a B B

Ilustracja praw pochłaniania w algebrze zbiorów

Page 66: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Przejścia

Rachunek Zdań Algebra zbiorów

Algebra Boole’a

v +

*

~ ‘ -

Fałsz 0

Prawda 1

Page 67: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Interpretacja fizyczna binarnej algebry Boole’a

zestyk rozwierny zestyk zwierny

+

negacja afirmacja

+

suma logiczna iloczyn logiczny

+ +

Page 68: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Interpretacja fizyczna aksjomatów binarnej algebry Boole’a

a

b

a

c

a

b a

b

a

c

a

a

b b

c

a

a

a

a

a

b c

a b a b

a a

a a

2. 2’.

3. 3’.

4. 4’.

5. 5’.

Page 69: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Liczby całkowite, ze znakiem (U2) i bez znaku

dodawanie (ADD)

przykład:

mov EAX,10 ;wpisanie do rejestru EAX liczby 10

add EAX,20 ;dodanie do zawartość EAX liczby 20

;(EAX:=EAX+20) C=0

dodawanie z przeniesieniem (ADC)

W=A+B+C (C=0 lub 1)

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

1

Page 70: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

odejmowanie (SUB)

mov EAX,10 ;wpisanie do rejestru EAX liczby 10

sub EAX,20 ;odjęcie od zawartość EAX liczby 20

(w tym przypadku wynik będzie ujemny (N=1), oraz

nastąpi pożyczka (C=1))

odejmowanie z pożyczką (SBB)

W=A-B-C

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

2

Page 71: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

inwersja bitów (NOT) - tak jak w systemie uzupełnień do jedynki U1

mov EAX,12 ;wpisanie do rejestru EAX liczby 12

NOT EAX

negacja liczby (NEG) – system uzupełnień do dwóch (U2) W=(NOT A) +1

mov EAX,12 ;wpisanie do rejestru EAX liczby 12

NEG EAX

;w EAX jest –12 (U2)

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

3

Page 72: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

mnożenie liczb (MUL) :

- wynik ma dwa razy więcej bitów niż składniki

mnożenia (wynik zawsze w DX:AX)

mov ax,2000h

mov bx,10h

mul bx

po wykonaniu mnożenia w rejestrze DX znajdzie się

liczba 2h, a w AX liczba 0000h (łączny wynik 20000h)

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

4

Page 73: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

dzielenie liczb (DIV) :

dzielna w DX:AX

wynik w postaci: część całkowita (AX) i reszta (DX)

mov dx,3h

mov ax,205h

mov bx,100h

div bx ;AX = 302h = (30205h/100h)

;DX = 5 (reszta z dzielenia)

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

5

Page 74: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Iloczyn logiczny (AND) :

mov dx,11000011b

and dx,11110000b

;w dx będzie

11000000b

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

6

AND

A 0 1 0 1 B 0 0 1 1 W 0 0 0 1

Page 75: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Suma logiczna (OR) :

mov ax,11000011b

or ax,11110000b

;w ax będzie

11110011b

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

7

OR

A 0 1 0 1 B 0 0 1 1 W 0 1 1 1

Page 76: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Funkcja EXOR:

mov ax,11000011b

exor ax,11110000b

;w ax będzie

00110011b

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

8

XOR

A 0 1 0 1 B 0 0 1 1 W 0 1 1 0

Page 77: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Przesuwanie bitów

logiczne:

SHR,SHL:

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

Arytmetyczne:

SAR,SAL:

Page 78: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

Przesuwanie bitów: ROR,ROL

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów

Page 79: NOTAKI Z TECHNIKI CYFROWEJ - Strona główna - Zespół ...zsp4.malbork.pl/files/8-uklady_mikroprocesorowe.pdf · również termin "układy przełączające" (switching circuits)

79

Przesuwanie bitów:ROR,ROL - przykład

;wartość początkowa „C” bez znaczenia

mov ax,11000011b

ror ax,1

11100001b ;po wykonaniu C=1

;przesunięcie o trzy pola

mov ax,11000011b

ror ax,3

01111000b ;po wykonaniu C=0

Podstawowe operacje

arytmetyczno-logiczne mikroprocesorów