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

UptoLike

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

44
граммы), данных, стека и дополнительных данных. Для обраще-
ния
к командам и данным, находящимся в других сегментах, необ-
ходимо изменять содержимое сегментных регистров, что позво-
ляет использовать все пространство памяти емкостью 1 Мб. Сег-
ментные регистры инициализируются в начале программы пу-
тем засылки в них соответствующих констант. Частный случай
загрузки всех сегментных регистров нулями приводит к органи-
зации памяти, характерной для 8080, т.е. фактически к отказу от
сегментации памяти.
В сегментном регистре хранится 16 старших битов
20-битового начального адреса сегмента. Четыре младших бита
адреса принимаются равными нулю и дописываются справа к
содержимому сегментного регистра при вычислении физических
адресов ячеек памяти. Поэтому начальные адреса сегментов все-
гда кратны 16. Поскольку других ограничений на размещение
сегментов в памяти нет, сегменты могут быть соседними (смеж-
ными), неперекрывающимися, частично или полностью пере-
крывающимися. Физическая ячейка памяти может принадле-
жать одному или нескольким сегментам.
Физический адрес ячейки памяти представляет 20-
битовое число в диапазоне 0–FFFFFh, которое однозначно опре-
деляет положение каждого байта в пространстве памяти емко-
стью
1 Мб. Так как МП 8086 является 16-битовым, то все операции
при вычислении физического адреса производятся с 16-бито-
выми адресными объектами.
Логический адрес ячейки памяти состоит из двух 16-бито-
вых беззнаковых значений: начального адреса сегмента, кото-
рый называется также просто базой или сегментом, и внутри-
сегментного смещения, которое определяет расстояние от нача-
ла сегмента до этой ячейки. Для вычисления физического адреса
база сегмента сдвигается влево на четыре бита и суммируется со
смещением, как показано на рис. 2.6, где также приведены воз-
можные источники компонентов логического адреса (ЕА эф-
граммы), данных, стека и дополнительных данных. Для обраще-
ния
к командам и данным, находящимся в других сегментах, необ-
ходимо изменять содержимое сегментных регистров, что позво-
ляет использовать все пространство памяти емкостью 1 Мб. Сег-
ментные регистры инициализируются в начале программы пу-
тем засылки в них соответствующих констант. Частный случай
загрузки всех сегментных регистров нулями приводит к органи-
зации памяти, характерной для 8080, т.е. фактически к отказу от
сегментации памяти.
     В сегментном регистре хранится 16 старших битов
20-битового начального адреса сегмента. Четыре младших бита
адреса принимаются равными нулю и дописываются справа к
содержимому сегментного регистра при вычислении физических
адресов ячеек памяти. Поэтому начальные адреса сегментов все-
гда кратны 16. Поскольку других ограничений на размещение
сегментов в памяти нет, сегменты могут быть соседними (смеж-
ными), неперекрывающимися, частично или полностью пере-
крывающимися. Физическая ячейка памяти может принадле-
жать одному или нескольким сегментам.
     Физический адрес ячейки памяти представляет 20-
битовое число в диапазоне 0–FFFFFh, которое однозначно опре-
деляет положение каждого байта в пространстве памяти емко-
стью
1 Мб. Так как МП 8086 является 16-битовым, то все операции
при вычислении физического адреса производятся с 16-бито-
выми адресными объектами.
     Логический адрес ячейки памяти состоит из двух 16-бито-
вых беззнаковых значений: начального адреса сегмента, кото-
рый называется также просто базой или сегментом, и внутри-
сегментного смещения, которое определяет расстояние от нача-
ла сегмента до этой ячейки. Для вычисления физического адреса
база сегмента сдвигается влево на четыре бита и суммируется со
смещением, как показано на рис. 2.6, где также приведены воз-
можные источники компонентов логического адреса (ЕА – эф-

                              44