Одной из важнейших функций компьютера является поддержка устройств ввода-вывода. Благодаря этому оператор, к примеру, может использовать клавиатуру и дисплей для работы с текстом и графикой. Компьютеры применяются для взаимодействия с другими компьютерами через Интернет, а следовательно, предоставляют доступ к информации, находящейся в различных частях земного шара. Роль компьютеров в решении других задач может быть менее заметной, но не менее важной. Компьютеры используются дома, в учебных аудиториях, на производстве, в различных транспортных, банковских и коммерческих системах — разнообразие сфер их применения просто впечатляет. Данные могут поступать в компьютер от самых разных приборов: сенсорных устройств, видеокамер, в том числе цифровых, микрофонов или даже с пультов пожарной сигнализации. Выходными же данными могут служить направляемый в колонки звуковой сигнал или, скажем, закодированная цифровая команда, изменяющая скорость мотора, открывающая вентиль или заставляющая робота выполнить определенное движение. Короче говоря, компьютер должен обладать способностью обмениваться информацией с широким диапазоном устройств в различных окружениях.
В настоящей главе мы подробно рассмотрим разнообразные способы выполнения операций ввода-вывода. Прежде всего, данный вопрос будет проанализирован с точки зрения программиста. Затем речь пойдет о некоторых аппаратных деталях, связанных с шинами и интерфейсами ввода-вывода. Напоследок вы познакомитесь с несколькими наиболее распространенными стандартами шинной архитектуры.
7.1. Доступ к устройствам ввода-вывода
Простейшая схема подключения устройств ввода-вывода к компьютеру заключается в использовании общей шины (рис. 7.1). Все устройства, подключенные к шине, могут обмениваться между собой информацией. Обычно шина состоит из трех наборов линий, предназначенных для передачи адресов, данных и управляющих сигналов. Каждому устройству ввода-вывода присваивается уникальный набор адресов. Когда процессор помещает на адресные линии конкретный адрес, распознавшее этот адрес устройство отвечает на команду, помещенную на управляющие линии. Процессор запрашивает либо операцию чтения, либо операцию записи, и запрошенные данные пересылаются по линиям данных. Такая организация системы ввода-вывода, при которой устройства ввода-вывода и память разделяют одно адресное пространство, называется вводом-выводом с отображением в память.
Видео:Ошибка ввода вывода на устройстве — как исправить для HDD, флешки, SSDСкачать
Рис. 7.1. Архитектура системы с общей шиной
При использовании ввода-вывода с отображением в память любые машинные команды, выполняющие обращение к памяти, могут быть задействованы и для обмена данными с устройствами ввода-вывода. Предположим, DATAIN — это адрес входного буфера, связанного с клавиатурой. Тогда следующая команда считывает данные из DATAIN и помещает их в регистр процессора R0:
Аналогичным образом команда
пересылает содержимое регистра R0 по адресу DATAOUT, который может соответствовать выходному буферу дисплея или принтера.
Технология ввода-вывода с отображением в память применяется в большинстве компьютерных систем. Некоторые процессоры для выполнения операций ввода-вывода поддерживают специальные команды In и Out. Например, процессоры семейства Intel, имеют специальные команды ввода-вывода и отдельное 16-разрядное адресное пространство для устройств ввода-вывода. Создавая компьютерную систему на основе такого процессора, конструктор может либо соединить все устройства ввода-вывода так, чтобы они использовали специальное адресное пространство ввода-вывода, либо подключить их как часть адресного пространства памяти. Второй подход позволяет упростить программное обеспечение, поэтому используется он значительно чаще. Одним из преимуществ наличия отдельного адресного пространства ввода-вывода является то, что соответствующие устройства могут использовать меньшее количество адресных линий. Но имейте в виду, что наличие отдельного адресного пространства ввода-вывода еще не означает, что адресные линии ввода-вывода физически отделены от адресных линий памяти. На тот факт, что запрошенная операция чтения или записи относится к системе ввода-вывода, может указывать передаваемый по шине специальный сигнал. Получив такой сигнал, память игнорирует запрошенную операцию, а устройства ввода-вывода анализируют младшие разряды переданного по шине адреса, чтобы узнать, кому из них направлен запрос.
Аппаратные элементы, необходимые для присоединения устройств ввода-вывода к шине, представлены на рис. 7.2. Когда адрес устройства появляется на адресных линиях, устройство распознает его с помощью дешифратора (декодера) адреса. Данные, которыми устройство обменивается с процессором, хранятся в регистрах данных. Регистр состояния содержит информацию, относящуюся к функционированию устройства ввода-вывода. Регистры данных и состояния соединяются шиной данных, и им присваиваются уникальные адреса. Дешифратор адреса, регистры данных и состояния, управляющие схемы, необходимые для координирования операций ввода-вывода, составляют схему сопряжения, или интерфейс, устройства.
Видео:07. Основы устройства компьютера. Ввод-вывод. [Универсальный программист]Скачать
Рис. 7.2. Интерфейс ввода-вывода для устройства ввода
Скорость работы устройств ввода-вывода значительно отличается от скорости работы процессора. Когда оператор вводит с клавиатуры символы, между последовательными нажатиями клавиш процессор может выполнять миллионы команд. Команда, считывающая символ с клавиатуры, должна выполняться только тогда, когда таковой находится во входном буфере интерфейса клавиатуры. Кроме того, необходимо гарантировать, что один и тот же символ не будет прочитан из этого буфера дважды.
В случае входного устройства, подобного клавиатуре, в схему сопряжения в виде одного из разрядов регистра состояния включается флаг состояния SIN. Он устанавливается в 1, если символ вводится с клавиатуры, и сбрасывается в 0, если символ считывается процессором. Таким образом, проверяя значения флага SIN, программное обеспечение гарантирует корректность операции чтения данных. Для этого обычно организуется программный цикл, считывающий регистр состояния и проверяющий состояние флага SIN. Обнаружив, что флаг установлен в 1, программа считывает значение из регистра входных данных. Аналогичным образом может осуществляться управление операциями вывода, но в этом случае применяется флаг состояния SOUT.
Для того чтобы лучше усвоить базовые концепции ввода-вывода, мы рассмотрим простой пример с участием клавиатуры и дисплея. Для операций пересылки данных используются четыре регистра (рис. 7.3). В регистре STATUS содержатся два управляющих флага, SIN и SOUT, хранящие соответственно информацию о состоянии клавиатуры и дисплея. Еще два флага из этого регистра, KIRQ, и DIRQ, используются при обработке прерываний. О флагах KEN и DEN, относящихся к регистру CONTROL, будет рассказано в разделе 7.2. Вводимые с клавиатуры данные помещаются в регистр DATAIN, а данные, отправляемые на дисплей, — в регистр DATAOUT.
Видео:лекция 315. Состояния устройства при подключении к USBСкачать
https://fasad-adelante.ru/sostoyanie-ustroystv-vvoda-vyvoda-po-shine-sostoyaniya
💥 Видео
❓ Неизвестное устройство в Windows. Как решить проблему?Скачать
Ввод-вывод с квитированиемСкачать
GPIO STM32 Схемотехника портов ввода-выводаСкачать
Шины ввода-выводаСкачать
УРОК 25. Внешние устройства (10 класс)Скачать
Лекция № 8. Принципы взаимодействия с устройствами ввода-выводаСкачать
Код 10 Запуск этого устройства невозможен — как исправить?Скачать
Операционные системы, урок 9: Ввод и выводСкачать
РЕШЕНО! Ошибка ввода вывода qbittorrent - как устранить?Скачать
STM32. Порты ввода-вывода. Внутреннее устройство и режимы работыСкачать
лекция 313. Формирование пакетов на шине USBСкачать
АПС Л15. Ввод-выводСкачать
Логические принципы организации ввода/выводаСкачать
ОПД #3-4. Ввод-вывод по прерываниюСкачать
Ошибка ввода/вывода на устройстве.Windows 10Скачать
АПС Л20. Ввод-выводСкачать
Устройства ввода и вывода информацииСкачать