Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
007.docx
Скачиваний:
105
Добавлен:
13.03.2016
Размер:
7.55 Mб
Скачать

2.7 Організація оперативної пам’яті, адресний простір, сегменти пам’яті, дескриптори сегментів.

В современных компьютерах основной элементарной адресуемой единицей информации является байт. Поэтому в устройствах оперативной памяти каждая запоминающая ячейка состоит из восьми двоичных элементов памяти, в DRAM – запоминающих емкостей. Каждая микросхема памяти организована как матрица запоминающих ячеек в виде строк и столбцов. Запоминающие ячейки адресуются, т.е. приводятся в состояние готовности для операции записи или считывания из них информации, при совпадении сигналов возбуждения соответствующих строк и столбцов, которые поступают от дешифраторов старших и младших разрядов кода адреса.

Физически DRAM-память представляет собой набор запоминающих ячеек, которые состоят из конденсаторов и транзисторов, расположенных внутри полупроводниковых микросхем памяти.

При отсутствии подачи электроэнергии к памяти этого типа происходит разряд конденсаторов, и память опустошается (обнуляется). Для поддержания необходимого напряжения на обкладках конденсаторов ячеек и сохранения их содержимого, их необходимо периодически подзаряжать, прилагая к ним напряжения через коммутирующие транзисторные ключи.

Для ПК характерно типовое распределение непосредственно адресуемой памяти (0…1 Мбайт) между оперативной и постоянной памятью.

Распределение адресного пространства непосредственно адресуемой памяти:

Стандартная память 640 Кбайт

(Conventional Memory)

Верхняя память 384 Кбайт

(Upper Memory Area – UMA)

Область служебных программ и данных ОС

64 Кбайт

Область программ и данных операционной системы и пользователя

576 Кбайт

Служебная память

256 Кбайт

Область ПЗУ

(программ BIOS)

128 Кбайт

Оперативная память (ОЗУ)

ПЗУ

Стандартная (базовая) память доступна DOS и программам реального режима. В некоторых системах верхняя граница этой памяти сдвигается к 704 Кбайт.

Верхняя память зарезервирована для системных нужд. В ней размещаются области буферной памяти адаптеров (например, видеопамять) и постоянная память (BIOS с расширениями).

Область памяти выше первого мегабайта носит название расширенной памяти. Доступ к ячейкам расширенной памяти возможен либо при использовании специальных программ-драйверов, либо в защищенном режиме работы процессора. В реальном режиме расширенная память может быть использована главным образом для хранения данных и некоторых программ ОС.

Распределение адресного пространства основной памяти:

Непосредственно адресуемая память

Расширенная память

Стандартная память

0…640 Кбайт

Верхняя память

640 Кбайт...1024 Кбайт

Высокая память

HMA (High Memory Area)

1024 Кбайт………1088 Кбайт

Дополнительная

память

> 1088 Кбайт

Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти), который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.

Дескриптор сегмента (в архитектуре x86) — служебная структура в памяти, которая определяет сегмент. Длина дескриптора равна 8 байт.

Структура сегментного дескриптора

  • База (32 бита) — начало сегмента в линейной памяти

  • Лимит (20 бит) — (размер сегмента в байтах)-1 (База+Лимит = линейный адрес последнего байта)

  • Права доступа (12 бит) — флаги, определяющие наличие сегмента в памяти, уровень защиты, тип, разрядность + один пользовательский флаг

Байт прав доступа (AR, англ. Access Rights, биты 8-15 на рисунке):

  • Бит P определяет доступность сегмента (0 — сегмента нет, 1 — есть). При обращении к сегменту со сброшенным битом P происходит исключение #NP, обработчик которого может загрузить/создать сегмент.

  • Номер привилегий DPL содержит 2-битный номер (0-3), определяющий, к какому уровню (кольцу) защиты относится этот сегмент.

  • Тип сегмента (биты 8-12 на рисунке). Старший бит (S) определяет сегмент как системный (S=0) или пользовательский (S=1). Значение прочих бит для системных и пользовательских сегментов описано в таблице: