Глава 1. Введение в шину PCI
1
История PCI 1
Развитие шинной архитектуры 1
Особенности PCI версии 2.3 4
Методы коммутации 5
Место шины PCI в вычислительной архитектуре 9
Назначение шины 9
Характеристики шины 10
Пример PCI-системы 12
Комплект стандартов и спецификаций 13
Спецификация шины PCI 13
Спецификация моста PCI-to-PCI 14
Спецификация управления питанием PCI 14
Спецификация "горячего" подключения PCI 15
Спецификация Small PCI 16
Спецификация PCI BIOS 17
Спецификация мобильного PCI 17
Спецификация Mini PCI 18
Глава 2. Элементная база шины PCI
19
Схемотехнические основы построения шин 19
Характеристики элементов ТТЛ и КМОП 20
Шинная организация 21
Логика с тремя состояниями 22
Логика с открытым коллектором 23
Проблемы разработки цифровых устройств 26
Тупиковое состояние в статическом режиме 26
Начальная установка 26
Переключения 27
Метастабильные состояния 27
Крутизна фронтов тактовых импульсов 28
Укороченные импульсы 29
Электронные компоненты шины PCI 29
Переход к напряжению 3,3 В 29
Характеристики буфера ввода-вывода 30
Мост PCI-to-PCI 31
Назначение и терминология 31
Примеры мостов 34
Операционные усилители 35
Обзор технологий CompactPCI и PCI-X 36
CompactPCI 36
Ключевые особенности стандарта CompactPCI 37
Процессорные модули 38
Системы ввода-вывода 38
Производители 39
Шина PCI-X 40
Общие сведения 40
Ключевые особенности 44
Элементы PCI-X 1.0 и PCI, усиленные в PCI-X 2.0 44
Новые функциональные возможности 45
Заключение 45
Глава 3. Интерфейс шины
47
Сигналы и линии шины 47
Типы сигналов 48
Обязательные линии 50
Системные выводы 50
Выводы адреса и данных 51
Интерфейсные управляющие выводы 52
Арбитражные выводы 53
Выводы для сообщения об ошибках 54
Выводы прерываний 55
Пример соединений линий прерывания 56
Дополнительные выводы 57
Реализация линий PRSNT#, CLKRUN# 58
Выводы расширения шины до 64 бит 59
Выводы JTAG 60
Выводы интерфейса SMBus 61
Внеполосные сигналы 62
Функции центрального ресурса 62
Пример контроллера PCI 63
Команды 66
Назначение и классификация команд 66
Правила и ограничения использования команд 70
Правила использования команд чтения 73
Возможные последствия упреждающего чтения 74
Правила и порядок адресации 74
Дешифрация пространства ввода-вывода 75
Дешифрация адресного пространства памяти 76
Дешифрация конфигурационного пространства 79
Организация иерархических шин. Конфигурационные транзакции 79
Программная генерация транзакций конфигурации 81
Поддержка одноранговых шин 84
Программная генерация специального цикла 85
Выбор пространства конфигурации устройства 85
Рекомендации соединения линии IDSEL 88
Дешифрация пространства ввода-вывода для Legacy-устройств 89
Рекомендации распределения адресного пространства устройств 91
Глава 4. Транзакции
92
Введение 92
Общее управление передачей информации 93
Транзакции чтения и записи 95
Транзакция чтения 96
Транзакция записи 98
Завершение транзакции 99
Завершение транзакции мастером 99
Завершение транзакции целью 103
Правила завершения транзакции целью 105
Операция "Retry" 107
Операция "Disconnect with Data" 108
Операция "Disconnect without Data" 110
Завершение "Target-Abort" 112
Требования для мастеров 113
Задержанные транзакции 115
Алгоритм задержанной транзакции 116
Информация задержанной транзакции 117
Отмена задержанной транзакции 118
Последствия использования задержанных транзакций 119
Поддержка многократных задержанных транзакций 120
Транзакционные определения 120
Упорядочивающие правила для многократных задержанных транзакций 121
Упорядочивание задержанных транзакций 123
Глава 5. Порядок транзакций, арбитраж, оптимизация
124
Правила следования транзакций 124
Очередь транзакций для простых устройств 125
Интерфейсная зависимость "мастер — цель" 126
Отмена буферизованных данных 126
Правила следования транзакций для мостов 127
Модель "производитель — потребитель" 129
Перечень упорядочивающих требований PCI 132
Общие требования 132
Перечень упорядочивающих требований задержанных транзакций 133
Правила следования запросов 133
Упорядочивание задержанных транзакций 135
Независимость транзакций 139
Задержанные транзакции. Применение сигнала LOCK# 140
Условия возникновения ошибок 141
Арбитраж 141
Пример алгоритма арбитража системы 142
Протокол сигналов арбитража 144
Быстрые транзакции back-to-back 147
Парковка арбитража 150
Методы оптимизации на шине PCI 151
Сигнал разрешения обращения к байтам и маршрут байтов 151
Управление шиной и оборотный цикл 152
Комбинирование, объединение и свертка 153
Эффективность комбинирования, объединения и свертки 155
Глава 6. Служебные функции шины
157
Дополнительные операции шины 157
Выбор устройства 158
Специальный цикл 160
Сообщения специального цикла 162
Пошаговая передача адреса или данных 163
Подтверждение прерывания 164
Монопольный доступ 165
Введение 166
Старт монопольного доступа 167
Выполнение задержанных транзакций 169
Продолжение блокированных операций 170
Доступ к заблокированному агенту 171
Завершение монопольного доступа 171
Полная блокировка шины 171
Функции обнаружения ошибок 172
Генерация четности 172
Проверка четности 173
Ошибки четности адреса 174
Сообщения об ошибках 175
Сообщение по линии PERR# 175
Сообщение по линии SERR# 177
Бит состояния Master Data Parity Error 177
Бит состояния Detected Parity Error 178
Ошибки четности задержанных транзакций 178
Восстановление ошибок 180
Примеры исправления ошибок 180
Задержки на шине 181
Задержки цели 182
Начальные задержки цели 182
Задержки в блоках 184
Задержка мастера 185
Максимальное время записи в память 185
Предел максимального времени выполнения 186
Арбитражные задержки 186
Влияние задержек на скорость передачи 188
Расчет задержки арбитража 190
Определение буферных требований 193
Обобщение правил функционирования 194
Условия стабильности сигналов 195
Управление сигналами мастера 196
Управление сигналами цели 197
Фазы данных 198
Алгоритм арбитража 198
Временные задержки 199
Правила выбора устройства 199
Реализация проверки на четность 200
Глава 7. Дополнительные возможности расширения
201
Расширение шины до 64 разрядов 201
Определение размерности шины 205
64-битная адресация 206
Работа шины на частоте 66 МГц 209
Введение 209
Пространство конфигурации 210
Архитектура агента 210
Протокол шины 210
Определение вывода 66MHZ_ENABLE (M66EN) 210
Задержки 211
Электрическая спецификация 211
Направления перехода к частоте 66 МГц 212
Сигнальная среда 212
Максимальные значения переменного тока и защита устройств 215
Временные параметры 215
Спецификация, обеспечиваемая производителем 222
Рекомендации по расположению выводов 222
Рекомендации синхронизации 222
Спецификация системной платы 223
Физические требования 224
Четырехслойные системные платы 224
Назначение выводов разъема 224
Спецификация платы расширения 225
Поддержка SMBus 225
Требования системы SMBus 226
Питание 226
Физический и логический сегмент SMBus 226
Способность к подключению шины 226
Поддержка "Master" и "Slave" 227
Адресация и конфигурация 228
Фиксированный адрес устройств 228
Электрические требования 229
Поведение SMBus при системном сбросе шины PCI 229
Требования платы расширения SMBus 229
Связь 229
Поддержка "Master" и "Slave" 229
Адресация и конфигурация 229
Питание 230
Электрические требования 230
Глава 8. Спецификация компонентов PCI
231
Введение 231
Сигнальная среда 5 В 233
Спецификация по постоянному току 233
Спецификация по переменному току 235
Максимальные значения переменного тока и защита устройств 238
Сигнальная среда 3,3 В 241
Спецификация по постоянному току 241
Спецификация по переменному току 242
Максимальные значения переменного тока и защита устройств 246
Временные параметры 247
Спецификация тактовых импульсов 247
Временные параметры 249
Условия испытаний и измерений 251
Неопределенные входы и метастабильность 254
Спецификация, обеспечиваемая производителем 254
Рекомендации по расположению выводов 255
Глава 9. Спецификация системной платы
257
Схемотехника системной платы 257
Перекос синхронизации 257
Системный сброс 258
Нарушение правил сброса 261
Нагрузка 261
Питание 263
Требования к питанию 263
Последовательность активизации шин питания 264
Распределение временных параметров 264
Определение конечной точки времени Tprop 267
Физические требования 268
Четырехслойные системные платы 268
Импеданс системной платы 268
Назначение выводов разъема 269
Реализация системной платы 269
Глава 10. Спецификация плат расширения
271
Назначение выводов плат расширения 271
Питание 272
Емкостная развязка 272
Максимальная потребляемая мощность 273
Параметры среды распространения 274
Предельные значения для длины проводников на печатных платах 274
Четырехслойные платы расширения 274
Импеданс 275
Нагрузка линии 275
Конструктивные особенности 275
Глава 11. Конфигурирование и обслуживание устройств
281
Пространство конфигурации 281
Функции пространства конфигурации 283
Идентификация устройства 284
Управление устройством 285
Статус устройства 287
Смешанные регистры 290
CacheLine Size 290
Latency Timer 291
Built-in Self Test (BIST) 291
CardBus CIS Pointer 292
Interrupt Line 292
Interrupt Pin 292
MIN_GNT и MAX_LAT 293
Subsystem Vendor ID и Subsystem ID 293
Capabilities Pointer 294
Базовые адреса 294
Карта адресного пространства 295
Выбор размера регистра базового адреса 297
Регистр базового адреса ПЗУ расширения 298
"Жизненные" данные изделия 300
Драйверы устройств 300
Сброс системы 301
Список функциональностей 301
Механизм запроса прерывания 303
Структура функциональности MSI 303
Алгоритм функционирования MSI 307
Завершение транзакции MSI 308
Требования приема и упорядочивания MSI-транзакций 309
ПЗУ расширения 310
Состав ПЗУ расширения 310
Формат заголовка 311
Формат структуры данных PCI 312
Код процедуры POST 314
Совместимость со стандартом PC 314
Дополнительные поля заголовка 315
Алгоритм функционирования POST при обработке образа 315
Расширения функции INIT 316
Структура образа 317
Глава 12. Технология PCI Express
319
Введение 319
Третье поколение соединений ввода-вывода 319
Топология PCI Express 322
Root Complex 323
Endpoint 323
Правила для существующих оконечных устройств 323
Правила для оконечных устройств PCI Express 324
Switch 324
Мост PCI Express-to-PCI 325
Обзор уровней PCI Express 326
Уровень транзакций 327
Канальный уровень 328
Физический уровень 328
Программная инициализация и конфигурирование 329
Конфигурационная топология 329
Конфигурационные механизмы PCI Express 331
PCI-совместимый механизм доступа 331
Расширенный конфигурационный механизм доступа PCI Express 332
Блок регистров корневого комплекса 333
Типы конфигурационных регистров 333
PCI-совместимые конфигурационные регистры 334
Общее конфигурационное пространство типа 0/1 335
Заголовок конфигурационного пространства типа 0 339
Заголовок конфигурационного пространства типа 1 339
Управление питанием 343
Состояния потребления питания канала 345
Системная архитектура PCI Express 350
Поддержка прерываний 350
Модель прерываний PCI Express 351
Программная модель PME 351
Маршрут PME между иерархиями PCI Express и PCI 351
Сообщение об ошибках и протоколирование 352
Введение 352
Классификация ошибок 352
Правила обработки ошибок и PCI-отображения для мостов 353
Поддержка виртуальных каналов 354
Поддерживаемые конфигурации TC/VC 354
Механизм "Device Synchronization Stop" 355
Механизмы очищения/сброса 356
Блокированные транзакции 356
Правила инициирования и распространения блокированных транзакций 357
Оконечные устройства Legacy Endpoint 357
Оконечные устройства PCI Express 358
Правила сброса для PCI Express 358
Поддержка механизма Hot-Plug 361
Пользовательская модель PCI Express Hot-Plug 361
Девиация форм-факторов PCI 362
Элементы стандартной пользовательской модели 362
Индикаторы 362
Ручная защелка MRL 365
Сенсор MRL 366
Электромеханическая блокировка 366
Кнопка внимания 366
Программный интерфейс пользователя 367
Функция распределения питания 367
Рекомендации процесса системного распределения питания 368
Управление ограничением питания слота 368
Управляющие регистры Slot Power Limit 370
Заключение 371
Приложение 1. Идентификаторы функциональностей 373
Приложение 2. Коды классов 375
Базовый класс 00h 376
Базовый класс 01h 376
Базовый класс 02h 377
Базовый класс 03h 378
Базовый класс 04h 379
Базовый класс 05h 379
Базовый класс 06h 380
Базовый класс 07h 381
Базовый класс 08h 382
Базовый класс 09h 383
Базовый класс 0Ah 384
Базовый класс 0Bh 384
Базовый класс 0Ch 385
Базовый класс 0Dh 386
Базовый класс 0Eh 387
Базовый класс 0Fh 387
Базовый класс 10h 388
Базовый класс 11h 388
Приложение 3. Информация VPD 389
Формат VPD 392
Совместимость VPD 393
Определение VPD 393
Дескрипторы VPD 393
Доступные для чтения поля 393
Доступные для чтения/записи поля 395
Пример VPD 396
Список литературы 398
Предметный указатель 400