Как мой компьютер узнает, какой вид оперативной памяти установлен?
Современный компьютер делает так много всего, что мы просто считаем само собой разумеющимся, но иногда интересно заглянуть под капот и посмотреть, как все работает. Сегодня мы исследуем, как именно ваш компьютер знает, какой объем и объем оперативной памяти вы установили..
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Вопрос
Считыватель SuperUser Celeritas хочет знать, как его компьютер может мгновенно определить, какой тип оперативной памяти находится внутри:
Как Mac OS X может определить, какая память находится в машине? Например, я работал над тем, у которого была оперативная память DDR3 с частотой 1600 МГц, и я подумал, что невозможно узнать ОЗУ без физического открытия корпуса и его просмотра. Как это можно сделать в других системах??
Очевидно, что для операционной системы весьма полезно знать, к какому виду оперативной памяти она имеет доступ, но по какому механизму она определяет эту информацию?
Ответы
Участник SuperUser UltraSawBlade предлагает следующее объяснение:
На RAM-флешках есть небольшой чип, называемый Serial Presence Detect, который содержит такую информацию, как емкость, предпочтительные тайминги, производитель и даже серийный номер.
Информация SPD доступна операционным системам, использующим шину i2c (которая также включает такие элементы, как датчики температуры). Я думаю, что вы можете напрямую читать SPD из Linux, используя различные утилиты i2c.
Это изображение из статьи в Википедии имеет хорошую картину [видно выше].
Другие участники предлагают способы, которыми конечный пользователь может получить доступ к информации i2c для себя. AthomSfere пишет:
В Windows:
wmic memoryChip get /?
Предоставит вам различную информацию об оперативной памяти, которую вы можете запросить прямо из командной строки.
Например,
wmic memorychip получить серийный номер
Дает вам серийный номер. Вы также можете использовать
скорость
,модель
иногда,производитель
и больше.WMI - это метод Windows для запроса данных SMBIOS. Apple, Linux, Windows и все, кто хочет работать на большинстве аппаратных средств, должны поддерживать SMBIOS на некотором уровне по разным причинам..
Вы можете использовать SMBIOS (например, через WMI или WMIC в Windows), чтобы также собирать информацию о жестком диске, информацию о сети (это карта 10/100 или 10/100/1000?).
Чтобы сделать еще один шаг вперед, у каждого производителя есть код для MAC-адресов на сетевых картах. RAM также имеет код производителя. Поэтому все, что вам нужно сделать, чтобы получить их код, например, мои 2 x2 ГБ в этом ноутбуке - 830B, - это создать базу данных для производителей (830B может быть одной торговой марки, а затем перепродать!), А также какие модели означают что. Я думаю, именно так работает CPUz: базовые запросы и действительно полная и актуальная база данных..
Дополнительные примеры того, как получить доступ к этой информации на компьютерах с Windows, Linux и OS X, можно найти во всех ответах участников..
Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.