Hirdetés

Keresés

Hirdetés

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

  • Fiery

    veterán

    válasz robyeger #141 üzenetére

    A cache-ek nem egysegesek az MCM megoldasnal, hanem teljesen kulonalloak.

    Mikroszervereknel talan erdekes lehetne egy 8 magos low-end Opteron, az Intel Avoton ( [link] ) ellenfelekent szoba johetne, aka'r me'g alacsony orajelu GDDR5-tel parositva is. De az essential desktopon es az ultramobil szegmensben, ami az Atom es a Brazos terepe, nem igazan van ertelme 8 magot eroltetni.

  • P.H.

    senior tag

    válasz robyeger #141 üzenetére

    A címtérrel kapcsolatban azért tegyünk helyre pár dolgot: i386 (=IA-32) és x64 alatt minden CPU-n futó program rendelkezhet x GB memóriával (IA-32 alatt 2 GB általában, néha 3 GB), ez egy adott program 'játszótere', de ezzel nem rendelkezik szabadon: ennek részeit le kell foglalnia (API hívással) szükség esetén, és fel kell szabadítania (szintén API hívással) majd szükségtelenség esetén. Amely része nincs lefoglalva, ahhoz nem férhet hozzá: azt egy többszintű táblázat írja le programonként, hogy mely részek vannak lefoglalva; ezen a táblázatokat az OS vezeti, és a hardver ellenőrzi minden utasításnál, hogy jogszerűen hivatkozik-e az az adott címre.

    Adott a gépben levő RAM és a swap-lemezterület, ezt adjuk össze: ennyi a rendelkezésre álló összterület a programoknak (Windows esetén utóbbi növelhető dinamikusan, mivel nem partícióról, hanem file-ról van szó.) Minden, egy-egy utasítás részéről történő memóriahivatkozás egy címfordítást idéz elő az adott CPU-n éppen futó programban, a programonkénti 2 GB memóriaterületben meg kell találni, hol van az a rész: van-e egyáltalán? ha igen, akkor a RAM-ban van, vagy a page file-ban?

    Ezt a fordítást a TLB-nek nevezett rész csinálja meg minden egyes memóriaolvasáskor ill. -íráskor, ilyen a 386-osok óta van a CPU-kban, és több CPU-s rendszerben is kezeli ezt a hardver és az OS, nincs a szoftverek felől jelentősége.

    Ha azt olvasod, hogy 'egységes címteret kezel a GPU a CPU-val', akkor az azt jelenti, hogy ugyanezt a (virtuális = linear -> fizikai) programonkénti címfordítási mechanizmust tudja a GPU is, amit eddig csak a CPU tudott. (Eddig is kezelve voltak ezek, csak egyrészt nem 2-3 órajel alatt, másrészt a CPU-ban volt ez lekezelve - pl. GART -, így nem is voltak eléggé /program biztonságosak.)

    Itt egy AMD64 bit fordítási metódos:

    A CPU CR3 register tartalmazza az aktuálisan futó program táblázatának kezdőcímét (task-váltásnál ez is mindig cserélődik). 'CPU és GPU által kezelt egységes címtérnél' ennek a registernek a tartalmát ismeri a GPU is, valamint a fordítási mechanizmust is (a táblázatok melyik bitje mit jelent).

    [ Szerkesztve ]

    Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙

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