Dynamisk adresseoversættelse (i Z-arkitektur)

I Z-arkitekturen er dynamisk adresseoversættelse (Dynamic Address Translation eller DAT ) oversættelsen af ​​en virtuel adresse til en rigtig.

Angivelse af adresserum

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.

Dynamisk adresseoversættelse

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 .

Links