wyklad wstepny ver a


Wykład I
" Wprowadzenie
" Pojęcia podstawowe
" Systemy liczbowe
" Operacje logiczne i arytmetyka dwójkowa
1
Literatura
OBOWIZKOWA
P. Metzger,
Anatomia PC 2003
A. Jełowiecki
A. Skorupski Podstawy budowy i działania komputerów 1997
B. Pochopień Arytmetyka systemów cyfrowych
1997
G. Syck Turbo Assembler Biblia użytkownika
1994
A. E. Patkowski
Wstęp do systemów komputerowych 1990
E. Wróbel
Asembler 8086/88 1990
DODATKOWA
Paweł Marks,
Pamięci masowe w systemie mikroprocesorowym 2006
H. Małysiak,
Mikrokomputery klasy IBM PC 1992
B. Pochoń
K. Badzmirowski
Układy i systemy mikroprocesorowe 1990
K. Badzmirowski
Modułowe systemy mikroprocesorowe 1990
Mano
Architektura komputerów 1987
Misiurewicz
Układy mikroprocesorowe 1983
2
Historia mikroprocesorów
1940 Russell S. Ohl's - demonstracja krzemowego złącza półprzewodnikowego
1947 Shockley, Brattain and Bardeen - pierwszy tranzystor
1958 Pierwszy układ scalony (J. Kilby - T.I.)
1967 Pierwsza pamięć stała (ROM) 64 bity - (MOS technology, Fairchild)
1968 pamięć ROM 1024 bity (PHILCO)
1969 INTEL rozpoczyna działalność jako niewielkie  start-up . Szefami są Noyce i
Moore. Ted Hoff dołącza jako 12 zatrudniony w INTEL. Frederico Faggin z
Fairchild opracowuje nowy rodzaj procesu MOS - tranzystor z bramką
krzemową. INTEL stosuje ten proces. Fairchild i Motorola są dużymi
korporacjami elektronicznymi. Hewlett-Packard jest głównym producentem
nowych elektronicznych  kalkulatorów kieszonkowych". Busicom jest średnią
japońską firmą produkującą kalkulatory.
1970 Busicom zamawia w INTEL układy kalkulatorowe. INTEL nie ma
doświadczenia w projektowaniu układów specjalizowanych i projekt zmierza w
kierunku układów  ogólnego zastosowania . Ted Hoff i Stan Mazor (słynne
powiedzenie "Never trust a computer you can't lift") pracują razem w INTEL
projektując 4-bit arytmometr (cpu) z ROM, RAM, rejestrami i portami łączącymi
3
z układami stosowanymi przez Busicom.
Historia mikroprocesorów
1971 Hoff i Mazor mają problemy z implementacją opracowanej architektury - układ
działa wolno. Faggin opuszcza Fairchild, zaczyna pracę w INTEL i rozwiązuje
problem w ciągu tygodnia - rodzina Intel 4000 (póżniej nazwana MCS-4,
Microcomputer System 4-bit), 4001 (2k ROM), 4002 (320-bit RAM), 4003 (10-
bit I/O rejestry przesuwające) i 4004, a 4-bit cpu. 2300 tranzystorów. Niestety
projekt jest opózniony i wg Busicom zbyt drogi. Największa pomyłka
marketingowa stulecia? Busicom podpisuje wyłączne prawa INTEL do
stosowania układów 4000 we wszystkim oprócz kalkulatorów. A mogli mieć
mikroprocesor! Ted Hoff przekonuje społeczność inżynierską o korzyściach z
zastosowania mikroprocesorów.
1972 Faggin rozpoczyna prace nad 8-bitowym procesorem (Intel 8008). Pojawia się
spore zainteresowanie mikroprocesorami na rynku. Intel 8008 dobrze przyjęty,
ale Faggin pracuje nad ulepszoną wersją. Użytkownicy chcą większej szybkości,
łatwiejszego sprzęgania z innymi układami, więcej instrukcji. Przemysł gier
komputerowych
1973 Zalew publikacji na temat technologii mikroprocesorowej i ich zastosowań
4
Pojęcia podstawowe
Systemem komputerowym nazywa się zestaw jedno lub wielokomputerowy
(ang. hardware) wraz z odpowiednim oprogramowaniem (ang. software)
przeznaczony do wykonywania określonych zadań.
Sprzęt, czyli elektroniczne komponenty komputera to przede wszystkim jednostka
centralna (procesory, pamięci, sterowniki) oraz urządzenia zewnętrzne,
takie jak np. monitor, klawiatura, pamięć zewnętrzna, drukarka, mysz
komputerowa, skaner.
Oprogramowanie to zapisane na nośniku informacji (np. dysku, dyskietce, płycie
kompaktowej`) programy i dane umożliwiające eksploatację sprzętu
komputerowego i realizację zadań użytkowników systemu. Ogólnie
oprogramowanie dzieli się na systemowe, narzędziowe i użytkowe.
5
Pojęcia podstawowe
System operacyjny jest programem, który działa jako pośrednik między
użytkownikiem komputera a sprzętem komputerowym. Jego
zadaniem jest stworzenie środowiska, w którym użytkownik może
wykonywać programy. Dzięki niemu system komputerowy ma być
wygodny i efektywny.
Architektura komputera jest to ta część opisu jego struktury, która jest
widziana przez programistę działającego na poziomie
oprogramowania podstawowego za pomocą języka asemblera
(najniższy z możliwych poziomów).
Organizacja komputera obejmuje wzajemne powiązania i współdziałanie
jego poszczególnych bloków funkcjonalnych
6
Pojęcia podstawowe
Bitem - nazywamy najmniejszą jednostkę informacji, która jest rozróżnialna
w komputerze.
Bajt - jest to ciąg zerojedynkowy o długości 8-bitów.
Słowem maszynowym - określa się zwykle (chociaż nie zawsze) długość
ciągu zerojedynkowego, na którym możliwe jest równoległe
dokonywanie większości operacji.
Linią - nazywa się jednobitową drogę przesyłania sygnałów (jej realizacją
techniczną jest zwykle po prostu przewód).
Szyną - nazywa się zbiór linii służących do przesyłania grup sygnałów, linie
te są grupowane według funkcji sygnałów i stąd pochodzą ich nazwy:
7
szyna danych, szyna adresowa i szyna sterowania.
Pojęcia podstawowe
Magistralą nazywamy połączenie składające się zwykle z szyny danych, szyny
adresowej i szyny sygnałów sterujących.
Rejestrem w komputerze nazywa się podzespół (urządzenie) zdolne do
przechowywania (pamiętania) ciągu zerojedynkowego określonej długości.
Długością rejestru nazywa się długość ciągu zerojedynkowego, do którego
pamiętania zdolny jest rejestr. Długość ta wyrażana jest liczbą pozycji ciągu,
czyli zer lub jedynek, z których ciąg może się składać.
Rejestr zdolny do pamiętania stanu pojedynczego bitu zwykle nazywa się
wskaznikiem.
Licznikiem rozkazów nazywamy rejestr układu sterującego, w którym przechowywany
jest adres kolejnego rozkazu do wykonania.
8
Pojęcia podstawowe
Pamięcią operacyjną nazywamy blok funkcjonalny komputera złożony z rejestrów
jednakowej długości, każdy z tycyh rejestrów (nazywany też komórką
pamięci) identyfikowany jest przez unikalny numer zwany adresem.
Dostępem do pamięci nazywamy operację odczytu lub zapisu z lub do komórek
pamięci.
Odczyt z pamięci polega na eksponowaniu na wyjściu danych pamięci zawartości
komórki, której adres został zadany na wejściu adresowym pamięci na
początku operacji odczytu.
Zapis do pamięci polega na wpisaniu informacji podanej na wejście danych pamięci do
komórki, określonej adresem podanym na wejście adresowe pamięci.
Przestrzenią adresową pamięci nazywamy zbiór wszystkich możliwych adresów, które
mogą zostać wygenerowane przy dostępie do pamięci.
9
Pojęcia podstawowe
Rozkazem nazywa się ciąg zerojedynkowy pobrany z pamięci w celu
określenia na jego podstawie dalszych działań procesora.
Takie rozumienie rozkazu jest właściwe sprzętowcom - z punktu
widzenia programistów rozkazem jest ciąg zerojedynkowy
przewidziany do wykonania jako rozkaz.
Listą rozkazów nazywamy zbiór wszystkich możliwych, jakościowo różnych
rozkazów komputera.
Lista rozkazów, wraz z tzw. formatami rozkazów i danych, czyli regułami
interpretacji fragmentów rozkazów i danych (co w praktyce oznacza
reguły poprawnego zapisu) tworzą język wewnętrzny komputera.
10
Pojęcia podstawowe
Sekwencyjne przenoszenie sterowania jest to sposób realizacji programu
zapisanego w pamięci komputera, polegający na kolejnym wykonywaniu
występujących po sobie rozkazów zgodnie z zawartością licznika
rozkazów.
Niesekwencyjne przenoszenie sterowania jest to wykonywanie programu
w kolejności innej niż to wynika z ułożenia rozkazów w pamięci komputera
realizowane przez wykonanie rozkazu skoku.
Rozkazy skoku bezwarunkowego powodują zawsze wykonanie jako kolejnego
chronologicznie rozkazu spod adresu wskazanego w rozkazie skoku.
Rozkazy skoku warunkowego poddają badaniu pewien warunek dotyczący stanu
komputera i w zależności od wyniku badania (prawda/fałsz) dokonują
przeniesienia niesekwencyjnego (gdy warunek jest spełniony - mówi się
wówczas o efektywnym rozkazie skoku) lub sekwencyjnego (gdy warunek
nie jest spełniony - mówi się wówczas o nieefektywnym rozkazie skoku).
11
Systemy liczbowe
Liczba w kodzie naturalnym:
an-1 pn-1 + an-2 pn-2 + + a1 p1 + a0 p0 +
n - 1
+a-1 p-1 + a-2 p-2 + + a-m+1 p-m+1 + a-m p-m =
a pi
i
i = 0
Najbardziej rozpowszechnione systemy liczbowe
system dwójkowy (binarny)
p = 2, ai {0,1}
system ósemkowy (oktalny)
p = 8, ai {0,1, 2,3, 4,5,6,7}
system dziesiętny (dziesiątkowy, decymalny)
p =10, ai {0,1, 2,3, 4,5,6,7,8,9}
system szesnastkowy (heksadecymalny, heksagonalny)
p =16, ai {0,1, 2,3, 4,5,6,7,8,9, A, B,C, D, E, F}
12
Systemy liczbowe
Przykład zapisu liczb w zaprezentowanych kodach
Naturalny Kod Kod
Kod dziesiętny
kod binarny ósemkowy szesnastkowy
0 00000 0 0
1 00001 1 1
2 00010 2 2
3 00011 3 3
4 00100 4 4
5 00101 5 5
6 00110 6 6
7 00111 7 7
8 01000 10 8
9 01001 11 9
10 01010 12 A
11 01011 13 B
12 01100 14 C
13 01101 15 D
14 01110 16 E
15 01111 17 F
16 10000 20 10
13
Systemy liczbowe - konwersja liczb
Istotą konwersji liczb jest przekształcenie liczby zapisanej w jednym
systemie liczbowym na równoważną jej liczbę zapisaną w innym
systemie liczbowym.
Ze względu na to, że wynik konwersji zapisu liczby z dowolnego
systemu na binarny jest dłuższy niż pierwotna postać tej liczby, konwersję
do postaci binarnej nazywa się również znajdowaniem rozwinięcia
dwójkowego liczb, zaś jej wynik rozwinięciem dwójkowym liczby
poddawanej konwersji.
Prostym sposobem znajdowania rozwinięcia dwójkowego liczby
dziesiętnej, czyli przeprowadzania konwersji dziesiętno-dwójkowej, jest
znalezienie:
" dla części całkowitej - ciągu reszt dzielenia przez dwa, który
w odwrotnym porządku daje część całkowitą wyniku;
" dla części ułamkowej - ciągu części całkowitych mnożenia przez
dwa.
14
Systemy liczbowe - konwersja liczb
Znalezć rozwinięcie dwójkowe liczby 61.5625
Część ułamkowa liczby
Część całkowita
liczby: 61 . . 5625
30 1
1 1250
Kolejne
Kolejne
15 0
0 2500
wyniki
wyniki
7 1
0 5000
dzielenia
mnożenia
3 1
1 0000
przez 2
przez 2
1 1
Część
0 1
Reszta
całkowita
61.562510 = 111101.10012
15
Konwersja z systemu dwójkowego do dziesiętnego liczby 111101.1001
Systemy liczbowe - konwersja liczb
Nr pozycji Nr pozycji
Waga
Waga
0 1
1 2
-1 0.5
2 4
-2 0.25
3 8
-3 0.125
4 16
-4 0.0625
5 32
-5 0.03125
6 64
-6 0.015625
7 128
-7 0.0078125
8 256
-8 0.00390625
9 512
-9 0.00195312
10 1024
125 +124 +123 +122 + 021 +120 = 61
1 2-1 + 0 2-2 + 0 2-3 +1 2-4 = 0.5 + 0.0625
111101.10012 = 61.562510
Systemy liczbowe - konwersja liczb
Konwersja z systemu dwójkowego do ósemkowego liczby
1111000111000.111000111B
dokonuje się podziału na grupy:
1 111 000 111 000.111 000 111
oraz podstawienia (w razie potrzeby po uzupełnieniu na początku końcu
odpowiednią ilością zer, aby skrajne grupy były trzycyfrowe):
001 111 000 111 000.111 000 111
1 7 0 7 0 . 7 0 7
uzyskany wynik:
1111000111000.111000111B = 17070.707oct
17
Systemy liczbowe - konwersja liczb
Konwersja z systemu ósemkowego do dwójkowego liczby
2340.5671oct
przedstawienie każdej cyfry w postaci binarnej:
2 3 4 0 . 5 6 7 1
010 011 100 000 . 101 110 111 001
uzyskany wynik:
2340.5671oct = 010011100000.101110111001B
18
Systemy liczbowe - konwersja liczb
Konwersja z systemu dwójkowego do szesnastkowego liczby
1111000111000.111000111B
dokonuje się podziału na grupy:
1 1110 0011 1000.1110 0011 1
oraz podstawienia (w razie potrzeby po uzupełnieniu na początku końcu
odpowiednią ilością zer, aby skrajne grupy były trzycyfrowe):
0001 1110 0011 1000.1110 0011 1000
1 E 3 8 . E 3 8
uzyskany wynik:
1111000111000.111000111B = 1E38.E38H
19
Systemy liczbowe - konwersja liczb
Konwersja z systemu szesnastkowego do dwójkowego liczby
0E6C.7F8H
przedstawienie każdej cyfry w postaci binarnej:
E 6 C . 7 F 8
1110 0110 1100 . 0111 1111 1000
uzyskany wynik:
0E6C.7F8H = 111001101100.011111111000B
20
Systemy liczbowe
System dziesiętny kodowany dwójkowo
Jest to system liczbowy, w którym cyfry dziesiętne są przedstawiane w
kodzie dwójkowym (są kodowane dwójkowo).
Dla jednoznacznego przedstawienia 10 cyfr {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
systemu dziesiętnego trzeba zastosować kod dwójkowy przynajmniej 4-
pozycyjny (4-bitowy). Kody służące do kodowania dwójkowego cyfr systemu
dziesiętnego noszą nazwę kodów dwójkowo-dziesiętnych (ang. Binary
Coded Decimal).
8 1 5
1000 0001 0101
setki dziesiątki jednostki
21
Systemy liczbowe
System dziesiętny kodowany dwójkowo
Kody dwójkowo-dziesiętne wagowe
Kod
Aikena
8 4 2 1 2* 4 2 1 7 4 2 1 8 4-2-1
2 4 2 1
Cyfra
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1
2 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0
3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1
4 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
5 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1
6 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0
7 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1
8 1 0 0 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 0
9 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1
22
Systemy liczbowe
System dziesiętny kodowany dwójkowo
Kody dwójkowo-dziesiętne niewagowe
Kod Johnsona
Z nadmiarem 1 z 10
Wattsa pseudopierście-
Cyfra
3 (pierścieniowy)
niowy
0 0 0 1 1 0 0 0 0 0000000001 0 0 0 0 0
1 0 1 0 0 0 0 0 1 0000000010 0 0 0 0 1
2 0 1 0 1 0 0 1 1 0000000100 0 0 0 1 1
3 0 1 1 0 0 0 1 0 0000001000 0 0 1 1 1
4 0 1 1 1 0 1 1 0 0000010000 0 1 1 1 1
5 1 0 0 0 1 1 1 0 0000100000 1 1 1 1 1
6 1 0 0 1 1 0 1 0 0001000000 1 1 1 1 0
7 1 0 1 0 1 0 1 1 0010000000 1 1 1 0 0
8 1 0 1 1 1 0 0 1 0100000000 1 1 0 0 0
9 1 1 0 0 1 0 0 0 1000000000 1 0 0 0 0
23
Systemy liczbowe
System dziesiętny kodowany dwójkowo
Przykład.
Liczbę dziesiętną A=197 można przedstawić:
1 9 7
w kodzie 8421 A8421 = 0001 1001 0111B
w kodzie 2421 A2421 = 0001 1111 1101B
w kodzie 84-2-1 A84-2-1= 0111 1111 1001B
24
Formaty słowa liczbowego w systemach cyfrowych
stałoprzecinkowy zmiennoprzecinkowy
" Jeżeli liczba przedstawiona w danym formacie jest reprezentowana w jednym słowie
systemu cyfrowego, to mówi się o pojedynczej (zwykłej) precyzji.
" W przypadku wykorzystania do reprezentacji liczby większej ilości słów
maszynowych mówi się o wielokrotnej precyzji.
25
Format zmiennoprzecinkowy
Każdą liczbę można przedstawić jako:
A
A = MA pC p = 2, 10 lub16
gdzie:
MA - część ułamkowa, mantysa liczby A;
CA - wykładnik podstawy, cecha liczby A  liczba całkowita.
Cechą charakterystyczną powyższego zapisu jest istnienie dla każdej liczby
nieskończenie wiele przedstawień. Wyróżnia się jedno przedstawienie zwane postacią
znormalizowaną.
26
Format zmiennoprzecinkowy
Część postaci znormalizowanej spełnia warunek:
p-1 Ł M <1
Pole mantysy
Pole cechy
m m . . . m c c . . . c
0 1 n k k-1 0
Znak cechy
Znak mantysy
27
Format zmiennoprzecinkowy
Standard IEEE 751
mantysa 23-bitowa cecha 8-bitów
znak mantysy
Najmniejsza liczba: 0.52-128
Największa liczba: (1  224) 2+127
28
Format stałoprzecinkowy
W formacie stałoprzecinkowym wyróżnia się:
" pole znakowe (bit reprezentujący znak liczby),
" pole liczbowe (bity reprezentujące cyfry liczbowe).
Istotną cechą tego formatu jest ustalone i niezmienne miejsce przecinka podczas
wykonywania obliczeń.
29
Format stałoprzecinkowy
Pole
znakowe
(PZ) Pole liczbowe (PL)
an-1 . . . a0 a-1 . . . a-m
a
n
. ,
(PZ) (PL)
a0 a1 a2 . . . am
;
(PZ) (PL)
an an-1 an-2 . . . a0
,
.
30
Operacje arytmetyczne
Dodawanie liczb dwójkowych
Przeniesienie
1 1 1 1 1
Liczba pierwsza 1 1 0 0 1
Liczba druga
0 1 1 1 1
1 0 1 0 0 0
Wynik
31
Format stałoprzecinkowy
Dowolną (n+m) - pozycyjną dodatnią lub ujemną liczbę w systemie
o podstawie p można przedstawić trzema sposobami:
" w reprezentacji znak-moduł (zapis modułowy, zapis prosty),
" w reprezentacji znak-uzupełnienie (p-1) (U1  zapis odwrotny),
" w reprezentacji znak-uzupełnienie do p (U2 - zapis dopełnieniowy),
32
Zapis modułowy
Am = an pm+ | A |
przy czym:
0 dla liczby dodatniej A

an =

1 dla liczby ujemnej A

Oznacza to, że liczby mające takie same wartości bezwzględne są
przedstawiane identycznie z wyjątkiem cyfry znaku.
W zapisie tym rozróżnia się dwa rodzaje zera:
" zero dodatnie + 0 = 0.0 . . . 0,0 . . . 0,
" zero ujemne - 0 = 1. 0 . . . 0,0 . . . 0.
33
Zapis odwrotny

0 pn + A dla liczby dodatniej A,
Ao =

1 pn + A dla liczby ujemnej A.

W zapisie tym, podobnie jak w zapisie modułowym, rozróżnia się dwa rodzaje
zera:
" zero dodatnie + 0 = 0.0 . . . 0,0 . . . 0,
" zero ujemne - 0 = 1. (p-1)(p-1) . . . ,(p-1) . . . (p-1).
Przedział wartości: - 2n-1 do 2n-1-1
34
Zapis dopełnieniowy
n

0p + A dla liczby dodatniej A,
Ad =
1p + A
n
dla liczby ujemnej A.


W zapisie tym istnieje tylko jedno zero:
0 = 0.0 . . . 0,0 . . . 0,
Przedział wartości: - 2n-1 +1 do 2n-1-1
35
Operacje arytmetyczne
Odejmowanie liczb dwójkowych z zastosowaniem kodów
uzupełnieniowych
Uzupełnienie p-1
U( p -1)(L) = pn - pm - L
Reguła praktyczna: uzupełnienie U(p-1) liczby dodatniej otrzymuje
się przez odjęcie każdej cyfry tej liczby od (p-1).
Przykład: U1(1011001) = 0100110
U1(10.11001) = 01.00110
U1(0) = 1
U1(0.0) = 1.1
36
Operacje arytmetyczne
Reguła odejmowania: A-B = A+U1(B)
Odjąć liczbę 19 od liczby 15
1510 = 000011112
1910 = 000100112
U1(19) = 111011002
1 1
0 0 0 0 1 1 1 1
1 1 1 0 1 1 0 0
1 1 1 1 1 0 1 1
Wynik = -11111011U1 = -410
37
Operacje arytmetyczne
Reguła odejmowania: A-B = A+U1(B)
Odjąć liczbę 15 od liczby 19
1510 = 000011112
1910 = 000100112
U1(15) = 111100002
1 1 1 1
0 0 0 1 0 0 1 1
1 1 1 1 0 0 0 0
1
0 0 0
0 0 0 1 1
0 0 0 0 0 1 0 0
38
Wynik = 000001002 = 410
Operacje arytmetyczne
Odejmowanie liczb dwójkowych z zastosowaniem kodów
uzupełnieniowych
Uzupełnienie p
U ( p)(L) = pn - L
Reguła praktyczna: uzupełnienie U(p) liczby dodatniej otrzymuje się
przez dodanie jedynki na najmniej znaczącej
pozycji uzupełnienia U(p-1).
Przykład: U2(1011001) = 0100111
U2(10.11001) = 01.00111
U2(0) = 0
U2(0.0) = 0.0
39
Operacje arytmetyczne
Reguła odejmowania: A-B = A+U2(B)
Odjąć liczbę 19 od liczby 15
1510 = 000011112
1910 = 000100112
U2(19) = 111011012
1 1 1 1
0 0 0 0 1 1 1 1
1 1 1 0 1 1 0 1
0 0
1 1 1 1 1 1
Wynik = -11111100U2 = -410
40
Operacje arytmetyczne
Reguła odejmowania: A-B = A+U2(B)
Odjąć liczbę 15 od liczby 19
1510 = 000011112
1910 = 000100112
U2(15) = 111100012
1 1 1 1 1 1
0 0 0 1 0 0 1 1
1 1 1 1 0 0 0 1
0 0
0 0 0 0 0 1
Wynik = 00000100U2 = 410
41
Ogólne zasady odejmowania liczb za pomocą uzupełnień
Odejmowanie dwóch liczb dodatnich (A-B) o jednakowej podstawie można
realizować przez dodanie do odjemnej p-tego uzupełnienia odjemnika, przy czym:
" jeżeli wystąpi przeniesienie z pozycji najbardziej znaczącej, to należy go odrzucić;
" jeżeli nie wystąpi przeniesienie z pozycji najbardziej znaczącej, to należy wziąć ze
znakiem minus p-te uzupełnienie uzyskanego rezultatu.
Odejmowanie dwóch liczb dodatnich (A-B) o jednakowej podstawie można
realizować przez dodanie do odjemnej (p-1)-szego uzupełnienia odjemnika, przy czym:
" jeżeli wystąpi przeniesienie z pozycji najbardziej znaczącej, to należy dodać 1 do
najmniej znaczącej cyfry;
" jeżeli nie wystąpi przeniesienie z pozycji najbardziej znaczącej, to należy wziąć ze
znakiem minus (p-1)-sze uzupełnienie uzyskanego rezultatu.
42
Operacje arytmetyczne
Dodawanie w kodzie BCD
9 5 3 6
1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0
Dodawanie dwójkowe
1 1 0 0 1 0 1 1
Korekcja (-10 = 0110U2)
1 0 0 1 1 0 0 0 1
1 3 1
43
Operacje logiczne
Negacja   X
X Y Suma   OR Iloczyn   AND EX-OR
NOT
0 0 0 0 1 0
0 1 1 0 1 1
1 0 1 0 0 1
1 1 1 1 0 0
44
Przykład realizacji funkcji EX-OR
Liczba pierwsza 1 1 0 0 1
Liczba druga
0 1 1 1 1
1 0 1 1 0
Wynik
45


Wyszukiwarka

Podobne podstrony:
22 Bazy danych – wykład wstępnyid)482
prawo ustrojowe ue wyklad wstepny rozwoj 14
ELE Wyklad wstepny 13 14
Wykład 1 Wstępne pojęcia chemiczne
Wykład 1 wstępny NTiMP
wyklad wstepny
wyklad 1 Wstepne przetwarzania danych PL [tryb zgodności]
analiza finansowa wyklad Analiza wstepna i pozioma
wyklad 1Wiadomości wstępne, zbieranie obciążeń
Wykład 1 wiadomosci wstępne(1)
Wykład 3 Pomysł, a wstępna koncepcji biznesu założenia
Geologia Górnicza Wykład ver 1 0
2010 Wyklad 1 SKP PCHN Wstepne pojecia chemiczne
Sieci komputerowe wyklady dr Furtak
Wykład 05 Opadanie i fluidyzacja

więcej podobnych podstron