Память зарезервирована для оборудования

1005
Gleb Voronchikhin

Может кто-нибудь объяснить, почему некоторый объем памяти всегда зарезервирован для оборудования? Как это связано с адресацией памяти?

Picture - windows resource monitor

0
Наиболее распространенное использование основной памяти для аппаратного обеспечения - для встроенной графики. Современные процессоры обеспечивают обработку графики внутри чипа, но для этого нет встроенной памяти, поэтому некоторая основная память зарезервирована как графическая память. Выделенный объем можно, как правило, контролировать в BIOS, где вы должны найти информацию о любой другой зарезервированной памяти. AFH 7 лет назад 1
Я не знаю достаточно, чтобы написать ответ, и при этом я не могу легко найти что-то, что не является сообщением на форуме с сомнительными противоречивыми ответами и утверждениями, но я считаю, что это «симптом» того, что называется «IO с отображением в памяти» «. Без поддержки / обходных решений BIOS часть этой памяти фактически не используется, так как базовый дизайн требует, чтобы определенный диапазон был открыт для аппаратного использования. Yorik 7 лет назад 0
опубликовать некоторые детали оборудования magicandre1981 7 лет назад 0
@ Йорик, значит, память недоступна только потому, что ЦП для связи с каким-либо оборудованием использует диапазон адресов? Gleb Voronchikhin 7 лет назад 0

2 ответа на вопрос

0
LMiller7

Многое зависит от того, 32-х или 64-х битная ОС.

В 64-битной ОС самым крупным пользователем аппаратной зарезервированной памяти обычно является видеосистема. Из соображений экономии многие видеосистемы не имеют или имеют очень мало собственной памяти, но полагаются на системную память для своих нужд. Это особенно распространено в ноутбуках. Эта память будет зарезервирована BIOS для использования видео до запуска Windows.

Все вышеперечисленное относится к 32-битной ОС, но есть дополнительный фактор. 32-разрядная ОС имеет фиксированное физическое адресное пространство 4 ГБ. ОЗУ является крупнейшим пользователем этого адресного пространства, но не единственным. По соображениям производительности значительная часть этого пространства используется для ввода-вывода с отображением в памяти. Это позволяет ЦПУ быстро обмениваться данными с аппаратными устройствами, считывая и записывая их так же, как это происходит с памятью. Обычно для этого требуется около 500 МБ и более адресного пространства. Существуют и другие методы, но они слишком медленные для высокопроизводительных устройств, таких как видео.

Память IO отображается в том же адресном пространстве, что и RAM. Это создает проблему. Вы не можете иметь 4 ГБ ОЗУ и 500 МБ + устройств с отображенной памятью в адресном пространстве 4 ГБ. Это просто не подходит. Таким образом, все пространство, используемое для отображаемых в память устройств, недоступно для использования ОЗУ. Обычно от 500 до 750 МБ теряется, но точный объем зависит от оборудования.

64-разрядные операционные системы имеют физическое адресное пространство, измеряемое в терабайтах, так что есть много места для оперативной памяти и сопоставленного ввода-вывода памяти.

и еще один вопрос, пожалуйста. Например, у меня есть графический процессор с 2 ГБ памяти и оперативной памятью 8 ГБ. Значит ли это, что доступная оперативная память для Windows будет 8-2 = 6 ГБ? Gleb Voronchikhin 7 лет назад 0
@ Глеб Ворончихин LMiller7 7 лет назад 0
@ Глеб Ворончихин LMiller7 7 лет назад 0
@ LMiller7 Вы написали _ «32-разрядная ОС имеет фиксированное физическое адресное пространство 4 ГБ ._« Это верно для 32-разрядных версий Windows «клиент» (т. Е. Не для сервера), но в целом это не так. «Битность» операционной системы или процессора x86 или x64 ограничивает размер виртуального адресного пространства, но не физического адресного пространства (ОЗУ). Версии 32-битного сервера для Windows могут ... ну, _could, _, поскольку уже нет текущих версий ... адресовать гораздо больше, чем 4 ГБ ОЗУ через PAE. Как и многие другие ОС. Эти 32-битные версии Windows-клиентов отказываются смотреть на адреса ОЗУ выше 0xFFFFFFFF, подключенные к ОС. Это не архитектурно. Jamie Hanrahan 7 лет назад 0
@GlebVoronchikhin> _ "Например, у меня есть графический процессор с 2 ГБ памяти и оперативной памятью 8 ГБ. Означает ли это, что доступная оперативная память для Windows будет 8-2 = 6 ГБ?" _ Нет, все будет в порядке. Процессоры x64 имеют минимум 40 бит физического адреса, теоретически достаточно для 1 ТБ ОЗУ, хотя большинство платформ не поддерживают так много. (Проверьте максимальный объем оперативной памяти, который позволяет ваша материнская плата. Если он превышает 8 ГБ, у вас все в порядке.) Кроме того, для «графического процессора с 2 ГБ памяти» почти никогда не требуется 2 ГБ адресного пространства. Вместо этого они представляют гораздо меньшее «окно» для центрального процессора, которое затем может «отобразить» узел на различные части полной оперативной памяти карты. Jamie Hanrahan 7 лет назад 0
0
Ale..chenski
why some amount of memory always reserved for hardware? 

Потому что это часть современной архитектуры персональных компьютеров, которая называется «PCI», Peripheral Component Interconnect . Эта архитектура была изначально разработана в начале 1990-х годов, чтобы добиться прогресса в конфигурации и производительности для расширения числа дополнительных устройств для ПК, а также для обеспечения функциональности Plug-and-Play (для устранения неудобного процесса явной настройки и автоматического распределения периферийных ресурсов).

Каждому периферийному устройству нужны средства для связи с процессором, для передачи данных туда и обратно. Таким образом, архитектура PCI обеспечивает унаследованное пространство доступа ввода / вывода (устаревшая форма периферийной связи в архитектуре X86, которая используется все реже и реже) и пространство MEMORY-MAPPED, которое обеспечивает гораздо более быстрый доступ и обмен данными. Очевидно, что если какое-либо окно связи отображается в общее пространство памяти, оно исключается из адресной области обычной оперативной памяти. Хотя эта схема распределения ресурсов является гибкой, существуют некоторые архитектурные ограничения (я полагаю и на уровне ОС) в отношении того, как декодировать и отображать это пространство, поэтому некоторая часть верхней памяти «зарезервирована».

Похожие вопросы