Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ II семестр

.pdf
Скачиваний:
21
Добавлен:
08.05.2015
Размер:
972.22 Кб
Скачать

Устройства ввода-вывода вычислительной машины

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

периферийными устройствами. Периферийное устройство (устройство ввода-

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

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

На рис. 43 приведена классификация устройств ввода:

Рис. 43. Классификация устройств ввода

Клавиатура (keyboard) – это стандартное устройство, предназначенное для ручного ввода информации. Работой клавиатуры управляет контроллер клавиатуры, расположенный на материнской плате и подключаемый к ней через разъем на задней панели компьютера. При нажатии пользователем клавиши на клавиатуре, контроллер клавиатуры преобразует код нажатой клавиши в соответствующую последовательность битов и передает их компьютеру. Отображение символов, набранных на клавиатуре, на экране компьютера называется эхом. Обычная современная клавиатура имеет, как правило, 101-104 клавиши, среди которых выделяют алфавитно-цифровые клавиши, необходимые для ввода текста, клавиши управления курсором и ряд специальных и управляющих клавиш. Характеристиками клавиатуры являются чувствительность ее клавиш к нажатию, мягкость хода клавиш и расстояние между клавишами. Долговечность клавиатуры определяется количеством нажатий, на которое она рассчитана (около 30-50 миллионов нажатий).

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

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

71

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

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

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

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

Сканер – устройство ввода графических изображений в компьютер. В сканер закладывается лист бумаги с изображением. Устройство считывает его и пересылает компьютеру в цифровом виде. Во время сканирования вдоль листа с изображением плавно перемещается мощная лампа и линейка с множеством расположенных на ней в ряд светочувствительных элементов. Каждый светочувствительный элемент вырабатывает сигнал, пропорциональный яркости отраженного света от участка бумаги, расположенного напротив него. В цветных сканерах расположено три группы светочувствительных элементов, обрабатывающих соответственно красные, зеленые и синие цвета. Каждая точка изображения кодируется как сочетание сигналов, вырабатываемых светочувствительными элементами красной, зеленой и синей групп. Закодированный таким образом сигнал передается на контроллер сканера в системный блок. Характеристики сканеров – скорость считывания (количество страниц в минуту) и разрешающая способность (число точек получаемого изображения на дюйм оригинала (dots per inch - dpi)).

Классификация устройств вывода представлена на рис. 44.

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

72

участках с неснятым статическим зарядом. Затем тонер переносится на бумагу и нагревается. Частицы тонера плавятся и прилипают к бумаге.

Рис. 44. Классификация устройств вывода

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

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

Общие принципы организации ввода-вывода

1.Передача данных осуществляется по общей магистрали либо по специальной магистрали ввода-вывода.

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

3.Операции ввода-вывода инициируются только в случае готовности периферийного устройства к обмену. При готовности к обмену нескольких устройств контроллер прерываний или прямого доступа к памяти (ПДП) обслуживает периферийные устройства в порядке приоритета.

4.Передача данных может осуществляться отдельными битами (по последовательному интерфейсу) или полными словами (по параллельному интерфейсу).

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

73

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

Возможны два способа организации операций ввода-вывода. Изолированный ввод-вывод (соответствует структуре с изолированными

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

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

Для повышения гибкости всей вычислительной системы возможно использование одного из трех режимов выполнения операций ввода-вывода:

программный ввод-вывод (нефорсированный);

ввод-вывод по прерыванию (форсированный);

прямой доступ к памяти (ПДП).

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

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

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

74

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

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

При готовности к обмену периферийное устройство посылает в процессор запрос на обслуживание – сигнал INT (запрос прерывания). Этот сигнал появляется в произвольный момент времени, а, следовательно, и в произвольной точке текущей программы. Поскольку заранее неизвестно, в какой точке программы и какие периферийные устройства инициируют прерывания, непосредственно в программе команды ввода-вывода использовать нельзя. При наличии нескольких периферийных устройств в контроллере прерывания осуществляется обслуживание прерывающих устройств в соответствии с их приоритетом. Процессор завершает текущую команду и, если прерывание разрешено, формирует сигнал INTA (подтверждение прерывания), который выдается во внешнюю цепь (в частности, в системный контроллер), а также сбрасывает внутренний триггер разрешения прерываний, состояние которого идентифицируется сигналом INTE. Содержимое счетчика команд PC автоматически запоминается в стеке. Происходит переход к подпрограмме обслуживания данного периферийного устройства (обработчику), при этом выполняются следующие операции:

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

выполнение собственно программы обслуживания процесса ввода-вывода;

восстановление состояния прерванной программы (т.е. извлечение и загрузка соответствующих регистров состояния и регистров общего

назначения из стека).

Возобновляется выполнение прерванной программы по команде возврата из обработчика прерывания (команда RET), являющейся обязательной последней командой обработчика.

75

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

(Programmed Input/Output, PIO).

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

Обменом в режиме ПДП управляет не программа (или прерывающая подпрограмма), а электронные схемы, внешние по отношению к процессору.

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

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

ПДП с захватом цикла предназначен для обмена короткими блоками информации в виде байта или слова и имеет два варианта.

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

2.На время, необходимое для обмена одним байтом или словом данных (что составляет несколько тактов), процессор принудительно отключается от шин системной магистрали. Такой способ организации ПДП с захватом цикла является наиболее распространенным. Когда периферийное устройство готово к обмену, оно формирует сигнал «требование ПДП», который поступает в контроллер ПДП.

76

Он, в свою очередь, вырабатывает аналогичный управляющий сигнал (HLD, HOLD), который заставляет процессор на несколько тактов отключиться от системной магистрали. Процессор приостанавливает выполнение очередной команды, не дожидаясь ее завершения, выдает сигнал «подтверждение ПДП» (HLDA) и отключается от системной магистрали. При этом внутренние операции в процессоре продолжаются и могут быть совмещены по времени с операциями ПДП. В отличие от режима прерывания, который вводится только после завершения текущей команды, режим ПДП вводится до ее завершения. Это связано с тем, что в режиме ПДП внутренние регистры процессора не используются, их содержимое не модифицируется, а следовательно, и не требуется запоминания их в стеке. С этого момента времени всеми шинами системной магистрали управляет контроллер ПДП. Используя системную магистраль, он осуществляет обмен между периферийным устройством и памятью вычислительной машины одним байтом или словом, а затем, сняв сигнал HLD, возвращает управление системной магистрали процессору. Как только периферийное устройство будет готово к обмену, оно вновь захватывает магистраль. В промежутках между сигналами HLD процессор продолжает выполнять команды текущей программы. Применение такого способа организации ПДП замедляет выполнение программы, но в меньшей степени, чем при обмене в режиме прерывания, хотя бы потому, что не требуется операций со стеком. В отличие от варианта 1, обмен происходит в те моменты времени, в которые это требует периферийное устройство, что особенно важно при работе в режиме реального времени. Такой вариант ПДП используется когда интервалы времени между моментами готовности периферийного устройства к обмену достаточно велики и позволяют выполнить процессору несколько операций.

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

Реальные контроллеры ПДП могут работать также в комбинированных режимах.

Основные принципы работы большинства каналов ПДП.

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

77

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

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

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

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

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

78

Активный доступ (bus master DMA) предполагает, что устройства, использующие режим DMA, имеют программно-аппаратные средства, способные управлять магистралью (осуществлять прямое управление магистралью) и реализовывать связи типа master-slave (M-S). Такие устройства магистрали могут выступать как master, поэтому единый контроллер DMA отсутствует. Остается только арбитр магистрали, который по определенной дисциплине предоставляет магистраль в распоряжение того или иного устройства. Арбитр может быть выполнен как отдельное устройство, размещенное на магистрали, или его функции может выполнять процессор. В вычислительных системах, использующих bus mastering, можно говорить о множестве интеллектуальных устройств, приоритеты которых на использование системной магистрали для обмена (захват магистрали) определяются только дисциплиной обслуживания, загруженной в арбитр при инициализации, т.е. можно говорить о

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

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

Структуры систем ПДП

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

Характерной особенностью радиальной структуры является подключение каждого периферийного устройства к отдельному входу контроллера ПДП или арбитра. В случае slave DMA (рис. 45а) для подключения источников запроса прямого доступа (ИЗПД) достаточно одной линии запроса прямого доступа (ЛЗПД), по которой устройство выставляет запрос на обслуживание.

В системе bus master DMA (рис. 45б) для подключения устройства к арбитру необходимы, как минимум, три линии – линия запроса прямого доступа (ЛЗПД), линия подтверждения запроса (ЛПЗ) и линия разрешения прямого доступа (ЛРПД), которые можно назвать шиной арбитража (ШАр), имеющей собственный вход в арбитр. Каждый вход имеет уровень приоритета. Число подключаемых источников запроса определяется числом входов в контроллер или арбитр.

79

Системная магистраль

Процес-

сор ОЗПД РПД

СУМ

 

 

ИЗПД1

 

 

 

 

 

 

 

КонтроллерПДП

 

ЛЗПД1

 

 

 

 

 

Арбитр

Запрос-

 

 

ЛЗПДk

чик

 

 

 

 

 

 

 

ИЗПДk

 

 

 

ЛЗПДi

 

 

 

 

 

 

 

 

 

 

ЗПДk

Запрос-

 

 

 

 

 

чик

 

 

а

 

 

 

 

 

 

 

Системная магистраль

 

ЛРПД1

СУМ

ИЗПД1

ЛПЗ1

А

 

ЛЗПД1

Запрос-

Р

чик

 

 

Б ЛРПДi

И ЛПЗi

Т ЛЗПДi

Р

ЛРПДk

РПД

ЛПЗk

ПЗ

 

 

ЛЗПДk

ЗПД

ШАр

б

ИЗПД источник запросов прямого доступа; РПД сигнал разрешения прямого доступа; СУМ средства управления магистралью; ПЗ сигнал подтверждения захвата магистрали; ЛРПД линия разрешения прямого доступа; ЗПД сигнал запроса прямого доступа;

ЛПЗ линия подтверждения захвата магистрали; ШАр шина арбитража; ОЗПД общий сигнал запроса прямого доступа;

ЛЗПД линия запросов прямого доступа

СУМ

ИЗПДk

Запрос-

чик

Рис. 45. Радиальная структура системы: а – Slave DMA, б – Bus Master

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]