Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование МПС(конспект лекций).doc
Скачиваний:
9
Добавлен:
18.11.2018
Размер:
769.54 Кб
Скачать

Минобрнауки Российской Федерации

Федеральное ГОСУДАРСТВЕННОЕ бюджетное ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ”

ИНСТИТУТ КИБЕРНЕНТИКИ, ИНФОРМАТИКИ И СВЯЗИ

Кафедра Кибернетических систем

КОНСПЕКТ ЛЕКЦИЙ

По курсу: «Проектирование МПС АиУ»

для студентов очного и заочного обучения специальности 220401–

«Управление и информатика в технических системах», бакалавриата 220400 – «Управление в технических системах»

Тюмень 2011

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

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

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

Рецензент:

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

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

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

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

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

Содержание:

  1. Состав микропроцессорного комплекта бис серии к1810………..…4

  2. Сегментация памяти и вычисление адресов в мп к1810вм86…………………………………………………………….4

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

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

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

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

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

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

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

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

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

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

    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

К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Р модифицируется автоматически: при записи (включении) в стек оно уменьшается на два, при чтении (извлечении) из стека – увеличивается на два.