WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 23 |

На рис.1.10 показано подключение двух внешних устройств к магистралям, где D1 и D2 - дешифраторы, ШУ1 и ШУ2 – шинные усилители, ВУ1 и ВУ2 – внешние устройства. У каждого из дешифраторов имеется один выход, высокий уровень напряжения на котором появляется только в том случае, когда на входах имеется определенная комбинация логических нулей и единиц. Эта комбинация, как видно из рис. 1.10, поступает на входы дешифраторов из адресной магистрали. При этом используются не все разряды адресной магистрали, а только их часть, необходимая для выбора одного из двух внешних устройств. Работа такой микропроцессорной системы происходит следующим образом. Пусть, например, надо осуществить обмен данными с внешним устройством ВУ2 и этому внешнему устройству присвоен условный код (адрес) 0010. Эта комбинация логических нулей и единиц передается по четырем проводникам адресной магистрали, которые соединены с входами дешифраторов D1 и D2. Дешифратор D2 формирует соответствующий уровень напряжения на одном из своих выходов.

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

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

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

Комбинация из шинного усилителя и дешифратора (она обведена штриховой линией на рис.1.10) называется порт [1, 8, 23].

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

Адресная магистраль Магистраль данных Сигнальная магистраль Микро- ПЗУ и ОЗУ D1 ШУ1 D2 ШУпроцессор ППЗУ Порт Порт ВУ1 ВУРис. 1.10. Организация подключения дополнительных (внешних) устройств к магистралям Рассмотрим случай подключения к магистралям внешних устройств при условии, что эти внешние устройства оперируют словами различной длины.

Для этого используется устройство преобразования формата данных адаптер [1, 23], условное обозначение которого приведено на рис.1.11,а.

Адаптер состоит в общем случае из сдвигового регистра, который осуществляет операции записи, сдвига и считывания данных. Пусть длина слова, состоящего из К разрядов, на входе адаптера меньше длины N-разрядного слова на его выходе (K

После заполнения сдвигового регистра происходит считывание Nразрядного слова на выход адаптера.

Если длина слова на входе адаптера больше длины слова на его выходе (K

Входное K-разрядное слово записывается в первые K ячеек памяти сдвигового регистра. После N тактов сдвига, содержимое N последних ячеек памяти регистра считывается на выход адаптера. Далее осуществляются сле дующие N тактов сдвига и так происходит до тех пор, пока сдвиговый регистр не очистится полностью. После этого записывается следующее Kразрядное входное в первые K ячеек памяти сдвигового регистра и процедура считывания слова повторяется.

В общем случае устройство преобразования формата данных (адаптер) может содержать несколько входов и выходов, несколько портов и буферных регистров, сдвиговые регистры и группы вспомогательных устройств (рис.1.11,б, где Аi – адаптер, i = 1,2,…2М). Один из входов-выходов этого устройства через соответствующий порт соединяется с магистралью данных, а остальные с внешними устройствами.

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

а) Запись Считывание А Вх. Вых.

б) ВЫХОДЫ 1 М Считывание (Вых) Запись (Вых) Считывание (Вх) Запись (Вх) А1 А2 А3 А4 А2М-1 А2М М ВХОДЫ Рис. 1.11 Условное обозначение (а) и обобщенная схема адаптера (б) Чтобы реализовать рассмотренную выше процедуру преобразования формата данных необходимо на входы “Запись” и “Считывание” каждого адаптера (рис.1.11,а) в соответствующие моменты времени подать необходимые микрокоманды, которые могут храниться в самом адаптере или в запоминающем устройстве. Часто в качестве программируемых периферийных адаптеров используются микропроцессоры.

1.3.3 Прерывания и дисциплина обслуживания прерываний Передача слова из внешнего устройства в запоминающее устройство или в другое внешнее устройство требует использования по меньшей мере двух адресов. Один из них является адресом ячейки памяти запоминающего устройства, куда должно быть помещено (откуда должно быть прочитано) слово, а второй – адресом, позволяющим выбрать нужный порт или адаптер. Кроме того, необходимо иметь несколько управляющих сигналов, обеспечивающих выполнение команд записи (считывания) слова в запоминающее устройство и необходимых процедур в порту или адаптере. В течение операции ввода-вывода независимо от того, происходит передача одного слова (байта) или группы слов (байт), в других внешних устройст вах микропроцессорной системы не могут выполняться программы, поскольку занят основной источник команд микропроцессор. Микропроцессорная система может находиться либо в состоянии, в котором она выполняет свою внутреннюю, системную программу, либо подпрограмму ввода-вывода. Переключение МПС из системной программы в состояние подпрограммы ввода-вывода называется прерыванием и выполняется с помощью специальных управляющих сигналов – сигналов прерывания, или, чаще, запросов на прерывание. По сигналу прерывания прекращается выполнение системной программы и начинается выполнение подпрограммы ввода-вывода.

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

Микропроцессорная система переходит в состояние ожидания.

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

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

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

Рассмотрим два случая обслуживания прерывания. В первом случае два и более устройств ввода-вывода одновременно формируют сигналы прерывания. Во втором – выполнение системной программы в микропроцессоре по тем или иным причинам не может быть прервано.

Обслуживание Обслуживание сигнала сигнала прерывания прерывания с приоритетом m > n Сигнал Сигнал прерывания прерывания с приоритетом n с приоритетом m > n Рестарт Рестарт Рис. 1.12 Процесс обслуживания сигналов прерываний с разными приоритетами В первом случае используется система приоритетов, а во втором применяется способ маскирования. Сущность системы приоритетов состоит в том, что каждому из устройств ввода-вывода или каждому из портов присваивается целое число (1,2,3,…), называемое приоритетом. При одновременном поступлении нескольких сигналов на прерывание обслуживается тот из них, который имеет старший приоритет. Если поступают два сигнала прерывания с одинаковым приоритетом, обслуживается любой из них.

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

ввода-вывода ввода-вывода Подпрограмма Подпрограмма Системная программа Буферное Устройство управления устройство n nРегистр Регистр.

Дешифратор обслуживасигналов Буферное.

приоритета ния прерывания устройство.

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

Самый высокий приоритет присваивается наименее быстродействующим устройствам ввода-вывода.

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

Если системная программа не может быть прервана, осуществляется запрет на прерывание. Для этого используется особое состояние микропроцессорной системы, называемое маскированием. Микропроцессорная система в состоянии маскирования не чувствительна к сигналам прерывания. Эти сигналы теряются, либо запоминаются и будут обслужены, когда микропроцессорная система выйдет из состояния маскирования. Замаскировать можно все сигналы прерывания или только сигналы, имеющие приоритет не выше заданного. В частности, при выполнении подпрограммы, начатой на основе сигнала прерывания с некоторым приоритетом, все сигналы прерывания, имеющие более низкий приоритет, маскируются автоматически.

Процедура обслуживания сигналов прерывания с различными приоритетами называется дисциплиной обслуживания прерывания. На рис.1.13 показана схема программируемого контроллера прерываний, реализующего дисциплину обслуживания прерывания [1, 11].

Запросы на прерывание поступают по восьми входам, обозначенным на рисунке как n0-n7, и запоминаются в регистре сигналов прерывания. Из этого регистра сигналы поступают в дешифратор приоритета, который связан с регистром масок. Если сигнал прерывания обладает самым высоким среди остальных приоритетом и не является замаскированным, он передается в регистр обслуживания сигналов прерывания. Как видно из рис.1.13, связь программируемого контроллера прерываний с другими устройствами микропроцессорной системы осуществляется через магистраль данных и через сигнальную магистраль, для чего имеются специальные буферные устройства.

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

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

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

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

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

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

Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 23 |






















© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.