- •Содержание:
- •Состав микропроцессорного комплекта бис серии к1810………..…4
- •Сегментация памяти и вычисление адресов в мп к1810вм86…………………………………………………………….4
- •11. Микроконтроллеры…………………………………………………..47
- •Состав микропроцессорного комплекта бис серии к1810
- •1. Сегментация памяти и вычисление адресов в микропроцессоре к1810вм86
- •2. Микропроцессор к1810вм86 или intel 8086
- •2.1. Особенности защищенного режима мп Intel 8086
- •2.2. Структура мп Intel 8086
- •2.3. Система прерываний в мп Intel 8086
- •2.4. Примеры конфигураций мпс на базе центрального процессора (вм86) и сопроцессора ввода/вывода (вм89)
- •2.5. Адресация к памяти цп
- •2.7. Функциональная схема подключения центрального процессора и сопроцессора
- •2.8. Принцип построения мп на базе к1810вм86, включенного в максимальном режиме
- •2.9. Адресное пространство мп
- •2.10. Особенности мп к1810вм88 или Intel 8088
- •3. Микроконтроллеры
- •Восьмиразрядные мк
- •3.1. Микроконтроллер кр1816ве51 или Intel 8051ан
- •11.2. Характеристика основных компонентов мк51
- •Блок регистров специальных функций
- •Формат слова состояния программы (ссп)
- •Альтернативные функции порта 3
- •3.3. Последовательный интерфейс
- •3.4. Таймер/счетчик
- •Регистр режима работы таймера/счетчика
- •Регистр управления/статуса таймера
- •3.5. Система прерываний мк51
- •Регистр масок прерывания (рмп)
- •Регистр приоритетов прерываний
- •3.6. Совмещение адресного пространства мк51
- •3.7. Особенности поведения мк при подаче сигнала сброса
- •3.8. Доступ к внешней памяти
- •3.9. Программирование мк
- •3.10. Запись бита защиты
- •3.11. Режим пониженного энергопотребления
- •3.12. Согласование последовательного порта мк с интерфейсом rs-232с
- •3.13. Система команд в мк51
- •Группа команд передачи данных
- •3.14. Схема подключения мк к клавиатуре и дисплею с использованием контроллера клавиатуры и дисплея
- •3.15. Расширители, подключаемые к микроконтроллеру
- •Основная литература
- •Дополнительная литература
Минобрнауки Российской Федерации
Федеральное ГОСУДАРСТВЕННОЕ бюджетное ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
“ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ”
ИНСТИТУТ КИБЕРНЕНТИКИ, ИНФОРМАТИКИ И СВЯЗИ
Кафедра Кибернетических систем
КОНСПЕКТ ЛЕКЦИЙ
По курсу: «Проектирование МПС АиУ»
для студентов очного и заочного обучения специальности 220401–
«Управление и информатика в технических системах», бакалавриата 220400 – «Управление в технических системах»
Тюмень 2011
Утверждено редакционно-издательским советом
Тюменского государственного нефтегазового университета
Составитель: д.т.н., профессор Кузяков О.Н.
Рецензент:
© Федеральное государственное бюджетное образовательное
учреждение высшего
профессионального образования
«Тюменский государственный
нефтегазовый университет», 2011
Содержание:
-
Состав микропроцессорного комплекта бис серии к1810………..…4
-
Сегментация памяти и вычисление адресов в мп к1810вм86…………………………………………………………….4
-
МП К1810ВМ86 или INTEL 8086…………………………………...7
-
Особенности защищенного режима МП INTEL 8086……………...8
-
Стуктура МП INTEL 8086……………………………………………..9
-
Система прерываний в МП INTEL 8086……………………………...10
-
Примеры конфигураций МПС на базе центрального процессора (ВМ86) и сопроцессора ввода/вывода (ВМ89)……………………….42
-
Адресация к памяти ЦП………………………………………………..43
-
КЭШ – память и ее особенности……………………………………....44
-
Функциональная схема подключения центрального процессора и сопроцессора……………………………………………………………45
-
Принцип построения МП на базе К1810ВМ86, включенного в максимальном режиме…………………………………………………45
-
Адресное пространство МП…………………………………………...46
-
Особенности МП К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
К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. Сегментация памяти и вычисление адресов в микропроцессоре к1810вм86
Пространство памяти емкостью 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Р модифицируется автоматически: при записи (включении) в стек оно уменьшается на два, при чтении (извлечении) из стека – увеличивается на два.