Dynaaminen osoitteiden käännös (Z-arkkitehtuurissa)

Z - arkkitehtuurissa dynaaminen osoitteenmuunnos (Dynamic Address Translation tai DAT ) on virtuaalisen osoitteen muuntamista todelliseksi.

Osoiteavaruuksien määrittäminen

Z-arkkitehtuurissa voi olla jopa 216 osoiteavaruutta , jotka määritellään yksilöivällä 16 -bittisellä numerolla (Address Space Number tai ASN ). Prosessorin osoiteavaruuksien vaihto suoritetaan lataamalla ASN prosessorin vastaaviin ohjausrekistereihin etuoikeutetuilla ja puoliksi etuoikeutetuilla käskyillä. Lisäksi ASN -koodi käännetään ASCE (Address Space Control Element) -osoiteavaruuden ohjauskoodiksi, joka määrittää dynaamisen osoitteenmuunnosprosessin parametrit tässä osoiteavaruudessa.

Dynaaminen osoitekäännös

Kun ASN on käännetty ASCE - koodiksi , muunnosprosessi alkaa suoraan.

Virtuaaliosoitteella on seuraava muoto:

Tunniste RFX RSX RTX SX PX BX
Bitin pituus yksitoista yksitoista yksitoista yksitoista kahdeksan yksitoista

Muoto sisältää yleensä neljää indeksityyppiä, joita käytetään käytettäessä DAT -taulukoita  : tavuindeksi ( BX ), sivuindeksi ( PX ), segmenttiindeksi ( SX ) ja ensimmäinen, toinen ja kolmas alueindeksi. Kaikkien kolmen indeksin käyttö mahdollistaa jopa 16 EB:n (Exa Byte = 2 60 tavua), ilman RFX:ää jopa 8 PB:tä (Peta Byte = 2 50 tavua) ja ilman RFX:ää ja RSX:ää jopa 4 Tt (Tera Byte = 2 40 tavua ) . ). Alueindeksejä käytetään vain 64-bittisessä osoitteessa, 32-bittisessä osoitteessa ylemmän 32 bitin arvoksi asetetaan nolla.

DAT :ia toteutettaessa voidaan käyttää enintään viittä muunnostasoa, joista jokainen määritellään erillisellä taulukolla:

Kunkin taulukon rivi sisältää tyyppinsä tunnisteen (taulukkotyyppi tai TT ) ja seuraavan tason taulukon perusosoitteen ( RSTO  - aluetason toiselle tasolle, RTTO  - kolmannelle aluetasolle, STO  - segmenttitaulukko, PTO  - sivutaulukolle) ja summauksen jälkeen virtuaaliosoitteen vastaavan indeksin kanssa määrittää rivin tähän taulukkoon. Seuraavan taulukon pituus (4KB-lohkojen määrä) määritetään TL (Table Length) -kentässä. Lisäksi TF -kenttä osoittaa seuraavan taulukon alun siirtymän suhteessa nykyisen taulukon loppuun samoissa yksiköissä. I - bitti määrittää merkkijonon peittämien segmenttien ja sivualueiden saatavuuden.

ACSE-muoto:

TO R DT TL

TO  on ensimmäisen taulukon osoite: ensimmäinen, toinen tai kolmas alue- tai segmenttitaulukko riippuen DT -kentän arvosta sekä kyseisen taulukon pituudesta TL . Esimerkiksi, kun DT = 11, TO sisältää ensimmäisen aluetaulukon osoitteen, ja kun DAT toteutetaan, kaikki 5 muunnostasoa ovat mukana. R-bitti määrittää osoiteavaruuden tyypin (todellisen vai virtuaalisen).

DAT-tasojen määrän hallinta:

DT Ensimmäinen DAT-taulukko
00 Ensimmäinen aluetaulukko
01 Toinen aluetaulukko
kymmenen Kolmas aluetaulukko
yksitoista segmenttitaulukko

Kun ASCE - taulukon TO -kentän tyyppi on määritetty, varsinainen muunnosprosessi alkaa. Nimittäin taulukon perusosoite ASCE:stä lisätään vastaavaan indeksiin virtuaaliosoitteesta. Ensimmäinen aluetaulukko käyttää RFX -indeksiä , toinen aluetaulukko käyttää RSX-indeksiä, kolmas aluetaulukko käyttää RTX -indeksiä ja segmenttitaulukko SX - indeksiä . Täältä saamme seuraavan tason taulukon osoitteen ja summaamme sen virtuaaliosoitteen vastaavaan indeksiin. Käyttämällä segmenttitaulukon perusosoitetta ja virtuaaliosoitteesta PX -indeksiä saadaan sivutaulukon osoite, josta löydämme BX -indeksin avulla halutun todellisen osoitteen.

Koska kaikki taulukot on tallennettu todelliseen muistiin ja DAT:lla voi tapahtua jopa viisi muuntoa, muunnosaika voi olla liian pitkä. Sen vähentämiseksi DAT-laitteeseen lisätään TLB (Translation-Lookaside Buffer) .

Linkit