Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OMPS.DOC
Скачиваний:
10
Добавлен:
30.08.2019
Размер:
3.12 Mб
Скачать

7 6 1 0 Обмену мд

Запись

Данные Ввод

· 7 6 1 0 Данные · Логика Вывод

от ВУ Сдвиг от ВУ управ- Готов-

готовы: ”1” · ления ность ВУ

Делитель на 16 СчК ИК

ГТИ · ·

Сброс 9-й входной Приём- МА

И имп. сбрасыв. ники

СчК в исходн. МА

состоянии

1/0 Сброс

Регистр

· состояния А2

Уст.”1”

Рис.4.7. ИК последовательного приёма (ввода)

7 . . . . . . . . 2 1 0

Stop Stop × × × × × × ×× × × × Start

Байт (8 бит)

11 бит

Рис.4.8. Кодировка асинхронной посылки

Последний бит информационной части посылки будет вдвинут в регистр 9-м импульсом, который одновременно сбросит Счк mod 9 в исходное состояние. Последующая стоповая посылка (уровень логической “1”) совместно с этим состоянием Счк mod 9 опять сбросит делитель в исходное состояние и заблокирует его дальнейшие изменения. Стартовый бит выдвинется из сдвигового регистра, и в нём будет лишь информационный байт ВУ.

Сигнал Счк mod 9, кроме того,перепишет накопленный байт в буферный регистр А1 и далее установит в “1” регистр состояния А2.

По “1” А2 МП определит, что имеется готовый к вводу байт, и МП выполнит команду “Ввод”. При этом вырабатывается управляющий сигнал “Ввод” системного интерфейса, по которому производится пересылка принятого байта из А1 в МП (сигнал ЧТ на рис.4.7) и сброс А2 в “0”. В целом, на этой стадии процесс ввода соответствует диаграмме на рис.4.2.

Для простоты на рис.4.7 не приводятся схемы контроля за принятыми двумя стоповыми посылками и контроля чётности/нечётности передаваемой информации. При нарушениях в этих условиях принятые в этой посылке биты игнорируются, и ИК ожидает поступления нового стартового бита.

Последовательная ПД широко применяется там, где не нужны большие скорости обмена. Линии для такой ПД просты - два провода для симплексной (полудуплексной) ПД и четыре - для дуплексной. В качестве примеров можно привести устройство последовательного обмена из состава модулей “Э-60”, а также универсальный синхронно-асинхронный приёмопередатчик КР580ВВ51.

Организация прерываний в микроЭВМ

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

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

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

Формирование "Запросов прерывания" происходит в ИК соответствующих ВУ. В простейших случаях в качестве такого сигнала может использоваться сигнал "Готовность ВУ". Однако у такого решения есть недостаток - МП не может управлять такими прерываниями (запрещать/разрешать их для отдельных ВУ). В результате oрганизация обмена прерыванием с несколькими ВУ весьма усложняется.

Для решения этой проблемы регистр состояния ИК ВУ дополняют еще одним разрядом - "Разрешение прерывания". Запись "1" или "0" в этот регистр производится программным путем - по одной из линий (шин) МД. "Запрос прерывания" формируется только при наличии "1" в разрядах "Готовность ВУ" и "Разрешение прерывания" регистра состояния ИК.

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

В микроЭВМ (МП) обычно используется т.н. одноуровневая система прерываний, т.е. сигналы "Запрос прерывания" от всех ВУ поступают на один вход МП. Для идентификации ВУ, запросившего прерывание, используют в основном два следующих способа:

1) программный опрос регистров состояния, именно, разряда "готовность ВУ" ИК всех ВУ;

2) Использование т.н. векторов прерывания.

I. Организация прерываний с программным опросом предполагает наличие в памяти микроЭВМ единой ПП обслуживания (ППОП) прерываний от всех ВУ.

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

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

Завершается ППОП после опроса готовности всех ВУ и восстановления регистров МП.

Приоритет ВУ при таком способе организации обработки прерывания однозначно определяется порядком их опроса в ППОП. Раньше опрос - меньше время реакции на запрос - выше приоритет.

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

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

Вектор прерывания выдается ИК не одновременно с запросом на прерывание, а только по разрешению МП. Это делается для того, чтобы исключить одновременную выдачу векторов от нескольких ВУ. В ответ на сигнал ИК ВУ "Запрос прерывания" МП формирует сигнал "Предоставление прерывания" (вх.), который разрешает ИК ВУ, запросившему обслуживание, выдачу векторов на МА (рис.4.9). Для этого в ИК используется регистр вектора прерывания и схема И3. Регистр этот обычно реализуется с помощью перемычек и переключателей.

Сигнал "Предоставление прерывания" (вых.) формируется в ИК с помощью схемы И2 (с инвертирующим выходом). Этот сигнал используется для организации последовательного аппаратного опроса готовности ВУ и, тем самым, требуемых приоритетов ВУ.

Сигнал МП "Предоставление прерывания" поступает на вход "Предоставление прерывания" ИК ВУ с наибольшим приоритетом, выходной сигнал этого ИК "Предоставление прерывания" соединяется со входом "Предоставление прерывания" следующего по приоритету ИК ВУ и т.п. ИК того ВУ, которое выставило "Запрос прерывания" и встретилось первым в этой цепочке, прекращает дальнейшее распространение сигнала "Предоставление прерывания" (рис.4.10).

Аппаратный опрос готовности ВУ производится гораздо быстрее, нежели программный. Если обслуживание запросили два или более ВУ одновременно, то обслуживание менее приоритетных ВУ будет на время отложено - пока не обслужится более приоритетное ВУ - как и в случае программного опроса.

Рассмотренная векторная система прерываний хорошо соответствует системе прерываний в "Э-60"; 8-разрядный вектор прерывания в "Э-60" указывает одну из ячеек памяти с адресами от 0 до 376 В, в которой размещается адрес начала ППОП. В следующей за указанной вектором ячейке хранится новое содержимое регистра состояния МП, загружаемое в него при переключении на ППОП. Один из разрядов этого регистра разрешает или запрещает прерывание от других ВУ. Это позволяет ВУ с более высоким приоритетом прерывать ППОП, выполняющую обслуживание ВУ с меньшим приоритетом.

МД К регистру

данных

"Разрешение "Готовность

прерывания" ВУ"

... ...

Регистр состояния

ИК

"Запрос пре-

рывания"

"Готовность

ВУ"

"Предостав-

ление пре-

р ывания(вх) "

"Предостав- Выдача вектора

ление пре- прерывания

рывания

( вых) " 0 1/0

1 1/0

2 1/0

МА ... Регистр вектора

прерывания

7 1/0

Рис.4.9. Формирование вектора прерывания в ИК ВУ

Предоставление Предоставление

прерывания (вых) прерывания (вых)

П редоставление Приоритет "0" Предоставление Наимень-

прерывания(вх) (наивысший) прерывания(вх) ший при-

оритет

Рис.4.10. Схемная реализация приоритетов ВУ

В микроЭВМ для организации векторной системы прерывания могут использоваться специальные БИС, н апример, БИС программируемого контроллера прерываний КР580ВН59.

Организация прямого доступа к памяти

В режиме прямого доступа к памяти (ПДП) обмен данными между ВУ и основной памятью микроЭВМ происходит без участия МП. Обменом в режиме ПДП управляет

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

Необходимость обмена данными в режиме ПДП вызывается двумя основными факторами:

1) при использовании режима ПДП появляется возможность начальной загрузки программ в основную память микроЭВМ из устройства ввода;

2) что наиболее важно, режим ПДП обеспечивает возможность использования в микроЭВМ быстродействующих внешних ЗУ, таких как НМЛ и НМД .

Требования, которые предъявляют эти ВУ к организации обмена, имеют свою специфику:

обмен производится, как правило, блоками фиксированного размера - от 128 байт и более;

порядок обмена определяется расположением информации на носителе, пропуск хотя бы одного символа недопустим и вызывает необходимость повторного обмена;

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

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

Для реализации режима ПДП необходимо организовать взаимодействие контроллера ПДП и памяти микроЭВМ. В принципе можно было бы создавать и использовать специальные МА и МД для связи ИК ПДП и памяти. Однако такой подход на практике чрезмерно усложнил бы микроЭВМ, особенно при подключении нескольких внешних ЗУ. Поэтому ИК ПДП подключается к МА и МД системного интерфейса. Но тогда возникает проблема совместного использования магистралей процессором и контроллером ПДП. Имеются два основных способа ее решения:

1) реализация обмена в режиме ПДП с "захватом цикла";

2) реализация обмена в режиме ПДП с блокировкой процессора.

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

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

Рассмотренный способ организации режима ПДП не замедляет работы микроЭВМ (МП), но при этом ПДП-обмен возможен только в случайные моменты времени одиночными байтами (словами).

Наиболее распространен ПДП с захватом цикла и принудительным отключением МП от магистралей. Для его организации МУ микроЭВМ снабжается двумя линиями для передачи управляющих сигналов, которые далее будут называться "требование ПДП" (ТПДП) и "Предоставление ПДП" (ППДП). Для MicroBus это HOLD и HLDA, для Q-Bus - ТПД и ППД.

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

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

Для ПДП необходима предварительная подготовка: для каждого ВУ надо указать (выделить) область памяти для обмена через, например, начальный адрес и ее размер. Поэтому ИК ПДП имеет в своем составе РА и Сч байтов (слов).

Перед началом обмена с ВУ в режиме ПДП МП должен выполнить программу загрузки. Эта программа обеспечивает запись в указанные регистры ИК необходимые сведения. Ее следует отличать от начальной загрузки программы в память микроЭВМ через ПДП. В этом случае содержимое РА и Сч байтов устанавливается переключателями или перемычками на плате ИК.

В целом любой сеанс обмена данными с ВУ в режиме ПДП инициируется программой МП и включает в себя два этапа.

1. Подготовка ВУ к очередному сеансу обмена. МП в режиме программно-управляемого обмена опрашивает состояние ВУ (его готовность к обмену) и посылает ВУ команды подготовки. Например, команды перемотки ленты, перемещения головок. Затем выполняется загрузка регистров ИК. На этом подготовка заканчивается, и МП переключается на выполнение другой программы.

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

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

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

ИК ПДП реализуется в виде отдельной БИС. Например, в серии КР580 - это БИС КР580ВТ57. Она управляет работой четырех независимых каналов ПДП с учетом приоритетов подключенных к ним ВУ.

Управление работой каждого канала ПДП осуществляется с помощью двух 16-разрядных регистров - начального адреса (РА) и регистра управления (РУ). В 14 младших разрядах РУ размещается Сч данных. Передаваемый массив поэтому не может превышать 16 кбайт. В Сч данных записывается число на 1 меньше длины передаваемого массива. 15-й и 14-й разряды управляют типом операций обмена: 00 - контроль; 01 - ЗП в память; 10 - ЧТ из памяти; 11 - запрещено к использованию.

Связь этого ИК с системным интерфейсом осуществляется программным путем по МД через двунаправленный буфер данных. Адресуются внутренние регистры по линиям (шинам) А3...А0 МА.

Помимо указанных регистров в описываемый ИК входят: регистр режима (РР), определяющий общие функции ИК, в т.ч. приоритеты каналов ПДП, а также регистр состояния (РС), отображающий состояние окончания счета, т.е. окончание передачи массива данных по соответствующим каналам ПДП.

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

Для формирования 16-разрядного адреса памяти на МА системного интерфейса ИК ПДП КР580ВТ57 требуется внешний 8­разрядный регистр. В этот регистр в начале цикла ПДП ИК с помощью специального строба записывает по шине данных МД восемь старших разрядов адреса А15...А8. Входы этого регистра подключаются к линиям А15...А8 МА системного интерфейса, а младшие разряды адреса формируются на выходах А7...А0 ИК.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]