Организация микропроцессорных систем: структуры, магистрали, обращение к памяти

Микропроцессорная система (МПС) представляет собой систему, включающую в себя хотя бы 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 как наиболее успешные. Если же говорить о тенденциях разработки, то в наши дни на первое место выходят требования к расширению спектра задач внутреннего управления, компактности и низкому энергопотреблению. Иными словами, микроконтроллеры становятся меньше и рациональнее с точки зрения обслуживания, но при этом наращивают мощностный потенциал.

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]