Для включения МП в любую систему, ведущую обработку информации, необходимо установить средства и методы его сопряжения с остальными устройствами системы, т.е. интерфейс. При работе в системе МП производит интенсивный обмен информацией с запоминающими устройствами, устройствами ввода - вывода (УВВ) информации, организует обмен информацией между ними. При этом МП принимает команды из ЗУ, расшифровывает их, обеспечивает их исполнение, в случае необходимости обращается к ЗУ данных или к УВВ. От того, насколько эффективно организован такой обмен командами и данными, зависит быстродействие вычислительного устройства, точность решения задач.
Система шин, вспомогательных устройств и выполняемых ими алгоритмов, предназначенных для организации обмена между МП, ЗУ и УВВ, образует интерфейс. В функции интерфейса входят дешифрация адреса устройств, синхронизация обмена информацией, согласование формата слов, дешифрация кода команд, электрическое согласование сигналов и др. Все эти функции не может выполнить только МП вследствие ограниченности числа выводов его корпуса, выходной мощности буферных схем, сложности и специфичности выполнения задач обмена информацией. Поэтому функция интерфейса в системе распределяется между устройством управления памятью и вводом - выводом, входящими в состав МП; специальным интерфейсным устройством, являющимся промежуточным звеном между МП, с одной стороны, и ЗУ и УВВ - с другой; специализированными устройствами управления УВВ (контроллерами УВВ), предназначенными для локального управления отдельными видами УВВ, и реализацией алгоритмов их управления.
В простых, не обладающих большой вычислительной мощностью МП, предназначенных, например, для управления бытовой техникой, организация обмена информацией между МП, ЗУ и УВВ возможна на основе использования средств, содержащихся в самом МП. Недостающие функции (если возникает необходимость в их выполнении) в этом случае реализуются программно.
Более сложные ЗУ и УВВ объединяются с МП дополнительными интерфейсными устройствами, реализованными в виде самостоятельных микросхем, которые входят в состав МПК ИС. Существуют также сложные ЗУ и УВВ со специфическими алгоритмами управления (накопители на гибких и жестких магнитных дисках, дисплеи различных типов и др.), реализация которых возможна лишь специальными контроллерами.
Широко применяются три способа организации связей между МП, ЗУ и УВВ - программно управляемая передача данных, использование прерываний, прямой доступ к памяти.
Организация связи микропроцессора с запоминающим устройством
В вычислительной системе МП обращается к внешнему по отношению к нему ЗУ с произвольным доступом (обращение может быть осуществлено в любой момент времени по любому адресу) для выборки очередной команды, под управлением которой работает МП, одного данного или группы данных для их обработки, а также для засылки в ЗУ результатов обработки.
Данные обычно хранятся в оперативном ЗУ (ОЗУ), команды - в постоянном (ПЗУ) или полупостоянном (ППЗУ) запоминающем устройстве. Достаточно мощные, универсальные МП могут вести обработку под управлением команд, занесенных в ОЗУ. В ИС ПЗУ одна группа выводов предназначена для ввода адреса, другая - для сигналов управления, третья - для вывода данных. В ИС ОЗУ кроме этих групп выводов имеются выводы для ввода данных. На один из управляющих входов подается сигнал Зп/Чт, определяющий режим работы ИС ОЗУ: чтение информации или ее запись.
Многие ИС ОЗУ имеют одну двунаправленную шину данных, направление передачи информации по которой определяется значением управляющего сигнала Зп/Чт. В режиме записи информации (Зп/Чт-1) эта шина работает как входная, а в режиме чтения (Зп/Чт-0) - как выходная.
Типовой для вычислительных систем является многомодульная организация памяти, поскольку требуемая для организации системы емкость ЗУ намного превосходит информационную емкость ИС ЗУ В системе, структурная схема которой приведена на рис. 13.1, используются N модулей ЗУ с двунаправленной шиной данных Для обмена информацией между МП и ЗУ требуется обращение по адресу, подача сигналов Зп/Чт и синхронизация работы ЗУ и МП.
Рис.6.1 Многомодульная организация памяти в
вычислительной системе
Обращение по адресу или адресация включает в себя не только установление определенного адреса слова, но и выбор нужного модуля ЗУ, для чего требуется введение системы дешифрации модуля ЗУ Это может быть выполнено двумя способами:
1) выделение в коде адреса ячейки ЗУ группы разрядов, по которым кодируется номер модуля ЗУ и производится обращение к нему. Например, если для обращения к ЗУ используется десятиразрядный двоичный код, то два первых разряда можно выделить для кодирования номера модуля, а восемь остальных — для кодирования адреса ячейки в модуле. В этом случае возможно обращение к одной из четырех модулей (22=4), каждый из которых может содержать 28= 256 слов. Отсюда код адреса 01 01001100 означает, что обращение производится к модулю 01 по адресу в модуле 01001100 (в двоичном коде) или 076 (в десятичном коде). В конечном счете число адресуемых ячеек памяти определяется разрядностью адресной шины и для п-разрядной шины будет равно 22;
2) с помощью управляющих сигналов и сигналов состояния. Этот способ применяется для МП, вырабатывающих соответствующие сигналы, что позволяет осуществить выбор модуля непосредственно без дополнительных схем.
Сигнал Зп/Чт, вырабатываемый МП, подается на соответствующие входы ИС ЗУ и определяет режим его функционирования - запись или чтение. Обычно это один сигнал, единичное значение которого соответствует, например, режиму записи, а нулевое - режиму чтения.
Синхронизация работы МП с ЗУ подразумевает обеспечение и для МП и для ЗУ приема информации с шины данных только после стабилизации ее состояния. Проще всего синхронизация обеспечивается выбором МП и ИС ЗУ с одинаковым быстродействием. В этом случае при поступлении сигнала Чт ЗУ выдает информацию на шину данных, которая успевает установиться к моменту ее приема микропроцессором. Аналогично при записи МП вырабатывает сигнал Зп после того, как подлежащая занесению в ЗУ информация установится на шине данных.
В более общем случае, когда быстродействие МП и ЗУ различно, необходимо, чтобы в системе были сигналы, обеспечивающие их синхронизацию.
Программно-управляемая передача данных
Под программно-управляемой передачей данных подразумевается обмен информацией между МП и УВВ. Особенностью этого способа обмена является использование одной или нескольких специальных команд, при выполнении которых обеспечивается обмен информацией между МП и УВВ.
УВВ подключаются к шине адресов, шине данных и управляющим шинам МП через блоки селектора и интерфейса (СИ). Одна из задач, выполняемых блоком СИ, - определение адреса «своего» УВВ и согласование этого УВВ с шинами МП. Последний адресуется к нужным УВВ (на рис. 13.2 УBB1-УВВN) либо как к обычным ячейкам памяти, либо с помощью специальных сигналов, указывающих, что выполняется программно-управляемая передача данных.
Рассмотренный способ обмена информацией между МП и УВВ является относительно простым и быстродействующим, так как в нем не учитывается готовность УВВ к приему или выдаче информации.
Рис.6.2 Схема подключения устройств ввода-вывода к
микропроцессору
Учет готовности УВВ производится введением в схему интерфейса специального флагового триггера, который устанавливается в единичное состояние, когда заканчивается выполнение определенного действия и становится возможным обмен данными. Перевод флагового триггера в единичное состояние изменяет содержимое программного счетчика не на 1, а на 2, т.е. обеспечивается пропуск очередной команды.
Программно-управляемый обмен информацией в этом случае осуществляется при вводе и выводе.
При вводе: 1) начать ввод; 2) пропустить, если данные готовы; 3) перейти к 2; 4) прочитать содержимое шины данных в МП
Команда 1 принимается схемой интерфейса, после чего начинается процесс выборки данных с устройства ввода, а флатовый триггер устанавливается в состояние «О» После того как информация на шине данных установится, флатовый триггер переводится в единичное состояние, пропускается команда 3 и производится загрузка МП информацией с шиной данных (команда 4). Если по каким-либо причинам флаговый триггер не установится в состояние «1», МП войдет в цикл, непрерывно выполняя команды 2 и 3.
При выводе: 1) пропустить, если устройство вывода готово к приему информации; 2) перейти к 1; 3) передать данные в устройство вывода, сбросить флаговый триггер в нулевое состояние.
Команда 1 определяет, установлен ли в единичное состояние флаговый триггер, что свидетельствует о готовности устройства вывода к приему информации. Если триггер в состоянии «1» команда 2 пропускается, информация передается из МП в интерфейс УВВ, а флаговый триггер сбрасывается в нулевое состояние. После записи данных из интерфейса в УВВ флаговый триггер снова устанавливается в нулевое состояние, что говорит о готовности УВВ принять следующее слово. Сигнал готовности поступает на МП.
Передача данных с использованием режима прерываний
Микропроцессор, работающий в режиме прерываний, имеет специальный вход, сигнал на котором останавливает исполнение основной программы, и МП начинает обслуживание прерывания. Сигнал прерывания может поступить от любого УВВ, однако при этом должны быть соблюдены следующие условия:
1) устройство, от которого поступил сигнал прерывания, должно быть однозначно определено;
2) должно быть сохранено состояние всех регистров МП, так как оно будет затем использовано после обслуживания прерывания.
Существует два способа реализации режима прерывания: программный и схемотехнический, или аппаратный. (см. предыдущ. лекц)
Канал прямого доступа в память
Канал прямого доступа в память (ПДП) применяется там, где необходимо подключить МП к быстродействующему УВВ. Обмен данными по этому каналу обеспечивает максимальную скорость ввода и вывода информации.
Работа канала ПДП основана на непосредственной передаче данных между памятью и УВВ без участия МП. Такой режим осуществляется при прерывании выполнения основной программы на время обращения УВВ к памяти. Поскольку память отключена от МП и подключена к УВВ только на время записи в ЗУ или чтения из ЗУ, говорят, что обмен происходит в режиме захвата цикла памяти.
Передача данных с помощью канала ПДП имеет преимущество перед режимом прерываний, связанное с отсутствием потерь времени на вход в прерывающую программу и выход из нее на запись, сохранение, а затем восстановление состояния программного счетчика и участвующих в вычислительном процессе регистров МП. Это достигается существенным усложнением интерфейса канала ПДП по сравнению с режимом прерывания.
Канал ПДП в вычислительной системе должен выполнять следующие функции: адресацию к нужной ячейке памяти, синхронизацию работы памяти и УВВ на время обмена, осуществление обмена, назначение приоритетов, а при необходимости и очереди обслуживаемых УВВ. Обычно передача данных в режиме ПДП имеет приоритет перед другими видами обмена. Одна из простых схем канала ПДП приведена на рис. 7.3.
Рис. 6.3 Схема канала прямого доступа в память
Устройство ввода-вывода вырабатывает сигнал запроса на обращение к ОЗУ, который через устройство управления интерфейса (УУИ) канала ПДП поступает на МП. Микропроцессор отвечает сигналом разрешения на захват цикла памяти с учетом приоритета УВВ, так как к каналу ПДП может быть подключено много УВВ (на рис. 7.3 изображен один УВВ). По этому сигналу в УУИ устанавливается в единичное состояние синхронизируемый от тактового генератора МП триггер активности. Это приводит к передаче на регистр адреса ОЗУ (РгА1) адреса ячейки памяти, предварительно записанного в регистр адреса интерфейса (РгА2). В этом же такте УУИ сигналом СФ (сброс флага) сообщает о начале предоставления цикла памяти. После этого сигналом П (передача) УВВ производит обмен данными с ОЗУ.
Устройству ввода-вывода предоставляется только один цикл памяти, поэтому после записи в ОЗУ или чтения из ОЗУ одного слова триггер активности УУИ сбрасывается в «О», а МП возобновляет выполнение программы. Когда УВВ подготовится к следующему обмену, оно вновь установит в состояние «1» флаговый триггер, что приведет к посылке в УУИ нового запроса на доступ к памяти. Предварительно на РгА2 должен быть установлен новый адрес ячейки ОЗУ.
Рассмотренная схема организации канала ПДП обладает тем недостатком, что перед каждым обращением к памяти требуется формирование в МП нового адреса, передача его в интерфейс канала ПДП и контроль за окончанием передачи, что делает неудобной процедуру передачи массивов данных. Существуют схемы каналов ПДП, обеспечивающие достаточно эффективную передачу массивов данных, однако они существенно более сложные, чем рассмотренная выше.
Интерфейс канала ПДП по построению значительно сложнее других видов интерфейса. Его структура может быть упрощена за счет реализации части его функций программным способом, однако это приведет к снижению скорости передачи данных.
Интерфейсы-средства сопряжения модулей в систему
Интерфейсом называют унифицированное средство объединения различных устройств в единую систему. Интерфейс устанавливает не только способы механического и электрического соединения модулей, но и процедуры инициализации (начала), проведения и завершения сеансов обмена данными между различными устройствами.
И мировая, и отечественная электронная промышленность предоставляет потребителям два типа системного (внутриплатного) интерфейса микропроцессорных модулей:
1) с раздельными шинами для передачи адреса и данных; в этом случае внешнее устройство, с которым должен происходить обмен данными, задается отдельной группой команд;
2) с совмещенными (мультиплексными) шинами; в этом случае часть адресного пространства отводится для задания периферийных устройств, регистры которых имеют постоянные адреса, обращение к ним делается теми же командами, с которыми обращаются к памяти.
Системный интерфейс для микропроцессоров с раздельными шинами включает не только шину адреса, шину данных и управляющие сигналы, но и линии питания модулей. Сигналы адреса и данных формируются схемами с тремя состояниями. Сигналы запроса прерывания и большинство сигналов управления формируются схемами с открытыми коллектором. Для большинства, линий сигналов управления активным состоянием является низкий уровень.
Организация интерфейса ввода-вывода ВМ
Существует два метода передачи информационных сигналов между устройствами ЭВМ: синхронный и асинхронный.
При синхронном методе передачи (рис. 6.4, а) передающее устройство выставляет сигналы на соответствующие линии (шины) и удерживает их в течение фиксированного, заранее заданного периода времени t.
Рис. 6.4. Схема передачи информации
Время передачи сигнала Тп складывается из времени распространения сигнала по линии и времени распознавания в приемном устройстве. Таким образом, для периода удерживания сигнала на линии справедливо, неравенство
Время Тп выбирается исходя из максимально возможной длины линии связи.
При асинхронном методе передачи (рис. 7.4,6) устройство У1 выставляет сигналы на линии Л1, а устройство У2 после их получения информирует устройство У1 об этом, выставляя сигналы по линии Л2. В этом случае период работы устройства tа должен соответствовать условию
На практике время tа значительно меньше времени tсн. При параллельной передаче информации по параллельным линиям возникает разброс параметров сигналов, которые поступают в приемное устройство с некоторым разбросом по времени. Для устранения разбросов применяют методы, позволяющие исключить искажение информации, - метод передачи со стробированием и метод передачи с квитированием, использующие синхронную и асинхронную передачу соответственно.
Метод передачи со стробированием используется в основном для передачи информации внутри устройства между его блоками, регистрами и т. п. Метод передачи с квитированием используется в тех случаях, когда приемное устройство может оказаться по различным причинам не готовым к приему информации. Этот метод получил наиболее широкое распространение при организации интерфейсов между устройствами ВМ.
По своей структуре линии интерфейса можно классифицировать на индивидуальные, коллективные и комбинированные. С точки зрения надежности лучшей является структура с индивидуальными линиями интерфейса, так как отказ одной линии или группы линий между двумя устройствами не влияет на работу остальных устройств, однако эта структура связана с увеличением объема оборудования и в универсальных ВМ обычно не применяется.
Применение коллективных линий связано с требованием стандартизации правил обмена информацией между различными устройствами. В интерфейсах ввода-вывода универсальных ВМ используются коллективные линии и лишь в некоторых случаях - комбинированные линии.
В интерфейсе выделяют информационные линии, линии идентификации и линии управления, линии блокировки, линии измерения временного интервала и т.д.
Информационные линии - это линии прямой (ШИН-К) и обратной (ШИН-А) передачи информации.. По линиям прямой и обратной передачи информации передаются байты информации, приказы, байты состояния устройства и адрес устройства. Линии идентификации применяются для распознавания смыслового значения информации, находящейся на ШИН-К или ШИН-А.
Все сигналы интерфейса передаются и принимаются микросхемами ТТЛ-логики.
В микропроцессорах и микроЭВМ широко применяется интерфейс «мультишина», где объединены три основные группы: шины адреса; шины данных; шины управления.
В микроЭВМ интерфейс ввода-вывода выполняется в виде печатной платы, к разъемам которой подключаются ПУ.
Какими бы ни были рассматриваемые микропроцессоры, касающаяся их информация содержит много общего. Типовая документация содержит информацию о структуре ИС, схеме выводов ИС и назначении каждого из них. Схематизируется архитектура МП, описываются его основные свойства. Одновременно даются временные диаграммы и состав команд МП. Документация содержит также схемы различных систем, использующих рассматриваемый микропроцессор.
Обычно микропроцессор помещается в корпус интегральной схемы с 40 двусторонними выводами (корпус с двухрядной упаковкой выводов DIP — dual-in-line package) На рис. 6.5 приведены два типа микропроцессоров — в пластмассовом корпусе (рис. 6.5, а) и в керамическом (рис. 6.5,6) с 40 выводами.
Рис. 6.5 Микропроцессоры в корпусах
а—керамическом, б—пластмассовом с двухрядной упаковкой выводов (DIP); в и г — отметки для определения порядка нумерации выводов
Микропроцессор в керамическом DlP-корпусеиспользуется при высоких температурах. Микропроцессоры могут поставляться также с 28, 42, 50 и 64 выводами.
На рис. 6.5, в и г приведены два способа определения положения вывода 1. Заметим вырез ижелобок по всей длине, являющиеся отметками на пластмассовом корпусе (рис. 6.5, в). Непосредственно после этой отметки в направлении, обратном ходу часовой стрелки, находится вывод 1 ИС На рис 1,г отметкой, позволяющей определить вывод 1 ИС, является маленькая точка слева Затем выводы нумеруются в направлении, обратном ходу часовой стрелки при виде на ИС сверху.
Схема выводов (рис. 6.7) приводится в документации. Разработчики представляют все сведения о названиях и назначениях каждого из выводов микропроцессора. Схема на рис.2 соответствует микропроцессору Intel 8080.
Отметим, что выводы 2, 11, 20, 28 являются выводами питания. Выводы 15, 22 (Ф1, Ф2) являются входами внешнего двухфазного генератора тактовых импульсов — часов. Выводы 3—10 (Intel 8080) двунаправленные (это значит, что они являются то входами, то выходами). Эти выводы данных (Do—D7) являются восемью подсоединениями на шину данных системы. Адресная 16-разрядная шина системы будет связана выходами. А0—А15. Шесть других выходов (SYNC, DBIN, WAIT, , HLDA, INТЕ) несут сигналы управления и синхронизации всем прочим элементам системы. Наконец, четыре входа (READY, HOLD, INT, RESET) являются входами управления, которые воспринимают информацию, поступающую из системы. На рис. 2 приведена вся информация по каждому выводу микропроцессора Intel 8080.
Типовая документация содержит также структурную схему микропроцессора. На рис. 6.8, а представлена функциональная схема МП Intel 8080, которая содержит внутренние регистры — аккумулятор, пары регистров В и С, D и E, Н и L.указатель стека SP[1]1 регистр состояния (индикатор), несколько регистров временного хранения данных. Эта схема содержит также регистр команд, дешифратор команд, а также устройство управления и синхронизации. Наконец, она содержит также АЛУ, его объединенный индикатор и блок десятичного корректора. Все восемь линий данных, так же как и 16-разрядные адресные выходы, снабжены буферами. Микропроцессор Intel 8080 содержит также несколько внутренних линий управления, цепей данных и шины.
Рис. 6.7 Схема выводов МП Intel 8080
На рис. 6.8, б представлены используемые программистом регистры МП Intel 8080. Отметим, что основным является регистр А или аккумулятор. Регистры В и С, D и Е, H и L являются универсальными. Указатель стека, счетчик команд и индикатор состояния являются специальными регистрами. Пара регистров HL может быть использована также в качестве адресного регистра.
Документация содержит разработанные временные диаграммы, которые показывают соотношения между входами тактовых импульсов и другими внешними сигналами (синхронизации, записи, адресных выходов, ВВ данных и т. д.) и внутренними операциями. Разработчик дает также указания о способе, по которому микропроцессор используется в случае минимальной системы.
Такая система, основанная на МП Intel 8080, могла бы содержать микропроцессор, генератор тактовых импульсов, устройство управления системой, ПЗУ, ОЗУ и интерфейс портов ВВ.
Документация содержит подробную информацию о системе команд. В табл 1 приведено краткое изложение системы команд микропроцессоров Intel 8080/8085.
Рассмотрим первые команды МП Intel 8080/8085 в табл. 6.1 Команда СЛОЖИТЬ с непосредственным переносом символически обозначается мнемоникой ACI фирмы Intel. Код операции команды СЕ мы можем найти во второй колонке табл. 6.1. В третьей колонке «Число байт» показан объем памяти, необходимый для этой команды. Для нашего случая из таблицы видно, что необходимы 2 байт. Первый будет содержать КОП (СЕ), а второй—число для сложения (данные или операнд). Колонки «Число тактов» приводят необходимую длительность выполнения команды. Далее расположены основные внешние операции, выполняемые МП. В рассматриваемом случае F означает извлечение команды, R — считывание. Такие краткие выдержки помогают всем желающим программировать в системах, построенных на основе микропроцессора Intel 8080. Кроме того, указания пользователю (также поставляемые конструктором) содержат дополнительные детали использования каждой команды.
Таблица 7.1 Сокращенный состав команд микропроцессоров Intel 8080/8085 ( начало таблицы)
Схема и назначение выводов
Рассмотрим теперь более сложный микропроцессор, обладающий большинством уже рассмотренных свойств. Однако с целью некоторого упрощения мы пренебрегаем некоторыми сигналами управления выводом информации из МП.
Схема выводов такого МП представлена на рис. 7.4. Микропроцессор заключен в DIP-корпус с 40 двухрядными выводами. Эта ИС питается напряжением +5 В по выводам ] и 2, что соответствует новой концепции использования для питания МП единственного источника питания +5 В.
Выводы Х1 и X2 вверху справа предназначены для подсоединения кристалла управления частотой ГТИ МП. Для наиболее распространенных устройств характерно наличие ГТИ на кристалле МП, тогда как для более старых устройств был необходим внешний ГТИ. Выход CLK. (вывод 38) предназначен для выдачи сигналов ГТИ в систему. Частота сигнала на выводе 38 (CLK), очевидно, подчинена частоте внутреннего ГТИ.
Адресная шина системы будет подсоединена к выводам ИС A0—А15 (рис. 14.4). Эти 16 адресных линий (может быть и другое количество) могут обеспечить доступ к 65 536 (216) ячейкам памяти или/и портам ВВ.
Поток данных и команд от микропроцессора и в него обеспечивается выводами Do—D7 на ИС рис. 6.9. Эти выводы (21—28) двунаправленные, т.е. являются то выходами, то входами. Кроме того, обычно они могут переводиться в третье состояние (высокого сопротивления).
Вывод 30 является выходом управления записью. Сигнал L-уровня на выходе указывает, что данные, имеющиеся на шине данных, должны быть записаны в область памяти или выбранное УВВ. Выход управления считыванием (вывод 31) активизируется L-сигналом, который указывает, что избранные места в памяти или УВВ должны быть считаны.
Рис. 6.9 Схема выводов типового микропроцессора
Результатом активизации входа сброса является остановка работы МП по текущей программе и переходк подпрограмме сброса. Сигнал L-уровня на входе МП сбрасывает счетчик команд до заранее предопределенного адреса, например 0000H. Другие внутренние регистры МП могут быть также сброшены или их содержимое изменяется в течение операции сброса. Когда вход переходит в состояние HIGH, МП начинает выполнение команд с нового адреса памяти, т.е. с адреса 0000Н в данном случае (или с другого заранее предопределенного адреса памяти).
Этот адрес соответствует началу подпрограммы новой инициализации системы, содержащейся обычно в ПЗУ.
Большинство микропроцессоров находятся в фазе с ГТИ, следовательно, они являются синхронными. Вход МП асинхронный и может вмешаться и приостановить наполовину выполненную команду.
Вход требования прерывания помещен на вывод 35. Вход INTR отвечает на Н-сигнал внешнего устройства. Прерывание является очень нужным способом, позволяющим периферии вмешаться и заставить МП выполнять требуемую операцию почти сразу. Многие микропроцессоры обладают одним или несколькими прерываниями. Входы прерывания могут быть названы также сбросами, новым запуском, маскируемыми прерываниями или сетками.
Синтез процессора с использованием принципов схемной и