Устройство ввода вывода

Устройство ввода-вывода

Устройство ввода-вы́вода — компонент типовой архитектуры ЭВМ, предоставляющий компьютеру возможность взаимодействия с внешним миром и, в частности, с пользователями и другими компьютерами.

Содержание

Устройства ввода

  • Клавиатура
  • Мышь, трекбол и тачпад
  • Планшет
  • Джойстик
  • Сканер
  • Цифровые фото, видеокамеры, веб-камеры
  • Микрофон

Устройства вывода

  • Монитор
  • Принтер
  • Акустическая система

Устройства ввода/вывода

  • Стример
  • Дисковод
  • Сетевая плата
  • Модем

См. также

  • Интерфейс
  • Устройство хранения данных
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.

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

Wikimedia Foundation . 2010 .

  • Устрицы из Лозанны (фильм)
  • Уступная улица (Новая Жизнь)

Смотреть что такое «Устройство ввода-вывода» в других словарях:

устройство ввода-вывода — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN I/O device … Справочник технического переводчика

устройство ввода-вывода — įvedimo išvedimo įtaisas statusas T sritis radioelektronika atitikmenys: angl. input output device vok. Ein Ausgabevorrichtung, f rus. устройство ввода вывода, n pranc. dispositif d entrée/sortie, m … Radioelektronikos terminų žodynas

Устройство ввода/вывода — Компьютерное устройство ввода вывода компонент типовой архитектуры ЭВМ, предоставляющее компьютеру возможность взаимодействия с внешним миром и, в частности, с пользователями и другими компьютерами. Устройства ввода/вывода Устройство ввода… … Википедия

устройство ввода — вывода — дисплей. терминал. перфолента. перфокарта. машиноскрипт. табуляграмма … Идеографический словарь русского языка

устройство ввода-вывода (вычислительной машины) — Периферийное устройство, совмещающее функции устройств ввода и вывода данных. [ГОСТ 25868 91] Тематики оборуд. перифер. систем обраб. информации EN input/output device … Справочник технического переводчика

устройство ввода-вывода вычислительной машины — Периферийное устройство, совмещающее функции устройств ввода и вывода данных. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN input output device … Справочник технического переводчика

устройство ввода-вывода на магнитную карту — Устройство ввода вывода вычислительной машины, обеспечивающее вывод данных из ЭВМ, их преобразование, запись на магнитную карту для длительного хранения, считывание данных с магнитной карты и ввод их в ЭВМ. [ГОСТ 25868 91] Тематики оборуд.… … Справочник технического переводчика

устройство ввода-вывода аналоговых сигналов — Периферийное устройство, обеспечивающее ввод в ЭВМ сигналов, поступающих от объекта в непрерывной форме, и вывод из ЭВМ на объект управляющих воздействий в виде непрерывных сигналов. [ГОСТ 25868 91] Тематики оборуд. перифер. систем обраб.… … Справочник технического переводчика

устройство ввода-вывода цифровых сигналов — Периферийное устройство, обеспечивающее ввод в ЭВМ сигналов, поступающих от объекта в дискретной форме, и вывод из ЭВМ на объект управляющих воздействий в виде дискретных сигналов. [ГОСТ 25868 91] Тематики оборуд. перифер. систем обраб.… … Справочник технического переводчика

устройство ввода-вывода на перфокарту — [ГОСТ 25868 91] Тематики оборуд. перифер. систем обраб. информации … Справочник технического переводчика

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

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

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

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

Монитор

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

Принтер

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

Плоттер

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

Проектор

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

Колонки

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

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

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

Клавиатура

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

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

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

Сканеры

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

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

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

  • Главная
  • Рубрикация
  • Указатель А — Я
  • Порталы
  • Произвольно
  • Журнал
  • Редакторам
    • Ссылки сюда
    • Связанные правки
    • Загрузить файл
    • Спецстраницы
    • Версия для печати
    • Постоянная ссылка
    • Сведения о странице
    • Цитировать страницу
    • Читать
    • Просмотр
    • История

Устройство ввода-вывода

Устройство ввода-вывода — устройства взаимодействия компьютера с внешним миром: с пользователями или другими компьютерами. Устройства ввода позволяют вводить информацию в компьютер для дальнейшего хранения и обработки, а устройства вывода — получать информацию из компьютера.

Содержание

  • 1 Компоненты устройства ввода-вывода
  • 2 Драйвер устройств
  • 3 Способы установки драйвера в ядро
  • 4 Ввода и вывод данных
  • 5 Примеры устройств ввода-вывода
  • 6 Источники

Компоненты устройства ввода-вывода

Компоненты устройства ввода-вывода — устройство ввода-вывода обычно состоят из двух компонентов: самого устройства и контроллера.

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

Устройство имеет простые интерфейсы, и должно удовлетворять двум обязательным условиям: [Источник 1]

  1. Обладать простыми возможностями;
  2. Отвечать общим стандартам.

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

Типы устройств ввода-вывода — обычно выделяют 2 типа устройств ввода-вывода — блок-ориентированные и байт-ориентированные. [Источник 2]

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

Драйвер устройств

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

Цикл жизни драйвера устройств:

  • Инициализация — получение ресурсов драйвером;
  • Поиск аппаратуры — получение аппаратуры от ядра или нахождение им самостоятельно;
  • Активация — драйвер начинает работу;
  • Деактивация — прекращение обслуживания запросов;
  • Выгрузка — освобождение всех ресурсов ядра, драйвер больше не существует.

Модели построения драйвера устройств:

  1. Поллинг
  2. Прерывание
  3. Нити

Рассмотрим каждую из них.

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

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

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

Способы установки драйвера в ядро

  1. Заново скомпоновать ядро вместе с новым драйвером и затем перезагрузить систему.
  2. Создать в специальном файле операционной системы запись, сообщающую ей о том, что требуется, и затем следует перезагрузка системы. Во время перезагрузки ОС сама находит нужный ей драйвер и загружает его.
  3. Динамический способ загрузки драйвера — ОС принимает самостоятельно новые драйверы в процессе работы и оперативно устанавливает их, при этом не требуя ее перезагрузки.

Ввода и вывод данных

Ввод и вывод данных можно осуществлять тремя способами.

Способ 1 : ( способ активного ожидания) — пользовательская программа производит системный вызов, затем драйвер приступает к процессу ввода-вывода. При этом он выполняет короткий цикл, постоянно спрашивая устройство и отслеживая завершение операции. Именно опрос устройства и есть самый главный недостаток данного способа. После завершения операции ввода-вывода драйвер помещает данные в нужное место и возвращает управление.

Способ 2 : драйвер запускает устройство и просит его выдать прерывание по окончании выполнения ввода-вывода данных. После этого, драйвер возвращает управление. Затем ОС блокирует вызывающую программу, если это необходимо, и переходит к выполнению других задач. Когда контроллер обнаруживает окончание передачи данных, он вызывает прерывание, чтобы дать сигнал о завершении операции.

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

Способ 3 : в данном способе используется специальный контроллер прямого доступа к памяти (Direct Memory Access (DMA) ), который может управлять потоками битов между оперативной памятью и некоторыми контроллерами без постоянного вмешательства центрального процессора. Центральный процессор, в свою очередь, выполняет настройку контроллера DMA, сообщая ему о том, сколько байтов следует передать, какое устройство и адрес памяти задействовать, также в каком направлении передать данные, а затем дает ему возможность действовать самостоятельно [Источник 3] .

infoegehelp.ru

  • Демо варианты ЕГЭ
  • Учим числа: 2 в степени
  • Биты, байты, килобайты
  • Системы счисления
  • Алгебра логики
  • Программирование
  • Кодирование информации
  • Компьютерные сети и Интернет
  • Электронные таблицы (Excel)
  • Базы данных
  • Графы
  • Файловая система
  • Устройство компьютера
  • ПО компьютера

Устройства ввода и вывода данных

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

Устройства ввода и вывода относятся к периферийным (дополнительным) устройствам.

Периферийные устройства — это все устройства компьютера, за исключением процессора и внутренней памяти.

Классификация периферийных устройств по месту расположения (относительного системного блока настольного компьютера или корпуса ноутбука):

  • внутренние — находятся внутри системного блокакорпуса ноутбука: жесткий диск (винчестер), встроенный дисковод (привод дисков);
  • внешние — подключаются к компьютеру через порты ввода-вывода: мышь, принтер и т.д.

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

Устройства ввода и вывода разделяются на:

  • устройства ввода,
  • устройства вывода,
  • устройства ввода-вывода.

Устройства ввода данных

Классификация по типу вводимой информации:

  • устройства ввода текста: клавиатура;
  • устройства ввода графической информации:
    • сканер,
    • цифровые фото- и видеокамера,
    • веб камера — цифровая фото- или видеокамера маленького размера, которая делает фото или записывает видео в реальном времени для дальнейшей их передачи по сети Интернет;
    • графический планшет (дигитайзер) — для ввода чертежей, графиков и планов с помощью специального карандаша, которым водят по экрану планшета;
  • устройства ввода звука: микрофон;

Устройства-манипуляторы (преобразуют движение руки в управляющую информацию для компьютера):

  • несенсорные:
    • мышь,
    • трекбол — устройство в виде шарика, управляется вращением рукой;
    • трекпойнт (Pointing stick) — джойстик очень маленького размера (5 мм) с шершавой вершиной, который расположен между клавишами клавиатуры, управляется нажатием пальца;
    • игровые манипуляторы: джойстик, педаль, руль, танцевальная платформа, игровой пульт (геймпад, джойпад);
  • сенсорные:
    • тачпад (сенсорный коврик) — прямоугольная площадка с двумя кнопками, управляется движением пальца и нажатием на кнопки, используется в ноутбуках,
    • сенсорный экран — экран, который реагирует на прикосновение пальца или стилуса (палочка со специальным наконечником), используется в планшетных персональных компьютерах;
    • графический планшет (дигитайзер) — для ввода чертежей, схем и планов с помощью специального карандаша, которым водят по экрану планшета,
    • световое перо — устройство в виде ручки, ввод данных приконовением или проведением линий по экрану ЭЛТ-монитора (монитора на основе электронно-лучевой трубки). Сейчас световое перо не используется.

Устройства вывода данных

Классификация по типу выводимой информации:

  • устройства вывода графической и текстовой информации:
    • монитор — для вывода на дисплей (экран монитора),
    • проектор — для вывода на большой экран,
    • устройства для вывода на печать:
      • принтер — для вывода информации на бумагу, а также на поверхность дисков;
      • широкоформатный принтер («широкий» принтер) — для вывода на листах форматов: А0, А1, А2 и А3,
      • плоттер (графопостроитель) — для вывода векторных изображений (различных чертежей и схем) на бумаге, картоне, кальке;
      • каттер (режущий плоттер) — вырезает изображения из пленки, картона по заданному контуру;
  • устройства вывода (воспроизведения) звука :
    • наушники,
    • колонки и акустические системы (динамик, усилитель),
    • встроенный динамик ( PC speaker; Beeper ) — для подачи звукового сигнала в случае возникновения ошибки.
  • жесткий диск (винчестер) (входящий в него дисковод) — для ввода-вывода информации на жесткие пластины жесткого диска;
  • флэшка (флешка или USB-флеш-накопитель) — для ввода-вывода информации на микросхему памяти флэшки
  • дисководод оптических дисков — для ввода-вывода информации на оптические диски,
  • дисководод гибких дисков — для ввода-вывода информации на дискеты,
  • стример — для ввода-вывода информации на картриджи (ленточные носители);
  • кардридер — для ввода-вывода информации на карту памяти;
  • многофункциональное устройство (МФУ) — копировальный аппарат с дополнительными функциями принтера (вывод данных) и сканера (ввод данных)
  • модем (телефонный) — для связи компьютеров через телефонную сеть;
  • сетевая плата (сетевая карта или сетвой адаптер) — для подключения персонального компьютера к сети и организации взаимодействия с другими устройствами сети (обмен информацией по сети).

Другие устройства компьютера рассмотрены в статье «Аппаратное обеспечение компьютера».

Устройство ввода вывода

Рис.4.26.Фрагмент программы, обеспечивающей непрерывную индикацию строки символов

Рис.4.27.Блок-схема программы, обеспечивающий вывод в режиме «бегущей строки»

Рис.4.28.Структура буфера программы, обеспечивающий вывод в режиме бегущей строки

символы, семисегментные коды которых находятся в буфере. Числа около стрелок задают порядок пересылки кодов в процессе поворота. После поворота буфера вновь выполняется NN циклов индикации. Легко видеть, что при этом символы на дисплее будут последовательно смещаться влево и строка на нем «побежит». Скорость ее движения определяется числом циклов NN циклов индикации. Чем больше NN, тем медленнее бежит строка.

Для поворота буфера имеющего N ячеек можно воспользоваться фрагментом программы, представленным на рис.4.30.

; ЧИСЛО СИМВОЛОВ В СТРОКЕ

; ЗАНЕСТИ В ПАРУ HL НАЧ.

; АДРЕС ИСТОЧНИКА КОДА

; ЗАНЕСТИ В ПАРУ DE НАЧ.

; АДРЕС ПРИЕМНИКА КОДА

; ВЫПОЛНИТЬ N ЦИКЛОВ

; ПЕРЕСЛАТЬ КОД ИЗ

; ИСТОЧНИКА В ПРИЕМНИК

; ИСТОЧНИКА И ПРИЕМНИКА

; НЕТ, ПОВТОРИТЬ, ИНАЧЕ

Рис.4.30.Фрагмент программы, обеспечиваюший поворот буфера

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

Преобразование иллюстрирует подпрограмма BIS7 (рис.4.31), которая преобразует в семисегментный код младшую тетраду байта, находящегося в аккумуляторе.

; МАСКА МЛАДШЕЙ ТЕТРАДЫ

; ВЫДЕЛИТЬ МЛ. ТЕТРАДУ

; ОЧИСТИТЬ РЕГИСТР H

; ЗАГРУЗИТЬ МЛ. ТЕТРАДУ ВХ

; КОДА В РЕГИСТР L

; ЗАГРУЗИТЬ НАЧ. АДР.ТАБЛИЦЫ

; ВЫЧИСЛИТЬ АДРЕС ВЫХ. КОДА

; ЗАГРУЗИТЬ ВЫХ. КОД В РЕГ. А

; ВОЗВРАТИТЬСЯ В ОСНОВНУЮ

Рис.4.31. Текст подпрограммы BIS7

Начальный (базовый) адрес таблицы TAB7 складывается в подпрограмме с исходным кодом 0 F. При этом в регистровой паре HL получается адрес соответствующего семисегментного кода. Этот код извлекается из таблицы TAB7 командой MOV A, M и помещается в аккумулятор.

Ввод информации с кнопок и клавиатуры, подключенных к микро-ЭВМ обычно сопряжен с решением следующих специфических проблем:

защитой от дребезга контактов кнопок или клавиш;

идентификацией нажатой клавиши;

обеспечением нужного порядка срабатывания клавиш (при нажатии или при отпускании).

Защита от дребезга может быть обеспечена либо на аппаратном, либо на программном уровне.

Для идентификации клавиш обычно требуется комбинация определенных аппаратных и программных средств.

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

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

При малом количестве клавиш первый этап идентификации решается чисто аппаратно. Для приема сигнала с каждой из клавиш здесь выделяют отдельные разряды, биты в порте прямого ввода. Пример такого решения иллюстрирует схема клавиатуры, представленная на рис.4.32. Комбинация нажатых клавиш S0 S7 задает здесь уникальный код нажатой клавиши KNK1, который далее вводится в микро-ЭВМ через порт прямого ввода PIKNK1. Если количество клавиш больше числа разрядов порта ввода, можно включить между клавиатурой и портом шифратор с соответствующим количеством входов. При использовании шифратора, восьмиразрядный порт ввода может вводить информацию максимум от 255 клавиш.

Второй этап идентификации нажатой клавиши обеспечивается подпрограммой IDEN2, которая:

вводит в микро-ЭВМ код нажатой клавиши KNK1;

проверяет, содержится ли этот код в таблице допустимых кодов;

устанавливает признак недопустимого ввода Z = 1, если эта проверка не успешна. Некорректный ввод возможен, например, при одновременном нажатии нескольких клавиш;

Устанавливает признак управляющей клавиши С = 1, если нажата управляющая клавиша;

преобразует код нажатой клавиши KNK1 в другой — KNK2, более удобный для последующего использования.

Рис.4.32.Подключение клавиатуры к микро-ЭВМ

Для цифровых клавиш, коды KNK2 должны соответствовать их маркировке. Для управляющих клавиш удобно использовать в качестве кодов KNK2 последовательность четных шестнадцатеричных чисел, начинающуюся с 00Н. Код KNK2 получается в подпрограмме из промежуточного кода CKNK2. Младшая тетрада кода CKNK2 есть код KNK2 нажатой клавиши. Старшая тетрада равна 0H для цифровых и 8H для управляющих клавиш. Такая структура кода CKNK2 позволяет одновременно использовать его как для формирования KNK2, так и признака управляющей клавиши.

В случае, если на рис.4.32 клавиши S0 S3 — цифровые, а S4 S7 — управляющие, подпрограмма IDEN2 может иметь вид, представленный на рис.4.33.

Основу подпрограммы составляет цикл, в котором последовательно устанавливаются адреса всех восьми строк таблиц ТАВ1 (KNK1) и ТАВ2 (CKNK2) и идет сравнение кода из таблицы ТАВ1 с кодом нажатой клавиши. Если введенного кода нет в таблице ТАВ1, то есть имел место некорректный ввод, происходит выход из подпрограммы с установленным некорректного ввода Z=1. Этот признак устанавливается командой DCR B при завершении цикла. Если же введенный код опознан в одном из кодов ТАВ1, следует выход из цикла к метке М1. Регистровая пара DE содержит в этом случае адрес кода CKNK2 в таблице ТАВ2. Далее этот код извлекается из ТАВ2 командой LDAX D.

; ПОРТ ВВОДА PIKNK1

; ДЛИНА ТАБЛИЦЫ КОДОВ

; МАСКА МЛАДШЕЙ ТЕТРАДЫ

; ЗАГРУЗИТЬ ДЛИНУ ТАБЛИЦЫ

; ЗАГРУЗ. НАЧ. АДРЕС ТАБЛИЦЫ

; КОДОВ KNK1 В ПАРУ HL

; ЗАГРУЗ. НАЧ. АДРЕС ТАБЛИЦЫ

; КОДОВ СKNK2 В ПАРУ DE

; KNK1 СОВПАДАЕТ СО СТРОКОЙ

; ДА, ПЕРЕЙТИ К М1, ИНАЧЕ

; КОДОВ В ТАВ1 И ТАВ2

; ПРОСМОТРЕНА ВСЯ ТАВ1?

; НЕТ, ПОВТОРИТЬ, ИНАЧЕ

; ВЫБРАТЬ CKNK2 ИЗ ТАВ2

; СОХРАНИТЬ В РЕГИСТРЕ В

; ВЫБРАТЬ CKNK2 ИЗ ТАВ2

; ПЕРЕНЕСТИ СТАРШИЙ БИТ CKNK2

; В БИТ С РЕГИСТРА F

; ВОССТАНОВИТЬ KNK2 В

; ВОЗВРАТ С Z=0 И С=1 / 0

0FEH, 0FDH, 0FBH, 0F7H

0EFH, 0DFH, 0BFH, 7FH

00H, 01H, 02H, 03H

80H, 82H, 84H, 86H

Рис.4.33.Текст подпрограммы IDEN2

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

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

Порт POKWR предназначен для выбора ряда клавиш, опрашиваемых в данный момент времени. В этот порт выводится код выбора ряда KWR. Единичный бит этого кода обеспечивает активацию, выбор одного из вертикальных рядов клавиш, задавая на вертикальном проводнике матрицы уровень логического нуля. В невыбранных рядах вертикальные проводники имеют уровень логической единицы. Поэтому замыкание контактов клавиатуры в невыбранных рядах не меняет единичного состояния входов D6, D5, D4 и D2 порта PIKAR. Замыкание же контактов в выбранном ряду приводит к появлению уровня логического нуля на одном или нескольких входах этого порта. Таким образом, формируется код активного ряда KAR, который может ввести в микро-ЭВМ через порт PIKAR.

Последовательный выбор рядов клавиш меняющимся в цикле кодом KWR и ввод кода KAR соответствующего ряда осуществляет специальный блок подпрограммы идентификации IDEN. Байтовые коды KWR и KAR составляют вместе уникальный шестнадцатиразрядный код нажатой клавиши, который используется на втором этапе идентификации. Так, например, если этот код равен 0170H, то нажата клавиша «пробел».

Для рассматриваемого варианта клавиатуры коды KWR и KAR можно объединить в байтовый код нажатой клавиши KNK, используя соотношение

KNK = KWR / 2 + KAR х 2.

Это соотношение может быть реализовано фрагментом программы, приведенным на рис.4.35. Здесь предполагается, что код KWR содержится в регистре С.

Часто нужно определить, нажата ли какая-либо (неважно какая) из клавиш клавиатуры. В этом случае следует выбрать все шесть рядов клавиш одновременно, выдав в порт POKWR код KWR = 3FH. Порт PIKAR будет при этом принимать код KAR = 74H только в том случае, если не нажата ни одна из клавиш.

Процессы сканирования матричной клавиатуры и динамического управления семисегментным дисплеем имеют много общего. Поэтому их часто интегрируют, объединяют на аппаратном (клавиатура и дисплей обычно имеют общий порт выбора ряда POKWR) и (или) на программном уровне.

Рис.4.34.Принципиальная схема матричной клавиатуры

Операционные системы

  • Современные операционные системы, Э. Таненбаум, 2002, СПб, Питер, 1040 стр., (в djvu 10.1Мбайт) подробнее>>
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер (в zip архиве 1.1Мбайт)
  • Сетевые операционные системы Н. А. Олифер, В. Г. Олифер, 2001, СПб, Питер, 544 стр., (в djvu 6.3Мбайт) подробнее>>

9.1 Принципы аппаратуры ввода-вывода

9.1.1 Устройства ввода-вывода

Устройства делят на две категории (некоторые не попадают ни в одну):

блочные устройства — информация считывается и записывается по блокам, блоки имеют свой адрес (диски)

символьные устройства — информация считывается и записывается посимвольно (принтер, сетевые карты, мыши)

9.1.2 Контроллеры устройств

Устройства ввода-вывода обычно состоят из двух частей:

механическая (не надо понимать дословно) — диск, принтер, монитор

электронная — контроллер или адаптер

Если интерфейс между контроллером и устройством стандартизован (ANSI, IEEE или ISO), то независимые производители могут выпускать совместимые как контроллеры, так и устройства. Например: диски IDE или SCSI.

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

9.1.3 Отображаемый на адресное пространство памяти ввод-вывод

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

У многих устройств есть буфер данных (например: видеопамять).

Реализации доступа к управляющим регистрам и буферам:

номер порта ввода-вывода — назначается каждому управляющему регистру 8- или 16-рзрядное целое число. Адресные пространства ОЗУ и устройства ввода-вывода в этой схеме не пересекаются.
Недостатки
— для чтения и записи применяются специальные команды, например: IN и OUT
— необходим специальный механизм защиты от процессов
— необходимо сначала считать регистр устройства в регистр процессора

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

смешанная реализация — используется в х86 и Pentium,
от 0 до 64К отводится портам,
от 640 до 1М зарезервировано под буферы данных.

Способы реализации доступа к управляющим регистрам и буферам

9.1.4 Прямой доступ к памяти (DMA — Direct Memory Access)

Прямой доступ к памяти реализуется с помощью DMA — контроллера.

Контроллер содержит несколько регистров:

регистр адреса памяти

управляющие регистры, могут содержать:
— порт ввода-вывода
— чтение или запись
— единицы переноса (побайтно или пословно)

Без контроллера происходит следующее:

Процессор дает команду дисковому контроллеру прочитать данные в буфер,

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

Контроллер диска инициирует прерывание

Операционная система начинает работать и может считывать из буфера данные в память

Работа DMA — контроллера

С контроллером происходит следующее:

Процессор программирует контроллер (какие данные и куда переместить)

Процессор дает команду дисковому контроллеру прочитать данные в буфер

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

Контроллер DMA посылает запрос на чтение дисковому контроллеру

Контроллер диска поставляет данные на шину, адрес памяти уже находится на шине, происходит запись данных в память

Когда запись закончена, контроллер диска посылает подтверждение DMA контроллеру

DMA контроллер увеличивает используемый адрес и уменьшает значение счетчика байтов

Все повторяется с пункта 4, пока значение счетчика не станет равной нулю.

Контроллер DMA инициирует прерывание

Операционной системе не нужно копировать данные в память, они уже там.

9.1.5 Прерывания

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

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

Контроллер прерываний — обслуживает поступающие прерывания от устройств.

Если необработанных прерываний нет, прерывание выполняется немедленно.

Если необработанных прерываний есть, контроллер игнорирует прерывание. Но устройство продолжает удерживать сигнал прерывания на шине до тех пор, пока оно не будет обработано.

Устройство выставляет сигнал прерывания

Контроллер прерываний инициирует прерывание, указывая номер устройства

Процессор начинает выполнять обработку прерывания, вызывая процедуру

Эта процедура подтверждает получение прерывания контроллеру прерываний

9.2 Принципы программного обеспечения ввода-вывода

9.2.1 Задачи программного обеспечения ввода-вывода

Основные задачи, которые должно решать программное обеспечение ввода-вывода:

Независимость от устройств — например, программа, читающая данные из файла не должна задумываться с чего она читает (CD, HDD и др.). Все проблемы должна решать ОС.

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

Обработка ошибок — ошибки могут быть отловлены на уровне контроллера, драйвера и т.д.

Перенос данных — синхронный и асинхронный (в последнем случае процессор запускает перенос данных, и переключается на другие задачи до прерывания).

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

Три основных способа осуществления операций ввода-вывода:

Управляемый прерываниями ввод-вывод

Ввод-вывод с использованием DMA

Рассмотрим их подробнее.

9.2.2 Программный ввод-вывод

В этом случае всю работу выполняет центральный процессор.

Рассмотрим процесс печати строки ABCDEFGH этим способом.

Этапы печати строки ABCDEFGH

Строка для печати собирается в пространстве пользователя.

Обращаясь к системному вызову, процесс получает принтер.

Обращаясь к системному вызову, процесс просит распечатать строку на принтере.

Операционная система копирует строку в массив, расположенный в режиме ядра.

ОС копирует первый символ в регистр данных принтера, который отображен на памяти.

Символ печатается на бумаге.

Указатель устанавливается на следующий символ.

Процессор ждет, когда бит готовности принтера выставится в готовность.

При использовании буфера принтера, сначала вся строка копируется в буфер, после этого начинается печать.

9.2.3 Управляемый прерываниями ввод-вывод

Если в предыдущем примере буфер не используется, а принтер печатает 100 символов в секунду, то на каждый символ будет уходить 10мс, в это время процессор будет простаивать, ожидая готовности принтера.

Рассмотрим тот же пример, но с небольшим усовершенствованием.

До пункта 8 тоже самое.

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

Когда принтер будет готов, он посылает прерывание процессору.

Процессор переключается на печатающий процесс.

9.2.4 Ввод-вывод с использованием DMA

Недостаток предыдущего метода в том, что прерывание происходит при печати каждого символа.

Алгоритм не отличается, но всю работу на себя берет контроллер DMA.

9.3 Программные уровни и функции ввода-вывода

Четыре уровня ввода-вывода:

9.3.1 Обработчики прерываний

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

Драйвер начинает операцию ввод-вывод.

Драйвер блокирует сам себя,
— выполнив на семафоре процедуру down
— выполнив на переменной состояния процедуру wait
— выполнив на сообщении процедуру receive

Обработчик прерываний начинает работу

Обработчик прерываний может разблокировать драйвер (например, выполнив на семафоре процедуру up)

9.3.2 Драйвера устройств

Драйвер устройства — необходим для каждого устройства. Для разных ОС нужны разные драйверы.

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

Это одна из основных причин приводящих к краху операционных систем. Потому что драйверы, как правило, пишутся производителями устройств, и вставляются в ОС.

Логическое расположение драйверов устройств. На самом деле обмен данными между контроллерами и драйверами идет по шине.

Драйвера должны взаимодействовать с ОС через стандартные интерфейсы.

Стандартные интерфейсы, которые должны поддерживать драйвера:

Для блочных устройств

Для символьных устройств

Раньше для установки ядра приходилось перекомпилировать ядра системы.

Сейчас в основном ОС загружают драйверы. Некоторые драйверы могут быть загружены в горячем режиме.

Функции, которые выполняют драйвера:

обработка запросов чтения или записи

управление энергопотреблением устройства

прогрев устройства (сканера)

включение устройства или запуска двигателя

9.3.3 Независимое от устройств программное обеспечение ввода-вывода

Функции независимого от устройств программного обеспечения ввода-вывода:

Единообразный интерфейс для драйверов устройств,

Сообщения об ошибках

Захват и освобождение выделенных устройств (блокирование)

Размер блока, не зависящий от устройств

Единообразный интерфейс для драйверов устройств

Кроме интерфейса, в него также входят проблемы,

Буферизация

Рассмотрим несколько примеров буферизации.

a) Не буферизованный ввод — после ввода каждого символа происходит прерывание

b) Буферизация в пространстве пользователя — приходится держать загруженными необходимые страницы памяти в физической памяти.

c) Буферизация в ядре с копированием в пространство пользователя — страница загружается только когда буфер ядра полный, данные из буфера ядра в буфер пользователя копируется за одну операцию. Проблема может возникнуть, когда буфер ядра полный, а страница буфера пользователя еще не загружена.

d) Двойная буферизация в ядре — если один буфер заполнен, и пока он выгружается, символы пишутся во второй буфер.

Сообщения об ошибках

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

Захват и освобождение выделенных устройств

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

Независимый от устройств размер блока

Размер блока должен быть одинаковый для верхних уровней, и не зависеть от устройств (размеров секторов на диске).

9.3.4 Программное обеспечение ввода-вывода пространства пользователя

Функции этого обеспечения:

Обращение к системным вызовам ввода-вывода (через библиотечные процедуры).

Форматный ввод-вывод (меняют формат, например, в ASCII)

Спулинг (для выделенных устройств) — создается процесс (например, демон печати) и каталог спулера.

9.3.5 Обобщение уровней и функций ввода-вывода

Уровни и основные функции системы ввода-вывода

Добавить комментарий