Технология PCI Express 3.0

Майк Джексон, Рави Бадрак

 Серии MindShare Technology

 Предостерегающие замечания

 Целевая аудитория

 Необходимые начальные знания

 Темы книги и её организация

 Соглашения документирования

  PCI Express™

  Шестнадцатеричная нотация

  Двоичная нотация

  Десятичная нотация

  Условные обозначения битов, байтов и обмена

  Поля бит

  Состояния активных сигналов

 Посетите наш веб сайт

 Нам необходима обратная связь с вами

 Содержание

Об этой книге
Серии MindShare Technology
Предостерегающие замечания
Целевая аудитория
Необходимые начальные знания
Темы книги и её организация
Соглашения документирования
PCI Express™
Шестнадцатеричная нотация
Двоичная нотация
Десятичная нотация
Условные обозначения битов, байтов и обмена
Поля бит
Состояния активных сигналов
Посетите наш веб сайт
Нам необходима обратная связь с вами
Глава 1. Основы
Введение
PCI и PCI-X
Основы PCI
Основы систем на базе PCI
Инициатор и получатель PCI
Типичный цикл PCI
Сигналы отражённой волны
Перспективы архитектуры PCI
Модели транзакции PCI
Арбитраж шины PCI
Неспособность PCI
Обработка прерываний PCI
Обработка ошибок PCI
Карта адресного пространства PCI
Выработка цикла настройки PCI
Пространство регистрации настройки функции PCI
PCI с более высокой полосой пропускания
Введение в PCI-X
...
Глава 2. Обзор архитектуры PCIe
Введение в PCI Express
...
Введение в уровени Устройства
...
Пример рассмотрения протокола
...
Глава 3. Обзор настройки
Определение Шины, Устройства и Функции
Шины PCIe
Устройства PCIe
Функции PCIe
Настройка адресного пространства
Совместимое с PCI пространство
Расширенное пространство настройки
Регистры настройки моста Host-to-PCI
Общие понятия
Запросы настройки отправляет только сам Корень
Создание транзакций настройки
Механизм наследования PCI
Порт настройки адреса
Применение порта сравнения шины и данных
Система с отдельным хостом
Система со множеством хостов
Механизм доступа к расширенной настройке
Общие понятия
Некоторые правила
Запросы настройки
Запросы настройки с типом 0
Запросы настройки с типом 1
Пример доступа настройки, совместимого с PCI
Пример расширенного доступа настройки
Нумерация - Исследование топологии
Изучение присутствия и отсутствия Функции
Устройство отсутствует
Устройство готово
Определение того является ли Функция Конечной точкой или Мостом
Пример нумерации с единым Корнем
Пример нумерации с множеством Корней
Общие понятия
Процесс нумерации с множеством Корней
Рассмотрение подключения в горячем режиме
MindShare Arbor: Программный инструментарий Отладки/ Проверки/ Анализа и Изучения
Общие понятия
Перечень функций MindShare Arbor
Глава 4. Пространство адресов и маршрутизация транзакций
Мне требуется некий адрес
Пространство настройки
Память и адрес IO
Общие понятия
Сопоставление пространств памяти с упреждающей выборкой и без неё
Регистры базового адреса (BAR)
Общие понятия
Пример 1 BAR: Запрос 32- битного пространства адресов памяти
Пример 2 BAR: Запрос 64- битного пространства адресов памяти
Пример 3 BAR: Запрос пространства адресов IO
Все BAR должны исчисляться последовательно
BAR с изменяемым размером
Регистры базы и предела
Общие понятия
Диапазон упреждающей выборки (P-MMIO)
Диапазон без упреждающей выборки (NP-MMIO)
Диапазон IO
Не используемые регистры базы и предела
Проверка корректности: регистры, применяемые для маршрутизации адресов
Основы маршрутизации TLP
Проверка получателей для трёх типов обмена
Элементы маршрутизации
Три метода маршрутизации TLP
Общие понятия
Назначение маршрутизации в неявном виде и обмена сообщениями
Зачем нужен обмен сообщениями?
Как помогает маршрутизация в явном виде
Расщепление протокола транзакции
Сопоставление отсылаемых и без отсылки
Формат и тип полей заголовка определения пакета
Общие понятия
Кодирование поля формат/ тип заголовка
Общие сведения о заголовке TLP
Применение механизмов маршрутизации
Маршрутизация ID
Номер шины, номер устройства, пределы номера функции
Ключевые поля заголовка TLP в маршрутизации ID
Конечные точки: одна проверка
Коммутаторы (мосты): две проверки на порт
Маршрутизация адреса
Ключевые поля заголовка TLP в маршрутизации адреса
TLP с 32- битным адресом
TLP с 64- битным адресом
Проверка адреса конечной точки
Переключение маршрутизации
Перемещающиеся вниз TLP (получаемые на первичном интерфейсе)
Перемещающиеся вверх TLP (получаемые на вторичном интерфейсе)
Возможности множественной адресации
Неявная маршрутизация
Только для обмена сообщениями
Ключевые поля заголовка TLP в неявной маршрутизации
Суммарные сведения о поле типа сообщения
Обработка конечной точки
Обработка коммутатора
Отсутствие маршрутизации DLLP и Упорядоченных наборов
Глава 5. Элементы TLP
Введение в протокол на основе пакетов
Общие понятия
Мотивация для протокола на основании пакетов
...
Подробности TLP
...
Глава 6. Управление потоком
Понятие управления потоком
Буферы и исполнители управления потоком
...
Начальное извещение управления потоком
...
Инициализация управления потоком
...
Введение в сам механизм управления потоком
...
Пример управления потоком
...
Обновления управления потоком
...
Глава 7. Качество обслуживания
Мотивация
Основные элементы
...
Арбитраж VC
...
Арбитраж порта
...
Арбитраж при множестве Конечных точек
Поддержка изохронности
...
Глава 8. Порядок транзакций
Введение
Определения
Упрощённые правила упорядочения
...
Модель поставщик/ потребитель
...
Уменьшенное упорядочение
...
Слабое упорядочение
...
Упорядочение на основе IO (IDO)
...
Предотвращение взаимной блокировки
Глава 9. Элементы DLLP
Общие понятия
DLLP является локальным обменом
Обработка DLLP на стороне получателя
Отправка DLLP
...
Типы пакетов DLLP
...
Глава 10. Протокол Ack/Nak
Цель: надёжный транспорт TLP
Элементы протокола Ack/Nak
...
Подробности протокола Ack/Nak
...
Дополнительные примеры
...
Обработка случаев ошибок Ack/Nak
Рекомендуемая приоритетность расписания пакетов
Временные различия для более новых версий спецификаций
...
Переключение в режим Cut-Through
...
Глава 11. Физический уровень - Логика (Поколения 1 и 2)
Обзор Физического уровня
...
Подробности логики передачи (Только Поколение 1 и 2)
...
Подробности логики приёма (Только Поколение 1 и 2)
...
Обработка ошибок Физического уровня
...
Управление активным состоянием питания
Проверка связи и инициализация
Глава 12. Физический уровень - Логика (Поколение 3)
Введение в Поколение 3
...
Кодирование для 8.0 GT/s
...
Логика передачи Физического уровня Поколения 3
...
Логика приёма Физического уровня Поколения 3
...
Замечания относительно обратной петли с 128b/130b
Глава 13. Физический уровень - электротехника
Обратная совместимость
Интерфейсы компонентов
Обзор электротехники Физического уровня
Высокоскоростные сигналы
Требования циклов
...
Спецификация передатчика (Tx)
...
Спецификация получателя (Rx)
...
Компенсация сигнала
...
Схема Eye
...
Характеристики драйвера передатчика
Характеристики получателя
...
Характеристики получателя
Состояния управления питания соединения
Глава 14. Инициализация и испытание соединения
Общий обзор
Упорядоченные наборы и испытание соединения
...
Испытание соединения и машина положения состояний (LTSSM)
...
Определение состояния
...
Опрос состояния
...
Настройка состояния
...
Состояние L0
...
Восстановление состояния
...
Динамические изменения полосы пропускания
...
Связанные регистры настроек
...
Глава 15. определение и обработка ошибок
Основы
Определение ошибок PCIe
Отчёты об ошибках PCIe
...
Классы ошибок
...
Механизмы проверки ошибок PCIe
...
Загрязнённость ошибок
Источники ошибок PCI Express
...
Как составляются отчёты об ошибках
...
Обнаружение и обработка ошибок базового уровня
...
Расширенные отчёты об ошибках (AER)
...
Регистрация и отчёты суммирования ошибок
Пример потока расследования программной ошибки
Глава 16. Управление питанием
Введение
Букварь управления питанием
...
Управление питанием Функции
...
Введение в управление питанием соединения
Управление питанием активного состояния (ASPM)
...
Программно инициируемое управление питанием соединения
...
Протокол пробуждения соединения и генерация PME
...
Улучшенная эффективность PM
...
Глава 17. Поддержка прерываний
Основы поддержки прерываний
...
Модель наследования
...
Модель MSI
...
Модель MSI-X
...
Синхронизация памяти при введении обработчика прерываний
...
Задержка прерывания
Возможные результаты в ошибках MSI
Некоторые правилп и рекомендации MSI
Особое рассмотрение периферийных устройств основной системы
...
Глава 18. Сброс системы
Две категории сброса системы
Обыкновенный сброс
...
Сброса уровня Функции (FLR)
...
Выход из сброса
Глава 19. Подключение в горячем режиме и баланс питания
Основы
Подключение в горячем режиме в среде PCI Express
...
Необходимые для поддержки подключения горячем режиме элементы
...
Процедуры удаления и вставки карт
...
Стандартизованная модель применения
...
Стандартный интерфейс сигналов подключаемого в горячем режиме контроллера
Программный интерфейс подключаемого в горячем режиме контроллера
...
Перевод в пассивное состояние карты и драйвера
...
Примитивы
Введение в баланс питания
Элементы баланса питания
...
Управление пределом питания слота
...
Набор регистров возможностей баланса питания
Глава 20. Обновления для Спецификации в редакции 2.1
Изменения спецификации PCIe Rev 2.1
Улучшения избыточности: множественная адресация
Регистры возможности множественной адресации
Возможности множественной адресации
Управление множественной адресацией
Базовый адрес множественной адресации
Приём MC
MC блокировка всех
Понимание блокировки MC
Пример множественной адресации
Перекрытие BAR MC
Пример перекрытия
Маршрутизация TLP с множественной маршрутизацией
Избежание заторов
Улучшения производительности
Атомарные операции
Советы обработки TLP (TPH)
Примеры TPH
Запись устройством в чтение хоста
Запись хостом в чтение устройства
Устройство r устройству
Упорядочение на основе идентификатора (IDO)
Альтернативная интерпретация маршрутизации по ID (ARI)
Улучшения управления питанием
DPA
LTR
OBFF
Варианты ASPM
Улучшения настройки
Отчёты о внутренних ошибках
BAR с изменяемым размером
Регистр возможностей
Регистр управления
Упрощённая таблица упорядочения
Приложение A: Отладка обмена PCIe с помощью инструментов LeCroy
Обзор
Pre-silicon Debugging
...
Pre-silicon Debug
...
Применение опций пробников анализатора протокола
Просмотр обмена с помощью приложения PETracer
...
Воспроизведение обмена
...
Выводы
Приложение B: Рынки и приложения для PCI Express
Введение
Решения виртуализации IO PCI Express
Решение коммутатора PCIe со множеством корней (MR)
PCIe за пределами взаимодействия микросхем
Блоки расширения IO SSD/ Хранилищ
PCIe в модулях SSD для серверов
Выводы
Приложение C: Реализация интеллектуальных адаптеров и систем со множеством хостов с применением технологии PCI Express
Введение
Модели использования
Интеллектуальные адаптеры
Отказоустойчивость хоста
Мультипроцессорные системы
История реализации многопроцессорности с помощью PCI
Реализация адаптеров со множеством хостов/ интеллектуальностью в системах PCIe
Пример: Реализация интеллектуального адаптера в системе PCIe
Пример: Реализация отказоустойчивости хоста в системе PCIe
Пример: Реализация дуального хоста в базовой системе PCIe
Итоги
Трансляция адресов
Прямая трансляция адресов
Трансляция адресов на основе таблицы поиска
Регистры предела BAR нисходящего потока
Перенаправление транзакций 64- битных адресов памяти
Приложение D: Блокированные транзакции
Введение
Основы
Протокол блокировки PCI Express
...
Резюме правил блокировки
...
Указатель

 Введение