Организация микропроцессорных систем


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 и 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

Правая часть рис. 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: :???: :?: :!: