Hirdetés

Új hozzászólás Aktív témák

  • LordX

    veterán

    válasz 04ahgy #32 üzenetére

    Pedig de. Ne tessék összekeverni a virtuális címzést és a fizikai címzést, nagy hiba.

    Fizikai címzésre az x68-64 Long Mode-ban (64 bites módban) is ugyanolyan címfordítási sémát használ, mint a PAE, annyi különbséggel, hogy a 3. szintű fordítási tábla nagyobb (4 helyett 512 bejegyzés -> 2 helyett 9 bit), illetve ki van egészítve egy 4. szintű fordítási táblával (512 bejegyzés). ([link]), tehát a te logikád szerint még több felesleges adminisztratív költséget okoztak maguknak az architektúra megalkotói.

    Viszont itt szó sincs "felesleges adminisztratív költségről", az x86 processzorokban erre célhardverek vannak kitalálva (Ajánlott Wikipédia cikkek: TLB és MMU)

    Két dolgot is tudok mondani miért is kell ez a laptáblás-címfordítósdi játék: Először ha a virtuális és fizikai címek között 1-1 megfeleltetés lenne, nyugodtan el lehetne felejteni a cache-t mint olyat, ami meg nyilvánvaló okokból nem szerencsés. Másodszor virtualizáció esetében a virtuális gépek ugyanazon a virtuális címtartományon dolgoznak, és mivel más fizikai címekre akarom rárakni ugyanazt a virtuális címet, a teendő csak az, hogy a két virtuális gép egyik TLB szintjén más címre mutatok (mindegyik virtuális gépnek saját TLB-je van).

    Hogy még tovább bonyolódjon a helyzet, a K8 és K10 esetében a fizikai címtér csak 40 illetve 48 bites. A 48 bit úgy jön ki, hogy 4kiB blokkoknál (12 bit) a TLB 4 szintje mind 512 bejegyzést tartalmaz (4*9 bit). A virtuális címtartomány viszont tényleg 64 bites.

Új hozzászólás Aktív témák