КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Организация ввода-вывода. Устройства ввода-вывода передают в ЭВМ и получают из нее, как правило, большой объем информации, который не может быть размещен только в регистрах процессора
Устройства ввода-вывода передают в ЭВМ и получают из нее, как правило, большой объем информации, который не может быть размещен только в регистрах процессора. Поэтому информация передается из ВУ в память ЭВМ и поступает на ВУ из ее памяти. При этом обмен может идти под управлением программы ЭВМ через регистры процессора (программно-управляемая передача данных) или под управлением специального внешнего устройства (контроллера прямого доступа в память), минуя процессор (передача данных при прямом доступе к памяти) (DMA). Программно-управляемый обмен осуществляется малыми порциями, при прямом доступе к памяти информация передается большими блоками. В базовой ЭВМ реализована только программно-управляемая передача данных. 1. Операция вывода предусматривает пересылку информации из аккумулятора процессора в регистр данных контроллера ВУ. После того как данные приняты этим регистром, начинают выполняться операции по их преобразованию в связанном с контроллером ВУ (например, печать соответствующего символа или изменение положения исполнительного органа). В базовой ЭВМ просто изменяется состояние индикатора регистра вывода ВУ-3. 2. Операция ввода предусматривает передачу данных из регистра данных контроллера ВУ в аккумулятор ЭВМ. В базовой ЭВМ устройство ввода имитируется с помощью набора тумблеров, состояние которых считывается в регистр данных при исполнении команды ввода. При использовании программно-управляемого обмена должна быть составлена программа для пересылки данных из памяти ЭВМ в аккумулятор и далее в регистр данных контроллера ВУ (или из регистра данных контроллера ВУ в аккумулятор и затем в память ЭВМ). В этой программе можно реализовать один из трех видов подобного обмена: синхронный, асинхронный и по прерыванию. Синхронный обмен можно использовать лишь для связи с такими ВУ, для которых точно известно время выполнения операции (например, максимально возможное время, затрачиваемое на печать одного символа и т. п.). При этом программу обмена необходимо составлять так, чтобы команды на обмен шли с интервалами не меньшими, чем время выполнения одной операции обмена. Это наиболее простой вид обмена, требующий минимальных затрат технических и программных средств. Однако при его использовании для передачи данных между ЭВМ и сравнительно медленными ВУ, как правило, не удается полностью загрузить ЭВМ на время между двумя пересылками данных. Так, например, принтер позволяет организовать вывод данных со скоростью несколько десятков символов в секунду, а за это время микроЭВМ может выполнить миллионы и миллиарды операций. Асинхронный обмен широко используется в микроЭВМ. При его реализации интервал между командами передачи данных задается самим внешним устройством. Контроллеры этих устройств снабжаются регистром состояния, который информирует ЭВМ о готовности устройства к обмену информацией (например, электрическая пишущая машинка устанавливает сигнал готовности лишь тогда, когда она закончила печать предыдущего символа, в нее заправлены бумага и красящая лента). Программа обмена строится так. 1. Проверяется состояние устройства ввода-вывода. 2. Если устройство готово к обмену, то производится переход к п. 3. В противном случае вновь выполняется п. 1. 3. Производится передача очередной порции данных, выполняются действия по их обработке и (или) другие операции, и если обмен данными еще не закончен, осуществляется переход к п. 1. Таким образом, при асинхронном обмене программист не должен знать о времени выполнения операции на ВУ. Последнее само информирует ЭВМ о завершении предыдущей операции и готовности к выполнению новой операции. Однако ЭВМ должна тратить время на ожидание момента готовности, а так как готовность проверяется программным путем (команда TSF В), то в это время ЭВМ не может выполнять никакой другой работы по преобразованию данных. Обмен по прерыванию программы отличается от асинхронного обмена тем, что готовность ВУ к обмену проверяется при помощи аппаратных средств ЭВМ, а не программным путем. Это позволяет организовать работу ЭВМ следующим образом. Машина исполняет какую-либо программу (назовем ее основной или фоновой), не связанную с обменом. Когда ВУ готово к приему или выдаче информации, оно посылает в ЭВМ сигнал готовности, воспринимаемый специальным блоком ЭВМ (например, контроллером прерываний). Этот блок приостанавливает (прерывает) исполнение основной программы, и передает управление подпрограмме, организующей нужный вид обмена данными. Когда выполнение подпрограммы завершается, возобновляется работа ЭВМ по основной (временно прерванной) программе. Различие между рассмотренными видами программно-управляемого обмена можно проиллюстрировать на следующем примере. Пример 1. Вам поручено вскипятить воду в чайнике. 1. Безусловная операция (синхронный обмен). В 8 ч Вы поставили на плиту чайник с водой и, зная, что обычно он закипает через 10 мин, ровно в 8 ч 10 мин сняли его с плиты, не заботясь о том, закипела вода или нет. 2. Условная операция (асинхронный обмен).Вы поставили на плиту чайник с водой и примерно раз в минуту посматриваете за ним. Когда чайник закипит, Вы снимете его с плиты. 3. Операция по прерыванию. Вы поставили на плиту чайник с водой, надели на его носик свисток и стали читать книгу (фоновая работа). Когда засвистит свисток, вы снимете чайник с плиты и продолжите чтение книги. Далее рассмотрены наиболее употребительные виды обмена: асинхронный и по прерыванию программы. Команды ввода-вывода базовой ЭВМ имеют одинаковый формат: 4-разрядное поле кода операции, 4-разрядное поле кода приказа и 8-разрядное поле кода выборки устройства ввода-вывода. Код операции (1110)2 обрабатывается в процессоре ЭВМ и служит для отличия команд ввода-вывода от других команд машины. Код приказа используется для передачи контроллеру ВУ приказа на выполнение того или иного действия. Так как для этого кода отведены четыре разряда, то ЭВМ может переслать 16 различных команд внешнему устройству. Декодирование приказа осуществляется контроллером ВУ. В базовой ЭВМ задаются три основных приказа: пересылка данных (INВ — ввод и OUT В — вывод), проверка готовности ВУ (TSF В) и сброс состояния готовности (CLF В), где В — адрес ВУ. Код выборки устройства (адрес ВУ) используется для организации связи ЭВМ с одним из подключенных к ней внешних устройств. Этот код одновременно передается на все ВУ (их может быть 28 = 256) и анализируется в их контроллерах. Когда последний распознает код, принадлежащий данному ВУ, он связывает ВУ с ЭВМ. Все другие устройства не будут связаны с ЭВМ и не реагируют на ее приказы. В командах ввода-вывода базовой ЭВМ используется слово флаг (флажок). Так часто называют однобитовый регистр состояний ВУ, который устанавливается в единичное состояние, когда устройство готово к обмену информацией. Когда флажок ВУ сброшен (установка в нуль), ВУ занято: устройство вывода еще обрабатывает предыдущую команду, а устройство ввода не закончило подготовку данных. Команда CLF В (Е0хх, где хх — две шестнадцатеричные цифры кода выборки ВУ) служит для установки в исходное состояние ВУ с кодом выборки В. Команда CLF 02 сбрасывает (устанавливает в нуль) флажок в контроллере ВУ с кодом выборки 02. По команде TSF В (Elxx) в РЕГИСТР СОСТОЯНИЙ ВУ (Ф в устройстве управления на рис. 1) помещается содержимое флажка ВУ с кодом выборки В. Затем процессор суммирует содержимое регистра Ф с содержимым счетчика команд. Следовательно: при Ф = 0 (устройство В не готово к обмену) выполняется следующая за TSF 3 команда программы; при Ф = 1 (устройство В готово к обмену) следующая за TSF В команда пропускается и выполняется команда, расположенная через одну за TSF В. Команда IN В (Е2хх) служит для пересылки в восемь младших разрядов аккумулятора содержимого регистра данных контроллера ВУ с кодом выборки В.
Таблица 3. Код КОИ-8 Когда в процессе работы ЭВМ устройство управления обнаруживает, что в регистре команд и одновременно в регистре данных находится команда с кодом операции (1110)2, производится переход в режим ВВОД-ВЫВОД и на все контроллеры ВУ передается содержимое 12 младших разрядов регистра данных (см. рис. 1). Дешифраторы адреса всех контроллеров ВУ декодируют это содержимое, но срабатывает тот из них, код (адрес) которого совпадает с адресом, установленным в команде. Этот дешифратор открывает вентили для передачи информации на дешифратор приказов, который декодирует содержимое 8—11-го разрядов регистра данных и выдает приказ на выполнение одной из перечисленных выше команд: открывает вентиль для передачи в ЭВМ состояния флага (TSF), обнуляет флаг (CLF) или открывает вентили, связывающие аккумулятор с регистром данных контроллера (IN или OUT). Для передачи в КОНТРОЛЛЕР ПРЕРЫВАНИЙ состояния флажков всех ВУ используется линия «Запрос прерывания», а для передачи в РЕ ГИСТР СОСТОЯНИЙ ВУ (Ф) состояния флажка опрашиваемого ВУ — линия «Состояние флага». Данные обычно передаются по одной шине данных, которая в базовой ЭВМ (для упрощения описания) представлена двумя шинами: шиной ввода и шиной вывода. Программно-управляемый обмен осуществляется малыми порциями — обычно байтами. Такая 8-разрядная единица информации позволяет закодировать до 256 (28) различных символов, передаваемых между ЭВМ и ВУ: цифры, буквы латинского и русского алфавитов, знаки математического действия и т. п. (таблица 3). Поэтому шины ввода и вывода базовой ЭВМ связывают 8-разрядные регистры данных контроллеров ВУ с восемью младшими разрядами аккумулятора. Так как слово базовой ЭВМ имеет 16 разрядов, то в одном таком слове можно разместить для хранения коды двух символов. В связи с этим программы организации обмена между памятью ЭВМ и различными ВУ целесообразно составлять следующим образом. 1. При вводе первый символ, который попал в младшие разряды аккумулятора, сдвигается в его старшие разряды. Затем в младшие разряды аккумулятора принимается следующий символ, и только тогда производится пересылка содержимого аккумулятора (кодов двух символов) в память. 2. При выводе в аккумулятор пересылается из памяти слово, содержащее два выводимых символа. Затем на ВУ выводится символ, код которого расположен в младших разрядах аккумулятора, и после сдвига — второй символ.
Дата добавления: 2014-01-04; Просмотров: 566; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |