Физические адреса конкретного модуля памяти

Тема в разделе "WASM.OS.DEVEL", создана пользователем GLEB, 30 ноя 2011.

  1. GLEB

    GLEB New Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2007
    Сообщения:
    83
    Приветствую!
    Можно ли узнать какому именно модулю памяти принадлежит конкретный физический адрес, т.е. ячейка в модуле на которую ссылается физический адрес?
    Допустим установлено: DIMM1 - 2GB, DIMM2 - 4GB
    SMBios сообщает, что первому модулю назначен диапазон 0 - 2GB, второму 2 - 6GB, что это за адреса?
    На самом то деле адреса с 3,3 по 4GB зарезервированы под pci устройства, а 0,7 гб адресов памяти находятся выше 4-х гб.
    Есть софт для теста памяти в котором можно указать именно модуль для проверки, но наблюдая за адресами которые он показывает во время теста, не нашел никакой связи с информацией из smbios, да и вообще этот кусок 0,7 гб он как будто даже и не тестит. Или например тот же Memtest86+: стоит 2 модуля 2 и 1 гб, (DIMM1 и DIMM2 соответсвенно), обнаруживается ошибка по адресу 1,5 гб. вытаскиваю первый модуль, он оказывается битым, как бы можно предположить, что адреса назначены по порядку, а на другой конфигурации (1 гб + 2гб ), в аналогичной ситуации, при ошибке по адресу 2,5 гб, битым оказался первый гиговый модуль, а не второй. (хотя может там расположение слотов было другое).
     
  2. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    GLEB
    Ничего эти адреса не зарезервированы. То, что pci mmio как правило отправляют в конец верхнего ГБ, совсем не означает, что эти адреса именно зарезервированы под pci mmio. И 0,7 ГБ ram не находятся выше 4ГБ, если их туда явно потом никто не ремапит конфигурированием контроллера памяти (тот же BIOS, например).

    По вопросу точно не знаю, но, веротяно, SMBIOS возвращает верную информацию в отношении физических адресов. А кем и куда уже потом ремапятся эти адреса, его не волнует.
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Вообще говоря, несколько модулей памяти работают параллельно, если контроллер памяти настроен на многоканальный режим -- за счёт этого достигается увеличение скорости обмена с памятью (одновременно считывается или записывается информация не из одного модуля, а из двух, трёх, четырёх; соответственно, и адреса у них "перемежаются"). В одноканальном режиме базовые адреса, понятное дело, будут уже разными, поскольку модули работают строго по очереди. В данном случае указано правильно, что начальные адреса -- 0 и 2Г. То, что часть адресов зарезервирована для чего-то другого, ничего принципиально не меняет, просто соответствующие адреса ОЗУ теряются впустую, если нет возможности их переотображения на другие адреса, ну а за это отвечает контроллер памяти вкупе с другими схемами северного моста.
     
  4. pokemor

    pokemor Антон

    Публикаций:
    0
    Регистрация:
    16 янв 2012
    Сообщения:
    1
    Адрес:
    Ростов-на-Дону
    Чувствую я еще долго буду с этим разбираться