Dinamikus címfordítás (Z architektúrában)

A Z architektúrában a dinamikus címfordítás (Dynamic Address Translation vagy DAT ) egy virtuális cím fordítása valós címre.

Címterek megadása

A Z architektúrában legfeljebb 216 címtér létezhet , amelyeket egy egyedi 16 bites szám (Address Space Number vagy ASN ) határoz meg. A processzorban a címterek megváltoztatása az ASN -nek a processzor megfelelő vezérlőregisztereibe való betöltésével történik privilegizált és félprivilegizált utasításokkal. Továbbá az ASN -kódot lefordítják az ASCE (Address Space Control Element) címtér-vezérlő kódra, amely meghatározza a dinamikus címfordítási folyamat paramétereit ebben a címtérben.

Dinamikus címfordítás

Miután az ASN le lett fordítva az ASCE kódra , az átalakítási folyamat közvetlenül kezdődik.

A virtuális cím formátuma a következő:

Azonosító RFX RSX RTX SX PX BX
Bit hossza tizenegy tizenegy tizenegy tizenegy nyolc tizenegy

A formátum általában négy típusú indexet tartalmaz, amelyeket a DAT táblák eléréséhez használnak  : bájt indexet ( BX ), oldalindexet ( PX ), szegmensindexet ( SX ), valamint első, második és harmadik régióindexet. Mindhárom index használata akár 16 EB-t tesz lehetővé (Exa Byte = 2 60 bájt), RFX nélkül akár 8 PB-t (Peta Byte = 250 bájt), RFX és RSX nélkül pedig akár 4 TB-ot (Tera Byte = 2 40 bájt ) . ). A régióindexeket csak a 64 bites címzésre használják, a 32 bites címzésnél a felső 32 bit nullára van állítva.

A DAT implementálásakor legfeljebb öt átalakítási szint használható, amelyek mindegyikét külön táblázat határozza meg:

Az egyes táblák sora tartalmazza a típusának azonosítóját (táblatípus vagy TT ) és a következő szint tábla alapcímét ( RSTO  - a régiók második szintjéhez, RTTO  - a régiók harmadik szintjéhez, STO  - a régiókhoz a szegmenstábla, PTO  - az oldaltáblázathoz), és a virtuális cím megfelelő indexével összegzés után meghatároz egy sort ebben a táblázatban. A következő táblázat hossza (4KB-os blokkok száma) a TL (Table Length) mezőben van megadva. Ezenkívül a TF mező a következő táblázat elejének eltolását jelzi az aktuális tábla végéhez viszonyítva, ugyanabban az egységben. Az I bit határozza meg a karakterlánc által lefedett szegmens és oldalrégiók elérhetőségét.

ACSE formátum:

NAK NEK R DT TL

A TO az első tábla címe: az első, második vagy harmadik regionális vagy szegmenstábla, a DT mező  értékétől függően , valamint a tábla hosszától függően . Például, ha DT = 11, a TO tartalmazza az első regionális tábla címét, és a DAT implementálásakor az átalakítás mind az 5 szintje érintett lesz. Az R bit határozza meg a címtér típusát (valós vagy virtuális).

A DAT szintek számának kezelése:

DT Az első DAT tábla
00 Első regionális tábla
01 Második regionális táblázat
tíz Harmadik regionális tábla
tizenegy szegmens táblázat

Amikor az ASCE táblában a TO mező típusa meg van határozva, elkezdődik a tényleges átalakítási folyamat. Ugyanis a tábla ASCE-ből származó alapcíme hozzáadódik a virtuális cím megfelelő indexéhez. Az első regionális tábla az RFX indexet használja , a második regionális tábla az RSX indexet, a harmadik regionális tábla az RTX indexet, a szegmenstábla pedig az SX indexet használja . Innen megkapjuk a következő szintű tábla címét, és összegezzük a virtuális cím megfelelő indexével. A szegmenstáblából a báziscímet és a virtuális címből a PX indexet felhasználva megkapjuk az oldaltábla címét, amelyből a BX index segítségével megtaláljuk a kívánt valós címet .

Mivel az összes tábla a valós memóriában van tárolva, és DAT esetén akár öt konverzió is előfordulhat, az átalakítási idő elfogadhatatlanul hosszú lehet. Ennek csökkentése érdekében egy TLB (Translation-Lookaside Buffer) kerül a DAT eszközbe .

Linkek