SzA2 - Az Adattér, Adatmanipulációs Fa Flashcards
(37 cards)
Az adattér fogalma
Olyan tér, ami biztosítja az adattárolást olyan formában, hogy az adattérben található adatok közvetlenül manipulálhatók legyenek a CPU által.
Az adattér két része és jellemzőik

Adatmanipulációs fa fogalma
Megmutatja a potenciális adatmanipulációs lehetőségeket. Bizonyos részfái megmutatják például egy adott implementáció adatmanipulációs lehetőségeit.
A memória tér két része (Címtér)
• fizikai memória • virtuális memória
A virtuális és fizikai memória kulcsjellemzői
a) két külön memória memóriatér létezik a. fizikai (CPU által látható, kisebb, így gyorsabb) b. virtuális (programozó által látható nagyobb) b) létezik olyan transzparens (a felhasználó szempontjából) mechanizmus, amely az éppen futó program számára nem szükséges adatokat automatikusan a fizikai címtérből átteszi a virtuális memóriába. Kétirányú adatforgalom: FM (itt fut a program, sokkal kisebb, gyorsabb) VM (ezt látja a programozó, nagyobb, lassabb) c) létezik olyan a felhasználó számára transzparens mechanizmus, amely a felhasználó által használt virtuális címet futási (execution) fázisban automatikusan lefordítja valós címekké. Egyirányú adatforgalom VM => FM (ma már erre a célra címfordító hardverek vannak a CPU- ban)

FMVM definíció
Létezik olyan transzparens (a felhasználó szempontjából) mechanizmus, amely az éppen futó program számára nem szükséges adatokat automatikusan a fizikai címtérből átteszi a virtuális memóriába. Kétirányú adatforgalom: FM (fizikai/valós memória) (itt fut a program, sokkal kisebb, gyorsabb) VM (ezt látja a programozó, nagyobb, lassabb)
VM=>FM definíció
létezik olyan a felhasználó számára transzparens mechanizmus, amely a felhasználó által használt virtuális címet futási (execution) fázisban automatikusan lefordítja valós címekké. Egyirányú adatforgalom VM => FM (ma már erre a célra címfordító hardverek vannak a CPU- ban)
A regisztertér meghatározása
Az adattér egy nagyteljesítményű része.
A regisztertér osztályozása
I. egyszerű regisztertér
II. adattípusonként különböző regisztertér
III. összetett (többszörös) regiszterkészlet
Az egyszerű regisztertér négy típusa
1) egyszerű regiszter struktúra AC-> akkumulátor regiszter (egyetlen, kitüntetett regiszter volt régebben, minden művelet után menteni kellett az eredményt az operatív tárba, hogy a következő operandust be tudjuk hívni) 2) +néhány dedikált adatregisztert AC + Data regiszterek (a programok feldolgozását felgyorsította) 3) univerzális regiszterkészlet (több regiszter volt, amit szabadon fel lehetett használni, hatékonyság növelése, gyorsabb, új programozási stílus, a gyakran használt változókat regiszterekbe lehetett menteni). Az első ilyen gép 1956-ban jelent meg, ami 8 db regisztert tartalmazott. 4) Stack Architektúra (regiszter): a processzor mindig a legfelső regisztert látja. Stack operandus: a regiszter címzés rövid, gyors, tulajdonképpen nem igényel címzést. Hátránya: szekvenciális hozzáférés a regiszter tartalmához, lassítja a feldolgozást, nem lehet a belső adatokat közvetlenül elérni (lehívás (fetch) szűk keresztmetszet).

Különféle adattípusokhoz különálló regiszterek
Cél a folyamatok felgyorsítása különös tekintettel a lebegőpontos (FP) műveletekre 4 byte (100szoros sebességnövekedés érhető el velük)
Egyszerű regiszterstruktúra
1) egyszerű regiszter struktúra AC-> akkumulátor regiszter (egyetlen, kitüntetett regiszter volt régebben, minden művelet után menteni kellett az eredményt az operatív tárba, hogy a következő operandust be tudjuk hívni)
Dedikált adatregiszterek
2) +néhány dedikált adatregisztert AC + Data regiszterek (a programok feldolgozását felgyorsította)
Univerzális regiszterkészlet
3) univerzális regiszterkészlet (több regiszter volt, amit szabadon fel lehetett használni, hatékonyság növelése, gyorsabb, új programozási stílus, a gyakran használt változókat regiszterekbe lehetett menteni). Az első ilyen gép 1956-ban jelent meg, ami 8 db regisztert tartalmazott.
Stack architektúra
4) Stack Architektúra (regiszter): a processzor mindig a legfelső regisztert látja. Stack operandus: a regiszter címzés rövid, gyors, tulajdonképpen nem igényel címzést. Hátránya: szekvenciális hozzáférés a regiszter tartalmához, lassítja a feldolgozást, nem lehet a belső adatokat közvetlenül elérni (lehívás (fetch) szűk keresztmetszet).
Összetett (többszörös) regiszterkészlet
Ciklusok, megszakítások, egymásba ágyazott folyamat. Kontextus: a program végrehajtás során a regiszterek állapotát az állapot információkkal (PC, flag) együtt kontextusnak nevezzük. Amennyiben egy eljárást hívunk kontextust kimentjük az operatív tárba LASSÚ folyamat! Megoldás: ahány eljárás annyi regiszter, több regiszterkészlet.
Többszörös regiszterkészlet tervezési tere
- több egymástól független regiszterkészlet Adatátadás (paraméterátadás) operatív táron keresztül történik. 2. átfedő regiszterkészlet (INS, OUTS, LOCALS) Több egymásba ágyazott eljárások gyorsítására alkották meg. Hátrány: fix és merev A regiszterek száma és a regiszterkészletek száma szerint is lehet szűk a keresztmetszet, túlcsordulás léphet fel. 6-8 regiszterkészlet esetén már kezelhető (4-5%) a túlcsordulások száma Max. 8 egymásba ágyazott eljárás/folyamatunk legyen. 3. stack-cache Ötvözi a: a. stack gyorsaságát b. veremregiszter szervezését c. a regiszterek közvetlen címezhetőségét Aktiválási rekordokat definiálunk, amelyek változó hosszúságúak, relatív távolság meghatározása. Rugalmas, nincs túlcsordulás, paraméterek, visszaadása is megoldott, ma ezt használjuk.
Adatmanipulációs fa részei
- (Legfelső szintje)adattípusok: FX1(Byte), FX2, FX4, BCD, FP4, FP8, boolean (FX = fix, FP = lebegő pontos, BCD = binárisan ábrázolt decimális) 2. Műveletek: például fix számosnál: +, -, *, / 3. Operandusok típusai: rrr, rmr, …, mmm (r = regiszter, m = memória) 4. Címzési módok: memória típusú operandusoknál R+D, PC+D, RI+D (D = displacement, R = regiszter, PC = program counter, RI = index register) 5. Gépi kódok (utasítások): Pl.: 10011110
Numerikus adattípusok
-fixpontos -lebegőpontos -BCD
Fixpontos adattípusok
-egyes komplemens -kettes komplemens -többletes kódolás
Kettes komplemens adattípusok
Előjeles: byte, szó, dupla szó, quadro szó (128 bit) Előjel nélküli
Lebegőpontos adattípusok
-normalizált -nem normalizált
Normalizált adattípusok
-hexa -bináris
Bináris adattípusok
IEEE: egyszeres pontosságú (32bit), kétszeres pontosságú (64bit), kiterjesztett pontosságú (128bit) VAX