Шина PCI Шина соединения периферийных компонентов, является основной в современном ПК
Шина PCI шина является синхронной (фиксация всех сигналов осуществляется по фронту сигнала CLOCK) Активный уровень сигнала на шине - низкий Номинальной частотой считается 30 МГц. Начиная с версии 2.1, выпускается 66 МГц. С устройствами ввода-вывода процессор может взаимодействовать, обращаясь командами ввода-вывода в порт, адресованными областями, назначенными каждому устройству при конфигурировании (все устройства определяют частоту).
Адресация Стандарт PCI определяет 3 физических адресных пространства: 1. Пространство памяти (Memory Address Space) 2. Пространство ввода/вывода (I/O Address Space) 3. Конфигурационное адресное пространство (Configuration Address Space) Для соединения шин PCI между собой и с другими шинами, используются мосты. Главная шина PCI имеет номер 0.
Адресация. Конф. пространство Для конфигурационного пространства определена иерархия понятий адресации: 1. Шина 2. Устройство (включает до 8 функций) Устройство - 3. Функция (минимально адресуемая единица) Функция 0 обязательно определена. Для каждой PCI-функции должно быть реализовано конфигурационное пространство величиной 256 байт. Устройства будут отзываться только на назначенные им адреса памяти и I/O.
Адресация. Конф. пространство
Адресация. Доступ к конф. пространству В стандарте PCI определены команды записи и чтения конфигурационного пространства. 1. Доступ к к.пр-ву устройству: 1.1 Использование линии IDSEL (выполняет роль «chip-select») Каждое PCI-устройство имеет вход IDSEL 1.2 Номер устройства определяется той линией шины AD, к которой подключена линия сигнала IDSEL (AD[11] - dev0,..., AD[31] - dev2d) 2. Доступ к функции: 2.1 AD[10:8] кодируют номер функции 2.2 AD[1:0] определяет тип конфигурирующей команды
Адресация. Доступ к конф. пространству
Система команд КодКоманда 0000 Interrupt Acknowledge 0001 Special Cycle 0010 I/O Read 0011 I/O Write 0110 Memory Read 0111 Memory Write 1010 Configuration Read 1011 Configuration Write 1100 Memory Read Multiple 1101 Dual Address Cycle 1110 Memory Read Line 1111 Memory Write and Invalidate
Система команд Команды шины PCI определяются значениями C/BE[1:0] в фазе адреса Команда подтверждения прерывания (предназначена для чтения вектора прерывания) Команда специального цикла (является широковещательной однако на нее никто не отвечает) Команды чтения и записи (предназначены для обращения к пространству портов) Команды обращения к памяти Команды конфигурационного чтения-записи (Адресуются к конфигурационному пространству устройств) Чтение строк памяти (до конца строки кэша) Множественное чтение памяти (пересекает границы строк кэша)
Цикл обмена
Прерывания В PCI имеются 4 прерывания: INT A; INT B; INT C; INT D Устройства вводит сигнал прерывания низким уровнем Программный драйвер обрабатывает запрос от устройства Каждая функция устройства может задействовать собственную линию Назначение прерываний устройствам выполняет процедура POST
Электрическая реализация