Ввод-вывод

Поделись знанием:
(перенаправлено с «Ввод/вывод»)
Перейти к: навигация, поиск

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





Классификация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mov Reg. [Addr]

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

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

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

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

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

См. также

Напишите отзыв о статье "Ввод-вывод"

Примечания

Ссылки

  • [khpi-iip.mipk.kharkiv.edu/library/datastr/book_sod/structura/chapter6.htm Форматы команд и адресация в ЭВМ] (глава [khpi-iip.mipk.kharkiv.edu/library/datastr/book_sod/structura/index-1.htm книги]) (рус.)


К:Википедия:Статьи без источников (тип: не указан)

Отрывок, характеризующий Ввод-вывод

«Мое призвание другое, – думала про себя княжна Марья, мое призвание – быть счастливой другим счастием, счастием любви и самопожертвования. И что бы мне это ни стоило, я сделаю счастие бедной Ame. Она так страстно его любит. Она так страстно раскаивается. Я все сделаю, чтобы устроить ее брак с ним. Ежели он не богат, я дам ей средства, я попрошу отца, я попрошу Андрея. Я так буду счастлива, когда она будет его женою. Она так несчастлива, чужая, одинокая, без помощи! И Боже мой, как страстно она любит, ежели она так могла забыть себя. Может быть, и я сделала бы то же!…» думала княжна Марья.


Долго Ростовы не имели известий о Николушке; только в середине зимы графу было передано письмо, на адресе которого он узнал руку сына. Получив письмо, граф испуганно и поспешно, стараясь не быть замеченным, на цыпочках пробежал в свой кабинет, заперся и стал читать. Анна Михайловна, узнав (как она и всё знала, что делалось в доме) о получении письма, тихим шагом вошла к графу и застала его с письмом в руках рыдающим и вместе смеющимся. Анна Михайловна, несмотря на поправившиеся дела, продолжала жить у Ростовых.
– Mon bon ami? – вопросительно грустно и с готовностью всякого участия произнесла Анна Михайловна.
Граф зарыдал еще больше. «Николушка… письмо… ранен… бы… был… ma сhere… ранен… голубчик мой… графинюшка… в офицеры произведен… слава Богу… Графинюшке как сказать?…»
Анна Михайловна подсела к нему, отерла своим платком слезы с его глаз, с письма, закапанного ими, и свои слезы, прочла письмо, успокоила графа и решила, что до обеда и до чаю она приготовит графиню, а после чаю объявит всё, коли Бог ей поможет.
Всё время обеда Анна Михайловна говорила о слухах войны, о Николушке; спросила два раза, когда получено было последнее письмо от него, хотя знала это и прежде, и заметила, что очень легко, может быть, и нынче получится письмо. Всякий раз как при этих намеках графиня начинала беспокоиться и тревожно взглядывать то на графа, то на Анну Михайловну, Анна Михайловна самым незаметным образом сводила разговор на незначительные предметы. Наташа, из всего семейства более всех одаренная способностью чувствовать оттенки интонаций, взглядов и выражений лиц, с начала обеда насторожила уши и знала, что что нибудь есть между ее отцом и Анной Михайловной и что нибудь касающееся брата, и что Анна Михайловна приготавливает. Несмотря на всю свою смелость (Наташа знала, как чувствительна была ее мать ко всему, что касалось известий о Николушке), она не решилась за обедом сделать вопроса и от беспокойства за обедом ничего не ела и вертелась на стуле, не слушая замечаний своей гувернантки. После обеда она стремглав бросилась догонять Анну Михайловну и в диванной с разбега бросилась ей на шею.
– Тетенька, голубушка, скажите, что такое?
– Ничего, мой друг.
– Нет, душенька, голубчик, милая, персик, я не отстaнy, я знаю, что вы знаете.
Анна Михайловна покачала головой.
– Voua etes une fine mouche, mon enfant, [Ты вострушка, дитя мое.] – сказала она.
– От Николеньки письмо? Наверно! – вскрикнула Наташа, прочтя утвердительный ответ в лице Анны Михайловны.
– Но ради Бога, будь осторожнее: ты знаешь, как это может поразить твою maman.
– Буду, буду, но расскажите. Не расскажете? Ну, так я сейчас пойду скажу.
Анна Михайловна в коротких словах рассказала Наташе содержание письма с условием не говорить никому.
Честное, благородное слово, – крестясь, говорила Наташа, – никому не скажу, – и тотчас же побежала к Соне.
– Николенька…ранен…письмо… – проговорила она торжественно и радостно.
– Nicolas! – только выговорила Соня, мгновенно бледнея.
Наташа, увидав впечатление, произведенное на Соню известием о ране брата, в первый раз почувствовала всю горестную сторону этого известия.
Она бросилась к Соне, обняла ее и заплакала. – Немножко ранен, но произведен в офицеры; он теперь здоров, он сам пишет, – говорила она сквозь слезы.
– Вот видно, что все вы, женщины, – плаксы, – сказал Петя, решительными большими шагами прохаживаясь по комнате. – Я так очень рад и, право, очень рад, что брат так отличился. Все вы нюни! ничего не понимаете. – Наташа улыбнулась сквозь слезы.
– Ты не читала письма? – спрашивала Соня.
– Не читала, но она сказала, что всё прошло, и что он уже офицер…
– Слава Богу, – сказала Соня, крестясь. – Но, может быть, она обманула тебя. Пойдем к maman.
Петя молча ходил по комнате.
– Кабы я был на месте Николушки, я бы еще больше этих французов убил, – сказал он, – такие они мерзкие! Я бы их побил столько, что кучу из них сделали бы, – продолжал Петя.
– Молчи, Петя, какой ты дурак!…
– Не я дурак, а дуры те, кто от пустяков плачут, – сказал Петя.
– Ты его помнишь? – после минутного молчания вдруг спросила Наташа. Соня улыбнулась: «Помню ли Nicolas?»
– Нет, Соня, ты помнишь ли его так, чтоб хорошо помнить, чтобы всё помнить, – с старательным жестом сказала Наташа, видимо, желая придать своим словам самое серьезное значение. – И я помню Николеньку, я помню, – сказала она. – А Бориса не помню. Совсем не помню…
– Как? Не помнишь Бориса? – спросила Соня с удивлением.
– Не то, что не помню, – я знаю, какой он, но не так помню, как Николеньку. Его, я закрою глаза и помню, а Бориса нет (она закрыла глаза), так, нет – ничего!
– Ах, Наташа, – сказала Соня, восторженно и серьезно глядя на свою подругу, как будто она считала ее недостойной слышать то, что она намерена была сказать, и как будто она говорила это кому то другому, с кем нельзя шутить. – Я полюбила раз твоего брата, и, что бы ни случилось с ним, со мной, я никогда не перестану любить его во всю жизнь.
Наташа удивленно, любопытными глазами смотрела на Соню и молчала. Она чувствовала, что то, что говорила Соня, была правда, что была такая любовь, про которую говорила Соня; но Наташа ничего подобного еще не испытывала. Она верила, что это могло быть, но не понимала.
– Ты напишешь ему? – спросила она.
Соня задумалась. Вопрос о том, как писать к Nicolas и нужно ли писать и как писать, был вопрос, мучивший ее. Теперь, когда он был уже офицер и раненый герой, хорошо ли было с ее стороны напомнить ему о себе и как будто о том обязательстве, которое он взял на себя в отношении ее.