Új hozzászólás Aktív témák
-
XMI
csendes tag
válasz fatpingvin #3 üzenetére
Nem, nem volt egyszerű megmondani az x86-os ring0-ban látott "physical" addressből.
Már azt sem triviális megmondani (ha nincs ECC és EDAC - desktopon általába nem szokott lenni), hogy melyik modul az érintett.
Daniel Gruss-ék (akik a Rowhammer és a Meltdown/Spectre sebezhetőségeket felfedezték) írtak egy cikket, amiben visszafejtették az Intel Core processzorokban az x86-os "fizikai" címek tényleges fizikai memóriamodul címekre leképezését: [link]
Messze nem egy-az-egyben megy a címbitek leképezése, és generációról-generációra az Intel mindig változtatott egy kicsit a logikán. Ennek a pontos műszaki indokát nem lehet tudni, de bizonyára volt valami ráció mögötte. Függ a leképezés a többcsatornás interleaving beállítástól is, a modulok méretétől (aszimmetrikus esetre is más leképezés van). Ez az egész természetesen hivatalosan dokumentálatlan volt.Réges-régen 1-2 chipset esetén még ismert volt ilyen szinten a memóriavezérlő működése, például Intel 440BX-re volt tool, ami képes volt a regiszterekből kiolvasni, hogy az egyes memóriamodulok pontosan hova vannak leképezve a processzor címtartományába. Nyilván akkoriban még lényegesen egyszerűbb volt az egész működés, nem volt több csatorna, stb.
Ha már a címből a memóriamodul azonosítva van, még mindig problémás az érintett IC beazonosítása. Az adatbiteknél is szintén lehetnek nemtriviális leképezések a processzor memóriavezérlőjében. Lévén, hogy a memóriamodult nem rakod át egyik gépből a másikba úgy, hogy az adatok meg is maradjanak közben ezért semmi nem kötelezi a gyártót, hogy egy szabványos leképezést használjon. (Kishibás memóriavezérlős processzorok gyári harvestelése is elvileg lehetséges, ha a gyártó eleve úgy tervezi meg, hogy az ECC miatti kihasználatlan kilencedik 8-bites blokkal helyettesíteni tudja a hibás 8 bites blokkot. Ez szintén belezavarhat a bitek sorrendjébe.)
És akkor még ott van az a probléma, hogy a memóriamodul gyártója hogy drótozta be a chipeket. Nyilván egy 8 chip-es modulon a [0..7]-es bit valószínűleg a legszélső IC lesz, mert akkor lehet legrövidebb vezetékekkel bekötni de a több rank-es memóriamoduloknál már eltérések lehetnek, hogy melyik rank fizikailag hova kerül. Registered memóriamodulnál a buffer IC is közben van, ami szintén megvariálja a vezetékezést.
Nem egyszerű feladat, és vannak kétségeim, hogy az új memtest86 minden esetben képes-e helyes eredményt mutatni. Mint ahogy egyébként láttam már szerverben az EDAC-ot is durván mellélőni (volt olyan hibás memóriamodullal dolgom, sajnos többel is, amit ha betettél a gépbe, akkor 3 másik modult jelzett hibásnak, csak pont azt nem, amelyik a bajt okozta).
Új hozzászólás Aktív témák
- Kínai, és egyéb olcsó órák topikja
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Autós topik
- YouTube
- Mazda topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- DIGI kábel TV
- LEGO klub
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- Xiaomi Redmi Note 5 Global
- További aktív témák...