Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИКРОПРОЦЕССОРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ.doc
Скачиваний:
6
Добавлен:
20.08.2019
Размер:
258.56 Кб
Скачать

10.3. Микропроцессорные системы

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

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

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

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

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

Рис.10.3. Основные модули микропроцессорной системы

Команды и данные передаются между модулями по системной магистрали, которая имеет сравнительно небольшое число линий связи, объединенных в шины: данных (ШД), адреса (ША), управления (ШУ). Ограниченность количества проводников в магистрали обусловлена конечным числом выводов корпуса микропроцессора (ЦПЭ).

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

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

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

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

    1. программный обмен по инициативе ЦПЭ с устройствами постоянно готовым к обмену (ПЗУ) или ожидающими обмена (ВУ);

    2. по инициативе ВУ с прерыванием работы ЦПЭ и запоминанием его состояния ЦПЭ на момент прерывания;

    3. прямой доступ ВУ к ЗУ без участия ЦПЭ.

Адреса выбираемых для обмена объектов входят в состав кода команды и передаются по шине адреса. Упорядоченное множество кодов адресов, однозначно связанное c числом линий n адресной шины, называют адресным пространством МПС. С точки зрения адресации порты УВВ можно рассматривать как ячейки ЗУ, и адресное пространство интерпретировать как максимально возможное количество программно доступных элементов. Распределение адресного пространства производится при проектировании системы и в дальнейшем принадлежность модуля к определенному классу (ОЗУ, ПЗУ, УВВ) может идентифицировать только микропроцессор.

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

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

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

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

Рис. 10.4. Структура порта (а) и схема канала буферного усилителя (б)

Функционирование порта состоит в приеме дешифратором кода, установленного на адресной шине и в зависимости от результата выдаче сигналов управления на шинный усилитель, режим работы которого зависит от сигналов на управляющих входах X и Y его каскадов (рис.10.4,б). При сочетании X = 1 и Y = 1 происходит передача данных с входа А на выход В, а при X = 0 и Y = 0 – в противоположном направлении. Если установлены управляющие сигналы X = 0 и Y = 1, то вход и выход разомкнуты. Уровень выходной мощности шинного усилителя обеспечивает передачу данных внешним устройствам.

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

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

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

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

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

Рис. 10.5. Блок-схема управления

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

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

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

Отдельные акты обработки данных, называемые микрооперациями, осуществляются в темпе, который задается с помощью синхроимпульсов, производимых ГТИ. Совокупность микроопераций, производимых устройствами за один такт синхронизации, называют микрокомандой (МК). Анализ управления сложной микропроцессорной системой на уровне микрокоманд представляет весьма трудоемкую задачу.

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

Рис.10.6. Последовательность выполнения команды

При выборке по сигналу, определяющему начало стадии выполнения данной команды, код, который содержится в счетчике команд, пересылается в буферный регистр адреса и по адресной шине поступает в ЗУ. Дешифрация кода приводит к выработке сигнала разрешения обращения к выбранной ячейке памяти, содержащей код операции (КОП). С приходом сигнала чтения (R/W = 1) выбранный КОП передается в соответствующий регистр ЦПЭ. При исполнении команды блок управления генерирует последовательность импульсов, требуемую для выполнения команды заданной кодом операции. Одновременно увеличивается на единицу содержимое кода команд, формируя код адреса следующей команды.

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

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

Рис.10.7. Машинные циклы команды

С использованием тактирующих сигналов С1 и С2 формируется селектирующий сигнал Clk, определяющий временные соотношения напряжений в узлах устройства. В соответствии с установленными на шинах адреса и данных напряжениями (uА, uД) код операции считывается в течение цикла М1, адрес порта определяется в цикле М2, для считывания данных из порта и пересылки в ЦПЭ служит цикл М3.

Для создания требуемой последовательности управляющих импульсов возможно применение двух способов:

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

  2. ис­пользование универсального устройства с микропрограммным управлением его работой.

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

Регистр команд

Схема формирования адреса

Регистр адреса МК

ПЗУ МК

ЗУ управления адресами

Команда

Такт

Результат

Микрокоманды

Рис. 10.8. Структура блока микропрограммного управления.

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

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

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

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

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