Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структура дескриптора сегментов. 
:(
    Опции темы
Compositum
Дата 19.12.2010, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Добрый день.
Читаю о дескрипторе сегментов. Возник вопрос, касательно размещения информации о начале/конце сегмента. 
Скрин:
user posted image

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

Из схемы видно, что адрес начала сегмента прописан в битах 16-39 и 56-63. Т.е. для того, чтобы получить полный линейный адрес начала сегмента, необходимо выполнить конкатенацию этих битов? Почему линейный адрес не прописывается подряд, например с 16 по 47? Для чего такое разбиение? Аналогичное разбиение видим для адреса конца сегмента - он так же разбит на два блока битов: 0-15 и 48-51. Чем обусловлено такое непоследовательное размещение?

Благодарю за внимание.
С уважением Андрей.

PM   Вверх
JAPH
Дата 19.12.2010, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: 1
Всего: 23



Так сложилось исторически. Впервые защищенный режим появился в 80286, где дескрипторы были по 8 байт, но два старших были зарезервированы. В 80386 ввели поддержку адресации 4Г памяти, и для этого расширили поля базы и лимита, но для обеспечения обратной совместимости младшие 6 байт дескриптора оставили без изменений.


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
Compositum
Дата 19.12.2010, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата(JAPH @ 19.12.2010,  19:13)
Так сложилось исторически. Впервые защищенный режим появился в 80286, где дескрипторы были по 8 байт, но два старших были зарезервированы. В 80386 ввели поддержку адресации 4Г памяти, и для этого расширили поля базы и лимита, но для обеспечения обратной совместимости младшие 6 байт дескриптора оставили без изменений.

Понял, спасибо! А почему в том случае, когда флаг G установлен в 1, за единицу измерения (при определении размера смещения последней ячейки сегмента) принимается именно 4096 байт (т.е. 2 в 12 степени), а не что-то другое? 

Это сообщение отредактировал(а) Compositum - 19.12.2010, 19:56
PM   Вверх
JAPH
Дата 19.12.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: 1
Всего: 23



Здесь уже могу только догадываться, что на кого повлияло, но благодаря именно такому коэффициенту 20-битного поля хватает для задания предела в 4Г. Плюс к тому 4К это размер страницы.


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
Compositum
Дата 19.12.2010, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата(JAPH @ 19.12.2010,  20:36)
Здесь уже могу только догадываться, что на кого повлияло, но благодаря именно такому коэффициенту 20-битного поля хватает для задания предела в 4Г. Плюс к тому 4К это размер страницы.

Да, похоже на то, что шаг, величиной в 4096 приняли из-за размер страницы.

Благодарю за ответы!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0619 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.