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

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

Устройства ввода/вывода (как и устройства внешней памяти) подсоединяются к системной магистрали при помощи контроллеров, которые управляют передачей данных от устройства на шину и в обратном направлении (см. “Контроллеры”). Каждый контроллер управляет “своим” устройством под руководством центрального процессора (ЦП). Для ведения диалога между процессором и внешними устройствами последние чаще всего отображаются в особое адресное пространство: его ячейки принято называть портами; каждому устройству обычно соответствует несколько портов с последовательными адресами. В MS-DOS настройка адресов портов являлась важной частью процедуры подключения устройств, в более поздних ОС распределение портов по адресам выполняется автоматически.
В настоящее время выделяют три режима обмена информацией:
· программно-управляемый ввод/вывод;
· обмен с устройствами по прерываниям;
· прямой доступ к памяти (ПДП).
Программно-управляемый обмен характеризуется тем, что все действия по вводу или выводу предусмотрены непосредственно в теле программы. Процессор полностью руководит ходом обмена, включая ожидание готовности периферийного устройства и прочие временныRе задержки, связанные с процессами ввода/вывода.
Суть обмена по прерываниям заключается в том, что УВВ сами требуют внимания процессора в том случае, когда оно необходимо. Например, клавиатура оповещает процессор, если была нажата или отпущена клавиша; все остальное время процессор выполняет программу, “не отвлекаясь” на клавиатуру.
В последнее время необходимость понимания механизма работы прерываний сильно возросла в связи с возникновением идеологии программирования по событиям. Она лежит в основе последних систем типа Visual Basic (базовый язык Microsoft Office) или Delphi. Приведем примеры нескольких событий, на которые программа может реагировать: сдвинута мышь, нажата (или отпущена) ее кнопка, нажата клавиша
, выбран тот или иной пункт меню, открыто новое окно на экране и многие-многие другие.
В обоих описанных выше видах обмена руководство осуществлял ЦП. Чтобы улучшить эффективность использования вычислительной системы и увеличить скорость транспортировки крупных блоков данных от устройств в память и обратно, в современных компьютерах разработан так называемый прямой доступ к памяти (по-английски DMA — Direct Memory Access). Принципиальное отличие ПДП заключается в том, что в этом режиме процессор не производит обмен, а только подготавливает его, программируя контроллера ПДП.
Для лучшего понимания принципа ПДП предлагаем сопоставить его упрощенную схему, представленную в книге В.Лина 12, с шинной схемой ПК, приведенной в статье “Функциональное устройство”.
Материал о режимах ввода/вывода может быть сведен в следующую компактную, но весьма информативную таблицу:

*В процессе обмена контроллер ПДП взаимодействует с центральным процессором.
Рассказ о наиболее общих принципах работы УВВ следует дополнить конкретными примерами. Учитывая постоянное совершенствование технологий производства, примеры эти также все время приходится обновлять. В частности, на данном этапе происходит постепенное вытеснение мониторов на базе электронно-лучевой трубки жидкокристаллическими, а оптические мыши уже практически везде заменили менее совершенные механические. В рамках газетной публикации рассказать обо всех этих интересных устройствах не представляется возможным, поэтому посоветуем читателям обратиться к многочисленным книгам 13.

Методические рекомендации
Изложение на уроках информатики в школе данной темы в большинстве случаев протекает весьма живо и интересно. В отличие от абстрактных рассказов о функционировании остальных частей компьютера работу внешних устройств можно наглядно продемонстрировать. Хотелось бы только предостеречь от двух крайностей: излишнего увлечения второстепенными деталями и поверхностного изложения материала. Поясним несколько подробнее.
При рассказе о работе внешних устройств следует больше внимания уделять их общим принципам работы, а не заучивать функции каждой конкретной управляющей кнопки. Иными словами, согласно общим целям образования, важнее рассказать о принципах функционирования, управления и обслуживания лазерных принтеров вообще, чем в совершенстве освоить практическую эксплуатацию вплоть до замены картриджа именно той модели, которая стоит в компьютерном классе.
Второй встречающийся на практике “перекос” заключается в излишнем увлечении пользовательским или, наоборот, чрезмерно абстрактным подходом к материалу курса. Порой это приводит к тому, что ученикам дается откровенно неправильное представление о процессах ввода/вывода в компьютере. Например, им сообщается, что клавиатура и отображающий вводимый текст дисплей связаны напрямую, т.е. как только мы нажимаем клавишу, ее код тут же поступает на монитор и отображается. Вот, например, цитата из статьи в центральном методическом журнале, которая рекомендует описывать ввод данных с клавиатуры следующим образом: “Клавиатура -> контроллер клавиатуры -> системная магистраль -> оперативная память -> системная магистраль -> центральный процессор -> системная магистраль -> видеоадаптер -> дисплей”.
На самом деле процесс далеко не такой примитивный 14. Код нажатой клавиши поступает в компьютер (кстати говоря, в процессор!), но далее проводится весьма сложный программный анализ этого кода, и только затем по результатам анализа на экран монитора выводится тот или иной символ или группа символов. Отметим только, что происходящее в компьютере далеко не всегда очевидно, если исходить из житейской логики и обывательских наблюдений, и даже из общих соображений о закономерностях информационных процессов.
Рассматривая на уроках устройства ввода/вывода, можно придумать множество интересных заданий и вопросов. Возможные примеры приведены ниже.
· Является ли устройство чтения перфокарт устройством ввода? (Правильнее ответить нет, поскольку лучше трактовать перфокарты как внешнюю память на бумажном носителе.)
· При изучении устройства “старой” механической мыши с шариком докажите, что, пользуясь единственным датчиком, легко установить факт вращения колеса с прорезями и даже его скорость, но невозможно определить направление вращения. (Для решения данной проблемы в устройстве обязательно используются два датчика, хотя они часто располагаются в одном корпусе.)
· Как вы представляете себе процессы, происходящие в компьютере при наборе на клавиатуре слова?
· Правильно ли утверждение о том, что сканер считывает находящийся на бумаге текст? (Нет, не совсем, поскольку сканер передает в компьютер лишь “картинку”, которую потом обрабатывает программное обеспечение.)
· Почему у ЖК-мониторов нет того излучения, от которого приходится защищаться в мониторах на базе ЭЛТ? (В них отсутствует обегающий экран электронный луч, который при торможении излучает свою энергию.)
· Какое компьютерное устройство считывает штрих-коды товаров в магазине? (Ручной сканер.)
12 Лин В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера. М.: Радио и связь, 1989, 320 с.
13 Например, в учебнике: Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем. М.: ФОРУМ: ИНФРА-М, 2005, 512 с. — этому описанию отведено около 40 страниц.
14 Читатели газеты могут обратиться за подробностями к статье Е.А. Еремина “От нажатия клавиши до сохранения данных в ОЗУ”. Информатика, 2005, № 20–22.