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.
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.
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 .