Beruflich Dokumente
Kultur Dokumente
2.1. A szervezs
Szervezs alatt a processzor ltal az aritmetikai s a logikai mveletek sorn egyidejleg
(prhuzamosan) feldolgozott bitek szmt, a gpi sz hosszsgt rtjk. A processzorhoz
csatlakoz memria szervezsnek, (az egy cmen elrhet adat mennyisgnek), valamint az
adatbusz szlessgnek ezzel kompatibilisnek kell lennie. (gy tulajdonkppen inkbb a
szmtgp szervezsrl beszlhetnnk.) Ngy alapvet vltozat van: a bit-, a bjt-, a sz- s a
kombinlt szervezs. A bitszervezsnek inkbb csak elvi jelentsge van. Szszervezsnl a gpi
sz hosszsga ltalban binrisan kerek szm (16 bit, 32 bit, stb.) A szszervezs igen gyakori
specilis esete a bjtszervezs, ahol a gpi sz hosszsga 8 bit. Nemrg mg a folyamatirnyts
terletn az ilyen processzorok voltak a legelterjedtebbek. A kombinlt szervezs azt jelenti, hogy
a processzor bizonyos gpi utastsok vgrehajtsa sorn rvidebb, mg ms utastsoknl
hosszabb adatokkal dolgozik. A nagyobb adatelem hossza a rvidebbnek ltalban binrisan
kerek szm tbbszrse. A kombinlt szervezsnl memriacmzskor elrhet a teljes adat s
annak nllan cmezhet rszei is. Tipikus eset: 32 bites sz, 4 bjtra osztva.
2.2. Az adatbrzols
Az adat a gpi szban elhelyezked bitek sorozata, melynek nmagban jelentse nincs.
rtelmezse, valamint a gpi sz esetleges struktrlsa a feldolgoz program feladata. (Ugyanaz
a bitminta klnbz programok szmra klnbz jelentstartalmat hordoz.) Ilyen rtelemben
az adatbrzols ktetlen, a gpi szban brmi lehet. Vannak azonban olyan gpi utastsok,
amelyek felttelezik a bitsorozat bizonyos struktrltsgt, vagyis rtelmezik az adatot. Az ilyen
utastsok (pl lebegpontos aritmetikai mveletek) kttt adatformtumot ignyelnek, vagyis a
gpi sz bizonyos helyein adott rtelm adatelemnek kell lennie. Ellenkez esetben az utasts
vgrehajtsakor hibs eredmny keletkezik.
2.3. A regiszterek
A regiszterek a processzorba integrlt, gyors elrhetsg bels trolelemek. A gyors
elrhetsg abbl addik, hogy olvassukkor vagy rsukkor nem kell idignyes buszciklust
lebonyoltani. A regiszterek hossza ltalban megegyezik a gpi sz hosszsgval, de vannak
ennl hosszabb s rvidebb regiszterek is. Lteznek un. ltalnos cl, valamint un. specilis cl
regiszterek.
Az ltalnos cl regiszterek tartalmt a processzor nem rtelmezi teht bennk gymond
brmi lehet, vagyis a programoz szabadon, akrmilyen adat trolsra hasznlhatja ket.
ltalnos cl regiszterek nlkl elkpzelhet ugyan processzor, de az olyan is, hiszen a
regiszterek rendkvl hasznos programozstecnikai eszkzk. Mondhatjuk, hogy egy processzor
annl jobb, minl tbb univerzlis regisztert tartalmaz.
A specilis cl regiszterekkel ms a helyzet. Ezek tartalmt a processzor meghatrozott
mdon rtelmezi, teht nem mindegy, hogy mi van bennk. Az ilyen regiszterekhez a
programoz csak specilis mdon (meghatrozott utastsokkal) frhet hozz, egyesekhez pedig
sehogy. Durva programhibk forrsa lehet, ha nem az elrt mdon s clra hasznljuk ket.
Specilis cl regiszterek nlkl nem kpzelhet el mkdkpes processzor, s minl
komplexebb egy processzor, annl tbb ilyen regisztert tartalmaz.
A specilis regisztereket kt csoportba szoks sorolni, vannak un. adatregiszterek s vannak
un. cmregiszterek. (Az elnevezs nem tl szerencss, mert a cm is tekinthet adatnak.) Az
adatregiszterek hossza megegyezik a gpi sz hosszval, a cmregiszterek pedig a cmvel. (Az
utbbiak ltalban hosszabbak, pl. bjt-szervezs processzornl a cm rendszerint kt-bjtos.)
Tipikus adatregiszterek:
Akkumultor (AC): az aritmetikai egysg kzponti regisztere, az aritmetikai s a logikai
utastsok egyik (vagy egyetlen) operandusa.
Utastsregiszter (Instruction Register, IC): az ppen folyamatban lv utasts kdjt
tartalmazza.
Tipikus cmregiszterek:
Utastsszmll (Program Counter, PC): a soron kvcetkez utasts cmt tartalmazza.
Stack-pointer (SP): a stack aktulisan elrhet elemnek (tetejnek) a cmt tartalmazza.
Indexregiszterek: tmbelem elrsekor a tmb bziscmt (vagy az elem indext)
tartalmazzk.
Szegmensregiszterek: szegmentlt memria alkalmazsa esetn az egyes memria-
szegmensek bziscmt tartalmazzk.
Mg egyb specilis regiszterek is lteznek (az jabb processzorokban egyre tbb van); az
rdekld Olvas egy-egy konkrt processzor felhasznli kziknyvt tanulmnyozva bven
tallhat mg pldkat.
Ltezik mg egy rdekes, indirekt megolds. Egyes processzorokban csak felttel nlkli JUMP,
CALL s RETURN van, viszont van feltteles utastskihagy utasts (SKIP). Itt gy lehet
feltteles elgazst ltrehozni, hogy a felttel inverzt kpvisel SKIP utastssal kihagyjuk, vagy
sem a felttlen vezrlstad utastst.
Pldul: JZ most_nulla = SNZ, JUMP most_nulla,
(www.inf.unideb.hu/~jvegh/edu/prog/AoAHLA/html/ch0
7s02.html)
Ha meggondoljuk, egy kt-operandus utasts (pl. sszeads) vgrehajtshoz ngy cmet kellene
megadni: a kt operandus cmt, az eredmny cmt s a kvetkez utasts cmt. Valban, ez
volt a helyzet az un. ngycm gpeknl. (Volt, mert ma mr ilyenek nincsenek.) E gpek hallatlan
elnye az volt, hogy a program egyes utastsait nem kellett sorban egyms utn rni s a
memriba sem kellett sorban betlteni, hanem ssze-vissza lehetett doblni, hiszen minden
utasts tartalmazta a kvetkez cmt. Ha kiktjk, hogy a mveletvgzs eltt az egyik
operandusnak mr az aritmetikai egysg adatregiszterben, az akkumultorban kell lennie, akkor
ennek megadsa elmaradhat (hromcm gp). Ha azt is kiktjk, hogy az eredmny is az
akkumultorban marad (hiszen gyis ott keletkezik), akkor ezt sem kell megadni (ktcm gp).
Vgl, ha bevezetnk egy specilis regisztert, amely nyilvntartja, hogy a program vgrehajtsa hol
tart (vagyis kijelli a kvetkez utasts cmt), s amelyet a processzor az utastsciklus sorn
automatikusan inkrementl (ez az utastsszmll, a PC), akkor mr csak egy operandust kell
megadni. Ez a jelenlegi, un. egycm gp. Termszetesen itt kln utastsokkal kell gondoskodni
az egyik operandus akkumultorba-tltsrl, illetve az eredmny thelyezsrl.
Az indirekt cmzsnl egy pointert adunk meg, amely az adat helyre mutat, vagyis a cm
cmt hatrozzuk meg. Futskor itt mr nem csak az adat rtke, hanem helye is vltozhat.
B) Attl fggen, hogy a cm egszt, vagy csak egy rszt adjuk meg, beszlnk abszolt, illetve
relatv s indexelt cmzsrl.
A relatv s az indexelt cmzs hasonl; mindkettnl a cmnek csak egy rszt, egy
bziscmhez kpesti eltolst kell megadni. A teljes cmet a processzor futs kzben
automatikusan generlja a bziscmbl s az eltols rtkbl. Relatv cmzsrl akkor
beszlnk, ha a bziscmet tartalmaz regiszter az utastsszmll (PC), indexelt cmzsrl
pedig akkor, ha a bziscm egy indexregiszter tartalma.
Taln szksgtelen, mgis megjegyezzk, hogy mkds kzben a cmbuszon mindig teljes
cmnek kell megjelennie. A fentiek csak arra vonatkoznak, hogy a teljes cm meghatrozsa
egszben, vagy csak rzben a programoz feladata.
A fenti hrom szempont szerinti klnbz csoportokba tartoz cmzsi mdok a processzor
ltal biztostott keretek kztt egy mssal kombinlhatk. gy pl. beszlhetnk indirekt, indexelt
cmzsrl, ahol az operandus cmnek a cme van megadva (indirekt), de ez a cm egy tblzat
adott index eleme (indexelt).
Tevkenysg: Tanulmnyozza egy konkrt processzor ltal biztostott cmzsi lehetsgeket!
Kvesse vgig az adatelrs folyamatt.!