русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

В МИКРОПРОЦЕССОРЕ К1810ВМ86


Дата добавления: 2013-12-23; просмотров: 2076; Нарушение авторских прав


СЕГМЕНТАЦИЯ ПАМЯТИ И ВЫЧИСЛЕНИЕ АДРЕСОВ

СОСТАВ МИКРОПРОЦЕССОРНОГО КОМПЛЕКТА БИС СЕРИИ К1810

Профессионального образования

Учреждение высшего

Тюменского государственного нефтегазового университета

Утверждено редакционно-издательским советом

Составитель: д.т.н., профессор Кузяков О.Н.

 

Рецензент:

© Федеральное государственное бюджетное образовательное

«Тюменский государственный

нефтегазовый университет», 2011

Содержание:

 

7. Состав микропроцессорного комплекта БИС серии К1810………..…4

8. Сегментация памяти и вычисление адресов в МП К1810ВМ86…………………………………………………………….4

9. МП К1810ВМ86 или INTEL 8086…………………………………...7

9.1. Особенности защищенного режима МП INTEL 8086……………...8

9.2. Стуктура МП INTEL 8086……………………………………………..9

9.3. Система прерываний в МП INTEL 8086……………………………...10

9.4. Примеры конфигураций МПС на базе центрального процессора (ВМ86) и сопроцессора ввода/вывода (ВМ89)……………………….42

9.5. Адресация к памяти ЦП………………………………………………..43

9.6. КЭШ – память и ее особенности……………………………………....44

9.7. Функциональная схема подключения центрального процессора и сопроцессора……………………………………………………………45

9.8. Принцип построения МП на базе К1810ВМ86, включенного в максимальном режиме…………………………………………………45

9.9. Адресное пространство МП…………………………………………...46

9.10. Особенности МП К1810ВМ88 или Intel 8088………………………...46

11. Микроконтроллеры…………………………………………………..47

11.1.Микроконтроллер КР1816ВЕ51 или Intel 8051АН…………….…….47

11.2. Характеристика основных компонентов МК51……………………...49

11.3. Последовательный интерфейс………………………………………...55

11.4 Таймер/счетчик………………………………………………………...56

11.5. Система прерываний МК51…………………………………………...59



11.6Совмещение адресного пространства МК51…………………………62

11.7.Особенности поведения МК при подаче сигнала сброса…………....62

11.8. Доступ к внешней памяти……………………………………………..63

11.9. Программирование МК………………………………………………..63

11.10. Запись бита защиты……………………………………………………64

11.11. Режим пониженного энергопотребления…………………………….65

11.12. Согласование последовательного порта МК с интерфейсом

RS-232С……………….………………………………………………...66

11.13. Система команд в МК5………………………………………………...66

11.14. Схема подключения МК к клавиатуре и дисплею с использованием контроллера клавиатуры и дисплея………………………………..….72

11.15. Расширители, подключаемые к МК…………………………….……73

 

К1810ВМ86 – центральный процессор;

К1810ВМ88 – центральный процессор с 8-битовой внешней шиной данных;

К1810ВМ87 – арифметический сопроцессор;

К1810ВМ89 – специализированный процессор ввода/вывода;

К1810ГФ84 – генератор тактовых сигналов;

К1810ВГ88 – системный контроллер;

К1810ВБ89 – арбитр системной шины;

К1810ВТ02 – контроллер динамической памяти (16К);

К1810ВТ03 – контроллер динамической памяти (4К);

К1810ВИ54 – интервальный таймер;

К1810ВТ37 – усовершенствованный контроллер прямого доступа к памяти;

К1810ВН59 – программируемый контроллер прерываний;

К1810ИР82/83 – регистр-защелка;

К1810ВА86/87 – шинный формирователь.

Пространство памяти емкостью 1 Мбайт представляется как набор сегментов, определяемых программным путем. Сегмент состоит из смежных ячеек памяти и является независимой и отдельно адресуемой единицей памяти емкостью 64 Кбайт. Каждому сегменту программой назначается начальный адрес, являющийся адресом первого байта сегмента в пространстве памяти. Начальные адреса четырех сегментов, выбранных в качестве текущих, записываются в сегментные регистры CS, DS, SS и TS, тем самым фиксируются текущие сегменты кода (программы) , данных, стека и дополнительных данных. Для обращения к командам и данным, находящимся в других сегментах, необходимо изменять содержимое сегментных регистров, что позволяет использовать все пространство памяти емкостью 1 Мбайт. Сегментные регистры инициализируются в начале программы путем засылки в них соответствующих констант. Частный случай загрузки всех сегментных регистров нулями приводит к организации памяти, характерной для ВМ80, т.е. фактически к отказу от сегментации памяти.

В сегментном регистре хранится 16 старших битов 20-битового начального адреса сегмента. Четыре младших бита адреса принимаются равными нулю и дописываются справа к содержимому сегментного регистра при вычислении физических адресов ячеек памяти. Поэтому начальные адреса сегментов всегда кратны 16. Поскольку других ограничений на размещение сегментов в памяти нет, сегменты могут быть соседними (смежными) , неперекрывающимися, частично или полностью перекрывающимися. Физическая ячейка памяти может принадлежать одному или нескольким сегментам.

Физический адрес ячейки памяти представляет 20-битовое число в диапазоне 0 – FFFFF, которое однозначно определяет положение каждого байта в пространстве памяти емкостью 1 Мбайт. В начале каждого цикла шины, связанного с обращением к памяти, физический адрес выдается на шину адреса и сопровождается сигналом ALE. Так как МП ВМ86 является 16-битовым, то все операции при вычислении физического адреса производится с 16-битовыми адресными объектами.

Логический адрес ячейки памяти состоит из двух 16-битовых беззнаковых значений: начального адреса сегмента, который называется также просто базой или сегментом, и внутрисегментного смещения, которое определяет расстояние от начала сегмента до этой ячейки. Для вычисления физического адреса база сегмента сдвигается влево на 4 бит и суммируется со смещением, как показано на рисунке 26, где также приведены возможные источники компонентов логического адреса (ЕА – эффективный адрес, вычисляемый в соответствии с заданным способом адресации).

 

Рис. 26

 

Перенос из старшего бита, который может возникнуть при суммировании, игнорируется. Это приводит к так называемой кольцевой организации памяти, при которой за ячейкой с максимальным адресом FFFFF следует ячейка с нулевым адресом. Аналогичную кольцевую организацию имеет и каждый сегмент.

Источники логического адреса для различных типов обращения к памяти приведены в таблице 4.

Табл. 4.

 

Тип обращения к памяти Сегмент (по умолчанию) Вариант Смещение
Выборка команды CS Нет IP
Стековая операция SS Нет SP
Переменная DS CS, SS, ES EA
Цепочка-источник DS CS, SS, ES SI
Цепочка-приемник ES Нет DI
ВР как базовый регистр ES CS, SS, DS EA

 

Команды всегда выбираются из текущего сегмента кода в соответствии с логическим адресом CS: IP. Стековые команды всегда обращаются к текущему сегменту стека по адресу SS: SP. Если при вычислении адреса ЕА используется регистр ВР, то обращение производится также к стековому сегменту. В последнем случае принцип стека «первый пришел – последний вышел» игнорируется и ячейки стекового сегмента рассматриваются как ОЗУ с произвольной выборкой, что обеспечивает большую гибкость в использовании этих ячеек.

Операнды, как правило, размещаются в текущем сегменте данных, и обращение к ним организуется по адресу DS: EA. Однако программист может заставить МП обратиться к переменной, находящейся в другом текущем сегменте. Считается, что цепочка-источник находится в текущем сегменте данных, а ее смещение задается регистром SI. Цепочка-получатель обязательно располагается в текущем дополнительном сегменте, а смещение берется из регистра DI. Команды обработки цепочек автоматически модифицируют содержимое индексных регистров SI и DI по мере продвижения по цепочке в направлении, соответствующем флагу DF.

Смена сегментного регистра в соответствии с вариантами, указанными в таблице 4, осуществляется с помощью однобайтового префикса замены сегмента 001SR110, который ставится перед первым байтом команды. Двухбитовое поле SR содержит код сегментного регистра, используемого для вычисления физического адреса в данной команде: 00 – регистр ES; 01 – СS, 10 - SS; 11 – DS. В мнемонических обозначениях команд смена сегмента отражается следующим образом: MOV AX, CS: [BX] - пересылка в АХ слова из кодового сегмента со смещением из ВХ; ADD ES:ROW[DI], ВL - сложение байта из дополнительного сегмента (со смещением + ROW) с содержимым регистра и размещение результата в ОЗУ на место первого слагаемого.

Сегментная структура памяти обеспечивает возможность создания позиционно независимых или динамически перемещаемых программ, что необходимо в мультипрограммной среде для эффективного использования оперативной памяти. Чтобы обеспечить позиционную независимость, все смещения в программе должны задаваться относительно фиксированных значений, содержащихся в сегментных регистрах. Это позволяет произвольно перемещать программу в адресном пространстве памяти, изменяя только содержимое сегментных регистров.

Стек, как обычно, организуется в ОЗУ, и его положение определяется содержимым регистров SS и SР. Регистр SS хранит базовый адрес текущего сегмента стека, а регистр SР указывает на вершину стека, т.е. содержит смещение вершины стека в стековом сегменте. При каждом обращении к стеку пересылается одно слово, причем содержимое SР модифицируется автоматически: при записи (включении) в стек оно уменьшается на два, при чтении (извлечении) из стека – увеличивается на два.

 




<== предыдущая лекция | следующая лекция ==>
КОНСПЕКТ ЛЕКЦИЙ | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.