- •Электронный конспект лекций по курсу «Системы ввода - вывода и интерфейсы»
- •Глава 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.2. Описание сигналов шины
в начало
В интерфейсе используются два набора сигналов: базовый для минимальной конфигурации и расширенный, поддерживающий 64-разрядные операции, тестирование плат через порт JTAG (IEEE 1149.1), кэш-память и прерывания. В минимальной конфигурации исполнитель имеет 47 контактов, а задатчик - 49.
Линии |
Характеристика |
Функции |
|
|
Группа сигналов «Адреса и данные» |
AD[31::00] |
Вход-выход |
Адрес/данные |
Сигналы адресов и данных передаются мультиплексно по одним и тем же линиям АD[31::00] . Цикл передачи состоит из одной (для 32-разрядной передачи данных) или двух (для 64-разрядной передачи) адресных фаз и следующих затем одной или более фаз передачи данных. Фаза адреса идентифицируется подачей сигнала FRAME#. При этом по шине AD[31::00] передается 32-разрядный физический адрес, причем для операций ввода-вывода это адрес байта, а для операций конфигурирования и обмена с памятью - адрес двойного слова. В течение фазы передачи данных по линиям AD[7::00] передается младший байт данных, а по линиям AD[31::24] - старший байт. При записи данные действительны в момент действия сигнала IRDY#, а при чтении - сигнала TRDY#. | ||
C/BE[3::0]# |
Вход-выход |
Идентификация команд или данных |
Сигналы С/ВЕ[3::0]# (BusControlandByteEnables) также мультиплексированы. Во время адресной фазы они идентифицируют тип операции, а во время фазы передачи данных указывают действующие байтовые тракты 32-разрядного канала. | ||
PAR |
Вход-выход |
Дополнение до нечётности шины адрес/данные |
Сигнал PAR дополняет до нечетности все сигналы этой группы и генерируется всеми агентами (абонентами) РСI, причем задатчик устанавливает его во время адресной фазы и фазы записи данных, а исполнитель - только во время фазы чтения. | ||
|
|
Группа сигналов «Управление шиной» |
FRAME#
|
Вход-выход |
Цикл передачи |
Сигнал FRAME# (Cycle Frame) вырабатывается текущим задатчикам и индицирует начало и течение операции передачи данных. Сброс сигнала сообщает об окончании фазы передачи последнего слова данных. | ||
TRDY#
|
Вход-выход |
Готовность исполнителя |
Сигнал TRDY# (Target Ready) индицирует готовность исполнителя завершить фазу данных текущей блочной передачи. Во время чтения этот сигнал подтверждает действительность данных (на шинах АО[31::00]), а во время операции записи - готовность исполнителя к приему данных. | ||
IRDY#
|
Вход-выход |
Готовность задатчика |
Сигнал IRDY# (Indicator Ready) индицирует готовность задатчика завершить фазу данных текущей блочной передачи последовательности данных. Во время записи этот сигнал подтверждаем действительность данных (на шинах AD[31::00]), а во время чтения - готовность задатчика к приему данных. | ||
STOP#
|
Вход-выход |
Останов операции |
Сигнал STOP# возбуждается текущим исполнителем, чтобы сообщить задатчику о необходимости завершения текущей блочной передачи. | ||
DEVSEL#
|
Вход-выход |
Выбор устройства при операциях конфигурации |
Сигнал DEVSEL# (Device Select) вырабатывается устройством - исполнителем текущей операции доступа, сообщающий о том, что исполнитель найден. | ||
IDSEL |
Вход |
Разрешение выбора устройства |
Сигнал IDSEL(InitializationDeviceSelect) используется для выборки устройства при операциях чтения и записи конфигурации. | ||
|
|
Группа сигналов сообщений об ошибках |
PERR# |
Вход-выход |
Ошибка чётности |
Сигнал PERR# (Parity Error) используется для сообщения об ошибке по четности во время любых операций на шине РСI за исключением специальных циклов (Special Cycle). Агент не должен сообщать об ошибке четности до тех пор, пока не получен сигнал выбора устройства и не завершена фаза передачи данных. | ||
SERR# |
Вход-выход |
Системная ошибка |
Сигнал SERR# (System Error) сообщает об ошибках четности адресов или данных во время исполнения специальных циклов или о других ошибках, которые могут быть катастрофическими для системы в целом. Если агент не желает генерировать немаскируемое прерывание, то сообщение об ошибке должно быть передано другим способом. Агент, вырабатывающий этот сигнал, должен иметь возможность возбуждать его в произвольный момент времени. | ||
|
|
Группа сигналов арбитража (только для задатчика) |
REQ# |
Выход |
Запрос на обслуживание |
Сигнал REQ# (Request) передается в арбитр шины агентом, которому требуется шина. Для каждого задатчика шины предусмотрена отдельная линия REQ#. | ||
GNT# |
Вход |
Разрешение захвата шины |
Сигнал GNT# (Grant - разрешение) передается из арбитра каждому агенту шины по отдельной линии. | ||
|
|
Группа системных сигналов |
CLK |
Вход |
Общая синхронизация |
Сигнал CLK (Clock) предназначен для синхронизации всех операций на шине РСI и является входным для всех устройств шины. Его максимальная частота равна 33 МГц. | ||
RST# |
Вход |
Сброс |
Сигнал RST# (Reset) используется для приведения всех специальных регистров устройств РСI, сигналов и их последовательностей в исходное состояние. Может подаваться асинхронно относительно сигнала CLK. | ||
|
|
Группа сигналов 64-разрядного расширения |
AD[64::32] |
Входы-выходы |
Адрес/данные 64-разряда |
Шина АD[64::32] является мультиплексированной. Во время фазы адреса передаются не только младшие, но и 32 старших разряда адреса, однако они являются резервными и их состояние не определено. Когда сигналы REQ64# и ACK64# активны, в фазе данных передаются 32 дополнительных разряда данных. | ||
C/BE[7::4]# |
Входы-выходы |
Идентификация команд или данных 64-разряда |
Сигналы С/ВЕ[7::4]# используются главным образом для указания действующих байтовых трактов 32 старших разрядов данных: С/ВЕ[4] идентифицирует байт 4, С/BЕ[7] - байт 7. | ||
PAR64 |
Вход-выход |
Дополнение до нечётности шины адрес/данные |
Сигнал PAR64 (Parity Upper DWORD) дополняет до нечетности расширенные сигналы шин адрес/данные и идентификации команд и байтов данных, Действителен после второй фазы адреса и в фазе данных при готовности задатчика или исполнителя к осуществлению соответствующих операций. | ||
REQ64# |
Вход |
Запрос задатчика на 64-разрядную операцию |
Сигнал REQ64# (Request 64-bit Transfer) индицирует способность задатчика вести 64-разрядный обмен данными. | ||
ACK64# |
Вход |
Подтверждение исполнителем 64-разрядной операции |
Сигнал ACK64# (Acknowledge64-bitTransfer) подается устройством, правильно дешифрировавшим адрес исполнителя и подтверждающим возможность обмена 64-разрядными данными. | ||
|
|
Группа специальных сигналов |
LOCK# |
Вход-выход |
Управление интерфейсом |
Сигнал управления интерфейсом LOCK# вырабатывается при выполнении операций, которым для полного завершения может потребоваться большое количество передач данных. | ||
INT# |
Вход-выход |
Сигналы прерываний |
Сигналы прерываний действуют по уровню и являются асинхронными по отношению к сигналу CLK. В спецификации РСI определены однофункциональные (имеющие одну линию прерывания INTA#) и многофункциональные устройства, которые могут использовать до четырех сигналов запроса прерываний (INTA#, INTB#, INTC# и INTD#). Каждая функция может генерировать не более одного сигнала прерывания. Соответствие номеров прерываний каждому конкретному сигналу определяется содержимым регистра сигналов прерывания (Interrupt Pin register). Спецификация PCI даст возможность разработчику системы произвольным образом комбинировать сигналы прерывания (с помощью «проводного ИЛИ», программного переключения или их комбинаций). При этом любое устройство должно обеспечивать возможность использования линии прерывания в режиме разделения (chaining) с другими логическими устройствами. | ||
SBO#,SDONE |
Вход-выход |
Сигналы поддержки кэш-памяти |
Сигналы поддержки кэш-памяти SBO# и SDONE используются для поддержки кэш-памяти двух типов (со сквозной записью и с обратной записью), подключенной к мостовой схеме шины РСI. | ||
JTAG |
Вход-выход |
Сигналы интерфейса JTAG |
Сигналы интерфейса JTAG предназначены для тестирования PCI-устройств с помощью встроенного тестового порта ТАР (Test Access Port). К ним относятся: - сигнал ТCK (Test Clock), используемый для тактирования передаваемой и принимаемой из тестируемого устройства информации состояния и тестовых данных; - сигнал TDI (Test Data Input), служащий для последовательного ввода данных и тестовых инструкций в порт ТАР; - сигнал ТDО (Test Data Output) - для последовательного вывода данных и тестовых инструкций из порта ТАР; - сигнал TMS (Test Mode Select) - для управления состоянием контроллера порта ТАР тестируемого устройства; - сигнал TRST# (Test Reset), обеспечивающий инициализацию контроллера ТАР (асинхронно). По отношению к стандарту IEEE 1149.1 является дополнительным. |