You are on page 1of 21

1

I Binarna logika i arytmetyka



Wprowadzenie
Grupy sprztu (urzdze):
- PC (personal computer), komputer zaprojektowany dla indywidualnych uytkownikw o zrnicowanych
potrzebach , wyposaony w monitor graficzny, klawiatur, mysz,
- serwer, komputer pozwalajcy na wykonywanie duych programw przez wielu uytkownikw
rwnoczenie,
- supercomputer, naley do klasy o najwikszej wydajnoci obliczeniowej i cenie rzdu M$, czsto
skonfigurowany jako serwer,
- komputer wbudowany, umiejscowiony wewntrz maszyny (urzdzenia), z ktrym wsppracuje,
wykonuje z gry zadane programy.
Grupy programw komputerowych:
- system operacyjny, nadzoruje prac wszystkich zasobw komputera i wykonywanie programw
uytkownikw,
- kompilator, tumaczy kod programu w jzyku wysokiego poziomu na symboliczny jzyk asembler,
- aplikacja, program wyspecjalizowany w wykonywaniu zada wymaganych przez uytkownika.

Komputer jest to maszyna cyfrowa, ktrej dziaanie wymaga istnienia materialnych urzdze
(hardware) i programw zarzdzajcych prac tych urzdze (software). Termin architektura komputerw
zawiera w sobie dwie grupy zagadnie,
i. Organizacja maszyny budowa fizyczna jej elementw (CPU, pamici, urzdzenia wejcia i wyjcia),
poczenie midzy nimi i kontrola ich stanu
ii. Programy sterujce prac maszyny (system operacyjny, kompilator, sterownik urzdzenia) i programy
sterujce wykonaniem zada zleconych maszynie (aplikacje, np. procesor tekstu, arkusz kalkulacyjny, baza
danych). Program to zbir instrukcji sterujcych przetwarzaniem (przepywem informacji, jej formatem i
przechowywaniem) plus dane.
Okrelenie maszyna cyfrowa oznacza, e informacja jest w niej reprezentowana przez zmienne
przyjmujce skoczon liczb wartoci dyskretnych. W yciu codziennym do informowania o wartoci
czego posugujemy si liczbami zapisywanymi za pomoc 10 cyfr (0, 1,...9 - ukadem dziesitnym).
Maszyna posugujca si systemem dziesitnym musiaaby umie bezbdnie rozrnia 10 stanw,
zbudowanie takiej maszyny byoby trudne, a przynajmniej bardzo kosztowne. atwiej jest odrni co
maego od czego duego ni ustali czy ma ono warto 5/10 czy te 6/10. Z tego powodu warto
wielkoci (oglnie liczby) zapisujemy za pomoc dwch symboli, na przykad (0/1) lub (-/+) , (a/b) , w
maszynie cyfrowej jest to maa lub dua amplituda sygnau. Taki system zapisu nazywa si dwjkowym lub
binarnym, a sowo cyfra (albo liczba o wartoci 0 lub 1) zostaje zastpione sowem bit.
Oglne zasady struktury i funkcjonowania komputera s proste. Poniszy rysunek pokazuje
schematycznie skadniki komputera

2

Czynnoci wykonywane przez nie to:
- przetwarzanie danych
- przechowywanie danych
- przesyanie danych
- sterowanie.
Pami (memory) przechowuje programy i dane. Procesor gwny - Central Processing Unit (CPU)
steruje czynnociami komputera i dokonuje przetwarzania danych zgodnie z otrzymanymi instrukcjami.
Urzdzenia Input/Otput zapewniaj czno midzy komputerem i jego zewntrznym otoczeniem.
Interfejs (Interface) przeksztaca informacj z postaci dostarczanej przez Input na posta zrozumia
przez CPU lub na odwrt gdy informacja jest przesyana z CPU do Output. Komunikacj midzy
wskazanymi (i innymi) czciami komputera zapewnia system pocze. Przykadem jest magistrala
(szyna) (bus system), skadajca si z wielu przewodzcych prd elektryczny cieek, czcych
wszystkie czci komputera.
Pouczajce jest spojrzenie na skadowe czci komputera poprzez hierarchi zoonoci jego elementw
strukturalnych, ktr przedstawia poniszy rysunek. Najniej umieszczone s elementarne urzdzenia
(hardware), te lece wyej s zoonymi strukturami poprzednich. W podobny sposb rozkada si
zoono struktur w grupie programw (software). Prostota najniszych i wielka zoono wyszych jest
rdem sukcesu komputerw

Warstwy abstrakcji
Software
Aplikacje
Sterowniki S. operacyjny Kompilatory
J. asemblera Zbir instrukcji J. maszynowy
Hardware
Procesor Pami Ukad I/O
System cznoci i sterowania
Bramki logiczne
Przeczniki i poczenia

Elektryczne obwody logiczne
Su do wykonywania oblicze numerycznych. Obwody powstaj przez poczenie przewodami
elektrycznymi prostych urzdze elektronicznych. Najprostszym z nich jest przecznik (switch).
Przecznik ma dwa stany, jest wic urzdzeniem binarnym

Dwa stany przecznika Symbol przecznika

Mona mu przypisa funkcj logiczn () przyjmujc dwie wartoci 0 (lampa nie wieci) lub 1
(lampa wieci). Jej argument (stan wejcia, czyli stan przecznika) jest zmienn logiczn x.



Kad funkcj logiczn mona zdefiniowa za pomoc tabeli lub wzoru matematycznego. Mona
rwnie powiedzie, e funkcja () opisuje pewien system dynamiczny, ktry w powyszym
przykadzie ma jedno wejcie x (stan przecznika) i jedno wyjcie, ktrym jest wartoci funkcji (stan
lampy).
Przykadem bardziej zoonego systemu jest poprzedni obwd ale z dwoma przecznikami
poczonymi szeregowo. Lampa bdzie si wieci gdy obydwa; przecznik S
1
i przecznik S
2
bd
x F(x) Przecznik - S Lampa - L
0 0 of nie wieci
1 1 on wieci
3

zamknite (bd w stanie 1). Tym razem funkcja logiczna opisuje system o dwch wejciach (

).
Funkcj definiuje tabela wartoci (truth table)



Funkcja logiczna o takich waciwociach ma nazw wasn AND

Inny przykad to obwd z dwoma przecznikami poczonymi rwnolegle. Lampa bdzie si wieci
gdy przecznik S
1
lub przecznik S
2
bd zamknite (bd w stanie 1). Ta funkcja logiczna rwnie
opisuje system o dwch wejciach. Tym razem funkcj (

) definiuje inna tabela




Funkcja logiczna o takich waciwociach ma nazw wasn OR.

Jeszcze jeden przykad elementarnego obwodu logicznego. Lampa wczona w ten obwd bdzie si
wieci tylko wtedy gdy przecznik S bdzie otwarty (bdzie w stanie 0). Definiuje j tabela


Funkcja logiczna o takich waciwociach ma nazw wasn NOT. Jedna z postaci zapisu wyniku funkcji
NOT to .
Wszystkie inne funkcje logiczne mona zbudowa z trzech powyszych, to znaczy AND, OR, NOT.

Przykad.
Przedstawi funkcj zadan ponisz tablic







w postaci funkcji zoonej, elementarnych funkcji AND, OR, NOT. Mona sprawdzi, e tabela wartoci
funkcji ( ) ()( ) jest identyczna z powysz.
Budowa zoonych systemw przez czenie przecznikw uruchamianych mechanicznie nie jest
moliwa poniewa wyjciem z nich jest sygna elektryczny wzbudzajcy arwk. Zatem nie mona wyjcia

) lampa
0 0 0 nie wieci
1 0 0 nie wieci
0 1 0 nie wieci
1 1 1 wieci

) lampa
0 0 0 nie wieci
1 0 1 wieci
0 1 1 wieci
1 1 1 wieci
() lampa
0 1 wieci
1 0 nie wieci
x y ( )
0 0 0
1 0 1
0 1 1
1 1 0
4

z jednego przecznika przekaza wprost na wejcie innego. Trudno znika jeeli zmodyfikuje si
przecznik tak aby by sterowany sygnaem elektrycznym. Wwczas zarwno jego wejciem jak i wyjciem
s sygnay elektryczne o dwch wartociach napicia: maej (np. 0) i duej (np. kilka woltw). Pierwsza
odpowiada stanowi 0 wyjcia druga stanowi 1. Takie wyjcie moe zosta poczone z wejciem innego
przecznika, niskie napicie otwiera przecznik, wysokie zamyka (lub na odwrt).
Inn przeszkod w budowie zoonych systemw s rozmiary przecznikw mechanicznych. W niezbyt
wydajnym komputerze musz ich by miliony w objtoci kilku cm
3
. Budowniczowie pierwszych
komputerw mieli z tym powany kopot. Jeden z pierwszych, marny z dzisiejszego punktu widzenia
komputer, zajmowa hal fabryczn i way kilka ton. Dziki odkryciu waciwoci pprzewodnikw w
poowie 20 wieku nastpi ogromny skok w miniaturyzacji urzdze elektronicznych.

Bramki na tranzystorach

(a) Tranzystor o bipolarnym zczu NPN
(b)Maa zmiana potencjau elektrycznego bazy wywouje du zmian natenia prdu w obwodzie emiter-
kolektor (kolorowe strzaki pokazuj kierunek ruchu elektronw, kierunek prdu jest przeciwny)


Tranzystor o bipolarnym zczu NPN

(c) symbol graficzny, (d) ukad fizyczny. May prd w obwodzie emiter-baza generuje duy prd w
obwodzie emiter-kolektor


Tranzystor NPN pracujcy jako wzmacniacz
5

(a)mae natenie prdu w obwodzie emiter- baza, (b) due natenie prdu w obwodzie emiter-kolektor

Jeeli przecznik jest w stanie 0 (otwarty) to w obwodzie emiter-kolektor pynie prd o bardzo maym
nateniu, niewystarczajcym do rozarzenia wkna arwki, tranzystor jest w stanie 0. Jeeli przecznik
jest w stanie 1 (zamknity) to w obwodzie emiter-kolektor pynie prd o wystarczajco duym nateniu,
aby rozarzy wkno arwki, tranzystor jest w stanie 1.
Wydaje si niecelowe uywa tranzystora do sterowania prac arwki, wystarczy uy przecznika
mechanicznego, ktry i tak znajduje si w obwodzie baza-emiter. Jednake ten przecznik jest urzdzeniem
mechanicznym trudnym do miniaturyzacji i sterowania. Zamiast niego w obwodzie baza-emiter moemy
uy dowolnego, sabego rda prdu staego. Zmieniajc w niewielkim zakresie jego napicie moemy
sterowa w duym zakresie nateniem prdu w obwodzie emiter-kolektor. Wwczas tranzystor pracuje
jako wzmacniacz.
W mikroprocesorach potrzebne s dwustanowe przeczniki, dwa stany przecznika maj realizowa dwie
wartoci napicia sygnau elektrycznego: stan 0 odpowiada maemu napiciu (< 0.4V), stan 1 duemu
(>2.5V) napiciu. Z takich przecznikw moemy skonstruowa fizyczne urzdzenia realizujce
abstrakcyjne bramki logiczne. Rysunki poniej pokazuj przykady bramek logicznych zbudowanych z
tranzystorw. Emitery wszystkich tranzystorw (z wyjtkiem jednego) s uziemione, to znaczy ich potencja
elektryczny wynosi 0. Wszystkie potencjay mierzone s wzgldem potencjau ziemi. Potencja V
cc
> 0
wymusza przepyw prdu od kolektora do emitera. Opornik zabezpiecza przed zbyt duym nateniem
prdu w obwodzie kolektor i emiter (prd o duym nateniu mgby zniszczy tranzystor). Napicie V
in

jest sygnaem (wartoci bitu) wchodzcym do bramki, napicie V
out
jest sygnaem (wartoci bitu
przetworzonego przez bramk) wychodzcym z bramki.


Bramki logiczne, od lewej: NOT, NAND i NOR zbudowane na tranzystorach NPN

Zajmijmy si najpierw rysunkiem pierwszym od lewej. Jeeli napicie baza-emiter czyli V
in
= 0 (warto
bitu wejcia jest 0) to, jak wynika z poprzedniej analizy, natenie prdu kolektor-emiter bdzie mae
(bliskie zera). Z prawa Ohma (U = IR) wynika e wtedy rnica potencjaw V
cc
V
out
te bdzie maa,
natomiast rnica potencjaw midzy kolektorem a emiterem bdzie dua (bliska V
cc
). To oznacza, e
warto bitu na wyjciu wynosi 1.
Jeeli napicie baza-emiter czyli V
in
> 0 (warto bitu wejcia jest 1), to natenie prdu kolektor-emiter
bdzie due. Z prawa Ohma (U = IR) wynika e wtedy rnica potencjaw V
cc
V
out
te bdzie dua
(bliska V
cc
), natomiast rnica potencjaw midzy kolektorem a emiterem bdzie maa (bliska 0). To
oznacza, e warto bitu na wyjciu wynosi 0. Tabela wartoci urzdzenia jest taka jak bramki logicznej
NOT.
Jeeli dwa tranzystory poczymy szeregowo (kolektor do emitera) to napicie na wyjciu jest funkcj
dwch napi V
in1
oraz V
in2
. Jeeli przynajmniej jedno z nich ma warto 0 to natenie prdu kolektor-
6

emiter w obydwu tranzystorach bdzie mae a zatem warto napicia V
out
bdzie bliska napiciu V
cc
czyli
dua. Wic tak poczone tranzystory realizuj bramk logiczn NAND.
Podobnym rozumowaniem mona znale tablic wartoci obwodu rwnolegle poczonych tranzystorw.
Obecnie rol przecznika peni tranzystory. Dokadniej dwa typy tranzystorw polowych N-type Field
EffectTransistor (NFET)) , ktry otwiera przecznik po otrzymaniu sygnau o wysokim napiciu a zamyka
gdy sygna ma niskie napicie, tranzystor drugiego typu(P-type Field EffectTransistor (PFET)) reaguje
odwrotnie. Tak poczone tranzystory realizuj bramk logiczn NOR. Procesory wspczesne zawieraj
tranzystory obydwu typw, technologia taka nosi nazw Complementary Metal Oxide Semiconductor
(CMOS).
Przykad
Znale tabele wartoci funkcji NAND i NOR.

Algebra Boola
Zaprojektowanie sieci przecznikw, ktra wykonywaaby zoone polecenia, np. obliczaa sum
iloczynw wielu par liczb

, metod prb i bdw jest prawdopodobnie moliwe ale


czasochonne. Projektowanie sieci przecznikw (sie przecznikw to nic innego jak pewien
procesor) wykonujcych okrelone zadanie wymaga uycie odpowiedniego narzdzia matematycznego.
Jest nim algebra wielkoci dwuwartociowych stworzona przez Irlandczyka, Georga Boola, w 18 wieku
nazywana dzisiaj algebr Boola. Tworzy j (jak kad teori matematyczn) zbir aksjomatw i
twierdze. Teraz sformuujemy niektre z nich, inne wtedy gdy bd potrzebne. Wszystkie zmienne
algebry Boola mog przyjmowa tylko dwie wartoci 0 i 1. Trzy podstawowe operacja (dziaania)
logiczne jakie mona na nich wykonywa zdefiniowane s poniszymi tabelami wartoci.

Dodawanie logiczne (OR) Mnoenie logiczne (AND) Zaprzeczenie (NOT)







Przy okazji wida, e istniej dwa sposoby zapisywania operacji logicznych: OR +, AND
(zazwyczaj kropk si pomija). Z tabel mona wywnioskowa dwa twierdzenia De Morgana: ( )

, oraz( )

. (sprawdzi)
Funkcje logiczne s wyraeniami algebraicznymi zmiennych binarnych, symboli operacji
logicznych, nawiasw i znaku rwnoci. Dla okrelonych wartoci zmiennych funkcja logiczna ma
warto 1 lub 0. Istotnymi waciwociami operacji logicznych jest przemienno (OR i AND s
przemienne, to znaczy np. ), oraz czno (OR i AND s czne, to znaczy np. ( )
( )). Operacje NOR i NAND zdefiniowane jako zaprzeczenie OR i zaprzeczenie AND nie s
czne, to znaczy
() (), podobnie () ().

Przykad
Zbadamy waciwoci funkcji: ( )
Funkcja nie jest skomplikowana, wic najprociej jest utworzy tabel wartoci funkcji. Ostatnia
kolumna podaje dodatkowo wartoci funkcji OR tych samych zmiennych:

x y

0 0 0 0 0
0 1 1 1 1
1 0 0 1 1
1 1 0 1 1

0 0 0
1 0 1
0 1 1
1 1 1

0 0 0
1 0 0
0 1 0
1 1 1

0 1
1 0
7


Powyszy przykad ilustruje znane z zwyczajnej algebry przypadki gdy to samo wyraenie algebraiczne
mona zapisa na kilka sposobw.

Projektowanie obwodw logicznych
Konstrukcja (budowa) funkcji, ktre ma by modelem jakiego urzdzenia logicznego czsto prowadzi do
skomplikowanego wyraenie algebraicznego. Urzdzenie jest sieci bramek (ktre s zbudowane z
tranzystorw) poczonych elektrycznie zbudowan na podstawie modelu matematycznego w postaci
funkcji logicznej. Analiza modelu urzdzenia na jego podstawie staje si atwiejsza gdy model ma prost
struktur algebraiczn. Rwnie budowa urzdzenia na podstawie prostego modelu (o minimalnej liczbie
bramek i pocze) jest atwiejsza i oczywicie tasza . Im bardziej zoone operacje ma wykonywa
procesor tym waniejsze jest poszukiwanie najprostszego modelu matematycznego procesora w postaci
funkcji logicznej. Jedna z waniejszych technik projektowania procesorw zwana syntez polega na
budowie a nastpnie sprowadzaniu do najprostszej postaci funkcji logicznej tablicy wartoci procesora.
Wykorzystuje si w niej wyraenia Sum-Of-Products (SOP) i Product-Of-Sums (POS). Te dwa wyraenia
atwo odczyta z tabeli wartoci projektowanej struktury logicznej. Przy ich pomocy mona zbudowa
analityczn posta funkcji logicznej struktury. Zmienna logiczna moe wystpi w postaci normalnej x lub
komplementarnej . Dwie zmienne x i y poczone operacj AND mog wystpi w czterech kombinacjach
xy, , , . Kade z tych wyrae nazywa si iloczynem standardowym (minterm). Dla n zmiennych
tego typu wyrae jest

. Warto logiczn kadego z nich mona znale za pomoc tabeli operacji AND.
Podobny zbir

wyrae tworzy zbir n zmiennych powizanych operacj OR. Kade z nich nazywa si
sum standardow. Na podstawie twierdze De Morgana zaprzeczenie iloczynu daje sum wartoci
zaprzeczonych . Ponisza tabela podaje wszystkie iloczyny standardowe i sumy standardowe
trzech zmiennych


x y z iloczyn oznaczenie suma oznaczenie
0 0 0 m
0
M
0

0 0 1 m
1
M
1

0 1 0 m
2
M
3

0 1 1 m
3
M
3

1 0 0 m
4
M
4

1 0 1 m
5
M
5

1 1 0 m
6
M
6

1 1 1 m
7
M
7


Bardzo przydatne w poszukiwaniu funkcji logicznej opisanej tabel wartoci jest twierdzenie:
Dowoln funkcj logiczn o znanej tabeli wartoci mona przedstawi w postaci wyraenia algebraicznego
o postaci sumy iloczynw dla kadej kombinacji zmiennych o wartoci logicznej 1. Zmiennymi mog
rwnie by dowolne funkcje logiczne.
Przykad
Znale posta funkcji trzech zmiennych logicznych o wasnociach zadanych tabel wartoci.

A B C F(A,B,C)
0 0 0 0
1 0 0 1
0 1 0 0
1 1 0 1
0 0 1 0
1 0 1 1
0 1 1 0
1 1 1 1

8

Warto logiczn 1 maj cztery iloczyny. Ich suma (SOP) zawiera cztery iloczyny standardowe
przedstawione w poprzedniej tabeli
( )

.
Pozostae iloczyny standardowe maj warto 0. Powysz funkcj mona uproci, korzystajc z
rnych tosamoci logicznych, np.
( )

) (

)
Wystarczy spojrze na tabel, aby stwierdzi, e jest to prawda. Uproszczenie w tym wypadku jest istotne.
Istnieje druga moliwo budowy funkcji o zadanej tabeli. Rozpoczynamy od sumy (maxterm)
kadej kombinacji zmiennych o wartoci logicznej 0. Zaprzeczajc powysz sum tworzymy now funkcj.
Na podstawie twierdzenia De Morgana ( )

ta nowa funkcja ma posta iloczynu zaprzeczonych


zmiennych. Moemy wic sformuowa drug regu budowania funkcji logicznej na podstawie tabeli
wartoci. Naley utworzy sumy standardowe kadej kombinacji zmiennych majcej warto 0 i utworzy
iloczyn logiczny tych sum.
Funkcje logiczne (funkcje Boola) utworzone z sumy iloczynw lub iloczynu sum maj posta kanonicz.
Przykad
Znale posta funkcji o trzech zmiennych logicznych o wasnociach zadanych tabel wartoci.

A B C F(A,B,C)
0 0 0 0
1 0 0 1
0 1 0 0
1 1 0 1
0 0 1 0
1 0 1 0
0 1 1 1
1 1 1 1

A. Za pomoc iloczynw standardowych
Jest ich cztery

. Poszukiwana funkcja SOP ma posta ( )

.
Upraszczamy funkcj korzystajc z tautologii ( ) , ), .
( )

) (


Ta funkcja ma tablic identyczn z powyej podan.
B. Za pomoc sum standardowych
Jest ich cztery

. Poszukiwana funkcja POS ma posta


( )

. Upraszczamy funkcj
( ) ( )(

)(

)(

)(

)
[ (

) ][(

] [ ][

]
[( ) ( )][( )

( )]

.
Funkcj mona jeszcze uproci zauwaajc, e we wszystkich wierszach tabeli zawierajcych sumy
standardowe iloczyn logiczny AB = 0, wobec tego
( )

tak jak poprzednio.



Podsumowanie
Algebra Boola jest narzdziem matematycznym maszyn cyfrowych
-zmienne maj tylko dwie wartoci (0 lub1)
-elementarne funkcje to AND, OR i NOT, s zdefiniowane za pomoc tabel wartoci
-bardziej zoone funkcje mona zbudowa z funkcji elementarnych (lub tabel wartoci)
-twierdzenia de Morgana pozwalaj przeksztaci wyraenia logiczne na inne, rwnowane ale
zbudowane z innych funkcji elementarnych

Bramki logiczne (Logic Gates)
9

Przeczniki i przewody cakowicie wystarczaj do projektowania struktur (koci) logicznych
majcych wykona okrelone zadania. Tak zaprojektowane struktury zazwyczaj wykonuj zadanie
najszybciej jak to moliwe. Jednak w wypadku zoonych zada projektowanie z uyciem
przecznikw jest mudne i czasochonne. Podobna sytuacja ma miejsce podczas tworzenia
programw komputerowych, program napisany w jzyku maszynowym ma wiele zalet jednake
zazwyczaj piszemy programy w jzykach wyszego rzdu. Projektowanie struktury logicznej procesorw
mona uproci posugujc si metod powszechnie stosowan w tworzeniu programw komputerowych.
Przygotowuje si co w rodzaju klockw (zbir wbudowanych funkcji), tutaj bd nimi ukady logiczne
zoone z wielu przecznikw. Klockami w tym wypadku s bramki logiczne, ktre otrzymuj kilka
sygnaw logicznych i przeksztacaj je w jeden sygna logiczny. Dowoln bramk mona zbudowa za
pomoc zbioru kilku prostych bramek. Zazwyczaj tego niewielkiego zbioru nale bramki realizujce
operacje logiczne AND, OR, operacje komplementarne do nich, to znaczy zaprzeczenia NAND, NOR oraz
NOT. Poniej znajduj si tabele wartoci czterech bramek, w kolumnach A i B znajduj si wartoci
logiczne dwch sygnaw wejciowych a w trzeciej warto logiczna sygnau wyjciowego.















Za pomoc tych czterech operacji logicznych oraz funkcji NOT mona przedstawi wszystkie, dowolnie
zoone funkcje logiczne.
Podobnie jak to jest w wielu dziedzinach technicznych poyteczne jest reprezentowanie
abstrakcyjnych poj za pomoc symboli graficznych. W poniszych tabelach znajduj sie kompletne
informacje cznie z symbolami graficznymi o podstawowych funkcjach logicznych. W tych tabelach
zaprzeczenie wartoci logicznej x jest oznaczone przez x, aby stosowa nasze, dotychczas uywane
oznaczenia trzeba zastpi

.
AND NAND
AB


0 0 0 0 0 1
1 0 0 1 0 1
0 1 0 0 1 1
1 1 1 1 1 0
NOR OR

A+B
0 0 1 0 0 0
1 0 0 1 0 1
0 1 0 0 1 1
1 1 0 1 1 1
10



Podstawowe bramki


Bardziej zoone bramki

Waciwoci dwch ostatnich bramek mona zapisa porczniej: gdy liczba jedynek na wejciu jest
nieparzysta, funkcja XOR ma warto 1 ('prawda') a Exclusive-NOR ma warto 0 ('fasz').

11

Przykad
W samochodzie wiato ostrzegawcze ma si zapala gdy drzwi s otwarte lub pasy nie s zapite.
Zaprojektowa odpowiedni ukad logiczny sterujcy wiatem.

x drzwi y pasy z lampa
0 otwarte 0 niezapite 0 nie wieci
1 zamknite 1 zapite 1 wieci

Podana tabela wartoci ukadu logicznego

Porwnanie z powyszymi tabelami wskazuje, e najprostszym
takim ukadem jest bramka NAND.



Kombinacyjne i sekwencyjne obwody logiczne
Najoglniej obwody logiczne stosowane w urzdzeniach cyfrowych dziel si na dwie grupy:
obwody kombinacyjne i obwody sekwencyjne. Obwd kombinacyjny zbudowany jest wycznie z bramek
logicznych, wyjcie z niego jest w kadej chwili jest jednoznacznie zdeterminowane przez aktualne dane na
wejciu. Inaczej mwic obwd kombinacyjny wykonuje operacje okrelone wycznie przez zbir funkcji
Boola obwodu. Natomiast obwd sekwencyjny zawiera dodatkowo pamici i wykonuje operacje okrelone
przez zbir funkcji Boola obwodu oraz zawarto swoich pamici. Zatem wyjcie z niego jest
zdeterminowane zarwno przez dane na wejciu jak i informacj w pamici. Poniewa zawarto pamici
jest zalena od sygnaw na wejciu w wczeniejszych chwilach to sygna na wyjciu jest funkcj wej w
ostatniej chwili i w wielu poprzednich chwilach. Przetwarzanie informacji w obwodzie sekwencyjnym jest
zatem funkcj struktury logicznej obwodu i sekwencji sygnaw na wejciu.


Przykad obwodu kombinacyjnego Przykad obwodu sekwencyjnego

Waciwoci powyszego obwodu sekwencyjnego. Jeeli w chwili pocztkowej wejcie A i wyjcie Q znajd si w
stanie 0 to wyjcie Q pozostanie zawsze w stanie 0. Jednake, jeeli wejciu A znajdzie si sygna 1 to pozostanie w
nim na zawsze, niezalenie od pniejszych zmian wartoci wejcia A. Wtedy stan logiczny wyjcia nie zaley od
stanu wejcia A. Obwd moemy traktowa jako komrk pamici, przechowujc warto logiczn 1. Obwody
sekwencyjne s najwaniejszymi elementami budowlanymi systemw cyfrowych.

Obwody zintegrowane (scalone)
Technologia pprzewodnikowa umoliwia tworzenie olbrzymiej iloci gsto upakowanych bramek
logicznych poczonych w zadany sposb, jest to tak zwana ko (chip) . Na zewntrz koci wyprowadzone
s wejcia i wyjcia, tzw. piny. Liczba pinw waha si od kilkunastu na maych kociach do kilku milionw
na duych kociach. Aby poprawnie posugiwa si komi niezbdne s katalogi informujce szczegowo
o strukturze logicznej konkretnego egzemplarza.
Obwody scalone klasyfikuje si zazwyczaj wedug ich zoonoci, czyli liczby bramek, na cztery grupy:
Maej skali integracji (small scale integration - SSI) zawieraj kilka bramek
redniej skali integracji (medium scale integration - MSI) zawieraj od 10 d0 1000 bramek. Rne ich
struktury logiczne dostosowane s do wykonywania sprecyzowanych zada, jako dekodery, sumatory,
multiplexery, rejestry itp.
Duej skali integracji (large scale integration - LSI) jeden chip zawiera rzdu 10
4
bramek. Su jako
procesory, pamici, programowalne urzdzenia logiczne.
x y z
0 0 1
0 1 1
1 0 1
1 1 0
12

Bardzo duej skali integracji (very large scale integration - VLSI) jedna budowana wspczenie ko
zawiera miliony bramek. Su jako procesory mikrokomputerw, szeregw komrek pamici. Dziki
niskiej cenie zdominoway rynek procesorw dla mikrokomputerw.

Reprezentacja danych
Komputery su do przetwarzania informacji. Informacja jest wielkoci mierzaln, potrzebna jest wic
miara iloci informacji. Najmniejsz jednostk informacji jest bit (bit), informuje o tym, w ktrym z dwch
wykluczajcych si stanw znajduje si ukad. Reprezentacja bitu moe mie rn posta: tak/nie, yes/no,
on/off, 5V/0.1V, 1/0. Wiksz jednostk jest bajt (byte), jest to grupa 8 bitw.

bajt 1 0 0 1 1 1 0 1
Przykad zawartoci 8-miu bitw bajtu

Z pomoc 8 bitw mona utworzy 2
8
= 256 rnych bajtw, od
do

Inaczej mwic za pomoc bajtw mona ponumerowa 256 stanw, symboli lub innych rzeczy. Jeszcze
wiksz jednostk jest sowo (word), jest to liczba bitw, ktre moe przetworzy komputer jednorazowo (w
jednym kroku). Dugoci sowa okrela si midzy innymi wydajno obliczeniow procesorw (np.
procesory 32 lub 64 bitowe).

Systemy liczbowe stosowane w informatyce
Dane w komputerze s reprezentowane przez liczby. Liczby s zapisywane za pomoc cigu symboli ze
zbioru zwanego alfabetem. Systemy liczbowe rni si alfabetem. Powszechnie uywany system
dziesitny korzysta z dziesicioznakowego alfabetu zwanego cyframi (0,1,2,3,4,5,6,7,8,9). atwiej jest
poda warto ilociow jakiej cechy okreleniem mao lub duo ni 4 lub 5 (aki kopot pojawia
si czasem przy ocenianiu wypracowa egzaminacyjnych studentw). Dlatego technologie cyfrowe
wol uywa alfabetu o dwch (2
1
) symbolach (0,1). System dwjkowy (Binary Code Decimal) ma
pewn wad, liczba znakw konieczna do zapisania liczby jest wielokrotnie wiksza ni liczba znakw
systemu dziesitnego. Aby zapis liczby uczyni bardziej czytelnym czsto uywa si systemw
opartych na alfabetach liczcych wicej ni pierwsza potga liczby 2. S to systemy semkowy
(oktalny, 2
3
znakw) i system szesnastkowy (hexadecymalny, 2
4
znakw). Tabela podaje zapis
pocztkowych 17 liczb w czterech wymienionych systemach liczbowych.

dziesitny dwjkowy semkowy szesnastkowy
liczba
10
liczba
2
liczba
8
liczba
16

0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
13

Oznaczymy przez b dugo alfabetu systemu liczbowego, na przykad, b=10 w systemie dziesitnym,
b=16 w systemie szesnastkowym. Dowoln liczb naturaln mona wtedy przedstawi w postaci

.
cile rzecz biorc lewa strona wzoru jest rwnie zapisana w jakim systemie liczbowym, zazwyczaj jest to
system dziesitny, czyli

.W przyszoci brak wskazania systemu liczbowego oznacza bdzie


system dziesitny. Inaczej mwic wzr powyszy dokonuje konwersji reprezentacji (sposobu
przedstawienia, zapisania) liczby z systemu o podstawie b (o alfabecie o dugoci b) do systemu
dziesitnego.
Przykady:
i. N
10
= 123
10
,

,
ii. N
8
= 7501
8
,


=3905,
iii. N
16
= 1F2
16
,



Konieczna jest rwnie umiejtno przeprowadzania konwersji liczby naturalnej N z jednego
systemu na innego, na przykad z dziesitnego na dwjkowy. Oznaczymy przez N
b
liczb zapisan w
systemie o podstawie b. Jedna z metod polega na dzieleniu kolejnych wynikw dzielenia przez b i
rejestrowania reszt z tego dzielenia. Zbir reszt jest liczb w reprezentacji b.
Przykad
Liczba N = dziewidziesit dziewi w postaci dziesitnej to N
10
= 99, poszukujemy jej postaci w systemie
dwjkowym.
Kolejne kroki (dzielenia):
1. 99 / 2 = 49, reszta 1--> 1
2. 49 / 2 = 24, reszta 1 -->11
3. 24 / 2 = 12, reszta 0 -->011
4. 12 / 2 = 6, reszta 0 -->0011
5. 6/ 2 = 3, reszta 0 --> 00011
6. 3 / 2 = 1, reszta 1 --> 100011
7. 1 / 2 = 0, reszta 1 --> 1100011
Wobec tego 99
10
= 1100011
2
.

Oglny algorytm jest nastpujcy:
- dzielimy liczb N
b
przez b, reszt z dzielenia zapisujemy jako pierwszy od lewej znak liczby w systemie o
podstawie b
- wynik dzielenia dzielimy przez b, reszt zapisujemy jak wyej
- kontynuujemy do chwili gdy wynik dzielenia jest rwny zeru.
Konwersja liczby naturalnej z jednego systemu o podstawie 2
n
, na dwjkowy (o podstawie 2
1
) i na
odwrt jest prostsza. Praktyczne znaczenie maj przypadki n = 3 i n = 4.
Konwersja z systemu semkowego na dwjkowy N
8
--> N
2
. Wystarczy dokona konwersji kolejnych
znakw liczby zapisanej w systemie semkowym na system dwjkowy (bd to trjki znakw 0 lub 1) i
zapisa te trjki w tej samej kolejnoci w jakiej wystpoway w N
8

Przykad: N
8
= 341, N
2
= 011 100 001 = 11100001. Sprawdzenie: 341
8
= 1*8
0
+ 4*8
1
+ 3*8
2
= 225
10
,
11100001
2
= 1*2
0
+ 1*2
5
+ 1*2
6
+ 1*2
7
= 225
10
.
Konwersja z systemu szesnastkowego na dwjkowy N
16
--> N
2
. Wystarczy dokona konwersji kolejnych
znakw liczby zapisanej w systemie semkowym na system dwjkowy (bd to czwrki znakw 0 lub 1) i
zapisa te czwrki w tej samej kolejnoci w jakiej znaki wystpoway w N
8

Przykad: N
16
= 2B9
16
, N
2
= 0010 1011 1001 = 1010111001. Sprawdzenie: 2B9
16
= 9*16
0
+ 11*16
1
+ 2*16
2

= 697
10
, 1010111001
2
= 1*2
0
+ 1*2
3
+ 1*2
4
+ 1*2
5
+ 1*2
7
+ 1*2
9
= 697
10
.
Konwersja z postaci dwjkowej na posta semkow lub szesnastkow jest rwnie prosta. Znaki liczby w
postaci dwjkowej trzeba pogrupowa, zaczynajc od prawej na grupy po trzy lub cztery znaki. Kad grup
trzech znakw zamieni na odpowiedni symbol systemu semkowego, podobnie grupy czterech znakw
naley zamieni na odpowiedni symbol systemu szesnastkowego.
Przykady:
14

i. 1001101011
2
= 1 001 101 011 = 1153
8
. Sprawdzenie: 1001101011
2
= 1+2+2
3
+2
5
+2
6
+2
9
=619
10
,
1193
8
=3+5*8+1*16+1*512=619
10
.
ii. 1001101011
2
= 10 0110 1011 = 26B
16
. Sprawdzenie: 1001101011
2
= 1+2+2
3
+2
5
+2
6
+2
9
=619,
26B
16
=11+6*16+2*16
2
=619
10
.

Arytmetyka binarna
Procesory s zbudowane z bramek, ktre s strukturami logicznymi a wic przetwarzaj liczby
binarne. Przetwarzanie oznacza midzy innymi dodawanie liczb, mnoenie i inne operacje arytmetyczne.
Naley rozrnia operacje na zmiennych logicznych od operacji na liczbach binarnych. Oczywicie
przecitny uytkownik komputera nie musi wiedzie jak komputer dodaje liczby binarne, ale informatyk
powinien. Zasada jest taka sama jak w przypadku liczb dziesitnych i nieco podobna jak w przypadku
zmiennych logicznych. Oto tablice

nazwa dziaanie wynik przeniesienie
dodawanie
0+0
0 + 1
1 + 0
1 + 1
0
1
1
0
0
0
0
1
odejmowanie
0-0
0 - 1
1 - 0
1 - 1
0
1
1
0
0
1
0
0
mnoenie
0 0
0 1
1 0
1 1
0
0
0
1
0
0
0
0

Kolumna 'przeniesienie' (angielskie carry) podaje liczby, ktre naley doda (przy dodawaniu) lub odj
(przy odejmowaniu) do/od bitu lecego bardziej na lewo.
Przykady:
i. dodawanie sprawdzanie
11101 --> 29
1101 --> 13
--------- ---
101010 --> 42

ii. odejmowanie sprawdzanie
11101 --> 29
1101 --> 13
--------- ---
10000 --> 16

ii. mnoenie sprawdzanie
11101 --> 29
1101 --> 13
--------- ---
11101 87
111010 29
11101 -----
11101 377
--------------
101111001 -->377
Dzielenie jest bardziej skomplikowane, wrcimy do niego pniej

15

Sumatory
Jaka powinna by struktura logiczna i realizacja fizyczna ukadu wykonujcego dodawanie?
Poniewa dodawanie odbywa si niezalenie na kadym bicie, wic wystarczy zbudowa jednobitowy
sumator a nastpnie utworzy acuch (kaskad) tylu jednobitowych sumatorw ilu bitowe jest sowo.
Poniej znajduje si symbol i tabela pokazujca wynik dodawania dwch jednobitowych liczb z
moliwoci dodatkowego wejcia przeniesienia (Carry in = z) z dodawania bitu modszego i wyjcia
przeniesienia (Carry out) do bitu starszego. Kolumna S podaje tabel wej i wyj sumatora jednobitowego.




Graficzna reprezentacja sumatora jednobitowego Tabela wartoci sumatora jednobitowego

Po pierwsze wida, e sumator nie jest adn z bramek logicznych gdy ma dwa wyjcia. Przyjrzymy si
ostatniemu wierszowi tabeli. Wartoci obydwu dodawanych liczb wynosz 1, rwnie przeniesienie z
dodawania modszych bitw jest rwne 1. Wynik sumowania wynosi 11 (3
10
). Wobec tego wynik
sumowania w tym bicie wynosi 1, a liczba 10
2
(2
10
) wchodzi do z starszego bitu. Taki jednobitowy sumator
nosi nazw penego sumatora (full adder).Jego zalet jest prostota i atwo rozszerzenia na dowoln liczb
bitw. Natomiast wad powolno, spowodowana koniecznoci dokonywania wielu przeniesie, np. jeeli
najniszy bit obydwu liczb ma warto 1 to warto przeniesienia te jest rwna 1. Wwczas liczba
przeniesie moe si rwna dugoci sowa (np. 64 w procesorze 64 bitowym). Wymylono wiele
konstrukcji sumatorw wymagajcych mniejszej liczby przeniesie.
Konstrukcja logiczna sumatora polega na znalezieniu dwch funkcji logicznych trzech zmiennych
(x,y,z), jedna funkcja podaje warto sumy druga warto przeniesienia. Wykorzystamy opisane wczeniej
zasady budowania funkcji logicznych wielu zmiennych oraz powysz tabel. S mona przedstawi jako
sum mintermw ( )
a nastpnie przeksztaci
( ) ( ) ( ) () ()

().
Suma ma warto 1 gdy zbir zmiennych zawiera nieparzyst liczb jedynek, tak waciwo ma bramka
XOR. Wobec tego ().
Natomiast wychodzce przeniesienie pojawia si w czterech przypadkach, suma odpowiednich mintermw
( ) ( ) . Drugi i trzeci
wyraz wynikaj z wierszy 6 i 7 tabeli, a w nich i odpowiednio maj warto 1. Wobec tego
( ) . Ostatecznie sumator jednobitowy definiuj nastpujce dwie funkcje
(), .
Zatem sum realizuj dwie szeregowo poczone bramki XOR, a wychodzce przeniesienie realizuj trzy
rwnolege bramki AND, ktrych wyjcia sumuje bramka OR


x y z Cout S
0 0 0 0 0
1 0 0 0 1
0 1 0 0 1
1 1 0 1 0
0 0 1 0 1
1 0 1 1 0
0 1 1 1 0
1 1 1 1 1
16


Struktura logiczna jednobitowego sumatora: po lewej sumy, po prawej przeniesienia

Czterobitowy sumator









Tabele wartoci operandw, sumy i przeniesie


















Sumator wykonuje dodawanie dwch liczb czterobitowych

Reprezentacja liczb ujemnych
Liczb binarn, ujemn bardzo atwo napisa na papierze, na przykad -11101, trudniej przedstawi
w postaci zrozumiaej dla komputera. Wydaje si, e najprociej byoby doda jeden bit do binarnego zapisu
liczby. Warto tego dodatkowego bitu umieszczonego na lewo od najbardziej znaczcego bitu liczby
naturalnej informowaaby o znaku liczby, na przykad 0 oznaczaoby liczb dodatni a 1 liczb ujemn.
Przykad konsekwencji takiej propozycji:
Dodawanie dwch liczb jednej dodatniej drugiej ujemnej
0101001
2
= 41
10
> 0, 1111001
2
= -57
10
< 0.
Obliczymy sum tych liczb 0101001
2
+ 1111001
2
= 1 1100010
2
= -226
10
.Tymczasem poprawny wynik to
41 - 57 = -16
10
.
Wobec tego propozycja prowadzi do bdnych wynikw, trzeba j odrzuci.

Liczby cakowite ze znakiem
Istnieje kilka innych sposobw reprezentacji ujemnych liczb cakowitych pozbawionych powyszego
kopotu. Sposoby te bywaj przydatne w szczeglnych przypadkach. Najczciej stosowany jest
nastpujcy sposb. Do bitw liczby dodajemy bit znaku na lewo od najbardziej znaczcego bitu.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0/1 bit
n-2
bit
n-3










bit
1
bit
0

bit nr.bitu x y Cin S Cout
najmniej znaczcy 0 0 1 0 1 0
1 1 1 0 0 1
2 1 0 1 0 1
najbardziej znaczcy 3 0 0 1 1 0
bit najbardziej
znaczcy
najmniej
znaczcy
C
in
0 0 0 0
x 0 1 1 0
y 0 0 1 1
S 1 0 0 1
C
out
0 1 1 0
17

bit znaku
Dodatni liczb tworzymy jak powyej, to znaczy przypisujemy bitowi znaku warto 0. Natomiast liczb
ujemn tworzymy przez zaprzeczenie wszystkich bitw liczby dodatniej (cznie z bitem znaku) i do wyniku
dodajemy liczb 1. Taka reprezentacja nazywa si kod uzupenienia dwjkowego (negacja bitw i dodanie
1) (two's complement).

Przykady
+x
2
+x
10
- x
2
- x
10

0 1001 9 1 0110+1=1 0111 -9
0 0001 1 1 1110+1=11111 -3
0 0000 0 1 1111+1=1 0000 0
0 1111 15 1 0000+1=1 0001 -15
1 0011 -13
( )


13
-10
( )


10

Liczba ujemna x jest poprawnie zdefiniowana jeeli speniona jest tosamo x + ( x) = 0. Sprawdzamy
na przykadach.
Przykad 1
Liczba 8 bitowa |x| = 11001101, liczba dodatnia x =110101101, liczba ujemna -x = 00110010+1=00110011.
Sprawdzenie: x - x = 0101101+0110011 = 00000000.
Przykad 2
|x| = 11100011, |y| = 00110001, zale rnic x - y.
Liczba x = 011100011, liczba y = 000110001, liczba y = 111001111. Wobec tego
x-y = x + (- y) = 0011100011 + 111001111 = 010110010 178
10
.
x - y = 11100011 - 00110001 = 10110010 = 178
10
Sprawdzenie: x
10
= 227, y
10
= 49, : x
10
- y
10
= 178. Odejmowanie zostao wykonane poprawnie.

Reprezentacja uamkw dziesitnych
Dane wprowadzane do komputera oraz wyniki maj midzy innymi posta liczb naturalnych,
cakowitych (dodatnich i ujemnych), uamkowych i innych. Kolej na reprezentacj uamkw dziesitnych.
Najczciej uyciu s dwie reprezentacje uamkw dziesitnych:
- staoprzecinkowa tzn. o staej liczbie miejsc po przecinku (fixed point representation)
- zmiennoprzecinkowa tzn. o zmiennej liczbie miejsc po przecinku (floating point representation).
Reprezentacja o staej liczbie miejsc po przecinku
W niektrych zastosowaniach komputerw wystarcza posugiwanie si uamkami dziesitnymi o
zadanej, ustalonej liczbie cyfr po przecinku (ustalonej dokadnoci). Wwczas wygodnie jest rozszerzy
reprezentacj dwjkow liczb cakowitych o dodatkowe pola reprezentujce cz uamkow. Uamek
dziesitny zapiszemy w postaci: cz cakowita, cz uamkowa. Wwczas reprezentacja dziesitna tych
skadnikw jest nastpujca

.
Ich suma daje warto uamka dziesitnego cz cakowita + cz uamkowa.

Na przykad dla liczby 321.74, liczby n = 3, m = 2, a powysze wyraenie ma posta
(

) (

) ( ) (
) ( ) ( ).

Zalet reprezentacji staoprzecinkowej jest oszczdne gospodarowanie zasobami pamici i szybsze
wykonywanie oblicze. Reprezentacja staoprzecinkowa jest prawdopodobnie stosowana w
wyspecjalizowanych aplikacjach obsugujcych banki, gdy nie ma sensu dzieli 1 grosza na dowolnie mae
czci. Wad jej jest ograniczona dokadno oblicze.
Konwersja uamka dziesitnego o czci cakowitej x, uamkowej y, na liczb w systemie dwjkowym
przebiega zgodnie z wzorem
18

(

)
(

)
To znaczy dla czci cakowitej x.0 przebiega tak samo jak liczby cakowitej (posta binarn stanowi reszty
z dzielenia przez 2). Cz reprezentujca uamek dziesitny powstaje przez kolejne mnoenia czci
uamkowej przez 2. Wynika to z nastpujcego rozumowania. Cz uamkowa liczby 0.y ma w zapisie
dwjkowym posta

.

Jeeli pomnoymy obydwie strony rwnania przez 2 to otrzymamy

. Cz cakowit lewej strony ( )

usuwamy z rwnania i umieszczamy w najmniej


znaczcym bicie dwjkowej reprezentacji czci uamkowej. Pozostae rwnanie mnoymy przez 2, tym
razem cz cakowita lewej strony jest rwna

robimy z ni to samo co powyej. Kontynuujemy


postpowanie dopki lewa strona jest rna od zera lub gdy wypenimy wszystkie bity przeznaczone na
cz uamkow.
Przykad
Zale posta dwjkow liczby x = 0,431.

Cz cakowita
iloczynu
Posta dwjkowa
0.431 0.
2*0.431 0.861 0 0.0
2*0.861 1.722 1 0.01
2*0.722 1.422 1 0.011
2*0.422 0.844 0 0.0110
2*0.844 1.688 1 0.01101
2*0.688 1.376 1 0.01101
2*0.376 0.752 0 0.011010
2*0.752 1.504 1 0.0110101
2*0.504 1.008 1 0.01101011. . .

Wobec tego 0.431
10
= 0.01101. . .
2
, wida, e posta cz uamkowej w systemie binarnym moe by
cigiem nieograniczonym. Wwczas cig trzeba ograniczy tak aby ilo znakw liczby binarnej nie
przekroczya zaoonej dugoci sowa.
Przykad
Znale posta binarn liczby 41.431 z dokadnoci do 0.01
10
.
41 101001,
0,431 0.0110111001(=0.4306640625
10
)
Wobec tego 41,431
10
= 101001.0110111001
2
.
Liczby uamkowe dziesitne ze znakiem konwertuje si na liczby binarne nastpujco: cz cakowit
konwertuje si tak samo jak liczby cakowite ze znakiem, cz uamkowa liczby ujemnej jest taka sama jak
liczby dodatniej.

Zmiennoprzecinkowa reprezentacja uamkw dziesitnych (Floating point representation)
Staoprzecinkowa reprezentacja sprawia kopot w utrzymaniu dokadnoci rachunkw gdy w ich
trakcie pojawiaj si liczby znacznie rnice si wielkoci, na przykad 10
5
i 10
-5
.Wwczas zakres
wielkoci liczb moe by nieodpowiedni w obliczeniach inynierskich czy te naukowych, moe prowadzi
do duych bdw. W celu ominicie tych trudnoci wymylono bardziej skomplikowan reprezentacj.
Trzeba przyj okrelon liczb bitw do reprezentowania liczby znaczcych cyfr liczby, czyli dokadnoci.
Pozostae bity wykorzystuje si do skalowania liczby, to znaczy zapisania jej wielkoci. Na przykad, jeeli
uznamy, e wymagana dokadno to 5 cyfr (cznie, to znaczy przed i po przecinku) to skalowanie
informuje czy to jest liczba 5.4378*10
4
czy te 5.4378*10
-4
. Bity przeznaczone na zapisanie liczby s
podzielone na trzy grupy.

19

znak mantysy (z) modu mantysy (m) Cecha (c)
Najbardziej znaczcy bit przechowuje znak liczby, druga grupa o nazwie modu mantysy (w skrcie
mantysa)zajmuje najwicej bitw i suy do zapisania znaczcych cyfr (odpowiada za dokadno liczby),
trzecia o nazwie cecha (lub exponenta) zawiera informacj o wielkoci liczby. Reprezentacja
zmiennoprzecinkowa jest rwnowana stosowanemu czsto w obliczeniach inynierskich lub naukowych
zapisowi liczby w postaci funkcji
( ) ()

,
na przykad -0.32*10
6
, lub w systemie dwjkowym 01011*2
1101
. Mantysa ma format liczby
staoprzecinkowej, cecha liczby cakowitej. T sam liczb mona w reprezentacji zmiennoprzecinkowej
zapisa na kilka sposobw, na przykad
-0.32*10
6
= -3.2*10
5
= -32*10
4 =
-0.032*10
7
.
Wida, e kropka przesuwa si w lewo (lub w prawo) z jednoczesnym zmniejszaniem (lub wzrostem)
warto cechy bez zmiany wartoci liczby. Przecinek w mantysie m moe wic pyn (float) dostosowujc
si do postaci moduu cechy.
Cecha c moe mie warto dodatni lub ujemn. Aby unikn niewygodnej operacji porwnywania
wykadnikw o rnych znakach stosuje si konwersj wszystkich wykadnikw do postaci liczb dodatnich
cakowitych. W tym celu dodaje si dodatni liczb do kadego wykadnika, w ten sposb powstaje cecha
spolaryzowana (biased exponent). Wspomniana liczba zaley od liczby bitw przeznaczonych na zapis
cechy. Po wykonaniu oblicze liczba ta jest odejmowana od cechy wyniku.

Standard IEEE 754
Jest to powszechnie stosowany standard reprezentacji zmiennoprzecinkowej w dwch wersjach
pojedynczej (na 32 bitach) i podwjnej precyzji (na 64 bitach). W tym standardzie umieszczono cech na
lewo od mantysy. Uatwia to sortowanie liczb zmiennoprzecinkowych, gdy przy okrelonym znaku, liczby
z wiksz cech maj wiksz warto ni liczby z mniejsz cech. W przypadku pojedynczej precyzji
mantysa ma dugo 23 bity, cecha - 8 bitw, polaryzacja wynosi 2
q-1
- 1 = 127.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
z c m

W postaci standaryzowanej format liczby pojedynczej precyzji to (-1)
z
(1 + mantysa) 2
(cecha+polaryzacja)
. Bity
mantysy reprezentuj liczb z przedziau [0,1). W przypadku podwjnej precyzji odpowiednie liczby to
mantysa 52 bity, i cecha 11 bitw a polaryzacja wynosi 2
10
-1 = 1023.

Przykad
Posta liczby -0.051 w standardzie IEEE 754 w formacie pojedynczej precyzji.
Wpierw naley przeksztaci liczb do postaci znormalizowanej, to znaczy -0.051 = -0.51*10
-1
. Nastpnie
znajdujemy warto bitw wszystkich trzech grup.
Bit znaku --> 1.
Bity cechy, cecha = -1, dokonujemy polaryzacji, cecha -1 + 127 = 126
10
= 10 000 000
2
.
Bity mantysy, kolejne kroki wyliczania bitw mantysy podaje tabela

wartoci
kolejnych
bitw
0.51 warto postaci
dwjkowej liczby
w kolumnie1
1 0.0200000000 0.5000000000
0 0.0400000000 0.0000000000
0 0.0800000000 0.0000000000
0 0.1600000000 0.0000000000
0 0.3200000000 0.0000000000
0 0.6400000000 0.0000000000
20

1 0.2800000000 0.0078125000
0 0.5600000000 0.0000000000
1 0.1200000000 0.0019531250
0 0.2400000000 0.0000000000
0 0.4800000000 0.0000000000
0 0.9600000000 0.0000000000
1 0.9200000000 0.0001220703
1 0.8400000000 0.0000610352
1 0.6800000000 0.0000305176
1 0.3600000000 0.0000152588
0 0.7200000000 0.0000000000
1 0.4400000000 0.0000038147
0 0.8800000000 0.0000000000
1 0.7600000000 0.0000009537
1 0.5200000000 0.0000004768
1 0.0400000000 0.0000002384

suma 0.5099999905

Wobec tego bity mantysy liczby0.51
10
to 1 000 001 000 111 101 010 111. Ostatecznie wartoci wszystkich
bitw liczby 0.51
10
w standardzie IEEE 754zawiera ponisza tabela.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1

Konwersja tej liczby na system dziesitny pokazuje, e jest to warto przybliona rwna 0.5099999905.

Dziaania arytmetyczne na liczbach w systemie dwjkowym w formacie zmiennoprzecinkowym
nazywa si arytmetyk zmiennoprzecinkow. Darujemy sobie wnikanie w jej szczegy. Obecnie wiele
maszyn ma procesory wykonujce sprztowo (nie programowo)dziaania arytmetyczne na liczbach w
formacie zmiennoprzecinkowym.

Reprezentacja wielkoci innych ni liczbowe
Istnieje wiele wielkoci, ktre nie s liczbami, a ktrymi si posugujemy, ktre przetwarzamy i
chcielibymy do tego wykorzysta komputer. Na przykad aby przygotowa ten lub wybiera z niego pewne
fragmenty w celu przygotowania cigi. Kady znak tekstu reprezentuje liter (ich zbir tworzy alfabet) lub
cyfr lub inne znaki pisarskie i sterujce(LF, CR). Cig znakw tworzy sowo, cig sw zdanie itd. Jedn z
najstarszych i powszechnie uywanych reprezentacji tego typu znakw jest ASCII (American Standard
Code for Information Interchange). Jest to reprezentacja 7 bitowa (128 rnych konfiguracji bitw)
znakw pisarskich (oraz pewnej liczby polece). Rozszerzona 8 bitowa wersja standardu ASCII jest nadal
uywana jako podstawowa w urzdzeniach pracujcych pod systemami operacyjnymi Microsoft Windows,
Mac OS X, i Linux.

kod znak kod znak kod znak kod znak kod znak kod znak
32 space 48
0
64
@
80
P
96
`
112
p
33
!
49
1
65
A
81
Q
97
a
113
q
34
"
50
2
66
B
82
R
98
b
114
r
35
#
51
3
67
C
83
S
99
c
115
s
36
$
52
4
68
D
84
T
100
d
116
t
37
%
53
5
69
E
85
U
101
e
117
u
38
&
54
6
70
F
86
V
102
f
118
v
39
'
55
7
71
G
87
w
103
g
119
w
21

40
(
56
8
72
H
88
X
104
h
120
x
41
)
57
9
73
I
89
Y
105
i
121
y
42
*
58
:
74
J
90
Z
106
j
122
z
43
+
59
;
75
K
91
[
107
k
123
{
44
,
60
<
76
L
92
\
108
l
124
|
45
-
61
=
77
M
93
]
109
m
125
}
46
.
62
>
78
N
94
^
110
n
126
~
47
/
63
?
79
O
95
_
111
o
127
DEL

Tabela kodw ASCII
Tabela pomija znaki sterujce. S to pierwsze 32 znaki kodu suce do sterowania (nie s drukowane).
Wrd nich znajduj si np.znak7 BELL - dwik dzwonka, 10 LF koniec linii (linefeed), znak 13 CR
przejcie do nowej linii (carriage return), znak 27 Esc (escape - wyjd).
Ograniczeniem tego standardu jest niemoliwo reprezentowania znakw pisarskich innych ni
klasyczne aciskie. Z tego powodu powsta standard Unicode, wprowadzajcy 16 bitow reprezentacj
szerokiego zbioru narodowych znakw pisarskich.
Inne reprezentacje
Powstay i nadal powstaj reprezentacje (czsto okrela si je jako formaty) obrazw (np. JPEG), filmw
np.Xvid), dwikw (np. mp3), grafiki wektorowej (np. postscript) i szereg innych.

You might also like