Главная » Просмотр файлов » assembler. Учебник для вузов_Юров В.И_2003 -637с

assembler. Учебник для вузов_Юров В.И_2003 -637с (862834), страница 12

Файл №862834 assembler. Учебник для вузов_Юров В.И_2003 -637с (Юров В.И - Assembler. Учебник для вузов. 2003) 12 страницаassembler. Учебник для вузов_Юров В.И_2003 -637с (862834) страница 122021-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 12)

Операционная системаразмещает сегменты программы в оперативной памяти по определенным физическим адресам, после чего помещает значения этих адресов в определенные места. Куда именно, зависит от режима работы процессора. Так, в реальном режимеэти адреса помещаются непосредственно в соответствующие сегментные регистры, а в защищенном режиме они размещаются в элементы специальной системнойдескрипторной таблицы. Внутри сегмента программа обращается к адресам относительно начала сегмента линейно, то есть начиная с 0 и заканчивая адресом, равным размеру сегмента. Этот относительный адрес, или смещение, который процессор использует для доступа к данным внутри сегмента, называется эффективным.Отличия моделей сегментированной организации памяти в различных режимах хорошо видны на схеме (рис.

2.7). Различают три основных модели сегментированной организации памяти:II сегментированная модель памяти реального режима;Архитектура 1А-3251сегментированная модель памяти защищенного режима;сплошная модель памяти защищенного режима.а) Сегментированная модель памяти реального режима632-1 (2 -1)i486/PentlumPentium Pro/ll/lll/IVЛинейный адресЭффективный адрес\СегментыСегментныйрегистрПамятьб) Сегментированная модель памяти защищенного режима36322 -1 (2 -1)•| Смещение |Сегментный I г^Впа^-лп Iрегистр''*^Iг.'^fS. — *ь.•Таблицадескрипторов^Сегменты.f_—^ztj£Памятьв) Сплошная модель памяти защищенного режима1236-1 (232-1)| Смещениерегистры:[ СелекторСелектор |ТаблицадескрипторовПамятьРис. 2.7.

Модели памяти процессоров IntelРассмотрим порядок формирования физического адреса в реальном и защищенном режимах. Уточним терминологию. Под физическим адресом понимаетсяадрес памяти, выдаваемый на шину адреса процессора. Другое название этого адреса — линейный адрес. Подобная двойственность в названии обусловлена наличием страничной модели организации оперативной памяти. Эти названия являются синонимами только при отключении страничного преобразования адреса52Глава 2. Программно-аппаратная архитектура IA-32 процессоров Intel(в реальном режиме страничная адресация всегда отключена). Страничная модель,как мы отметили ранее, является надстройкой над сегментированной моделью.В страничной модели линейный и физический адреса имеют разные значения.

Далее мы будем обсуждать схему, на которой показан порядок формирования адресав реальном режиме работы процессора. Обратите внимание на наличие в этой схеме устройства страничного преобразования адреса, предназначенного для того, чтобы совместить две принципиально разные модели организации оперативной памяти и выдать на шину адреса истинное значение физического адреса памяти.Формирование физического адреса в реальном режимеДалее перечислены характеристики механизма адресации физической памятив реальном режиме.* Диапазон изменения физического адреса — от 0 до 1 Мбайт. Эта величина определяется тем, что шина адреса i8086 имела 20 линий.« Максимальный размер сегмента— 64 Кбайт. Это объясняется 16-разряднойархитектурой 18086. Нетрудно подсчитать, что максимальное значение, которое могут содержать 16-разрядные регистры, составляет 216 - 1, что применительно к памяти и определяет величину 64 Кбайт.II Для обращения к конкретному физическому адресу оперативной памяти необходимо определить адрес начала сегмента (сегментную составляющую) и смещение внутри сегмента.Понятие адреса начала сегмента ввиду принципиальной важности требует дополнительного пояснения.

Исходя из разрядности сегментных регистров, можноутверждать, что сегментная составляющая адреса (или база сегмента) представляет собой всего лишь 16-разрядное значение, помещенное в один из сегментныхрегистров. Максимальное значение, которое при этом получается, соответствует216 - 1. Если так рассуждать, то получается, что адрес начала сегмента может бытьтолько в диапазоне 0-64 Кбайт от начала оперативной памяти. Возникает вопрос,как адресовать остальную часть оперативной памяти вплоть до 1 Мбайт с учетомтого, что размер самого сегмента не превышает 64 Кбайт.

Дело в том, что в сегментном регистре содержатся только старшие 16 битов физического адреса начала сегмента. Недостающие младшие четыре бита 20-разрядного адреса получаются сдвигом значения в сегментном регистре влево на 4 разряда. Эта операция сдвигавыполняется аппаратно и для программного обеспечения абсолютно прозрачна.Получившееся 20-разрядное значение и является настоящим физическим адресом, соответствующим началу сегмента. Что касается второго компонента {смещения), участвующего в образовании физического адреса некоторого объекта в памяти, то он представляет собой 16-разрядное значение.

Это значение можетсодержаться явно в команде либо косвенно в одном из регистров общего назначения. В процессоре эти две составляющие складываются на аппаратном уровне,в результате получается физический адрес памяти размерностью 20 битов. Данный механизм образования физического адреса позволяет сделать программноеобеспечение перемещаемым, то есть не зависящим от конкретных адресов загрузки его в оперативной памяти (рис. 2.8).Архитектура 1А-32АЛУ53Оперативнаяпамять15Эффективный адрес\Линейный адресСмещениеиз команды15Базовый регистрЬх или Ьр15Индексный регистрsi или diСегментныерегистры:Физическийадрес15ШинаадресаdsesfsРис.

2.8. Механизм формирования физического адреса в реальном режимеНа рисунке хорошо видно, как формируется некоторый целевой физическийадрес: сегментная часть извлекается из одного из сегментных регистров, сдвигается на четыре разряда влево и суммируется со смещением. В свою очередь, видно,что значение смещения можно получить минимум из одного и максимум из трехисточников: из значения смещения в самой машинной команде и/или из содержимого одного базового и/или одного индексного регистра. Количество источников,участвующих в формировании смещения, определяется кодированием конкретной машинной команды, и если таких источников несколько, то значения в нихскладываются. В заключение заметим, что не стоит волноваться из-за несоответствия размеров шины адреса процессора i486 или Pentium (32 бита) и 20-разрядного значения физического адреса реального режима.

Пока процессор находитсяв реальном режиме, старшие 12 линий шины адреса попросту недоступны, хотяпри определенных условиях и существует возможность работы с первыми 64 Кбайтоперативной памяти, лежащими сразу после первого мегабайта.Недостатки такой организации памяти:И сегменты бесконтрольно размещаются с любого адреса, кратного 16 (так каксодержимое сегментного регистра аппаратно смещается на 4 разряда), и, какследствие, программа может обращаться по любым адресам, в том числе и реально не существующим;сегменты имеют максимальный размер 64 Кбайт;сегменты могут перекрываться другими сегментами.Желанием ввести в архитектуру средства, позволяющие избавиться от указанных недостатков, и обусловлено, в частности, появление защищенного режима,54Глава 2. Программно-аппаратная архитектура IA-32 процессоров Intelв котором работают все современные операционные системы, в том числе Windowsи Linux.Формирование физического адреса в защищенном режимеОсновная идея защищенного режима — защитить исполняемые процессором программы от взаимного влияния.

В защищенном режиме процессор поддерживаетдва типа защиты — по привилегиям и по доступу к памяти. В контексте нашегоизложения интерес представляет второй тип защиты. Его мы и рассмотрим.Для введения любого механизма защиты нужно иметь как можно больше информации об объектах защиты. Для процессора такими объектами являются исполняемые им программы. Организуя защиту программ по доступу к памяти, фирмаIntel не стала нарушать принцип сегментации, свойственный ее процессорам.

Таккак каждая программа занимает один или несколько сегментов в памяти, то логично иметь больше информации об этих сегментах как об объектах, реально существующих в данный момент в вычислительной системе. Если каждому из сегментов присвоить определенные атрибуты, то часть функций по контролю за доступомк ним можно переложить на процессор.

Что и было сделано. Любой сегмент памяти в защищенном режиме имеет следующие атрибуты:ш расположение сегмента в памяти;II размер сегмента;ii уровень привилегий (определяет права данного сегмента относительно другихсегментов);И тип доступа (определяет назначение сегмента);и некоторые другие.В отличие от реального режима, в защищенном режиме программа уже не может запросто обратиться по любому физическому адресу памяти. Для этого онадолжна иметь определенные полномочия и удовлетворять ряду требований.Ключевым объектом защищенного режима является специальная структура —дескриптор сегмента, который представляет собой 8-байтовый дескриптор (кратТип сегментаbase 3 дРазмер сегмента(16...19)v,'1VБазовый адрессегмента (31...

24) G iDi Оi U i limit 2635547Базовый адрес сегмента (0...15)base 1/V.base 2,Байт ARБазовый адрессегмента (23... 16)39Размер сегмента (0...15)limit 13115ОРис. 2.9. Структура дескриптора сегмента защищенного режима процессораАрхитектура 1А-3255кое описание) непрерывной области памяти, содержащий перечисленные ранееатрибуты. На рис. 2.9 приведена структура дескриптор сегмента.Приведем назначение некоторых полей дескриптора сегмента:limit_l и limit_2 — 20-разрядное поле, определяющее размер сегмента;base_l и base_2 — 32-разрядное поле, определяющее значение линейного адреса начала сегмента в памяти;AR — байт, поля которого определяют права доступа к сегменту;D — бит разрядности операндов и адресов (глава 3);G — бит гранулярности.В защищенном режиме размер сегмента не фиксирован, его расположение можно задать в пределах 4 Гбайт. Если посмотреть на рисунок, то возникнет вопрос:почему разорваны поля, определяющие размер сегмента и его начальный (базовый) адрес? Это результат эволюции процессоров.

Характеристики

Тип файла
PDF-файл
Размер
14,34 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее