Работа с шиной ввода вывода

Одной из важнейших функций компьютера является поддержка устройств вво­да-вывода. Благодаря этому оператор, к примеру, может использовать клавиату­ру и дисплей для работы с текстом и графикой. Компьютеры применяются для взаимодействия с другими компьютерами через Интернет, а следовательно, пре­доставляют доступ к информации, находящейся в различных частях земного ша­ра. Роль компьютеров в решении других задач может быть менее заметной, но не менее важной. Компьютеры используются дома, в учебных аудиториях, на произ­водстве, в различных транспортных, банковских и коммерческих системах — раз­нообразие сфер их применения просто впечатляет. Данные могут поступать в компьютер от самых разных приборов: сенсорных устройств, видеокамер, в том числе цифровых, микрофонов или даже с пультов пожарной сигнализации. Вы­ходными же данными могут служить направляемый в колонки звуковой сигнал или, скажем, закодированная цифровая команда, изменяющая скорость мотора, открывающая вентиль или заставляющая робота выполнить определенное дви­жение. Короче говоря, компьютер должен обладать способностью обмениваться информацией с широким диапазоном устройств в различных окружениях.

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

7.1. Доступ к устройствам ввода-вывода

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

Работа с шиной ввода вывода

Рис. 7.1. Архитектура системы с общей шиной

Видео:Как работает компьютер? Шины адреса, управления и данных. Дешифрация. Взгляд изнутри!Скачать

Как работает компьютер? Шины адреса, управления и данных. Дешифрация. Взгляд изнутри!

Читайте также: Киа рио загорелся значок давления шин

При использовании ввода-вывода с отображением в память любые машинные команды, выполняющие обращение к памяти, могут быть задействованы и для обмена данными с устройствами ввода-вывода. Предположим, DATAIN — это ад­рес входного буфера, связанного с клавиатурой. Тогда следующая команда счи­тывает данные из DATAIN и помещает их в регистр процессора R0:

Аналогичным образом команда

пересылает содержимое регистра R0 по адресу DATAOUT, который может соот­ветствовать выходному буферу дисплея или принтера.

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

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

Читайте также: Какое давление качать в шины кроссового мотоцикла

Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать

03. Основы устройства компьютера. Память и шина. [Универсальный программист]

Работа с шиной ввода вывода

Рис. 7.2. Интерфейс ввода-вывода для устройства ввода

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

В случае входного устройства, подобного клавиатуре, в схему сопря­жения в виде одного из разрядов регистра состояния включается флаг состояния SIN. Он устанавливается в 1, если символ вводится с клавиатуры, и сбрасывается в 0, если символ считывается процессором. Таким образом, проверяя значения флага SIN, программное обеспечение гарантирует корректность операции чте­ния данных. Для этого обычно организуется программный цикл, считывающий регистр состояния и проверяющий состояние флага SIN. Обнаружив, что флаг установлен в 1, программа считывает значение из регистра входных данных. Ана­логичным образом может осуществляться управление операциями вывода, но в этом случае применяется флаг состояния SOUT.

Для того чтобы лучше усвоить базовые концепции ввода-вывода, мы рассмотрим простой пример с участием клавиатуры и дисплея. Для операций пересылки дан­ных используются четыре регистра (рис. 7.3). В регистре STATUS содержатся два управляющих флага, SIN и SOUT, хранящие соответственно информацию о состоянии клавиатуры и дисплея. Еще два флага из этого регистра, KIRQ, и DIRQ, используются при обработке прерываний. О флагах KEN и DEN, относя­щихся к регистру CONTROL, будет рассказано в разделе 7.2. Вводимые с клавиа­туры данные помещаются в регистр DATAIN, а данные, отправляемые на дис­плей, — в регистр DATAOUT.

Работа с шиной ввода вывода

Рис. 7.3. Регистры интерфейса клавиатуры и дисплея

Видео:Шины ввода-выводаСкачать

Шины ввода-вывода

Mov EAX,Offset Buffer Инициализация указателя на память

WAITK TB STATUS,0 Проверка флага SIN

JE WAITK Ожидание ввода символа

Mov BL,DATAIN Чтение символа

WAITD TB STATUS,1 Проверка флага SOUT

JE WAITD Ожидание момента готовности дисплея

Mov DATAOUT,BL Отправка символа на дисплей

Видео:07. Основы устройства компьютера. Ввод-вывод. [Универсальный программист]Скачать

07. Основы устройства компьютера. Ввод-вывод. [Универсальный программист]

Читайте также: Как сбросить датчик давления шин прадо 150

Mov (EAX),BL Сохранение символа в памяти и увеличение

INC DWORD PTR (EAX) значения указателя

CMP BL,0D Проверка того, введен ли символ возврата каретки

JNE WAITK Если символ возврата каретки не введен,

считывается следующий символ

MOV DATAOUT,0Ah Если символ возврата каретки введен,

Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать

Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus network

на дисплей отправляется символ перевода строки

Call PROCESS Вызов подпрограммы для обработки введенной

Рис. 7.4. Программа, которая считывает с клавиатуры одну строку, сохраняет ее в буфере памяти, а затем отображает на дисплее

Программа, приведенная на рис. 7.4 считывает с клавиатуры строку символов и сохраняет ее в памяти, в буфере, начинающемся с адреса LINE. Затем она вызывает подпро­грамму PROCESS, выполняющую обработку введенной строки. Каждый вводи­мый символ отображается на дисплее. Регистр EAX используется как указатель на буфер в памяти. Его содержимое обновляется с применением автоинкрементного режима адресации, благодаря чему последовательно вводимые символы сохраня­ются в памяти по последовательным адресам.

После ввода каждого символа подпрограмма проверяет, не является ли он символом возврата каретки (шестнадцатеричным ASCII-кодом 0D). Если он та­ковым является, на дисплей отправляется символ перевода строки (шестнадцате­ричный ASCII-код 0А), перемещающий курсор на одну строку вниз. Затем вызы­вается подпрограмма PROCESS. Если введен любой другой символ, программа переходит на начало цикла и ждет ввода следующего символа.

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

Существует еще два распространен­ных механизма реализации ввода-вывода:

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

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

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле


    💡 Видео

    Архитектура ЭВМ Лекция 11: Организация ввода вывода. Интерфейсы передачи данных.Скачать

    Архитектура ЭВМ Лекция 11: Организация ввода вывода.  Интерфейсы передачи данных.

    лекция 403 CAN шина- введениеСкачать

    лекция 403  CAN шина- введение

    Подробно про CAN шинуСкачать

    Подробно про CAN шину

    Программирование микроконтроллеров: Урок 3. Порт ввода - выводаСкачать

    Программирование микроконтроллеров: Урок 3. Порт ввода - вывода

    Хитрость с шиной гребёнкойСкачать

    Хитрость с шиной гребёнкой

    лекция 417 Чтение и запись данных на общую шинуСкачать

    лекция 417 Чтение и запись данных на общую шину

    STM32 GPIO. Скорость работы портов ввода-вывода.Скачать

    STM32 GPIO. Скорость работы портов ввода-вывода.

    Системная шина процессораСкачать

    Системная шина процессора

    Стандартные потоки ввода/вывода в Linux. Урок 12.Скачать

    Стандартные потоки ввода/вывода в Linux. Урок 12.

    Цифровые интерфейсы и протоколыСкачать

    Цифровые интерфейсы и протоколы

    GPIO STM32 Схемотехника портов ввода-выводаСкачать

    GPIO STM32 Схемотехника портов ввода-вывода

    Лекция 322. Atmega 8: Порты ввода-выводаСкачать

    Лекция 322. Atmega 8: Порты ввода-вывода

    Подключая автоматы гребенкой, знай об этомСкачать

    Подключая автоматы гребенкой, знай об этом
Поделиться или сохранить к себе:
Технарь знаток