Ввод-вывод

Ввод-вывод

В информатике, ввод/вывод (в англ. языке часто используется сокращение I/O) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею (или из нее). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод/вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши — специально разработанные компьютерные устройства ввода, а мониторы и принтеры — компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно.

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

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

Высокоуровневая операционная система и программное обеспечение используют другие, более абстрактные концепции и примитивы ввода-вывода. Например, большинство операционных систем реализуют прикладные программы через концепцию файлов. Языки программирования Си и C++, а также операционные системы семейства Unix, традиционно абстрагируют файлы и устройства в виде потоков данных, из которых можно читать и в которые можно записывать, или и то и другое вместе. Стандартная библиотека языка Си реализует функции для работы с потоками для ввода и вывода данных.


  • Обмен (данными) — В контексте языка программирования Алгол 68 механизмы ввод и вывод совместно назывались обменом. Библиотека обмена Алгола 68 распознавала следующие стандартные файлы/устройства: stand in, stand out, stand error и stand back.

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

Интерфейс ввода-вывода

Интерфейс ввода-вывода требует управления процессором каждого устройства. Интерфейс должен иметь соответствующую логику для интерпретации адреса устройства, генерируемого процессором.

Установление контакта должно быть реализовано интерфейсом при помощи соответствующих команд типа (ЗАНЯТО, ГОТОВ, ЖДУ), чтобы процессор мог взаимодействовать с устройством ввода-вывода через интерфейс.

Если существует необходимость передачи различающихся форматов данных, то интерфейс должен уметь конвертировать последовательные (упорядоченные) данные в параллельную форму и наоборот.

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

Компьютер, использующий ввод-вывод с распределением памяти, обращается к аппаратному обеспечению при помощи чтения и записи в определенные ячейки памяти, используя те же самые инструкции языка ассемблера, которые компьютер обычно использует при обращении к памяти.

Содержание

Режимы адресации

Существует несколько способов, которыми даные могут быть прочитаны или помещены в память. Каждый метод представляет из себя режим адресации и имеет собственные преимущества и ограничения.

Режимы адресации делятся на множество типов, как например, прямая адресация, косвенная (непрямая) адресация, непосредственная адресация, индексная адресация, базовая адресация, базово-индексная адресация, предполагаемая адресация и т.д.


Прямая адресация

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

Mov Reg. [Addr]

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

Косвенная адресация

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

Ввод-вывод с распределением (вводимой информации) по портам (памяти)

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


См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Ввод-вывод" в других словарях:

  • ввод-вывод — ввод вывод, ввода выдвода …   Орфографический словарь-справочник

  • ввод-вывод — Передача данных и сигналов управления между процессором и периферийным устройством.  [http://www.lexikon.ru/dict/net/index.html] Тематики сети вычислительные EN input/outputI/O …   Справочник технического переводчика

  • ввод/вывод — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN input/outputI/O …   Справочник технического переводчика

  • Ввод/вывод — С информатике, ввод/вывод (в англ. языке часто используется сокращение I/O  input/output) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая …   Википедия

  • ввод/вывод (полезной нагрузки) — Функция, выполняемая аналоговыми и цифровыми ретрансляторами, когда для местного трафика, а также управления и технического обслуживания системы доступны только управление самой радиосистемой, служебные каналы и, возможно, часть полезной нагрузки …   Справочник технического переводчика

  • ввод-вывод — ввод вы/вод, вво/да вы/вода …   Слитно. Раздельно. Через дефис.

  • ВВОД"ВЫВОД — Гибридный термин, используемый в различных когнитивных теориях (например, обработки информации) для того, чтобы представить информацию, поступающую к человеку (ввод), поведение человека (вывод) и связи между ними. Когнитивные психологи будут… …   Толковый словарь по психологии

  • ввод-вывод — вв од в ывод, вв ода в ывода …   Русский орфографический словарь

  • Полевой ввод/вывод — Полевым вводом/выводом (field IO) называется интерфейс для подключения измерительных приборов и исполнительных механизмов (обобщенно называемых полевыми устройствами) к системе управления технологическим процессом. К узлам полевого ввода/вывода… …   Википедия

  • бесформатный ввод-вывод — двоичный обмен (без преобразования данных) — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы двоичный обмен (без преобразования данных) EN… …   Справочник технического переводчика


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»