Автоматизация управления в производственных системах. Федотов А.В. - 89 стр.

UptoLike

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

89
дает 20-битный исполнительный адрес ячейки памяти. Таким образом, логическая
разметка памяти на сегменты произвольна при условии, что адреса сегментов крат-
ны 16 (поскольку младшие 4 бита всегда равны нулю).
Любые два смежных байта в памяти об-
разуют 16-битное слово. Первым в слове запи-
сывается младший байт. Адресом машинного
слова является адрес младшего байта слова.
Система команд 16-разрядного МП ис-
пользует в числе других относительную адре-
сацию операндов, когда адрес операнда равен
сумме некоторого базового значения адреса и
смещения. Разновидностью относительной ад-
ресации является индексная адресация, при ко-
торой действительный адрес операнда нахо-
дится прибавлением кода адреса, указанного в
команде, к базовому адресу, хранимому в специальном индексном регистре (рис.
3.16).
В памяти
можно организовать
4 типа сегментов:
сегмент кодов CS;
сегмент данных DS;
сегмент стека SS и
сегмент экстракодов
ES. Адресом каждо-
го сегмента является
адрес его первого
байта в памяти. Реально этот адрес задается 16-битным кодом, однако рассматрива-
ется как 20-битный адрес, у которого младшие 4 бита всегда равны нулю. Таким об-
разом, сегменты начинаются на 16-байтных границах памяти, называемых парагра-
фами. Других ограничений на разбиение памяти на сегменты нет. Сегменты в памя-
ти при ее логической организации могут частично или полностью перекрываться.
Адреса логических сегментов хранятся в адресных регистрах сегментов CS, DS, SS
и ES и используются при нахождении физического адреса ячейки памяти.
Физическая ячейка памяти может принадлежать одному или нескольким сег-
ментам. Распределение сегментов в памяти осуществляется программным путем и
может динамично изменяться. В каждый момент времени те сегменты, адреса кото-
рых находятся в регистрах сегментных адресов CS, DS, SS, ES, являются текущими
и к ним происходит обращение.
Модификация содержимого сегментных регистров приводит к переключению
сегментов в памяти. Это обычно требуется, когда 64 Кбайт для определенной ин-
формации недостаточно. Команды всегда выбираются из текущего сегмента кода,
Рис. 3.16. Относительная адресация
Рис. 3.15. Вычисление адреса
дает 20-битный исполнительный адрес ячейки памяти. Таким образом, логическая
разметка памяти на сегменты произвольна при условии, что адреса сегментов крат-
ны 16 (поскольку младшие 4 бита всегда равны нулю).
                                            Любые два смежных байта в памяти об-
                                      разуют 16-битное слово. Первым в слове запи-
                                      сывается младший байт. Адресом машинного
                                      слова является адрес младшего байта слова.
                                            Система команд 16-разрядного МП ис-
                                      пользует в числе других относительную адре-
                                      сацию операндов, когда адрес операнда равен
                                      сумме некоторого базового значения адреса и
                                      смещения. Разновидностью относительной ад-
                                      ресации является индексная адресация, при ко-
    Рис. 3.15. Вычисление адреса      торой действительный адрес операнда нахо-
                                      дится прибавлением кода адреса, указанного в
команде, к базовому адресу, хранимому в специальном индексном регистре (рис.
3.16).
                                                                     В      памяти
                                                               можно организовать
                                                               4 типа сегментов:
                                                               сегмент кодов CS;
                                                               сегмент данных DS;
                                                               сегмент стека SS и
                                                               сегмент экстракодов
                                                               ES. Адресом каждо-
               Рис. 3.16. Относительная адресация
                                                               го сегмента является
                                                               адрес его первого
байта в памяти. Реально этот адрес задается 16-битным кодом, однако рассматрива-
ется как 20-битный адрес, у которого младшие 4 бита всегда равны нулю. Таким об-
разом, сегменты начинаются на 16-байтных границах памяти, называемых парагра-
фами. Других ограничений на разбиение памяти на сегменты нет. Сегменты в памя-
ти при ее логической организации могут частично или полностью перекрываться.
Адреса логических сегментов хранятся в адресных регистрах сегментов CS, DS, SS
и ES и используются при нахождении физического адреса ячейки памяти.
       Физическая ячейка памяти может принадлежать одному или нескольким сег-
ментам. Распределение сегментов в памяти осуществляется программным путем и
может динамично изменяться. В каждый момент времени те сегменты, адреса кото-
рых находятся в регистрах сегментных адресов CS, DS, SS, ES, являются текущими
и к ним происходит обращение.
       Модификация содержимого сегментных регистров приводит к переключению
сегментов в памяти. Это обычно требуется, когда 64 Кбайт для определенной ин-
формации недостаточно. Команды всегда выбираются из текущего сегмента кода,



                                        89