- •Электронный конспект лекций по курсу «Системы ввода - вывода и интерфейсы»
- •Глава 1. Основные принципы построения систем ввода-вывода и интерфейсов
- •1.1. Роль и место систем ввода-вывода и интерфейсов в компьютере
- •1.2. Основные принципы организации передачи информации в вычислительных системах
- •1.3. Компьютерные коммуникации и интерфейсы
- •1.4. Системные интерфейсы и шины расширения
- •1.5. Интерфейсы периферийных устройств
- •1.6. Структура систем ввода-вывода
- •1.7. Основные функции и принципы построения интерфейсов
- •1.8. Протоколы передачи данных в компьютерных интерфейсах
- •1.8.1. Алгоритмы протоколов передачи данных
- •1.8.2. Протокол параллельных интерфейсов
- •1.8.3. Протоколы последовательных интерфейсов
- •1.8.4. Принципы взаимодействия шин расширения и интерфейсов периферийных устройств
- •Глава 2. Шины расширения
- •2.1. Шина isa
- •2.1.1. Введение
- •2.1.1.1. Виды устройств, работающие на шине isa
- •2.1.1.1. Виды устройств, работающие на шине isa
- •2.1.2. Характеристики задатчиков на шине
- •2.1.2.2. Контроллер пдп
- •2.1.2.3. Внешняя плата
- •2.1.2.4. Режимы прямого доступа к памяти или к устройствам ввода/вывода
- •2.1.2.5. Режим сброса
- •2.1.2.6. Контроллер регенерации памяти
- •2.1.3. Общее описание шины isa
- •2.1.3.2. Адресное пространство для устройств ввода/вывода
- •2.1.3.3. Структура прерываний
- •2.1.3.4. Перестановщик байтов
- •2.1.4. Описание сигналов на шине isa
- •2.1.4.2. Командные сигналы
- •2.1.4.3. Центральные сигналы управления
- •2.1.4.4. Сигналы прерывания
- •2.1.4.5. Сигналы режима пдп
- •2.1.4.6. Питание
- •2.1.5. Циклы шины
- •2.1.5.1. Цикл Доступа к Ресурсу
- •2.1.5.1.1. Цикл Доступа к Ресурсу - 0 тактов ожидания
- •2.1.5.1.2. Цикл Доступа к Ресурсу - Нормальный цикл
- •2.1.5.1.3. Цикл Доступа к Ресурсу - Удлиненный цикл
- •2.1.5.2. Цикл Регенерации - Введение
- •2.1.5.2.1. Цикл Регенерации - Нормальный цикл
- •2.1.5.2.2. Цикл Регенерации - Удлиненный цикл
- •2.1.5.3. Цикл пдп
- •2.1.5.3.1. Цикл пдп - Нормальный цикл
- •2.1.5.3.2. Цикл пдп - Удлиненный цикл
- •2.1.5.4. Цикл Захвата Шины
- •2.2. Шина pci
- •2.2.1. Архитектура шины pci
- •2.2.2. Описание сигналов шины
- •2.2.3. Команды шины
- •2.2.4. Разновидности операций на шине
- •2.2.4.1. Начало и продолжение транзакции
- •2.2.4.2. Окончание транзакции
- •2.2.4.3. Способы завершения транзакций
- •2.2.4.4. Цикл чтения
- •2.2.4.5. Цикл записи
- •2.2.4.6. Арбитрация
- •2.2.4.7. Цикл конфигурации
- •2.3. Шина 3gio и Hyper Transport
- •2.3.1.1. Архитектура 3gio
- •2.3.2.1. Топологии
- •2.3.2.2. Совместимость с шиной pci
- •Глава 3. Интерфейсы периферийных устройств
- •3.1. Параллельный интерфейс: lpt-порт
- •3.1.1. Интерфейс Centronics
- •3.1.2. Традиционный lpt-порт
- •3.1.3. Функции bios для lpt-порта
- •3.1.4. Стандарт ieee 1284-1994
- •3.1.5. Физический и электрический интерфейс
- •3.1.6. Режим ерр
- •3.1.7. Режим еср
- •3.1.8. Конфигурирование lpt-портов
- •3.1.9. Использование параллельных портов
- •3.1.10. Параллельный порт и РпР
- •3.2. Последовательные интерфейсы: com-порт
- •3.2.1. Интерфейс rs-232с
- •3.2.2. Электрический интерфейс
- •3.2.3. Управление потоком передачи
- •3.2.4. Микросхемы асинхронных приемопередатчиков
- •3.3. Интерфейс scsi
- •3.3.1.2.1. Краткий обзор многочисленных разновидностей scsi.
- •3.3.1.2.2. Основные отличия scsi-2 от scsi-1
- •3.3.1.2.3. Быстрее, выше, сильнее
- •3.3.1.4. Совместимость устройств scsi
- •3.3.2. Описание сигналов
- •3.3.2.1. Физический интерфейс
- •3.3.2.2. Фазы шины
- •3.3.2.1. Физический интерфейс
- •3.3.2.2. Фазы шины
- •3.3.3. Описание сообщений и управление интерфейсом
- •3.3.4. Описание команд
- •3.3.4.1. Адресация и система команд
- •3.3.4.2. Выполнение команд
- •3.3.4.1. Адресация и система команд
- •3.3.4.2. Выполнение команд
- •3.3.5. Типы пу
- •3.3.5.1. Устройства прямого доступа (0)
- •3.3.5.2. Устройства последовательного доступа (1)
- •3.3.5.3. Принтеры (2)
- •3.3.5.4. Процессорными устройствами (3)
- •3.3.5.5. Устройства однократной записи (4)
- •3.3.5.6. Приводы cd-rom (5)
- •3.3.5.7. Сканеры (6)
- •3.3.5.8. Устройства оптической памяти (7)
- •3.3.5.9. Устройства смены носителей (8)
- •3.3.5.10. Коммуникационные устройства (9)
- •3.3.6. Конфигурирование устройств scsi
- •3.3.6.1. Хост-адаптер scsi
- •3.3.6.1. Хост-адаптер scsi
- •3.4. Интерфейс usb
- •3.4.1. Общая информация
- •3.4.2. Обзор архитектурыch2
- •3.4.2.1. Структура системы usb
- •3.4.2.1.1. Топология шины
- •3.4.2.2. Устройства usb
- •3.4.2.2.2. Функция
- •3.4.2.3. Физический интерфейс
- •3.4.2.3.1. Электрические характеристики
- •3.4.2.3.2. Механические характеристики
- •3.4.3. Модель передачи данныхch3
- •3.4.3.1. Конечные точки устройств usb
- •3.4.3.2. Каналы
- •3.4.3.2.1. Потоки
- •3.4.3.2.2. Сообщения
- •3.4.3.3. Типы передачи данных
- •3.4.4. Протоколch4
- •3.4.4.1. Форматы полей пакетов
- •3.4.4.1.1. Поле синхронизации
- •3.4.4.1.2. Поле идентификатора пакета
- •3.4.4.2.2. Маркер начала кадра (sof)
- •3.4.4.2.3. Пакет данных
- •3.4.4.2.4. Пакет подтверждения
- •3.4.4.3. Типы транзакций
- •3.4.4.3.1. Сплошные передачи
- •3.4.4.3.2. Управляющие посылки
- •3.4.4.3.3. Прерывания
- •3.4.4.3.4. Изохронные передачи
- •4.1.1.1.Структурная схема таймера
- •4.1.1.2. Назначение входов и выходов бис
- •4.1.1.3. Назначение блоков и сокращения, используемые в окне иммитационной модели таймера
- •4.1.2. Программирование таймера
- •4.1.3. Режимы работы таймера
- •4.1.3.1. Режим 0 - прерывание терминального счета
- •4.1.3.2. Режим 1 - программируемый ждущий мультивибратор
- •4.1.3.3. Режим 2 - импульсный генератор частоты
- •4.10. Функционирование таймера в режиме 2
- •4.1.3.4. Режим 3- генератор меандра
- •4.11. Функционирование таймера в режиме 3
- •4.1.3.5. Режим 4 - программно-формируемый строб
- •4.1.3.6. Режим 5 - аппаратно-формируемый строб
1.8.2. Протокол параллельных интерфейсов
в начало
Рассмотрим протокол параллельных интерфейсов при трех и двух шинной архитектуре, при синхронной и асинхронной передаче данных, для операций записи (выводе) и чтении (ввода). Эти протоколы соответствуют алгоритму второго этапа процесса передачи информации, изложенному выше, и действуют как при режиме программного ввода/вывода, так и при работе в режиме прерываний.
В режиме прерываний этапу передачи данных предшествует этап селекции и идентификации ПУ с наибольшим приоритетом, который выполняется параллельно с передачей информации по шине данных и реализуется с помощью специальной схемы контроллера прерываний.
На рисунке 1.22 приведены протоколы записи и чтения для трехшинной архитектуры при синхронной передаче данных. Задатчик выставляет адрес на ША, с помощью строба адреса АЕ исполнитель читает адрес, после чего задатчик выставляет сигнал (при записи) и(при чтении). По заднему фронту этих сигналов данные передаются в соответствующие регистры задатчика (РДЗа) или исполнителя (РДИс). Сигналыиимеют двоякое назначение: они указывают тип команды (запись или чтение) и являются стробом при передаче данных.
При синхронной передаче данных времена tЗП и tЧТ строго фиксированы и приемник должен считать данные за это время.
При записи данные могут выставляться почти одновременно с адресом, при чтении они, как правило, выставляются на шину данных исполнителем с определенной задержкой (время доступа к исполнителю), поэтому шина данных на это время остается не занятой.
На рисунке 1.23 приводится протокол записи и чтения для синхронной передачи данных, но при двухшинной архитектуре, когда шина АД мультиплексируется во времени. В этом случае tЗП и tЧТ также строго фиксированы, но длительность циклов (TЗП, TЧТ) больше, чем при трехшинной архитектуре.
На рисунке 1.24 показан протокол при асинхронной передаче данных. В отличие от предыдущих протоколов здесь используется дополнительный сигнал обратной связи RDY от исполнителя. Он устанавливается тогда, когда исполнитель готов завершить операцию. Задатчик выставляет сигнал илии держит его до тех пор, пока не устанавливается в активное состояние сигналRDY, только после этого он сбрасывает сигнал записи (чтения), задним фронтом которого производится считывание данных в соответствующий регистр, после чего заканчивает выполнение команды.
Здесь время tЗП (tЧТ) зависит от типа ресурса, с которым работает задатчик (оперативная память, регистры ввода/вывода, тип ПУ и т.п.).
1.8.3. Протоколы последовательных интерфейсов
в начало
В случае последовательных компьютерных интерфейсов взаимосвязь устройств по этому интерфейсу осуществляется по принципу «точка-точка» или по схеме многоуровневой звезды, подобным сетевым структурам.
В связи с этим протоколы последовательных интерфейсов используют те же принципы построения, что и сетевые протоколы. Если использовать термины модели взаимодействия открытых систем (OSI), то последовательный интерфейс можно представить в виде трехуровневой модели, содержащей прикладной, канальный и физический уровни.
Последовательный интерфейс, как правило, соединяет главный контроллер (хост-контроллер) или просто контроллер системного блока компьютера с контроллером или адаптером периферийного устройства. Главный контроллер или просто контроллер взаимодействует с центральным процессором посредством интерфейса ввода/вывода (шина расширения, например, PCI).
Прикладной уровеньна стороне центрального процессора представляет из себя программное обеспечение, которое управляет работой ПУ, реализуя ту или иную функцию. На стороне ПУ этот уровень соответствует тому функциональному назначению, которое имеет данное ПУ (вывод на печать, ввод с клавиатуры, указатель типа «мыши» и т.п.).
Канальный уровеньреализует протокол передачи данных между главным контроллером и ПУ. В общем случае между задатчиком и исполнителем.
Канальный уровень функционирует с блоками (кадрами или пакетами) данных и обеспечивает синхронизацию между приемником и передатчиком на уровне блоков. При такой синхронизации приемник должен распознать начало первого байта блока, распознавать границы полей блока и распознавать признаки конца блока.
Физический уровеньпредставляет аппаратные и программные средства подключения ПУ к главному контроллеру или просто контроллеру, который находится в системном блоке компьютера через соответствующие порты ввода/вывода.
На физическом уровне в последовательном интерфейсе единицей информации является бит, поэтому средства физического уровня всегда поддерживают побитовую синхронизацию между приемником и передатчиком.
В данном параграфе рассматриваются протоколы канального уровня, принципы их построения и функционирования.
Основными режимами передачи информации по последовательному интерфейсу являются асинхронная и синхронная передача данных, которым соответствует асинхронные и синхронные протоколы. Данные передаются последовательно бит за битом, биты образуют байты (определенные символы), а байты образуют блоки передаваемых данных.
Тип протокола (асинхронный, синхронный) определяется по принципу синхронизации байта (символа) и блока. Асинхронный протокол: асинхронная передача байт (символов) и синхронный байт в байте. Синхронный протокол: синхронная передача байт, асинхронный – блоков.
Асинхронные протоколы представляют собой наиболее старый способ связи типа «точка-точка». Эти протоколы оперируют не с блоками, а с отдельными символами, которые представлены байтами и старт-стопными битами. Примером асинхронного последовательного интерфейса может служить интерфейс RS-232C. По таким интерфейсам подключаются низкоскоростные ПУ.
Такой режим работы называют асинхронным или старт-стопным.
В старт-стопным (асинхронном) режиме каждый байт данных сопровождается специальными сигналами «старт» (начало байта) и «стоп» (конец байта). Назначение этих сигналов состоит в том, чтобы известить приемник о начале и конце передачи байта, а также для того, чтобы дать приемнику достаточно времени для выполнения некоторых функций, связанных с синхронизацией, до поступления следующего байта. Сигнал «старт» имеет длительность в один такт, сигнал «стоп» может длиться один, полтора или два такта (см. §1.7, рисунок 1.15).
В синхронных протоколах обмен данными осуществляется блоками (кадрами, пакетами), которые имеют в общем случае заголовок, поле данных и концевик. Все биты блока передаются непрерывным синхронным потоком, что значительно ускоряет передачу данных.
При синхронном режиме передачи старт-стопные биты между байтами отсутствуют, Пользовательские данные собираются в блоки, которые предваряются байтами синхронизации. Байт синхронизации содержит заранее известный код, например, 01111110, который оповещает приемник о приходе блока данных. При его получении приемник должен войти в байтовый синхронизм с передатчиком, т.е. правильно понимать начало очередного байта блока.
Байты в этих протоколах не отделяются друг от друга служебными сигналами. Поэтому приемник должен распознавать границы байт, далее он должен найти начало и конец блока, а также определить границы каждого поля блока- адреса назначения, поля данных, контрольной суммы и т. п.
Синхронные протоколы канального уровня бывают двух типов: символьно-ориентированные (байт-ориентированные) и бит-ориентированные.
Для обоих используются одни и те же методы синхронизации бит. Главное различие заключаются в методе синхронизации символов и блоков.
Символьно-ориентированный протокол использует для синхронизации специальные служебные символы. Символ SYN передатчик добавляет перед каждым блоком данных, а затем для обозначения начала и конца данных вставляет символ STX (Start of Text) и ЕТХ (End of Text) соответственно.
Этот способ неудобен тем, что требует добавление много избыточных данных для реализации синхронизации.
В настоящее время наиболее широко используются бит-ориентированные протоколы, которые являются более универсальными.
В этом случае (см.рисунок 1.25) при не занятом канале по нему не передается никаких символов.
Перед началом передачи кадра передатчик начинает передавать последовательность бит (101010...10) для того, чтобы приемник вошел в битовую синхронизацию. Эту последовательность называют преамбулой. Войдя в битовую синхронизацию приемник исследует входной поток на побитовой основе, пока не обнаружит байт начала кадра (10101011). За этим байтом следует заголовок кадра, затем идут поле данных и концевик. В качестве концевика используется либо специальный байт, либо определенное физическое состояние линии передачи данных
Протоколы последовательной передачи данных используют две процедуры организации взаимодействия передатчика и приемника: без установления соединения и с предварительным установлением логического соединения.
Передача кадра без установления соединения называется дейтаграммной процедурой. В этом случае передатчик никакой ответственности за утерю передаваемого кадра не несет.
Дейтаграммный метод работает быстро, но он не гарантирует доставки пакета.
Передача с установлением соединения более надежна, но требует большего времени для передачи данных и вычислительных затрат от конечных узлов.
В случае метода с установлением соединения передача данных состоит из трех основных этапов, на каждом этапе передаются соответствующие пакеты информации (см. рисунок 1.26).
Сначала идет служебный пакет (маркерный пакет), посредством которого начинается процесс установки логического соединения. Затем в рамках установленного соединения передается пакет данных. После передачи данных инициируется разрыв данного логического соединения и передается пакет, сообщающий о том успешно или нет проведена передача данных.
Протокол дейтаграммного типа поддерживает только один тип кадра – информационный. Протокол с установлением соединений должен поддерживать несколько типов кадров (пакетов) – служебные и информационные.