1.1. Ismertesse a Neumann elvû számítógép legfontosabb jellemzõit?

- a gép vezérlése tárolt program alapján történik

- a gép irányítása vezérlésáramlásos rendszerû, a számítógép vezérlõegysége a tárolt program utasításait egyenként sorra véve oldja meg a kívánt feladatot; az automatikus programvégrehajtás egyszerûsítése végett a vezérlõ egységben egy utasításszámláló regiszter tárolja a soron következõ utasítás tárolóbeli helyének címét;

- a gép tartalmaz egy közös tárolót, amely egyaránt tárolja a végrehajtandó program utasításait, valamint az utasítások által feldolgozandó adatokat is; a program és az adatok kódolására egyaránt bináris kódrendszert alkalmaznak;

- a program utasításai által megkívánt aritmetikai és logikai mûveletek elvégzésére egy önálló egység, az aritmetikai és logikai egység (ALU) szolgál;

- az adatok bevitelére és kihozatalára önálló egységek szolgálnak.

1.2. A folyamatok párhuzamosítására milyen lehetõségeket ismer hagyományos számítógép esetében?

- a számítógép erõforrásainak (processzor és egyéb eszközök) egyenletesebb terhelésére a multiprogramozott üzemmód alkalmazása;

- a funkcionális egységek többszörözése, multifunkciós processzor kialakítása;

- a processzor tevékenységének és az I/O mûveleteknek átlapolt végrehajtása (spooling technika alkalmazása);

- az utasítások és az aritmetikai mûveletek átlapolt feldolgozása, pipelining feldolgozás.

1.3. Sorolja fel a hagyományos számítógép erõforrásait és készítsen rajzot a belsõ felépítésrõl?

A hagyományos számítógépek erõforrásai

- központi egység vagy CPU

- memória

- háttértárolók

- sínrendszer

- perifériák

1.4. Ismertesse az alapvetõ adattárolási formákat és azok legfontosabb jellemzõit?

Numerikus adattárolás. A mûveletek elvégzésének gyorsítására szolgál, elsõsorban bináris formában történik, de egyszerûbb számítási feladatok esetében a tizes számrendszer-belli tárolási formát is alkalmazzák. A számokat lehet fix-, vagy lebegõpontos formában tárolni, a negatív számok megkülonböztetésére elõjelbiteket használnak.

Alfanumerikus adattárolás. Az alfanumerikus adatok (karakterek) tárolására a számitógépek különbözõ kódrendszereket használnak. Legelterjedtebb az ASCII kódrendszer 8 bites változata, amely 1 byte-on (8 bit) 256 karakter tárolására alkalmas.

Öndefiniáló adattárolás. Bonyolult adatstruktúrák közvetlen kezelésénél van jelentõsége, a tárolási forma az adat típusára vonatkozó információkat is tartalmaz.

2.1. Ismertesse a processzor fõ feladatait és részegységeit?

A központi egység (CPU) részei:

- vezérlõ egység

- aritmetikai és logikai egység

- belsõ regisztertár

- címképzõ egység

- busz-(sín) vezérlõ egység

A vezérlõ egység irányítja a tárolt program alapján a mûveletek végrehajtását, így az aritmetikai egység munkáját is. A vezérlõ egység feladata a processzor és az I/O eszközök közötti adatátvitel irányítása is.

2.2. Vázolja fel a processzor felépítését?

2.3. Röviden ismertesse a vezérlõ egység feladatát?

Feladata a gépi instrukció elemzése, dekódolása, és a CPU többi elemének, különösképpen a végrehajtó egységnek (ALU és regiszterek, esetleges védelmi egységnek) összehangolt mûködtetése.A vezérlõ egység az utasításregiszterben megjelenõ utasítás értelmezésével vezérlõ jeleket ad ki a processzor belsõ és a számítógép külsõ irányítására egyaránt.

2.4. Mi az ALU feladata és milyen részegységekre tagolható?

Az ALU feladatai közé tartozik:

- összeadás és kivonás. Kezeli a helyiérték átviteli biteket.

- fixpontos szorzás és osztás.

- léptetések (shift), bitek mozgatása jobbra/balra (ami már a fixpontos szorzás/osztáshoz úgyis kell).

- lebegõpontos aritmetikai mûveletek.

Az ALU több fõ részre tagolható:

- összeadó egység

- léptetõ áramkörök

- logikai áramkörök a logikai mûveletek végzéséhez

- regiszterek ideiglenes adattárolásra

2.5. Mit nevezünk belsõ regisztertömbnek és mire szolgál?

A processzor belsõ tárolóelemeit együttesen nevezzük belsõ regisztertömbnek. A regisztertömb elemeinek feladata a processzorba érkezõ adatok ideiglenes tárolása, gyors hozzáférést biztosítva ezzel a processzor elemeinek az adatokon végzendõ mûveletekhez.

2.6. Sorolja fel a legfontosabb belsõ regisztereket, röviden ismertetve feladataikat?

- Utasításmutató regiszter (PC, v. IP), ami mindig a soron következõ instrukció tábeli címét tárolja. Saját hardver inkrementációja van, az instrukció feldolgozása során automatikusan növekszik a tartalma (nem szükséges gépi instrukcióval léptetni).

- Verem-mutató regiszter (SP: Stack Pointer). A verem tetejét mutatja. A "verem instrukciók" (PUSH, POP) automatikusan hivatkoznak az SP-re és automatikusan állítják.

- Utasításregiszter (IR). A vezérlõ egységhez tartozó regiszter, amelyben a memóriából lehozott utasítás tárolódik, amíg a CU az utasítás mûveleti jelrésze alapján meghatározza az elvégzendõ mûveletet és elindítja a mikroprogramot.

- Bázisregiszter (BR). Az operandus címzéséhez felhasznált regiszter, használata nem általános. Az utasításban a BR-ben levõ címhez (báziscím) viszonyítva adjuk meg az operandus helyét.

- Szegmensregiszterek. A feladatuk hasonló a BR-hez, több processzorban is alkalmazzák õket.

- Indexregiszter. Szintén a címzésnél van szerepe, elsõsorban az adatsorozatokon végzett mûveleteknél.

- Állapotregiszterek és vezérlõregiszterek. A processzor belsõ állapotát jellemzõ biteket tartalmaz. A jelzõbitek az instrukciók végrehajtása során beállnak, jeleznek egy állapotot. A feltételes ugró instrukciók éppen ezeket a jelzõbiteket használják a feltételre.

2.7. Ismertesse a veremtároló használatát?

A veremtároló egy speciális tároló, amely elsõsorban az alprogramok kezelését segíti. A verem nem része a belsõ regisztereknek, általában a fõtárolóban kerül kialakításra. Szervezése LIFO (Last in first out) jellegû, ami azt jelenti, hogy az utoljára bekerült adat vehetõ ki elõször (Több szintû verem létezhet, több SP is lehet).A "verem instrukciók" (PUSH, POP) automatikusan hivatkoznak az SP-re és automatikusan állítják.

3.1. Ismertesse a közvetlen címzési módokat?

Abszolút (bázis) címzési mód. Az utasítás címrészében az operandus valódi, pontos címe található. A cím vonatkozhat a memóriára, vagy a processzor valamelyik regiszterére. Regisztercímzés esetén kisebb hosszúságú címrészre van szükség, mint memóriacímzésnél. Az így történõ címzés esetén a program és az adatok a memóriában nem helyezhetõk át, mivel az áthelyezéssel változik a cím. Ez elsõsorban vezérlésátadó utasítások esetében okoz gondot.

Relatív (szegmentált) címzési mód. Az utasítás címrésze az operandus valamilyen alapcímhez viszonyított címét tartalmazza. Ez lehet adatmezõ kezdõcíme, társzegmens kezdõcíme, program kezdetének címe, vagy magának az utasításnak a tárolóbeli címe. Ez az alapcím. A tényleges, valós címet az alapcím és a relatív cím összeadásával állítja elõ a processzor.

3.2. Ismertesse a közvetett címzési módot?

Indirekt címzésnél nem az operandus címe található az utasítás címrészében, hanem annak a tárolóhelynek a címe, ahol az operandus címét megtalálja a processzor. Egyes processzorok esetében ez a címzési mód lehet többszintû is. Az indirekt címzéshez a processzor használhat memóriabeli tárolóhelyet, vagy valamelyik saját regiszterét is.

3.3. Mit értünk közvetlen adatcímzés alatt?

Közvetlen adatcímzés alatt azt értjük, amikor az utasítás operandus részében nem az operandus címe, hanem maga az operandus található. Ez megszabja az operandusok legnagyobb értékét (az utasítás címrészének korlátozottsága miatt), ezért elsõsorban kis értékû konstansokkal való mûveletvégzéseknél alkalmazható.

3.4. Milyen címzési mód az indexelés és hol alkalmazzák?

Adatsorozatokon való mûveletvégzés esetén alkalmazandó az úgynevezett indexelt címzés. Ennél a módszernél az utasítás címrészében az adatsorozat elsõ elemének a címe található és a címregiszterben (IX) található az ettõl való eltérés, azaz hogy az adatsorozat hányadik elemével kell az utasításban megadott mûveletet elvégezni. Így az adatsorozaton való mûveletvégzés egyszerûbbé válik. Az indexelt címzési mód nagyban hasonlít a relatív címzésre, a tényleges cím az utasítás címrészének és az indexregiszternek az összeadásával áll elõ.

4.1. Rajzolja fel az utasítások általános szerkezetét és ismertesse röviden az egyes részek feladatát?

- operációs kód, amely az elvégzendõ feladat fajtáját mondja meg,

- címrész, amely a mûvelethez szükséges adatok memóriacímét mutatja meg,

- módosító rész - a pontos címmeghatározáshoz ad elõírást

4.2. Csoportosítsa az utasításokat címrészük szerint, ismertetve az egyes szerkezeteket?

Négycímes utasításszerkezet. A négycímes utasításszerkezet áll egy mûveleti jelbõl, tartalmazza továbbá két mûveleti operandus címét, az eredmény címét és a következõ utasítás címét. Az így keletkezõ utasítások igen hosszúak lesznek.

Háromcímes utasításszerkezet. Az utasításszámláló regiszter (PC) bevezetésével a soron következõ utasítás címe elhagyható,az így keletkezett utasításszerkezet áll egy mûveleti jelbõl, két mûveleti operandusból, és az eredmény címébõl. Minden egyes utasítás végrehajtásakor a processzor egyel növeli a PC tartalmát, de ez csak akkor lehetséges, ha az utasítások a végrehajtás sorrendjében vannak eltárolva a memóriában.

Kétcímes utasításszerkezet. A harmadik cím, az eredmény elhagyására kétféle módszer van. Az egyik, ha a processzor az eredményt automatikusan visszaírja az operandus helyére, vagy pedig az eredmény tárolására egy külön regisztert tart fenn. Ez általában az aritmetikai egységhez tartozó akkumulátor regiszter (AC).

Egycímes utasításszerkezet. A második operanduscím elhagyásával jutunk az egycímes utasításszerkezethez, amelyhez feltétlenül szükséges az AC regiszter, mint második cím. Így egy mûvelet mindig az utasításban megcímzett tárolóhely és az AC tartalma között kerül végrehajtásra és az eredményt a processzor visszaírja az akkumulátorba. A memóriában való adatmozgatás is az akkumulátort használja második operandusként.

Nullacímes utasításszerkezet. A nullacímes utasításszerkezethez szükséges az úgynevezett veremtároló alkalmazása. Az operandusokat a processzor mindig a veremtárolóból veszi és az eredményt oda helyezi el.

4.3. Csoportosítsa az utasításokat operációs kód szempontjából?

- adatmozgató utasítások, amelyek a gép két része közötti adatmozgatásra szolgálnak;

- mûveleti utasítások (aritmetikai és logikai utasítások)

- vezérlõ utasítások

- speciális, a mûködést szabályozó utasítások

4.4. Ismertesse az adatmozgató utasítások feladatát és típusait?

Az adatmozgató utasításokat egy, vagy több byte átvitelére használják. Összetett utasításkészletû processzorok esetében, ahol az utasításhossz nem állandó, magában az utasításban kell megadni az átvinni kívánt adat méretét. Az átvitt adat az eredeti helyén is megmarad, tehát ez valójában csak adatmásolás.

A memória-regiszter, regiszter-memória közötti adatmozgató utasításokat tároló hivatkozású adatátviteli utasításnak hívják.

Az adatmozgató utasítások közé tartoznak az úgynevezett periféria utasítások is. Ezek történhetnek programozott átvitellel - karakterenként, figyelmet fordítva a periféria állapotára (karakter átvihetõsége) - , megszakításos rendszerrel - aholis a periféria kezdeményezi az átvitelt (szintén karakterenkénti átvitel) - és közvetlen memória-eléréssel (DMA).

Speciális adatmozgató utasítások a veremkezelõ utasítások (PUSH, POP). Az operandusokat a processzor mindig a veremtárolóból veszi és az eredményt oda helyezi el, ehhez az SP regisztert használva fel.

4.5. Csoportosítsa a mûveleti utasításokat és ismertesse az egyes csoportokat?

A mûveleti utasítások közé tartoznak:

Aritmetikai utasítások.Az aritmetikai utasítások a bináris egészek és BCD számok összeadására, kivonására szolgáló utasítások, amelyek minden processzornál megtalálhatók, a szorzási és osztási utasítások, amelyekkel a 16 és 32 bites processzorok rendelkeznek, valamint a lebegõpontos mûveleti utasítások 32 bites processzorok esetében. Ezen mûveletek során a processzor az állapotregiszter egyes bitjeit (carry, sign, zero, overflow) beállítja, lehetõséget adva a programvégrehajtás vezérlésére.

Logikai mûveletek. A logikai mûveletek bitentként hajtódnak végre. Ezen elemi logikai mûveletek általában a logikai AND (ÉS), OR (VAGY), XOR (kizáró VAGY) és a NOT (tagadás), amelyeket minden processzor aritmetikai egysége ismer. A bonyolultabb logikai függvények ezen utasításokból elõállíthatók.

Léptetõ ás forgató utasítások. Léptetõ (SHIFT) utasítások a balra vagy jobbra léptetés, ahol a bitsorozat egy helyiértéket balra, vagy jobbra lép. A belépõ bit 0, míg a kilépõ bit az átvitel bitbe íródik. Forgatásnál (ROTATE) a kilépõ bit íródik be a belépõ bit helyére a bitsorozatban és a léptetéshez hasonlóan az átvitel bitben is megjelenik.

Bitmûveletek. A bitmûveletek egyes processzorok esetében külön mûveleteket jelentenek, melyekkel az operandusok egyes bit-jét állíthatjuk be a megfelelõ értékre, vagy egyszerûen csak ellenõrizhetjük azok állapotát. A külön bitmûvelettel nem rendelkezõ processzoroknál a bitmûveletek aritmetikai és léptetõ, illetve forgató utasításokkal végezhetõk el.

4.6. Ismertesse a vezérlõ és mûködést szabályozó utasításokat?

Vezérlõ utasítások.A program futását vezérlõ utasítások. Ezen utasítások általában a veremtárolót használják, ahová a vezérlés átadása elõtti (visszatérési) címet a proceszor elmenti. A verem tetejét az SP mutatja. A vezérlõ utasítások közé tartoznak:

Vezérlésátadó utasítások:

Feltétel nélküli és feltételes vezérlésátadó utasítások, azaz ugró utasítások. Feltétel nélküli ugrásnál az utasításban szereplõ címmel tölti fel a processzor az utasításszámláló regiszter tartalmát, amely a következõ utasítás címe lesz és a program innen folytatódik. Feltételes ugró utasításnál a mûveleti jelrész által elõírt feltétel teljesülése esetén adódik át a vezérlés az operandusban megadott címre és a program az ott található utasítással folytatódik. Ha az operációs kód által elõírt feltétel nem teljesül, a program a soron következõ utasítással folytatódik.

Szubrutinhívó utasítások:

Szubrutin (alprogram) hívó utasítások. Ezen utasítások feltétel nélküli vezérlésátadó utasítások, de megõrzik annak a helynek a címét, ahonnan a vezérlésátadás történt, így az alprogram végrehajtódása után a vezérlés visszatér az eltárolt címre és a program onnan folytatódik. Egyes processzorok esetében lehetõség van feltételes szubrutinhívó utasítások végrehajtására is.

Ciklusszervezõ utasítások:

Iteráció (hurok, vagy ciklus) utasítás. Az utasítás meghatározott programutasítások végrehajtását segíti elõ az utasításban szereplõ feltétel teljesüléséig.

A mûködést szabályozó utasítások a megszakításokra vonatkozó tiltás és engedélyezés (enable/inhibit interrupt). Ezek segítségével a perifériák által kezdeményezett megszakítás kérelmeket lehet tiltani, illetve engedélyezni. Ide tartozik a processzor futását felfüggesztõ utasítás (HALT), amelyet csak egy speciális megszakítás-kérelemmel lehet feloldani (RESET).

4.7. Ismertesse az alapvetõ gépi ciklusokat?

Normál gépi ciklus: a program végrehajtása során, utasításnak, illetve adatnak a memóriából történõ kiolvasására, adatnak a memóriába történõ beírására, vagy input port-ról történõ bevitelnek, illetve output port-ra történõ kivitelnek a végrehajtására alkalmas.

HALT típusú gépi ciklus: HALT állapotban a processzor nem hajt végre utasításokat, várakozik. A ciklust erre a célra szolgáló utasítással lehet elõidézni (HLT), elfogadását letiltani nem lehet, határozatlan ideig fennállhat. Az állapot feloldásához külsõ beavatkozás szükséges:

- külsõ HOLD igény jelzése - az igény elfogadása a HALT állapot ideiglenes felfüggesztését eredményezi, megszûnése után a processzor ismét HALT-ba kerül.

- a processzor reszetelése, azaz újraindítása - a PC nullázódik és az utasítások végrehajtása elkezdõdik a 0. memóriacímtõl.

- külsõ megszakításkérés - feltétel, hogy a megszakításkérõ bemenet engedélyezve legyen, errõl a HALT utasítás elõtt kell gondoskodni.

HOLD állapot: a processzor adatátvitelre szolgáló kimenetei nagyimpedanciás állapotba kerülnek. Utasításvégrehajtás nem folyik, a sínrendszer vezérlését át tudja venni más eszköz. Az állapot ideje meghatározatlan, kérését letiltani nem lehet. A HOLD jelzés megszûnése után a HOLD állapot is megszûnik.

4.8. Ismertesse az utasítás végrehajtásának lépéseit?

Utasításelõkészítés, utasításlehívás.A processzor ebben a fázisban a következõ utasítás memóriacímét, amelyet az utasításszámláló regiszter (PC) tartalmaz, átviszi a memória címregiszterébe (MAR). Amennyiben nem rendelkezik ilyennel, a PC tartalma a címsínt vezérlõ cím-pufferregiszterbe kerül. A processzor ez alapján keresi ki a tárból az utasítást, amely az utasításregiszterbe (IR) kerül.

Utasításszámláló regiszter tartalmának növelése. A PC tartalmának automatikus növelésével elõáll a következõ utasítás tárolóbeli helyének memóriacíme. A PC tartalma az utasításhossznak megfelelõ számmal nõ.

Mûveleti kód értelmezése, az operandus címének meghatározása. A processzor a mûveleti jelrész dekódolásával meghatározza, hogy milyen utasításokat kell végrehajtania, valamint az utasítás címrésze alapján meghatározza a mûvelethez használandó operandus(ok) címét. Amennyiben az utasítás nem igényel operandust (vezérlés), a processzor a végrehajtási fázisra tér át.

Adatok elõkészítése a mûvelet elvégzéséhez. A központi egység az elõzõekben kidolgozott cím alapján kikeresi az operandus(ok)at a memóriából és az utasítás által meghatározott helyre teszi, amely az esetek többségében az aritmetikai egység akkumulátora (AC), de lehet más regiszter is.

Végrehajtás. Megtörténik az utasítás által kijelölt feladat elvégzése az elõkészített operandussal. Vezérlésátadó utasítások esetén a processzor az utasításban levõ címet - amely meghatározza, hogy a program honnan folytatódjék - beírja a PC-be.

Az eredmény elhelyezése. A központi egység a kapott eredményt elhelyezi az elõírt helyre, amely többnyire az akkumulátor. Ezután újrakezdi az utasítás-feldolgozást.

4.9. Sorolja fel az összetett utasításkészletû (CISC) processzorok jellemzõit?

A CISC processzorok jellemzõi:

- Sok, akár néhány száz, közöttük több összetett instrukció.

- Bonyolultabb címzési módok lehetségesek, emiatt viszont változó hosszúságúak az instrukciók. Ez mint látni fogjuk, nehezíti a pipe-line feldolgozást.

- A gépi instrukciók változó ciklusidõt, a komplexebbek meglehetõsen nagy ciklusszámot igényelnek. Ez is nehezíti az átlapolt feldolgozást.

- Az assembly programozás feltétlenül egyszerûbb: a komplex instrukciók valóban komplex feladatokat oldanak meg. A compiler-ek írása is könnyû.

- Viszonylag kevés regiszter van.

4.10. Sorolja fel a redukált utasításkészletû processzorok jellemzõit?

A RISC architektúrák jellemzõi:

- Csak a legalapvetõbb instrukciók léteznek gépi szinten.

- Meglehetõsen sok regiszter van. Ennek elõnye nyilvánvaló, kevesebb a tármûvelet, sok a regisztermûvelet.

- Fix a kódhosszúság, egyszerûek a címzési módok.

- Egyszerû a dekódolás és gyors is.

4.11. Hasonlítsa össze a CISC és RISC processzorokat?

CISC processzorokRISC processzorok
1Az utasítások összetettek, több gépi ciklust igényelnekEgy gépi ciklus alatt végrehajtható egyszerû utasítások
2Több utasítás is igénybe veheti a tárolótCsak a LOAD/STORE utasítások használhatják a tárat
3A pipelining feldolgozás kismértékûJelentõs pipelining feldolgozás
4Mikroprogram által vezérelt utasítás-végrehajtásHuzalozott utasítás-végrehajtás
5Változó hosszúságú utasításokRögzített hosszúságú utasítások
6Sokféle utasítás és címzési módKevés utasítás és címzési mód
7Bonyolult mikroprogramBonyolult fordítóprogram
8Kevés regiszterNagyméretû regisztertár

5.1. Röviden ismertesse a huzalozott mûveleti vezérlés megoldási lehetõségeit?

Az elemi tevékenységek sorrendjének vezérlését bonyolult sorrendi, kombinációs áramkörrel oldják meg. Ez a szükséges sorrendben adja ki az egyes kapuk mûködtetésére szolgáló vezérlõ jeleket, amely gyors mûködést eredményez, de költséges megoldás. Egyszerûbben kezelhetõ a programozható logikával történõ megvalósítás. Ezek az áramkörök programozható ÉS és VAGY kapukból állnak. Huzalozott módon gyors mûködés érhetõ el, de viszonylagos drágasága miatt elsõsorban RISC processzoros gépeknél alkalmazzák, ahol fontos a nagy sebesség.

5.2. Mit neveznek mikroprogramozott mûveleti vezérlésnek?

Tárolt program, egy úgynevezett mikroprogram vezérli az elemi lépések sorrendjét, mely program utasításait mikroutasításoknak nevezik. Ez a tárolt program a ROM tárban helyezkedik el. A mikroprogram kezdõcímét a makroprogram operációs kódja adja meg. Lehetõség van a mikroprogram cseréjére. Ekkor a mikroprogramot a gép RAM - jában kell tárolni, így a gépen egy teljesen más utasításkészlet emulálható. Ez a módszer hatékonyabb és olcsóbb, mint a huzalozott megoldás és a hozzáértõ felhasználó számára is több lehetõséget nyújt a rendszer fejleszthetõségének terén.

5.3. Jellemezze a mikroprogramozott vezérlést?

A mikroutasítások szerkezetileg hasonlítanak a gépi kódú utasításokhoz. Két részbõl állnak, az egyik a következõ mikroutasítás címe a tárolt mikroprogramban, a másik a vezérlési mezõ, amely meghatározza az engedélyezett vezérlési pontokat. Ezen vezérlési pontok engedélyezése teszi lehetõvé elemi mûveletek végzését. Egy utasítás elemi lépéseinek vezérlése sok ilyen pont meghatározott sorrendben történõ vezérlését jelenti. A mikrovezérlõ egy mikrocímregisztert is tartalmaz a következõ mikroutasítás címének nyilvántartására. A mikrovezérlés tulajdonképpen egy processzoros vezérlés kicsinyített változata.

5.4. Jellemezze a két alapvetõ mikroutasítás szerkezetet?

Horizontális mikroutasítás esetében a vezérlési mezõ minden bitje egy vezérlési pont engedélyezését, vagy állapotjelzõ beállítását végzi. Egyes esetekben kódolt horizontális mikroutasítást alkalmaznak, amelyeknél a kódolt mezõkre osztott vezérlési mezõbõl dekódolás után kaphatók meg a pontonkénti vezérlõ jelek. A kódolt mezõk a vezérlési pontok egy-egy csoportját jelentik, mivel a vezérlési mezõ viszonylagosan kis mérete némely esetben nem elegendõ a nagy számú vezérlési pont kezeléséhez.

Vertikális vezérlési struktúrájú mikroutasításnál egy operációs kód és az operandus címe található, ezen formátum csak kis számú elemi mûveletet vezérel, így a gépi kódú utasítás végrehajtása több mikroutasítás végrehajtását jelenti. A mikroprogram tartalmazhat mikroeljárást, mikroszubrutint, hasonlóan a makroszintû utasításokhoz. A mûködés gyorsítására a mikroutasítások a vezérlõegység regisztertárainak tartalmával dolgoznak. Bonyolult mikroprogram esetére (szubrutinhívás, vezérlésátadás) a mikrovezérlõ tartalmaz egy utasításregisztert és egy utasításszámláló regisztert.

5.5. Jellemezze a RISC és CISC processzorokat mûveleti vezérlés szempontjából?

A vezérlési struktúra meghatározza a processzorok struktúráját is. Míg CISC processzorok esetében a mikroprogramozott vezérlés a jellemzõ, addig RISC struktúrájú processzoroknál a huzalozott vezérlést alkalmazzák. CISC processzorok esetében az utasítások feldolgozása egy mikroprogrammal megvalósított értelmezõs interpreter segítségével történik, míg RISC processzorok esetében erre nincs szükség, ugyanis a felhasználói program eleve egy egyszerû utasításokból álló gépi kódra fordítódik.

5.6. Ismertesse mûvelet-végrehajtás gyorsításának átlapolásos módszerét?

Az átlapolásos technika alapja a processzor folyamatainak részfeladatokra való osztása. Ezen folyamatok alatt az utasítások és mûveletek elvégzésének lépéseit kell érteni. A lényeg, hogy a folyamatot olyan lépésekre kell bontani, amelyek önálló egységet képeznek, egy-egy külön erõforráshoz kapcsolódnak. Így a felszabadult erõforrást egy másik folyamat rögtön igénybe tudja venni. Egy folyamat elvégzésének ideje nem változik, de ugyanazon idõ alatt több folyamat fut le. Ez az átlapolásos feldolgozás.

6.1. Mit neveznek regisztertárnak és mi a feladata?

A jelenlegi processzorokban található általános célú regisztereket nevezik regisztertárnak. Ezen regiszterek tetszõleges adat befogadására alkalmasak, tartalmuk bármikor cserélhetõ és így, mint lokális változó mûködnek. Elsõdleges feladatuk a processzor és a memória közötti adatforgalom csökkentése.

6.2. Ismertesse a regiszter ablaktechnikát?

Ablaktechnika esetében egyszerûsödik a programrészek közötti paraméterátadás. A kialakított ablakok mérete általában 4x8=32 regiszter. Ezt további négy, egyenként 8 regisztert tartalmazó részre osztják. Az elsõ részben a globális változók, a másodikban a bemenõ változók, a harmadik tömbben a lokális paraméterek, míg a negyedik ablakrészben a kimenõ változók helyezkednek el. Mivel a feladatok ablakai átlapolódnak, a paraméterek adatmozgatás nélkül, az ablakmutató értékének átállításával adhatók át. Ha az átadandó paraméterek száma nagyobb 7-nél (a 8 regiszterbõl 1 a visszatérési címet tárolja), a processzor a további adatokat a veremtárolóban helyezi el.

6.3. Ismertesse a cache tárak jelentõségét és használatukat?

A programok "lokalitása" megengedi, hogy az éppen végrehajtás alatt lévõ program és adatrész környezetét egy kisebb kapacitású, de nagyon gyors memóriában tároljuk. Ez a memória a cache. Tulajdonképpen a központi memória és a CPU közé illesztjük a gyorsító memóriát. A CPU-ban az operatív tár címe leképzõdik egy cache-beli címre is: ha kell valami és az a cache-ben is megvan, akkor csak onnan veszik. Ha nincs a cache-ben, a cache "frissítendõ", akár blokkos átvitellel is. A cache-tárak tartalom szerinti visszakeresést tesznek lehetõvé. A visszakeresés a keresett adat címe alapján történik. A cím tárolásakor csak annak egy részét kell a cache-ben tárolni, amely alapján a blokk kezdõcíme meghatározható. Ezt a processzor helyezi el a cache-ben és 'tag'-nek nevezik. A cím mellett a tárolt adatok állapotára vonatkozó információt is tárol a cache.

6.4. Sorolja fel a cache tartalmának betöltésére használt módszereket?

A cache tartalom betöltésének egyik módszere, mikor az igény felmerülésekor a processzor kikeresi a memóriából az adatot tartalmazó blokkot. Ez a legegyszerûbb eljárás, és itt a processzor betöltéskor azonnal meg is kapja az adatot.

Egy másik, elsõsorban kis blokkméretnél alkalmazott eljárásnál, feltételezve, hogy a blokk használata maga után vonja a rákövetkezõ blokk használatát is, a processzor elõkészíti azt betöltésre.

Egy harmadik, az úgynevezett szelektív módszernél csak azok az adatok kerülnek a gyorsító tárba, amelyeknek nincs szükség az átírására. Ez erõsen korlátozza a gyorsító tár alkalmazásának hatékonyságát

6.5. Sorolja fel a cache aktualizálására használt módszereket?

Azonnali átírás. Ennél a módszernél a módosított byte-ot a processzor azonnal beírja a memóriába.

Visszaírási eljárás. A processzor csak a cache-ben aktualizál, ha az adott byte-hoz tartozó blokk a cache-ben van, a fõtár tartalmát csak a blokk cseréjekor módosítja. Amennyiben a byte-hoz tartozó blokk nincs a cache-ben, csak a memóriában aktualizál a processzor. Ennél a módszernél a cache és a fõtár egyezõsége nem minden esetben biztosított.

Egyszeri beírásos módszer. A módosított byte elsõ cache-be írásakor a processzor a fõtár tartalmát is módosítja, de ezután csak a blokk cseréjekor írja át a memóriatartalmat.

6.6. Ismertesse a virtuális tárkezelés jelentõségét?

A fõtár mérete nem teszi lehetõvé, hogy a teljes program benne helyezkedjen el, ezért csak a végrehajtás alatt levõ programrészek helyezkednek el a memóriában. A többi programrész a háttértárolókon helyezkedik el. Manapság ennek automatikus hardver szintû alkalmazása a mikroprocesszorok esetében is általánosan használt lapozásos tárolókezelési módszer. Így lehetõvé vált, hogy a teljes tárolóterületet egy egységnek tekintve címezhessük, ezt nevezik virtuális címzésnek. Az így kialakított 'virtuális' címtartományban elhelyezkedõ blokkot feldolgozáshoz a központi tárba kell átvinni. Az átvitt blokk mérete lehet változó (szegmens) illetve rögzített (lap). A virtuális cím átszámítását valóssá a processzor végzi.

6.7. Ismertesse a virtuális tárkezelés szegmentálásos módszerét?

A szegmens mérete nem rögzített, szabadon, átlapolva is megadhatók, vagyis két szegmensen belül is megadható ugyanaz az adat. Emiatt idõrõl idõre üres, nem használt helyek keletkeznek a memóriában, amelyek megnehezítik az új szegmensek elhelyezését. Úgynevezett szemétgyûjtésre van szükség az elaprózott helyek felszabadítására, a memória átrendezésére.

A szegmens betöltésére alkalmazható módszerek:

First fit (elsõ szabad hely). A processzor a memóriát végigvizsgálva a szegmenset az elsõ olyan helyre teszi, ahová befér. Kis szegmensek esetében szinte összefüggõ tárterület hozható létre.

Next fit (következõ szabad hely). Nem a tároló elejétõl, hanem az elõzõ szegmens elhelyezésétõl kezdõdõen kezdi a processzor a szegmens méretének megfelelõ memóriahely kiválasztását.

Best fit (legjobb hely). Ebben az esetben a processzor az egész memóriát végigvizsgálja, míg végül kiválasztja azt a tárolóterületet, ahová a szegmenset beillesztve a legkevesebb szabad hely marad. Így nagyobb, összefüggõ területek kialakítására van lehetõség.

Worst fit (legrosszabb hely). A nagyobb, összefüggõ szabad terület kialakítása a cél, ezért a CPU oda helyezi el a szegmenset, ahol betöltés után a legnagyobb hely marad mellette.

6.8. Ismertesse a lapozásos technika jellegzetességeit?

A lapok mérete rögzített, 512 byte és 8 Kbyte között mozog, egy-egy rendszeren belül azonos. Nem átlapolhatóak, a memóriában úgynevezett lapkeretbe (frame) kerülnek, amely mérete megegyezik a lapmérettel. Lapváltásnál csak akkor merül fel probléma, ha elfogytak az üres lapkeretek, ilyenkor a processzor választ olyan keretet, amely kiüríthetõ az új keret számára. Lapbetöltésre akkor kerül sor, ha olyan adatra van szükség, amely nem található a memóriában levõ lapokon. Ez elindít egy lapváltási eljárás és egyidejûleg felfüggeszti egy utasítás végrehajtásának folyamatát.

6.9. Ismertesse a virtuális címképzés egylépcsõs módszereit?

Kétféle van, a szegmenscímek és a lapcímek.Szegmenscímek képzésének egyik módszere, amikor a cím elsõ 8 bitje a táblázat azon sorát adja meg, amely a szegmens fizikai címe, míg a pontos címet e fizikai cím és az utasításban szereplõ relatív cím összege adja. Ennél a képzési módnál a táblázat 256 bejegyzést tartalmaz, míg a maximális szegmenshossz 16 Mbyte. Lapcímek esetében a laptáblázat nagy mérete (> 1Mbyte) miatt a háttértárolókon helyezkedik el, a leggyakrabban használt lapok adatai a TLB-ben. A virtuális cím felsõ 20 bitje jelöli ki a táblázat megfelelõ sorát, ahol a lapkeret sorszáma található. Ehhez a sorszámhoz hozzáadva a virtuális cím alsó 12 bitjét, megkapjuk a tényleges fizikai címet.

6.10. Vázolja fel a hierarchikus védelmi szerkezetet?

6.11. Sorolja fel, hogy multitaszkos feldolgozásnál milyen okai lehetnek a taszkváltásnak?

Taszkváltás okai lehetnek:

- szegmensek közötti vezérlésátadás, amely TSS deszkriptorra mutat

- szegmensek közötti vezérlésátadás, amely taszk-kapura mutat

- visszatérés beágyazott taszkból

- megszakítás feldolgozása, ha az taszk-kapura mutat

7.1. Mi a szerepük a megszakításoknak?

A megszakítások a számítógép munkájának összehangolásában játszanak fontos szerepet. A megszakítási rendszer a folyamatok közben keletkezõ események feldolgozására szolgál. Ezen események lehetnek szinkron jellegûek, melyek keletkezése egy program futása közben meghatározható helyen és idõpontban várható (például túlcsordulás), aszinkron események, melyek várhatóak, de idõpontjuk elõre nem ismert (például adatbeolvasás), valamint váratlan aszinkron események , amelyek keletkezése nem várható (ilyen lehet egy hardverhiba). A megszakítási kérelem jelzi a processzornak valamely esemény bekövetkeztét, amely egy kiszolgáló folyamatot indít el egy késõbbi idõpontban (megszakítás idõpontja). A megszakítás tulajdonképpen a futó folyamat felfüggesztése annak kiszolgálása céljából.

7.2. Ismertesse a megszakítás helyének megállapítására szolgáló hardver módszert?

Hardver módszer esetén egy megszakításvezérlõ áramkör szabályozza a megszakítások kiszolgálását. A kérelem elfogadását visszaigazolás követi. Egy megszakítási vonal esetén a hely meghatározása úgy történik, hogy a visszaigazoló jel a kiszolgálást kérõ eszköztõl már nem halad tovább és ez elindítja a kiszolgáló rutint, több megszakítási vonal esetén pedig a kérelem helye egyértelmûen megállapítható (minden eszköznek saját vezetéke van). A legáltalánosabb hardver módszer a vektoros módszer, ahol a kérelmezõ eszköz a kiszolgáló rutin címét határozza meg a vezérlõ és a processzor számára.

7.3. Ismertesse a megszakítás kiszolgálásának lépéseit?

A kiszolgálási eljárást a processzor indítja el, amely az alábbi lépésekbõl áll:

- az eszközvezérlõ jelzi a megszakítási kérelmét (beállítja az int vonalat)

- a processzor a megszakítási kérelem visszaigazolását

- az eszközvezérlõ az adatvonalra helyezi a megszakítási vektor sorszámát

- a processzor tárolja a sorszámot

- a processzor elmenti az utasításszámláló- és az állapotregiszterek tartalmát a verembe

- a vektortáblából kikeresi a kért sorszámú kiszolgáló rutin kezdõcímét és betölti a PC-be, majd elkezdi a végrehajtást

- a rutin végrehajtása után a processzor visszatölti az elmentett állapot- és utasításszámláló-regiszter állapotokat, majd folytatja a feldolgozást

7.4. Mit neveznek I/O port-nak, sorolja fel a fontosabbakat?

A processzorral való kapcsolattartást az eszközvezérlõben levõ regiszterek segítik. Ezeket a regisztereket I/O portoknak nevezik. Fontosabb I/O portok:

- parancs regiszter; írható, az eszközvezérlõnek szóló elõírásokat tartalmaz

- állapot regiszter; olvasható, a processzor számára ad információt az eszköz állapotáról

- adatkimeneti regiszter; a kimenõ adatot fogadja be átmenetileg

- adatbemenet regiszter; a bemenõ adatot fogadja be átmenetileg

7.5 Ismertesse a közvetlen tárolóhoz fordulásos adatátviteli módszert?

DMA (közvetlen tárolóhoz fordulás). Nagyobb sebességû eszközöknél és adatblokkos átvitelnél használatos. A processzor által megszakítási vonal segítségével elindított DMA vezérlõ irányítja az átvitelt. Az átvitel lépései:

- a processzor megvizsgálja az I/O port állapotjelzõjét átviteli kérelem fogadásának szempontjából, hiba esetén hibavizsgáló rutint indít

- a processzor kiadja az átviteli utasítást és átadja az irányítást a DMA vezérlõnek

- a DMA vezérlõ végrehajtja az átvitelt, majd megszakítást kezdeményez a processzor felé

- a processzor ellenõrzi a DMA vezérlõt az átvitel végrehajtásáról, majd a sínfoglalást megszünteti.