HW
Stiahnuť PDF · 2,4 MBPreber si túto poznámku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto poznámky.
Náhľad poznámky
P
eter
Agh
Princ py po taov
c (text, tabuky) Peter Agh, 2000. Akkovek rozmnoovanie, publikovanie (v p somnej,
elektronickej, medilnej alebo inej forme) tohto diela alebo jeho asti je povolen len s
p somnm dovolen m majiteov autorskch prv.
vod
vodn text...
i
ii
iii
iv
as
I
Matematick zklady
9
11
Aj ke sa (hlavne v minulosti) hardware a software po taov chpali oddelene, tieto
dva pojmy s nerozlune spojen. Poznanie vzjomnho vzahu hardwaru a softwaru, ako
aj princ pov po taov je cieom tejto prce. Potrebn matematick zklad pre osvojenie
tchto vedomost itate z ska v tejto asti.
Nplou tejto asti s niektor teoretick aspekty svisiace s innosou po taa, ako
je kdovanie informci pecilne kdovanie sel a aritmetika.
itate dozaista pozn pojmy inform cia, reprezent cia inform cie, kd. Takisto vie,
ak druhy informci sa reprezentuj v po taoch. Preto tieto pojmy nebudeme formlne
zavdza, postaova bude ich intuit vna znalos. Vklad zaneme selnmi sstavami.
alia kapitola bude venovan logike, ktor {ako neskr uvid me{ je 'zkladnm staveb-
nm kameom' dnench po taov. Potom sa podrobne budeme venova kdovaniu
sel a realizci aritmetickch operci v jednotlivch kdoch { najskr pohovor me o
spsoboch kdovania celch sel so znamienkom i bez znamienka a o aritmetickch al-
goritmoch pre sla v jednotlivch kdoch. Op eme aj spsoby kdovania relnych sel,
algoritmy pre relnu aritmetiku, vpoet zloitej ch matematickch funkci a pohovor me
aj o monch 'skaliach' relnej aritmetiky realizovanej na po tai.
12
Kapitola
1
SELN SSTAVY
sla sa zapisuj pomocou reazcov znakov. Vznam reazca pritom zvis od toho, ak
konvencia ( seln sstava) sa pri zpise pou va.
1.1 Pozin a nepozin seln sstavy
seln sstavy mono rozdeli na pozin a nepozin.
V pozinej selnej sstave je kad slica v zpise sla charakterizovan svojou
polohou vzhadom na rdov iarku. Presnejie, v sstave zkladom
Z meme
relne slo
r zap sa v tvare:
r = an
Zn + an
;1
Zn
;1
+
::: + a
0
Z
0
+
a
;1
Z
;1
+
::: + a
;
m
Z
;
m
kde
ai
2
f
0
12::: Z
;
1
g
.
Hovor me, e slica
ai m v hu Zi. Tento zpis sa zvyajne skracuje na vyp sanie
koe cientov ( slic), priom slice
an
;1
an
;2
:::a
0
sa od slic
a
;1
:::a
;
m sa
oddeuj rdovou iarkou:
r = an
;1
an
;2
:::a
1
a
0
a
;1
:::a
;
m
Prklad I.1:
v desiatkovej selnej sstave meme vyjadri sla 123 a
;
50
:6 ako:
123 = 1
:10
2
+ 2
:10
1
+ 3
:10
0
;
50
:6 = (
;
5
:10
1
) + (
;
6
:10
;1
)
V nepozinej selnej sstave poz cia slice v zpise sla neuruje jej vhu. Zpis
sla sa sklad zo zreazenia zpisov niekokch sel a vsledn slo dostaneme
s tan m tchto sel.
Pr kladom nepozinej selnej sstavy je r mska seln sstava. V sle XIII s ce
rozoznme znak X pre slo 10, no tento znak me ma aj in vznam (napr.
IX
znamen 9, XI znamen 11, XXX znamen 30) a a pretanm celho z pisu
m eme uri hodnotu znaku X.
13
14
KAPITOLA
1.
SELN
SST
A
VY
Prklad I.2: vyjadrenia niektorch sel v rmskej selnej sstave: Rmska ssta-
va:
1 = I, 2 = II, 3 = III, 4 = IV, 5 = V, 10 = X, 50 = L, 100 = C, 1000 =
M:
123 =
CXXIII
244 =
CCXXXXIV
1968 =
MLMXV III
Prirodzene, v praxi sa astejie pou vaj pozin sstavy. Ako toti mono nahli-
adnu, v pozinch sstavch mono ahko vykonva aritmetick opercie (t.j. s ta,
od ta, nsobi aj deli), o v nepozinch mono len ako (skste vynsobi dve r mske
sla{ najjednoduchie bude najskr previes ich do pozinej sstavy, vynsobi ich a pre-
vies vsledok sp& na r mske slo). Pritom kad z uvedench operci je v pozinej
sstave pop saten jednoduchm algoritmom.
V benom ivote pou vame dekadick (desiatkov) seln sstavu.
Po tae pou vaj bin rnu (dvojkov) seln sstavu. Ako neskr uvid me, umou-
je jednoduch technick realizciu po taa, pretoe opercie nad binrnou sstavou
mono pop sa pomocou logickch operci a tieto sa daj realizova jednoduchmi elek-
trickmi obvodmi. Zpis v binrnej sstave je vak dlh, preto sa (napr. v zpise niek-
torch programov) asto vyu va hexadecim lna (estnstkov) seln sstava, v ktorej
maj sla krat zpis a navye je mon ahko prevdza sla z dvojkovej do est-
nstkovej sstavy a naopak.
Venujme sa teraz prve prevodom vyjadren sel medzi rznymi selnmi sstavami.
Uvedieme dve metdy, metdu postupnho od tania a metdu delenia.
1.2 Prevody medzi selnmi sstavami
met da postupnho odtania
Nech je dan slo
r, ktorho zpis v sstave so zkladom B ozna me rB. Chceme
ho vyjadri v sstave
C. Prvou metdou, ako previes do sstavy so zkladom C je
metda postupnho od tania. Od sla
r budeme postupne od tova nsobky
1
stle
sa zmenujcich mocn n zkladu
C, priom r hadme najv&ie tak nsobky mocn n,
ktor s ete menie, nanajv rovn ako prevdzan slo.
Pozn mka I.1:
Z matematickho hadiska je jedno akm spsobom je slo vyja-
dren, ale v po tai hr spsob reprezentcie dleit lohu, m zmysel rozliova slo
a jeho reprezentciu, t.j. hovori pre slo
x o jeho reprezentci r. Kvli strunosti
zpisu, namiesto vrazu
rB je 'zpis sla v sstave B' budeme jednoducho hovori, e
rB je ' slo v sstave B'.
Prklad I.3:
1
nult a (
C
;
1)-v nsobok
1.2.
PREV
OD
Y
MEDZI
SELNMI
SST
A
V
AMI
15
195
10
,
!
R
2
195
2
7
= 128
;
128
;
!
1
67
67
2
6
= 64
;
64
;
!
1
3
3
2
5
= 32
pr li vek
;
!
0
3
2
4
= 16
pr li vek
;
!
0
3
2
3
= 8
pr li vek
;
!
0
3
2
2
= 4
pr li vek
;
!
0
3
2
1
= 2
;
2
;
!
1
1
1
2
0
= 1
;
1
;
!
1
0
Odtia 195
10
= 11000011
2
. ie slo 195 sme vyjadrili ako set
1
27 + 1
26 + 0
25 + 0
24 + 0
23 + 0
22 + 1
21 + 1
20 = 195
V pozinej sstave sa daj vyjadi aj racionlne sla. Uveden postup prevodu
mono poui aj pri prevode sla so zlomkovou asou {od tavame nielen kladn, ale
aj zporn mocniny zkladu
C. Najskr odrtavame mocniny zkladu s oraz men m
kladnm exponentom
2
( m prevdzame cel as sla
R) a potom odrtavame (zporn)
mocniny zkladu
C s oraz men m zpornm exponentom
3
( m prevdzame desatinn
as sla
R).
Prklad I.4:
195
:625
10
= 11000011
:101
2
. ie slo 195
:625 sme vyjadrili ako set
1
27 +1
26 +0
25 +0
24 +0
23 +0
22 +1
21 +1
20 +1
2;1 +0
2;2 +1
2;3 = 195
2
t.j.
C
n
C
n;1
C
n;2
:
:
:
C
1
C
0
3
t.j.
C
;1
C
;2
C
;3
:
:
:
16
KAPITOLA
1.
SELN
SST
A
VY
met da postupnho delenia
Nech je dan (cel) slo
R. Ozname RB jeho vyjadrenie v sstave so zkladom B a v
sstave
C ako RC. Pre RB a RC plat :
RB = an
;1
Bn
;1
+
an
;2
Bn
;2
+
::: + a
2
B
2
+
a
1
B
1
+
a
0
RC = bm
;1
Cm
;1
+
bm
;2
Cm
;2
+
::: + b
2
C
2
+
b
1
C
1
+
b
0
Na zklade vyjadrenia
RB njdeme vyjadrenie RC.
Ak vydel me
RB zkladom C, dostaneme podiel Q
1
a zvyok
R
1
:
RC = Q
1
C + R
1
Teda
RC = C
(
an
;1
Cn
2
+
an
;2
Cn
3
+
::: + a
1
C
0
] +
a
0
Zvyok
R
1
predstavuje koe cient
a
0
.
Ak alej vydel me podiel
Q
1
zkladom
C, dostaneme
Q
1
=
C(an
;1
Cn
;3
+
an
;2
Cn
;4
+
::: + a
2
] +
a
1
Zvyok
R
2
predstavuje koe cient
a
1
. alej pokraujeme analogicky.
Prklad I.5:
1242
10
,
!
R
16
1242
=16 = 77
{ zvyok 10
77
=16 = 4
{ zvyok 13
4
=16 = 0
{ zvyok 4
Z toho 1358
10
= 4
DA, ie 1358
10
sme vyjadrili ako set
4
256 + 13
16 + 10
1
.
Z skan vedomosti o selnch sstavch { o pojme selnch sstav a o prevodoch
medzi nimi vyuijeme pri alom tdiu kdovania sel a realizci aritmetiky.
Kapitola
2
LOGICK FUNKCIE
Cieom tejto kapitoly je poda prehad informci z matematickej logiky, potrebnch pre
pochopenie innosti po taa. Nau pozornos zameriame na jednu konkrtnu oblas
logiky{ vrokov logiku (alebo vrokov poet). In logick terie (ako napr. predik tov
poet
) pre nae ely nebud potrebn. Kvli zjednodueniu zpisov budeme peci kciu
'vrokov' vynechva, t.j. namiesto spojenia 'vrokov logika' budeme hovori len o
'logike'.
2.1 Logick premenn a zkladn opertory
Najskr zopakujme zkladn pojmy vrokovho potu.
Zkladnm pojmom logiky je vrok. Vrok je tvrdenie, ktor me by bu pravdiv
alebo nepravdiv. Vroky budeme oznaova p smenami
P,Q,R ...
Z vrokov mono pomocou logickch spojok (negcia, konjukcia, disjunkcia, implik-
cia a in) vytvori nov vrok (formlnu de n ciu uvedieme neskr).
Pretoe vrok
P nadobda len dve mon hodnoty (pravda, nepravda), mono ho
povaova za premenn
p nadobdajcu hodnotu z mnoiny
f
pravda, nepravda
g
. Takto
premenn budeme nazva logick premenn .
Mnoinu
f
pravda, nepravda
g
meme reprezentova aj inou dvojprvkovou mnoinou
-
f
true, false
g
i
f
0
1
g
, priom 1 bude znamena 'pravda' a 0 'nepravda'. Na zklade
toho meme logick premenn poklada za premenn nadobdajce hodnoty z mnoiny
f
0
1
g
. Takisto funkcie na
f
0
1
g
nazvame logick funkcie (alebo oper cie) v zmysle
nasledovnej de n cie:
Dencia I.1: Funkciu f, ktorej de ninm oborom je mnoina
f
0
1
g
N , kde N
2
N
a ktorej oborom funknch hodnt je mnoina
f
0
1
g
, nazvame logickou (booleovskou)
funkciou
N premennch.
Zkladn unrne a binrne logick funkcie s:
logick sin (AND, oznaenie
p
q)
logick set (OR, ozn.
p + q)
negcia (NOT, ozn.
p
0
:
p alebo *a)
17
18
KAPITOLA
2.
LOGICK
FUNK
CIE
x y x AND y
0 0
0
1 0
0
0 1
0
1 1
1
x y x OR y
0 0
0
1 0
1
0 1
1
1 1
1
x NOT x
0
1
1
0
Tabuka 2.1: Logick funkcie logick sin, logick set a neg cia
Vo vrokovej logike sa pou vaj aj alie funkcie:
implikcia (
p =
)
q)
ekvivalencia (
p
(
)
q)
nonekvivalencia (XOR,
p
q)
negovan logick set (p
NOR
q
)
negovan logick sin (p
NAND
q
)
x y x XOR y
0 0
0
1 0
1
0 1
1
1 1
0
x y x NAND y
0 0
1
1 0
1
0 1
1
1 1
0
x y x NOR y
0 0
1
1 0
0
0 1
0
1 1
0
Tabuka 2.2: Logick funkcie implik cia, ekvivalencia a nonekvivalencia
Vo vrokovej logike sa tvrdenia (vroky) zapisuj pomocou tzv. forml. V nasle-
dujcej de n cii pop eme formuly obsahujce konjukciu, disjunkciu a negciu
1
, ktor
predstavuj zpis zloench vrokov.
Dencia I.2: Formuly vrokovho potu
2
de nujeme nasledovne:
1. kad logick premenn je (elementrna) formula
2. ak
P je formula, tak aj
:
P je formula
3. ak
P a Q s formuly, tak P + Q aj P
Q s formuly
4. ak
P je formula, tak aj (P) je formula
5. formula vrokovho potu je ubovon (konen) vraz vytvoren pomocou konenej
postupnosti pravidiel 1{4
Dohoda:
Slov logick (booleovsk) budeme vynechva, t.j. pokia to nepovedie k
nejednoznanosti, budeme hovori len o premennch, vrazoch a funkcich.
Pozn mka I.2:
Vid me, e vrokov logiku mono pop sa pecilnou algebrou nad
1
analogicky mono denova aj formuly obsahujce alie logick funkcie
2.2.
DEFINCIA
LOGICKEJ
FUNK
CIE
19
oborom
f
0
1
g
, ktor nazvame Boolova algebra.
Dencia I.3: Dva vrazy nazvame ekvivalentn, ak pre kad kombinciu hod-
nt premennch vystupujcich v tomto vraze sa vsledky vrazov rovnaj.
Cvienie I.1:
Dokte zkladn vlastnosti logickch funkci (rovnos chpeme ako
ekvivalenciu avej a pravej strany).
a,
x + 0 = x, x
0 = 0
b,
x + 1 = 1, x
1 =
x
c,
x + x = x, x
x = x
d,
x +
:
x = 1 (zkon vylenia tretieho)
e,
x
:
x = 0
Cvienie I.2:
: Dokte nasledovn vzahy:
a,
x + y = y + x (komutat vnos)
b,
x
y = y
x
c,
x + y + z = (x + y) + z = x + (y + z) (asociat vnos)
d,
x
y
z = (x
y)
z = x
(
y
z)
e, (
x + y)
y = x
y + y = x + y (distribut vnos)
f,
x
(
x + y) = x
y + y = x + y
Cvienie I.3:
: Doke De Morganove zkony
a,
x + y + z + ::: = x
y
z :::
b,
x
y
z
::: = x + y + z + :::x + y + z :::
Cvienie I.4:
Z predchdzajceho vyplva nasledovn zkon (zoveobecnen tvar
De Morganovch zkonov). Dokte ho:
Nech
f(xyz+:) oznauje vraz obsahujci len premenn x,y,z
f(xyz::: +
) =
f(
:
x
:
y
:
z:::
+)
Prklad I.6:
Poda predchdzajceho cvienia plat napr klad, e:
((
x + y):z +
:
x) = (
:
x
:
y +
:
z)
x
2.2 De ncia logickej funkcie
Kadej formule mono po dosaden hodnt z mnoiny
f
0
1
g
za premenn jednoznane
priradi hodnotu z mnoiny
f
0
1
g
. Formula teda predstavuje funkciu s de ninm
oborom
f
0
1
g
a oborom hodnt
f
0
1
g
. Takto funkciu nazvame logick funkcia. Log-
ick funkciu jednej premennej, ktorej de ninm oborom i oborom hodnt je mnoina
f
0
1
g
nazvame un rnou logickou funkciou. Logick funkciu dvoch premennch, ktorej
20
KAPITOLA
2.
LOGICK
FUNK
CIE
x f
0
f
1
f
2
f
3
0 0 0 1 1
1 0 1 0 1
Tabuka 2.3: Unrne logick funkcie
de ninm oborom je mnoina
f
0
1
g
f
0
1
g
a oborom hodnt
f
0
1
g
nazvame bin rnou
logickou funkciou. Logick funkciu troch premennch, ktorej de ninm oborom je
mnoina
f
0
1
g
3
, nazvame tern rnou logickou funkciou. Analogicky mono de nova
n- rnu
logick funkciu. Pre
n = 0 hovor me o kontantnch logickch funkcich (ktor
s prve dve, kontanty 0 a 1).
Logick funkcia je plne zadan , ak je znma jej hodnota pre vetky mon kom-
bincie hodnt premennch. Meme ju pop sa tabukou (kde je pre kad kombinciu
argumentov funkcie uveden jej vstup), alebo logickm vrazom (vraz, ktor nadobda
hodnotu 0 alebo 1) obsahujcim len premenn ktor s argumentami funkcie.
Prklad I.7:
Funkciu AND mono pop sa tabukou (1.3) a vrazom
x
y, t.j
AND
(
xy) = x
y
Neskr naraz me na pr pady, ke ns nebude zauj ma hodnota funkcie pre vetky
kombincie vstupov. Pre 'nezauj mav vstupy' bude mc funkcia ma ubovon vstup.
Povieme, e vstup je ubovon, alebo nedenovan (vstup nie je uren). O takejto
logickej funkcii hovor me, e je neplne zadan .
Pozrime sa teraz bliie na unrne a binrne logick funkcie. Koko je vetkch
monch unrnych a binrnych funkci ? A ako vyzeraj?
Cvienie I.5:
Dokte, e vetkch
n-rnych funkci je 2
2
n
.
unrne funkcie
Existuj 4 unrne funkcie. S uveden v pravdivostnej tabuke 2.3.
Funkcie
f
0
a
f
3
s kontanty 0 a 1, funkcia
f
1
je funkcia identity
3
a funkcia
f
2
je
neg cia
4
.
binrne funkcie
Binrnych funkci je 16 a s uveden v tab. 2.4.
Medzi funkciami njdeme niektor znme funkcie:
f
0
(
xy) = 0 a f
15
(
xy) = 1 kontanty true, false
3
pre (
8x
)
f
(
x
) =
x
4
pre (
8x
)
f
(
x
) =
:x
2.2.
DEFINCIA
LOGICKEJ
FUNK
CIE
21
x y f
0
f
1
f
2
f
3
f
4
f
5
f
6
f
7
f
8
f
9
f
10
f
11
f
12
f
13
f
14
f
15
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Tabuka 2.4: Binrne logick funkcie
f
3
(
xy) = x a f
5
(
xy) = y identick funkcie
f
12
(
xy) = x
0
a
f
10
(
xy) = y
0
negcia premennej
f
7
(
xy) = x + y = x OR y
logick set
f
1
(
xy) = xy = x AND y
logick sin
f
6
(
xy) = xy
0
+
x
0
y
logick set vo vyluovacom vzname
5
- XOR (
x
y).
f
9
(
xy) = x
0
y
0
+
xy
ekvivalencia (
x
y)
f
8
(
xy) = (x + y)
0
funkcia ani jeden nie je ( NOR )
f
14
(
xy) = (xy)
0
funkcia aspo jeden nie je ( NAND )
Cvienie I.6:
Vytvorte tabuku vetkch ternrnych funkci a vyjadrite ich pomocou
vrazov obsahujcich len spojky NOT, AND, OR.
Cvienie I.7:
Zopakujte predchdzajce dve cvienia, ak sa obmedz me na vrazy
obsahujce len spojku NAND.
Cvienie I.8:
Ako predchdzajce cvienie, no pre spojku NOR.
Disjunktvna a konjunktvna normlna forma
Z prechdzajcich cvien vyplva, e kad
n-rnu funkciu mono vyjadri vrazom
obsahujcim len opercie AND, OR a NOT. Mono vak dosiahnu aj to, aby tento
vraz mal pecilny tvar, o om hovor nasledujca veta:
Dencia I.4: Liter lom nazvame premenn alebo negciu premennej.
Dencia I.5: Vraz P je v disjunktvnej norm lnej forme, ak sa sklad zo stu
podvrazov
pi, o s siny navzjom rozlinch literlov.
Dencia I.6: Vraz Q je v konjunktvnej norm lnej forme, ak sa sklad zo sinu
podvrazov
qi, o s sty navzjom rozlinch literlov.
Prklad I.8:
vraz
(
x*yz) + (xy*z) + (xyz) je v d.n.f.
vraz
(
x + y + z)(x + y + *z)(x + *y+ z)(*x + y + z) je v k.n.f.
5
alebo tie stanie modulo 2
22
KAPITOLA
2.
LOGICK
FUNK
CIE
Veta I.1: Kad logick funkcia sa d zap sa vrazom v tvare disjunktvnej
normlnej formy (zkladn stov tvar) a konjunktvnej normlnej formy (zkladn
sinov tvar).
Disjunktvna norm lna forma
vyjadruje funkciu ako logick set sinov (resp. dis-
junkciu konjunkci ) premennch. Jednotliv siny predstavuj tie kombincie hodnt
premennch, pre ktor funkcia nadobda hodnotu 1. Kad z nich je zap san ako sin
priamych a negovanch premennch tak, aby sm dval hodnotu 1.
Konjunktvna norm lna forma
vyjadruje funkciu ako logick sin stov (resp. kon-
junkciu disjunkci ) premennch. Jednotliv sty predstavuj tie kombincie hodnt
premennch, pre ktor funkcia nadobda hodnotu 0. Kad z nich je zap san ako set
priamych a negovanch premennch tak, aby sm dval hodnotu 0.
Prklad I.9:
Nech je dan ternrna funkcia (pop san nasledovnou tabukou)
x y z f(x,y,z)
0 0 0
0
0 0 1
0
0 1 0
0
0 1 1
1
1 0 0
0
1 0 1
1
1 1 0
1
1 1 1
1
a) Disjunkt vna normlna forma
Pr pady, ke sa
Zodpovedajce siny
funkcia rovn 1
(elementrne konjunkcie)
x y z
0 1 1
*
x
y
z
1 0 1
x
*
y
z
1 1 0
x
y
*
z
1 1 1
x
y
z
Teda
f = x*yz + xy*z+ xyz
(zpis v DNF)
2.3.
ZJEDNODU O
V
ANIE
ZPISU
LOGICKEJ
FUNK
CIE
23
b) Konjunkt vna normlna forma
Pr pady, ke sa
Zodpovedajce sty
funkcia rovn 0
x y z
0 0 0
x + y + z
0 0 1
x + y + *z
0 1 0
x + *y+ z
1 0 0
*
x + y + z
Teda
f = (x + y + z)(x + y + *z)(x + *y+ z)(*x + y + z)
(zpis v KNF)
2.3 Zjednoduovanie zpisu logickej funkcie
Vyjadrenie logickej funkcie pomocou formuly nie je jednoznan. Prirodzenou snahou
je spomedzi vetkch monch forml njs najjednoduchiu formulu, t.j. formulu s
najkrat m zpisom.
Existuje viacero pr stupov hadania najkratej formuly (minimalizcie). Spomenieme
dve metdy minimalizcie: algebraick minimalizciu a minimalizciu pomocou Kar-
naughovch mp.
algebraick minimalizcia
Zaklad sa na algebraickej prave vrazov. Vyu vaj sa pri nej rzne vzahy platiace v
booleovej algebre, z ktorch najvznamnejie sme u uviedli v kapitole 2.3:
x + 0 = x,
x
0 = 0
x + 1 = 1,
x
1 =
x
x + x = x,
x
x = x
x +
:
x = 1
x:
:
x = 0
(
x + y):y = x:y + y = x + y
x:(x + y) = x:y + y = x + y
Prklad I.10:
Funkcia
f je zadan v disjunkt vnej normlnej forme
f = *xyz + x*yz + xy*z+ xyz
Funkciu meme upravi takto :
f = (*xyz + xyz) + (x*yz + xyz) + (xy*z+ xyz) =
=
yz(*x + x) + xz(*y + y) + xy(*z+ z) =
24
KAPITOLA
2.
LOGICK
FUNK
CIE
=
yz:1 + xz:1 + xy:1 = xy + yz + xz
Odtia dostvame
f = xy + yz + xz
Pre funkcie s v& m potom premennch sa vak tto metda sotva d poui
a to preto, lebo tto metda nie je 'systematick', neposkytuje algoritmus pre njde-
nie najkratej formuly, ale je zaloen na 'hdan ' skupiny premennch a pr slunho
vzahu
6
, ktorho pouitie v konenom dsledku povedie k zjednodueniu vrazu.
Uahenie celho procesu zjednoduovania poskytuje metda Karnaghovch mp. Je
zaloen na vhodnej gra ckej reprezentci logickej funkcie, vaka omu sa cel proces
minimalizcie stva jednoduch m a prehadnej m.
Karnaughova met da
Pri zjednoduovan funkcie zv&a spjame siny, ktor sa l ia v jedinej premennej,
napr.
xy *zt + xy*z*t= x:y:*z(*t+ t) = x:y:*z
Karnaughova metda tento proces 'vizualizuje'. Zaklad sa na vytvoren 'mapy'
{ tabuky, v ktorej s uveden hodnoty booleovskej funkcie pre vetky mon vstupy
(hodnoty vstupnch premennch) a to v takom usporiadan , e sa ahko njdu siny,
ktor sa l ia v jedinej premennej.
Karnaughova mapa pre funkciu
n premennch obsahuje 2n pol ok. Kad pol ko m
adresu, ktor predstavuje jednu kombinciu hodnt vstupnch premennch. Pre unrnu
funkciu s mon dve rozlin hodnoty vstupnch premennch, pre binrnu 4, ternrnu
8, at...Je zrejm, e pre funkciu n-premennch mono ahko zostroji Karnaughovu
mapu v n-rozmernom priestore. Postaujcim je vak aj dvojrozmern priestor, rovina{
spsob reprezentcie bude itateovi zrejm z pr kladu:
Na obrzku 2.1 je mapa pre funkciu 4 premennch. Pol ku
p zodpoved vektor
vstupnch hodnt
x = 1, y = 0, z = 1, t = 0.
Dleitm pojmom je tzv. sused polka. Susedia pol ka
p s pol ka s adresami
l iace sa od adresy pol ka
p hodnotou prve jednej premennej. Mapy na obrzku 2.1
znzoruj susedn pol ka k danmu pol ku.
Mapa funkcie sa vytvor tak, e do kadho pol ka Karnaughovej mapy sa zap e
hodnota funkcie
f pre t kombinciu premennch, ktor pol ko predstavuje. Napr klad,
na obr. 2.2 je tabuka funkcie a zodpovedajca Karnaughova mapa.
Z algebraickho hadiska dve navzjom susedn pol ka reprezentuj siny l iace sa
v prve jednom lene (napr.
xyzt + xy*zt). Preto pokia je v oboch susednch pol kach
1, formulu meme zjednodui (
xyzt + xy*zt = x:y:*z(*t+ t) = x:y:*z).
Proces minimalizcie je teda pomerne jednoduch: hadme v mape oblasti 2, 4 alebo
8 susednch pol ok tak, aby sa zo skup n sinov vylila jedna, dve alebo tri premenn.
Vytvranie oblast mus vyu va vetky pol ka obsahujce 1.
Vimnime si obrzok 2.2, kde je pr klad funkcie a k nej prislchajcej Karnaughovej
mapy.
2.3.
ZJEDNODU O
V
ANIE
ZPISU
LOGICKEJ
FUNK
CIE
25
zt
n
xy
00 01 10 11
00
X
01
X
X
10
X
11
p
zt
n
xy
00 01 10 11
00
X
01
10
X
11
X
X
Uva ovan polko je oznaen , jeho susedia s oznaen znakmi 'X'.
zt
n
xy
00 01 10 11
00
X
01
10
X
11
X
X
Vyznaenie susedov danho polka.
Obrzok 2.1: Karnaughove mapy
x y z t f
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
zt
n
xy
00 01 11 10
00
1
0
0
1
01
0
1
1
1
11
0
0
0
1
10
1
0
0
1
Obrzok 2.2: Funkcia
f a jej Karnaghova mapa
26
KAPITOLA
2.
LOGICK
FUNK
CIE
zt
n
xy
00 01 10 11
00
01
1
1
{
1
10
11
{
Obrzok 2.3: Mapa neplne zadanej funkcie
V mape meme vyznai tri oblasti jednotiek. Oblas s dvoma jednotkami
7
:
*
xy*zt + xy*zt = y*zt(*x + x) = y*zt
Oblas so tyrmi jednotkami nad sebou
8
:
x*y(zt + *zt) + x*y(zt + z*t) = xyz(*t+ t) + x*yz(t + *t) =
=
xyz + x*yz = x*y(*z+ z) = x*y
Oblas so tyrmi jednotkami v rohoch mapy:
xy(zt + z*t) + x*y(zt + z*t) = xyt(*z+ z) + xyt(*z+ z) =
=
xyt + xyt = yt(*x + x) = yt
Odtia vsledn zjednoduen zpis funkcie
f = y*zt + x*y+ yt =
o mono zap sa:
f = y*zt + *y(x + t) =
Zjednoduova meme aj neplne zadan funkcie. Vtedy nede novan pr pady do-
de nujeme tak, aby sa v mape dali njs o najv&ie oblasti jednotiek.
Prklad I.11:
Neplne zadan mapu 2.3 je vhodn dode nova (zplni) na mapu
znzornen na obr. 2.4
Treba uvies, e Karnaughova metda je s ce algoritmicky realizovaten (dokonca
jednoduchm algoritmom), no prakticky pouiten len pre funkcie nanajv piatich pre-
mennch (skste odhadn poet operci algoritmu pri minimalizcii funkcie iestich
premennch). Dvodom nie je to, e by Karnaughova metda bola neefekt vna, pr inou
je samotn loha minimalizcie{ o je problm s vekou asymptotickou zloitosou.
6
napr. z mnoiny horeuveden ch vz ahov
7
na obrzku je okolo jednotiek tejto oblasti tvorec
8
tyri jednotky v poslednom stpci
2.3.
ZJEDNODU O
V
ANIE
ZPISU
LOGICKEJ
FUNK
CIE
27
zt
n
xy
00 01 10 11
00
01
1
1
1
1
10
11
Obrzok 2.4: Mapa dode novanej funkcie
28
KAPITOLA
2.
LOGICK
FUNK
CIE
Kapitola
3
KDOVANIE INFORM CI
V po tai sa akkovek informcia reprezentuje binrnou abecedou, t.j. v binrnom
kde. Predpokladme, e kdovanie ne selnej informcie je itateovi dozaista znme
1
.
Nau pozornos preto zameriame na kdovanie sel binrnou abecedou
2
. V 1.kapitole
sme hovorili o binrnej sstave. Je zrejm, e cel slo bez znamienka sta vyjadri v
dvojkovej sstave. Pokia vak uvaujeme cel sla so znamienkom alebo relne sla,
existuje viacero spsobov, ako ich kdova. Dleit pritom je, aby sa pri danom zpise
sel v zvolenom kdovan dali ahko uskutoova aritmetick opercie (napr klad, ako
sme uviedli, v r mskej sstave to ide ako).
Najskr sa budeme venova spsobom kdovania celch sel. Uvedieme zkladn
spsoby kdovania a porovnme ich. Pop eme algoritmy pre vykonanie zkladnch arit-
metickch operci . alej sa budeme venova spsobom kdovania relnych sel, priom
takisto uvedieme ich zkladn spsoby kdovania a aritmetick algoritmy. Porovnme
jednotliv typy kdov, ako pr klady uvedieme niektor existujce normy kdov a op eme
akosti spojen s aritmetikou relnych sel. Na zver op eme aj niektor alie spsoby
kdovania sel, ktor nachdzaj uplatnenie v pecilnych lohch.
Binrne slo budeme zapisova v tvare
an
;1
an
;2
:::a
0
. Jednotliv slice
ai naz-
vame bitmi.
3.1 Kdovanie celch sel
Ako sme spomenuli, v pr pade celho sla bez znamienka je reprezentcia sla jednoduch.
Sta ho vyjadri bitmi
an
;1
an
;2
:::a
0
, priom
an
;1
an
;2
:::a
0
je binrny zpis sla.
Pomocou
N bitov mono reprezentova 2N sel v rozsahu 0:::(2N
;
1).
Na zpis celch sel so znamienkom sa najastejie pou vaj tri kdy: priamy,
inverzn
a doplnkov.
1
v prpade neselnej informcie (napr. textovej, obrazovej, zvukovej) jednotliv objekty oslujeme
(napr. v prpade textovej informcie: jednotliv m znakom konenej abecedy, v ktorej je text psan ,
priradme sla. Takto vieme slom vyjadri kad znak textu, text potom zakdujeme sborom sel).
Neseln informciu teda kdujeme pomocou sel resp. pota samotn nerozliuje in ne seln
informciu a a program ju 'sprvne' interpretuje ako neseln informciu uritho typu.
2
t.j. pomocou dvoch symbolov (0 a 1)
29
30
KAPITOLA
3.
K
DO
V
ANIE
INF
ORM
CI
Pri priamom kde je bit
an
;1
vyhraden pre znamienko (nula zna kladn a jednot-
ka zporn znamienko) a zvyn bity
an
;2
an
;3
:::a
0
predstavuj absoltnu hodno-
tu sla. Takto zpis pripa dve reprezentcie nuly, ako kladn nulu, alebo ako
zporn nulu. Napr klad, pri 4-bitovom zpise 1000 a 0000 predstavuj
;
0 a +0.
Poet reprezentovatench hodnt je 2N
;
1, rozsah je
;
(2N
;1
;
1)
::: 2N
;1
;
1.
Niektor aritmetick opercie sa v priamom kde realizuj pomerne zloito, navye
je kd redundantn (dvojit reprezentcia nuly). Preto sa zaviedli aj in kdy,
z ktorch najvznamnejie s inverzn a doplnkov kd. V tchto kdoch je k-
dovanie kladnch celch sel zhodn s kdovan m v priamom kde (o znamen,
e z
N bitov je najvy rovn nule a zvynch N
;
1 vyjadruje absoltnu hodnotu
sla). Odlin je vak kdovanie z pornch sel.
V inverznom kde
3
k slu
a z skame slo
;
a od tan m sla a od sla 2N
;
1 :
;
a = (2N
;
1)
;
a
Ekvivalentnm postupom z skania sla
;
a je, e sa neguj vetky bity sla a.
Mono teda poveda, e inverzn kd je kd, v ktorom sa kladn sla kduj
priamo (v binrnom tvare) a zporn sla sa z skaj tak, e negujeme vetky bity
absoltnej hodnoty sla.
Podobne ako v priamom kde sa najvy bit prejavuje ako znamienkov a ostatn
bity vyjadruj samotn slo.
Op&, nula m dve reprezentcie (0000 a 1111). Poet reprezentovatench hodnt
je takisto len 2N
;
1 v rozsahu
;
(2N
;1
;
1)
:::(2N
;1
;
1).
Opercie v inverznom kde sa taktie nevykonvaj bez akost . Napr klad, pri
s tavan nie je vsledok vdy priamo v inverznom kde, niekedy (napr. pri s tan
sel s rznymi znamienkami) je potrebn k vsledku pripo ta 1.
Prklad I.12:
V inverznom kde plat , e 3
10
= 0011 a
;
3
10
= 1100. Sksme tieto
sla spo ta:
3
10
0011
;
3
10
1100
1111
= 0
S tajme 3 a
;
2:
3
10
0011
;
2
10
1101
0000
= 0
3
znmom aj ako
je
dnotkov
doplnkov
kd
3.1.
K
DO
V
ANIE
CEL
CH
SEL
31
Pretoe pracujeme so 4 bitovmi slami, za vsledok povaujeme slo 0000. Tento
vsledok vak nie je sprvny, mus me k nemu ete prirta 1, aby sme dostali
sprvny vsledok (0001).
In pr klad:
;
3
10
1100
;
3
10
1100
11000
Op&, k vsledku 1000 mus me prirta 1, aby sme dostali sprvny vsledok 1001
(t.j.
;
6).
V bin rnom doplnkovom kde opan slo z skame jeho od tan m od 2N. Napr.
pri tvorbitovej reprezentcii :
3
10
0011
2
4
10000
;
0011
;
3
10
1101
Ekvivalentn postup z skania opanho slo
;
a k slu a je negova vetky jeho
bity a k vsledku pripo ta 1:
;
a =
:
a + 1
Poet reprezentovatench hodnt je 2N v rozsahu
;
2N
;1
:::(2N
;1
;
1). Vimnime
si, e nulu u nevyjadrujeme dvoma rznymi spsobmi. Preto v tomto kde me
N-bitov vektor nadobda hodnotu z mnoiny, ktor m a 2N rznych hodnt.
Tento kd m spomedzi doteraz uvedench najvyiu efektivitu. Ako uvid me,
ahko sa v om realizuje s tanie a od tanie, priom vsledok je vdy v doplnkovom
kde. Nsobenie a delenie nie je ovea zloitejie ako v doteraj ch kdoch.
Je to tie pozin systm - hodnota reprezentovanho sla sa d vyjadri ako
;
bN
;1
2N;1 +
N
;2
X
i
=0
(
bi
2i) + 1
priom
bi je rovn 0 alebo 1.
Cvienie I.9:
Dokte uveden rovnos.
Prv bit sa prejavuje ako znamienkov, pretoe ak
bN
;1
(bit, ktor m najv&iu
vhu) sa rovn 1, potom je slo zporn, inak je kladn.
32
KAPITOLA
3.
K
DO
V
ANIE
INF
ORM
CI
:::z
2
z
1
z
0
:::a
3
a
2
a
1
a
0
:::b
3
b
2
b
1
b
0
:::
c
3
c
2
c
1
c
0
:::z
3
z
2
z
1
z
0
(smer je od ni ch bitov k vy m)
Obrzok 3.1: S tanie v binrnom kde
3.2 Binrna aritmetika
Vetky zkladn opercie sa v dvojkovej sstave realizuj analogicky ako v ('klasickej')
desiatkovej aritmetike. Navye, pretoe binrna sstava m len dve slice, aritmetick
algoritmy sa zjednoduia.
Navrhneme pr slun algoritmy okrem aritmetiky neznamienkovch celch sel (v
dvojkovej sstave) aj pre aritmetiku v doplnkovom kde.
stanie
Pri s tan v binrnej sstave sa uplatuje analogick postup ako pri s tan v desiatkovej
sstave { vi obr. 3.1 (s tavame postupne od najni ch rdov, priom rtame aj s
pr padnm prenosom do vyieho rdu).
Postup plat nielen pre binrny kd, ale aj pre doplnkov kd. To, e sla s v
doplnkovom kde zaruuje, e uveden algoritmus pre s tanie sel v binrnej sstave
mono poui aj na s tanie sel v doplnkovom kde (zamyslite sa, preo). Vsledok,
ktor dostaneme bude korektn { pokia nedolo k preteeniu. Preteenie sa vak indikuje
odlinm spsobom ako pri sitovan v binrnom kde: k preteeniu dolo, ak je vsledok
zporn, priom sme sitovali dve kladn sla alebo je vsledok kladn a pritom sme
sitovali dve zporn sla.
Z toho, pre i-tu slicu (
ci) vsledku C plat :
ci = ai + bi + zi
;1
kde
zi
;1
je prenos z predchdzajceho rdu.
odtanie
V pr pade binrneho kdu pou vame rovnak algoritmus ako pre od tanie dvoch de-
siatkovch sel.
Nech s dan dve sla
A a B v doplnkovom kde. Rozdiel A
;
B z skame s tan m
sel
A a (
;
B). Znamienko sla B zmen me tak, e najskr negujeme vetky bity sla
B (aj znamienkov) a pripo tame k nemu 1
4
.
4
korektnos tohto postupu vypl va priamo z dencie doplnkovho kdu (vi predch. kapitolu)
3.2.
BINRNA
ARITMETIKA
33
nsobenie
'Run' nsobenie sel
A = a
3
a
2
a
1
a
0
,
B = b
3
b
2
b
1
b
0
vyzer takto:
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
a
3
b
0
a
2
b
0
a
1
b
0
a
0
b
0
(
b
0
A)
a
3
b
1
a
2
b
1
a
1
b
1
a
0
b
1
(
b
1
A)
a
3
b
2
a
2
b
2
a
1
b
2
a
0
b
2
(
b
2
A)
a
3
b
3
a
2
b
3
a
1
b
3
a
0
b
3
(
b
3
A)
c
6
c
5
c
4
c
3
c
2
c
1
c
0
V binrnej sstave sa teda sin
A
B d vyjadri ako:
A
B = A
b
3
b
2
b
1
b
0
=
A
b
3
2
3
+
A
b
2
2
2
+
A
b
1
2
1
+
A
b
0
2
0
Vhodn je, e cifry
b
0
:::b
3
s z mnoiny
f
0
1
g
. Teda ak
bi = 0, tak iastkov
set
bi
A
2i = 0, ak
bi = 1, tak bi
A
2i =
A
2i. Nsobenie sa nm zjednodu - sta
nm previes postup uveden v nasledovnom algoritme nsobenia v binrnej sstave:
1. vezmeme posledn cifru sla
B
2. ak je to 1, tak k celkovmu vsledku pripo tame
A
3. posunieme
A doava (vynsob me A dvomi)
4. posunieme
B doprava
5. ak
B <> 0, tak prejdeme k bodu 2, inak skon me
Koko je maximlny poet elementrnych krokov (operci )
5
algoritmu? Ak
A aj B
s
N-bitov sla, cyklus sa opakuje nanajv N krt. To zna , e algoritmus obsahuje
rdovo
N krokov.
Cvienie I.10:
Dokte formlnejiu formulciu: asov zloitos algoritmu nsobe-
nia (na vstupoch
A,B) je O(logA + logB).
Cvienie I.11:
Ako je to s nsoben m sel v doplnkovom kde?
delenie
Op&, podiel binrnych sel sa d vypo ta pomocou 'tandardnho' algoritmu delenia:
6
Ozname slom
A delenca a slom B delitea. Predpokladajme, e B
6
= 0. Algorit-
mus delenia je nasledovn:
1. zap me slo
B tak, aby slica s najvy m rdom B bola pod slicou s najvy m
rdom sla
A t.j. slo B vynsob me slom 2k pre k=(Poet ci er A){(Poet
ci er
B). Ozname sin B
2k ako
C. Pouijeme tie premenn i, do ktorej
prirad me hodnotu
k
5
posunov sla, staniu dvoch sel, testov bitu alebo sla na nulu
6
neuvedieme ho vo veobecnom tvare, pouitenom pre akkovek sstavu, ale kvli jednoduchosti
zpisu pouijeme jeho prepis pre binrnu sstavu
34
KAPITOLA
3.
K
DO
V
ANIE
INF
ORM
CI
2. ak je
B
A, i-ty bit vsledku bude 0
3. inak od sla
A odrtame slo C, i-ty bit vsledku bude 1
4. vydel me slo
C dvoma (t.j. posume C doprava a zn ime i o jedna
5. opakujeme od bodu 2, pokia
i
6
= 0
opakovan m pre hodnoty
i < 0 dostaneme ako vsledok relne slo
V nasledujcich kapitolch op eme alie metdy kdovania celch sel (napr klad
excess kd a BCD kd) i sel relnych. Nau pozornos zameriame aj na aspekty
reprezentcie sel v po tai { napr. ak mnoinu sel je v jednotlivch kdoch mon
reprezentova pomocou
N bitov, ako mono realizova aritmetick opercie a in.
Kapitola
4
Relne sla a relna aritmetika
4.1 Kdovanie relnych sel
Ako mono zap sa relne slo? Bene sa stretvame s dvoma spsobmi. Prv spsob
zpisu je nap sa cel as sla, potom desatinn iarku
1
a nakoniec desatinn as,
napr klad 3
:1415928. Tto metda zpisu je vak neprehadn, pokia sa sna me zap sa
vemi mal alebo vemi vek slo, napr. 'p&sto milird'. Vhodnej m me by pouitie
druhho ('vedeckho') spsobu zpisu: 5
10
11
.
Reprezentcia relnych sel v po tai je zaloen na rovnakch mylienkach ako
spomenut metdy. Obmedzujcim faktorom vak je, e v po tai meme uchova len
sla uritho (konenho) rozsahu.
Poda toho, o ktor metdu reprezentcie relnych sel sa jedn rozliujeme:
formt s pevnou rdovou iarkou
formt s pohyblivou rdovou iarkou
Pri kdovan v pevnej r dovej iarke je pevne uren, koko bitov zaber cel as
a koko desatinn. Rdov iarka m teda pevne uren poz ciu.
Ak ozna me poz ciu rdovej iarky zprava
p, (t.j. za rdovou iarkou nasleduje
p bitov, napr. pre cel sla je p = 0), potom hodnota sla reprezentovanho v
doplnkovom kde je:
;
bN
;1
2N;p;1 +
N
;1
X
i
=1
bi
2i=p
Vid me, e aj toto kdovanie je pozin. S tanie a od tanie relnych sel v
pevnej rdovej iarke sa realizuje rovnako ako pri celch slach. To ist plat aj
pre nsobenie a delenie. (Preo?)
Me sa vak sta, e vsledok nejakej opercie s slami je slo mimo zobrazitenho
rozsahu, a preto treba upravova vsledok. Napr klad, u pri s tan a od tan
celch sel me vsledok presahova zobraziten rozsah o jednu slicu a pri
1
resp. rdov iarku
35
36
KAPITOLA
4.
RELNE
SLA
A
RELNA
ARITMETIKA
nsoben dvoch N bitovch celch sel a o N slic. Pri desatinnch slach tak-
tie me nasta podobn situcia (napr klad od tan m dvoch vemi malch sel).
Dostaneme vsledok pop saten len v& m potom bitov ako m dan kd. No
v pr pade, e 'nadbyton' informcia s miesta za desatinnou iarkou, meme
vsledok zobrazi do nho kdu - t.j. nahradi presnejie slo menej presnm - i
u odseknutm, alebo zaokrhlenm.
Cvienie I.12:
Nap te kompletn algoritmy pre spomenut opercie.
Poda toho, ak m by najv&ie zobraziten slo a najmenia rozl iten hodnota
sa skontruuje pr slun kd (ie ur sa
n a p). Najmenia rozl iten hodnota je
najmen rozdiel medzi dvomi slami v tomto systme a budeme ju oznaova ,
r.
Uren je parametrom
p - plat , e r je rovn 2
;
p.
Pri zpise sel v pohyblivej r dovej iarke predstavuje po taov analgiu spomenutho
'vedeckho' spsobu zpisu relnych sel.
Pri kdovan celch sel (bez znamienka) sme pomocou
N bitov mohli vyjadri
sla z rozsahu 0
:::2N
;
1, priom ,
r bolo rovn 1. Kdovania celch sel so
znamienkom zn ili doln aj horn hranicu intervalov (napr.
;
(2N
;1
;
1)
::: (2N
;
1)), kdovanie s pevnou rdovou iarkou zn ilo ,
r.
Kdovanie s pohyblivou desatinnou iarkou umouje zap sa pomocou
N bitov
aj sla v&ie ako 2N i menie ako 2
;
N. Pou vame ho vlastne aj v benom
ivote - sta si vimn zpisy: 6
:022
10
23
i 4
:85
10
;54
. Nemen me poet
reprezentovatench hodnt (tch me nanajv 2N), len spsob reprezentcie.
V tomto systme kdovania (FPNS - Floating Point Number System) sa slo za-
pisuje v tvare
M
zE, kde M je mantisa, z je zaklad a e je exponent. Pr slun kd
uruj nasledovn daje:
{ sstava, v ktorej kdujeme zklad (ozna me rb) ('tradine' 10, v po tai
preferujeme binrnu sstavu, teda
rb = 2)
{ poet ci er pouitench na reprezentciu mantisy (m)
{ spsob kdovania (znamienka) mantisy
{ sstavu, v ktorej je kdovan exponent re (op&, 'tradine' 10 a pre po tae
v&inou rovn 2)
{ poet ci er pouitench na reprezentciu exponentu (e)
Kdov slovo (t.j zpis sla) obsahuje nasledovn informcie: hodnoty znamienka,
exponentu a mantisy. V&inou s uloen tak, e znamienko je najvznamnej m bitom,
po om nasleduje exponent a za n m mantisa. Informcie spolon pre cel kd sa
neuchovvaj, ako napr klad poz cia rdovej iarky (t.j. hodnota p).
Mantisu i exponent reprezentujeme akoukovek metdou, ktor povouje zobrazenie
kladnch a zpornch sel. asto sa na to pou va excess kd.
Pri kontrukci kdu treba uri aj poz ciu desatinnej iarky v mantise. Pochopitene,
nemusela by by pevne dohodnut, no potom by kad slo muselo obsahova aj infor-
mciu o tom, na ktorej poz cii z m bitov sa iarka nachdza, o by vyadovalo pr davn
informciu (vekosti log
m bitov). Preto sa prednos dva pevnej poz cii iarky.
4.1.
K
DO
V
ANIE
RELNYCH
SEL
37
Spomenut daje de nuj rozsah reprezentovatench sel (i ,
r). Preto tieto para-
metre kdu ur me na zklade elanej mnoiny reprezentovatench sel.
Dohodneme sa, e rovnako ako u pri racionlnych slach budeme poet slic v
mantise za desatinnou iarkou oznaova symbolom
p. Vimnime si, e to ist slo
meme vyjadri viacermi spsobmi, napr. 3,0
:3
10
1
,300
10
;2
a tak alej
:::
Preto sa pou va tzv. normalizovan binrna mantisa, o je mantisa, ktorej prv cifra
je nula (resp. prv bit je 1), za ou je umiestnen desatinn bodka, za ktorou nasleduje
nenulov slica. Mantisa m teda tvar 0.xz, kde x je nenulov slica a z je slo. Proces
pravy nenormalizovanho sla na normalizovan nazvame normalizcia.
Pretoe kad normalizovan slo m na prvom mieste (za desatinnou bodkou) jed-
notku, nie je dvod ju uklada, m uetr me jeden bit a zdvojnsob me priestor ukla-
datench sel. Tento spsob kdovania nazvame technika skrytho bitu (hidden bit
technique).
Otzkou ale je, ako v tomto pr pade kdova nulu. Nulu kdujeme ako slo s naj-
menou absoltnou hodnotou zobraziten v danom kde, t.j. aproximujeme ho s pres-
nosou ,
r.
Uvedieme teraz niekoko pr kladov rznych kdovan v pohyblivej iarke.
Dohodneme sa, e hodnotu mantisy ozna me symbolom
HM, jej najmeniu mon
hodnotu
HMmin a najv&iu mon HMmax. sla VFPNmin a VFPNmax udvaj naj-
menie, resp. najv&ie slo zobraziten v danom kde. Pre porovnanie s uveden aj
sla
NLMFPN a NRVFPN - prv z nich udva ak najv&ie binrne slo vieme zobrazi
pomocou
m bitov, druh pomocou m + e bitov.
Jednm z pou vanch spsobov zpisu je DEC 32-bitov normalizovan formt s
pohyblivou rdovou iarkou. V tomto systme je
rb = 2, re = 2, m = 24 so skrytm
bitom,
e = 8 exponent sa uklad v excess 128 kde a mantisu povaujeme za kladn.
Potom:
HMmin
= 0
:1000:::
2
= 1
=2
HMmax
= 0
:1111::: 2 = 0:999999940395 = 1:0
;
2
;24
VFPNmin = 0:1000::: 2
2
;127
= 2
:9387
10
;39
VFPNmax = 0:1111:::
2
2
+127
= 1
:7014
10
38
NLMFPN = 2
23
= 8
388608
NRVFPN = 2
23
(2
8
;
1) = 2
:139
10
9
Okrem uvedenho FPNS sa pou vaj aj alie systmy pre 32-bitov aj pre 64-bitov
formty.
Pr kladom je IBM 32-bitov normalizovan formt s pohyblivou desatinnou iarkou.
V om
rb = 16, re = 2, m = 6 so skrytm bitom, e = 7 exponent sa uklad v exces-64
kde a mantisu povaujeme za kladn.
HMmin
= 0
:1000::: 16 = 1=16
HMmax
= 0
:FFFF ::::::
16
= 0
:999999940395 = 1:0
;
16
;6
VFPNmin = 0:1000::: 16
16
;63
= 8
:636
10
;78
VFPNmax = 0:FFFF :::16
16
+63
= 7
:237
10
75
NLMFPN = 15
16
5
= 15
728640
38
KAPITOLA
4.
RELNE
SLA
A
RELNA
ARITMETIKA
NRVFPN = 15
16
5
(2
7
;
1) = 1
:9975
10
9
al mi pr kladmi FPNS s IEEE 32-bitov normalizovan formt s pohyblivou de-
satinnou iarkou:
rb = 2, re = 2, m = 24 so skrytm bitom, ale p = 23, e = 8 exponent
sa uklad v excess-127 kde a mantisu povaujeme za kladn
HMmin
= 1
:000:::
2
= 1
HMmax
= 1
:111:::
2
= 1
:99999988 = 2:0
;
2
;23
VFPNmin = 1:000:::
2
2
;126
= 1
:1755
10
;38
VFPNmax = 1:111:::
2
2
+128
= 3
:4028
10
38
NLMFPN = 2
23
= 8
388608
NRVFPN = 2
23
(2
8
;
2) = 2
:131
10
9
a IEEE 64-bitov formt s pohyblivou desatinnou iarkou:
rb = 2, re = 2, m = 53,
p = 52, e = 11 a exponent sa uklad v excess 1023 formte.
HMmin
= 1
:000:::
2
= 1
HMmax
= 1
:111:::
2
= 2
:0
;
2
;52
VFPNmin = 1:000:::
2
2
;1022
= 2
:225
10
;308
VFPNmax = 1:111:::
2
2
+1023
= 1
:798
10
308
NLMFPN = 2
52
= 4
:51015
NRVFPN = 2
52
(2
11
;
2) = 9
:214
10
18
Napokon spomenieme jeden systm pou van pri vedeckch vpotoch (pou van
napr. na superpo tai Cray){ je to 64-bitov formt s pohyblivou rdovou iarkou. Pre
rb = 2, re = 2, m = 48, p = 48, e = 15, mantisu povaujeme za kladn a exponent sa
uklad v excess 16384 formte. Pri takom vekom exponente Cray nepou va cel rozsah,
ale krajn hodnoty znamenaj preteenie a 'podteenie'.
HEmin
=
;
8
192
HEmax
= 8
191
V FPNmin = 0:1000:::
2
2
;8192
= 4
:584
10
;2467
V FPNmax = 0:1111:::
2
2
+8191
= 5
:4537
10
2465
NLMFPN = 2
48
= 2
:815
10
2465
NRVFPN = 2
48
(2
14
;
1) = 4
:6114
10
18
Tento systm m vemi vek rozsah a je schopn reprezentova znane vek aj znane
mal sla.
4.2 Aritmetick opercie
stanie a odtanie
Nech s dan sla
A, B reprezentovan v pohyblivej rdovej iarke s mantisami Ma, Mb
a exponentami
Ea, Eb.
4.2.
ARITMETICK
OPER
CIE
39
Ak
Ea = Eb, potom sta s ta mantisy a vsledok upravi na normalizovan tvar.
Vo v&ine pr padov s vak exponenty rzne. Vtedy mus me sla upravi na tvar
s rovnakm exponentom:
Ak
Ea > Eb, potom mono set a + b vyrta ako:
a + b = Ma
2E
a
+
Mb
2E
b
= (
Ma
2E
a
;
E
b
+
Mb)
2E
b
To znamen, e mantisu
MA mus me posun o EB
;
EA poz ci doprava, m docie-
lime, e na rovnakch poz cich s cifry s rovnakou vhou. Takto upraven mantisy u
meme s ta. Exponent vsledku je
EB, teda exponent v&ieho sla.
Vsledok vak nemus by v normalizovanom tvare, napr.:
0
:1101
0
:1011
+ 0
:1110
;
0
:1001
1
:1011 - je potrebn posun
0
:0010 - je potrebn posun
vpravo o 1 poz ciu
vavo o 2 poz cie
V takomto pr pade je potrebn vhodne posun mantisu a upravi exponent. Me
djs k preteeniu i podteeniu, o treba detekova a oetri.
nsobenie
Pred vykonan m nsobenia v pohyblivej rdovej iarke nie je potrebn upravi zpis sel
na jednotn tvar. Plat vzah
A
B = Ma
2E
a
Mb
2
Eb = (Ma
Mb)
2E
a
+
E
b
Teda sta vynsobi mantisy a s ta exponenty.
Podobne ako pri s tavan je niekedy potrebn vsledok normalizova. Ako vidie z
nasledujceho pr kladu, v najhorom pr pade je potrebn posun o jednu poz ciu.
Prklad I.13:
nsobenie 'maximlnych' mant s:
0
:1111
0
:1111
0
:1110 - nie je potrebn normalizcia
nsobenie 'minimlnych' mant s:
0
:1000
0
:1000
0
:0100 - je potrebn posun o 1 poz ciu vavo
40
KAPITOLA
4.
RELNE
SLA
A
RELNA
ARITMETIKA
delenie
Delenie sel zap sanch v pohyblivej rdovej iarke sa realizuje podobne ako nsobenie.
Plat vzah:
A=B = (Ma
2E
a
)
=(MbB
2E
b
) = (
Ma=Mb):2E
a
;
E
b
Pri normalizcii je v najhorom pr pade potrebn posun o 1 poz ciu vpravo.
Prklad I.14:
maximlna mantisa
= minimlna
0
:1111=0:1000 = 1:1110 - je potrebn posun o 1 poz ciu vpravo
minimlna mantisa
= maximlna
0
:1000=0:1111 = 0:1000 - normalizcia nie je potrebn
4.3 Realizcia matematickch funkci
Pomocou zkladnch aritmetickch operci mono vyrta aj zloitejie matematick
funkcie. Najjednoduchie je to mon pomocou Taylorovych radov:
sin
x = x
;
x
3
3! +
x
5
5! ;
x
7
7! + ::: =
X
n
=1
;
1n
+1
x
2
n
;1
(2
n
;
1)!
cos
x =
;
1 + x22!
;
x
4
4! +
x
6
6! + ::: =
X
n
=0
;
1n
+1
x
2
n
(2
n)!
arctan
x = x
;
x
3
3 +
x
5
5 ;
x
7
7 + ::: =
X
n
=1
;
1n+1 x2
n
;1
(2
n
;
1)
ex = 1 + x + x22! +
x
3
3! + ::: =
X
n
=0
xn
n!
ln(1 +
x) = Xn = 1
;
1n+1x
n
n x 2 (;11)
1
1
;
x =
X
n
=0
xnx
2
(
;
1
1)
n! = p2nne
n(1+ 1
12
n +
1
288
n
2
;
139
51840
n
3
+
O( 1n
4
))
Pre vpoet tchto funkci existuje aj mnostvo numerickch algoritmov, ktor s
efekt vnejie ako priamoiare pouitie Taylorovych radov (s tanie prvch
k lenov radu).
itate ich me njs v literatre z oblasti numerickej matematiky.
4.4.
NEPRESNOSTI
PRI
VPOTOCH
41
4.4 Nepresnosti pri vpotoch
Ako sme u spomenuli, pri s tan dvoch N-bitovch mant s sa me sta, e vsledn
mantisa bude ma viac ako N bitov. Napr klad:
101010
+110010
11011010
Vo vsledku mme o dva bity viac ako meme zaznamena a otzkou je, o s nimi.
Tento problm meme formulova aj ako problm reprezentcie relnych sel na
po tai. Akmkovek kdom nedokeme vyjadri kad relne slo{ nevieme, ak to
nie je racionlne slo vyjadriten v tvare
m
ze pre 'povolen' me a dan z. Jedinm
rieen m je aproximova ho nejakm inm slom s kratou mantisou, ktor u dokeme
reprezentova. S touto aproximciou vsledku sa alej me vykonva mnostvo arit-
metickch operci s kadou z nich sa celkov chyba alej zv&uje. Preto je potrebn
rozhodn sa pre o najlepiu aproximciu v zvislosti od zanedbvanej asti mantisy a
od alej vykonvanch opercich.
Ozname presn hodnotu
x (t.j. relne slo), jej aproximciu ~x. Absoltna chyba
aproximcie ~
x je rozdiel x
;
~
x. Relativna chyba aproximcie ~x je podiel (x;~x
~
x x 6= 0.
Pre rzne numerick algoritmy (napr. pre rzne zaokrhovania i aritmetick opercie)
odhadujeme absoltnu a relat vnu chybu. Sna me sa dosiahnu o najtesnej horn
odhad.
V alom texte budeme tudova rzne spsoby zaokrhovania. Najjednoduchia
technika je proste nadbyton bity ignorova, vypusti - truncation (usek vanie) v naom
pr klade z 1
:1011010 odseknut m poslednch dvoch bitov dostaneme 1:10110. V pr -
pade aproximcie kladnch sel je aproximcia vdy menia-nanajv rovn ako pvodn
relne slo absoltna chyba je teda vdy kladn. Nech
x je slo a je jeho aproximcia.
Nech
x nepatr do M(qt), potom
x
;
= sgn x(
t
X
k
=1
xkq;k + 1
X
k
=
t
+1
xkq;k)qb
;
;
sgn
x(
t
X
k
=1
xkq;k)qb = sgn x( 1
X
k
=
t
+1
xkq;k)qb =
Odhadnime zhora set tohto nekonenho radu- polo me vetky
xk rovn q
;
1:
j
x
;
j
j
sgn
x( 1
X
k
=
t
+1
q
;
k)qb
j
=
q
;
t
qb = qb
;
t
Na zklade toho u ahko vyrtame odhad relat vnej chyby, o je
q
;
t.
al m pr stupom je zaokrhovanie. N m zmen me sumu odchlok
2
. Postup je
jednoduch a itateovi znmy- vezmeme slo vzniknut useknut m a pridme k nemu
2
suma odch lok (pre
k
-bitov mantisy) sa vytvor tak, e sa vezm vetky mon
k
+1-bitov mantisy,
zaokrhlia sa, vyrta sa absoltna hodnota rozdielu v sledku zaokruhlenia (aproximcie) a pvodnho
sla pre vetky uvaovan sla a potom sa vetky absltne hodnoty rozdielov staj
42
KAPITOLA
4.
RELNE
SLA
A
RELNA
ARITMETIKA
jednotku, ak prv slica odsekvanej asti je
q=2. V desiatkovej sstave (pri 'runom'
zaokruhovan ) to znamenalo, e slica je aspo 5, v dvojkovej sstave mus by 1. Po
trochu zloitejom vpote dostaneme, e
j
x
;
j
= 12qb;t
a
j
x
;
j
j
j
qb
;
t
2
j
j
qb
;
t
2
j
qb
j
1
2q;
t
Odchlky bud teraz aj zporn, no suma absoltnych hodnt odchlok je menia
ako pri usekvan .
Jednou z metd, ako minimalizova chybovos vo vpotoch je vytvori zaokrho-
vaciu schmu(tabuku), ktorej suma odchlok je rovn nule. Metda sa vol zaokrho-
vanie k nule
. Jedna tak tabuka je uveden niie. Iba dve hodnoty s zaokrhovan
inak, ako pri benom zaokrhovan , celkov suma je vak 0. Pri mnostve vpotov
bude chybovos takmer nula.
zaokrhovan vsledok chyba
slo
xx0.00
xx0
0.00
xx0.01
xx0
+0.01
xx0.10
xx1
- 0.10
xx0.11
xx1
- 0.01
xx1.00
xx1
0.00
xx1.01
xx1
+0.01
xx1.10
xx1
+0.10
xx1.11
xx0
- 0.01
Inou metdou je jamming. Navrhol ju von Neumann a je vemi jednoduch - ako
posledn bit sla nap eme za kadch okolnost jedniku. Odchlky pri tejto technike
s v&ie ako pri predchdzajcich, ale pri vekom pote vpotov je celkov chybovos
menia ne pri usekvan , hoci je rovnako rchla.
Uviedli sme niekoko metd aproximovania, a niektor sme aj analyzovali. Podobne
mono analyzova aj algoritmy pre zkladn aritmetick opercie, vpoty funkci i
alie numerick algoritmy. Tieto analzy vak prekrauj rozsah tejto prce, a v pr pade
potreby ich mono njs v knihch z oblast numerickej matematiky. Na m cieom bolo
skr poukza na mon skalia relnej aritmetiky. Ako si u itate zaisto vimol, nemus
v nej plati asociat vny i distribut vny zkon. Takisto nie je 'jednoznan' test na nulu i
test rovnosti dvoch sel, ve za nulu povaujeme ktorkovek slo menie ako najmenie
zobraziten slo v naom kde a podobne, sla povaujeme za rovnak, ak absoltna
hodnota ich rozdielu je menia ako najmenie zobraziten slo. Z toho vyplva, e
aj matematicky ekvivalentn algoritmy nemusia dva rovnak vsledky. Takisto dva
algoritmy nemusia ma ani rovnak absoltnu i relat vnu odchlku vsledku. No me
sa sta, e 'menej presn' algoritmus je rchlej a 'presnej ' algorimus pomal a preto
je nutn vybra si poda typu lohy a z toho vyplvajcich prior t. Navye, vykonvan m
viacerch operci , i dokonca postupnm span m viacerch algoritmov za sebou, ke
4.4.
NEPRESNOSTI
PRI
VPOTOCH
43
vstupom algoritmu(opercie) je vstup predchdzajceho algoritmu(opercie) sa chyba
stle zv&uje. Rieenie, ktor sa v takom pr pade pou va je, e sa rta v tzv. rozrenej
presnosti
- namiesto s N-bitovmi slami (vstup bol N bitov) sa opercie vykonvaj
na 2N-bitovch slach a na konci sa z 2N bitovho vsledku vykonania operci ako
vsledok procedry berie (hornch) N bitov.
44
KAPITOLA
4.
RELNE
SLA
A
RELNA
ARITMETIKA
Kapitola
5
In spsoby kdovania sel
5.1 BCD kd
V niektorch aplikciach je potrebn vemi asto konvertova sla z desiatkovej sstavy
do dvojkovej a sp& (napr klad ke aplikcia asto vypisuje sla v desiatkovom zpise).
V takom pr pade me by vhodn kdova sla odline - tzv. BCD kdom (Binary
Coded Decimaly
).
Tento kd kduje kad cifru desiatkovej sstavy pomocou jej dvojkovho ekvivalentu
vyjadrenho tyrmi bitmi. Pomocou tyroch bitov mono toti vyjadri 16 hodnt BCD
kd z nich vak vyu va len prvch 10 ( sla 0000 a 1001), ostatn s nevyuit. alia
slica v desiatkovom zpise sla sa kduje pomocou al ch tyroch bitov, at...
Prklad I.15:
slo 729
10
bude v BCD zakdovan takto
7
2
9
0111 0010 1001
Pretoe hodnoty 1010
::: 1111 ostvaj nevyuit, poet reprezentovatench hodnt
pomocou
N bitov je 10N=
4
(ak
N je deliten 4 v opanom pr pade je poet zobrazitench
sel 10
b
N=
4c
).
Ako realizova aritmetick opercie? Mono s ce vytvori algoritmy pre s tanie a
od tanie BCD sel, no z dvodu jednoduchosti pou vaj procesory in pr stup: najskr
sa dve BCD sla s taj(od taj) pomocou intrukcie pre s tanie(od tanie) binrnych
sel bez znamienka, a potom sa prevedie korekcia vsledku.
Korekcia pri s tan dvoch dvojcifernch BCD- sel znamen e:
ak dolo pri s tan k prenosu medzi tret m a tvrtm bitom, k vsledku je potrebn
pripo ta 6 (preo?)
ak niie tyri bity (reprezentujce niiu cifru) maj binrne hodnotu v&iu ako
9, tak nastva prenos do vyieho rdu- od tchto bitov sa odrta slo 9 a k vy m
tyrom bitom sa prirta 1
ak vyie tyri bity maj binrne hodnotu v&iu ako 9, vsledok je pr li vek-
dolo k preteeniu
itate si ahko zoveobecn tieto algoritmy pre korekciu po s tan viac ako dvojcifer-
nch BCD sel a takisto pre korekciu po od tan
N-cifernch BCD sel.
45
46
KAPITOLA
5.
IN
SPSOBY
K
DO
V
ANIA
SEL
Cvienie I.13:
Nap te kompletn algoritmy pre korekcie po s tan a od tan BCD
sel.
Cvienie I.14:
Nap te algoritmy pre prevod sel z BCD tvaru na binrny tvar a
naopak, z binrneho tvaru na BCD.
Nsobenie a delenie je najjednoduchie realizova pouit m prevodov: sla sa preved
z BCD formtu na binrny, vykon sa na nich pr slun opercia a vsledok sa op&
prevedie do BCD tvaru. Samozrejme, znova je mon vytvori algoritmus pre priame
vykonanie tchto operci na BCD slach. Toto rieenie si vak vyaduje pr davn obvody
pre aliu nsobiku(deliku) a preto niektor procesory nemaj v svojej intruknej sade
intrukcie pre vykonanie spomenutch operci .
Cvienie I.15:
Nap te kompletn algoritmy pre nsobenie a delenie BCD sel (bez
prevodu na binrne sla).
5.2 Grayov kd
V niektorch situciach je potrebn poui kd, v ktorom sa zpisy (resp. slov kdu)
za sebou idcich slel odliuj minimlne. Prirodzene, nemus sa jedna len o sla,
ale o ubovon usporiadanie kdovch slov (napr. mme kdovan p smen abecedy s
'tradinm' usporiadan m). Grayov kd je potom kd, v ktorom sa kd kadho kdovho
slova a kd jeho nasledovn ka l ia najviac v jednom bite.
Nasledujca tabuka ukazuje ekvivalenty sel v dvojkovom a Grayovom kde pre
prvch 16 sel.
desiatkovo dvojkovo Grayov k d
0
0 0 0 0 0 0 0 0
1
0 0 0 1 0 0 0 1
2
0 0 1 0 0 0 1 1
3
0 0 1 1 0 0 1 0
4
0 1 0 0 0 1 1 0
5
0 1 0 1 0 1 1 1
6
0 1 1 0 0 1 0 1
7
0 1 1 1 0 1 0 0
8
1 0 0 0 1 1 0 0
9
1 0 0 1 1 1 0 1
10
1 0 1 0 1 1 1 1
11
1 0 1 1 1 1 1 0
12
1 1 0 0 1 0 1 0
13
1 1 0 1 1 0 1 1
14
1 1 1 0 1 0 0 1
15
1 1 1 1 1 0 0 0
Z tabuky vidie, e v Grayovom kde sa prechod sla na nasledujcu hodnotu deje
pomocou zmeny jedinho bitu. Plat tie, e slo
N v priamom binrnom kde mono
previes na slo
M v Grayovom kde pomocou vzahu:
M = N 2 N
2
5.2.
GRA
YO
V
K
D
47
Uviedli sme dva spsoby 'netradinch' kdovan sel: BCD kd a Grayov kd.
Existuj aj rzne alie spsoby kdovania selnej i ne selnej informcie napr klad
pre prenos informcie v prostred , ktor me prenan informciu pokodi, sa pou -
vaj kdy odhaujce chybu pri prenose resp. kdy odhaujce a opravujce chyby
(tzv.samoopravn kdy). Inm pr kladom s kdy sliace na kompresiu informcie. Ako
al mno uvies kdy ifrujce informciu. Takisto existuje aj mnostvo al ch kdov
pre kdovanie sel. Pr slun vklad prekrauje rozsah tejto prce itatea odkazujeme
na uebnice z oblasti terie kdovania.
48
KAPITOLA
5.
IN
SPSOBY
K
DO
V
ANIA
SEL
as
I
I
slicov obvody
49
51
V asti I sme hovorili o kdovan informcie, uviedli sme rzne spsoby kdovania
sel a algoritmy pre realizciu aritmetickch operci . Pri vhodnom kdovan sel sme
dokzali realizova aritmetick opercie jednoducho{ algoritmy sa skladali z postupnosti
logickch operci . Ukzali sme aj to, e kad boolovsk funkciu mono realizova
pomocou malej mnoiny tzv. zkladnch logickch funkci . V tejto asti (okrem inho)
ukeme aj technick realizciu zkladnch logickch funkci .
S vyuit m tchto poznatkov sa meme venova obvodom po taa, t.j. technickch
zariaden , ktor rieia konen lohy.
Tematike obvodov je venovan tto as, v ktorej budeme hovori o zkladnch ob-
vodoch, tvoriacich zklad pam&t a procesora. Napriek tomu, e obvody ktor spome-
nieme nebud zloit, s ich znalosou si itate u doke predstavi realizciu zloitej ch
obvodov (napr. pre relnu aritmetiku), alebo aj samotnho procesora (III.as).
itate si me poloi otzku, preo je tejto problematike venovan samostatn as.
Obvody maj riei konen lohy, a kad konen lohu mono transformova na
boolovsk funkciu
1
, zap sa ju trebrs vrazom v DNF a tento vraz realizova pomocou
hradiel pre AND,OR,NOT (oznaovanch aj ako z kladn hradl), ktor u vieme tech-
nicky skontruova. Principilne to mon je, avak u rieenie relat vne jednoduchch
problmov (napr. aritmetick opercie) by mohlo vies k neefekt vnym kontrukcim
(koko hradiel by mala s taka dvoch tvorbitovch sel?)
Mus me preto zvoli in pr stup. Navrhneme jednoduch logick obvody a z nich
budeme sklada zloitejie systmy.
Pozn mka II.1:
Tento pr stup vytvrania obvodov (skladan m z jednoduch ch) sa
nazva syntza logickch obvodov.
Nae obvody bud obsahova len zkladn hradl a pr padne niektor alie jednodu-
ch prvky. V celej asti budeme navrhova obvody rieiace urit lohy, priom nvrhy
bud principilne{ nebudeme uvaova fyziklne obmedzenia (napr. e poet vetven
vstupu hradla je obmedzen), ktor by nm schmy zbytone zneprehadnili.
Logick obvody meme rozdeli (poda toho, i ich sasou je/nie je pam&) na:
kombinan obvody
(obvody bez pam&te, ich vstup zvis len od vstupu)
sekvenn obvody
(obvody s pam&ou, vstup je podmienen nielen aktulnym
vstupom, ale mu ho ovlyvova aj predchdzajce vstupy).
Obom spomenutm kategrim sa budeme venova v samostatnch kapitolch. Na
zver tejto asti sa zmienime aj o tzv. riadiacich obvodoch, ktor tvoria zklad procesora
a podrobne ich op eme v III.asti.
1
za prv, konen loha prirauje vstupu (resp. prvku zo vstupnej mnoiny) v stup (resp. prvok
v stupnej mnoiny). Teda predstavuje funkciu.
za druh, obe mnoiny s konen preto ich prvky mono zakdova slovami nejakho binrneho
kdu. Teda lohu mno transformova aj na binrnu (boolovsk) funkciu, resp. boolovsk
opertor.
52
Kapitola
1
Kombinan obvody
Kombinan obvody s obvody predstavujce (presnejie: realizujce, 'rtajce') urit
boolovsk funkciu.
Na zklade aktulneho vstupu kombinan obvod vyrta aktulny vstup. Nezle
pritom, ak boli predchdzajce vstupy, tieto nijako neovplyvnia aktulny vpoet.
Skrtka, vstup zvis len od aktulnych vstupnch hodnt a nie je ovplyvnen pred-
chdzajcimi vstupmi.
Kad kombinan obvod sa d pop sa boolovskou funkciou a pre kad boolovsk
funkciu existuje kombinan obvod, ktor ju realizuje.
Budeme predpoklada, e as vpotu obvodu je nulov, t.j. okamite po priveden
hodnt na vstup dostaneme vsledok na vstupe. Samozrejme, v skutonosti je as
vpotu nenulov, obvod m urit oneskorenie. Vo v&ine pr padov je vak as vpotu
tak mal, e ho meme povaova za nulov.
1.1 Zkladn kombinan obvody
V predchdzajcej asti sme spomenuli zkladn logick funkcie AND, OR, NOT, XOR,
NAND a NOR, op sali sme ich vlastnosti. Obvody, ktor tieto funkcie realizuj sa naz-
vaj z kladn kombinan obvody, alebo tie z kladn hradl .
Monost technickej realizcie obvodov rtajcich tieto funkcie je viacero. Uvedieme
len jednu z nich (in spsoby realizcie mono njs v odbornej literatre).
Ako sme spomenuli, binrna informcia je fyziklne reprezentovan dvoma rova-
mi elektrickho nap&tia. Najastejie sa pou va tzv. pozitvna logika s rovami 0V
pre symbol '0'
1
a +5V pre symbol '1'
2
(hovor me o technolgi TTL). Z praktickch
dvodov je nemon vdy dosiahnu presne 0V alebo 5V, preto sa znaky binrnej abecedy
reprezentuj intervalom napovch hodnt napr. rovni L zvyajne prislcha nap&tie
z intervalu
h
0
V :::0:8V
i
a rovni H
h
2
V :::5V
i
. Na obrzku 1.1 je znzornen schma
hradla NAND. Ako u itate vie, hradl pre ostatn funkcie mono zostavi vhodnm
spojen m hradiel NAND.
Hradl pre zkladn logick funkcie sa v schmach znaia nasledovnmi znakami
(obr. 1.2).
1
namiesto symbolu '0' sa zvykne hovori o rovni L (low)
2
rove H (high)
53
54
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
Obrzok 1.1: Schma hradla NAND
znaka ANDznaka OR
znaka NOT
znaka XOR znaka NAND
znaka NOR
Obrzok 1.2: Znaky zkladnch logickch funkci
1.2.
VIA
CVSTUPO
V
LOGICK
FUNK
CIE
55
1.2 Viacvstupov logick funkcie
V praxi je asto nutn previes napr. logick set i sin na viac ako dvoch argumen-
tov. Nie je nutn realizova z polovodiovch siastok nov len s potrebnm potom
vstupov, ale sta posklada takto obvod z men ch obvodov, ako je to ukzan v nasle-
dujcom pr klade.
Pr klad: trojvstupov
AND so vstupmi x,y a z mono zrealizova pomocou troch
hradiel
and s dvoma vstupmi napr klad takto: vypo ta sa konjukcia vstupov x a y a
vsledok sa logicky vynsob so vstupom
z. ie AND(x,y,z) = (x and y) and z.
Polome si otzku, nakoko efekt vne sa d tto loha riei. Predpokladajme, e
chceme zostroji obvod na logick sin 7 lenov. Mme to urobi dvoma spsobmi:
Pri prvom spsobe realizcie funkciu
AND(ABCDEFG) vyjadr me vrazom
(
H and (G and (F and (E and (D and (C and(B and A))))), druh spsob je (X and (E and Y )),
kde
X = ((A and B)and C) a Y = ((F and G) and H).
V oboch spsoboch rieenia maj obvody rovnak poet hradiel
AND, no l ia sa
h0bkou (a teda asom vpotu). Vo veobecnosti, ak mme
N vstupov, tak prvm
spsobom vytvor me obvod s h0bkou
N
;
1 a v druhom pr pade obvod s h0bkou
d
log
N
e
.
1.3 Zjednotenie, prienik a doplnok
Nech s dan dva n-bitov binrne vektory. Na nich mono vykona logick opercie
3
.
Zkladnmi logickmi operciami s binrnymi vektormi s zjednotenie, prienik a negcia.
Uvedieme ich realizciu a pr klady pouitia.
a, zjednotenie
Dencia II.1: Nech A,B,C s binrne veliiny, A = a
0
:::an
;1
,
B = b
0
:::bn
;1
a
C = c
0
:::bn
;1
. Zjednoten m veli n
A,B nazvame veliinu C = c
1
c
2
:::cn, pre ktor
plat :
c
0
=
a
0
+
b
0
:::
:::
cn = an + bn
Prklad II.1:
10100101
01011100
11111101
Realiz cia:
na rovni jednho bitu: jednm hradlom OR
3
medzi jednotliv mi zlokami t chto vektorov, t.j. medzi jednotliv mi bitmi
56
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
pre
n-bitov vektor: Aby sme realizovali dan funkciu pre cel vektor, realizu-
jeme ju pre kad bit. Pr slun obvod vznikne zlen m
n takchto obvodov, m
dostaneme obvod so vstupmi
a
0
b
0
a
1
b
1
:::an
;1
bn
;1
a vstupmi
c
0
c
1
:::cn
;1
.
Cvienie II.1:
Navrhnite obvod
4
pre zjednotenie dvoch 4-bitovch vektorov.
Prklad pou itia
: Spjanie informci , napr. spojenie 2 podslov do jednho slova
(nech s dan podslov
A,B a slovo C. Slovu C prirame hodnotu B, slovo C posunieme
vpravo tak, aby sa
B dostalo do 'avej' asti slova C (na vyie bity). Zjednot me slovo
C s podslovom A).
b, prienik
Dencia II.2: Nech A,B,C s binrna veliiny, A = a
0
:::an
;1
,
B = b
0
:::bn
;1
a
C = c
0
:::bn
;1
. Prienikom veli n A,B nazvame veliinu C ak plat :
c
0
=
a
0
b
0
:::
:::
cn = an
bn
Realiz cia:
na rovni jednho bitu: jednm hradlom AND
Prklad pou itia
: -opan proces - rozdelenie informci , alebo z skanie asti inform-
cie.
Pouime predchdzajci pr klad, majme slovo
C, z ktorho chceme oddeli podslovo
A. Zaveme slovo M, tzv. masku, ktor bude obsahova jednotky tam, kde sa v slove C
nachdza podslovo
B. Urobme prienik slov C a M, vsledkom je podslovo B.
c, doplnok
Dencia II.3: Nech A je binrna veliina A = a
0
a
1
:::an
;1
, Doplnkom veliiny
A
nazvame veliinu
C = c
1
c
2
:::cn ak plat :
c
0
=
:
a
0
:::
:::
cn =
:
an
Realiz cia:
na rovni jednho bitu: jednm hradlom NOT
Prklad pou itia
: napr. pri binrnej aritmetike, alebo na maskovanie preruen (vi
al text).
4
t.j. nakreslite schmu obvodu
1.4.
VBER
INF
ORM
CIE
-
VHYBKA
57
1.4 Vber informcie - vhybka
V praxi sa asto stretvame s problmom, ke do jednho miesta (vstupu obvodu)
privdzame viacero rznych dajov, z ktorch ns vak zauj ma prve jeden, poda splne-
nia istch podmienok.
Napr klad, nech je dan obvod pre aritmetiku na celch slach, ktorho vstupom
s dva vektory
X,Y a pr kazov vektor S peci kujci operciu, ktor sa m vykona.
Chceme, aby za
X i Y mohol by dosaden ktorkovek register po taa, priom riadiacu
informciu roz rime o
SX a SY , vyberajcu registre dosadzovan za X a Y . Potrebu-
jeme teda poui dva obvody s funkciou 'vberu'- z viacerch dtovch informci na
vstupe chceme (vybra) zobrazi na vstupe prve jednu, uren riadiacou informciou.
S vyuit m tohto obvodu u je rieenie naej lohy prost: dtovm vstupom oboch ob-
vodov bude sada registrov po taa
5
, na riadiace vstupy prvho z nich privedieme
SX a
na druhho
SY a nakoniec, vstup z prvho pripoj me na vstup X a druhho na vstup
Y .
Navrhnime spomenut obvod, realizujci vberov funkciu. Tento obvod sa nazva
vhybka
.
Obvod m dva dtov vstupy (binrne vektory)
A, B a dva riadiace vstupy (bity)
Sa a Sb. Na vstup sa zobraz jeden zo vstupnch vektorov. Na vber slia riadiace
premenn
Sa, Sb. Ak m premenn Sa hodnotu 1, vstupom je vektor A, ak m premenn
Sb hodnotu 1, vstupom je premenn B. Stav, ke s obe riadiace premenn rovn 1
nepredpokladme (pretoe to odporuje elu obvodu- vybra zo vstupov na vstup prve
jeden). Tto funkcia je teda neplne zadan (vi as I).
S
A
S
B
C
0
0
0
0
1
A
1
0
B
1
1
?
Tabuka 1.1: Vhybka 3
Vber premennej sa realizuje pomocou vzahu
Y = A
Sa + A
Sb.
Realiz cia
:
v pr pade 1-bitovch premennch
A,B mono priamo poui uveden vzah a
zostroji obvod z dvoch hradiel AND a jednho hradla OR (itateovi odporame
nakresli si pr slun schmu).
v pr pade
n-bitovch premennch A, B sa tie vyuije rovnak princ p, pr slun
obvod vytvor me spojen m
n jednobitovch obvodov.
Cvienie II.2:
Nakreslite schmu vhybky pre dva tvorbitov vektory
A, B.
Cvienie II.3:
Nakreslite schmu vhybky pre tyri trojbitov vektory
A,B,C,D.
5
presnejie povedan, na vstup bud priveden obsahy vetk ch registrov
58
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
1.5 Testovanie parity
Pretoe sa informcia prena medzi rznymi zariadeniami, me vplyvom ruenia djs
k pokodeniu informcie. Sprvny prenos sa kontroluje pomocou pridania dodatonej
informcie k sprve, t.j. al ch bitov. Pri prij man sprvy sa potom kontroluje hodnota
tchto bitov. Najjednoduch m spsobom je pridan m paritnho bitu. Pridan bit m
hodnotu 1, ak je poet bitov neprny a 0 ak je prny. Touto metdou mono odhali
vznik jednej chyby.
Potrebujeme funkciu (obvod), ktor umouje zisti paritu danej informcie. S jej
pomocou vieme:
skontrolova sprvnos informcie (pr jem)
uri hodnotu paritnho bitu (vysielanie informcie)
Vyuijeme vlastnos funkcie XOR. Tto funkcia nadobda pre dve i viacej premen-
nch hodnotu:
1,
ak je poet jednotiek neprny
0,
ak je poet jednotiek prny
Nvrh pr slunho obvodu prenechvame na itatea.
Cvienie II.4:
Navrhnite obvod pre testovanie parity 4-bitovho vektora.
1.6 Dekder
Dekder m
n vstupov a 2n vstupov. Vstupy s oznaen slami z intervalu 0:::2n
;1
.
Dekder interpretuje
n-bitov vstup ako n-bitov slo (n-cifern binrne slo) x, a na
vstupe s slom
x sa objav 1. Ostatn vstupy maj hodnotu 0.
Funkciu mono pop sa tabukou 1.2 .
z
n;1
:::
z
1
z
0
e
2
n
;1
::::::
e
1
e
0
0
::: 0 0
0
:::::: 0 1
0
::: 0 1
0
:::::: 1 0
1
::: 1 1
1
:::::: 0 0
Tabuka 1.2: Dekder
1.7.
PRIORITN
K
DER
59
Pr klad zpisu funkcie pre 2 vstupy a 4 vstupy v DNF:
Majme vstupy
z
0
,
z
1
a vstupy
e
0
,
e
1
,
e
2
,
e
3
. Funkciu meme zap sa:
e
0
= *
z
0
*
z
1
e
1
=
z
0
*
z
1
e
2
= *
z
0
z
1
e
3
=
z
0
z
1
Pou itie
: pri dekdovan intrukci , pri zpise a tan do pam&te, zisovanie adries
perifrnych zariaden , at
6
...
Cvienie II.5:
Navrhnite dekder s dvoma bitmi na vstupe.
Cvienie II.6:
Navrhnite dekder so tyrmi bitmi na vstupe.
Pozn mka II.2:
Nulov vektor je reprezentovan signlom s nulovm nap&t m. Pre-
to by nepr tomnos signlu na vstupe (obvod nikto nepou va) mohla by interpretovan
ako nulov vektor, nula a dekder by v tomto pr pade dval
e
0
= 1.
Je viacero monost , ako tomu zabrni, uvedieme si jeden z nich. Zavedieme nov
vstup E (enable vstup), udvajci, i sa s obvodom pracuje. Ak
E = 0, vstupom obvodu
je nula bez ohadu na hodnoty ostatnch vstupov.
Teraz nm sta jednoducho upravi n obvod. pravu prenechvame na itatea.
Enable signl budeme vyu va aj neskr, napr. pri tzv. synchronizci obvodov.
1.7 Prioritn kder
Pln opan funkciu ako dekder. M 2n (o slovanch) vstupov a
n vstupov. Na vstup
pole slo jednotkovho vektora s najvyou prioritou (t.j. vstupu na ktorom je jednotka
a spomedzi vetkch takch vstupov m najniie slo).
Obrzok 1.3: Znaka prioritnho kdera
Popis funkcie obvodu je v tabuke 1.3.
6
konkrtny spsob pouitia dekdera naprklad na dekdovanie intrukci i alie spomenut innosti
bude itateovi zrejm neskr
60
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
e
2
n
;1
::::::
e
1
e
0
z
n;1
:::
z
1
z
0
0
:::::: 0 1
0
::: 0 0
0
:::::: 1 0
0
::: 0 1
1
:::::: 0 0
1
::: 1 1
Tabuka 1.3: Prioritn kder
Pouitie: napr klad pri mechanizme preruen procesora{ pri spracovan iadost o
preruenie.
Nech naraz vzniklo viacero iadost o preruenie a potrebujeme z nich vybra pre-
ruenie s najv&ou prioritou. Priveme ich na vstup PC, na vstupe sa objav slo
preruenia s najvyou prioritou (bol pripojen na vstup PC s najmen m slom).
Realiz cia obvodu
:
Obrzok 1.4: Schma prioritnho kdera
1.8 Multiplexor
Obsahuje 2n informanch,
n adresovch vstupov a 1 vstup. Ak je na adresovch
vstupoch slo
x, na vstupe sa objav hodnota toho informanho vstupu, ktor m
slo
x. Multiplexor teda funguje ako n-vstupov vhybka. Me ma aj enable vstup.
Popis funkcie:
1.9.
DEMUL
TIPLEX
OR
61
Obrzok 1.5: Znaka multiplexora
e
2
n
;1
::::::
e
1
e
0
a
n;1
:::
a
1
a
0
z
;
::::::
;
s
0
::: 0 0 s
;
:::::: s
;
0
::: 0 1 s
s
::::::
;
;
1
::: 1 1 s
Tabuka 1.4: Multiplexor
Pouitie multiplexora:
vhybka
prevod informcie zo sriovho na paraleln
realizcia booleovskch funkci
pripojenie registrov k ALU
pripojenie viacerch obvodov k po tau
Multiplexor sa d realizova dvoma spsobmi:
a, prv spsob (obr. 1.6)
b, druh spsob (realizcia pomocou dekdera{ prenechvame na itatea v nasledu-
jcom cvien :)
Cvienie II.7:
Navrhnite multiplexor. Vyuite dekder.
1.9 Demultiplexor
Pln opan funkciu ako multiplexor. Jedin bit umiestuje na zvolen vstup. Presne-
jie, vstupmi demultiplexora s: dtov bit
z a bity a
0
:::an
;1
predstavujce
n-bitov
adresu. Hodnota
z sa objav na vstupe s adresou a
0
a
1
:::an
;1
, t.j. na adrese
ea
0
a
1
:::a
n;1
.
62
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
Obrzok 1.6: Schma multiplexora
Obrzok 1.7: Znaka demultiplexora
z a
n;1
:::
a
1
a
0
e
2
n
;1
::::::
e
1
e
0
s
0
::: 0 0 0
0
:::::: 0 s
s
0
::: 0 1 0
0
:::::: s 0
s
1
::: 1 1 s
0
:::::: 0 0
Tabuka 1.5: Demultiplexor
1.10.
POR
O
VN
V
A
C
OBV
OD
63
Schma demultiplexora je na obrzku 1.8.
Obrzok 1.8: Schma demultiplexora
1.10 Porovnvac obvod
lohou tohto obvodu je porovna dve binrne veliiny
A, B reprezentujce cel sla bez
znamienka. Vsledkom by mala by informcia, i
A = B, A > B alebo A < B. Naviac
chceme, aby bolo mon takto obvody uritm spsobom spja tak, aby sme mohli
porovnva sla v&ieho rozsahu, ne je rozsah vstupov
A a B.
Na tieto ely sli porovnvac obvod.
Obrzok 1.9: Znaka porovnvacieho obvodu (kompartora)
Aby sme dan funkciu realizovali, pomeme si men mi obvodmi. Najskr navrhneme
obvod, ktor porovnva jednobitov vstupy. Predpokladajme, e obvodom porovnvame
64
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
i-te bity sel
A,B priom sme u porovnali vetky ostatn niie bity (t.j. od najniieho
a po j-ty bit, kde j=i-1). Obvod m dtov vstupy
ai, bi (ktor predstavuj porovn-
van bity) a vstupy
x,y, a z (x m vznam ' slo A bolo doteraz menie ako B', t.j.
ai
;1
:::a
1
a
0
bi
;1
:::b
1
b
0
vstupy
y a z maj analogick vznam v zmysle 'rovn', resp.
'v& '). Vstupy obvodu
X, Y a Z s analgiou vstupov x,y a z { udvaj vzah sel
aiai
;1
:::a
1
a
0
a
bibi
;1
:::b
1
b
0
.
innos obvodu popisuje tabuka 1.6.
Obrzok 1.10: Znaka jednobitovho kompartora
a
i
b
i
x y z X Y Z
0 0 1 0 0 1 0 0
0 0 0 1 0 1 1 0
0 0 0 0 1 0 0 1
0 1
;
;
;
1 0 0
1 0
;
;
;
0 0 1
1 1 1 0 0 1 0 0
1 1 0 1 0 0 1 0
1 1 0 0 1 0 0 1
Tabuka 1.6: Porovnanie jednobitovch sel
Technick realizcia jednobitovej s taky poda tabuky 1.6 je u trivilna a prenechme
ju na itatea.
Kaskdovitm spojen m viacerch elementrnych obvodov vznikne viacbitov porovn-
vac obvod (obr. 1.11). Vstupom elementrnych porovnvac ch obvodov mu by aj
viacbitov sla, napr. porovnvac obvod pre 16-bitov sla meme vytvori spojen m
tyroch obvodov pre porovnanie tvorbitovch sel.
Cvienie II.8:
Navrhnite obvod cmp porovnvajci dve tvorbitov sla
Cvienie II.9:
S dan dva obvody CMP pre porovnanie osembitovch sel. Pomo-
cou nich navrhnite obvod pre porovnanie dvoch estnsbitovch sel
1.11.
REALIZ
CIA
ZKLADNCH
ARITMETICKCH
OPER
CI
65
Obrzok 1.11: Schma kompartora
1.11 Realizcia zkladnch aritmetickch operci
V tejto kapitole navrhneme obvody realizujce zkladn aritmetick opercie{ s tanie
a od tanie. Na ich realizciu postauj kombinan obvody. Zloitejie opercie, ako
napr. nsobenie a delenie sa vykonvaj pomocou sekvennch obvodov a bud pop san
neskr.
1.11.1 Staka (sumtor)
Je zkladn aritmetick obvod. Vstupom s dve
n-bitov binrne sla A+B, vstupom
je ich set
C = A + B a informcia, i dolo k preteeniu (R).
Obrzok 1.12: Znaka s taky (sumtora)
Najskr realizujeme jednobitov s taku. Jednobitov s taka s ta 2 jednobitov
66
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
sla + bit prenosu z predchdzajceho rdu. Vstupom je vsledn slica a prenos do
vyieho rdu.
a
i
b
i
r
i
c
i
r
i+1
0 0 0 0
0
0 0 1 1
0
0 1 0 1
0
0 1 1 0
1
1 0 0 1
0
1 0 1 0
1
1 1 0 0
1
1 1 1 1
1
Tabuka 1.7: Jednobitov s taka
Vid me, e
ri = aibi + airi
;1
+
biri
;1
ci = ai XOR bi XOR ri
;1
Samotn s taku vytvor me skladan m men ch s taiek, napr klad z jedno- alebo
tvorbitovch. Pre ilustrciu, spojme kaskdovite tyri jednobitov s taky (obr. 1.13).
Vid me, e medzi vstupmi obvodu
A, B sa objavil aj 'poiaton prenos' Rin. Ak
je rovn nule, na vstupe dostaneme
A + B, jeho nastavenie na jedna m za nsledok
prirtanie jednotky k vsledku, t.j dostaneme
A + B + 1. Tto vlastnos vyuijeme
neskr, pri realizci od tania v sitovacom obvode
Rin nebude sasou vstupu a bude
kontantne nastaven na 0.
Vznamn je vstupn prenos
Rout. Je to vlastne prenos do rdu n + 1. Ak je
nastaven, tak dolo k preteeniu.
Cvienie II.10:
Navrhli sme jednobitov s taku. Navrhnite tvorbitov s taku,
t.j. obvod
sum situjci dve tvorbitov sla.
1.11.2 Staka so zr chlen m prenosom
Kaskdovit s taka je ahko realizovaten, avak pomal. Vpoet toti mus prebieha
postupne: najprv treba vyrta set slic
ai + bi a uri prenos ri, a potom me
nasledova vpoet
ai
+1
+
bi
+1
. S taka m linernu asov i priestorov zloitos.
innos s taky vieme urchli tak, e dopredu vypo tame prenos pre kad rd.
Tieto prenosy vieme vyrta a urchli tak innos s taky, avak na kor priestorovej
zloitosti. Takto s taku nazvame s taka so zrchlenm prenosom.
Sksme odvodi vzahy pre prenosy:
r
0
=
a
0
b
0
r
1
=
a
1
b
1
+
a
1
a
0
b
0
+
b
1
a
0
b
0
r
2
=
a
2
b
2
+
a
2
r
1
+
b
2
r
1
rk = akbk + rk
;1
(
ak + bk)
1.11.
REALIZ
CIA
ZKLADNCH
ARITMETICKCH
OPER
CI
67
Obrzok 1.13: Schma s taky so sriovm prenosom
68
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
Ak dopredu vyrtame prenosy, asov zloitos s taky so zrchlenm prenosom bude
kontantn
7
.
Potrebn je vak prida hradl rtajce prenosy dopredu. Koko hradiel bude zrch-
len s taka ma? Odhadnime priestorov zloitos: nech
R
0
R
1
:::Rn oznauj zloi-
tos obvodu na vpoet
r
0
r
1
:::rn. Platia rekurentn vzahy:
R
0
= 1
R
1
= 7
a
Ri = 2Ri
;1
+ 4
(
pre i
1)
Z oho vidno odhad
Rn zdola:
Rn
4
2n
;
2
Priestorov zloitos je teda exponencilna.
V praxi sa kombinuj obe metdy, napr. na realizciu 32 bitovej s taky sa pouije
8 tvorbitovch s taiek so zrchlenm prenosom. Rzne kombincie a vsledn asov
a priestorov zloitos ukazuje nasledovn tabuka: (daj
truktra udva poet ele-
mentrnych s taiek
vekos vstupnch slov elementrnej s taky v bitoch ).
truktra Priestorov asov
zloitos
zloitos
1
32
2
32
1
2
16
2
2
16
2
4
8
4
2
8
4
8
4
8
2
4
8
32
1
322
32
Tabuka 1.8: Porovnanie asovej a priestorovej zloitosti pri rznych kontrukcich 32-
bitovej s taky.
Uvedieme ete schmu s taky so zrchlenm prenosom (obr. 1.14).
1.11.3 Staka pre sla v doplnkovom kde
Na s tavanie meme poui 'klasick' s taku, je vak potrebn overi konzistentnos
vsledku, t.j. i nedolo k preteeniu.
Preteenie pri s tavan dvoch sel v tvare binrnych doplnkov me nasta len pri
s tavan dvoch kladnch alebo dvoch zpornch siel. Poda oho ho spoznme? Ak
sme sitovali dve kladn sla a vsledok je zporn, alebo sme sitovali dve zporn sla
a vsledok je kladn, tak dolo k preteeniu. Preteenie teda mono de nova nasledovne:
P = sasbs0c + s0as0bsc
1.11.
REALIZ
CIA
ZKLADNCH
ARITMETICKCH
OPER
CI
69
Obrzok 1.14: Schma s taky so zrchlenm (paralelnm) prenosom
70
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
Obrzok 1.15: Schma s taky s urovan m OF
(kde
P je paritn bit a sasbsc s znamienka abc)
1.11.4 Odtaka
S taku vieme poui aj vo funkcii od taky. Vyuijeme pritom spomenut vzah:
A
;
B = A +
:
B + 1
To znamen, e rozdiel dvoch sel A a B dostaneme tak, e sa slo
A s ta s logickm
doplnkom (negciou) sla
B a k vsledku sa pripo ta jednotka. Tto jednotku meme
priamo privies na vstup
Rin s taky.
Takto realizovan od taku mono poui aj pre neznamienkov (binrny) kd a
aj pre znamienkov (doplnkov) kd. V pr pade binrneho kdu je vsledok rozdielu
A
;
B korektn iba ak A
B, v pr pade doplnkovho kdu treba detekova preteenie
podobnm spsobom ako pri s tan .
Realizcia je jednoduch, nebudeme ju uvdza.
Cvienie II.11:
Navrhnite od taku sel v binrnom kde.
Cvienie II.12:
Navrhnite od taku sel v doplnkovom kde.
7
nebudeme aka na v sledok z predchdzajho rdu - poet krokov nezvis od potu slic stancov
- preto je poet krokov kontantn
1.12.
ARITMETICK
O-LOGICK
JEDNOTKA
(ALU)
71
1.12 Aritmeticko-logick jednotka (ALU)
Aritmeticko-logick jednotka je sasou procesora. Realizuje aritmetick a logick oper-
cie. Jej vstupom s operandy a kd opercie, vstupom je vsledok opercie a informcie
o priebehu vpotu (napr. preteenie).
Jednoduch ALU me vyzera nasledovne:
Na vstup sa zadvaj vstupn daje a riadiace signly. Vstupn daje tvoria
n-bitov
sla
A,B a poiaton prenos c. Riadiace povely M, S
0
:::S
3
uruj dan funkciu.
Vstup
M udva, i sa jedn o logick alebo aritmetick funkciu, slovo S
0
S
1
S
2
S
3
je
kdom funkcie.
Naa ALU bude vytvra 16 logickch a 16 aritmetickch funkci , zahrnujcich rzne
varicie s tania a zkladnch operci . Uvedieme si len tie zauj mav:
aritmetick
:
F = A + B
F = A + B
;
1
F = A
F = A
;
B
F = A + 1
F = A + A
F = A + B + 1 F = A
;
1
F = 1
logick
:
F = A
0
F = B
0
F = A
F = (AB)
0
F = AB
F = 1
F = B
F = A
B
F = A + B
F = 0
F = (A + B)
0
F = (A
B)
0
Na realizciu jej funkci sta s taka sel v doplnkovom tvare a niekoko zkladnch
hradiel. Pre vytvorenie kompletnho obvodu ALU potrebujeme ete niekoko jednoduchch
obvodov. Napr klad dekder, s ktorm dekdovan m vstupu
MS
0
S
1
S
2
S
3
vyberieme
'sprvny' podobvod, t.j. obvod realizujci poadovan funkciu.
Nie je ak predstavi si realizciu tejto ALU, preto nakreslenie danho obvodu
prenechme na itatea.
Cvienie II.13:
Navrhnite spom nan ALU.
Uveden ALU je dos jednoduch no jednoduch bola aj jej realizcia. Bez v& ch
akost by sme dokzali prida aj alie opercie:
Cvienie II.14:
Navrhnite ALU s v& m mnostvom funkci (napr. s operciami
porovnania argumentov, s tanie a od tanie BCD sel, s pr znakmi Sign (znamienko
vsledku), Zero (vsledok je nula), Parity (vsledok m prnu paritu), Overow (pretee-
nie).
Zostrojenie takejto ALU tie nebude ak a pritom dostaneme sbor aritmeticko-
logickch intrukci vemi bl zky star m po taom (napr. Sinclair), ktor zloitejie
opercie (ako napr. nsobenie) nemali zahrnut v intruknom sbore, ale bolo potrebn
realizova ich algoritmom skladajcim sa z jedoduchch operci .
72
KAPITOLA
1.
K
OMBINA
N
OBV
OD
Y
CPU zvyajne m aj intrukcie pre zloitejie opercie: nsobenie, delenie, BCD
aritmetiku, relnu aritmetiku, posuvy a rotcie. Tie sa vykonvaj viackrokovmi algo-
ritmami a na ich realizciu potrebujeme obvody s pam&ou, nazvan sekvenn obvody
(napr. u na vykonanie cyklu potrebujeme riadiacu premenn, ktorej hodnota sa ta a
men { mus by uchovvan).
Kapitola
2
Sekvenn obvody
2.1 Veobecn charakteristika sekvennho obvodu
Kombinan obvody realizovali jednoduch logick funkcie, ktorch vsledok zleal len
na aktulnych vstupoch. Vpoet nebol nijako ovplyvovan predchdzajcimi vstupmi.
Jednej vstupnej hodnote zodpovedala jedna vstupn hodnota.
Sekvenn obvody
s obvody, ktor s zvisl aj na predchdzajcich vstupoch, resp.
predchdzajce vstupy ovplyvuj vpoet s aktulnym vstupom. Hovor me, e obvod
m urit vntorn stav z danej konenej mno iny vntornch stavov, o vlastne znamen,
e sasou obvodu je konen pam&.
Preto jednej vstupnej hodnote me zodpoveda vea vstupnch hodnt (v zvislosti
od predchdzajcich vstupov). Samotn nzov sekvennho obvodu pochdza z toho, e
sa spracvaj postupnosti (sekvencie) vstupov.
Pr kladmi sekvennch obvodov s napr klad pam&ov leny, posuvn registre, po -
tadl impulzov, aritmetick funkn bloky zobrazujce sla sriovm spsobom. Sekvenn
obvody meme tie poui ako riadiace obvody po taov a inch zariaden pri riaden
nespojitch procesov (napr. riadiaci obvod automatickej prky).
Nemono ich pop sa jednoduchou tabukou, ktorou sa popisuj kombinan obvody
1
,
mono vak poui opisn spsob pomocou slovnch popisov a obrzkov. Matematickm
modelom sekvennho obvodu je konen automat.
Konen automat je zariadenie, ktor m v kadom okamihu urit vntorn stav
(prvok z danej konenej mnoiny stavov), pracuje v krokoch, priom v kadom kroku
pre ta jeden znak zo vstupu (rozoznva konen mnoinu znakov) a na zklade aktul-
neho vntornho stavu a pre tanho znaku prejde na nov vntorn stav.
Pri kombinanch obvodoch ns as nezauj mal resp. predpokladali sme, e ob-
vody pracuj nekonenou rchlosou a teda as vpotu je nulov. Pri sekvennch
obvodoch sa vak u prejavuje rchlos vpotu jednotlivch hradiel. Napr klad, pred-
stavme si sekvenn obvod realizujci nejak algoritmus, ktor na vstupe
A a v stave
B prejde do stavu C. Pritom ale prechod z B do C sa neuskuton naraz, jednm
1
naprklad pam ov len - nech m ako vstupy povely
R
e
ad,
Write,
A
dr
ess,
Data
a v stup
Data
- jeho
v stup zvis nielen od aktulneho vstupu (t.j. aktulneho prkazu pre pam ), ale aj od uchovvan ch
dt, t.j. vntornho stavu obvodu
73
74
KAPITOLA
2.
SEKVENN
OBV
OD
Y
krokom, ale vykon sa postupnos krokov, poas ktorej algoritmus prejde cez stavy
B = B
0
B
1
B
2
:::BN
;1
BN = C. Predstavme si, e B je jedin stav, ke obvod
ta vstup a na zklade neho zane vykonva nejaku innos. Ostatn stavy s pra-
covn,
C = B. Ak pred skonen m vpotu zmen me vstup, obvod sa bude nachdza
v nejakom pracovnom stave
BX, v ktorom sa ho ani nebude poka spracova, resp.
v inch obvodoch, kde aj 'pracovn' stavy taj vstup, to spsob nesprvny vsledok.
Preto je vo veobecnosti zmena vstupu dovolen len v uritch asovch okamihoch, t.j.
ke sa obvod nachdza vo 'vhodnch' stavoch.
Preto ns bud zauj ma 'vznamn' asov okamihy, napr. zmeny stavu. Budeme
predpoklada, e deje prebiehaj v diskrtnom ase. Takto as de nujeme ako pos-
tupnos diskrtnych bodov. Nezauj ma ns absoltny as, ale dvom asovm okamihom
T
1
T
2
(
T
1
< T
2
) prirad me cel sla
t a t + 1. Pri takomto navrhnut nadobda as
hodnoty tvaru
;
1
0123at. Diskrtne body nazvame tie kroky alebo takty.
Prklad II.2:
(sekvennho obvodu): Identi ktor vskytu prve jednej jednotky v
slovch s d0kou 5.
Obvod ID5 bude ma vstupy
x
1
,
x
2
a vstup
y. Na vstup x
1
je privdzan sriovm
spsobom vstupn slovo. Vstup
x
2
identi kuje zaiatok novho slova.
Vstup v ase
t je jedna prve vtedy ak x
2
(
t) = 1 a zrove v postupnosti vstupov
x
1
(
t
;
4),
x
1
(
t
;
3),
x
1
(
t
;
2),
x
1
(
t
;
1),
x
1
(
t) bola prve jedna jednotka.
Z popisu uvedenej funkcie je zrejm, e ju nemono pop sa jednoduchou funkciou
f : X
;
!
Y , o v danom pr pade predstavuje Booleovsk funkciu
f(x
1
x
2
) :
f
00
011011
g
;
!
f
0
1
g
itateovi odporame overenie na naom pr klade.
Z predchdzajceho pr kladu si tie vimnime schopnos 'pam&tania si', ekvivalentn
s pojmom stavu.
Pred zaat m tdia sekvennch obvodov ete uvedieme formlny model na ich
pop sanie{ konen automaty.
Konen automat
je modelom vpotovho zariadenia, ktor m konen vntorn
pam&, pracuje v krokoch (taktoch) poda (konenho) programu, priom m na vstupe
(konen) postupnos znakov (konenej) vstupnej abecedy. Presnejie, v kadom kroku
pre ta symbol na vstupe, poda neho a poda stavu, v ktorom sa nachdza prejde na
nov stav. Pravidl prechodu uruje prechodov funkcia.
Vstupn slovo reprezentuje postupnos vstupov ktor prichdzaj do obvodu jeden
znak predstavuje jeden vstup. Stav automatu na konci reprezentuje vstup obvodu.
Formlne s konen automaty de novan takto:
Dencia II.4: Konen automat je usporiadan tvorica: (K1q
0
F), kde
K je konen mnoina stavov, 1 je konen vstupn abeceda, : K
1
;
!
K je
prechodov funkcia,
q
0
je poiaton stav
2
a
F je mnoina koncovch stavov.
Prklad II.3:
Horeuveden obvod pre identi kciu prve 1 jednotky v 5-bitovom
slove zap eme konenm automatom:
2
automat sa v om nachdza na zaiatku v potu
2.2.
ASYNCHR
NNE
A
SYNCHR
NNE
SEKVENN
OBV
OD
Y
75
1 =
f
0
1
g
,
K =
f
q
0
q
1
:::q
5
p
2
:::p
5
OUTfalseOUTtrue
g
, poiaton stav je
q
0
a prechodov funkcia
je uren nasledovnou tabukou (
q oznauje pvodn stav, z
oznauje pretan znak (bit
x
1
bit
x
2
) a
q
oznauje nov stav. Znak '-' je pouit na
oznaenie ubovolnho stavu, resp. znaku z mnoiny
f
0
1
g
):
q
z
q
;
;
1
q
1
q
1
0
0
q
2
q
1
1
0
p
2
q
2
0
0
q
3
q
2
1
0
p
3
q
3
0
0
q
4
q
3
1
0
p
4
q
4
0
0
q
5
q
4
1
0
p
5
q
5
0
0
OUTfalse
q
5
1
0
OUTtrue
q
z
q
p
1
0
0
p
2
p
1
1
0
OUTfalse
p
2
0
0
p
4
p
3
1
0
OUTfalse
p
4
0
0
p
5
p
4
1
0
OUTfalse
p
5
0
0
OUTtrue
p
5
1
0
OUTfalse
Tabuka 2.1: prechodov funkcia automatu ID5
V alom texte uvedieme delenie sekvennch obvodov na synchrnne a asynchrnne
a ukeme si zkladn typy sekvennch obvodov. Ako pri kombinanch obvodoch,
budeme najskr navrhova jednoduch obvody a ich syntzou vytvor me zloitejie ob-
vody.
2.2 Asynchrnne a synchrnne sekvenn obvody
Sekvenn obvody meme rozdeli na synchrnne a asynchrnne.
synchrnny
: m pecilny krokovac vstup, pomocou ktorho jednotliv prechody
stavov krokujeme. Obvod prejde do nasledujceho stavu a v pr tomnosti krokovho
signlu. Preto mu meme posiela vstupn symboly bez obv, e by jeden vynechal
i zapo tal viackrt (ako sa me sta pri asynchrnnom).
asynchrnny
: nie je asovo zosladen so vstupom, neobsahuje krokovac vstup.
Asynchrnne obvody nemusia prechod z jednho stavu do druhho realizova priamo,
mu ma pri zmene stavu viacero vntornch (skrytch) stavov. Ak sa poas vntornho
stavu (preklpania) zmen vstup, me djs k vytvoreniu nevhodnho stavu, m vznik
chyba.
Synchrnne obvody s riaden zvltnym zdrojom synchronizanch, tzv. hodinovch
impulzov. Obvod ta vstup len poas trvania hodinovho impulzu. A do vyslatia
alieho hodinovho impulzu m as vstup spracova a zobrazi vsledok na vstup.
76
KAPITOLA
2.
SEKVENN
OBV
OD
Y
Prechody poas vpotu mu by takisto riaden al m hodinovm signlom, taktu-
jcim jednotliv kroky vpotu.
Obvykle s synchronizan signly pravideln, m sa synchronizuje innos celho
systmu. Na rozdiel od asynchrnneho obvodu neme djs ku kritickm postupnostiam
a vntornm nestabilnm stavom, asov interval medzi hodinovmi impulzami sa vol s
ohadom na asov oneskorenia signlu. Je mon dovoli aj zmeny vstupnch signlov,
lebo nemu ovplyvni obvod bez pr tomnosti synchronizanho impulzu. Podstatn je
zariadi, aby k zmene vstupnch stavov nedochdzalo v dobe trvania hodinovho impulzu.
Praktickm rozdielom medzi synchrnnymi a asynchrnnymi obvodmi je rchlos.
V asynchrnnom obvode je uren zaiatok kadej opercie signlom informujcim o
skonen predchdzajcej opercie. asovanie asynchrnneho obvodu je teda riaden
signlmi vznikajcimi v om, priom sa me vyui maximlna rchlos zkladnch ob-
vodov. Rchlos asynchrnnych obvodov je preto v&ia ne u synchrnnych, v ktorch
sa rchlos (t.j. taktovacia frekvencia) mus prispsobi najpomajej operci (resp. ob-
vodu).
Problematikou navrhovania asynchrnnych a synchrnnych obvodov, registrov a pam&t
sa hlbie nebudeme zaobera, ukeme si len ich zkladn princ p a popis. itatea od-
kazujeme na pr slun literatru.
2.3 Klopn obvod SR
Klopn obvod
, alebo tie pamov len je najjednoduch sekvenn obvod. Doke
uchova jednobitov informciu. Predstavuje teda element rnu (jednotkov) pam.
Obrzok 2.1: RS-len
Klopn obvod SR m dve vstupy
R (reset) a S (set) a vstup Q. Vstup R ho nastav
na hodnotu 0 (
t:j:Q = 0) a vstup S na hodnotu 1 (Q = 1). Vstup Q zobrazuje
uchovvan informciu.
Pokia sa na vstup neprivedie iadny signl, obvod nemen svoj stav (t.j. uchovvan
hodnotu).
Sasn privedienie signlu na vstupy
R i S znamen, e sa m obvod preklopi do
stavu 0 i 1, o je nezmysel a preto je takto vstup zakzan.
Pretoe klopn obvod je sekvennm obvodom, tak nadobda vntorn stavy (reprezen-
tujce uloen informciu, t.j. hodnotu '0' alebo '1') a je pop saten funkciou, ktorej
2.4.
M-OBV
OD
A
MEM-OBV
OD
77
R S q q
0
Q
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 1
1 0 0 0 0
1 0 1 0 0
1 1 0
;
;
1 1 1
;
;
Obrzok 2.2: SR-len
parametrom je okrem vstupov
R, S aj aktulny vntorn stav a vstupom prechodovej
funkcie je vstup
Q a nov vntorn stav (obr. 2.2).
Z tabuky vidno vzah pre vzjomn zvislos
q a Q:
Q = SR
0
+
qR
0
= (
S + q)R
0
= ((
S + q)
0
+
R)
0
Technick realizcia SR lena je znzornen na obrzku 5.1:
Obrzok 2.3: Schma RS-lena
2.4 M-obvod a MEM-obvod
Ide o roz renie SR obvodu o selekn, zapisovac a dtov signl.
Tento sekvenn obvod je pop san v tabuke 2.3.
Z tabuky po zjednoduen dostaneme vzahy:
O = s
w
0
q
q
=
s
q
w
0
+
w
i
s + q
s
0
78
KAPITOLA
2.
SEKVENN
OBV
OD
Y
Obrzok 2.4: Znaka M-obvodu
I Hodnota na zapam&tanie.
W Povel pre zpis.
ak
W = 1, tak sa hodnota I uchov.
S Vber obvodu.
mus by rovn 1, aby sme s obvodom mohli pracova.
O Uchovvan hodnota.
Tabuka 2.2: Vstupy a vstupy M-obvodu
S I W q q
O
0
;
;
0 0 0
0
;
;
1 1 0
1
;
0 0 0 0
1
;
0 1 1 1
1 0 1 0 0 0
1 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 0
Tabuka 2.3: Popis M-obvodu
2.5.
IN
KLOPN
OBV
OD
Y
79
Realizciu prenechvame na itatea.
M-obvod m jednu vek nevhodu: nezaznamen hodnotu v okam iku prechodu
signlu
W z 0 na 1. Rieen m je MEM-obvod. Vstupom i vstupom sa zhoduje s M-
obvodom, l i sa vak kontruknm rieen m. Samotn kontrukn popis neuvedieme,
itatea odkazujeme na literatru.
2.5 In klopn obvody
V tejto asti sa strune oboznmime s troma al mi typmi klopnch obvodov, ktor boli
vyvinut:
dvojstupov klopn obvod MS-SR
klopn obvod JK
klopn obvod D
Ich funkcia je zhodn s funkciou klopnho obvodu SR, l ia sa vak pravidlami pre
tanie/zpis uchovvanej informcie. Preto uvedieme len ich tabuky, popis signlov a
znaenie. Pr slun kontrukcie itate njde v technickej literatre.
2.5.1 Dvojstupov klopn obvod MS-SR
Obsahuje synchrnne i asynchrnne vstupy.
S
1
a
R
1
s synchrnne, v zvislosti od
hodinovho impulzu
C. S
2
a
R
2
s asynchrnne a maj vyiu prioritu ne synchrnne
vstupy (t.j. ak vstupy
S
1
a
R
1
maj in hodnotu ako vstupy
S
2
,
R
2
, tak sa uvauj
vstupy
S
2
a
R
2
).
2.5.2 Klopn obvod JK
Tento obvod sa riadi dvoma synchrnnymi vstupmi
J a K, v zvislosti na hodinovch
impulzoch
C a dvoma asynchrnnymi vstupmi S a R. Asynchrnnymi vstupmi S, R
mono nastavi stavy 1 a 0 nezvisle na hodinovom impulze.
2.5.3 Klopn obvod D
Obsahuje vstupn signly
DCSR. Asynchrnne vstupn signly RS klopn obvod
nuluj (
R) alebo nastavuj (S), nezvisle na hodinovch impulzoch. Synchrnny reim
je zabezpeen vstupnm signlom
D a hodinovmi impulzami (signl C). Vstupy RS
maj najvyiu prioritu.
80
KAPITOLA
2.
SEKVENN
OBV
OD
Y
2.6 ta
ta
(angl. counter) predstavuje zklad jednoduchch riadiacich jednotiek (a ako uvid me
neskr) aj procesora.
M jeden jednobitov vstup
CP a n-bitov vstup. Na vstupe sa postupne zobrazuj
sla 0 a 2n
;1
, priom na vstupe je zobrazen slo
a a do alieho objavenia sa impulzu
CP (t.j. vstup CP = 1), potom sa zobrazuje slo a+1. Pokia a = 2n
;
1, tak
a+1 = 0.
ta je teda obvod s n-bitovou pam&ou, ktor na vstupe zobrazuje uchovvan n-
bitov slo a ktor po kadom inpulze
CP inkrementuje svoj obsah (n-bitov slo) o
jedna.
Pre ilustrciu uvedieme tabuku pre ta troj-bitovch sel. ta pracuje v binrnom
kde.
Postupnos Vstupn
signlov CP
slovo
0
0 0 0
1
0 0 1
2
0 1 0
3
0 1 1
4
1 0 0
5
1 0 1
6
1 1 0
7
1 1 1
8
0 0 0
Tabuka 2.4: ta (Counter)
Ako realizova ta? Sta si uvedomi pravidl pre jednotliv bity vstupu (
a
0
a
an):
slica
a
0
zmen svoj stav (teda prechdza z 0 na 1 a naopak) po kadom impulze
CP
slica
a
1
zmen svoj stav, ke slica
a
0
je v stave 1
slica
a
2
sa zmen , ke obe slice
a
0
a
1
s v stave 1
Pri technickej realizci mono vyui napr. leny, ktor obsahuj vstupn signly
C
a
E. Signl C je hodinov, signl E je informan(ak C = 0, tak sa zap e obsah E).
Vyuit m uvedench vzahov pre vstupn bity taa by u realizcia taa mala by
pre itatea zrejm.
Cvienie II.15:
Navrhnite trojbitov ta.
V ukke sme pouili priamy binrny kd. tae sa vak daj zostroji aj pre in
vstupn kd, napr klad Grayov.
Cvienie II.16:
Navrhnite ta pre sla v priamom kde.
Cvienie II.17:
Navrhnite ta pre sla v inverznom kde.
2.7.
REGISTER
81
Cvienie II.18:
Navrhnite ta pre sla v doplnkovom kde.
Cvienie II.19:
Navrhnite ta pre BCD sla.
Cvienie II.20:
Navrhnite ta pre sla v Grayovom kde.
2.7 Register
2.7.1 Jednoduch register
Klopn obvod nm umouje zapam&ta si jednoduch binrnu informciu, t.j. jeden bit.
Spojen m viacerch klopnch obvodov je mon zapam&ta si sla v&ej d0ky. Takto
vytvor me n zkokapacitn pam&, schopn uchova jedno slo rozlinej d0ky. Nazva sa
register.
Cvienie II.21:
Navrhnite n-bitov register so vstupmi
W a a
0
:::an
;1
a vstup-
mi
c
0
:::cn
;1
priom vstupy
c
0
:::cn
;1
predstavuj uloen informciu a pokia je
vstup
W = 1, tak sa do pam&te zap e vstup a
0
:::an
;1
.
Registre mu realizova aj jednoduch opercie na svojom obsahu.
2.7.2 Funkcia posvania
Nech je dan n-bitov binrna veliina
a
0
a
1
:::an
;1
, priom je uloen v pam&ovom
registri zloenho z
n pam&ovch lenov C
0
:::Cn
;1
. Posunutie vavo znamen, e bit
a
1
nadobudne pvodn hodnotu bitu
a
0
, bit
a
2
nadobudne pvodn hodnotu bitu
a
1
...a bit
an
;1
nadobudne pvodn hodnotu bitu
an
;2
. Bit
a
0
nadobudne hodnotu 0.
Analogickm je posvanie vpravo.
Prklad II.4:
nech register obsahuje binrne slo
01010111
posunut m vavo dostaneme
10101110
posunut m vpravo dostaneme
00101011
Podrobnejie sa zaoberajme posvan m vavo. Vid me, e sa pri om 'strca' najvy
bit a naopak, treba doplni najni bit. V naom pr klade sme ho doplnili nulou. Pokia
obsah registra chpeme ako cel slo bez znamienka, potom posun vavo predstavuje
vynsobenie tohto sla dvomi a posun vpravo celo seln delenie dvomi.
Spomenieme ete aliu funkciu, rotovanie obsahu registra. Pri posvan sa bity
strcaj, jeden bit strat me a jeden treba doplni. Pri rotovan sa ten bit, ktor by sa
mal strati vlo do bitu, ktor treba doplni. Pri rotovan vavo teda urob me posun
doava a do bitu
a
0
vlo me bit
an
;1
, rotovanie vpravo je analogick.
Prklad II.5:
:
nech register obsahuje binrne slo
01010111
rotovan m vavo dostaneme
10101110
rotovan m vpravo dostaneme
10101011
82
KAPITOLA
2.
SEKVENN
OBV
OD
Y
2.7.3 Posuvn register
Posuvn register je register s pridanmi vstupnmi signlmi
SL a SR. Ak SL = 1, tak
obsah registra sa posunie vavo ak
SR = 1 tak obsah registra sa posunie vpravo.
Na realizciu posuvnho registra pouijeme rovnak leny ako pri realizci taa.
Kad len m vstupn signly
C a E. Signl C je hodinov, signl E je informan.
Samotn realizciu prenechvame na itatea.
Podobne je mon realizova aj funkcie rotovania a vytvori tak nasledovn register:
a
0
:::
a
n;1
vstupn slovo
RR
rotcia vpravo
RL
rotcia vlavo
SR
posun vpravo
SL
posun vlavo
WE
povolenie k zpisu
(ulo sa vstupn slovo)
RE
povel k taniu obsahu
(zap e sa do vstupnho slova)
NUL
nulovanie obsahu
b
0
:::
b
n;1
vstupn slovo
Tabuka 2.5: Vstupn a vstupn signly registra
Cvienie II.22:
Navrhnite register s funkciami z horeuvedenej tabuky.
2.8 Aplikcie taov a posuvnch registrov
Uvedieme niektor monosti aplikci taov a posuvnch registrov.
2.8.1 Nsobenie dvoch dvojkov ch sel
Metda nsobenia dvojkovch sel bola pop san v asti I. Teraz si ukme technick
realizciu:
Nech v registroch
AB s uloen dve binrne sla, nech mme register C, do ktorho
ulo me vsledok a register
I, ktor bude udva polohu prve spracvanho bitu. Algo-
ritmus nsobenia pop eme nasledovne:
1. Inicializuj pr slun registre
ABCI
(
C = 0 I = 0)
2. Je najni bit v
A rovn nule?
ak NIE, do
C ulo set C + B
ak 2NO, pokrauj nasledovnm krokom algoritmu
3. Posu
A o jeden bit vpravo, B o jeden bit vavo
2.9.
REALIZ
CIA
P
AM
TE
83
4. Inkrementuj
I
5. Ak
I = Potu bitov registra A tak skoni
6. Inak opakuj cyklus
Na realizciu potrebujeme realizova funkciu s tania, funkciu posvania, inkremen-
tciu taa potu posunov a funkciu porovnania dvoch veli n. Technick realizcia by
mala by po pre tan predchdzajcich kapitol itateovi zrejm.
2.8.2 Prevod zo sriovho na paraleln tvar a naopak
Pri prenose dajov niektor zariadenia pou vaj sriov prenos, in paraleln. Je nutn
ma obvody prevdzajce sriov tvar na paraleln a naopak.
Pri realizci pouijeme ta
C a posuvn register R. Algoritmus vyzer nasledovne:
1. Inicializuj
R a C na nulu
2. Vlo do
N paraleln informciu
3. Posu
R o krok vpravo
(vstupn, najni bit sa vyle na vstup)
4. Inkrementuj
C
5. Je
C = 0 ?
ak nie, cho na krok 3
ak no, koniec prenosu
6. Koniec prenosu slova, priprav alie slovo.
Cho na krok 2.
2.8.3 In aplikcie sekvenn ch obvodov
Uveme si ete niektor alie monosti aplikci :
hadanie jednotkovho bitu
vber bitu
urenie potu jednotiek v slove
asov oneskorenie (spomaova)
2.9 Realizcia pamte
V predchdzajcej kapitole sme zrealizovali register, n zkokapacitn pam&. Na podob-
nom princ pe meme skontruova aj pam& v&ieho rozsahu, pam&te typu RAM i
SAM. Podrobnm popisom pam&t a princ pmi ich realizcie sa budeme zaobera v asti
V .
84
KAPITOLA
2.
SEKVENN
OBV
OD
Y
Kapitola
3
Riadiace obvody
3.1 Zloitejie sekvenn obvody
Na realizciu zloitej ch loh je potrebn poui zloitejie sekvenn obvody. Kvli
zjednodueniu nvrhu sa obvod rozdel na dve asti:
1. aplikan as, ktor obsahuje funkn prostriedky (registre, pam&te)
2. riadiacu as (radi), ktor riadi innos funknch obvodov na zklade ich stavu,
svojho stavu a hodinovho signlu. Realizuje teda pr slun vvojov diagram.
Sprvne asovanie jednotlivch krokov je riaden hodinovm signlom.
3.2 Radi
Radi je teda obvod, ktor:
1. riadi innos funknch obvodov (na zklade aktulnych vstupov a svojho vn-
tornho stavu)
2. riadi svoj vlastn stav (na zklade rozhodovacej asti)
Radie del me na obvodov a na mikroprogramov.
Obvodov radi
meme vytvori napr klad z posuvnho registra, v ktorom rotuje
prve jedna jednotka
1
. Me sa posun, zosta na mieste, alebo prejs do inej, 'ne-
susednej' polohy. Uruje stav radia (a inicializuje pr slun 'vetvu' obvodov). Namiesto
posuvnho registra meme poui aj ta s dekderom (ktor dekduje stav taa a
utvor vstup rovnakho tvaru ako pri posuvnom registri).
Mikroprogramov radi
okrem taa obsahuje aj (pevn) pam& ROM. Vstupy -
taa s pripojen k adresovm vstupom pam&te. Slovo vystupujce z pam&te obsahuje
bity urujce jednotliv akcie (napr klad, pre kad riadiaci signl obvodu obsahuje slo-
vo jeden bit urujci i sa m signl aktivova alebo nie). Pr slun innos, ktor sa
m vykona teda rozlo me na postupnos viacerch krokov, elementrnych akci , mi-
krooper ci
. Hovor me, e mikroprogramov radi vykonva innos pop san mikropro-
gramom
. Tento spsob realizcie je vhodnej najm& pri zloitej ch obvodoch. Bliie
ho pop eme v asti o mikroprocesoroch (as V ).
1
t.j. register obsahuje binrny vektor, v ktorom sa nachdza prve jedna jednotka
85
86
KAPITOLA
3.
RIADIA
CE
OBV
OD
Y
as
I
I
I
Procesor
87
89
Po ta vykonva innos pop san programom. Program je uloen v pam&ti. Po -
ta na zklade vstupnch dajov, z skanch zo vstupnch zariaden utvor vstupn daje
a zap e ich na vstupn zariadenie.
Po ta je tvoren pam&ou, vstupnmi a vstupnmi zariadeniami a alej asou
schopnou vykonva program, teda interpretova pr kazy (intrukcie) programu. Tto
as sa nazva procesor.
3truktru po taa potom meme znzorni nasledovne: (obr. 1)
Obrzok 1: 3truktra po taa
Aby procesor mohol interpretova intrukcie programu, mus obsahova obvody schop-
n vykonva opercie (aritmeticko-logick jednotka) a obvody interpretujce intrukcie
programu (riadiace obvody- radi).
V predchdzajcich astiach sme op sali princ py realizcie vetkch ast procesora:
aritmetickej jednotky i riadiacich obvodov{ logickej jednotky. Po podrobnom op san
prce procesora by u itate mal by schopn principilne navrhn jednoduch procesor.
Takisto by mal by schopn pochopi aj princ py prce modernch procesorov, ktor v
snahe dosiahnutia o najv&ieho vkonu nepou vaj len nov hardwarov technolgie,
ale snaia sa napr. paralelne vykonva viacero intrukci v jednom takte, i maj nov
intrukcie pre 'zloit' opercie (napr. relnej aritmetiky).
Nae rozprvanie o procesoroch rozdel me na dve asti.
V prvej budeme hovori o princ poch innosti 'jednoduchho', benho procesora.
Najskr de nujeme el procesora, rozdel me procesory poda rznych kritri a op eme
funkcie jednotlivch ast procesora. Potom sa budeme venova intruknmu sboru a
vykonvaniu intrukci . Op eme princ py realizcie procesora. Pop eme riadiacu jed-
notku, mon princ py jej realizcie- hardwarovo a mikroprogramo realizovan riadiacu
jednotku.
alia as posli pre pochopenie princ pov modernch procesorov. Modern pro-
cesory sa snaia vyui pre zrchlenie svojej prce - t.j. zvenie vkonu - vyui aj 'in
cesty' ako je rchlej hardware. V tejto asti s op san niektor z tchto technolgi .
Napr klad technolgia MMX, paraleln vykonvanie intrukci (pipeline, superskalrne
vykonvanie) i procesory s architektrou RISC.
90
Kapitola
1
Popis procesora
1.1 Funkcia a klasi kcia procesorov
Procesor
je jednotka slicovho po taa alebo po taovho systmu, ktor realizuje
hlavn opercie pri riaden vykonvania i samostatnom vykonvan vpotu, zadanho
programom.
Poda zamerania procesorov meme rozl i:
Univerz lne procesory
, ktor s asou zkladnej jednotky slicovho po taa,
ktor vykonva hlavn opercie a zabezpeuje riadenie jeho ostatnch ast prostred-
n ctvom interpretcie intrukci programu.
Problmovo-orientovan procesory
, o s pecializovan jednotky slicovho po -
taa, ktor slia na rieenie pecilnych loh vo vybratch oblastiach. S vybaven
prostriedkami pre rieenie problmovo orientovanch loh. Uvedieme pr klady niek-
torch z nich:
{ Aritmetick procesor. Sli na rieenie vybranch aritmetickch operci . Na-
jastejie operciu nevykonva priamo, ale ju realizuje postupnosou viacerch
elementrnych krokov- mikroprogramom (vi alej). Pr kladom operci mu
by aritmetick opercie v pohyblivej rdovej iarke, ktor vykonva procesor
pohyblivej rdovej iarky, angl. Floating Point Processor (alebo len FP pro-
cessor).
{ Kan lov procesor. Je jednotka slicovho po taa, ktor zabezpeuje riade-
nie vstupno-vstupnch operci . Obdobou kanlovho procesora je vstupno-
vstupn procesor, ktor predstavuje jednoelov procesor, pracujci nezvisle
od zkladnej jednotky po taa. Okrem riadenia realizcie vstupno-vstupnch
intrukci vykonva tie kontrolu sprvnosti dajov, pravu formtov, zmenu
kdov a in.
{ Videograck procesor. Je pecializovan procesor, uren na spracovanie
gra ckej informcie. Realizuje mnoh gra ck opercie, ako napr klad trans-
formciu sradn c (posvanie, otanie, zv&ovanie, zmenovanie), ltrciu
umu, oznaovanie oblast (separcia a farbenie), opercie nad obrazovmi
prvkami (aritmetick a logick opercie, korekcie tieovania) a opercie pod-
porujce trojdimenzionlnu gra ku. Rchlos po taa s tmto procesorom je
91
92
KAPITOLA
1.
POPIS
PR
OCESORA
pri gra ckch aplikcich vrazne v&ia, o m vznam napr klad pri spra-
covan obrazovch informci v relnom ase.
{ Procesor realizujci algoritmus rozpozn vania. Je uren na rozpoznvanie
obrazcov, p sma alebo prirodzenej rei. Procesory tejto triedy zvyajne maj
pecializovan paraleln architektru (navrhnut napr. na bze neurnovch
siet ).
Samotn potaov systmy meme rozdeli z hadiska architektry na univerz lne
a pecializovan.
Rozoznvame tie jednoprocesorov a viacprocesorov systmy. Prv skupina (mono-
procesorov
systmy) m zkladn jednotku navrhnut na bze jednho procesora, v
druhej skupine riadiaca jednotka obsahuje viacero procesorov.
V alom sa budeme zaobera monoprocesorovmi po tami. Poda vkonu a loh,
na ktor s uren ich meme rozdeli na:
Mikropo tae
Personlne po tae
Pracovn stanice
Strediskov po tae
Mikroprocesor
bol vytvoren v 70.rokoch vaka zdokonaleniu technolgie vroby inte-
grovanch obvodov, ktor umonila umiestni na jeden ip mnostvo slicovch obvodov.
Mikroprocesor je programovaten sekvenn automat uren na rieenie jednoduchch
loh. Me by tie sasou jednoelovch zariaden (napr klad kuchynskho robota)
ako jeho riadiaci prvok. Po ta na bze mikroprocesora sa nazva mikropota. Ich
vvoj zaala rma Intel, ktor v roku 1971 uviedla na trh tvorbitov procesor I4004.
Person lne potae
s kontruovan na bze vkonnch mikroprocesorov. Uren s
na jednopou vatesk aplikcie. Okrem nenronch aplikci v domcnosti ich mono
vyui aj na profesionlne ely: na vedenie administrat vy, vytvranie riadiacich a in-
formanch systmov, rieenie vedecko - technickch loh. Slia tie na vytvranie
viacpou vateskho prostredia v systmoch po taovch siet a pracovnch stan c. Per-
sonlne po tae sa objavuj v 80.rokoch. V sasnosti s v tejto oblasti tandardom
po tae typu IBM PC/AT.
Pracovn stanice
a strediskov potae s po taov systmy uren pre rieenie
nronch loh. Zv&a s zaloen na rovnakch princ poch ako personlne po tae,
maj vak vkonnejie komponenty (napr. vkonnej procesor, v&iu pam&), pr padne
sa jedn o viacprocesorov systmy. Preto sa im nebudeme venova osobitne.
1.2 Schma procesora
Mikroprocesor (Central processing unit- CPU) sa sklad z troch ast :
1. sady registrov (Register set)
2. aritmeticko - logickej jednotky (ALU)
1.3.
IN TR
UK
CIE,
IN TR
UK
N
SBOR
93
Obrzok 1.1: 3truktra procesora
3. riadiacej jednotky (radia, CLU - Control Logic Unit)
Registre
slia na uchovvanie informci s ktormi bezprostredne CPU pracuje. Re-
gister je rchla n zkokapacitn pam&, uchovvajca jedno slovo. Mu to by vstupn
operandy, vsledky operci , prechodn daje, adresy, kd pr kazu, riadiace daje, pr -
znaky. Prca s registrami je rchlejia ako prca s benou pam&ou
1
.
Aritmeticko - logick jednotka (ALU)
je schopn vykonva aritmetick a logick
opercie. Mu to by nielen zkladn opercie s tanie a od tanie, ale aj zloitejie
opercie nsobenie a delenie. sla mu by spracovan v rznych formtoch. Sasou
ALU me by aj jednotka na prcu s relnymi slami (FPU- Floating point unit).
Riadiaca jednotka (CLU)
uruje postupnos operci , ktor sa maj vykona. Riadia-
ca as pre ta z pam&te pr kazy programu, dekduje ich a potom riadi ich vykonvanie.
Pretoe vykonvanie intrukcie (resp. pri realizci opercie urenej intrukciou) je
zloitm procesom, na ktorom sa podiea mnostvo ast (jednotiek) procesora i 'nepro-
cesorovch' ast po taa, je nutn zabezpei ich vzjomn synchronizciu. Vyu va sa
pritom asova, alebo gener tor hodinovch impulzov, ktor v pravidelnch intervaloch
generuje signly (nazvan aj ako hodinov sign ly). Cel proces objasn me v alej
kapitole, pojednvajcej o realizci procesora.
1.3 Intrukcie, intrukn sbor
Intrukcia je binrny vektor, ktor v slade s dohodnutou konvenciou uruje nejak ope-
rciu a jej operandy. Je to zpis urujci po tau, ktor operciu a s ktormi operandami
m vykona.
1
Dvodov je niekoko:
1. Pam sa nachdza mimo procesora procesor s ou komunikuje po zbernici poda predpsanho
protokolu{ k m k registrom pristupuje 'priamo'.
2. Dleit m atribtom pamte je nielen r chlos , ale aj cena. Pretoe vak registre maj oproti
pamtiam zanedbaten vekos , tak na realizciu registrov mono poui technolgie r chlejch
a drahch pamt.
94
KAPITOLA
1.
POPIS
PR
OCESORA
Intrukcie zah4aj jednoduch aritmetick opercie, presuny dt, vetvenie programu,
komunikciu so vstupno- vstupnmi zariadeniami. Operandami mu by kontanty,
registre, alebo pam&ov miesta.
Podrobnej prehad operci uvedieme na zver tejto kapitoly.
Mnoinu vetkch intrukci nazvame intrukn sada (instruction set). Bohat
intrukn sada, umoujca vykonvanie zloitch operci uahuje prcu programtora
a zrchuje vykonanie programu
2
. Je vak nronejia na technick realizciu, pretoe
od nej zvis vntorn organizcia po taa.
1.3.1 Formt intrukcie
Kad intrukcia je kdovan nejakm binrnym reazcom (vektorom). Formt intruk-
cie popisuje, na ak asti je binrny vektor rozdelen a ako sa maj jednotliv asti
interpretova. asti binrneho vektora sa nazvaj polia (elds):
operan pole
(operan kd) uruje operciu
pole operandov
uruje operandy
Operandom intrukcie me by kontanta, register alebo pam&ov miesto. Ak je
argumentom pam&ov miesto, jeho adresu uruje adresov pole. Pam&ov bunku vak
nemus me peci kova (adresova) len uveden m jej adresy procesor me ma imple-
mentovanch viacero spsobov ako m na zklade uritch dajov programtora zisti
adresu pam&ovej bunky. Tieto spsoby sa shrnne oznauj ako metdy adres cie. Po-
drobnejie sa nimi budeme zaobera v kapitole 1.5 .
1.3.2 Typy intrukci
Zkladn rozdelenie intrukci poda innost ktor vykonvaj je nasledovn:
1. presuny dt (prenos informci medzi registrami, medzi procesorom a hlavnou
pam&ou)
2. aritmetick a logick opercie
3. presuny dajov z V/V zariaden
4. vetvenie programu
5. riadiace intrukcie (organizcia innosti po taa, koordincia innosti jeho podsys-
tmov, organizcia jeho vyuitia viacermi u vatemi)
Tieto skupiny zah4aj nasledujce opercie
3
:
presun dajov
:
2
zloitejiu operciu je mon vykona aj sotvrovo, pomocou viacer ch jednoduch ch operci, ktor
u s realizovan hardvrovo (t.j. pomocou programu intrukci){ tto realizcia opercia je vak pomalia
ako hardvrov realizcia (u len preto, lebo nie je potrebn 'strca as' procesora nahrvanm intrukci
programu z pamte a ich dekdovaniu)
3
to, s ak mi argumentami mono nasledovn opercie previes uvedieme neskr
1.3.
IN TR
UK
CIE,
IN TR
UK
N
SBOR
95
{ priradenie hodnoty jednho operandu druhmu operandu
{ vmena hodnt operandov
{ prca s blokmi dajov v pam&ti (kop rovanie, presun, priradenie kontantnej
hodnoty)
{ opercie so zsobn kom (vkladanie/vber udjov do/zo zsobn ka)
vpoty
:
{ (aritmetick)
zkladn opercie (+,
;
,
,
=) pre sla bez znamienka i pre sla so
znamienkom
inkrementcia a dekrementcia
porovnvanie operandov
zmena d0ky operandu (napr. slabiky na slovo)
BCD aritmetika, prevod bin. sel na BCD a naopak
relna aritmetika
4
programov nastavenie aritmetickch pr znakov
{ (logick)
logick funkcie (AND, OR, NOT, XOR a alie)
posuvy, rotovania
nastavovanie jednotlivch bitov argumentov
I/O zariadenia
:
{ vstup a vstup z I/O zariaden
riadenie programu
(vetvenia, skoky, cykly):
{ skoky absoltne i relat vne zadanie adresy skoku podmienen skoky (vyko-
nan len v pr pade platnosti uritch pr znakov)
{ cykly
{ podprogramy pr kaz pre skok do podprogramu, pr kaz pre nvrat z podpro-
gramu
riadenie programu
{ preruenia vyvolanie preruenia, maskovanie preruenia(maskovanie), vytvore-
nie podprogramu na obsluhu preruenia a nvrat z neho
{ podpora virtulnej pam&te
{ podpora ochrany urenie privilgi pre jednotliv programy. (Kad program
(proces) m pridelen urit privilgi (priority), a program s ni mi prvami
neme zasahova do programu s vy mi.)
{ intrukcia nevykonvajca iadnu akciu
(m vznam napr klad ak chceme aby program trval presne uren poet
krokov{ taktov)
{ in
4
aritmetick opercie na relnych slach
96
KAPITOLA
1.
POPIS
PR
OCESORA
1.3.3 Dka zpisu intrukcie
D0ka intrukci intruknej sady me by bu jednotn alebo premenliv. Jednotn
d0ka sa pou va pri jednoduchch procesoroch s malou intruknou sadou. Premenliv
d0ka sa uplatuje pri rozmanitch spsoboch adrescie alebo pri dlh ch intruknch
sboroch.
1.3.4 as trvania intrukcie
Je premenliv, zvis od zloitosti realizcie opercie a od zloitosti z skania operandov.
Naprklad
, intrukcie zpisu do registra s jednoduchie (a tm aj rchlejie) ako
intrukcie s tania a od tania a tie s zase rchlejie ako nsobenie a delenie
5
.
Meme to riei tak, e zavedieme jednotn as trvania intrukci - pred0ime as
vykonvania intrukci na as potrebn pre vykonanie najpomalej intrukcie. Tento
spsob je vak vhodn len pri jednoduchch procesoroch s malou intruknou sadou.
D0ka trvania intrukcie sa meria v taktoch. Kad takt trv presne uren jednotku
asu, ktor zvis od taktovacej frekvencie procesora.
1.4 Mnoina registrov (Register Set)
Register sme u opisovali (v asti o obvodoch). Je to rchla n zkokapacitn pam&
umoujca uchova
n bitov. Rzne registre mu ma rozlin vekos
6
a mu sa
kontruova rozlinm spsobom (registre s paralelnm tan m a zpisom, posuvn re-
gistre).
Sbor vetkch registrov sa nazva mno ina (alebo sada) registrov (register set).
Poda spsobu vyuitia sa registre delia na veobecn a peci lne. Veobecn sa
pou vaj na rzne ely (ukladanie operandov, vsledkov), pecilne slia v&inou na
jeden vyhraden el.
Hoci kad procesor pou va peci ck registre so peci ckmi menami, niektor
pecilne registre sa pou vaj vo v&ine po taov.
Uveieme ich, priom na ich pomenovanie pouijeme zau van oznaenie:
Program Counter Register (PC)
Po tadlo. Obsahuje adresu nasledujcej intrukcie, ktor sa m vykona. Po
vykonan intrukcie sa inkrementuje, aby ukazoval na nasledujcu intrukciu
7
. Pre
vykonanie skokov je potrebn, aby sa do dalo vloi slo (skok na adresu adr sa
realizuje priraden m PC:=adr).
5
prirodzene, toto tvrdenie plat len pre jednoducho navrhnut obvody realizujce aritmetiku. Zloit m
obvodom je aj nsobenie mon vykona v jednom kroku. Vzletne povedan, pre kad operciu mono
navrhn (zloit ) obvod, ktor ju zrealizuje v jednom kroku. Pre jeho realizciu vak meme potre-
bova tak vek mnostvo hradiel, e jeho realizcia sa stane nemonou. Preto sa v praxi kontruuj
jednoduchie obvody, realizujce opercie na viac krokov pri om sa u prejavia rozdiely medzi jed-
notliv mi typmi operci.
6
t.j. rzne hodnoty
n
7
resp. obsahoval adresu nasledujcej intrukcie
1.4.
MNOINA
REGISTR
O
V
(REGISTER
SET)
97
Instruction Register (IR)
Obsahuje (operan) kd prve vykonvanej intrukcie. Po zaat vykonvania
novej intrukcie sa prekop ruje obsah pam&ovej bunky na ktor ukazuje register
PC do registra IR.
Memory adress register (MAR)
Memory bu"er register (MBR)
Registre pre prcu s pam&ou. Do registra MAR sa uklad adresa pam&ovho
miesta, ktorho hodnota sa ulo do registra MBR alebo naopak, hodnota z MBR
sa ulo do danho pam&ovho miesta.
Po ta me ma aj viac registrov sliacich na prcu s pam&ou.
Akumul tor (A)
V&inou (pokia nie je uren inak) sa do ukladaj vsledky aritmetickch ope-
rci .
Starie po tae mali aritmetick opercie silno viazan na register A: pokia mala
intrukcia 2 operandy, jeden z nich bol register A. Navye vetky vsledky sa ukla-
dali do registra A. To zjednoduovalo kontrukciu pr slunch obvodov pre realiz-
ciu aritmetiky, ktorch sasou by inak museli by selekn obvody vyberajce
spomedzi viacerch monch argumentov (napr. mnoiny registrov) jeden. Na
druhej strane, je asto nutn vymiena dta medzi akumultorom a ostatnmi re-
gistrami.
Modern mikroprocesory obsahujce vek sadu intrukci asto umouj pou -
va ako operandy intrukcie ubovon kombincie veobecnch registrov a nie s
viazan len na register A.
Flag registers (F)
Register obsahujci pr znaky. Pr znaky (ag-y detekuj rzne udalosti, ktor vznikli
poas behu programu. Na ich zklade dochdza k vetveniu programu.
Aritmetick pr znaky (informuj o vsledku naposledy vykonanej aritmetickej ope-
rcie):
{ CF (Carry Flag)
pr znak preteenia neznamienkovch sel
{ OF (Overlow Flag ), AC
preteenie znamienkovch sel
{ SF (Sign Flag)
znamienko sla (kpia najvyieho bitu sla)
{ ZF (Zero Flag)
pr znak nuly (vysledok je nulov)
{ AC ( Auxiliary Carry Flag)
preteenie pri slach BCD
{ PF (Parity Flag)
parita vsledku
98
KAPITOLA
1.
POPIS
PR
OCESORA
3pecilny vznam mu ma aj kombincie pr znakov, napr klad po vykonan porovn-
vania dvoch sel
A,B je vsledkom kombincia pr znakov C a Z:
C Z vznam
0 1
A = B
1 0
A < B
0 0
A > B
Tabuka 1.1: Zpis vsledku porovnvania sel A,B pomocou pr znakov C a Z
Program Status Word (PSW)
Stav vykonvania programu. Obsahuje riadiace pr znaky: stav vykonvania pro-
gramu, detekcia preruen , vntorn stavy procesora.
Stack Pointer (SP)
Vrchol zsobn ka. Z sobnk je pam&ov dtov truktra pou van k doasnmu
ukladaniu dt. Nachdza sa v operanej pam&ti. Pracuje sa s ou pomocou stack
pointera
, ktor ukazuje na vrchol z sobnka, o je aktulne miesto s ktorm sa
pracuje. Bliie daje o zsobn ku itate njde v asti o pam&tiach.
1.5 Metdy adrescie argumentov
Uruj, ako m po ta interpretova adresov as intrukcie, teda akm spsobom m
z ska operandy pre dan operciu.
Operandom intrukcie me by kontanta, obsah registra alebo obsah pam&ovho
miesta. Monosti ich konkrtneho z skania, spsoby adrescie, s vak znane rozmanit:
spsob adrescie spsob zskania operandu intrukcie
implicitn
argument je implicitne znmy
kontantn
argumentom je zadan kontanta
priamy
z pam&ovho miesta, z M(ADR]
nepriamy
nepriamo z pam&. miesta M(M(ADR]]
register
argumentom je obsah registra
register nepriamy
z pam&.miesta M(Reg]
inkrementan
ako predch., ale navye sa Reg inkrementne
relat vny
M(Adr+Reg]
indexov
M(IX+Adr]
bzov
M(BS+Adr]
bzov + indexov M(IX+BS+Adr]
zreazenie
zoberieme dve 8 bitov adresy
a vytvor me z nej 16-bitov
block adressing
adrescia vzhadom na blok
Tabuka 1.2: Rzne metdy adrescie argumentov
1.5.
METD
Y
ADRES
CIE
AR
GUMENTO
V
99
implicitn
Argumenty s dopredu znme, de nuje ich operan kd.
Pr klady vyuitia:
pevne dan argument intrukcie (napr klad aritmetick intrukcie s povinnm ar-
gumentom - akumultorom)
skok na pevne dan adresu so pecilnym vznamom
(napr klad skok na adresu, ktor spsob RESET po taa)
tanie z pevne danej adresy, na ktorej me by pevne uloen napr klad vrchol
zsobn ka.
kontantn
Argumentom je kontanta (uveden v adresovej asti intrukcie).
register
Argumentom je obsah registra (peci kovanho v adresovom poli).
adresovanie pamte
Argumentom je pam&ov bunka, ktorej adresa je zadan:
priamo
(kontantou )
nepriamo
(obsahom registra)
zloitejie metdy adresovania pamte
Uvedieme prehad zloitej ch metd adrescie s popisom, ako jednotliv metdy vyrtaj
adresu pam&ovej bunky, ktor m by operandom:
relatvny
: (k adrese danej intrukcie {obsah PC{ sa prirta obsah registra REG)
ADR := PC + REG
Inou monosou je prirtava obsah registra Reg k absoltne zadanej adrese
ADR := Kontanta + REG
b zov
: (k obsahu tzv. b zovho registra sa prirta register REG)
ADR := BS + REG
100
KAPITOLA
1.
POPIS
PR
OCESORA
indexov
: (rovnak princ p ako bzov)
ADR := IX + REG
b zov+indexov
:
ADR := BS + IX + REG
Uveden spsoby adrescie sa mu vyskytova aj v tvare, ke je namiesto registra
REG uveden kontanta.
Vyuitie: Prca s dajmi, poom. Pri relat vnych spsoboch adrescie intrukcia
neobsahuje absoltne adresy dt. Adresov as intrukcie sa interpretuje spsobom:
' taj dta ktor sa nachdzaj sto pam&ovch miest odtiato'. Vaka tomu mono
vytvori program s relat vnou adresciou. Zpis programu je jednoduch a prehadnej
a hlavne je univerzlnej - funguje aj ke je uloen od ubovolnej adresy v pam&ti o o
programe s absoltnou adresciou neplat .
zreazenie
Doteraz sme pou vali vo vytvran varint adresovch metd operciu s tania, ke sme
k jednej adrese prirtavali druh. Inou monou metdou je zreazenie. Majme
n-bitov
registre
B a C, 'pripojme' register B k registru C, m sa vytvor adresa d0ky 2n. Vidno
rozdiel medzi stom a zreazen m:
set: ADR:= B + C
zreazenie: ADR:=(B)(C)
Prklad III.1:
Nech
B = 01101001
C = 00100110
potom
B + C = 10001111
(
B)(C) = 0110100100100110
in varianty adresovania
Existuje vek mnostvo al ch spsobov adresovania{ pre nejak aplikciu sa me
zmysluplnm ukza urit (doteraz nepou van) spsob adrescie. Preto sme sa nes-
naili poda vyerpvajci prehad o najv&ieho potu metd adresovania skr malo
zmysel uvies tie najpou vanejie.
Ako pr klad al ch metd uveme:
autoinkrement
:
ARGUMENT := MEM(REG]REG := REG + 1
autodekrement
:
ARGUMENT := MEM(REG]REG := REG
;
1
1.6.
PRER
U ENIA
101
Autoinkrement je roz ren m nepriameho adresovania, navye po vykonan opercie
je register inkrementovan o d0ku slova. Tm sa dosiahne, e ukazuje na nasledujce
slovo. Analogicky autodekrement.
Vyuitie: pri cyklickch a blokovch opercich, opercich so zsobn kom.
blokov adresovanie
Vyu va adresu na urenie poz cie prvho znaku v bloku dajov.
Blok dajov m bu pevn d$ ku (implicitne uren), alebo m premenliv d$ ku.
Vtedy mono ohranii blok (uri zaiatok a koniec bloku) tromi spsobmi, l iacimi sa
spsobom urenia konca bloku
8
:
adresou poslednho slova
d0kou bloku
pecilnym znakom detekujcim koniec
Vyuitie: hromadn blokov prenos dajov zo zariaden ako pevn disk, dierna ps-
ka...
1.6 Preruenia
Jednou z vznamnch vlastnost procesora je monos prerui prebiehajcu innos a
zaa vykonva in a potom sa vrti k pvodnej innosti.
Preruenie nastva, ke chce niektor zariadenie (i u vonkajie alebo vntorn)
'printi' procesor, aby sa n m zapodieval (napr klad tlaiare, ktor potrebuje oznmi,
e sa poas tlaenia minul papier).
Zariadenie vyle iados o preruenie. Po prijat iadosti procesor preru vykonvanie
programu (zapam&t si svoj vntorn stav{ ktor akciu vykonval a ak boli v tom
okamihu obsahy registrov) a zane vykonva pecilny program pre obsluhu preruenia
(rieiaci situcie, ktor viedli k iadosti o preruenie). Po jeho skonen sa procesor vrti
k vykonvaniu pvodnho programu (obnovia sa obsahy vetkch registrov a vykonvanie
pvodnho programu pokrauje od miesta preruenia).
Procesor jednoznane identi kuje iadatea{ kadmu pripojenmu zariadeniu pridel
slo (napr. v rozsahu 0..255). Z programtorskho pohadu sa to jav tak, akoby procesor
dostal iados o preruenie s tmto slom
9
. Tm mono odl i jednotlivch iadateov,
napr. tlaiare bude 'posiela' iadosti s slom 10 a klvesnica s slom 20. Procesor
m tabuku v (benej) pam&ti, v ktorej m pre kad typ iadost (resp. pre kad
slo preruenia) uloen adresu obslunho programu. Tmto spsobom mono ahko
pre kad zariadenie nap sa tzv. obslu n program, rieiaci 'mimoriadne' situcie, ktor
viedli k prerueniu.
Ako sme spomenuli, nemus sa jedna len o preruenie vyvolan vonkaj m pro-
gramom. Napr klad procesory Intel 80x86 vyvolaj preruenie s slom 0, pokia sa
vykonvan program pokal deli nulou. Kad proces si me zavies vlastn pro-
cedru na oetrenie tejto situcie, napr klad vyp sanie varovnho hlsenia.
8
zaiatok bloku uruj rovnako- udanm adresy prvho slova v bloku
9
t.j. akoby toto slo bolo sas ou iadosti o preruenie
102
KAPITOLA
1.
POPIS
PR
OCESORA
Kad zariadenie m svoju dleitos (prioritu) a pokia poiada o preruenie sastne
niekoko zariaden naraz, vyberie sa to s najvyou prioritou.
Preruenie me vyvola aj programtor (t.j. me by vyvolan aj softwarovo).
Preruenia sa delia na maskovaten a nemaskovaten. Maskovaten sa daj za-
maskova - t.j. mono ich programovo zakza a potom ich procesor ignoruje. Nemasko-
vaten sa zakza nedaj.
Zrekapitulujme si innos procesora pri detekcii preruenia:
1. uschov aktulny stav po tadla intrukci (Program-Counter registra) a ostatnch
registrov (napr klad do pam&te, alebo zsobn ka-vi as o pam&tiach)
2. z viacerch iadost o preruenie ur to s najv&ou prioritou
3. zist adresu obslunho programu a
4. odovzd mu riadenie
5. po ukonen obslunho programu sa vrti k pvodnej innosti (obnov Program
Counter a stav ostatnch registrov)
Kapitola
2
Princ py realizcie procesora
2.1 Princp vykonvania intrukci
lohou univerzlneho procesora je interpretova intrukcie programu uloenho v hlavnej
pam&ti. Pri tejto innosti sa jednotliv intrukcie postupne vyberaj z hlavnej pam&te,
(kde s uloen binrne zakdovan), dekduj a vykonvaj sa poadovan opercie s
poadovanmi operandami.
Vsledkom interpretcie intrukcie je teda nejak strojov oper cia. T vak me
by zloit na to, aby sa fyzicky vykonala v jednom kroku (napr klad delenie), a preto
sa vykon postupnos viacerch iastkovch elementrnych operci { mikrooper ci, tak
jednoduchch, aby sa u dali vykona fyzicky, hardwarovo. Intrukciu potom chpeme
ako pomenovanie uritho mikroprogramu, resp. operciu chpeme ako postupnos mi-
krooperci , ktorej vykonanie trv ist poet taktov.
Postupnos elementrnych krokov, poas ktorch sa vykon opercia de novan in-
trukciou programu sa nazva intrukn cyklus.
Sklad sa z viacerch fz:
fetch cycle
(zahrujci tie address a translation cycle)
execute cycle
interrupt cycle
Fetch cyklus
: procesor z ska intrukciu z pam&ti, dekduje ju a ur adresu operandov.
Tto as je rovnak pri vetkch intrukcich.
Execute cyklus
: procesor z ska operandy, vykon intrukciu a zap e vsledok na
uren pam&ov miesto (register, hlavn pam&).
Interrupt cyklus
: djde k preruenie vykonvania programu. Tento cyklus nastane
len ak procesor zaznamenal poiadavku na preruenie.
Kad fza intruknho cyklu sa v zvislosti od typu intrukcie vykon poas jednho
alebo viacerch strojovch cyklov, v rmci ktorch sa uskutouje iba jeden pr stup
do pam&te. Vo veobecnosti je d$ ka strojovch cyklov
n-nsobkom peridy hodinovch
impulzov
, tzv. strojovch taktov (resp. hodinovch cyklov). D$ ka strojovho taktu sa
de nuje frekvenciou hodinovch impulzov, ktor z centrlneho zdroja (strojov hodiny)
103
104
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
taktuj innos procesora. D$ ku intruknho cyklu, t.j. as vykonania jednej intrukcie
uruje potom frekvencia hodinovch impulzov.
V sasnch architektrach sa intrukn cyklus zv&a rozlo na v& poet fz,
o umouje zvi jeho vkonnos pomocou ich vzjomnho prekrvania (zreazenie{
pipelining
) pri vykonvan intrukci programu. Napr klad pri p&fzovch intruknch
cykloch mu by de novan fzy:
1. tanie intrukcie
2. dekdovanie intrukcie
3. tanie operandu
4. vykonanie intrukcie
5. zpis vsledku
Prekrytie znamen, e po vykonvan tvrtej fzy intrukcie me paralelne prebieha
vykonvanie prvej fzy pre nasledujcu intrukciu. Podrobnejie tto techniku op eme
v IV.asti.
Prklad III.2:
Uvaujme jednoduch procesor. Rozliujme tri fzy vykonvania in-
trukcie: fetch, execute, interrupt. Nech hodiny (Clock) generuj signly
t
0
t
1
t
2
, at ...
alej predpokladajme, e procesor m dva pr znakov bity
E a F urujce v ktorom cykle
sa (procesor) nachdza:
F E Vznam:
0 0 interrupt cyklus
0 1 execute cyklus
1 0 fetch cyklus
1 1 (nepouit)
Tabuka 2.1: Kdovanie cyklov pomocou pr znakov F a E
Predpokladajme formt intrukcie
< FI >=< OP >< IX >< ad >, kde OP je
operan kd, ad je adresa argumentu a bit IX hovor , i k tejto adrese prirta obsah
indexovho registra IX.
Uveme vpisy mikroprogramov jednotlivch fz. Vo vpise programov je pou van
tandardn terminolgia:
A:=(B)
do registra A zap obsah registra B
A:=MEM(adr] do registra A zap obsah pam&ovej bunky s slom adr
Fetch cyklus:
t
0
F *E MAR:=(PC)
t
1
F *E MBR:=(M(MAR]), PC:=PC+1
t
2
F *E IR:=(MBR)
t
3
F *E If IR(IX]=0 then MAR:=(IR(ad])
2.2.
ARITMETICK
O-
LOGICK
JEDNOTKA
(ALU)
105
t
4
F *E If IR(IX]=1 then MAR:=(IR(ad] + (IX) )
t
5
F *E F:=0, E:=1
Najprv sa do registra MAR ulo adresa pam&ovho miesta, kde sa nachdza alia
intrukcia (je dan hodnotou registra PC). V druhom kroku sa do MBR ulo obsah tejto
adresy a obsah PC sa zvi o 1. Potom sa do registra intrukci (IR) ulo obsah MBR
(t.j. kd prve spracovvaniej intrukcie). Poda hodnoty pr znaku IX sa nastav adresa
z ktorej sa z ska operand.
Execute cyklus
Tento cyklus je prirodzene pre kad intrukciu in. Ako pr klad uvedieme intrukciu
ADD X (ktor pre ta k akumultoru A operand X):
t
0
E *F MBR:=(M(MAR])
t
1
E *F A:= (A) + (MBR)
t
2
E *F NOP (no operation)
1
t
3
E *F If INT=0 then F:=1, E:=0
else F:=0, E:=0
V prvch dvoch taktoch sa vykon s tanie, v
t
2
sa nerob ni, a v
t
3
ak nie je
poiadavka na preruenie, tak sa prejde op& do alieho cyklu.
2.2 Aritmeticko- Logick jednotka (ALU)
Aritmeticko-logick jednotka je zkladnm prvkom operanej asti procesora a je uren
na vykonvanie oper ci nad strojovmi slovami, ktormi s v tvare binrnych vektorov
zobrazen daje, pr kazy, pr padne in zakdovan objekty (stavov slov, pr znaky),
zastujce sa na procese programovho spracovvania informci .
3kla operci a selnch formtov je rzna a zvis od konkrtneho kontruknho
prevedenia ALU.
V ALU je spravidla mon realizova nasledovn opercie:
s tanie a od tanie
nsobenie, delenie
logick opercie
posuvy a rotcie (obsahov registrov)
porovnania (obsahov registrov)
a to v rznych selnch formtoch, ako napr.:
neznamienkov i znamienkov cel sla
BCD formt
106
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
relne sla (v pevnej alebo pohyblivej rdovej iarke)
Informcie o vzniku mimoriadnych situci pri vpotoch poskytuj pr znaky.
Zklad ALU tvor obyajn s taka (vi popis ALU v asti V) upraven tak, e
pomocou riadiacich signlov vykonva aj urit poet al ch operci (mikrooper ci).
Okrem riadiacich signlov je ete nutn na vstup s taky privies operandy. Na vstupe
sa objav vsledok oper cie a prznaky popisujce vsledok.
Ako skontruova obvody realizujce jednotliv opercie ALU? V asti o obvodoch
(as II) sme spomenuli princ py realizcie tchto obvodov. Kvli prehadu tieto infor-
mcie zhrme - uveme jednotliv druhy operci ALU, princ py ich realizcie a najvz-
namnejie problmy s tm spojen:
1. stanie a odtanie - na realizciu potrebujeme s taku. Pomocou nej sa vak d
realizova aj mnostvo al ch funkci : (vstupy s taky s X,Y,Z)
X Y Z mikroopercia
A B 0
S := A + B
A B 1
S := A + B + 1
A B' 0
S := A + B
0
A B' 1
S := A + B
0
+ 1 (o je A-B)
A' B 1
S := A
0
+
B + 1)(o je B-A)
A 1 0
A
;
1 (DEC A)
1 B 0
B
;
1
A 0 0
A
A 0 1
A + 1 (INC A)
Tabuka 2.2: Opercie a kdy operci 'jednoduchej' ALU
2. convert element
Obvod upravujci vstupn argument (
C) na zklade riadiacich signlov (S
0
,
S
1
)
poda nasledovnej tabuky:
S
0
S
1
mikroopercia
0
0
C
0
1
*C
1
0
0
1
1
*0
Tabuka 2.3: Opercie convert-elementu
3. n sobenie a delenie
S asovo nron opercie. Mono ich realizova viacermi spsobmi:
(a) hardwarovo
i. vetky intrukcie bud ma rovnak as trvania, teda ostatn intrukcie
spomal me, aby nsobenie 'nepredbehli'
ii. intrukcie nebud trva rovnak as
2.3.
CONTR
OL
LOGIC
UNIT
(CLU)
107
(b) mikroprogramom (vyu vajcim posuny, s tanie a od tanie)
(c) matematickm koprocesorom
4. logick oper cie ALU
S rchle, jednoducho realizovaten (pomocou zkladnch hradiel). Patr sem
AND, OR, XOR,
2
NOT a alie.
5. posuny
- Patria sem funkcie posunutia a rotcie.
- Aby nebolo treba poui posuvn registre, pou va sa obvod nazvan position
scaler
, ktor umouje posvanie argumentov rznymi spsobmi. M nasledovn
funkcie:
ponechaj argument bez zmeny
posu ho vavo
posu ho vpravo
rotuj argument vavo, vpravo
pr padne alie
Vhodn je ma ho mimo ALU, (na vstup ALU privdza jeho vsledok), m je
mon v jednom takte posun operand a vykona operciu.
2.3 Control logic unit (CLU)
Riadi vykonanie mikroprogramu (zodpovedajcemu uritej intrukcii){ pre kad mikrointruk-
ciu vygeneruje riadiace signly pre pr slun obvody, ktor maj mikrointrukciu reali-
zova. Okrem toho CPU obsluhuje preruenia.
CLU je konen stavov automat. Jeho zkladn funkn jednotky s:
1. Riadiaca jednotka, uren na generovanie vntornch (procesorovch) signlov a na
vyhodnotenie stavovo-informanch signlov o procesoch prebiehajcich v po tai.
Me sa riei pevnou alebo mikroprogramovatenou logikou (vi alej), pr padne
sa oba pr stupy skombinuj so snahou dosiahnu o najv&iu efektivitu.
2. Synchronizan riadiaca jednotka je uren na asovanie jednotlivch innost pro-
cesora a celho po taovho systmu. Jej zkladnm prvkom je gener tor hodi-
novch impulzov
.
3. Intrukn jednotka (jednotka predvberu) je uren na vber, resp. predvber
intrukci , ich dekdovanie a pr pravu na vykonanie pr slunej opercie.
2
argumentami t chto operci s dva vektory priveden na vstup ALU. Najastejie to s dva regis-
tre, register a kontantn vektor, alebo register a obsah pam ovho miesta. Prirodzene, z technickho
hadiska nie s registre i pam pripojen priamo k ALU{ ako sprostredkovate sa vyuva
zbernica
,
ktor opeme neskr.
108
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
4. Radi po iadaviek preruenia je uren na vber a spracovanie poiadaviek o pre-
ruenie. Vykonva niektor innosti, ako napr klad vber z viacerch poiadaviek
o preruenie to s najv&ou prioritou.
Pozrime sa teraz na obe asti po taa (ALU aj CLU, resp.
AP a IP) a urime, ktor
z intruknch cyklov vykonva ktor as:
AP (aritmetick procesor)
: riadi Execute cyklus
IP (intrukn procesor)
: riadi Fetch, Adress, Interrupt
Naraz pracuje len jeden z nich (pri obvyklch systmoch). Na ich rozl enie zavedieme
aliu premenn I,
I=0 zna z skavanie intrukcie
I=1 zna vykonvanie
2.3.1 Realizcia CLU
Napriek popisu funkci CLU, ktor mohol vzbudi u itatea zanecha dojem zloitosti,
je realizcia CLU pomerne jednoduch. CLU sa sklad z dekdera a niekokch riadia-
cich obvodov. Dekder dekduje intrukciu. Na jej vykonanie treba vytvori a vykona
postupnos mikrooperci . Generovanie nie je ak, technicky vieme realizova obvod
generujci v pravidelnch intervaloch impulzy. Vykonanie mikro-opercie je zaloen na
nasledovnom princ pe:
Stav vetkch obvodov (vkonnch, I/O obvodov a inch) je mon uri. Kad ob-
vod m pripojen vstup aj vstup na dtov zbernicu. Podstatnou lohou je zabezpei
vzjomn komunikciu medzi obvodmi. Prinicipilne mono rieenie pop sa nasledovne:
nech s prepojen vetky obvody. Kadmu spoju prirad me 1 bit N-bitovho registra
(kde N je poet spojov). Ak je tento bit nula, spoj je neakt vny, ak je jedna, spoj je ak-
t vny. Takmto spsobom mono kad mikroprogram zap sa ako postupnos riadiacich
impulzov.
Prklad III.3:
Predpokladajme, e intrukcie s realizovaten najviac na 6 mikro-
krokov. Uvaujme genertor generujci signl kadch 10ns. Kadch 10ns vykonme
jednu mikro-intrukciu, ie aktivizujeme pr slun vkonn obvody. Po 60ns vykonme
ubovon intrukciu nho procesora.
Poda spsobu realizcie riadiacej jednotky rozoznvame hardwarov a mikropro-
gramov
CLU.
V hardwarovo rieenej CLU je kad algoritmus intrukcie rieen hardwarovo. V
mikroprogramovej CLU sa pre kad intrukciu vykon mikroprogram zap san v trvalej
pam&ti, ktor je sasou procesora.
Hardwarov CLU
m pevn logiku, (hard wired - 'pevne zadrtovan').
Rozoznvame:
synchrnnu
- riadi sa procesorovmi hodinami (vetky obvody musia stihn vykon-
a svoju prcu poas trvania pr slunho hodinovho signlu)
asynchrnnu
- po vykonan opercie obvody vracaj CLU signl, e skonili (a po
obdran vetkch signlov sa me pokraova)
2.3.
CONTR
OL
LOGIC
UNIT
(CLU)
109
Ako pr klad zoberieme intrukciu ADD X. Tto intrukcia k akumultoru prirta
obsah pam&ovho miesta urenho priamo adresou X. Uvedieme pln mikroprogram,
zahrujci opercie od z skania argumentu a po uloenie vsledku:
ADD X
t
0
MAR
(PC)
t
1
MBR
M(MAR], PC
(PC) + 1
t
2
IR
(MBR)
t
3
MAR
IR (adr]
t
4
MBR
M(MAR]
t
5
ACC
(ACC) + 1
Hardwarov realizcia je znzornen na obrzku 2.1.
Obrzok 2.1: Hardwarov CLU pre intrukciu ADD X
Nevhody hardwarovho pr stupu s: modi kcia intrukcie alebo zavedenie novej
intrukcie si vyaduje nov nvrh procesora, tie tvorba vekho intruknho sboru sa
stva problematickou. Vhodou je v&ia rchlos.
Alternat vou je mikroprogramovo realizovan CLU.
110
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
2.4 Mikroprogramov CLU a mikroprogramovanie
2.4.1 Mikroprogramovanie
Hardwarovo rieen CLU m znan nevhody: modi kcia intrukcie alebo zavedenie
novej intrukcie si vyaduje nov nvrh, takisto problematick je ladenie a hadanie chb.
3
Mikroprogramov rieenie sa objavuje zaiatkom p&desiatych rokov. Kontruktri
sa pokali rozdeli problm vykonvania intrukci na viacero rovn , njs kompromis
pri optimlnom nvrhu zloitho systmu. Intrukcia je zap san v pam&ti pomocou
mikroprogramu. Procesor obsahuje interpreter schopn vykona ho.
Samotn realizcia vak stroskotvala na tom, e v tej dobe neboli k dispoz ci rchle
a lacn pam&te na ukladanie mikroprogramov. A v roku 1964 sa objavuje po ta IBM
360, v ktorom bola pouit technika mikroprogramovania.
Princpy a el mikroprogramovania
sme u vlastne uviedli: intrukcia sa nereali-
zuje hardwarovo, ale zap e sa mikroprogramom. Mikroprogram obsahuje elementrne
pr kazy - mikrointrukcie, ktor sa u realizuj hardwarovo pomocou zkladnch ob-
vodov. Procesor obsahuje dekder, ktor dekduje intrukciu, pam&, z ktorej vyberie
pr slun mikroprogram a interpreter, ktor pre kad mikrointrukciu vygeneruje pr s-
lun riadiace impulzy.
Mikroprogramovanie teda posva hranicu medzi hardwarom a softwarom. Rozdeuje
proces vykonania intrukcie na viacero jednoduch ch procesov.
Vykonvanie mikroprogramu (mikroprogramov realizovanie intrukci ) zabezpeuje
mikroprogramov CLU.
2.4.2 Mikroprogramov CLU
Mikroprogramov CLU sa delia poda toho, ak je monos pou vatea zasahova do
mikroprogramov:
nemenn mikroprogramy
s mon iaston zmeny mikroprogramov
CLU me pou vate plne naprogramova
Mikroprogramov CLU je mikroprogramovaten , ak pou vate me naprogramova
vlastn mikroprogramy. Pre ben aplikcie vak nie je potrebn aby pou vate mal
monos zasahovania do mikroprogramov.
Organizcia mikroprogramovej CLU vyzer nasledovne (obr. 2.2).
IR
Instruction register
CAR Control adress register
CBR Control bu5er register
DC
Decoder
Pop eme strune fungovanie mikroprogramovej CLU: v IR je uloen (makro) in-
trukcia. Mikroprogramov radi ur pr slun mikroprogram (do CAR vlo jeho zai-
aton adresu) a vykonva ho:
3
itate nech si sksi predstavi , ako by asi vyzerala CLU pre intrukn sbor 200 intrukci
2.4.
MIKR
OPR
OGRAMO
V
CLU
A
MIKR
OPR
OGRAMO
V
ANIE
111
Obrzok 2.2: Mikroprogramov CLU
112
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
1. do CAR sa ulo adresa mikrointrukcie, ktor sa m vykona
2. obsah miesta mikro-programovej pam&te, ktorho adresa je v CAR sa ulo do CBR
3. za na sa mikrocyklus, poas ktorho CLU vygeneruje riadiace impulzy na vyko-
nanie mikrointrukcie.
4. CAR sa zvi o 1 (ak sa nevyskytn skoky) a cyklus vykonvania pokrauje od
2.kroku, a km sa mikroprogram neukon (mikrointrukciou RET)
2.4.3 Jazyk RTL
Na formlny zpis mikro-programu sa pou va jazyk RTL (Register transfer language).
Umouje pop sa elementrne opercie, ktor s sasou mikro-jazyka. Uvedieme syn-
tax jazyka a prehad zpisu jednotlivch typov operci :
registre s oznaen menom (napr. MAR, PC,...)
takisto meme oznai aj asti registrov (napr. AX(2..6])
v zpise mikroprogramu je kad mikro-intrukcia na samostatnom riadku
za mikro-intrukciou sa me nachdza aj komentr, ktor sa oddeuje bodkoiar-
kou
V jazyku RTL s de novan nasledujce opercie:
1. vloenie kontanty do registra (
L
5)
2. vloenie hodnoty inho registra do registra (
A
(
B))
3. vloenie asti registra do inho registra,
mono pop sa dvoma spsobmi:
(a) as sme pomenovali (
PC
IR(AD])
(b) oznaili sme vkladan bity (
PC
R(0::3])
- analogicky mono vyjadri vloenie jednho bitu
4. aritmetick a logick opercie
(a) opercia s tania:
A3
(
A1) + (A2)
(b) oetrenie preteenia (pouijeme jednobitov register C):
C
(
A1) + (A2)
(c) alie aritmetick opercie:
A
(
A) + 1
inkremencia registra
A
(
A)
;
1
dekrementcia
A
(
A
0
)
jednotkov doplnok
A
(
A
0
) + 1
dvojkov doplnok
A
(
A) + (B
0
) + 1 od tanie A-B
2.4.
MIKR
OPR
OGRAMO
V
CLU
A
MIKR
OPR
OGRAMO
V
ANIE
113
(d) logick opercie
C
(
A) AND (B)
C
(
A) OR
(
B)
C
NOT (A)
(e) opercie posuvov
A
SL(A) posuv (o 1 bit) vavo
A
SR(A) posun vpravo
A
RL(A) rotcia vavo
A
RR(A) rotcia vpravo
Pozn mka III.1:
opercie nsobenia a delenia u nie s tak jednoduch, nemono
ich realizova v jednom takte. Preto sa medzi mikrointrukcie nezarauj.
5. presun dajov medzi pam&ou a registrami:
pam&ov miesto s adresou adr zap eme ako
M(adr]. Potom:
tanie z pam&ti zap eme
A
(
M(adr])
zpis do pam&te zap eme
M(adr]
(
A)
6. vykonanie opercie ak s splnen urit podmienky, (napr. preteenie, parita...)
if
PODMIENKA then PR6KAZ
(alebo riadiace podmienky programu, ktor vieme reprezentova booleovmi vraz-
mi).
Mikrojazyk me obsahova aj skoky, podmienen skoky alebo pr kazy oznaujce
koniec mikro-programu. Adresu, kam sa m skka vyjadr me pomocou nvestia:
zac
A
0
zaiatok cyklu
...
...
...
JMP zac
skok na zaiatok
Pozn mka III.2:
itateovi je zaiste zrejm, e monosti zpisov s dos variabiln
a zvis na programtorovi, ako dan opercie nazve (napr. posuv vavo mono nazva
SL, SHL, SHIFTL...
).
Tie na programtorovi zvis , na akej rovni zap e svoj mikroprogram, napr klad i
operciu
A
;
B zap e ako A
(
A)
;
(
B), alebo ako A
(
A) + (B
0
) + 1. Podstatnmi
kritriami zpisu s korektnos, prehadnos a zrozumitenos.
Pr kladom mikroprogramu me by mikroprogram intrukcie ADD X uveden v
kapitole 2.3.
114
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
2.4.4 Formty mikrointrukci
Ukzali sme, ako mono symbolicky (formlne) zap sa mikroprogram. Pri kontrukcii
by sme zrejme kadej elementrnej operci priradili kd a na zpis mikrointrukci by
sme pouili kdovaciu tabuku. Aj tu vak existuj dve monosti zpisu, poda toho ak
formt mikrointrukcie zvol me.
Formt mikrointrukcie me by horizontlny alebo vertiklny.
Horizont lny form t
: binrny vektor, ktor obsahuje toko bitov, koko je vetkch
monch riadiacich signlov. Vhodou je, e sa d vykona viacero elementrnych ope-
rci naraz. Nevhodou je vek d0ka vektora, pritom vektor obsahuje vea nl a mlo
jednotiek, lebo viacero operci sa navzjom vyluuje.
Vertik lny form t
: peci kuje sa len jedna mikroopercia. Tento spsob vyaduje
zloitej obvod, dekder. Mikrointrukcie maj krat zpis.
Prklad III.4:
: uvaujme ALU (argumenty X,Y, vsledok Z)
Nech m 3 opercie NOP (ni),
X + Y , X
;
Y s kdmi 00,01 a 10.
Chceme zap sa pr kaz:
R
5
:=
R
3
;
R
11
horizontlne: 10 0011 1011 0101
vertiklne: (nech 00 zna vber
X, 01 vber Y , 10 vber Z a 11 vber ALU).
Mikroprogram zap eme:
00 0011 (
X je R
3
resp.
R
3
napln
X)
01 1011 (
Y je R
11
)
10 0101 (
Z je R
5
)
11 0000 (ALU prevedie
Z := X + Y )
at...
V tomto pr klade je vertiklny zpis nevhodnej (v&ia d0ka), to vak nemus vdy
plati.
Pozn mka III.3:
(k podmienenm skokom):
V mikroprograme treba umoni realizciu podmienench skokov. Na zjednoduenie
zavedieme tak formt, v ktorom podmienen skoky bud ma dve mon cieov adresy:
adresu nasledujcu intrukcie alebo adresu uveden v adresovom poli. Na ich vzjomn
rozl enie (urenie cieovej adresy) pouijeme tzv. condition eld.
Prklad III.5:
(2bit cond eld)
Cond. f vznam
00
sko na nasledujcu intrukciu
01
sko na adresu ak plat podmienka
c
1
10
sko na adresu ak plat podmienka
c
2
11
skok na adresu
Symbolicky to vieme zap sa aj takto:
Cond. f vznam
00
CAR:=CAR+1
01
if
c
1
then CAR:=ADR
10
if
c
1
then CAR:=ADR
11
CAR:=ADRESS FIELD
2.5.
ZBERNICE
115
2.4.5 V hody a nev hody mikroprogramovania
Nevhodou mikroprogramovej CLU je menia rchlos ako hardwarovej CLU, naopak pri
mikroprogramovej CLU je mon intrukn sbor ahko modi kova a dop0a, d sa
vytvra aj vek intrukn sbor.
Vhody
:
{ truktrovan nvrh CLU
{ jednoduch ladenie, dop0anie, opravy
Nevhody
:
{ pomalia innos
V snahe odstrnenia nevhod vznikaj nov typy architektr, napr klad po tae typu
RISC
(o ktorch pohovor me v alej asti).
2.4.6 Podporn prostriedky pre mikroprogramovanie
Mikroprogramovanie je dos nron, zloitejie ako ben programovanie. Na uahenie
prce slia podporn prostriedky. Sem zahrujeme hardwarov a softwarov prostriedky
pou van na uahenie mikroprogramovania.
na vytvranie mikro-programu sa pou va mikro-assembler
na ladenie a opravu sa mu poui hardwarov simultory
vemi silnm prostriedkom s tie softwarov emultory, ktor umouj na jednom
po tai simulova in po ta.
vvojov systmy, umouj testovanie a editovanie
pri vrobe alebo pri skan sa pou vaj pam&te typu ROM, PROM a EPROM.
2.5 Zbernice
Jednotliv asti po taa (napr klad procesor a pam&) si medzi sebou musia vymiea
dta. Prenos dajov zabezpeuj zbernice.
Zbernica
je tvoren sstavou vodiov, ktor spjaj jednotliv asti po taa. Del
sa na tri asti: adresov , d tov a riadiacu zbernicu. Po d tovej zbernici sa prenaj
dta. Adresov zbernica uruje, pre koho (pre ktor zariadenie pripojen na zbernicu)
s dta uren a po riadiacej zbernici sa prenaj rzne riadiace informcie.
Uritou vnimkou z tejto schmy je pam&. Ak procesor potrebuje zap sa do pam&te
na adresu X hodnotu Y, tak na adresov zbernicu zap e adresu pam&ovej bunky{ slo
X, na dtov zbernicu zap e Y a na riadiacu zbernicu pole daj, e sa m zapisova do
pam&te. Pam& (resp. radi pam&te), prezrie obsah zbernice
4
a zist , e sa prena daj
pre u (povel pre zpis), hodnota X a hodnota Y.
4
presnejie, v vody zbernice s pripojen na vstup pam ovho obvodu
116
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
itateovi je iste zrejm, e v jednom okamihu sa po zbernici prenaj len jedny
dta (zbernica je tvoren sstavou vodiov), teda nememe zap sa dta na zbernicu,
pokia tam u nejak dta zap san s. Preto, ak chce nejak zariadenie zapisova na
zbernicu, tak si najskr over , i je zbernica 'von' (najastejie m zbernica riadiaci
signl detekujci, i je 'obsaden' alebo 'von'). Taktie je zrejm aj to, e dta, ktor
posiela jedno zariadenie inmu je pr stupn aj vetkm ostatnm zariadeniam pripojenm
na zbernici. Kad zariadenie me daje ta - a aj ta, a poda asti z nich (urujcej
zariadenie, pre ktor s uren) ich bu ignoruje (dta nie s uren pre neho), alebo ich
pre ta a spracuje (dta s uren prve pre neho).
Po ta nemus ma len jednu zbernicu poet zbern c CPU
5
vrazne ovplyvuje jeho
kon gurciu.
Jednozbernicov organiz cia
: mme k dispoz cii jednu dajov zbernicu. Na nej
me by v jednom okamihu len jeden daj. Ak napr klad ALU potrebuje dva
daje, tak jeden me by na zbernici a druh sa mus zavies do nejakho registra
(bufera).
Obrzok 2.3: Jednozbernicov architektra
Kontrukcia je jednoduch (obr. 2.3), spracovanie dajov je vak zloitejie. Najprv
treba pripravi operandy (v prvom kroku uloi do bu5era A prv argument, potom
v druhom kroku do bu5era B druh argument), potom vykona operciu (vsledok
bude v bufri C) a nakoniec vsledok zo C uloi do poadovanho registra.
Viaczbernicov organiz cia
: Spracovanie dajov v predolom pr pade bolo dos
komplikovan, napr klad pr prava operandov sa musela dia v dvoch krokoch. Za
cenu zloitejej truktry sa d uveden postup zjednodui.
Pri vhodnej truktre sa opercia
R
1
= (
R
2
) + (
R
3
) d vykona v jednom takte.
Nvrh vhodnej zbernicovej architektry s takmito vlastnosami prenechme na
itatea.
5
resp. poet zbernc, na ktor ch je pripojen CPU
2.6.
P
ARAMETRE
CPU
117
2.6 Parametre CPU
Zloenie, truktru a vkonnos CPU mono charakterizova nasledujcimi dajmi:
1. d$ ka slova
uruje, s dtami akho rozsahu je procesor schopn pracova v jednom takte. Na-
pr klad prv po tae mali tvorbitov d0ku slova{ operandy ich intrukci boli
tvorbitov.
2. d$ ka adresy
uruje ak vek adresn priestor je po ta schopn adresova. Napr klad 24 bitov
adresa je schopn adresova 2
24
pam&ovch miest
6
.
3. taktovacia frekvencia
je d0ka trvania jednho taktu, udvan v herzoch.
4. poet taktov na vykonanie jednej intrukcie
udva as potrebn na vykonanie jednej intrukcie.
5. intrukn sbor
monosti intruknho sboru, rozmanitos intrukci , priamo podmieuj efekti-
vitu programov.
6. prtomnos koprocesora
koprocesor umouje prevdza rchle vpoty s relnymi slami.
7. sriov alebo paraleln spracovanie intrukci
po tae s paralelnm spracovan m intrukci s rchlejie a doku vykona viacero
intrukci v jednom takte.
6
v prpade, e adresujeme byty to predstavuje pam rozsahu 1 megabajt
118
KAPITOLA
2.
PRINCPY
REALIZ
CIE
PR
OCESORA
as
IV
Zvyovanie vkonu procesora
119
121
V predchdzajcej asti sme hovorili o princ poch realizcie procesora. Dopracovali
sme sa pritom k procesoru s pomerne bohatou sadou intrukci . Sstredili sme sa vak len
na navrhnutie procesora s poadovanou sadou registrov a intrukci , priom nm vyhovo-
valo akkovek sprvne rieenie. Nezauj malo ns hadanie najefekt vnejieho rieenia -
ie navrhnutie o 'najrchlejieho', resp. 'najvkonnejieho' procesora, t.j. procesora,
na ktorom by programy beali 'o najrchlejie'. Tto problematika bude tmou tejto
asti.
Poiadavky trhu s na o najrchlejie procesory. loha dizajnrov, snaiacich sa
vyhovie poiadavkm trhu, vak vbec nie je ahk. Znane obmedzujcim faktorom
je poiadavka tzv. sptnej kombatibility - programy vytvoren pre starie procesory
musia bea aj na novch procesoroch. Znamen to, e nov procesor mus obsahova
aj vetky registre, intrukcie a 'as sprvania' svojich predchodcov. Dvod poiadavky
sp&tnej kombatibility je jednoduch - nov procesory sa objavuj v priemere kadch 9
mesiacov, je preto nemysliten, aby sa kvli zmene procesora kadch 9 mesiacov musel
meni software. Nov procesor preto zv&a 'nav&zuje' na niekoko star ch procesorov, s
ktormi je sp&tne kombatibiln.
Zvi vkon procesora mono dvoma spsobmi:
zvenm taktovacej frekvencie
, resp. pou itm 'lepej' technolgie (pouit m novch
elektronickch siastok s 'lep mi' vlastnosami), alebo
lepou architektrou procesora
Vyia taktovacia frekvencia
Spomenuli sme, e taktovacia frekvencia podmieuje rchlos procesora - udva, koko
cyklov vykon procesor za jednu sekundu. m je vyia, tm viac cyklov (ie aj in-
trukci ) sa stihne vykona za sekundu, ie procesor je rchlej .
Taktovacia frekvencia je podmienen pouitmi technolgiami. Napr klad vrob-
n technolgia podmieuje vzdialenos medzi jednotlivmi komponentami, ktor m je
menia, tm je procesor rchlej . V nedvnej minulosti sa pou vala 0.35 mikrnov
technolgia, v sastnosti s pou van technolgie pod 0.25 mikrna. Inm pr kladom
s pam&te - existuje viacero fyziklnych princ pov uchovania informcie. Pouit princ p
vak podmieuje rchlos pam&te (napr. polovodiov pam& je rchlejia ako magnetic-
k).
V roku 1987 mali najrchlejie procesory taktovaciu frekvenciu 25 MHz, v sastnosti
je bench 400 MHz. Nehovoriac o procesoroch pre 'nronej ch'.
Samozrejme, zvyovanie taktovacej frekvencie sa neme uskutoova donekone-
na. Existuj toti fyziklne obmedzenia, napr. rchlos renia elektrickho prdu alebo
vzjomn interakcia dvoch bl zkych spojov (vodiov), ktormi pretek prd. Za name
sa pribliova k hraniciam monost elektroniky a oskoro na ne prudko naraz me. Jedi-
nm rieen m bude zrejme kontruova 'neelektronick' po tae, napr. na bze fotoniky
(optick procesory). Vskumy tmto aj mnohmi al mi smermi u prebiehaj.
122
Vylepen architektra
Vvoj novch technolgi je zd0hav, asovo aj nanne nron. Nvrhr preto neme
rta s pouit m novch, 'prevratnch' technolgi , ktor by zaruili vrazn zvenie
vkonu, no napriek tomu mus navrhn vkonnej procesor. Ako dosiahnu zlepe-
nie oproti 'predchdzajcim procesorom', postavench na rovnakej technolgi ? Lepm
vyu itm tejto technolgie
, ie lepou architektrou.
Zmena architektry me predstavova napr. zvenie potu registrov, nov intruk-
cie, podpora paralelnho spracovania at...
V pr pade zvyovania potu registrov sa procesoru pridaj nov registre a intrukcie
pre prcu s nimi pvodn aplikciu treba preprogramova, aby nov registre vyu vala.
o spsob zvenie potu registrov? Zvi sa vkon, pretoe aplikcia nemus tak asto
pristupova do hlavnej pam&te, ale na ta potrebn dta do registrov. Pretoe registre
s asi desakrt rchlejie ako hlavn pam&, uetr sa vea asu.
V alom texte prezentujeme najpou vanejie techniky techniky pou van v moder-
nch architektrach:
pridanie novch intrukci
paraleln spracovanie intrukci
realiz cia CLU hardvrovo
pridanie novch intrukci { Pr kladom je roz renie intruknej sady procesora
bez relnej aritmetiky o intrukcie relnej aritmetiky. Km doteraz sa relna aritmetika
musela realizova softvrovo, programom, teraz je k dispoz ci jej harvrov realizcia.
To spsob rchlejie vykonanie tchto operci , a pretoe tieto opercie vyu va vek
mnostvo aplikci , tak sa vrazne zvi vkon. Samozrejme, spolu s novmi operciami
je obas vhodn prida aj nov registre (napr. procesory Pentium maj pecilne registre
uren pre relnu aritmetiku).
ie: procesoru pridme intrukcie realizujce asto vykonvan opercie, ktor
doteraz hardwarovo realizovan neboli a preto sa museli realizova softwarovo - m sa
zbytone strcal as.
Pr kladom pouitia tejto metdy je technolgia MMX, ktor op eme v nasledujcej
kapitole.
paraleln spracovanie intrukci { Sasn procesory sa snaia poas jednho
cyklu paralelne vykonva viac intrukci , m sa vrazne zvyuje rchlos vykonvania
programu. Tto loha vak nie je vbec jednoduch, pretoe vea intrukci je na sebe
zvislch a v programe sa vyskytuje vea vetven , o brni paralelizmu pri vykonvan
intrukci . Bolo vak vyvinutch vea techn k na prekonvanie tchto problmov. V
druhej kapitole sa budeme zaobera novmi technolgiami a algoritmami, ktor umouj
vykonva viac intrukci v jednom cykle a ktor posunuli vvoj v oblasti procesorovej
architektry dopredu.
realizcia CLU hardwarovo { Predstavuje pr stupdo uritej miery 'dulny' k pr s-
tupu 'bohatej' intruknej sady. Vrok 'menej me by viac' je mottom tohto pr stupu,
demontrovanho v poslednej kapitole tejto asti, venujcej sa RISC-procesorom.
Kapitola
1
MMX
S rozvojom informanch technolgi sa v aplikcich, hrch i komunikci zaali ob-
javova gra ck prvky. Dnes je u nemon predstavi si aplikcie bez obrzkov, videa,
3D gra ky, animci i zvukov. Kladie sa tm v& vkon na procesor vyaduje sa
spracovvanie vekho objemu dt.
Inou cestou, ako zvi vkon procesora 'klasickou' cestou - zven m taktovacej
frekvencie bola MMX technolgia. Technolgia MMX bola vyvinut pecilne pre zrch-
lenie multimedilnych aplikci .
Analyzovali sa multimedilne aplikcie, presnejie ich algoritmy z oblast gra ky,
MPEG videa, hudobnej syntzy a kompresie, rozopoznvania hlasu, spracovania obrazu,
hier, videokonferenci a inch. Hadali sa vpotovo najnronejie rutiny, ktor boli
potom detailne analyzovan. Ukzalo sa, e multimedilne aplikcie, hoci nie s z tej
istej 'oblasti' (ako napr. spracovanie zvuku a sporacovanie obrazu), maj viacer spolon
rty:
prca s rozsahovo malmi celo selnmi dtovmi typmi (napr. 8-bitov gra ck
pixely, 16-bitov audio vzorky)
krtke cykly, ktor sa asto opakuj (asto sa na nevekom bloku dt vykonaj pre
vetky prvky bloku t ist operciu)
ast vykonvanie operci s tania a nsobenia
vpotovo nron algoritmy, paraleln opercie
Technolgia MMX navrhuje nov intrukcie, podporujce tieto opercie. Navrhnut
intrukcie s dostatone veobecn, aby boli vyuiten v irokej kle algoritmov poui-
vanch v multimedilnych aplikcich, a pritom dostatone efekt vne, aby vrazne zvili
multimedilny vkon.
MMX bola navrhnut tak, aby sa zachovala kompatibilita s predchdzajcimi mikro-
procesormi Intel rady x86. Starie programy, vytvoren pre niie verzie procesorov beia
sprvne aj na procesoroch s MMX, takisto existujce operan systmy nie je potrebn
modi kova.
Pop me teraz MMX podrobnejie.
123
124
KAPITOLA
1.
MMX
1.1 Popis technolgie MMX
Technolgia MMX je roz ren m intruknej sady intelovskej architektry (IA). Intrukn
sada MMX pridva 57 novch intrukci , 8 registrov a nov dtov typ 64-bitov tvorslo-
vo (quad- word). Nov MMX registre s 64-bitov. Pomenovan s MM0 a MM7.
Vyu va sa technika SIMD (single instruction, multiple data), ie 'jedna intrukcia,
viac d t'
. Konkrtne: MMX intrukcie pracuj s MMX registrami (ktor s 64 bitov).
V 64 bitoch meme ma uloench 8 bytov a ako 'za sebou nap sanch' osem bytov ho
aj niektor MMX intrukcie chpu. Jednou MMX intrukciou (ktorej argumenty s dva
MMX registre) potom vieme napr klad uskutoni osem sinov dvoj c bajtov- kad z
registrov obsahuje 8 bajtov vynsob me zodpovedajce dvojice. Samozrejme, 64 bitov
register meme interpretova aj ako napr. tyri 16-bitov slov i dve 32-bitov a takisto,
okrem nsobenia meme vykona in opercie.
Zvenie vkonu je prve dsledkom paralelnho spracovania 8, 16 a 32-bitovch
dtovch elementov. MMX intrukcia me naraz spracova a 8 bajtov a navye, v
jednom takte procesora mu by vykonan a dve MMX intrukcie. Dosiahneme tak
estns dtovch elementov spracovanch v jednom takte.
Dtov typy
Zkladnm dtovm typom intruknej sady MMX je 64 bitov blok obsahujci vi-
ac celo selnch slov (zo zdruovania je odvoden jeho pomenovanie 'zbalen' (packed)
celoseln typ
(integer)). Tieto 64-bitov bloky s presvan do 64-bitovch MMX re-
gistrov. MMX podporuje dtov typy - cel sla, a to bajty (bytes), slov (words), dvoj-
slov (doublewords) a tvorslov (quadwords) so znamienkom (signed) a bez znamienka
(unsigned). Novmi dtovmi typmi teda s:
'zbalen' bajt (packed byte){ osem bajtov zdruench do jednho 64-bitovho bloku
'zbalen' slovo (packed word){ tyri 16-bitov slov zdruen do jednho 64-bitovho
bloku
'zbalen' dvojslovo (packed doubleword){ dve 32-bitov dvojslov zdruen do jed-
nho 64-bitovho bloku
tvorslovo (quadword){ jedno 64-bitov slo
Uvedieme pr klad vyuitia 'zbalench' celo selnch typov. Gra ck pixely s bene
reprezentovan 8-bitovmi celmi slami. S technolgiou MMX je osem takchto bodov
uloench ('zbalench') do jednho 64-bitovho bloku a presunutch do MMX registra.
Vykonvan intrukcia MMX vezme naraz vetkch osem bodov z MMX registra, vykon
aritmetick alebo logick operciu na vetkch smich elementoch paralelne a zap e
vsledok do MMX registra.
MMX registre
Technolgia MMX zavdza osem 64-bitovch veobecnch registrov. Tieto registre prekr-
vaj registre pohyblivej rdovej iarky a mu uchovva 'zbalen' 64-bitov dtov typy.
MMX intrukcie pristupuj k MMX registrom priamo prostredn ctvom ich nzvov MM0
a MM7.
1.1.
POPIS
TECHNOLGIE
MMX
125
MMX registre mu by pouit na vykonvanie vpotov na dtach. Nemu by
pouit na adresovanie pam&te prca s pam&ou sa realizuje len 'tradinm' spsobom
procesorov rady x86, t.j. MMX nepridva nov monosti adrescie i nov registre pre
prcu s pam&ou.
Intrukcie MMX
Intrukn sada MMX poskytuje mnoinu intrukci , ktor mu spracovva vetky
dtov elementy 'zbalenho' 64-bitovho slova paralelne. alej, je mon spracovva ich
so znamienkom (signed) alebo bez znamienka (unsigned).
MMX intrukcie implementuj dva nov princ py:
opercie na 'zbalench' (packed) dtach
aritmetiku so zarovnvan m
1
Opercie realizovaten MMX intrukciami zah4aj viacer funkn oblasti
2
:
zkladn aritmetick opercie (s tanie, od tanie, nsobenie, aritmetick posun a
nsobenie so s tan m
3
)
logick opercie, (napr klad AND, AND NOT, OR a XOR)
opercie posunu
porovnvacie opercie
intrukcie pre konverziu medzi novmi dtovmi typmi (t.j. 'zabalenie' a 'rozbale-
nie' dt)
intrukcie pre presun dt (MOV) medzi MMX registrami a tie 32 a 64-bitov
tanie a ukladanie do pam&te
Aritmetick a logick opercie s vykonaten na rznych 'zabalench' (packed) celo -
selnch dtovch typoch. Preto existuje viacero intrukci realizujcich t ist operciu,
no nad inmi dtovmi typmi. Dsledkom toho je, e technolgia MMX m implemen-
tovanch 57 novch operanch kdov.
Prehad intruknej sady
Intrukcie v niie uvedenej tabuke s zoskupen poda kategri . Ak intrukcia
podporuje viacer dtov typy-bajt (B), slovo (W), dvojslovo (DW) alebo tvorslovo
(QW), tak s uveden v hranatch ztvorkch. Pre dan intrukciu me by zvolen
len jeden dtov typ. Napr klad, zkladn intrukcia PADD (packed add) m nasledujce
varicie: PADDB, PADDW a PADDD. Je uveden aj poet operanch kdov spojench
so zkladnou intrukciou.
Op me intrukcie MMX podrobnejie.
1
objasnme neskr
2
argumentami operci s spomenut 'balen' (packed) celoseln dtov typy podrobnejie popeme
neskr
3
podrobnejie popeme neskr
126
KAPITOLA
1.
MMX
Kateg ria
Nzov
Poet Popis intrukcie
variant
PADD (B,W,D]
3
S tanie
PADDS (B,W]
2
S tanie so znamienkom (signed)
PADDUS (B,W]
2
S tanie bez znamienka (unsigned)
PSUB (B,W,D]
3
Od tanie
Aritmetick PSUBS (B,W]
2
Od tanie so znamienkom (signed)
PSUBUS (B,W]
2
Od tanie bez znamienka (unsigned)
PMULHW
1
'Zbalen' horn nsobenie na slovch
PMULLW
1
'Zbalen' doln nsobenie na slovch
PMADDWD
1
'Zbalen' nsobenie na slovch a s tanie
vslednch prov
PAND
1
Bitov AND
Logick
PNAND
1
Bitov NAND
POR
1
Bitov OR
PXOR
1
Bitov XOR
Porovnvacie PCMPEQ
3
'Zbalen' porovnvanie (rovnos)
(B,W,D]
PCMPGT
3
'Zbalen' porovnvanie (v& ne)
(B,W,D]
PACKUSWB
1
'Zabalenie' slov do bajtov (bez znamienka)
PACKSS
2
'Zabalenie' slov do bajtov, dvojslov do slov
(WB, DW]
(so znamienkom)
Konverzn
PUNPCKH
3
'Rozbalenie' hornch bajtov, slov,
(BW,WD,DQ]
dvojslov z MMX registra
PUNPCKL
3
'Rozbalenie' dolnch bajtov, slov,
(BW, WD, DQ]
dvojslov z MMX registra
PSLL (W,D,Q]
6
'Zbalen' logick posun vavo
Posuny
PSRL (W,D,Q]
6
'Zbalen' logick posun vpravo
PSRA (W,D]
4
'Zbalen' aritmetick posun vpravo
Presun dt
MOV (D,Q]
4
Presun do alebo z MMX registra
Stavov
EMMS
1
Vyprzdnenie MMX stavu
Tabuka 1.1: Prehad intruknej sady MMX
1.2.
ARITMETIKA
'SO ZAROVNAN&M'
A
ARITMETIKA
'BEZ PRENOSU'
127
Doln hranica
Horn hranica
So znamienkom Hexadecimlne Desiatkovo Hexadecimlne Desiatkovo
Bajt (byte)
80h
-128
7Fh
127
Slovo (word)
8000h
-32768
7FFFh
32767
Bez znamienka
Bajt (byte)
00h
0
FFh
255
Slovo (word)
0000h
0
FFFFh
65535
Tabuka 1.2: Dtov hranice pre zarovnvanie
1.2 Aritmetika 'so zarovnanm' a aritmetika 'bez prenosu'
Technolgia MMX podporuje nov aritmetiku, tz. aritmetiku so zarovnan m.
Pri 'klasickej' aritmetike bez prenosu sa pri preteen (over7ow) alebo podteen (un-
der7ow) ako vsledok opercie zober len zobraziten, niie bity a pr znak prenosu
(carry) a vyie bity sa ignoruj (odtia nzov 'bez prenosu'). Napr klad, nasledovn k
sla ( slo vzniknut prirtan m jednotky) nemus by v&ie slo napr. nasledovn k 0
je 1, nasledovn k 1 je 2, no kee najv&ie slo zobraziten neznamienkovm bytom je
255, jeho nasledovn k je 0.
Pri aritmetike so zarovnan m sa vsledky, ktor prete alebo podte, zarovnaj na
limitn hodnotu uren konkrtnym dtovm typom. Vsledok, ktor presiahne rozsah
dtovho typu sa zarovn na maximlnu hodnotu vsledok, ktor je men , ne rozsah
dtovho typu sa zarovn na minimlnu hodnotu. V naom pr klade inkrementciou
bajtu s hodnotou 255 dostvame 255 a dekrementciou 0 dostvame 0.
Zarovnvanie je prostriedkom na zamedzenie neiadcich vsledkov aritmetiky 'bez
prenosu'. Napr. pri vpotoch farieb zarovnvanie zabezpe , e meme bez obv
zvyova { zniova jas, bez toho, e by sa po istom ase biela farba zmenila na iernu
i ierna na bielu. Toto by sa nm pri aritmetike bez prenosu mohlo sta { o je s ce
oetriten, ale s pouit m intrukci navye.
MMX intrukcie neindikuj preteenie alebo podteenie
4
vnimkami alebo nastavo-
van m pr znakov.
1.3 Prklady intrukci
V nasledujcej asti strune pop me p& pr kladov MMX intrukci . Intrukcie bud
pracova s dtovm typom 16-bitov 'zbalen' slovo v&ina tchto operci existuje tie
pre 8-bitov alebo 32-bitov 'zbalen' dtov typy.
1. Intrukcia 'spakovanho' stania slov bez prenosu vykon tyri s tania smich 16-
bitovch elementov, vetky s tania s nezvisl a prebehn paralelne. V tomto
pr pade vsledok plne vpravo presiahne maximlnu hodnotu reprezentovaten
16-imi bitmi a odree sa nenastane teda prenos 17. bitu do pr znaku prenosu
(carry 7ag) a vsledok je 7FFFh.
4
presnejie, pokus o akciu, ktor by pri klasickej aritmetike 'bez prenosu' spsobila preteenie alebo
podteenie napr. dekrementciu registra, v ktorom je nula.
128
KAPITOLA
1.
MMX
a
3
a
2
a
1
FFFFh
+
+
+
+
b
3
b
2
b
1
8000
h
a
3
+
b
3
a
2
+
b
2
a
1
+
b
1
7
FFFh
Obrzok 1.1: Intrukcia PADD(W] (S tanie 'bez prenosu')
a
3
a
2
a
1
FFFFh
+
+
+
+
b
3
b
2
b
1
8000
h
(
a
3
+
b
3
a
2
+
b
2
) (
a
1
+
b
1
FFFFh)
Obrzok 1.2: Aritmetika zarovnvania
2. al m pr kladom je 'zbalen' stanie sel bez znamienka so zarovnanm. Pre
demontrovanie pouime sla z predchdzajceho pr kladu. S tanie krajnch ele-
mentov vpravo (FFFFh (65535) a 8000h (32768) ) generuje vsledok, ktor sa
nezmest do 16-ich bitov v tomto pr pade nastane zarovnanie. V naom pr pade
dolo k preteeniu, preto je vsledok zarovnan na najv&iu reprezentovaten
hodnotu - t.j. FFFFh.
Spomenut operciu vykon intrukcia pre 'zbalen' stanie slov bez znamienka
so zarovnanm
(PADDUSW). Kompletn sada operci ADD existuje tak pre pr -
pady so znamienkom ako aj bez znamienka. Neexistuje iaden riadiaci bit, ktorho
zmenou by sme urili, i sa m alebo nem zarovna namiesto toho sa pou vaj
rozdielne intrukcie na z skanie vsledkov 'bez prenosu' alebo so zarovnan m.
3. Nasledujci pr klad ukazuje kov intrukciu pre opercie tzv. nsobenia so s -
tan m, ktor s zkladom mnohch algoritmov, napr. skalrneho sinu alebo
nsobenia mat c. Touto intrukciou je 'zbalen' nsobenie so s tan m (PMAD-
DWD). Intrukcia PMADDWD spracuje 16-bitov 'zbalen' dtov typ a generuje
32-bitov 'zbalen' vsledok. Jej innos je zrejm z obrzku.
4. Nasledujcim pr kladom je 'zbalen' paraleln porovnvanie. Tento pr klad porov-
nva tyri pry 16-bitovch slov. V pr pade 'klasickch' porovnvac ch intruk-
ci , kde porovnvame jednu dvojicu slov je vsledkom hodnota 'pravdiv' alebo
'nepravdiv'. V tomto pr pade porovnvame 4 dvojice slov a mme teda tyri
vsledky, 'zbalen' do jednho. Kdovanie je nasledovn: pre jednu dvojicu sa
hodnota 'pravdiv' sa kduje FFFFh, hodnota 'nepravdiv' 0000h. 3tyri dvojice
s pop san tyrmi takmito estnsbitovmi slovami. Vsledkom je teda 64 bitov
a
3
a
2
a
1
a
0
b
3
b
2
b
1
b
0
a
3
b
3
+
a
2
b
2
a
1
b
1
+
a
0
b
0
Obrzok 1.3: Intrukcia PMADDWD (16
b
16
b)
!
32
b{nsobenie so s tan m
1.4.
R
CHLOSTN
TESTY
129
35
18
43
16
<
<
<
<
12
25
20
7
FFFFh 0000h FFFFh FFFF
Obrzok 1.4: Paraleln porovnvanie
slovo vytvoren 'zbalen m' tyroch vsledkov pre jednotliv dvojice. Neexistuj i-
adne nov porovnvacie stavy a iadne existujce stavy touto intrukciou nie s
ovplyvnen. Nasledujci pr klad ukazuje porovnanie 'v& ne' na 'spakovanch'
slovch.
Vsledok 'zbalenho' porovnvania me by pouit ako maska na vyberanie ele-
mentov z rznych vstupov pouit m logickej opercie, m sa ob de nutnos poui-
tia vetviacich intrukci . Monos vykona podmienen pohyb namiesto pouitia
vetviacich intrukci je dleitm zven m vkonu v procesoroch so zreazen m
(pipeline) a predpovedan m vetven (branch prediction). Tieto techniky budeme
popisova neskr, no teraz aspo uvedieme, e branch prediction sa sna s o
najv&ou pravdepodobnosou uhdnu vsledok budceho vetvenia. 8ako sa to
rob , ak je vetvenie zaloen na vsledku porovnvacej opercie dt, pretoe tie
mu by 'nhodn'. Prostredn ctvom MMX intrukci s touto technikou mono
eliminova vetvenie, vyuit len na vber uritej skupiny dt. Preto je tto techni-
ka al m faktorom zvyujcim vkon na modernch procesoroch, ktor vyu vaj
predpovedanie vetvenia.
5. alej uvedieme pr klad 'pakovacej' (pack) intrukcie. Intrukcia zoberie tyri 32-
bitov hodnoty a 'zabal ' ich do tyroch 16-bitovch hodnt v pr pade, e sa niek-
tor 32-bitov hodnota nezmest do 16-ich bitov, vykon zarovnanie. Existuj aj
intrukcie, ktor vykonvaj opak-'rozpakovanie' (unpack), napr. 'zbalen' bajt do
'spakovanho' slova.
Uviedli sme pr klad intrukci prevdzajcich dta medzi 'zabalenmi' dtovmi
typmi s 16 a 32-bitovmi dtovmi elementami. Samozrejme, intrukcie 'balenia' a
'rozbalenia' mono poui aj na vzjomn konverzie medzi ubovonmi 'zabalen-
mi' dtovmi typmi. S dleit najm& ak algoritmus v istch sekoch vpotu
potrebuje vyiu presnos, ako napr klad pri ltrovan obrazu. Filter na obraze
zvyajne zah4a sbor operci nsobenia medzi koe cientmi ltra a susednmi
bodmi obrazu, akumulujc vetky hodnoty. Tieto nsobenia a akumulcie vyadu-
j v&iu presnos ne je pvodnch 8 bitov pre bod. Rieen m je 'rozbalenie'
8-bitovch obrazovch bodov do 16-bitovch slov, vykonanie vpotov v 16-bitoch
(bez obv o preteenie) a nsledn 'zbalenie' sp& do 8-bitovch pixelov.
1.4 Rchlostn testy
Prirodzenou otzkou je, nakoko pouitie MMX technolgie zrchuje aplikciu. Prirodze-
ne, existuje niekoko tdi na tto tmu. Intel uvdza, e pri spracovan obrazu mono
dosiahnu zvenie vkonu o 500%, o je vak skr dielom naprogramovania testovacieho
softwaru 'plne optimalizovatenho' MMX technolgiou. V praxi nemono takto vzostup
130
KAPITOLA
1.
MMX
oakva, no zvenie vkonu o 50-100% by malo by relne - o je skok zodpovedajci
novej genercii procesorov. Vrazne obmedzujcim faktorom me by rchlos hardisku,
ktor spomauje procesor a preto pri astej prci s n m sa tak me 'stiera' rozdiel medzi
procesormi s/bez MMX. Op& - zle od aplikcie. Ostatn software me takisto poui
MMX, no kee a tak nepotrebuje vykonva MMX opercie, zlepenia bud skr nepa-
trn - asi o 10%, o sa vak zrejme dosahuje zdvojenou cache prvej rovne.
1.5 Zver
Technolgia MMX zavdza nov veobecn intrukcie, ktor paralelne pracujcimi vpo-
tovmi jednotkami spracvaj v&ie mnostvo dt, 'spakovanch' do 64-bitovch blokov.
Je mon vykona aritmetick a logick opercie na rznych dtovch typoch (byte, slo-
vo...), zavdzaj sa nov opercie (aritmetika s prenosom, nsobenie so s tan m), ktor
s vhodn pre multimedilne aplikcie. Intrukn sada MMX je plne kompatibiln so
vetkmi IA mikroprocesormi. Vetok existujci software be na mikroprocesoroch s
MMX sprvne, nie je potrebn ho modi kova.
MMX zrchuje o 50-100% vkon aplikci s vpotovo nronmi algoritmami, ktor
vykonvaj opakovan opercie na malch sekoch dt. Medzi ne patria napr. video,
kombincia gra ky a videa, spracovanie obrazu, audio syntza, hlasov syntza a kom-
presia, 2D a 3D gra ka.
Kapitola
2
Paraleln spracovvanie intrukci
V tejto kapitole uvedieme algoritmy, ktor umouj vykonvanie viacerch intrukci v
jednom takte{ t.j. umouj paraleln vykonvanie intrukci . Na ilustrciu pouijeme
virtulny procesor, ktor budeme postupne zlepova. Na pr klade konkrtneho kdu
(obr. 2.1) budeme pozorova efektivitu jednotlivch zlepen { o koko sa nm zrchli
vykonvanie tohto kdu.
Na zaiatku predpokladajme procesor s jednoduchou architektrou (pop sanou v asti
III). Tento procesor vdy na ta jednu intrukciu, vykon ju a a po jej vykonan zane
na tava nov intrukciu. Tieto innosti s rozdelen do tyroch fz { cyklov fetch
(nahratie intrukcie z pam&te), decode (dekdovanie intrukcie), dispatch (odoslatie in-
trukcie na vykonanie) a execute (samotn vykonanie intrukcie). Pre jednoduchos pred-
pokladajme, e cykly fetch, decode a dispatch trvaj 1 cyklus. Execute{fza intrukcie,
ktor nepristupuje do pam&te bude trva 1 cyklus, pr stup do pam&te bude trva 4 cykly.
Procesor bude ma k dispoz cii registre (R0, ..., R7).
I1: R1
(
MemR0]
I2: R1
(
(R1) + 2
I3: R2
(
(R2) + (R3)
I4: R2
(
(R2) + 1
I5: if R1=R2 then jump I7
I6: R2
(
MemR4]
I7: R2
(
(R2) + (R1)
Obrzok 2.1: Pr klad kdu
V pr pade, e podmienka v I5 bude splnen, procesor mus vykona jednu intruk-
ciu tania z pam&te (trv 1+1+1+4 = 7 cyklov) a p& intrukci , ktor do pam&te
nepristupuj (kad trv 1+1+1+1=4 cyklov). Spolu bude na vykonanie tejto vetvy
potrebnch 27 cyklov. V pr pade, e podmienka v I5 nebude splnen, procesor mus
navye ete raz vykona intrukciu pristupujcu do pam&te a teda vykonanie bude trva
34 cyklov.
Jeden zo zkladnch problmov po taovho systmu je vemi mal rchlos pam&te v
porovnan s rchlosou procesora. Zatia o procesory sa za poslednch 10 rokov zrchlili
viac ako 10-krt, rchlos pam&te sa zv&ila iba o 60%. Tento beztak u vek rozdiel v
rchlosti m pritom rastci trend. iastone ho mono zmeni pouit m tzv. CACHE
131
132
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
pamt
. Podrobnejie ich op eme v asti o pam&tiach, uveme vak aspo, e sa jedn o
rchle n zkokapacitn pam&te, asto umiestnen priamo v procesore, do ktorch pr stup
zvyajne trv len jeden intrukn cyklus a ktor slia ako ist nhrada hlavnej pam&te{
pam&ov miesta v cache obsahuj kpie asto pou vanch pam&ovch buniek hlavnej
pam&te, resp. kdy intrukci , ktor sa 'onedlho' bud vykonva. Ak procesor poaduje
daj, ktor je v cache, pracuje s ou a nie s hlavnou pam&ou. Stratgie, ako uri, ktor
pam&ov bunky bud 'asto pou van', ako aj alie detaily o cache uvedieme v asti
V . V procesoroch sa v&inou nachdza dajov cache (Data Cache), ale aj intrukn
cache (Instruction Cache), ktor uchovva kdy 'onedlho vykonvanch' intrukci .
Pre jednoduchos budeme predpoklada, e fetch fza kadej intrukcie trv iba jeden
cyklus (aj ke v pr pade, e sa intrukcia nenachdza v intruknej cache, tak procesor
mus pristupova do pam&te). Pri intrukcich s pr stupom do pam&te sme predpokladali,
e musia naozaj pristupova do pam&te (potrebn daje nie s v cache - resp. ak procesor
nem cache) a e tento pr stup im trv 4 cykly (v skutonosti vak me trva vrazne
dlhie).
Toko vodom sksme teraz vymyslie rzne zlepenia, ktor by zrchlili prcu nho
procesora.
2.1 Pipelining
N jednoduch procesor spracva intrukciu v tyroch cykloch: fetch, decode, dispatch
a execute. Tieto cykly (fzy) vak maj na starosti rzne funkn jednotky (obvody)
procesora. Teda km prebieha napr. fetch cyklus, tak pracuj iba pr slun obvody
pre fetch fzu a zvyn s nevyuit. Metdou na zrchlenie vykonvania programu je
pipelining{ ktor 'neustle vyu va' vetky jednotky.
Jeho mylienka je jednoduch. Predstavme si, e mme tovre (montujcu) vyrba-
jcu aut. Vroba auta pozostva z viacerch krokov, napr klad vroba karosrie, na-
montovanie motora, lakovanie,. .., vstupn kontrola. Nevyrba sa tak, e poas vroby
karosrie ostatn linky akaj, a ke je hotov, tak sa odovzd nasledujcej linke ktor s
ou pracuje a zase ostatn akaj so zaloenmi rukami. Nie, po odovzdan prvej hotovej
karosrie nasledovnej linke sa zane vyrba alia karosria, paralelne s tm, ako druh
linka spracuvva prv vyroben karosriu (o jej al osud sa u prv linka nezauj ma).
Ako na beiacom pse.
Pre n procesor to vyzer nasledovne: v prvom cykle zane fetch jednotka spracov-
va intrukciu I1 { nahr ju z pam&te. V druhom cykle je u I1 nahrat a preto me
na I1 zaa pracova jednotka decode. V tom ase vak jednotka fetch u me zaa
nahrva aliu intrukciu { I2. Na konci druhho cyklu u jednotka decode ukonila
prcu na I1 a jednotka fetch na I2. Intrukcie I1 a I2 sa teda mu 'posun o jeden krok
alej' (I1 do dispatch jednotky a I2 do decode jednotky) a jednotka fetch me zaa
nahrva I3, at...Vykonvanie intrukcie je teda rozdelen na niekoko po sebe idcich
fz (v naom pr pade tyri), ktor sa uskutouj v navzjom nezvislch funknch
jednotkch procesora.
Tento spsob vykonvania sa nazva pipelining, ie prdov spracovanie. Samot-
n nzov pipelining pochdza zo slova pipeline- potrubie, ie pipelining zna prdov
spracovanie intrukci
. Intrukcie s akoby na pohyblivom pse, na ktorom ich pos-
tupne obsluhuj jednotliv jednotky procesora. Pipeline-ov vykonvanie ilustranho
programu je zobrazen na obrzku 2.3.
2.1.
PIPELINING
133
Intrukcia vstpi do pipelinu a postupne prech dza vetkmi f zami. Ak je nasledujca
jednotka von , intrukcia m e prejs do alej f zy.
Obrzok 2.2: Zobrazenie vykonvania intrukcie v pipeline.
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
F
1
2
3
4
4
4
4
5
7
De
1
2
3
3
3
3
4
5
7
Di
1
2
2
2
2
3
4
5
7
E
1
1
1
1
2
3
4
5
7
Podmienka v
I5
je splnen
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19
F
1
2
3
4
4
4
4
5
6
7
De
1
2
3
3
3
3
4
5
6
7
Di
1
2
2
2
2
3
4
5
6
7
7
7
7
E
1
1
1
1
2
3
4
5
6
6
6
6
7
Podmienka v
I5
nie je splnen
Na obr zkoch je zobrazen pipeline a jeho obsah poas jednotlivch cyklov vykon vania kdu.
Psmen
F
,
De
,
Di
a
E
oznauj fetch, decode, dispatch a execute f zy pipelinu. sla nad stpcami
oznauj cyklus procesora a sla v polkach s sla intrukci, ktor sa pr ve vykon vaj.
Vykon vanie trv v prpade (a) 15 cyklov, v prpade (b) 19 cyklov.
Obrzok 2.3: Zobrazenie vykonvania asti kdu v procesore s pipelinom.
Teoreticky by sa beh kdu mal zrchlil 4-krt (v kadom cykle sa zane vykonva
nov intrukcia). Vimnime si vak obrzok 2.3.
Vid me, e kd sa s ce vykonal rchlejie, ale zaleka nie 4-krt rchlejie.
Prvm dvodom spomalenia pipelinu je u spom nan pomal pr stup do pam&ti.
Zapr in , e intrukcie I2, I3 a I4 aka na ukonenie vykonvania I1 3 cykly.
Druh dvod bol pr inou 'bubliny' v pipeline, ktor sa vytvorila medzi I5 a I7 (resp.
I6
). I5 je vetviaca intrukcia (angl. branch instruction) { ktor men tok programu.
Poda toho, i je splnen podmienka R1=R2 sa pokrauje bu na intrukcii I7 alebo I6.
Aby sme mohli alej vykonva kd (po I5), mus me vedie vsledok I5 (mus me vedie, i
pokraova na I7 alebo na I6). Treba si uvedomi, e intrukcia I5 sa s ce zane vykonva
u v 8. cykle, ale jej vsledok je znmy a na konci 11. cyklu. ie procesor a na konci
11. cyklu vie, i m jednotka fetch nahrva I7 alebo I6. V pipeline vznikla 'bublina',
poas ktorej niektor jednotky procesora nepracovali.
Experimentlne sa zistilo, e v priemere je kad piata intrukcia bench programov
vetviaca intrukcia (branch intrukcia). Potom ale v procesore s pipeline-om d0ky tyri
(d0ka pipelinu je rovn potu fz vykonvania intrukcie v pipeline) po piatich cykloch
stle nasleduje prestvka na tri cykly (mus me poka, km sa vykon branch).
V modernch procesoroch je trendom pou va pipeline m v&ej d0ky. Pri pouit
pipelinu ako sme ho pop sali, by napr. Pentium Pro, ktor m pipeline d0ky 12 muselo
po kadch piatich cykloch aka al ch 11 cyklov na vykonanie vetviacej intrukcie.
Vrazn pomoc by bola, ak by sme dopredu vedeli predpoveda, ak vsledok bude
134
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
ma I5 teda i bude podmienka splnen alebo nie. Ak by sme toti vedeli, e vetviaca
intrukcia I5 sko (spln sa podmienka a vykon sa skok na I7), tak by sme u v 9. cykle
mohli zaa vykonva I7. Takto by v pipeline nevznikla iadna bublina. Tto metda sa
nazva branch prediction (predpovedanie vetvenia) a je bliie pop san v nasledujcej
kapitole.
Spomenuli sme, e intrukcie pracujce s pam&ou mu vrazne spomali pipeline.
al mi negat vnymi faktormi (spomaujcimi pipeline) s:
intrukcie s premenlivou d$ kou
- poas dekdovania je nutn viacnsobn pr stup
do pam&ti
prli zlo it intrukcie
- pomalie ne ostatn
intrukcie, ktor taj aj zapisuj do toho istho registra
Tieto problmy je ale mon vyriei. Napr klad vykonanie zloitch intrukci mono
zrchli pridan m al ch obvodov. Vid me vak, e nevhodn intrukn sada me
znemoni efekt vny pipeline. Preto maj procesory s pipeline-om obmedzen intrukn
sadu. Prakticky vak tieto obmedzenia nespsobuj vek problmy a procesory s pipeline-
om s efekt vnejie ako procesory bez neho.
2.2 Predpovedanie vsledkov vetvenia
Predpovedanie vsledkov vetvenia (branch prediction) sli na urenie vetvy, ktorou sa
bude alej ubera vpoet ie predpoved splnenie podmienky vo vetviacej intrukci .
Vznam branch prediction sme naznaili. Umouje procesoru 'vidie dopredu' v
toku intrukci , t.j. procesor vie v kadom kroku vpotu uri
k nasledujcich krokov
vpotu. Vaka tomu potom procesor me do pipe-u zaraova 'sprvne' intrukcie,
bez toho, e by pipe musel 'st' a aka na vsledok vetviacich intrukci .
Branch prediction sa pou va aj na in ely napr. je potrebn pre realizciu
alej techniky, nazvanej out-of-order execution, ktor pop eme neskr. Takisto sa
oboznmime s value prediction, o je aksi 'zoveobecnenie' branch prediction - h-
dame vsledky operci (priom vsledok me by prvkom vemi vekej mnoiny - napr.
vetkch esdesiat-bitovch sel).
Branch prediction je teda algoritmus, ktor s vekou pravdepodobnosou sprvne
predpoved vsledky vetvenia. Rzne algoritmy maj samozrejme rznu spenos, t.j.
rznu pravdepodobnos uhdnutia vsledku priom na zvenie spenosti pou vaj o
'najpref kanejie' metdy. Pop eme jeden konkrtny algoritmus branch prediction.
Two-level adaptive branch predictor
Je branch predictor, ktor pri predpovedan dosahuje a 97% spenos. Tento algoritmus
na branch prediction je pouit aj v Pentiu Pro.
Pre jeho objasnenie najsamprv mus me pop sa tzv.saturovacie potadlo.
Saturovacie po tadlo na rozdiel od obyajnho po tadla nikdy nepreteie. Presne-
jie: ak je po tadlo nastaven na maximlnu hodnotu a pripo tame 1, tak hodnota v
2.2.
PREDPO
VED
ANIE
VSLEDK
O
V
VETVENIA
135
Na obr zku je zobrazen 2-bitov saturovacie potadlo, ktor vie 'pota' od 0 do 3. Pri
pripotavan 1 sa pohybujeme po pkach oznaench symbolom '+', pri odtavan po pkach
oznaench '{'.
Obrzok 2.4: Dvojbitov saturovacie po tadlo.
Histria branchu (HB) zaznamen va, ako sa branch spr val pri poslednch
k
opakovaniach. HB
sl i ako index pre tabuku histrie vzoru. Predictor sa pozrie na saturovacie potadlo, na
ktor ukazuje HB a poda neho predpovie, i branch sko alebo nie.
Obrzok 2.5: Two-level branch predictor
po tadle nepreteie na nulu, ale ostane tam maximlna hodnota. Podobne, ak od mini-
mlnej hodnoty (nuly) odrtame 1, tak vsledkom bude nula (po tadlo nepodteie). V
pr pade 8-bitovho po tadla je teda 255 + 1 = 255 a 0
;
1 = 0.
Two-level adaptive branch predictor pou va dve dtov truktry: histriu vetven
(HB) a tabuku histrie vzoru (THV).
HB je register, ktor zaznamenva histriu vsledkov vetven , ie i vetviaca pod-
mienka platila alebo nie. Napr klad, ak nejak podmienen skok najprv skoil, potom
dvakrt nie a potom trikrt op& skoil, tak jeho HB bude 100111. Ak je HB
k-bitov
register, tak zaznamenva histriu poslednch K vsledkov branchu.
THV predstavuje druh, vzletne povedan 'vyiu rove pozorovania' histrie. Kad
mon vzor { histria{ m svoju vlastn histriu v THV. Ak HB zaznamenva histriu
branchu na
k krokov dozadu (t.j. je to k-bitov register), tak existuje 2k rznych histri
branchu. Pre kad tak histriu existuje v THV 2-bitov saturovacie po tadlo. Toto
saturovacie po tadlo zaznamenva pre nejak histriu branchu, ako sa branch sprva
pri vskyte takejto histrie. Zakadm, ke sa vyskytne vetviaca intrukcia (branch),
predictor sa pozrie na jeho histriu a potom sa pozrie do THV na po tadlo pre tto
histriu. Ak m toto po tadlo hodnotu 0 alebo 1, tak predictor predpoved, e branch
nesko , ak je v&ie ako jedna tak predpoved, e sko . Neskr, ke je znmy vsle-
dok tohto branchu, tak sa toto po tadlo inkrementuje ak branch v skutonosti skoil
a dekrementuje ak neskoil. Two-level branch predictor je zobrazen na horeuvedenom
obrzku.
Ak m napr. HB 4 bity, THV bude ma 2
4
= 16 poloiek s poiatonmi hodnotami
136
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
01. Predpokladajme, e chceme predpoveda branch, ktor pri histrii 1101 stle sko
(po 1101 nasleduje stle 1). Pri prvom vskyte histrie 1101 bude ma poloka 1101
2
v
THV hodnotu 01 a preto sa predpovie, e branch nesko . Branch vak v skutonosti
sko a poloka 1101
2
v THV sa teda inkrementuje na hodnotu 10. Pri al ch vskytoch
histrie 1101 u predictor sprvne predpovie, e branch sko .
Autori si vak uvedomili, e ak predpovedme len jedno vetvenie dopredu, tak proce-
sor vid v priemere len o 5 intrukci viac (v priemere je kad piata intrukcia branch).
P& intrukci je vak mlo, a tie, m viac intrukci dopredu procesor vid , tm lepie.
Preto na zklade svojho dvojrovovho adapt vneho prediktora vetvenia navrhli multi-
ple branch predictor, pomocou ktorho predpovedali 2 a 3 vetvenia dopredu. Sprvnos
predpovedania ich predictora je pribline 95%. Procesor je teda pomocou tohto algoritmu
schopn vidie pribline 10 a 15 intrukci dopredu.
Alternat vou k branch prediction me by tzv. predicative execution. Pri predicative
execution sa dopredu zan vykonva obe vetvy vetviacej intrukcie (na nezvislch
vpotovch jednotkch). Km sa vyhodnot vetviaca podmienka (resp. vykon vetviaca
intrukcia), bud pripraven (vykonan) obe vetvy programu a vykonvanie bude mc
pokraova alej.
Pre realizovanie predicative execution procesor mus ma dostatok funknch (vpo-
tovch) jednotiek a registrov na zapam&tanie si vsledkov intrukci v oboch vetvch. Za
cenu zvenia potu jednotiek a registrov vak dokeme eliminova zl predpovedanie
branch predictorov.
2.3 Superskalrne vykonvanie
alia prirodzen mylienka ako alej zrchli vykonvanie programu je spracovva in-
trukcie paralelne. Namiesto jednej vpotovej jednotky ich procesor bude ma viacero.
Aplikovan m aj predchdzajceho odseku o pipeline - nepouijeme jeden pipeline, ale
viacero. Tto metda sa nazva superskalrne vykonvanie (superscaling).
Roz rme teraz n ukkov jednoduch procesor o tto techniku. Nech m dva
pipeliny. Op me, ako pracuje: procesor berie jednu intrukciu po druhej a ak je nejak
pipeline von, zane v nej intrukciu vykonva. V idelnom pr pade by mal tento
procesor pracova dvakrt rchlejie ako procesor s jednm pipelinom. Na obrzkoch
2.5a 2.6je znzornen, ako by procesor s dvoma pipelinami spracovval nau as kdu.
Vid me, e predchdzajce dva problmy stle ostvaj: pam& je pr li pomal (in-
trukcie I3 a I5 musia aka na dokonenie vykonvania I1) a v pipeline vznikaj bubliny
kvli branchom (I6 a I7 musia aka na vsledok I5). Tieto problmy s dos vne,
pretoe napriek tomu, e sme pridali jeden pipeline, sa vykonvanie zrchlilo iba o jeden
cyklus (namiesto oakvanch 7 { 9 cyklov).
Je zrejm, e nie vdy mono ubovolne prehdza poradie vykonvania intrukci .
Hovor me, e intrukcia J je zvisl na intrukcii I, ak I nastavuje alebo men obsah
registrov alebo pam&te, ktor potom J berie ako vstup. J potom meme zaa vykonva,
a ke sa ukon vykonvanie I. Napr. intrukciu I2 nevieme vykona, km neskonila
intrukcia I1, pretoe I1 na ta do R1 obsah z pam&te a I2 tento nov obsah R1 zv& o
2. Ak by sme I2 vykonali skr ako I1, tak vsledok (obsah registra R1) by bol nesprvny.
Teda intrukcia I2 je zvisl na I1 (kompletn graf zvislosti intrukci v naej asti kdu
2.3.
SUPERSKALRNE
VYK
ON
V
ANIE
137
1
2
3
4
5
6
7
8
9
10 11 12 13 14
F
1
3
5
7
De
1
3
5
5
5
5
7
Di
1
3
3
3
3
5
5
7
E
1
1
1
1
3
5
7
1
2
3
4
5
6
7
8
9
10 11 12 13 14
F
2
4
De
2
4
4
4
4
4
Di
2
2
2
2
2
4
E
2
4
Obrzok 2.6: Spracovanie kdu procesorom s dvoma pipelinami v pr pade, e podmienka
v I5 je splnen
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18
F
1
3
5
6
De
1
3
5
5
5
5
6
Di
1
3
3
3
3
5
5
6
E
1
1
1
1
3
5
6
6
6
6
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18
F
2
4
7
De
2
4
4
4
4
4
7
Di
2
2
2
2
2
4
7
7
7
7
7
E
2
4
7
Obrzok 2.7: Spracovanie kdu procesorom s dvoma pipelinami v pr pade, e podmienka
v I5 nie je splnen
je na nasledovnom obrzku). Naopak intrukcie I2 a I3 na sebe nie s zvisl, pretoe
pracuj s rznymi registrami a mu by vykonan v ubovonom porad .
Z obrzkov 2.5 a 2.6 vidno, e intrukcia I2 ak na dokonenie I1 a tak blokuje
intrukciu I4. Existuj dve rieenia tohto problmu:
intrukcie, ktor na sebe nie s zvisl, meme preusporiada a zaa ich vykon-
va v inom porad . Ak zaneme intrukcie vykonva vo vhodnom porad , meme
sa zbavi niektorch zvislost . Tto metda sa vol out-of-order execution (vyko-
nvanie mimo poradia).
alou monosou je speculative execution ('pekulat vne' vykonvanie). V tomto
pr pade sa sna me odhadn { predpoveda { obsah registrov dopredu a vykona
aj zvisl intrukcie skr (s predpovedanmi hodnotami).
Treba si uvedomi, e pri pouit superscalingu vrazne vzrast potreba predpoveda-
nia vetven . V novch procesoroch sa toti vyskytuje a 5 pipeline-ov, o by znamenalo,
e priemerne sa v kadom cykle vyskytne jedna vetviaca intrukcia. Ak maj navye
tieto pipeliny h0bku 12, tak to znamen 1 cyklus prce a potom 11 cyklov akania na
vsledok jedinho branchu.
138
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
!
Obrzok 2.8: Zobrazenie zvislost intrukci v naom kde. Hore { podmienka v I5 je
splnen, dole { podmienka v I5 nie je splnen
2.4 Vykonvanie mimo poradia
Vykonvanie mimo poradia (out-of-order execution ) je metda vyu vajca fakt, e ak
nejak intrukcia, ktor nie je zvisl na iadnej intrukcii ,(ktor je v porad pred ou),
potom ju meme (v pr pade, e sa nm to hod ) vykona v predstihu, skr ne pr de na
rad.
Vyuitie tejto metdy meme ilustrova na naej asti kdu. Intrukcia I4 je zvisl
na intrukcii I3. Tto zvislos me v superskalrnom po tai spsobi zablokovanie
vykonvania I4 (km sa neskon vykonvanie I3). Jednotky procesora, ktor by normlne
paralelne vykonvali aliu intrukciu (I4) s nevyuit. Preto, ke bude musie procesor
st { napr. akanie na ukonenie load intrukcie { me vyui as uitonejie a vykona
intrukciu I3 mimo poradia (I3 nie je zvisl na I1 ani I2). Neskr, ke sa zane vykonva
I4
, bude u I3 ukonen a teda nebude blokova I4.
Intrukcia I3 sa vykon v jednom cykle (nepristupuje do pam&te). Preto zablokuje
I4
iba na jeden cyklus. Predpokladajme, e podmienka v intrukcii I5 nebude splnen.
Potom sa musia vykona intrukcie I6 a I7. I7 je zvisl na I6, ktor pristupuje do
pam&te, preto bude I7 zablokovan na vemi dlh as (4 cykly v naom procesore, ale v
skutonosti ovea viac vi obr. 5). Preto, ak by sme vedeli pomocou prediktora sprvne
predpoveda vsledok vetvenia I5, tak meme intrukciu I6 vykona skr (I6 nezvis
na predchdzajcich intrukcich). I7 potom nebude zablokovan a procesor uetr vea
cyklov.
Vid me, e niekedy je vhodn poui out-of-order execution. iastone kompenzuje
omekanie pam&te. Pre efekt vnu realizciu out-of-order execution vak potrebujeme
vkonn branch prediction, inak toti 'nevid me' tok programu dos aleko dopredu a
nevieme naplnova, ktor intrukcie sa maj vykona skr.
Kad predpovedan branch sa samozrejme mus neskr overi. Ke pr de na branch
rad vo vykonvan , tak sa vykon a vsledn hodnota sa porovn s predpovedanou.
Ak sme predpovedali sprvne, tak vieme, e sa vykonvali sprvne intrukcie. Ak vak
branch predictor predpovedal zle, vykonvali sme intrukcie z nesprvnej vetvy { z vetvy,
do ktorej by sa tok programu nedostal. Preto mus me na vetky tieto 'zl' intrukcie
'zabudn' a zaa znovu vykonva program od zle predpovedanho branch-u. V pr pade
zlej predpovede sa mus vyprzdni cel pipeline, pretoe sa v om nachdzaj intrukcie,
ktor nepotrebujeme vykona. Ak je pipeline dlh, stoj takto zl predpove procesor
2.5.
PEKULA
TVNE
VYK
ON
V
ANIE
139
vemi vea asu.
Uvaujme chv u, e mme k dispoz cii dokonal branch predictor, ktor sprvne
predpovie kad vetvenie. Na obrzku 2.8vidno, ako by sa v tom pr pade vykonval n
kd, keby sme pouili out-of-order execution. V pr pade (a) branch predictor predpovie,
e podmienka je splnen a intrukcia I5 sko . Vieme teda, e po I5 nasleduje I7, preto ju
meme zaa vykonva skr. Po skonen vykonvania I5 procesor over , i bol branch
predpovedan sprvne. V pr pade (b) predictor predpovie, e branch nesko . Po I5 teda
nasleduj intrukcie I6 a I7. Obe sa zan vykonva skr, aby procesor nemusel aka
na pomal pr stup do pam&te.
Naopak, o sa stane pri zlom predpovedan ? Na obrzku 2.9vid me, ako zl pred-
povedanie branch intrukcie I5 pred0i vykonvanie programu. Branch predictor pred-
povedal, e podmienka v I5 bude splnen a teda, e po I5 sa bude vykonva I7. Po
vykonan I5 vak procesor zistil, e podmienka v I5 nebola splnen a skok sa neusku-
tonil. Musia sa teda ete vykona intrukcie I6 a I7.
2.5 pekulatvne vykonvanie
3pekulat vne vykonvanie (speculative execution) riei problm zvislosti intrukci inak
ako out-of-order execution. Ak je nejak intrukcia zvisl na inch intrukcich, tak sa
procesor poksi uhdnu jej vstupn hodnoty (t.j. vsledky intrukci , na ktorch zvis )
a intrukcia je potom spusten s predpovedanmi hodnotami. Neskr, ke s znme
jej skuton vstupn hodnoty, tak sa porovnaj s 'tipovanmi' (t.j. predpovedanmi)
1
2
3
4
5
6
7
8
9
F
1
2
5
De
1
2
5
5
5
5
Di
1
2
2
2
2
5
E
1
1
1
1
2
5
1
2
3
4
5
6
7
8
9
F
3
4
7
De
3
4
7
Di
3
4
7
7
7
7
E
3
4
7
Podmienka v
I5
je splnen
1
2
3
4
5
6
7
8
9
10
F
1
2
5
De
1
2
5
5
5
5
Di
1
2
2
2
2
5
E
1
1
1
1
2
5
1
2
3
4
5
6
7
8
9
10
F
3
4
6
7
De
3
4
6
7
Di
3
4
6
7
7
7
7
E
3
4
6
6
6
6
7
Podmienka v
I5
nie je splnen
Obrzok 2.9: Zobrazenie spracovania kdu procesorom s dvoma pipelinami a out-of-order
execution
140
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17
F
1
2
5
6
De
1
2
5
5
5
5
6
Di
1
2
2
2
2
5
6
E
1
1
1
1
2
5
6
6
6
6
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17
F
3
4
7
7
De
3
4
7
7
Di
3
4
7
7
7
7
7
7
7
7
7
E
3
4
7
7
Branch intrukcia
I5
bola zle predpovedan . Branch predictor predpovedal skok, ale
I5
neskoila. Musia sa vykona intrukcie
I6
a
I7
.
Obrzok 2.10: Zl predpove branch intrukcie
hodnotami. Ak bola predpove sprvna, ak intrukciu u nemus me vykona, jej vsledok
je sprvny. Ak vak predpove sprvna nebola, potom mus me vykona intrukciu znova,
so skutonmi vstupnmi hodnotami.
Napr klad, v naom pr pade me procesor predpoveda hodnotu, ktor z pam&te
na ta intrukcia I1. Potom me s touto predpovedanou hodnotou spusti intrukciu
I2
. Obdobne ako pri out-of-order execution, aj pri speculative execution mus by kad
predpovedan hodnota neskr overen. Ak bola predpove sprvna, me program bea
alej. Ak vak bola predpovedan nesprvna intrukcia, znamen to, e vetky intrukcie,
ktor s na nej zvisl dostali zl vstupn hodnoty. Teda vetky intrukcie, ktor s
1
2
3
4
5
6
7
8
9
10 11
F
1
7
De
1
7
Di
1
7
E
1
1
1
1
7
1
2
3
4
5
6
7
8
9
10 11
F
2
3
4
5
De
2
3
4
5
Di
2
3
4
5
E
2
3
4
5
Podmienka v
I5
je splnen
1
2
3
4
5
6
7
8
9
10 11 12 13 14
F
1
6
De
1
6
Di
1
6
E
1
1
1
1
6
6
6
6
1
2
3
4
5
6
7
8
9
10 11 12 13 14
F
2
3
4
5
7
De
2
3
4
5
7
Di
2
3
4
5
7
E
2
3
4
5
7
Podmienka v
I5
nie je splnen
Obrzok 2.11: Zobrazenie spracovania asti kdu procesorom s dvoma pipelinami a spec-
ulative execution
2.6.
PREDPO
VED
ANIE
HODNT
141
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
F
1
2
7
De
1
2
7
Di
1
2
7
E
1
1
1
1
2
7
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
F
2
3
4
5
5
De
2
3
4
5
5
Di
2
3
4
5
5
5
E
2
3
4
5
5
Intrukcia
I1
bola predpovedan zle. Intrukcie
I2
a
I5
sa musia vykona znova.
Obrzok 2.12: Zl predpovedanie vsledku intrukcie pri speculative execution
zvisl na intrukcii so zle predpovedanou vstupnou hodnotou musia by vykonan znova.
Pri zlej predpovedi mus procesor aj v pr pade speculative execution strvi vea asu na
jej opraven .
Na obrzku 2.10 je zobrazen vykonvanie asti kdu (obr. 2.1) v procesore, ktor
pou va speculative execution a dokonal value predictor (vetky predpovedan vstupn
hodnoty s sprvne). V pr pade (a) je predpovedan hodnota, ktor nahr intrukcia I1
z pam&te. I2 sa teda me zaa vykonva u v prvom cykle. Po skonen vykonvania
I1
(v 7. cykle) sa over predpovedan hodnota a kee bola sprvna, tak sa pokrauje
alej. V pr pade (b) sa predpovie aj hodnota, ktor nahr z pam&te I6.
Naopak, na nasledujcom obrzku (obr. 2.11) je zobrazen, o sa stane, ak value
predictor nesprvne predpovie hodnotu intrukcie I1. Ke procesor zist , e hodnota
bola predpovedan zle, musia sa op&tovne vykona intrukcie, ktor s na nej zvisl. V
naom pr pade sa teda vykonaj intrukcie I2 a I5.
2.6 Predpovedanie hodnt
Predpovedanie hodnt (value prediction) je dleit technika, ktor umouje vykonva-
nie speculative execution.
Najastejie sa zvykn predpoveda branche (branch prediction). Pri branch predic-
tion sa mus predpoveda iba jeden bit { i branch sko alebo nie. Value prediction,
predpoved cel obsah registrov (t.j. napr. 32 bitov). Zd sa, e pri predpovedan 32
bitov nie je vek anca na sprvnu predpove. Ukzalo sa vak , e hodnoty po tan
intrukciami sa zvykn v&inu asu opakova alebo tvoria rzne postupnosti, ktor sa
daj predpoveda (op&, poznatok je tatistick a plat v priemernom pr pade).
Pop me si postupnosti, ktor mu vznika pri po tan intrukcie. Mu to by:
kontantn postupnosti (2, 2, 2, 2, ...)
postupnosti posunut o kontantu (1, 2, 3, 4, 5, 6, ...) alebo
'nhodn' postupnosti (24, -2, 13, 7, ...)
Kontantn postupnosti s najjednoduchie a vznikaj z intrukci , ktor stle pro-
dukuj rovnak vsledok. Postupnosti posunut o kontantu vznikaj napr. v cykloch,
142
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
alebo pri prci s dtovmi truktrami ako napr. pole. Dleit postupnosti s aj tie,
ktor vznikaj opakovan m rznych hodnt (napr. 1, 2, 3, 1, 2, 3, ...alebo 1, -13, 29, 7,
1, -13, 29, 7, ...). Takto opakovan postupnosti vznikaj hlavne vo vnorench cykloch,
kde prve vntorn cyklus vytvra opakovan hodnoty.
Typick value predictor vezme ako vstup stav procesora, pozrie sa do svojej tabuky
a predpovie hodnotu. Potom tabuku aktualizuje novmi informciami. Predictor me
ma ako vstup rzne stavov informcie ako napr. hodnoty registrov, hodnotu PC re-
gistra, kd aktulnej intrukcie (ktorej hodnotu chceme predpoveda), kontroln bity v
rznych stavoch pipelinu, at ....
Vo veobecnosti existuj dva rzne spsoby predpovedania:
pri vpotovom predpovedan je predpovedan hodnota funkciou predchdzajcich
hodnt. Pr kladom je stride predictor, ktor k posledne vypo tanej hodnote prirta
kontantu.
kontextov predpovedanie
sa u , ak hodnota (i hodnoty) nasleduje po uritej
postupnosti hodnt a potom, ke sa dan postupnos zopakuje, predpovie jednu z
nauench hodnt.
Vpotov predpovedanie
Last value predictor
(predpovedanie poslednej hodnoty) vo svojej najjednoduchej podobe vracia ako pred-
pove posledn hodnotu, ktor intrukcia vypo tala. Existuj vak aj lepie metdy,
ktor zvyuj schopnos sprvne predpoveda. Pr kladom je pouitie saturovacieho po -
tadla pre kad intrukciu. Po tadlo je inkrementovan (resp. dekrementovan) pri
kadej sprvnej (nesprvnej) predpovedi. Predictor nezmen predpovedan hodnotu
dovtedy, km sa nov hodnota nevyskytne niekoko krt za sebou.
Stride predictor
(predpovedanie postupnost posunutch o kontantu) me vyzera napr klad nasledovne:
procesor si bude pam&ta posledn dve hodnoty vypo tan intrukciou. Pri predpovedan
pripo ta k poslednej hodnote rozdiel medzi poslednmi dvoma hodnotami. Ak teda boli
posledn dve hodnoty vypo tan intrukciou
vn
;2
a
vn
;1
, tak predpovedan hodnota
bude
vn
;1
+
vn
;1
;
vn
;2
.
Rovnako ako pri last-value predictoroch aj tu existuje vea modi kci . Napr. je
pouit saturovacie po tadlo, ktor je inkrementovan/dekrementovan pri kadej sprv-
nej, resp. nesprvnej predpovedi a diferencia (rozdiel hodnt v postupnosti posunutch o
kontantu) sa zmen , iba ak je toto po tadlo pod uritou hranicou. Tto zmena zmen
poet zlch predpoved pri opakovanch postupnostiach z dvoch na jednu.
alia metda je tzv. two-delta method, pri ktorej si predictor pam&t dve diferencie.
Prv diferencia (
d
1
) je vdy rozdielom medzi poslednmi dvoma hodnotami vypo tan-
mi intrukciou. Druh diferencia (
d
2
) je pou van na predpovedanie hodnt. Ak sa
diferencia
d
1
vyskytne dvakrt za sebou,
d
2
sa nastav na hodnotu
d
1
. Metda two-delta
tie zn i poet zlch predpoved pri opakovanch postupnostiach - men diferenciu, iba
ak sa nov diferencia vyskytne dva krt.
2.6.
PREDPO
VED
ANIE
HODNT
143
Postupnos
stupe
a b c
aaa 0 2 0
aab 0 0 2
abc
2 0 0
bca
2 0 0
caa
2 0 0
predpove
stupe
a b c
a 6 2 0
b 0 0 2
c 2 0 0
predpove
stupe
a b c
aa
3 2 0
ab
0 0 2
ac
0 0 0
ba
0 0 0
bb
0 0 0
bc
2 0 0
ca
2 0 0
cb
0 0 0
cc
0 0 0
predpove
stupe
a b c
9 2 2
predpove
V riadkoch s uveden histrie (nejakej intrukcie), ktor si pamt dan fcm predictor. Ku
ka dej histrii je v tabuke uveden, kokokr t sa po danej histrii vyskytla hodnota (psmeno)
a
,
b
a
c
. Predictor si pamt svoju aktu lnu histriu a z
a
,
b
,
c
vyberie psmeno, ktor sa po
tejto histrii vyskytovalo najastejie. Predictor stupa 2 vybral psmeno
a
, preto e po
aa
sa
najastejie vyskytuje
a
. A predictor stupa 3 vybral spr vne
b
, preto e sa po
aaa
vyskytovalo
najastejie.
Obrzok 2.13: Tabuky pre fcm predictory rznych stupov
Kontextov predpovedanie
Pri kontextovom predpovedan predictor vn ma, ak hodnoty nasleduj po uritej skupine
predchdzajcich vsledkov. Z toho pochdza jeho nzov- vsledok intrukcie sa chpe
v uritom kontexte { konenej postupnosti predchdzajcich hodnt intrukcie.
Najv&ou skupinou kontextovch predictorov s tzv. nite context method predic-
tory (fcm). Fcm predictory predpovedaj nasledujcu hodnotu poda konenho potu
predchdzajcich hodnt vypo tanch intrukciou (histria intrukcie). Fcm predictor
stupa
k pou va k predchdzajcich hodnt. Vyu va tabuku, kde sa pre kad histriu
intrukcie (kontext) a dan hodnotu pam&t, kokokrt sa po tejto histrii vyskytla dan
hodnota. Predictor si teda pam&t aktulnu histriu intrukcie a predpovie hodnotu,
ktor sa po danej histrii vyskytovala najastejie. Na obrzku 2.12 je pr klad fcm pre-
dictorov rznych stupov.
Pri realizci nie je mon pam&ta si v tabuke presn poty vskytov, pretoe na
reprezentciu po tadla je pouit nevek poet bitov. iastone to mono riei napr.
tak, e ak niektor po tadlo dosiahne maximlnu hodnotu, hodnoty vo zvynch po -
tadlch pre rovnak histriu sa predelia dvoma.
Existuje vea variantov fcm predictorov. Na predpovedanie sa napr. me poui
n
rznych fcm predictorov stupov 0 a
n
;
1, priom kad predictor si pam&t iba niekoko
'vlastnch' histri . Pri predpovedan sa potom vyberie predictor s najvy m stupom,
ktor si pam&t aktulnu histriu. Kvli uetreniu pam&te si me fcm pam&ta pre
kad histriu iba jednu hodnotu.
Ukzalo sa , e spenos last value predictorov je v priemere 40% a spenos stride
predictorov okolo 55%. m v& je stupe fcm predictorov, tm presnejie predpoveda-
j. Fcm predictor stupa 3 m priemern spenos 78%. Taktie sa ukzalo, e viac ako
144
KAPITOLA
2.
P
ARALELN
SPRA
CO
V
V
ANIE
IN TR
UK
CI
polovica statickch intrukci generuje iba jednu hodnotu a tie, e viac ako 90% static-
kch intrukci generuje menej ako 64 hodnt. Tieto vsledky ukazuj, e predpovedanie
hodnt (value prediction) je pouiten v praxi.
2.7 Zver
V predchdzajcich sekcich sme op sali niekoko metd zvyujcich vkon procesora
zavdzan m paralelizmu - vykonvania viacerch intrukci v jednom takte. Pipelining
rozdel vykonvanie intrukcie na niekoko ast , z ktorch kad vykonva nezvisl
jednotka procesora. Intrukcia potom 'teie potrub m' a je postupne vykonvan. Su-
perscaling pou va viac pipeline-ov, m umouje vykonvanie viacerch nezvislch
intrukci naraz. Out-of-order execution pozer dopredu v toku intrukci a vykonva
intrukcie skr ako s na rade. Speculative execution predpoved vsledky intrukci a
vykonva intrukcie pekulat vne { s predpovedanmi hodnotami. Superscaling, out-of-
order execution a speculative execution s na sebe nezvisl techniky, ktor mu by
kombinovan medzi sebou. Speculative execution vyu va na predpovedanie vsledkov
intrukci value prediction. Value prediction predpoved vsledok intrukcie na zklade
jej predchdzajcich vsledkov. Branch prediction je pecilna as value prediction,
ktor predpoved vsledok vetviacich intrukci .
procesor
a
b
pôvodný procesor
27
34
+ pipeline
15
19
+ superscaling (2 pipeliny)
14
18
+ superscaling + out-of-order execution
9
10
+ superscaling + speculative execution
11
14
Stpec (a) ud va poet taktov potrebnch na vykonanie kdu 2.1 v prpade, e podmienka v
I5
bude splnen , v stpci (b) je udan poet taktov v prpade, e splnen nebude.
Tabuka 2.1: Porovnanie rchlost procesorov s rznymi zlepeniami
Na zaiatku sme skontruovali virtulny procesor, v ktorom sme vykonvali ist as
kdu. Tento procesor sme postupne vylepovali spomenutmi technikami. Vsledky do-
siahnut pri jednotlivch zlepeniach s uveden v tabuke 2.1. Vimnime si, e procesor,
ktor pou val dva pipeliny a out-of-order execution s dokonalou branch prediction bol
oproti pvodnmu procesoru v pr pade (a) rchlej o 300%. V pr pade (b) bolo toto
zrchlenie takmer 350%.
Kapitola
3
RISC
V predolch odsekoch sme spomenuli intrukn sadu procesorov INTEL. Potom sme
zaviedli nov intrukcie MMX.
Pripomeme, ako sme sa k MMX intrukcim 'dostali': analzou multimedilnych
aplikci sme zistili, e asto vykonvaj opercie na maticiach 2
2 a 3
3, napr.
s tanie i nsobenie mat c. Pr slun program teda opakovane na jednotlivch prvkoch
vykonal niekoko zkladnch operci . Opakovan volanie intrukci , s ce jednoduchch,
vak zbytone plytvalo asom- opakovane prebiehalo na tanie tchto intrukci z pam&te
a dekdovanie navye, niektor z operci by sa mohli vykonva paralelne. Preto sa
vhodnejie ukzalo zostroji pre asto pou van opercie obvody realizujce ich. MMX
intrukcia potom aktivovala pr slun obvod. Uetrili sme as na dekdovanie a tanie z
pam&te pre viacero intrukci , pr padne sme viacero operci vykonali paralelne, m sme
sa mohli dosta a k vemi rchlym intrukcim a nae programy sa vrazne zrchlili.
Toto teda bola jedna cesta zvenia rchlosti procesora- nahradenie softwarovho
programu 'hardwarovm programom', resp. hardwarovo realizova asto pou van kd.
Nemusia to by len MMX intrukcie, takto intrukcie m u sada 80286 - napr. intrukcia
PUSHA ukladajca do zsobn ka obsahy vetkch registrov.
Znie to lkavo, no m to aj svoje nevhody. Intrukcie sa stvaj privemi zloitmi
a preto namiesto hardwarovej CPU treba poui mikroprogramov. Zloit intrukciu
nahrad me postupnosou mikrointrukci - ktor vak jednak treba dekdova, a tie je
treba taktova mikrokroky v rovnakej frekvenci , aj ke niektor s rchlejie.
Navye, experimentlne sa zistilo, e v programoch sa pou vaj len v 20% pr padoch
zloit intrukcie a a v 80% pr padoch intrukcie jednoduch. Komfortnos sa teda aj
tak dostatone nevyuila a pritom spsobovala nutnos pomalej mikroprogramovej CLU.
Na tomto poznatku je zaloen architektra RISC (Reduced Instruction Set Compu-
ter), ktor uvauje jednoduch sadu intrukci , vykonatench v jednom takte a realizo-
vatench bez pou vania mikrokdu.
3.1 Intrukn sada procesorov RISC
Vetky intrukcie maj rovnak d0ku, o umouje na ta ju z pam&te v jednom hodi-
novom cykle.
Intrukn sada zah4a:
intrukcie, ktor pracuj s pamou
145
146
KAPITOLA
3.
RISC
procesory RISC pou vaj na prcu s pam&ou len intrukcie LOAD a STORE.
:iadna in intrukcia neme ako vstupn i vstupn argument poui pam&ov
bunku.
aritmetick intrukcie
zahruj logick opercie, posuvy a celo seln aritmetiku (aj nsobenie a delenie).
intrukcie vetvenia a skoku
{ testovanie registrov (= 0, < 0, > 0,
:
= 0, prny, neprny, a pod ...)
{ intrukcie skoku (podmienen a nepodmienen)
{ volanie a nvrat z procedry
riadiace intrukcie
a pr padne aj
intrukcie re lnej aritmetiky
MMX intrukcie
a alie.
Vid me, e RISC-sada me zah4a aj komplexnejie intrukcie ako MMX i relnu
aritmetiku. Tieto, hoci s pop san sekvennm algoritmom sa daj aspo iastone
sparalelni a 'napevno' zadrtova. Taktie, vznamn je, e intrukcie (s vnimkou
LOAD a STORE) nepracuj s pam&ou. tanie alebo zpis do pam&e trv vdy niekoko
hodinovch cyklov.
3.2 Porovnanie RISC a CISC
3.2.1 Filozoa CISC
Protikladom k 'RISC- lozo i' je a doteraz spom nan lozo a s nzvom CISC - ma
o najkomplexnejiu sadu intrukci , realizujcich aj tie najzloitejie opercie. Nzov
CISC je skratkou slov Complet Instruction Set Computer.
3.2.2 Porovnanie RISC a CISC
RISC
1. jednoduch intrukcie vykonaten v jednom cykle - realizovaten bez pouitia
mikroprogramovej riadiacej logiky
2. komunikcia s pam&ou len pomocou intrukci LOAD a STORE
3. vysoko zreazen (highly pipelined)
4. intrukcie s vykonvan harvrovo - intrukcie s jednoduch, preto sa daj ahko
hardwarovo realizova, bez pouitia mikroprogramovania
5. pevn formt intrukci
6. mlo adresnch mdov - svis s pou van m pam&te len cez vyhraden intrukcie
LOAD a STORE
3.3.
VHOD
Y
A
NEVHOD
Y
PR
OCESOR
O
V
RISC
147
7. zloitos v kompiltore - RISC-ovsk procesory pou vaj rzne techniky vykonva-
nia programu (ako napr. pipelining, pekulat vne vykonvanie a pod.). Kompiltor
mus vzhadom na ne optimalizova kd, aby beal o najrchlejie
8. vea registrov
registre s veobecn
pristupuje sa k nim rchlejie ako k pam&ti
CISC
1. zloen intrukcie vykonvan na viac cyklov - dsledok snahy zrchli a sprehadni
program v strojovom kde zahrnut m zloitej ch operci do intruknej sady
2. kad intrukcia me komunikova s pam&ou
3. mlo zreazen - ak sa pou va mikrokd, je ak zabezpei, aby sa v jedna
intrukcia vykonala v jednom cykle
4. intrukcie s vykonvan mikroprogramom - ahko sa realizuje sp&tn kombatibilita
5. variabiln formt intrukci , premenliv d0ka
6. vea adresnch mdov
7. zloitos v procesore - intrukcie pop san mikroprogramami uloenmi v pam&ti
ROM
8. mlo registrov
nie je ich potrebn ma vea, lebo kad vie pracova s pam&ou
v&ina z nich je pecializovan
3.3 Vhody a nevhody procesorov RISC
Vhody RISC architektry
Rchlos.
Jednoduch intrukn sada, pipelining a superskalrny dizajn RISC
procesora spsobuje vrazn zvenie vkonu oproti 'porovnatene zloitmu' CISC
procesoru (t.j. pracujcom na tej istej frekvencii a skladajcom sa z rovnakho
potu hradiel za pouitia rovnakej polovodiovej technolgie).
Jednoduch hardware.
Pretoe intrukn sada RISC procesora obsahuje iba jedno-
duch intrukcie pomerne ahko realizovaten a nevyadujce mikrokd, realizan
obvody s jednoduch a na ipe zaberaj mlo miesta.
Kratia doba vvoja.
RISC procesory s jednoduchie ako CISC, preto sa mu
vyv ja ovea rchlejie, kontruktri mu v kratej dobe zaa vyu va nov
technolgie{ o vedie k v& m vkonnostnm skokom medzi generciami proce-
sorov.
Nevhody a mo n problmy
148
KAPITOLA
3.
RISC
Kvalita kdu.
Vkon RISC procesora zvis najm& od kdu, ktor sa vykonva.
Ke programtor alebo kompiltor neoptimalizuje kd, procesor bude asto st,
napr klad aka na vsledok intrukcie, km bude mc spracova nasledujcu.
Pretoe pravidl pre optimalizciu kdu mu by vemi zloit, v&ina program-
torov pou va vyie programovacie jazyky (C++, Java) a nechva optimalizciu
kdu na kompiltor.
Ladenie (debugging).
Optimalizcia kdu me vies k akostiam pri laden . Ak
je instruction shedulling ako aj alia optimalizcia kdu vypnut, intrukcie sa
vykonvaj tak, ako za sebou nasleduj v programe. V opanom pr pade sa nemu-
sia vykonva v tom istom porad (superskalrna architektra, vykonvanie mimo
poradia...)
Zvovanie kdu (Code expansion).
Km CISC procesory vykonaj nejak v&iu,
komplexnejiu akciu jednou intrukciou, na t ist akciu mu RISC procesory
potrebova viac jednoduchch intrukci .
Dizajn systmu.
RISC systmy potrebuj vemi rchle pam&ov systmy, aby mali
vas dostatok intrukci , ktor by mohli spracova (pipeline). RISC systmy preto
maj vek CACHE-pam&te, obyajne umiestnen na ipe procesora. Pripomeme,
e tieto s znme ako rst-level cache (CACHE prvej rovne). Niektor systmy
maj tie CACHE-pam&te, ktor u nie s zabudovan priamo v ipe procesora,
nazvan second-level cache (CACHE druhej rovne).
3.4 Vyuitie RISC procesorov
Ete v nedvnej minulosti neboli RISC procesory vemi roz ren. Dvodom bola vysok
cena a nekompatibilita s najroz renejou platformou Intel x86. Preto sa vyu vali hlavne
v pracovnch staniciach.
Nekompatibilnos vak pomaly prestva by problmom { jednak sa RISC-ovsk pro-
cesory presadzuj vaka svojmu vkonu a meme sa s nimi stretn oraz astejie a
alej je to nov trend v operanch systmoch zniujci zvislos od hardwaru. Pr kla-
dom me by Windows NT, ktor obsahuje HAL (hardware abstract layer - vrstva pre
abstrakciu na hardvri). Tto vrstva do znanej miery zniuje prcu nutn k prenese-
niu operanho systmu na nov architektru tak, e nahrdza zvislos na hardvri za
nevek softvrov rozhranie. Kd aplikcie sa tak stva izolovan od hardvru.
RISC procesory stle maj 20% nskok v oblasti vyadujcich vysok vkon v aplik-
cich s pohyblivou rdovou iarkou, ako napr. nann a obchodn aplikcie, strojrske
aplikcie, vedeck aplikcie a podobne. Mme sa s nimi stretn aj v gra ckch (napr.
rmy SGI) i v hrac ch konzolch (napr. Nintendo).
Ceny RISC procesorov klesaj. Zrove, vrobcovia CISC procesorov sa inpiruj
RISC architektrou. Nov procesory s vlastne 'kr enci' medzi RISC a CISC.
as
V
Pamte
149
151
V tejto kapitole sa budeme zaobera alou zkladnou asou po taa{ pam&ou.
Najskr uvedieme, o pam& je a na o sli. Ukeme pr klad jednoduchej realizcie
pam&te. V al ch troch kapitolch uvedieme parametre, ktormi mono pam&te charak-
terizova a rozdel me ich poda viacerch kritri . V piatej kapitole sa budeme bliie
zaobera polovodiovou pam&ou, fyziklnymi princ pmi uchovania informcie, realiz-
ciou pam&ovch lenov i pam&te a tie princ pmi 'pevnch' pam&t ROM.
V iestej kapitole op eme najastejie pou van (i u dnes alebo v minulosti) tech-
nolgie pam&t , ktormi s: dierov, magnetick, feritov, bublinov, magnetooptick,
optick a alie pam&te.
V siedmej kapitole spomenieme 'laboratrne' technolgie, t.j. technolgie, ktor s
v tdiu vvoja a njdeme ich skr v laboratrich. Spomedzi mnohch spomenieme
pam&te kryognne a hologra ck.
Na zver podrobnejie op eme niektor pam&ov truktry: zsobn k a frontu, aso-
ciat vnu pam& a CACHE.
152
Kapitola
1
Pojem pamti
Pam
(alebo pamov zariadenie) je as po taa, ktor sli na uchovvanie inform-
cie. Ukladme sem program, daje, medzivsledky, vsledky. Na zklade programu a
vstupnch dt doke procesor vykonva innos pop san programom.
V II.asti sme najskr zostrojili klopn obvod, ktor vedel uchova informciu vekosti
jednho bitu, a potom sme spojen m viacerch klopnch obvodov zostrojili register, ktor
dokzal uchova jedno slovo d0ky
n bitov. Podobnou metdou, spojen m m - registrov,
by sme z klopnch obvodov dokzali zostroji pam& o vekosti
m
n bitov.
Pam
pozostva z pamovch lenov. Pam&ovm lenom nazveme ubovon za-
riadenie, ktor doke uchovva informciu. Me teda nadobda viacero vntornch
stavov, priom vieme testova, i je v uritom stave ( tanie informcie) a tie ho vieme
ho uritho stavu uvies (zpis informcie). V svojom stave zotrvva a do alej poia-
davky na zmenu stavu.
Najjednoduchou informciou je jeden bit, ktor me ma hodnotu 0 alebo 1. Skupinu
n bitov nazvame slovo. Pam& je lenen na m buniek z ktorch kad m vekos n
bitov. Tieto bunky tie budeme oznaova ako slov a hovori, e pam& obsahuje
m
n-bitovch slov. Kapacita pam&te, t.j. celkov poet bitov zapam&tatenej informcie je
udan sinom
m
n.
Slov s najjednoduchie prvky (bunky) pam&te, s ktormi procesor me pracova
( ta a zapisova)
1
.
1
prirodzene, procesor m aj intrukcie pracujce s jednotliv mi bitmi slova, no tieto intrukcie procesor
realizuje pomocou operci tania/zpisu celho slova z/do pamte.
153
154
KAPITOLA
1.
POJEM
P
AM
TI
Kapitola
2
Parametre pamt
Jednotliv pam&ov zariadenia mono charakterizova nasledovnmi parametrami:
1. celkov kapacita - vekos informcie ktor v pam&ti mono uchova.
2. organiz cia - poet bitov v slove, poet slov.
3. rchlos - rozliujeme vybavovaciu dobu, o je doba od povelu tania a po obdranie
informcie a doba cyklu, o je minimlna doba medzi dvoma po sebe idcimi povel-
mi pre tanie alebo zpis do pam&te.
Tieto dve daje sa nemusia zhodova, doba cyklu me by dlhia ako vybavova-
cia doba. Ak vrobca udva 'rchlos pam&te', treba zisti, o ktor z uvedench
parametrov sa jedn. Aby sme posdili vkon pam&te, potrebujeme oba: jeden
udva rchlos splnenia poiadaviek 'ojedinelch' a druh 'astch'.
4. energetick nez vislos - je na uchovvanie informcie potrebn energetick zdroj,
alebo je informcia energeticky nezvisl?
5. cena - vyjadren v cene za jednotku informcie
1
.
Pam&ov obvody maj tie nasledovn vlastosti:
prstupov as vzhadom na adresu
(adress acces time) je oneskorenie od ustlenia
adresy na vstupe pam&te a po ustlen vstupn hodnotu.
prstupov as vzhadom na odblokovanie
(chip enable acces time) je oneskorenie
od ustlenho odblokovania vstupu a po ustlen vstupn hodnotu.
1
napr. cena za jeden megabajt
155
156
KAPITOLA
2.
P
ARAMETRE
P
AM
T
Kapitola
3
Rozdelenie pamt
Pam&te mono rozdeli poda viacerch kritri :
1. Poda prstupu k ulo enm inform ci m del me pam&te na:
RAM
(Random Acces Memory) - pam& s ubovonm pr stupom. Kad
slovo pam&ti m priraden adresu, pomocou ktorej je jednoznane uren.
Vyhadanie ubovonho slova trv rovnak as.
SAM
(Sequential Access Memory) - pam& so sekvennm pr stupom. Prvky
maj tie svoje adresy, ale as pr stupu nie je rovnak pre vetky prvky, zvis
od umiestnenia prvku v pam&ti.
Ako pr klad nm me posli tanie dajov z diskety. Pre tanie dajov z
bloku nad ktorm sa prve nachdza tacia hlava je rchlej ako pr stup z
inho bloku, nad ktor sa hlava mus najskr presun, o trv urit as.
CAM
(Content Access Memory) - pam& s asociat vnym pr stupom. Pam&ov
prvok sa vyhadva poda uritej vlastnosti hadanej informcie, najastejie
poda znmej asti jeho obsahu. Prve odtiato pochdza nzov - podobnos
s pam&ou loveka, ktor je tie asociat vna. Napr klad, na informcie ktor
vieme o paradajke si 'spomenieme' rovnako po pout slova 'paradajka' ako
po slovch 'erven plod zeleniny, vemi chutn'.
Asociat vnej pam&ti sa zad obsah niektorch bitov hadanho prvku, pam&
njde prvok, ktor m na zadanch poz cich bity zhodn so zadanmi, na
ostatnch me ma ubovon obsah. Tento typ pam&t m uplatnenie v
niektorch pecilnych aplikcich (napr. realizcia CACHE) a bliie si ho
op eme v samostatnej kapitole.
2. Poda st losti ulo ench dajov del me pam&te na:
trval
alebo permanentn pamte - na zachovanie dajov nie je potrebn i-
adny vonkaj zdroj energie. Pr kladom s pevn disky alebo gramofnov
platne. Sem zaraujeme aj pam&te, ktor svoje daje 'stratia' a po 'vemi
dlhom ase' (napr. po niekokch rokoch), ako napr. prepisovaten CD-ROM.
{ Ben pam&te ROM (nazvan aj M-ROM): programuj sa priamo poas
vroby mechanickmi maskami (odtia nzov), ich obsah je teda uren
vrobcom. Ich vroba je rentabiln a pri vrobe v&ieho potu kusov
(cez tis c).
157
158
KAPITOLA
3.
R
OZDELENIE
P
AM
T
{ elektricky programovaten pamte PROM: me si ich naprogramova
priamo u vate, zapisuje sa pomocou elektrickho signlu, zap sa je mon
len raz. S vhodn pri menom pote kusov (pecilne lohy).
{ pamte EPROM: mono ich podobne ako elektricky programovaten pa-
m&te naprogramova, ta z nich navye je mon ich vymaza pomocou
silnho ultra alovho iarenia a op&tovne do nich zapisova. Stlos da-
jov nezvis od napjacieho nap&tia.
{ pamte REPROM (tie EAROM- Eletricity Alterable ROM): s elektricky
reprogramovaten pam&te ROM. Niektor uchovaj daje len na ist as,
in na neobmedzene dlh dobu.
{ programovaten logick polia PLA (Programmable Logic Arrays): s pa-
m&te typu ROM, upraven na realizciu logickch funkci . Obsahuj pro-
gramovaten matice pre leny AND, pre leny OR a pre preklpacie ob-
vody umoujce generova sekvenn logiku. Logick funkcie vieme tie
realizova pomocou pam&t ROM, avak pri nich pre n-vstupov pop eme
vetky mon vstupy (ktorch je 2n. Naproti tomu PLA doku skupinu
vstupov ignorova, da viacerm vstupom rovnak vsledok.
Na zver treba doda, e v&inou sa uveden typy realizuj polovodiovmi
obvodmi a preto toto delenie patr skr do u spom nanej samostatej asti o
polovodiovch pam&tiach. Uvdzame ich vak tu, pretoe uveden pojmy s
veobecn, nemusia sa vzahova len na polovodiov pam&te.
doasn pamte
- po vypnut elektrickho prdu (alebo inho zdroja energie)
sa uloen informcia 'strat '. Ako pr klad mu sli polovodiov pam&te
RWM.
Mu by statick alebo dynamick. Dynamick pamte s schopn uchovva
informciu len vemi krtky as (niekoko miliseknd) a po tomto ase treba
obsah pam&te obnovi, t.j. znova zap sa do pam&ovch buniek ich obsah.
Sasou pam&te s obvody obnovujce niekokokrt za sekundu jej obsah. V
ase obnovovania obsahu nemono s pam&ou pracova, procesor i zbernica
s blokovan, navye, je pomalia ako statick. Napriek tomu po tae bene
pou vaj dynamick polovodiov pam&. M dve vek vhody. Jednak
na meniu plochu dokeme sstredi viac pam&ovch obvodov, jednak je
lacnejia. Preto ju pou vame na ben a statick polovodiov pam& na
pecilne ely (kde potrebujeme rchlu pam& s nevekou kapacitou).
Najastejie o tomto delen hovor me v svislosti s polovodiovmi pam&mi.
Ale aj in typy pam&t mu by doasn, bu statick alebo dynamick.
3. Poda mo nosti tania a zapisovania dajov:
do pam&t typu RWM (Read-Write Memory) mono daje zapisova aj ta.
Pou vaj sa na ben ely. Rozliujeme:
(a) pamte s rchlym tanm a rchlym z pisom - vyu vaj sa najm& v
hlavnch operanch pam&tiach.
(b) pamte s rchlym tanm a pomalm z pisom - pou vame, ak je nutn
rchle tanie dajov, priom sa do pam&te zapisuje zriedkavo. (Oznauj
sa RMM- Read Mostly Memories).
159
z pam&t typu ROM (Read-Only Memory) mono len ta, informcia ktor
je v nich uloen sa u ned zmeni. Zachovvaj si svoj obsah trvalo. Ukla-
daj sa do nich informcie, ktor sa asto pou vaj: gra ck tvar znakov,
matematick tabuky funkci , genertory logickch funkci , pr padne zkladn
operan systm.
160
KAPITOLA
3.
R
OZDELENIE
P
AM
T
Kapitola
4
Triedy pamt
Ide lna pam
by mala ma o najv&iu kapacitu, najvyiu rchlos, o najpohodlnej
spsob manipulcie s dajmi, energetick nezvislos informcie (informcia sa nestrat
pri nepr tomnosti vstupnho nap&tia) a o najniiu cenu. Pretoe niektor poiadavky
sa navzjom vyluuj (napr. vek kapacita a n zka cena), kontrukcia takej pam&te je
nerelna.
Kontrukcia idelnej pam&te, ktor by zrchlila beh vetkch aplikci je s ce nerelna,
napriek tomu je mon zostroji pam&ov systm zrchujci prcu vekej asti aplikci .
Potrebn je uvedomi si, e pam&te sa pou vaj na rzne lohy. Jednotliv skupiny
loh klad rozdielne poiadavky na parametre pam&t , napr klad zlohovanie dajov do
arch vu nepotrebuje ani tak rchlu pam&, ako skr pam& energeticky nezvisl a s vekou
kapacitou. Naopak, pam& kde je uloen vykonvan program a potrebn dta nemus
by energeticky nezvisl, ani ma vek kapacitu (v porovnan s predchdzajcou), ale
mala by by o najrchlejia.
Existuje viacero technolgi pam&t a kad z nich 'vynik' uritmi parametrami na
kor inch.
Jednotliv pam&ov zariadenia mono teda rozdeli do viacerch skup n (tried), ktor
sa l ia svojim elom a z toho vyplvajcich poiadaviek na kapacitu a rchlos. Pre
tieto triedy pam&t pouijeme odlin technolgie.
Zkladn triedy s: registre procesora, vyrovn vacia pam, hlavn (operan) pam
a vonkajie (perifrne) pamte.
Registre procesora
s sasou procesora. Ukladaj sa sem zkladn daje potrebn
na vykonvanie programu. Ich funkcia je bliie op san v kapitole o procesoroch.
V porovnan s ostanmi skupinami m najvyiu rchlos a najniiu kapacitu.
Vyrovn vacia pam
sli na doasn prechovvanie dajov, ktor by sa inak tali
z hlavnej pam&te. Je asi 10 krt rchlejia ako hlavn. Jej kapacita je zlomkom
hlavnej pam&te. Bliie si o nej povieme v samostatnej asti tejto kapitoly.
Operan pam
, nazvan tie hlavn pam (ang. main memory) tvor sas
po taa. Obsahuje prve vykonvan program a jeho pracovn daje. Vyaduje
sa rchlos a primeran kapacita.
Hlavn pam&te sasnch po taov maj kapacitu od 64 Megabajtov. Realizuj
sa polovodiovmi obvodmi. V&inou sa jedn o pam& typu RAM, ie pam& s
priamym pr stupom (na kad adresu sa d dosta v rovnakom ase).
161
162
KAPITOLA
4.
TRIED
Y
P
AM
T
Bu cel alebo takmer cel je typu RWM (as z nej me by typu ROM). Ako sme
uviedli, v pam&ti ROM sa me nachdza jednoduch operan systm, programy
na obsluhu perifri , alebo asto pou van funkcie.
Procesor pracuje s operanou pam&ou priamo. Obsahuje intrukcie pre zpis a
tanie z operanej pam&te. S perifrnou pam&ou procesor priamo nepracuje,
povauje ju za V/V zariadenie.
Realizcia polovodiovmi obvodmi spsobuje, e pam& m znan rchlos, teda
aj vkonnos. Pre ilustrciu, pri bench typoch je mon dosiahnu vybavovaciu
dobu pod 70 ns. al m faktorom podmieujcim vkonnos je kapacita pam&te.
Perifrna pam
je pam&ov zariadenie priamo spojen so zkladnou jednotkou
po taa, umoujce tanie a zapisovanie vekho mnostva dajov. Sem uklad-
me dta, s ktormi program nepracuje, alebo pracuje zriedka. Objem dt je pr li
vek, aby sa zmestil do hlavnej pam&te. Pam& m ma vek kapacitu, nemus by
tak rchla ako hlavn pam&, m by energicky nezvisl a samozrejme, m ma
o najniiu cenu. Me ma vymeniten nosi dajov (napr. disketov jednotka,
nosie - diskety) a vtedy sa oznauje aj ako vstupno - vstupn jednotka.
Existuje mnostvo technolgi perifrnych pam&t , s odlinmi parametrami a dobou
vzniku. Medzi najznmejie patria: pskov, diskov, disketov pam&te, bublinov
pam&te, optick pam&te a in. Podrobne sa im budeme venova v alom texte.
Kapitola
5
Polovodiov pamte
5.1 Pamov leny polovodiovej pamte
Polovodiov pam&te s integrovan obvody zloen z tranzistorov.
Pam&ov bunku uchovvajcu jeden bit meme vytvori pomocou u spomenutho
klopnho obvodu, vytvorenho prepojen m dvojice tranzistorov ( m vytvor me statick
pamov bunku
) alebo pomocou jedinho tranzistora MOS-FET (dynamick pamov
bunka
). Ich al m spjan m meme vytvori registre uchovvajce n-bitov slov a
spojen m registrov pam&ov leny s vekou kapacitou a organizciou RAM.
Statick pamov bunka
(klopn obvod) bola op san v asti o obvodoch. Klopn
obvod vytvoren pomocou hradiel je na nasledovnom obrzku.
Obrzok 5.1: Schma RS-lena
Dynamick pamov bunka
je realizovan MOS-FET tranzistorom. Skratka MOS
(metal-oxid-semiconductor) popisuje jeho jednotliv vrstvy- kov (Al), izolant (SiO
2
) a
polovodi (Si) a skratka FET ( eld-e5ect-tranzistor) udva, e tento tranzistor je riaden
elektrickm poom. Tento tranzistor je unipolrny. Jeho schmu a popis vlastnost itate
me njs v literatre z oblasti elektroniky (vi zoznam literatry).
5.2 Realizcia pamte RAM
Predpokladajme, e chceme realizova pam& o vekosti
k slov po l bitov. Navrhneme
pr slun obvod. K dispoz ci mme zkladn pam&ov leny (na uchovvanie jednho
bitu), priom ns nezauj ma, ako s realizovan a i s statick alebo dynamick.
163
164
KAPITOLA
5.
POLO
V
ODIO
V
P
AM
TE
Naa pam& by mala umoni tanie a zapisovanie informcie{ pam&ov obvod me
ma napr. nasledovn vstupy:
S Selekcia pam&ovho obvodu
R tanie
W Zpis
I daj na zpis
an
1
:::a
0
Adresa pam&ovej bunky
Princ p realizcie je itateovi dozaista zrejm: sasou obvodu bude dekder s tok-
mi vstupmi, koko m obvod pam&ovch lenov
1
. Na jednotliv vstupy dekdera s
pripojen jednotliv pam&ov leny. Cel adresa je pretransformovan dekderom a
vyber prve jeden MEM obvodov. Nvrh pr slunho obvodu prenechvame na itatea.
Pre vysokokapacitn pam&te je vak priestorov zloitos dekderu exponencilna,dekder
sa stva zloitm. Sksme preto pam&ov obvod realizova nasledovne:
Obrzok 5.2: Realizcia pam&te pomocou dvoch dekderov
Ako vidno zo schmy, druh rieenie uruje polohu pr slunho pam&ovho lena
pomocou dvoch dekderov.
1
t.j. koko slov m pam
5.2.
REALIZ
CIA
P
AM
TE
RAM
165
Kvli prehadnosti znzorujeme len princ p adrescie pomocou dvoch selektorov,
aj ke prirodzene, meme pridva alie dekdery
2
, m alej zn ime nroky na ich
priestorov zloitos.
Pri doteraj ch vahch sme vytvrali pam&te, kde jednou adresou sme urovali je-
den bit. ;ahko vak vytvor me pam&, kde adresa bude urova jedno slovo (a teda aj
namiesto vstupu
I bude ma pam& vstupy I
1
a
In). Nvrh op& ponechvame na
itatea.
2
a vytvori tak
n
-rozmern pam
166
KAPITOLA
5.
POLO
V
ODIO
V
P
AM
TE
Kapitola
6
alie technolgie pamt
V predchdzajcom texte sme sa venovali najm& polovodiovm pam&tiam. V tejto
kapitole pop eme in fyziklne princ py uchovvania informcie a pam&ov zariadenia,
ktor ich vyu vaj.
6.1 Mechanick zznam
Jedny z prvch vysokokapacitnch pam&t boli pam&te zaloen na vemi jednoduchom
princ pe, technicky realizovatenom aj mechanicky.
Obrzok 6.1: Dierna pska a dierny t tok
Pam&ovm mdiom je papier (dierny t tok alebo dierna pska). Princ p zazname-
nania informcie je jednoduch: na uritch miestach psky/t tku mou by vyrezan
otvory (diery). Tm je mon kdva binrnu informciu { pr tomnos i nepr tomnos
zna (poda dohody) bu jednotku { nulu, alebo nulu { jednotku. Mdium je sn man
pomocou fotoelektrickej didy a zdroja svetla, priom sa umiestni medzi nich. Dida i
zdroj s umiestnen oproti sebe. Ak sa v mdiu na mieste medzi nimi nachdza otvor,
tak l zo zdroja n m prejde a zasiahne svetlocitliv didu, ktor vyle elektrick im-
pulz. Ak tam otvor nie je, l didu nezasiahne a t preto elektrick impulz nevytvor .
Mdium sa pohybuje tak, aby tacia sstava mohla otestova vetky miesta, kde poda
dohody me by vyrezan otvor.
Kontrukne s takto pam&te ahko realizovaten, no hustota zznamu je dos n zka
a navye, pam&te s znane pomal. V dobe svojho vzniku vak nebolo potrebn uk-
lada tak mnostvo dt ako v sastnosti, navye, pou vali sa zv&a len na archivciu
167
168
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Obrzok 6.2: Proces tania z diernho t tku
dt. Kvli tmto faktorom a n zkej cene zariaden i mdi predstavovali najvhodnejiu
(extern) pam&. Pou vali sa a do zaiatku 80.rokov, kedy sa namiesto nich zaali
pou va magnetick pam&te.
6.2 Magnetick zznam
Medzi magnetick pam&te patria magetick psky, bubny, pevn disky, diskety a karty.
Ich spolonm znakom je fyziklny princ p zpisu vyu vajci na reprezentciu informcie
dve rozlin magnetick orientcie na magnetizovatenej vrstve.
Fyzik lny princp magnetickch pamt
je nasledovn: zznamov mdium je pokryt
homognnou vrstvou (
Fe, Fe
2
O
3
alebo
CrO
2
). Na zpis a tanie sli elektromagnetick
zznamov hlava. Je to mal elektromagnet magnetizujci zku oblas mdia. Hlava je
tvoren magnetickou a elektrickou asou- magnetickm jadrom a cievkou navinutou
na jadre. V mieste dotyku s povrchom magnetickho mdia je jadro preruen, je tu
vzduchov trbina. V tejto oblasti doke vytvori siln magnetick pole. Hlava i trbina
maj vemi mal rozmery, preto je plocha ktor je schopn zmagnetizova vemi mal
(vi animcie a obr.6.3).
Magnetick hlava magnetizuje (resp. zapisuje) pozd0ne, v smere zpisu zke oblasti.
Na zpis jednho bitu pouije dve takto oblasti. Ak maj obe shlasn orientciu,
predstavuj zpis nuly. Ak maj opan orientciu, zpis jednotky. Nasledujci bit sa
za na zapisova s opanou orientciou (obr.6.4 (a)).
Pri tan spsobuj miesta kde sa men magnetick tok (magnetick reverz cie)
zmenu magnetickho poa. To spsob vznik prdovho impulzu na cievke, ktor sa
alej zosiln elektronickmi zosilovami. Hlavu teda treba nastavi na zaiatok zzna-
mu, pohybova mdiom a sledova, i sa uprostred dvoch oblast pre zznam bitu zmenil
alebo nezmenil indukovan prd, o predstavuje kd jednotky, resp. nuly (vi animcie).
Tento spsob zznamu sa nazva pozd$ na magnetiz cia (alebo pozd$ ny z znam).
Okrem tejto metdy existuje aj metda kolmho zpisu. Tie, existuj rzne metdy
kdovania dajov, napr klad FM, MFM, M2FM a RLL.
6.2.
MA
GNETICK
ZZNAM
169
Obrzok 6.3: tacia a zznamov hlava
Obrzok 6.4: Kdovanie dajov
170
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Mdium rotuje (u diskov, diskiet,...) alebo sa posva (pska) kontantnou uhlovou
rchlosou.
Aj ke op san postup vyzer komplikovane, m niekoko vhod. Pri tan nas-
tane zmena polarity po kadom bite (t.j. dvoch oblastiach). V praxi rchlos tania
me mierne kol sa a tie je potrebn identi kova zaiatok zznamu. Kvli tomu sa
bene pou va synchronizan signl{ v naom systme ho vak nepotrebujeme, zosyn-
chronizova sa d priamo zo zznamu (pretoe po kadch dvoch pre tanch oblastiach
urite mus nasta zmena polarity). Na zaiatok zznamu zap eme pevne uren poet
nulovch bitov, pomocou ktorch tacie obvody sprvne nastavia hlavu na zaiatok zz-
namu. alou vhodou je, e pri zzname v&ieho potu rovnakch bitov vieme na
zklade zmien polarity bezchybne uri ich poet.
Tto technolgia vyaduje plne steriln (bezpran) prostredie. Pokia by sa medzi
zznamov mdium a hlavu dostalo zrnko prachu, zpis i tanie by bolo znemonen.
Bu sa teda vyaduje bezpran prostredie, alebo sa cel zariadenie uklad do vzdu-
chotesnej schrnky.
alou poiadavkou je pritlaenie hlv k mdiu. Magnetick siloiary vytvraj v
mieste trbiny zky zv&zok, ale pokia hlavu vzdialime od mdia, vytvoria sstredn
kruhy siloiar ktor magnetizuj v&iu oblas ako chceme. Nevyhnutn je, aby sa hlava
dotkala mdia (alebo aspo bola len nepatrne vzdialen). U pskovch mechan k pska
elasticky obop na hlavu. Prun diskety maj hlavy jemne pritlan k diskete Pevn
disky nemu hlavu pritla k mdiu, lebo to sa ota privekmi rchlosami (okolo
3600 otok/min.) a aj ahk dotyk s povrchom by splil hlavu aj povrch. Namiesto toho
sa disk najprv rozto a a nad roztoen disk (tanier) sa presun hlavy. Jeho rotciou sa
nad n m vytvor tenk vrstva vzduchu. Hlava je na elastickom driaku s aerodynamickm
kr delkom, ktor je navrhnut tak, aby sa vyrovnala vztlakov sila odtlajca hlavu
od disku s nepatrnou silou nosnho ramienka pritlajceho hlavu k disku (vi nasl.
obrzok). Takto vieme nastavi vzdialenos hlavu od povrchu na niekoko mikrometrov.
Obrzok 6.5: Pritlanie hlv k mdiu - pln truktra hlavy
6.2.
MA
GNETICK
ZZNAM
171
6.2.1 Magnetick pskov pamte
Pou vali sa v po taoch druhej a tretej genercie.
Zznamovm nosiom (zznamovm mdiom) je magnetick pska. Na zkladnej,
nosnej fli psky je tenk magnetizovan vrstva, kde sa ukladaj daje. Zapisuj a
taj sa zvyajne pomocou 9 hlaviiek, uloench veda seba. daje sa zaznamenaj v
9 stopch.
Obrzok 6.6: Magnetick pska (truktra mdia)
Pou vaj sa najm& tam, kde treba ta a spracovva nepretrit sledy dajov.
Magnetick psky mono ahko vymiea, uchovva a transportova.
Magnetick pskov pam&te s kontruovan tak, e magnetick psky mono takmer
ihne zastavi, a to aj napriek vysokm rchlostiam posuvu a rovnako rchlo je mon
uvies ich do pohybu. Pska sa z cievky na cievku neprev ja priamo, ale cez pomocn
zariadenie.
daje s uloen v blokoch. Bloky maj priraden adresy, pomocou ktorch mono
uri blok s ktorm chceme pracova. Rovnako, blok je najmenia adresovaten jednotka,
pracova je mon len s celm blokom naraz (t.j. cel blok bu ta alebo cel blok
zap sa), nemono adresova daje v om. Na pske s jednotliv bloky s oddelen
medziblokovou medzerou.
6.2.2 Kazetov pskov pamte
Kazetov pskov pam& pou va ako nosi dajov osobitn formu magnetickej psky-
kazetu s magnetickou pskou, ktor je vemi dobre znma zo spotrebnej elektroniky.
Tento spsob zaznmenvania dajov sa presadil pri malch vpotovch zariadeniach
pre jednoduch cenu zariadenia a mdia.
Ako pr klad uveme pskov jednotku DAT, ktor bola vyvinut pre kvalitn zznam
zvuku a neskr sa uplatnil v po taovom priemysle. Na jedno mdium (jedna zznamov
pska) je mon uloi a 2.5 GB dt.
Tento spsob zaznamenvania dajov sa presadil pri malch vpotovch zariade-
niach pre jednoduch cenu zariadenia a mdia. V sasnosti sa pouiva jej varianta (tzv.
streamre
) pre zlohovanie vekho mnostva dt.
172
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Obrzok 6.7: 3truktra pskovej jednotky
Obrzok 6.8: Pskov jednotka
6.2.
MA
GNETICK
ZZNAM
173
6.2.3 Disketov pamte
Prv nvrh disketovej pam&te predloila rma IBM v roku 1967. Disketov pam& mala
mnoho vhod a tak sa oskoro zaala hromadne pou va.
Ako zznamov mdium pou va diskety. Disketa (alebo pru n disk { oppy disk)
je osobitn forma magnetickho disku. Je to vlastne prun, okrhla plata, ktor je
na jednej alebo na obidvoch stranch pokryt magnetizovatenou vrstvou. Tto vrstva
me by ete pokryt ochrannou vrstvou. Disketa je uloen v plastikovom obale.
Obrzok 6.9: Disketa (prun disk). 3truktra mdia
Disketa sa vklad do tacieho a zapisovacieho zariadenia- disketovej jednotky. Ob-
sahuje jednu univerzlnu ( taciu i zznamov) hlavu.
Poznme viacero druhov diskiet a disketovch mechan k, poda priemeru diskiet a
hustoty z znamu
.
Priemer diskiet pou vanch v osobnch po taoch me by 5
1
=
4
palcov alebo
3
1
=
2
palcov o sa zapisuje 5
1
=
4
00
, resp. 3
1
=
2
00
Historicky najstarie diskety, dnes u
nepou van, maj priemer 8
00
. Takisto sa prestali pou va 5
1
=
4
palcov diskety. Tieto
s umiestnen v polotvrdom, prunom ochrannom obale a diskety 3
1
=
2
00
maj pevn
plastikov pzdro.
Zpis a tanie sa realizuj pomocou magnetickej hlavy, ke je disketa umiestnen do
disketovej jednotky.
Disketa m jeden alebo dva povrchy (strany) a disketov mechanika m dve hlavy.
Hlava sa pohybuje po sstrednch kruniciach (stop ch (resp. trace-och). Do kadej z
nich sa daj zapisova daje. Kad stopa je rozdelen na seky (o s vlastne kruhov
vseky)- sektory (vi. nasl. obr.). Kad sektor predstavuje svisl blok dt. Vetky
stopy sa delia na rovnak poet sektorov a vetky sektory obsahuj rovnak poet bytov
(o je zvyajn d0ka uchovvatench slov). Celkov kapacitu diskety vyrtame ako:
poet str n
poet stp
poet sektorov
poet bytov v sektore
Sektor je najmenia 'jednotka', s ktoru mono operova (zapisova, ta). Ak chceme
zmeni jeden byte zznamu, mus me na ta do hlavnej pam&te pr slun sektor, zmeni
v om jeden byte a potom ho op& cel zap sa.
174
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Obrzok 6.10: Logick lenenie diskety
To, e disketa m v kadej stope rovnak poet sektorov, nie je najrozumnejie vyui-
tie priestoru. Mus me poet sektorov a ich kapacitu prispsobi najvntornejej stope,
ktor m najmen priemer. Smerom od stredu tak zanedbvame priestor, ktor by sme
mohli vyui. Dvodom je zvolen kontantn rchlos otania mdia a ukladanie dt
do krun c, o sa ahko realizuje. Racionlnejie vyuitie mdia maj optick mechaniky
CD-ROM, ktor ukladaj dta 'do pirly' (vi optick pam&te).
V rmci oznaovania kapac t diskiet sa stalo tandartom niekoko oznaen , ktor si
teraz uvedieme.
Poda toho, i sa informcie zapisuj na jednej strane alebo na obidvoch stranch,
rozoznvame diskety: SS (Single Sided) jednostrann
DS (Double Sided) obojstrann
Hustota zznamu sa oznauje:
SD (Single Density) jednoduch hustota
DD (Double Density) dvojnsobn hustota
HD (High Density) vysok hustota
3tandardn kapacita diskiet je:
DD
HD
5
1
=
4
00
360 Kb 1.2 MB
3
1
=
2
00
720 Kb 1.44 MB
Existuj aj diskety 3
1
=
2
00
s kapacitou 2 MB a 4 MB (o vyaduje aj pecilne
mechaniky). Ich hustota sa oznauje ED (Extra Density). Pou vaj sa u aj vmenn
diskov mechaniky (s vymenitenm mdiom), kde disk je rozmeru 3
1
=
2
00
a m kapacitu
a 100 MB (napr. mechaniky a mdi ZIP).
Pam& na diskete m podstatne meniu kapacitu a niiu prenosov rchlos ako
magnetick diskov pam&. Avak presadila sa vaka n zkej cene a ahkej prenositenosti
diskiet. Preto sa uplatnila v osobnch po taoch, v malch zariadeniach na spracova-
nie dajov, textovch systmoch a pri z skavan a pr prave dajov. Stala sa sasou
tandardnho vybavenia po taa.
6.2.
MA
GNETICK
ZZNAM
175
Obrzok 6.11: ZIP-mdium
6.2.4 Magnetick diskov pamte
Diskov pam&te (angl. hard disk-y) s obbenou perifrnou pam&ou osobnch po -
taov. Maj vek kapacitu a rchly vybavovac as, vaka omu sa rchlo presadili a
stali sa tandardnou sasou po taovch zostv.
Nosiom dajov je sada kruhovch diskov, platn pokrytch magnetickou vrstvou.
Zariadenie m niekoko hlv disky s umiestnen nad sebou a zaznamenva daje mono
na obe strany diskov. S kadou stranou pracuje samostatn hlava. Princ py a spsob
programovania s podobn ako u diskiet. Novm pojmom je cylinder, ktor oznauje
sektory nachdzajce sa na rovnakch polohch no na rozdielnych diskoch (vi nasl.
obr.).
Obrzok 6.12: lenenie disku. Cylindre
as potrebn na zpis alebo pre tanie jednej stopy je vaka rchlemu otaniu vemi
mal (rdovo desiatky milisekund).
Magnetick diskov pam&te mu ma pevn alebo vymeniten disky.
176
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
6.3 Magnetick bublinov pamte
Magnetick bublinov pam& (Magnetic Buble Memory) je tie nemechanickou pam&ou.
Zvonku vyzer rovnako ako polovodiov integrovan obvody a zvyajne s takisto nas-
pjkovan na platnikch plonch spojov.
Ich princ p je v tom, e na tenkej vrstve magnetickho materilu s vytvoren mikros-
kopicky mal 'ostroveky'- magnetick domny. Psoben m umelo vytvorenho magne-
tickho poa rotuj magnetick bubliny v kruhu a prechdzaj pritom okolo zznamovej
a sn macej (univerzlnej) hlavy, pomocou ktorej sa daje mu zap sa alebo pre ta.
Existencia magnetickej bubliny zna '1', neexistencia zna '0'.
Magnetick bublinov pam&te sa mu sklada z viacerch stoviek bublinovch sluiek,
z ktorch kad m vye tis c bubl n. Magnetick bubliny s tak mal, e v jednom prvku
s rozmermi 3x3 cm me by zaznaench niekoko milinov bitov.
as vberu dajov v magnetickej bublinovej pam&te je s ce o nieo krat ako pri
najrchlej ch mechanickch pam&tiach, je vak podstatne dlh ako as vberu dajov
v polovodiovch pam&tiach. Ich vhodou je vak vek hustota zpisu dajov a tie
zachovanie informcie aj po preruen napjania. Bublinov pam&te maj mechanick i
radian odolnos.
6.4 Optick zznam
Optick disk (oznaovan skratkou CD - compact disc) je v sasnosti jednm z najpou -
vanej ch mdi . Tto technolgia umouje 100-nsobne hustej zznam ako maj mag-
netick mdi, o spsobuje vek kapacitu optickch mdi . Dta je mon ta vekou
rchlosou. Mdium i tacia mechanika s lacn. Maj vak aj vek nevhodu: s typu
ROM, t.j. daje na ne zap san sa nedaj prep sa. Na odstrnenie tohto nedostatku
vak vzniklo viacero rieen . Predsa vak ete pevn disky nevytlaili a tandardnou
vbavou po taa je pevn disk spolu s CD mechanikou.
V tejto kapitole porozprvame o vzniku CD, ich rozdelen , protokoloch pre jednotliv
typy CD, princ poch tania i zpisu, podrobnejie sa budeme venova audio-CD a CD-
ROM a spomenieme alie typy. Taktie uvedieme princ py prepisovatench CD (CD-R,
CD-RW) a spomenieme najnoviu optick technolgiu DVD.
Obrzok 6.13: Kompaktn disk
6.4.
OPTICK
ZZNAM
177
6.4.1 Vznik CD
Zaiatkom 80.rokov prila rma Philips, s revolunou technolgiou digitlneho optickho
zznamu videa. Neskr spolu s rmou Sony publikovali formt pre zznam digitlneho
zvuku (nazvan Red Book), ako technolgiu pre nahradenie vinylovch platn . Vhodou
tejto technolgie oproti inm je vek kapacita a mal chybovos pri tan (vi alej).
Tto technolgia sa presadila a stala sa vemi populrnou.
Jej vhody zaujali aj vrobcov po taov, ktor sa rozhodli adaptova CD pre zznam
po taovch dt. Zrodil sa nov typ mdia nazvan CD-ROM (ktorho peci kcia bola
uverejnen v Yellow Book). Tto peci kcia bola v roku 1986 roz ren a vzniklo CD-
Interactive. Vznikli aj in, ktor uvedieme v alom texte. V roku 1995 sa objavuje
technolgia DVD.
6.4.2 Zkladn princpy
Kompaktn disk je zloen z niekokch vrstiev. Informcie s zaznamen na hlin kovej
odrazovej (re7ex vnej) ploche. Presnejie, nachdzaj sa na nej priehlbinky (ang. pits)
a (rovn) plky (angl. lands). Na tanie informcie sa pou va laserov l, ktor
sa odra od povrchu rznou intenzitou poda toho i sa l odrazil od priehlbinky
alebo od rovnej vrstvy. Pokia dopadne na plku, odraz sa sp& s rovnakou intenzitou.
Pokia dopadne na priehlbinku, rozptli sa a sp& sa odraz l takmer nulovej intenzity.
Odrazen l sa sn ma fotodetektormi a na zklade jeho intenzity sa vie uri, i bola
sn man priehlbinka alebo plka.
Obrzok 6.14: tanie - odraz la pri dopade na plku (a) a priehlbinku (b)
Obrzok 6.15: Sn macia sstava
178
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Zklad mdia tvor u spom nan hlin kov odrazov plocha. T je zo spodnej strany
pokryt priehadnou plastikovou vrstvou, ktor m ochrann funkciu.
Obrzok 6.16: Vrstvy kompaktnho disku
Ak s vhody tejto technolgie? Za prv, vek kapacita dt. Taktie, pri na ta-
van dt nedochdza ku kontaktu tacej hlavy s povrchom mdia. Preto nedochdza
k opotrebovvaniu mdia a zrove je mon vyvin vysok otky a tm aj vysokok
prenosov rchlos. Dta nie s ovplyvniten magnetickm poom. Plastov vrstva ich
chrni pred mechanickm pokoden m (napr. pred pokriaban m i dotykom), zrove je
mon vhodnm kdovan m dt odstrni pr padn chyby. O spsoboch kdovania dt
povieme v alom texte.
Dta s usporiadan v pirle. Tm sa dosahuje lepie vyuitie priestoru, ako ke by
boli usporiadan v kruhoch (vi diskety).
Obrzok 6.17: Logick rozdelenie CD - na sektory
Ako nuly sa interpretuje pravideln striedanie priehlbiniek s rovinkami a akkovek
nepravidelnos je interpretovan ako jednotka. Tto informcia sa potom spracva v
al ch elektronickch obvodoch a jej interpretcia sa l i poda funkcie, ktor m dan
mdium vykonva.
6.4.3 Optick sstava
V tomto odseku podrobnejie op eme optick tanie a problmy s n m svisiace (za-
ostrovanie a dranie stopy).
6.4.
OPTICK
ZZNAM
179
Optick sstava je pripevnen na pohyblivom ramene, ktor me by oton alebo
posuvn. Pri otonom je optick sstava umiesten na konci otonho ramena. Servo
motor ota ramenom a tm men polohu celej optickej sstavy voi disku. Toto rameno
bolo postupne nahraden posuvnm. Na om sa optick sstava pohybuje medzi stredom
a okrajom disku.
V optickej sstave sa nchadza polovodiov dida, vyroben na bze Hlin k-Glium-
Arzenidu. Vyaruje neviditen infraerven svetlo. Sstava ooviek doke zamera l
na bod v vekosti 1
m. To umonuje vytvra stopy vzdialench od seba 2 m, priom
priehlbinka - pit je irok od 0
4 m po 0:5 m a hlbok 0:1 m.
tacia hlava sa sklad z laseru, sstavy ooviek a zrkadiel, fotodid a mechanickch
ast (sliacich na pohyb hlavy a zaostrovanie). Sprvne zaostrenie sa kontroluje pomo-
cou tyroch fotodid (vi nasledovn obrzok), na ktor dopad odrazen laserov l.
Ak je dopadajci l sprvne zaostren, m tvar kruhu. Vtedy maj vetky tyri didy
signl. Inak m tvar elipsy a dve z did strcaj signl. Poda toho, ktor, sa pohne
sstavou ooviek k povrchu alebo od neho, m sa zaostr .
Obrzok 6.18: Testovanie sprvneho zaostrenia
Kontrolova treba aj to, i l pri tan nevyboil zo stopy. Na to slia dva pomocn
bon le, ktorch odraz op& testujeme dvoma fotodidami. Ak l vybo zo stopy,
strat sa signl z avho alebo pravho pomocnho la, poda oho vieme, ktorm smerom
treba hlavu posun.
6.4.4 Typy mdi
Na CD disky mono uklada informcie rznych typov (napr. zvuk, obraz, video, po -
taov dta). Tieto typy maj odlin nroky na kapacitu/rchlos/presnos. Napr klad,
pri sn man zznamu videa mu nasta chyby, pretoe nevea chybne zobrazench bodov
si na vslednom obraze ani nevimneme (obraz m skoro milin bodov) a teda na cel
CD meme tolerova tis cky chb. Na druhej strane, vyadujeme extrmnu rchlos
180
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Obrzok 6.19: Testovanie udrania stopy
tania (desiatky Mb za sekundu). Presne opanou je situcia pri zzname po taovch
dt, tu nesmie nasta ani jedna chyba tania a tanie dt nemus by a tak rchle.
Preto vzniklo viacero typov CD mdi :
CD-DA
compact disk digital audio
CD-ROM
compact disk read only memory
CDV
compact disc video
CD-I
compact disk interactive
PhotoCD
na ukladanie digitlnych fotogra
Okrem spom nanch CD diskov, ktor predstavovali pam&te typu ROM, vznikli aj
mdi:
CD-R
- umoujci jedenkrt informciu zap sa a ubovone vea krt ju ta
CD-RW
- umoujci ubovolne vea zpisov i tan . V zvere tejto asti spome-
nieme aj nov typ optickho mdia { DVD.
Vrme sa ale k spomenutm typom CD. Treba spomen, e viacer z nich maj
aj svoje 'podtypy' (napr. niekoko monch formtov CD-ROM). Jednotliv formty
uvedench mdi s de novan v takzvanch color book (alebo farebnch knihch):
Red Book
- fyzick formt audio CD (znmy aj ako CD-DA)
Yellow Book
- fyzick formt dtovch CD (CD-ROM)
Green Book
- fyzick formt CD-i
Orange Book
- fyzick formt zapisovatench CD. M tri asti: CD-MO (Magneto-
Optical, magneto-optick), CD-WO (Write-Once, zapisovaten vrtane PhotoCD),
CD-RW (ReWritable, prepisovaten)
White Book
- formt VideoCD
Blue Book
- CD Extra (jedno CD obsahuje dve sekcie, prv je CD-DA, druh
dtov znme aj ako CD Plus)
6.4.
OPTICK
ZZNAM
181
6.4.5 CD Digital Audio
Ako jedno z prvch diskovch mdi sa objavuje CD-DA, na ktor mono uklada zvukov
(audio) zznam.
Ben audio disk m okolo 12,5 cm v priemere a je mon na om zaznamena
od 60 do 70 mint stereofnneho digitlneho zvukovho zznamu. Vy rozsah (okolo
75 mint) zznamu u maximlne vyu va toleranciu hustoty zznamu a je 'zaplaten'
vyou chybovosou.
Pou va sa vzorkovacia frekvencia 44 kHz.
Zznam sa za na pri strede kota a kon pri vonkajom okraji. Dta s uloen v
pirle. Diskety a pevn disky ukladali dta do sstrednch krun c, priom kad kruni-
ca obsahovala rovnak mnostvo dt. Preto okrajov krunice neboli naplno vyuit.
Ukladanie do pirly je ovea ekonomickejie, sstredn kruhy obsahuj nerovnak mnost-
vo dt (a okrajov najviac), m sa viac vyuije kapacita mdia.
Informcie na CD-DA s rozdelen na seky - sektory ( tie large frame{ vek r mce).
Tieto sa delia na 98 (malch) r mcov. Tie u predstavuj najmeniu jednotku dajov.
Obsahuj 24 bajtov dt a 8 bajtov opravnho kdu (vi obr. 6.21). alej, vzorky
(rmce) nie s ukladan za sebou (t.j. poda poradia), ale prekladane (napr. v porad
1
1121::: 21222:::), o m t vhodu, e ak sa pokod (napr. krabancom) nevek
svisl as disku, chyba zasiahne zvukov vzorky rznych perid. Z jednej peridy sa
tak 'nestrat ' privea dajov a pretoe zvukov zznam sa nemen pr li prudko, je mon
zo susednch dajov
1
interpolova straten daj (napr. ako priemer susednch dajov).
6.4.6 CD-ROM
Nov typ CD, oznaen ako CD-ROM, uspsoben pre zznam po taovch dt bol
predstaven v roku 1984. Disk m rovnak rozmery ako 'klasick' CD-disk pou van
na zznam zvuku. Zmest sa na 650 MB dt. Z dvodov kompatibility s CD-DA
(aby tacie CD-ROM mechaniky ahko dokzali prehrva aj CD-DA disky) s dta tie
zap san v pirle.
Technika zpisu a tania CD-ROM je podobn CD-DA. Vyu va sa tu tie EFM
kdovanie, avak dta s uloen v sektoroch d0ky 2325 bytov. Sektor obsahuje hla-
viku, 2048 bytov dt a 288 bytov informcie pre viacrovov opravn kd (layered
ECC
).Podobne ako pri CD-DA sa sektory delia na rmce, ktorch je 98 na sektor.
Opravn kd m nasledovn truktru informcie: 4 byty s paritn a pomocou
nich sa testuje, i vbec dolo k chybe. Zvynch 276 u sli na opravu pokodenej
informcie. Oprava je dvojrovov: prv na rovni bytov, druh na rovni rmcov.
Sborov systm
3truktra systmu sborov a adresrov je de novan normou ISO 9660. M tri asti.
Prv de nuje sborov systm kompatibiln s MS-DOS-om (sbory maj 8-znakov
men a 3-znakov pr ponu, dovolench je osem vnoren podadresrov). Druh as
povouje dlh nzvy sborov a 32 vnoren podadresrov. S tmto formtom u MS-DOS
nedoke pracova. Ani s tret m, ktor povouje aj nesvisl sbory. to... Vznikli aj in
1
susedn ch k pokodenmu dajmu
182
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Obrzok 6.20: Obnova pokodenej informcie interpolciou
Obrzok 6.21: Sektory CD-ROM a CD-DA
6.4.
OPTICK
ZZNAM
183
sborov systmy (napr. Unix, Windows 95), pri ktorch je problm s prenositenosou
medzi jednotlivmi systmami.
Rchlos mechank
Rchlos tania (prenosov rchlos) CD-ROM mechan k sa oznauje nsobkom prenosovej
rchlosti tandardnho CD-DA prehrvaa, ktor je okolo 150 kB/s. Napr klad, 16-rchlostn
mechanika
ta rchlosou 2400 kB/s.
Pvodn rchlos prenosu oskoro prestala stai. Vznikli multimedilne aplikcie
a na CD-ROM sa zaali uklada multimedilne dta, ako napr. zvuk, obraz a video.
Potrebn bol znane rchly prenos (digitlne video - megabajty za sekundu). Za poia-
tonou 1-rchlostnou mechanikou oskoro nasledovali 2
481624 i viac rchlostn. Na
trhu sa alej objavuj oraz rchlejie mechaniky.
CD-ROM mechanika me dta ta v dvoch mdoch: kontantnou uhlovou a kon-
tantnou line rnou
rchlosou. Pri kontantnej uhlovej rchlosti (Constant Angular Veloc-
ity { CAV) sa mdium ota rovnakou (uhlovou) rchlosou, preto m mechanika vzras-
tajcu rchlos tania dt smerom k okraju (napr. od 1200 kB/s na vntornej strane
disku a do 2400 kB/s na vonkajej strane). Druh md tania je ta stlou linernou
rchlosou (CLV - Constant Linear Velocity), pri ktorom sa plynule men rchlos otok
poda vzdialenosti od stredu disku tak, aby mechanika zakadm mala rovnak rchlos
tania dt
2
. Starie mechaniky pracovali v mde CLV, novie pou vaj obe techniky.
Pou van m oboch mdov tania napr klad mono opravova chyby{ pri tan poko-
denho miesta mechanika spomal a poksi sa pre ta dta ete raz aby mohla ahie
opravi chybu.
Na trhu sa objavili aj mechaniky s oznaen m typu 24max. Ak je vznam tohto
oznaenia? Uviedli sme, e existuj dva spsoby tania (kontantn uhlov a kontantn
linerna rchlos), priom novie mechaniky zvldaj obe. Pri CAV me by rchlos
prenosu pri strede disku napr. 2400 kb/s a pri okraji 4800 kb/s. Tto mechanika me
by oznaen ako 40max, hoci v skutonosti je 20-rchlostn. Takisto, relna rchlos
tania dt nezvis len od maximlnej rchlosti tania dt, ale aj na mnostve al ch
faktorov { napr klad ako sa mechanika sprva pri tan pokodench miest
3
. Preto
mnoh mechaniky s v praxi rchlejie ako in s dvojnsobnm koe cientom.
Ochrana proti koprovaniu CD-ROM mdi
Pretoe vetky dta na CD mus tacia mechanika vedie pre ta, neexistuje veobecn
a inn metda ako zabrni duplikcii mdia. Existuj vak spsoby, ako kop rovanie
'sai'.
Jednoduchou a astou technikou je zmeni informcie o sboroch a predstiera, e
niektor z nich maj d0ku stoviek Mb. Informciu o d0ke zmen me v hlavike sboru.
N softvr s tmito sbormi pracuje sprvne, pretoe ich skuton d0ku pozn. No ak
sa poksime tieto sbory kop rova, skop rujeme aj nezmyseln dta. Tto ochrana je
vak neinn, ak urob me po sektoroch kpiu celho CD.
2
t.j. tala rovnak objem dt (za jednotku asu)
3
hne vyhlsi chybu, alebo sa poksi sektor ta znovu? Raz, alebo viackrt?
184
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
'3pecilnejie metdy' s napr klad: Vylisova CD, ktor obsahuje dta aj za hranicou
zapisovatenosti bench CD-R mdi . Tak sa u duplikuje aie, potrebn s pecilne
CD-R mdi a pecilny software. Inou monosou je zap sa do sektora chybn dta
(napr. ke vytvor me rmec s nesprvnou paritou). Program ta v reime 'bez opravy
chb' (sm si zaisuje detekciu a opravu chb pri tan 'naich' sektorov). Pokia tame
tandardne, dta sa opravia automaticky (samoopravnm kdom), m sa pokodia a na
kpii sa u nenachdza tak informcia, ak mal aj originl. Nevhodou tohto spsobu
je, e mechanika mus vedie ta z CD v reime 'bez opravy chb'. Pretoe to nedoke
kad CD-ROM mechanika, pre ochranu po taovch dt ho nememe poui. Mme
ho vak uplatni napr. na hernch konzolch. Na konzolch sa pou vaj aj alie
metdy pou vajce upraven mechaniky alebo mdi. Napr klad pou vanie mdi s
natoko n zkou re7exivitou, e ben CD-ROM mechaniky ich nedoku pre ta.
6.4.7 CD-Recordable
truktra mdia
3truktra mdia CD-R je vemi podobn truktre klasickho CD-ROM. Mdium ob-
sahuje nasledovn vrstvy: potla, pecilna nepokriabaten ochrann vrstva (nemaj
vetky mdi), ochrann vrstva, odrazov vrstva (hrub 50 a 100 nm){ organick farbivo
(polymr) a naspodu priehadn plast.
Podstatnm rozdielom medzi CD-ROM a CD-R je zloenie odrazovej vrstvy. Plochy
vyplen pri zpise do vrstvy farbiva pohlcuj svetlo, rovnako ako pity lisovanho CD.
Ako organick farbivo sa spravidla pou va cyan n (zelen, modr farba) alebo ftalocyan n
(zlat farba). Oba typy maj obmedzen ivotnos (t.j. dobu uchovania informcie) a
navye, svetlo sa od ich povrchu odra s menou intenzitou ako u lisovanch CD-ROM.
Preto potrebujeme citlivejiu taciu mechaniku.
Obrzok 6.22: Porovnanie truktra CD-ROM a CD-R
Multisession disky
Nevhodou pvodnch formtov CD-R diskov bola nemonos neskorieho zpisu dt
na nevyuit miesto. Hoci bolo zapisovan len na tretinu disku, nebolo mon na disk
op&tovne zapisova a vyui tak nevyuit as.
Rieen m je lenenie disku na bloky dt - sessions. Session obsahuje jednu alebo viac
stp ubovolnho typu. Nemus by naplen v jednom zpise, meme ju po astiach
vytvra vo viacerch zpisoch. ta ju benou mechanikou je mon a ke ju uza-
vrieme. Vtedy vak u nie je mon do nej znova pripisova nov dta. Uzatvoren m
disku sa zake vytvranie novch sessions.
6.4.
OPTICK
ZZNAM
185
Pri tan z mdia sa najskr njde posledn zatvoren session a pre ta sa jej adresr.
Tento me obsahova aj odkazy na sbory v predchdzajcich sessions{ je mon zluo-
va sbory viacerch session, simulova vymazanie sborov starej verzie i ich prep sanie
novmi sbormi (namiesto odkazu zap eme nov sbor).
Prehrvae CD-audio prezeraj len prv session, o umouje vytvra disky CD-
Extra. V audio-prehrvai sa mdium bude sprva ako obyajn CD-DA a a po vloen
do CD-ROM mechaniky sa objavia aj dtov session.
Technika mulitsessions bola po prv krt pouit pre PhotoCD disky. Dnes sa vyu va
aj pre CD-R disky.
Zznam po stopch
Alternat vnou monosou k zapisovaniu sborov na CD je priamo uri obsahy jednotli-
vch stp CD. Zznam po stopch umouje k u zap sanm stopm pripisova alie
stopy.
6.4.8 CD ReWritable
V roku 1988 Tandy Corporation vyvinula prepisovaten CD disk. Pre vysok vrobn
nklady sa nikdy neobjavil na trhu. A v roku 1995 predstavila rma Philips tech-
nolgiu CD Erasable. Koncom roku 1996 boli na trh uveden CD-E disky, znmejie pod
oznaen m CD-ReWritable.
Odrazov plocha sa sklad zo zliatiny striebra, ir dia, antimnu a telria. Ak je
zliatina v krytalickom skupenstve, dobre odra svetlo a naopak v amorfnom svetlo
rozptyuje a pohlcuje. Laser sa pou va na zmenu materilu z amorfnho na krytalick
a naopak. Pri zpise vysokovkonn laser zahreje krytalick zliatinu a na taviacu
teplotu 600 oC. Ke materil vychladne, zmen svoju truktru na amorfn. Naopak,
zahriat m na 200 oC zliatina krytalizuje. Pri tan sa takisto pou va laser, no slab ,
ktor ete naviac pulzuje, aby nedochdzalo k zahrievaniu zliatiny.
Technolgia CD-E je kompatibiln s predchdzajcimi tandardami, no tieto disky
nie s itaten na bench mechanikch, pretoe maj v porovnan s benmi CD pr li
mal odrazivos.
Jeden disk me by prepisovan 1000 a 10 000 krt.
6.4.9 DVD disky
Na jedno CD sa zmest len hodina zznamu videa. Mnoho riem sa pokalo vylepi
technolgiu CD a njs spsob, ako uloi viac digitlnych dt. V roku 1995 sa objavuje
tandart novej technolgie DVD, ktor je al m stupom vvoja optickej technolgie.
Mdium m rovnak rozmery i vonkaj vzor ako 'klasick' CD-ko. No vieme na
zap sa viac dt, mechaniky maj vyiu prenosov rchlos a doku ta dta z CD-
ROM a CD-DA.
DVD je skratka anglickch slov Digital Verstile Disc (digit lny univerz lny disk). V
septembri 1995 sa dohodli dve skupiny riem, obe presadzujce vlastn tandardy, na
zkladnch rtch novho vysokokapacitnho mdia, pvodne urenho pre zznam videa.
Dali mu nzov DVD - Digital Video Disc. Neskr, ke sa zaalo uvaova o jeho vyuit
186
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
pri ukladan po taovch dt, vznam skratky sa zmenil na Digital Versatile Disc, ie
digitlny univerzlny disk.
Kadopdne, DVD bolo predstavovan ako univerzlne mdium. Jeden disk me
sasne obsahova viacero typov dt (zvuk, fotogra e, video, digitlne dta) pre viacero
zariaden (audio-zariadenie, video, po ta i hraciu konzolu). Odpadaj tak akosti s
prenosom dt medzi platformami, ben u tradinch CD, kde boli de novan nekompat-
ibiln tandardy pre kad typ zariadenia a pr padne sa de novali hybridy obsahujce
viacero typov dt (ako napr. CD-Extra). Tto univerzlnos DVD dosahuje jednak
tm, e DVD peci kcia zavdza veobecn formt dajov a tie tm, e je umonen
nhodn pr stup.
Princpy DVD a rozdiely medzi CD-ROM a DVD
CD-ROM DVD
Hrbka disku
1.2mm
0.6 mm (jednostrann)
1.2 mm (obojstrann)
Vekos pitu
0.83
m
0.4
m
Rozostup stopy
1.6
m
0.74
m
Z kladn prenoso-
v rchlos
150 KB/s
11 MB/s
Tabuka 6.1: Rozdiely medzi CD-ROM a DVD
CD-ROM pou va infraerven laser. DVD pou va erven laser v oblasti viditenho
spektra, ktor m meniu vlnov d0ku{ m je mon ho lepie zaostri a tm aj zvi
hustotu dt na disku (zmenia sa rozmery pitov a rozostup stopy). alou prednosou
DVD technolgie je vysok prenosov rchlos.
Obrzok 6.23: Porovnanie hustoty zznamu CD-ROM a DVD
Zznamov vrstva je polopriehadn. To meme vyui a na seba meme uloi dve
zznamov vrstvy. Nastaven m vhodnej vlnovej d0ky vieme tac laser zaostri na jednu
i druh vrstvu. Laser sa potom odra z tejto vrstvy, z nej ta informcie.
alou monosou zvenia kapacity je zapisova na obe strany. Pri dvoch vrstvch
na kadej strane tak dostaneme DVD so tyrmi vrstvami. Celkovo je mon na jeden
DVD disk uloi objem dt zodpovedajci 7 a 25 tandardnm CD-ROM-om. Kapacity
rznych mdi s znzornen v tabuke.
6.4.
OPTICK
ZZNAM
187
Priemer SL/SS
DL/SS
SL/DS DL/DS
12 cm
4.7 GB 8.5 GB 9.4 GB 17 GB
8 cm
1.4 GB 2.6 GB 2.9 GB 5.3 GB
SL/SS znamen
Single
layer
{
Single
side
d
, i e jednovrstvov jednostrann z znam, DL/SS je
Dual
layer
{
Single
side
d
, i e dvojvrstvov jednostrann z znam, SL/DS je
Single
layer
{
Double
side
d
, t.j. jednovrstvov dvojstrann z znam a DL/DS je
Dual
layer
{
Double
side
d
,
teda dvojvrstvov dvojstrann z znam.
Tabuka 6.2: Kapacity rznych typov DVD diskov
Pre ilustrciu uveme, e na jeden disk DVD o kapacite 4,3 Gb sa d nahra (bez
kompresie) dvojhodinov lm a na dvojvrstvovom obojstrannom mdiu skoro 9 hod n
videa. itate nech si sksi vyrta objem informci inch typov, ktor je mon na
DVD disky uloi{ napr. koko hod n hudby, koko fotogra alebo poet kn h. Najnovie
sprvy pritom hovoria o monosti zpisu s ete vyou hustotou. M by zachovan
kompatibilita s klasickmi DVD diskami. Mme sa teda na o tei...
188
KAPITOLA
6.
AL IE
TECHNOLGIE
P
AM
T
Kapitola
7
Vyv jan technolgie pamt
V tejto kapitole spomenieme alie pam&ov technolgie, ktor s v tdiu vskumu.
Aj ke sa v praxi nepou vaj, lebo ich sasn metdy realizcie s pr li nkladn, v
budcnosti sa mu njs spornejie rieenia. Spomenieme dve technolgie, hologra ck
a kryognnu. Prv z nich vynik najm& vysokou hustotou zznamu druh rchlosou
tania i zpisu. A preto aj ke nie s bene pou van, pri niektorch pecilnych
lohch nachdzaj uplatnenie.
Hologra ck pamte
Hologra ck technolgia umouje trojrozmern zobrazenie predmetov, mono ju vak
poui aj na zapam&tanie slicovch dajov. V tomto pr pade s jednotliv bity uloen
po celej ploche hologramu zo svetlocitlivej vrstvy.
Hologra ck pam&te s vemi odoln voi poruchm, pretoe pri poruche na jednom
mieste sa nezni cel daj, iba sa zmen kontrast medzi jednotlivmi vzorkami bitov.
Umouj dosiahnu vysok hustotu ukladania dajov, dosahujcu miliardu bitov na
tvorcov centimeter.
Kryognne pamte
Alebo tie pamte vyu vajce hlbok podchladenie, s pam&te vyu vajce efekt supravo-
divosti.
3tandardn preklpac obvod rchleho po taa je schopn vykona miliardu preklo-
pen za sekundu, rchlosti pam&t sa teda pohybuj v nanosekundch. Vo vvoji s
obvody schopn vykona a sto miliard preklopen za sekundu. Vskumn ci ale naraj
na fyziklne hranice a obmedzenia. Elektrick signl me za 1 nanosekundu prekona vz-
dialenos niekokch centimetrov. Ak by sme aj chceli vyui preklpacie asy kratie ako
1 nanosekunda, tak by vetky obvody zkladnej jednotky museli by od seba vzdialen
len niekoko centimetrov. Znamen to aliu miniaturizciu pri innosti obvodov vak
vznik teplo, ktor by pri zvenej hustote prvkov nemohlo by spoahlivo odvdzan.
Preto bolo nutn vyvin polovodiov obvody, ktor by vyadovali mlo energie na
svoju innos ( m by vyv jali aj menej tepla). Takto obvody s u vyvinut (znme pod
menom Josephsonove obvody). Pri kontrukcii tchto obvodov sa vyu vaj supravodiv
kovov vrstvy{ s teda kontruovan z kovu, ktor, ak je ochladen na teplotu bl zku
189
190
KAPITOLA
7.
VYVJAN
TECHNOLGIE
P
AM
T
absoltnej nule (-273 oC), tak nekladie prechodu elektrickho prdu iadny odpor. Preto
mono pracova v tchto obvodoch s mimoriadne malou intenzitou elektrickho prdu.
Aby bolo mon vyvin potrebn teplotu, obvody sa ukladaj do tekutho hlia. V
sasnosti sa vyv jaj obvody, ktor vyu vaj keramick materily a u ktorch sa aj pri
kladnch teplotch prejavuje efekt supravodivosti.
Pam&te, ktor s zostaven z tchto alebo podobnch obvodov, ie pam&te s hlbokm
podchladen m sa vhodne vyu vaj pri rieen loh pri ktorch sa vyaduje rchly pr s-
tup k dajom.
Kapitola
8
Rzne pamov truktry
Doteraz sme sa venovali najm& technologickm princ pom uchovania informcie. Uvao-
vali sme pritom len jeden spsob prce s pam&ou, jeden model pam&te: Pam& obsahuje
bunky, kad bunka obsahuje informciu. S bunkami vieme pracova ( ta informciu
uloen v bunke, alebo informciu do bunky zapisova), priom v jednom kroku pracu-
jeme len s jednou bunkou{ pam&ti zadme adresu pr slunej bunky a povel pre tanie
alebo zpis (v pr pade zpisu zadme aj dta, ktor sa maj zap sa). Tento model plat
nielen pre pam&te RAM, ale aj pre SAM{ s tm rozdielom, e v pr pade SAM je bunkou
pam&te blok dt.
Uplatnenie vak nachdzaj aj in pam&ov truktry, s ktormi pracujeme odlinm
spsobom. S najznmej mi sa oboznmime v tejto kapitole. Najskr spomenieme
CACHE pam&te, potom asociat vne pam&te (ktorch jeden spsob vyuitia je prve pri
realizovan CACHE pam&t ), zmienime sa o modulrnych pam&tiach a na zver pop eme
zsobn k a frontu.
Treba vak upozorni, e truktry ktor uvedieme nebud nutne radiklne odlin
od 'klasickej pam&ti' (ako napr. asociat vne pam&te). Zameriame sa na technick real-
izciu pam&ovch truktr sp0ajcich poiadavky z praxe, napr. rchly pr stup k asto
pou vanm dtam (pam&te CACHE), vyhadvanie informcie poda ka (asociat vne
pam&te) a alie. Niektor zo truktr ktor spomenieme sa asto realizuj jednodu-
chou modi kciou RAM-pam&t , pr padne sa daj realizova aj softvrovo (zsobn k,
fronta). Cieom tejto kapitoly vak ani nie je poda vyerpvajci prehad kompliko-
vanch, o 'najexotickej ch' pam&t , ale skr ukza, e pre niektor vznamn lohy je
mon zostroji pecilnu pam&ov truktru a zrove poda prehad najvznamnej ch
takch truktr.
8.1 CACHE
Vkonnos po taa neovplyvuje len rchlos procesora, ale aj rchlos pam&te. Pam&
je znane pomalia ne mikroprocesor a monosti alieho zvyovania jej rchlosti s
obmedzen. Vy vkon vak meme dosiahnu aj optimaliz ciou pr ce.
Vimnime si niektor tatistick daje o programoch:
Dta programu s zv&a usporiadan tak, e program pracuje s malou loklnou
oblasou dt. Pr kazy programu sa zase zv&a vykonvaj za sebou, alebo sa dokonca
191
192
KAPITOLA
8.
R
ZNE
P
AM
O
V
TR
UKTR
Y
(v cykle) viackrt opakuje vykonvanie skupiny (za sebou idcich) intrukci (tela cyklu).
Tieto vlastnosti vyjadruj princ py asovej a miestnej lokality:
asov lokalita
vyjadruje skutonos, e adresa, ktor bola prve vyvolan (tj.
pracovalo sa s pam&ovou bunkou urenou danou adresou) bude v krtkej dobe
vyvolan znova.
Miestna lokalita
vyjadruje skutonos, e okrem daju z aktulne tanej adresy sa
bude v krtkej dobe vyadova daj aj z jej okolia.
CACHE je nzov rchlej n zkokapacitnej pam&te. Jej kapacita je ovea niia ako
kapacita operanej pam&te, no na druhej strane m ovea vyiu rchlos ako hlavn
pam& (asi 5 a 10 krt). V&inou je sasou procesora.
Sli na ukladanie najpotrebnej ch a najastejie pou vanch dajov. Do CACHE
sa prenesie blok asto pou vanch dajov a pokia si tieto daje program znova vyaduje,
procesor ich nemus vyvolva z operanej pam&te, ale priamo z rchlej pam&te cache.
CACHE teda sli ako vyrovnvacia pam& (bu5er) operanej pam&te.
Ako sa dosahuje rchlos CACHE ? Existuje viacero metd jej kontrukcie:
1. cache = n zkokapacitn RAM
(doba pr stupu je funkciou potu slov v pam&ti)
2. asociat vna pam&
(doba pr stupu je funkcia d0ky slova)
3. bipolrne pam&te (namiesto 'tradinch' MOS)
4. kombincie predolch spsobov
Dos podstatn je urenie 'vemi asto' pou vanch dt. Vyuijeme u uveden
tatistick vlastnosti asovej a miestnej lokality.
Ak procesor potrebuje pracova s uritm slovom pam&te, najskr ho had v cache.
Ak ho nenjde v cache, vezme ho z pam&te a ulo do cache. Spolu s n m vak zoberie a
ulo aj jeho loklne okolie. Rovnak princ p plat pre akkovek pr stup k pam&ti, i u
za elom tania dt programu alebo intrukci programu. Vaka princ pom 'asovej a
miestnej lokality' sa dosahuje 85 - 95 % spenos pri hadan dajov v cache.
Pam& cache m n zku kapacitu, rchlo sa zapln . Preto treba vedie vyradi z cache
najmenej pou van daje. Spsob detekcie a 'vyraovania' zvis od konkrtneho nvrhu
systmu, najastejie pr stupy s:
LFU (Least-Frequently Used) - vyli sa bunka, ktor sa pou vala najmen poet
krt (Realizcia: spolu so slovom uchovvame aj informciu o tom, kokokrt sa s
n m pracovalo).
LRU (Least-Recently Used) - vyli sa bunka, ktor sa nepou vala najdlh as.
Ak sa hadan daje nali v cache, ich tanie je rovnak ako u benej pam&te. Zpis
do CACHE mono realizova dvoma spsobmi:
8.1.
CA
CHE
193
1. write though method{ pri kadom zpise do cache sa uskuton aj zpis do operanej
pam&te
2. write back{ ak u nie je potrebn urit pam&ov bunku uchovva v cache, tak
predtm ako sa vymae z cache { ak bola jej kpia v cache modi kovan { sa obsah
kpie zap e do hlavnej pam&te. Kad bunka v cache m 7ag urujci, i sa do
bunky v cache zapisovalo, alebo nie.
8.1.1 Organizcia CACHE
Ke do CACHE ukladme dta z hlavnej pam&te, mus me tie neskr vedie uri ich
pvodn miesto v pam&ti (tj. uri ich adresu). Na to existuj 3 metdy:
direct mapping
associative mapping
set-associative mapping
direct mapping
Adresa slova v hlavnej pam&ti sa del na dve asti: na index (niie bity) a tag (vyie
bity). Do CACHE sa ulo dtov as slova + tag. V cache s teda slov s d0kou (d0ka
dt + d0ka tag-u).
Aby sme zrekontruovali pvodn adresu, potrebujeme ete uri index. Ten sa rovn
indexu danho slova v CACHE.
Prklad V.1:
Majme v cache slovo (s indexom 0001), ktor obsahuje dtov zloku
s hodnotou X a tag 110111. Potom tto poloka predstavuje pam&ov bunku s adresou
1101110001.
Nevhoda uvedenej metdy je znan : do CACHE nemono uloi dve slov, ktorch
adresa m rozdielne tag-y a zhodn indexy.
associative shaping
Do cache sa uklad adresa + slovo.
Vhodou tejto metdy je monos uklada slov s ubovolnmi adresami (na rozdiel
od predolej), nevhodou je potreba v&ej cache.
set-associative shapping
Je kombinciou predolch metd.
Na kadej adrese v cache je uloench niekoko slov. Kad slovo m svoj tag +
dtov as. Pretoe je viacero slov na jednej adrese v cache, me ma viacero slov
rovnak index, a rozlin tag-y. Tm sa iastone odstrni nevhoda prvej metdy.
Ke chceme njs v cache slovo s uritou adresou, najprv pomocou indexu njdeme
pr slun skupinu slov. Potom porovnvame tag-y tchto slov s tag-om naej adresy a
pokia nastane zhoda, hadan slovo sme nali.
194
KAPITOLA
8.
R
ZNE
P
AM
O
V
TR
UKTR
Y
Uviedli sme problmy spojen s realizciou cache, priom sme naznaili niekoko sp-
sobov rieenia.
Pri nvrhu cache (a procesora) sa zvolia konkrtne pr stupy a rieenia. Podstatn je
urenie vekosti loklnej oblasti (okolia) a urenie vekosti cache.
8.2 Asociatvna pam
V bench pam&tiach (RAM, ROM) boli daje dostupn pomocou adresy.
V asociatvnej pam&ti s daje pr stupn na zklade asocici . Asociat vna pam&
pracuje podobne ako mozog, ktor pri vyhadan jednej informcie njde informcie s ou
svisiace na zklade rznych kritri - asoci ci. Najastej m testovac m kritriom (vy-
hadvac m kom) je as obsahu hadanej bunky. daje uloen v pam&ti sa porovn-
vaj so zadanou vzorkou (kom) a indikuje sa, na ktorch adresch dolo k zhode.
Testuje sa paralelne, pam& je vemi rchla. M vak vysok zloitos a z toho vyplva-
jcu vysok cenu.
Asociat vna pam& sa vyu va pri niektorch pecilnych aplikcich, v umelej in-
teligencii, expertnch systmoch a tie CACHE.
daje uchovvan v cache s zloen z adresovej a dtovej zloky. Ak chceme pre -
ta hodnotu pam&ovej bunky s uritou adresou, tto adresu dme ako vyhadvac kl.
Pokia sa hadan bunka nachdza v cache, vstupom asociat vnej pam&te je prve jedno
slovo obsahujce hodnotu uchovvan touto bunkou. Zapisovanie i stratgie obhospo-
darovania CACHE sa robia rovnako ako s benmi typmi pam&t .
Komunikcia z asociat vnou pam&ou vyzer nasledovne:
1. Sasou m-bitovej asociat vnej pam&te s registre A a M.
Do registra A vlo me hadan vzorku.
2. Obsah registra A sa porovn so vetkmi slovami pam&te.
3. Ak pri porovnvan s
i-tou vzorkou nastala zhoda (priom zhodu nemus me de -
nova ako rovnos) sa do pr slunho bitu M-registra zap e 1, inak sa zap e 0.
4. alej sa bude pracova len s tmi pam&ovmi miestami, ktorch zodpovedajci
bit v registri M je nastaven na 1.
Obvod obsahuje m porovnvac ch obvodov.
Zvyajne nie je klom cel uchovvan obsah, ale len niektor bity slova. To, ktor
s to, uruje tzv. maska. Bity, ktor chceme porovnva s v maske oznaen 1, ostatn
(na ktorch obsahu nm nezle ) maj nastaven 0.
Zpis a tanie
tanie{ ak register M obsahuje viacero jednotiek (nali sme viacero slov zhodnch so
zadanou vzorkou), potom treba pr slun slov ta postupne.
Meme napr klad pripoj register M na zariadenie postupne generujce riadiaci
signl read pre slov s jednotkou v registri M.
zpis{ zvyajne sa pri vyuit cache predpoklad, e peci kovan daj je len jeden
(t.j. zhoda s kom nastala len v jednom pr pade).
8.3.
MODULRNA
P
AM
195
8.3 Modulrna pam
Program sa vykonva tak, e sa postupne taj intrukcie z pam&te a vykonvaj sa.
Vykonvanie by sa vak dalo urchli, ak by sa niekoko operci mohlo vykonva naraz.
To znamen vedie vykonva naraz aj viacero operci s pam&ou.
Monost realizcie je viacero. Napr klad, pam& me ma viacero vstupov/vstupov,
o je vak drah rieenie. Inm rieen m s modul rne organizovan pam&te. Pam& sa
rozdel na viacero nezvislch ast (modulov).
K modulrnym pam&tiam sa me pristupova dvojako:
1. Vyie bity uruj pam&ov modul, niie- slovo v module.
(za sebou nasledujce slov s v jednom module)
2. Vyie bity uruj slovo v module, niie- pam&ov modul.
(za sebou idce slov s v rozlinch moduloch, intrukcie mono spracova para-
lelne)
8.4 Zsobnk a fronta
Na doasn uchovvanie pracovnch dajov slia dtov truktry z sobnk a fronta.
Obe s itateovi dozaista znme.
Do zsobn ka je mon dta uklada i vybera. Pri uloen sa zsobn k pred0i o jednu
poloku (ukladan) smerom nahor. Smerom nahor znamen, e naposledy ukladan
poloka je na niej adrese ako najskr ukladan poloka. Pri vbere sa vyberie daj z
najvrchnejej poz cie a vyrad sa zo zsobn ka (zsobn k sa zn i o jednu poloku, smerom
nadol).
So zsobn kom sa pracuje pomocou dvoch pr kazov uloenie (PUSH), vber (POP)
a dvoch booleovskch funkci : test, i je zsobn k pln (FULL) a test i je przdny
(EMPTY).
Prklad V.2:
Do zsobn ka sme vloili najskr daj ( slo) 3, potom 7 a nakoniec 9.
Po pr kaze vberu (POP) obdr me daj 9. al pr kaz POP vrti slo 7. Po vloen
sla 14 (pr kazom PUSH) dostaneme operciou POP vsledok 14 a al m povelom POP
slo 3.
Zsobn k vyberie ako prv t poloku, ktor bola uloen ako posledn. Nazva sa
aj LIFO (Last In - First Out).
Zsobn k mono realizova hardwarovo, softwarovo i kombinovane.
Pracuje sa s n m pomocou premennch Stack Pointra, ktor ukazuje na naposledy
uloen poloku, tzv. vrchol zsobn ka, a premennch Stack Base a Stack Limit, ktor
udvaj zaiatok a koniec pam&te vyhradenej pre zsobn k (pri sofvrovej realizcii).
hardwarov realizcia
1. Pomocou k
n-bitovch registrov s paralelnm zpisom a tan m.
2. Pomocou
n posuvnch k-bitovch registrov, z ktorch kad predstavuje jeden
bit vetkch slov uchovanch v zsobn ku. Opercie PUSH a POP sa realizuj
pomocou posuvov SL a SR.
196
KAPITOLA
8.
R
ZNE
P
AM
O
V
TR
UKTR
Y
Obe realizcie vytvraj zsobn k o k slovch s d0kou slova n bitov. Pr slun schmy
si u itate doke navrhn.
softwarov realizcia
Ako pr klad monho rieenia si uveme najjednoduchie rieenie pomocou poa. Z-
sobn k budeme vytvra v poli, na ukazovate vrchola pouijeme premenn opercie a
funkcie so zsobn kom sa u naprogramuj jednoducho.
kombinovan realizcia
Hardwarov realizcia zsobn ka je rchla, ale drah a preto m tento zsobn k meniu
kapacitu. Softwarov realizcia (pomocou RAM) je s ce s v&ou kapacitou, ale je poma-
lia.
Kompromisom me by rieenie, pri ktorom je horn as zsobn ka v registroch a
doln as zsobn ka v pam&ti.
Fronta
Fronta je truktra, ktor ako prv vyberie ten daj, ktor bol do nej prv vloen.
Oznauje sa ako FIFO (First In - First Out). Nebudeme sa ou hlbie zapodieva,
pretoe na zklade uvedench dajov o pam&tiach LIFO (zsobn ka) by si u mal itate
uvedomi pr slun analgie s pam&ami FIFO (frontou).
as
VI
I/O komunikcia
197
199
Po ta m vznam len v pr pade, e je spojen s okolitm svetom, odkia z skava
vstupn daje a kam oznamuje vsledky svojej prce.
Kontakt s vonkaj m svetom mu zabezpeuj vonkajie zariadenia. lohou vonkaj ch
zariaden (perifri ) je z ska dta pre po ta (napr. klvesnica), resp. dta z skan od
po taa alej spracova (napr. tlaiare). Vzletne povedan, s pre po ta vonkaj m
svetom, pretoe 'o oni nevidia, nevid ani on'.
Princ pmi tchto zariaden sa budeme zaobera neskr v tejto asti pohovor me o
komunikci (t.j. vmenou dt) medzi po taom a perifriami. Nazva ju budeme
Vstupno/Vstupn, resp. Input/Output komunikcia (skrtene len I/O komunikcia).
Perifrne zariadenie budeme skrtene oznaova I/O zariadenie, alebo len I/O.
Pri vstupno/vstupnej komunikci sa objavuje niekoko problmov:
CPU pracuje s binrne kdovanou info, je preto potrebn informcie z skan z
vonkajieho sveta (obraz, zvuk, stlaen klvesu) kdova binrne
treba zabezpei fyzick prenos dt medzi perifriou a po taom, niekedy treba
vedie detekova vznik chyby (napr. pomocou kontroly parity), pr padne chybu aj
opravi (samoopravn kdy)
informciu je potrebn prenies do po taa (na systmov zbernicu), no zariadenia
nemu by na zbernicu pripojen priamo (dvody uvedieme neskr)
CPU a I/O zariadenie obvykle nemono synchronizova (maj rozlin rchlosti) -
preto treba koordinova vetky I/O opercie (inicializova spojenie, prenies dta a
ukoni prenos). Komunikcia prebieha poda uritm dohodnutm (tandardnm)
spsobom, teda poda uritho protokolu
Vrme sa ete k dvodom, preo perifrne zariadenia nemu by k systmovej zber-
nici pripojen priamo. Dvodov je niekoko:
procesor vyu va zbernicu na komunikciu s pam&ou a al mi blokmi, priom s
nimi komunikuje istm pr sne dodriavanm spsobom. Perifria priamo pripo-
jen na zbernicu by mohla do tohto procesu elektricky zasahova a narui ho (ak
by napr klad poas intruknho cyklu fetch klvesnica zap sala na zbernicu kd
pre tanho klvesu, procesor by tento kd vn mal ako kd intrukcie, ktor m
vykona)
takisto, kon7ikt me nasta medzi dvoma zariadeniami, ktor sa sasne pokaj
zap sa na zbernicu svoje dta - djde k ich zmieaniu, o me vies k nepredv -
danm situcim
k rchlemu procesoru patr aj rchla zbernica, ktor m krat as 'vybavovania'
poiadaviek - signlov na zbernici. Me sa preto sta, e riadiace obvody perifrie
nebud 'st ha' priamo komunikova so zbernicou
pokia by dolo k pokodeniu perifrie, perifria priamo pripojen k zbernici by
mohla elektrickm vbojom pokodi procesor i ostatn bloky pripojen k zbernici
pre kad typ systmovej zbernice by sa museli vyrba osobitn druhy klves-
n c, tlaiarn a inch perifrnych zariaden , alebo by tieto museli ma nadbyton
prispsobovacie obvody pre rzne zbernice
200
Z tchto dvodov je vhodnejie dohodn niekoko tandardnch pripjan perifri
k po tau (napr. RS232C, Centronics) a ku kadmu typu zbernice vyrobi peci ck
obvod (nazvan V/V obvody) majci lohu prispsobovacieho lnku medzi zbernicou
a perifriou.
Dostvame sa tak k nasledovnej hierarchii I/O systmu, op sanej v nasledovnej kapi-
tole:
Kapitola
1
Zloenie I/O systmu
Cel vstupno/vstupn systm (alebo Input/Output, skrtene I/O systm) sa sklad z
niekokch ast :
I/O zariadenia
(alebo perifrie), ktor 'zberaj' daje z okolitho sveta. Mme
ich rozdeli na:
{ vstupn (len z skavaj dta pre po ta, napr. my)
{ vstupn (len spracvaj dta z po taa, napr. tlaiare)
{ vstupno/vstupn (aj zber dt, aj ich spracovanie, napr. modem)
Ich princ py si ukeme v alej asti, v tejto asti pre ns bud perifrie len objekty,
ktor chc komunikova s po taom ( ta aj zapisova).
radie I/O zariaden
(alebo device controllery), prostredn ctvom ktorch zariadenie
komunikuje s po taom (presnejie, s procesorom alebo pam&ou). Komunikcia
prebieha dopredu urenm spsobom (scenru komunikcie hovor me protokol)
spoje
, po ktorch sa prenaj dta (medzi radimi zariaden a radimi po taa -
vstupnmi brnami)
obslu n software
201
202
KAPITOLA
1.
ZLOENIE
I/O
SYSTMU
Kapitola
2
Pr stup k I/O zariadeniam
(I/O accesing)
Op me, akm spsobom me program komunikova s perifrnym zariaden m. Existuj
2 pr stupy k I/O portom:
1. memory mapped I/O
2. I/O mapped I/O
V prvom pr pade s I/O porty pripojen k adresovej zbernici. Kad I/O zariadenie
m priraden jedno alebo viac sel, ktor sa chpu ako adresy pam&ovch buniek. Pres-
nejie, perifria prekryje niektor pam&ov miesta svoj mi vstupmi, resp. vstupmi. Po-
tom, vstupn I/O sa sprva ako pam& ROM (meme z nej len ta), vstupno/vstupn
I/O sa sprva ako pam& RAM. Procesor nemus ma pecilne intrukcie pre prcu s
I/O - kad intrukcia pracujca s pam&ou me zrove pracova s I/O. Sta pritom,
aby ako adresu pam&ovej bunky udala adresu prislchajcu I/O.
Tmto spsobom sa sprva napr klad videopam& po taov PC. Z programtorskho
hadiska je videopam& svisl sek pam&te za najci od adresy A000 (hexadecimlne).
Teda videopam&, ktor je fyzicky uloen na videokarte, sa sprva, akoby bola sasou
hlavnej pam&te, nachdzajcej sa na hlavnej doske.
V druhom pr pade s I/O porty nezvisl na pam&ti. CPU odliuje, i sa jedn o
operciu s pam&ou alebo s I/O zariaden m. Ak chceme pracova s I/O zariaden m,
mus me poui pecilne intrukcie vstupu a vstupu z I/O zariadenia (resp. z I/O
portov)- IN a OUT. Pri prenose dt sa po zbernici prena aj riadiaci signl rozliujci,
i sa komunikuje s pam&ou alebo I/O zariaden m.
Porovnanie oboch pr stupov:
memory mapped I/O
:
{ netreba pecilne opercie I/O vstupu - vstupu
{ pomalie
{ zmenuje sa adresov priestor (jeho as sa vyu va pre adresovanie I/O por-
tov)
I/O mapped I/O
: m presne opan vlastnosti v porovnan s predchdzajcim
pr stupom
203
204
KAPITOLA
2.
PRSTUP
K
I/O
ZARIADENIAM
(I/O
A
CCESING)
Kapitola
3
Prenos dt
3.1 Prenos dt na fyzickej rovni
Fyzicky sa prenos dt medzi perifriami a po taom najastejie uskutouje 'tradine',
t.j. elektrickm signlom po drte. Op&, kdovou abecedou je najastejie binrna
abeceda - na drte je v kadej chv li urit nap&tie, priom nap&tie od 0 po X voltov
kduje nulu a nap&tie od Y do Z voltov kduje jednotku.
Tento 'tradin' spsob prenosu vak nie je jedin. Napr klad bezdrtov myi komu-
nikuj s po taom pomocou infraervenho svetla prenos dt sa teda uskutouje na
'neelektrickom' princ pe, bez pouitia 'hmatatenho' mdia. Takisto, kdov abeceda ne-
mus by binrna. Me sa poui viacero neprekrvajcich sa 'hlad n' nap&tia, z ktorch
kad kduje in informciu. Napr klad modemy pou vaj viacej hlad n prenosovho
signlu.
O fyzickom prenose sa vak teraz nebudeme podrobnejie zmieova 'netradin'
spsoby prenosu s toti skr domnou po taovch siet . V aom texte budeme
predpoklada 'tradin' model prenosu, resp. budeme hovori len o prenose dajov,
abstrahujc od fyzickej realizcie prenosu.
3.2 Mdy prenosu dt
Poda form tu pren anch d t me by prenos dt:
sriov
paraleln
A poda prenosvho mdu:
synchrnny
asynchrnny
sriov a paraleln prenos
Pri sriovom prenose sa dta prenaj jednou komunikanou linkou, ie sprva
sa prena bit po bite.
205
206
KAPITOLA
3.
PRENOS
D
T
Pri paralelnom prenose mme k dispoz ci viac liniek, ie meme naraz prena
niekoko bitov.
Paraleln prenos je s ce rchlej , no vyaduje viacej komunikanch liniek (napr.
najastejie sa paralelne prenaj znaky, o znamen paralelne prena 8 bitov = 8
liniek). Pouitie viacerch liniek vak znsobuje cenu spojenia, a pre v&ie vzdialenosti je
u pouitie paralelnho spojenia nenosne drah. Preto sa pou va na krtke vzdialenosti,
ak je potrebn rchlo prena vek mnostv dt (napr. prenos dt medzi po taom a
pevnm diskom).
Sriov prenos je pomal , no lacnej . Pretoe proces prenosu znaku je: odosielate
postupne vysiela jednotliv bity a pr jemca ich prij ma a sklad do vslednho bytu
(resp. znaku), tak sa vyaduj obvody konvertujce znak z paralelnho tvaru na sriov
a naopak. Sriov prenos sa pou va na spojenie vzdialench miest, resp. v pr pade, e
prenosov rchlos zariadenia je mal (napr. spojenie po taa a myi - my prena mal
mnostvo dt, ktor nie je nutn spracova 'rchlo' ((sta niekoko krt za sekundu)).
Preto sta tieto dta prena sriovo).
synchr nny a asynchr nny prenos
Prenos dt me prebieha dvoma spsobmi: synchrnne a asynchrnne.
Oba spsoby maj vlastn lozo u rieenia problmu 'rozline rchlych' perifri .
Pri synchrnnom prenose si vysielate a pr jemca 'dohodn' rovnak 'rchlos prce'
- rchlos vysielania a prij mania. CPU na adresov zbernicu pole adresu zaria-
denia, na dtov dta a nastav signl WRITE na 1. Zariadenie mus pre ta
dta, km je WRITE=1. Signl WRITE je generovan s istou pevne zvolenou
frekvenciou a m pevne zvolen d0ku.
Zariadenia maj rozlin rchlosti. Ako teda uri d0ku signlu WRITE? V zsade
s dve monosti:
{ rzna d0ka synchronizanch impulzov WRITE (ktor si CPU a zariadenie
dohodn na zaiatku komunikcie (poda uritho protokolu)).
{ d0ka jeho trvania je zvolen tak, aby komunikciu 'st halo' aj najpomalie
zariadenie (z mnoiny uvaovanovanch perifri ).
Odlin pr stup m asynchrnny prenos. Nenastavuje sa rovnak rchlos vysieatea
a pr jemcu, obaja mu vysiela rozlinmi rchlosami. Obaja posielaj po ria-
diacich linkch mnostvo riadiacich signlov (sprv). Komunikcia me vyzera
napr klad takto (itate si me predstavi napr. ako CPU posielanie dta tlaiarni):
vysielate pole sprvu (request), ktorou sa pta i je zariadenie pripraven. Ak je
pr jemca pripraven, odpovie (acknowledge). Potom vysielate zane posiela d-
ta. Dta sa nepol naraz, ale po men ch astiach (nazvanch rmce). Pr jemca
potvrd pr jem dt (data received). Vysielate oznmi koniec prenosu a preru
spojenie. V pr pade CPU a nejakej perifrie (napr. tlaiarne) to me vyzera
napr klad takto: CPU umiestni na dtov zbernicu daje, na adresov adresu za-
riadenia a nastav WRITE na 1. Zariadenie dta pre ta a vyle riadiaci signl
(data recived). CPU potom nastav WRITE na 0 a zmae daje z adresnej a d-
tovej zbernice. Zariadenie potom nastav Data recived na 0 a cel cyklus prenosu
sa me opakova.
3.2.
MD
Y
PRENOSU
D
T
207
Scenr komunikcie peci kuje protokol.
Vynra sa tu vak jeden problm. Prenajme dta sriovo, napr. po slovch
(slovo nemus by len 16 bitov, chpme ho ako urit 'mal' sek dt), priom
pr jemca a vysieate maj rozlin rchlosti. K sprvnemu pre taniu vysielanho
slova vak pr jemca mus pozna rchlos vysielania, inak sa me sta, e jeden
bit zapo ta viackrt (ak bude ta rchlejie ako bolo vysielan), resp. niekoko
bitov nepre ta (ak bude ta pomalie). Preto treba zosynchronizova vysielatea
a pr jemcu aspo na dobu vysielania slova. K tomu existuje viacero techn k, ktor
itate me njs v literatre (vi zoznam literatry). Uveme vak jeden - pole
sa niekoko striedajcich sa nl a jednotiek. Prechody signlu medzi 0-1 a 1-0 slia
na nastavenie sprvnej rchlosti.
Porovnajme synchrnny a asynchrnny prenos:
1. synchrnny
rchlej
jednoduchie riadenie (hodinov signl)
problmy s rozlinmi rchlosami perifri
2. asynchrnny
pomal
komplikovan riadenie (viac riadiacich signlov)
7exibilnej (zariadenia s rozlinmi rchlosami)
208
KAPITOLA
3.
PRENOS
D
T
Kapitola
4
Riadenie prenosu dt
I/O opercie meme rozdeli poda toho, ako sa riadi prenos dajov. Rozoznvame tri
zkladn typy:
1. programom riaden I/O
2. I/O riaden pomocou preruen
3. DMA (priamy pr stup do pam&te)
4.1 I/O riaden programom
Alebo programov I/O. Predstavuje hardwerovo najjednoduchiu metdu. Nepotrebu-
jeme zloit I/O hardware, pretoe inicializcia, prenos a ukonenie spojenia - resp.
implementcia zloitej ch I/O operci i I/O protokolov je softwrov, t.j. pop san
programom. Prenos dajov teda prebieha prostredn ctvom CPU, poda pecilneho pro-
gramu.
I/O hardware obsahuje niekoko registrov, pomocou ktorch sa I/O prenos progra-
muje. Typick registre s:
status register
bu5er register
data counter
bu5er pointer
Status register
obsahuje informciu o aktulnom stave I/O zariadenia (napr. i sa
pracuje v synchrnnom alebo asynchrnnom reime, i je zariadenie pripraven, i sa
m zapisova alebo ta, a pod.) a informciu o stave prenanch dt (napr. typ
prenanch dajov (byte, slovo), alebo informcia o parite prijatej informcie).
Bu"er register
sli na doasn uloenie dajov, ktor treba prenies, resp. na doasn
uloenie prijatch dajov (km sa nespracuj).
Data counter
udva, koko dajov treba prenies (udan napr klad v bytoch). Pri
prenan informcie sa postupne zniuje a ak je rovn 0, prenos sa ukon .
Bu"er pointer
uchovva adresu pam&ovho miesta, kam sa maj uklada informcie
z bu5er registra (resp. odkia sa maj zapisova do bu5er registra).
209
210
KAPITOLA
4.
RIADENIE
PRENOSU
D
T
Prenos potom vyzer nasledovne (pre ilustrciu, nech CPU dta zapisuje): nastav
sa bu5er pointer na zaiatok prenanho bloku dt a do registra data counter sa za-
p e vekos bloku. Potom sa cyklicky opakuje prenos jednotlivch slov bloku, a km
sa neprenesie cel blok. Prenos znaku vyzer nasledovne: CPU over , i je zariadenie
pripraven (pre ta obsah Status registra). Pokia no, z pam&ovho miesta urenho
pomocou bu5er pointra sa na ta slovo a zap e do bu5er registra. Hne po zpise dt
do bu5er registra V/V obvod sm spust ich vysielanie. alej CPU zn i obsah data
countera a zvi bu5er pointer. Pokia je data counter
0, cyklus sa opakuje, inak prenos
kon .
Tto metda je neefekt vna, plytv asom procesora, pretoe:
znan as vpotu zaberaj rzne testovania
as zaberie aj dekdovanie intrukci prenosu
Zaaenie CPU sa prejav najm& pri prenosoch v&ieho bloku dt. Za elom
'odbremenenia' CPU vznikli podporn pecializovan procesory (tzv. I/O procesory),
podriaden hlavnmu (univerzlnemu) procesoru, ktor sa venuj I/O prenosu, km CPU
sa me venova inej innosti. Okrem nich mono vyui aj in techniky prenosu dt:
4.2 I/O riaden pomocou preruen
Predstavuje z hadiska riadenia odlin techniku ako programov I/O. Pri programovom
I/O sa akkovek komunikcia inicializuje a uskutouje prostredn ctvom procesora. Pre-
to sa procesor 'raz za as' mus 'pozre' na kad zariadenie, i nechce komunikova a v
kladnom pr pade komunikciu uskuton . Op& si uvedomme, e vo v&ine pr padov s
tieto testy negat vne a teda sa 'mrni' as procesora.
Pri I/O riadenom pomocou preruen maj 'prvotn iniciat vu' zariadenia a nie pro-
cesor. Ak maj nejak poiadavku, hne to oznmia procesoru. Pri existencii poia-
davky procesor okamite preru svoju innos, vybav poiadavky zariadenia a vrti sa
k pvodnej innosti. Ako je tento mechanizmus realizovan? Ako inak, ne pomocou u
spom nanch preruen (as III). V pr pade nejakej poiadavky zariadenie vygeneruje
signl INTR (interrupt request), m nastane preruenie a spust sa obslun procedra
pre dan zariadenie.
CPU m iadateov rozdelench na dve skupiny: na tch, ktor mu poka (masko-
vaten
) a tch, ktor musia by vybaven okamite (nemaskovaten preruenia). Masko-
vaten preruenia s tak, ktor program me bu povoli alebo zakza, zamasko-
va (preruenia sa bud ignorova)- bu pecilnymi intrukciami, alebo nastaven m
uritch bitov v uritom riadiacom registri procesora. Nemaskovaten preruenia za-
kza nemono, musia sa vykona okamite - aj poas vykonvania inho preruenia
1
.
S priraden zariadeniam vyadujcim rchle a nepreruen vybavenie svojich poia-
daviek - napr klad disketov jednotka, kde by preruenie procesora behom zpisu dt
mohlo psobi detrukne.
V pr pade viacerch iadost o preruenie sa vyberie to s najv&ou prioritou (op&,
vi as III). A ako je to s preruen m poas inho preruenia (t.j. poas vykonvania
procedry pre obsluhu inho preruenia)? Uviedli sme (as III), e je to mon iba ak m
1
presnejie povedan, poas vykonvania obslunho programu pre dan preruenie
4.3.
DIRECT
MEMOR
Y
A
CCESS
(DMA)
211
nov preruenie vyiu prioritu ako pvodn. Prirodzene, je mon zamaskova masko-
vaten preruenia. Poas vykonvania nemaskovatenho preruenia sa maskovaten
preruenia aj zaku.
4.3 Direct memory access (DMA)
DMA (ie priamy prstup do pamte) je aia metda, spo vajca v prenose bloku dt
bez asti procesora. Programmed i Interrupt I/O s nevhodn na prenos v& ch blokov
dt, ktor vyaduj niektor perifrie (disk, disketa, CD).
Pre ne sa pou va in I/O schma - dta sa prenaj priamo medzi pam&ou a
perifriou, bez sprostredkovania procesora (ktor sa zatia me venova inej innosti).
Uveden schma sa nazva DMA (Direct Memory Access).
I/O alebo pam& prenaj vek blok dajov poas jednej svislej opercie (DMA
block transfer). CPU spust operciu tak, e inicializuje DMA-kanl - potom je u
prenos riaden DMA-radiom. Vaka vykonvaniu 'mimo procesora' sa dosiahne rdov
zvenie rchlosti prenosu.
Me sa sta, e poas prenosu chce CPU robi s pam&ou. Kee je vak k dispoz cii
len jedna sada registrov MAR - MBR (resp. s pam&ou nemu v tom istom ase pracova
dve zariadenia, vdy len jedno), musia sa nejako dohodn. Obyajne m prioritu DMAC
(DMA controller), pretoe je dleit, aby prenos dt bol nepreruovan.
DMA controller
Riadi prenos dajov v 'mde' DMA. Me obsluhova jedno alebo viac I/O zariaden .
DMAC pozostva z niekokch registrov a riadiacich obvodov (obr. 4.1).
Obrzok 4.1: Schma DMA-radia
WC (Word counter): poet prenanch slov. Automaticky sa po prenesen slova
dekrementne o 1.
212
KAPITOLA
4.
RIADENIE
PRENOSU
D
T
DAR (DMA adress register): adresa alieho slova, ktor sa m prenies (adresa
pam&. miesta, kam sa m zapisova, resp. odkia sa m ta). Automaticky sa
po prenesen slova inkrementne o 1.
ODR (Output data register): obsahuje slovo, ktor sa m posla I/O zariadeniu.
IDR (Input data regiter): obsahuje slovo, ktor prilo z I/O zariadenia.
DCSR (control/status register) popisuje stav DMAC a stav zariaden pripojench
k DMAC. Obsahuje:
{ device enable 7ag
{ done/redy 7ag (WC=0)
{ interrupt enable 7ag
{ error bits
{ device status bits
Na inicializciu DMA procesu sa pou va INTR a INTA:
- CPU 'pre ta' INTR a pokia je mon DMA-prenos, inicializuje ho (nastav registre
WC, DAR a DCSR) a pole signl INTA (INT acknowledge). DMAC vyle DMA-R
(DMA request) signl. CPU odpovie DMAA (DMA acknowledge) a uvon riadenie
zbernice. DMAC poda poadovanej innosti aktivuje MR (Memory read) alebo MW
(Memory write). Postupne prebieha prenos jednotlivch slov, priom sa zniuje WC. Ak
je rovn nule, prenos sa skon .
Kapitola
5
Rozhranie (Interface)
Perifrne zariadenia nememe pripoji priamo k jeho zbernici po taa, pretoe para-
metre CPU a perifrie mu by dos odlin. Na prekonanie rozdielov sli pecilny
obvod, nazvan rozhranie alebo interface.
Interface umouje:
1. oddelenie V/V zariaden od zbernice a selekt vny vber medzi nimi
2. prispsobenie z hadiska spsobu prenosu, napr klad:
sriov alebo paraleln prenos
synchrnny alebo asynchrnny, a alie ...
3. prispsobenie z elektronickho hadiska, napr klad:
signlovch rovn (typicky 0/5V, 0/3.3V, alebo 24V a 20/40mA)
polarity signlov (invertovan alebo neinvertovan)
potu riadiacich a dtovch vodiov perifrie a potu riadiacich, adresnch a
dtovch vodiov systmovej zbernice
prenosov rchlos, a alie ...
Interface vykonva nasledovn innosti (m nasledovn funkcie):
spr stupuje procesoru stav perifrie
m schopnos preruova alebo vykona DMA (pr padne obe)
signalizuje CPU ukonenie opercie, i opercia prebehla spene alebo vznikla
chyba
prena povely CPU perifrnemu zariadeniu
pou va bu5er na doasn ukladanie dt (pri tan alebo zpise)
kduje a dekduje daje
testuje paritu, resp. me ma aj in metdy na odhalenie chyby poas prenosu,
pr padne aj opravy pokodenej informcie (samoopravn kdy)
konvertuje medzi sriovm a paralelnm tvarom, pr padne umouje vysielanie v
synchrnnom alebo asynchrnnom mde
213
214
KAPITOLA
5.
R
OZHRANIE
(INTERF
A
CE)
as
VI
I
Perifrne zariadenia
215
217
V predchdzajcich astiach sme hovorili o princ poch innosti po taa. Pod po -
taom, presne povedan, rozumieme 'jadro po taovej zostavy', t.j. procesor, vntorn
pam&te, zbernice a vstupno - vstupn obvody. Program vykonvan v po tai vak
potrebuje vstupn dta a vytvra vstupn. Informcia je v po tai reprezentovan
elektricky, pomocou rznych rovn nap&tia. Preto sasou po taovej zostavy musia
by aj zariadenia, ktor:
1. Z skavaj informcie bu od u vatea alebo z prostredia a prevdzaj ich na
adekvtny elektrick signl (napr. klvesnica) a/alebo
2. Maj za lohu znzorni, zviditeni vsledky vpotu alebo programu. Tieto zaria-
denia prevdzaj teda vstupn informciu z po taa, taktie v elektrickom tvare,
na in tvar (napr. monitory do obrazovej podoby). Pr padne na zklade vstupnej
informcie realizuj nejak innos (napr. riadenie sstruhov po taom).
Vonkajie pam&te a zariadenia sliace na vstup a na vstup dajov nazvame pe-
rifrne zariadenia
. Vonkaj mi pam&ovmi zariadeniami sme sa zaoberali v V .asti, v
tejto asti sa budeme venova ostatnm perifrim.
Existuje vek mnostvo vstupnch a vstupnch zariaden , pretoe pre mnoh ap-
likcie potrebujeme peci ck perifrne zariadenia. V tejto kapitole porozprvame o
najpou vanej ch. Op eme displeje, tlaiarne, klvesnice a rzne gra ck sn mae a
ovldae, priom uvedieme nielen ich vyuitie, ale aj fyziklne princ py na ktorch s tie-
to zariadenia zaloen. Ich poznanie je dleit aj z hadiska benho u vatea, pretoe
priamoiaro podmieuje monosti a ohranienia pouitia toho-ktorho zariadenia.
218
Kapitola
1
Rozdelenie perifrnych zariaden
Vstupn zariadenia meme rozdeli poda charakteru sn manej informcie (ktorou
me by napr. text, obraz, zvuk, video, fyziklne veliiny sn man z prostredia).
alej, ako sme u spomenuli, niektor reaguj na podnety u vatea a in zasa sn maj
prostredie. Z tohto hadiska s najroz renejie:
tlaidlov ovl dae
{ klvesnica
grack ovl dae
{ my
{ joystick
{ sveteln pero
{ dotykov obrazovka
grack snmae
{ tablet
{ scanner
{ videokamera
{ sn mae iarkovho kdu
snmae fyzik lnych velin z prostredia
{ mechanickch veli n (napr. rchlosti, tlaku)
{ elektrickch veli n (napr. U,I,R)
{ chemickch veli n (napr. hustoty)
{ sn manie zvuku (zvukov vstup)
Vstupn zariadenia, ako sme u spomenuli, prevdzaj informciu z elektrickho
tvaru do inho (taktie text, obraz, zvuk, video, at.). Vstupn informcia pr padne
predstavuje riadiace signly sliace na ovldanie nejakch procesov. Op& ich meme
rozleni do niekokch skup n:
219
220
KAPITOLA
1.
R
OZDELENIE
PERIFRNYCH
ZARIADEN
zariadenia pre doasn zobrazenie inform cie
{ displej, monitor
{ projekn LCD panely a videosystmy
zariadenia pre trval zobrazenie inform cie
{ tlaiarne
typov
mozaikov
tepeln
tryskov a subliman
laserov
termotransferov
plazmov
{ sradnicov zapisovae
s valcovm posunom
s pohyblivm mostom (kresliace stoly)
potaom riaden prstroje
{ NC frzy, laserov obrbacie stroje
{ roboty
{ vyrezvac ploter
zvukov vstup
{ hudobn syntetiztory
{ reov syntetiztory
Vstupno - vstupn zariadenia mu sli jednak na vstup a jednak na vstup
dajov.
Okrem vonkaj ch pam&t je ich predstaviteom napr klad aj modem, ktor umouje
komunikciu po taov cez sieov a telekomunikan spoje.
Kapitola
2
Displeje
V nasledujcej asti sa budeme zaobera displejmi, vstupnmi zariadeniami ktor sa
vyu vaj na doasn zobrazenie informcie.
Najskr pop eme o je a ako sa vytvra obrazov informcia v po tai. Vstupn
zariadenia kategorizujeme poda toho, akm spsobom vstup (i u obraz alebo text)
popisuj a uvedieme vhody a nevhody jednotlivch spsobov.
V druhej asti sa budeme podrobne venova problematike vytvrania farieb a fareb-
nho vstupu.
V tretej asti pop eme najpou vanejie (takpovediac 'tandardn') vstupn zaria-
denie po taov- monitor. Op eme princ py innosti monochromatickho i farebnho
monitora, ich truktru a funkcie zkladnch ast , gra ck kartu a rzne videoreimy.
Budeme tie hovori o pr inch najastej ch porch. Na zver sa zmienime o riadiacej
asti monitora { gra ckej karte.
2.1 Reimy zobrazovania
;udsk oko je vynikajci optick systm, m vak urit obmedzenia. Jednou z jeho
nedokonalost je, e nedoke na vzdialenos jednho metra rozl i body vzdialen od
seba menej ako tri desatiny milimetra. Body vzdialen menej ako 0.3 mm (pri uvedenej
vzdialenosti) lovek vn ma ako jeden bod.
Tto nedokonalos meme vhodne vyui pri vytvoren ilzie 'vernho' obrazu sku-
tonosti pomocou po taovho displeja. Na nasledovnom obrzku je znzornen geomet-
rick tvar (kruh) poskladan zo tvorekov. Je znzornen vo viacerch vekostiach, so
stle sa zmenujcimi vekosami tvorekov. Posledn obrzok (najmenej vekosti) sa
sklad z tak malch tvorekov, e u nie sme schopn rozpozna jeho 'hranatos' a obr-
zok -krok- sa nm jav dokonale okrhly.
Podobne ako v pr pade kruhu, kad obrzok vieme znzorni pomocou matice sklada-
jcej sa z X*Y bodov. Bodom nazvame elementrny tvar (v naom pr klade to bol
tvorec), ktorho tvar zvis od fyziklneho princ pu danho zariadenia. Na tvare bodu
vak nezle , pokia je dostatone mal. Tie, m je bodov matice viac (hovor me o
vyom rozlen), teda m s sla X,Y v&ie, tm je n obraz 'vernej '.
Obraz na displeji meme vytvori viacermi spsobmi { zle od toho, o ak typ
obrazu sa jedn (text, jednoduch obraz, fotogra a) a hlavne, ak elementrne obrazy
doke displej zobrazi (body, p smen, gra ck znaky). Poda toho, akm spsobom
221
222
KAPITOLA
2.
DISPLEJE
Obrzok 2.1: Obraz kruhu v rznych vekostiach
vytvraj obraz meme displeje rozdeli na: numerick, alfanumerick, semigrack a
grack
.
Numerick
(alebo slicov) displej sli na zobrazenie slic. Pou va sa napr klad v
kalkulakch a merac ch pr strojoch. Doke zobrazi slice 0-9, desatinn bodku,
znamienka m nus a niektor p smen (ktor?).
al , kontrukne jednoduch spsob, ako meme znzorni sla, je znzornenie
binrnych siel v normlnom alebo BCD formte pomocou radu svetielok. Tento
spsob sa pou val pri po taoch druhej genercie a vyu va sa pri jednoduchch
(napr. niektorch merac ch) zariadeniach.
Pri numerickom displeji je zobrazovanou informciou slo. Informciou, ktor
displej ptrebuje s kdy jednotlivch slic sla (resp. znamienko).
Alfanumerick
(alebo abecedno-slicov) displej doke zobrazi p smen, slice a
niektor symboly pou van v textoch (napr. ! ? , . : ' + - * / = % ( ) ( ] < > ).
Alfanumerick displej m obrazovku rozdelen na pevne de novan, neprekrva-
jce sa riadky a st0pce. Displej teda predstavuje pravouhl maticu (tabuku), do
ktorej je mon zapisova znaky. Displeju zadvame kdy znakov na jednotlivch
poz cich tabuky. Nevieme posun znaky o bod dole i hore, meme uda jeho
sradnice len v tvare slo riadka- slo st0pca. Bene pou van rozl enie je 25
riadkov a 80 znakov na riadok.
Alfanumerick displej zobrazuje text. Prena sa informcia- kdy znakov na jed-
notlivch poz cich. Bu popisujeme cel obrazovku, alebo len urit miesto na
nej - v tom pr pade sa prenaj udaje: riadok, st$pec a kd znaku.
Displej (zobrazovacie zariadenie) m vlastn pam& ROM, kde m uloen matice
uchovvajce obraz jednotlivch znakov. Rozmer matice je rovnak ako rozmer
znaku v bodoch (t.j. ako rka a vka znaku). Ben rozmery s 5
7, 8
8 alebo
9
14 bodov. Matica obsahuje hodnoty nula a jedna na mieste, kde m by v obraze
znaku bod je jedna a kde nem by bod je nula. Po ta vysiela kdy znakov, ktor
sa maj zobrazi. Displej poda kdov vyberie pr slun matice a vykresuje body
poda nich.
V rastroch 5
7 alebo 8
8 sme schopn zobrazi znaky abecedy, slice a symboly,
ale nememe zobrazi znaky s diakritikou. Na to je vhodn raster 9
14 bodov.
2.1.
REIMY
ZOBRAZO
V
ANIA
223
Obrzok 2.2: Pr klady mat c niektorch znakov
Pozrime sa napr klad na priebeh vykresovania textu 'AHOJ': po ta vyle kd
prislchajci tomuto textu displeju (napr. v ASCII je to 65,72,79,74). Displej
na zklade kdov ur pr slun matice znakov. Pomocou nich ur obsahy (i
na danom mieste v riadku m by bod farby pozadia, alebo bod farby pera) pre
jednotliv riadky bodov obrazovky a vykresl ich na obrazovku.
Alfanumerick displej m obmedzen znakov sadu (najastejie 128 alebo 256
znakov). To ns vrazne obmedzuje, ke chceme p sa viacermi druhmi p siem,
pou va slovensk znaky alebo kresli jednoduch obrzky. Jednou z monost je,
aby nm alfanumerick displej umooval de nova si vlastn znaky. Inm rieen m
je semigra ck displej.
Semigrack displej
sa od alfanumerickho l i len tm, e m pridan niektor
netandardn znaky, z ktorch mono sklada vodorovn a zvisl iary, rmiky,
tiene, okienka, tiene okienok.
Obrzok 2.3: Semigra ka
Grack displej rastrov
umouje na rozdiel od alfanumerickho a semigra ckho
ovldanie kadho z bodov celej obrazovky. Principilne povedan, displeju meme
uda polohu bodu a akou farbou m by zafarben.
Gra ck displej umouje zobrazova text i gra ku, obrazovou informciou je v
224
KAPITOLA
2.
DISPLEJE
tomto pr pade farba ka dho bodu obrazovky.
Samozrejme, alfanumerick displej je uritm 'variantom' gra ckho. Gra ckm
displejom tie mono zobrazova znaky, zobrazovan m bodov na pr slunch, vhod-
nch miestach. Z hadiska fyziklneho princ pu s alfanumerick, semigra ck i
gra ck displej rovnak. L ia sa len v 'logickom pohade', v spsobe ich pro-
gramovania. Z toho vyplva, e displej me ma viacero monost (reimov)
prce: zobrazovanie iba textu, pr padne semigra ky{ textov reim ( m sa sprva
ako semigra ck displej), alebo zobrazovanie gra ky{ gra ck reim. Me tie
povoova viacero variantov tchto mdov, napr. pre textov reim sa jednotliv
mdy mu ma rozdielny poet znakov v riadku{v st0pci, rozlin vekos rastra
pre jednotliv znaky, rozlin poet farieb, rzne sady znakov. Displej tie me
umoova u vateovi de nova vlastn znaky. Pre gra ck reimy s obdobn
parametre: poet riadkov a st0pcov (rozl enie), poet zobrazitench farieb.
Preo vak nevytvori displej iba s jednm, gra ckm reimom? K omu je dobr
ma toko rznych reimov, a k omu je vbec dobr textov reim? Odpove
je zrejm, ak si uvedieme jeden daj z fyziklnych princ pov vetkch doasnch
zobrazovac ch zariaden : obraz treba niekokokrt za sekundu obnovi (teda op&
vysvieti tie body, ktor maj by vysvieten). Preto niekde mus me ma uloen
informciu, ako obraz vytvori. Gra ck md 640
480 monochramatickch bodov
potrebuje 640
480 bitov pam&te. Naproti tomu textov md 25
80 znakov potre-
buje 25
80 bajtov pam&te (ak nezobrazujeme viac ako 256 rozlinch znakov).
Kvli spore pam&te vol me poda druhu innosti programu o najvhodnej reim
prce displeja. Podobne, pre gra ck reimy: ak mme videopam& s vekosou
1 MB, meme ma reimy 640
480 bodov v 16,7 mil. farieb, 1024
768 bodov
v 256 farbch, alebo 1280
1024 v 16 farbch (pozri pr klady PC reimov v pred-
poslednej kapitole). Prv reim je vhodn na zobrazenie fotogra , posledn pri
CAD-aplikcich (kde potrebujeme vek rozl enie a sta nm mal mnostvo
farieb).
Obrzok 2.4: Rzne druhy gra ckch reimov
2.2.
F
AREBN
ZOBRAZO
V
ANIE
225
Obrzok 2.5: Doporuen rozl enia pre rozline vek uhloprieky monitorov
2.2 Farebn zobrazovanie
V predchdzajcej asti sme pop sali, ako mono vytvori jednofarebn (monochrmny)
obraz pomocou mozaiky bodov. Teraz povieme nieo o vytvran farebnho (polychrm-
neho) obrazu.
Najskr uvedieme niekoko zkladnch poznatkov o svetle. Viditen svetlo je asou
elektromagnetickho vlnenia, v rozsahu od 380nm-780nm. V pr rode existuje viacero
zdrojov svetla, ktor bu vyaruj iarenie jednej vlnovej d0ky, alebo vyaruj cel
spektrum vlnovch d0ok (slnko). ;udsk oko na toto iarenie reaguje a mozog mu
prisudzuje vnem uritej farby. V seku viditenej asti svetla (asto oznaovanho len
ako spektrum) sa nachdzaj farby: erven, oranov, lt, zelen, modr a purpurov
(nazvanch aj ako z kladn farby spektra). Hodnota 380 nm prislcha alovej, 780 nm
ervenej. Farby sa menia plynule. Pod 380 nm je u ultra alov iarenie a nad 780
nm infraerven (vi nasledujci obrzok). Viditen svetlo je len zkou asou celho
spektra elektromagnetickho vlnenia.
Obrzok 2.6: Farby spektra
Denn biele svetlo, ktor vn mame, je shrnom celho spektra farieb viditenho svetla
s pribline rovnakou intenzitou. Sklad sa teda zo iarenia vetkch farieb. Dokzal to
Newton, ktor pomocou sklenenho hranola rozloil biele svetlo na farby, z ktorch sa
sklad{ farby spektra (vi animcie).
226
KAPITOLA
2.
DISPLEJE
Samozrejme, nie je mon dosiahnu aby zdroj vyaroval vetky farby spektra a aby
mali vetky rovnak intenzitu. To ani nie je potrebn, na vnem bieleho svetla sta
vn manie zkladnch farieb spektra pribline rovnakch intenz t. Na ilustrciu op&
uvedieme jeden pokus{ 'opan' k predchdzajcemu. Majme kruh, ktor je rovnomerne
vyfarben zkladnmi farbami spektra . Ak kruh zaneme ota vekou rchlosou,
pozorovateovi sa bude zda, e kruh je biely (vi animcie).
V spektre sa nenachdzaj vetky farby. Napr klad, nie je tu alov farba. Fialov
farba vznik, ak naraz vn mame erven a modr svetlo.
Pozn mka VII.1:
V alom texte budeme stotoova pojmy farba a svetlo danej
farby
, tie budeme slovom spektrum farieb oznaova spektrum farieb viditenho svetla.
Ak vn mame svetl viacerch rozlinch vlnovch d0ok (rozlinch farieb spektra)
naraz, vn mame ich ako jednu, nov farbu. Ako sme u uviedli, vn man m vetkch farieb
spektra naraz (ich op&tovnm zloen m) dostaneme op& biele svetlo. Ale na znovu-
vytvorenie bieleho svetla nepotrebujeme pln spektrum, staia nm tri farby: erven,
zelen a modr.
Tieto tri farby nazvame tie z kladn farby. Kombinciami tchto farieb pri ich
rozlinch intenzitch vieme 'vytvori' vetky ostatn farby.
Obrzok 2.7: Mieanie farieb z ervenej, zelenej a modrej
Ako vid me na obrzku, kombinciou ervenej, zelenej a modrej farby meme dosta
8 farieb: erven (), zelen (Z), modr (M), alov (+M), tyrkysov (B+G), lt
(+Z), bielu (+Z+M) a tie iernu (nepr tomnos iadnej zo zkladnch farieb).
alie farby dostvame, ak kombinujeme rozlin intenzity zkladnch farieb (pr kla-
dy niektorch s na obrzku).
Op me teraz al pokus (vi animcie). Na bielom kartne, ktor osvetujeme
bielym svetlom, mme zobrazen biely, modr, erven a zelen tvorec. Dajme pred
n sveteln zdroj erven lter. Osvetujeme obraz ervenm svetlom. Biely tvorec sa
zmenil na erven, erven zostal erven, ale zelen a modr tvorec zerneli. Preo?
Predmet je modr, ak odraz modr svetlo a svetl ostatnej farby pohlt . Ak osvet-
l me obraz ervenm svetlom, modr tvorec ho cel pohlt a iadne svetlo neodra.
Predmety, ktor pohlcuj svetlo vetkch vlnovch d0ok svetelnho zdroja maj iernu
farbu
. Naopak, ke predmet odra svetlo vetkch vlnovch d0ok tak m tak farbu
ako sveteln zdroj (teda pri osvetlen bielym svetlom m bielu farbu).
Op sali sme si dve metdy vytvrania (mieania) farieb, ktor sa nazvaj aditvne a
substraktvne
.
2.2.
F
AREBN
ZOBRAZO
V
ANIE
227
Aditvna
(s tacia) metda sa pou va pri zdrojoch svetla. Stom (sasnm vyaro-
van m) svetiel viacerch farieb dostaneme svetlo novej farby.
Substraktvna
(alebo odtacia) metda sa pou va pri telesch, ktor nie s zdrojom
svetla. Predmet sm s ce nie je zdrojom svetla, ale ak na svieti zdroj svetla, predmet
urit as vlnenia odra a drdi oko rovnako, ako keby sm bol zdrojom svetla. Pred-
met m urit farbu spektra, ak odra svetlo tejto farby a svetlo inch farieb pohlcuje
(presnejie, predmet pohlcuje vetko sveteln iarenie okrem jednho alebo viacerch
intervalov spektra, ktor odra).
Aditvne mieanie
farieb sa pou va pri vytvran farebnho vstupu na monitore.
Substraktvne mieanie
farieb budeme vyu va pri tvorbe farebnch dokumentov
tlaiarami.
Uvedieme ete niekoko poznatkov o udskom oku. Oko obsahuje niekoko ast . On
oovka m meniten vypuklos (onmi svalmi), m sa nastavuje zaostrenie. Obraz sa
prena oovkou na sietnicu. Sietnica je svetlocitliv vrstva. Na svetlo reaguje elektric-
kmi impulzmi, ktor vysiela do mozgu. Obsahuje dva druhy buniek citlivch na svetlo{
tyinky a ap ky. Tyinky reaguj na intenzitu svetla (jas), ap ky slia na vn manie
farieb.
ap ky rozoznvaj farbu len ak m urit intenzitu, preto pri slabom osvetlen (napr.
za era) pracuj len tyinky. Existuj tri druhy ap kov. Jedny s citliv na erven,
druh na zelen a tretie na modr svetlo.
Tyinky s ce nevn maj farbu, no nie s rovnako citliv na svetl rznych vlnovch
d0ok. Najv&iu citlivos maj pre zelen a lt svetlo, asi polovin pre erven a
vemi mal pre modr. Celkov intenzita prij manho svetla je udan pomerom: 59%
intenzity zelenho, 30% ervenho a 11% modrho svetla. Preto sa modr plocha jav
ako najtmavia, erven je jasnejia a zelen a lt ako najjasnejie.
Oko vn ma farebn detaily s menou presnosou ako iernobiele. Farebn obraz teda
me ma menie rozl enie ako iernobiely.
Farby meme charakterizova troma veliinami: tnom, jasom a stosou.
Tn farby
(odtie) je uren vlnovou d0kou (farbou) prevldajcou v spektrlnom
diagrame. Jas farby (intenzita) je uren mnostvom svetelnej energie. Farby mu
ma rovnak tn, ale zmenou intenzity dostvame nov farby. Stos farby udva stu-
pe zriedenia tejto farby s bielym svetlom. Pridvan m bielej farby stos zniujeme,
odoberan m zvyujeme. Sta farba, t.j. farba so stosou 100% nem primiean bielu
farbu. ierna farba m nulov stos. Stos nezvis od intenzity, zven m intenzity
farby nezvime aj jej stos. Ruov svetlo (ruov farba) vznik zmiean m ervenho a
bieleho svetla (ervenej a bielej farby). Ak vak mme len svetlo ervenej farby, zven m
alebo zn en m jeho intenzity nevytvor me ruov svetlo.
Uveden veliiny meme uri zo spektrlneho diagramu. Vrchol krivky udva tn
farby, vka krivky uruje jas a kontantn rove (uruje mnostvo bieleho svetla v
pomere k vrcholu krivky) stos farby.
Pozn mka VII.2:
Tn a jas mono zli do jednho parametra, tzv. farebnosti.
Poznatky, ktor sme v tejto kapitole uviedli sa vyu vaj pri vytvran farebnho
vstupu, i u doasnho alebo trvalho.
228
KAPITOLA
2.
DISPLEJE
2.3 Princp prce monitora
Monitor, druh displeja, je najznmejie a najpou vanejie vstupn zariadenie po taa.
Jeho zkladom je obrazovka.
Obrazovka je zariadenie meniace elektrick energiu na sveteln. Napriek zdanlivej
zloitosti je jej princ p jednoduch a rovnak ako u telev znych prij maov.
Obrazovka je z vntornej strany pokryt luminoscennou vrstvou (tzv. luminoforom).
Ak na luminofor dopadn elektrny, na okamih sa miesto dopadu (resp. jeho urit okolie)
roziari a ist as vyaruje sveteln iarenie.
Aj ke je as vyarovania vemi mal, posta nm niekoko krt (napr. 50 krt)
za sekundu roziari urit bod, aby sme vytvorili ilziu, e svieti stle. Op& vyui-
jeme jednu z nedokonalost udskho oka, vyu van aj v kinematogra i: oko m urit
'zotrvanos', presnejie, pohyb alebo in javy odohrvajce sa pod 1/25 sekundy nevn -
ma. Sta , aby kamera nasn mala za sekundu aspo 25 obrzkov nejakho pohybu. Pri
ich op&tovnom vykresovan rovnakou rchlosou, akou boli span, sa vytvor ilzia
plynulho pohybu.
Obrazovku si meme predstavi ako maticu rozmerov X
Y bodov. Jednofarebn
(monochromatick) monitor m cel vntorn stranu pokryt rovnakm luminoforom
svietiacou uritou farbou.
Monitor alej obsahuje elektrnov delo, ktor m schopnos vytvori elektrnov l.
Tie obsahuje dvojicu vychyovac ch (elektromagnetickch) cievok, ktor vedia generova
magnetick pole a teda nimi meme vychyova l v x-ovej a y-ovej osi. Podrobnejie
sa technikmi detailami nebudeme zaobera, itate si me njs alie fakty (napr. o
tom, na akom princ pe funguje elektrnov delo) njs jednak v stredokolskej fyzike,
alebo v odbornejej literatre.
Obrzok 2.8: Zkladn asti monitora
2.3.
PRINCP
PR
CE
MONITORA
229
Riadenie innosti monitora zabezpeuje gra ck karta. Obsahuje pam (tie naz-
van videopam), ktor obsahuje popis obrazu. Bez jmy na veobecnosti predpokladaj-
me, e je v nej uloen obraz ako matica bodov. Vykreslenie obrazu sa deje nasledovne:
elektrnov l je na zaiatku nasmerovan do avho hornho rohu. L sa zane po-
hybova po hornom riadku bodov smerom vpravo. Prechdza cez jednotliv body a z
pam&te dostva informciu, i dan bod svieti. Ak no, elektrnov delo vyle impulz
a roziari bod. Ke prejde na koniec riadka, vrti sa na zaiatok nasledujceho riadku
(l je samozrejme vypnut). Z pravho dolnho rohu sa vracia do avho hornho rohu.
Tento proces niekoko krt za sekundu (zv&a aspo 50 krt) opakujeme.
Prirodzene, ke hovor me o presvan la, nemme na mysli fyzick presvanie
elektrnovho dela (o by trvalo pr li dlho), ale zmenu elektromagnetickho poa gen-
erovanho vychyovac mi cievkami (tm ur me, do ktorho bodu sa vyle impulz elek-
trnovho dela).
Op sali sme zkladn princ py monitora. alej, poda podrobnej ch delen monitorov,
napr klad poda toho, i sa jedn o farebn i monochromatick zobrazenie, alebo poda
pohybu elektrnovho la (vi alej), sa jednotliv skupiny technicky odliuj. Pop eme
ich. Najskr rozdel me monitory na rastrov a vektorov, potom na monochromatick,
gradovan
a farebn.
Monitory mu by rastrov, alebo vektorov.
Rastrov monitory
pracuj u spomenutm spsobom: vykresuj obraz posvan m
la cez vetky body obrazovky, bez ohadu na to, i na danom mieste je alebo nie je
bod.
Odline pracuj vektorov monitory. V pam&ti s uloen sradnice seiek (vek-
torov). Elektrnov l nevykresuje obraz ako raster bodov, ale vykresuje jednotliv
vektory. Najskr sa presunie na zaiaton bod vektora. Potom sa pohybuje a do
koncovho bodu, priom l je zapnut. Monitor obsahuje obvody rtajce smer vy-
chyovania la smerom ku koncovmu bodu. Tento spsob je vhodn pre urit poet
vektorov (rdovo do 10 000) a vyu va sa napr klad pri CAD aplikciach.
Uviedli sme princ p fungovania monochromatickho monitora. alie spsoby zobra-
zovania (kategorizujeme poda mnoiny zobrazitench farieb) s: gradovan monochro-
matick, polychromatick
a polychromatick gradovan.
Pri gradovanom monochromatickom monitore nerozliujeme len i bod svieti alebo
nie, ale tie udvame jeho jas, intenzitu. Technick rieenie je jednoduch, pretoe m
v& prd elektrnov nechme dopada na luminofor, tm intenz vnejie bude iari.
Zamerajme nau pozornos na farebn monitory. V predchdzajcom odseku sme
hovorili o farbch, ich skladan a o vytvran farebnho obrazu. Tieto poznatky sa
uplatuj pri realizcii farebnho monitora.
Farebn monitor m na vntornej strane mozaiku farebnch luminoforov (,Z,M).
Kad bod obrazovky sa sklad z troch luminoforovch bodov (farebch zloiek), er-
venej, zelenej a modrej farby. Monitor obsahuje tri elektrnov del, z ktorch kad
osvetuje len luminofory jednej farby.
Poda spsobu rozmiestnenia farebnch zloiek a elektrnovch diel mono obrazovky
rozdeli na obrazovky typu:
delta
230
KAPITOLA
2.
DISPLEJE
in-line
trinitron
Obrzok 2.9: Usporiadanie farebnch zloiek a elektr.diel u jednotlivch typov obra-
zoviek
Delta obrazovky maj zloky rozmiestnen do vrcholov rovnostrannho trojuholn ka,
in-line a trinitron obrazovky ich maj rozmiestnen v riadku. Rovnako s rozloen
elektrnov del, aktivizujce jednotliv farebn zloky obrazovky (vi uveden obrzok).
Farebn obrazovka vykresuje obraz rovnako ako iernobiela: Tri del naraz vystrelia
elektrnov le, ktorch intenzity ur gra ck karta na zklade toho, ak jas maj
ma jednotliv farebn zloky. Le sa vychyuj magnetickm poom v horizontlnom i
vertiklnom smere. Postauje jeden vychyovac systm pre vetky tri le.
Napriek zdaniu, kontrukcia farebnej obrazovky nie je jednoduch a nara na niekoko
problmov. Na tienidle obrazovky sa priemerne nachdza aspo 1 800 000 luminoforov,
o predstavuje 600 000 farebnch bodov. Elektrnov l m rku viacerch lumino-
forovch bodov. Kvli vytvoreniu sprvneho obrazu{ sprvnych farieb pre jednotliv
body je nutn zabezpei aby elektrnov l dopadal len na luminofory svojej farby. Na
to sli maska.
U delta obrazoviek je maskou tenk kovov flia s vyleptanmi otvormi. Materil z
ktorho je vyroben (zliatina eleza a niklu) m vemi mal tepeln rozanos.
Maska je umiestnen pred vrstvou luminoforov. Pre kad bod obrazovky (t.j tri
luminofory) sa v maske nachdza jeden otvor. Jednm otvorom teda prechdzaj tri
le, ktor sa na tomto mieste kriuj. Pre kad l vieme uri miesto jeho dopadu
nastaven m uhla, ktorm prechdza cez otvor v maske. Take elektrnov del nastav me
tak, aby l z jednho dela dopadal len na zelen luminofory, z druhho len na erven
a z tretieho na modr. Pre dan bod potom budeme pre del vyrba analogov signly
zodpovedajce intenzitm jednotlivch farebnch zloiek.
istota farieb
Otvor masky je o osi men ako luminofor, ostva nm 'rezerva' pre nasmerovanie la,
ktor nesmie zasahova luminofory inch farieb. Pokia vak l zasahuje nesprvny
luminofor, prejav sa to nesprvnou reprodukciou farieb obrazu. Najzretenejie sa chyba
prejav pri zobrazovan bielej farby, ktor sa zobraz so stopami ervenej, zelenej alebo
modrej farby (vi animcie).
Delta obrazovky nastavuj istotu farieb pomocou dvojice magnetickch krkov,
ktormi sa jemne dolauj uhly dopadov lov cez otvory masky
2.3.
PRINCP
PR
CE
MONITORA
231
Obrzok 2.10: Prechod lov dierovou maskou
geometria obrazu
Nevhodou delta obrazovky je deformcia obrazu na okrajoch. L dopadajci do stredu
obrazovky m kruhov tvar, ale l dopadajci na okraj m u tvar elipsy Podobne, rovn
iary sa nezobrazia ako rovn, cel obraz m 'podukov' skreslenie (vi animcie).
Chyba sa odstrauje viacermi pomocnmi obvodmi obrazovky, zrove je obrazovka
tvoren povrchom gule. Sasnm trendom je vak ploch obrazovka.
konvergencia
alia mon chyba v reprodukcii obrazu vznik, ak le s ce dopadaj na sprvne lumi-
nofory ('svojej farby'), ale nesprvnych bodov statick konvergenciu (zbiehavos lov v
strede obrazovky) a dynamick konvergenciu (zbiehavos na okraji). Pr inou nesprvnej
konvergencie je magnetick pole vychyovacieho systmu obrazovky. Pri vychyovan
lov s ich drhy rzne (napr. na obr. je drha modrho la dlhia) a preto ani uhly
odchlenia od pvodnho smeru nie s rovnak. Nsledkom toho sa le nekriuj v
otvore masky, ale pred ou, prechdzaj cez rzne otvory a rozsvecuj nesusedn lumi-
nofory (obr.24 ). (vi animcie).Tento jav sa najviac prejavuje na okrajoch obrazu, v
strede sa neprejavuje vbec. Zvada sa odstrauje zloitou sstavou tzv. konvergennch
obvodov.
trinitron
Obrazovka trinitron m luminofory umiestnen v jednej rovine, v tvare zvislch prkov,
priom zelen luminofor je v strede, zava je erven a zprava je modr.
Maska je vytvoren z kovovch, vemi tenkch vertiklnych vlkien (spevnench
prienymi drtikmi). Maskou prejde viac elektrnov (m vyiu priepustnos), preto
je aj obraz jasnej . Zrove m vy kontrast.
Obrazovka m tvar povrchu valca.
Zabrni deformcii bodov je jednoduch - sta zn i vzdialenosti vlkien. Vsled-
n bod nem kruhovit tvar, o prispieva k vyej ostrosti obrazu. Navye, vertiklne
rozl enie zvis len od presnosti zamerania lov.
232
KAPITOLA
2.
DISPLEJE
istota farieb sa nastavuje ahko, pretoe del s v jednom riadku, sta nastavo-
va jeden uhol. Zrove s odchlky lov v zvislom smere minimlne (oproti delta
obrazovke) a teda aj konvergenn obvody s jednoduchie.
Nevhodou trinitronu je, e oproti 'klasickej' diernej maske je jeho maska vemi m&kk
a ahko podlieha deformci . Magnetick pole ju doke trvalo pokodi.
Obrzok 2.11: Prechod lov maskou obrazovky trinitron
in-line
In-line obrazovky
sa podobaj obrazovkm trinitron. Maj luminofory i elektrnov del
umiestnen v rovine. Maska je tie oceov flia s vyleptanmi otvormi (psikmi). In-
line obrazovky nemaj problmy klasickch delta obrazoviek s konvergenciou a vedia
poskytn v&ie rozl enie ako delta obrazovky. Pre potreby po taovho vstupu sa
pou va in-line obrazovka s ni mi psikmi, men mi vzdialenosami medzi jednotlivmi
bodmi a jemnej m rastrom.
Obrzok 2.12: Prechod lov maskou obrazovky in-line
2.4.
GRAFICK
KAR
T
A
233
Obrzok 2.13: Masky delta, inline, trinitron
2.4 Gra ck karta
Obrzok 2.14: Jednotliv asti gra ckej karty
Gra ck karta predstavuje riadiaci obvod monitora. Sklad sa z niekokch ast .
Pam
(oznaovan aj ako videopam) obsahuje informcie o jednotlivch bodoch obrazu
(farbu, resp. jas). Pam& sa sklad z dynamickch pam&ovch buniek a z jednho ale-
bo viacerch posuvnch registrov, ktormi mono po bitoch (t.j. sriovo) pre ta obsah
celej videopam&ti. Pokia je posuvnch registrov viacero, mono paralelne ta navzjom
disjunktn seky pam&te. Bity na vstupe s pripojen na D/A konvertor, ktor z digitl-
234
KAPITOLA
2.
DISPLEJE
nej informcie urujcej jas, resp. farbu jednotlivch bodov vytvra analgov signl pre
monitor. Vstup je synchronizovan spolu s monitorom pomocou synchronizanho obvo-
du
, ktor obsahuje vlastn genertor hodinovch impulzov. Sasou karty je aj grack
procesor
, ktor doke realizova urit sadu gra ckch operci . Okrem jednoduchch
primit v (napr. zmena gra ckho reimu, vykreslenie bodu na zadan poz ciu i vykresle-
nie znaku) mu by implementovan aj zloitejie opercie podporujce 2D a 3D gra ku
(napr. vykreslenie tvorca a inch geometrickch tvarov, vyp0anie vzorkou, alebo rzne
algoritmy 3D gra ky).
Kapitola
3
Tlaiarne a sradnicov
zapisovae
Tlaiarne a sradnicov zapisovae s najpou vanejie vstupn zariadenia na trval
(permanentn) zobrazenie informcie.
V predchdzajcej kapitole o displejoch sme hovorili o princ poch zobrazovania textu
i obrazu a tie o tom, ako mono pop sa ich vytvorenie. Mylienky a princ py tam
uveden s vyu van aj pri tlaiarach. Preto itatea odkazujeme na tieto texty, ku
ktorm sa v pr pade potreby me vrti. Vytvranie farebnho obrazu pou va trocha
odlin pric py, spsoben odlinmi fyziklnymi vlastnosami pojmov 'farby svetla' a
'farby hmoty'. Preto problematike farebnej tlae budeme venova samostatn as tejto
kapitoly.
Najskr pop eme najstarie pou van typy tlaiarn - mechanick typov a mecha-
nick mozaikov
tlaiarne. Spomenieme laserov a atramentov, subliman a voskov.
Op eme princ py vytvrania farebnho vstupu a ako sa tieto princ py realizuj na
spomenutch typoch. Zver kapitoly bude patri sradnicovm zapisovaom.
3.1 Typov tlaiarne
Typov tlaiarne s prvmi tlaiarami vbec. Princ p tlae je jednoduch a podobn
ako na p sac ch strojoch. Tlaiaca hlava obsahuje kovov (alebo gumenn) predlohy
znakov. Poas tlae sa hlava posva nad vetkmi potencionlnymi poz ciami, kde me
by zobrazen znak. Pre kad tak poz ciu tlaiare obdr kd znaku, ktor sa m
zobrazi, vyberie predlohu znaku (zodpovedajceho danmu kdu) a vytla ho (pritla
predlohu na farebn psku, ktor sa nachdza pred papierom).
Preveden je niekoko{ tlaiaca hlava me by gua alebo ruica (rovnako ako na
p sac ch strojoch), valec alebo gumenn ps (takto tlaiarne obsahuj niektor kalku-
laky s monosou tlae). Pre pochopenie princ pov spomenutch preveden itatea
odkazujeme na animcie.
Typov tlaiarne maj zjavn nevhody: sada 'tlaitench' znakov je obmedzen
(ak ju chceme zmeni, mus me vymeni cel hlavu), nie je mon tla gra ky. Na druhej
strane, typov tlaiarne s vemi rchle (a desiatky riadkov za sekundu pri valcovch
tlaiarach), pr padne je cel zariadenie vemi jednoduch (jednoduchie ako pri ostat-
nch typoch tlaiarn { o je jeden z dvodov, preo s pri vreckovch kalkulakch na-
jvhodnej m typom). Preto mali (a v uritch aplikcich aj maj) svoj vznam.
235
236
KAPITOLA
3.
TLA
IARNE
A
SRADNICO
V
ZAPISO
V
A
E
3.2 Mozaikov tlaiarne
Starie typy tlaiarn pou vali na tlaenie textu kovov predlohy znakov (podobne ako
p sac stroj). Neskr vznikla mozaikov tlaiare' (znma aj ako ihlikov tlaiare'),
ktor tla dokument bod po bode.
Obrzok 3.1: Ihlikov tlaiare
Ihlikov tlaiare produkuje vstup na papieri pomocou tlaiacej hlavy, ktor ob-
sahuje skupinu kovovch ihliiek. Medzi papierom a ihlikami je vloen textiln pska
napusten farbou. dery ihliiek (vyvolan elektromagneticky) spsobuj, e sa atra-
ment prena z psky na papier (vi animcie).
Povedzme, e obraz tla me po bodoch. Na o je to dobr? Kad znak mono
rozloi na body - znak nakresli v matici M
N. Proces tlae me vyzera napr -
klad nasledovne: program poiada o vytlaenie textu a dod kdy pr slunch znakov.
Obslun program tlae m uschovan v pam&ti maticov obrazy vetkch znakov. Z
nich vygeneruje maticov obraz riadku. Tento daj sa pole tlaiarni, ktor dan riadok
vytla . To sa opakuje do vytlaenia vetkch riadkov.
Samozrejme, pomocou ihlikovch tlaiarn mono tlai dokumenty s ubovolnmi
druhmi a vekosami p sma a tie tlai obrzky. Ale tla obrzkov trv dlhie a nie je
vemi kvalitn.
Existuje viacero tried poda potu ihliiek v tlaiacej hlave. Prvotn, jednoihlikov
tlaiarne vymizli. Najastejie pou vanmi s 9 a 24 ihlikov tlaiarne.
iastone je rchlos tlae ovplyvnen i potom ihliiek v tlaiacej hlave. 3tandardn
rchlos 9 ihlikovch tlaiarn je asi 150 zn/s a 24 ihlikovch cez 400 zn/s. Ovlyvnen
je aj kvalita tlae. Tlaiare s 9 ihlikami me teoreticky poskytn rovnako kvalitn
tla ako tlaiare s 24 ihlikami, ale bude musie prejs kad riadok bodov voz kom s
hlavou 3 a 4 krt. Rchlos tlae sa tm vrazne spomal .
Kvalita tlae
zvis od rozlenia. Je to parameter udvan v DPI, o je angl. skratka
oznaujca poet bodov na palec. Priemern ihlikov tlaiarne maj rozl enie okolo
150-200 dpi.
3.3.
LASER
O
V
TLA
IARNE
237
Kvalita znakov
svis aj s tm, do akej vekej mrieky zobrazujeme znaky.
Horizontlne rozl enie kol e poda rchlosti opakovanho deru ihliky vo vzahu k
rchlosti pohybu voz ka s hlavou. Nekvalitn tlaiarne maj pomal hlavy. Aby sa vy-
tlaili body, ktor sa horizontlne prekrvaj, mus sa rchlos hlavy vrazne spomali.
Na to pou vaj pomalie tlaiarne techniku, ktor spo va v tom, e pri prvom pre-
chode voz ka po riadku vytlaia body na prnych a pri druhom prechode na neprnych
poz cich.
Pri hlave s 9 ihlikami, ktor s usporiadan do jednho st0pca, s z skan body
navzjom oddelen. Na z skanie prekrvajcich sa bodov bude treba jeden riadok tlai
na dvakrt. Pri druhom prechode voz ka sa mus hlava zdvihn o polovicu bodu.
Pre kvalitu tlae sa zaviedli niektor pojmy: draft mode je tzv. 'neistopis', jednoduch
a rchlo vytlaen koncept a letter quality mode, o je kvalitnejia tla vyej, 'listovej
kvality', ovem dvakrt pomalia.
Ihlikov tlaiarne maj znane vea nevhod: s hlun, tlaia text len priemernou
kvalitou a gra ku slabou kvalitou. S vak dostatone rchle a pomerne lacn, vaka
omu sa z trhu nevytratili ani po vzniku dokonalej ch spsobov tlae.
3.3 Laserov tlaiarne
Ihlikov tlaiarne tlaia text po riadkoch. Priemern rchlos tlae je okolo 150 znakov za
sekundu. Napriek tomu, e ihlikov tlaiare je na tlaenie textu vyhovujca, gra ku
u v poadovanej kvalite vytlai nevie. Tla ju pomaly a so slabou kvalitou, o je
spsoben najm& nemonosou vytlai rovn iary. S nstupom gra ckch prostred sa
zaali dokumenty p san p smom v rznych fontoch a v rznych vekostiach a neskr sa
zaal text kombinova s obrzkami. Tento problm vyrieil pr chod laserovch tlaiarn ,
umoujcich vysok kvalitu tlae.
Obrzok 3.2: Laserov tlaiare
V laserovch tlaiarach sa obraz tvor s pouit m elektrostatickho procesu. Laserov
l dopad na povrch valca cez zrkadlo. Tam, kde dopadne l, sa vytvor elektrostatick
238
KAPITOLA
3.
TLA
IARNE
A
SRADNICO
V
ZAPISO
V
A
E
nboj. Povrch valca je aspo tak vek ako povrch strnky. Kde na strnke m by bod,
tam zasvietime lom a vytvor me nboj. Kde nem by bod, to miesto 'presko me'.
Takto vytvor me cel obraz strnky.
Na osvieten valec sa nenesie such atramentov prok, nazvan toner, ktor prine
na miesta s nbojom. Potom prejdeme papierom okolo valca, tm sa prok prenesie na
papier. Pr slun strana papiera potom prejde medzi dvoma horcimi valekmi. Toner sa
teplom roztav a tlak valcov ho vtla do papiera. Po vytlaen sa valec oist od zbytkov
toneru (vi animcie).
Tlaiare vyaduje papier, ktor m urit tepeln odolnos.
Laserov tlaiarne tlaia ovea rchlejie ako ihlikov. Dosahuj rchlos niekoko
ppm
1
. Poskytuj aj ovea vyiu kvalitu. Rozlenie laserovch tlaiarn bva okolo
200-600 dpi. Laserov tlaiarne poskytuj kvalitu vemi bl zku 'tlaiarenskej kvalite'
(dokumenty teda vyzeraj ako tlaen na tlaiarenskch strojoch).
Obrzok 3.3: Rozline jemn rozl enia
Pri dajoch o rchlosti vak treba rozl i medzi rchlosou motoreka a relnou
rchlosou tlae dokumentu.
Laserov tlaiarne s asto pou van na tla zloito usporiadanch strnok, ktor
obsahuj gra ku, text a dokonca aj fotogra e. Okrem toho, e po ta vysiela tlaiarni
binrny popis dokumentu (o je vhodn najm& pri obrzkoch), meme komunikcia
prebieha aj na rovni povelov tvaru napr klad: 'nakresli kruh s takmito sradnicami a
vyfarbi ho' alebo 'sem nap toto p smeno takmto fontom a takouto vekosou'. Tlaiare
obsahuje program, ktor na zklade tchto povelov ur polohu pr slunch bodov a
vytvor obraz strnky. Zoznamy tchto pr kazov sa nazvaj jazyky popisu str nky.
Pou van s napr. PostScript alebo PCL. Vpoet toho, kde maj by body vak
me trva omnoho dlhie ako samotn tla. Preto me vytlaenie zloitho dokumentu
trva aj niekoko mint, hoci vrobca udva, e tlaiare je schopn tlai rchlosou
8 strn za mintu. V skutonosti tento daj hovor , e tlaiare je schopn vytlai
osem identickch, u pripravench strn. Ke sa strnka vytvor , jej obraz sa ulo do
vntornej pam&te tlaiarne, poda neho u laser me nabi valec hocikoko krt.
1
pages per minute, ie strnok za mintu
3.4.
A
TRAMENTO
V
TLA
IARE
239
Lacnejie laserov tlaiarne neobsahuj jazyk popisu strnky. V tomto pr pade mus
po ta vyrta poz cie bodov na strnke, o spomauje vykonvanie ostatnch pro-
gramov.
3.4 Atramentov tlaiare
Laserov tlaiarne s vhodn a pr aliv pre svoju rchlos a kvalitu tlae. Vyhovuj
aj po ergonomickej strnke, lebo s plne tich. Ich nkupn ceny s vak relat vne
vysok, o obmedzuje ich roz renie. Vrobcovia sa snaili vyvin technolgiu, ktor
by poskytla podobn kvalitu tlae, ale pri niej cene. Atramentov tlaiarne maj
uspokojiv kvalitu, vemi podobn laserovm tlaiaram, rchlos je vrazne niia, tla
je bezhlun. Cena tlaiarne i nklady na tla s ovea niie.
Obrzok 3.4: Atramentov tlaiare
Princ p tlae je nasledovn: tryskov hlava je pripevnen na pohybliv voz k podobne
ako pri ihlikovch tlaiarach. Hlava obsahuje niekoko trysiek (otvorov). Za otvorom
je atramentov dutina. Atrament sem teie kanlikmi. Za atramentovou dutinou je
zahrievac odpor. Je schopn zahria priestor s atramentom a privies atrament do varu.
Vytvor sa plynov bublina, ktor sa pri alom vzraste teploty za na 'nafukova' a
zvyovas svoj objem, a tlak plynu vytryskne atrament cez trysku na papier. Vytvor
sa mal ierna bodka (vi animcie).
Niektor tlaiarne pou vaj na vystreknutie atramentu pizoelektrick systm. Elek-
trick prd vyvolva vibrcie v ksku krem ka, ktor doku vystrekn atrament.
Atramentov tlaiarne mu tlai aj na obyajn papier. Ale vsledn kvalita tlae
vemi zle na kvalite papiera, ktor sa v atramentovch tlaiarach pou va. Vzhadom
k tomu, e atrament vytryskne z trysky ako kvapalina, spsobuje pr li sav papier jeho
rozp janie, o zniuje ostros bodu. Aby sa dosiahlo o najlep ch vsledkov, pou va sa
pecilny papier. Tento je vak drah .
240
KAPITOLA
3.
TLA
IARNE
A
SRADNICO
V
ZAPISO
V
A
E
3.5 Farebn tla, voskov a subliman tlaiarne
Na vytvranie farieb pri farebnch monitoroch sme vyuili optick princ p, aditvne skla-
danie farieb
. Pri farebnom tlaen vyuijeme in optick princ p, substraktvne skladanie
farieb
.
Substrakt vne skladanie farieb je mieanie farieb z troch zkladnch farieb: tyrkysovej,
purpurovej a ltej. Tento spsob sa oznauje aj CMY (cyan, magenta, yellow). :lt je
farba, ktor z dopadajceho svetla odra zelen a erven svetlo a pohlcuje svetlo os-
tatnch farieb. Podobne tyrkysov a purpurov. Zmiean m vetkch troch dostaneme
iernu farbu. Rznymi kombinciami vieme vytvori vetky alie farby.
Obrzok 3.5: Substrakt vne skladanie farieb
Ako sme uviedli, zmiean m vetkch troch zkladnch farieb by sme mali dosta
iernu farbu. Avak, v praxi tto ierna farba nie je 'dokonal' a pri detailnom pohade sa
v nej objavuj farebn kvrny. Pr inou je, e nevieme namiea ani 'dokonl' zkladn
farby teda tak aby odrali svetlo presne urenej vlnovej d0ky. Rieen m je, e k
trom zkladnm farbm CMY sa pridva tvrt farba, ierna. Tento spsob sa oznauje
CMYB (cyan, magenta, yellow, black).
Farebn tla sa v zsade nel i od iernobielej. Rozdielom je, e na papier treba pos-
tupne nanies zkladn tri (pr padne tyri) farebn zloky. Spsoby realizcie farebnch
tlaiarn vak mu by znane rozdielne.
Najskr teda, na akch princ poch mu tlai farebne u uveden typy tlaiarn ?
Ihlikov tlaiare'
sa tandartne nezvykne pou va na farebn tla. Tlaen m farebne
sa rchlos tlae ete viac spomal . Princ p farebnej tlae je, e sa tla cez viacero
farebnch psok.
Atramentov tlaiare'
pou va farebn atramenty (CMY alebo CMYB). Nklady nie
s ovea vyie ako pri iernobielej tlai. Farebn atramentov tlaiare nie je omnoho
drahia ako iernobiela. D sa prep na farebn md/iernobiely md, pr padne sa d
vymeni farebn hlava za iernobielu. Existuj tie tlaiarne, ktor maj pripojen
obe hlavy, teda tlaia spsobom CMYB. Ak pre tla farebnch dokumentov/obrzkov
pouijeme pecilny papier, dosiahneme vborn kvalitu.
Laserov tlaiare'
tla kad stranu trikrt (opakuje pop san proces pre kad
farebn zloku). Poskytuje vynikajcu kvalitu.
Farebn laserov tlaiarne s ete dos drah zariadenia. Lep pomer Vkon/Cena
dvaj atramentov tlaiarne, ktor s cenovo dostupn.
3.6.
SRADNICO
V
ZAPISO
V
A
E
241
Na dosiahnutie fotogra ckej kvality farebnej tlae bolo vypracovanch mnostvo tech-
nolgi , ktor u iernobielej tlae nemaj obdoby. Napr klad tlaiarne voskov, s termic-
km prenosom
alebo subliman.
Farebn voskov tlaiarne
Podobaj sa atramentovm tlaiaram. Pou vaj pevn atramenty- vosky. Ak sa tieto
vosky nahrej, premenia sa na kvapalinu a tlaiare s nimi pracuje rovnako ako obyajn
atramentov tlaiare. Vsledok je kvalitnej , lebo vosk nezascha vyparovan m, ale
okramite chladom tuhne. Naviac sa obrazy vytvoren pevnmi atramentami nerozp jaj.
Subliman tlaiarne
Vyu vaj sublimciu- premenu pevnej ltky do plynnho stavu bez toho, e by sa pre-
menila na kvapalinu. Siln a nhle zohriatie pecilnych atramentov (na teplotu nad 500
oC) spsob vznik plynnho atramentu.
3.6 Sradnicov zapisovae
S uren pre kreslenie schm, resp. vektorovch obrzkov. Kresliacou asou hlavy je
pero, ktor hlava presva nad papierom, resp. jeho pribl en m k papieru na pero kresl .
Je mon kresli nielen objekty zloen z iar, ale aj kruhy i p smen (prirodzene, tla
textu je pomalia ako na bench tlaiarach).
Existuj dva typy: s otonm valcom a stoln. Pri stolnch zapisovaoch je sasou
zapisovaa kresliaca plocha rovn vekosti papiera. Nad ou sa hbe hlava. Pri zapiso-
vaoch s otonm valcom
sa hlava hbe len vo vodorovnom smere, namiesto pohybu v
zvislom smere sa hbe papier. Tm je mon kresli aj na vekoplon vkresy. Oba
spomenut typy s znzornen animciami.
242
KAPITOLA
3.
TLA
IARNE
A
SRADNICO
V
ZAPISO
V
A
E
Kapitola
4
Klvesnica
Klvesnica je jedno z najpou vanej ch vstupnch zariaden . Sli na run vkladanie
dajov. Je sasou mnohch zariaden : kalkultorov, elektrickch p sac ch strojov,
monitorov, rznych perifri a samozrejme po taovch zostv.
Z funknho hadiska rozoznvame:
slicov (Numerick) kl vesnicu
pomocou ktorej vkladme slice. Je sasou
napr klad kalkulaiek.
Abecedno-slicov (Alfanumerick) kl vesnicu
, pomocou ktorej vkladme p smen,
slice a alie znaky. Je sasou napr. p sac ch strojov.
Funkn kl vesnicu
, ktorej stlaenie klvesy i kombincie klvesov me program
(alebo dan zariadenie) detekova a vykona pr slun innos. Je sasou napr.
tlaiarn , kde je napr. klves na zruenie tlae.
Klvesnica po taa obvykle zdruuje spomenut funkcie { mono pomocou nej nielen
vklada alfanumerick znaky, ale aj spa funkcie programu (vi nasledujci obrzok {
klvesnicu po taov PC).
Obrzok 4.1: Klvesnica
Aj ke pre klvesnice po taov neexistuje jednotn tandart urujci ako m klves-
nica vyzera, pou vaj sa urit dohodnut konvencie. Napr klad slicov a znakov
klvesy s obvykle umiestnen (usporiadan) v rovnakom porad ako na p sacom stroji.
243
244
KAPITOLA
4.
KL
VESNICA
Sasou klvesnice mu by led-didy. 3tandartn PC klvesnice maj tri led didy
oznaen Num Lock, Caps Lock a Scroll Lock. Ich vznam je itateovi zaiste znmy{
informuj o prepnut klvesnice do zvltneho mdu (napr. Caps Lock: dvanie vekch
p smen).
Niektor klvesnice maj zvukov signalizciu t.j. pri stlaen klvesu sa ozve krtke
p pnutie.
Jednotliv skupiny klvesov mu by farebne oddelen (t.j. uritm skupinm klvesov
prirad me osobitn farbu).
V sasnosti klvesnice zvyajne obsahuj aj pecilne funkn klvesy pre podporu
operanho systmu a multimdi (t.j. niektor funkn klvesy spaj urit funkciu
operanho systmu i multimedilnych aplikci ). Prirodzene, operan systm i ap-
likcia musia 'pozna' pr slun tandard klvesn c, aby vedeli rozpozna a sprvne inter-
pretova aj kdy detekujce stlaenia 'pecilnych' klves. Sasou klvesn c tie me
by aj varianta myi { trackball (ktor v alom texte pop eme podrobnejie).
Spomenuli sme niekoko prvkov (vylepen 'klasickej' klvesnice), ktor mu skvalit-
ni prcu s po taom. Najdleitej m rysom klvesnice vak je, aby na nej bolo mon
p sa o najpohodlnejie a najrchlejie { vyaduje sa, aby klvesnica bola ergonomick .
Klvesy musia by jednak citliv na dotyk (treba zvoli silu potrebn na stlaenie klvesy
optimlnu udskej ruke{ klvesa nesmie kls ani pr li vek, ani pr li mal odpor ) a
tie klvesy musia by na klvesnici optimlne rozmiestnen.
Po ta doke uri, ktor klvesa i kombincia klves bola v danom okamihu stla-
en. Kad klvesa m priraden nejak kd, ktor pri jej stlaen klvesnica pole
po tau. Vykonvan program tento kd me pre ta a na zklade neho vykona
nejak innos.
4.1 Realizcia klvesnice - detekcia stlaenia klves
Zamerajme teraz nau pozornos na realizciu klvesnice. V prvom rade mus me vedie
detekova stlaenie jednho klvesu. Aj ke vyriei tto lohu je zaiste ahk, treba
si uvedomi, e klvesnica mus sp0a vysok nroky na spoahlivos, dlh ivotnos a
zrove mus ma o najniiu cenu.
Na dosiahnutie o najlep ch vsledkov sa objavilo viacero typov sp naov. Mme
ich rozdeli na dve skupiny, kontaktn a bezkontaktn. Uveme niekoko najbenej ch
spsobov realizcie klves oboch skup n.
kontaktn spnae
Na nasledujcom obrzku je znzornen ben mechanick klves. Tlaidlo je umiestnen
na prunej podloke, pod ou s dva od seba oddelen (ohybn) kontakty. Jeden z nich
je pripojen na zdroj elektrickho prdu. Pri stlaen tlaidla sa druh spoj prehne a
dotkne sa prvho { vytvor sa spojenie a aj cez druh kontakt zane tiec prd.
Variantou prep nacieho klvesu je aj ploch prepnac kl ves (znmy aj ako mem-
br nov kl ves
). Pri stlaen klvesu sa prehne vodiv guma (ktorou neustle pretek
elektrick prd) a dotkne sa vodivej dotiky spojenej s testovanm kontaktom.
Tieto typy sp naov s pou van pri vreckovch kalkulakch. Ich skontruovanie na
takomto princ pe umouje, aby zaberali mlo miesta.
4.1.
REALIZ
CIA
KL
VESNICE
-
DETEK
CIA
STLA
ENIA
KL
VES
245
Obrzok 4.2: Mechanick klves
Nevhodou je, e klad mal odpor pri stlaen
1
.
Obrzok 4.3: Membrnov klves
bezkontaktn spnae
Kontaktn sp nae s s ce kontrukne jednoduch, ale nemaj dlh ivotnos. Rieen m
sa ukzali bezkontaktn sp nae.
Pr kladom bezkontaktnho sp naa je kondenz torov kl ves. Dve vyznaen plochy
(dotiky) tvoria kondenztor. Ke sa stla klves, stredov kol k sa pribl i k dotikm.
Nboj kondenztora sa zmen a vytvor sa slab elektrick prd.
In dva typy s znzornen na nasledujcom obrzku. Bezkontaktn sp na obsahu-
jci feritov jadro pracuje ako transformtor. Na tlaidle s umiestnen permanentn
magnety. Ak tlaidlo nie je stlaen, tak tmto magnetickm poom sa udruje jadro
v nastenom stave a transformtorov v&zba medzi vstupnm a vstupnm nap&t m je
zanedbatene mal. Vstupn vinutie je napjan vysokofrekvennm prdom, pri st-
laen tlaidla prestane na jadro psobi magnetick pole a na vstupe sa objav signl
transformovan zo vstupnho vinutia. Vstupn signl sa ete usmeruje a tvaruje na
tvar diskrtnych signlov. Sp na s Hallovm lnkom pracuje podobne (Hallov lnok
je citliv na magnetick pole).
porovnanie
kontaktn spnae
s kontrukne jednoduch a lacn. Ich vstupn signly netreba
1
po istom ase je pre ruku navn pracova s takouto klvesnicou
246
KAPITOLA
4.
KL
VESNICA
Obrzok 4.4: Klvess (a) Halovm lnkom (b) magnetickm jadrom
zosilova. No nemaj dlh ivotnos.
bezkontaktn spnae
maj neobmedzen ivotnos. Realizcia je vak zloitejia {
vstupn signly treba upravova.
V praxi sa meme stretn s oboma typmi klvesov. V perifrnych zariadeniach
po taov sa pouivaj najastejie bezkontaktn klvesnice.
4.1.1 Komunikcia potaa s klvesnicou
Ako zariadi, aby klvesnica 'poznala' stlaen klves?
U vieme otestova, i bol konkrtny klves (sp na) stlaen. Uvaujme teraz ben
klvesnicu (ktor m viac ako 100 klvesov). Otzkou je, ako posla po tau daje o
tom, ktor klvesy boli v danom okamihu stlaen.
Najjednoduch spsob je vstup kadho klvesu prida do celkovho vstupu klves-
nice. Ale potom bude na vstupe najmenej sto spojov.
Efekt vnej spsob je ma pre viacero klvesov jeden spoj. Princ p je znzornen
na nasledujcom obrzku. Je na om znzornench estns klvesov, usporiadanch do
dvojrozmernej matice so tyrmi riadkami a tyrmi st0pcami. Upozorujeme, e aj ke
sa spoje riadkov a st0pcov na obrzku pret naj, nezna to fyzick kontakt vodiov, t.j.
vetvenie prdu (ako pri schmach obvodov, vetvenie je oznaen plnm krkom). Spoje
v st0pcoch polime na vstup klvesnice. Na spoje v riadkoch polime vektor 0100 (na
1.spoj poleme nulu, na 2.spoj jednotku, at...). Ak bol stlaen niektor klves, djde k
vodivmu spojeniu medzi pr slunm riadkom a st0pcom. V naom pr pade, ak bol stlae-
n klves v druhom riadku, tak v pr slunom st0pci sa objav jednotka (napr. na obrzku
bol stlaen jeden klves v 2.riadku a v 2.st0pci, preto sa v druhom st0pci (resp. druhom
bite vstupu klvesnice) objav jednotka. Stlaenie klvesy v inom ne druhom riadku
nespsob iadny efekt, pretoe s ce djde k prepojeniu pr slunho riadka a st0pca, no
danm riadkom pretek nula. Upozorujeme itatea na to, e usporiadavame jednotliv
spoje klves, samotn klvesy mu by umiestnen kdekovek na ploche klvesnice.
Klvesnica m vlastn jednoduch procesor (radi klvesnice) ktor spomenutm
spsobom zisuje, ktor klvesa bola stlaen: kdy klves, ktor boli stlaen bude
zisova postupne{ po riadkoch. Postupne bude posiela na vstupy klvesnice hodnoty
(1,0,. ..,0), (0,1,0,. ..,0) ,..., (0,...,0,1). Po vyslan hodnoty otestuje vstupy
x
1
:::xn,
4.1.
REALIZ
CIA
KL
VESNICE
-
DETEK
CIA
STLA
ENIA
KL
VES
247
Obrzok 4.5: Dvojrozmern detekovanie stlaenia klvesu
m vie zisti polohu stlaenho klvesu (riadok a st0pec). Tto informciu potom radi
klvesnice posiela po tau v jednom slove{ vo forme tzv. polohovho kdu
2
. Obvykle
postauje polohov kd reprezentova bytom. Klvesnica sa pripja k sriovmu portu.
Obslun program klvesnice ulo kdy stlaench klves na pevne uren miesto
(do osobitho bu5era), odkia ich beiaci program me pre ta a interpretova (t.j. na
zklade nich vykona nejak innos). Do bu5era sa nemusia uklada len polohov kdy{
obslun program me ihne preklada polohov kdy do kdov im zodpovedajcich
znakov, napr. v kdovan ASCII.
Nielen kad klves m vlastn kd, ale aj sasn stlaenie viacerch klvesov me
ma svoj vlastn (tzv. polohov) kd. (napr. sasn stlaenie klvesu ALT a inho
klvesu m priraden osobit polohov kd).
V pr pade detekcie stlaenia klvesy klvesnica posiela procesoru iados o preruenie.
Obslun program pre ta polohov kd stlaenho klvesu. Obslun program tie me
polohov kdy automaticky prevdza do nejakho textovho kdu, napr. ASCII.
2
foriem zakdovania me by viacero, napr. ak je Riadok n-bitov vektor a Stpec m-bitov , tak Polo-
hov kd vytvorme zre azenm t chto dvoch vektorov. In m spsobom je Polohov kd=Riadok*(Poet
Stpcov riadku) + (Stpec-1).
248
KAPITOLA
4.
KL
VESNICA
Kapitola
5
Grack ovldae
Pvodne sa po tae ovldali len pomocou klvesnice. Nstup gra ckch prostred tento
stav zmenil. Programy dostali 'nov tvr'{ tandardom sa stalo symbolick znzornenie
funkci programov i samotnch programov gra cky, pomocou obrzkov(ikon). Takisto,
objavili sa aplikcie pre vytvranie a spracovanie obrzkov i alej gra ky. Manipulcia
s obrzkami je vak pomocou klvesnice dos nron. Preto sa na ovldanie po taov
zaali pou va okrem klvesnice aj tzv. polohovacie zariadenia. S to zariadenia, pomo-
cou ktorch mono plynule ovlda pohyb kurzora (alebo inho objektu) po obrazovke.
Medzi najznmejie patr my a jej varianty (napr. trackball), jojstyck, sveteln pero a
dotykov obrazovka
, ktor podrobnejie op eme v tejto kapitole.
5.1 My
Najpou vanej m gra ckm ovldaom je my. Prv vyrobila rma Xerox. Stala sa
populrnou najm& vaka operanmu systmu Windows, na ktorom sa ukzala vysok
komfortnos ovldania gra ckch prostred myou oproti klvesnici.
Obrzok 5.1: My
My sa pohybuje po podloke a od jej pohybu sa odvodzuje pohyb kurzora po obra-
zovke. Mva dve alebo tri tlaidl, ktorch vyuitie (ie interpretcia stlaenia) zvis
249
250
KAPITOLA
5.
GRAFICK
O
VLD
A
E
od danho programu.
Op eme princ p fungovania mechanickej myi (nasl. obrzok). My sa pohybuje po
podloke. Na spodu m pohybliv guliku. Pohyb myi sa prena na pohyb guliky,
pohyb guliky sa prena na dva kolmo postaven valeky, v x-ovom a y-ovom smere
(doleuvedeny obrazok). Ak posvame myou v x-ovom smere, gulika ota x-ov valek
a po y-ovom valeku sa mka (obvodov rchlos gulky je v dotykovom bode s valcom
Y nulov) . Vekos otania valeku je priamo mern obvodovej rchlosti guliky (teda
m rchlejie pohybujeme myou, tm rchlejie sa ota valek). Podobne, ak hbeme
myou v inch smeroch, smer pohybu sa rozlo na dva vektory, x-ov a y-ov (ktor s na
seba navzjom kolm) a merne vekosti tchto vektorov sa natoia valeky x,y. S osou
kadho z nich je spojen kotik s otvormi. Presvetujeme ho dvojicou led-did. Teleso
kotika pri pohybe preruuje ich svetlo, dopadajce na protiahl fototranzistory. Takto
dokeme uri vekos posunutia. Ako vak uri smer posunutia (ie smer otania
kotika)? Na vyrieenie tohto problmu pouijeme dve fototranzistory. S posunut od
seba na pol okienka, take ak sa jeden fototranzistor zatemuje, druh sa odkrva. Zo
zaiatku signlov (vzjomnho fzovho posunu) vieme uri smer otania.
Obrzok 5.2: Princ py myi
Obrzok 5.3: Urenie smeru pohybu myi
Po tau sa potom pole relat vna zmena polohy- vekos vychlenia (v smere osi X
a Y).
5.2.
JO
YSTICK
251
V&ina my je kblom spojen s po taom. Existuj vak aj myi, ktor komu-
nikuj s po taom pomocou infraervenho svetla alebo rdiovch v0n. Nazvame ich
bezdrtov myi
.
Pri po taoch PC pripjame my na sriov alebo paraleln port. Ekonomickejie je
pripoji my na sriov port, pretoe objem prenanch dt je pomerne mal a sriov
port je preto plne postaujci. Pripjanie na sriov port je najroz renejie, no mono
sa stretn aj s pripjan m na port paraleln. My pripojen na paraleln port sa nazva
zbernicov my
. Tto my neme vyu va port vyhraden pre paraleln tlaiarne, ale
vyaduje svoju vlastn IO kartu. Niektor myi meme pripja do oboch portov,
sriovho aj paralelnho, lebo maj zabudovan konverzn obvod.
Okrem mechanickch my existuj aj myi nemechanick, urujce zmenu polohy
myi na podloke na inom, ako na mechanickom princ pe. Pr kladom takchto zariaden
je optick my, ktorej princ p je nasledovn: na spodu myi je umiestnen sveteln
zdroj, ktor (pod vhodnm uhlom) vyaruje infraerven l. Ten dopad na pecilnu
podloku a odra do sn maa umiestnenho v zadnej asti myi. Podloka je najastejie
kovov a je pokryt hustou mriekou iernych iar. Odraz do sn maa nastane iba ak
nebola preruen iadna z iar. Takto vieme uri vekos pohybu. Podobne urujeme aj
smer.
5.2 Joystick
Znmy aj ako p kov ovl da, je pomcka uren pre ovldanie hier. M tvar zvislo
postavenej pky, ktor mono vychli do uritho smeru. Poda smeru vychlenia,
pr padne aj vekosti vychlenia sa uskuton pohyb objektu v hre. Sasou joysticku je
aj jedno alebo viacero tlaidiel, ktor v danej hre mu ma rzny vznam.
Existuj dva typy joystickov: analgov a digit lne. Digit lne pkov polohovacie
zariadenia pracuj v pomerne jednoduchom mde 'no alebo nie'. Rozpoznva sa iba
smer pohybu, ale nie vekos pohybu. Navye, joystick rozoznva len osem smerov vy-
chlenia. Analgov joysticky maj proporcionlne ovldanie, t.j. mal vychlenie pky
vyvol mal pohyb objektu na obrazovke (pohyb na krtku vzdialenos), v& pohyb
pkou v& pohyb objektu. Pou va sa napr klad v leteckch simultoroch.
Princ p joysticku je jednoduch. Digit lny joystick sa sklad z jednoduchho tvor-
plovho sn maa a jednho pr davnho tlaidla. Tieto sa 'pripoja' k piatim bitom vs-
tupnej brny niektorho z V/V obvodov po taa. Ak vychlime joystick do jednho
zo tyroch smerov (vavo, vpravo, hore, dole) tak vytvor me spojenie jednho z tchto
tyroch plov sp naa s hrotom pky, ktor je uzemnen. Preto sa na pr slunom vodii
objav nulov nap&tie (ie logick nula) a preto pr slun bit vstupu V/V obvodu bude
nulov. Ak vychlime joystick do jednho zo 4 ikmch smerov, napr. vpravo hore, uzem-
nia sa sasne pl sp naa vpravo a pl sp naa hore, a na vstupe V/V brny bude slovo
s dvoma nulovmi bitmi na mieste bitu hornho plu a pravho plu (vi animcie).
Analgov joystick
obsahuje dva potenciometre (o s prvky meniace svoj odpor v
zvislosti od ich vychlenia). Odpor je priamo mern vekosti vychlenia a mono ho
zmera napr klad ADC prevodn kom. Pomocou jednho sa detekuje vektor vychlenia v
x-ovom smere, druhm v y-ovom smere.
252
KAPITOLA
5.
GRAFICK
O
VLD
A
E
5.3 Sveteln pero
Sveteln pero je pomcka, ktorou meme takisto ovlda pohyb kurzora. Na rozdiel od
myi n m ukazujeme priamo na jednotliv body obrazovky.
Sveteln pero m tvar pera, kblom spojenho s po taom. Jeho pribl en m sa k
uritmu miestu na obrazovke sveteln pero po tau vyle absoltne sradnice 'dotyko-
vho' bodu
1
na obrazovke. Vyuitie pera op& zvis od beiaceho programu{ me to
by vber z mnoiny ponk, kreslenie i p sanie. Pou vanie pera na kreslenie i p sanie
je pre loveka prirodzenejie ako pou vanie myi, pretoe prca so svetelnm perom je
v podstate analgiou prce s 'klasickm' perom, s ktorm pracujeme s vekou jemnosou
a presnosou.
Obrzok 5.4: Svet.pero
Princ p svetelnho pera je pritom vemi jednoduch. Pero je tvoren jednm fotoelek-
trickm sn maom - v telese pera sa nachdza fotodida alebo fototranzistor a oovka
sstreujca dopadajci l na ich svetlocitliv plochy. Ak pero dostatone pribl ime k
obrazovke, tak sn ma jas bodu pred sebou. Ako sme spomenuli, aj ke monitor vytvra
ilziu, e vetky body obrazu svietia nezmenenm jasom, v skutonosti ich jas kles a
obraz mus by neustle obnovovan elektrickm lom. Okamit polohu la doke
uri gra ck karta. V okamihu ke l osvieti bod na ktor ukazuje sveteln pero, s
pomocou fototranzistora sa detekuje zmena jasu a vyle sa impulz gra ckej karte, ktor z
aktulnej polohy la ur polohu bodu, na ktor pero ukazuje. Tto polohu si zapam&t,
pr padne vygeneruje preruenie a odovzd polohu obslunmu programu. Obmedzen m
tohto princ pu je, e bod na ktor chceme 'ukza' perom nesmie by plne ierny, mus
ma nenulov jas. Postaujcim vak je aj mal zmena iernej farby, napr. na siv.
5.4 Dotykov obrazovka
Sveteln pero umouje vemi pohodlnm spsobom vybera z ponk znzornench na
displeji. 'Ukzanie' na objekt na displeji je toti prirodzenejie ako jeho urovanie po-
mocou myi i klvesnice. Ete prirodzenejie je vak ukazova prstom.
1
t.j. bodu, v ktorom dolo k dotyku, resp. dostanmu pribleniu pera k obrazovke
5.4.
DOTYK
O
V
OBRAZO
VKA
253
Dotykov obrazovka vyzer zvonku ako lter monitora a rovnako ako lter sa aj
ona pripevuje pred obrazovku. Podobne ako sveteln pero, aj ona po tau oznamuje
absoltne sradnice oznaenho ('ukzanho') bodu obrazovky.
Existuje niekoko druhov dotykovch obrazoviek. Finger-screen reaguje na pribl enie
prsta k povrchu obrazovky. Zariadenie obsahuje dva rady zdrojov svetla (infraervench
LED-did) a dva rady fotosn maov umiestnench oproti sebe (t.j. oproti kadej LED-
dide sa nachdza fotosn ma). Rady LED-didy s umiestnen kolmo na seba a teda
nad celm povrchom obrazovky vytvraj sie (mrieku) vodorovnch a zvislch infraer-
vench lov. Fotosn mae s umiestnen oproti didam. Ak sa prst pribl i k obrazovke,
preru niektor zvisl a vodorovn l vysielan LED-didami do protiahlch tranzis-
torov. Po tau sa pol sradnice 'ukzanho' bodu - t.j. poradov slo LED-did
vysielajcich preruen zvisl a vodorovn l. Pre svoju vekos m vak prst 'mal ro-
zliovaciu schopnos'. Preto sa pou va aj druh varianta dotykovej obrazovky nazvan
touch screen
.
Touch screen
pou va pre vber pecilne ukazovtko v tvare ceruzky, podobn svetel-
nmu peru. Touch screen vak pou va in fyziklny princ p (ktor bliie pop eme pri
tablete - povrch obrazovky je pokryt jemnmi, okom nepostrehnutenmi vodimi, ktor
s od seba vzjomne oddelen nevodivou vrstvou. Po pribl en ukazovtka s elektro-
magnetickm hrotom sa v okol stynho bodu indukuje elektromagnetick pole, priom
najsilnejie je prve v tomto bode.
Touch screen sa vyu va najm& v diroch s LCD displejmi. Jednm zo sasnch
trendov elektronickch dirov je vyui o najviac monosti touch screenu a vytvori
tak dir novej genercie. Dir s touch-screenom nepotrebuje klvesnicu, ukazovtkom
je mon 'vybera', resp. 'stla' klvesy virtulnej klvesnice znzornenej na displeji.
Takisto je mon vybera z rznych ponk, pr padne kresli obrzky a p sa. Rukou p san
p smo je automaticky rozpoznvan a prevdzan do digitlnej formy, napr. ASCII kdu.
Touch screen teda nahrdza klvesnicu i sveteln pero.
254
KAPITOLA
5.
GRAFICK
O
VLD
A
E
Kapitola
6
Grack sn mae
6.1 Scanner
Scanner umouje na tanie obrazovch predlh do pam&te po taa. Prevdza ich na
digitlny tvar, teda do selnho tvaru obsahujceho nuly a jednotky. Nasn man obra-
zov predlohy potom mono pomocou rznych gra ckch programov prezera, upravova
i tlai. Druh spsob vyuitia je, e nasn mame text a potom pouijeme pecilny
program na rozoznvanie p sma.
Scanner pracuje nasledovne: obrazov predloha sa umiestni do scannera obrazom
dole. Sveteln zdroj (7uorescenn trubica) osvetujca predlohu je umiestnen na po-
hyblivej rampe. Svetlo sa odra od obrazu a od systmu pohybujcich sa zrkadiel.
Vyu va sa vlastnos, e tmav oblasti (ierne body dokumentu) odraj len mlo svet-
la, zatia o svetl plochy odraj viac svetla. Odran svetlo je zrkadlami smerovan
na rampu fotodetektorov. Tieto detektory konvertuj svetlo na elektrick prd. m
je intenzita svetla v&ia, tm v&ie nap&tie generuj. Kad detektor je pripojen k
osobitmu kondenztoru, vetky kondenztory s spojen a tvoria analgov posuvn
register, v ktorom mono posva nap&tia uloen v jednotlivch kondenztoroch na
nasledovn poz ciu{ a ku krajnmu prvku, pripojenmu k vyhodnocovac m obvodom.
Krajn prvok je pripojen na vstup analgovo-digitlnych konvertorov, ktor pr slunmu
nap&tiu priradia zodpovedajcu seln hodnotu.
Obrzok 6.1: Prca scannera
255
256
KAPITOLA
6.
GRAFICK
SNMA
E
Obrzok 6.2: Scanner (princ p)
V jednom kroku sa sn ma cel riadok bodov. Na vstup alieho riadku krokovac
motorek posunie zrkadlov plochu o hodnotu zodpovedajcu rozleniu scanera.
Ben je interval 256 hodnt pri iernobielom sn man (udva sa ako 256 odtieov
edi).
Farebn scannery pracuj podobnm spsobom. Pre kad bod sn maj intenzitu
ervenej, zelenej a modrej zloky odrazenho svetla a prevdzaj intenzity do digitlnej
formy. ie pre kad bod dostaneme vektor s troma zlokami, vyjadrujcimi intenzitu
jeho farebnch zloiek (R,G,B).
Najjednoduch m spsobom realizcie je obrazov predlohu sn ma trikrt{ najskr
umiestni pred fotodetektory erven, potom zelen a nakoniec modr lter. Rchlejie
pracuje scanner, ktor pou va tri sn macie rampy{ pred kadou je umiestnen osobit
farebn lter a svetlo z predlohy je odran na kad z nich. Tmto spsobom je mon
predlohu zosn ma v jednom kroku.
Scannery mu by bu run alebo stoln. Run s lacnejie, no kee maj mal
zorn pole (asi 12cm), tak sa skr hodia na sn manie men ch predlh ( rky 12 cm), do
stolnch scannerov mono vklada aj predlohy v& ch formtov - najastejie A4 a A3.
6.2 Tablet
Tablet, nazvan aj digitizr je vstupn zariadenie asto vyu van v stavebnom, stro-
jnom a elektrotechnickom ininierstve. Mono pomocou neho prekresova schmy a
vkresy{ pou va sa CAD-aplikcich (t.j. v po taovom nvrhu dizajnu).
Najv&ia as tabletu m tvar plochej dosky rozmerov A5, A4, alebo A3, ku ktorej je
pripojen kresliace prav tko s vyznaenm bodom a tlaidlami. Po stlaen tlaidla tablet
vyle po tau sradnice bodu, na ktor ukazuje vyznaen bod prav tka. Sradnice
u kad program interpretuje osobitne: napr klad oznaen m dvoch bodov sa nakres-
l seka spjajca tieto dva body alebo sa nakresl kruh so stredom v prvom bode
prechdzajci cez druh bod a podobne....
Povrch kresliacej plochy je pokryt radmi nepret najcich sa zvislch a vodorovnch
elektrickch vodiov. Uloen s tesne pod povrchom kresliacej plochy, zaliate do plastu
Obrzok 6.3: Rucny Scanner (princ p)
(hmoty, z ktorej je zloen kresliaca plocha). Hustota pokrytia kresliacej plochy vodimi
zodpoved rozl eniu tabletu. Po stlaen tlaidla na prav tku prav tko generuje elek-
tromagnetick impulz (vo vyznaenom bode prav tka). Ten spsob , e sa vo vodioch
nachdzajcich sa v okol vyznaenho bodu generuje el. prd. Jeho intenzita je mern
vzdialenosti od vyznaenho bodu prav tka najv&ia je v tom zvislom a vodorovnom
vodii, ktorch priesen k je bod najbli vyznaenmu bodu prav tka (vi animcie).
Sasou tabletu je niekoko tlaidiel, ktormi meme vyvola rzne funkcie beiacej
aplikcie. Me to by nakreslenie objektu na danej poz ci vyznaenho bodu prav tka
(napr. vykreslenie tvorca, kruhu, elektronickej siastky), gra ck opercia (napr. vy-
plnenie objektu) a in. Na plochu s tlaidlami sa umiestni ablna pokrvajca povrch
vetkch tlaidiel s gra ckmi symbolmi v mieste tlaidiel. 3ablna je peci ck pre
dan aplikciu, gra ck symboly na tlaidlch popisuj pr slun funkcie aplikcie, ktor
stlaen m vyvolme.
Op sali sme niektor najznmejie a najpou vanejie perifrie: monitory, tlaiarne,
klvesnice, myi, joysticky a alie polohovacie a sn macie zariadenia. Je nemon (a aj
zbyton) op sa vetky perifrie, pretoe je ich neprebern mnostvo{ na pecilne lohy
sa asto pou vaj peci ck perifrie. Takisto do tejto publikcie neboli z rozsahovch
dvodov zaraden aj niektor alie pou van perifrie, napr klad digitlne fotoaparty
a videokamery, alebo zvukov karty. Informcie o nich itate njde v alej literatre
(vi zoznam literatry).
Zver
259
Zoznam literatry
...
261
Obsah
vod
i
I Matematick zklady
9
1 SELN SSTAVY
13
1.1 Pozin a nepozin seln sstavy . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Prevody medzi selnmi sstavami . . . . . . . . . . . . . . . . . . . . . . 14
2 LOGICK FUNKCIE
17
2.1 Logick premenn a zkladn opertory . . . . . . . . . . . . . . . . . . . 17
2.2 De n cia logickej funkcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Zjednoduovanie zpisu logickej funkcie . . . . . . . . . . . . . . . . . . . 23
3 K!DOVANIE INFORM"CI
29
3.1 Kdovanie celch sel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Binrna aritmetika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Relne sla a relna aritmetika
35
4.1 Kdovanie relnych sel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Aritmetick opercie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Realizcia matematickch funkci . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 Nepresnosti pri vpotoch . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5 In spsoby k dovania sel
45
5.1 BCD kd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 Grayov kd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
II slicov obvody
49
1 Kombinan obvody
53
1.1 Zkladn kombinan obvody . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.2 Viacvstupov logick funkcie . . . . . . . . . . . . . . . . . . . . . . . . . . 55
1.3 Zjednotenie, prienik a doplnok . . . . . . . . . . . . . . . . . . . . . . . . 55
1.4 Vber informcie - vhybka . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1.5 Testovanie parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.6 Dekder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.7 Prioritn kder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
265
266
OBSAH
1.8 Multiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.9 Demultiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.10 Porovnvac obvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.11 Realizcia zkladnch aritmetickch operci . . . . . . . . . . . . . . . . 65
1.11.1 S taka (sumtor) . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.11.2 S taka so zrchlenm prenosom . . . . . . . . . . . . . . . . . . . 66
1.11.3 S taka pre sla v doplnkovom kde . . . . . . . . . . . . . . . . 68
1.11.4 Od taka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.12 Aritmeticko-logick jednotka (ALU) . . . . . . . . . . . . . . . . . . . . . 71
2 Sekvenn obvody
73
2.1 Veobecn charakteristika sekvennho obvodu . . . . . . . . . . . . . . . 73
2.2 Asynchrnne a synchrnne sekvenn obvody . . . . . . . . . . . . . . . . 75
2.3 Klopn obvod SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.4 M-obvod a MEM-obvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.5 In klopn obvody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.5.1 Dvojstupov klopn obvod MS-SR . . . . . . . . . . . . . . . . . 79
2.5.2 Klopn obvod JK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.5.3 Klopn obvod D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.6 ta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.7 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.7.1 Jednoduch register . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.7.2 Funkcia posvania . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.7.3 Posuvn register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.8 Aplikcie taov a posuvnch registrov . . . . . . . . . . . . . . . . . . . 82
2.8.1 Nsobenie dvoch dvojkovch sel . . . . . . . . . . . . . . . . . . . 82
2.8.2 Prevod zo sriovho na paraleln tvar a naopak . . . . . . . . . . . 83
2.8.3 In aplikcie sekvennch obvodov . . . . . . . . . . . . . . . . . . 83
2.9 Realizcia pam&te . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3 Riadiace obvody
85
3.1 Zloitejie sekvenn obvody . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2 Radi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
III Procesor
87
1 Popis procesora
91
1.1 Funkcia a klasi kcia procesorov . . . . . . . . . . . . . . . . . . . . . . . 91
1.2 Schma procesora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
1.3 Intrukcie, intrukn sbor . . . . . . . . . . . . . . . . . . . . . . . . . . 93
1.3.1 Formt intrukcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.3.2 Typy intrukci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.3.3 D0ka zpisu intrukcie . . . . . . . . . . . . . . . . . . . . . . . . 96
1.3.4 as trvania intrukcie . . . . . . . . . . . . . . . . . . . . . . . . . 96
1.4 Mnoina registrov (Register Set) . . . . . . . . . . . . . . . . . . . . . . . 96
1.5 Metdy adrescie argumentov . . . . . . . . . . . . . . . . . . . . . . . . . 98
1.6 Preruenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
OBSAH
267
2 Princpy realizcie procesora
103
2.1 Princ p vykonvania intrukci . . . . . . . . . . . . . . . . . . . . . . . . 103
2.2 Aritmeticko- Logick jednotka (ALU) . . . . . . . . . . . . . . . . . . . . 105
2.3 Control logic unit (CLU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.3.1 Realizcia CLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.4 Mikroprogramov CLU a mikroprogramovanie . . . . . . . . . . . . . . . . 110
2.4.1 Mikroprogramovanie . . . . . . . . . . . . . . . . . . . . . . . . . . 110
2.4.2 Mikroprogramov CLU . . . . . . . . . . . . . . . . . . . . . . . . 110
2.4.3 Jazyk RTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.4.4 Formty mikrointrukci . . . . . . . . . . . . . . . . . . . . . . . . 114
2.4.5 Vhody a nevhody mikroprogramovania . . . . . . . . . . . . . . 115
2.4.6 Podporn prostriedky pre mikroprogramovanie . . . . . . . . . . . 115
2.5 Zbernice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.6 Parametre CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
IV Zvyovanie v konu procesora
119
1 MMX
123
1.1 Popis technolgie MMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
1.2 Aritmetika 'so zarovnanm' a aritmetika 'bez prenosu' . . . . . . . . . . . 127
1.3 Pr klady intrukci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
1.4 Rchlostn testy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
1.5 Zver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
2 Paraleln spracovvanie intrukci
131
2.1 Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
2.2 Predpovedanie vsledkov vetvenia . . . . . . . . . . . . . . . . . . . . . . 134
2.3 Superskalrne vykonvanie . . . . . . . . . . . . . . . . . . . . . . . . . . 136
2.4 Vykonvanie mimo poradia . . . . . . . . . . . . . . . . . . . . . . . . . . 138
2.5 3pekulat vne vykonvanie . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
2.6 Predpovedanie hodnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2.7 Zver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
3 RISC
145
3.1 Intrukn sada procesorov RISC . . . . . . . . . . . . . . . . . . . . . . . 145
3.2 Porovnanie RISC a CISC . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.2.1 Filozo a CISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.2.2 Porovnanie RISC a CISC . . . . . . . . . . . . . . . . . . . . . . . 146
3.3 Vhody a nevhody procesorov RISC . . . . . . . . . . . . . . . . . . . . 147
3.4 Vyuitie RISC procesorov . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
V Pamte
149
1 Pojem pam#ti
153
2 Parametre pam#t
155
268
OBSAH
3 Rozdelenie pam#t
157
4 Triedy pam#t
161
5 Polovodiov pam#te
163
5.1 Pam&ov leny polovodiovej pam&te . . . . . . . . . . . . . . . . . . . . 163
5.2 Realizcia pam&te RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
6 $alie technol gie pam#t
167
6.1 Mechanick zznam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
6.2 Magnetick zznam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
6.2.1 Magnetick pskov pam&te . . . . . . . . . . . . . . . . . . . . . . 171
6.2.2 Kazetov pskov pam&te . . . . . . . . . . . . . . . . . . . . . . . 171
6.2.3 Disketov pam&te . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.2.4 Magnetick diskov pam&te . . . . . . . . . . . . . . . . . . . . . . 175
6.3 Magnetick bublinov pam&te . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.4 Optick zznam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.4.1 Vznik CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.4.2 Zkladn princ py . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.4.3 Optick sstava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.4.4 Typy mdi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.4.5 CD Digital Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.4.6 CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.4.7 CD-Recordable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.4.8 CD ReWritable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.4.9 DVD disky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
7 Vyvjan technol gie pam#t
189
8 Rzne pam#ov truktry
191
8.1 CACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
8.1.1 Organizcia CACHE . . . . . . . . . . . . . . . . . . . . . . . . . . 193
8.2 Asociat vna pam& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
8.3 Modulrna pam& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
8.4 Zsobn k a fronta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
VI I/O komunikcia
197
1 Zloenie I/O systmu
201
2 Prstup k I/O zariadeniam
(I/O accesing)
203
3 Prenos dt
205
3.1 Prenos dt na fyzickej rovni . . . . . . . . . . . . . . . . . . . . . . . . . 205
3.2 Mdy prenosu dt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
OBSAH
269
4 Riadenie prenosu dt
209
4.1 I/O riaden programom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
4.2 I/O riaden pomocou preruen . . . . . . . . . . . . . . . . . . . . . . . . 210
4.3 Direct memory access (DMA) . . . . . . . . . . . . . . . . . . . . . . . . . 211
5 Rozhranie (Interface)
213
VII Perifrne zariadenia
215
1 Rozdelenie perifrnych zariaden
219
2 Displeje
221
2.1 Reimy zobrazovania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
2.2 Farebn zobrazovanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
2.3 Princ p prce monitora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
2.4 Gra ck karta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
3 Tlaiarne a sradnicov zapisovae
235
3.1 Typov tlaiarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
3.2 Mozaikov tlaiarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
3.3 Laserov tlaiarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
3.4 Atramentov tlaiare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
3.5 Farebn tla, voskov a subliman tlaiarne . . . . . . . . . . . . . . . . . 240
3.6 Sradnicov zapisovae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
4 Klvesnica
243
4.1 Realizcia klvesnice - detekcia stlaenia klves . . . . . . . . . . . . . . . 244
4.1.1 Komunikcia po taa s klvesnicou . . . . . . . . . . . . . . . . . 246
5 Grack ovldae
249
5.1 My . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
5.2 Joystick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5.3 Sveteln pero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
5.4 Dotykov obrazovka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
6 Grack snmae
255
6.1 Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.2 Tablet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Zver
259
Zoznam literatry
261
Automaticky vygenerovaný textový náhľad. Pre plné formátovanie si stiahnite súbor.
nechodím na prednášky