Меню

Устройства ввода и вывода информации

Организация ввода-вывода

Организация и режимы ввода-вывода в ЭВМ.Программный опрос. Ввод-вывод по прерываниям.Прямой доступ к памяти.Программная модель операции ввода-вывода.

Вводом/выводом называют передачу данных между ядром ЭВМ, включающим в себя процессор и ОП, и периферийными устройствами.

Система ввода-вывода – это единственное средство общения ЭВМ с внешним миром. Ее возможности в серийных ЭВМ представляют собой один из важнейших параметров, определяющих выбор машины для конкретного применения.

Существует три режима ввода-вывода:

  • Программный ввод-вывод (нефорсированный).
  • ввод-вывод по прерыванию (форсированный).
  • Прямой доступ к памяти (ПДП).

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

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

Прямой доступ к памяти. Процессор в передаче данных не участвует. Он отключается от системной магистрали, а все операции обмена данными идут под управлением специального управляющего устройства – контроллера ПДП. Этот режим используется для быстродействующих периферийных устройств, когда пропускной способности процессора недостаточно.

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

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

Управляющие данные от периферийного устройства называются словами состояния. Они содержат информацию об определенных признаках (о готовности устройства к передаче данных, о наличии ошибок при обмене и т.д.). Состояние обычно представляется в декодированной форме – один бит для каждого признака.

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

Синхронный ввод-вывод. Такой ввод-вывод можно использовать для связи с периферийными устройствами, которые «всегда готовы», например светодиодные индикаторы, либо для периферийных устройств, в которых известно точно время выполнения операций, например, максимальное время, необходимое для печати одного знака. Это наиболее простой вид обмена, требующий минимум программно-аппаратных затрат. Однако при работе с медленными периферийными устройствами, как правило, не удается оптимальным образом загрузить процессор на период времени между пересылками данных.

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

Источник



Устройства ввода и вывода информации

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

Устройства вывода информации

Устройства вывода информации – это те устройства, которые переводят информацию с компьютерного языка в формы, понятные для человека. Монитор принтер видеокарта проектор и плоттер, это именно те устройства которые следует отнести к устройствам вывода данных. Чтобы ввести информацию в компьютер нужно пользоваться устройствами ввода Главное их роль – создать воздействие на компьютер. Множества выпускаемых устройств ввода повлекли за собой целые технологии от осязаемых до голосовых. И хотя они функционируют по разному, но предназначение у них одно – дать пользователю связаться с компьютером. Именно благодаря своей компактности и наглядности представления информации человеком было создано устройства ввода графической информации. Основными сторонами использования устройств ввода графической информации являются системы автоматизированного проектирования, обработки изображений, обучения, управление процессами, мультипликации и многие другие.

Монитор

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

Принтер

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

Читайте также:  Ультразвуковая система А В скан UD 800 Tomey

Плоттер

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

Проектор

Лампа перераспределяющая свет вместе с концентрацией светового потока на маленькой плоскости называется проектор. Основным элементом данного прибора является лампа, свет которой, поступает через определенные элементы, поступает на экран и создает картинку. Лампа в проекторе является самым основным элементом, свет которого проходит через определенные элементы, поступает на экран и после этого мгновенно создает картинку. На сегодняшний день лампы проектора разделяют на LCD и DLP на основе оттого через какие элементы должен проходить свет. Компактность, а также менее негативное влияние на зрение, вот главные достоинства жидкокристаллических проекторов. Их недостатком является менее насыщенный чёрный цвет. Качественная картинка – это достоинство микрозеркальных проекторов. Утомляемость зрения при продолжительном просмотре – вот главная их слабая сторона

Колонки

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

Устройства ввода информации.

Устройства при помощи, которых можно ввести данные в компьютер называется устройства ввода. Осуществить воздействие на компьютер, вот одна из главных задач устройств ввода. Разнообразие выпускаемых устройств ввода повлекли за собой целые технологии от осязаемых до голосовых. И хотя они служат для разного, но предназначены лишь для одного–дать пользователю связаться с компьютером. Благодаря своей компактности и наглядности человек создал устройства ввода.

Клавиатура

Клавиатура является одним из самых основных устройств ввода данных.

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

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

Сканеры

Для того чтобы читать графическую информацию с бумажного используется оптические сканеры. Сканируемое изображение считывается и изменяется в цифровую форму элементами дополнительного устройства: CCD – чипами. Сканеры– это устройство, которое, анализируя какой–либо объект, создает цифровую копию изображения объекта, этот процесс называется сканированием.

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

Источник

Организация ввода-вывода информации

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ им. АКАДЕМИКА С. П. КОРОЛЕВА» (СГАУ)

Организация ввода-вывода информации

Цель работы — изучение способов организации ввода и вывода информации в ЭВМ и исследование процессов ввода и вывода информации в ЭВМ типа IBM PC/AT.

ПРИНЦИПЫ ОРГАНИЗАЦИИ ВВОДА-ВЫВОДА ИНФОРМАЦИИ

Ввод — это процесс считывания информации с носителя и записи её в ОП ЭВМ. Вывод — это процесс считывания информации из ОП и записи её на носитель информации.

Для считывания информации с носителя (записи информации на носитель) информации используются различные ПУ. ПУ обычно содержит механизм, обеспечивающий обращения к носителю информации с целью чтения или записи информации. Для управления механизмом в состав периферийного устройства включается блок управления — контроллер ПУ (КПУ). Таким образом, ПУ обычно состоит из трёх частей – носителя информации, механизма ПУ и контроллера ПУ.

Подключение ПУ к ЭВМ технически осуществляется через интерфейсы (рисунок 1).

Здесь U1- системный интерфейс ЭВМ, интерфейс первого уровня, m-разрядность его шины данных. Служит для обмена информацией между ЦП, ОП, и КПУ. U21,…U2k- интерфейсы второго уровня (малые интерфейсы), служат для подключения механизмов ПУ (МПУ) к КПУ, n, h — разрядность шин данных малых интерфейсов. Малые интерфейсы обычно разрабатываются с учётом специфики организации и характеристик ПУ. Например, интерфейс для подключения накопителя на жёстких магнитных дисках (НЖМД) отличается от интерфейса для подключения принтеров. Такого рода интерфейсы являются устройство–зависимыми. Учёт специфики ПУ позволяет упростить функции контроллеров и минимизировать затраты оборудования на подключение МПУ к ЭВМ.

Процесс ввода-вывода информации (процесс обмена «носитель — ОП») в общем случае разделяется на три последовательных этапа: первый — подготовка ПУ к обмену, второй – собственно обмен, третий – завершение обмена.

Подготовка ПУ к обмену (инициализация) необходима для приведения носителя информации в рабочее, активное состояние – обычно в движение. Во вторых, ПУ необходимо настроить на определенный режим работы. Современные ПУ обычно конструируются таким образом, что могут работать в различных режимах. На этапе инициализации выбирается (задается) один из возможных режимов работы. На этом этапе ЦП, выполняя соответствующую программу операционной системы (и волю человека), готовит адресуемое ПУ к обмену. Подготовка осуществляется путём опроса состояния ПУ: если устройство включено, исправно, свободно, то ЦП передаёт ему приказы, задающие необходимый режим работы, затем приказы на запуск механизма ПУ (если необходимо), на поиск информации на носителе, указывает направление обмена – ввод (чтение с носителя) или вывод (запись на носитель) информации.

Читайте также:  Характеристики Ровнитель цементный Крепс БМП 20 кг

На этапе передачи данных система ввода-вывода обеспечивает управление обменом между КПУ и ОП (рисунок 1) через интерфейс U1, а также управление обменом «носитель информации – КПУ» через интерфейс второго уровня U2. Для обмена информацией с носителем используется механизм ПУ, обеспечивающий считывание информации с носителя при вводе, или запись на носитель – при выводе. Управление механизмом ПУ осуществляется через КПУ: ЦП посылает команды (приказы), которые КПУ «понимает» и исполняет. КПУ, выполняя приказ, например, на ввод обеспечивает чтение с носителя заданного количества порций информации (обычно побитно или побайтно) и сборку байта из битов, или слова из байтов и занесение байта (слова) в электронный буфер Б, расположенный в КПУ.

Управление обменом между буфером Б ПУ и ОП может осуществляться ЦП («через» ЦП) или специализированным устройством — каналом ввода-вывода (КВВ) (минуя ЦП, в режиме ПДП — прямого доступа к ОП) . Буфер Б ПУ выполняет роль посредника между ОП и носителем информации. Он используется для согласования работы медленнодействующего ПУ и быстрой ОП. При вводе механизм ПУ (под управлением КПУ) считывает информацию с носителя и накапливает её в буфере Б, а затем под управлением ЦП (или КВВ) осуществляется быстрый обмен «буфер®ОП». При выводе сначала осуществляется быстрый обмен «ОП ® буфер ПУ», а затем медленный (со скоростью ПУ) обмен «буфер ПУ®носитель». Поскольку буфер и ОП работают быстро, то их время обмена небольшое и, следовательно, интерфейс U1 занят недолго и, освободившись от обмена, может обслуживать другие устройства.

Следует отметить, что обмен информацией по интерфейсам типа «общая шина» (ОШ) для пары устройств обычно осуществляется по принципу «ведущий-ведомый». Ведущее устройство является активным (управляет обменом по интерфейсу), ведомое устройство пассивно, подчиняется «воле» ведущего. ОП всегда пассивна (не может быть ведущим устройством), ведущим может быть либо ЦП, либо один из КПУ. Чаще всего (на рисунке 1) эту роль исполняет ЦП.

На этапе завершения обмена ЦП, выполняя соответствующую программу ОС, опрашивает состояние ПУ и выясняет, с каким устройством и как завершился обмен – нормально или нет, если не нормально, то по какой причине, с какой ошибкой. Если ошибка случайная, то СВВ (ОС) может повторить попытку обмена ещё раз. Если обмен завершился нормально, то подаётся команда на выключение механизма ПУ (если необходимо).

Итак, управление вводом-выводом на 1 и 3 этапах всегда осуществляет ЦП, который при этом выполняет соответствующие команды. Управление вводом-выводом на 2 этапе может осуществляться либо под управлением ЦП, либо под управлением КВВ, в режиме ПДП.

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

Обмен с основной памятью (через соответствующий интерфейс) обычно ведётся m-разрядными словами, а с ПУ – n-разрядными словами, обычно байтами (n

Источник

Основные методы ввода-вывода (I/O)

io input-output

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

I/O в аппаратном обеспечении

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

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

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

17–18 июня, Онлайн, Беcплатно

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

I/O в программном обеспечении

В среде программного обеспечения существует большое количество видов ввода и вывода: блокирующий, неблокирующий, мультиплексированный и асинхронный. Давайте рассмотрим их по очереди.

Блокирующий метод

Помните, что любая пользовательская программа запускается внутри процесса, а код выполняется в контексте потока? Предположим, вы пишете программу, которой нужно читать информацию из файла. С блокирующим вводом-выводом вы просите ОС «усыпить» ваш поток и «разбудить» его только после того, как данные из файла будут доступны для чтения.

Читайте также:  Виды Китайские магнитолы Андроид 2 din с прошивкой

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

Неблокирующий метод

Проблема метода блокировки заключается в том, что поток будет спать, пока ввод-вывод не завершится. Поток не сможет выполнять никаких других задач, кроме ожидания завершения ввода-вывода. Иногда вашей программе больше и не надо ничего делать. В противном случае во время ожидания ввода-вывода было бы полезно выполнять другие задачи.

Один из способов осуществить это — использовать неблокирующий ввод-вывод. Его идея заключается в том, что когда программа делает вызов на чтение файла, ОС не будет блокировать поток, а просто вернёт ей либо готовые данные, либо информацию о том, что ввод-вывод ещё не закончен. Это не заблокирует поток, но программе придётся позже проверять, завершён ли ввод-вывод. Это означает, что ПО может по-разному реагировать в зависимости от того, завершён ли ввод-вывод и выполнять другие задачи. Когда же программе снова понадобится ввод-вывод, она сможет повторно попробовать прочесть содержимое файла, и если ввод-вывод завершён, то получит содержимое файла. В противном случае ПО снова получит сообщение о том, что операция ещё не завершена и сможет заняться другими задачами.

Мультеплексированный метод

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

Хорошо, если ПО просит ОС прочитать содержимое из файла А, после чего выполняет какие-нибудь сложные вычисления. Затем проверяет, завершилось ли чтение файла А, и если да, то просто продолжает ту работу, для которой нужно было содержимое файла, а иначе снова выполняет некоторое количество сложных вычислений и так далее.

Но что, если программе не нужно выполнять сложные вычисления? Ей просто нужно прочесть файл A и одновременно файл B. Пока ПО ожидает завершения обработки файла А, оно делает неблокирующий вызов чтения содержимого файла В. Во время ожидания обработки программе больше нечего делать, потому она входит в бесконечный цикл опроса, проверяя, готово ли A и готово ли B, снова и снова. Это либо нагрузит процессор проверками состояния ваших неблокирующих вызовов, либо вам придётся вручную добавить какое-то произвольное время, которое ваш поток будет «спать», а значит, программа немного позже заметит, что ввод-вывод готов, что отрицательно скажется на пропускной способности ПО.

Во избежание этого можно использовать мультиплексированный ввод-вывод. Он тоже блокирует поток на операциях ввода-вывода, но вместо того, чтобы производить блокировку по очереди, вы можете запланировать все операции ввода-вывода, которые вам нужно сделать, и блокировать их все. Операционная система разбудит поток, когда какая-нибудь из операций завершится. В некоторых реализациях мультиплексированного ввода-вывода можно даже точно указать, что вы хотите, чтобы поток разбудили, только когда заданный набор операций ввода-вывода будет завершён, например, когда файлы A и C, или файлы B и D будут готовы.

Таким образом ПО делает неблокирующий вызов чтения файла A, потом неблокирующий вызов чтения файла B, и наконец говорит ОС: усыпи мой поток, и разбуди его, когда A и B будут оба готовы, или когда один из них будет готов.

Асинхронный метод

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

Например, ПО вычисляет цифры числа π и одновременно суммирует значения из нескольких файлов. Вам хотелось бы запланировать все операции чтения файлов, пока программа ждёт их выполнения, вычислять цифры числа π. Когда какой-нибудь из файлов будет прочитан, ПО прибавит записанное в нём значение и продолжит вычислять цифры числа π дальше, пока ещё один файл не будет прочитан.

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

Многопоточность или однопоточность?

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

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

В самом деле, есть пятый популярный метод ввода-вывода, который требует многопоточности. Его часто путают с неблокирующим или асинхронным, поскольку он похож по интерфейсу на те два. Он работает просто: он использует блокирующий ввод-вывод, но каждый блокирующий вызов делается в отдельном потоке. В зависимости от реализации, вызов либо принимает функцию обратного вызова, либо использует модель опроса, как если он возвращает Future .

Источник