PDF

HW

Formát
PDF
Veľkosť
2,4 MB
Pridané
Stiahnutí
1 196
Hodnotenie
3,5/5
Stiahnuť PDF · 2,4 MB

Preber 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.

Otvoriť AI: ChatGPT · Claude · Gemini

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.