Интернет магазин китайских планшетных компьютеров



Компьютеры - Сегментная адресация памяти - Сегментная адресация в реальном режиме

23 января 2011


Оглавление:
1. Сегментная адресация памяти
2. Сегментная адресация в реальном режиме



В реальном режиме процессора всё адресное пространство делится на одинаковые сегменты размером 65536 байт. База каждого последующего сегмента смещена относительно базы предыдущего на 16 байт. Таким образом, сегменты частично перекрывают друг друга.

Селектор 16-разрядный и задаёт номер сегмента. Учитывая, что сегменты следуют друг за другом с постоянным интервалом в 2=16 байт, очень легко выяснить линейный адрес сегмента, умножая его на 16.

Сегментная адресация в защищённом режиме

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

Segment addressing.png

Здесь сегменты № 3 и № 11 указывают на одну и ту же область. Такие сегменты называются алиасными. Сегмент № 7 охватывает сегменты № 1, № 2, № 3 и № 11. Сегмент № 5 указывает на GDT, позволяя её изменять). Адресация через локальную таблицу дескрипторов происходит аналогично.

Селектор также 16-разрядный, но делится на три части: RPL, TI и номер дескриптора.

  • RPL — см.: Сегментная защита памяти;
  • TI определяет дескрипторную таблицу, из которой выбирается дескриптор;
  • номер дескриптора — порядковый номер в дескрипторной таблице. Так как размер дескриптора равен восьми байтам, а номер дескриптора начинается с третьего бита, то можно адресовать дескриптор, просто обнулив RPL и TI.


Просмотров: 2123


<<< Подкачка страниц
Сегментная защита памяти >>>