Базовые интегральные логические элементы — мегаобучалка
Элементной базой, используемой при построении КЦУ, являются интегральные логические элементы (ИЛЭ). В настоящее время выпускается широкая номенклатура ИЛЭ в составе различных серий интегральных микросхем на основе биполярных и полевых транзисторов.
При построении КЦУ с заданными характеристиками выбор необходимых ИЛЭ производится в соответствии с определенным набором их параметров. Рассмотрим важнейшие из них.
Коэффициент разветвления по входу Краз — определяет число входов однотипных ИЛЭ, которые одновременно могут быть подключены к выходу данного логического элемента при сохранении его работоспособности в заданных условиях эксплуатации. Для различных элементов Краз составляет от нескольких единиц до нескольких десятков.
Коэффициент объединения по входу Коб — определяет число входных сигналов логического элемента, которые участвуют в формировании заданной логической функции.
Статические характеристики: входная, определяющая зависимость входного тока от входного напряжения; выходная, задающая связь между выходными напряжениями и током; передаточная, которая определяет зависимость выходного напряжения от входного.
Временные (динамические) параметры. От них зависит быстродействие логического элемента. Чаще всего оценивается время перехода элемента из состояния единицы в состояние нуля t1.,0 и перехода в обратное состояние t0,1. Указанные временные интервалы измеряются на уровнях 0,1¸0,9 от установившихся значений в цепочке из однотипных элементов. Другим важнейшим параметром, определяющим быстродействие, являются время задержки распространения сигнала при включении t1,0здри выключении t0,1здр логического элемента (рис 5.2.1.)
Рис. 5.2.1. Задержка распространения сигнала
Измеряется на выходе по отношению ко входу на уровнях 0,5 от установившихся значений. Во многих случаях удобно пользоваться средним временем задержки распространения сигнала tздр. ср, оцениваемым полусуммой t1,0здр и t0,1здр.
Вид реализуемой логической функции. Используется широкий набор ИЛЭ: И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ. Перед обозначением логического элемента обычно указывается число его входов, по которым реализуется соответствующая логическая функция (т.е. коэффициент объединения по входу). В одной интегральной микросхеме может быть несколько логических элементов, поэтому для сокращения обозначения состава микросхемы перед помещенным в круглые скобки наименованием элемента иногда указывают число этих элементов в одном корпусе микросхемы. Например, обозначению 4(2И-НЕ) соответствует интегральной микросхеме, в состав которой входят четыре логических элементов И-НЕ с двумя входами каждый.
Основные электрические характеристики ИС различных серий приведены в таблице 5.1.
Как видно из табл.5.1, наиболее высоким быстродействием обладают микросхемы эмиттерно-связанной логики (ЭСЛ). На ЭСЛ-элементах строятся наиболее быстродействующие цифровые вычислительные машины (старшие модели ЭВМ построены на ЭСЛ-элементах). ТТЛ-схемы относятся к микросхемам среднего быстродействия. На указанных микросхемах строятся младшие модели ЕС ЭВМ. Особыми свойствами обладают микросхемы, выполненные по К-МОП технологии — исключительно малое потребление энергии и малая чувствительность к изменениям питающих напряжений. Особенно удобно на К-МОП элементах строить электронные часы и оперативную память ЭВМ.
Кроме элементов, реализующих логическую операцию “штрих Шеффера” в состав большинства серий микросхем входят также логические элементы, реализующие логические операции: конъюнкцию (элементы “И”), дизъюнкцию (элементы “ИЛИ”) инверсию (элемент “НЕ”), и другие более сложные логические операции.
На рис. 5.2.2. представлены условные изображения наиболее распространенных логических элементов.

а) элемент “И” в) элемент “ИЛИ”

б) элемент “И-НЕ” г) элемент ”ИЛИ-НЕ”

д) элемент “НЕ” е) элемент “2И-ИЛИ”

ж) элемент “2И-ИЛИ-НЕ” з) элемент “2И-ИЛИ-НЕ” с инверсией по Х3
Рис. 5.2.2. Условные обозначения логических элементов.
5.3. Синтез КЦУ
В процессе проектирования любого устройства приходится выполнять ряд действий, которые могут быть отнесены к задачам синтеза.
Синтез КЦУ предусматривает построение структурной схемы устройства, т.е. определение состава необходимых логических элементов и соединений между ними, при которых обеспечивается преобразование входных цифровых сигналов в выходные в соответствии с заданными условиями работы устройства. В процессе синтеза обычно подразумевается необходимость минимизации аппаратных затрат на реализацию устройства. Рассмотрим первоначально синтез КЦУ с одним выходом. Последовательность синтеза целесообразно разбить на ряд этапов.
ЭТАП 1. Запись условий функционирования КЦУ. Как уже отмечалось ранее, эти условия могут быть заданы словесно, с помощью таблиц истинности или булевых выражений.
ЭТАП 2. Запись и минимизация булева выражения. Обычно производится на основе таблиц истинности. Если условия на этапе 1 заданы словесно, то на их основе предварительно составляется таблица истинности. Если булево выражение уже имеется на этапе 1, то выполняется его минимизация. В процессе минимизации широко используются преобразования с помощью соотношений булевой алгебры, а также алгебраические и графические методы.
ЭТАП 3. Запись минимизированной структурной формулы в заданном базисе. Так как реализация КЦУ на ИС предусматривает широкое использование элементов И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ, то часто возникает необходимость соответствующих преобразований структурных формул с учетом заданной элементной базы.
ЭТАП 4. Составление структурной схемы, т.е. изображение нужных логических элементов и связей между ними.
Проиллюстрируем этапы синтеза КЦУ примером.
Пример. Синтезировать на элементах И-НЕ КЦУ на три входа, выходной сигнал которого совпадает с большинством входных сигналов (мажоритарный элемент). Это словесное описание условий функционирования требуемого КЦУ. Ему соответствует таблица истинности (табл. 5.2.).
Таблица 5.2. Таблица истинности мажоритарного элемента
Структурная формула в СДНФ имеет вид

После выполнения тождественных преобразований получим
. (5.1.)
Для перехода к заданному базису поставим два знака инверсии над правой частью формулы (5.1.) и применим к ней правило де Моргана. В результате получим структурную формулу в следующем виде:
(5.2.)
Структурная схема синтезированного на основе заданных условий КЦУ, соответствующего формуле (5.2.), приведена на рис. 5.3.1.

Рис. 5.3.1. Схема мажоритарного элемента
Для его реализации требуется три двухвходовых логических элемента И-НЕ и один трехвходовый с суммарным числом входов 9.
На практике широко применяются КЦУ, имеющие несколько выходов. В наиболее общем виде можно рассматривать КЦУ как устройство, обеспечивающее преобразование m-разрядного входного кода в n-разрядный выходной, т.е. считать его кодопреобразователем. При проектировании таких устройств можно воспользоваться рассмотренным ранее аппаратом синтеза, если представить устройство в виде совокупности соответствующего числа КЦУ с общими входами. Этот подход будет применен далее при рассмотрении КЦУ, используемых в качестве структур цифровой техники.
Контрольные вопросы
1. Дайте определение КЦУ, определите классы цифровых устройств.
2. Перечислите параметры КЦУ. Дайте их определения.
3. Перечислите этапы синтеза КЦУ.
Глава 6
Типовые КЦУ
Дешифраторы
При построении сложных устройств широко применяются не только отдельные логические элементы, реализующие элементарные булевы функции, но и их комбинации в виде типовых структур, выполняемых как единое целое в виде интегральных микросхем. На входы таких структур могут подаваться информационные логические сигналы и сигналы управления. Последние могут определять, например, порядок передачи информационных входных сигналов на выход или играть роль сигналов синхронизации. Во многих случаях, особенно при использовании в устройствах выходных цепей с тремя состояниями, в качестве сигналов синхронизации выступают сигналы “Выбор микросхемы” (СS). Наличие активного значения такого сигнала управления (в одних микросхемах это логический нуль, в других — логическая единица) разрешает устройству выполнение заданных функций, отсутствие его переводит схему в “невыбранное” состояние, при котором она выполняет обработку информации, а ее выходы отключены от нагрузки.
Дешифратором (декодером) называется КЦУ с несколькими входами и выходами, у которого каждой комбинации входных сигналов соответствует активное значение только одного определенного выходного сигнала. Полный дешифратор с m входами имеет 2m выходов.
Таблица истинности трехвходового полного дешифратора с единичными активными значениями выходных сигналов Y представлена в табл. 6.1.
Таблица 6.1. Таблица истинности трехвходового полного дешифратора
| X3 | X2 | X1 | Y0 | Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 |
На практике часто используют неполные дешифраторы, предусматривающие декодирование только отдельных комбинаций входных сигналов.
Если задачу синтеза соответствующего КЦУ с тремя входами и восемью выходами рассматривать как синтез восьми трехвходовых КЦУ, то для каждой из булевых функций Y можно записать структурную формулу


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


Рис. 6.1.1. Обозначение типового дешифратора
В интегральном исполнении выпускаются различные структуры дешифраторов, в которых используется 2, 3, 4 входа. В одном корпусе может быть несколько дешифраторов.
Для увеличения функциональных возможностей устройств часто предусматривается использование нескольких сигналов управления и схем дешифрации. Вариант реализации такого дешифратора показан на рис. 6.1.1.б. На выходах двух дешифраторов формируются сигналы в соответствии с комбинациями входных сигналов X1, X2. Синхронизация процесса формирования выходных сигналов для каждого дешифратора задается комбинациями управляющих сигналов V. Для верхнего дешифратора разрешает формирование выходных сигналов комбинация
, для нижнего
. При отсутствии разрешающих комбинаций на каждом выходе Y устанавливается единичное значение сигнала. Введение такого управления расширяет возможности микросхемы при построении более сложных устройств, например, дешифраторов с увеличенным числом входов и выходов.
Шифраторы
Шифраторы – это устройства, которые выполняют задачи, обратные дешифрации. С их помощью активным значениям определенных входных сигналов можно поставить в соответствие заданные выходные коды (комбинации выходных сигналов). Таблица истинности одного из вариантов восьмивходового полного шифратора с нулевыми активными значениями входных сигналов представлена в таблице 6.2.
Таблица 6.2. Таблица истинности восьмивходового полного шифратора
| X7 | X6 | X5 | X4 | X3 | X2 | X1 | X0 | Y3 | Y2 | Y1 |
На основе таблицы можно записать соответствующие структурные формулы для Y3, Y2, Y1, а затем выполнить необходимые действия по их упрощению. Но в данном случае можно воспользоваться особенностью входных переменных, которые в интересующих нас комбинациях только в одном разряде имеют нулевое значение. Это позволяет, не прибегая к достаточно громоздкой в случае восьми входных переменных записи структурных формул в общем виде и их преобразований, представить значения входных переменных следующим образом:

Реализация рассматриваемого шифратора потребует трех ЛЭ 4И-НЕ. На практике может возникнуть необходимость построения и других вариантов шифраторов, например, использующих большое число разрядов входного сигнала.
Мультиплексоры
Мультиплексоры это устройства, которые обеспечивают коммутацию на выходе одного из нескольких информационных входных сигналов в соответствии с заданным кодом на управляющих входах. Условное графическое изображение одного из вариантов мультиплексора представлено на рис. 6.3.1. В зависимости от комбинации сигналов управления X1, X2, X3 он обеспечивает коммутацию одного из восьми информационных входных сигналов Di на выход Y. Сигнал синхронизации V в данном случае имеет нулевое активное значение, разрешающее передачу информации с одного из входов на выход.

Рис. 6.3.1. Обозначение мультиплексора на восемь входов с сигналом синхронизации.
Структурная формула, определяющая функционирование рассматриваемого восьмивходового мультиплексора, имеет вид:

Мультиплексор можно реализовать с помощью ЛЭ заданного базиса. В его структуру можно ввести и более сложные цифровые устройства. Сопоставляя формулы (6.1.) и (6.2.), можно заметить, что для каждого входа D комбинации сигналов управления X1X2X3 в мультиплексоре такие же, как и в дешифраторе. Следовательно, составной частью мультиплексора с четырьмя информационными входами D является схема дешифратора, приведенная на рис. 6.3.2.

Рис. 6.3.2. Блок-схема синхронного мультиплексора на четыре входа
Сумматоры
Сумматоры представляют собой цифровые устройства для сложения чисел. Рассмотрим сложение двух целых двоичных чисел без знаков А и В с формированием их суммы S:
А = 0 1 0 1 1
В = 0 0 0 1 1
S = 0 1 1 1 0
Из примера следует, что при формировании результата в любом i-ом разряде необходимо учесть значение чисел в этом разряде ai и bi, а так же перенос в этот разряд из предыдущего разряда Pi. Формируются значение суммы в этом разряде Si и перенос в следующий разряд Pi 1. Сумматор может быть построен в виде комбинационного устройства, содержащего схемы для сложения отдельных разрядов (одноразрядные двоичные сумматоры). Условия функционирования одноразрядного сумматора определяются в таблице 6.3:
Таблица 6.3. Условия функционирования одноразрядного сумматора
Булевы функции, описывающие работу одноразрядного двоичного сумматора, можно записать в виде (СДНФ):
(6.4.)
Используя различные варианты преобразования этих функций, можно реализовать большое число структур одноразрядных двоичных сумматоров. В качестве примера рассмотрим один из возможных вариантов построения сумматора на элементах И-НЕ. Выполним преобразование функции Si:

Обозначим 
Тогда 
Перейдем с помощью формулы де Моргана к базису Шеффера:
(6.7.)
где
. (6.8.)
Преобразование функции pi 1 на основе склеивания и последующего использования формулы де Моргана дает:

Структурная схема одноразрядного двоичного сумматора, соответствующая полученным в результате преобразования булевым выражениям, приведена на рис. 6.4.1.
Рис. 6.4.1. Схема одноразрядного логического сумматора
При построении КЦУ с несколькими выходами во многих случаях для уменьшения числа ЛЭ целесообразно использовать общие конструкции структурных формул. В данном примере
применяется как в булевой формуле для Si, так и в формуле для Pi 1.
Условное графическое обозначение одноразрядного двоичного сумматора приведено на рис. 6.4.2.

Рис. 6.4.2. Обозначение одноразрядного логического сумматора.
Перенос из младшего разряда здесь обозначен P0, перенос в следующий разряд P1.
Для обработки многоразрядных чисел объединяется соответствующее число одноразрядных сумматоров. При этом отдельные разряды обрабатываемых чисел А и В подаются на входы ai и bi. На вход Piподается перенос из предыдущего, более младшего разряда. Формируемый в данном разряде перенос Pi 1 передается в следующий, более старший разряд. Такая организация процесса формирования переноса, называемая последовательным переносом, снижает быстродействие многоразрядного сумматора, так как полученный результат в старшем разряде сумматора обеспечивается только после завершения распространения переноса по всем разрядам. Поэтому иногда организуется параллельный перенос. Для этого в каждом одноразрядном двоичном сумматоре дополнительно формируются два сигнала: образование переноса gi 1 и распространение переноса hi 1:
(6.9.)
Действительно, при ai=bi=1 в i-ом разряде будет иметь место формирование переноса Pi 1 в следующий разряд независимо от результата переноса из предыдущего i-ого разряда. Следовательно, можно передавать сигнал переноса для обработки старших разрядов, не дожидаясь окончания формирования переноса из младших разрядов. Однако, если хотя бы один из сигналов ai, bi равен единице, то перенос в следующий разряд будет иметь место при наличии переноса из предыдущего разряда. Поэтому можно обеспечить формирование переноса Pi 1 с использованием специальной схемы ускоренного переноса, которая обрабатывает сигналы g и h из каждого разряда по следующему правилу:
(6.10.)
Для реализации ускоренного переноса в одноразрядные двоичные сумматоры необходимо ввести дополнительные ЛЭ для формирования сигналов gi 1 и hi 1 согласно формулам (6.9.).
Контрольные вопросы
1. Каково назначение дешифратора? Напишите таблицу истинности.
2. Каково назначение шифратора? Напишите таблицу истинности.
3. Что такое мультиплексор? Выведите структурную формулу функционирования восьмивходового мультиплексора.
4. Опишите работу одноразрядного и n-разрядного сумматора. Приведите таблицы истинности.
Глава 7
Анализ работы КЦУ
Быстродействие КЦУ
Так как логические элементы, входящие в состав КЦУ, переключаются с задержкой tздр, то при изменении в некоторый момент времени комбинации входных сигналов выходные сигналы устройства, если они изменяются в результате этого, примут установившиеся значения только после того, как закончатся переходные процессы в соответствующих логических элементах. На пути от входов устройства к его выходам отдельные логические элементы включены последовательно. Поэтому длительность переходных процессов будет зависеть от числа логических элементов, которые включены в такой цепочке. Применяемая в настоящее время методика определения tздр в логических элементах, предусматривающая использование при измерении цепочки включенных друг за другом однотипных логических элементов, позволяет при оценке общей задержки в такой цепочке суммировать задержки отдельных логических элементов. При оценке быстродействия КЦУ необходимо выявить ту цепочку логических элементов между входами и выходами устройства, которая будет задавать наибольшую задержку, и сложить между собой задержки логических элементов этой цепочки. Обычно она содержит наибольшее число включенных друг за другом от входов до выходов логических элементов. Но могут быть исключения, связанные, например, с наличием в более короткой цепочки отдельных инерционных логических элементов с большим tздр. Поэтому в общем случае необходимо проанализировать все цепочки логических элементов от входов до выходов и выявить такую, которая дает наибольшую задержку.
Пример. Синтезировать на логических элементах И-НЕ КЦУ, имеющее четыре входных сигнала X1, X2, X3, X4 и один выходной Y, заданное таблицей истинности (табл. 7.1.). Найти максимальную задержку, считая, что задержки во всех логических элементах одинаковы и составляют tздр.
Табл. 7.1. Таблица истинности функции 4-х переменных
| Номер набора | X4 | X3 | X2 | X1 | Y | Номер набора | X4 | X3 | X2 | X1 | Y |
Использую законы алгебры логики можно получить следующую ворму данного КЦУ:
(7.1.)
Структурная схема и временные диаграммы на основе этой формулы приведены на рис. 7.1.1. Цепочка логических элементов от входов до выхода содержит от двух до пяти элементов. В данном случае наибольшая задержка в 4tздр связана с прохождением сигнала от входов до выхода по самой длинной цепочке. На временной диаграмме рассмотрено прохождение сигнала в схеме, когда на входе код 1110 изменяется на код 1001. Для упрощения картины переходных процессов предполагается, что сигналы в каждом элементе имеют одинаковую задержку tздр, а сами сигналы прямоугольные. Задержка прохождения сигнала снижает быстродействие КЦУ, так как во многих случаях очередное изменение входных сигналов может быть допущено лишь после завершения переходных процессов и фиксации на выходе установившихся значений сигналов.

Рис. 7.1.1. Структурная схема и временные диаграммы КЦУ
Это ведет к образованию помехи в работе схемы, продолжительность которой в нашем случае равна tздр. При синтезе можно постараться не допускать задержек и связанных с ними помех
Состязания в КЦУ
Неодинаковую задержку прохождения сигнала в отдельных частях КЦУ иногда ассоциируют с “состязаниями” в скорости переключения логических элементов. В результате этого явления на выходах некоторых элементов могут появляться импульсные помехи.
Пример. Рассмотреть временные диаграммы в КЦУ, заданном структурной формулой
(7.2.)
Входной сигнал изменяется с кода 001 на код 111. Задержка в каждом логическом элементе tздр. Структурная схема КЦУ и временные диаграммы для данного примера приведены на рис. 7.2.1.
Рис. 7.2.1. Структурная схема и временные диаграммы КЦУ
В данном случае на выходе КЦУ при изменении кода входного сигнала 001 на код 111 кратковременно устанавливается нулевое значение (на время 3tздр), хотя по условиям работы в соответствии с (7.2.) выходное значение должно было сохраниться на единичном уровне. Это непосредственно вытекает из временных диаграмм, если пренебречь задержками переключения логических элементов. Когда длительность помехи превысит определенную величину, возможно нарушение работоспособности подключенных к выходу КЦУ устройств (триггеров, счетчиков и т.д.). В подобных случаях “состязания” называют “опасными”. Для борьбы с ними можно принимать различные меры. Во-первых, иногда можно предусмотреть такой порядок смены входных кодов, при котором либо импульсные помехи не будут появляться на выходе вообще, либо их длительность уменьшится до безопасной величины. Можно показать, что в рассмотренном на рис 7.2.1 примере задержка момента перехода в единичное состояние сигнала X1 по отношению к сигналам X2 и X3 приводит к пропорциональному уменьшению длительности помехи на выходе. В необходимых случаях такую задержку можно ввести искусственно включением цепочки из четного числа инверторов. Во-вторых, при синтезе соответствующего КЦУ можно иногда найти такой вариант структурной формулы (а, следовательно, и структурной схемы), при котором удается уменьшить величину импульсной помехи.
В-третьих, можно организовать синхронную передачу сигналов от одного устройства к другому. Для этого вводятся специальные импульсы синхронизации, которые задают моменты передачи информации между отдельными устройствами. Пауза между импульсами синхронизации может быть выбрана такой, чтобы за ее время закончились переходные процессы, и на выходах устройств установились стационарные значения.
Синхронная передача информации в современных цифровых устройствах применяется очень широко. Этот вопрос уже обсуждался ранее, например, при рассмотрении типовых КЦУ, в том числе мультиплексоров. Отметим, что наличие “состязаний” и возникающие при этом импульсные помехи влияют на надежность цифровых устройств.
Контрольные вопросы
1. Определите методику расчета быстродействия КЦУ.
2. Объясните понятие «состязания в КЦУ». Приведите пример.
3. Какие методы борьбы с помехами в КЦУ Вы знаете?
Глава 8
Понятие о ПЦУ
§
Синхронный RS–триггер со статическим управлениемотличается от асинхронного наличием C-входа, на который поступают синхронизирующие (тактовые) сигналы. Синхронный триггер состоит из асинхронного RS-триггера и комбинационного цифрового устройства (рис. 8.4.1.).

Рис. 8.4.1. Структурная схема синхронного RS-триггера
Как видно из рис. 8.4.1, синхронный триггер построен из элементов И-НЕ. Схема 1 представляет собой КЦУ с тремя входами S, C, R и двумя выходами. Схема 1 состоит их двух логических схем И-НЕ. Схема 2 представляет собой асинхронный RS-триггер на элементах И-НЕ. При С=0 входные логические элементы схемы КЦУ блокированы. Их входы принимают значения 1 и не зависят от входных сигналов R и S.
Для асинхронного RS-триггера на элементах И-НЕ набор из единичных сигналов является нейтральным. Триггер будет сохранять свое состояние. При С=1 входные логические элементы схемы КЦУ открыты для передачи информации сигналов R и S на входы асинхронного RS-триггера. Следовательно, синхронный триггер при наличии разрешающего сигнала будет работать по правилам для асинхронного триггера. Закон функционирования асинхронного RS-триггера на элементах И-НЕ может быть задан табл. 8.4.
Таблица 8.4. Закон функционирования асинхронного RS-триггера
Карта Карно, описывающая работу синхронного RS-триггера на элементах И-НЕ, представлена на рис. 8.4.2.

Рис. 8.4.2. Карта Карно синхронного RS-триггера
Используя карту Карно, можно получить минимальную булеву функцию для описания работы синхронного RS-триггера:

Легко увидеть, что синхронный RS-триггер принимает состояние 1, если на входы С и S поступают уровни 1, или сохраняет единичное состояние Qt при отсутствии единичных сигналов на входе С или R.
Условное графическое изображение синхронного RS-триггера на элементах И-НЕ приведено на рис. 8.4.2. Синхронные RS-триггеры строятся и на логических элементах ИЛИ-НЕ, а так же на их сочетаниях.

Рис. 8.4.2. Обозначение синхронного RS-триггера
Общее время установления состояния триггера равно сумме задержек передачи сигнала через цепочку из трех логических элементов с задержкой tЗ в каждом:
.
При этом длительность сигнала tС на входе С должна превышать время переключения tТ:
.
Длительность паузы tП между двумя сигналами на входе С должна быть достаточной для переключения входных элементов в КЦУ (схема 1 на рис. 8.4.1.).
.
Следовательно, минимальный период повторения синхронизирующих сигналов на входе С равен
, а наибольшая частота
.
§
Универсальный JK–триггер, схема которого приведена на рис. 8.5.1а, представляет собой двухступенчатый синхронный триггер. Как видно из рисунка, JK-триггер состоит из двух ассинхронных RS-триггеров с инверсными входами и двух КЦУ, каждое из которых содержит две схемы И-НЕ с тремя входами каждая.

а)

б)
Рис. 8.5.1. Структурная схема и обозначение JK-триггера.
Закон функционирования JK-триггера задается табл. 8.5. JK-триггер отличается от синхронного RS-триггера тем, что не имеет запрещенных сигналов на входах J и K. Кроме того, при J=1 и К=1 триггер изменяет свое состояние на противоположное, т.е. работает как триггер со счетным входом (Т-триггер).
Таблица 8.5. Закон функционирования JK-триггера
При С=0 входы J и К заблокированы и, следовательно, оказываются заблокированными входы S и R ведущего триггера 1. При С=1 в соответствии с информационными сигналами на входах J и К устанавливается состояние ведущего триггера. При этом на входы S и R ведомого триггера 2 поступают сигналы, при которых его предыдущее состояние сохраняется. При С=0, входы триггера 1 закрыты для входной информации, входы триггера 2 открываются и состояние ведущего триггера воспринимается ведомым триггером. Графическое изображение JK-триггера представлено на рис. 8.5.1б.
Одним из широко используемых вариантов построения является схема JK-триггера с входной логикой (рис. 8.5.2а). Условное обозначение триггера дано на рис. 8.5.2б. При С=1 вторая ступень блокирована, а информационные сигналы устанавливают состояние первой ступени. При сигнале С=0 вторая ступень воспринимает состояние первой. Требуемое начальное состояние триггера устанавливается с помощью сигналов, подаваемых на входы RS-триггеров первой и второй ступени. В схеме триггера имеется по три конъюктивно связанных входа J и К. Другими словами, в структурную схему триггера встроены логические элементы. Их можно использовать для построения сложных схем.

а)

б)
Рис. 8.5.2. Структурная схема и обозначение JK-триггера с входной логикой
Т-триггеры
Т-триггеры, или триггеры со счетным входом, могут быть получены из JK-триггера при соединении обоих информационных входов J и К и подаче на них уровня 1 (рис. 8.6.1.).

Рис. 8.6.1. Обозначение Т-триггера
Функционирование Т-триггера описывается в табл. 8.6. В качестве счетного входа Т используется вход С. При подаче сигнала на вход Т-триггер будет переключаться в состояние, противоположное предыдущему.
Таблица 8.6. Закон функционирования Т-триггера
JK-триггер в таком режиме выполняет функцию Т-триггера. Следует заметить, что уровень для входов J и К (входов элементов И-НЕ) является пассивным сигналом. Поэтому для получения Т-триггера из JK триггера можно не предусматривать входы J и К в схеме (рис. 8.6.2а). Разновидностью Т-триггера является ТV-триггер, в котором вход V является управляющим. При V=1 TV-триггер превращается в Т-триггер. При V=0 TV-триггер сохраняет свое состояние неизменным (рис. 8.6.2б).

Рис. 8.6.2. Варианты реализации Т-триггера
D-триггер
D-триггер, или триггер задержки, имеет один информационный вход (D-вход) и вход для синхронизации С. Основное назначение D-триггера — задержка сигнала, поданного на вход D. D-триггер может быть получен из JK-триггера соединением входа J с входом К через инвертор НЕ. Полученный таким образом вход будет называться D-входом. Схема D-триггера представлена на рис. 8.7.1а. Условное обозначение D-триггера приведено на рис. 8.7.1б.

Рис. 8.7.1. Структурная схема и обозначение D-триггера
Функционирование D-триггера описывается табл. 8.7. Под действием синхросигнала С информация, поступающая на вход D, принимается в триггер, но на выходе Q появляется с задержкой на один такт.
Таблица 8.7. Закон функционирования D-триггера
| Ct | Jt | Kt | Qt | Qt 1 |
| Qt | Qt | |||
| Qt | Qt | |||
| Qt | ||||
| Qt |
Контрольные вопросы
1. Какое устройство называется последовательностным? Опишите его структуру.
2. Проведите классификацию триггеров.
3. Каковы основные характеристики триггеров?
4. Опишите работу RS-триггера с прямыми входами с помощью структурной схемы, таблицы истинности.
5. Опишите работу RS-триггера со статическим управлением с помощью структурной схемы, таблицы истинности.
6. Опишите работу универсального JK-триггера по структурной схеме и таблице истинности.
7. Опишите работу Т-триггера по структурной схеме и таблице истинности.
8. Опишите работу D-триггера по структурной схеме и таблице истинности.
Глава 9
Типовые ПЦУ
Регистры
Регистром называется последовательностное цифровое устройство, используемое для хранения и выполнения логических преобразований над n-разрядным двоичным числом. Регистр представляет собой упорядоченную последовательность триггеров, число которых соответствует числу разрядов в слове. С каждым регистром обычно связано некоторое КЦУ, с помощью которого обеспечивается выполнение логических операций или микроопераций над n-разрядными словами в ПЦУ. В регистре могут выполняться следующие микрооперации: прием слова из другого ПЦУ, передача слова из регистра в другое ПЦУ, поразрядные логические операции, сдвиг слова влево или вправо на заданное число разрядов, преобразование последовательного кода слова в параллельный и обратно, установка регистра в начальное состояние (сброс). Схемы выполнения микроопераций реализуется с помощью КЦУ.
Схема регистра для хранения n-разрядного двоичного слова приведена на рис. 9.1.1а. Регистр S состоит из n триггеров. Состояние регистра определяется состоянием триггеров. Оно представляется набором выходных сигналов в парафазном коде
. На регистр S может быть подано для хранения двоичное n-разрядное слово X={xn, xn—1, …, x1} с помощью совокупности входных сигналов в парафазном коде
.
Если на входы поступают сигналы Xi, равные 0 или 1, то триггеры регистра S устанавливаются в состояния в соответствии со значениями переменных Xi. Триггеры регистра сохраняют значение S=X до прихода новых входных сигналов. В регистре S(n) каждый i-ый элемент (триггер) соответствует двоичной переменной Si и является i-ым разрядом регистра S. Число разрядов в регистре определяет его длину.
Используемое для регистров условное обозначение дано на рис. 9.1.1б. Указываются наименование регистра (S), старший (n) и младший (1) разряды.
Состояние регистра представляется целым числом в двоичной системе счисления. Для сокращения записи состояния регистра можно использовать восьмеричную и шестнадцатеричную формы представления двоичных чисел. Состояние регистра можно представить не только в двоичном алфавите, но и в любом другом.

Рис. 9.1.1. Структурная схема регистра и его обозначение
Регистры играют важную роль при построении сложных цифровых устройств. Фактически любое цифровое устройство можно представить в виде совокупности регистров, соединенных друг с другом с помощью соответствующих схем КЦУ рис. 9.1.2.

Рис. 9.1.2. Структурная схема цифрового устройства, использующего регистры и КЦУ
Анализ схемы регистра позволяет отметить характерную особенность — однородность (регулярность) структуры.
Регистр состоит из однотипных элементов (триггеров), которые регулярно размещены друг относительно друга. Однородность элементов с регулярным размещением их в регистре позволяет существенно упростить процессы изготовления, контроля, эксплуатации. Упрощается так же описание и изучение регистра. Регистр можно описать совокупностью однотипных автоматов. Достаточно задать автоматное описание для одного элемента регистра и указать число элементов. Регулярность схемы регистра позволяет прийти к выводу о возможности построения регулярных схем КЦУ для выполнения микроопераций на множестве однотипных элементов. Это дает возможность довольно просто осуществлять синтез схемы КЦУ, сводя его к синтезу многократно повторяющейся схемы КЦУ для одного разряда регистра и схемы, обеспечивающей взаимодействие (при необходимости) двух соседних разрядов. Такой подход позволяет свести сложное описание КЦУ в виде совокупности булевых функций от переменных к простому описанию КЦУ. При этом КЦУ можно представить в виде повторяющегося n раз набора булевых функций от конечного числа m переменных, где mn.
В зависимости от типа выполняемых в регистре микроопераций различаются следующие типы регистров:
· с параллельным приемом и выдачей информации;
· с последовательным приемом и выдачей информации;
· с последовательным приемом и параллельной выдачей информации;
· с параллельным приемом и последовательной выдачей информации.
В зависимости от числа входных и выходных каналов регистры делятся на однофазные (сигналы передаются по одному каналу) и парафазные (передача сигналов по двум каналам). Парафазные регистры реализуются на RS-триггерах, а однофазные — на D-триггерах. Регистры характеризуются числом разрядов и быстродействием, определяемым максимальной тактовой частотой приема, передачи и сдвига информации.
Регистры памяти
Регистр с параллельным приемом и выдачей информации называется регистром памяти. В качестве элементов регистра памяти используются синхронные D-триггеры при однофазных входных сигналах (рис. 9.1.3.) или RS-триггеры при парафазных входных сигналах (рис. 9.1.4.).
Предварительная установка регистра в нулевое состояние осуществляется посылкой “Установить 0” на асинхронные входы сброса триггеров. Изменение информации в регистре происходит после изменения сигналов на входах X при поступлении сигнала на вход синхронизации С.

«Уст. 0» «Уст. 0»
Рис. 9.1.3. Регистр памяти на Рис. 9.1.4. Регистр памяти на
D-триггерах RS-триггерах
Регистры сдвига
Регистры с последовательным приемом или выдачей информации получили название регистров сдвига.
В регистре сдвига вправо первый разряд вводимого числа X1 подается на вход одного, крайнего слева, разряда Sn регистра и вводится в него при поступлении первого сигнала синхронизации С. С приходом следующего сигнала синхронизации значение X1 c выхода разряда Sn вводится в разряд Sn-1, а в разряд Sn поступает X2. В каждом такте производится сдвиг поступающей информации на один разряд вправо. После n сдвигов синхронизации весь регистр оказывается заполненным разрядами числа X, и первый разряд числа X1 появится на выходе S1. Если подать последовательность из n сигналов синхронизации и на вход разряда Sn подать X=0, то из регистра будет выводиться число X через выход S1 и в конце вывода регистр будет освобожден от хранения числа X. Регистры сдвига реализуются на D-триггерах (рис. 9.1.5.) или RS-триггерах (рис. 9.1.6.). В последней схеме для ввода информации в первый разряд включается схема инвертора.

Рис. 9.1.5. Структурная схема регистра сдвига на D-триггерах

Рис. 9.1.6. Структурная схема регистра сдвига на RS-триггерах
Для параллельного вывода информации из регистра сдвига необходимо все выходы разрядов регистра сдвига подключить к различным полюсам Sn, Sn-1, …, S1. Для реализации регистров сдвига применяются так же триггеры с динамическим управлением по входу С. Применение таких триггеров гарантирует нормальную работу регистра сдвига. Схема регистра сдвига влево на D-триггерах с динамическим управлением представлена на рис. 9.1.7.

Рис. 9.1.7. Структурная схема регистра сдвига влево
Комбинируя схемы сдвига вправо и влево и используя управляющие сигналы, можно построить регистр сдвига в обоих направлениях. Такой регистр называется реверсивными (рис. 9.1.8.). При подаче разрешающего сигнала на управляющий вход V1 включается схема сдвига вправо. Реверсивный регистр при этом превращается в регистр сдвига вправо. При подаче разрешающего сигнала на управляющий вход V2 включается схема сдвига влево. Реверсивный регистр превращается в регистр сдвига влево.

Рис. 9.1.8. Структурная схема реверсивного регистра
В регистрах сдвига влево и вправо разряды двоичного кода выходят за пределы разрядного регистра. Если соединить выход крайнего правого разряда регистра со входом крайнего левого разряда, то получим схему кольцевого (циклического) регистра сдвига. Реверсивные регистры можно использовать для построения стековых регистров, имеющих единственный общий вход и выход. Такие регистры работают по принципу “первый вошел – последний вышел”. Стековые регистры называются так же регистрами магазинного типа.
Возможно так же совмещение в одной схеме регистра памяти и регистра сдвига. На рис. 9.1.9. представлена схема, выполняющая функции 4-разрядного регистра памяти и 4-разрядного регистра сдвига влево. В каждом разряде регистра использован D-триггер с двумя D-входами и двумя управляющими V-входами. При подаче V1=0 D-входы, используемые в схеме сдвига, отключаются и схема превращается в схему регистра памяти с однофазными входами и парафазными выходами. При подаче V2=1 разрешается прием информации, которая поступает на входы в параллельной форме и при подаче разрешения на вход синхронизации С передается в регистр. Если подается V1=1, то схема превращается в схему регистра сдвига влево. В такой схеме прием информации осуществляется параллельно, а выдача либо последовательно либо параллельно.

Рис. 9.1.9. Схема, совмещающая регистр памяти и регистр сдвига влево
На рис. 9.1.10. показано условное графическое изображение схемы регистра памяти и сдвига. Стрелка, стоящая рядом с символом регистра RG, указывает направление сдвига.

Рис. 9.1.10. Графическое обозначение регистра памяти и сдвига
Применениерегистров
Регистры находят применение при выполнении различных временных преобразований информации. Регистры сдвига используются в схемах умножения и деления: сдвиг числа влево и вправо на один разряд соответствует его умножению или делению на два. Регистры можно использовать для задержки передаваемой информации на n тактов. В сложных ПЦУ, состоящих из большого числа регистров, возникает необходимость передачи слов с одного регистра на другой. Это можно осуществить с помощью специальной микрооперации передачи слова. Два регистра соединяются друг с другом с помощью КЦУ, реализующего управляемую схему передачи. Передачу слова из регистра S в регистр R можно записать в виде микрооперации передачи R:=S.
Cчетчики
Основные понятия
Последовательностное цифровое устройство, обеспечивающее хранение информации и выполнение над ним микрооперации счета, называется счетчиком.
Микрооперация счета заключается в изменении значении числа С в счетчике на 1. Счетчик, в котором выполняется микрооперация счета С:=С 1, называется суммирующим, а счетчик, реализующий микрооперацию С:=С-1, — вычитающим. Счетчик называется реверсивным, если реализуются обе микрооперации.
Основным параметром счетчика является модуль счета КС, определяемый максимальным числом единичных сигналов, которое может быть сосчитано счетчиком. Счетчик, содержащий n двоичных разрядов, может находиться в состояниях 0, 1, 2, …., 2n-1. При поступлении на вход суммирующего счетчика 2n-й единицы он переходит из состояния 2n-1 в состояние 0. Таким образом, n-разрядный суммирующий двоичный счетчик имеет модуль счета КС=2n.
Счетчики характеризуются так же быстродействием, которое определяется допустимой частотой входных сигналов и временем установки состояния счетчика.
Счетчики обычно реализуются на Т-триггерах. Однако для их построения могут применяться не только триггеры со счетным входом, но и D-триггеры, JK-триггеры.
Счетчики можно классифицировать по нескольким признакам. В зависимости от направления счета различают суммирующие (с прямым счетом), вычитающие (с обратным счетом) и реверсивные (с прямым и обратным счетом). По способу организации схемы переноса различаются счетчики с последовательным и параллельно-последовательным переносом. В зависимости от наличия синхронизации различают синхронные и асинхронные счетчики.
При маркировке для обозначения счетчика используются буквы ИЕ. Конструктивно счетчики выполняются в виде совокупности интегральных схем — триггеров, соединенных соответствующим образом или в виде одной интегральной схемы, содержащей многоразрядный счетчик.
Суммирующие двоичные счетчики
В суммирующем двоичном n-разрядном счетчике, состоящем из триггеров, реализуется счетная последовательность чисел. Эта последовательность начинается с 0. Очередное число в этой последовательности получается прибавлением единицы к предыдущему числу. После того как последовательность доходит до максимального числа 2n-1, она снова проходит через 0 и повторяется. В счетчике с n триггерами число возможных состояний равно 2n, модуль счета КC так же равен 2n. Каждому состоянию счетчика соответствует число в счетной последовательности от 0 до 2n-1.Рассмотрим устройство двоичного 3-разрядного суммирующего счетчика. В таком счетчике можно реализовать счетную последовательность от 0 до 23-1=7. Последовательность чисел может быть задана совокупностью 3-разрядных двоичных чисел b3b2b1: 000, 001, 010, 011, 100, 101, 110, 111. Поставим в соответствие каждому разряду bi числа выход триггера Qi. В 3-разрядном счетчике с выходами Q3Q2Q1 будет реализовываться счетная последовательность от 0 до 7.
Счетчик может быть реализован с использованием двухступенчатых триггеров Т со счетным входом. Схема двоичного 3-разрядного суммирующего счетчика представлена на рис.9.2.1. В этой схеме исходное состояние счетчика устанавливается подачей сигнала по шине “Уст.0.” Триггеры Т изменяют свое состояние с окончанием входного сигнала, т.е. после перехода от уровня 1 к 0. Входной сигнал по шине С0 подается на счетный вход триггера 1. Работа счетчика может быть описана с помощью временной диаграммы (рис. 9.2.1).

Рис. 9.2.1. Структурная схема и временные диаграммы суммирующего счетчика
Закон функционирования счетчика можно представить в виде табл. 9.1., условное изображение счетчика приведено на рис. 9.2.2.
Таблица 9.1. Закон функционирования суммирующего счетчика
| Номер комби-нации | С0 | Состояния триггеров | |||||
| Qt3 | Qt2 | Qt1 | Qt 13 | Qt 12 | Qt 11 | ||

Рис. 9.2.2. Графическое обозначение двоичного счетчика
Работу счетчика можно так же представить как процесс суммирования предыдущего значения счетчика с единицей. Такое суммирование выполняется по обычным правилам выполнения операции сложения чисел в двоичной системе.
Вычитающие и реверсивные двоичные счетчики
В вычитающих счетчиках с приходом очередного счетного сигнала предыдущий результат уменьшается на единицу. В вычитающем двоичном n-разрядном счетчике реализуется счетная последовательность чисел, начиная с 2n-1 и кончая 0. Очередное число в этой последовательности получается вычитанием единицы из предыдущего числа. После получения значения 0 последовательность повторяется. Порядок смены состояний вычитающего счетчика может быть описан табл. 9.2.
Таблица 9.2. Порядок смены состояний вычитающего счетчика
| Номер комби-нации | С0 | Состояния триггеров | |||||
| Qt3 | Qt2 | Qt1 | Qt 13 | Qt 12 | Qt 11 | ||
Из таблицы следует еще одно отличие вычитающего счетчика от суммирующего: триггер каждого предыдущего разряда переходит в другое состояние при сигнале займа, обратном сигналу переноса в суммирующем счетчике. Поэтому вычитающий счетчик в отличие от суммирующего строится так, что со входом каждого последующего триггера соединяется инверсный выход предыдущего триггера. Схема вычитающего счетчика с последовательной передачей переносов приведена на рис. 9.2.3.

Рис. 9.2.3. Структурная схема вычитающего счетчика с последовательным переносом
Функционирование i-ого разряда вычитающего счетчика можно описать логическими выражениями переноса Пi 1 разности Сiпо табл. 9.3.
Таблица 9.3. Функционирование i-ого разряда вычитающего счетчика
Таблица получается на основании анализа особенностей вычитания единицы из двоичного числа. Из табл. 9.3. следуют логические выражения:

Разность Сi определяется тем же выражением, что и в суммирующем счетчике, поэтому перенос должен подаваться на счетный вход триггера Т. В отличие от суммирующего счетчика в выражении для Пi 1 вместо biиспользуется
. Следовательно, на элементы И, формирующие переносы, подаются сигналы с инверсионных выходов триггера. Для ускорения работы вычитающих двоичных счетчиков могут использоваться схемы с параллельным и с параллельно-последовательным переносом.
В реверсивном счетчике объединяются схемы суммирующего и вычитающего счетчиков. Кроме того, существует возможность управления направлением счетчика, для чего предусматривается дополнительное КЦУ.
В реверсивном счетчике на Т-триггерах (рис. 9.2.4а) счетные сигналы поступают на вход Т-триггера через логические элементы, если они открыты единичными сигналами с выходов предыдущих разрядов.
Для счетных сигналов предусмотрены два входа. Если счетчик работает как суммирующий, сигналы счета следует подавать на вход « 1». Для вычитающего счетчика сигналы счета подаются на вход «-1». На выходе счетчика, обозначенном «15», сигнал появляется при переходе счетчика в состояние с номером 15, в котором все триггеры установлены в состояние 1. На этом выходе формируется сигнал переноса в следующий счетчик. На выходе «0» сигнал появляется при заполнении счетчика нулями. Это сигнал займа в следующий счетчик в схеме вычитающего счетчика. Условное обозначение реверсивного счетчика с двумя входами приведено на рис. 9.2.4б.

Рис. 9.2.4. Структурная схема реверсивного счетчика и его графическое обозначение
Синхронные и асинхронные двоичные счетчики
Двоичные счетчики, состояние триггеров которых изменяется одновременно под воздействием сигнала синхронизации на входах всех триггеров, получили название синхронных. Схема синхронного счетчика со сквозным переносом на Т-триггерах приведена на рис. 9.2.5а., его условное обозначение дано на рис. 9.2.5б.

а)

б)
Рис. 9.2.5. Структурная схема счетчика со сквозным переносом и его обозначение
Синхронные счетчики используются в синхронных цифровых системах. Последовательностные цифровые устройства в этих системах обычно зависят друг от друга и управляются от общего источника синхросигналов. В таких условиях нужно, чтобы все триггеры во всех ПЦУ изменяли свое состояние одновременно по сигналу синхронизации, чтобы текущее состояние триггеров использовалось для определения их следующего состояния. Применяемая здесь схема со сквозным переносом легко наращивается простым добавлением схемы И с двумя входами. Однако для определения значения самого правого входа Т n-разрядного счетчика необходимо время, равное времени распространения сигнала через одну схему И, умноженному на n-1.
§
Из типовых функциональных узлов КЦУ и ПЦУ можно строить сложные устройства обработки информации. Рассмотрим проектирование одного из важных устройств обработки информации — сумматора. С помощью многоразрядного сумматора можно реализовать микрооперацию сложения С:=X Y, где X и Y — n-разрядные двоичные числа.
Выполнение операций алгебраического сложения, вычитания, умножения и деления сводится к последовательности микроопераций сложения, сдвига, инвертирования. Для реализации этих операций необходимо использовать сумматоры, которые содержат в своем составе регистры. Такие сумматоры принято называть накапливающими. Накапливающий сумматор содержит в своем составе регистр, на котором перед началом микрооперации хранится слагаемое, а после выполнения микрооперации С:=С Y — сумма.
В зависимости от способа ввода кодов слагаемых различаются накапливающие сумматоры последовательного и параллельного действия. Сумматор последовательного действия (рис. 9.3.1.) состоит из одноразрядного сумматора, выходы которого соединены с входом D-триггера и регистром сдвига Рг3. Для подачи на входы сумматора разрядов слагаемых используются регистры Рг1 и Рг2, а для приема разрядов суммы – регистр Рг3. В сумматор коды чисел вводятся в последовательной форме младшим разрядом вперед. С первым тактовым сигналом на сумматор подаются цифры первых разрядов слагаемых X1и Y1. Процесс циклически повторяется до выполнения сложения над всеми разрядами чисел X и Y.

Рис. 9.3.1. Структурная схема сумматора последовательного действия
В сумматоре параллельного действия для присваивания сумме начального значения сначала реализуется микрооперация установки С:=0. Накапливающий сумматор состоит из регистра для хранения и комбинационного сумматора, с помощью которого вычисляется сумма.
В качестве основного элемента накапливающего одноразрядного сумматора может использоваться триггер со счетным входом. Если на счетный вход триггера Тi, установленного предварительно в 0, подать последовательно сигналы одноразрядных слагаемых Xi, Yi и переноса Пi, то по окончании этого процесса триггер устанавливается в состояние, определяющее значение одноразрядной суммы. Сигнал переноса Пi 1 в следующий разряд вырабатывается, если по сигналу Yi или Пi триггер переключается из единичного состояния в нулевое.
Простейший двоичный сумматор на триггерах со счетным входом строится по схеме с последовательным переносом (рис. 9.3.2.).

Рис. 9.3.2. Структурная схема сумматора параллельного действия
Сложение двоичных чисел X={Xn, Xn-1, …, X1} и Y={Yn, Yn-1, …, Y1} выполняется в три такта. В первом такте выполняется микрооперация С:=0. Во втором такте в сумматор заносится код слагаемого X. В третьем такте – код слагаемого Y. Если после второго такта (после записи числа X) триггер i-ого разряда находится в состоянии 1 и на его вход поступит сигнал Yi=1, то триггер перейдет в состояние 0. При этом на инверсном выходе триггера сформируется сигнал переноса в следующий разряд. Если триггер следующего (i 1)-го разряда находиться в состоянии 1, то сигнал переноса переведет этот триггер в состояние 0. Перенос будет распространяться по цепи переносов до триггера, который находится в состоянии 0 после передачи на сумматор кода Y. По окончании переносов триггеры сумматора устанавливаются в состояние, соответствующее коду суммы: С=X Y. Сигнал переноса из старшего разряда сумматора соответствует переполнению сумматора.
Накапливающий сумматор является основным регистром для выполнения арифметических и логических операций над многоразрядными двоичными числами. Он используется так же для построения еще более сложного ПЦУ для обработки информации, получившего название арифметико-логического устройства (АЛУ).
§
При построении сложных ПЦУ необходимо обеспечить хранение больших объемов информации с простым и удобным доступом к ней. Для этого проектируются специальные ПЦУ, получившие название запоминающих устройств или устройств памяти. Для любого устройства памяти должен быть определен базовый элемент памяти. Кроме того, должны быть выбраны метод выделения выборки заданных элементов из общего массива элементов памяти, а так же метод передачи информации для хранения в памяти записи и выдачи информации из памяти чтения. Сначала осуществляется проектирование базового элемента памяти, а затем — всего устройства памяти.
При синтезе элемента памяти для хранения одного бита информации, условия работы элемента памяти словесно описываются следующим образом: выбор элемента осуществляется подачей сигнала выборки на вход С; с помощью сигнала на входе С определяется состояние элемента памяти по сигналу Q; если элемент памяти хранит 1 бит информации, то на его выходе Y выдается сигнал 1 (осуществляется чтение); для записи информации необходимо подать на вход I соответствующее значение бита информации и на вход V – сигнал разрешения записи. Для синтеза базового элемента используют логические элементы И, НЕ, а также RS-триггер, который обеспечивает запоминания.
Рис. 9.4.1. Структурная схема базового элемента памяти
Рис. 9.4.2. Схема базового элемента памяти с использованием логических элементов И, НЕ и RS-триггеров.
Рис. 9.4.3. Условное обозначение базового элемента памяти.
Приведенное словесное описание работы элемента памяти можно использовать в качестве модели для его построения. Из описания следует, что на входе RS-триггера должно быть предусмотрено КЦУ1 с тремя входами C, I, V и двумя выходами S и R для переключения RS-триггера. На выходе элемента памяти должно быть предусмотрено КЦУ2 с входами C и Q, а также выходом Y (рис. 9.4.1). Используя словесную запись условий работы ЗУ запишем аналитические выражения для каждого из сигналов. Выходной сигнал Y формируется по состоянию триггера и выдаётся при наличии сигнала С, т.е. Y=CQ;
Для формирования сигнала записи S сигнала в триггер необходимо выполнение условия: S=JCV;
Для записи «0» в триггер необходимо подать сигнал R=JCV; Таблицы истинности имеют вид представленный в табл. 9.4.
Таблица. 9.4. Таблица истинности базового элемента памяти
Схема варианта базового элемента памяти с использованием логических элементов И, НЕ и RS-триггеров приведена на рис. 9.4.2, а его условное обозначение на рис. 9.4.3.
Устройство памяти для хранения четырех 2-разрядных двоичных чисел содержит в основе подобную структуру. Оно обладает следующими свойствами:
· допускается выборка в каждый момент времени только одного числа;
· все разряды данного числа можно одновременно читать или изменять в режиме записи;
· каждое число имеет порядковый номер – адрес, числа расположены в порядке возрастания их адресов;
· адрес задается двоичным числом, число разрядов в котором зависит от количества слов, хранимых в памяти.
В рассматриваемом случае адрес представляет собой 2-разрядное двоичное число.
Такая организация хранения чисел принята в памяти с линейной выборкой. Устройство памяти функционирует следующим образом. По адресу выбирается число, для этого используют сигналы чтения или записи, с их помощью можно выбрать или записать в память 2-разрядное двоичное число. Для построения устройства памяти используются регистры, дешифраторы, логические элементы, элементы памяти.
Сложные ПЦУ стремятся строить, как правило, в виде регулярных схем из однотипных элементов на базе типовых функциональных узлов ПЦУ и КДУ. Это позволяет существенно упростить процесс проектирования и получить приемлемые для практики решения.
Из приведенного описания устройства памяти следует вывод, что схема может быть представлена в виде регулярной структуры из элементов памяти, дополненной схемой ПЦУ из типовых узлов для управления выборкой, записью и чтением.
Пример реализации показан на рис.9.4.4.

а) Схема памяти б)Условное обозначение
для хранения схемы
2-разрядных двоичных чисел.
Рис. 9.4.4. Схема памяти
Элементы памяти располагают в соответствии с регулярным размещением разрядов последовательности 2-разрядных двоичных чисел (рис. 9.4.4 а). Поскольку из памяти каждый раз выбирается только одно 2-разрядмое двоичное число и оба разряда могут считываться одновременно, то можно объединить выходы соответствующих разрядов всех чисел, как показано на рис. 9.4.4. а. Легко заметить, что разрешение на запись можно подавать на входы всех элементов памяти, так как с помощью сигнала записи лишь выбирается режим работы.
Для записи же числа в память необходимо задать адрес числа и записываемую информацию. Это позволяет соединить вместе входы записи W элементов памяти. Входы I элементов памяти можно также соединить поразрядно для всех чисел. Входы С элементов памяти для разрядов данного двоичного числа можно также соединить вместе, поскольку каждый раз выбирается одно двоичное число. Полученная таким образом схема устройства памяти состоит из одинаковых элементов памяти и имеет по числу хранимых чисел 4 входа для их выборки, 2 входа I для ввода информации и 2 выхода Y для выбора информации (в соответствии с числом разрядов). Условное обозначение схемы устройства памяти приведено на рис. 9.4.4. б, полной схемы – на рис. 9.4.5. Для выбора адреса числа из памяти используется регистр хранения адреса и дешифратор DC. Для управления чтением числа из памяти используются элемент И.
Рис. 9.4.5. Полная схема устройства хранения 2-разрядных двоичных чисел
Важно отметить, что устройство памяти представляет собой сложное устройство состоящее из более простых функциональных узлов. Функциональные узлы являются типовыми: счетчики, регистры, шифраторы, дешифраторы и т.д. В тех случаях, когда требуется ввести новый функциональный узел, отличающийся от типовых, его можно синтезировать, используя методы синтеза конечных автоматов. Из функциональных узлов строится схема ПЦУ с соблюдением правил композиции, используемых в структурной теории автоматов и изложенной при рассмотрении ПЦУ.
Контрольные вопросы
1. Дайте определение понятию регистр. Приведите его структурную схему.
2. Перечислите типы регистров.
3. Каковы области применения регистров?
4. Дайте определение счетчику и перечислите его разновидности.
5. Опишите схему работы суммирующего двоичного счетчика с помощью структурной схемы и таблице истинности.
6. Опишите схему работы вычитающего и реверсивного счетчика по структурной схеме и таблице истинности.
7. Опишите схему работы синхронного и асинхронного двоичного счетчика по структурной схеме и таблице истинности.
8. Сколько тактов необходимо параллельному и последовательному сумматорам для выполнения суммирования?
9. Изложите принципы проектирования запоминающего устройства.
Глава 10
§
Аналого-цифровые преобразователи (АЦП)
Для введения в ЭВМ сигналов от аналоговых датчиков чаще всего используются аналого-цифровые преобразователи (АЦП).
Принцип работы.Существует несколько способов аналого-цифрового преобразования, но самые распространенные среди них два: метод с интегрированием и метод последовательных сравнений.
Продолжительность преобразования аналогового сигнала в восьмиразрядный код методом с интегрированием обычно составляет 1-20 мс, а методом последовательных сравнений 10-30 мкс.
Основные критерии для выбора необходимого АЦП — время преобразования, точность и стоимость преобразователя. Преобразователи, работающие по методу с интегрированием, имеют малую стоимость и превосходную точность, но отличаются относительно большой продолжительностью преобразования. Метод последовательных сравнений обеспечивает высокую скорость преобразования, но стоимость преобразователей, работающих по этому принципу, резко растет по мере увеличения необходимой точности преобразования.
АЦП с интегрированием
При аналогово-цифровом преобразовании с интегрированием могут использоваться несколько вариантов: с одним, двумя и более наклонами интегрирования. Наиболее широко используется метод с двумя наклонами интегрирования (с двойным интегрированием) (рис. 10.2.1а). Схема такого преобразователя содержит интегратор на основе усилителя У1 с цепью RC1 и компаратор на усилителе У2. Такой преобразователь имеет хорошую линейность характеристики, малые шумы и низкую стоимость. Его рабочий цикл содержит три периода (рис. 10.2.1б): коррекция нуля (Ф1), интегрирование входного сигнала (Ф2) и интегрирование опорного напряжения (Ф3).


Рис. 10.2.1. АЦП с двойным интегрированием. а) схема; б) временная диаграмма
Сначала, в течении периода Ф1, производится автоматическая коррекция сигнала ошибки путем регулировки напряжения смещения. При этом вход преобразователя замыкается на корпус, организуется петля обратной связи и информация об ошибке запоминается на конденсаторе С2. В следующем периоде Ф2 производится интегрирование входного сигнала и одновременно отсчет некоторого постоянного числа тактовых импульсов. В конце этого периода на выходе интегратора получается напряжение, пропорциональное значению входного сигнала. В последнем периоде Ф3 на вход интегратора вместо исходного сигнала подается опорное напряжение противоположной полярности. Одновременно производится счет тактовых импульсов, и так вплоть до выравнивания напряжения с уровнем сравнения компаратора. Цифровой эквивалент входного сигнала определяется следующим образом. Если Т2 — длительность первого интервала интегрирования (период Ф2), а Т3 — длительность второго интервала интегрирования (период Ф3), измеряемые путем подсчета тактовых импульсов, то цифровое значение входного сигнала
.
При способе преобразования с двойным интегрированием точность преобразования не зависит от емкости конденсатора и частоты тактового генератора при условии их стабильности в течение короткого периода интегрирования, а зависит лишь от стабильности опорного напряжения. Еще одним достоинством этого способа является чрезвычайно низкий уровень шумов. Недостаток метода в сравнительно большой продолжительности преобразования.
§
кодируемый временной интервал
В рассматриваемых АЦП измеряемая величина представляется различными видами модуляции (широтно-, частотно-, фазо-импульсной) или двойным интегрированием преобразуется в эквивалентный временной интервал (ВИ), который в этих АЦП кодируется счетно-импульсным методом. Преимуществом таких АЦП является простота схемной реализации, а недостатком – ограниченное быстродействие. Для удержания в допустимых пределах погрешности квантования по уровню с увеличением частоты преобразования необходимо увеличивать частоту счетных импульсов, используемых для кодирования формируемого ВИ. Так, например, при длительности ВИ, равной 2 мкс, и допустимой погрешности квантования по уровню 0,1% частота счетных импульсов должна быть не менее 500 МГц, хотя частота аналого-цифрового преобразования не превысит в этом случае 500 кГц. Однако увеличивать частоту счетных импульсов можно лишь до определенного предела, ограничиваемого конечной длительностью этих импульсов и частотным разрешением счетчика.
При использовании для преобразования широтно-импульсной модуляции измеряемая величина сравнивается с опорным линейно изменяющимся напряжением. Временной интервал, формируемый от момента начала сравнения до момента уравновешивания (эти моменты времени фиксируются компараторами), при постоянстве крутизны опорного напряжения пропорционален значению измеряемой величины.
Широкое распространение в ИИС получили интегрирующие АЦП. Характерным для них является высокая точность (погрешность составляет сотые и тысячные доли процента). Она достигается усреднением отсчетов, подавлением помех и автоматической коррекцией нелинейности характеристики. Практический пример схемы АЦП с двойным интегрированием приведен на рис. 10.4.1. В первом такте за опорный ВИ Топ интегрируется измеряемое напряжение Ux(интегрирование «вверх»), и на выходе интегратора фиксируется напряжение:

Рис. 10.4.1. Схема интегрирующего АЦП
Интервал Топ образуется текущим тактовым импульсом запуска и сигналом переполнения счетчика Сч. С появлением тактового импульса переключатель П ко входу интегратора подключает измеряемое напряжение, а ключ Кл в цепи генератора счетных импульсов ГСИ деблокируется. Импульс переполнения счетчика воздействует на переключатель, который подключает ко входу интегратора вместо Uх опорное напряжение Uоп, и начинается второй такт интегрирования («вниз»). Счетчик после переполнения обнуляется и вновь начинает подсчет импульсов. В течение второго такта выходное напряжение интегратора уменьшается по линейному закону до нуля (момент фиксируется дискриминатором Д) в соответствии с уравнением

Формируемый во втором такте временной интервал определяется выражением Tx = Uх Tоп /Uоп ~ Uх, так как Uоп и Топ – постоянные величины. При этом в счетчике фиксируется цифровой эквивалент значения измеряемой величины.
Интегрирующие АЦП измеряют не мгновенное, а среднее за опорный ВИ напряжение. Они имеют повышенную помехозащищенность и чувствительность, близкую к теоретическому пределу. Эти АЦП используют для кодирования низкочастотных сигналов, так как их время преобразования составляет 1÷100 мс. Типовые применения таких АЦП – кодирование сигналов термопар, резистивных ПИП температуры, хроматографов, тензодатчиков, датчиков рН и фотоприемников. Они позволяют также воспроизводить ряд нелинейных функций соответствующим изменением опорного напряжения или постоянной времени интегратора. В настоящее время ряд фирм выпускает однокристальные БИС АЦП с двухтактным интегрированием. По-видимому, наивысшую точность среди АЦП по схеме с традиционным двухтактным интегрированием обеспечивает 22-разрядная модель AD 1175 фирмы Analog Devices. Интегральная нелинейность этого АЦП относительно предела преобразования составляет 10-6, а дифференциальная нелинейность не выходит за пределы ±1/2 младшего разряда кода при 20 отсчетах в секунду.
Наличие переключателя опорного и измеряемого напряжений на входе интегратора сопряжено с необходимостью тщательной развязки и взаимной изоляции их источников, поскольку иначе не добиться высокой точность. Возможна реализация АЦП с многократным непрерывным интегрированием без использования такого переключателя. Конденсатор интегратора циклически заряжается и разряжается алгебраической суммой двух токов: тока Ix, пропорционального измеряемому напряжению, и опорного тока Iоп. В первом цикле интегрирования (период T1 заряда) токи складываются, а во втором цикле (период T2 разряда) Iоп вычитается из Iч вследствие изменения направления опорного тока. В отсутствие измеряемого напряжения интервалы интегрирования равны, т.е. T1 = T2, и на выходе интегратора периодически образуется треугольное напряжение симметричной формы с частотой

Если измеряемое напряжение не равно нулю, то соотношение интервалов T1 и T2, пропорциональных Uх изменяется: при Uх > 0 T1 < T2, а при Uх < 0 T1 > T2. Треугольное напряжение генерируется непрерывно вследствие работы схемы в режиме самовозбуждения под воздействием положительной обратной связи. В этом отношении АЦП напоминает самовозбуждающийся мультивибратор. Выходное напряжение интегратора сравнивается в компараторе с двумя порогами: верхним и нижним. Сигналы компаратора переключают триггер, управляющий источником опорного тока. При этом попеременно (в соответствии с циклом разряда или заряда интегратора) формируется опорный ток того или иного знака, непрерывно поступающий совместно с током Ix на вход интегратора. Одновременно триггер управляет счетчиком, на вход которого поступают тактовые импульсы частотой 20 МГц. В конце каждого из интервалов интегрирования содержимое счетчика переписывается в выходной регистр, и начинается новый отсчет. Частью АЦП является микроконтроллер. В зависимости от требуемой разрешающей способности контроллер считывает и усредняет отсчеты двух или более интервалов интегрирования в обоих направлениях. Для получения разрешающей способности, соответствующей 24 разрядам, усредняются 512 интервалов, тогда как для 16 разрядов требуется всего 2 интервала.
Для минимизации наводок от сети переменного тока время интегрирования при заряде обычно выбирают равным или кратным периоду сетевого напряжения. В рассматриваемом АЦП это время переменное. Поэтому микроконтроллер вычитает из каждого отсчета некоторое число, чтобы нормализовать время интегрирования в зависимости от частоты сетевого напряжения. При частоте в сети 50 Гц частота преобразования составляет 200 и 0,9 Гц для 16 и 24 разрядов соответственно. Интегральная нелинейность при 24 разрядах не превышает 2·10-6.
§
Благодаря простоте и регулярности структуры АЦП поразрядного двоичного уравновешивания в интегральном исполнении пока находят более широкое применение в сравнении с АЦП других принципов действия. Поэтому при определении элементов минимизированного типажа АЦП исходное множество преобразователей может включать также АЦП двоичного уравновешивания на элементной базе различного быстродействия (в таком АЦП скорость преобразования уменьшается пропорционально числу разрядов). При этом анализе необходимо учитывать метрологические характеристики АЦП, в частности, полный диапазон изменения измеряемой величины. Расширение диапазона значений измеряемых сигналов без снижения быстродействия АЦП можно осуществить параллельным кодированием масштабно преобразованных значений этих сигналов. Схема такого АЦП приведена на рис. 10.5.1.


Рис. 10.5.1. Схема многопредельного АЦП двоичного
поразрядного уравновешивания
Число ступеней масштабного делителя 2 измеряемой величины выбирают в соответствии с требуемым количеством поддиапазонов (пределов) измерений исходя из того, что максимальное значение регулируемой меры (ЦАП 4) равно младшему пределу измеряемой величины.
Компараторы 3 с выходными ключами 6 образуют каналы сравнения от первого, младшего предела (компаратор этого канала подсоединен непосредственно ко входу 1 измеряемой величины) до k-ого, наибольшего старшего предела (компаратор этого канала подсоединен к выходу оконечной ступени делителя).
По начальным сигналам блока управления 5 триггеры 7 и триггер 13 переключаются в положение, при котором оказываются деблокированными все ключи 6 и элементы И 8 и 9, а ЦАП 4 переключается в положение, при котором на его выходе устанавливается максимальное значение напряжения. Это напряжение параллельно сравнивается во всех компараторах с масштабно-преобразованными значениями измеряемой величины.
Допустим, что если напряжение на измерительном входе компаратора превышает напряжение на его опорном входе или равно ему, то на выходе компаратора появляется единичный сигнал. В противном случае выходной сигнал компаратора оказывается нулевым.
Если измеряемая величина не превышает установленного максимального значения ЦАП (т.е. не превышает первого предела измерений), то на выходе всех компараторов и соответствующих ключей сигналы будут нулевыми. Эти нулевые сигналы в каждой соседней паре каналов инвертируются элементами НЕ 10 и при этом на выходе каждого из элементов И 9 появляется единичный сигнал, по которому в каждом канале, начиная с (i 1)-го (кроме первого i = 1, k), блокируется ключ.
Когда измеряемая величина в i-м канале превышает максимальное напряжение ЦАП, единичный сигнал компаратора этого канала передается через соответствующий элемент И 8 и ИЛИ 11 и переключает подсоединенный к этому элементу триггер 7, с изменением выходного сигнала которого блокируется ключ 6 этого триггера.
Если измеряемая величина превышает опорное напряжение компараторов только первых р каналов, то аналогичным образом блокируются ключи этих р каналов и ключи каналов от р 2-го до k го, а ключ р 1-го канала остается деблокированным. Тем самым в последующем обеспечивается уравновешивание масштабно-преобразованной величины, не превышающей р 1-го предела измерений.
С задержкой во времени, необходимой для выбора канала сравнения в соответствии с требуемым пределом измерения, блок управления переключает триггер 13, изменение выходного сигнала которого приводит к блокировке всех элементов И 8, 9. Тем самым в дальнейшем, в процессе поразрядного уравновешивания, исключается воздействие выходных сигналов компараторов блокированных каналов на состояния ключей 6, установленные при выборе предела.
Одновременно с переключением триггера 13 блок управления устанавливает требуемое напряжение ЦАП, равное половине младшего поддиапазона, и начинается обычный процесс поразрядного уравновешивания измеряемой величины известным образом. Выходные сигналы компаратора выбранного канала передаются в блок управления через элемент ИЛИ 12.
После завершения уравновешивания и считывания кода из регистра ЦАП цикл преобразования повторяется. Код масштаба преобразования отображается состоянием триггеров 7. Выбор предела и формирование этого кода выполняются в такте переключения АЦП в исходное состояние, т.е. практически без дополнительных затрат времени по сравнению с однопредельным АЦП.
До недавнего времени АЦП двоичного поразрядного уравновешивания (традиционной схемы) выпускались только в гибридном исполнении. При использовании блоков выборки/хранения их разрядность составляет от 12 до 14 бит, а быстродействие – от единиц мегагерц до сотен килогерц соответственно. На сегодня освоено производство интегральных 14÷18 – разрядных АЦП, содержащих блок выборки/хранения.
§
Задача цифро-аналоговых преобразователей (ЦАП) – преобразование двоичного кода в выходное напряжение, пропорциональное весовым коэффициентам разрядов двоичной системы счисления (8,4,2,1). Наиболее простая схема ЦАП представляет собой взвешивающую резистивную матрицу из сопротивлений R, 2R, … (pис. 10.7.1a), в которой сумма токов
, протекающих через резистор R0, пропорциональна весовым коэффициентам двоичных разрядов, а выходное напряжение
при R0<<R пропорционально двоичному числу.
а) б)
Рис. 10.7.1. Пассивные цепи ЦАП
Условие R0<<R должно выполняться в тех случаях., когда источники выходных сигналов имеют заметное внутреннее сопротивление Rи1, Rи2, … (для идеальных источников с Rи=0, R0 может быть бесконечно большим). В качестве входных источников в ЦАП используют формирующие ключи К1, К2, … (рис. 10.7.1б), которые обеспечивают стабильные уровни напряжений логической 1, равные опорному напряжению U. При R0<<R единичные приращения Uвых могут оказаться соизмеримыми с уровнем шумов.
Для увеличения выходного сигнала можно использовать операционный усилитель с отрицательной обратной связью через резистор RОС (рис. 10.7.2а).
Рис. 10.7.2 Схема активных ЦАП
Схему с ОС нетрудно преобразовать в схему без обратной связи (рис. 10.7.2б) с вносимым сопротивлением, определяемым формулой:
,
где К — коэффициент усиления ОУ. В такой схеме Rвн выполняют функции резистора R0 (рис. 10.7.3.) и позволяет обеспечить условие R0<<R. Так, при RОС=104 Oм и K=105 Oм уровень выходного напряжения равен:
. (10.1)
Недостаток схем ЦАП с ОУ – сравнительно невысокое быстродействие, которое определяется частотными параметрами ОУ.
Общий недостаток
ЦАП со взвешивающими резистивными матрицами
проявляется при большом числе двоичных разрядов (
n
=8…12) из-за большого различия сопротивлений взвешивающих резисторов (в 2
n
раз), которые трудно реализовать в интегральном исполнении. Для преодоления этого недостатка используют отдельные взвешивающие матрицы для младших, средних и старших разрядов двоичного кода с дополнительным пропорциональным делением выходных напряжений матриц не старших разрядов или резистивные матрицы типа
R
-2
R
(рис. 10.7.3а).
Рис. 10.7.3. Матрица резисторов для ЦАП и обозначение ЦАП
Общее графическое обозначение ЦАП (рис. 10.7.3б) показывает характер преобразования: В или # — двоичный код, А или L — аналоговая информация.
Контрольные вопросы
1. Дайте определение понятию АЦП, опишите его принцип работы.
2. Приведите схему АЦП с интегрированием.
3. Приведите схему АЦП с последовательным сравнением.
4. Каковы основные характеристики АЦП?
5. Дайте определение понятию ЦАП.
Глава 11
§
МП — это программно-управляемое устройство, предназначенное для обработки цифровой информации и управления процессом этой обработки, выполненное в виде одной или нескольких БИС. Качественным отличием МП от других типов микросхем является возможность их функциональной перестройки путем изменения внешней программы. В зависимости от программы МП может быть использован для решения самых разных задач и в этом способен заменить многие типы интегральных схем с «жесткой» логикой. Подобная универсальность МП обусловила массовость их выпуска, что привело к снижению стоимости МП, в результате чего экономически выгодным стало их использование в промышленной автоматике, транспорте, бытовой технике и т.д. Создание дешевых МП с широкими функциональными возможностями обеспечило дополнительные преимущества цифровым методам обработки информации, что стимулировало их внедрение в такие отрасли, как телефония, радиосвязь, измерительная техника.
Сколь бы сложным ни был МП, в структуре его всегда можно выделить следующие три основных блока или устройства, как показано на рис. 11.2.1: УОД – устройство обработки данных; БИ – блок интерфейса; УУ – устройство управления.
Рис. 11.2.1. Обобщенная структурная схема МП
Устройство обработки данных (УОД) является одним из основных блоков МП, в котором осуществляется вся необходимая арифметическая и логическая обработка информации. Все остальные блоки выполняют вспомогательные функции. Устройство обработки данных обычно включает в себя следующие узлы: арифметико-логическое устройство, аккумулятор, регистры общего назначения, временные регистры, регистр признаков, десятичный корректор и коммутаторы.
Основным операционным блоком является арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции, а также операции сдвига. АЛУ представляет собой, как правило, комбинационную схему, число разрядов которой определяется разрядностью шины данных МП.
Один из участвующих в операции операндов поступает в аккумулятор, разрядность которого соответствует разрядности АЛУ. В аккумулятор заносится и результат выполненной операции. Кроме того, через аккумулятор в большинстве случаев реализуется обмен информацией между МП и внешними устройствами ввода-вывода. Аккумулятор, как и все регистры в МП реализуется на двухступенчатых, либо на одноступенчатых триггерах.
Десятичный корректор позволяет преобразовать данные, находящиеся в АЛУ в виде двоичного кода, в двоично-десятичный код.
В более ранних разработках микропроцессоров регистр признаков (регистр флажков) был предназначен только для хранения признаков результата операции. Поскольку результаты всех операций, выполненных АЛУ, передаются в аккумулятор, можно сказать, что регистр признаков содержал информацию о данных, пересылаемых из АЛУ в аккумулятор. Содержимое этого регистра использовалось в тех случаях, когда выполнение операции ставилось в зависимость от значений каких-либо признаков результата предыдущей операции. N-разрядов регистра признаков образовывалось совокупностью N-флажков (триггеров), причем каждый из разрядов хранил информацию о каком-либо одном признаке результата выполненной операции. Например, разряд признака переноса устанавливался в единичное состояние при наличии переноса из старшего разряда или при займе в старший разряд. Типичным набором регистра признаков были разряды (триггер-флажки): перенос, отрицательный результат, нулевой результат, переполнение диапазона представляемых чисел, четность количества единиц в двоичном коде. В более поздних разработках в регистр признаков кроме разрядов результата выполненной операции стали добавлять другие разряды, которые отражали состояние МП на том или ином этапе выполнения программы: разрешение прерывания, вид адресации, состояние стека и др.
Регистры общего назначения (РОН) используются в МП для хранения промежуточных данных в процессе обработки. РОН рассматриваются программистом как сверхоперативное запоминающее устройство, т.е. небольшой объем памяти, расположенный непосредственно на кристалле микросхемы МП. Использование РОН позволяет значительно увеличить быстродействие системы благодаря упрощенной адресации к ним. Для некоторых МП РОН разбивают на части, например по восемь разрядов в каждой, а для других наоборот отдельные РОН объединяют в регистровые пары. Регистры временного хранения предназначены для временного хранения данных при пересылках их между различными узлами МП и в большинстве случаев являются программно недоступными.
Коммутаторы служат для мультиплексирования и демультиплексирования различных источников обрабатываемых операндов с АЛУ и имеют разрядность, равную разрядности АЛУ.
Блок интерфейса включает в себя узлы МП, обеспечивающие его взаимодействие со всеми внешними устройствами. В их число входят: узел управления шинами, узел формирования адреса памяти и некоторые другие узлы.
Узел управления шинами обеспечивает управление работой всех шин. Шины представляют собой набор соединительных проводников-линий, сгруппированных по функциональному назначению. По каждой линии может быть передано значение одного разряда двоичного кода в виде уровней напряжения, соответствующих логическому 0 или логической 1. По роду передаваемой информации все линии разделены на три группы, образующие шину данных, шину адреса и шину управления. Характерной особенностью шины данных является ее двунаправленность, под которой понимается возможность передачи данных в разные моменты времени в различных направлениях. Такая двунаправленность обеспечивается двунаправленными буферными регистрами, через которые МП подключается к шине данных. Шина адреса является однонаправленной. Ещё одна особенность буферных регистров заключается в том, что они являются трехстабильными, т.е. выходы этих регистров, кроме состояний логического 0 и логической 1, могут принимать третье пассивное или, так называемое высокоимпедансное состояние, благодаря чему регистр оказывается как бы отключенным от шины. Шины данных и адреса в некоторых типах МП могут быть мультиплексированы. Это значит, что одни и те же линии связи могут служить и для передачи данных, и для передачи адреса в различные моменты времени. Переключение направления передачи данных, переключение мультиплексированных шин, отключение шин от общих магистралей и обеспечение ряда других необходимых функций как раз и возлагается на узел управления шинами.
Узел формирования адресов памяти обеспечивает взаимодействие МП с оперативным запоминающим устройством и устройствами ввода-вывода. В его состав входят: счетчик команд, указатель стека, схема инкремента-декремента, сумматор адреса, адресные регистры, регистр адреса, вспомогательные регистры и коммутаторы.
Счетчик команд представляет собой регистр, содержащий адрес ячейки памяти, в которой хранится подлежащая выполнению команда. Обычно команды одной программы размещаются в последовательно расположенных ячейках памяти, в каждой из которых размещается 1 байт информации, т.е. в ячейках памяти с непрерывно возрастающими на 1, 2, 4 (в зависимости от разрядности шины данных МП) адресами, поэтому для перехода к следующей команде содержимое счетчика команд автоматически инкрементируется на 1, 2, 4 единиц после выборки текущей команды. При необходимости изменения естественного порядка следования команд в счетчик заносится адрес команды, к которой необходимо произвести переход. После перехода команды снова будут выполняться в естественном порядке. Разрядность счетчика команд может быть ниже разрядности шины адреса МП.
Указатель стека также как счетчик команд представляет собой регистр, содержащий адрес, по которому осуществляется обращение к области памяти ОЗУ, называемой стеком (о работе со стеком будет сказано ниже). Содержимое указателя стека автоматически уменьшается на 1, 2, 4 в зависимости от разрядности МП (декрементируется) при записи слова данных в стек и увеличивается на 1, 2, 4 (инкрементируется) при выдаче слова данных из стека. Указатель стека имеет такую же разрядность, что и счетчик команд.
Схема инкремента-декремента служит для обеспечения вышеописанной функции добавления 1, 2, 4 к содержимому счетчика команд или добавления-вычитания 1, 2, 4 к содержимому указателя стека. Данный узел может использоваться в некоторых МП и для реализации функции инкремента-декремента над содержимым других адресных регистров.
Сумматор адреса позволяет разгрузить арифметико-логическое устройство и взять под свою ответственность вычисления адресов при сложных видах адресации.
Адресные регистры используются для хранения адресов обрабатываемых операндов или адресов пересылки результатов операций. В микропроцессорах, не использующих особых, комбинированных способов адресации (о способах адресации будет изложено дальше) в качестве адресных регистров могут использоваться регистры общего назначения.
Регистр адреса служит для хранения адреса на время цикла обращения к памяти ОЗУ. Нельзя путать регистр адреса с адресными регистрами. Последние служат для указания адресов при комбинированных способах адресации, иначе говоря, они служат для формирования адресов ячеек памяти. Регистр адреса необходим для фиксации адреса ячейки памяти, к которой осуществляется обращение в данный момент времени.
Устройство управления служит для формирования управляющих сигналов для всех цепей управления. Это достаточно сложная задача, объясняемая сложностью самой структуры МП и большим количеством входящих в него узлов. Каждая команда реализуется за 5-10, а иногда и более тактовых сигналов. При этом система команд МП может содержать до 250, а иногда и более команд. Каждый такт характеризуется своим вектором управляющих сигналов. Нетрудно представить себе, какой огромный набор управляющих сигналов должно анализировать и обрабатывать устройство управления для реализации всех команд, закладываемых разработчиком при проектировании МП.
Для построения устройства управления используются два подхода: на основе аппаратной реализации или «жесткой» логики управления и на основе микропрограммной реализации или «гибкой» логики управления. При любой логики управления в устройстве управления можно выделить следующие узлы: регистр команд, дешифратор команд и очередь команд.
Выполнение любой команды начинается со считывания первого слова команды, которое содержит код операции, из памяти в регистр команд, где оно хранится в течение всего времени выполнения команды. Разрядность регистра команд соответствует разрядности шины данных МП. Дешифрация кода операции производится в дешифраторе команд. По результатам работы дешифратора и под воздействием тактовых сигналов вырабатывается нужная последовательность сигналов управления. Это приводит к считыванию из памяти остальных слов команды, если они имеются, а также к собственно выполнению операции, предписанной командой. Очередь команд представляет собой запоминающее устройство небольшого объема (порядка нескольких слов), расположенного на кристалле МП, и предназначенное для хранения очередных подлежащих выполнению команд. Заполнение этой памяти происходит в промежутки времени, когда шина данных МП свободна от обмена с внешней памятью или внешними устройствами. Это позволяет повысить быстродействие МП за счет снижения временных затрат на выборку последующей команды из внешней памяти после выполнения очередной команды.
§
По числу БИС в микропроцессорном комплекте все МП принято делить на три больших класса: однокристальные, многокристальные и секционированные. Вся структура однокристальных МП реализована на одном кристалле микросхемы и конструктивно выполнена в одном корпусе. Такие МП имеют фиксированную разрядность и, как правило, фиксированный набор команд. Аппаратура, построенная на однокристальных МП, имеет более высокую надежность по сравнению с аппаратурой, использующей иную элементную базу в следствии малого числа внешних соединений. Многокристальные МП представляют собой набор из нескольких микросхем, причем функционально каждый тип устройства структуры МП или их набор реализованы в отдельном корпусе БИС. Многокристальные МП имеют также фиксированную разрядность и, как правило, фиксированную систему команд.
Однокристальные и многокристальные МП составляют класс МП замкнутого типа. В МП замкнутого типа разрядность обрабатываемых операндов 8, 16, 32 или 64 бит и может быть увеличена только программным путем, т.е. последовательной обработкой многоразрядных операндов по частям. Это существенно снижает реальное быстродействие МП при работе с многоразрядными операндами.
Секционированные МП конструктивно тоже реализованы в виде набора микросхем. Но отличие секционированных МП от многокристальных состоит в том, что у первых разбиение происходит на структурном уровне, а у секционированных — по группам разрядов. Секционированные МП строятся в виде соединения одинаковых микропроцессорных секций. Каждая такая секция, оформленная в виде отдельной БИС, предназначена для обработки обычно 2-х, 4-х или 8-ми разрядов исходного операнда. Между секциями передаются необходимые сигналы переноса, возникающие при выполнении арифметических операций, сдвигов операнда и т.п. Наращивание разрядности обрабатываемых операндов в рассматриваемом случае производится аппаратным способом, т.е. путем увеличения числа микропроцессорных секций. Секционированные МП имеют, как правило, изменяемую систему команд.
Что касается разрядности формируемых адресов, то в МП замкнутого типа эта разрядность фиксирована, а в секционированных МП число разрядов адреса как и операндов увеличивается до требуемой величины путем соединения соответствующего числа микропроцессорных секций.
По назначению различают МП универсальные и специализированные. Универсальные МП применяются для построения систем решения широкого круга задач. Производительность решения задачи в этом случае слабо зависит от специфики самой задачи. Для повышения производительности системы, обусловленной именно спецификой задачи стараются применять специализированные МП, ориентированные на решение конкретной задачи. К таким МП можно отнести математические МП, использующие в системе команд набор специализированных команд, реализующих различные математические функции; различные микроконтроллеры, сигнальные МП, реализующие оптимальные методы цифровой обработки сигналов и пр.
По виду обрабатываемых входных сигналов различают МП цифровые и аналоговые. Цифровые МП оперируют с информацией, представленной в дискретной двоичной форме в виде комбинации двух цифр — нуля и единицы. Аналоговые МП оперируют с информацией в аналоговой форме, т.е. в форме непрерывных функций времени. Однако по сути аналоговые МП все равно остаются цифровыми устройствами, т.к. вся обработка осуществляется в цифровой форме цифровыми методами. Аналоговые же сигналы вводятся в МП через аналого-цифровые преобразователи и выводятся через цифро-аналоговые преобразователи, включенные в структуру самого МП.
По характеру временной организации работы МП делятся на синхронные и асинхронные. В синхронных МП начало и конец выполнения операции задаются устройством управления. Время выполнения команды в данных МП фиксировано и не зависит ни от типа команды ни от типа обрабатываемых данных. В асинхронных МП конец выполнения операции определяется по фактическому сигналу окончания операции. Время выполнения команды в данных МП индивидуально для каждой команды и начало выполнения очередной команды следует сразу же после окончания предыдущей не дожидаясь специальных сигналов синхронизации устройства управления.
По количеству выполняемых программ различают МП однопрограммные и мультипрограммные. В однопрограммных МП в текущий момент времени может выполняться только одна программа. В мультипрограммных МП возможно параллельное выполнение сразу нескольких программ одновременно. Такие МП используются преимущественно, когда требуется обрабатывать большое количество источников информации и большие массивы данных.
По технологии изготовления различают МП, изготовленные по МОП-технологии и МП, изготовленные по биполярной технологии. МОП МП построены на основе МОП транзисторов с р-каналом (p-МОП БИС), на основе МОП транзисторов с n-каналом (n-МОП БИС) и на основе комплементарных МОП транзисторов (КМОП БИС). Биполярные МП построены на основе элементов транзисторно-транзисторной логики с диодами Шоттки (ТТЛШ БИС), на основе элементов интегральной инжекционной логики (И2Л БИС) и на основе элементов эмиттерно-связанной логики (ЭСЛ БИС). Наибольшим быстродействием обладает ЭСЛ-технология, наименьшим — p-МОП-технология. Минимальным энергопотреблением при среднем быстродействии обладает КМОП-технология. Наибольшую степень интеграции при среднем быстродействии обеспечивает n-МОП-технология.
Следует отметить, что в первые годы развития МП в литературе различали их поколения. Однако в настоящее время такая классификация не имеет смысла, поскольку понятие «поколения МП» носит более условный характер, чем для ЭВМ, где каждое следующее поколение имело более высокие технико-экономические характеристики по сравнению с предыдущим и поэтому вытесняло его. МП всех поколений сосуществуют длительное время и взаимно дополняют, а не вытесняют друг друга. Есть примеры, когда в одном устройстве работают МП, принадлежащие к разным поколениям.
§
Рассмотрим уровни программного управления МП. Каждая операция, задаваемая командой, обычно требует для своей реализации выполнения определенной последовательности элементарных, неразложимых на более простые, преобразований, которые называются микрооперациями. К ним относятся пересылки информации между частями системы, логические поразрядные операции, сдвиги информации и другие. Каждая микрооперация выполняется в течение одного периода (такта) сигналов синхронизации. Эти сигналы имеют вид импульсов, последовательность которых вырабатывается специальным генератором синхроимпульсов.
Команды, определяющие выполнение микроопераций, называются микрокомандами. Таким образом, для каждой команды можно составить последовательность микрокоманд, определяющих ее реализацию. Для реализации команды требуется в среднем 5-10 микрокоманд. В соответствии с разбивкой команды на микрокоманды различают два уровня программного управления: командный и микропрограммный. В зависимости от реализации того или другого уровня программного управления МП делят на два класса. Рассмотрим основные особенности каждого из них.
МП с управлением на уровне команд требует, чтобы программа была составлена с использованием строго определенного набора (списка) команд. Перевод команд в последовательность микрокоманд обеспечивается «жесткой» логикой устройства управления (УУ) МП, т.е. за счет постоянных, заранее предусмотренных логических связей УУ, с помощью которых для данной конкретной команды в каждом такте формируется определенная совокупность управляющих сигналов, обеспечивающая выполнение очередной микрокоманды. УУ проектируется на свой список команд, поэтому дальнейшее наращивание и изменение списка команд не допускается. При необходимости выполнить операции, для которых нет соответствующих команд в списке, составляются подпрограммы. Каждая подпрограмма состоит из группы разрешенных для данного МП команд и приводит к выполнению требуемой операции. Очевидно, что решение задач с использованием подпрограмм значительно снижает скорость обработки и, следовательно, эффективность применения МП. Поэтому стремятся к тому, чтобы МП с управлением на командном уровне имели развитую систему команд.
В МП с управлением на уровне микропрограмм преобразование команд в соответствующую последовательность микрокоманд отсутствует и программа работы МП задается в микропрограммном виде, т.е. непосредственно в микрокомандах. Поскольку, как уже говорилось, для реализации одной команды в среднем требуется выполнение 5-10 микрокоманд, то объем микропрограмм значительно превышает объем соответствующих программ. Поэтому составление и отладка микропрограмм требуют больших затрат времени. Из-за громоздкости микропрограмм и трудностей по их составлению и контролю для таких МП обычно вводят второй уровень программного управления — командный. Для этого разрабатывается система команд. Можно, например, использовать систему команд какой-нибудь ЭВМ с хорошо развитым программным обеспечением и приспособить ее для данного МП. С этой целью для каждой команды составляется микропрограмма, т.е. каждая команда представляется последовательностью микрокоманд. При работе МП преобразование команды в соответствующую последовательность микрокоманд происходит с помощью микропрограммного устройства управления, которое реализуется в виде отдельной специализированной БИС.
Микропрограммное устройство управления содержит ПЗУ микрокоманд, в котором хранятся коды всех микрокоманд и ПЗУ управления адресом, в котором хранятся коды, предназначенные для формирования адресов микрокоманд. В процессе работы с помощью ПЗУ управления адресом происходит формирование последовательности адресов, по которым из ПЗУ микрокоманд извлекается последовательность микрокоманд, соответствующая коду поступившей команды.
Достоинством МП с микропрограммным устройством управления является возможность изменения набора выполняемых команд, которая достигается, если сменить или перепрограммировать ПЗУ микрокоманд и ПЗУ управления адресом. Поэтому при использовании МП этого типа и микропрограммных устройств управления можно строить цифровые системы, выполняющие любой набор команд, наиболее удобный для решения тех или иных задач. В МП с управлением на уровне команд набор выполняемых команд является фиксированным, т.е. является более эффективным для решения определенного класса задач.
МП с управлением на уровне команд имеют в списке обычно 45 — 150 команд. МП с управлением на уровне микропрограмм имеют обычно 256 — 512 микрокоманд. Как правило, МП замкнутого типа (для которых наращивание разрядности осуществляется программным путем) имеют управление на уровне команд, а секционированные МП (наращивание разрядности аппаратным путем) имеют управление на уровне микропрограмм. Примером отечественных однокристальных МП с управлением на уровне команд являются МП серий К580 (аналог Intel 8080), К581, К588, К1801/09, К1806, К1810 (аналог Intel 8086), К1821, К1824, К1831. Примером секционированных МП с управлением на уровне микропрограмм являются МП серий К583, К584, К589, К1802 (К1822), К1804 (аналог Am2900), К1832.
Рассмотрим основные принципы организации работы МП с точки зрения разбиения команд на последовательности микрокоманд. Время, необходимое для считывания команды из памяти и ее выполнения, называется циклом команды. Цикл команды реализуется обычно за 1-5машинных циклов. Машинный цикл — это промежуток времени, затрачиваемый МП на одно обращение к какому-либо периферийному модулю (ОЗУ, ПЗУ, внешнему устройству ввода-вывода, называемому портом ввода или вывода). В МП используются обычно следующие базовые типы машинных циклов:
· выборка команды (прием кода операции в регистр команд);
· считывание из памяти;
· запись в память;
· ввод из порта ввода;
· вывод в порт вывода;
· прерывание;
· останов;
Каждый машинный цикл выполняется обычно за определенное количество тактов (обычно от 3 до 5), т.е. периодов тактовых сигналов, вырабатываемых внешним генератором. Действия в каждом из тактов индивидуальны для конкретного МП, но тем не менее можно выделить следующие общие для всех МП (в порядке очередности их выполнения):
1. вывод на шину адреса кода адреса вызываемого порта или ячейки памяти;
2. анализ управляющих сигналов, выставление на шину данных пересылаемой информации;
3. осуществление обмена информацией с вызываемым портом или ячейкой памяти;
4. расшифровка команды и выполнение внутренних операций МП.
Перейдем к рассмотрению формата команд для большинства типов МП.Команда МП представляет собой такое двоичное слово, которое будучи считанное микропроцессором (преимущественно из памяти), заставляет его выполнить определенные действия. Другие, отличные от команд двоичные слова подобных действий в МП не вызывают. Длина команды как двоичного слова совпадает с длиной слова данных. Например, длина слова команды 8-разрядного МП равна 8 бит, 16-разрядного — 16 бит и 32-разрядного — 32 бит. Однако длина команды целиком не обязательно должна ограничиваться одним словом. Есть команды МП, имеющие длину в два или три слова. Таким образом, для 8-разрядного МП команда может иметь длину в 8, 16 или 24 бит, 16-разрядного МП — 16, 32 или 48 бит. Хотя данное утверждение нельзя принимать однозначно. Существуют команды для 16- и 32-разрядных МП длиной в 8 бит. Особенно это характерно для МП, являющихся дальнейшим развитием предшествующих моделей, в которых обеспечивается программная совместимость с моделями более раннего выпуска.
Выполнение команды начинается со считывания ее из памяти в регистр команд в течении цикла выборки. Далее команда декодируется дешифратором команд, после чего устройство управления под действием тактовых импульсов вырабатывает последовательности векторов управляющих сигналов, определяющих действия МП для успешного выполнения команды. Этими действиями могут быть: считывание операндов, загрузка регистров данными, загрузка счетчика команд новым адресом и т.д. Отсюда следует, что команда должна содержать информацию двух видов. Во-первых, команда должна сообщить МП, что необходимо сделать (выполнить сложение, сдвиг, пересылку и т.п.). Во вторых, указать адрес, т.е. местонахождение обрабатываемых данных. Таким образом, команда представляет собой двоичный код, который содержит информацию о виде операции, выполняемой на текущем этапе обработки, который называется кодом операции и о расположении операндов – данных, над которыми выполняются операции. Расположение операндов дается их адресами. Если команда имеет длину более одного слова, то первым словом — может быть код операции, а остальными (вторым или вторым и третьим) — адрес операнда или данных. Команда, состоящая из одного слова, содержит только код операции. Однако неверно было бы думать, что такая команда является безадресной. В таких командах адресом могут служить, например, регистры или регистровые пары, двоичные коды которых входят в код операции или, иначе говоря, в код всей команды.
Так, если разрядность ячейки памяти равна разрядности шины данных МП, то для многих типов МП с простыми способами адресации команды с длиной более одного слова располагаются в соседних ячейках памяти, причем наименьший адрес (А) имеет первое слово. Второе слово располагается в ячейке памяти с адресом на 1 большим (A 1), третье слово — в ячейке памяти с адресом еще на 1 большим (А 2):
| Адрес А | Адрес А 1 (2 или 4) | Адрес А 2 (4 или 8) |
| 1е слово код операции | 2е слово адрес (данные) | 3е слово адрес (данные) |
Если ячейка памяти имеет разрядность 8 бит, то под каждый байт команды отводится свой адрес. В этом случае первое слово будет иметь адрес (А), второе слово — адрес (А 2) или (А 4) в зависимости от разрядности МП, а третье слово — адрес (А 4) или (А 8) соответственно разрядности МП. В командах с длиной более одного слова адрес первого слова команды считается адресом всей команды.
Существуют МП, для которых память разделяется на сегменты, каждый из которых служит для хранения информации определенного типа. Каждый сегмент имеет в этом случае свой начальный адрес, хранящийся в специальных сегментных регистрах. Например, можно выделить два отдельных сегмента памяти, называемых сегментом кода и сегментом данных. Первый хранит коды команд, а второй — адресуемые данные. Разделение памяти на сегменты характерно для сложных видов адресации, когда физический адрес формируется путем вычислений над содержимым сегментных регистров и адресными смещениями, являющимися логическими адресами и задаваемыми непосредственно в команде или содержащимися в адресных регистрах.
Для некоторых МП в коде команды может также содержаться дополнительная информация о способе адресации, направлении передачи данных, источнике или приемнике информации, характере обрабатываемой информации и пр. В этом случае под эту дополнительную информацию отводится m-разрядов, располагаемых обычно в первом слове команды.
По функциональному назначению команды МП можно разделить на следующие группы:
1. команды пересылки кодов между ОЗУ и регистрами МП;
2. команды для выполнения арифметических действий;
3. команды для выполнения логических действий;
4. команды передачи управления и вызова подпрограмм;
5. команды для сдвига данных в регистрах, инкремента-декремента данных в регистрах;
6. команды ввода-вывода;
7. специальные системные команды.
Если адресация команд, подлежащих выполнению, производится только по содержимому счетчика команд, то адресация данных, используемых в ходе выполнения команд, осуществляется по разному.
При прямой адресации адрес ячейки памяти, к которой необходимо произвести обращение, содержится в самой команде. К числу команд с прямой адресацией относятся также команды обращения к портам ввода или вывода. Прямая адресация наиболее удобна с точки зрения программиста, поскольку сразу задает нужный адрес. Однако команды этой группы из-за большого формата требуют нескольких обращений к памяти при их считывании, т.к. адрес ячейки памяти или порта содержится обычно во втором или во втором и третьем словах команды, что снижает производительность МП.
Команды группы прямой регистровой адресации состоят из одного слова, в котором помимо кода операции содержатся также двоичные коды, указывающие регистры или регистровые пары МП, являющиеся источниками или приемниками информации. Команды этой группы выполняются наиболее быстро, поскольку имеют малый формат и, кроме того, их реализация не связана с обращениями к внешней памяти. Однако прямая регистровая адресация требует предварительной загрузки данных в регистры или регистровые пары МП, в результате чего высокая скорость обработки информации достигается в тех случаях, когда одни и те же данные используются в программе многократно.
При косвенной регистровой адресации адрес ячейки памяти, к которой необходимо произвести обращение, хранится в адресных регистрах или регистровых парах. Команды этой группы имеют длину в одно слово. Помимо кода операции слово команды содержит двоичный код, определяющий используемые регистры или регистровые пары. При выполнении команды адрес из регистра или регистровой пары поступает через буферный регистр адреса на шину адреса. Косвенная регистровая адресация уменьшает объем программы, но требует предварительной загрузки регистровой пары, поэтому такая адресация наиболее эффективна, когда один и тот же адрес используется в программе многократно.
При непосредственной адресации обрабатываемый операнд содержится непосредственно в команде, обычно во втором или во втором и третьем ее словах. Команды этой группы выполняются быстро, поскольку нет необходимости отыскивать операнд в памяти. Непосредственная адресация используется для введения констант, необходимых при решении поставленной задачи.
При относительной адресации адрес определяется относительно счетчика команд. Поэтому для получения фактического адреса необходимо произвести некую операцию, как правило арифметическую, над адресом, указанным в команде или в адресном регистре и содержимым счетчика команд, т.е. задается смещение адреса. Относительная адресация позволяет размещать программы в памяти без привязки к конкретному адресу. Такая форма адресации удобна, когда разрядность счетчика команд ниже разрядности шины адреса микропроцессорной системы. Также относительная адресация используется для постраничной организации памяти. Каждая страница памяти может быть реализована, например, в одном корпусе БИС памяти. Тогда содержимое счетчика команд определяет адрес внутри страницы, а адрес, указанный в команде или адресном регистре, определяет номер страницы или номер микросхемы памяти.
Адресация с индексированием отличается от относительной адресации тем, что для формирования фактического адреса используется содержимое не счетчика команд, а специального регистра, называемого индексным (или сегментным) регистром. Данный способ адресации удобен при обработке таблиц и массивов данных. В этом случае адрес первого элемента можно хранить в индексном регистре, а все остальные элементы адресовать в команде относительно него, не заботясь о реальных фактических адресах.
Стековая адресация. Применительно к МП под стеком понимается любая область ОЗУ, ячейки которой заполняются последовательно друг за другом. Аналогично — ячейка за ячейкой происходит и вывод информации из стека. При этом данные из стека читаются в последовательности, обратной той, которая была при записи, т.е. реализуется принцип: «вошедший последним — выходит первым». Достоинством команд со стековой адресацией является то, что программист может не заботиться о конкретных адресах ячеек памяти, куда записываются и откуда считываются данные. Достаточно знать код адреса начала стековой области ОЗУ. Этот код (код верхушки стека) предварительно записывается в указатель стека. С помощью команд, использующих стековую адресацию, в стек можно переслать число из регистра или из счетчика команд. Пусть требуется записать в стек содержимое двух регистров (регистровой пары). Сначала содержимое SР указателя стека с помощью схемы инкремента (декремента) уменьшается на единицу, в результате чего на шину адреса выставляется адрес SР-1 (рис. 4.2). По этому адресу производится запись в стек слова данных из первого регистра. Далее содержимое указателя стека вновь уменьшается на единицу и на шину адреса выставляется адрес SP-2, по которому в стек записывается слово данных из второго регистра. Таким образом, по окончании записи содержимое указателя стека становится равным SР-2. Часто вместо выражения «содержимое указателя стека» употребляют выражение «положение указателя стека». Тогда можно сказать, что при занесении в стек содержимого регистра или счетчика команд указатель стека автоматически каждый раз при записи очередного слова «смещается вниз», т.е. в сторону младших адресов памяти.
В системе команд МП есть и такие, которые позволяют осуществлять обратную операцию, т.е. пересылать содержимое ячеек стека в любые регистры или в счетчик команд. Для пересылки, например, содержимого двух регистров сначала в МП переписывается второе слово (последнее записанное) из ячейки памяти, адресуемой текущим положением SP указателя стека, после чего указатель стека «смещается вверх» на одну ячейку и занимает положение SP 1. Далее из ячейки памяти, адресуемой новым положением указателя стека, в МП переписывается первое слово, после чего указатель стека «смещается вверх» еще на одну ячейку и занимает положение SP 2. Таким образом, после выполнения команды указатель стека оказывается автоматически «смещенным вверх», т.е. в сторону старших адресов памяти.
| Адреса | ОЗУ | |
| (Максимальный объем стека)-1 | ||
| . . . | ||
| SP | положение указателя стека до записи | |
| SP-1 | Первое слово (байт) | |
| SP-2 | Второе слово (байт) | положение указателя стека после записи |
| . . . | ||
Рис. 11.4.1. Реализация команды записи в стек
Стековая адресация используется в случаях, когда производится прерывание основной программы. Прерыванием называют приостановку выполнения основной программы с целью обслуживания внешнего устройства или другого процесса. При этом происходит обращение к подпрограмме обслуживания устройства или процесса, содержимое счетчика команд, в котором хранится адрес возврата в основную программу, а также, при необходимости, промежуточные данные, хранящиеся в регистрах общего назначения, адресных регистрах, аккумуляторе и регистре признаков, переносятся в стек, а в счетчик команд заносится новый адрес, с которого начинается указанная подпрограмма. Этим освобождаются регистры МП для выполнения подпрограммы. При возврате к выполнению основной программы содержимое стека возвращается в МП. Во время выполнения программы обычно производится неоднократное обращение к подпрограммам, поэтому использование команд со стековой адресацией позволяет существенно сократить время решения задач.
Различают прерывания аппаратные, программные и специальные. Аппаратные прерывания инициируются воздействием сигналов, вырабатываемых внешними по отношению к МП устройствами, требующими обслуживания. Поэтому аппаратные прерывания называют также внешними. Программные прерывания происходят под влиянием специальных команд прерывания, включенных в программу, т.е. инициатива программных прерываний принадлежит самой программе. Программные прерывания используются для обслуживания внешних устройств по опросу или для вызова специальных вспомогательных системных подпрограмм. Специальные прерывания возникают в системе в ходе выполнения основной программы под воздействием специальных сигналов, вызываемых внутренними аппаратными средствами. Такие прерывания называют еще внутренними, т.к. инициируются внутренними средствами микропроцессорной системы. Причинами внутренних прерываний могут служить: программные сбои вследствие попытки совершить недопустимую операцию; аппаратные сбои вследствие пропадания одного или нескольких питающих напряжений или другие неисправности оборудования; переполнение разрядности обрабатываемых данных и некоторые другие.
Различают также прерывания одноуровневые и многоуровневые. Уровень прерывания задается его приоритетом, т.е. преимущественным обслуживанием того или иного внешнего устройства в очереди. В многоуровневых системах прерываний подпрограмма обслуживания прерывания более низкого уровня может быть прервана подпрограммой обслуживания прерывания более высокого уровня. Иными словами реализуется режим прерывания во время прерывания.
Прерывания делят на маскируемые и немаскируемые. Немаскируемые прерывания вызываются внешними устройствами и выполняются всегда. Маскируемые прерывания отличаются от немаскируемых тем, что могут быть разрешены или запрещены программой путем включения в нее специальных команд разрешения или запрещения прерываний.
Вводом — выводом информации называют процесс передачи данных между МП и основной памятью (ОЗУ, ПЗУ), между МП и внешними устройствами, а также между основной памятью и внешними устройствами. Различают ввод — вывод программный, по прерываниям и с прямым доступом к памяти.
Программный ввод — вывод инициируется программой работы МП. Данный процесс задается использованием в соответствующих местах программы специальных команд: IN port — ввод данных из порта ввода и OUT port — вывод данных в порт вывода. Портами обычно являются регистры для подключения внешних устройств. Эти команды выполняются немедленно, если внешние устройства имеют свойство постоянной готовности к приему или передаче данных. Такими устройствами могут быть, например, светодиодные индикаторы на выходе порта или набор кнопок на входе порта. Если внешнее устройство таким свойством не обладает, то при выполнении команды необходимо осуществлять проверку управляющего сигнала готовности устройства к передаче или приему данных. Если готовность устройства не подтверждается, то МП переходит в режим ожидания активного уровня сигнала готовности. Недостатком такой организации ввода — вывода являются большие временные затраты на ожидание готовности внешнего устройства. Однако такой способ ввода — вывода имеет преимущество, заключающееся в простой аппаратной реализации. Поэтому такая форма организации используется преимущественно для осуществления ввода или вывода данных с устройств постоянно готовых к обмену.
Ввод — вывод по прерываниям производится по инициативе внешних устройств и вводится при необходимости помимо выполнения основной программы организовать обработку информации от этих устройств по мере ее поступления. При этом МП должен прервать выполнение основной программы и перейти к подпрограмме обработки запроса прерывания. Такой переход осуществляется по мере готовности данных к передаче или приему по сигналу запроса прерывания, после получения которого МП переходит к операциям ввода — вывода. Сигнал запроса прерывания может поступить в любое время машинного цикла, но анализируется он в последнем такте последнего машинного цикла, т.е. после выполнения очередной команды. Это положение справедливо для большинства типов МП. Для разрешения или запрета прерываний в ходе выполнения программы МП обладает специальными командами. С помощью таких команд программист может разрешить или запретить прерывание текущей программы в тех местах, где оно в силу каких-либо причин недопустимо.
Таким образом, переход к режиму прерывания осуществляется, когда внешнее устройство готово к приему или передаче данных. Отсюда очевидно преимущество ввода — вывода по прерыванию. Оно заключается в высоком быстродействии и оперативности обслуживания внешнего устройства, запросившего прерывание. Однако это достигается за счет использования дополнительных аппаратных средств. Для этих целей микропроцессорные комплекты обычно дополняются специальными микросхемами — контроллерами прерываний, осуществляющими реализацию указанного режима ввода — вывода.
Ввод — вывод с прямым доступом к памяти (ПДП) используется в случаях, когда необходим обмен между основной памятью и внешними устройствами большими массивами данных. Для многих типов МП ввод и вывод данных реализуется через аккумулятор. Таким образом, для передачи данных из внешнего устройства или внешней памяти в основную память осуществляется с помощью следующей последовательности команд для каждого элемента массива данных: сперва данные заносятся из внешнего устройства или внешней памяти в аккумулятор, затем из аккумулятора в основную память. Т.е. данные пересылаются через МП. Это значительно снижает производительность системы. Чтобы избавиться от этого недостатка прибегают к режиму ПДП. Суть его заключается в следующем: буферные регистры данных и адреса МП переводятся в высокоимпедансное состояние, благодаря чему МП оказывается отключенным от шины данных и шины адреса. Отключение МП позволяет внешнему устройству самостоятельно обмениваться данными с памятью, для чего устройство должно само устанавливать на шине адреса адрес требуемой ячейки памяти, а также формировать соответствующие управляющие сигналы. Для этих целей микропроцессорные комплекты комплектуются специальными микросхемами, называемыми контроллерами прямого доступа к памяти. Отсюда следует недостаток режима ПДП — для его реализации требуется использование дополнительных аппаратных средств.
МП выполняет только то, что предписывается командами, составляющими программу, поэтому для решения какой-либо задачи она должна быть детально проработана. В ходе такой проработки формулируются условия задачи, выделяются исходные данные и результаты, которые должны быть получены. После этого выбирается метод решения задачи и определяется четкая последовательность действий над данными, приводящая к получению требуемого результата, т.е. алгоритм решения задачи. Составление алгоритма является важнейшим этапом решения задачи. Написание программы, т.е. программирование осуществляется последовательной заменой каждого действия алгоритма соответствующими командами. Используемый для написания программы набор команд и правил их применения называется языком программирования.
Если программа составлена на основе системы команд используемого МП, то говорят, что программа написана на языке низкого уровня. Поскольку каждый МП имеет свою систему команд, то языки низкого уровня ориентированы на конкретные МП и поэтому называются также машинно-ориентированными языками.
Язык низкого уровня, использующий команды в машинных кодах, называется машинным языком. Программа, написанная на машинном языке, называется объектной программой. Эта единственная форма программы доступная пониманию MП. Однако писать программы на машинном языке неудобно, поскольку команды, представленные машинными кодами, трудно отождествить с их назначением, а в самих машинных кодах легко перепутать 0 и 1. Кроме того, нужно отслеживать адреса всех команд, чтобы иметь возможность при необходимости обратиться к той или иной команде.
Для устранения указанных недостатков прибегают к представлению команд МП их мнемоническими обозначениями. Мнемоническое название (мнемоника) команды представляет собой сокращение от английских слов, описывающих операцию, выполняемую командой. Мнемонический код команды позволяет легче запомнить ее функцию и значительно упрощает написание программ. Язык низкого уровня, в котором используется мнемонические обозначения команд и символические имена адресов и операндов, называется языком ассемблера. При работе с МП программирование на языке ассемблера является наиболее распространенным.
Помимо языков низкого уровня существуют также языки высокого уровня. В этих языках команды, представляемые условными обозначениями, определяют действия, ориентированные на эффективное решение задач определенного класса. Например, для программирования на ЭВМ используется язык высокого уровня БЕЙСИК. Этот язык предназначен для решения инженерных задач и позволяет с помощью отдельных команд производить вычисления логарифмов, синусов, квадратных корней и других математических функций. Из других языков высокого уровня отметим ПАСКАЛЬ — для создания системного и прикладного программного обеспечения, СИ — для создания системных и прикладных программ с учетом особенностей аппаратных средств.
В последнее время большую популярность приобретают объектно-ориентированные языки программирования, позволяющие разрабатывать прикладное программное обеспечение, ориентированное на создание развитого графического интерфейса (к таким языкам относятся Visual Basic, Delphi и др.). Программирование в этом случае значительно упрощается, т.к. нет необходимости в программировании стандартных часто встречающихся и уже запрограммированных алгоритмов, а достаточно выбрать из библиотеки необходимый компонент, задать исходные данные, сформулировать его свойства и правильно связать с основной программой. Более подробная информация о языках программирования приведена в главах 13 и 14.
Программы, написанные с использованием условных обозначений, т.е. программы, написанные на языке ассемблера и языках высокого уровня называются исходными программами. Поскольку исходные программы не воспринимаются МП, то после написания они должны быть переведены (транслированы) в объектные программы. Для осуществления такой трансляции используются специальные программы, называемые трансляторами.
Основное преимущество языка ассемблера по сравнению с языками высокого уровня заключается в возможности эффективного использования особенностей МП. При этом могут быть получены программы оптимальные с точки зрения занимаемого ими объема памяти и времени выполнения. Однако написание программы на языке ассемблера сопряжено с трудностями, обусловленными тем, что язык ассемблера более тесно связан с особенностями МП, чем с особенностями решаемой задачи. Программист должен хорошо знать структуру МП, организацию его работы, систему его команд. Поскольку в систему команд МП входят те команды, которые просто реализовать аппаратными средствами, а не те, которые ориентированы на эффективное решение задач, то при написании программы много времени затрачивается на программирование отдельных операций. Даже такие простые операции, как суммирование или сравнение чисел, реализуются последовательностью команд.
Программисту, пишущему программу на языке высокого уровня, не нужно знать особенности работы МП и систему его команд. При этом, в результате того, что каждая команда языка высокого уровня соответствует последовательности из нескольких команд языка ассемблера, время написания программы значительно сокращается. Однако языки высокого уровня обладают тем недостатком, что объем получаемой объектной программы, а отсюда и время ее выполнения будут больше в случае трансляции с языка высокого уровня, чем с языка ассемблера. Это объясняется тем, что при трансляции с языка высокого уровня программа-транслятор не учитывает особенности работы МП и поэтому не обнаружит способов улучшения программы, которые очевидны опытному программисту, пишущему программу на языке ассемблера. Применительно к микропроцессорным системам недостатки языков высокого уровня в настоящее время преобладают над их достоинствами и поэтому программы для этих систем в большинстве случаев пишутся на языке ассемблера.
Как было сказано раньше, МП воспринимает только двоичную форму информации, т.е. команды должны быть представлены в виде двоичных кодов, что неудобно для программиста. По этой причине при описании команд используются условные обозначения в виде мнемонических названий. Например, команда возврата из подпрограммы, по которой хранящийся в стеке адрес пересылается обратно в счетчик команд, имеет обозначение RET (от return – вернуться).
Каждый МП характеризуется своей системой команд. Система команд — это полный перечень тех операций, которые способен производить МП. Управляемый этими командами МП выполняет очень простые действия, такие, как элементарные арифметические и логические операции, операции пересылки данных, сравнения двух величин и другие. Однако, составив программу из последовательности таких команд, можно запрограммировать выполнение алгоритма любой сложности. Обычно все команды в системе команд объединяются в группы по функциональному назначению. Например, выделяют команды пересылки кодов, команды логических и арифметических действий, команды передачи управления и ряд команд других групп.
Условное обозначение команды помимо мнемоники может также включать названия регистров r и регистровых пар rp. Воспользуемся для примера гипотетическими, т.е. не привязанными к конкретному типу МП названиями регистров — аккумулятором А и регистрами общего назначения В и С. Регистровые пары, если их наличие предусмотрено типом МП, даются как правило первыми буквами их обозначения. Так вместо регистровой пары BC в обозначениях команд будет записан символ В. Например, команда пересылки данных из регистра С в аккумулятор имеет обозначение MOV А, С (от move – переслать). Команда загрузки в стек содержимого регистровой пары ВС имеет обозначение PUSH B (от push – проталкивать).
При описании системы команд операнд может иметь условное обозначение data, адрес порта — условное обозначение port, а адрес ячейки памяти или адрес перехода — условное обозначение addr. Например, команда записи в регистр С операнда, содержащегося во втором слове команды имеет обозначение MVI C, data (от move immediate — передать непосредственно). Команда записи в аккумулятор данных из порта, адрес которого содержится во втором слове команды, имеет обозначение IN port (от input – ввести). Команда безусловного перехода, по которой адрес, содержащийся в команде записывается в счетчик команд, имеет обозначение JMP addr (от jump — перейти). При использовании команд в программе вместо обозначений data, port и addr будут подставлены конкретные числовые операнды и адреса.
Руководства по эксплуатации микропроцессоров, выпускаемых промышленностью, содержат описания соответствующих наборов команд с указанием команд в мнемонической форме и с указанием кодов операций, выполняемых командой в числовой форме. Потребность в такой документации возникает только тогда, когда составляют программу для работы микропроцессора, которым располагает разработчик.
Исходная программа (исходный модуль), написанная на языке ассемблера состоит из последовательности строк или операторов. Как правило, оператор исходного модуля содержит четыре поля, обозначаемые: «метка», «операция», «операнд», «комментарии».
В поле «операция» записывают мнемоническое обозначение выполняемой команды. Например: ADD, МОV, LXI и т.д. При написании программы на языке ассемблера программист не следит за адресами команд, поэтому для того, чтобы выделить команду, к которой необходимо осуществить переход из другого места программы, ей присваивается символический адрес, называемый меткой. В процессе трансляции исходной программы в объектную программа-транслятор определит адреса всех команд и заменит символические адреса (метки) конкретными адресами. Метка проставляется в поле «метка» перед мне
§
Рассмотрим отдельно особенности построения модульных МП. Модульный или секционированный МП конструктивно представляет собой комплект из нескольких микросхем. Но в отличии от многокристальных МП, как уже упоминалось, модульный МП разделяется на секции по группам разрядов. Каждая секция предназначена для обработки определенного количества разрядов, обычно 2-х, 4-х или 8-ми. Общая разрядность микропроцессорной системы формируется путем последовательного соединения соответствующего числа микропроцессорных секций. Упрощенная структура модульного МП, исходя из обобщенной структуры МП (рис. 11.2.1), может быть изображена в виде, представленном на рис. 11.5.1.
Каждая из МП-секций представляет собой тот же набор основных узлов, что и однокристальный МП: устройство обработки данных (УОД), блок интерфейса (БИ) и местное устройство управления (МУУ). Конструктивно каждая секция представлена отдельной БИС. Помимо местного устройства управления каждой секции, модульный МП имеет общее для всего МП микропрограммное устройство управления (МпУУ), которое обычно конструктивно реализуется в виде нескольких БИС, в число которых обязательно входит БИС ПЗУ. Микропрограммное устройство управления модульного МП преобразует команды в соответствующие последовательности микрокоманд. Термин «микропрограммное устройство управления» определяет, что модульные МП являются МП с управлением на уровне микропрограмм. Программа работы таких МП задается в микропрограммном виде, т.е. непосредственно в микрокомандах.
Система команд модульного МП формируется из микропрограмм, т.е для каждой команды составляется микропрограмма. Такая система команд является наращиваемой и определяется «прошивкой» ПЗУ (записанной в ПЗУ информацией) микропрограммного устройства управления, а также ее объемом. Модульные МП обладают гибкостью в выборе не только системы команд, но и в выборе языков программирования вообще, которая достигается сменой или перепрограммированием БИС ПЗУ, входящей в состав микропрограммного устройства управления и допускающая реализацию практически любой системы команд и программирование на языках как низкого, так и высокого уровней. Кроме того, модульные МП отличаются высоким быстродействием благодаря возможности параллельных вычислений сразу в нескольких секциях.
Рис. 11.5.1. Упрощенная структурная схема модульного МП
Компактность и дешевизна цифровых систем на базе МП обеспечили возможность встраивать такие системы в разнообразные приборы, устройства и механизмы, придавая им тем самым новые полезные качества. Одним из основных потребителей МП на мировом рынке становится, в частности, информационно-измерительная техника. Применение МП открыло широкие возможности усовершенствования измерительной аппаратуры, повышения ее производительности, расширения функциональных возможностей, позволило увеличить сложность информационно-измерительных систем без существенного увеличения стоимости, существенно улучшить их метрологические характеристики. Так, например, точность может быть увеличена за счет использования цифровых методов коррекции систематических и случайных погрешностей. Надежность может быть повышена применением цифровой фильтрации, статистических методов обработки результатов, путем применения более надежных, но менее прецизионных элементов в аналоговых трактах, широкого использования высоконадежных цифровых элементов. Применение МП позволяет также улучшить эксплуатационные удобства измерительной аппаратуры за счет расширения ее многофункциональности, автоматизации измерительного процесса, получения функций измеряемой величины, использования методов самоконтроля и диагностики. Именно в ИИТ особенно эффективно проявляется такое важное свойство МП, как встраиваемость, возможность приблизить вычислительную технику непосредственно к объекту измерения, а иногда использование МП становится целесообразным в конструктивном объединении с первичными преобразователями информации.
При проектировании измерительной аппаратуры на базе МП разработчик сталкивается с вопросом о том, следует ли ему вообще использовать в приборе МП или прибегнуть к традиционному решению в рамках «жесткой логики». Как показывает накопленный опыт использование МП в средствах измерения оправдано в следующих случаях:
· требуемое для решения задачи число интегральных схем (корпусов) больше 30-50;
· прибор должен быть многофункциональным;
· предвидится дальнейшее развитие измерительной системы, наращивание, расширение ее функций;
· измерительная система должна взаимодействовать с большим числом входных и выходных устройств;
· требуется фиксация в памяти большого числа данных;
· высокие метрологические характеристики трудно достижимы обычным путем;
· должна производиться статистическая обработка результатов измерения;
· необходимо выполнение математических функциональных преобразований;
· требуются самокалибровка и самодиагностика;
· быстродействие МП достаточно высоко для проектируемого средства измерения.
Выбор типа МП определяется требуемым быстродействием, допустимым объемом оборудования, личным опытом разработчика и т.д. При этом следует иметь в виду, что процесс проектирования систем на базе МП, как правило, является итеративным. Это означает, что при выполнении каждого шага проектирования возможен возврат назад для корректировки принятых решений, причем может оказаться целесообразным смена типа МП.
Наилучшие показатели по объему оборудования и другим параметрам, а также наименьшая трудоемкость проектирования достигаются при использовании однокристальных МП. Если для решаемых задач однокристальные МП не подходят по разрядности, списку команд или быстродействию, переходят к рассмотрению секционированных МП среднего или высокого быстродействия.
Особенный интерес при проектировании измерительных приборов на базе МП представляет использование специализированных сигнальных процессоров. Такие процессоры позволяют осуществлять в реальном масштабе времени обработку сигналов, характеризующих быстропротекающие процессы. Сигнальные процессоры отличаются от универсальных МП своеобразной структурой и системой команд, позволяющей наряду со стандартными операциями по обработке данных реализовывать сложные специфические алгоритмы по обработке сигналов. Среди них алгоритм быстрого преобразования Фурье, благодаря которому осуществляется решение задач спектрального анализа сигналов, цифровой фильтрации и прочих, решение которых с помощью обычных универсальных МП требовало бы значительных затрат времени.
МП уже нашли применение в цифровых вольтметрах, частотомерах, осциллографах, генераторах сигналов, спектральных анализаторах и других приборах в самых различных областях народного хозяйства. В настоящее время наблюдается тенденция интегрирования сигнальных процессоров в персональные ЭВМ. Такое внедрение позволяет строить новые типы приборов, называемые виртуальными. Термин «виртуальные приборы» принадлежит американской фирме National Instruments. Виртуальные приборы — это реализация функций измерительных приборов и средств контроля программными средствами. Данный подход позволяет заменить дорогостоящее оборудование традиционных реальных приборов более дешевым, компактным и гибким, позволяющим «сконструировать» программный аналог измерительного прибора на базе персонального компьютера, оснащенного сигнальным процессором, платами АЦП и другим необходимым оборудованием и используя удобный графический интерфейс программного обеспечения.
§
Ранее, в гаве 3, мы уже упоминали об организации ЭВМ на примере неймановской структуры. Рассмотрим теперь более подробно принципы работы ЭВМ на примерах общей структуры (с раздельными шинами) и структуры с общей шиной.
МП, взятый отдельно, не может выполнять каких-либо полезных функций. Для реальной пользы от функционирования МП он должен использоваться совместно с памятью и устройствами ввода-вывода. Объединение МП с памятью и средствами связи с внешними устройствами ввода-вывода (такие средства называются интерфейсами) позволяет получить ЭВМ.
Знакомство с принципами работы таких ЭВМ начнем с рассмотрения ее структурной схемы, представленной на рис. 11.6.1. и содержащей минимальный набор элементов, которым должна обладать любая ЭВМ.
Рис. 11.6.1. Общая структурная схема ЭВМ
Элементом, производящим обработку данных, здесь является МП. МП и ряд вспомогательных схем, обеспечивающих его работу и работу всей ЭВМ, образуют так называемый процессорный модуль, к которому с помощью системных шин подключают периферийные модули ЭВМ. Данное разделение ЭВМ на указанные модули носит функциональный характер. Конструктивно все модули могут быть выполнены, например, на одной плате (одноплатные ЭВМ) или даже в одной БИС (однокристальные микроЭВМ).
Системные шины представляют собой набор соединительных проводников-линий, объединяющих одноименные выводы всех периферийных модулей. По каждой линии может быть передано значение одного разряда двоичного кода в виде уровней напряжения, соответствующих логическому нулю или логической единицы.
Периферийными модулями в рассматриваемой ЭВМ являются запоминающие устройства, в состав которых входят постоянное запоминающее устройство ПЗУ и оперативное запоминающее устройство ОЗУ, и регистры для подключения внешних устройств (например, клавиатуры, устройства визуального отображения информации, различных датчиков и исполнительных механизмов), называемые портами ввода или вывода.
Программа работы встроенной в какое-либо устройство ЭВМ хранится в ПЗУ. ПЗУ — это БИС памяти, в которую необходимая информация (программа, константы) заносится в процессе ее изготовления или непосредственно перед установкой в ЭВМ. Информация в ПЗУ сохраняется независимо от того, включен ли источник питания или выключен. Промежуточные данные в ЭВМ хранятся во внутренних регистрах МП, а также в ОЗУ. Данные могут как записываться в ОЗУ, так и считываться из него. При снятии питающего напряжения данные в ОЗУ теряются. При отладке программ, а также в случае использования ЭВМ в качестве универсальной, то есть выполняющей в разное время различные программы, ОЗУ используется и для хранения программ. В этом случае ЭВМ обычно имеет ПЗУ с малым количеством ячеек (с малым объемом) памяти, куда записывается небольшая программа-загрузчик, под управлением которой в начале работы в ОЗУ с какого-либо внешнего устройства загружается рабочая программа.
В представленной на рис. 11.6.1 структуре ЭВМ используются раздельные группы шин для связи портов ввода-вывода и запоминающих устройств с процессорным модулем. Такая организация удобна, когда необходимо реализовать параллельный режим обмена данными как с внешними устройствами ввода-вывода, так и с памятью. Каждая группа шин в этом случае отвечает за связь своего типа периферийного модуля с процессорным и позволяет осуществить независимый во времени обмен информацией. Однако это достигается за счет значительного увеличения аппаратных средств, участвующих в построении ЭВМ.
Часто при построении ЭВМ для связи процессорного модуля с периферийными используется одна группа шин. В этом случае микропроцессор обращается к внешним устройствам ввода-вывода как к элементу памяти. Данная организация проста с точки зрения задействованных аппаратных средств, но допускает лишь последовательный во времени режим обмена информацией между периферийными модулями и процессорным модулем, т.е. невозможно одновременно обратиться и к памяти и к портам ввода-вывода. Структурная схема ЭВМ с общей шиной представлена на рис. 11.6.2.
По роду передаваемой информации все шины разделены на три группы, образующие шину данных, шину адреса и шину управления. Характерной особенностью шины данных является ее двунаправленность, обеспечиваемая буферными регистрами, под которой понимается возможность передачи данных в разные моменты времени в различных направлениях, например, сначала от процессорного модуля к периферийному, а затем в обратном направлении. Ещё одна особенность этих буферных регистров заключается в том, что они являются трехстабильными, т.е. выходы этих регистров могут принимать третье пассивное или, так называемое высокоимпедансное состояние, благодаря чему регистр оказывается как бы отключенным от шины данных.












Каждый периферийный модуль ЭВМ имеет вход для приема сигнала ВМ (выбор модуля). В процессе работы ЭВМ с помощью этого сигнала «активизируется» только один из периферийных модулей. Это означает, что возможен обмен данными между ним и процессорным модулем. Выходы остальных модулей при этом остаются в высокоимпедансном состоянии (отключенном) и на работу ЭВМ не влияют.
Поскольку процессорный модуль должен обмениваться данными с определенными ячейками памяти запоминающих устройств или с определенными портами, то для возможности обращаться (адресоваться) к ним, каждая ячейка памяти и каждый порт ввода и вывода имеют свои индивидуальные номера — адреса. При обмене данными процессорный модуль устанавливает двоичный код, соответствующий адресу порта или ячейки памяти на шине адреса ЭВМ. Шина адреса является однонаправленной, т.е. адреса передаются только в одном направлении: от процессорного модуля.
Рассматриваемая ЭВМ содержит два модуля памяти: модуль ОЗУ и модуль ПЗУ. Некоторые ЭВМ могут содержать по несколько модулей ОЗУ и ПЗУ, каждый из которых имеет вход для приема сигнала ВМ. Во всех случаях, когда ЭВМ содержит более одного модуля памяти, часть кода адреса ячейки памяти должна указывать, к какому модулю памяти производиться обращение. Эта часть называется кодом выбора модуля. Оставшаяся часть кода адреса выбирает ячейку памяти внутри модуля и называется адресом слова. Дешифрация кода выбора модуля производится с помощью дешифратора выбора модуля памяти, который вырабатывает соответствующий сигнал ВМ. Дешифрация адреса слова осуществляется внутренним дешифратором модуля. Входы этого дешифратора (адресные шины модуля памяти) подключаются к соответствующим линиям шины адреса.
Рассматриваемая ЭВМ содержит один порт ввода и один порт вывода. Однако таких портов у ЭВМ может быть и гораздо больше. Все входы ВМ портов ввода и вывода подключаются через дешифратор номеров портов к линиям шины адреса ЭВМ. Порты «активизируются» при появлении на шине адреса кодов, соответствующих их номерам. Дополнительным условием «активизации» любого периферийного модуля является наличие соответствующего сигнала на шине управления. По линиям шины управления от процессорного модуля к периферийным поступают сигналы, определяющие выбор группы модулей (порты или модули памяти), а также направление обмена данными: сигнал чтения из модулей запоминающих – ЧТЗУ, сигнал записи в модули запоминающих устройств – ЗПЗУ, сигнал чтения из порта ввода – ЧТВВ, сигнал записи в порт вывода – ЗПВВ. По шине управления передаются также и другие сигналы, назначение которых будет рассмотрено ниже. Таким образом, при записи, например, числа в ячейку памяти ОЗУ процессорный модуль устанавливает на шине адреса адрес этой ячейки памяти, на шине данных – двоичный код записываемого числа и выдает на соответствующую линию шины управления сигнал ЗПЗУ. При этом с шины данных число записывается в адресуемую ячейку памяти ОЗУ. При чтении, например, данных из какого-либо порта ввода процессорный модуль устанавливает на шине адреса адрес этого порта и выдает на соответствующую линию шины управления сигнал ЧТВВ. При этом адресуемый порт ввода передает информацию со своего входа на шину данных, откуда она считывается процессорным модулем.
Работа ЭВМ, как и любого цифрового устройства, заключается в обработке исходных данных по заданному алгоритму. Под алгоритмом работы цифрового устройства понимается набор последовательно выполняемых действий по обработке исходных данных с целью получения требуемого результата. В ЭВМ алгоритм реализуется при выполнении программы, хранимой в памяти в виде последовательности команд. Выполнение любой команды начинается с чтения кода этой команды из запоминающего устройства. Для этого процессорный модуль устанавливает на шине адреса код адреса ячейки памяти, в который записан код команды и выдает на соответствующую линию шины управления сигнал ЧТЗУ. В результате код команды выдается из ячейки памяти на шину данных и считывается процессорным модулем. МП дешифрирует код операции команды, определяет какие действия ему необходимо выполнить и переходит к исполнению команды. Во время выполнения команды МП может обращаться к памяти для чтения или записи данных, к порту ввода для ввода исходных данных, к порту вывода для вывода полученных результатов. После окончания выполнения текущей команды МП переходит к выполнению очередной команды, т.е. обращается к ячейке памяти, где хранится код следующей команды.
Одним из центральных, определяющих моментов в проектировании ЭВМ является выбор совокупности унифицированных аппаратурных, программных и конструктивных средств, необходимых для реализации алгоритмов взаимодействия различных функциональных устройств. Такими средствами являются интерфейсы. Стандартизации в интерфейсе обычно подлежат: форматы передаваемой информации, команды и состояния, состав и типы линий связи, алгоритм функционирования, передающие и приемные электронные схемы, параметры сигналов и требования к ним, конструктивные решения.
К основным характеристикам интерфейса относят: функциональное назначение, тип организации связей, принцип обмена информацией, способ обмена, режим обмена, количество линий, число линий для передачи данных (разрядность), количество адресов, количество команд, быстродействие, длину линий связи, число подключаемых устройств (нагрузочная способность), тип линии связи.
По функциональному назначению интерфейсы разделяют на магистральные (внутримашинные), внешние интерфейсы периферийных устройств, системные (интерфейсы локальных сетей).
По типу организации связей интерфейсы подразделяют на магистральные, радиальные, древовидные, радиально-магистральные.
По принципу обмена информацией – с параллельной, последовательной и параллельно-последовательной передачей информации.
По режиму обмена информацией – с симплексным (только один из абонентов может в любой момент времени инициировать передачу информации), полудуплексным (любой абонент может начать передачу информации другому, если линия связи интерфейса свободна), дуплексным (когда каждый абонент может начать передачу информации другому в любой момент времени) и мультиплексным (когда в каждый момент времени связь может быть осуществлена между парой абонентов в любом, но единственном направлении от одного к другому) режимами обмена.
По способу передачи информации во времени различают интерфейсы с синхронной передачей данных (с постоянной временной привязкой в цикле сбора информации) и с асинхронной (без постоянной временной привязки к определенному временному интервалу цикла сбора). В первом случае передача синхронизируется специальными синхроимпульсами в виде последовательности прямоугольных импульсов. Во втором – управляющими сигналами ГОТОВНОСТЬ к обмену, НАЧАЛО, КОНЕЦ, КОНТРОЛЬ обмена.
В качестве примера магистральных интерфейсов можно привести асинхронные мультиплексные интерфейсы с параллельным способом передачи: 8-разрядные интерфейсы Microbus, Z-bus, шина iSBX; 16-разрядные интерфейсы Unibus (отечественный аналог ОШ), Multibus, Q-bus; 32-разрядные интерфейсы Versabus, MCA, EISA, VESA, VESA-2, PCI. В качестве интерфейсов периферийных устройств наиболее широкое распространение получили последовательный интерфейс RS-232 и параллельный интерфейс Centronix.
Следует отметить, что в составе микропроцессорных комплектов имеются специальные интерфейсные БИС, обеспечивающие совместимость по электрическим, конструктивно-технологическим и эксплуатационным параметрам процессорного модуля с внешними устройствами. Каждый микропроцессорный комплект характерен наличием, как правило, параллельных и последовательных интерфейсных устройств, выполненных в виде отдельных микросхем, представляющих собой регистры, буферные схемы и специализированные контроллеры. Такие устройства могут быть программируемыми и применяться для двунаправленной передачи данных и сигналов управления. Такие микросхемы используются как шинные формирователи для организации внутримашинных магистралей ЭВМ и как внешние интерфейсы периферийных устройств.
Все отмеченные преимущества микропроцессорных систем, обладающих возможностью функциональной перестройки программным путем, их привлекательная дешевизна, универсальность по сравнению с системами с «жесткой» неизменяемой структурой, традиционно применяемых для задач управления различными процессами и объектами обусловили широкое внедрение микропроцессорных систем и в эту сферу. По назначению среди систем управления можно выделить класс устройств, называемых контроллерами. Контроллер представляет собой микропроцессорную систему, адаптированную к задачам управления объектом. Контроллер содержит в своей структуре те же узлы, что и ЭВМ, но отличие состоит в более развитых внешних устройствах ввода-вывода, представляющих собой средства сопряжения с объектом и требующих большого количества каналов ввода-вывода (или портов). Выделим ряд отличительных особенностей, которыми должна обладать ЭВМ для осуществления функций контроллера:
· наличие ограниченного набора четко сформулированных задач, иными словами, при проектировании контроллеров учитывается их функциональное назначение осуществлять конкретные задачи управления;
· работа в реальном масштабе времени, т.е. обеспечение минимального времени реакции на изменение внешних условий;
· наличие развитой системы внешних устройств ввода-вывода, связанное с большим разнообразием характеристик датчиков, исполнительных механизмов и их количеством;
· решение основных функциональных задач и выработка управляющих воздействий;
· высокие требования по надежности и живучести, связанные с продолжительностью работы и сложными условиями эксплуатации;
· обеспечение автоматического режима работы или режима с участием человека;
· реализация функций диагностирования и тестирования как самого контроллера, так и состояния объекта управления.
Для ЭВМ в качестве контроллера не предъявляются, как правило, жесткие требования к объему используемой оперативной памяти, такие как для ЭВМ в обычном ее назначении. Объясняется это тем, что контроллер — устройство хотя и универсальное, но свойство универсальности проявляется исключительно в области управления. На контроллер не возлагаются требования к работе под управлением операционной системы, использованию системных программ разработки и отладки программного обеспечения и другие, характерные для ЭВМ более высокой организации. Кроме того, объем обрабатываемой входной информации не так велик и ограничен поставленной задачей в каждом конкретном случае, поскольку контроллер является в основном устройством местного управления. Для этих целей достаточно использования памяти небольшого объема.
Контроллеры могут проектироваться как самостоятельные устройства, и как элементы в составе иерархической структуры, на высшем уровне которой располагается ЭВМ более высокой организации. Примером может служить ПЭВМ, процессорный модуль которой управляет всеми операциями на высшем уровне, а интерпретацию его команд для отдельных устройств осуществляют местные контроллеры. Этим достигается распределение функций между процессорным модулем и контроллерами, освобождая первый от выполнения лишней работы, обеспечивая наибольшее быстродействие системы.
В качестве другого примера использования ЭВМ можно привести систему сбора данных. Подобные задачи сбора данных часто возникают в контрольно-измерительных системах. Так, например, с помощью системы сбора данных можно осуществлять опрос множества аналоговых каналов, формирующих аналоговые сигналы, отражающие те или иные характеристики технологического процесса. В такой системе в качестве устройств ввода могут использоваться коммутаторы аналоговых сигналов и аналого-цифровые преобразователи. В связи с большим количеством входных данных, предварительной их обработкой и преобразования к виду, необходимому для дальнейших действий, высокой динамичностью изменения входной информации для ЭВМ в качестве систем сбора данных предъявляются жесткие требования к объемам памяти, разрядности и быстродействию. Оперативная память таких систем должна быть большой емкости для хранения больших массивов данных. МП должен обладать возможностью адресоваться к большому количеству ячеек памяти, для чего необходима высокая разрядность шины адреса ЭВМ. Для обеспечения высокой точности предварительной обработки данных используемая ЭВМ должна иметь высокую разрядность шины данных для минимизации погрешности округления при вычислениях. И, наконец, система должна иметь высокое быстродействие для сбора и обработки быстропротекающих процессов, характерных особенно для аналоговых сигналов.
Система сбора данных может являться промежуточным звеном в цепи движения информации от ее источника к потребителю, когда те разнесены в пространстве. В этом случае ЭВМ системы сбора данных содержит энергонезависимую память необходимого объема, данные в которую могут как записываться, так и считываться неограниченное количество раз по аналогии с ОЗУ с той лишь разницей, что в энергонезависимой памяти данные с отключением источника питания не пропадают. С помощью такой системы опрашивается состояние объекта, находящегося на удалении. Данные, характеризующие его состояние, запоминаются в энергонезависимой памяти, при необходимости осуществляется предварительная их обработка, а затем переносятся в мощную ЭВМ, где обрабатываются дальше.
В последнее время характерен переход в области информационных систем от однопроцессорных управляющих и вычислительных систем к мультимикропроцессорным. Архитектура мультимикропроцессорных систем образуется соединением в одну систему большого числа микропроцессоров. Такой переход обусловлен необходимостью создания высокопроизводительных микропроцессорных систем с быстродействием в сотни миллионов операций в секунду, например в системах распознавания образов или обработки аналоговых сигналов. Особенно недостаточное быстродействие накладывает существенные ограничения при построении приборов для измерения и управления высокодинамичными процессами. Микропроцессоры в мультимикропроцессорных системах могут быть как универсальными, так и специализированными на выполнение определенных функций. Простейшим примером такой системы может служить персональный компьютер IBM класса AT и выше, содержащий в своей структуре центральный процессор и математический сопроцессор. В такой системе функции управления ресурсами и оборудованием системы, задаваемых программой работы и выполнения математических операций над числами с плавающей запятой разделены. Реализация первой возлагается на центральный процессор, а второй — на специализированный математический сопроцессор, благодаря чему время выполнения некоторых программ может быть сокращено в несколько раз. Особенно полезна мультимикропроцессорная организация при построении измерительных устройств с использованием специализированных сигнальных процессоров. В этом случае функции системы разделяются между центральным универсальным процессором или их группой и сигнальным процессором. Центральный процессор может выполнять, например, функции управления портами, обеспечивать индикацию результатов измерения на жидкокристаллическом индикаторе, обеспечивать связь с памятью системы, осуществлять загрузку рабочей программы и т.п. Специализированный сигнальный процессор берет на себя задачу цифровой обработки сигналов. Он имеет своеобразную архитектуру, позволяющую осуществлять распараллеливание операций по этой обработке. Так, например сигнальные процессоры серии ADSP-21хх фирмы Analog Devices имеют в своей структуре встроенную память данных, разделенную на две области, называемыми буферами. Пока первый буфер накапливает данные, поступающие с внешних устройств ввода, например с аналого-цифрового преобразователя, сигнальный процессор производит параллельно с этим обработку данных, запомненных ранее в другом буфере. Кроме того, сигнальные процессоры имеют набор специализированных команд, позволяющих реализовывать следующие алгоритмы: спектральный анализ, корреляционный анализ, цифровую фильтрацию, статистический анализ, выполнять различные математические операции над сигналами. Все эти особенности сигнальных процессоров, интегрируемых в мультимикропроцессорные системы, позволяют решать сложные задачи контроля, измерения и управления быстропротекающих процессов в реальном масштабе времени. В настоящее время подобные комплексы уже применяются в разных отраслях промышленности как переносные виброанализаторы, в метрологии как измерительные системы, службами безопасности для обнаружения внештатных подключений к телефонным линиям и прослушивающих устройств в исследуемом объеме, в геофизике, при транспортировке спецгрузов, в медицинской диагностике и т.д.
В общем случае при выборе из известных структур мультимикропроцессорных систем — с общим запоминающим устройством, с местным запоминающим устройством, шинной, конвейерной, радиальной, кольцевой, пирамидальной иерархической, с регулярным объединением через коммутаторы, с регулярным объединением через память, с соединением узлов системы по полному графу (когда все узлы связаны между собой) — следует исходить из внутренней структуры классов задач. Это означает, что выбираемая структура мультимикропроцессорной системы должна быть адекватна внутренней структуре решаемой задачи. Например, выбор структуры может определяться: количеством распараллеливаний операций по обработке информации, способами обмена данными между отдельными участками алгоритма, оптимальностью построения потоков данных и потоков команд в возможной программной реализации алгоритма и т.д. Если структура мультимикропроцессорных систем образуется соединением в одну систему большого числа микропроцессоров, запоминающих устройств и устройств ввода-вывода, иначе говоря большого числа ЭВМ, то такая структура будет называться мультимашинной или коллективом вычислителей. Ряд типичных структур мультимикропроцессорных систем: шинная; конвейерная; радиальная; кольцевая; пирамидальная иерархическая. Каждая микропроцессорная система, входящая в структуру, может управляться как самостоятельной программой обработки, так и общей для всей системы. Перспективной при построении данного класса систем является универсальная коммутационная структура, которая позволяет программным путем образовывать любые прямые каналы связи между входами и выходами отдельных процессоров, входящих в систему, а также между процессорами и отдельными секторами памяти или устройствами ввода-вывода, обеспечивая возможность реализации любой из перечисленных ранее структур. Среди других тенденций при построении мультимикропроцессорных систем можно отметить переход от сосредоточенной памяти к распределенной для всей системы, обеспечивающей прямой параллельный доступ для всех процессоров системы.
Кроме высокой производительности мультимикропроцессорная система позволяет обеспечить высокую надежность и возможность взаимозамены отдельных частей системы. Обеспечение надежности достигается созданием мультимикропроцессорных систем, позволяющих заменять вышедшие из строя процессоры или элементы памяти на эквивалентные сохранившиеся, которые в процессе работы менее загружены или не задействованы.
Контрольные вопросы
1. Опишите структуру микропроцессора.
2. Проведите классификацию микропроцессоров.
3. Какова эволюция развития МП?
4. Назовите основные узлы МП и охарактеризуйте их назначение.
5. Что такое многокристальные, замкнутые и секционированные МП?
6. Что общего и чем отличаются аналоговые МП от цифровых?
7. Что такое управление на уровне команд и на уровне микропрограмм?
8. Какие типы адресации используются в МП?
9. Что такое система команд МП? Какие их обозначения и почему используются при программировании?
10. Каковы особенности построения модульных и секционированных МП?
11. Каковы особенности использования ЭВМ на основе МП в качестве контроллеров?
Глава 12
§
Создание современных средств вычислительной техники связано с задачей объединения в единый комплекс различных блоков ЭВМ, устройств хранения и отображения информации, измерительных приборов, устройств для связи с объектом (УСО), аппаратуры передачи данных и непосредственно ЭВМ. Эта задача возлагается на унифицированные системы сопряжения – интерфейсы. Термин «интерфейс» обычно трактуется как синоним слова «сопряжение» и понимается как совокупность схемотехнических средств, обеспечивающих непосредственное взаимодействие составных элементов устройства, системы. Нередко это определение используется для обозначения составных компонентов интерфейса. В одних случаях под интерфейсом понимают программные средства, обеспечивающие взаимодействие программ операционной системы, в других – устройства сопряжения, обеспечивающие взаимосвязь между составными функциональными блоками или устройствами системы. Для акцентирования внимания на комплексном характере интерфейса используются термины «интерфейсная система», «программный интерфейс», «физический интерфейс», «аппаратурный интерфейс» и т.д.
Согласно ГОСТ 15971 – 74 под стандартным интерфейсом понимается совокупность унифицированных аппаратурных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных элементов в автоматических системах сбора и обработки информации при условиях, предписанных стандартом и направленных на обеспечение информационной, электрической и конструктивной совместимости указанных элементов. Структурная схема интерфейса показана на рис. 12.1.
Рис. 12.1. Структурная схема интерфейса: ФБ – функциональный блок; ИБ – интерфейсный блок; К – контроллер; УБ – управляющий блок
Проектирование интерфейсов выполняется на основе четырех основных взаимосвязанных принципов: группового, агрегатирования, унификации, взаимозаменяемости.
Принцип группового проектирования заключается в создании ряда (семейства) функционального и конструктивно подобных устройств (модулей, систем) определенного назначения, соответствующих разнообразным условиям их использования. Основная задача группового проектирования – достижение максимальной универсальности и совместимости ЭВМ, вычислительных комплексов (ВК) внутри проектируемого ряда. Примером эффективного использования принципа группового проектирования являются разработки ряда ЕС ЭВМ и СМ ЭВМ.
Принцип агрегатирования (модульного построения) состоит в рациональном разделении системы, устройства на совокупность более простых функционально и конструктивно законченных блоков (модулей) с целью совершенствования их технических характеристик, а также обеспечения высокопроизводительных способов производства и обслуживания. Пример применения модульного проектирования – разработка параметрических рядов модулей СМ ЭВМ и микропроцессорных больших интегральных схем (МПК БИС).
Принцип унификации заключается в минимизации номенклатуры составных узлов, блоков устройства, модулей, связей между ними при рациональной компоновки и эффективного функционирования устройства или системы. Интерфейс можно рассматривать как практический пример унификации связей и устройств сопряжения составных элементов ЭВМ и систем.
Принцип взаимозаменяемости основывается на способности модуля выполнять в устройстве различные установочные функции без дополнительной конструкторской обработки. Взаимозаменяемость – следствие процесса унификации. Эта характеристика определяет степень универсальности устройства. Примером взаимозаменяемости может служить так называемая универсальная интерфейсная карта (или программируемый интерфейс), являющаяся базой ряда устройств ввода – вывода (УВВ).
Основное назначение интерфейса – унификация внутри- и межсистемных связей и устройств сопряжения.
Основные функции интерфейса заключаются в обеспечении информационной, электрической и конструктивной совместимости между функциональными элементами системы.
Информационная совместимость – это согласованность взаимодействия функциональных элементов системы в соответствии с совокупностью логических условий.
Логические условия определяют структуру и состав унифицированного набора шин; набор процедур по реализации взаимодействия и последовательность их выполнения для различных режимов функционирования; способ кодирования и форматы данных, команд, адресной информации состояния; временные соотношения между управляющими сигналами, ограничения на их форму и взаимодействие.
Логические условия информационной совместимости определяют функциональную и структурную организацию интерфейса. Для большинства интерфейсов эти условия в основном стандартизируются или же носят рекомендательный характер. Условия информационной совместимости определяют объем и сложность схемотехнического оборудования и программного обеспечения, а также основные технико-экономические показатели – пропускную способность и надежность интерфейса, а также объем аппаратурных затрат на устройства сопряжения.
Электрическая совместимость – это согласованность статических и динамических параметров электрических сигналов в системе шин с учетом ограничений на пространственное размещение устройств интерфейса и техническую реализацию приемопередающих элементов.
Условия электрической совместимости определяют тип приемопередающих элементов; соотношение между логическим и электрическим состояниями сигналов и пределы их изменения; коэффициенты нагрузочной способности приемопередающих элементов и значения допустимой емкостной и резистивной нагрузки линии в устройстве; схему согласования линии; допустимую длину линии и порядок подключения линий к разъемам; требования к источникам и цепям электрического питания (при наличии в системе линий напряжения питания); требования по помехоустойчивости и заземлению.
Условия электрической совместимости влияют на такие характеристики интерфейса, как скорость обмена данными, конфигурация размещения устройств и расстояния между ними, предельно допустимое число подключаемых устройств и помехозащищенность. Требования электрической совместимости тесно связаны с характеристиками приемопередающих интегральных микросхем. Обычно тип приемопередающих элементов и большинство условий электрической совместимости регламентируются стандартом.
Конструктивная совместимость – это согласованность конструктивных элементов интерфейса, предназначенных для обеспечения механического контакта электрических соединений и механической замены схемных элементов, блоков и устройств.
Условия конструктивной совместимости определяют типы соединительных элементов (разъем, штекер и распределение линий связи внутри соединительного элемента); конструкции платы, каркаса, стойки; конструкции кабельного соединения.
В рекомендациях стандартных интерфейсов условия конструктивной совместимости не всегда определяются полностью. Например, в некоторых стандартах оговариваются лишь требования по использованию разъемов и типа кабелей, в других определяются размеры и перечень конструктивов.
Применение рассмотренных принципов проектирования тесно связано со стандартизацией.
§
Составными физическими элементами связей интерфейса являются электрические цепи, называемые линиями интерфейса. Часть линий, сгруппированных по функциональному назначению, называется шиной, а вся совокупность линий – магистралью. В системе шин интерфейсов условно можно выделить две магистрали: информационного канала и управления информационным каналом.
По информационной магистрали передаются коды данных, адресов, команд и состояний устройств. Аналогичные наименования присваиваются соответствующим шинам интерфейса.
Коды данных представляют информацию о процессах, протекающих в вычислительных системах (ВС). Обычно в машинных интерфейсах используется двоичное кодирование в формате внешнего кода, в измерительных интерфейсах – стандартные коды.
Коды адресов предназначены для выборки в магистрали устройств, узлов устройства, ячеек памяти. Обычно для адресации используется двоичный код, однако нередко применяется и позиционное кодирование, при котором каждому устройству выделяется отдельная линия. Примером реализации такой системы адресации является интерфейс 2К в СМ ЭВМ.
Коды команд используются для управления функционированием устройств и обеспечения сопряжения между ними. В стандартах на интерфейс регламентируется минимально необходимый набор команд, который может быть расширен пользователем за счет резервных полей в кодах. По функциональному назначению различают адресные команды управления обменом информацией между устройствами, команды изменения состояния и режимов работы. К наиболее распространенным командам относятся: «Чтение», «Запись», «Конец передачи», «Запуск».
Коды состояния представляют собой сообщения, описывающие состояния устройств сопряжения. Коды формируются в ответ на действия команд или являются отображением состояний функционирования устройства, таких как «Занятость устройства», «Наличие ошибки», «Готовность устройства к приему или передаче информации» и т.п.
В большинстве случаев коды данных, адресов, команд и состояний передаются по шинам интерфейса с разделением времени за счет мультиплексирования шин. Это достигается введением дополнительных линий для обозначения передаваемой информации, называемых линиями идентификации. Их применение позволяет существенно сократить общее число линий информационной магистрали интерфейса, однако при этом происходит снижение быстродействия передачи информации.
Магистраль управления информационным каналом по своему функциональному назначению делится на ряд шин: управление обменом, передачи управления, прерывания, специальных управляющих сигналов.
Шина управления обменом включает в себя линии синхронизации передачи информации. В зависимости от принятого принципа обмена (асинхронного, синхронного) число линий может изменяться от одной до трех. Асинхронная передача происходит при условии подтверждения приемником готовности приему и завершается подтверждением о приеме данных. При синхронной передаче темп выдачи и приема данных задается регулярной последовательностью сигналов. Линии шины управления обменом в случае двунаправленной информационной магистрали выполняются, как правило, двунаправленными.
Шина передачи управления выполняет операции приоритетного занятия магистрали информационного канала. Наличие этой шины определяется тем, что взаимодействие в большинстве интерфейсов выполняется по принципу ведущий – ведомый или задатчик – исполнитель, при котором ведущее устройство может брать управление шиной на себя в определенные моменты времени. При наличии в системе нескольких устройств, способных выполнять функции ведущего, возникает проблема приоритетного распределения ресурсов шины (арбитража). Состав и конфигурация линий этой шины зависят от структуры управления интерфейсом. Различают децентрализованную и централизованную структуры. В интерфейсах, предназначенных для объединения только двух устройств (соединения типа точка – точка), шина передачи управления отсутствует.
Шина прерывания применяется в основном в машинных интерфейсах мини — и микроЭВМ и програмно-модульных систем. Основная ее функция – идентификация устройства, запрашивающего сеанс обмена информацией. Идентификация состоит в определении контроллером (процессором) исходной информации о запрашивающем устройстве. В качестве информации об устройстве используется адрес источника прерывания либо адрес программы обслуживания прерывания (вектор прерывания).
Шина специальных управляющих сигналов включает в себя линии, предназначенные для обеспечения работоспособности и повышения надежности устройств интерфейса. К этим линиям относятся линии питания, контроля источника питания, тактирующих импульсов, защиты памяти, общего сброса, контроля информации и т.п.
§
Системные (или машинные) интерфейсы предназначены для объединения составных блоков ЭВМ в единую систему. Тенденции развития системных интерфейсов определялись необходимостью существенного увеличения процента операций ввода-вывода, номенклатуры и числа передающих устройств (ПУ). В связи с ростом удельного объема интерфейсного оборудования в составе мини- и микроЭВМ ужесточились требования к унификации и стандартизации интерфейсов.
Характерная особенность системных интерфейсов – возможность интерфейсов функционировать в нескольких режимах взаимодействия, что влияет на функциональный состав систем шин. Основными режимами взаимодействия являются ввод-вывод по программному каналу и по каналу прямого доступа в память (КПД). Традиционно на КПД возлагаются функции разгрузки процессора по передаче информации, а настройка КПД и обработка прерываний УВВ осуществляется под программным управлением процессора. Появление КПД в составе мини-ЭВМ было результатом компромисса между требованием простоты схемного оборудования и желанием повысить производительность ЭВМ за счет совершенствования систем ввода-вывода (СВВ). Совершенствование технологии сделало экономически обоснованным применение в составе мини- и микроЭВМ микропрограммируемых КПД на базе микропроцессоров (МП).
Интерфейсы микроЭВМ отличаются от интерфейсов мини-ЭВМ прежде всего ограничениями функционального и конструктивного характера. К ним относятся необходимость минимизации внешних выводов БИС, низкая мощность выходных сигналов, а также упрощение и удешевление самой микроЭВМ. Благодаря высокому уровню интеграции и универсальности составных блоков микроЭВМ обеспечивается минимальная номенклатура блоков. Как правило, это микропроцессор, модули ОЗУ, постоянного запоминающего устройства (ПЗУ) и ввода-вывода со встроенной интерфейсной частью.
В структуре связей микроЭВМ формируется внутренний интерфейс, объединяющий БИС микропроцессора, модулей ОЗУ, ПЗУ, управление вводом-выводом и внешний интерфейс, обеспечивающий сопряжение между внутренней шиной и ПУ.
При организации системных интерфейсов микроЭВМ характерна тенденция к минимизации числа шин за счет широкого использования их с разделением времени (мультиплексирование). Наиболее часто совмещаются линии адреса и данных, уменьшается число шин приоритетной выборки и упрощается процедура селекции.
Основные показатели СВВ и системных интерфейсов: тип и число КПД; возможность непосредственного обмена данными между ПУ, минуя процессор; число уровней приоритета; возможности системы адресации; максимальная скорость передачи при максимальной длине связей; число линий в системе шин. Выбор для микроЭВМ варианта системного интерфейса – это компромисс между простотой и обеспечением максимальной пропускной способности и производительности СВВ.
В качестве признака, характеризующего структуру связей в мини- и микроЭВМ, можно использовать степень совмещения информационных магистралей, операционных регистров (внутренних информационных шин процессора), ОЗУ, УВВ.
По функциональным возможностям, определяющим области их применения, системные интерфейсы могут разделяться соответственно по совокупности значений двух показателей: времени взаимодействия Т и максимальному расстоянию L взаимодействия между составными элементами на шине. При этом Т – время доступа процессора к ПУ, необходимое для пересылки информации, L – максимально возможная длина магистрали. В соответствии со значением {T, h} системные интерфейсы могут быть внутриплатными и сосредоточенными (L £ 0,5 м, Т£1мкс), локально-сосредоточенными (L£ 0,5 м, Т£ 10 мкс), локально-распределенными (15£ L £300 м, 5 мкс£ Т£100 мкс). В табл. 12.10 приведены системные интерфейсы, сгруппированные по функциональным возможностям.
Таблица 12.10 Классификация системных интерфейсов по назначению
| Назначение | Тип интерфейса |
| Внутриплатные СВВ | Microbus, модификация Q-bus, Интербис |
| Сосредоточение СВВ | Q-bus персональных ЭВМ РДР-11, магистраль мини-ЭВМ Nova, Microbus 8- разрядных МВС, Multibus 1 16- разрядных МВС |
| Локально – сосредоточенные СВВ | Q-bus микроЭВМ LSI-11, И41 микроЭВМ СМ1800 |
| Локальные СВВ | Unibus мини-ЭВМ РДР-11,”Общая шина” СМ ЭВМ |
| Локально – распределенные СВВ | Последовательная магистраль Micro Nova |
Примечание. МЕС – модульная ВС.
Указанные границы значений показателей могут быть расширены в результате применения дополнительных технических средств: расширителей и ретрансляторов, которые обеспечивают удлинение системной магистрали и позволяют увеличить нагрузочную способность. При построении ретрансляторов выполняют либо непосредственную параллельную передача всех сигналов шины, либо дополнительное их преобразование в последовательный код с последующим последовательно-параллельным преобразованием на приемном конце.
Таким образом, основная тенденция развития системных интерфейсов заключается в ориентации на универсальность в использовании, что обеспечивает широкие функциональные возможности в идеологии построения ВС. Повышение уровня стандартизации интерфейсов позволит резко снизить стоимость и увеличить объем массового производства микроЭВМ.
§
Интерфейсы РДР-11 представляют собой совокупность совместимых и частично совместимых магистралей, предназначенных для рационального построения мини- и микроЭВМ (табл. 12.11). основу всех модификаций интерфейсов данной группы составил интерфейс Unibus. Аналогичный интерфейс «Общая шина» положен в основу системного интерфейса СМ ЭВМ и других мини-ЭВМ.
Таблица 12.11 Интерфейсы ЭВМ с общей шиной
| Характеристика интерфейса | Мини-ЭВМ | МикроЭВМ | Персональные ЭВМ |
| Число функциональных линий (Ст./Доп.) | 56/60 | 34/36 | |
| Разрядность данных, бит | |||
| Разрядность шин адреса (Ст./Доп.) | 18/22 | 18/22 | |
| Число линий управления | |||
| Число уровней приоритетов (Ст./Доп.) | 2/5 | ||
| Арбитраж приоритетов ПУ | Централизованный цепочечный | Централизованный цепочечный | Централизованный радиальный |
| Управление режимом ПДП | Распределенное | Распределенное | Централизованное |
| Система адресации ПУ | Логическая | Логическая | Географическая и логическая |
| Идентификация наличия модуля | Отсутствует | Отсутствует | Имеется |
| Число подключаемых устройств | |||
| Длина магистрали, м | 0,5 | ||
| Минимальное время цикла, мкс | 0,4 | 0,5 | 0,5 |
Примечания: Доп. – допустимое; М — мультиплексируемое; Ст. — стандартное; ПДП – прямой доступ к памяти.
Совмещение информационных магистралей ОЗУ и ввода-вывода позволило максимально унифицировать внутренние связи ЭВМ, а также внесло качественно новые особенности в архитектуру и расширило схемотехнические возможности использования ЭВМ. Широкое внедрение интерфейса объясняется рядом следующих особенностей, принципиально отличающих его организацию от организации традиционных интерфейсов мини-ЭВМ первого поколения.
Общая система адресации ПУ и ОЗУ теоретически позволяет подключать значительно большее число устройств, чем в ЭВМ двухуровневой структуры, а также обрабатывать содержимое регистров ПУ с помощью адресных команд обращения в память, что исключает необходимость специальных команд ввода-вывода.
Общая система синхронизации асинхронного типа и возможность адресации со стороны ПУ позволяют подключать к процессору модули ОЗУ, ПУ различного быстродействия и производить обмен информацией между ОЗУ и ПУ по КПД, минуя ОЗУ и совмещая выполнение операций в процессоре. Режим прямого доступа к памяти обеспечивается контроллерами ПУ со встроенными КПД, при этом не исключается возможность децентрализованного обмена информацией между двумя ПУ (например, при перезаписи файлов на ВЗУ).
Реализация системы шин на основе приемопередающих элементов с открытым коллектором и кабельных соединений (в пределах 20 м) частично решает проблему расстояния и позволяет создавать двух- и многомашинные ВС, имеющие широкие функциональные возможности по резервированию ЭВМ и коллективному использованию несколькими процессорами наиболее дорогостоящих ПУ.
Однако данному системному интерфейсу свойственны следующие недостатки. Необходимость динамического перераспределения информационной магистрали между процессором и ПУ по принципу «задатчик — исполнитель» увеличивает общее время установления связи. Поэтому в мини-ЭВМ с интерфейсом «Общая шина» время реакции на прерывание несколько увеличивается. Увеличение длины и унификации связей интерфейса снижает надежность ЭВМ в целом, так как любое короткое замыкание или обрыв одной из линий вызывает отказ всей системы. Более сложна и техническая реализация интерфейсных модулей. Рассмотрим некоторые из них.
1.Системные интерфейсы мини-ЭВМ. Интерфейс «Общая шина» в ранних 16-разрядных мини-ЭВМ и в современных 16-разрядных многоплатных ЭВМ выполняет роль магистрали ввода-вывода для всех типов переферийного оборудования.
В высокопроизводительных 16-разрядных мини-ЭВМ (типа РДР-11/70) «Общая шина» выполняет роль магистрали ввода-вывода для ПУ малой и средней производительности. Для подключения контроллеров высокопроизводительных ВЗУ используют специализированную магистраль типа Massbus, содержащую 32-разрядную шину данных, связанную через соответствующий адаптер с оперативной памятью.
Указание особенности реализации системных магистралей мини-ЭВМ не обеспечивают их стандартизацию на уровне национальных стандартов. Кроме того, существенным ограничением на более широкое их применение является отсутствие в системных интерфейсах средств обеспечения режима мультипроцессорности.
2.Системный интерфейс микроЭВМ. В интерфейсе используется частичное мультиплексирование шин адреса и данных в целях уменьшения числа линий для реализации магистрали в БИС, корпус которой имеет 40 выводов.
В магистрали a-bus микроЭВМ на базе LSI-11/02 используют 16 двунаправленных линий, мультиплексируемых во времени относительно адресов и данных. Передачи по ним упорядочиваются с помощью управляющих линий, обеспечивающих идентификацию и направление обмена по информационным шинам, различение передачи слова и байта данных. Аналогичный интерфейс используется в ряде отечественных 16-разрядных микроЭВМ.
Для упрощения СВВ применяется специальный сигнал, идентифицирующий область адресов ПУ. Одноуровневая система управления прерываниями и операциями прямого доступа к памяти построена по цепочной схеме при включении-выключении питания. Дополнительные три линии выполняю системные функции: прекращение эмуляции РДР-11 и переход в режим работы с пульта, перезапись микрокода в динамической памяти, операций в реальном масштабе времени.
Развитие системного a-bus связано с созданием микроЭВМ общего назначения на базе МП, сравнимых по возможностям и производительности с процессорами мини-ЭВМ. Это потребовало расширения разрядности адресных линий до 22 и использования более развитой подшины управления прерываниями, применяемой в системной магистрали мини-ЭВМ.
3.Системный интерфейс персональных ЭВМ. При выборе системного интерфейса и периферийного оборудования персональных ЭВМ принимают во внимание главным образом требования обеспечения максимальной легкости подключения и отключения ПУ при минимальной стоимости за счет отказа от совместимости с соответствующими контроллерами ПУ микроЭВМ системы РДР-11.
Основная панель ЭВМ моделей 325 и 350 реализует новые принципы конструктивной простоты выполнения интерфейса. Это обеспечивает возможность установки отдельных модулей в любое посадочное место.
Интерфейс этих моделей использует мультиплексирование 22-разрядных адресов и 16-разрядных данных. Шина рассчитана на применение недорогих приемопередатчиков с тремя состояниями (восемь в корпусе), что обеспечивает более экономичное подключение к шине и улучшение электрических параметров линий шины при уменьшении числа посадочных мест до 8. Специальные средства доступа к шине исключают конфликтные ситуации между двумя одновременно работающими передатчиками. Использование стоп-сигналов «Разрешение задатчика» и «Разрешение исполнителя» позволяет задатчику управлять работой приемопередатчиков во время чтения шины таким образом, чтобы информация передавалась от исполнителя только в нужном направлении по адресу, указанному задатчиком. Это исключает потерю данных из-за импульсных помех от источника питания в момент переключения приемопередатчиков шины. Синхронизация операций прямого доступа к памяти осуществляется системным модулем.
Базовые функциональные компоненты (центральный процессор – ЦП, основное ОЗУ емкостью 256 КБайт, ПЗУ, содержащее программы диагностики и инициализации, энергозависимое ОЗУ с синхронизатором, контроллеры АЦПУ асинхронной и синхронной линии связи) подключается к внутренней секции интерфейса. Компоненты расширения моделей (массовая сменная и дополнительная память на гибких дисках типа «винчестер» и другие модули) подсоединяются к дополнительной секции интерфейса, связанной с основной через соответствующий модуль буфер. Подключение основных контроллеров ПУ и ОЗУ к внутренней секции интерфейса позволяет получить более высокие скорости передачи данных, а также экономию технических средств и физического объема.
Три линии приоритета 2, 1, 0 (в порядке убывания) обеспечивают управление интерфейсом. Устройство более высокого приоритета, имеющее запрос на обращение к интерфейсу, получает управление шиной только после завершения передачи данных устройством с наивысшим текущим приоритетом. Дополнительную гибкость обеспечивает независимость приоритетов прерываний и прямого доступа к памяти от положения модулей в основной панели, что упрощает подключение кабелей ПУ.
Еще одним преимуществом является используемая система назначения фиксированных адресов посадочным местам (географическая адресация). Для каждого из восьми физических гнезд резервируется один 128-байтовый сегмент страницы ввода-вывода. Дешифратор располагается на основной плате модели. Он вырабатывает сигнал выборки модуля в адресной части цикла. Семь младших разрядов адреса дешифрируются в модуле для идентификации одного из 128 байтов, к которому производится сообщение.
Каждый дополнительный модуль идентифицирует свое наличие индивидуальным сигналом. Сигнал посылается в системный модуль при включении питания и фиксируется в виде бита в соответствующей ячейке памяти страницы ввода-вывода. Диагностическая программа, хранящаяся в ПЗУ системного модуля, анализирует значения разрядов этого регистра, определяя размещение дополнительных модулей.
Каждый раз при включении питания предусмотрена полная проверка целостности структуры, работоспособности всех функциональных узлов модели и установленных дополнительных модулей. В случае обнаружения ошибок выдаются сообщения на графический дисплей терминала, а также индицируются ошибки на системном модуле.
12.6. Интерфейсы мини- и микроЭВМ NOVA
Для мини-ЭВМ NOVA фирмы Data General используется унифицированная для всех моделей семейства 47-проводная магистраль ввода-вывода, обеспечивающая подключение периферийного оборудования, работающего по программному каналу и КПД. Структура магистрали довольно типична для магистралей мини-ЭВМ общего назначения, однако отличается от них специальными режимами работы канала данных (инкрементными и накапливающими).
В инкрементном режиме по указанному контроллером ПУ адресу ячейки ОЗУ содержимое ячейки увеличивается на единицу. При работе в режиме накопления данных по указанному контроллером ПУ адресу ячейки ОЗУ ее содержимое суммируется с 16-разрядными данными ПУ. Результат сложения сообщается ПУ в виде 16-разярдного слова с сигналом переполнения (если оно произошло). Специальные режимы магистрали обеспечивают более эффективное использование мини-ЭВМ в системах автоматизации научных и научно-технических экспериментов, позволяя непосредственно получать в памяти гистограммы работы ПУ.
Интерфейс ввода-вывода микроЭВМ системы NOVA является уникальным для большинства микроЭВМ общего назначения. МикроЭВМ использует 16-разрядный МП с раздельными шинами адресов и ввода-вывода. Шины ввода-вывода содержат шесть линий, с помощью которых протокол параллельной магистрали реализуется в последовательном коде. Приемопередающие БИС, расположенные в процессоре и в контроллерах ПУ, осуществляют параллельно-последовательное преобразование протокола последовательной магистрали микроЭВМ в протокол параллельной 47-проводной магистрали ввода-вывода, за исключением специальных режимов передачи данных по КПД.
Основные ПУ микроЭВМ подключаются к последовательной магистрали общей длиной более 30 м непосредственно. Дополнительные ПУ подсоединяются к микроЭВМ посредством интерфейсной карты общего назначения. Карта содержит БИС, являющуюся предпроцессором шин ввода-вывода МП, контроллер выполняет шифрацию команд ввода-вывода, формирует запросы прерывания, а также управляет КПД. Контроллер содержит 16-разрядный регистр адреса памяти КПД; триггеры сигналов запроса, разрешения и запрещения прерывания, полярности сигналов данных, занятости, готовности; регистр кода устройства.
Карта имеет модификации, содержащие дополнительные панельки (под накрутку), которые дают возможность пользователю подключать необходимые ПУ и обеспечивать согласование с магистралями ввода-вывода и ПУ мини- и микроЭВМ других систем.
§
В 80-е гг. производились работы по созданию ВС, использующих различное системное оборудование из состава наиболее распространенных семейств мини- и микроЭВМ. Такие ВС строятся с использованием устройств согласования системных интерфейсов (УСИ), совместимых и несовместимых мини- и микроЭВМ.
По функциональному назначению УСИ можно разделить на два основных класса: гомогенные, обеспечивающие согласование интерфейсов системно совместимых мини- и микроЭВМ; гетерогенные, обеспечивающие согласование системных интерфейсов несовместимых мини- и микроЭВМ.
В каждом классе УСИ подразделяются на УСИ-мини и УСИ-микро, эмулирующие соответственно системные интерфейсы более мощных моделей ЭВМ (для согласования системного интерфейса микроЭВМ с системным интерфейсом мини-ЭВМ) и микроЭВМ (для согласования системного интерфейса мини-ЭВМ с системным интерфейсом микроЭВМ).
Наиболее распространенными стали гомогенные УСИ-мини, обеспечивающие на начальном этапе развития ВС из микроЭВМ подключение системных контроллеров, устройств оперативной и внешней памяти, устройств межсистемной связи, спецпроцессоров; построение низовых локально распределенных ВС с мощной системой ввода-вывода; подключение серийно выпускаемых УСО различного типа, в первую очередь для создания микроИВК (измерительно-вычислительный комплекс); наладку, контроль, испытание и промышленный выпуск сложных контроллеров ВЗУ, дисплейных процессоров, КАМАК-процессоров и т.д.; построение дешевых инструментальных систем для разработки проблемно ориентированного программного обеспечения для разрабатываемого периферийного оборудования мини-ЭВМ.
Основное назначение гомогенных УСИ-микро – создание инструментальных систем для разработки и документирования на мини-ЭВМ программного обеспечения ВС из микроЭВМ; подключение уникальных устройств спецпроцессоров микроЭВМ, построенных на основе последних достижений микроэлектроники, в первую очередь устройств оперативной памяти большой емкости, матричных процессоров, процессоров языков высокого уровня и т.д.; в ряде случаев экономия оборудования при подключении значительного количества периферийного оборудования за счет набора интерфейсных БИС.
Основное назначение гетерогенных УСИ – подключение к более мощным новым МП системных устройств, широко распространенных ВС из мини- и микроЭВМ, а также уникальных устройств других семейств, главным образом спецпроцессоров.
Рассмотрим основные решения, реализованные в ВС с УСИ, построенные на базе мини- и микроЭВМ систем РДР-11, Data General, Intel. Фирмы сосредоточили основные усилия на разработке совместных семейств моделей мини- и микроЭВМ. Модели получили широкое распространение, а их архитектурные решения, в частности, системные интерфейсы, приняты в различных странах как прототипы.
Проектирование УСИ предполагает решение следующих основных задач: на основе формальных моделей системных интерфейсов выработать единые принципы классификации, описания структурной и функциональной организации УСИ; используя известные методы, предложить оценки эффективности реализации УСИ различной архитектуры.
Системный этап проектирования УСИ включает в себя: рассмотрение возможных и определение допустимых альтернативных вариантов организации УСИ; определение критерия эффективности технического уровня структуры УСИ; выявление наиболее целесообразного для ВС варианта УСИ из множества допустимых альтернативных вариантов в условиях заданных ограничений. В качестве критерия эффективности выбираются показатели оптимальности, используемые при проектировании аналогичных устройств. В результате этапа определяется набор функций и структура УСИ, а также способы реализации интерфейсных функций.
Технический уровень УСИ характеризуется режимом передачи по программному каналу с типом коммутации уровней прерывания (гомогенные, гетерогенные); режимом передачи по прямому доступу (мультиплексный, монопольный); наличием дополнительных системных функций (расширение адресации, совмещение работы сопрягаемых интерфейсов, наличие КПД общего назначения и т.д.); технической реализацией (способ организации управления, тип используемых приемопередающих схем и интегральных микросхем (ИМС) и т.п.); типом структуры СВВ, определяющим структуру и в основном конструктивное исполнение УСИ.
Возможны следующие основные типы УСИ-мини, определяющие системную организацию подключаемых к УСИ устройств:
1) эмулирующие только программный канал мини-ЭВМ;
2) универсальные, полностью эмулирующие системный интерфейс;
3) универсальные с расширенными системными возможностями;
4) специальные, обеспечивающие эффективную работу системы ввода-вывода ВС в целом (типы 4.1 и 4.2. в табл. 12.12).
Характеристики УСИ-мини приведены в табл. 12.12 (на примере УСИ-мини для ВС на базе РДР-11 фирмы ДЕС).
Таблица 12.12 Характеристика УСИ — мини для РДР –11
| Операция УСИ-мини | Тип УСИ-мини | ||||
| 4.1 | 4.2 | ||||
| Передача по программному каналу | |||||
| Число коммутируемых линий прерывания | |||||
| Передача по прямому доступу | — | ||||
| Монопольный режим | — | — | |||
| Мультиплексный режим | — | ||||
| Реализация: аппаратная микропрограммная | — | — | |||
| Дополнительные системные функции: расширение адресации совмещение работы интерфейса встроенный КПД | — — — | — — — | — | — | — |
| Тип структуры СВВ с УСИ: локальная локально — распределенная | — | — | — | — | — |
Примечания: « » — имеется; «-» — отсутствует.
Устройства типа 1 наиболее просты, реализуются в виде одинарной платы микроЭВМ и устанавливаются в ее основную кассету. Разрабатываются на начальном этапе создания ВС, использующих устройства низкого и среднего быстродействия.
Универсальные УСИ второго порядка получили широкое применение в ВС на базе LSI-11/02, LSI-11/23 и т.д. Их организация позволяет подключать практически любое оборудование мини-ЭВМ, за исключением процессора. Наибольшая эффективность обеспечивается при использовании микроЭВМ с УСИ вместо мини-ЭВМ меньшей производительности и (или) надежности.
Универсальные УСИ с расширенными возможностями (третий тип) ориентированы на гибкие ВС на базе мощных МП с большим объемом ОЗУ и динамическим изменением приоритетов запросов. Основной недостаток – необходимость модернизации штатных операционных систем микроЭВМ.
Специальные УСИ типа 4 являются более быстродействующим вариантом УСИ типа 3 и в основном используются в многомашинных ВС с распределенным управлением.
Результаты качественной оценки вариантов приведены в табл. 12.13, где «0» — обычные возможности, «1» — улучшенные возможности, «2» — наибольшие возможности.
Таблица 12.13 Характеристика ВС, использующих УСИ-мини
| Операция ВС | Тип УСИ-мини | ||||
| 4.1 | 4.2 | ||||
| Расширение объема ОЗУ | |||||
| Производительность СВВ | |||||
| Система прерывания СВВ | |||||
| Разделение во времени работы на интерфейсе | |||||
| Мультисистемные возможности |
Контрольные вопросы
1. Дайте характеристику интерфейса.
2. Какие принципы организации интерфейса Вам известны?
3. Дайте общую характеристику системных интерфейсов.
4. Какие существуют типы устройств согласования системных интерфейсов?
Глава 13
§
Общая характеристика
Большое разнообразие функциональных групп периферийных устройств, различные физические принципы их работы, разные уровни сигналов, необходимых для передачи информации, привели к необходимости стандартизации интерфейсов ПУ одной функциональной группы. Интерфейсы ПУ получили название малых или устройство зависимых. Концепция малых интерфейсов в наиболее завершенном виде реализована в СМ ЭВМ.
Требования минимизации числа типов контроллеров, ПУ, УВВ и ВЗУ при весьма большом количестве механизмов ПУ, модулей УСО обусловило дальнейшую унификацию малых интерфейсов и разработку устройствонезависимых интерфейсов УСО, программируемых подсистем и ПУ различного функционального назначения и быстродействия. Стандартизированные на международном уровне устройствозависимые интерфейсы получили наибольшее применение в измерительных ВС, в том числе в измерительных ВК на базе СМ ЭВМ.
Рассмотрим кратко основные стандартные интерфейсы СМ ЭВМ двух типов. Интерфейсы применяются в зарубежных и отечественных ВС для подключения наиболее широко используемого периферийного оборудования основных функциональных групп.
Интерфейс ИРПР
Для обеспечения сопряжения большого числа различных УВВ в СМ ЭВМ принят базовый интерфейс ИРПР (интерфейс радиальный параллельный). Однако большое число УВВ требует различной логической организации ИРПР, в связи с чем стандартизируется второй уровень ИРПР для конкретного типа УВВ (первый уровень зависит от используемого устройства).
Таким образом, интерфейс с ИРПР относится к двухуровневым малым интерфейсам. На первом уровне унифицируются основной алгоритм обмена информацией и физическая реализация взаимодействия. Международным аналогом ИРПР является широко распространенный интерфейс BC 4421/. На втором уровне посредством сигналов состояния и управления учитывается специфика различных типов УВВ.
Описание ИРПР содержит технические требования и функциональные характеристики. Функциональные характеристики основаны на следующих принципах: метод передачи данных между источниками (И) и приемником (П) не зависит от типа устройства; на передаваемые данные не накладывается никаких ограничений; используется минимальное число сигналов управления и состояния.
Передача данных осуществляется между одним источником и одним приемником. Для дуплексного режима обмена требуется два сопряжения. Набор линий (сигналов) сопряжения, разделенных на три группы (заземления, управления, сигнальные), приведен в табл. 13.1.
Таблица 13.1. Характеристика линий интерфейса ИРПР
| Наименование | Обозначение | Направление | ||
| Русское | Латинское | |||
| Линия заземления | ||||
| Экран | Э | S | Пассивная линия | |
| Нуль | ОВ | Z | — “ — | |
| Линия управления | ||||
| Готовность источника | ГИ | SO | От И к П | |
| Готовность приемника | ГП | AO | От П к И | |
| Строб источника | СТР | SC | От И к П | |
| Запрос приемника | ЗП | AC | От П к И | |
| Линии сигнальные | ||||
| Данные (20…27) | Д0…Д7 | D0…D7 | От И к П | |
| Контрольный разряд младшего байта* | КР0 | DP0 | — “ — | |
| Данные (28…215) | Д8…Д15 | D8…D15 | — “ — | |
| Контрольный разряд старшего байта* | КР1 | DP1 | — “ — | |
| Состояние приемника | СП1…СП8 | A1…A8 | От П к И | |
| Состояние источника | СИ1…СИ8 | S1…S8 | От И к П | |
*эти линии необязательны и в сопряжении могут отсутствовать.
Линия Э служит для защиты от помех сигналов управления и передаваемых данных. Линия соединяется с металлическим корпусом устройства, подключенным к общей земле накоротко или через сопротивление 100 Ом. Линия ОВ подсоединяется к точке, принятой в данном устройстве за нулевую и изолированной от металлического корпуса. Необходимо обеспечить возможность подключения линии к металлическому корпусу.
Линии ГИ и ГП используются для передачи наиболее важной информации о рабочем состоянии устройства (логическая «1»). Правильная интерпретация нерабочего состояния (логический «0») обеспечивается в случае, если сигнал СТР имеет значение логического «0». При этом выходное рабочее состояние не должно зависеть от входного сигнала.
Линии СТР и ЗП используются для передачи сигналов обмена информацией между И и П по принципу «запрос-ответ» (рис. 13.2.1.). При этом не накладывается никаких ограничений на оба устройств.
Рис. 13.2.1. Временная диаграмма обмена в ИРПР:
Тк – время задержки; Тп – время восприятия сигнала СТР приемником; Ти – время восприятия сигнала ЗП источником; Т3 , Т1 – время выполнения операции источником; Т2 , Т4 – время выполнения операции приемником.
Для источника возможны два способа работы: совмещение подготовки информации с переходом значений сигналов СТР и ЗП в логический «0»; подготовка новой информации с момента установки сигнала ЗП в состояние логической «1». При первом способе обеспечивается боле высокая скорость передачи данных. Второй способ гарантирует правильность передачи информации и используется процессором при работе с приемником данных. Устройство, принимающее сигналы, должно компенсировать разницу в задержке принимаемых сигналов.
Линии данных используются для передачи до 16 разрядов данных от источника. Контрольные разряды КРО, КРI устанавливаются такими, чтобы сумма единиц в соответствующем байте данных была нечетной.
Сигналы СИ выдаются аналогично сигналам данных. Сигналы СП действительны в случае, когда на линии ЗП – значение логической «1», а на линии СТР – логического «0». В технически обоснованных случаях допускаются асинхронные сигналы СИ и СП.
Тип и требования к физической реализации и назначение контактов разъема для выхода на ИРПР не регламентируются и уточняются в ТУ на устройство. Интерфейсный кабель должен иметь волновое сопротивление 100 ± 20 Ом.
Уровни сигналов усилителей-передатчиков и усилителей приемников должны соответствовать уровням для интегральной микросхемы (ИМС) типа ТТЛ. В качестве передатчика должна применяться ИМС с открытым коллекторным входом с допустимым током нагрузки не менее 40 мА. Входной ток приемника не более 1,6 мА.
Передатчики не должны выходить из строя при коротком замыкании между сигнальной линией и линией ОВ, а также между двумя сигнальными линиями; работе на кабель, от соединенный на другом конце, или при отсоединении кабеля; работе на включенный или выключенный приемник непосредственно или через кабель.
Приемник должен воспринимать обрыв или отсутствие кабеля, а также выключение питания передатчика на логический «0»; не выходить из строя при соединении с включенным или выключенным передатчиком при любом его логическом состоянии.
Интерфейс должен быть работоспособным при использовании кабеля длиной до 15 м.
Интерфейс ИРПС
Интерфейс ИРПС (для радиального подключения устройств с последовательной передачей информации) обеспечивает единые способы обмена информацией различный УВВ (стартстопных, с буфером или без буфера) при работе с контроллером (К), при непосредственном соединении двух УВВ или двух контроллеров.
Подключение УВВ осуществляется радиально посредством кабеля. Использование в качестве соединительных линий выделенных пар в многожильных телефонных кабелях допускается только при наличии специального разрешения.
Интерфейс ИРПР позволяет осуществлять асинхронную передачу сигналов постоянным током (токовая петля) по четырехпроводной дуплексной связи (рис 13.3.1.). В технически обоснованных случаях допустима и цепь взаимосвязи, указывающая состояние УВВ. Взаимосвязью называется соединение между контроллером и УВВ. Задача взаимосвязи – передача последовательных двоичных сигналов с регулярной скоростью, определяемой стандартом или соглашениями.
Рис. 13.3.1. Схема обмена в ИРПР:
И – источник; П – приемник; К – контроллер; УВВ – устройство ввода-вывода.
Цепи взаимосвязи приведены в табл. 13.2. Знаками « » и «-» обозначено направление тока в петле. Сигналы в цепи 1 (передаваемые данные) возникают в источнике и проходят к приемнику. Цепи 1 и 2 в интервале между передаваемыми знаками или словами находятся в состоянии 1. Состояние 1 или 0 должно удерживаться в течении всей длины сигнала. В случае, если устройство предназначено только для приема, цепь 1 остается разомкнутой. Цепь 3 в состоянии 1 указывает готовность приемника (УВВ), а состоянии 0 приемник не готов принять новую информацию.
Таблица 13.2. Характеристика цепей интерфейса ИРПС
| Номер цепи | Наименование | Обозначение | Направление передачи |
| Передаваемые данные | ПД ПД- | От И к П От П к И | |
| Принимаемые данные | ПрД ПрД- | От П к И От И к П | |
| Готовность приемника (необязательная цепь) | ГП ГП- | От П к И От И к П |
Формат передаваемой информации ( в разрядах) следующий (рис. 13.3.2): старт; передаваемые данные – 5, 7 или 8; четность – 1 или отсутствует; стоп – 1, 1.5 или 2.
Рис. 13.3.2. Формат информации, передаваемой по ИРПР
Цепи взаимосвязи реализованы так, чтобы они питались током от передатчика (активный режим). Допускается питание от приемника (пассивный режим). Для двух вариантов ИРПР имеем (табл. 20.3.).
Таблица 13.3. Зависимость типа петли от тока
| Тип петли | Состояние | Ток, мА |
| 40-миллиамперная токовая петля | 30…50 10…5 | |
| 20-миллиамперная токовая петля | 15…25 0…3 |
Любая схема на приемной стороне рассчитана на исключение повреждения при замыкании проводников в цепи взаимосвязи.
Соединяемые оконечные устройства (К и УВВ) имеют взаимное гальванически разделенное электрическое заземление. Гальваническое разделении осуществляется всегда с той стороны цепи взаимосвязи, которая не питается током. Номинальное значение изоляционного напряжения гальванического разделения равно 500 В.
Максимальная длительность фронтов сигналов в конце линии, нагруженной на характеристическое сопротивление, не должна превышать 50 мкс. Цепи взаимосвязи должны обеспечивать передачу сигналов со скоростью 9600 бит/с на расстояние от 0 до 500 м. При передаче на большие расстояния пропорционально понижается скорость передачи. Сигналы взаимосвязи должны приближаться к прямоугольной форме.
Схема источника сигнального тока выполняется так, чтобы отключение нагрузки, короткое замыкание выходных зажимов или одного из них на землю не приводило к ее повреждению. Крутизна фронтов сигналов, измеряемых на зажимах передатчика, нагруженного сопротивлением 100 Ом, должна быть не более 1 мкс.
Любое включение на приемной стороне (приемнике) выполняется так, чтобы при длительной нагрузке максимально допустимым током цепи взаимосвязи оно не приводило к повреждению приемника. Падение напряжения, измеряемое на входных зажимах приемника, при состоянии 1 в цепи взаимосвязи не менее 5 В для телетайпа и 2.5 В для других устройств. Входная емкость приемника не более 10 нф. Приемник должен работать независимо от крутизны фронтов в диапазоне 0…50 мкс.
Двухпроводная линия в цепи взаимосвязи выполняется витой парой. Типы разъема и кабеля не регламентируются, по своим параметрам они должны удовлетворять приведенным требованиям.
Контрольные вопросы
1. Дайте общую характеристику малых стандартных интерфейсов.
2. Опишите интерфейс ИРПР.
3. Перечислите характеристики линий интерфейса ИРПР.
4. Опишите интерфейс ИРПС.
5. Каков формат информации, передаваемой по ИРПР?
Глава 14
§
По характеру взаимодействия с магистралью устанавливается 4 группы функциональных устройств: контроллер (К), источник (И), приемник (П) и источник-приемник (ИП).
Функциональные устройства соединяются при помощи 24 сквозных линий, по восьми передается сигнальный нуль, шесть из них образуют с сигнальными шинами передачи и управления витые пары, что позволяет повышать помехоустойчивость. Основные 16 линий магистрали по функциональному назначению подразделяются на тир отдельные шины.
Шина данных предназначена для передачи информации: адресов функциональных устройств, адресованных и неадресованных многолинейных универсальных программ, цифровых данных, данных о состоянии. Расположение разрядов байта соответствует номеру линии шины.
Шина синхронизации используется для передачи по трем линиям сигналов согласования, необходимых для обмена информацией. В интерфейсе принят способ реализации процедуры установления соответствия, основанный на анализе готовности всех приемников, синхронизации сопровождения передачи любой информации по шине данных и сигнала-квитанции от всех приемников, именуемый асинхронным групповым способом синхронизации.
Шина управления содержит 5 линий, по которым действуют одноименные управляющие сигналы при обмене информацией.
Сигнал ATN показывает, что по шине данных передаются адреса или субадреса функционального устройства, адресованных или неадресованных универсальных многолинейных команд или сообщения по одной из линий. Сигнал IFC обеспечивает приведение в исходное состояние всех интерфейсных узлов устройств. Сигнал SRQ является общим для всех устройств и показывает, что какое-либо устройство имеет запрос на обслуживание. Линия REN используется для передачи команды разрешения программного управления устройствами. Сигнал EOI служит для сообщения об окончании передачи источником массива информации или идентификации функционального устройства при параллельном опросе (в сочетании с сигналом ATN).
Функционирование устройств обеспечивается с помощью дистанционных сообщений, разделяемых на два класса: интерфейсные сообщения, кодируемые в соответствии с табл. 14.1., и сообщения устройств, к которым относятся программные данные (код типа и значения функции), основные данные, данные о состоянии устройства.
Таблица 14.1. Команды интерфейса IEC 625-1
| Наименование | Обозначение | Наименование | Обозначение | |
| Универсальные команды | UCG | Вторичные команды | ||
| Сброс универсальный | DCL | Отпирание параллельного опроса | PPE | |
| Запирание местного управления | LLO | |||
| Отпирание последовательного опроса | SPE | Запирание параллельного опроса | PPD | |
| Запирание последовательного опроса | SPD | Состояние устройств | ||
| Деконфигурация параллельного опроса | PPU | Реакция на параллельный опрос (ответ от устройств1…8) | PPP1…PPP8 | |
| Адресные команды | ||||
| Запуск устройства | GET | |||
| Переход на местное управление | GTL | Обслуживание запрашивается (ответ устройств при последовательном опросе) | PQS | |
| Конфигурация параллельного опроса | PPC | |||
| Сброс адресный | SDC | Байт состояния | TB | |
| Взять управление | TCT | Сообщения устройств | ||
| Адреса приемников | LAG | |||
| Не принимать | UNL | Байт данных | DAB | |
| Адреса источников | TAG | Нулевой байт | NUL | |
| Не передавать | UNT | |||
Универсальные команды вызывают соответствующее действие одновременно во всех устройствах. К ним относятся, кроме кодируемых, также однолинейные команды, совпадающие по смыслу с наименованием соответствующих линий (ATN, IFC, PEN).
Адресные команды вызывают соответствующее действие только в устройствах, запомнивших свой адрес. Интерфейс позволяет логически адресовать приемником любое из 31 устройства-источника. При последовательной двухбайтовой адресации число адресов устройств составляет 961 адрес источника и 961 адрес приемника, что обеспечивает адресацию отдельных функциональных узлов устройства. При этом функции T и L превращаются в TE и LE. Возможное число адресных (универсальных) команд равно 16, пять из каждой группы регламентированы стандартом.
Вторичные команды образуются за счет неиспользованных вторичных адресов, причем две регламентированные команды применяются при двухбайтовом управлении параллельным опросом.
Взаимодействие устройств в интерфейсной системе осуществляется в результате реализации десяти интерфейсных функций, пять из которых относятся к основным, а пять – к дополнительным (табл. 14.2.).
Таблица 14.2. Интерфейсные функции IEC 625-1
| Наименование | Обозначение | Назначение | |
| Латинское | Русское | ||
| Основные функции | |||
| Приемник информации (приемник с расширением) | L(LE) | П(ПР) | Прием данных (байта состояния) от других устройств. Действует после адресации |
| Синхронизация приема | AH | СП | Асинхронный прием каждого байта при помощи сигналов синхронизации |
| Источник информации (источник с расширением) | T(TE) | И/ИР/ | Передача данных (байта состояния) к другим устройствам. Действует после адресации источника |
| Синхронизация передачи источника | SH | СИ | Асинхронная передача каждого байта с помощью сигналов синхронизации |
| Контроллер | C | К | Передача адресов и команд и прием соответствующих сигналов |
| Дополнительные функции | |||
| Запрос на обслуживание | SR | ЗО | Асинхронная по отношению к операциям на магистрали передача контроллеру запроса на обслуживание |
| Параллельный опрос | PP | ОП | Передача по инициативе контроллера по линиям данных разрядов состояния источников без их адресации обычным способом |
| Дистанционно-местное управление | RL | ДМ | Разрешает устройству иметь дистанционное управление по командам магистрали, либо ручное (местное) |
| Очистка устройства | DS | СБ | Установка устройства (группы устройств) в исходное состояние |
| Запуск устройства | DT | ЗП | Обеспечивает возможность инициации какой-либо операции отдельным устройством или группой устройств |
В интерфейсе возможно наличие нескольких контроллеров, работающих в режиме разделения с передачей управления друг другу (по соответствующей команде «Взять управление»). При этом допускается прерывание «текущего» котроллера посредством передачи системным контроллером (СК) команды IFC. СК является единственным (ведущим) контроллером, который может формировать команды IEC и REN независимо от операций, осуществляемых текущим контроллером.
Применение БИС, реализующих часто используемые интерфейсные функции (табл.12.3.), открывает широкие возможности по построению экономичных МВС на базе серийных мини и микроЭВМ, одноплатных микромашин и МП, выходящих на магистраль IEC 625-1.
Таблица 14.3. Характеристика БИС для интерфейса IEC 625-1
| Фирма-изготовитель | Тип БИС | Напряжение питания, В | Рассеиваемая мощность, МВт | Скорость передачи данных, Кбайт/с | Частота генератора, МГц | Функции | Схемы поддержки БИС |
| FAIRCHILD | 96LS 488 | И/П | — | ||||
| INTEL | И/П/К | ||||||
| EC | |||||||
| MOTOROLA | MC68488 | 1..1,5 | И/П | ||||
| FAIRCH-ILD | |||||||
| AMLI | |||||||
| PHIL/SIGN | HEF 4738 | 4,5..12,5 | И/П | — | |||
| TEX. INST | TMS 9914 | — | И/П/К |
§
Развитие системы КАМАК характеризует следующие тенденции: модификация основного интерфейса EUR-4100 введением дополняющего его интерфейса EUR-6500, определяющего организацию многоконтроллерных систем в крейте; разработка принципиально нового интерфейса COMPEX (КОМПЕКС), обеспечивающего построение систем, более эффективно использующих магистраль крейта по сравнению с интерфейсом EUR-4100 (IEC 516) и EUR-6500 (IEC 729).
Интерфейс EUR-6500 предназначен для эффективного сочетания с ранее разработанным в части только внешней архитектуры интерфейсом IEC 516. В качестве контроллеров крейта (КК) могут использоваться модифицированные под EUR-6500 контроллеры типа А-2 (для параллельной ветви по EUR-4600) и типа L-2 (для последовательной ветви по EUR-6100), а также специализированные КК, выходящие на интерфейсы ввода-вывода различных мини- и микроЭВМ.
По стандарту EUR-6500 обеспечивается возможность иметь в крейте несколько дополнительных (вспомогательных) контроллеров (ДК), размещаемых в обычных местах и способных управлять операциями на магистрали крейта.
Предусмотрены два способа задания приоритетов контроллерам: наивысшего приоритета одному контроллеру посредством проходящей через все КК линии ACL; фиксированного приоритета контроллерам в соответствии с их расположением в крейте с помощью линий запроса RQ, общего для всех контроллеров; разрешения запроса (входной линии GI и выходной линии G0); запрета выдачи запросов.
Работа с несколькими ДК обеспечивается с помощью стандартной дополнительной магистрали крейта, размещаемой на основной (табл. 14.4.).
Таблица 14.4. Характеристика линий интерфейса EU – 6500
| Наименование | Обозначение | Назначение | |
| Вспомогательная магистраль | |||
| Запросы | AL1…AL24 | Передача от КК запросов | |
| Кодированные запросы | EN1…EN16 | Передача в КК в двоичном виде закодированных запросов | |
| Запрос | RQ | Признак запроса на управление от КК | |
| Запрет запроса | PI | Признак занятости магистрали и запрет арбитража | |
| Блокировка вспомогательной магистрали | ACL | Управление в ACL | |
| Передние панели контроллеров | |||
| Запрос | RQ | Признак запроса на управление от КК | |
| Разрешение-вход | GI | Разрешение от контроллера с более высоким приоритетом | |
| Разрешение-выход | GO | Разрешение управления контроллеру с более низким приоритетом | |
Интерфейс COMPEX предназначен для более эффективного использования магистрали крейта посредством расширения системы адресации введением двунаправленных линий данных и использованием освободившихся 24 линий для адреса, введения асинхронной системы передачи данных на магистрали, улучшения системы обработки запросов, модернизации системы блочных передач.
Интерфейс обеспечивает механическую и электрическую совместимость с интерфейсом IEC-516 при использовании магистрали крейта соответствующим образом (см. табл. 14.2.).
В интерфейсе определены пять новых кодов операций (функций их числа резервных в исходном варианте IEC-516), приведенных в табл. 14.5, 14.6.
Таблица 14.5. Характеристика линий магистрали крейта, используемых в интерфейсе СОМРЕХ
| Наименование | Обозначение | Источник сигнала |
| Информационные | ||
| Адрес | EW1…EW24 | K |
| Данные | ER1…ER24 | K |
| Синхронизации | ||
| Адрес и функции установлены | ES1 | K |
| Команда принята | ES2 | M |
| Известительные | ||
| Данные установлены | EQ | M, K |
| Вектор прерывания установлен | EX | M со старшим запросом |
| Конец блока данных | EA1 | М, К |
| Системные | ||
| Начальная установка | EZ | К |
| Сброс | EC | К |
| Резервные | ||
| EA2, EA4, EA8 |
Примечания: К – контроллер; М – модуль.
Таблица 14.6. Коды функций, дополнительно используемые в интерфейсе СОМРЕХ
| Код | Операция | Использование линий | |
| N | ER, EW | ||
| F (7) | Опрос прерываний | НЕТ | ER — вектор |
| F (13) | Чтение географическое | ДА | EW — адрес |
| F (29) | Запись географическая | ДА | ER — данные |
| F (15) | Чтение логическое | НЕТ | НЕТ |
| F (31) | Запись логическая | НЕТ | НЕТ |
Доступ КК к магистрали, которую можно рассматривать как функционально специализированную, осуществляется в соответствии с EUR-6500.
Операции чтения-записи КК выполняет следующим образом: получает доступ к магистрали; устанавливает команду (и данные при записи) и через 150 нс синхросигнал ES1; адресуемый модуль выдает (принимает при записи) данные и сигнал ES2; принимает данные (при чтении), снимает сигнал ES1 и через 50 нс снимает сигнал с линии адреса команды; модуль снимает сигнал ES2, а КК после этого освобождает магистраль.
Все задержки установления сигналов на линиях магистрали реализуются в КК. Минимальная длительность цикла не более 0,7 мкс.
Для предотвращения блокировки магистрали неисправным модулем каждый КК имеет таймер. При срабатывании таймера формируется сигнал ES1, по которому модули обязаны освободить магистраль (а также обеспечить реакцию на сигнал ACL от контроллера типа L-2.
Обработка запросов осуществляется централизованным способом под управлением блока запросов, который при поступлении запроса получает доступ к магистрали. Блок выдает команду F(7) и сигнал ES1. В ответ все модули, имеющие запросы, выдают на линии ER свои векторы прерывания, приоритет которых задается разрядами кода задачи.
Формат вектора прерывания: (R1…R10) – код задачи; (R11…R18) – адрес источника; (R19…R24) – адрес приемника.
Выдача и установление модулем на линиях ER вектора со старшим приоритетом аналогичны используемым в Fastbus. Следует отметить, что в проекте стандарта раздел обработки запросов приведен как рекомендательный.
Сигнал «Конец блока» выдается КК или модулем в цикле передачи последнего блока на линию EAI.
Анализ интерфейсов магистрали крейта КАМАК показывает, что COMPEX наилучшим образом обеспечивает применение 16-разрядных МП, памяти большой емкости и устройств с различным быстродействием, а также в наибольшей степени удовлетворяет общим требованиям к магистралям МВС с раздельными линиями адреса и данных. Это позволяет в ряде случаев эмулировать на магистрали крейта также режимы работы аналогичных интерфейсов мини- и микроЭВМ, что упрощает создание комбинированных систем в конструктиве КАМАК.
При реализации КК и ДК, обеспечивающих выход на интерфейсы EUR-4100 и COMPEX, можно эффективно совместно эксплуатировать имеющиеся и новые модули, обладающие существенно большой информационной вместимостью. Тем не менее интерфейс COMPEX не устраняет одного из наиболее существенных недостатков системы КАМАК по сравнению с аналогичными современными МВС – не исключает неудобную вспомогательную магистраль.
§
К интерфейсам данного типа относят несколько интерфейсов различного уровня стандартизации, совместимых логически снизу вверх по числу используемых линий адреса (от 16 до 24), данных (от 8 до 16), арбитража и прерываний. Интерфейсы имеют различные варианты конструктивной реализации, в основном соответствующие стандарту МЭК 297-3 (Европлаты). Модули чаще всего объединены на унифицированном основном каркасе, но при их увеличении магистраль основного каркаса соединяется гибкими ленточными кабелями с магистралями дополнительных каркасов.
Интерфейс IEEE P-796 наиболее близок к исходному интерфейсу Multibus фирмы Intel. Для магистрали выбран двухрядный 86-контактный разъем прямого сочленения, расположенный на длинной стороне платы. В спецификации приведены временные диаграммы операций и структуры сопряжений модулей в различных режимах передачи данных.
Интерфейс AMS-bus. По предложению ФРГ была разослана в качестве проекта международного стандарта спецификация на интерфейс, в основном аналогичный IEEE P-796, с реализацией на Европлатах двух размеров и разводкой магистрали по рем рядам одного разъема. По сравнению с интерфейсом Р-796 число линий адреса увеличено до 24 и оговорены функции второго разъема.
Оба интерфейса приняты МЭК с единым протоколом и структурой.
Интерфейс И41 СМ ЭВМ является вариантом исходного интерфейса Multibus с сохранением состава линий и их функций. Конструкция модулей – двойная Европлата СМ ЭВМ (ЕЗ) с двумя разъемами типа СНП59-96. На базе стандарта выпускается набор модулей широкой номенклатуры для организации объектно-ориентированных АСУТП, микроЭВМ СМ1800 и СМ1810 различных модификаций.
Интерфейс MPST является основой МВС управления ряда технологических процессов и информационных систем. По составу линий, протоколу и деталям работы интерфейс MPST похож на интерфейс Multibus. Некоторые упрощения (сокращение числа линий адреса, сигналов прерывания) позволили снизить общее число линий интерфейса до64. Используется плата Е2 с двумя разъемами, в которых задействованы только по 32 четных контакта в двух крайних рядах разъема С96. Интерфейс рассматривается как стандарт для некоторых отраслей промышленности.
Интерфейс ИК1 стандартизирован в рамках систем Микродат (КТС ЛИУС-2). Содержит раздельные 8-разрядные шины данных и 19-разрядные шины адреса, три старших разряда которых служат для выборки каркаса. Интерфейс может обеспечивать мультипроцессорный режим. Запросы и разрешения доступа к магистрали передаются по индивидуальным линиям. Модули унифицированы, используются платы 235*160 мм с одним или двумя 72-контактными печатными разъемами. На каркасе установлены розетки с многопроволочным контактом типа РПП72. На основе интерфейса создано несколько объектно-ориентированных систем АСУТП различного назначения.
Интерфейс IEEE P-796. Машиннонезависмый интерфейс является стандартизированным IEEE вариантом интерфейса Multibus. Интерфейс практически является стандартом для сосредоточенных МВС (главным образом для АСУТП) на базе одноплатных микроЭВМ различных архитектур. Стандарт поддерживают многочисленные фирмы, выпускающие большое количество совместимых с интерфейсом одноплатных модулей различного назначения.
Интерфейс (табл. 14.7.) позволяет использовать 8- и 16-разрядные задатчики и исполнители; расширенные конфигурации систем, компоненты которых имеют одинаковые адреса; параллельную и последовательную схемы арбитража; внеинтерфейсные и интерфейсные векторные прерывания.
Таблица 14.7. Характеристика линий интерфейса IEEE P-796
| Наименование | Обозначение | Назначение |
| Передача данных | ||
| Адрес | ADRO…ADRI3 | Выбор исполнителя |
| Данные | DATO…DATP | Передача и прием данных |
| Разрешение старшего байта | BHEN | Указание о двухбайтовой передаче |
| Управление передачей данных | ||
| Запись в память | MWTC | Признак выдачи адреса и данных для записи в память |
| Чтение из памяти | MRDC | Признак выдачи адреса для считывания данных из памяти |
| Запись в порт | IOWC | Признак выдачи адреса и данных для записи в порт |
| Чтение из порта | IORC | Признак выдачи адреса для считывания из порта |
| Подтверждение передачи | XACK | Признак завершения операции чтения или записи |
| Запрет обращения | INX1, INX2 | Признаки операций запрета обращения по адресам ОЗУ, ПЗУ, ПВВ (порт ввода-вывода) |
| Синхронизации и арбитража приоритетов | ||
| Синхронизация шины | BCLK | Для схем приоритетного арбитража |
| Постоянная частота | CCLK | Для системных модулей |
| Занятость шины | BUSY | Указание другим задатчикам |
| Запрос шины | BREQ | Признак того, что задатчик требует управления шиной |
| Общий запрос шины | CRRQ | Указание текущему задатчику, что другому требуется шина |
| Запросы прерывания | INTO…INT7 | Передача от ПУ запроса соответствующего уровня приоритета |
| Вход разрешения приоритета | BPRN | Передача данному задатчику разрешения управления шиной |
| Выход разрешения приоритета | BPRO | Передача через задатчик разрешения управления шиной |
| Управления состоянием системы | ||
| Начальная установка | INIT | Установка в исходное состояние |
| Питание | ||
| Основное питание | 15V 12V -12V | Восемь шин питания Две шины питания Две шины питания |
| Основная земля | GND | Восемь шин земли |
В табл. 14.7 приведены линии основного разъема; линии дополнительного разъема используются для дополнительных сигналов управления, электропитания, внутримодульных и межмодульных связей.
Система Multibus 11. Система представляет собой новую архитектуру магистралей, предложенную в рамках концепции “открытой системы”, разработанной фирмой Intel. Система основана на использовании идей взаимодополняющих нескольких шин, заложенных в Multibus 1, введение новых шин для улучшения рабочих характеристик системы в целом, особенно возможностей обработки данных, обеспечения мультипроцессорной работы и повышения надежности микропроцессорных МВС широкого диапазона производительности.
Структура каждой магистрали не зависит от типа процессора и учитывает требования последующих разработок. Основные характеристики Multibus 11 позволяют использовать систему для МВС различных типов.
Система Multibus 11 (рис. 14.6.1.) содержит пять независимых магистралей, две из которых. ISBX и MDMA используются в Multibus 1: IPSB – параллельная системная межмашинная; ILBX11 – параллельная локального расширения; ISSB – последовательная системная; ISBX (IEEE P-959) – параллельная расширения ввода-вывода; MDMA – параллельная каналов прямого доступа к памяти.
Рис. 14.6.1. Магистрали системы Multibus 11
Система Multibus 11 определяет межмодульную связь и протоколы передачи данных и позволяет при проектировании МВС выбирать необходимую комбинацию из этих пяти интерфейсов.
Одновременное использование магистралей IPSB, ILBX11, MDMA обеспечивает суммарную пропускную способность 96 Мбайт/с (IPSB – 40 Мбайт/с; ILBX11 – 48 Мбайт/с; MDMA- 8 Мбайт/с; ISBX – 10 Мбайт/с; ISSB – 2 Мбайта/с) без учета скорости передачи по магистрали ISBX, предназначенной специально для организации ввода-вывода.
Параллельные магистрали используют синхронное стробирование, повышающее помехоустойчивость. Соединители Р1 и Р2 (в варианте исполнения на 96 контактов) соответствуют стандарту DIN IEC 603-2.
Магистрали IPSB и ILBX11 содержат контрольные разряды по четности, а магистраль ISSB использует 16-разрядный код циклического избыточного кодирования.
Географическая адресация применяется в магистралях IPSB и ILBX11. На каждой плате имеются адресуемые регистры межсоединений, содержащие информацию о типе платы, варианте использования. Это позволяет с помощью соответствующих средств осуществлять дистанционное или локальное обнаружение ошибок.
Логические схемы арбитража реализуют два алгоритма децентрализованного кодового управления: по высшему приоритету и в порядке запроса при равенстве приоритетов.
Структура магистрали IPSB и концепция виртуальных линий прерывания обеспечивает для 20 модулей 255 источников и 255 приемников прерывания. Каждый модуль имеет свой адрес прерывания. Цикл прерывания магистрали позволяет любому модулю послать прерывание другому модулю с указанием в сообщении адреса источника и получателя. Другим решением является структура прерывания в псевдопамяти, где модуль источника записывает сообщение в пространстве адреса получателя для включения прерывания, что обеспечивает необходимое число виртуальных линий.
Передача сообщений со стандартным форматом и режимами обмена между процессорами по магистралям IPSB и ISSB позволяет использовать в мультипроцессорных системах новые технологии без изменения логики управления.
Магистраль ISSB является последовательным вариантом магистрали IPSB. Магистраль содержит максимум 32 ответвления на максимальной длине 10 м. Протокол магистрали CSMD/CD. Физический интерфейс образован двумя линиями, которые являются частью разъемного соединителя магистрали IPSB.
Основной магистралью Multibus 11 является магистраль IPSB. Мультиплексная структура магистрали имеет 8-, 16- или 32-разрядную сетку адреса и данных. Девять сигналов управления принимают различные значения в зависимости от типа выполняемой операции. Шесть сигналов арбитража служат дополнительно для начального запуска системы. Все сигналы магистрали синхронизируются с периодом тактового импульса. Обмен данными осуществляется по принципу «Запрос-Ответ».
В Multibus 11 применяются два типа типоразмера Европлат (233*220 и 100*220 мм).
Технические характеристики системы Multibus 11 рассмотрены и изучены многочисленными промышленными фирмами, часть из которых инициировала разработку интерфейсных БИС и микропроцессорных МВС.
§
Возросшие требования физики высоких энергий (необходимость сбора данных с большого числа каналов (более 1000) с максимально возросшей скоростью, предварительной обработкой данных со скоростью, обеспечивающей косвенный доступ к данным второго уровня, параллельной и распределенной обработкой данных) и достижения в микроэлектронике и технологии приборостроения создали предпосылки появления модульной системы Fastbus – более совершенной по архитектуре и быстродействию, чем система КАМАК.
При разработке системы Fastbus были более полно учтены все новые тенденции: высокая скорость передачи данных в асинхронном и синхронном режимах с обеспечением последнего при блочных передачах; простота организации быстрого сканирования разбросанных данных; единый протокол операций во всей системе, в том числе возможность операций с несколькими исполнителями одновременно: 32-разрядное адресное пространство и 32-разрядные адресные данные; гибкая логическая и географическая адресация; децентрализованный арбитраж; модульность конструкций; надежное тестирование системы; практически неограниченное развитие системы при произвольной структуре.
Структурная схема системы Fastbus.приведена на рис.14.7.1. Система состоит из отдельных сегментов, содержащих магистраль, к которой присоединяются модули. Конструктивно сегменты могут быть выполнены в виде крейтов (крейтный сегмент) или представлять собой многожильный кабель с соответствующими отводами для подключения отдельных устройств (кабельный сегмент). Связь между сегментами осуществляется межсегментными соединителями, или сегментаторами. К сегменту подключаются устройства двух классов: задатчики М, иницирующие операции и исполнители /S/, отвечающие за команды задатчиков. К одному сегменту может быть подключено несколько задатчиков.
Рис. 14.7.1. Структурная схема системы Fastbus:
ИСС — интерфейс связи сегментов; М — модуль, МС — магистраль сегмента
В таблице 14.8 приведены характеристики линий интерфейса. Линии адреса и данных объединены; синхронизация адреса и данных на них осуществляется парами сигналов AS и AK, DS и DK, которые сохраняются до конца операции. Во время цикла передачи данных задатчик выставляет соответствующий сигнал на линию RD для операций чтения или данные на линию AD для операций записи, а затем синхросигнал DS. Операция заканчивается снятием задатчиком всех сигналов с линий, включая AS. В ответ исполнитель снимает все свои сигналы с линий, включая AK.
В системе могут осуществляться следующие типы передач: блочные, в которых цикл адреса сопровождается несколькими типами данных; смешанные, когда после одного цикл адреса следует несколько циклов с передачей данных в разных направлениях; параллельные на отдельных сегментах, причем задатчик одного сегмента во время операции может быть связан с исполнителем на другом сегменте.
Таблица 14.8. Характеристика основных линий интерфейса Fastbus
| Наименование | Обозначение | Число линий | Назначение |
| Информационные | |||
| Адрес/Данные | AD0…AD31 | Передача адресов и данных | |
| Четность | PA | Разряд четности для информации | |
| Разрешение четности | PE | Признак наличия разряда четности | |
| Синхронизация адреса | AS | Задатчик инициирует цикл адреса | |
| Подтверждение адреса | AK | Ответ исполнителя во время цикла адреса | |
| Синхронизация данных | DS | Задатчик инициирует цикл данных | |
| Подтверждение данных | DK | Ответ исполнителя во время цикла данных | |
| Управления обменом | |||
| Управление | GL0…GL2 | Указание типа и режима обмена | |
| Чтение | RD | Указание направления передачи данных | |
| Ожидание | WT | Задержка операции | |
| Управление адресацией | |||
| Разрешение географического адреса | EG | Разрешение географической адресации | |
| Географический адрес | GA00…GA04 | Задание адреса модуля согласно его расположению в каркасе | |
| Арбитража | |||
| Вектор арбитража | AL | Указание уровня приоритета задатчика | |
| Запрос арбитража | AR | Запрос цикла арбитража | |
| Подтверждение арбитража | GK | Установка управления сегментом | |
| Запрет запроса арбитража | AI | Признак наличия необслуженных запросов | |
| Разрешение | AG | Разрешение цикла арбитража | |
| Системные | |||
| Сброс шины | RB | Установка модулей сегмента в исходное состояние | |
| Остановка шины | BH | Удержание шины в неактивном состоянии | |
| Последовательная передача | TX | Передача информации при диагностике | |
| Последовательный прием | RX | Прием информации при диагностике | |
| Вспомогательные: цепочка, левый/правый | DL/DR | 3/3 | Операции, не относящиеся к нормальному протоколу |
| Резервные | R | — |
Физическая реализация.
Конструкции моделей и крейтов зависят от вида охлаждения: при воздушном – типа А, а при водяном – типа W.
Далее приведены основные размеры крейтов и модулей, мм:
| Основные крейты | Тип А | Тип W |
| 5 В, 300 А-5,2 В, 300 А— 2 В, 200 А | — — -2 В, 5 А | |
| Вспомогательные крейты | 15 В, 50 А -15 В, 50 А | 15 В, 20 А -15 В, 20 А |
| Дополнительные крейты | 28 В,50 А | 28 В, 75 А |
Используемые ЭСЛ — схемы способны работать на нагрузку 50 Ом. Это позволяет четко регламентировать динамические характеристики обмена в интерфейсе и получить при синхронных передачах предельное быстродействие 80 Мбайт/с. Применение ЭЛС – схем привело к ограничениям на разводку кросс-плат, ответвлений, сигнальных и обратных линий (не менее одной на четыре сигнальные).
Для обеспечения работы крейтов при полном выполнении модулями предусмотрено использование следующих номиналов питающих напряжений с соответствующими им токами:
| Габаритные размеры крейта | Тип А | Тип W |
| 4833354,83438 | 48334003406,4 | |
| Размер окна в крейте | 431,83323,3 | 431,83323,3 |
| Расстояние между модулями | 16,51 | 21,8 |
| Число мест в крейте | ||
| Размеры платы модуля | 4133322,6 | 4233322,6 |
Мощность, рассеиваемая одинарным модулем, не более 75 Вт. Мощность, рассеиваемая крейтом, не более 1920 Вт.
Основные тенденции развития магистрально- модульных многомикропроцессорных систем обусловлены специализацией машинонезависимых интерфейсов, стандартизируемых крупными фирмами, национальными и международными комиссиями и организациями.
Интерфейсы характеризуются достаточно развитой архитектурой. Внешняя и внутренняя архитектура интерфейсов системы КАМАК ориентирована на создание полипроцессорных однокаркасных систем с использованием технических и программных средств КАМАК на база исходных стандартов.
Система интерфейсов Multibus1 объединяет большое число интерфейсов различного ранга стандартизации, совместимых логически снизу вверх по числу используемых линий адреса, данных, арбитража и прерываний. Несколько вариантов конструктивной реализации на базе стандарта МЭК 297 широко используются во многих отраслях промышленности.
В интерфейсе VME-bus удачно проработаны системные вопросы. В документации к интерфейсу даны рекомендации по построению крейтов двух основных уровней конструктивной реализации с переменной разрядностью шин адресов и данных.
Интерфейсы с мультиплексными шинами, разработанные в последние годы, наиболее полно отвечают требованиям построения как экономичных МВС на базе интерфейсов типа Eurobus, так и МВС с расширенными возможностями на базе интерфейсных систем Р – 896, Multibus 2, Fastbus. В интерфейсах используются децентрализованный арбитраж, 32- разрядные совмещенные шины адреса и данных, режимы работы с различной разрядностью, режим блочной передачи, системный последовательный канал ,совместимый с основной магистралью.
Контрольные вопросы
1. Дайте общую характеристику программно-модульного интерфейса IEC625-1.
2. Какова логическая организация интерфейса?
3. Перечислите схемы поддержки для интерфейса.
4. Какие существуют БИС для интерфейса?
5. Приведите примеры локальные систем на базе интерфейса?
6. Каким представляется развитие интерфейсов системы КАМАК?
7. Опишите интерфейсы системы Multibus.
8. Опишите интерфейс системы Fastbus.
Глава 15
§
Последовательный порт (RS-232)
Последовательный интерфейс используется для большинства периферийных устройств, таких как плоттер, сетевой принтер, мышь, внешний модем и т.д. До настоящего времени для последовательной связи IBM PC-совместимых компьютеров используются адаптеры с интерфейсом RS-232С (новое название EIA-232D). В современном IBM PC-совместимом компьютере может использоваться до четырех последовательных портов, имеющих логические имена соответственно COM1, COM2, COM3 и COM4. Основой последовательного адаптера является микросхема UART (Universal Asynchronous Receiver/Transmitter) – универсальный асинхронный приемопередатчик. Обычно используется микросхема UART 16550A. Она имеет 16-символьный буфер на прием и на передачу и, кроме того, может использовать несколько каналов прямого доступа в память DMA. При передаче микросхема UART преобразует параллельный код в последовательный и передает его побитно в линию, обрамляя исходную последовательность битами старта, останова и контроля. При приеме данных UART преобразует последовательный код в параллельный (разумеется, опуская служебные символы). Непременным условием правильной передачи (приема) является одинаковая скорость работы приемного и передающего UART, что обеспечивается стабильной частотой кварцевого резонатора. Основным преимуществом последовательной передачи является возможность пересылки данных на большие расстояния, как правило, не менее 30 метров.
В IBM PC-совместимых персональных компьютерах из 25 сигналов, предусмотренных стандартом RS-232, используются в соответствии с EIA только 9; таким образом, в данном интерфейсе применяются как 25-, так и 9-контактные разъемы типа DB-Shell. В спецификации PC99 подчеркивается, что единственным устройством, использующим последовательный и параллельный порты, в новых ПК может быть только принтер. Остальные устройства должны использовать шины FireWire или USB.
Параллельный порт (LPT)
Параллельный порт (LPT) в IBM PC-совместимом компьютере чаще всего используется для подключения принтера, поэтому его называют также портом принтера. Персональный компьютер работает максимум с тремя параллельными портами, которые имеют логические имена LPT1, LPT2 и LPT3. Подсоединение кабеля к адаптеру параллельного интерфейса производится через 25-контактный разъем типа DB-Shell (DB-25), а со стороны принтера используется специальный 36-контактный разъем типа Centronics. Поскольку частота передаваемых сигналов может достигать десятков кГц, длина таких кабелей обычно не превышает трех метров. Известно несколько модификаций параллельных скоростных интерфейсов, например EPP (Enhanced Parallel Port) и ECP (Extended Capabilities Port). Эти интерфейсы обеспечивают скорость до 2-5 Мбайт/с и поддерживают двустороннюю передачу данных. В настоящее время обе модификации объединены в одном стандарте IEEE 1284.
15.3. Универсальная последовательная шина USB
Шина USB (Universal Serial Bus – универсальная последовательная шина) появилась по компьютерным меркам довольно давно – версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами – Intel, DEC, IBM, NEC, Northen Telecom и Compaq.
Основная цель стандарта, поставленная перед его разработчиками – создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание немедленно после его подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера – контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.
Возможности USB следуют из ее технических характеристик:
l Высокая скорость обмена (full-speed signaling bit rate) – 12 Мб/сек.;
l Максимальная длина кабеля для высокой скорости обмена – 5 м.;
l Низкая скорость обмена (low-speed signaling bit rate) – 1.5 Мб/сек.;
l Максимальная длина кабеля для низкой скорости обмена – 3 м.;
l Максимальное количество подключенных устройств (включая размножители) – 127;
l Возможно подключение устройств с различными скоростями обмена;
l Отсутствие необходимости в установке пользователем дополнительных элементов, таких как терминаторы для SCSI;
l Напряжение питания для периферийных устройств – 5 В;
l Максимальный ток потребления на одно устройство – 500 мА (это не означает, что через USB можно запитать устройства с общим током потребления 127 x 500 мА = 63.5 A).
Целесообразно подключать к USB практически любые периферийные устройства, кроме цифровых видеокамер и высокоскоростных жестких дисков. Особенно удобен этот интерфейс для подключения часто подключаемых/отключаемых приборов, таких как, например, цифровые фотокамеры. Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение.
Возможность использования только двух скоростей обмена данными ограничивает применяемость шины, но существенно уменьшает количество линий интерфейса и упрощает аппаратную реализацию. Питание непосредственно от USB возможно только для устройств с малым потреблением, таких как клавиатуры, мыши, джойстики и т.п.
Топология
Пиктограммой, изображенной на рис. 15.3.1, официально обозначается шина USB как в Windows 98, так и на задних стенках компьютеров, а также на всех разъемах USB. Эта пиктограмма на самом деле отображает идею топологии USB. Топология USB практически не отличается от топологии обычной локальной сети на витой паре, обычно называемой «звездой». Даже терминология похожа – размножители шины также называются хабами (от англ. HUB – концентратор).

Рис. 15.3.1. Обозначение шины USB
Условно дерево подключения USB-устройств к компьютеру можно избразить как показано на рис. 15.3.2 (цифрами обозначены периферийные усройства с USB интерфейсом).
Рис. 15.3.2. Дерево подключения USB-устройств к компьютеру
Вместо любого из устройств может также стоять HUB. Основное отличие от топологии обычной локальной сети – компьютер (или host-устройство) может быть только один. HUB может быть как отдельным устройством с собственным блоком питания, так и встроенным в периферийное устройство. Наиболее часто хабы встраиваются в мониторы и клавиатуры.
Рис. 15.3.3. Пример соединения периферийных устройств в USB-сеть
На рис. 15.3.3 показан пример правильного соединения периферийных устройств в условную USB-сеть. Так как обмен данными по USB идет только между компьютером и периферийным устройством (между устройствами обмена нет), то устройства с большими объемами приема и/или передачи данных должны подключаться либо к самому компьютеру, либо к ближайшему свободному узлу. В данном случае наивысший трафик у колонок (~1.3 Мб/с), затем идут модем и сканер, подключенные к HUB’у в мониторе и завершают цепь клавиатура, джойстик и мышь, трафик у которых близок к нулю.
Может возникнуть вопрос – почему колонки имеют такой высокий трафик? Дело в том, что колонки с USB интерфейсом существенно отличаются от обычных. Для использования таких колонок не требуется звуковая карта. Драйвер колонок отправляет оцифрованный звук сразу в колонки, где с помощью АЦП (ADC) он преобразуется в аналоговый сигнал и подается на динамики. .
Кабели и разъемы
Сигналы USB передаются по 4-х проводному кабелю, схематично пока
занному на рис. 15.3.4.
Рис. 15.3.4. Схема 4-х проводного USB-кабеля
Здесь GND – цепь «корпуса» для питания периферийных устройств, VBus – 5V также для цепей питания. Шина D предназначена для передачи данных по шине, а шина D – для приема данных.
Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.
Как видно из рисунка, невозможно подключить устройство неправильно, так как разъем серии «А» можно подключить только к активному устройству на USB хабу или компьютеру, а серии «В» только к собственно периферийному устройству.
| Нумерация контактов USB разъема. | ||
| Номер контакта | Назначение | Цвет провода |
| V BUS | Красный | |
| D — | Белый | |
| D | Зеленый | |
| GND | Черный | |
| Оплетка | Экран | Оплетка |
Цоколевка разъемов USB показана на рис. 15.3.5.
Рис. 15.3.6. Цоколевка разъемов USB
Разъем серии «А» можно подключить только к активному USB устройству: хабу или компьютеру, а серии «В» только к собственно периферийному устройству.
В режиме низкой скорости USB-сеть может включать такие устройства, как: клавиатуры, мыши, джойстики, матричные принтеры, дигитайзеры, цифровые фотокамеры, модемы для обычных телефонных линий, цепи управления монитором компьютера, а в режиме высокой скорости: колонки, ISDN модемы, внешние накопители класса Iomega Zip, офисные АТС, лазерные и струйные принтеры.
§
(ISA, EISA, MCA, PCI)
Шина ISA (Industrial Standard Architecture)
Шина, как известно, представляет из себя, собственно, набор проводов (линий), соединяющий различные компоненты компьютера для подвода к ним питания и обмена данными. В «минимальной комплектации» шина имеет три типа линий:
l линии управления;
l линии адресации;
l линии данных.
Устройства, подключенные к шине, делятся на две основных категории – bus masters и bus slaves. Bus masters – это устройства, способные управлять работой шины, т.е инициировать запись/чтение и т.д. Bus slaves – соответственно, устройства, которые могут только отвечать на запросы.

Рис. 15.5.1. Архитектура компьютера с шиной ISA
Компания IBM в 1981 представила новую шину для использования в компьютерах серии PC/XT (рис. 15.5.1) Шина была крайне проста по дизайну, содержала 53 сигнальных линии и 8 линий питания и представляла собой синхронную 8-битную шину с контролем четности и двухуровневыми прерываниями (trigger-edge interrupts), при использовании которых устройства запрашивают прерывания, изменяя состояние линии соответствующего IRQ с 0 на 1 или обратно. Такая организация запросов прерываний позволяет использовать каждое прерывание только одному устройству. Кроме того, шина не поддерживала дополнительных bus masters, и единственными устройствами, управляющими шиной, были процессор и контроллер DMA на материнской плате.
62-контактный слот включал 8 линий данных, 20 линий адреса (А0-А19), 6 линий запроса прерываний (IRQ2-IRQ7). Таким образом, объем адресуемой памяти составлял 1 Мбайт, и при частоте шины 4.77 МГц пропускная способность достигала 1.2 Мбайта/сек.
Недостатки шины, вытекающие из простоты конструкции, очевидны. Поэтому для использования в компьютерах IBM-AT («Advanced Technology») в 1984 году была представлена новая версия шины, впоследствии названной ISA. Сохраняя совместимость со старыми 8-битными платами расширения, новая версия шины обладала рядом существенных преимуществ, как то:
l добавление 8 линий данных позволило вести 16-битный обмен данными;
l добавление 4 линий адреса позволило увеличить максимальный размер адресуемой памяти до 16 МВ;
l были добавлены 5 дополнительных trigger-edged линий IRQ;
l была реализована частичная поддержка дополнительных bus masters;
l частота шины была увеличена до 8 MHz;
l пропускная способность достигла 5.3 МВ/сек.
Реализация bus mastering не была особенно удачной, поскольку, например, запрос на освобождение шины («Bus hang-off») к текущему bus master обрабатывался в несколько тактов, к тому же каждый master должен был периодически освобождать шину, чтобы дать возможность провести обновление памяти (memory refresh), или сам проводить обновление. Для обеспечения обратной совместимости с 8-битными платами большинстиво новых возможностей было реализовано путем добавления новых линий. Так как АТ был построен на основе процессора Intel 80286, который был существенно быстрее, чем 8088, пришлось добавить генератор состояний ожидания (wait-state generator). Для обхода этого генератора используется свободная линия (контакт В8 NOWS-«No Wait State») исходной 8-битной шины. При установке этой линии в 0 такты ожидания пропускаются. Использование в качестве NOWS линии исходной шины позволяло разработчикам делать как 16-битные, так и 8-битные «быстрые» платы.
Новый слот содержал 4 новых адресных линии (LA20-LA23) и копии трех младших адресных линий (LA17-LA19). Необходимость в таком дублировании возникла из-за того, что адресные линии ХТ были линиями с задержкой (latched lines), и эти задержки приводили к снижению быстродействия периферийных устройств. Использование дублирующего набора адресных линий позволяло 16-битной карте в начале цикла определить, что к ней обращаются, и послать сигнал о том, что она может осуществлять 16-битный обмен. На самом деле, это ключевой момент в обеспечении обратной совместимости. Если процессор пытается осуществить 16-битный доступ к плате, он сможет это сделать только в том случае, если получит от нее соответствующий отклик IO16. В противном случае чипсет инициирует вместо одного 16-битного цикла два 8-битных. Однако адресных линий без задержки было всего 7, поэтому платы, использующие диапазон адресов меньший, чем 128 Кбайт, не могли определить, находится ли переданный адрес в их диапазоне адресов, и, соответственно, послать отклик IO16. Таким образом, многие платы, в том числе платы EMS, не могли использовать 16-битный обмен.
Несмотря на отсутствие официального стандарта и технических «изюминок» шина ISA превосходила потребности среднего пользователя образца 1984 года, а «засилье» IBM AT на рынке массовых компьютеров привело к тому, что производители плат расширения и клонов AT приняли ISA за стандарт. Такая популярность шины привела к тому, что слоты ISA до сих пор присутствуют на всех системных платах, и платы ISA до сих производятся.
Шина EISA (Extended Industry Standard Architecture)
Шина EISA явилась «асимметричным ответом» производителей клонов РС на попытку IBM поставить рынок под свой контроль. В сентябре 1988 года Compaq, Hewlett-Packard, Zenith, Olivetti, NEC и Epson представили 32-разрядное расширение шины ISA с полной обратной совместимостью. Основные характеристики новой шины были следующими:
l 32-разрядная передача данных;
l максимальная пропускная способность – 33 МВ/сек;
l 32-разрядная адресация памяти позволяла адресовать до 4 GB (как и в расширении ISA, новые адресные линии были без задержки);
l поддержка multiply bus master;
l возможность задания уровня двухуровневого (edge-triggered) прерывания (что позволяло нескольким устройствам использовать одно прерывание, как и в случае многоуровневого (level-triggered) прерывания);
l автонастройка плат расширения.
Как и в случае 16-разрядного расширения, новые возможности обеспечивались путем добавления новых линий. Поскольку дальше удлинять разъем ISA было некуда, разработчики нашли оригинальное решение: новые контакты были размещены между контактами шины ISA и не были доведены до края разъема. Специальная система выступов на разъеме и щелей в EISA-картах позволяла им глубже заходить в разъем и подсоединяться к новым контактам. Поскольку на данный момент шина EISA практически вымерла, приводить значения контактов разъема не имеет смысла. Стоит отметить лишь две новых сигнальных линии – EX32 и EX16, которые определяли, что bus slave поддерживает соответственно 32- и 16-разрядный цикл EISA. Если ни один из этих сигналов не был получен в начале цикла шины, выполнялся цикл ISA.
Важной особенностью шины являлась возможность для любого bus master обращаться к любому устройству памяти или периферийному устройству, даже если они имели разные разряды шины. Говоря о полной обратной совместимости с ISA, следует отметить, что ISA-карты, естественно, не поддерживали разделение прерываний, даже будучи вставленными в EISA-коннектор. Что касается поддержки multiply bus master, то она представляла собой улучшенную и дополненную версию таковой для ISA. Также присутствовали четыре уровня приоритета: схемы обновления памяти, DMA, процессор, адаптеры шины и арбитр шины EISA – периферийный контроллер (ISP – Integrated System Peripheral). Кроме этого, наличествовало еще одно устройство – Intel’s Bus Master Interface Chip (BMIC), которое следило за тем, чтобы master «не засиживался» на шине. Через определенное количество тактов master «снимался» с шины и генерировалось немаскируемое прерывание.
Шина MCA (Micro Channel Architecture)
В 1987 году компания IBM прекратила выпуск серии РС/АТ и начала производство линии PS/2. Одним из главных отличий нового поколения персональных компьютеров была новая системная шина – Micro Channel Architecture (MCA) (рис. 15.5.2).

Рис. 15.5.2 Архитектура компьютера с шиной MCA
Эта шина не обладала обратной совместимостью с ISA, но зато содержала ряд передовых для своего времени решений:
l 8/16/32-разрядная передача данных;
l 20 МВ/сек пропускная способность при частоте шины 10 MHz (в 4 раза больше,чем у ISA) при максимально возможной пропускной способности шины 160 МВ/сек (больше, чем у PCI, правда, не все карты способны работать с такой скоростью);
l Поддержка нескольких bus master. Любое устройство, подключенное к шине, может получить право на ее исключительное использование для передачи или приема данных с другого соединенного с ней устройства. Такое устройство, по сути, представляет собой специализированный процессор, который может осуществлять обмен данными по шине независимо от основного процессора. Работу устройств координирует устройство, называемое арбитром шины (CACP – Central Arbitration Control Point). При распределении функций управления шиной арбитр исходит из уровня приоритета, которым обладает то или иное устройство или операция. Всего таких уровней четыре (в порядке убывания):
– регенерация системной памяти;
– прямой доступ к памяти (DMA);
– платы адаптеров.
– процессор.
l Если устройству необходим контроль над шиной, оно сообщает об этом арбитру. При первой возможности (после обработки запросов с более высокими приоритетами) арбитр передает ему управление шиной. Вне системы приоритетов обслуживаются только немаскируемые прерывания (NMI – non-maskable interrupts), при возникновении которых управление немедленно передается процессору;
l 11-уровневые прерывания (11-level triggered interrupts) вместо двухуровневых (trigger-edged) у ISA позволяли делить (share) прерывания между устройствами, что позволило излечить одну из болезней первых PC – нехватку линий IRQ;
l 24 или 32 адресных линии позволяли адресовать до 4 GB памяти;
l автоматическое конфигурирование устройств существенно упростило установку новых плат. У компьютеров с шиной MCA нет никаких перемычек или переключателей – ни на системной плате, ни на платах расширения. Вместо использования адресов портов ввода-вывода, центральный процессор назначает их при старте системы, базируюсь на информации, считанной из ROM карты;
l асинхронный протокол передачи данных снижал вероятность возникновения конфликтов и помех между устройствами, подключенными к шине.
Для шины MCA было разработано 6 типов слотов:
l 16-разрядные (основные слоты, которые устанавливается во все компьютеры с шиной МСА);
l 32-разрядные (устанавливаются на компьютерах с шиной МСА и процессором 386DX и выше. Так же, как и в ISA, являются только расширением основного слота, но, поскольку разрабатывались одновременно с шиной, конструкция получилась более логичной);
l 16 и 32-разрядные с дополнениями для плат памяти (устанавливаются в некоторых компьютерах с шиной МСА, например, PS/2 моделей 70 и 80, имеют 8 дополнительных контактов для работы с платами расширения памяти, расположенных в самом начале разъема, обращенном к задней стенке компьютера, перед основными контактами);
l 16 и 32-разрядные с дополнениями для видеоадаптеров (предназначены для увеличения быстродействия видеосистемы. Обычно в компьютере с шиной МСА установлен один такой слот. 10 дополнительных контактов также расположены в начале разъема и позволяют плате видеоадаптера получить доступ к встроенной в системную плату схеме VGA).
На данный момент шина практически не используется и ссылки на архитектуру МСА практически не встречаются даже на сайте IBM (в настоящее время архитектура МСА используется IBM только в RISC-системах, например, сервер RS/6000 построен на базе шины МСА с пропускной способностью 160 МВ/сек).
Шина PCI (Peripheral Component Interconnect bus)
Разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6. Особенно подчеркивалось, что разработка проводилась «с нуля», а не была попыткой установки новых «заплат» на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну «антресольную» (mezzanine) шину (рис. 15.5.3).

Рис. 15.5.3. Архитектура компьютера с шиной PCI
Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами (рис.15.5.3). Например, процессор работает с кэшем или системной памятью, в то время как по сети на винчестер пишется информация. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины.
Основные возможности шины следующие:
l Синхронный 32-х или 64-х разрядный обмен данными (64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям;
l Поддержка 5В и 3.3В логики. Разъемы для 5В и 3.3В плат различаются расположением ключей (рис. 15.5.4);

Рис. 15.5.4. Разъемы для 5В и 3.3В плат
Существуют и универсальные платы, поддерживающие оба напряжения. Заметим, что частота 66MHz поддерживается только 3.3В логикой.
Частота работы шины 33MHz или 66MHz (в версии 2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):
132 МВ/сек при 32-bit/33MHz;
264 MB/сек при 32-bit/66MHz;
264 MB/сек при 64-bit/33MHz;
528 МВ/сек при 64-bit/66MHz.
При этом для работы шины на частоте 66MHz необходимо, чтобы все периферийные устройства работали на этой частоте.
l Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине);
l Поддержка write-back и write-through кэша;
l Автоматическое конфигурирование карт расширения при включении питания;
l Спецификация шины позволяет комбинировать до восьми функций на одной карте;
l Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI-PCI для увеличения количества карт расширения;
l PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину;
При разработке шины в ее архитектуру были заложены передовые технические решения, позволившие повысить пропускную способность.
Шина поддерживает метод передачи данных, называемый «linear burst» (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) «одним куском», то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов.
Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space – «конфигурационное пространство».
|

Рис. 15.5.5. Конфигурационное пространство шины PCI
Конфигурационное пространство состоит из трех регионов (рис. 15.5.5):
l заголовка, независимого от устройства (device-independent header region);
l региона, определяемого типом устройства (header-type region);
l региона, определяемого пользователем (user-defined region).
В заголовке содержится информация о производителе и типе устройства – поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация. Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST – power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства.
§
Локальная шина (Local bus)
Все описанные ранее шины имеют общий недостаток – сравнительно низкую пропускную способность. Это связано с тем, что шины разрабатывались в расчете на медленные процессоры. В дальнейшем быстродействие процессора возрастало, а характеристики шин улучшались в основном «экстенсивно», за счет добавления новых линий. Препятствием для повышения частоты шины являлось огромное количество выпущенных плат, которые не могли работать на больших скоростях обмена (МСА это касается в меньшей степени, но в силу вышеизложенных причин эта архитектура не играла заметной роли на рынке). В то же время в начале 90-х годов в мире персональных компьютеров произошли изменения, потребовавшие резкого увеличения скорости обмена с устройствами:
l создание нового поколения процессоров типа Intel 80486, работающих на частотах до 66 MHz;
l увеличение емкости жестких дисков и создание более быстрых контроллеров;
l разработка и активное продвижение на рынок графических интерфейсов пользователя (типа Windows или OS/2) привели к созданию новых графических адаптеров, поддерживающих более высокое разрешение и большее количество цветов (VGA и SVGA).
Очевидным выходом из создавшегося положения является следующий: осуществлять часть операций обмена данными, требующих высоких скоростей, не через шину ввода/вывода, а через шину процессора, примерно так же, как подключается внешний кэш. Такая конструкция получила название локальной шины (Local Bus). Рис. 15.6.1 и 15.6.2 наглядно демонстрируют различие между обычной архитектурой и архитектурой с локальной шиной.
Локальная шина не заменяла собой прежние стандарты, а дополняла их. Основными шинами в компьютере по-прежнему оставались ISA или EISA, но к ним добавлялись один или несколько слотов локальной шины. Первоначально эти слоты использовались почти исключительно для установки видеоадаптеров, при этом к 1992 году было разработано несколько несовместимых между собой вариантов локальных шин, исключительные права на которые принадлежали фирмам-изготовителям. Естественно, такая неразбериха сдерживала распространение локальных шин, поэтому VESA (Video Electronic Standard Association) – ассоциация, представляющая более 100 компаний – предложила в августе 1992 года свою спецификацию локальной шины.
Рис. 15.6.1. «Обычная» архитектура шин
Рис. 15.6.2. Архитектура компьютера с локальной шиной
Локальная шина VESA (VL-bus)
Основные характеристики VL-bus таковы:
l Поддержка процессоров серий 80386 и 80486. Шина разработана для использования в однопроцессорных системах, при этом в спецификации предусмотрена возможность поддержки х86-несовместимых процессоров с помощью моста (bridge chip);
l Максимально число bus master – 3 (не включая контроллер шины). При необходимости возможна установка нескольких подсистем для поддержки большего числа masterов;
l Несмотря на то, что изначально шина была разработана для поддержки видеоконтроллеров, возможна поддержка и других устройств (например, контроллеров жесткого диска);
l Стандарт допускает работу шины на частоте до 66 MHz, однако электрические характеристики разъема VL-bus ограничивают ее до 50 MHz (это ограничение, естественно, не относится к интегрированным в материнскую плату устройствам);
l Двунаправленная (bi-directional) 32-разрядная шина данных поддерживает и 16-разрядный обмен. В спецификацию заложена возможность 64-разрядного обмена;
l Поддержка DMA обеспечивается только для bus masters. Шина не поддерживает специальных «инициаторов» DMA;
l Максимальная теоретическая пропускная способность шины – 160 МВ/сек (при частоте шины 50 MHz), стандартная – 107 МВ/сек при частоте 33 MHz;
l Поддерживается пакетный режим обмена (для материнских плат 80486, поддерживающих этот режим). 5 линий используется для идентификации типа и скорости процессора, сигнал Burst Last (BLAST#) используется для активизации этого режима. Для систем, не поддерживающих этот режим, линия устанавливается в 0;
l Шина использует 58-контактный разъем МСА. Максимально поддерживается 3 слота (на некоторых 50-мегагерцовых шинах возможна установка только 1 слота);
l Слот VL-bus устанавливается в линию за слотами ISA/EISA/MCA, поэтому VL-платам доступны все линии этих шин;
l Поддерживается как интегрированный кэш процессора, так и кэш на материнской плате;
l Напряжение питания – 5В. Устройства с уровнем выходного сигнала 3.3В поддерживаются при условии, что они могут работать с уровнем входного сигнала 5В.
Шина VL-bus явилась огромным шагом вперед по сравнению с ISA как по производительности, так и по дизайну. Одним из преимуществ шины являлось то, что она позволяла создавать карты, работающие с существующими чипсетами и не содержащие большого количества схем дорогостоящей управляющей логики. В результате VL-карты получались дешевле аналогичных EISA-карт. Однако и эта шина не была лишена недостатков, главными из которых являлись следующие:
l Ориентация на 486-ой процессор. VL-bus жестко привязана к шине процессора 80486, которая отличается от шин Pentium и Pentium Pro/Pentium II;
l Ограниченное быстродействие. Как уже было сказано, реальная частота VL-bus – не больше 50 MHz. Причем при использовании процессоров с множителем частоты шина использует основную частоту (так, для 486DX2-66 частота шины будет 33 MHz);
l Схемотехнические ограничения. К качеству сигналов, передаваемых по шине процессора, предъявляются очень жесткие требования, соблюсти которые можно только при определенных параметрах нагрузки каждой линии шины. По мнению Intel, установка недостаточно аккуратно разработанных VL-плат может привести не только к потерям данных и нарушениям синхронизации, но и к повреждению системы;
l Ограничение количества плат. Это ограничение вытекает также из необходимости соблюдения ограничений на нагрузку каждой линии.
Несмотря на существующие недостатки, VL-bus была несомненным лидером на рынке, так как позволяла устранить узкое место сразу в двух подсистемах – видеоподсистеме и подсистеме обмена с жестким диском. Однако лидерство было недолгим, поскольку корпорация Intel разработала новинку – шину PCI.
15.7. Интерфейс FireWare
Последовательная шина FireWire (IEEE 1394) предлагается для устройств, требующих более высокой скорости обмена, чем может обеспечить шина USB. Она впервые предусмотрена в спецификации PC97.
Интерфейс FireWire поддерживает синхронную и асинхронную передачу данных и предоставляет возможность подключения до 63 устройств на один порт. При этом поддерживается скорость передачи 100, 200 и 400 Мбит/сек (т. е. 12.5, 25, 50 Мбайт/сек), прорабатываются варианты на 800 и 1600 Мбит/сек. При этом различные пары устройств могут обмениваться данными на различной скорости, например, на 100 и на 400 Мбит/сек. Для связи используется 6-жильный медный кабель или оптоволокно. Из этих шести проводов два идут к источнику питания, а четыре других, организованные как две экранированные витые пары, используются для передачи данных. Кабель в целом также экранирован. По проводам питания может подаваться напряжение от 8 до 40 В (ток до 1,5 А), что позволяет отказаться от источников питания в периферийных устройствах.
Каждое устройство FireWire может содержать до 6 разъемов (чаще всего 3) для подключения других устройств. Длина сегмента FireWire может достигать 4,5 метров. Сеть FireWire может включать до 63 узлов, а несколько сетей могут быть соединены между собой мостами (до 1023). Таким образом, в системе может быть до 64449 устройств IEEE 1394.
FireWire поддерживает автоопределение Plug-n-play, «горячее» включение и изохронный режим работы, обеспечивающий гарантированную полосу пропускания для подключенных устройств. Подобно контроллерам SCSI, контроллеры FireWire могут самостоятельно обрабатывать большинство операций ввода/вывода, не занимая время процессора.
Контрольные вопросы
1. Дайте общую характеристику интерфейсов.
2. Для чего применяются последовательный и параллельный интерфейсы?
3. Опишите шину USB.
4. Опишите назначение контактов разъема USB.
5. Что такое PCMCI?
6. В чем отличия шины ISA от PCI?
7. Каковы характеристики шины MCA?
8. Опишите конфигурационное пространство шины PCI.
9. Какие вы знаете локальные шины и в чем их отличия?
10. Что такое FireWire?
Литература
1. Путилин А.Б. Вычислительная техника в информационно-измерительных системах. М:
2. Информационно-измерительная техника и технологии. В.И.Калашников, С.В.Нефёдов, А.Б.Путилин и др., под ред. Раннева Г.Г. М.: Высшая школа, 2002 г. 454 с.
3. Темников Ф.Е., Афонин В.А., Дмитриев В.И. Теоретические основы информационной техники: Учеб. Пособие для вузов. М.: Энергия, 1979 г. 512 с.
4. Анисимов Б.В., Голубкин В.Н., Петраков С.В. Аналоговые и гибридные ЭВМ. М.: Высш. шк., 1986 г., 288 с.
5. Цифровая и вычислительная техника. Под ред. Евреинова Э.В. М.: Радио и связь, 1991 г., 464 с.
6. Алексеенко А.Г., Коломбет Е.А., Стародуб Г.Н. Применение прецизионных аналоговых ИС. М.: Радио и связь, 1981 г.
7. Путилин А.Б., Введение в теорию преобразования и обработки сигналов. М.: «Квадрат-С», 2000г.130с.
8. Дж. Хилбурн, П. Джулич. Микро-ЭВМ и микропроцессоры. М.: Мир. 1979 г., 464 с.
9. Ч. Гилмор. Введение в микропроцессорную технику. М.: Мир.1984г.
10. Левенталь Л. Введение в микропроцессоры. М.: 1983 г.
11. Мирский Г.Л. Микропроцессоры в измерительных приборах. М.:
1984 г.
12. Микропроцессоры. Архитектура и проектирование микро-ЭВМ. Организация вычислительных процессов. Под ред. Преснухина Л.Н. М.: Высш. шк. 1986 г.
13. Щелкунов И.И., Дианов А.П. Микропроцессорные средства и системы. М.: 1989 г.
14. Микропроцессорные системы и микро-ЭВМ в измерительной технике. Под ред. Филиппова А.Г. М.: Энергоатомиздат. 1995 г.
15. Калабеков Б.В. Цифровые устройства и микропроцессорные системы. М.: Радио и связь, 1998 г.
16. Корнеев В.В., Киселев А.В. Современные микропроцессоры. М.: издательство Нолидж. 1998 г.
17. Путилин А.Б. Стандартные интерфейсы для информационно-измерительных систем. М., МГОУ. 1995 г., 110с.
18. Гельман М.М. Системные аналого-цифровые преобразователи и процессоры сигналов. М., Мир, 1999г., 559с.
19. Александровский А.Д. Delphi 5. Среда визуальной разработки., ДМК 2000 г.
20. Стив Тейксера и Ксавье Пачеко, Delphi 5. Руководство разработчика. Том 1,2. Вильямс, 2000 г.;
Термины и определения
Информация — слово “информация” (с латинского) обозначает сообщение, осведомление о чем-либо. Информация – философское определение, есть отражение реального мира; узкое практическое, которым пользуются инженеры — информация есть все сведения, являющиеся объектом хранения, передачи и преобразования.
Сигнал — материальный носитель информации.
Восприятие — состоит в том, чтобы формируя образ объекта, произвести отделение полезной информации от шумов.
Передача информации — перенос ее на расстояние посредством сигналов различной физической природы по каналам различной физической природы: акустический, гидравлический, электрический, оптический и т.д.
Обработка информации — заключается в решении задачи преобразования информации с целью выделения полезного объема данных для принятия решения согласно поставленной задаче.
Хранение — может быть промежуточным этапом как в начале, так и в конце процесса и операций обработки.
Представление информации — заключается в демонстрации результатов обработки, с целью контроля результатов человеком или участие его в принятии окончательного решения. Используются устройства, воздействующие на органы чувств человека.
Воздействие на объект — состоит в том, чтобы сигналы, несущие информацию, производили регулирующие или защитные действия, вызывая изменения в самом объекте.
Событие – является первичным и неделимым элементом информации.
Элементарное двоичное событие – это выбор из утверждения или отрицания, истины или лжи, согласие или несогласие, наличие или отсутствие какого-либо явления.
Дискретизация-способ представления непрерывных сигналов дискретными составляющими.
Моделирование – процесс замены одного метода представления объекта другим изоморфным по математическому описанию. Если физика явлений в подлежащем изучению объекте и его модели одинаковы и процессы, протекающие в модели и объекте, описываются одинаковыми математическими и логическими зависимостями, то такое моделирование называется физическим. Если физика явлений, протекающих в модели и в объекте, различна, то моделирование называется математическим, а само описание объекта — математической моделью.
Матричный метод моделирования- предусматривает жесткую коммутацию между функциональными блоками. Его используют обычно в специализированных машинах.
Структурный метод моделирования-использует набор отдельных функциональных блоков, выполняющих различные математические операции (сложение, умножение, интегрирование, дифференцирование и т.д.).
Метод электрических сеток- используется при решении задач, описываемых уравнениями в частных производных (исследование нефтегазоносных слоев, теплопроводности, блуждающих токов и многих других задач), решается на АВУ, построенные по методам электрических сеток или сплошных сред.
Метод сплошных сред — основан на моделировании электрических явлений в сплошной проводящей среде.
Гибридные вычислительные машины — перерабатывают цифровую информацию с помощью методов, используемых при построении АВУ.
Аналоговое вычислительное устройство это схема, использующая совокупность электрических элементов (активных и пассивных), в которой происходят процессы описывающиеся математическими и логическими зависимостями, аналогичными зависимостям в исследуемой системе.
Методические погрешности — это погрешности заложены в методику работы устройства, они заранее могут быть рассчитаны и скомпенсированы частично или полностью.
Инструментальные погрешности — это погрешности определяющиеся первичными погрешностями элементов, возникающими в процессе их производства (погрешности за счет отклонения параметров элементов от их номинальных значений, влияние нестабильности температуры на значение параметров, погрешности от непостоянства питающих напряжений, дрейф нуля операционного усилителя).
Случайная погрешность – это погрешность, которая принимает различные числовые значения при многократном измерении.
Систематические погрешности изменяются по определенному закону, могут быть даже постоянными.
Функциональными устройствами называются такие устройства, которые служат для воспроизведения различных математических зависимостей, за исключением операций интегрирования и дифференцирования.
Суммирующие устройства выполняют операцию суммирования .
Дифференцирующие устройства выполняют операцию дифференцирования.
Интегрирующие устройства выполняют операцию интегрирования.
Свойства конденсатора – это свойство при котором электрический ток, протекающий через конденсатор, пропорционален скорости изменения напряжения на нем.
Активное интегрирующее устройство использует операционный усилитель, охваченный глубокой отрицательной обратной связью и выполняющий математические операции интегрирования.
Номинальное быстродействие под этим понимают количество простейших операций типа “сложение”, выполняемых последовательно АЛУ за 1 секунду. Флоп –миллион операций в секунду
Емкость памяти -измеряется в битах, байтах и т.д., во многом определяет класс решаемых на ЦВМ задач, особенно оперативная память.
Среднее время решения задачи Тср — интегральная характеристика ЭВМ. Эта величина складывается из времени счета Тсч и времени простоя Тпр.
Производительность ЭВМ — оценивается количеством задач, решаемых на ЭВМ за достаточно большой промежуток времени.
Стоимость ЭВМ – главный экономический параметр, влияющий на сферы применения цифровой вычислительной техники.
Непозиционная система счисления — это такая система, в которой значение символа, цифры, знака или иероглифа не зависит от позиции этого символа в изображаемом числе.
Позиционная система счисления — это система счисления, в которой значение символа зависит от позиции этого символа в изображаемом числе.
Естественная форма представления двоичной информации характеризуется тем, что местоположение запятой, отделяющей целую часть числа от его дробной части строго фиксировано.
Кодом называется любое обозначение, отличное от общепринятого.
Переключательной функцией n переменных называется такая функция, которая принимает только два возможных значения — 0 или 1, так же как и переменные, от которых эта функция зависит.
Набор — конкретная комбинация значений аргументов.
Элементарными переключательными функциями принято называть переключательные функции от одной и двух переменных.
Конституэнтой единицы n переменных называется такое булево произведение (конъюнкция) этих переменных, в которое каждая переменная входит только один раз в прямой или инверсной форме.
Комбинационное цифровое устройство (КЦУ) – это устройство, которое обеспечивает преобразование совокупности цифровых сигналов Х в выходные сигналы Y. При этом выходные сигналы зависят только от сигналов, поступающих на вход в разный момент времени и не зависят от сигналов, поступивших в предыдущие моменты времени (устройство без памяти)
Коэффициент разветвления КЦУ по входу Краз — определяет число входов однотипных ИЛЭ, которые одновременно могут быть подключены к выходу данного логического элемента при сохранении его работоспособности в заданных условиях эксплуатации.
Коэффициент объединения КЦУ по входу Коб — определяет число входных сигналов логического элемента, которые участвуют в формировании заданной логической функции.
Статические характеристики КЦУ — входная, определяющая зависимость входного тока от входного напряжения; выходная, задающая связь между выходными напряжениями и током; передаточная, которая определяет зависимость выходного напряжения от входного.
Временные (динамические) параметры КЦУ – определяют зависимость параметров во времени, быстродействие логического элемента. От них зависит быстродействие логического элемента.
Синтез КЦУ предусматривает построение структурной схемы устройства, т.е. определение состава необходимых логических элементов и соединений между ними, при которых обеспечивается преобразование входных цифровых сигналов в выходные в соответствии с заданными условиями работы устройства.
Дешифратором (декодером) называется КЦУ с несколькими входами и выходами, у которого каждой комбинации входных сигналов соответствует активное значение только одного определенного выходного сигнала. Полный дешифратор с m входами имеет 2m выходов.
Шифраторы – устройства, которые выполняют задачи, обратные дешифрации.
Мультиплексоры — устройства, которые обеспечивают коммутацию на выходе одного из нескольких информационных входных сигналов в соответствии с заданным кодом на управляющих входах.
Сумматоры представляют собой цифровые устройства для сложения двоичных чисел.
Состязания – это неодинаковая задержка прохождения сигнала в отдельных частях КЦУ в скорости переключения логических элементов.
Последовательностное цифровое устройство(ПЦУ) – это устройство в котором выходные сигналы Y зависят не только от текущих значений входных сигналов X, но и от последовательности значений входных сигналов, поступивших на входы в предшествующие моменты времени (устройство с памятью).
Синхронные триггеры – это устройства, которые реагируют на информационные сигналы при наличии разрешающего сигнала на специальном управляющем входе C, называемым входом синхронизации. Синхронные триггеры подразделяются на триггеры со статическим и динамическим управлением по входу C. Триггеры со статическим управлением воспринимают информационные сигналы при подаче на С— вход уровня 1 (прямой С— вход). Триггеры с динамическим управлением воспринимают информационные сигналы при изменении сигнала на С— входе от 0 к 1 (прямой динамический С— вход) или от 1 к 0 (инверсный динамический С— вход).
Одноступенчатые триггеры характеризуются наличием одной ступени запоминания информации.
Двухступенчатые триггеры имеют две ступени запоминания информации. В начале информация записывается в первую ступень, а затем переписывается во вторую и появляется на выходе.
Быстродействие триггера определяется максимальной частотой переключения состояний триггера..
Чувствительность триггера определяется наименьшим напряжением на входе (пороговым напряжением), при котором происходит переключение.
Помехоустойчивость триггера характеризует способность триггера устойчиво работать в условиях помех.
Функциональные возможности триггера характеризуются числом входных сигналов и их взаимодействии.
Регистром называется последовательностное цифровое устройство, используемое для хранения и выполнения логических преобразований над n-разрядным двоичным числом.
Регистром памяти — называется регистр с параллельным приемом и выдачей информации.
Регистром сдвига — называется регистры с последовательным приемом или выдачей информации.
Счетчиком называется последовательностное цифровое устройство, обеспечивающее хранение информации и выполнение над ним микрооперации счета.
АЦП (Аналого-цифровое преобразование) – под этим понимается преобразование непрерывного аналогового сигнала в дискретный цифровой.
Разрешающая способность АЦП – это минимальное значение аналогового сигнала, которое еще может различаться преобразователем.
Точность АЦП – это получение в процессе квантования входного сигнала Uвх на шаг Q по уровню округления его до ближайшего цифрового значения в пределах самого младшего разряда цифрового кода
Погрешность нелинейной характеристики АЦП — это отклонение передаточной характеристики преобразователя от идеальной прямой линии.
Цифро-аналоговый преобразователь (ЦАП) – это устройство, которой осуществляет преобразование двоичного кода в выходное напряжение, пропорциональное весовым коэффициентам разрядов двоичной системы счисления (8,4,2,1).
Интерфейс —


