Микропроцессорная система (МПС) представляет собой систему, включающую в себя хотя бы 1 микропроцессор (МП), запоминающее устройство (ЗУ), устройства ввода/вывода (УВВ), устройства сопряжения системной шины с устройствами ввода/вывода (контроллеры), системную шину.
Данную систему можно рассматривать как пример электронной системы, которая предназначена для обрабатывания входных сигналов и выдачи выходных сигналов. В роли входных и выходных сигналов возможно использование аналоговых сигналов, одиночных цифровых сигналов, цифровых кодов, последовательности цифровых кодов. В данной системе, как в любой цифровой системе, входные аналоговые сигналы преобразуют в последовательности кодов с помощью аналогово-цифровых преобразователей (АЦП), а выходные аналоговые сигналы формируют из последовательности кодов с помощью цифровых аналоговых преобразователей (ЦАП). Обрабатывается и хранится информация в цифровом виде.
Ты эксперт в этой предметной области? Предлагаем стать автором Справочника Условия работы
Типовые структуры микропроцессорных систем.
Тип структуры МС определяют состав и организацию памяти и подсистемы ввода/вывода (ВВ).
В памяти можно выделить:
● постоянные запоминающие устройства (ПЗУ), используемые для хранения программ и констант;
● оперативные запоминающие устройства (ОЗУ), предназначенные для хранения переменных и загружаемого извне объектного кода (программы).
В подсистеме ВВ можно выделить ряд законченных функциональных модулей:
● порты — простейшие модули в виде адресуемых центральным процессором (ЦП) буферных схем и регистров;
● периферийные адаптеры (ПА) — более сложные программно–управляемые модули. При использовании средств ВВ для управления внешними устройствами их называют периферийными контроллерами;
● сопроцессоры ВВ — наиболее сложные модули, работающие по собственным программам.
К основным типовым структурам МС относятся:
● магистральная структура (рис. 3.1.1, а), в которой все модули подключены к магистрали. Использование единой магистрали обеспечивает выполнение за один рабочий цикл одной операции обмена данными между двумя (в общем случае любыми) модулями системы;
● магистрально–каскадная (рис. 3.1.1, б) и магистрально–радиальная (рис. 3.1.1, в) структуры, в которых используются контроллеры шин для реализации приоритетных отношений при обращении к магистрали.
В каждый момент времени магистраль предоставляется в распоряжение одному функциональному модулю. В простейших МС роль активного модуля выполняет центральный процессор (ЦП), который организует управление магистралью. В более сложных системах магистраль распределяется между отдельными модулями в соответствии с запросами на ее захват и приоритетными соглашениями. Эта задача возлагается на арбитра системной магистрали.
Магистрали микропроцессорных систем.
Обмен информацией центрального процессора (ЦП) с памятью и подсистемой ввода–вывода (ВВ) происходит по внутрисистемной магистрали, представляющей собой единый набор шин системы. Наиболее часто используется трехшинная магистраль с раздельными шинами передачи адреса и данных. Она состоит из следующих шин (рис. 3.1.2, а):
● шины данных ШД, предназначенной для обмена данными;
● шины адреса ША, по которой передаются адреса ячеек памяти или портов при обращениях;
● шины управления ШУ, служащей для управления работой системы.
Некоторые микропроцессоры (например, микроконтроллеры МС S –51) имеют совмещенную шину адреса/данных (ША/Д). Микросистема с двухшинной магистралью приведена на рис. 3.1.2, б. В этом случае для разделения функций совмещенной шины ША/Д используется строб чтения адреса (ЧтА). При ЧтА = 1 шина ША/Д выполняет функцию передачи адреса, при ЧтА = 0 — функцию передачи данных. Фиксация адреса обычно осуществляется по срезу (переходу ЧтА из 1 в 0) в специальном адресном регистре (рис. 3.1.3, а, б).
Организация пространств памяти и ввода–вывода.
С точки зрения программиста память можно представить как упорядоченный набор 8–разрядных ячеек (рис. 3.1.4, а). Каждой ячейке памяти (байту) сопоставляется число (номер), называемое адресом ячейки. Последовательность адресов составляет целочисленный ряд от 0 до 2 m – 1, где m — разрядность адресного кода, определяемая числом линий адресной шины. Совокупность всех адресов образует адресное пространство памяти. Такое пространство и его адрес называют линейными. В рассмотренных выше 8–разрядных процессорах линейный адрес эквивалентен физическому адресу, который выставляется на адресную шину для обращения к физической памяти емкостью 216 = 64К байт.
Линейное адресное пространство обеспечивает доступ к любому байту памяти (рис. 3.1.4, б). Слова (2 байта) и двойные слова (4 байта) в линейной памяти занимают соседние байты. Порядок расположения байтов внутри слова: сначала младший ( L –байт), затем старший (Н–байт) байт слова (рис. 3.1.4, в, г). Адрес L –байта служит адресом всего слова и может быть как четным, так и нечетным (путем выбора начального адреса Ан).
В адресном пространстве памяти можно выделить три составляющих:
● CSEG ( Code Segment ) — пространство памяти команд (кода, программ);
● DSEG ( Data Segment ) — пространство памяти данных;
● RSEG ( Register Segment ) — пространство памяти программно доступных регистров.
На организацию памяти команд и данных влияет архитектура МС. В системах с гарвардской архитектурой пространства памяти команд и данных разделены. Системы с принстонской архитектурой имеют общую память и единое адресное пространство для команд и данных. Отметим, что при сегментной организации памяти реализуется отдельный доступ к сегментам команд и сегментам данных, однако сами сегменты могут располагаться по любым адресам.
Пространство RSEG может полностью изолироваться от пространства данных DSEG или частично пересекаться с ним. Совмещенное пространство RSEG имеют системы, в которых поддерживается быстрый доступ ко всей или хотя бы некоторой части памяти данных DSEG . В таких системах отдельные регистры процессора рассматриваются как обычные ячейки памяти данных.
Подсистему ввода/вывода (ВВ) можно представить в виде пространства IOSEG ( Input / Out Segment ) и правил доступа к нему. Возможно два вида пространств IOSEG :
● изолированное пространство IOSEG , которое представляется набором из n ячеек (портов), с произвольным доступом к каждой из них. Для большинства МС разрядность портов составляет 8 или 16 бит. Подобно пространству памяти пространство ВВ линейно упорядочено. Каждый элемент пространства IOSEG имеет свой адрес. Диапазон адресов зависит от числа m адресных разрядов и имеет пределы 0 и 2 m –
1. Для многих процессоров предусмотрены команды обращения к портам, например, ввода IN и вывода OUT ;
● совмещенное пространство IOSEG , для которого в пространстве памяти данных DSEG выделяются области для адресации портов. Как будет показано ниже, в этом случае используется такая же организация доступа к портам, как и к ячейкам памяти.
Организация обращения к памяти и устройствам ввода/вывода.
При 16–разрядной адресной шине ЦП пространство памяти ограничено адресами 0000…FFFFh в шестнадцатеричной ( h ) системе, что соответствует десятичным номерам ячеек памяти от 0 до 65535. Требуемый объем памяти определяется типом и числом выбранных микросхем памяти, используемых в качестве модулей памяти.
Для понимания принципов организации обращения к памяти рассмотрим пример. Будем полагать что, объем памяти МС составляет 4К байт. При этом память содержит один модуль постоянной памяти ПЗУ и 255 модулей оперативной памяти ОЗУ объемом по 256 байт каждый. Модули памяти имеют восемь адресных входов А7…..А0, вход выборки кристалла CS , входы чтения/записи и выходы данных.
Схема организации обращения к памяти для этого случая приведена на рис. 3.1.5. Для обращения к памяти необходимо задействовать 12 линий адресной шины. Для выбора ячейки в модуле памяти отведены младшие разряды адреса А7, А0. Коды младших адресных разрядов подаются на адресные входы всех модулей одновременно. Выбор требуемого k –го модуля памяти производится подачей сигнала ¯ CS = 0 низкого уровня на вход выборки кристалла. Эти сигналы формируются на выходе дешифратора DC . На входы дешифратора поступают сигналы старших разрядов адресов А11…..А7. Чтение из ПЗУ и ОЗУ и запись в ОЗУ инициируется низким уровнем сигналов ¯ЧтП и ¯ЗпП. При высоком уровне сигналов модули памяти находятся в пассивном состоянии. Это позволяет использовать адресную шину для организации обращения к устройствам ввода/вывода.
Правая часть рис. 3.1.5 иллюстрирует принцип организации обращения к внешним устройствам — устройству ввода/вывода (УВ/В), устройству ввода (УВв) и устройству вывода (УВыв). Для адресации к устройствам отведены младшие адресные разряды А7, А0. Работа устройств ввода–вывода и ввода инициируется подачей сигнала записи ¯ЗпУВВ, а устройств ввода–вывода и вывода — подачей сигнала чтения ¯ЧтУВВ. С выходов устройств снимаются 8–разрядные операнды данных и сигнал готовности Гт (возможны также сигналы ЗАПРОСА ЗАХВАТА, ЗАПРОСА ПРЕРЫВАНИЯ и др.). При 8–разрядной адресации возможно подключение 256 устройств ввода–вывода или одновременно 256 устройств ввода и 256 устройств вывода.
Общее представление о микропроцессорах
Для управления или контроля определенными процессами требуется соответствующая поддержка программного обеспечения на реальной технической базе. В этом качестве выступает одна или набор микросхем на базовых матричных кристаллах. Для практических нужд почти всегда используются модули chip-set, то есть наборы микросхем, которые связаны общей системой питания, сигналами, форматами информационной обработки и так далее. В научной интерпретации, как отмечается в теоретических основах микропроцессорной техники, такие устройства представляют собой место (основная память) для хранения операндов и команд в закодированном виде. Непосредственное управление реализуется на более высоком уровне, но также через интегральные схемы микропроцессора. Для этого используют контроллеры.
Говорить о контроллерах можно только применительно к микрокомпьютерам или микро-ЭВМ, состоящим из микропроцессоров. Собственно, это и есть рабочая техника, в принципе способная выполнять те или иные операции или команды в рамках заданного алгоритма. Как отмечается в учебнике по микропроцессорной технике Ливенцова С. Н., под микроконтроллером следует понимать компьютер, ориентированный на выполнение логических операций в рамках управления оборудованием. Он базируется на тех же схемах, но с ограниченным вычислительным ресурсом. Задача микроконтроллера в большей степени заключается в реализации ответственных, но простых процедур без сложных схем. Впрочем, технологически примитивными такие устройства тоже нельзя назвать, так как на современных производствах микроконтроллеры могут одновременно управлять сотнями и даже тысячами операций одновременно, учитывая и косвенные параметры их выполнения. В целом логическая структура микроконтроллера проектируется с расчетом на мощность, универсальность и надежность.
Циклы обращения к магистрали.
При обмене данными между центральным процессором (ЦП) и памятью или подсистемой ввода/вывода (ВВ) за один цикл обращения к магистрали передается одно слово или байт. Существуют несколько типовых циклов обмена:
● циклы чтения памяти и записи в память;
● циклы чтения и записи в устройства (порты) ВВ (при изолированном пространстве ВВ IOSEG);
● цикл чтения памяти программ (для архитектуры гарвардского типа);
● цикл чтения–записи в память (для двухшинной магистрали). Этот цикл, требующий однократной передачи адреса, используется для увеличения пропускной способности магистрали.
Для управления циклами используются различные наборы сигналов (команд), передаваемых по шине управления ШУ. Сигналы представляют собой импульсы прямоугольной формы и называются стробами. Ниже в качестве примера приведено два возможных набора.
1 –й набор¯ЧтП чтение памяти (Memory Read Command — MRDC);
¯ЧтП запись в память (Memory Write Command — MWTC);
¯ЧтУВВ чтение из устройства ВВ Input/Output Read Command — IORC);
¯ЗпУВВ запись в устройство ВВ (Input/Output Write Command — IOWC);
ЧтПП чтение программной памяти (Program Segment Enable — PSEN).
2–й набор ¯Чт чтение RD ( Read );
¯Зп запись WR ( Write );
П/¯УВВ выбор пространства памяти или ВВ ( Memory or Input / Output — М/ IO );
ВПП выбор памяти программ ( Code — COD ).
Следует отметить, что с помощью логических схем второй набор можно преобразовать в первый. Возможно комбинированное использование обоих наборов.
Временные диаграммы циклов обращения к трехшинной и двухшинной магистралям изображены на рис. 3.1.6, а, б.
Для разделения функций совмещенной ША/Д двухшинной магистрали используется строб чтения адреса (ЧтА). Фиксация адреса осуществляется по срезу (переходу ЧтА из 1 в 0) в специальном адресном регистре (рис. 3.1.3, а).
На приведенных временных диаграммах:
● в цикле чтения:
• адрес выставляется раньше, а снимается позже строба чтения ¯Чт;
• данные выставляются и снимаются с задержкой относительно строба чтения ¯Чт;
• фиксация данных осуществляется по заднему фронту строба чтения ¯Чт;
● в цикле записи:
• адрес и данные выставляется раньше, а снимается позже строба записи ¯Зп;
• данные истинны в течение действия всего строба записи или фиксируются по заднему фронту строба записи ¯ЗпЗФ (для БИС с динамическим входом синхронизации).
Строб ЗпЗФ улучшает скоростные характеристики магистрали.
Рассмотренные циклы обращения к магистрали могут быть реализованы при обмене микропроцессора с высокоскоростными периферийными устройствами ПУ, такими, например, как память. Для организации надежного обмена с низкоскоростными внешними устройствами вводится дополнительная линия управления, по которой передается сигнал подтверждения обмена (ПОб) или готовности (Гт).
При классической организации обмена (рис. 3.1.7) внешнее устройство, находящееся в состоянии обмена, выдает сигнал ПОб = 1, в противном случае — ПОб = 0. В каждом цикле обращения до окончания строба чтения/записи ( ¯Чт = 0 или ¯ЗпЗФ = 0) ЦП проверяет (по срезу тактовых импульсов ТИ) состояние сигнала ПОб. Если проверка показывает ПОб = 0, ЦП переходит в состояние ожидания подтверждения, генерируя сигнал ОжП = 1. После того, как установится сигнал подтверждения обмена и очередная проверка покажет ПОб = 1, ЦП снимает сигналы ожидания подтверждения (ОжП = 0) и чтения/записи ( ¯Чт / ¯ЗпЗФ =1). Данные фиксируются по срезу (из 0 в 1) сигналов чтения/записи. Завершение обмена внешнее устройство подтверждает сбросом сигнала подтверждения обмена (ПОб).
Внутри МС возможны события, требующие немедленного прерывания основной программы и перехода к обслуживанию другой программы, называемой подпрограммой. Реакция ЦП на эти события завершается возвратом к основной программе. Моменты возникновения таких событий не известны, поэтому не могут быть учтены при составлении основной программы. Процесс их обслуживания должен выполняться параллельно и скрытно от основной программы. Каждому прерыванию (исключению) программы предшествует радиальный сигнал запроса прерывания (ЗПр k ), который генерируется внешним устройством (или ЦП) и вызывает подпрограмму обслуживания прерывания. Аппаратные и программные средства, обеспечивающие организацию и обслуживание прерываний, образуют систему прерываний. В том случае, когда событие вызывается внешним устройством, ЦП получает сигнал векторного запроса, свидетельствующий о появлении одного или нескольких радиальных запросов ЗПр k , и переходит к выполнению специального машинного цикла — цикла ввода вектора прерывания. В этом цикле вводится информация, связанная с номером к радиального запроса, и осуществляется переход к соответствующей подпрограмме обслуживания. Цикл ввода вектора прерывания отличается от цикла ввода данных тем, что используется строб подтверждения прерывания (ППр) вместо строба чтения устройства ввода/ вывода (ЧтУВВ). При обслуживании прерываний основная программа взаимодействует с подпрограммой через размещаемые в памяти структуры данных — области взаимодействия, считывая и модифицируя данные в этих областях.
Внешние интерфейсы
Микропроцессор крайне редко рассматривается как изолированная система для выполнения односложных команд в статичном формате. Встречаются устройства, обрабатывающие один сигнал по заданной схеме, но чаще всего микропроцессорная техника работает с большим количеством коммуникационных связей от источников, которые и сами не являются линейными в плане обрабатываемых команд. Для организации взаимодействия со сторонней аппаратурой и источниками данных предусматриваются специальные форматы соединения – интерфейсы. Но для начала следует определить, с чем именно выполняется коммуникация. Как правило, в этом качестве выступают управляемые устройства, то есть на них от микропроцессора подается команда, а в режиме обратной связи могут поступать данные о статусе исполнительного органа.
Что касается внешних интерфейсов, то они служат не просто для возможности взаимодействия определенного исполнительного механизма, но и для его интеграции в структуру управляющего комплекса. Применительно к сложной компьютерной и микропроцессорной технике это может быть целая совокупность аппаратно-программных средств, тесно связанных с контроллером. Более того, микроконтроллеры зачастую и объединяют в себе функции обработки и подачи команд с задачами обеспечения коммуникации между микропроцессорами и внешними устройствами.
Буферизация шин данных и адреса.
Токи, потребляемые устройствами памяти и ввода/вывода по цепям шин данных и адреса значительно превышают допустимые значения токов для микросхем процессоров. Поэтому указанные устройства подключают к шинам данных и адреса микропроцессора через буферы, представляющие собой усилители импульсов. В буферах часто используются элементы с тремя состояниями выхода, два обычных состояния соответствуют высокому и низкому уровням выхода, а третье состояние Z — высокоомному выходному сопротивлению элемента. В состоянии Z элемент практически оказывается отключенным от нагрузки.
Элемент с Z –состоянием можно реализовать, например, путем введения в стандартную схему ТТЛ–инвертора полупроводникового диода VD 2 (рис. 3.1.8, а). Если на управляющем входе Z = 0, то потенциал коллектора (а также эмиттера) транзистора VT 2 близок к нулю и поэтому выходные транзисторы VT З, VT 4 находятся в режиме отсечки, т. е. в разомкнутом состоянии. При Z = 1 диод VD 2 отключен, и ТТЛ–инвертор с входом X и выходом Y работает в обычном режиме. Подключением к входу X инвертора получают повторитель с тремя состояниями выхода. На рис. 3.1.8, б, в приведены графические обозначения повторителя и инвертора с тремя состояниями выхода.
Для построения буферов шин данных и адреса можно использовать шинные формирователи позволяющие осуществить управляемую двунаправленную передачу 8–разрядных слов. На рис. 3.1.8, г приведена схема, иллюстрирующая принцип построения шинного формирователя, используемого в 8–разрядных процессорах. В k –ю цепь передачи формирователя (k = 0, …, 7) включены два повторителя П1, П2 с тремя возможными состояниями выхода. Управление состояниями повторителей осуществляется с помощью логических элементов ЛЭ1, ЛЭ2. Режимы работы формирователя приведены в табл. 3.1.1.
Как видно из табл. 3.1.1, сигнал выборки кристалла ¯ВК = 0 активизирует передачу информации через повторители, при этом сигнал Т определяет номер активного (включенного) повторителя П1 или П2. При ¯ВК = 1 передача информации отсутствует, при этом значение сигнала Т безразлично. Этот факт отмечен в таблице символом Ф (0 или 1). Выходы Yk имеют большую нагрузочную способность, чем входы Xk , так как к ним подключаются устройства памяти и ввода–вывода. При построении устройств на основе 8–разрядных микропроцессоров в качестве буфера шины данных используется непосредственно шинный формирователь, а буфер шины адреса (16 линий) составляется из двух таких формирователей соединением выводов ¯ВК и Т.
Производители устройств
У истоков создания микропроцессорных устройств стояли инженеры компании Intel, выпустившие целую линейку 8-разрядных микроконтроллеров на платформе MCS-51, которые в некоторых сферах применяются и сегодня. Также многие другие изготовители использовали семейство x51 для собственных проектов уже в рамках развития новых поколений электроники и микропроцессорной техники, в числе представителей которой значатся и отечественные разработки наподобие однокристальной ЭВМ К1816ВЕ51.
Выйдя в сегмент более сложных процессоров, фирма Intel уступила место микроконтроллеров другим компаниям, в числе которых оказались Analog Device и Atmel. Принципиально новый взгляд на архитектуру микропроцессоров предлагают фирмы Zilog, Microchip, NEC и др. На сегодняшний день в контексте развития микропроцессорной техники можно рассматривать линейки x51, AVR и PIC как наиболее успешные. Если же говорить о тенденциях разработки, то в наши дни на первое место выходят требования к расширению спектра задач внутреннего управления, компактности и низкому энергопотреблению. Иными словами, микроконтроллеры становятся меньше и рациональнее с точки зрения обслуживания, но при этом наращивают мощностный потенциал.