notaki z techniki cyfrowej - strona główna - zespół...
TRANSCRIPT
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/1.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/2.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/3.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/4.jpg)
- 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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/5.jpg)
- 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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/6.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/7.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/8.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/9.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/10.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/11.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/12.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/13.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/14.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/15.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/16.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/17.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/18.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/19.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/20.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/21.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/22.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/23.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/24.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/25.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/26.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/27.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/28.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/29.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/30.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/31.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/32.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/33.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/34.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/35.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/36.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/37.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/38.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/39.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/40.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/41.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/42.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/43.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/44.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/45.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/46.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/47.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/48.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/49.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/50.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/51.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/52.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/53.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/54.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/55.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/56.jpg)
![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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/57.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/58.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/59.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/60.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/61.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/62.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/63.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/64.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/65.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/66.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/67.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/68.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/69.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/70.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/71.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/72.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/73.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/74.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/75.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/76.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/77.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/78.jpg)
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)](https://reader031.vdocuments.net/reader031/viewer/2022022802/5c76c71609d3f2b0618bf7ae/html5/thumbnails/79.jpg)
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