1

Я замечаю, что на 64-битных Windows и Ubuntu есть небольшой объем памяти, о котором даже не сообщается в ОС. Например: у меня 16 ГБ (16384 МБ) памяти в моем боксе в соответствии с BIOS, но Ubuntu сообщает, что у меня "16043 МБ" общего объема памяти. Я вижу это на нескольких системах с чипсетами AMD или Intel под управлением Windows или Linux, количество "недостающей" памяти варьируется.

Ни один из этих чисел не добавляет фактического объема установленной физической памяти, так для чего он используется? Часть памяти зарезервирована для связи с видеокартой или другими устройствами? Если так, то как? Что еще может быть использование памяти и каким образом? Почему реальный объем памяти не виден в операционной системе? Где я могу узнать больше об этом как о конструкторе оборудования?

Когда я пытаюсь исследовать это, я вижу только людей, сбитых с толку их 32-битной ОС, которые не распознают все обновления памяти 4 ГБ.

1 ответ1

3

Если у вас есть какой-то чипсет с интегрированной графикой (iGPU), он, скорее всего, резервирует некоторую системную память в качестве альтернативы использованию выделенной видеопамяти (VRAM).

Таким образом, история выглядит так: AMD Accelerated Processing Unit (APU) и Intel HD Graphics содержат по существу урезанные версии видеокарты, смонтированные в том же пакете, что и процессор. В последние годы AMD и Intel начали внедрять эти iGPU практически в каждый проданный процессор для настольных ПК. Исторически эти чипы были на материнской плате, но они начали перемещать их в процессор. Вы по-прежнему можете покупать процессоры без них, но в подавляющем большинстве сейчас они есть, даже в системах с более мощными графическими картами.

Если у вас установлены драйверы для вашего iGPU, есть вероятность, что операционная система технически может его использовать. Однако для его использования необходимо зарезервировать часть системной памяти для хранения графических данных (текстур, кадрового буфера и т.д.). Это связано с тем, что iGPU не поставляются с собственной выделенной VRAM, потому что на кристалле процессора недостаточно места для его установки. Ну обычно ; графический чип Intel "Iris Pro" содержит 128 МБ eMMC; но я отвлекся ...

С другой стороны, если единственным графическим чипсетом в вашей системе является iGPU, то, конечно, у вас нет другого выбора, кроме как признать, что часть вашей системной памяти будет использоваться этим iGPU, иначе у вас не будет графического дисплея. совсем.

Для некоторых iGPU вы можете настроить в BIOS объем ОЗУ, зарезервированный для iGPU, обычно от минимум 64 МБ до максимального объема около 1 ГБ, хотя точные цифры различаются.

Теоретически, iGPU - не единственный возможный системный компонент, который может зарезервировать некоторое системное ОЗУ для специальных целей, но он, безусловно, является наиболее распространенным. Я также слышал о некоторых выделенных графических картах, использующих гибрид системной оперативной памяти и видеопамяти, что означает, что в самой графической карте встроено меньшее количество видеопамяти, но драйвер также запрашивает объем системной памяти, чтобы выделить его. дополнить VRAM дополнительным пространством для графических данных.

Если вы хотите узнать подробности, посмотрите что-то вроде "Архитектура унифицированной памяти" (не путайте с таким термином, как NUMA, который используется для отличия обычных систем от распределенных систем), или посмотрите спецификации открытых аппаратных средств для GMA Intel или Графические чипсеты HD. Поскольку графические драйверы Linux для этих наборов микросхем имеют открытый исходный код, вы можете погрузиться так глубоко, как захотите, взяв спецификации документов или прочитав исходный код Mesa или Linux DRM (Direct Rendering Manager). Вот , пожалуйста - веселиться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .