| |
| |
About This Book | |
| |
| |
The MindShare Architecture Series | |
| |
| |
Cautionary Note | |
| |
| |
Intended Audience | |
| |
| |
Prerequisite Knowledge | |
| |
| |
Topics and Organization | |
| |
| |
Documentation Conventions | |
| |
| |
PCI Express | |
| |
| |
Hexadecimal Notation | |
| |
| |
Binary Notation | |
| |
| |
Decimal Notation | |
| |
| |
Bits Versus Bytes Notation | |
| |
| |
Bit Fields | |
| |
| |
Active Signal States | |
| |
| |
Visit Our Web Site | |
| |
| |
We Want Your Feedback | |
| |
| |
| |
The Big Picture | |
| |
| |
| |
Architectural Perspective | |
| |
| |
Introduction To PCI Express | |
| |
| |
Predecessor Buses Compared | |
| |
| |
I/O Bus Architecture Perspective | |
| |
| |
The PCI Express Way | |
| |
| |
PCI Express Specifications | |
| |
| |
| |
Architecture Overview | |
| |
| |
Introduction to PCI Express Transactions | |
| |
| |
PCI Express Device Layers | |
| |
| |
Example of a Non-Posted Memory Read Transaction | |
| |
| |
Hot Plug | |
| |
| |
PCI Express Performance and Data Transfer Efficiency | |
| |
| |
| |
Transaction Protocol | |
| |
| |
| |
Address Spaces & Transaction Routing | |
| |
| |
Introduction | |
| |
| |
Two Types of Local Link Traffic | |
| |
| |
Transaction Layer Packet Routing Basics | |
| |
| |
Applying Routing Mechanisms | |
| |
| |
Plug-And-Play Configuration of Routing Options | |
| |
| |
| |
Packet-Based Transactions | |
| |
| |
Introduction to the Packet-Based Protocol | |
| |
| |
Transaction Layer Packets | |
| |
| |
Data Link Layer Packets | |
| |
| |
| |
ACK/NAK Protocol | |
| |
| |
Reliable Transport of TLPs Across Each Link | |
| |
| |
Elements of the ACK/NAK Protocol | |
| |
| |
ACK/NAK DLLP Format | |
| |
| |
ACK/NAK Protocol Details | |
| |
| |
Error Situations Reliably Handled by ACK/NAK Protocol | |
| |
| |
ACK/NAK Protocol Summary | |
| |
| |
Recommended Priority To Schedule Packets | |
| |
| |
Some More Examples | |
| |
| |
Switch Cut-Through Mode | |
| |
| |
| |
QoS/TCs/VCs and Arbitration | |
| |
| |
Quality of Service | |
| |
| |
Perspective on QOS/TC/VC and Arbitration | |
| |
| |
Traffic Classes and Virtual Channels | |
| |
| |
Arbitration | |
| |
| |
| |
Flow Control | |
| |
| |
Flow Control Concept | |
| |
| |
Flow Control Buffers | |
| |
| |
Introduction to the Flow Control Mechanism | |
| |
| |
Flow Control Packets | |
| |
| |
Operation of the Flow Control Model - An Example | |
| |
| |
Infinite Flow Control Advertisement | |
| |
| |
The Minimum Flow Control Advertisement | |
| |
| |
Flow Control Initialization | |
| |
| |
Flow Control Updates Following FC_INIT | |
| |
| |
| |
Transaction Ordering | |
| |
| |
Introduction | |
| |
| |
Producer/Consumer Model | |
| |
| |
Native PCI Express Ordering Rules | |
| |
| |
Relaxed Ordering | |
| |
| |
Modified Ordering Rules Improve Performance | |
| |
| |
Support for PCI Buses and Deadlock Avoidance | |
| |
| |
| |
Interrupts | |
| |
| |
Two Methods of Interrupt Delivery | |
| |
| |
Message Signaled Interrupts | |
| |
| |
Legacy PCI Interrupt Delivery | |
| |
| |
Devices May Support Both MSI and Legacy Interrupts | |
| |
| |
Special Consideration for Base System Peripherals | |
| |
| |
| |
Error Detection and Handling | |
| |
| |
Background | |
| |
| |
Introduction to PCI Express Error Management | |
| |
| |
Sources of PCI Express Errors | |
| |
| |
Error Classifications | |
| |
| |
How Errors are Reported | |
| |
| |
Baseline Error Detection and Handling | |
| |
| |
Advanced Error Reporting Mechanisms | |
| |
| |
Summary of Error Logging and Reporting | |
| |
| |
| |
The Physical Layer | |
| |
| |
| |
Physical Layer Logic | |
| |
| |
Physical Layer Overview | |
| |
| |
Transmit Logic Details | |
| |
| |
Receive Logic Details | |
| |
| |
Physical Layer Error Handling | |
| |
| |
| |
Electrical Physical Layer | |
| |
| |
Electrical Physical Layer Overview | |
| |
| |
High Speed Electrical Signaling | |
| |
| |
LVDS Eye Diagram | |
| |
| |
Transmitter Driver Characteristics | |
| |
| |
Input Receiver Characteristics | |
| |
| |
Electrical Physical Layer State in Power States | |
| |
| |
| |
System Reset | |
| |
| |
Two Categories of System Reset | |
| |
| |
Reset Exit | |
| |
| |
Link Wakeup from L2 Low Power State | |
| |
| |
| |
Link Initialization & Training | |
| |
| |
Link Initialization and Training Overview | |
| |
| |
Ordered-Sets Used During Link Training and Initialization | |
| |
| |
Link Training and Status State Machine (LTSSM) | |
| |
| |
Detailed Description of LTSSM States | |
| |
| |
LTSSM Related Configuration Registers | |
| |
| |
| |
Power-Related Topics | |
| |
| |
| |
Power Budgeting | |
| |
| |
Introduction to Power Budgeting | |
| |
| |
The Power Budgeting Elements | |
| |
| |
Slot Power Limit Control | |
| |
| |
The Power Budget Capabilities Register Set | |
| |
| |
| |
Power Management | |
| |
| |
Introduction | |
| |
| |
Primer on Configuration Software | |
| |
| |
Function Power Management | |
| |
| |
Introduction to Link Power Management | |
| |
| |
Link Active State Power Management | |
| |
| |
Software Initiated Link Power Management | |
| |
| |
Link Wake Protocol and PME Generation | |
| |
| |
| |
Optional Topics | |
| |
| |
| |
Hot Plug | |
| |
| |
Background | |
| |
| |
Hot Plug in the PCI Express Environment | |
| |
| |
Elements Required to Support Hot Plug | |
| |
| |
Card Removal and Insertion Procedures | |
| |
| |
Standardized Usage Model | |
| |
| |
Standard Hot Plug Controller Signaling Interface | |
| |
| |
The Hot-Plug Controller Programming Interface | |
| |
| |
Slot Numbering | |
| |
| |
Quiescing Card and Driver | |
| |
| |
The Primitives | |
| |
| |
| |
Add-in Cards and Connectors | |
| |
| |
Introduction | |
| |
| |
Form Factors Under Development | |
| |
| |
| |
PCI Express Configuration | |
| |
| |
| |
Configuration Overview | |
| |
| |
Definition of Device and Function | |
| |
| |
Definition of Primary and Secondary Bus | |
| |
| |
Topology Is Unknown At Startup | |
| |
| |
Each Function Implements a Set of Configuration Registers | |
| |
| |
Host/PCI Bridge's Configuration Registers | |
| |
| |
Configuration Transactions Are Originated by the Processor | |
| |
| |
Configuration Transactions Are Routed Via Bus, Device, and Function Number | |
| |
| |
How a Function Is Discovered | |
| |
| |
How To Differentiate a PCI-to-PCI Bridge From a Non-Bridge Function | |
| |
| |
| |
Configuration Mechanisms | |
| |
| |
Introduction | |
| |
| |
PCI-Compatible Configuration Mechanism | |
| |
| |
PCI Express Enhanced Configuration Mechanism | |
| |
| |
Type 0 Configuration Request | |
| |
| |
Type 1 Configuration Request | |
| |
| |
Example PCI-Compatible Configuration Access | |
| |
| |
Example Enhanced Configuration Access | |
| |
| |
Initial Configuration Accesses | |
| |
| |
| |
PCI Express Enumeration | |
| |
| |
Introduction | |
| |
| |
Enumerating a System With a Single Root Complex | |
| |
| |
Enumerating a System With Multiple Root Complexes | |
| |
| |
A Multifunction Device Within a Root Complex or a Switch | |
| |
| |
An Endpoint Embedded in a Switch or Root Complex | |
| |
| |
Memorize Your Identity | |
| |
| |
Root Complex Register Blocks (RCRBs) | |
| |
| |
Miscellaneous Rules | |
| |
| |
| |
PCI Compatible Configuration Registers | |
| |
| |
Header Type 0 | |
| |
| |
Header Type 1 | |
| |
| |
PCI-Compatible Capabilities | |
| |
| |
| |
Expansion ROMs | |
| |
| |
ROM Purpose--Device Can Be Used In Boot Process | |
| |
| |
ROM Detection | |
| |
| |
ROM Shadowing Required | |
| |
| |
ROM Content | |
| |
| |
Execution of Initialization Code | |
| |
| |
Introduction to Open Firmware | |
| |
| |
| |
Express-Specific Configuration Registers | |
| |
| |
Introduction | |
| |
| |
PCI Express Capability Register Set | |
| |
| |
PCI Express Extended Capabilities | |
| |
| |
RCRB | |
| |
| |
Appendices | |
| |
| |
| |
Test, Debug and Verification | |
| |
| |
| |
Markets & Applications for the PCI Express Architecture | |
| |
| |
| |
Implementing Intelligent Adapters and Multi-Host Systems With PCI Express Technology | |
| |
| |
| |
Class Codes | |
| |
| |
| |
Locked Transactions Series | |
| |
| |
Index | |