I Z-arkitekturen er dynamisk adresseoversættelse (Dynamic Address Translation eller DAT ) oversættelsen af en virtuel adresse til en rigtig.
I Z-arkitekturen kan der eksistere op til 216 adresserum , defineret af et unikt 16 -bit nummer (Address Space Number eller ASN ). Ændringen af adresserum i processoren udføres ved at indlæse ASN i processorens tilsvarende kontrolregistre med privilegerede og semi-privilegerede instruktioner. Yderligere oversættes ASN -koden til ASCE (Address Space Control Element) adresserumskontrolkode, som bestemmer parametrene for den dynamiske adresseoversættelsesproces i dette adresserum.
Efter at ASN er blevet oversat til ASCE -koden , begynder konverteringsprocessen direkte.
Den virtuelle adresse har følgende format:
Identifikator | RFX | RSX | RTX | SX | PX | BX |
Bitlængde | elleve | elleve | elleve | elleve | otte | elleve |
Formatet omfatter generelt fire typer indekser, der bruges ved adgang til DAT -tabeller : byteindeks ( BX ), sideindeks ( PX ), segmentindeks ( SX ) og første, anden og tredje regionsindeks. Brug af alle tre indekser tillader op til 16 EB (Exa Byte = 2 60 bytes), uden RFX op til 8 PB (Peta Byte = 2 50 bytes), og uden RFX og RSX op til 4 TB (Tera Byte = 2 40 bytes ) . ). Regionsindekser bruges kun til 64-bit adressering; for 32-bit adressering er de øverste 32 bit sat til nul.
Ved implementering af DAT kan der bruges op til fem transformationsniveauer, som hver er defineret af en separat tabel:
Rækken i hver tabel indeholder identifikatoren for dens type (tabel Type eller TT ) og basisadressen for tabellen på det næste niveau ( RSTO - for det andet niveau af regioner, RTTO - for det tredje niveau af regioner, STO - for segmenttabellen, PTO - for sidetabellen) og efter summering med det tilsvarende indeks fra den virtuelle adresse definerer en række i denne tabel. Længden af den næste tabel (antal 4KB blokke) er angivet i TL -feltet (Tabellængde). Derudover angiver TF -feltet forskydningen af begyndelsen af den næste tabel i forhold til slutningen af den aktuelle i de samme enheder. I - bitten bestemmer tilgængeligheden af segment- og sideregionerne, der er dækket af strengen.
ACSE-format:
TIL | R | DT | TL |
TO er adressen på den første tabel: den første, anden eller tredje regionale eller segmenttabel, afhængigt af værdien af DT -feltet samt længden af den tabel TL . For eksempel, med DT = 11, vil TO indeholde adressen på den første regionale tabel, og ved implementering af DAT vil alle 5 transformationsniveauer være involveret. R-bitten bestemmer typen af adresserum (virkelig eller virtuel).
Håndtering af antallet af DAT-niveauer:
DT | Første DAT-tabel |
00 | Første regionale tabel |
01 | Anden regionale tabel |
ti | Tredje regionale tabel |
elleve | segment tabel |
Når typen af TIL -feltet i ASCE - tabellen er defineret, begynder den faktiske konverteringsproces. Nemlig, baseadressen for tabellen fra ASCE tilføjes til det tilsvarende indeks fra den virtuelle adresse. Den første regionale tabel bruger RFX -indekset , den anden regionale tabel bruger RSX-indekset, den tredje regionale tabel bruger RTX -indekset, og segmenttabellen bruger SX -indekset . Herfra får vi adressen på næste niveau tabel og opsummerer den med det tilsvarende indeks fra den virtuelle adresse. Ved at bruge basisadressen fra segmenttabellen og PX -indekset fra den virtuelle adresse får vi adressen på sidetabellen, hvorfra vi finder den ønskede rigtige adresse ved hjælp af BX -indekset.
Da alle tabeller er gemt i reel hukommelse, og der med DAT kan ske op til fem konverteringer, kan konverteringstiden være uacceptabel lang. For at reducere den indføres en TLB (Translation-Lookaside Buffer) i DAT-enheden .