Cтраница 2
Неявный способ задания сегментного регистра обусловливает функциональную специализацию сегментов. В зависимости от используемого сегментного регистра различают кодовый сегмент, стековый сегмент, а также основной и дополнительный сегменты данных. [16]
Подобная же инициализация сегментных регистров CS и SS выполняется автоматически. [17]
Селектор в машине Pentium II. [18] |
Когда селектор загружается в сегментный регистр, соответствующий дескриптор вызывается из локальной таблицы дескрипторов или из глобальной таблицы дескрипторов и сохраняется во внутренних регистрах контроллера управления памятью, поэтому к нему можно быстро получить доступ. Дескриптор состоит из 8 байтов. [19]
База сегмента хранится в сегментном регистре. Способ и время вычисления исполнительного адреса определяются полями MOD и R / M кода команды и приведены в табл. 16.10. При прямой адресации исполнительным адресом операнда является смещение в команде. При косвенной регистровой адресации н коде команды задается способ вычисления исполнительного адреса операнда. [20]
Селектор в системе Pentium. [21] |
Во время загрузки селектора в сегментный регистр соответствующий дескриптор извлекается из локальной или глобальной таблицы дескрипторов и сохраняется в микропрограммных регистрах, что обеспечивает к нему быстрый доступ. [22]
Без отдельного устройства управления памятью сегментные регистры обеспечивают базовую адресацию, необходимую для простого перемещения программ в памяти. [23]
ЦП; необязательного префикса замены сегментного регистра; команды ESC ( переключение), начинающейся кодом 11011В, который определяет принадлежность ее к сопроцессору. [24]
Эти используемые по умолчанию правила выбора сегментных регистров приведены в табл. 6.1. В ряде случаев существует возможность замены сегментного регистра, которая реализуется явным указанием сегментного регистра с помощью специального байта-префикса, предшествующего команде. Однако эти возможности ограничены. [25]
В программе должно быть указание, какие сегментные регистры закрепляются за используемыми сегментами памяти; при исполнении программы сегментные регистры CS, SS, ES в соответствии с этими указаниями загружаются автоматически. [26]
В составе набора имеются две команды загрузки сегментных регистров и считывания их содержимого. Это объясняется тем, что смена селектора кодового сегмента без изменения содержимого IP - смещения внутри кодового сегмента - приведет к практически не имеющей смысла передаче управления. По этой причине загрузка CS допускается только в командах межсегментной передачи управления. Следует отметить, что загрузка сегментных регистров непосредственными данными отсутствует. [27]
Микропроцессор имеет специальные команды, позволяющие переопределять содержимое сегментных регистров. Поэтому расположение сегментов может меняться в ходе выполнения программы. Старшие адреса оперативной памяти заняты операционной системой и видеопамятью. [28]
МП в определенное начальное состояние, в котором сброшены сегментные регистры ( кроме CS, все разряды которого устанавливаются в единичное состояние), указатель команд IP, все флаги, регистры очереди команд и все внутренние триггеры в устройстве управления. Сигнал RESET не влияет на состояние общих регистров, которые устанавливаются в начальное состояние программным путем. На время действия сигнала RESET все выходы, имеющие три состояния, переводятся в третье состояние, а выходы, имеющие два состояния, становятся пассивными. Минимальная продолжительность сигнала RESET при первом включении МП составляет 50 мкс, а при повторном запуске - четыре такта синхронизации. После снятия сигнала RESET работа МП возобновляется из начального состояния. [29]
Необходимо отметить, что при обращении к таблице указателей сегментные регистры не используются. После установления нового содержимого регистров IP и CS микропроцессор выбирает код операции первой команды подпрограммы и затем выполняет обычные действия по заполнению очереди команд, выполнению команд и обмену данными. [30]