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

33893 html m1ca23b9d Под организацией микропроцессорной системы (МС) понимают совокупность устройств, связи между ними и их функциональные характеристики. Рас­смотрим организацию МС на логическом уровне, или структурно–функциональ­ную организацию.

Типовые структуры микропроцессорных систем.

Тип структуры МС опре­деляют состав и организацию памяти и подсистемы ввода/вывода (ВВ).

В памяти можно выделить:

? постоянные запоминающие устройства (ПЗУ), используемые для хранения программ и констант;

? оперативные запоминающие устройства (ОЗУ), предназначенные для хране­ния переменных и загружаемого извне объектного кода (программы).

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

? порты — простейшие модули в виде адресуемых центральным процессором (ЦП) буферных схем и регистров;

? периферийные адаптеры (ПА) — более сложные программно–управляемые модули. При использовании средств ВВ для управления внешними устройст­вами их называют периферийными контроллерами;

? сопроцессоры ВВ — наиболее сложные модули, работающие по собственным программам.

рис. 3.1.1 К основным типовым структурам МС относятся:

? магистральная структура (рис. 3.1.1, а), в которой все модули подключены к магистрали. Использование единой магистрали обеспечивает выполнение за один рабочий цикл одной операции обмена данными между двумя (в об­щем случае любыми) модулями системы;

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

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

Магистрали микропроцессорных систем.

Обмен информацией централь­ного процессора (ЦП) с памятью и подсистемой ввода–вывода (ВВ) происходит по внутрисистемной магистрали, представляющей собой единый набор шин си­стемы. Наиболее часто используется трехшинная магистраль с раздельными ши­нами передачи адреса и данных. Она состоит из следующих шин (рис. 3.1.2, а):

? шины данных ШД, предназначенной для обмена данными;

? шины адреса ША, по которой передаются адреса ячеек памяти или портов при обращениях;

? шины управления ШУ, служащей для управления работой системы. рис. 3.1.2

Некоторые микропроцессоры (например, микроконтроллеры МС S –51) имеют совмещенную шину адреса/данных (ША/Д). Микросистема с двухшинной магист­ралью приведена на рис. 3.1.2, б. В этом случае для разделения функций совмещенной шины ША/Д используется строб чтения адреса (ЧтА). При ЧтА = 1 шина ША/Д выполняет функцию передачи адреса, при ЧтА = 0 — функцию передачи данных. Фиксация адреса обычно осуществляется по срезу (переходу ЧтА из 1 в 0) в специальном адресном регистре (рис. 3.1.3, а, б). рис. 3.1.3

Организация пространств памяти и ввода–вывода.

С точки зрения програм­миста память можно представить как упорядоченный набор 8–разрядных ячеек (рис. 3.1.4, а). Каждой ячейке памяти (байту) сопоставляется число (номер), назы­ваемое адресом ячейки. Последовательность адресов составляет целочисленный ряд от 0 до 2 m – 1, где m — разрядность адресного кода, определяемая числом линий адресной шины. Совокупность всех адресов образует адресное простран­ство памяти. Такое пространство и его адрес называют линейными. В рассмот­ренных выше 8–разрядных процессорах линейный адрес эквивалентен физиче­скому адресу, который выставляется на адресную шину для обращения к физи­ческой памяти емкостью 216 = 64К байт. рис. 3.1.4

Линейное адресное пространство обеспечивает доступ к любому байту памя­ти (рис. 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 и 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

Правая часть рис. 3.1.5 иллюстрирует принцип организации обращения к внеш­ним устройствам — устройству ввода/вывода (УВ/В), устройству ввода (УВв) и устройству вывода (УВыв). Для адресации к устройствам отведены младшие адресные разряды А7, А0. Работа устройств ввода–вывода и ввода иницииру­ется подачей сигнала записи ?ЗпУВВ, а устройств ввода–вывода и вывода — подачей сигнала чтения ?ЧтУВВ. С выходов устройств снимаются 8–разрядные операнды данных и сигнал готовности Гт (возможны также сигналы ЗАПРОСА ЗАХВАТА, ЗАПРОСА ПРЕРЫВАНИЯ и др.). При 8–разрядной адресации возможно подключение 256 устройств ввода–вывода или одновременно 256 устройств вво­да и 256 устройств вывода.

Циклы обращения к магистрали.

При обмене данными между центральным процессором (ЦП) и памятью или подсистемой ввода/вывода (ВВ) за один цикл обращения к магистрали передается одно слово или байт. Существуют несколько типовых циклов обмена:

? циклы чтения памяти и записи в память;

? циклы чтения и записи в устройства (порты) ВВ (при изолированном про­странстве ВВ 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

Временные диаграммы циклов обращения к трехшинной и двухшинной маги­стралям изображены на рис. 3.1.6, а, б.

Для разделения функций совмещенной ША/Д двухшинной магистрали исполь­зуется строб чтения адреса (ЧтА). Фиксация адреса осуществляется по срезу (пе­реходу ЧтА из 1 в 0) в специальном адресном регистре (рис. 3.1.3, а).

На приведенных временных диаграммах:

? в цикле чтения:

• адрес выставляется раньше, а снимается позже строба чтения ?Чт;

• данные выставляются и снимаются с задержкой относительно строба чте­ния ?Чт;

• фиксация данных осуществляется по заднему фронту строба чтения ?Чт;

? в цикле записи:

• адрес и данные выставляется раньше, а снимается позже строба записи ?Зп;

• данные истинны в течение действия всего строба записи или фиксиру­ются по заднему фронту строба записи ?ЗпЗФ (для БИС с динамическим входом синхронизации).

Строб ЗпЗФ улучшает скоростные характеристики магистрали.

Рассмотренные циклы обращения к магистрали могут быть реализованы при обмене микропроцессора с высокоскоростными периферийными устройст­вами ПУ, такими, например, как память. Для организации надежного обмена с низкоскоростными внешними устройствами вводится дополнительная линия уп­равления, по которой передается сигнал подтверждения обмена (ПОб) или готов­ности (Гт). рис. 3.1.7

При классической организации обмена (рис. 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, б, в приведены графические обозначения повторителя и инвертора с тремя состояниями выхода. рис. 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 линий) составляется из двух таких формирователей со­единением выводов ?ВК и Т. табл. 3.1.1

Общие сведения об интерфейсе.

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

Как уже отмечалось выше, в систему шин входят шина данных (ШД), шина ад­ресов (ША) и шина управления (ШУ).

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

? передавать на шину управления сигналы готовности ВУ к обмену данными с МС;

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

? выбирать требуемое внешнее устройство при работе МС с несколькими ВУ и дешифрировать их адреса, посылаемые микропроцессором;

? дешифрировать коды и инициировать выполнение команд при работе с таки­ми внешними устройствами, которые помимо передачи данных выполняют другие операции;

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

? управлять процессом передачи данных и преобразовывать их форматы;

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

Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: