Особенности архитектуры универсальных микропроцессоров. Механов В.Б. - 41 стр.

UptoLike

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

41
Сегментные регистры хранят базовые (начальные) адреса
сегментов памяти: кодового сегмента CS (Code Segment), в кото-
ром содержится программа; стекового сегмента SS (Stack Seg-
ment); сегмента данных DS (Data Segment); дополнительного
сегмента ES (Extended Segment), в котором обычно содержатся
данные. Наличие сегментных регистров обусловлено разделени-
ем памяти на сегменты и используемым способом формирова-
ния адресов памяти.
Сумматор адресов осуществляет вычисление 20-битовых
физических адресов путем суммирования смещения и содержи-
мого соответствующего сегментного регистра, которое дополня-
ется четырьмя нулевыми младшими разрядами.
Указатель команд (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