Микропроцессорная система. Принципы, назначение, архитектура микропроцессорных систем

Микропроцессорная система. Принципы, назначение, архитектура микропроцессорных систем

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

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

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

Микропроцессорный комплект (МПК) — совокупность интегральных схем, совместимых по электрическим, информационным и конструктивным параметрам и предназначенных для построения электронно-вычислительной аппаратуры и микропроцессорных систем управления.

В типичный состав МПК входят:

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

Микропроцессоры и МПК классифицируют по таким признакам: назначение; количество; способ управления; тип архитектуры; тип системы команд.

По назначению МП разделяют на универсальные и специализированные.

В основу построения МПС-систем положено три принципа:

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

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

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

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

Рассмотрим структурную схему микропроцессорной системы (МПС), приведенную на рисунке 1.

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

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

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

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

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

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

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

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

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

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

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

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

Описанные способы обеспечивают низкую скорость обмена, и применять их целесообразно при обмене данными с низкоскоростными ПУ.

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

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

1. Критерии оценки качества микропроцессорной системы

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

Производительность.

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

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

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

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

В таблице 1 приведены основные классы количественных индексов производительности вычислительных систем.

Таблица 1 – Основные классы количественных индексов производительности вычислительных систем

Основные классы количественных индексов производительности вычислительных систем

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

В настоящее время качество микропроцессорных систем оценивается соотношением «производительность/энергопотребление». Снижение энергопотребления без снижения производительности – актуальная задача проектирования микропроцессорных систем.

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

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

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

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

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

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

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

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

2. Архитектура микропроцессорных систем

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

Структура модульного МК приведена на рисунке 2.

Модульная организация микроконтроллера

Рисунок 2 – Модульная организация микроконтроллера

Процессорное ядро включает в себя:

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

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

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

Микропроцессор с фон-неймановской архитектурой

Рисунок 3 – Микропроцессор с фон-неймановской архитектурой

Основное преимущество архитектуры Фон-Неймана – упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения.

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

Основной особенностью гарвардской архитектуры является использование раздельных адресных пространств для хранения команд и данных, как показано на рисунке 4.

Микропроцессор с гарвардской архитектурой

Рисунок 4 – Микропроцессор с гарвардской архитектурой

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

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

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

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

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

Архитектура фон Неймана носит более универсальный характер применения, Гарвардская архитектура – более специализирована.

3. Назначение и область применения микропроцессоров

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

Всё это обязывает электрика знать хотя бы основы работы микропроцессорной техники.

Микропроцессорные системы предназначены для автоматизации обработки информации и управления различными процессами.

Микропроцессорная система включает в себя аппаратное обеспечение или по-английски – hardware и программное обеспечение (ПО) — software.

Цифровая информация

Микропроцессорная систем а работает с цифровой информацией, которая представляет собой последовательность цифровых кодов.

В основе любой микропроцессорной системы лежит микропроцессор, который способен воспринимать только двоичные числа (составленные из 0 и 1). Двоичные числа записываются посредством двоичной системы счисления. Например, в повседневной жизни мы пользуемся десятичной системой счисления, в которой для записи чисел используются десять символов или цифр 0,1,2,3,4,5,6,7,8,9. Соответственно в двоичной системе таких символов (или цифр) всего два – 0 и 1.

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

Рассмотрим единицы измерения цифровой информации:

Бит (от английского «BInary digiT» — двоичная цифра) принимает только два значения: 0 или 1. Можно закодировать логическое значение «да» или «нет», состояние «включено» или «выключено», состояние «открыто» или «закрыто» и т.п.

Группа из восьми бит называется байтом, например 10010111. Один байт позволяет кодировать 256 значений: 00000000 – 0, 11111111 — 255.

Бит – наименьшая единица представления информации.

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

Два взаимосвязанных байта называется словом, 4 байта – двойное слово, 8 байт – учетверённое слово.

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

Например, для кодирования текстовой информации используется таблица кодов ASCII (от англ. American Standard Code for Information Interchange — Американский стандартный код для обмена информацией). Запись одного символа осуществляется одним байтом, который может принимать 256 значений. Графическая информация разбивается на точки (пиксели) и производится кодирование цвета и положение каждой точки по горизонтали и вертикали.

Кроме двоичной и десятичной системы в МС используют шестнадцатеричную систему, в которой для записи чисел используются символы 0…9 и A…F, как это показано в таблице 2.2. Её применение обуславливается тем, что один байт описывается двухразрядным шестнадцатеричным числом, что значительно сокращает запись цифрового кода и делает его более читаемым (11111111 – FF).

Для определения значения числа (например, значения числа 100 для разных систем счисления может составлять 42, 10010, 25616), в конце числа добавляют латинскую букву, обозначающую систему счисления: для двоичных чисел букву b, для шестнадцатеричных — h, для десятичных – d.

Число без дополнительного обозначения считается десятичным.

Таблица 2 – Запись чисел в различных системах счисления

Запись чисел в различных системах счисления

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