Курс лекций по программированию на языке ассемблера. Макурина Т.А. - 6 стр.

UptoLike

Составители: 

6
Лекция 2
Сегментные регистры
МП аппаратно поддерживает структурную организацию программы в виде трех частей,
называемых сегментами Такая организация памяти называется сегментной. Их существование
обусловлено спецификой организации и использования оперативной памяти МП Intel.
МП аппаратно поддерживает две модели использования оперативной памяти, где оперативная
память ( или оперативное запоминающее устройство) – это физическая память, к которой МП
имеет доступ по шине адреса.
1. Сегментированная модель. В этой модели программе выделяются непрерывные области
памяти (сегменты), а сама программа может обращаться только к данным, которые
находятся в этих сегментах.
2. Страничная модель. Ее можно рассматривать как надстройку над сегментированной
моделью памяти. В случае использования этой модели памяти оперативная память
рассматривается как совокупность блоков фиксированного размера (4 Кбайта). Основное
применение этой модели связано с организацией виртуальной памяти, что позволяет
операционной системе использовать для программ пространство памяти большее, чем
объем физической памяти. Для МП i486 и Pentium размер возможной виртуальной памяти
может достигать 4Тбайт.
Таким образом, Сегментацияэто механизм адресации, обеспечивающий существование
нескольких независимых адресных пространств, как в пределах одной задачи, так и в системе в
целом для защиты задач от взаимного влияния. В основе механизма сегментации лежит понятие
сегмент, который представляет собой независимый поддерживаемый на аппаратном уровне блок
памяти.
Каждая программа может состоять из любого количества сегментов (в зависимости от
организации модели памяти), но реально имеется доступ к трем основным сегментам памяти
сегмент кода, сегмент данных, сегмент стека. Программа никогда не знает, по каким физическим
адресам размещены ее сегменты. Этим занимается ОС. ОС размещает сегменты программы по
определенным физическим адресам, после чего помещает значения этих адресов в определенные
места. Куда именно поместит сегменты программы ОС зависит от работы МП. Так, в реальном
режиме эти адреса помещаются непосредственно в соответствующие сегментные регистры, а в
защищенном режиме они размещаются в элементы специальной системной дескрипторной
таблице. Внутри сегмента программа обращается к адресам относительно начала сегмента
линейно, т.е. начиная с 0 и заканчивая адресом, равным размеру сегмента. Это относительный
адрес или смещение, который МП использует для доступа к данным внутри сегмента, называется
эффективным.
Различают три основных модели сегментированной организации памяти.
сегментированная модель памяти реального режима
сегментированная модель памяти защищенного режима
сплошная модель памяти защищенного режима.
Рассмотрим порядок формирования физического адреса в реальном режиме. Порядок
формирования физического адреса в защищенном режиме рассмотрим несколько позже.
Физический адресэто адрес памяти, выдаваемый на шину адреса микропроцессора. Другое
название физического адресалинейный адрес.
Сегментированная модель памяти реального режима.
Линейный адрес 2
36
–1 (2
32
-1)
i486/Pentium
Эффективный адрес
PentiumPro/II/III
                                      Лекция №2
                                    Сегментные регистры
МП аппаратно поддерживает структурную организацию программы в виде трех частей,
называемых сегментами Такая организация памяти называется сегментной. Их существование
обусловлено спецификой организации и использования оперативной памяти МП Intel.
МП аппаратно поддерживает две модели использования оперативной памяти, где оперативная
память ( или оперативное запоминающее устройство) – это физическая память, к которой МП
имеет доступ по шине адреса.
   1. Сегментированная модель. В этой модели программе выделяются непрерывные области
       памяти (сегменты), а сама программа может обращаться только к данным, которые
       находятся в этих сегментах.
   2. Страничная модель. Ее можно рассматривать как надстройку над сегментированной
       моделью памяти. В случае использования этой модели памяти оперативная память
       рассматривается как совокупность блоков фиксированного размера (4 Кбайта). Основное
       применение этой модели связано с организацией виртуальной памяти, что позволяет
       операционной системе использовать для программ пространство памяти большее, чем
       объем физической памяти. Для МП i486 и Pentium размер возможной виртуальной памяти
       может достигать 4Тбайт.
Таким образом, Сегментация – это механизм адресации, обеспечивающий существование
нескольких независимых адресных пространств, как в пределах одной задачи, так и в системе в
целом для защиты задач от взаимного влияния. В основе механизма сегментации лежит понятие
сегмент, который представляет собой независимый поддерживаемый на аппаратном уровне блок
памяти.
Каждая программа может состоять из любого количества сегментов (в зависимости от
организации модели памяти), но реально имеется доступ к трем основным сегментам памяти
сегмент кода, сегмент данных, сегмент стека. Программа никогда не знает, по каким физическим
адресам размещены ее сегменты. Этим занимается ОС. ОС размещает сегменты программы по
определенным физическим адресам, после чего помещает значения этих адресов в определенные
места. Куда именно поместит сегменты программы ОС зависит от работы МП. Так, в реальном
режиме эти адреса помещаются непосредственно в соответствующие сегментные регистры, а в
защищенном режиме они размещаются в элементы специальной системной дескрипторной
таблице. Внутри сегмента программа обращается к адресам относительно начала сегмента
линейно, т.е. начиная с 0 и заканчивая адресом, равным размеру сегмента. Это относительный
адрес или смещение, который МП использует для доступа к данным внутри сегмента, называется
эффективным.
Различают три основных модели сегментированной организации памяти.
   • сегментированная модель памяти реального режима
   • сегментированная модель памяти защищенного режима
   • сплошная модель памяти защищенного режима.
Рассмотрим порядок формирования физического адреса в реальном режиме. Порядок
формирования физического адреса в защищенном режиме рассмотрим несколько позже.
Физический адрес – это адрес памяти, выдаваемый на шину адреса микропроцессора. Другое
название физического адреса – линейный адрес.

                     Сегментированная модель памяти реального режима.

                            Линейный адрес                           236 –1 (232-1)
                                                                                  i486/Pentium
                                                       …




                         Эффективный адрес                           PentiumPro/II/III
                                                       …




                                             6