З ДИСЦИПЛІНИ

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

«МІКРОПРОЦЕСОРНІ СИСТЕМИ»

 

спеціальність 6.05020201 – автоматизоване управління технологічними процесами 6.05020101 – комп’ютеризовані системи управління та автоматики  
галузь знань 0502 – автоматика та управління
факультет Кібернетики

 

 

Херсон – 2013


Конспект лекцій з дисципліни «Мікропроцесорні системи» для студентів денної форми навчання спеціальностей 6.05020101 – комп’ютеризовані системи управління та автоматики, 6.05020201 – автоматизоване управління технологічними процесами, галузь знань 0502 – автоматика та управління.

 

«___» _____________ 2013 р. ХХХ с.

 

Розробники:

Тимофеєв К.В., к.т.н., доцент кафедри «Технічна кібернетика»,

Сєров О.В., ст. викладач кафедри «Технічна кібернетика».

 

Конспект лекцій затверджений на засіданні кафедри технічної кібернетики

 

Протокол від «___» _____________ 2013 р. №

 

 

Завідувач кафедри ТК д.т.н., проф. «___» _____________ 2013 р.   Марасанов В.В.

 

 

 


Содержание

стр.

ВВЕДЕНИЕ. 6

ЛЕКЦИЯ 1. Цифровые системы управления на базе микропроцессоров и микроконтроллеров.. 7

1.1. Принципы построения цифровых систем управления. 7

1.2. Развитие средств микропроцессорной техники. 8

Контрольные вопросы. 14

ЛЕКЦИЯ 2. Микропроцессорная система и алгоритм её работы 15

2.1. Структура и основные части микропроцессорной системы.. 15

2.2. Типовая структурная схема цифровой МПС.. 17

2.3. Структурные схемы систем с Фон Неймановской и Гарвардской архитектурой 19

2.4. Обмен информацией между МПС и внешними устройствами. 22

2.5. Классификация МПС.. 25

Контрольные вопросы. 27

ЛЕКЦИЯ 3. Архитектура однокристальных микропроцессоров 28

3.1. Параметры микропроцессоров и характеристика их архитектуры.. 28

3.2. Функциональная схема и набор интерфейсных сигналов. 29

3.3. Программная модель и система команд. 35

3.4. Формат команды, способы адресации операндов. 39

Контрольные вопросы. 42

Лекция 4. АРХИТЕКТУРА, АЛУ, ПАМЯТЬ MCS-51. 43

4.1. Архитектура микроконтроллеров MCS-51. 43

4.2. Арифметико-логическое устройство. 46

4.3. Память микроконтроллеров семейства MCS-51. 47

Контрольные вопросы. 51

ЛЕКЦИЯ 5. ПОРТЫ, СИСТЕМА ПРЕРЫВАНИЙ MCS-51. 52

5.1. Параллельные порты ввода/вывода. 52

5.2. Система прерываний MCS-51. 53

Контрольные вопросы. 57

ЛЕКЦИЯ 6. Таймеры/счётчики MCS-51, Управление энергопотреблением.. 58

6.1. Таймеры/счётчики. 58

6.2. Управление энергопотреблением. 62

Контрольные вопросы.. 64

ЛЕКЦИЯ 7. Последовательный интерфейс, сброс и синхронизация MCS-51. 65

7.1. Последовательный интерфейс MCS-51. 65

7.2. Сброс в начальное состояние и синхронизация. 71

Контрольные вопросы. 73

ЛЕКЦИЯ 8. Загрузка прикладных программ и система команд MCS-51 74

8.1. Загрузка прикладных программ. 74

8.2. Система команд семейства MCS-51. 75

8.3. Команды пересылки данных. 78

Контрольные вопросы. 81

ЛЕКЦИЯ 9. Система команд семейства MCS-51. 82

9.1. Команды арифметических операций. 82

9.2. Команды логических операций. 85

9.3. Команды операций над битами. 86

9.4. Команды передачи управления. 87

Контрольные вопросы. 89

ЛЕКЦИЯ 10. РАСПРЕДЕЛЕНИЕ И ДЕШИФРАЦИЯ АДРЕСНОГО ПРОСТРАНСТВА 90

10.1. Системная шина микропроцессора. 90

10.2. Адресное пространство микропроцессорного устройства. 91

10.3. Пример дешифрации адресного пространства. 94

Контрольные вопросы. 98

Лекция 11. Способы расширения адресного пространства микропроцессора.. 99

11.1. Страничный метод адресации. 99

11.1. Сегментный метод адресации. 101

11.3. Оконный метод адресации. 102

Контрольные вопросы. 104

ЛЕКЦИЯ 12. Общие принципы обмена данными в МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ.. 105

 

 


ВВЕДЕНИЕ

Использование микропроцессоров и микроЭВМ существенно повышает уровень автоматизации процессов управления в технических системах. Функциональная гибкость, высокая надежность, малые габариты и стоимость микропроцессорных средств обусловили целесообразность их применения в различной аппаратуре, в том числе в системах локальной автоматики. В связи с этим существенно изменился процесс проектирования цифровых систем управления. Это вызвано как использованием более сложных функциональных компонентов, так и применением новых архитектурных решений, основанных на замене некоторых аппаратных средств программными модулями. Поэтому проектирование современных средств автоматизации требует от разработчика знания микропроцессорной техники и программирования на качественно новом уровне, с учетом специфики объектов управления в технических системах.

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

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

 


ЛЕКЦИЯ 1. Цифровые системы управления на базе микропроцессоров и микроконтроллеров

1.1. Принципы построения цифровых систем управления

1.2. Развитие средств микропроцессорной техники

 

1.1. Принципы построения цифровых систем управления

 

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

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

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

• запаздывание, вносимое микроЭВМ;

• временное и амплитудное квантование сигналов;

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

 

Рис. 1.1. Система управления на базе микроЭВМ

 

Следует заметить, что цифровые системы управления на базе микропроцессоров и микроЭВМ иногда называют устройствами на основе «программируемой» (гибкой) логики, что означает возможность их перенастройки для управления различными объектами путем изменения программы. Альтернативным методом построения цифровых систем управления является использование «жесткой» логики, при которой ядром устройства является заказная БИС, реализующая алгоритмы управления для узкого круга объектов. Очевидно, что второй метод на сегодняшний день является более дорогостоящим, однако он широко используется при массовом производстве устройств управления для типовых объектов либо при создании систем управления объектами специального назначения. Для промышленного применения наиболее рациональным является первый метод, основанный на применении микропроцессоров и микроконтроллеров.

 

1.2. Развитие средств микропроцессорной техники

 

История создания программируемых вычислительных устройств началась еще в 1830 г. с идеи, предложенной английским математиком Чарльзом Бэбиджем (Charles Babage). Практическое же появление вычислительных машин стало возможным только в XX в. в связи с развитием электроники. При этом можно проследить несколько этапов развития ЭВМ.

Первый этап (до 1955 г.) – ламповые ЭВМ, масса которых достигала 30 т, число электронных ламп – 18 тыс., потребляемая мощность – 150 кВт (мощность, достаточная для небольшого завода), объем памяти – 20 десятиразрядных десятичных чисел, время выполнения операций: сложения – 0,0002 с, умножения – 0,0028 с. Числа в ЭВМ вводились с помощью перфокарт и набора на переключателях, а программа задавалась соединением гнезд на специальных наборных полях. Для ускорения процесса подготовки программ стали создавать первые языки автоматизации программирования (языки символического кодирования).

Второй этап (до 1965 г.) – появление ЭВМ, построенных на транзисторах, привело к уменьшению их габаритов, массы, энергопотребления и стоимости, а также к увеличению надежности и производительности. На этом этапе были созданы специальные алгоритмические языки для инженерно-технических и экономических расчетов, а также операционные системы (комплексы служебных программ, обеспечивающих лучшее распределение ресурсов ЭВМ при исполнении пользовательских задач). Развитие операционных систем шла в направлении обработки пакетов заданий, а также мультипрограммного режима обработки данных.

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

Четвертый этап (до 1978 г.) – успехи в развитии электроники привели к созданию больших интегральных схем (БИС), где в одном кристалле размещалось несколько десятков тысяч электрических элементов. Это позволило разработать более дешевые ЭВМ, имеющие большую память и меньший цикл выполнения команды. Но так как затраты на программирование оставались высокими, то на первый план вышла задача экономии человеческих, а не машинных ресурсов. В1971 г. Фирмой Intel был изготовлен первый микропроцессорi4004 – БИС, в котором полностью размещался простой четырехразрядный процессор. Появились управляющие устройства, построенные на одной или нескольких БИС, содержащих процессор, память, схемы сопряжения с датчиками и исполнительными органами в объекте управления.

Пятый этап (c 80-х г.г.) – улучшение технологии производства БИС позволило изготавливать дешевые электронные схемы, содержащие сотни тысяч элементов в кристалле – схемы сверхбольшой степени интеграции(СБИС). Появилась возможность создать устройство с габаритами массового телевизора, в котором размещались микроЭВМ, клавиатура, экран, дисковый накопитель, а также схемы сопряжения с малогабаритным печатающим устройством, измерительной аппаратурой, другими ЭВМ и т.д. Наиболее широкое применение нашли микроЭВМ в гибких системах автоматизации производства и научных исследований. В настоящее время развитие идет в направлении повышения микропроцессорной мощности компьютеров, так и создания однокристальных микроконтроллеров, ориентированных на управление различными техническими объектами.

За всю историю развития микропроцессорной техники, ведущие позиции в этой области занимает американская фирма Intel (Integrated Electronics). В 1971 году она разработала и выпустила первый в мире 4-битный микропроцессор 4004. Он содержал 2300 транзисторов, выполненный по технологии 10 мкм, работал на частоте 108 кГц, адресовал 640 байт памяти и имел производительность 0,06 MIPS. Но подлинный успех фирме Intel принес 8-битный микропроцессор 8080, который был выпущен в 1974 году. Он имел частоту 2 мГц, адресовал 64 Кбайта памяти, вмещал 6000 транзисторов благодаря технологии 6 мкм. Процессор требовал трех источников питания (+5, +12, -5 В) и сложной двухтактной синхронизации. Этот микропроцессор получил очень широкое распространение во всем мире. Сейчас в нашей стране его аналог - микропроцессор К580ИК80 применяется во многих бытовых и персональных компьютерах и разнообразных контроллерах.

Следующим этапом стал микропроцессор 8085, выполненный по технологии 3 мкм, размещал на кристалле 6500 транзисторов, имел тактовую частоту 5 мГц и производительность 0,37 MIPS. Архитектура этого микропроцессора соответствовала архитектуре 8080, но в него добавили порт последовательного интерфейса, и перешли на единое питающее напряжение +5 В.

В 1979 году фирма Intel первой выпустила 16-битный микропроцессор 8086, возможности которого были близки к возможностям процессоров миникомпьютеров 70-х годов. Этот микропроцессор работал на частоте 5 мГц, производительность его составляла 0,33 MIPS, но обрабатывал 16-битные операнды. Был выполнен по технологии 3 мкм с 29000 транзисторами на кристалле. Микропроцессор 8086 оказался "прародителем" целого семейства, которое обычно называют семейством 80х86. Аналог этого микропроцессора К1810ВМ86 применяется в персональных компьютерах, выпускаемых в нашей стране.

Желание расширить адресное пространство памяти до 1 Мбайта в процессоре с 16 - битными регистрами заставило использовать в микропроцессоре 8086 сегментную организацию памяти, которая в последующих микропроцессорах фирмы Intel было сохранено ради совместимости.

Через год появился МП 8088, архитектурно повторяющий МП 8086 и имеющий 16- битные внутренние регистры, но ее внешняя шина данных составляет 8 бит. Широкой популярности МП 8088 способствовало его применение фирмой IBM в ПК РС и РС/ХТ. Очень быстро для этих компьютеров был накоплен такой огромный объем программного обеспечения, что в последующих МП фирме Intel пришлось предусматривать специальный режим эмуляции МП 8086. Обычно этот режим называется режимом реального адреса (Real Addres Mode) или R-режим.

В 1981 году появились МП 80186/80188, которые сохраняли базовую архитектуру МП 8086/8088, но содержали на кристалле контроллер прямого доступа к памяти, счетчик/таймер и контроллер прерываний. Кроме того, была расширена система команд. Однако широкого распространения эти МП (как и ПК PCjr на их основе) не получили.

Следующим крупным шагом в разработке новых идей стал МП 80286, появившийся в 1982 году. Разработанный по технологии 1,5 мкм, он содержал 134000 транзисторов. При разработке этого МП были учтены достижения в архитектуре миникомпьютеров и больших компьютеров. МП 80286 может работать в двух режимах: в режиме реального адреса он эмулирует МП 8086, а в защищенном режиме виртуального адреса или Р-режиме предоставляет программисту много новых возможностей и средств. Среди них отметим расширение адресного пространства до 16 Мбайт, появление дескрипторов сегментов и дескрипторных таблиц, наличие защиты по четырем уровням привилегий, поддержку организации виртуальной памяти (1 Гбайт) и мультизадачности. МП 80286 применялся в ПК РС/АТ и младших моделях PS/2.

В 1986 году появился новый микропроцессор фирмы Intel 80386 (275000 транзисторов, 1,5 мкм). При разработке этого 32-битного МП потребовалось решать две задачи: совместимость и производительность. Первая из них решена путем введения трех режимов работы.

В R-режиме, который действует после включения питания или системного сброса, процессор копирует работу МП 8086 и использует 16-битные регистры; адресное пространство составляет 1 Мбайт памяти.

В Р-режиме МП 80386 может выполнять 16-битные программы МП 80286 без каких- либо модификаций. Вместе с тем в этом режиме он может выполнять свои "естественные" 32-битные программы, что обеспечивает повышение производительности системы. В этом режиме реализуются все новые возможности и средства МП 80386, такие как масштабированная индексная адресация памяти, ортогональное использование РОН, новые команды, средства отладки, а также введен режим страничного управления памятью. Адресное пространство памяти в этом режиме составляет 4 Гбайта. Операционная система Р- режима может создать задачу, которая работает в режиме виртуального процессора 8086 или V-режим. Прикладная программа, которая выполняется в этом режиме, полагает, что она работает на процессоре 8086. Однако, программе запрещается выполнять некоторые команды, связанные с управлением ввода вывода. Поэтому при нарушении правил защиты генерируется прерывание и управление передается ОС.

Позже, в 1988 году появился МП 80386 SX, который полностью совместим с процессором 80386, но имеет внешнюю шину данных 16 бит и адресное пространство 16 Мбайт. После этого полноразрядный вариант получил официальное название 80386 DX. В 1990 году был выпущен МП 80386 SL в миниатюрном корпусе и с пониженным потреблением энергии, разработанный специально для портативных компьютеров.

В 1989 году фирма Intel выпустила на рынок МП 80486, содержащий в кристалле 1,2 миллиона транзисторов и выполненный по технологии 1 мкм. Два главных отличия от предыдущего МП состоит в том, математический сопроцессор реализован на одном кристалле с центральным процессором FPU (Floating Point Unit) и имеется внутренняя совмещенная кэш-память команд и данных емкостью 8 КБайт. Кроме того, для повышения производительности в этом CISC-процессоре применено RISC-ядро.

 

Контрольные вопросы.

1. Пояснить структуру аппаратных средств типовой микропроцессорной системы управления.

2. Объяснить особенности программной реализации алгоритмов управления.

3. Что является альтернативным методом построения цифровых систем управления?

4. Охарактеризовать основные этапы развития ЭВМ.

 


ЛЕКЦИЯ 2. Микропроцессорная система и алгоритм её работы

2.1. Структура микропроцессорной системы и назначение ее основных частей

2.2. Типовая структурная схема цифровой МПС

2.3. Структурные схемы систем с Фон Неймановской и Гарвардской архитектурой

2.4. Обмен информацией между МПС и внешними устройствами

2.5. Классификация МПС

 

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

 

2.1. Структура и основные части микропроцессорной системы

 

Основой цифровых вычислительных систем являются логические цифровые схемы, основанные на элементах, принимающих два возможных фиксированных значения «0» и «1». Информация в таких схемах представлена в виде импульсных электрических сигналов, имеющих амплитуду выше некоторого уровня (логический 0) или ниже определенного уровня (логическая 1). При построении цифровой МПС реализован принцип программного управления. Суть этого принципа в следующем: цифровая схема построена таким образом, что может решать некоторый определенный набор простых задач или выполнять определенные действия (команды), комбинируя эти действия в соответствии с заданным алгоритмом решения сложной задачи (программа) можно получить решение для очень широкого круга задач. Таким образом, цифровая МПС состоит из аппаратных и программных средств, которые выступают как неразрывное единство.

Аппаратными средствами называется относительно стабильная, неизменяемая часть микропроцессорной системы.

К аппаратным средствам относятся электронные схемы, из которых построена система, и схемы, обеспечивающие их работоспособность.

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

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

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

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

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

 

2.2. Типовая структурная схема цифровой МПС

 

Типовая структурная схема цифровой МПС представлена на рис. 2.1.

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

Каждое АЛУ имеет определенный набор типов данных, которыми оно может манипулировать, и набор операций, которые оно может выполнять над этими данными. Большинство АЛУ поддерживают операции с двоичными целыми числами различных размеров. Некоторые также включают операции, чтобы манипулировать недвоичными числами и числами с плавающей точкой, а также различными нечисловыми данными.

 

 

Рис. 2.1. Структурная схема микропроцессорной системы

 

Типичные операции АЛУ включают

• арифметические: сложение, вычитание, умножение, деление, сравнение;

• логические: И, ИЛИ, исключающее ИЛИ, инверсия, проверка битов;

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

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

Цикл команды включает пять основных шагов:

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

2. Управляющее устройство декодирует команду, то есть определяет из кода команды, какие операции нужно выполнить.

3. Данные, участвующие в операции (они называются операнды), считываются из портов ввода, извлекаются из памяти или доступных регистров хранения, указанных в команде.

4. Выполняется операция над выбранными операндами.

5. Результат записывается в регистр, ячейку памяти или порт вывода.

 

2.3. Структурные схемы систем с Фон Неймановской и Гарвардской архитектурой

 

Программные инструкции (команды) и данные хранятся и извлекаются из памяти МПС. Если одна и та же память используется для команд и данных, говорят, что МПС имеет Фон Неймановскую архитектуру, в честь Джона Фон Неймана, имя которого связывается с появлением первого компьютера, хранившего программу. Большинство универсальных МПС имеет такую архитектуру. МПС, которая использует одну память для команд и отдельную память для данных, имеет Гарвардскую архитектуру. Многие микроконтроллеры входят в эту категорию. Кроме того, многие быстродействующие процессоры используют такую архитектуру, так как в этом случае команда и данные могут быть доступными параллельно. Структурные схемы систем с Фон Неймановской и Гарвардской архитектурой представлены на рис. 2.2.

 

Рис. 2.2.Структура систем с архитектурой: а) Фон Неймановской, б) Гарвардской

 

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

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

Основная память системы (внешняя по отношению к процессору) состоит из постоянного запоминающего устройства (ПЗУ) и оперативного запоминающего устройства (ОЗУ).

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

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

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

Оперативное запоминающее устройство – это память доступная как для чтения так и для записи информации. При выключении электропитания такой памяти информация в ней разрушается.

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

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

Уникальный (единственный) номер ячейки памяти называется ее адресом.

Емкостью адресуемой памяти называется наибольшее количество ячеек памяти, которое может быть обслужено данным процессором, и этот объем определяется разрядностью адресной шины. Характерное свойство памяти заключается в том, что время, требуемое для доступа к любой из ячеек памяти, не зависит от адреса этой ячейки.

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

 

2.4. Обмен информацией между МПС и внешними устройствами

 

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

Обмен данными между МПС и внешними устройствами происходит через интерфейс ввода/вывода. Интерфейсом мы назвали устройство сопряжения. Это упрощенное определение. В микропроцессорной технике этот термин имеет более широкое определение.

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

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

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

Отдельные части МПС объединены между собой шинами.

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

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

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

Шина адреса (ША) это шина, по которой информация передается только в одном направлении – от микропроцессора к модулям памяти или ввода/вывода. По шине передаются многоразрядные двоичные числа. Каждый из них соответствует адресу определенной ячейки памяти или устройства ввода/вывода.

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

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

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

Цикл чтения заключается в выборке байта (или слова), хранимого в ячейке/порте указанного адреса (содержимое ячейки при этом остается неизменным). Для выполнения операции необходимо, чтобы в схему управления чтением/записью поступил с шины управления сигнал, устанавливающий режим ВЫВОД. Этот сигнал формируется устройством управления процессора. При этом буферный регистр пропускает байт из ячейки памяти определенной адресом на шину данных. При отсутствии управляющего сигнала выходы буферного регистра блокируются и связи ячейки памяти с шиной данных нет.

Цикл записи предполагает ввод нового байта (слова) в ячейку/порт. Если там имелся байт, то он стирается и его место занимает новый байт. При выполнении цикла с шины управления поступает сигнал устанавливающий режим ВВОД, буферный регистр открывается и становится возможным прием байта с шины данных в ячейку памяти по указанному адресу.

 

2.5. Классификация МПС

 

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

Микропроцессор это одна или несколько цифровых интегральных схем предназначенных для построения процессоров МПС.

Термин «микропроцессор» подчеркивает размеры схем, но не их возможности. Современные микропроцессоры обладают параметрами сравнимыми с параметрами больших компьютеров в недавнем прошлом.

Множество выпускаемых промышленностью универсальных микропроцессоров можно разделить по конструктивному признаку на две разновидности:

- однокристальные микропроцессоры с фиксированной длиной (разрядностью) слова и определенной системой команд(термины поясняются в следующем разделе);

- многокристальные (секционированные) микропроцессоры с наращиваемой разрядностью слова и микропрограммным управлением. Они составляются из двух и более БИС.

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

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

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

Микроконтроллер это законченная микроЭВМ, реализованная в виде единой микросхемы включающей процессор, память, различные устройства ввода/вывода и интерфейсы внешних устройств.

Так как реализовать составные части микроЭВМ в одной микросхеме в полном объеме затруднительно, большинство микроконтроллеров имеют меньшие возможности чем микропроцессоры общего назначения. Микроконтроллеры первоначально использовались во встроенных управляющих системах, в которых компьютер встраивается непосредственно в такие продукты как двигатели автомобиля, бытовая техника, оборудование связи, промышленные управляющие системы.

 

Контрольные вопросы.

 

1. Нарисовать блок-схему микропроцессорной системы и объяснить назначение основных составных частей

2. Что такое "цикл выполнения команды"?

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

4. Какие части системы участвуют в выполнении каждого шага командного цикла?

5. Что такое "архитектура" микропроцессорной системы?

6. Объяснить разницу между Фон Неймановской и Гарвардской архитектурой.

7. По каким признакам классифицируют вычислительные системы?


ЛЕКЦИЯ 3. Архитектура однокристальных микропроцессоров

3.1. Параметры микропроцессоров и общая характеристика их архитектуры

3.2. Функциональная схема и набор интерфейсных сигналов

3.3. Программная модель и система команд

3.4. Формат команды, способы адресации операндов

 

3.1. Параметры микропроцессоров и характеристика их архитектуры

 

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

- Технология изготовления: р-канальная МОП (р-МОП), n-канальная МОП (n-МОП), комплементарная МОП (к-МОП), биполярная ТТЛ, ТТЛ с диодами Шотки (ТТЛДШ), инжекционной интегральной логики (И2Л), эмиттерно-связанной логики (ЭСЛ). Информация о технологии изготовления дает представление о потреблении энергии и среднем быстродействии микропроцессора.

- Разрядность (4; 8; 16; 32; 64) — длина информационного слова, которое может быть одновременно обработано микропроцессором. Она может быть фиксированной или наращиваемой (у многокристальных микропроцессоров).

- Емкость адресуемой памяти. Характеризует возможности микропроцессора по взаимодействию с запоминающим устройством и определяется количеством ячеек памяти, которые может адресовать процессор. Емкость адресуемой памяти однозначно связана с разрядностью шины адреса микропроцессора.

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

- Мощность потребления.

- Питающие напряжения (число уровней, номиналы).

- Конструктивные данные: габаритные размеры корпуса, число выводов.

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

- Надежность.

- Стоимость.

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

 

3.2. Функциональная схема и набор интерфейсных сигналов

 

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

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

Регистром называется электронная схема для временного хранения двоичной информации (машинного слова). Ее строят на триггерах, общее число которых определяет разрядность регистра. Каждый триггер регистра используется для ввода, хранения и вывода одного разряда (1 или 0) двоичного числа. Разрядность регистра выбирают соответственно длине хранимого в нем слова. Регистры, которые служат только для ввода, хранения и вывода двоичной информации, называют регистрами хранения. От них отличаются сдвигающие регистры, которые помимо выполнения указанных функций позволяют осуществлять сдвиг двоичного числа вправо или влево (а иногда – в обоих направлениях). Если в регистр хранения вводят числа в параллельном коде, то есть одновременно во все триггеры, то ввод чисел в сдвигающий регистр часто производят в последовательном коде, подавая последовательно один разряд за другим, хотя возможен и ввод чисел в параллельном коде.

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

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

Блок внутренних регистров, расширяющий возможности АЛУ, служит внутренней памятью микропроцессора – используется для временного хранения данных и команд. Он также выполняет некоторые процедуры обработки информации. Обычно этот блок содержит регистры общего назначения и специальные регистры: регистр-аккумулятор, буферный регистр адреса, буферный регистр данных, счетчик команд, регистр команд, регистры стека, регистр признаков.

Регистры общего назначения (РОН), число которых может изменяться от 4 до 64, в значительной мере определяют вычислительные возможности микропроцессора. Их основная функция – хранение операндов, то есть подлежащих обработке данных. Но они могут выполнять и роль специальных регистров. Все РОН доступны программисту, который их рассматривает как сверхоперативное запоминающее устройство. Иногда в технической документации к микропроцессору содержатся рекомендации по использованию РОН.

Регистр-аккумулятор, обычно называемый просто аккумулятором, предназначен для временного хранения операнда или промежуточного результата арифметических и логических операций, производимых АЛУ. При выполнении какой-либо операции с двумя операндами в этом регистре содержится один из используемых операндов, а после выполнения операции – ее результат. Разрядность аккумулятора равна разрядности информационного слова микропроцессора. Часто ввод и вывод всех данных в микропроцессоре производятся через аккумулятор. Встречаются микропроцессоры с двумя и более аккумуляторами, что позволяет повысить гибкость работы и эффективность решения задач.

Буферный регистр адреса – специальный регистр, служащий для приема и хранения адресной части исполняемой команды. Иначе говоря, в нем содержится до выдачи на адресную шину адрес ячейки внешней памяти или порта ввода/вывода. Возможное количество адресов (непосредственно адресуемых слов памяти) определяется разрядностью этого регистра. Так, в 16-разрядном регистре можно, изменяя нули и единицы отдельных разрядов двухбайтового слова, поместить 216=65536 адресов.

Буферный регистр данных служит для временного хранения выбранного из памяти слова перед выдачей его на внешнюю шину данных. Разрядность этого регистра определяется количеством байтов информационного слова микропроцессора (для хранения однобайтового слова необходим 8-разрядный регистр, двухбайтового слова – 16-разрядный).

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

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

В состав практически любого микропроцессора входят средства работы со стеком. Название «стек» происходит от английского слова stack, что в дословном переводе означает «штабель» (дров), кипа (бумаг). В микропроцессорах стек представляет собой набор регистров, хранящих данные (команды возврата – при обращении к подпрограммам; состояния внутренних регистров). Этот набор организован таким образом, что слово данных выбирается по принципу «вошедший последним – выходит первым» – подобно тому, как из штабеля дров первым берут полено, положенное последним (в английском языке этот принцип определяется выражением Last-In-First Out и аббревиатура LIFO иногда встречается как название стековой памяти). При записи в стек очередного слова все находящиеся в нем слова смещаются на один регистр вниз (процесс такой записи называют «проталкиванием»). После выборки слова из стека оставшиеся слова сдвигаются на один регистр вверх (процесс считывания называют «выталкиванием» вверх). Стек может быть выполнен не только на внутренних регистрах микропроцессора, составляя его часть, но и находиться во внешнем оперативном запоминающем устройстве, занимая там выделенную для него зону. В последнем случае стек получается более емким, однако для обращения к нему необходим специальный регистр указатель стека. Указатель стека – регистр, служащий для хранения адреса последней занятой ячейки стека, которую называют вершиной. Содержащееся в регистре число указывает, где находится вершина стека. Когда в стек записывается очередное слово, то число в указателе стека соответственно увеличивается. Извлечение слова из стека сопровождается, наоборот, уменьшением заполняющего указатель стека числа. Кроме такой процедуры предусматривается и возможность считывания без разрушения содержимого любой ячейки стека при неизменном числе, хранимом в указателе стека.

Регистр признаков представляет собой набор триггеров, называемых флажками. В зависимости от результатов операций, выполняемых АЛУ, каждый триггер устанавливается в состояние 0 или 1. Флажковые биты, определяющие содержимое регистра, индицируют условные признаки: нулевого результата, знака результата, переполнения и т.п. Эта информация, характеризующая состояние процессора, важна для выбора дальнейшего пути вычислений.

Для структуры микропроцессора характерно наличие внутренней шины данных, соединяющей между собой его основные части. Разрядность внутренней шины данных, то есть количество передаваемых по ней одновременно (параллельно) битов числа, соответствует разрядности слов, которыми оперирует микропроцессор. Следует иметь в виду, что по шине данных передаются не только обрабатываемые АЛУ слова, но и командная информация. Следовательно, недостаточно высокая разрядность шины данных может ограничить состав (сложность) команд и их число. Шина данных работает в режиме двунаправленной передачи. Это означает, что по ней можно передавать слова в обоих направлениях, но, разумеется, не одновременно: требуется применение специальных буферных схем и мультиплексного режима обмена данными между микропроцессором и внешней памятью. Мультиплексный режим (от англ. multiple – многократный, множественный) – режим одновременного использования канала передачи большим числом абонентов с разделением во времени средств управления обменом. В современных микропроцессорах иногда в мультиплексном режиме используются также шины адреса и данных.

Интерфейсные сигналы это сигналы, которые вырабатывает микропроцессор на своих внешних выводах и которые используются составными частями микропроцессорной системы. Эти сигналы формируют внешние шины микропроцессора: адреса, данных, управления. Шина управления обычно содержит сигналы синхронизации записи и чтения информации по шине данных, причем либо отдельно для памяти и для портов ввода/вывода, либо включается дополнительный сигнал, показывающий откуда будет произведена передача. Если используется мультиплексирование шин, вводятся специальные сигналы облегчающие демультиплексирование и формирование отдельных внешних шин. В число интерфейсных сигналов включают также сигналы обеспечивающие поддержку специальных режимов работы процессора: режим прерываний и режим прямого доступа к памяти.

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

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

 

3.3. Программная модель и система команд

 

Программная модель показывает программно доступные части микропроцессора и микропроцессорной системы. Программная модель позволяет программисту проще ориентироваться в структуре микропроцессорной системы, не отвлекая его внимания на ненужные при программировании детали. На рис. 3.1 приведен пример программной модели микропроцессорной системы на основе 8-разрядного микропроцессора. На схеме показан микропроцессор и его программно доступные части: АЛУ, аккумулятор (А), регистр флагов (F), регистры общего назначения (B,C,D,E,H,L), программный счетчик (PC), регистр указатель стека (SP). Подробно описаны биты регистра флагов: S – бит знака (повторяет старший бит аккумулятора), Z – флаг нулевого результата (устанавливается, если в аккумуляторе 0), AC – флаг вспомогательного переноса (из младшей тетрады в старшую), P – флаг четности, CY – флаг переноса (из старшего значащего бита). На схеме показаны также память(M) и порты ввода/вывода(I/O).

 

Рис. 3.1. Программная модель микропроцессорной системы

 

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

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

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

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

Инкрементом называется увеличение содержимого регистра или ячейки памяти на единицу. Декремент, соответственно, уменьшение содержимого регистра или ячейки памяти на единицу.

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

Группа логических команд выполняет булевы операции И, ИЛИ, исключающее ИЛИ над битами операндов. Эти операции дают микропроцессору возможность устанавливать, сбрасывать, инвертировать или проверять отдельные биты или группы битов в ячейках памяти, регистрах или портах ввода/вывода. Команда И позволяет сбрасывать выбранные биты слова в нуль. Второй операнд тогда должен содержать набор битов, называемых маской, который содержит нуль в каждой позиции, которая должна быть сброшена в нуль, и единицу в каждой позиции, которая должна остаться неизменной. Подобные маски могут быть созданы для команд ИЛИ для установки выбранных битов в единицу и для команды исключающее ИЛИ для инвертирования выбранных битов. Многие устройства ввода/вывода имеют специальный регистр состояния, в битах которого отражается способность устройства выполнять операции. Команда И может выделить отдельные биты в регистре состояния, чтобы определить находятся они в состоянии нуля или единицы.

Команды сдвига и вращения сдвигают биты операнда вправо или влево. Это может быть использовано для выделения битов или совмещения нескольких битов в операнде, для перевода данных из параллельной в последовательную форму, для выполнения операций умножения и деления на числа, равные степеням двойки. Операция логического сдвига сдвигает биты вправо или влево на один бит, свободный бит замещается нулем. Для чисел без знака это эквивалентно делению или умножению на два. Команда арифметического сдвига вправо выполняет деление на два над двоичными числами в дополнительном коде, путем сохранения старшего знакового бита в то время как операнд сдвигается на один бит вправо. Некоторые микропроцессоры позволяют выполнять операции многократных сдвигов за одну команду. Команды циклических сдвигов (вращений) выполняют операцию сдвига с заполнением освобождающегося бита битом, выдвигаемым из начала или конца операнда. Используются также операции циклических сдвигов через бит переноса. В этих операциях бит переноса выступает как дополнительный бит операнда.

Нормальный порядок выполнения команд в программе это последовательное их выполнение в направлении возрастания адресов. Чтобы изменить этот порядок используются специальные команды ветвлений (передачи управления). Эти команды прерывают обычный порядок выполнения команд и позволяют перейти в произвольное место программы, обеспечивая тем самым программирование разветвляющихся и циклических алгоритмов. В систему команд микропроцессора обычно включают команды безусловных и условных переходов. Команды безусловных переходов могут передавать управление в любое место памяти путем загрузки программного счетчика новым адресом команды. Команды условных переходов перед выполнением перезагрузки командного счетчика проверяют состояние флагового регистра микропроцессора. Если проверяемое условие истинно, то осуществляется переход, в противном случае программа продолжает обычное выполнение. В современных микропроцессорах, кроме того, есть специальные команды организации циклов. В этих командах один из регистров микропроцессора используется в качестве счетчика и при каждом прохождении цикла декрементируется, а при достижении нулевого состояния цикл прекращается. Для поддержки модульного программирования в систему команд вводятся команды работы с подпрограммами. Команды перехода к подпрограммам обычно записывают текущее состояние программного счетчика в стек, чтобы сохранить адрес команды следующей за командой вызова. Команда возврата из подпрограммы извлекает из стека сохраненный адрес и загружает его в программный счетчик. Тем самым осуществляется возврат к прерванной программе.

Команды управления микропроцессором позволяют изменять режимы работы микропроцессора.

 

3.4. Формат команды, способы адресации операндов

 

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

Команда может состоять из одного, двух или большего количества байтов, последовательно расположенных в памяти. Первый байт команды содержит код операции. Считанный в начале интервала выполнения команды, называемого циклом команды, ее первый байт поступает из памяти по внутренней шине данных в регистр команд, где хранится в течение всего цикла. Дешифратор кода операции дешифрирует содержимое регистра команд – определяет характер операции и адреса операндов. Эта информация передается в УУ, которое вырабатывает управляющие сигналы, направляемые в блоки микропроцессора, участвующие в выполнении данной команды. Возможен случай, когда код операции несет всю необходимую информацию для выполнения команды. Тогда выполнение начинается сразу после считывания первого байта команды. Если же в команде содержится более одного байта, то остальные байты, несущие информацию об адресе ячейки памяти, где хранятся данные, передаются либо в буферный регистр адреса, либо в один из РОН. Только после завершения всей процедуры считывания команды или, иначе говоря, получения полной информации о местонахождении операндов и о том, какая операция должна выполняться над ними, начинается обработка.

Чтобы выбрать операнд из ячейки памяти или записать результат в память, адрес этой ячейки должен быть определен в команде.

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

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

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