ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ

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

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

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

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

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

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

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

Классическая структура связей

Рис. 5.1. Классическая структура связей

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

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

Шинная структура связей

Рис. 5.2. Шинная структура связей

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

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

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

В системах с шинной структурой связей применяют все три существующие разновидности выходных каскадов цифровых микросхем:

  • • стандартный выход или выход с двумя состояниями (обозначается 2С, 25, реже - ТТЛ, ТУТ);
  • • выход с открытым коллектором (обозначается О К, ОС)
  • • выход с тремя состояниями или (что то же самое) с возможностью отключения (обозначается 3С, 35).

Упрощенно эти три типа выходных каскадов могут быть представлены в виде схем на рис. 5.3. [1]

"сс|

Выход 2С

т

Выход ЗС

Выход ОК

1

1

1

Е1 .

Рис. 5.3. Три типа выходов цифровых микросхем

о

$

$

Вых.

Вых.

Вых.

Вх.

zzrz

Рис. 5.4. Мультиплексированная линия

$

$

$

Вх. Вых.

Вх. Вых.

Вых.

Вх.

-L-L

_Цд

{-

?

п

Рис. 5.5. Двунаправленная линия

ные выходы находились бы в это время в третьем состоянии, иначе возможны конфликты. Объединенные выходы ОК могут работать все одновременно, без всяких конфликтов.

Типичная структура микропроцессорной системы приведена на рис. 5.6. Она включает в себя три основных типа устройств:

  • • процессор;
  • • память, включающую оперативную память (ОЗУ, RAM — Random Access Memory) и постоянную память (ПЗУ, ROM — Read Only Memory), которая служит для хранения данных и программ;
  • • устройства ввода/вывода (У В В, I/O — Input/Output Devices), служащие для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов.

Выходные

сигналы

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

  • • шину адреса (Address Bus);
  • • шину данных (Data Bus);
  • • шину управления (Control Bus);
  • • шину питания (Power Bus).

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

Шина данных всегда двунаправленная, так как предполагает передачу информации в обоих направлениях. Наиболее часто встречающийся тип выходного каскада для линий этой шины — выход с тремя состояниями.

Обычно шина данных имеет 8, 16, 32 или 64 разряда. Понятно, что за один цикл обмена по 64-разрядной шине может передаваться 8 байт информации, а по 8-разрядной — только один байт. Разрядность шины данных определяет и разрядность всей магистрали. Например, когда говорят о 32-разрядной системной магистрали, подразумевается, что она имеет 32-разрядную шину данных.

Шина адреса — вторая по важности шина, которая определяет максимально возможную сложность микропроцессорной системы, т.е. допустимый объем памяти и, следовательно, максимально возможный размер программы и максимально возможный объем запоминаемых данных. Количество адресов, обеспечиваемых шиной адреса, определяется как 2N, где N — количество разрядов. Например, 16-разрядная шина адреса обеспечивает 65536 адресов. Разрядность шины адреса обычно кратна четырем и может достигать 32 и даже 64. Шина адреса может быть однонаправленной (когда магистралью всегда управляет только процессор) или двунаправленной (когда процессор может временно передавать управление магистралью другому устройству, например контроллеру ПДП). Наиболее часто используются типы выходных каскадов с тремя состояниями или обычные ТТЛ (с двумя состояниями).

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

При отрицательной логике — наоборот. В большинстве случаев уровни сигналов на шинах — ТТЛ.

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

адреса/данных -С Адрес ^Данные^—

адреса ~Ч Адрес )~ данных —( Данные )—

^мультиплексированные шины Мультиплексированная шина

Рис. 5.7. Мультиплексирование шин адреса и данных

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

Шина управления — это вспомогательная шина, управляющие сигналы на которой определяют тип текущего цикла и фиксируют моменты времени, соответствующие разным частям или стадиям цикла. Кроме того, управляющие сигналы обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave). Управляющие сигналы также обслуживают запрос и предоставление прерываний, запрос и предоставление прямого доступа.

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

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

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

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

  • 1) при синхронном обмене процессор заканчивает обмен данными самостоятельно, через раз и навсегда установленный временной интервал выдержки (?выд), т.е. без учета интересов устройства-исполнителя;
  • 2) при асинхронном обмене процессор заканчивает обмен только тогда, когда устройство-исполнитель подтверждает выполнение операции специальным сигналом (так называемый режим handshake — рукопожатие).

Асинхронный обмен б)

Строб

Строб

обмена

Синхронный обмен о)

обмена

Подтв.

Рис. 5.8. Синхронный (а) обмен и асинхронный (б) обмен

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

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

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

По используемому типу обмена магистрали микропроцессорных систем также делятся на синхронные и асинхронные.

Рассмотрим структурную схему подключения микропроцессорных устройств к системной шине простейшего микропроцессорного устройства (рис. 5.9).

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

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

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

ША

ШД

ШУ

Рис. 5.9. Структурная схема подключения микропроцессорных устройств к системной шине

прямого доступа к памяти или сопроцессор). Арбитраж доступа к системной шине при этом осуществляет контроллер системной шины (в простейшем случае достаточно сигнала занятости шины).

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

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

  • [1] выхода 2Сдва ключа замыкаются по очереди, что соответствует уровням логической единицы (верхний ключ замкнут) и логического нуля (нижний ключ замкнут). У выхода ОК замкнутый ключ формирует уровень логического нуля, разомкнутый — логической единицы. У выхода 3С ключи могут замыкаться по очереди (как в случае 2С), а могут размыкаться одновременно, образуя третье, высокоимпе-дансное состояние. Переход в третье состояние ^-состояние) управляется сигналом на специальном входе ?У. Выходные каскады типов ЗС и О К позволяют объединять несколько выходов микросхем для получения мультиплексированных (рис. 5.4) или двунаправленных (рис. 5.5) линий. При этом в случае выходов ЗС необходимо обеспечить, чтобы на линии всегда работал только один активный выход, а все осталь-
 
< Пред   СОДЕРЖАНИЕ     След >