Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТО_САПР_2010_11.doc
Скачиваний:
9
Добавлен:
08.11.2018
Размер:
19 Мб
Скачать
☆

3.2. Устройства ввода-вывода базовой эвм

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

3.3. Программно-управляемая передача информации

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

В базовой ЭВМ реализована только программно-управляемая передача данных.

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

  2. Операция ввода предусматривает передачу данных из регистра данных контроллера ВУ в аккумулятор ЭВМ

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

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

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

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

  1. Проверяется состояние устройства ввода-вывода.

  1. Если устройство готово к обмену, то производится переход к п. 3. В противном случае вновь выполняется п. 1.

  2. Производится передача очередной порции данных, выполняются действия по их обработке и (или) другие операции, и если обмен данными еще не закончен, осуществляется переход к п. 1.

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

Обмен по прерыванию программы отличается от асинхронного обмена тем, что готовность ВУ к обмену проверяется при помощи аппаратных средств ЭВМ, а не программным путем. Это позволяет организовать работу ЭВМ следующим образом.

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

Различие между рассмотренными видами программно-управляемого обмена можно проиллюстрировать на следующем примере.

Пример 3.1. Вам поручено вскипятить воду в чайнике.

  1. Безусловная операция, (синхронный обмен). В 8 ч Вы поставили на плиту чайник с водой и, зная, что обычно он закипает через 10 мин, ровно в 8 ч 10 мин сняли его с плиты, не заботясь о том, закипела вода или нет.

  2. Условная операция (асинхронный обмен). Вы поставили на плиту чайник с водой и примерно раз в минуту посматриваете за ним. Когда чайник закипит, Вы снимете его с плиты.

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