Принципы действия микрокомпьютеров

- -

 



Принципы  действия микрокомпьютеров

АРХИТЕКТУРА МИКРОКОМПЬЮТЕРОВ

 

Обычно выделяют три класса компьютеров:

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

б) миникомпьютеры, которые обслуживают меньшее число терминалов пользователей (обычно до 40) и применяются, в небольших фирмах, а также в промышленных системах управления;

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

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

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

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

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

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


В простейших микрокомпьютерах, например карманном калькуляторе или контроллере стиральной машины, все три модуля. (ЦП, память и ввод-вывод) помешаются в одной микросхеме.

ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР

 

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

содержимое программного счетчика помещается на шину адреса, и следующую команду программы можно передать из памяти в ЦП;

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

устройство управления дешифрует команду и инициирует в ЦП те действия, которые необходимы для ее выполнения;

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

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

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

Длина слова ЦП определяется числом бит, которое обрабатывается в одной операции АЛУ, например 8-битный ЦП может выполнить операцию арифметического сложения двух 8-битных чисел, Корпуса микропроцессоров объединяются в следующие группы:

8-битные микропроцессоры всегда  выпускаются в 40-контактном корпусе типа DIP (с двухсторонним расположением выводов);

16-битные микропроцессоры обычно имеют 64-контактный корпус типа DIP;

82-битные микропроцессоры имеют от 60 до 120 контактов на корпусах типа «держатель кристалла» (контакты по всем четырем сторонам корпуса) или PGA (сетка контактов).

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

 Пример команды  1-прибавить регистр В к регистр А.

Этап 1-выборка команды.

Этап 2-выполнение ее (прибавить содержимое регистра В к содержимому аккумулятора А). Пример команды 2-загрузить регистр А из памяти. Этап 1 выборка команды. Этап 2 - выполнение действия 1 (считать в ЦП первую половину адреса памяти).

Этап 3 - выполнение действия 2 (считать  в ЦП вторую половину адреса памяти).

Этап 4-выполнение действия 3 (считать  в регистр А байт данных по адресу памяти).

Вторая команда выполняется  примерно в 2 раза дольше, чем первая. Отметим, что в 8-битном микропроцессоре  длина первой команды составляет 1 байт, т. е. команда занимает одну ячейку памяти. Длина же второй команды составляет 3 байта, так как второй и третий байты содержат 16-битный адрес памяти, по которому хранится нужное значение данных. В этом случае второй и третий байты называются операндом команды, а первый байт, определяющий действие команды, называется кодом операции.

Система команд конкретного ЦП может  содержать от 50 до нескольких сот  различных команд. Последнее удобно разделить на следующие четыре класса:

1) команды обработки данных, т.  е. когда АЛУ изменяет значение данных;

2) команды переходов, т. е.  передачи управления другой ячейке памяти;

3) команды пересылки данных, например, между регистром ЦП, и другим  регистром ЦП, ячейкой памяти или каналом ввода-вывода;

4) дополнительные команды, например прекращение выполнения программы.

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

прямая регистровая, адресация, когда значение данных находится в регистре ЦП;

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

косвенная регистровая адресация, когда значение данных находится в ячейке памяти, определяемой внутренним регистром ЦП (регистровой парой а 8-битном ЦП ); непосредственная адресация, когда значение данных находится в самой команде (во втором байте в случае 8-битного ЦП);

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

ПАМЯТЬ

 

Микросхемы памяти выпускаются  в виде постоянных запоминающих устройств (ПЗУ или ROM), из которых можно только считывать информацию, и запоминающих устройств с произвольной выборкой (ЗУПВ или RAM), которые позволяют осуществлять операции считывания и записи информации. Разводка контактов типичной микросхемы ПЗУ показана на рис. 1.3. Десять линий адреса обеспечивают адресацию 210=1024=1К ячеек памяти, а 8 линий данных показывают, что в каждой ячейке памяти хранятся 8 бит. Следовательно, организацию памяти для этой микросхемы можно описать как 1024Х8.

Байт считывается из микросхемы, когда сигнал CS (выбор кристалла) имеет двоичное значение О. (Черта над буквами CS обозначает инверсную логику, т. е. сигнал действует, когда он имеет значение двоичного О.)

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

Разводка контактов микросхем  ЗУПВ аналогична ПЭУ, но в них требуется дополнительный сигнал RIW считывания/записи в шине управления ЦП, который управляет направлением передачи байта. Микросхемы ЗУПВ подразделяются на статические с сохранением двоичных наборов данных до выключения питания (такая память называется энергозависимой) и динамические с сохранением двоичных наборов только в течение 2 мс, а затем требующие регенерации.

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

 

 

A15

A14

A13

A12

A11

A10

 

A0

 

Начало ПЗУ

0

X

X

0

0

0

……

0

0000H

Конец ПЗУ

0

X

X

0

0

1

……

1

07FFH

Начало ЗУПВ

0

X

X

0

1

0

……

0

0800H

Конец ЗУПВ

0

X

X

0

1

1

……

1

0FFFH


 

Сигнал на линии A15 разрешает дешифратор, а сигналы на линиях A12 и А11 дешифрируются и определяют выбор микросхем. Символ X означает, что сигнал не используется и предполагается равным нулю. Заключительная буква Н (Hex-шестнадцатеричный) в записи числа означает представление его в шестнадцатеричном формате.

 

 

 

 

 

 

  Таблица 1.1. Таблица истинности дешифратора 2:4

 

Входы

Выходы

A12

0

0

1

1

A11

0

1

0

1

CS4

1

1

1

0

CS3

1

1

0

1

CS2

1

0

1

1

CS1

0

1

1

1


 

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

Если в схеме памяти имеется  больше четырех микросхем, то вместо дешифратора 2: 4 потребуется дешифратор 3:8, а на его входы подключаются неиспользуемые старшие линии шины адреса.

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

ВВОД-ВЫВОД

 

Микросхемы ввода-вывода применяются  для подключения микрокомпьютера к разнообразным периферийным устройствам (внешняя память, принтер, дисплей), линиям связи с другими компьютерами, приборами и электрическому оборудованию в системах управлений, различным индикаторам и т. п. Если микросхемы памяти (ПЗУ и ЗУПВ) выпускаются различными фирмами, не производящими ЦП, к которому подключается память, то микросхемы ввода-вывода обязательно приспосабливаются под ЦП и предлагаются производителями ЦП в качестве вспомогательных.

Параллельный ввод-вывод (PIO). Микросхема PIO предназначается для передачи данных через 8-битные порты во внешние устройства. Функции контактов типичной микросхемы PIO приведены нарте. 1.7. Сигналы подключаются к шинам ЦП аналогично подключению микросхемы ЗУПВ. Байт данных передается по шине данных, а две подключенные линии шины адреса обеспечивают следующие четыре адреса в микросхеме PIO:

 

A1

A2

 

 

0

0

Порт А

0

1

Порт В

1

0

Порт С

1

1

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


 

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

Отметим, что микропроцессоры, микросхемы памяти и программируемые микросхемы ввода-вывода производятся по МОП- или КМОП-технологлям, которые называются технологиями интегральных схем со сверхбольшой степенью интеграции (СБИС). Однако существует и непрограммируемая альтернатива микросхем PIO в виде 8-битного регистра ТТЛ-семейства, в которой содержатся дополнительные схемы для клапанирования и некоторые управляющие схемы. Например, в качестве входного порта можно использовать микросхему SN74244 с восемью входными (подключаются к внешнему устройству, например восьми кнопкам) и выходными линиями соединяются с шиной данных) и двумя управляющими линиями (одна из них, применяется для выбора микросхемы и подключается к дешифратору адреса).

В качестве примеров типичных применений параллельных выходных портов можно привести:

8-битное подключение к 7-сегментным  индикаторам (с десятичной точкой);

вывод от 1 до 8 бит для управления индикаторами на светодиодах (лампочках) или управления электрическим двигателем (соленоидом);

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

8-битное подключение к параллельному  принтеру. Стандартный интерфейс  Centronics для параллельного принтера  состоит из 8 бит данных, 1 бита  квитирования в принтер и 1 бита квитирования из принтера.

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

Последовательный ввод-вывод. Универсальный асинхронный приемопередатчик (УАПП или UART) применяется вместо микросхемы PIO, когда требуется передать 8 бит данных по одной последовательной, а не по восьми параллельным линиям. Хотя при этом достигается определенная экономия кабельных соединений, недостаток такой организации ввода-вывода заключается в уменьшении скорости передачи. Последовательная передача применяется для подключения к компьютерам дисплеев, в линиях связи между компьютерами, а также для некоторых принтеров.

Типичные функции контактов UART показаны на рис. 1.8. Способы подключения  микросхемы UART к ЦП аналогичны ранее  рассмотренным для микросхемы PIO плюс дополнительно подается сигнал синхронизации, чтобы произвести передачу восьми последовательных бит байта данных. Подключения внешнего периферийного устройства, например дисплея, осуществляются по линиям Tx (выход) и Rx (вход). Имеются также четыре квитирующих сигнала, показывающих, что внешнее устройство закончило обработку предыдущего байта данных (CTS) и готово к передаче (DSR). Интерфейс с последовательными устройствами обычно соответствует стандарту RS-232C. Подключения для 25-контактного разъема в этом стандарте приведены справа на рис. 1.8. В микросхеме UART обычно имеются следующие четыре адреса:

 

 

A1

А0

 

0

0

Тх (последовательный выход)

0

1

ах (последовательный вход)

1

0

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

1

1

Регистр состояния (например, символ передан, символ принят)


 

8-битный символ данных окаймляется  стартовым (логический 0) и стоповым (логическая 1) битами. Программа должна инициализировать регистр управления до передачи байта данных для выбора таких параметров, как скорость последовательной передачи в бодах бит/с), обычно 600, 1200, 2400, 4800 или 9609 бод, число стоповых бит (1, 1,5 или 2), число бит данных. (5, 6 или 7; обычно 7 и UART добавляет 1 бит паритета), паритет или четность (добавляется после бит данных; применяется четный или нечетный паритет).

Отметим, что микросхема UART работает с напряжением ТТЛ-уровней (логическая 1 соответствует +5 В, а логический 0 - 0 В), но спецификация интерфейса RS-232C требует других сигналов (алогическая 1 соответствует -12 В, а логический 0 - +12 В). Поэтому для соединения микросхемы UART с разъемом RS-232C необходима схема преобразования уровней.

Таймер/счетчик. Микросхема таймера/счетчика (СТС) представляет собой программируемый счетчик, в который ЦП может загружать и считывать информацию. Обычно в микросхеме СТС имеется от 1 до 4 таких счетчиков. Иногда один счетчик включается в микросхему PIO.

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

Некоторые микросхемы СТС допускают  программирование (инициализацию) на инкремент или декремент. Кроме того, входной сигнал синхронизации можно разделить на программируемое двоичное число до инкремента/декремента счетчика.

 

Микропроцессорные устройства на основе МПК серии КР580

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

 

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

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

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

Микросхемы МПК КР580 и их функции представлены в табл. 2.1.

Микросхемы характеризуются следующими параметрами: температурный диапазон: КР580 -10... -1-70 °С; 580 -60... ... + 85 °С;

потребляемая мощность: КР580ИК80 1,25 Вт; 580ВМ80 1,7 Вт: остальные БИС 0,7 Вт:

напряжение питания: КР580ИК80, 580ВМ80 +5, +12, -5В, остальные БИС + 5В;

допустимое отклонение напряжения: КР580 ±5 %; 580 ±10%; нагрузочная способность каждого выхода БИС - один вход элемента ТТЛ;

время спада и нарастания входных  напряжений на выводах БИС 30 нс.

 

Таблица 2.1

Тип микросхемы

Назначение микросхемы

Выполняемая функция

КР580ИК80А

580ВМ80

Восьмиразрядный параллельный процессор

Центральный процессор с фиксированной  системой команд для обработки параллельной 8-разрядной информации

КР580ИК51

580ИИ51

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

Универсальное синхронно-асинхронное  программируемое приёмо-передающее устройство последовательной связи

КР580ВИ53

580ВИ53

Программируемый таймер

Формирует программно-управляемые временные задержки для синхронизации управляемых объектов в реальном масштабе времени

КР580ИК55

580ВВ55

Программируемый параллельный интерфейс

Программируемый ввод-вывод параллельной информации различного формата

КР580ИК57

580ВТ57

Программируемый контроллер прямого доступа к памяти

Высокоскоростной обмен информацией  между памятью МПУ и периферийными  устройствами

КР580ВН59

580ВН59

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

Обслуживает до 8 запросов на прерывание от внешних устройств

КР580ГФ24

580ГФ24

Генератор тактовых импульсов

Формирует две последовательности тактовых импульсов, необходимые для работы центрального процессора

КР580ВК28

580ВК28

КР580ВК38

580ВК38

Системный контроллер

Формирует сигналы, предназначенные  для управления различными устройствами, входящими в состав МПУ

КР580ВА86

Шинный формирователь

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

КР580ВА87

Шинный формирователь

То же с инвертирующим выходом

КР580ИР82

Буферный регистр

8-разрядный буферный регистр  с не инвертирующим выходом с тремя состояниями

КР580ИР83

Буферный регистр

То же с инвертирующим выходом

КР580ВГ75

Программируемый интерфейс ЭЛТ

Контроллер вывода информации из памяти МПУ на экран ЭЛТ

КР580ВГ79

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

Контроллер ввода-вывода для клавиатуры и дисплея


 

МИКРОПРОЦЕССОР КР580ИК80

 

БИС КР580ИК80 представляет собой 8-разрядный процессор, в котором совмещены операционное и управляющее устройства. Управляющая память недоступна пользователю, в ней уже в процессе изготовления БИС записываются микропрограммы операций (микропрограммы, по которым выполняются команды). Таким образом, предусматривается использование некоторой фиксированной системы команд. в которую пользователь не может внести изменений. В связи с этим данный микропроцессор относится к числу немикропрограммируемых. т. е. программируемых не на уровне микрокоманд, а на уровне команд.

СТРУКТУРНАЯ СХЕМА

 

На рис. 2.1 приведена структурная  схема БИС КР580ИК80. Опишем кратко ее узлы.


Регистры данных. Для хранения участвующих в операциях данных предусмотрено семь 8-разрядных регистров. Регистр А, называемый аккумулятором, предназначен для обмена информацией с внешними устройствами (т. е. либо содержимое этого регистра может быть выдано на выход, либо со схода в него может быть принято число), при выполнении арифметических, логических операций и операций сдвига он служит источником операнда (числа, участвующего в операции), в него помещается результат выполненной операции. Шесть других регистров, обозначенных В, С, D, Е, Н, L, образуют так называемый блок регистров общего назначения РОИ (название связано с тем, что эти регистры могут использоваться для хранения как данных, так и адресов). Эти регистры могут использоваться как одиночные 8-разрядные регистры. В случаях, когда возникает необходимость хранить 16-разрядные двоичные числа, они объединяются в пары BC, DE, HL.

Регистры БР1, БР2, W, Z используются как буферные, программно-недоступные регистры (т. е. регистры, к которым программист при составлении программы не может обращаться).

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

Счетчик команд PC (16-разрядный) предназначен для хранения адреса команды; после выбора из оперативной памяти текущей команды содержимое счетчика увеличивается на единицу и таким образом формируется адрес очередной команды (при отсутствии безусловных и условных переходов).

При обращении к памяти в качестве адреса может использоваться и содержимое любой пары регистров блока РОИ.

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

Принципы действия микрокомпьютеров