ВУЗ:
Составители:
41
Сегментные регистры хранят базовые (начальные) адреса
сегментов памяти: кодового сегмента CS (Code Segment), в кото-
ром содержится программа; стекового сегмента SS (Stack Seg-
ment); сегмента данных DS (Data Segment); дополнительного
сегмента ES (Extended Segment), в котором обычно содержатся
данные. Наличие сегментных регистров обусловлено разделени-
ем памяти на сегменты и используемым способом формирова-
ния адресов памяти.
Сумматор адресов осуществляет вычисление 20-битовых
физических адресов путем суммирования смещения и содержи-
мого соответствующего сегментного регистра, которое дополня-
ется четырьмя нулевыми младшими разрядами.
Указатель команд IР (Instruction Pointer) хранит смеще-
ние следующей команды в текущем кодовом сегменте, т.е. ука-
зывает на следующую по порядку команду. Он является анало-
гом стандартного программного счетчика с той лишь разницей,
что его содержимое определяет адрес команды лишь в совокуп-
ности
с содержимым регистра CS, если же CS заполнен нулями, анало-
гия становится полной. Модификация IР осуществляется шин-
ным интерфейсом так, что при обычной работе IР содержит
смещение того командного слова, которое шинный интерфейс
будет выбирать из памяти. Оно не совпадает со смещением оче-
редной команды (находящейся в этот момент на выходе очереди
команд), которую будет выполнять операционное устройство.
Поэтому при запоминании содержимого IР в стеке, например
при вызове подпрограмм, оно автоматически корректируется,
чтобы адресовать следующую команду, которая будет выпол-
няться. Эта особенность является следствием опережающей вы-
борки команд. Непосредственный доступ к IР имеют команды
передачи управления.
Сегментные регистры хранят базовые (начальные) адреса сегментов памяти: кодового сегмента CS (Code Segment), в кото- ром содержится программа; стекового сегмента SS (Stack Seg- ment); сегмента данных DS (Data Segment); дополнительного сегмента ES (Extended Segment), в котором обычно содержатся данные. Наличие сегментных регистров обусловлено разделени- ем памяти на сегменты и используемым способом формирова- ния адресов памяти. Сумматор адресов осуществляет вычисление 20-битовых физических адресов путем суммирования смещения и содержи- мого соответствующего сегментного регистра, которое дополня- ется четырьмя нулевыми младшими разрядами. Указатель команд IР (Instruction Pointer) хранит смеще- ние следующей команды в текущем кодовом сегменте, т.е. ука- зывает на следующую по порядку команду. Он является анало- гом стандартного программного счетчика с той лишь разницей, что его содержимое определяет адрес команды лишь в совокуп- ности с содержимым регистра CS, если же CS заполнен нулями, анало- гия становится полной. Модификация IР осуществляется шин- ным интерфейсом так, что при обычной работе IР содержит смещение того командного слова, которое шинный интерфейс будет выбирать из памяти. Оно не совпадает со смещением оче- редной команды (находящейся в этот момент на выходе очереди команд), которую будет выполнять операционное устройство. Поэтому при запоминании содержимого IР в стеке, например при вызове подпрограмм, оно автоматически корректируется, чтобы адресовать следующую команду, которая будет выпол- няться. Эта особенность является следствием опережающей вы- борки команд. Непосредственный доступ к IР имеют команды передачи управления. 41
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »