SzA2 - Az Adattér, Adatmanipulációs Fa Flashcards
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
BCD adattípusok
-pakolt -pakolatlan
Pakolt adattípusok
-EBDIC: változó hosszúságú, fix hosszúságú -ASCII: szabványos (7bit), kiterjesztett (8bit)
Karakteres adattípusok
-EBDIC -ASCII: szabványos (7bit), kiterjesztett (8bit) -UNICODE (2 bájt)
Logikai adattípusok
-1 bájtos (szemcsézettség) -2 bájtos -4 bájtos -változó hosszúságú
Összetett adattípusok fajtái
Elemi adattípusokból épülnek fel. Adatszerkezetek • Többféle elemi adattípus esetén rekordoknak nevezzük • Egyféle adattípus esetén o Tömb:1dimenziós–vektor o Lista o Fa(általábanbináris) o Sor (FIFO) o Halmaz o Szöveg o Verem(stack) Műveletek: a kivételeket pontosan tudni kell kezelni. Pld.: 0-val való osztás esetén mi a teendő? Műveletek készlete architektúra függő.
Címzési módok fogalma
Az egyes memória operandusok vonatkozásában a megengedett címzési módok deklarálása.
Címosztás fajtái
Címosztás (4GB->64GB) a. Abszolút címzés (nem használjuk) b. Relatív címzés (választunk egy bázis címet, és megadjuk a tőle való távolságot (különbséget). Y=B+D). c. Báziscím lehet: i. Dedikált regiszter ii. Program counter iii. Top offset iv. Bármilyen más mutató
Cím módosítás
- Cím módosítás a. Egy adatblokk egymás követő elemeit (autóinkrementálás/autódeklarálás) b. Egy adatblokk egyes speciális elemét. S-Start Rxi- az adott indexregiszter tartalma Y: cím -meghatározása: Ye=S+Rxi -kétdimenziós esetben: Ye=S+(Rbi)+(Rbj)
Tényleges cím deklarálása
- Tényleges (deklarált) cím interpretálása a. Direkt vagy indirekt címzés b. Valós vagy virtuális c. Utasításos kódok
Egyszerű regisztertér
Egyetlen akkumulátor – Neumann-féle architektúra
Hátránya
· Az eredményt rendszeresen ki kell menteni
· Bizonyos műveleteknek két eredménye van (pl. osztás esetén hányados
és maradék), az egyik az operatív tárba (memória) szorul Þ lassú
Egyszerű regisztertér
Egyetlen akkumulátor + dedikált regiszter (pl. hányados regiszter)
Előnye, Hátránya
Előnye
- · Gyorsította a műveletet
Hátránya
- · Drága, továbbá az esetek többségében üresen áll
Egyszerű regisztertér
Univerzális regiszter
Előnye
- · Általános célú
- · Igyekeztek minden változót csak addig bent tartani a regiszterben, amíg szükség van rá
- · Megfelelő gazdálkodással jelentős programgyorsítás érhető el
Egyszerű regisztertér
Veremregiszter
- · Igen gyors
- · Verem szervezésű
- Mivel csak a verem tetejét látjuk, ezért szűk keresztmetszetet ad