stringtranslate.com

Карта памяти

В информатике карта памяти — это структура данных (которая обычно находится в самой памяти), которая указывает, как распределяется память . Термин «карта памяти» имеет разные значения в разных контекстах.

  1. Это самая быстрая и гибкая организация кэша , использующая ассоциативную память . Ассоциативная память хранит как адрес, так и содержимое слова памяти. [ нужны дальнейшие объяснения ]
  2. В процессе загрузки некоторых компьютеров карта памяти может передаваться из встроенного ПО , чтобы сообщить ядру операционной системы о расположении памяти. Он содержит информацию об объеме общей памяти, любых зарезервированных областях, а также может предоставлять другие сведения, специфичные для архитектуры.
  3. В реализациях виртуальной памяти и модулях управления памятью карта памяти относится к таблицам страниц или аппаратным регистрам , которые хранят сопоставление между структурой виртуальной памяти определенного процесса и тем, как это пространство связано с адресами физической памяти.
  4. В собственных программах- отладчиках карта памяти относится к сопоставлению между загруженными исполняемыми файлами (или) библиотеками и областями памяти. Эти карты памяти используются для преобразования адресов памяти (таких как указатели функций ) в реальные символы.

Карта памяти BIOS ПК

BIOS для персонального компьютера IBM и совместимых устройств предоставляет набор процедур, которые операционная система или приложения могут использовать для получения структуры памяти. Некоторые из доступных процедур:

Функция BIOS: INT 0x15, AX=0xE801: [1]

Этот вызов прерывания BIOS используется для получения размера памяти для конфигураций более 64 МБ. Он поддерживается версиями BIOS AMI , выпущенными 23 августа 1994 г. или позже. Вызывающая сторона устанавливает AX в 0xE801, а затем выполняет int 0x15. Если произошла какая-то ошибка, процедура возвращается с CF (флагом переноса), установленным в 1. Если ошибок нет, процедура возвращается с очищенным CF, а состояние регистров описывается следующим образом:

Функция BIOS: INT 0x15, AX=0xE820 — ПОЛУЧИТЬ КАРТУ СИСТЕМНОЙ ПАМЯТИ: [2]

Вход:

Структура буфера SMAP:

Как используется: Операционная система должна выделить в памяти буфер SMAP (20-байтовый буфер). Затем установите регистры, как указано в таблице «Вход». При первом вызове EBX должен быть установлен в 0. Следующим шагом является вызов INT 0x15. Если ошибок нет, вызов прерывания возвращается с очисткой CF и заполнением буфера данными, представляющими первую область карты памяти. EBX обновляется BIOS, поэтому, когда ОС снова вызывает процедуру, в буфер возвращается следующий регион. BIOS устанавливает EBX в ноль, если все сделано.

Смотрите также

Рекомендации

  1. ^ «INT 15 — Phoenix BIOS v4.0 — ПОЛУЧИТЬ РАЗМЕР ПАМЯТИ ДЛЯ КОНФИГУРАЦИЙ >64 МБ» .
  2. ^ «INT 15 — более новые BIOS — ПОЛУЧИТЬ КАРТУ СИСТЕМНОЙ ПАМЯТИ» .