- •Электронный конспект лекций по курсу «Системы ввода - вывода и интерфейсы»
- •Глава 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 - аппаратно-формируемый строб
2.2.4.2. Окончание транзакции
в начало
На последней фазе данных обязательно сбрасывается FRAME# и устанавливается IRDY#. FRAME# может быть сброшен только тогда, когда IRDY# установлен. После того как исполнитель на последней фазе данных установит TRDY#, выполняется последняя передача данных от исполнителя к задатчику, транзакция закончивается сбросом на последнем импульсе транзакции сигнала IRDY#. Т.к. сброшены сигналы FRAME# и IRDY#, то следующий такт будет тактом холостого хода (IDLE циклом).
По последнему импульсу транзакции также сбрасываются сигналы TRDY# и DEVSEL#.
2.2.4.3. Способы завершения транзакций
в начало
Транзакция может быть завершена либо задатчиком, либо исполнителем. Пока ни тот ни другой не инициализируют останов, транзакция продолжается.
1.Способ завершения транзакции задатчиком: заключается в следующем. Задатчик инициализирует завершение транзакции, когда сигнал FRAME# сброшен, а IRDY# установлен. Это указывает исполнителю, что наступает последняя фаза данных. Последняя передача данных происходит, когда установлены и IRDY#, и TRDY#. Транзакция завершается, когда и FRAME#, и IRDY# сброшены (состояние холостого хода шины).
Задатчик может прекращать транзакцию этим способом по двум причинам:
- когда задатчик заканчивает начатую им транзакцию;
- когда линия разрешения захвата шины задатчиком GRN cброшена и наступил момент Тайм-аут, когда исчерпано время, задаваемое Таймером задержки и транзакция прерывается.
Модифицированная версия этого способа завершения транзакции задатчиком используется тогда, когда исполнитель не отвечает на его адресацию сигналом DEVSEL#.
2. Способ завершения транзакции исполнителем: заключается в следующем. В этом случае используется сигнал STOP#. Исполнитель выдает сигнал STOP#, чтобы запросить завершение транзакции от задатчика. После установки, STOP# сохраняет активное значение до момента сброса FRAME#. Взаимосвязь между IRDY# и TRADY# не зависит от взаимодействия между STOP# и FRAME#. Поэтому данные могут быть переданы или не переданы до конца в текущей транзакции. Это зависит единственно от состояния IRDY# и TRDY#. Однако, когда STOP# установлен, а TRDY# сброшен, это указывает на невозможность дальнейшей передачи данных исполнителя. В этом случае, задатчик не ждет последней передачи данных, а немедленно завершает транзакцию.
2.2.4.4. Цикл чтения
в начало
Транзакцию начинает задатчик, при наличие на шине холостого хода (IDLE) и разрешения на работу на шине. Это разрешение задатчик получает от арбитра, послав ему сигнал запроса REQ# и получив разрешение GRN# от него.
После этого задатчик начинает транзакцию с адресной фазы путем установки по 1-ому импульсу транзакции сигналов FRAME#, адреса AD[31::0] и команды C/BE[3::0]#. Эти сигналы становятся достоверными ко 2-ому импульсу транзакции.
По второму импульсу, в соответствии с установленным адресом определяется сполнитель и соответствующая команда. По этому импульсу задатчик выставляет сигнал IRDY#, который говорит исполнителю, что задатчик готов принять данные. На втором импульсе задатчик устанавливает сигналы указателя байт при передаче данных C/BE[3::0]#. После 2-го импульса задатчик не управляет линиями AD[31::0], ими управляет исполнитель.
Поэтому исполнитель ко 2-ому импульсу организует Т-цикл для сигналов AD[31::0], задерживая установку сигнала TRDY#.
По 2-ому импульсу он может установить, если успеет, сигнал DEVSEL#, сообщающий задатчику, что исполнитель найден и имеет право проводить транзакцию, если не успевает из-за Т-цикла на шине АD, то установка DEVSEL# происходит на 3-м импульсе. На 2-ом импульсе заканчивается фаза адреса и начинается фаза данных.
На 3-ем импульсе исполнитель определяет, что задатчик готов (по сигналу IRDY#) к приему данных, и выставляет первые данные на AD[31::0] и устанавливает сигнал TRDY#, который сообщает задатчику, что на линиях AD[31::0] имеются первые достоверные данные. На этом такте может устанавливаться сигнал DEVSEL#, если исполнитель не успел его установить на втором импульсе.
Сигнал DEVSEL# должен устанавливаться после декодирования адреса и перед или вместе с сигналами IRDY#, STOP# и данных. Исполнитель не должен сбрасывать DEVSEL#, пока не закончится последняя фаза данных. Т.к. на 3-м импульсе фазы данных передачи данных от исполнителя к задатчику не произошло, то этот такт называется тактом ожидания.
Только на 4-м импульсе задатчик определяет (по сигналу TRDY#), что на шине AD[31::0] находятся достоверные данные и считывает их, завершая первую фазу данных. На 4-м импульсе начинается вторая фаза данных.
На временной диаграмме (рисунок 2.1) показана транзакция чтения, имеющая три фазы данных длительностью в 7 импульсов CLK. Данные передаются на импульсах 4, 6, и 8, а циклы ожидания наступают на импульсах 3 и 5 по сбросу сигнала TRDY# и на импульсе 7 по сбросу сигнала IRDY#. На 7 импульсе задатчик узнает, что наступает последняя фаза данных, он сбрасывает на этом импульсе FRAME# и устанавливает IKDY#, т.к. он был сброшен. Транзакция заканчивается на 8-м импульсе сбросом IRDY#, TRDY# и DEVSEL#. Далее идет такт холостого хода.
Рис.2.1. Временная диаграмма