Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции - Микропроцессоры и микропроцессорные системы - файл 1.doc


Лекции - Микропроцессоры и микропроцессорные системы
скачать (2465.5 kb.)

Доступные файлы (1):

1.doc2466kb.24.11.2011 12:18скачать

содержание

1.doc

  1   2   3   4   5   6   7   8   9   10
Курский государственный технический университет

Кафедра вычислительной техники
Курс лекций по дисциплине
Микропроцессоры
и микропроцессорные системы



Курск, 2003

Содержание

1.Введение 4

1.1. Успехи интегральной технологии и предпосылки появления микропроцессоров 4

1.2. Основные схемотехнологические направления производства микропроцессоров 5

1.3. Характеристики микропроцессоров 6

1.4. Поколения микропроцессоров. 6

2.Машина пользователя и система команд 10

1.5. 8-разрядный микропроцессор 10

1.6. Архитектура 16-разрядного микропроцессора 16

3.Общая структура МПС 21

4.Структура микропроцессора и интерфейсные операции 23

1.7. 8-разрядный микропроцессор 23

1.7.1. Внутренняя структура 23

1.7.2. Командный цикл микропроцессора. 24

1.7.3. Машинные циклы и их идентификация. 24

1.7.4. Реализация микропроцессорных модулей и состав линий системного интерфейса 26

1.8. 16-разрядный микропроцессор 28

1.8.1. Внутренняя структура 29

1.8.2. Машинные циклы i8086 в минимальном и максимальном режимах 32

1.8.3. Структура микропроцессорных модулей на базе микропроцессора i8086 35

5.Подсистема памяти МПС 41

1.9. Распределение адресного пространства 41

1.10. Регенерация динамической памяти 43

6.Подсистема ввода/вывода МПС 48

1.11. Подсистема параллельного обмена на базе буферных регистров 48

1.12. Контроллер параллельного обмена К580ВВ55 48

1.13. Последовательный обмен в МПС 54

1.13.1. Универсальный последовательный приемопередатчик КР580ВВ51 55

7.Подсистема прерываний МПС 60

1.14. Внутренние и внешние прерывания 60

1.15. Функции подсистемы прерываний и их реализация 60

1.16. Контроллеры прерываний 62

8.Подсистема прямого доступа в память МПС 68

1.17. Контроллер прямого доступа в память К580ВТ57 68

9.32-разрядная архитектура 73

1.18. Высокопроизводительный 32-разрядный контроллер ПДП 82380 73

1.18.1. Архитектура контроллера 82380 73

1.18.2. Функции контроллера ПДП 76

1.18.3. Программируемый контроллер прерываний 78

1.18.4. Программируемые интервальные таймеры 79

1.18.5. Контроллер регенерации динамического ОЗУ 80

1.18.6. Генератор с состоянием ожидания 81

1.18.7. Сброс центрального процессора 82

1.18.8. Синхронизация шины контроллера 82380 87

10.Организация МПС на базе секционированных БИС 88

1.19. Арифметико-логические секции 89

1.20. Секции управления и устройства управления 96

1.20.1. Эволюция структур СФАМ. 96

1.20.2. Секции управления адресом микрокоманд серии К1804. 99

1.20.3. Организация управляющего автомата 101

1.21. Структура устройств обработки данных 101

1.22. МПС с одно- и двухуровневым управлением 104

1.23. Расширение архитектуры Am2900 106

1.23.1. Базовый процессорный элемент К1804ВМ1 106

11.Однокристальные микроЭВМ 120

1.24. Однокристальные микро-ЭВМ К1816ВЕ48/49/35 120

1.24.1. Структура ОМЭВМ 120

1.24.2. Элементы архитектуры ОМЭВМ 121

1.24.3. Порты ввода/вывода 123

1.24.4. Система команд ОМЭВМ 124

1.24.5. Расширение ресурсов ОМЭВМ 127

1.25. Однокристальная микроЭВМ К1816ВЕ51 129

1.25.1. Семейство однокристальных ЭВМ MCS-51 129

1.25.2. Структура микро-ЭВМ К1816ВЕ51 129

1.25.3. Архитектурные особенности микро-ЭВМ 130

1.25.4. Организация внутренней памяти данных. 132

1.25.5. Машинные циклы и синхронизация микро-ЭВМ 133

1.25.6. Внешние устройства микро-ЭВМ 134

1.25.7. Описание последовательного порта. 136

1.25.8. Таймеры-счетчики 139

1.25.9. Подсистема прерываний 141

1.25.10. Система команд 143

12.Системы проектирования и отладки МПС 148

1.26. Проблемы и особенности отладки МПС 148

1.26.1. Особенности отладки МПС на разных этапах ее существования. 149

1.27. Статические отладчики 150

1.28. Логические анализаторы 151

1.29. Сигнатурные анализаторы 157

1.29.1. Идея сигнатурного анализа 157

1.29.2. Оборудование сигнатурного анализа и требования к проверяемой схеме 158

1.30. Системы проектирования МПС 160

1.30.1. Внутрисхемные эмуляторы 161

Литература 163



  1. ^

    Введение

1.1.Успехи интегральной технологии и предпосылки появления микропроцессоров


Интегральная технология (ИТ) за первые 20..30 лет своего развития достигла таких относительных темпов роста характеристик качества, которых не знала ни одна область человеческой деятельности (включая и такие бурно растущие, как авиация и космонавтика). Действительно, рассмотрим динамику изменений основных параметров ИТ за первые 20 лет ее развития (1960..1980гг):

  • Степень интеграции N - увеличилась на 5-6 порядков;

  • Площадь транзистора S - уменьшилась на 3 порядка;

  • Рабочая частота f - увеличилась на 1-3 порядка;

  • Факторы добротности:

1) fN - увеличился на 5-7 порядков;

2) Pt - уменьшился на 4 порядка;

где P - мощность, рассеиваемая элементом;

t - задержка на элементе;

  • Надежность (при сопоставлении элементо-часов) - увеличилась на 4-8 порядков;

  • Производительность технологии (в транзисторах) - увеличилась на 4-6 порядков;

  • Цена на транзистор в составе ИС - уменьшилась на 2-4 порядка.

Если бы авиапромышленность в те же годы имела аналогичные темпы роста соответствующих показателей качества (стоимость-скорость-расход топлива = стоимость-быстродействие-рассеиваемая мощность), то "Боинг 767" стоил бы $500, облетал земной шар за 20 мин. и расходовал на этот полет 10 л. горючего.

Успехи ИТ в области элементной базы позволяли "поглощать" кристаллом все более высокие уровни ЭВМ: сначала - логические элементы, потом - операционные элементы (регистры, счетчики, дешифраторы,...), далее - операционные устройства. Степень функциональной сложности, достигнутой в ИС, определяется особенностью технологии, разрешающей способностью инструмента, а также структурными особенностями схемы: регулярностью, связностью.

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

С этой точки зрения интересно взглянуть на соотношение ИС логики и памяти в процессе эволюции ИС-СИС-БИС-СБИС. Первые ИС (степень интеграции N - 101) были исключительно логическими элементами. При достижении N примерно 102 стали появляться наряду с операционными элементами первые элементы памяти - 16-64-128 бит. По мере дальнейшего роста степени интеграции память стала быстро опережать "логику", т.к. по всем трем параметрам имела перед логическими схемами преимущество. Действительно, структура накопителя ЗУ существенно регулярна (повторяемость элементов и связей по двум координатам), связность ее растет пропорционально логарифму объема (при увеличении объема памяти вдвое и сохранении без изменения способа доступа в БИС достаточно добавить лишь один вывод). Наконец, память "нужна всем" и "чем больше, тем лучше", особенно, если "больше, но за ту же (почти) цену".

Что касается ИС логики, то на уровне N = 103 на кристалле можно уже размещать устройство ЦВМ (например, АЛУ, ЦУУ), но схемы логики (особенно управление) существенно нерегулярны, их связность (сильно зависящая от конкретной схемы) растет примерно пропорционально N, причем такие схемы, как правило, не являлись универсальными и не могли выпускаться большими тиражами (исключения - БИС часов и калькуляторов).

Разработка первого микропроцессора (МП) - попытка создать универсаль­ную логическую БИС, которая настраивается на выполнение конкретной функции после изготовления средствами программирования. На подобную БИС - МП первоначально предполагалось возложить лишь достаточно произвольные управляющие функции, однако позже МП стал использоваться как элементная база ЦВМ 4 и последующих поколений. Появление МП вызвало необходимость разработки целого спектра универсальных логических БИС, обслуживающих МП: контроллеры прерываний и прямого доступа в память (ПДП), шинные формирователи, порты ввода/вывода и др.
^

1.2.Основные схемотехнологические направления производства микропроцессоров


В настоящее время для производства интегральных схем используются следующие основные технологические базисы: транзисторно-транзисторная логика (ТТЛ); ТТЛ с диодами Шоттки (ТТЛШ); маломощная ТТЛШ (МТТЛШ); инжекционная интегральная логика (И2Л) и ее различные варианты (И3Л, ИШЛ и т. д.); р-канальная МОП-технология (р-МОП); n-канальная МОП (n-МОП); комплементарная МОП-технология (КМОП); варианты МОП-технологии (МНОП, ЛИЗМОП); эмиттерно-связанная логика (ЭСЛ).

Рассмотрим основные особенности распространенных технологий производства БИС. Для ТТЛ напряжение питания Uп=5В; стандартные входные уровни сигналов U0<=0.8В, U1>=2.0В, выходные U0<=0.4В; U1>=2.4В. По ТТЛ-технологии реализованы ИС серий К133, К134, К155. По сравнению с обычным ТТЛ, ТТЛШ-вентиль обеспечивает приблизительно вдвое меньшие задержки включения и выключения за счет использования ненасыщенного режима работы транзисторов, а также несколько меньшую мощность потребления и обладает в 1.5-2 раза меньшей площадью. Напряжение питания и стандартные входные-выходные напряжения ТТЛШ-вентиля унифицированы с аналогичными параметрами обычного ТТЛ-вентиля. Вентили ТТЛ и ТТЛШ работоспособны в широком диапазоне температур, изменение мощности их потребления в зависимости от частоты незначительно. По ТТЛШ-технологии реализованы ИС и БИС серий К533, К555, К589, К585, К1802, К1804, а также некоторые БИС серий К583, К584. На основе маломощной ТТЛШ-технологии реализованы ИС серий К1533, К1555.

Диапазон размаха логического сигнала И2Л-вентиля лежит в пределах 0.2-0.8В, поэтому для сопряжения И2Л БИС с ТТЛ-схемами используются специальные входные и выходные каскады. Стандартные И2Л-вентили имеют широкий диапазон рабочих токов питания, при этом их быстродействие прямо пропорционально току инжекции. И2Л БИС работоспособны в диапазоне от 0.1 до 2 значений номинального тока питания, что обеспечивает их работу как в микромощном, так и в быстродействующем режиме. По сравнению с ТТЛШ И2Л-технология обеспечивает приблизительно в десять раз большую степень интеграции БИС при меньшем в 2-3 раза быстродействии. В настоящее время развиваются многочисленные разновидности И2Л-технологии, такие как изопланарная И2Л (И3Л) и инжекционная Шоттки (ИШЛ) логика. ИШЛ по сравнению с И2Л-вентилем обладает приблизительно в 1.5 раза большей площадью, но обеспечивает быстродействие, соизмеримое с ТТЛШ-схемами. Инжекционная логика работоспособна в широком диапазоне температур. Помехоустойчивость схем такая же, как и у ТТЛ-логики. На основе И2Л-технологии реализованы БИС серий К582, К583, К584, К1808, К1815. Перспективным является построение комбинированных кристаллов, когда внутренняя часть строится по инжекционной технологии, а внешняя, для удачного сопряжения с периферией и другими БИС, - по ТТЛ-технологии.

Для работы р-МОП-инвертора необходимо подать напряжение питания Uп=-(9-24)В и напряжение смещения подложки Uсп=-(3-12)В. Выходные напряжения при Uп=-24В обычно принимаются равными U0=-22В, U1=-2В; входные напряжения U0=-12B, U1=-4B. Вентили имеют небольшую площадь, но обладают малым быстродействием (время переключения более 0.1 мкс). Относительная дешевизна этих БИС объясняет их широкое применение в бытовых приборах. Для работы n-МОП-инвертора необходимо подать напряжение питания Uп=5В и напряжение смещения подложки U'сп=-5В, на основе которого в резистивном делителе, подключенном к Uп и к U'сп вырабатывается Uсп. Иногда внутреннее Uсп вырабатывается на основе напряжения питания и земли. Входные и выходные напряжения n-МОП обычно обеспечивают прямое сопряжение с ТТЛ-схемами.

Площадь у n-МОП вентиля в 5-7 раз меньше, чем у ТТЛ и быстродействие в 4-10 раз меньше, чем у ТТЛ-схем. По n-МОП-технологии разработаны комплекты БИС серий К145, К580, К581, К586, К1801, К1809, К1810, К1820.

В состав КМОП-инвертора входят два транзистора разного типа проводимости. Для работы вентилей нет необходимости использовать напряжение смещения подложки. В состоянии логических нуля и единицы вентиль практически не потребляет энергию. Стандартные входные U0<=0.8B, U1>=3.5B и выходные U0<=0.4B, U1>=4.5B. Следует отметить высокую помехоустойчивость КМОП. Амплитуда помехи может составлять до 40% от напряжения питания. Высокопороговая КМОП-логика обычно имеет Uп=9В и не сопрягается с ТТЛ. По высокопороговой технологии выполнена серия К587, по низкопороговой - К564, К561, К588, К1806.

Вентиль ЭСЛ обладает самым большим быстродействием, но занимает самую большую площадь и потребляет большую, чем у всех остальных, мощность. Высокое быстродействие достигается за счет ненасыщенных режимов работы транзисторов. Входные и выходные напряжения составляют U0>=-1.1B, U1<=-1.5B; U1<=-1.65B, U0>=-0.8B соответственно. Из этого следует, что ЭСЛ-вентили невозможно прямо использовать в составе ТТЛ-схем.
^

1.3.Характеристики микропроцессоров


Кратко перечислим основные характеристики микропроцессоров:

  • разрядность;

  • быстродействие (тактовая частота, время выполнения "короткой" команды;

  • потребляемая мощность;

  • технология (уровень логических сигналов);

  • архитектурные особенности: система операций, способы адресации, наличие и организация подсистем прерываний и ПДП, объем и организация СОЗУ, конвейер операций, аппаратная поддержка системы виртуальной памяти и т.п.;

  • структурные особенности: количество и назначение шин (стандарт интерфейса), внутренняя структура;

  • число источников питания;

  • число БИС в комплекте;

и др.
^

1.4.Поколения микропроцессоров.


В первые десятилетия своего развития микропроцессоры было принято делить на поколения, причем границы поколений (разумеется, весьма условно) проводились по признаку технологии, освоенной на данном этапе эволюции МП. Рассмотрим кратко особенности первых трех поколений МП.

1.4.1. Микропроцессоры 1 поколения. Первый МП был разработан фирмой INTEL и выпущен в 1971г. на основе p-МОП технологии (i4004). В 1972 и 1973 годах этой же фирмой были выпущены модели i4040, i8008. Фирма Rockwell выпустила модели МП PSS-4, PSS-8. Все они могут быть отнесены к МП 1 поколения, характеристиками которого являются:

  • разрядность - 4..8 бит;

  • технология - p-МОП;

  • быстродействие (RR) - 5..60 мкС;

  • тактовая частота - 200..800 КГц;

  • совмещение шин адреса и данных;

  • число вспомогательных ИС и СИС - 15..50;

  • подсистемы прерываний и ПДП - отсутствуют.

Первые МП 1 поколения - 4-разрядные приборы, использовались для организации десятичной арифметики (калькуляторы). Так, i4004 имел 4-разрядное АЛУ с блоком десятичной коррекции, 16 РОНов, внутренний трехуровневый стек. Объем адресного пространства 212 (возможен выбор одного из 4 банков такого размера). Система команд включала 46 команд: пересылки, ввод/вывод, сдвиги, арифметические команды (+ - ФЗ).

В процессе эволюции МП первого поколения (МП-1) имело место увеличение разрядности (до 8) и некоторое расширение функций. Так, в i4040 добавлены логические операции, увеличен массив РОН (до24), введено одноуровневое прерывание. i8008 предназначался прежде всего для использования в системах управления. В нем, по сравнению с i4004, увеличена разрядность (до 8), добавлены логические команды, но исключен блок десятичной коррекции. Все МП-1 выпускались в стандартном 16-выводовом корпусе.

^ 1.4.2. Микропроцессоры 2 поколения. Совершенствование технологии МОП, переход на n-МОП технологию привел к появлению МП второго поколения, которые отличались от МП-1 не только количественными характеристиками, но и качественно. В 1974г. был выпущен МП i8080, который стал первым и наиболее популярным МП второго поколения (МП-2). Он же положил начало семейству однокристальных МП, которому суждено было стать (и оставаться до настоящего времени) доминирующим на мировом рынке МП. Вслед за i8080 другими фирмами были выпущены МП со сходными (иногда несколько лучшими) характеристиками. Наиболее известными являются. Z80 фирмы Zilog и MS6800 (Motorola). Эти МП, как и i8080, имеют своих 16- и 32-разрядных "потомков". Характерными признаками МП-2 можно считать:

  • переход на более прогрессивные технологии n-МОП и КМОП, позволившие повысить быстродействие МП до 2..2,5 МГц (200..500 тыс. операций RR), снизить потребление мощности (КМОП);

  • значительные архитектурные отличия: расширение системы операций, использование широкого набора способов адресации (прямая, косвенная, относительная, безадресная, непосредственная),введены подсистемы прерываний и прямого доступа в память (ПДП), предусмотрен механизм универсального стека;

  • структурные отличия: шины адреса и данных разделены, уменьшено число вспомогательных ИС и СИС.

МП-2 пришли на смену МП-1, значительно расширив сферу применения МП. Правда, МП-1 (по признаку технологии p-МОП) возродились позже в новом качестве - дешевых приборов бытовой электроники.

Другая судьба ожидала МП-2. Появившиеся микропроцессоры третьего поколения (МП-3) стали развиваться параллельно с МП-2, причем МП-2 легли в основу т.н. однокристальных МП и микро-ЭВМ, а МП-3 - секционированных многокристальных МП.

1.4.3. Переход к третьему поколению МП связан со стремлением к увеличению быстродействия МПС и переходом на биполярные технологии - ТТЛ и ТТЛШ.

Исходя из соотношения dEdt = const,

где dt - время переключения, dE - энергия переключения

очевидно, что повышение быстродействия связано с увеличением рассеиваемой мощности, а следовательно - к снижению степени интеграции кристалла. Первые МП-3 приборы были двухразрядными, что не приводило к увеличению производительности МП, хотя тактовая частота увеличивалась значительно (на порядок). Это обстоятельство повлекло значительные структурные изменения в МП-3 по сравнению с МП-2:

  • микропроцессоры выпускаются в виде секций со средствами межразрядных связей, позволяющими объединять в одну систему произвольное число секций для достижения заданной разрядности. В состав секций включалось АЛУ, РОН и некоторые элементы УУ;

  • устройство управления вынесено на отдельный кристалл (группу кристаллов), общий для всех процессорных секций;

  • за счет резерва внешних выводов (малая разрядность) предусмотрены отдельные шины ввода и вывода данных, адреса, причем данные от разных источников вводились по различным шинам. Так, первый МП-3 i3000 (серия К589 - отечественный аналог) имел три двухразрядные входные шины данных (от памяти, УВВ и УУ) и две выходные шины - данных и адреса;

  • кристаллы управления реализуют УУ с программируемой логикой, что позволяет достаточно легко реализовать практически любую систему команд на фиксированной структуре операционного устройства.

1.4.4. Тенденции развития поколений. В настоящее время технология не является решающим фактором классификации МП, ибо появились разновидности технологий одного типа, обеспечивающие очень широкий спектр характеристик МП, широкое распространение получили комбинированные технологии (например, И2Л + ТТЛШ).

Современные микропроцессоры принято разделять на два больших класса : однокристальные и многокристальные. В свою очередь, однокристальные МП можно разделить на собственно микропроцессоры и однокристальные микро-ЭВМ.

Направление развития однокристальных МП - непрерывное наращивание вычислительной мощности процессора за счет увеличения разрядности, расширения системы команд, появления дополнительных функций - Кэш-памяти, конвейера операций, встроенных процессоров плавающей запятой, аппаратной поддержки виртуальной памяти и др.

Однокристальные микро-ЭВМ, сохраняя вычислительную мощность процессора практически неизменной (на уровне 8-разрядного МП), содержат на кристалле все элементы МПС : тактовый генератор, память программ и данных, контроллеры параллельного и последовательного ввода/вывода, контроллеры прерываний, таймеры, а некоторые микро-ЭВМ - АЦП и ЦАП и другие спец. средства (например, динамические схемы управления восьмисегментной индикацией). Такие БИС можно непосредственно подключать к периферийным устройствам для создания микро-ЭВМ или включать в контур управления.

Многокристальные микропрограммируемые МП используются как элементная база "больших" ЭВМ или специализированных средств, для которых характерны нетрадиционные параметры.

На Рис. 1.1 показаны направления развития различных типов МПС.


Р
ис. 1.1. Микропроцессоры (дерево развития)
Из Рис. 1.1 видно, что наиболее многочисленное (и распространенное в мире) семейство микропроцессоров - INTEL. Далее будем иллюстрировать основные положения курса примерами организации МП этого семейства : однокристальные МП - i8080-i8086-i80286-i80386-i80486-Pentium-PentiumPro; однокристальные микро-ЭВМ - i8035-i8051/52
  1. ^

    Машина пользователя и система команд

1.5.8-разрядный микропроцессор


П
рограммная модель 8-разрядного микропроцессора (МП) i8080 (К580ВМ80) включает в себя (Рис. 2.2) программно-доступные объекты МПС, т.е. те объекты, состояние которых можно проанализировать и/или изменить при помощи команд МП. К таким объектам относятся внутренние регистры МП, ячейки памяти и порты ввода/вывода.

Рис. 2.2. МП i8080 - машина пользователя

Микропроцессор включает в себя следующие программно-доступные

  • 8-разрядные регистры:

  • A - регистр-аккумулятор;

  • C, D, E, H, L - регистры общего назначения (РОН);

  • FLAGS - регистр признаков (флажков);

16-разрядные регистры:

  • PC - программный счетчик (счетчик команд);

  • SP - указатель стека;

и одноразрядный регистр (триггер)

  • I - разрешения прерывания.

Регистр FLAGS имеет следующий формат:


7

6

5

4

3

2

1

0

SF

ZF

0

AF

0

PF

1

CF

где

  • CF - перенос из старшего (7-го) разряда;

  • PF - паритет (четность числа единиц в результате);

  • AF - дополнительный перенос (из 3-го разряда);

  • ZF - нулевой результат;

  • SF - отрицательный результат (знак).

В некоторых командах пары регистров BC, DE, HL могут рассматриваться как единые двухбайтовые регистры. К программно-доступным можно отнести фиктивный однобайтовый регистр M, роль которого выполняет ячейка памяти, адрес которой хранится в регистровой паре HL. С регистром М можно проводить все те же операции, что и с любым РОНом.

При анализе системы команд МП i8080 будем классифицировать команды по следующим признакам:

1) по функциям операций:

  • арифметико-логические и специальные;

  • пересылки и загрузки;

  • ввода/вывода;

  • передачи управления;

  • системные.

(комментарии к классам операций см. ниже)

2) по формату команд:

  • однобайтовые;

  • двухбайтовые;

  • трехбайтовые.

Первый байт всех команд включает код операций, а для некоторых команд еще и адрес (адреса) регистров.

Второй байт двухбайтовых команд содержит непосредственный операнд одинарной длины или адрес устройства ввода/вывода.

Второй и третий байты трехбайтовых команд содержат непосредственный операнд двойной длины или прямой адрес памяти.

3) по способу адресации:

  • безадресная;

  • прямая регистровая;

  • прямая памяти;

  • косвенно-регистровая;

  • непосредственная.

При безадресном способе адрес операнда в команде подразумевается (принимается “по умолчанию”) и не может быть изменен (чаще всего это аккумулятор) - например, в командах инверсии, сдвигов (NOT, RAR,. ..) или не имеет смысла, например, в командах NOP, HLT.

При прямой регистровой адресации в коде команды предусматривается трехбитовое поле (в команде MOV - два поля), содержащее адрес РОН, или двухбитовое поле для адресации регистровой пары.

^ Косвенно-регистровая адресация определяет регистровую пару, в которой хранится двухбайтовый адрес операнда, расположенного в памяти. Косвенная адресация через пару HL позволяет выполнять над адресуемой ячейкой памяти (М) те же действия, что и над любым РОН. Косвенная адресация через пары BC и DE обеспечивает только пересылку данных из аккумулятора в память и из памяти в аккумулятор.

^ Прямая адресация памяти требует трехбайтового формата и обеспечивает пересылку данных между аккумулятором и памятью. Предусмотрена так же пересылка по прямому адресу слов двойной длины между парой HL и памятью, причем в команде (во втором и третьем байте) указывается адрес младшего байта данных, старший байт извлекается из ячейки памяти с адресом, большим на 1.

При непосредственной адресации сам операнд располагается во втором байте команды (длина операнда - 8 бит) или во втором и третьем байтах (16 бит).

4) по длине обрабатываемых слов:

  • операции над словами одинарной длины (8 бит);

  • операции над словами двойной длины (16 бит).

В представлена система команд 8-разрядного микропроцессора К580ВМ80.

Арифметические операции в системе команд i8080 представлены арифметическими операциями с фиксированной запятой: сложением и сложением с переносом, вычитанием и вычитанием с заемом, инкрементом и декрементом. Последние две операции могут выполняться над содержимым любого регистра (в том числе М) и над содержимым любой регистровой пары РОН (BC, DE, HL). При выполнении сложения и вычитания первый операнд всегда располагается в аккумуляторе, второй адресуется в регистре или непосредственно, а результат помещается в аккумулятор. В системе команд предусмотрена операция сложения содержимого регистровой пары HL с содержимым любой регистровой пары РОН (в том числе и HL). Результат сложения помещается в HL.

Логические операции системы команд - дизъюнкция, конъюнкция и неравнозначность. Один из операндов и результат - в аккумуляторе, второй операнд адресуется в регистре или непосредственно.

К специальным операциям могут быть отнесены безадресные аккумуляторные команды инверсии, десятичной коррекции и сдвигов. Команда десятичной коррекции DAA анализирует величину каждой тетрады аккумулятора, начиная с младшей, и значение флагов переноса из тетрад (AF и CF соответственно). Если значение тетрады превышает 9 (1010..1111) или соответствующий флаг равен 1, то к тетраде добавляется константа 6 (0110). При этом значение возникающего при суммировании переноса фиксируется в соответствующем разряде слова признаков FLAGS.

В системе команд i8080 имеются 4 команды циклических сдвигов аккумулятора, особенности которых иллюстрируются Рис. 2.3.

Команды пересылки и загрузки обеспечивают передачу информации между различными уровнями памяти (ОЗУ - СОЗУ) или между ячейками памяти одного уровня, а так же загрузку регистров или ячеек памяти константами (при использовании непосредственной адресации).

Обмен между ячейкой памяти и регистром осуществляется по косвенному адресу памяти и только аккумулятор может обмениваться с памятью по прямому адресу (трехбайтовыми командами).

В системе команд i8080 предусмотрены команды пересылки и загрузки как байтового регистра, так и регистровой пары, причем роль аккумулятора двойной длины играет пара HL.

Табл. 2.1

Функциональные классы

Прямая регистровая

Косвенно-регистровая

Прямая памяти

Непосредственная

Безадресная

1 байт

2 байта

1 байт

2 байта

1 байт

2 байта

1 байт

2 байта

1 байт

2 байта

Арифметико-логические и специальные

(A)*(r) A

(A)(r)CF A

(r)1 r

(A) – (r)

(HL) + (R) HL

(R) + 1R

(A)*(M) A

(A)(M) CF A

(M)1 M

(A) – (M)










(A)*(B2) A

(A)(B2) CF A
(A) – (B2)




  1.  A

сдвиги А

десятичная коррекция




Пересылки

(r)  r




(r)  (M)

  1.  ((BC))

(A) 

((DE))

(R)  ((SP))

(PSW)  ((SP))

A  (<B3>.<B2>)

(HL)

(<B3>.<B2>+1).(<B3>.
<B2>)

<B2>  r

<B3>.<B2>

 R




(DE)↔(HL)

((SP))↔(HL)

(SP)(HL)

(PC)(HL)

Передачи управления
















PC
<B3>.<B2>
PC ((SP))

PC
<B3>.<B2>










PC ((SP))

Ввода/

вывода













A(<B2>)
















Системные

























(I)  1 (I)  0

(CF)  1 (CF)  (CF)

NOP HLT

Условные обозначения

A – аккумулятор;

r  {A,B,C,D,E,H,L) – регистры;

R {BC, DE, HL}– регистровые пары;

PC – программный счетчик;

SP – указатель стека;

((SP))– верхушка стека;

M – ячейка памяти, адрес которой храниться в HL;

PSW – слово состояния (A.F);

<B2>, <B3> – второй, третий байт команды;

CF – бит (флаг) переноса;

F – регистр признаков;

,   – операции присваивания;

↔ – обмен содержимым;

. – операция конкатенации

Близкими по смыслу и реализации к командам пересылки и загрузки являются команды ввода/вывода, обеспечивающие обмен между аккумулятором и портом ввода/вывода, адрес которого (8 бит) указывается во втором байте двухбайтовой команды.





Рис. 2.3. Выполнение сдвигов
^ Команды передачи управления изменяют естественный порядок выполнения программы, загружая в счетчик команд PC новый адрес. Эти команды делятся на три группы: переходы, вызовы и возвраты, причем в каждой группе в системе команд МП К580ВМ80 по 9 команд - одна безусловная и восемь условных. В качестве условий передачи управления фигурируют флаги CF, ZF, PF, SF и их инверсии.

Если условие выполнено, то в командах переходов осуществляется загрузка программного счетчика PC вторым и третьим байтами команды. При этом старое значение PC теряется.

В командах вызовов (подпрограмм) старое значение PC помещается предварительно в верхушку стека, после чего PC загружается вторым и третьим байтами команды.

Команды возвратов - однобайтовые, т.к. не содержат адреса памяти. При выполнении условия возврата в программный счетчик переписываются два байта верхушки стека, старое значение PC теряется.

При невыполнении условия все команды передачи управления передают управление следующей по порядку команде.

^ Формирование признаков. Команды микропроцессора могут сформировать значение всех или некоторых признаков (флажков) по результатам выполнения команды, установить значение признака независимо от результата операции или сохранить значения признаков без изменений. В Табл. 2.2 приведены действия команд МП К580.. на признаки.

Табл. 2.2

Команды

SF

ZF

AF

PF

CF

Арифметические операции над операндами одинарной длины (кроме INR, DCR), DAA


+


+


+


+


+

INR, DCR

+

+

+

+

-

Логические операции

+

+

-

+

0

Сдвиги, установка и инверсия CF

-

-

-

-

+

Пересылка, загрузка, операции с двойными регистрами, операции со стеком, передача управления, системные операции, инверсия


-


-


-


-


-

В таблице приняты следующие обозначения:

+ признак формируется по результату операции;

0 признак устанавливается в ноль;

- признак сохраняется.

Особенности архитектуры других 8-разрядных МП

К основным недостаткам рассмотренной выше системы команд МП i8080 можно отнести отсутствие разновидностей относительной адресации и, как следствие - сложности с обработкой нескольких массивов. Микропроцессоры, разработанные несколько позже i8080, включают, как правило, один или несколько индексных регистров.

Так, 8-разрядный МП фирмы Motorola MC6800 имеет, помимо PC и SP, 16-разрядный индексный регистр, регистр признаков и два аккумулятора (A и B), но не имеет РОНов.

Наиболее мощным из 8-разрядных МП является Z80 фирмы Zilog. Рассмотрим структуру программно-доступных объектов этого МП (Рис. 2.4).








Z80

15 0







IX




7 0

7 0

IY




Вектор I

Сч.ргнр.R

SP







PC







7 0

7 0




7 0

7 0

A

F








B

C








D

E








H

L








Рис. 2.4. МП Z80 - машина пользователя

Z80 включает в себя все программно-доступные объекты i8080. Дополнительно Z80 имеет два 16-разрядных индексных регистра IX, IY и большое число команд, адресующих операнд через индексный регистр и 8-разрядное смещение (второй байт команды).

Дополнительный блок РОН позволяет при переходе к подпрограмме сохранять содержимое регистров не прибегая к длительной процедуре размещения содержимого регистров в стеке.

Два дополнительных 8-разрядных специальных регистра позволяют организовывать регенерацию динамической памяти и управлять размещением таблицы векторов прерываний (см. разделы 5 и 7 соответственно).

Система команд Z80 включает все 78 команд i8080 и 80 дополнительных команд. Список команд расширен за счет команд, использующих индексную адресацию, команд сдвигов, системных команд и др. Значительно расширен набор команд 16-разрядной арифметики и пересылки.
^

1.6.Архитектура 16-разрядного микропроцессора


Переход к 16-разрядным микропроцессорам - i8086 и другие аналогичной вычислительной мощности - ознаменовался качественным скачком всех основных характеристик МП: не просто увеличение разрядности, но значительное изменение архитектуры, системы команд, принципов организации структуры. Кроме показанного на Рис. 2.5, в машину пользователя i8086 включатся память объемом 1М байт и две области портов ввода и вывода по 64К каждая.
Рассмотрим "машину пользователя" на базе i8086 (К1810ВМ86):







7 0

7 0







AX

AH

AL

Аккумулятор

РОН

BX

BH

BL

База




CX

CH

CL

Счетчик




DX

DH

DL

Данные







15 0




Регистры-




SP

Указатель стека

указатели




BP

Указатель базы

Индексные




SI

Индекс операнда

регистры




DI

Индекс результата







15 0










CS

Сегмент кода

Сегментные




DS

Сегмент данных

регистры




SS

Сегмент стека







ES

Сегмент доп. данных







15 0










IP

Счетчик команд



















FLAGS

Регистр признаков


Рис. 2.5. МП i8086 - машина пользователя
Разработчики i8086 старались сохранить возможность преемственности программного обеспечения i8080, поэтому в составе i8086 можно выделить подмножество регистров i8080 (соответствующие подмножество сохранено и в системе команд). Помимо операций с 16-разрядными регистрами общего назначения (РОН) AX..DX, допускается обращение к каждому байту этих регистров - AL..DL, AH..DH. В некоторых командах РОНы выполняют определенные по умолчанию функции счетчиков, индексных регистров и т.п. (см. Рис. 2.5).

16-разрядные регистры BP, SI, DI используются для образования исполнительных адресов памяти (см. ниже), SP - указатель стека, IP - программный счетчик (СчК), F - регистр флагов. Младший байт F полностью повторяет формат регистра признаков i8080, а старший имеет след. формат:

15 12

11

10

9

8




Зарезервировано

OF

DF

IF

TF




Арифметическое

переполнение

Направление

Разрешение прерывания

Пошаговый режим








где:

^ DF определяет направление модификации адресов массивов в командах цепочек (увеличение или уменьшение адреса);

IF маскирует внешнее прерывание по входу INT (при IF = 1 прерывание разрешено);

TF управляет пошаговым режимом работы микропроцессора. При TF = 1 после выполнения каждой команды автоматически формируется прерывание с вектором 4 (см. раздел 7).

^ Распределение адресного пространства.

Адресное пространство МП определяется в i8086 разрядностью шины адреса/данных + адреса и составляет 220 = 1М байт. В этом адресном пространстве МП одновременно доступны четыре сегмента, два из которых (DS и ES) предназначены для размещения данных, CS - сегмент кода (для размещения программы) и SS - сегмент стека.

Размеры сегментов определяются разрядностью логических адресов команд, данных и стека. Логические адреса команд и стека (верхушки) хранятся в 16-разрядных регистрах IP и SS соответственно, а логический адрес данных вычисляется в команде (см. ниже) и так же составляет 16 бит. Таким образом, размер каждого сегмента в i8086 составляет 64К байт. Положение сегмента в адресном пространстве (его начальный адрес) определяется содержимым одноименного сегментного регистра. Формирование физического адреса иллюстрируется схемой Рис. 2.6 .

Из Рис. 2.6 видно, что граница сегмента в адресном пространстве может быть установлена не произвольно, а таким образом, чтобы начальный адрес сегмента был кратен 16.


15 0

Сегментный регистр

.0 0 0 0

15 0




Логический адрес




19 0

Физический адрес


Рис. 2.6. Формирование физического адреса

По умолчанию сегментные регистры выбираются для образования физического адреса след. образом: при считывании команды по адресу IP используется CS, при обращении к данным - DS или ES, при обращению к стеку - SS. С помощью специальных приставок к команде (префикса) можно назначить для использования произвольный сегментный регистр (кроме пары CS:IP, которая не подлежит модификации). Границы сегментов могут быть выбраны т.о., что сегменты будут изолированы друг от друга, пересекаться или даже полностью совпадать. Например, если загрузить CS=SS=DS=ES=0, то все сегменты будут совпадать друг с другом и начинаться с нулевого адреса - вариант организации адресного пространства i8080.
Способы адресации

и методы формирования исполнительного адреса

Длина команды i8086 может составлять от 1 до 6 байт. Формат команды представлен на Рис. 2.7.

1 байт

2 байт

3..6 байты




КОП

D

W

MOD

REG

R/M

[Смещение. данные]




7 2 1 0

7 6 5 3 2 0




Рис. 2.7. Формат команды МП i8086

Большинство команд i8086 являются двухадресными, причем один адрес определяет регистр процессора, а другой - память или регистр. Поля команды имеют следующие назначения:

D - определяет направление передачи информации: при D = 1 REG является приемником, иначе - источником;

W - определяет длину операндов в команде: при W = 1 длина операндов составляет 16 бит (слово - word), иначе - 8 бит(байт);

REG - определяет регистр для первого операнда согласно Табл. 2.3:

Табл. 2.3

REG

(R/M)

Регистр

W = 0

W = 1

000

AL

AX

001

CL

CX

010

DL

DX

011

BL

BX

100

AH

SP

101

CH

BP

110

DH

SI

111

BH

DI


Поля R/M и MOD определяют способ формирования адреса второго операнда, который располагается чаще всего в памяти. В Табл. 2.4 приведены способы формирования адресов памяти для двух значений поля MOD.

Табл. 2.4

R/M

MOD = 00

MOD = 01

Логич.адрес

Сегмент

Логич.адрес

Сегмент

000

BX+SI

DS

BX+SI+d8

DS

001

BX+DI

DS

BX+DI+d8

DS

010

BP+SI

SS

BP+SI+d8

SS

011

BP+DI

SS

BP+DI+d8

SS

100

SI

DS

SI+d8

DS

101

DI

DS

DI+d8

DS

110

d16

DS

BP+d8

DS

111

BX

DS

BX+d8

DS


В Табл. 2.4 d8 и d16 означают соответственно 8- и 16-разрядное смещение (3 и 3+4 байты команды). При операциях с d8 осуществляется его "знаковое расширение" до 16 бит - биты 15..8 принимают значение бита 7 (знака).

При значении MOD = 10 используются те же регистры, что при MOD = 01 (см. Табл. 2.4), но вместо d8 используется d16.

При MOD = 11 вторым операндом команды является регистр, определяемый полем R/M согласно Табл. 2.3.

Таким образом, операнд в памяти может адресоваться прямо (MOD = 00, R/M = 110) или косвенно посредством содержимого базовых (BP, BX) или индексных (SI, DI) регистров, а так же их суммы. Режимы адресации спроектированы с учетом эффективной реализации языков высокого уровня. Например, к простой переменной можно обратиться в режиме прямой адресации, а к элементу массива - в режиме косвенной адресации посредством BX, SI. Режим адресации через BP предназначен для доступа к данным из сегмента стека, что удобно при реализации рекурсивных процедур и компиляторов языков высокого уровня.
Система команд i8086

Система команд насчитывает 113 базовых команд, объединенных в следующие группы.
1) ^ Команды передачи данных:

а) между регистрами и памятью (включая стек), обмен содержимым источника и приемника;

б) ввода, вывода, табличного преобразования;

в) загрузка исполнительного адреса в РОНы, загрузка 4-байтового адресного объекта в регистры-указатели (начальный адрес сегмента и смещение в сегменте);

г) передача содержимого регистра F флагов в память, в стек и из стека.

2) ^ Арифметические команды:

+ - × / двоичных чисел со знаком и без знаков (произведение и делимое представляются числами двойной длины),

коррекция десятичная + - упакованных двоично-десятичных чисел,

коррекция десятичная + - × / распакованных двоично-десятичных чисел.

3) ^ Логические команды и сдвиги:

инверсия, конъюнкция, дизъюнкция, неравнозначность;

TEST - поразрядная конъюнкция операндов с установкой флагов но без занесения результатов;

сдвиги на 1 или заданное число разрядов (константа сдвига располагается в CL).

4) ^ Команды передачи управления:

переходы, вызовы, возвраты - имеют две разновидности - внутрисегментные ("близкие") и межсегментные ("дальние").

При близких передачах загружается только IP, при дальних - IP и CS. Передачи управления могут быть прямыми (целевой адрес - в команде) или косвенными (целевой адрес вычисляется с использованием стандартных режимов адресации)

В 16 командах условных переходов проверяются отношения знаковых и беззнаковых чисел. Имеются 4 команды управления циклами, которые рассчитаны на передачу числа повторений цикла в регистре CX.

5) ^ Команды обработки цепочек данных

Команды манипулируют последовательностями байт или слов в памяти. Время обработки цепочек этими командами гораздо меньше, чем соответствующей программной реализацией.

  1. ^

    Общая структура МПС



Микропроцессор - центральная часть любой микропроцессорной системы (МПС) - включает в себя АЛУ и ЦУУ, реализующее командный цикл. МП может функционировать только в составе МПС, включающей в себя, кроме МП, память, устройства ввода/вывода, вспомогательные схемы (тактовый генератор, контроллеры прерываний и ПДП, шинные формирователи, регистры-защелки и др.).

В любой МПС можно выделить следующие основные части (подсистемы) :

  • процессорный модуль;

  • память;

  • внешние устройства (внешние ЗУ + устройства ввода/вывода);

  • подсистему прерываний;

  • подсистему прямого доступа в память.

С
вязь между процессором и другими устройствами МПС может осуществляться по принципам радиальных связей, общей шины или комбинированным способом. В однопроцессорных МПС, особенно 8- и 16-разрядных, наибольшее распространение получил принцип связи "Общая шина", при котором все устройства подключаются к интерфейсу одинаковым образом (Рис. 3.8).
Рис. 3.8. Структура МПС с интерфейсом "Общая шина"

Все сигналы интерфейса делятся на три основные группы - данных, адреса и управления. Многочисленные разновидности интерфейсов "Общая шина" обеспечивают передачу по раздельным или мультиплексированным линиям (шинам). Например, интерфейс Microbus, с которым работают большинство 8-разрядных МПС на базе i8080, передает адрес и данные по раздельным шинам, но некоторые управляющие сигналы передаются по шине данных. Интерфейс Q-bus, используемый в микро-ЭВМ фирмы DEC (отечественный аналог - микропроцессоры серии К1801) имеет мультиплексированную шину адреса/данных, по которой эта информация передается с разделением во времени. Естественно, что при наличии мультиплексированной шины в состав линий управления необходимо включать специальный сигнал, идентифицирующий тип информации на шине.

Обмен информацией по интерфейсу производится между двумя устройствами, одно из которых является активным, а другое - пассивным. Активное устройство формирует адреса пассивных устройств и управляющие сигналы. Активным устройством выступает, как правило, процессор, а пассивным - всегда память и некоторые ВУ. Однако, иногда быстродействующие ВУ могут выступать в качестве задатчика (активного устройства) на интерфейсе, управляя обменом с памятью (т.н. режим прямого доступа в память - см. раздел 8).

Концепция "Общей шины" предполагает, что обращения ко всем устройствам МПС производится в едином адресном пространстве, однако, в целях расширения числа адресуемых объектов, в некоторых системах искусственно разделяют адресные пространства памяти и ВУ, а иногда даже и памяти программ и памяти данных.

  1. ^

    Структура микропроцессора и интерфейсные операции

1.7.8-разрядный микропроцессор

1.7.1.Внутренняя структура



На Рис. 4.9 представлена внутренняя структура МП i8080, включающего в себя 8-разрядное АЛУ с буферным регистром и схемой десятичной коррекции, блок РОН, регистры указателя стека SP и счетчика команд PC, первичный управляющий автомат УА, буферные схемы шин адреса и данных и схему управления системой.


Рис. 4.9. Внутренняя структура МП i8080

Внешний интерфейс представлен 8-разрядной двунаправленной шиной данных D[7:0], 16-разрядной шиной адреса A[15:0] и группой линий управления.

Назначение входных и выходных линий МП :

D[7:0] - двунаправленная шина данных служит для приема и выдачи данных, приема команды, приема вектора прерывания, выдачи дополнительной управляющей информации (слово PSW);

^ A[15:0] - однонаправленная шина адреса служит для выдачи адреса памяти и устройств ввода/вывода;

Ф1,Ф2 - сигналы тактового генератора частотой 1..2,5 МГц;

^ RESET - сброс (начальная установка и запуск программы с адреса 0000);

READY - входной сигнал готовности памяти или ВУ к обмену (обеспечивает асинхронный режим обмена);

^ INT - запрос внешнего прерывания;

HOLD - захват шины (требование прямого доступа в память со стороны ВУ);

WR - запись - выходной сигнал, определяющий направление передачи информации по шине данных от процессора к памяти или ВУ;

RD - чтение - выходной сигнал, определяющий направление передачи информации по шине данных от памяти или ВУ к процессору;

SYNC - выходной сигнал, идентифицирующий наличие на шине данных дополнительной управляющей информации (PSW);

^ WAIT - выходной сигнал, отмечающий состояние ожидания или останова МП;

INTE - выходной сигнал, подтверждающий режим внешних прерываний;

HLDA - выходной сигнал, подтверждающий режим прямого доступа в память (подтверждение захвата).
^

1.7.2.Командный цикл микропроцессора.


МП работает в составе МПС, обмениваясь информацией с памятью и ВУ. В основе работы МП лежит командный цикл - действия по выбору из памяти и выполнению одной команды. В зависимости от типа и формата команды, способов адресации и числа операндов командный цикл может включать в себя различное число обращений к памяти и ВУ и следовательно - иметь различную длительность.

Любой командный цикл (КЦ) начинается с извлечения из памяти первого байта команды по адресу, хранящемуся в PC. Известно (см. раздел 1.5), что команды i8080 имеют длину 1, 2 или 3 байта, причем в первом байте содержится информация о длине команды. В случае 2- или 3-байтовой команды реализуются дополнительные обращения к памяти по соседним (большим) адресам.

После считывания команды начинается ее выполнение, причем в процессе выполнения может потребоваться еще одно или несколько обращений к памяти или ВУ (чтение операнда, запись результата).

Для реализации команды i8080 может потребоваться от 1 до 5 обращений к памяти (ВУ). Хотя обращения к ЗУ/ВУ располагаются в разных частях КЦ, выполняются они по единым правилам, соответствующим интерфейсу МПС и реализованы на общем оборудовании управляющего автомата. Действия МПС по передаче в/из МП одного байта данных/команды называются машинным циклом.
^

1.7.3.Машинные циклы и их идентификация.


Командный цикл представляет собой последовательность машинных циклов (МЦ), причем КЦ i8080 может содержать от 1 до 5 МЦ, которые принято обозначать M1, M2,..M5.

МЦ обязательно включает в себя действия по передаче байта информации. Кроме того, в некоторых МЦ дополнительно реализуются действия по пересылке и/или преобразованию информации внутри МП. Поэтому длительность МЦ может быть различной - за счет различного числа содержащихся в них машинных тактов (T1, T2,...).

Машинный такт (такт) образует пара сигналов тактового генератора Ф1, Ф2, поэтому длительность такта постоянна - период тактового генератора (за исключением такта Tw - см. ниже).

Таким образом, просматривается иерархия процедур при работе микропроцессора (не только i8080) :

^ Командный цикл Машинный цикл Машинный такт.

Каждому такту соответствует определенное состояние управляющего автомата. Любой МЦ i8080 обязательно содержит такты T1, T2, T3, предназначенные для передачи байта по интерфейсу. МЦ, в которых осуществляется передача и/или преобразование информации в МП, содержат дополнительно один или два такта T4, T5. МП i8080 вырабатывает несколько типов МЦ, основными из которых являются циклы ПРИЕМ и ВЫДАЧА (Рис. 4.10, Рис. 4.11).

М
Ц микропроцессора i8080 предусматривает возможность обмена как в синхронном, так и в асинхронном режиме. Если в составе МПС использованы только "быстрые" устройства, т.е. такие, которые могут работать с тактовой частотой МП, то передача информации в МЦ осуществляется в синхронном режиме. В этом случае на вход READY МП подается константа "1" и после такта T2 начинается такт T3. При работе с "медленными" устройствами, быстродействие которых не позволяет переключаться с частотой тактового генератора МП, необходимо "растянуть" во времени МЦ, реализовав асинхронный принцип обмена. Для этого в начале МЦ обмена с "медленными" устройствами на входе READY формируется уровень логического нуля. В такте T2 МП анализирует состояние READY, и если READY = 0, то МП после T2 переходит не к T3, а к такту ожидания Tw, который может длиться произвольное число периодов тактового генератора. Переход к T3 осуществляется по фазе Ф1, если в предыдущей Ф2 READY установился в "1". С помощью входа READY можно не только согласовывать работу МП с устройствами различного быстродействия, но и реализовывать пошаговый и потактовый режимы работы МП.

Рис. 4.10. Временная диаграмма МЦ "ПРИЕМ "

Таким образом, в машинном цикле выполняются следующие действия:

  • выдача адреса;

  • выдача информации о начатом МЦ (PSW);

  • анализ значения входных сигналов;

  • при необходимости - ожидание сигнала READY = 1;

  • прием/выдача данных;

  • при необходимости - внутренняя обработка/пересылка данных.

При реализации одного МЦ процессор может:

  1. принять из памяти байт команды;

  2. принять из памяти байт данных;

  3. принять из УВв байт данных;

  4. принять из стека байт данных;

  5. принять вектор прерывания;

  6. выдать в память байт данных;

  7. выдать в стек байт данных;

  8. выдать на УВыв байт данных.


О
тносительно выходных сигналов МП все перечисленные выше разновидности МЦ отличаются только направлением передачи данных: в МП - циклы 1..5 (ПРИЕМ), из МП - циклы 6..8 (ВЫДАЧА).

Рис. 4.11. Временная диаграмма МЦ "ВЫДАЧА"

Дефицит внешних выводов МП не позволяет выводить во внешний интерфейс достаточный для эффективного функционирования объем управляющей информации. Для выдачи более полной информации о состоянии МП в текущем МЦ используется мультиплексирование шины данных. В начале каждого МЦ на линии шины данных D[7:0] выдается байт дополнительной управляющей информации (т.н. PSW), разряды которого имеют следующее назначение:

D0 - подтверждение прерывания;

D1 - запись (в ЗУ) или вывод (на УВыв);

D2 - обращение в стек;

D3 - подтверждение останова;

D4 - вывод (на УВыв);

D5 - M1 (считывание из памяти первого байта команды);

D6 - ввод (из УВв);

D7 - чтение (из ЗУ).

Наличие на D[7:0] управляющей информации отмечается специальным выходным сигналом SYNC (см Рис. 4.10, Рис. 4.11). Байт управляющей информации присутствует на шине данных (ШД) один такт, а использоваться может в течение всего МЦ. Поэтому в МПС, использующих информацию PSW, предусматривается специальный, внешний по отношению к МП, регистр-защелка для фиксации PSW.
^

1.7.4.Реализация микропроцессорных модулей и состав линий системного интерфейса


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

Системная шина управления может быть в простейшем случае образована двумя выходными сигналами МП - RD и WR\. Однако, в большинстве МПС фиксируются разряды (все или часть) PSW и на их основе формируется расширенный состав линий управления.

Типичная структура процессорного модуля показана на Рис. 4.12, в схеме которого, наряду с МП К580ВМ80, использованы СИС серии К580: генератор тактовых импульсов К580ГФ24, системный контроллер К580ВК28 и шинные формирователи К580ВА86.

Т
актовый генератор. .ГФ24 (Рис. 4.13), наряду с выработкой тактовых сигналов Ф1, Ф2, стробирует внешние асинхронные сигналы RESIN, RDYIN по фазе Ф2 и формирует сигнал строба STB\ для защелкивания PSW: STB\ = SYNC & Ф1. Сигналы Ф1, Ф2 имеют амплитуду 12В; кроме того выдается сигнал Ф2ттл уровня ТТЛ-схем.

Рис. 4.12. Структура процессорного модуля на базе микропроцессора i8080

Системный контроллер. .ВК28 (Рис. 4.14) буферирует шину данных, образуя системную шину данных DB[7:0] с нагрузочной способностью порядка 30 нагрузок ТТЛ. В состав. .ВК28 входит регистр-защелка, фиксирующий 5 разрядов PSW (0,1,4,6,7) по стробу STB\, и логическая схема, формирующая сигналы на 5 управляющих линиях системного интерфейса:

RDM\ - чтение из памяти;

WRM\ - запись в память;

RDIO\ - чтение из внешнего устройства;

WRIO\ - запись во внешнее устройство;

INTA\ - подтверждение прерывания.

Входной сигнал HLDA высоким уровнем переводит все выходы системного контроллера в высокоимпедансное состояние, то же делает и внешний сигнал BUSEN\ - "разрешение работы шины".





Рис. 4.13. Тактовый генератор К580ГФ24
Рис. 4.14. Системный контроллер К580ВК28

Шинные формирователи. .ВА86 буферируют однонаправленную шину адреса, а сигнал HLDA, поступающий на вход OE\ переводит высоким уровнем системную шину AB[15:0] в высокоимпедансное состояние.

Внешний сигнал RDYIN формируется обычно на специальном триггере, что позволяет реализовать, с одной стороны – асинхронный режим обмена микропроцессора с «медленными» устройствами, с другой стороны – пошаговый и потактовый режимы работы системы. На рисунке  сигнал готовности RDYIN сбрасывается: (1) селектором адреса «медленного» устройства; (2) сигналом M1 = D5&STB в пошаговом режиме; (3) сигналом SYNC в потактовом режиме. Установка RDYIN осуществляется сигналом готовности устройства или кнопкой «Пуск».
^

1.8.16-разрядный микропроцессор


16-разрядный МП i8086 (К1810ВМ86) явился дальнейшим развитием линии однокристальных МП, начатой i8080. Наряду с увеличением разрядности в i8086 реализован ряд новых архитектурных решений:

  1. расширена система команд (по набору операций и способам адресации);

  2. архитектура МП ориентирована на мультипроцессорную работу. Разработана группа вспомогательных БИС (контроллеров и специализированных процессоров) для организации мультимикропроцессорных систем различной конфигурации;

  3. начато движение в сторону совмещения во времени выполнения различных операций. МП включает два параллельно работающих устройства

  4. обработки данных и связи с магистралью, что позволяет совместить во времени процессы обработки информации и передачи ее по магистрали;

  5. введена новая (по сравнению с i8080) организация памяти, которая далее использовалась во всех старших моделях семейства INTEL - сегментация памяти.

Для сохранения преемственности модели с i8080 в i8086 предусмотрено два режима работы - "минимальный" и "максимальный", причем в минимальном режиме i8086 работает просто как достаточно быстрый 16-разрядный i8080 с расширенной системой команд (архитектура МПС на базе i8086-min напоминает архитектуру на базе i8080).

^ Максимальный режим ориентирован на работу i8086 в составе мультимикропроцессорных систем, в которых, помимо нескольких центральных процессоров i8086, могут функционировать специализированные процессоры ввода/вывода i8089, сопроцессоры "плавающей арифметики" i8087.

Определим более четко введенные выше понятия:

^ Центральный процессор – поддерживает собственный командный цикл, выполняет программу, хранящуюся в системной памяти, по сбросу системы управление, как правило, передается центральному процессору (или одному из ЦП, если их несколько в системе).

^ Специализированный процессор – поддерживает собственный командный цикл, выполняет программу, хранящуюся в системной памяти, но инициализируется только по команде ЦП, по окончании выполнения программы сообщает ЦП о завершении работы.

Сопроцессор не поддерживает собственный командный цикл, выполняет команды, выбираемые для него ЦП из общего потока команд. По сути дела сопроцессор является расширением ЦП.
^

1.8.1.Внутренняя структура


Структурная схема МП i8086 представлена на Рис. 4.15. МП включает в себя три основных устройства :

  • УОД - устройство обработки данных;

  • УСМ - устройство связи с магистралью;

  • УУС - устройство управления и синхронизации.

УОД предназначено для выполнения команд и включает в себя 16-разрядное АЛУ, системные регистры и другие вспомогательные схемы; блок регистров (РОН, базовые и индексные) и блок микропрограммного управления.

УСМ обеспечивает формирование 20-разрядного физического адреса памяти и 16-разрядного адреса ВУ, выбор команд из памяти, обмен данными с ЗУ, ВУ, другими процессорами по магистрали. УСМ включает в себя сумматор адреса, блок регистров очереди команд и блок сегментных регистров.

УУС обеспечивает синхронизацию работы устройств МП, выработку управляющих сигналов и сигналов состояния для обмена с другими устройствами, анализ и соответствующую реакцию на сигналы других устройств МПС.

МП может работать в одном из двух режимов - "минимальном" (min) и "максимальном" (max). Минимальный режим предназначен для реализации однопроцессорной конфигурации МПС с организацией, подобной МПС на базе i8080, но с увеличенным адресным пространством, более высоким быстродействием и значительно расширенной системой команд. Максимальная конфигурация предполагает наличие в системе нескольких МП и специального блока арбитра магистрали (используется интерфейс Multibus).

На внешних выводах МП i8086 широко используется принцип мультиплексирования сигналов - передача разных сигналов по общим линиям с разделением во времени. Кроме того, одни и те же выводы могут использоваться для передачи разных сигналов в зависимости от режима (min - max).

Ниже приводится описание внешних выводов МП i8086. При описании выводов косой чертой разделены сигналы, появляющиеся на выводе в разные моменты машинного цикла. В круглых скобках указаны сигналы, характерные только для максимального режима. Символ \ после имени сигнала - знак его инверсии.

Р
ис. 4.15. Внутренняя структура процессора i8086

A/D[15:0] - младшие [15:0] разряды адреса / данные;

A[19:16]/ST[6:3] - старшие [19:16] разряды адреса / сигналы состояния;

BHE\/ST[7] - разрешение передачи старшего байта данных / сигнал состояния;

STB(QS0) - строб адреса (состояние очереди команд);

R\ - чтение;

W\/(LOCK\) - запись (блокировка канала);

M-IO\(ST2\) - память - внешнее устройство (состояние цикла);

OP-IP\(ST1\) - выдача-прием (состояние цикла);

DE\(ST0\) - разрешение передачи данных (сост. цикла);

TEST\ - проверка;

RDY - готовность;

CLR - сброс;

CLC - тактовый сигнал;

INT - запрос внешнего прерывания;

INTA\(QS1) - подтверждение прерывания (состояние очереди команд);

NMI - запрос немаскируемого прерывания;

HLD(RQ\/E0) - запрос ПДП (запрос / подтверждение доступа к магистрали);

NLDA(RQ\/E1) - подтверждение ПДП (запрос / подтверждение доступа к магистрали);

MIN/MAX\ - потенциал задания режима (1-min, 0-max).

Сигналы состояния ("статуса") используются для отображения внутреннего состояния МП. Некоторые группы статусных сигналов используются только в максимальном режиме.

Сигналы ST[2:0]\ определяют тип текущего машинного цикла (аналогично PSW для i8080), и формируются только в максимальном режиме:

Табл. 4.5

ST2

ST1

ST0

Тип машинного цикла

0

0

0

Обслуживание прерывания

0

0

1

Чтение ВУ

0

1

0

Запись ВУ

0

1

1

Останов

1

0

0

Извлечение кода команды

1

0

1

Чтение ЗУ

1

1

0

Запись ЗУ

1

1

1

Пассивное состояние


Разряды статуса 3..4 определяют сегментный регистр, используемый для вычисления физического адреса:

Табл. 4.6

ST4

ST3

Сегментный регистр

0

0

ES

0

1

CS

1

0

SS

1

1

DS



ST[5] отражает состояние флага разрешения прерывания IF, ST[6] всегда установлен в 0, когда МП обменивается информацией по магистрали, состояние ST[7] не определено (зарезервировано).

Сигналы QS[1:0] формируются только в максимальном режиме и отражают состояние очереди команд:

Табл. 4.7

QS1

QS0

Состояние очереди команд

0

0

Нет операции

0

1

Очередь очищается

1

0

Извлекается первый байт

1

1

Извлекается очередной байт


Практически все команды МП i8086 могут работать как со словами (2 байта) так и с байтами. При работе со словами сигнал BHE\ разрешает передачу старшего байта слова.

Сигнал STB отмечает наличие на линиях A/D и A/S адреса.

R и W\ стробируют данные на шине A/D соответственно при чтении и записи.

M-IO\ и OP-IP\ определяют соответственно устройство, с которым производится обмен (память - ВУ) и направление передачи информации (вывод - ввод) относительно процессора.

DE\ стробирует внешний буфер A/D при передаче данных.

Вход TEST\ предназначен для синхронизации программы с внешними процессами. Команда WAIT (ожидание) переводит процессор в режим ожидания, в котором он будет находиться до тех пор, пока на входе TEST\ удерживается высокий уровень сигнала (лог. "1"). При этом все магистрали МП переводятся в высокоимпедансное состояние.

RDY - (готовность) аналогично соответствующему входу МП i8080 обеспечивает возможность асинхронного машинного цикла.

CLR - (сброс) устанавливает все регистры МП в 0, кроме CS, который устанавливается в FFFF и осуществляет запуск командного цикла. Таким образом, стартовый адрес i8086 - всегда FFFF0.

CLC - тактовый сигнал.

INT, INTA\ - соответственно запрос и подтверждение вешнего прерывания (подробнее см. раздел 7).

NMI - запрос внешнего немаскируемого прерывания по фиксированному вектору 2.

HLD, HLDA - соответственно требование и предоставление прямого доступа в память (работает аналогично подсистеме ПДП i8080). В максимальном режиме вместо сигналов HLD, HLDA используются две двунаправленные линии RQ\/Ei\ - запрос шины/разрешение доступа, на которые работает специальная микросхема - арбитр шины.
^

1.8.2.Машинные циклы i8086 в минимальном и максимальном режимах


Временные диаграммы работы МП i8086 в минимальном режиме представлены на Рис. 4.16 и Рис. 4.17. Цикл начинается с формирования в T1 сигнала M/IO, определяющего тип устройства - память или ВУ, с которым осуществляется обмен данными. Длительность сигнала M/IO равна длительности цикла шины, и он используется для селекции адреса устройств. В T1 и в начале T2 МП выдает адрес A[19:16] и A[15:0] и сигнал BHE, который вместе с A0 определяет передачу слова или одного из байтов. По спаду строба ALE адрес фиксируется во внешних регистрах-защел­ках.


Рис. 4.16. Минимальный режим – цикл ЧТЕНИЕ
В такте T2 происходит переключение шин: на выводы A[19:16]/ ST[6:3] поступают сигналы состояния; выводы A/D[15:0] в цикле ЧТЕНИЕ переводятся в высокоимпедансное состояние, а в цикле ЗАПИСЬ - на них выдаются данные, предназначенные для записи в устройство.

Циклы ЧТЕНИЕ и ЗАПИСЬ отличаются не только активными значениями сигналов RD и WR и состоянием сигнала OP/IP, но и тем, что в цикле ЗАПИСЬ сигналы DEN и WR становятся активными раньше и имеют большую длительность, чем в цикле ЧТЕНИЕ.

В максимальном режиме изменяются значения восьми управляющих сигналов МП, на основании которых системный контроллер К1810ВГ88 формирует системные управляющие сигналы. Временные диаграммы работы i8086 в максимальном режиме представлены на Рис. 4.18 (а – ЧТЕНИЕ, б – ЗАПИСЬ).


Рис. 4.17. Минимальный режим – цикл ЗАПИСЬ
Код состояния S[2:0] выдается по срезу CLK в последнем такте предшествующего цикла, которым может быть T4 или TI. В такте T1 контроллер формирует строб ALE и устанавливает необходимый уровень на выходе OP/IP (DT/R). В такте T2 начинается формирование DEN, который в отличие от минимального режима имеет активный высокий уровень. Контроллер. .ВГ88 формирует так же MRDC\, IORC\, AMWC\, AIOWC\. Последние два - сигналы опережающей записи обеспечивают более длительный импульс записи, что может потребоваться для некоторых устройств. Следует помнить, что сигналы опережающей записи не гарантируют установку данных по началу импульса записи. При разработке контроллера. .ВГ88 предполагалось, что шина данных системы буферизована, поэтому сигналы MRDC, IORC, AMWC, AIOWC начинают формироваться еще до того, как МП переведет шину в третье состояние. Поэтому эти сигналы не должны подаваться на те устройства, которые подключены непосредственно к мультиплексированной шине A/D. На Рис. 4.18 в рамки помещены сигналы, которые формирует системный контроллер К1810ВГ88.

При работе в асинхронном режиме между тактами T3 и T4 могут появиться один или несколько тактов ожидания Tw, в течении которых МП удерживает в активном состоянии выводы ST2..ST0, так что контроллер сохраняет управление шиной в течение любого числа тактов ожидания Tw. Сигнал направления передачи OP/IP\, передаваемый на шинные формирователи (ШФ), устанавливается в такте T1, но работа ШФ не разрешается до появления сигнала DEN\ = 0 в такте T2. Строб данных DEN\ заканчивается в такте T4, что обеспечивает отключение ШФ до начала следующего цикла шины.

Рис. 4.18. Временные диаграммы МЦ i8086 в максимальном режиме





^

1.8.3.Структура микропроцессорных модулей на базе микропроцессора i8086


Структура процессорных модулей на базе МП i8086 существенно зависит от выбранного режима работы МП.

4.2.3.1. Для минимального режима (Рис. 4.19) практически повторяется структура системы на базе i8080. Отличие - в необходимости "защелкивать" адрес в специальном регистре.

Процессорный модуль, представленный на рис. 4.11, работает аналогично процессорному модулю на базе i8080, но управляет памятью большего объема и может осуществлять обмен двухбайтовыми словами.

4.2.3.2. Максимальный режим предполагает наличие в системе нескольких равноправных задатчиков, работающих на общую шину. При этом возможны варианты организации системы с одной системной шиной или с системной шиной и шиной ввода/вывода. Управление шинами осуществляется специализированными БИС: контроллером шины и арбитром шины.

К
онтроллер системной шины К1810ВГ88 предназначен для управления обмена данными между локальной шиной (ЛШ) МП с одной стороны и системной шиной (СШ) или шиной ввода/вывода (ШВВ) или резидентной шиной (РШ) - с другой стороны. Контроллер. .ВГ88 синхронизируется тактовым генератором МП и осуществляет управление шинными формирователями, регистрами, фиксаторами адреса, устройствами ввода/вывода и памятью.

Рис. 4.19. Процессорный модуль на базе 8086 в минимальном режиме

Структура. .ВГ88 представлена на Рис. 4.20.

Назначение выводов:

S0\, S1\, S2\ - входы сигналов состояния МП;

CLK - вход тактовых импульсов (от генератора. .ГФ84);

AEN\ - управление состоянием "включено - выключено" командных сигналов;

CEN - управление состоянием командных выходов и контрольных выходов DEN, PDEN\;

IOB - выбор режима работы контроллера (при IOB = 0 задается режим работы с системной шиной, иначе - с шиной ввода/вывода;

MRDC\ - строб чтения из памяти;

MWTC\ - строб записи в память;

AMWC\ - опережающий сигнал записи в память;

IORC\ - строб ввода из ВУ;

IOWC\ - строб вывода на ВУ;

AIOWC\ - опережающий сигнал записи на ВУ;

INTA\ - подтверждение прерывания;

DT/R\ - сигнал управления работой шинных формирователей (ШФ).





Рис. 4.20. Системный контроллер. .ВГ88

При DT/R = 1 ШФ переключаются на передачу данных с локальной шины на системную (или ШВВ), при DT/R = 0 - в обратном направлении;

DEN - сигнал, управляющий состоянием "включено" ШФ, включенных между ЛШ и ШВВ или СШ;

MCE/PDEN - сигнал управления осуществляет две функции в зависимости от режима работы контроллера. В режиме работы с ШВВ (IOB = 1) используется сигнал PDEN управления состоянием "включено" ШФ между ЛШ и ШВВ. В режиме работы с системной шиной (IOB = 0) используется сигнал MCE управления считывания номера ведомого контроллера прерываний, подлежащего обслуживанию;

ALE - строб адреса на локальной шине A/D.

^ Функционирование микросхемы. .ВГ88. Основной информацией для формирования командных сигналов и сигналов управления является код состояния МП, поступающий на входы S0\, S1\, S2\. В соответствии с Табл. 4.8 дешифратор состояний контроллера формирует командные сигналы с учетом входных сигналов IOB, CEN и AEN\.

Табл. 4.8

S2

S1

S0

Тип машинного цикла

Команды

0

0

0

Обслуживание прерывания

INTA\

0

0

1

Чтение ВУ

IORC\

0

1

0

Запись ВУ

^ IOWC\, AIOWC\

0

1

1

Останов

-

1

0

0

Извлечение кода команды

MRDC\

1

0

1

Чтение ЗУ

MRDC\

1

1

0

Запись в ЗУ

^ MWTC\, AMWTC\

1

1

1

Пассивное состояние

-


Контроллер работает в двух режимах: (1) с системной шиной и (2) с шиной ввода/вывода.

Р
ежим работы с системной шиной устанавливается при IOB = 0. В этом режиме контроллер формирует командные сигналы и сигналы ALE, DEN, DT/R\ управления фиксаторами адреса и шинными формирователями при условии, что AEN\ = 0 и
CEN = 1.

Рис. 4.21. Однопроцессорная конфигурация для максимального режима

В режиме работы с шиной ввода/вывода (IOB = 1) контроллер может управлять доступом к двум шинам - системной шине и резидентной шине ввода/вывода. Командные сигналы IORC\, IOWC\, AIOWC\ и INTA\ в этом режиме всегда разрешены, т.е. их появление не зависит от входного сигнала AEN\. Как только МП начинает выполнять команду ввода/вывода, формируется соответствующий командный сигнал, а также сигналы PDEN\ и DT/R\ управления моментом и направлением передачи данных по резидентной шине ввода/вывода. Системная шина в этом случае может работать только с памятью или УВВ, отображенными на память. МП получает доступ к системной шине по сигналу AEN\, а командные сигналы IORC\, IOWC\, AIOWC\ и INTA\ для работы с системной шиной не используются.

Рассмотрим варианты организации МПС на базе i8086-max с различным числом шин и МП.

На Рис. 4.21 показана однопроцессорная конфигурация с системной шиной (СШ), представленной линиями адреса AB[15:0], линиями данных DB[19:0] и линиями управления: MRDC\, MWTC\, AMWTC\, IORC\, IOWC\, AIOWC\, INTA\.

Л
окальной шиной (ЛШ) назовем совокупность линий, непосредственно связанных с микропроцессором – на Рис. 4.21 линии A/D(16) и A/ST(4). Тогда группу микросхем, связывающих локальную шину с системной (DD3..DD8 на Рис. 4.21) назовем схемой шинного интерфейса (СШИ).

В многопроцессорной конфигурации несколько процессоров работают на общую системную шину, имея доступ к общим системным ресурсам - памяти и УВВ. Каждый МП имеет свой системный контроллер. .ВГ88, причем управление доступом к СШ осуществляет арбитр шины, подавая на один из контроллеров сигнал AEN = 0, а на остальные AEN = 1. Дисциплина доступа к СШ определяется организацией арбитра. На Рис. 4.22 показано подключение к СШ трех процессорных модулей.

Иногда МП имеет доступ к двум шинам - системной (СШ) и резидентной (РШ), причем на резидентную шину подключаются только ресурсы, доступные одному МП. Для этого часть адресов единого адресного пространства передается на РШ, а разделение обращений по шинам обеспечивается дешифратором адреса, подключенным к ЛШ. Связи ЛШ  СШ и ЛШ  РШ осуществляются через отдельные СШИ. На Рис. 4.23 показана МПС с СШ и РШ. На СШ работают два МП, причем один из них имеет и собственную резидентную шину.
Рис. 4.22. Многопроцессорная конфигурация с системной шиной

Иногда бывает удобно располагать резидентной шиной ввода/вывода, всегда доступной одному процессору. В этом случае контроллер. .ВГ88, входящий в состав СШИ для шины ввода/вывода (ШВВ), работает в режиме IOB = 1. В этом режиме командные сигналы IORC\, IOWC\, AIOWC\ и INTA\ всегда разрешены, поэтому МП всегда имеет доступ к ШВВ при выполнении команд ввода/вывода. Системная шина в этом случае может работать только с памятью и/или УВВ, отображенными на пространство памяти. Структура МПС с системной шиной и шиной ввода/вывода представлена на Рис. 4.24

Рис. 4.23. Многопроцессорная конфигурация с системной и резидентной шиной


Рис. 4.24. Многопроцессорная конфигурация с системной и резидентной шиной
ввода/вывода

  1. ^

    Подсистема памяти МПС

1.9.Распределение адресного пространства


О
бъем адресного пространства МПС с интерфейсом "Общая шина" определяется главным образом разрядностью шины адреса и, кроме того, номенклатурой управляющих сигналов интерфейса. Управляющие сигналы могут определять тип объекта, к которому производится обращение (ОЗУ, ВУ, стек, специализированные ПЗУ и др.). В случае, если МП не выдает сигналов, идентифицирующих пассивное устройство (или они не используются в МПС), - для селекции используются только адресные линии. Число адресуемых объектов составляет в этом случае 2k, где k - разрядность шины адреса. Будем называть такое адресное пространство "единым". Иногда говорят, что ВУ в едином адресном пространстве "отображены на память", т.е. адреса ВУ занимают адреса ячеек памяти. Пример организации селекции устройств в едином адресном пространстве МПС на базе i8080 и распределение адресного пространства показаны на Рис. 5.25 и Рис. 5.26 соответственно.
Рис. 5.25. Структура единого адресного пространства


0000 0FFF

1000 FEFF

FF00 FFFF

ПЗУ



ОЗУ

до 59,75К

ВУ

0,25К

Рис. 5.26. Пример распределения единого адресного пространства

При небольших объемах памяти в МПС целесообразно использовать некоторые адресные линии непосредственно в качестве селектирующих (Рис. 5.27), что позволяет уменьшить объем оборудования МПС за счет исключения селектора адреса. При этом, однако, адресное пространство используется крайне неэффективно (Рис. 5.28).

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

Так, большинство МП выдают в той или иной форме информацию о типе обращения. В результате в большинстве интерфейсов присутствуют отдельные управляющие линии для обращения к памяти и вводу/ выводу, реже - стеку или специализированному ПЗУ. В результате суммарный объем адресного пространства МПС может превышать величину 2k.

Рис. 5.27. Использование адресных линий для прямой селекции устройств
Н
апример, используя информацию PSW МП i8080 (см. разд. 4.1.3), можно располагать в МПС следующим объемом памяти и УВВ: 64K ЗУ (адреса 0000..FFFF) + 64K стек (0000..FFFF) + 256 УВв (00..FF) + 256 УВыв (00..FF) = 128,5K байт. Для этого необходимо включить в состав МПС системный контроллер, фиксирующий PSW и формирующий управляющие сигналы чтения и записи стека, памяти и ВУ.





0 3FF

400 7FF

800 FFF




1000 13FF




2000 23FF










ПЗУ



ОЗУ






ВУ1




ВУ2































- неиспользуемое адресное пространство

Рис. 5.28. Распределение адресного пространства для структуры, изображенной на Рис. 5.27

Характерно, что серийный системный контроллер К580ВК28 не выделяет область стека (формирует только сигналы RDM, WRM, RDIO и WRIO), поэтому при необходимости отводить под стек большой объем памяти можно синтезировать на ИС системный контроллер, аналогичный по функциям ..ВК28, но формирующий дополнительно управляющие сигналы RDS и WRS.

Другой пример разделения адресного пространства по функциональному признаку дает МП К1801ВМ2. Он формирует специальный управляющий сигнал, позволяющий обращаться к системной области ПЗУ, в которой записаны подпрограммы выполнения команд арифметики с плавающей запятой (ПЗ). В потоке команд МП серии К1801 одни и те же коды используются для инициирования сопроцессора плавающей арифметики (при его наличии) или вызова подпрограмм выполнения команд ПЗ при отсутствии сопроцессора. Управляющий сигнал вырабатывается только при выполнении команд ПЗ и селектирует соответствующее ПЗУ, которое в остальных командных циклах является "прозрачным", т.е. его адреса могут использоваться другими устройствами памяти.

^ Диспетчер памяти. При необходимости расширить объем памяти за пределы адресного пространства можно воспользоваться т.н. "диспетчером памяти". В простейшем случае он представляет собой программно-доступный регистр, который должен располагаться в пространстве ввода/вывода. В него заносится номер активного в данный момент банка памяти, причем объем банка может равняться объему адресного пространства МП (2k).

Очевидно, в каждый момент времени процессору доступен только один банк. При необходимости перехода в другой банк памяти МП должен предварительно выполнить программную процедуру (часто всего одну команду) перезагрузки содержимого номера банка. Сказанное иллюстрируется Рис. 5.29. К развитию этой идеи можно отнести механизм сегментации памяти в 16- и 32-разрядных МП фирмы INTEL (см. разделы 2.2 и 2.3).


Рис. 5.29. Использование диспетчера памяти
^

1.10.Р
егенерация динамической памяти


Запоминающая ячейка динамического типа хранит информацию в виде заряда емкости. Ток утечки обратно смещенного p-n перехода составляет не более 10-10 A (0,1 нA), а емкость - 0,1..0,2 пФ, следовательно постоянная времени разряда - более 1 мС. Поэтому через каждые 1..2 мС требуется производить подзаряд емкостей запоминающих элементов - регенерацию динамической памяти.

В
динамических ОЗУ чаще используется т.н. "строчная регенерация", при которой в одном цикле регенерируются все элементы, расположенные в одной строке прямоугольной матрицы накопителя. Следует отметить, что любое обращение к запоминающей ячейке (запись или чтение) осуществляет ее регенерацию и одновременно регенерирует все ячейки, расположенные в той же строке накопителя.

Рис. 5.30. Управление регенерацией динамической памяти

Однако, при работе ОЗУ в составе МПС в общем случае нельзя дать гарантию, что в течение 2мС произойдет обращение ко всем строкам накопителя, т.к. поток адресов является случайным. Для обеспечения гарантированной сохранности информации в динамическом ОЗУ при работе МПС вводятся специальные циклы регенерации - обращения к ОЗУ по последовательным адресам строк.

В большинство динамических ОЗУ адрес ячейки подается за два приема : сначала - адрес строки, который запоминается во внутреннем регистре ОЗУ, потом по тем же линиям - адрес столбца. Каждая передаваемая по мультиплексированным линиям часть адреса сопровождается соответствующим управляющим сигналом (RAS, CAS).

Для регенерации накопителя достаточно провести обращение только к последовательным строкам - каждый цикл обращения для регенерации может состоять только из передачи адреса строки. Поэтому для полной регенерации накопителя объемом 16K (матрица 128  128) достаточно 128 тактов. Накопители большего объема реализуют на неквадратных матрицах, чтобы уменьшить число строк и сократить время регенерации. Так, накопитель объемом 64K имеет матрицу 128  512.

Различают несколько способов организации регенерации динамических ОЗУ в МПС.

5.2.1. Регенерация "по таймеру". В состав МПС включается таймер регенерации, который каждые 2 мС формирует сигнал, блокирующий обращение МП к памяти и запускающий процедуру регенерации. Схема управления регенерацией () включает в себя счетчик адреса регенерации, триггер регенерации и мультиплексор адреса.

Недостатком такого способа регенерации является значительная потеря времени на регенерацию - до нескольких процентов времени работы МПС, причем это время может возрастать с ростом объема памяти МПС. Таким образом, использование метода регенерации по таймеру снижает производительность МПС, т.к. при выполнении регенерации МП пребывает в состоянии ожидания.

5.2.2. "Прозрачная" регенерация. Главным достоинством метода прозрачной регенерации является отсутствие простоев МП при регенерации ОЗУ, поскольку для регенерации выбираются такие моменты времени, когда МП не занимает системную шину. Однажды начав регенерацию, совсем не обязательно проводить ее полностью. Циклы регенерации могут чередоваться с процессорными циклами, главное, чтобы процесс регенерации накопителя завершился за время, не превышающее 2 мС. Многие МП формируют специальные сигналы, отмечающие занятость шины. Эти сигналы можно использовать для управления триггером регенерации. Если МП (например, i8080) не формирует сигнала занятости магистрали, то такой сигнал можно сформировать специальной внешней схемой.

Так, в машинном цикле МП i8080 могут появляться такты T4, T5, в которых МП не занимает системную шину. Эти моменты времени можно выделять специальной схемой и использовать для регенерации.

Микропроцессор Z80 имеет встроенный счетчик регенерации и обеспечивает этот процесс самостоятельно параллельно с внутренней обработкой информации на кристалле.

В
большинстве МП не предусмотрены средства обеспечения регенерации, т.к. в МПС может и отсутствовать динамическая память. Однако, в составе микропроцессорных комплектов выпускаются специальные БИС контроллеров регенерации. В качестве примера кратко рассмотрим структуру и функционирование БИС К1818ВТ03 - "Контроллер динамической памяти". На Рис. 5.31 показана структура БИС 565РУ5 (64К1), а на Рис. 5.32 - временная диаграмма ее работы.

Рис. 5.31. Структура БИС динамического ОЗУ

Б
ИС динамических ЗУ имеют объемы от 16К1 (565РУ3) до 1М1 (..РУ9), но имеют одинаковую структуру и линии управления (за исключением числа адресных).

Рис. 5.32. Временная диаграмма работы БИС динамического ОЗУ

Из Рис. 5.31 и Рис. 5.32 видно, что адрес ячейки подается в ОЗУ последовательно двумя порциями по одним и тем же линиям в сопровождении управляющих сигналов RAS\ (строб адреса строки) и CAS\ (строб адреса столбца). Поэтому адрес на системной шине, формируемый МП, должен мультиплексироваться, одновременно вырабатываться управляющие сигналы RAS и CAS.

Кристалл ОЗУ бывает выбран только при условии RAS = CAS = 0, что позволяет осуществлять селекцию блоков по двум координатам.

^ Контроллер динамической памяти (КДП) обеспечивает мультиплексирование адреса системной шины, выработку управляющих сигналов CAS и RAS[3:0] (для селекции модулей ОЗУ), а также внутреннюю (по таймеру) или внешнюю (прозрачную) регенерацию.

Структурная схема контроллера (Рис. 5.33) включает в себя :

  • буферные схемы Буф.1,2,3 для подключения системной шины адреса и управления;

  • счетчик адреса регенерации;

  • мультиплексоры MUX1,2;

  • схему управления с тактовым генератором, таймером и триггером регенерации, арбитром и логической схемой L для формирования управляющих сигналов.

КДП обеспечивает преобразование сигналов системной шины МПС в сигналы управления динамическим ОЗУ (см. Рис. 5.32), причем может работать в двух режимах : "16/64" (на память 16K или 64K соответственно). В режиме "16" две старшие линии адреса используются для формирования одного из сигналов RAS\[0..3], в режиме "64" КДП может управлять двумя банками по 64K, причем сигнал RAS появляется на одном из выходов RAS0 или RAS1 - в зависимости от состояния линии RAS3\/B0, которая в режиме "64" становится входом, определяющим номер банка ОЗУ.

Регенерация может осуществляться в двух режимах - внутреннем и внешнем. Если вход REFR остается неактивным 10..16 мкС, то формируется запрос на цикл регенерации от внутреннего таймера, причем в случае конфликта арбитр отдает предпочтение циклу памяти. Таким образом, и при регенерации по таймеру используются свободные такты шины. При внешней регенерации запрос должен быть сформирован на входе REFR.

Сигнал PCS - "Защищенный выбор кристалла" отличается от традиционного CS тем, что если PCS сформирован, то цикл ЗУ аннулировать нельзя.




Рис. 5.33. Контроллер динамического ОЗУ
RD, WR - запросы на циклы чтения и записи соответственно.

X0, X1 - выводы для подключения кварцевого резонатора при работе с внутренним генератором. При работе с внешним генератором на вход X0 подается высокий потенциал, а на X1 - частота CLK внешнего генератора.

Выходной сигнал SACK\ вырабатывается КДП в начале цикла обращения к памяти. Если запрос от МП приходится на цикл регенерации, то SACK\ задерживается до начала цикла чтения/записи.

Выходной сигнал XACK\ ("Готовность данных") вырабатывается в конце цикла чтения/записи.

Сигналы SACK\ и XACK\ можно использовать для управления потенциалом на входе READY микропроцессора.

5.2.3. В некоторых, достаточно редких частных случаях, можно воспользоваться способом регенерации "размещением данных". Так, если, например, память изображения дисплея является составной частью единого ОЗУ МПС и МП регулярно обращается в эту область для поддержания изображения на экране, то достаточно расположить область ОЗУ дисплея в памяти МПС таким образом, чтобы она "перекрывала" все строки накопителя (достигается соответствующим подбором адресов), чтобы каждое обращение к области ОЗУ дисплея, помимо регенерации изображения, регенерировала и всю память МПС.
  1. ^

    Подсистема ввода/вывода МПС


Подсистема ввода/вывода (ПВВ) обеспечивает связь МП с внешними устройствами, к которым будем относить:

  • устройства ввода/вывода (УВВ) : клавиатура, дисплей, принтер, датчики и исполнительные механизмы, АЦП, ЦАП, таймеры и т.п.

  • внешние запоминающие устройства (ВЗУ): накопители на магнитных дисках, "электронные диски" и др.

В рамках рассмотрения ПВВ будем полагать термины "УВВ" и "ВУ" синонимами, т.к. обращение к ним со стороны процессора осуществляется по одним законам.

ПВВ в общем случае должна обеспечивать выполнение следующих функций:

  1. согласование форматов данных, т.к. процессор всегда выдает/принимает данные в параллельной форме, а некоторые ВУ (например, НМД) - в последовательной. С этой точки зрения различают устройства параллельного и последовательного обмена. В рамках параллельного обмена не производится преобразование форматов передаваемых слов, в то время как при последовательном обмене осуществляется преобразования параллельного кода в последовательный и наоборот. Все варианты, когда длина слова ВУ (больше 1 бита) не совпадает с длиной слова МП, сводятся к разновидностям параллельного обмена;

  2. организация режима обмена - формирование и прием управляющих сигналов, идентифицирующих наличие информации на различных шинах, ее тип, состояние ВУ (Готово, Занято, Авария), регламентирующих временные параметры обмена. По способу связи процессора и ВУ (активного и пассивного) различают синхронный и асинхронный обмен. При синхронном обмене временные характеристики обмена полностью определяются МП, который не анализирует готовность ВУ к обмену и фактическое время завершения обмена. Синхронный обмен возможен только с устройствами, всегда готовыми к нему (например, двоичная индикация). При асинхронном обмене МП анализирует состояние ВУ и/или момент завершения обмена. Временные характеристики обмена в этом случае могут определяться ВУ;

  3. адресную селекцию внешнего устройства.
^

1.11.Подсистема параллельного обмена на базе буферных регистров


Простейшая подсистема параллельного обмена должна обеспечить лишь дешифрацию адреса ВУ и электрическое подключение данных ВУ к системной шине данных DB по соответствующим управляющим сигналам. На Рис. 6.34 показаны устройства параллельного ввода (DD1) и вывода (DD2) информации в составе МПС на базе МП К580ВМ80 на базе буферных регистров К580ИР82.
^

1.12.Контроллер параллельного обмена К580ВВ55


В настоящее время во многих микропроцессорных комплектах выпускают специальные интерфейсные БИС, существенно расширяющие (по сравнению с использованием регистров) возможности разработчиков при организации параллельного обмена в МПС. Наиболее популярной БИС этого класса можно считать контроллер К580ВВ55.

БИС. .ВВ55 представляет собой трехканальный байтовый интерфейс и позволяет организовать обмен байтами с периферийным оборудованием в различных режимах. Внутренняя структура. .ВВ55 показана на Рис. 6.35, а подключение его к системной шине МПС - на Рис. 6.36.




Рис. 6.34. Параллельный обмен на базе буферных регистров
Контроллер параллельного обмена К580ВВ55 (далее - "контроллер") включает в себя оборудование трех 8-разрядных каналов ввода/вывода (регистр и буферную схему), буфер шины данных, 8-разрядный регистр управления Y и блок управления.

Контроллер подключается к системной шине МПС, причем адресация его внутренних объектов осуществляется (младшими) разрядами шины адреса след. образом:

Таблица 6.1

A1

A0

Адресуемый объект

Примечание

0

0

Канал А




0

1

Канал B




1

0

Канал С




1

1

Регистр управления

Только запись

В МПС контроллер размещают, как правило, в пространстве адресов ввода/вывода. Поэтому в качестве стробов чтения и записи используются сигналы RDIO, WRIO, а для селекции контроллера дешифрируются старшие разряды адреса.

При подаче сигнала SR все регистры контроллера, в том числе и регистр управления Y, устанавливаются в состояние 00h.

В каждый момент времени процессор может поддерживать связь только с одним каналом, в зависимости от состояния линий A[1:0] (см. табл. 6.1). Функцию каждого канала и режим его работы определяет состояние управляющего слова Y, помещенного в регистр управления.

Каналы контроллера могут работать в одном из трех режимов:

  • Режим "0" - синхронный однонаправленный ввод/вывод;

  • Режим "1" - асинхронный однонаправленный ввод/вывод;

  • Режим "2" - асинхронный двунаправленный ввод/вывод.

Кроме трех перечисленных, существует еще режим сброса-установки произвольного разряда канала ^ C.

В режиме "0" контроллер может работать как четыре порта ввода/вывода: A[7:0], B[7:0], C[7:4], C[3:0], причем каждый порт может быть независимо запрограммирован на ввод или на вывод. При этом к порту, определенному как выходной, нельзя обращаться по чтению (будет прочитан "обрыв" - FFh), а на входной порт нельзя выводить информацию).




Рис. 6.35. Внутренняя структура контроллера К580ВВ55


В стробируемом однонаправленном режиме "1" могут работать только каналы A и B, причем соответствующие линии (см. ниже) канала C придаются каналам A и B для передачи управляющих сигналов. Как и в режиме "0", каналы A и B программируются на ввод или вывод (независимо).

Рис. 6.36. Подключение контроллера ВВ55 к системной шине

В режиме "2" может работать только канал A, к которому в этом случае можно обращаться как по записи, так и по чтению (двунаправленный стробируемый обмен).

Выбор режимов каналов и направления передачи данных в них осуществляется загрузкой в регистр Y управляющего слова, формат которого представлен на Рис. 6.37.


1

D6

D5

D4

D3

D2

D1

D0







Режим А

00 -”0”

01 -”1”

1х -”2”

Направление А

Направление

С[7:4]


Режим

B

0-“0”

1-”1”

Направление

B

Направление

C[3:0]


Направление:

1 - ввод

0 - вывод

Рис. 6.37. Формат управляющего слова. .ВВ55

Загрузка управляющего слова осуществляется путем записи его в регистр Y по адресу A[1:0] = 11, причем в старшем (D7) разряде такого слова должна стоять логическая единица.

Если при записи по адресу 11 D7 = 0, то такое слово не будет воспринято как управляющее и не будет помещено в регистр Y. Такие действия обеспечивают установку или сброс одного разряда регистра C, причем номер изменяемого разряда записывается в разрядах D[3:1], а значение записываемого бита - в D0. Состояние разрядов D[6:4] - безразлично (Рис. 6.38).

7

6

5

4

3

2

1

0

0

х

х

х

Номер разряда С

0/1

В разряде 0 - значение устанавливаемого бита порта С

Рис. 6.38. Управление битами канала C

Рассмотрим подробнее работу контроллера в различных режимах.

^ Режим "0". При работе в этом режиме на вывод информация, поступающая с системной шины DB, запоминается в буферном регистре канала, адресуемого A[1:0] и сразу же передается на его выход. При вводе информации данные с линий соответствующего канала, минуя регистр, поступают через буфер данных на системную шину данных DB. Временные диаграммы режима "0" приведены на Рис. 6.39, где под именем K понимается один из трех каналов: A, B или C.

Р
ис. 6.39. Временные диаграммы режима «0»

В режиме "0" канал C может быть разбит на два подканала, один из которых запрограммирован на ввод, а другой - на вывод. Обращение к обоим подканалам осуществляется по адресу A[1:0] = 10, причем в цикле ввода на DB подключаются только 4 входные линии, на остальных четырех - код 1111. При выводе информация с DB попадает только в 4 разряда регистра канала C, объявленные как выходные.

^ Режим 1 обеспечивает однонаправленную асинхронную передачу информации между МП и ВУ. При этом каналы A и B используются как регистры данных, а канал C - для приема и формирования сигналов, сопровождающих асинхронный обмен, причем каждый разряд канала C имеет строго определенное функциональное назначение. В Табл. 6.9 показано использование линий канала C для передачи управляющих сигналов в режимах "1" и "2".

Табл. 6.9

Разряд

канала С

Режим 1

Режим 2

Ввод

Вывод

0

ГТВ В

ГТВ В

-

1

ППР В

КГТ В\

-

2

СТР В\

ППРД В\

-

3

ГТВ А

ГТВ А

ГТВ А

4

СТР А\

-

СТР А\

5

ППР А

-

ППР А

6

-

ППРД А\

ППРД А\

7

-

КГТ А\

КГТ А\

В Табл. 6.9 использованы следующие обозначения:

СТР - строб записи в регистр канала (вход);

ППР - подтверждение приема (выход);

ГТВ - готовность (выход), может использоваться в качестве запроса на прерывание;

ППРД - подтверждение передачи (вход);

КГТ - канал готов к обмену (выход).

Символ "\" после имени сигнала обозначает, как и ранее, что активный уровень этого сигнала - низкий.

Работа канала в режиме 1 "ВВОД" иллюстрируется временной диаграммой
Рис. 6.40. ВУ, будучи готовым выдавать информацию в контроллер, выставляет стробирующий сигнал, поступающий на вход СТР (C2 - для канала A, C4 - для B). По спаду строба байт данных с входных линий A или B "защелкивается" в регистр соответствующего канала. При этом контроллер формирует управляющий сигнал ППР (подтверждение приема), который высоким уровнем запрещает ВУ вырабатывать новый строб.

Р
ис. 6.40. Ввод в режиме "1"

Информация, попавшая в регистр канала, должна быть передана в МП. Контроллер вырабатывает по фронту СТР при ППР = 1 сигнал ГТВ, который поступает в качестве запроса на прерывание в подсистему прерываний (см. раздел 7) и инициирует процедуру чтения байта из канала. Сигнал ГТВ формируется контроллером только при условии установления в "1" внутреннего триггера разрешения прерывания по каналу (разряды 2 и 4 регистра порта C для каналов A и B соответственно). Эти триггеры могут быть установлены и сброшены программно с помощью команд установки/сброса разряда порта C (см. Рис. 6.38).

МП может не сразу удовлетворить запрос контроллера, т.к. занят обслуживанием более приоритетного запроса. В этом случае контроллер поддерживает активный уровень на выходе ГТВ и высокий уровень на ППР, запрещая выработку нового строба. Промежуток времени t1 (Рис. 6.40) может быть произвольно большим и характеризует время ожидания реакции МП.

При появлении сигнала RD\ по соответствующему адресу содержимое регистра канала передается на шину данных DB и далее - в МП. По спаду RD\ снимается запрос ГТВ, а по фронту RD\ снимается ППР и ВУ получает возможность формировать новый строб записи данных. Промежуток времени t2 характеризует быстродействие ВУ и может, как и t1, иметь произвольную длительность.

Таким образом, в описанном режиме осуществляется асинхронный ввод информации в МП с анализом готовности вводимой информации и исключением потери информации (в контроллере). Подсистема прерываний может быть выключена (сброшены триггеры разрешения прерывания или сигнал ГТВ не заведен в систему), однако МП может осуществлять программный опрос состояния каналов, считывая значение регистра порта C и анализируя значения разрядов готовности (C3 и C0 для каналов A и B соответственно). Модификация управляющих сигналов на линиях порта C может осуществляться программно с помощью соответствующих команд МП и аппаратно со стороны контроллера.

Работа контроллера в режиме "1" на ВЫВОД показана на Рис. 6.41. По стробу WR\ производится запись байта с системной шины данных в регистр канала. Одновременно снимается сигнал запроса на прерывание ГТВ. По фронту WR\ контроллер посылает на ВУ сигнал КГТ\, подтверждая, что данные для ВУ записаны в регистр и присутствуют на выводах канала. После получения КГТ ВУ начинает прием данных (отрезок времени t2), а закончив прием - формирует сигнал подтверждения передачи ППРД\. Получив ППРД\, контроллер формирует для МП сигнал ГТВ, сообщая, что можно выводить следующий байт данных. Время ожидания реакции МП - отрезок t1. Программная установка/сброс триггеров разрешения формирования сигналов ГТВ осуществляется с помощью команд переключения разрядов C6 и C2 - соответственно для каналов A и B.





Рис. 6.41. Вывод в режиме "1"

Как и в случае режима ВВОД возможна реализация программно-управляемой процедуры асинхронного обмена.

В режиме "1", как и в режиме "0", недопустимо обращение по чтению к каналу, объявленному выходным и по записи к входному каналу. Для организации двунаправленного обмена предназначен режим "2", в котором может работать только канал A, которому для передачи управляющих сигналов придается 5 линий порта C (см. Табл. 6.9). Канал B может при этом работать в режиме "1" - совместно с оставшимися линиями порта C, или в режиме "0", тогда C[2:0] будут работать тоже в "0"-режиме.

Направление передачи по каналам B и C определяется разрядами управляющего слова Y.

Процедуры ВВОД и ВЫВОД в режиме "2" осуществляются аналогично соответствующим процедурам в режиме "1".
^

1.13.Последовательный обмен в МПС


При организации последовательного обмена ключевыми могут считаться две проблемы:

  1. синхронизацию битов передатчика и приемника;

  2. фиксацию начала сеанса передачи.

Различают два способа передачи последовательного кода: синхронный и асинхронный.

П
ри синхронном методе передатчик генерирует две последовательности - информационную TxD и синхроимпульсы CLK, которые передаются на приемник по разным линиям (Рис. 6.42).

Рис. 6.42. Последовательный синхронный обмен с внешней синхронизацией

Синхроимпульсы обеспечивают синхронизацию передаваемых бит, а начало передачи отмечается по-разному. При организации внешней синхронизации сигнал начала передачи BD генерируется передатчиком и передается на приемник по специальной линии (Рис. 6.42).

В системах с внутренней синхронизацией отсутствует линия BD, а на линию данных генерируются специальные коды длиной 1-2 байта - “символы синхронизации”. Для каждого приемника предварительно определяются конкретные синхросимволы, таким образом можно осуществлять адресацию конкретного абонента из нескольких, работающих на одной линии. Каждый приемник постоянно принимает биты с RxD, формирует символы и сравнивает с собственными синхросимволами. При совпадении синхросимволов последующие биты поступают в канал данных приемника.

Асинхронный способ обеспечивает передачу информации по единственной линии. Для надежной синхронизации обмена в асинхронном режиме

  1. передатчик и приемник настраивают на работу с одинаковой частотой;

  2. передатчик формирует стартовый и стоповый биты, отмечающие начало и конец посылки;

  3. передача ведется короткими посылками (5..9 бит), а частоты передачи выбираются сравнительно низкими.
^

1.13.1.Универсальный последовательный приемопередатчик КР580ВВ51


Универсальный последовательный приемопередатчик (далее - контроллер последовательного обмена или просто контроллер) предназначен для аппаратной реализации протокола последовательного обмена между микропроцессором и внешним устройством. При передаче контроллер. .ВВ51 преобразует параллельный код, получаемый от процессора, в последовательный поток символов со служебными битами и выдает этот поток в последовательный канал связи с выбираемой скоростью. При приеме осуществляются обратные преобразования.

Р
ис. 6.43. Обозначение контроллера. .ВВ51 на функциональных (принципиальных) схемах

Назначение выводов контроллер. .ВВ51 приведено в Табл. 6.10, а внутренняя структура показана на Рис. 6.45.

Табл. 6.10

№ вывода

Русск.

Лат.

Тип

вывода

Назначение

вывода

8,7,6,5,2

1,28,27

D(7:0)

D(7:0)

вх/вых

Шина данных

20

C

CLK (C)

вх

Синхронизация

21

УСТ

^ RESET (SR)

вх

Уст. в исходное

состояние

12

ПНУ/Д\

C/D\

вх

Признак управление

/данные

10

РПМ\

WR\

вх

Запись-разрешение приема

с шины данных

в контроллер

13

РВД\

RD\

вх

Чтение - разрешение выдачи на шину

данных

11

ВД\

CS\

вх

Выбор микросхемы

22

СОН1\

DSR\

вх

Готовность ВУ

передать данные

24

СОН2\

DTR\

вых

Запрос на передачу данных

17

ПГТ\

CTS\

вх

Готовность ВУ

принять данные

23

СОН3\

RTS\

вых

Запрос на прием данных

16

С1

SYNDET/BD

вх/вых

Вид синхронизации (различный смысл в разных режимах

25

СПМ\

RxC\

вх

Синхронизация

приемника

14

ПГТПМ

RxRDY

вых

Готовность приемника

3

ВХ ПМ

RxD

вх

Вход данных

приемника

9

СВД\

TxC\

вх

Синхронизация

передатчика

. 15

ПГТПЧ

TxRDY

вых

Готовность передатчика

19

ВЫХ ПЧ

TxD

вых

Выход данных

передатчика

18




TxEND

вых

Конец передачи

26

Епит

Ucc

-

+ 5 В

4

Общий

GND

-

Общий


Контроллер работает в двух режимах - инициализации и приема/передачи.

Режим инициализации обеспечивает настройку контроллера. .ВВ51 на определенный протокол обмена путем загрузки управляющего слова, символов синхронизации (один или два - только для синхронного режима) и подачи ряда команд. Инициализация обязательно начинается с начальной установки контроллера, которая может выполняться аппаратно сигналом SR или подачей команды начальной установки (см. ниже).

После начальной установки загружается управляющее слово, формат которого приведен на Рис. 6.44.


D7

D6

D5

D4

D3

D2

D1

D0

СС

Ч

К

Длина слова

Реж/Чаc

Рис. 6.44. Формат управляющего слова контроллера. .ВВ51

Ниже приводятся значения разрядов управляющего слова и их смысл для различных режимов работы контроллера. .ВВ51.

Режим работы контроллера определяется разрядами D0, D1, причем для трех разновидностей асинхронного режима это поле определяет коэффициент деления частоты синхроимпульсов CLK для получения частоты асинхронного приема/передачи.


D1

D0







0

0

Синхронный режим




0

1

1 : 1

Асин-

1

0

1 : 16

хронный

1

1

1 : 64

режим

^ Длина слова (кадра) определяется значением разрядов D3 и D2:

D3

D2

Длина кадра (бит)

0

0

5

0

1

6

1

0

7

1

1

8


Разряды D4 и D5 определяют режим контроля на четность:


D4 = 0

- нет контроля;

D5 = 0

- контроль по нечетности;

D4 = 1

- есть контроль;

D5 = 1

- контроль по четности.

Р
ис. 6.45. Структура контроллер К580ВВВВ51

Разряды D6 и D7 имеют различный смысл для синхронного и асинхронного режима. В синхронном режиме D6 задает вид синхронизации, а D7 - число синхросимволов:


D6 = 0

- внутренняя;

D7 = 0

- два синхросимвола;

D6 = 1

- внешняя;

D7 = 1

- один синхросимвол.


В асинхронном режиме поле D7D6 определяет длительность стоп-бита в периодах частоты передачи:


D7

D6

Длина стоп-бита

0

0

Не используется

0

1

1

1

0

1,5

1

1

2



Последовательность программирования контроллера ..ВВ51 и соответствующие входные управляющие сигналы приведены в Табл. 6.11.

Табл. 6.11



Последовательность программирования

Сигналы на входах

CO/D

WR\

CS\

SR

1

Установка исходного состояния

X

X

X

1

2

Запись инструкции режима

1

0

0

0

3

Запись синхросимвола

1

0

0

0

4

Запись синхросимвола

1

0

0

0

5

Запись команды

1

0

0

0
  1   2   3   4   5   6   7   8   9   10



Скачать файл (2465.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации