Cтраница 3
Псевдокоманда ASSUME сообщает, что во время выполнения программы сегментный регистр CS будет содержать адрес SEGO. Далее следует псевдокоманда, сообщающая, что размещение команд в сегменте памяти производится, начиная с ячейки, имеющей смещение 0200Н относительно начала сегмента. [31]
Знаком отмечены регистры, которые могут быть заменены на любые сегментные регистры при смене сегмента памяти с помощью префикса замены. [32]
Механизм формирования физических адресов выполняется в ЦП с помощью сегментных регистров. В любой момент времени программа может выбирать содержимое четырех функционально ориентированных сегментов: кодового, данных, стекового и экстракодового. ЦП формирует 20-разрядный адрес байта или слова путем прибавления 16-разрядного адреса смещения к 20-разрядному коду, 16 старших разрядов которого являются содержимым соответствующего сегмента, а 4 младших разряда равны нулю. [33]
Организация сегментирования. [34] |
При сегментно-страничной организации виртуальной памяти используются расположенные на кристалле МП сегментные регистры и быстродействующие ( скрытые от пользователя) кэшпамяти, хранящие дескрипторы ( описатели) сегментов и страниц. [35]
Адреса могут формироваться с использованием индексации, базовых регистров, сегментных регистров и другими путями. [36]
Порты ввода-вывода адресуются подобно ячейкам памяти, но без использования сегментных регистров. Доступ к первым 256 портам возможен путем прямой адресации, остальные порты адресуются косвенно по регистру, указываемому командой. [37]
Регистры CS, DS, SS и ES, образующие группу сегментных регистров, играют важную роль во всех действиях ЦП, связанных с адресацией памяти. Обозначения регистров расшифровываются следующим образом: CS - кодовый или программный сегмент, DS - сегмент данных, SS-стековый сегмент и ES - дополнительный сегмент. Содержимое любого из этих регистров определяет текущий начальный адрес сегмента памяти, выделенного пользователем под информацию, соответствующую названию регистра. [38]
На сумматор, вычисляющий физический адрес памяти, подается не содержимое сегментного регистра, а базовый адрес сегмента из таблицы дескрипторов. [39]
Процесс адресации памяти начш1ается с момента, когда в один из сегментных регистров помещается селектор. Когда в процессор поступает новый селектор, он сравнивает права доступа текущей задачи с правами доступа, указанными в дескрипторе этого селектора, в то время как дескриптор остается еще в основной памяти. [40]
Устройство шинного интерфейса ( или просто шинный интерфейс) содержит блок сегментных регистров, указатель команд, сумматор адресов, очередь команд и буферы, обеспечивающие связь с шиной. Шинный интерфейс выполняет операции обмена между МП и памятью или портами ввода - вывода по запросам операционного устройства. Когда операционное устройство занято выполнением команды, шинный интерфейс самостоятельно инициирует опережающую выборку кодов очередных команд из памяти. [41]
Регистр флажков состояния. [42] |
В однобайтных командах с операндом в регистре имеются 2 бита, определяющих сегментный регистр, или 3 бита для указания любого другого регистра. Команда непосредственной передачи в регистр имеет 3 бита, идентифицирующих регистр-получатель. [43]
Если доступ разрешается, этот дескриптор автоматически копируется из основной памяти в сегментный регистр и таким образом оказывается рядом со своим селектором. При этом программа видит только селектор. С помощью дескриптора процессор определяет абсолютный физический адрес при обращении к памяти. [44]
Операнд находится в одном из общих регистров МП или в одном из сегментных регистров. [45]