Изучение архитектуры и системы команд INTEL-совместимых микропроцессоров. Коршунов А.Д. - 17 стр.

UptoLike

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

17
логическими адресами, которые состоят из двух 16-разрядных компонентов:
начальный адрес сегмента (селектор) и смещение внутри сегмента (SEG : OFS).
Эти компоненты используются для вычисления 20-разрядных физических
(абсолютных) адресов с помощью следующего алгоритма. Содержимое каждого
сегментного регистра рассматривается как 16 старших разрядов А19-А4 адреса
соответствующего сегмента. Младшие разряды А3-А0 этого адреса всегда
полагаются равными нулю (следовательно, их незачем сохранять в регистрах); они
автоматически приписываются справа к старшим разрядам во время операции
вычисления физических адресов. Эта операция выполняется сумматором
адресов, расположенным в БСШ, и состоит в сложении 20-разрядного начального
адреса сегмента (SEG) с 16-разрядным смещением (OFS), которое дополняется
четырьмя старшими нулями:
Рис. 6. Вычисление физического адреса (сумматор адресов)
Из того, что младшие четыре разряда начального адреса любого сегмента
должны быть равны нулю, следует, что значения начальных адресов сегментов
выбираются кратными 16 (16 = 2
4
). Наибольшая ёмкость памяти, отводимой под
один сегмент (длина сегмента), определяется максимальным значением 16-
разрядного смещения и составляет 64 Кбайт (так как 64 Кбайт = 65536 байт = 2
16
байт). Сегменты могут быть раздельными, частично перекрывающимися или даже
полностью совпадающими (отображёнными на одно и то же место в памяти, на
одни и те же физические адреса).
                                                                                 17
логическими адресами, которые состоят из двух 16-разрядных компонентов:
начальный адрес сегмента (селектор) и смещение внутри сегмента (SEG : OFS).
Эти компоненты используются для вычисления 20-разрядных физических
(абсолютных) адресов с помощью следующего алгоритма. Содержимое каждого
сегментного регистра рассматривается как 16 старших разрядов А19-А4 адреса
соответствующего сегмента. Младшие разряды А3-А0 этого адреса всегда
полагаются равными нулю (следовательно, их незачем сохранять в регистрах); они
автоматически приписываются справа к старшим разрядам во время операции
вычисления физических адресов. Эта операция выполняется сумматором
адресов, расположенным в БСШ, и состоит в сложении 20-разрядного начального
адреса сегмента (SEG) с 16-разрядным смещением (OFS), которое дополняется
четырьмя старшими нулями:




             Рис. 6. Вычисление физического адреса (сумматор адресов)


    Из того, что младшие четыре разряда начального адреса любого сегмента
должны быть равны нулю, следует, что значения начальных адресов сегментов
выбираются кратными 16 (16 = 24). Наибольшая ёмкость памяти, отводимой под
один сегмент (длина сегмента), определяется максимальным значением 16-
разрядного смещения и составляет 64 Кбайт (так как 64 Кбайт = 65536 байт = 216
байт). Сегменты могут быть раздельными, частично перекрывающимися или даже
полностью совпадающими (отображёнными на одно и то же место в памяти, на
одни и те же физические адреса).