Uploaded by ymh853776

CB-PCI Express Base 5.0r1.0-2019-05-22

advertisement
The following informative "changebar" versions of the PCI Express Base 5.0
Specification are available:
CB-PCI_Express_Base_5.0r1.0-2019-05-22.html
CB-PCI_Express_Base_5.0r1.0-2019-05-22.pdf <-- this file
CB9-PCI_Express_Base_5.0r1.0-2019-05-22.html
CB9-PCI_Express_Base_5.0r1.0-2019-05-22.pdf
The CB documents compare Base 4.0 and Base 5.0. More specifically:
* PCI Express Base Specification Revision 4.0 Version 1.0 (left) to
* PCI Express Base Specification Revision 5.0 Version 1.0 (right)
The CB9 documents compare Base 5.0/0.9 and Base 5.0/1.0. More specifically:
* PCI Express Base Specification Revision 5.0 Version 0.9 (left) to
* PCI Express Base Specification Revision 5.0 Version 1.0 (right)
The compare was performed using a text compare tool. Changes to figures are not
shown.
HTML and PDF versions are provided. Both versions are derived from common source
material but have different characteristics, and readers may wish to reference
both.
The NCB-PCI_Express_Base_5.0r1.0-2019-05-22.pdf is the normative version of this
specification.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1
PCI Express® Base Specification Revision 4.0 Version 1.0
2
3
4.0-1.0-PUB — — PCI Express® Base Specification Revision 4.0
Version 1.0 September 27, 2017
5
7
PCI Express® Base Specification Revision 5.0 Version 1.0
8
9
9
10
PCI-SIG Working Draft 07 March 2018
11
10
22 May 2019
11
12
12
13
Copyright © 2018 PCI-SIG ®
14
13
Copyright © 2002-2019 PCI-SIG ®
14
15
15
PCI, PCI Express, PCIe, and PCI-SIG are trademarks or registered
trademarks of PCI-SIG. All other product names are trademarks, registered
trademarks, or servicemarks of their respective owners.
17
16
PCI, PCI Express, PCIe, and PCI-SIG are trademarks or registered
trademarks of PCI-SIG. All other product names are trademarks, registered
trademarks, or servicemarks of their respective owners.
17
18
19
5.0-1.0-PUB — PCI Express® Base Specification Revision 5.0
Version 1.0
6
PCI Express® Base Specification Revision 4.0 Version 1.0
September 27, 2017
8
16
4
5
6
7
PCI Express® Base Specification Revision 5.0 Version 1.0
2
3
4
1
18
Contact PCI-SIG Membership Services for questions about
membership in the PCI-SIG or to obtain the latest revision of this
specification. Contact PCI-SIG Technical Support for technical questions
about this specification.
20
19
Contact PCI-SIG Membership Services for questions about
membership in the PCI-SIG or to obtain the latest revision of this
specification. Contact PCI-SIG Technical Support for technical questions
about this specification.
20
21
21
22
22
Web Site
23
Web Site
23
173
2.2.8.5 Slot Power Limit Support
174
173
2.2.8.5 Slot Power Limit Support
174
175
2.2.8.6 Vendor_Defined Messages
176
175
2.2.8.6 Vendor_Defined Messages
176
177
2.2.8.6.1 PCI-SIG-Defined VDMs
178
177
2.2.8.6.1 PCI-SIG-Defined VDMs
178
179
2.2.8.6.2 LN Messages
180
179
2.2.8.6.2 LN Messages
180
181
2.2.8.6.3 Device Readiness Status (DRS)
181
Message
2.2.8.6.3 Device Readiness Status (DRS)
Message
182
182
183
2.2.8.6.4 Function Readiness Status (FRS)
183
Message
184
185
184
2.2.8.6.5 Hierarchy ID Message
186
Page 1
2.2.8.6.5 Hierarchy ID Message
187
2.2.8.7 Ignored Messages
189
190
185
186
187
188
2.2.8.6.4 Function Readiness Status Message
(FRS Message)
188
2.2.8.7 Ignored Messages
189
2.2.8.8 Latency Tolerance Reporting (LTR) Message
190
2.2.8.8 Latency Tolerance Reporting (LTR) Message
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
190
2.2.8.8 Latency Tolerance Reporting (LTR) Message
191
190
2.2.8.8 Latency Tolerance Reporting (LTR) Message
191
192
2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message
193
192
2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message
193
290
3.4.1 Flow Control Initialization State Machine Rules
291
290
3.4.1 Flow Control Initialization State Machine Rules
291
292
3.4.2 Scaled Flow Control
293
292
3.4.2 Scaled Flow Control
293
294
294
295
3.5 Data Link Layer Packets (DLLPs)
296
295
3.5 Data Link Layer Packets (DLLPs)
296
297
3.5.1 Data Link Layer Packet Rules
298
297
3.5.1 Data Link Layer Packet Rules
298
299
299
300
3.6 Data Integrity
301
300
3.6 Data Integrity Mechansisms
301
302
3.6.1 Introduction
303
302
3.6.1 Introduction
303
304
3.6.2 LCRC, Sequence Number, and Retry Management (TLP
304
Transmitter)
3.6.2 LCRC, Sequence Number, and Retry Management (TLP
Transmitter)
305
305
306
3.6.2.1 LCRC and Sequence Number Rules (TLP
306
Transmitter)
3.6.2.1 LCRC and Sequence Number Rules (TLP
Transmitter)
307
307
308
3.6.2.2 Handling of Received DLLPs
308
309
309
310
310
352
3.6.2.2 Handling of Received DLLPs
352
353
4.2.2.3.2 Transmitter Framing Requirements
354
353
4.2.2.3.2 Transmitter Framing Requirements
354
355
4.2.2.3.3 Receiver Framing Requirements
356
355
4.2.2.3.3 Receiver Framing Requirements
356
357
4.2.2.3.4 Recovery from Framing Errors
358
357
4.2.2.3.4 Recovery from Framing Errors
358
359
359
360
4.2.2.4 Scrambling
361
360
4.2.2.4 Scrambling
361
362
4.2.2.5 Loopback with 128b/130b Code
362
4.2.2.5 Precoding
363
364
363
4.2.2.6 Loopback with 128b/130b Code
365
364
366
365
4.2.3 Link Equalization Procedure for 8.0 GT/s and
367
Higher Data Rates
366
367
368
4.2.3.1 Rules for Transmitter Coefficients
368
369
4.2.3.2 Encoding of Presets
4.2.3.1 Rules for Transmitter Coefficients
371
4.2.3.2 Encoding of Presets
372
371
Page 2
369
370
370
372
4.2.3 Link Equalization Procedure for 8.0 GT/s and
Higher Data Rates
373
4.2.4 Link Initialization and Training
374
4.2.4 Link Initialization and Training
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
372
4.2.4 Link Initialization and Training
373
374
4.2.4 Link Initialization and Training
375
374
4.2.4.1 Training Sequences
375
376
4.2.4.1 Training Sequences
377
376
4.2.4.2 Electrical Idle Sequences
378
4.2.4.2 Alternate Protocol Negotiation
379
380
377
4.2.4.3 Electrical Idle Sequences (EIOS)
381
378
4.2.4.3 Inferring Electrical Idle
379
382
4.2.4.4 Inferring Electrical Idle
383
380
4.2.4.4 Lane Polarity Inversion
381
384
4.2.4.5 Lane Polarity Inversion
385
382
4.2.4.5 Fast Training Sequence (FTS)
383
386
4.2.4.6 Fast Training Sequence (FTS)
387
384
4.2.4.6 Start of Data Stream Ordered Set
388
4.2.4.7 Start of Data Stream Ordered Set (SDS
Ordered Set)
385
389
386
4.2.4.7 Link Error Recovery
387
390
4.2.4.8 Link Error Recovery
391
388
4.2.4.8 Reset
389
392
4.2.4.9 Reset
393
390
4.2.4.8.1 Fundamental Reset
391
394
4.2.4.9.1 Fundamental Reset
395
392
4.2.4.8.2 Hot Reset
393
396
4.2.4.9.2 Hot Reset
397
394
398
395
4.2.4.9 Link Data Rate Negotiation
396
399
4.2.4.10 Link Data Rate Negotiation
400
397
4.2.4.10 Link Width and Lane Sequence Negotiation
398
401
4.2.4.11 Link Width and Lane Sequence Negotiation
402
399
4.2.4.10.1 Required and Optional Port Behavior
400
403
4.2.4.11.1 Required and Optional Port Behavior
404
401
405
402
4.2.4.11 Lane-to-Lane De-skew
403
406
4.2.4.12 Lane-to-Lane De-skew
407
404
4.2.4.12 Lane vs. Link Training
405
408
4.2.4.13 Lane vs. Link Training
409
406
410
407
4.2.5 Link Training and Status State Machine (LTSSM)
411
Descriptions
408
409
412
4.2.5.1 Detect
410
411
4.2.5.2 Polling
4.2.5.3 Configuration
418
Page 3
415
4.2.5.2 Polling Overview
417
4.2.5.3 Configuration Overview
418
4.2.5.4 Recovery
416
417
4.2.5.1 Detect Overview
416
414
415
413
414
412
413
4.2.5 Link Training and Status State Machine (LTSSM)
Descriptions
419
4.2.5.4 Recovery Overview
420
4.2.5.5 L0
421
422
4.2.5.5 L0 Overview
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
418
422
419
423
4.2.5.6 L0s
420
4.2.5.6 L0s Overview
424
421
425
4.2.5.7 L1
422
4.2.5.7 L1 Overview
426
423
427
4.2.5.8 L2
424
4.2.5.8 L2 Overview
428
425
4.2.5.9 Disabled
426
429
4.2.5.9 Disabled Overview
430
427
4.2.5.10 Loopback
428
431
4.2.5.10 Loopback Overview
432
429
4.2.5.11 Hot Reset
430
433
4.2.5.11 Hot Reset Overview
434
431
435
432
4.2.6 Link Training and Status State Rules
433
436
4.2.6 Link Training and Status State Rules
437
434
4.2.6.1 Detect
435
438
4.2.6.1 Detect
439
436
4.2.6.1.1 Detect.Quiet
437
440
4.2.6.1.1 Detect.Quiet
441
438
4.2.6.1.2 Detect.Active
442
439
443
490
494
491
4.2.6.1.2 Detect.Active
495
492
4.2.6.4 Recovery
493
496
4.2.6.4 Recovery
497
494
4.2.6.4.1 Recovery.RcvrLock
495
498
4.2.6.4.1 Recovery.RcvrLock
499
496
4.2.6.4.2 Recovery.Equalization
497
500
4.2.6.4.2 Recovery.Equalization
501
498
4.2.6.4.2.1 Downstream Lanes
499
502
4.2.6.4.2.1 Downstream Lanes
503
500
4.2.6.4.2.1.1 4.2.6.4.2.1.1 Phase 1 of
504
Transmitter Equalization
4.2.6.4.2.1.1 Phase 1 of Transmitter
Equalization
501
505
502
4.2.6.4.2.1.2 4.2.6.4.2.1.2 Phase 2 of
506
Transmitter Equalization
4.2.6.4.2.1.2 Phase 2 of Transmitter
Equalization
503
507
504
4.2.6.4.2.1.3 4.2.6.4.2.1.3 Phase 3 of
508
Transmitter Equalization
4.2.6.4.2.1.3 Phase 3 of Transmitter
Equalization
505
509
506
510
507
4.2.6.4.2.2 Upstream Lanes
508
511
4.2.6.4.2.2 Upstream Lanes
512
509
4.2.6.4.2.2.1 4.2.6.4.2.2.1 Phase 0 of
513
Transmitter Equalization
4.2.6.4.2.2.1 Phase 0 of Transmitter
Equalization
510
514
511
4.2.6.4.2.2.2 4.2.6.4.2.2.2 Phase 1 of
515
Transmitter Equalization
4.2.6.4.2.2.2 Phase 1 of Transmitter
Equalization
512
516
513
4.2.6.4.2.2.3 4.2.6.4.2.2.3 Phase 2 of
Transmitter Equalization
Page 4
517
4.2.6.4.2.2.3 Phase 2 of Transmitter
Equalization
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
513
4.2.6.4.2.2.3 4.2.6.4.2.2.3 Phase 2 of
517
Transmitter Equalization
4.2.6.4.2.2.3 Phase 2 of Transmitter
Equalization
514
518
515
4.2.6.4.2.2.4 4.2.6.4.2.2.4 Phase 3 of
519
Transmitter Equalization
4.2.6.4.2.2.4 Phase 3 of Transmitter
Equalization
516
520
517
521
518
522
519
4.2.6.4.3 Recovery.Speed
520
523
4.2.6.4.3 Recovery.Speed
524
521
4.2.6.4.4 Recovery.RcvrCfg
522
525
4.2.6.4.4 Recovery.RcvrCfg
526
523
4.2.6.4.5 Recovery.Idle
527
524
528
525
529
782
4.2.6.4.5 Recovery.Idle
786
783
5.4.1.1 L0s ASPM State
784
787
5.4.1.1 L0s ASPM State
788
785
5.4.1.1.1 Entry into the L0s State
786
789
5.4.1.1.1 Entry into the L0s State
790
787
5.4.1.1.2 Exit from the L0s State
788
791
5.4.1.1.2 Exit from the L0s State
792
789
793
790
5.4.1.2 L1 ASPM State
791
794
5.4.1.2 L1 ASPM State
795
792
5.4.1.2.1 Entry into the L1 State
793
796
5.4.1.2.1 ASPM Entry into the L1 State
797
794
5.4.1.2.2 Exit from the L1 State
795
798
5.4.1.2.2 Exit from the L1 State
799
796
800
797
5.4.1.3 ASPM Configuration
798
801
5.4.1.3 ASPM Configuration
802
799
5.4.1.3.1 Software Flow for Enabling or
803
Disabling ASPM
800
804
801
805
802
819
806
5.5.3.3 L1.2.Exit
820
821
823
5.5.3.3.1 Exit from L1.2
825
826
823
827
824
5.5.3.3.1 Exit from L1.2
828
5.5.4 L1 PM Substates Configuration
826
827
5.5.3.3 L1.2.Exit
824
822
825
5.4.1.3.1 Software Flow for Enabling or
Disabling ASPM
829
5.5.4 L1 PM Substates Configuration
830
5.5.5 L1 PM Substates Timing Parameters
828
831
5.5.5 L1 PM Substates Timing Parameters
832
833
5.5.6 Link Activation
834
829
830
Page 5
835
5.6 Auxiliary Power Support
836
5.6 Auxiliary Power Support
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
830
5.6 Auxiliary Power Support
831
832
5.7 Power Management System Messages and DLLPs
838
5.7 Power Management System Messages and DLLPs
839
5.8 PCI Function Power State Transitions
835
836
5.6 Auxiliary Power Support
837
833
834
836
840
5.8 PCI Function Power State Transitions
841
5.9 Function Power Management Policies
842
5.9 State Transition Recovery Time Requirements
837
838
5.9.1 State Transition Recovery Time Requirements
839
840
841
843
5.10 PCI Bridges and Power Management
842
843
5.10.1 Switches and PCI Express to PCI Bridges
6.5.7 PCI Express Endpoints
6.6.1 Conventional Reset
6.6.2 Function Level Reset (FLR)
1042
6.7.1 Elements of Hot-Plug
1044
6.7.1.1 Indicators
1047
1049
1051
6.7.1.1.1 Attention Indicator
1053
6.7.1.1.2 Power Indicator
1055
1056
1054
1057
1094
6.7.1.1 Indicators
6.7.1.1.1 Attention Indicator
6.7.1.1.2 Power Indicator
1097
6.7.3.1 Slot Events
1096
1098
6.7.3.1 Slot Events
1099
6.7.3.2 Command Completed Events
1098
1100
6.7.3.2 Command Completed Events
1101
6.7.3.3 Data Link Layer State Changed Events
1100
1102
6.7.3.3 Data Link Layer State Changed Events
1103
6.7.3.4 Software Notification of Hot-Plug Events
1104
1102
1105
1103
1106
Page 6
6.7.1 Elements of Hot-Plug
1054
1053
1101
6.7 PCI Express Native Hot-Plug
1052
1051
1099
6.6.2 Function Level Reset (FLR)
1050
1049
1097
6.6.1 Conventional Reset
1048
1047
1095
6.6 PCI Express Reset - Rules
1046
6.7 PCI Express Hot-Plug Support
1045
1052
1040
1045
1043
1050
6.5.7 PCI Express Endpoints
1043
1042
1048
6. System Architecture
1041
1040
1046
1037
1039
6.6 PCI Express Reset - Rules
1038
1044
852
1038
1036
1041
5.11 Power Management Events
851
6. System Architecture
1035
1039
849
850
848
1037
5.10.1 Switches and PCI Express to PCI Bridges
848
5.11 Power Management Events
847
1034
846
847
845
849
5.10 PCI Bridges and Power Management
845
844
846
844
6.7.3.4 Software Notification of Hot-Plug Events
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1103
1106
1104
6.7.4 Firmware Support for Hot-Plug
1107
6.7.4 System Firmware Intermediary (SFI) Support
1108
1109
6.7.4.1 SFI ERR_COR Event Signaling
1110
1111
6.7.4.2 SFI Downstream Port Filtering (DPF)
1112
1113
6.7.4.3 SFI CAM
1114
1115
6.7.4.4 SFI Interactions with Readiness
Notifications
1105
1116
1106
6.7.5 Async Removal
1117
6.7.4.5 SFI Suppression of Hot-Plug Surprise
Functionality
1118
1119
1120
6.7.5 Firmware Support for Hot-Plug
1121
1122
1107
6.7.6 Async Removal
1123
1108
1124
1109
6.8 Power Budgeting Capability
1110
1125
6.8 Power Budgeting Capability
1126
1111
6.8.1 System Power Budgeting Process Recommendations
1112
1127
6.8.1 System Power Budgeting Process Recommendations
1128
1113
1129
1114
6.9 Slot Power Limit Control
1115
1130
6.9 Slot Power Limit Control
1131
1116
6.10 Root Complex Topology Discovery
1125
1132
6.10 Root Complex Topology Discovery
1141
1126
6.12.1.2 ACS Functions in SR-IOV Capable and Multi-
1142
Function Devices
1127
1128
1143
6.12.1.3 Functions in Single-Function Devices
1129
1147
6.12.2 Interoperability
1148
6.12.3 ACS Peer-to-Peer Control Interactions
1134
1135
6.12.1.3 Functions in Single-Function Devices
1146
6.12.2 Interoperability
1132
1133
1144
1145
1130
1131
6.12.1.2 ACS Functions in SR-IOV Capable and MultiFunction Devices
1149
6.12.3 ACS Peer-to-Peer Control Interactions
1150
6.12.4 ACS Violation Error Handling
1151
6.12.4 ACS Enhanced Capability
1152
1153
1136
1137
6.12.5 ACS Redirection Impacts on Ordering Rules
1138
1139
1155
6.12.5.1 Completions Passing Posted Requests
1157
6.12.6.1 Completions Passing Posted Requests
1158
6.12.5.2 Requests Passing Posted Requests
1159
1142
1160
1143
1161
Page 7
6.12.6 ACS Redirection Impacts on Ordering Rules
1156
1140
1141
6.12.5 ACS Violation Error Handling
1154
6.12.6.2 Requests Passing Posted Requests
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1143
1161
1144
1162
1145
6.13 Alternative Routing-ID Interpretation (ARI)
1146
1163
6.13 Alternative Routing-ID Interpretation (ARI)
1164
1147
6.14 Multicast Operations
1148
1165
6.14 Multicast Operations
1166
1149
6.14.1 Multicast TLP Processing
1150
1167
6.14.1 Multicast TLP Processing
1168
1151
6.14.2 Multicast Ordering
1255
1169
6.14.2 Multicast Ordering
1273
1256
6.27 Flattening Portal Bridge (FPB)
1257
1274
6.27 Flattening Portal Bridge (FPB)
1275
1258
6.27.1 Introduction
1259
1276
6.27.1 Introduction
1277
1260
6.27.2 Hardware and Software Requirements
1261
1278
6.27.2 Hardware and Software Requirements
1279
1262
1280
1263
6.28 Vital Product Data (VPD)
1264
1281
6.28 Vital Product Data (VPD)
1282
1283
6.28.1 VPD Format
1284
1285
6.28.2 VPD Definitions
1286
1287
6.28.2.1 VPD Large and Small Resource Data Tags
1288
1289
6.28.2.2 Read-Only Fields
1290
1291
6.28.2.3 Read/Write Fields
1292
1293
6.28.2.4 VPD Example
1294
1295
1296
1265
6.29 Native PCIe Enclosure Management
1266
1297
6.29 Native PCIe Enclosure Management
1298
1299
6.30 Conventional PCI Advanced Features Operation
1300
1267
1301
1268
7. Software Initialization and Configuration
1269
1302
7. Software Initialization and Configuration
1303
1270
7.1 Configuration Topology
1271
1304
7.1 Configuration Topology
1305
1272
7.2 PCI Express Configuration Mechanisms
1273
1306
7.2 PCI Express Configuration Mechanisms
1307
1274
7.2.1 PCI-compatible Configuration Mechanism
1275
1308
7.2.1 PCI-compatible Configuration Mechanism
1309
1276
7.2.2 PCI Express Enhanced Configuration Access
1310
Mechanism (ECAM)
1277
1278
1279
Page 8
7.2.2 PCI Express Enhanced Configuration Access
Mechanism (ECAM)
1311
7.2.2.1 Host Bridge Requirements
1312
1313
7.2.2.1 Host Bridge Requirements
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1279
1313
1280
7.2.2.2 PCI Express Device Requirements
1281
1314
7.2.2.2 PCI Express Device Requirements
1315
1282
1316
1283
7.2.3 Root Complex Register Block
1284
1317
7.2.3 Root Complex Register Block (RCRB)
1318
1285
1319
1286
7.3 Configuration Transaction Rules
1287
1320
7.3 Configuration Transaction Rules
1321
1288
7.3.1 Device Number
1289
1322
7.3.1 Device Number
1323
1290
7.3.2 Configuration Transaction Addressing
1291
1324
7.3.2 Configuration Transaction Addressing
1325
1292
7.3.3 Configuration Request Routing Rules
1293
1326
7.3.3 Configuration Request Routing Rules
1327
1328
1362
1329
7.5.1.1.13 Interrupt Pin Register (Offset 3Dh)
1330
1363
7.5.1.1.13 Interrupt Pin Register (Offset 3Dh)
1364
1331
7.5.1.1.14 Error Registers
1332
1365
7.5.1.1.14 Error Registers
1366
1333
1367
1334
7.5.1.2 Type 0 Configuration Space Header
1335
1368
7.5.1.2 Type 0 Configuration Space Header
1369
1336
7.5.1.2.1 Base Address Registers (Offset 10h -
1370
24h)
7.5.1.2.1 Base Address Registers (Offset 10h 24h)
1337
1371
1338
7.5.1.2.2 Cardbus CIS Pointer (Offset 28h)
1372
7.5.1.2.2 Cardbus CIS Pointer Register (Offset
28h)
1339
1340
1373
7.5.1.2.3 Subsystem Vendor ID register/
Subsystem ID register (Offset 2Ch/2Eh)
1341
1374
7.5.1.2.3 Subsystem Vendor ID Register/
Subsystem ID Register (Offset 2Ch/2Eh)
1375
1342
7.5.1.2.4 Expansion ROM Base Address Register
1376
(Offset 30h)
7.5.1.2.4 Expansion ROM Base Address Register
(Offset 30h)
1343
1377
1344
7.5.1.2.5 Min_Gnt Register/Max_Lat Register
1378
(Offset 3Eh/3Fh)
7.5.1.2.5 Min_Gnt Register/Max_Lat Register
(Offset 3Eh/3Fh)
1345
1379
1346
1380
1347
7.5.1.3 Type 1 Configuration Space Header
1348
1381
7.5.1.3 Type 1 Configuration Space Header
1382
1349
7.5.1.3.1 Base Address Registers (Offset
1383
10h-14h)
7.5.1.3.1 Type 1 Base Address Registers (Offset
10h-14h)
1350
1384
1351
7.5.1.3.2 Primary Bus Number Register (Offset
1385
18h)
7.5.1.3.2 Primary Bus Number Register (Offset
18h)
1352
1386
1353
7.5.1.3.3 Secondary Bus Number Register (Offset
1387
19h)
1354
Page 9
7.5.1.3.3 Secondary Bus Number Register (Offset
19h)
1388
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1354
1388
1355
7.5.1.3.4 Subordinate Bus Number Register
1389
(Offset 1Ah)
1356
1390
1357
7.5.1.3.5 Secondary Latency Timer (Offset 1Bh)
1358
1391
7.5.1.3.6 I/O Base/I/O Limit Registers(Offset
1393
1Ch/1Dh)
7.5.1.3.7 Secondary Status Register (Offset
1395
1Eh)
7.5.1.3.7 Secondary Status Register (Offset
1Eh)
1362
1396
1363
7.5.1.3.8 Memory Base Register/Memory Limit
1397
Register(Offset 20h/22h)
7.5.1.3.8 Memory Base Register/Memory Limit
Register(Offset 20h/22h)
1364
1398
7.5.1.3.9 Prefetchable Memory Base/Prefetchable
Memory Limit Registers (Offset 24h/26h)
1366
1399
7.5.1.3.9 Prefetchable Memory Base/Prefetchable
Memory Limit Registers (Offset 24h/26h)
1400
7.5.1.3.10 Prefetchable Base Upper 32 Bits/
Prefetchable Limit Upper 32 Bits Registers (Offset 28h/2Ch)
1368
1369
7.5.1.3.6 I/O Base/I/O Limit Registers(Offset
1Ch/1Dh)
1361
1367
7.5.1.3.5 Secondary Latency Timer (Offset 1Bh)
1392
1359
1365
7.5.1.3.4 Subordinate Bus Number Register
(Offset 1Ah)
1401
7.5.1.3.10 Prefetchable Base Upper 32 Bits/
Prefetchable Limit Upper 32 Bits Registers (Offset 28h/2Ch)
1402
7.5.1.3.11 I/O Base Upper 16 Bits/I/O Limit
Upper 16 Bits Registers (Offset 30h/32h)
1370
1403
7.5.1.3.11 I/O Base Upper 16 Bits/I/O Limit
Upper 16 Bits Registers (Offset 30h/32h)
1404
1371
7.5.1.3.12 Expansion ROM Base Address (Offset
1405
38h)
7.5.1.3.12 Expansion ROM Base Address Register
(Offset 38h)
1372
1406
1373
7.5.1.3.13 Bridge Control Register (Offset
1407
3Eh)
7.5.1.3.13 Bridge Control Register (Offset
3Eh)
1374
1408
1375
1409
1376
1410
1377
7.5.2 PCI Power Management Capability Structure
1378
1411
7.5.2 PCI Power Management Capability Structure
1412
1379
7.5.2.1 Power Management Capabilities Register
1413
(Offset 00h)
7.5.2.1 Power Management Capabilities Register
(Offset 00h)
1380
1414
1381
7.5.2.2 Power Management Control/Status Register
1415
(Offset 04h)
7.5.2.2 Power Management Control/Status Register
(Offset 04h)
1460
1494
1461
7.7.1.7 Mask Bits Register for MSI (Offset 0Ch or
1495
10h
7.7.1.7 Mask Bits Register for MSI (Offset 0Ch or
10h
1462
1496
1463
7.7.1.8 Pending Bits Register for MSI (Offset 10h
1497
or 14h)
7.7.1.8 Pending Bits Register for MSI (Offset 10h
or 14h)
1464
1498
1465
1499
1466
7.7.2 MSI-X Capability and Table Structure
1467
1500
7.7.2 MSI-X Capability and Table Structure
1501
1468
7.7.2.1 MSI-X Capability Header (Offset 00h)
1469
1502
7.7.2.1 MSI-X Capability Header (Offset 00h)
1503
1470
7.7.2.2 Message Control Register for MSI-X (Offset
04h)
Page 10
1504
7.7.2.2 Message Control Register for MSI-X (Offset
02h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1470
7.7.2.2 Message Control Register for MSI-X (Offset
1504
04h)
1471
1505
1472
7.7.2.3 Table Offset/Table BIR Register for MSI-X
1506
(Offset 04h)
1507
1474
7.7.2.4 PBA Offset/PBA BIR Register for MSI-X
1508
(Offset 08h)
7.7.2.4 PBA Offset/PBA BIR Register for MSI-X
(Offset 08h)
1475
1509
1476
7.7.2.5 Message Address Register for MSI-X Table
1510
Entries
7.7.2.5 Message Address Register for MSI-X Table
Entries
1477
1511
1478
7.7.2.6 Message Upper Address Register for MSI-X
1512
Table Entries
7.7.2.6 Message Upper Address Register for MSI-X
Table Entries
1479
1513
1480
7.7.2.7 Message Data Register for MSI-X Table
1514
Entries
7.7.2.7 Message Data Register for MSI-X Table
Entries
1515
7.7.5.4 16.0 GT/s Status Register (Offset 0Ch)
1516
1549
7.7.5.4 16.0 GT/s Status Register (Offset 0Ch)
1550
1517
7.7.5.5 16.0 GT/s Local Data Parity Mismatch Status
1551
Register (Offset 10h)
7.7.5.5 16.0 GT/s Local Data Parity Mismatch Status
Register (Offset 10h)
1518
1552
7.7.5.6 16.0 GT/s First Retimer Data Parity
Mismatch Status Register (Offset 14h)
1520
1521
7.7.2.3 Table Offset/Table BIR Register for MSI-X
(Offset 04h)
1473
1519
7.7.2.2 Message Control Register for MSI-X (Offset
02h)
1553
7.7.5.6 16.0 GT/s First Retimer Data Parity
Mismatch Status Register (Offset 14h)
1554
7.7.5.7 16.0 GT/s Second Retimer Data Parity
Mismatch Status Register (Offset 18h)
1522
1555
7.7.5.7 16.0 GT/s Second Retimer Data Parity
Mismatch Status Register (Offset 18h)
1556
1523
7.7.5.8 Physical Layer 16.0 GT/s Reserved (Offset
1557
1Ch)
7.7.5.8 Physical Layer 16.0 GT/s Reserved (Offset
1Ch)
1524
1558
1525
7.7.5.9 16.0 GT/s Lane Equalization Control
1559
Register (Offset 20h )
7.7.5.9 16.0 GT/s Lane Equalization Control
Register (Offsets 20h to 3Ch)
1560
1561
1562
7.7.6 Physical Layer 32.0 GT/s Extended Capability
1563
1564
7.7.6.1 Physical Layer 32.0 GT/s Extended
Capability Header (Offset 00h)
1565
1566
7.7.6.2 32.0 GT/s Capabilities Register (Offset
04h)
1567
1568
7.7.6.3 32.0 GT/s Control Register (Offset 08h)
1569
1570
1526
7.7.6.4 32.0 GT/s Status Register (Offset 0Ch)
1571
1572
7.7.6.5 Received Modified TS Data 1 Register
(Offset 10h)
1527
1573
1528
7.7.6 Lane Margining at the Receiver Extended
Capability
Page 11
1574
7.7.6.6 Received Modified TS Data 2 Register
(Offset 14h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1528
7.7.6 Lane Margining at the Receiver Extended
1574
Capability
1529
1530
7.7.6.6 Received Modified TS Data 2 Register
(Offset 14h)
1575
7.7.6.1 Lane Margining at the Receiver Extended
Capability Header (Offset 00h)
1531
1576
7.7.6.7 Transmitted Modified TS Data 1 Register
(Offset 18h)
1577
1532
7.7.6.2 Margining Port Capabilities Register
1578
(Offset 04h)
7.7.6.8 Transmitted Modified TS Data 2 Register
(Offset 1Ch)
1533
1579
1534
7.7.6.3 Margining Port Status Register (Offset
1580
06h)
7.7.6.9 32.0 GT/s Lane Equalization Control
Register (Offset 20h)
1535
1581
1536
7.7.6.4 Margining Lane Control Register (Offset
08h)
1537
1582
1538
7.7.6.5 Margining Lane Status Register (Offset
1583
0Ah)
7.7.7 Lane Margining at the Receiver Extended
Capability
1539
1584
1585
1540
7.7.7.1 Lane Margining at the Receiver Extended
Capability Header (Offset 00h)
1586
1541
7.7.7 ACS Extended Capability
1587
7.7.7.2 Margining Port Capabilities Register
(Offset 04h)
1542
1588
1543
7.7.7.1 ACS Extended Capability Header (Offset
1589
00h)
7.7.7.3 Margining Port Status Register (Offset
06h)
1544
1590
1545
7.7.7.2 ACS Capability Register (Offset 04h)
1591
7.7.7.4 Margining Lane Control Register (Offset
08h)
1546
1592
1547
7.7.7.3 ACS Control Register (Offset 06h)
1593
7.7.7.5 Margining Lane Status Register (Offset
0Ah)
1548
1594
1549
7.7.7.4 Egress Control Vector Register (Offset
1595
1596
08h)
7.7.8 ACS Extended Capability
1597
1598
7.7.8.1 ACS Extended Capability Header (Offset
00h)
1599
1600
7.7.8.2 ACS Capability Register (Offset 04h)
1601
1602
7.7.8.3 ACS Control Register (Offset 06h)
1603
1604
7.7.8.4 Egress Control Vector Register (Offset
08h)
1550
1605
1551
1606
1552
1553
1607
7.8 Common PCI and PCIe Capabilities
1554
1555
Page 12
1608
7.8 Common PCI and PCIe Capabilities
1609
7.8.1 Power Budgeting Extended Capability
1610
7.8.1 Power Budgeting Extended Capability
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1555
7.8.1 Power Budgeting Extended Capability
1556
1610
7.8.1 Power Budgeting Extended Capability
1611
1557
7.8.1.1 Power Budgeting Extended Capability Header
1612
(Offset 00h)
7.8.1.1 Power Budgeting Extended Capability Header
(Offset 00h)
1558
1613
1559
7.8.1.2 Power Budgeting Data Select Register
1614
(Offset 04h)
1575
7.8.1.2 Power Budgeting Data Select Register
(Offset 04h)
7.8.3 L1 PM Substates Extended Capability
1576
1630
7.8.3 L1 PM Substates Extended Capability
1631
1577
7.8.3.1 L1 PM Substates Extended Capability Header
1632
(Offset 00h)
7.8.3.1 L1 PM Substates Extended Capability Header
(Offset 00h)
1578
1633
1579
7.8.3.2 L1 PM Substates Capabilities Register
1634
(Offset 04h)
7.8.3.2 L1 PM Substates Capabilities Register
(Offset 04h)
1580
1635
1581
7.8.3.3 L1 PM Substates Control 1 Register (Offset
1636
08h)
7.8.3.3 L1 PM Substates Control 1 Register (Offset
08h)
1582
1637
1583
7.8.3.4 L1 PM Substates Control 2 Register (Offset
1638
0Ch)
7.8.3.4 L1 PM Substates Control 2 Register (Offset
0Ch)
1584
1639
1640
7.8.3.5 L1 PM Substates Status Register (Offset
10h)
1641
1585
1642
1586
7.8.4 Advanced Error Reporting Extended Capability
1587
1588
1643
7.8.4 Advanced Error Reporting Extended Capability
1644
7.8.4.1 Advanced Error Reporting Extended
Capability Header (Offset 00h)
1589
1645
7.8.4.1 Advanced Error Reporting Extended
Capability Header (Offset 00h)
1646
1590
7.8.4.2 Uncorrectable Error Status Register (Offset
1647
04h)
7.8.4.2 Uncorrectable Error Status Register (Offset
04h)
1591
1648
1592
7.8.4.3 Uncorrectable Error Mask Register (Offset
1649
08h)
7.8.4.3 Uncorrectable Error Mask Register (Offset
08h)
1593
1650
1594
7.8.4.4 Uncorrectable Error Severity Register
1651
(Offset 0Ch)
7.8.4.4 Uncorrectable Error Severity Register
(Offset 0Ch)
1603
1660
1604
7.8.4.9 Root Error Command Register (Offset 2Ch)
1605
1661
7.8.4.9 Root Error Command Register (Offset 2Ch)
1662
1606
7.8.4.10 Root Error Status Register (Offset 30h)
1607
1663
7.8.4.10 Root Error Status Register (Offset 30h)
1664
1608
7.8.4.11 Error Source Identification Register
1665
(Offset 34h)
1609
1610
1666
7.8.4.12 TLP Prefix Log Register (Offset 38h)
1611
1614
Page 13
1667
7.8.4.12 TLP Prefix Log Register (Offset 38h)
1668
1612
1613
7.8.4.11 Error Source Identification Register
(Offset 34h)
1669
7.8.5 Enhanced Allocation (EA) Capability Structure
1670
1671
7.8.5 Enhanced Allocation Capability Structure (EA)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1614
1671
1615
7.8.5.1 Enhanced Allocation Capability First DW
1672
(Offset 00h)
7.8.5.1 Enhanced Allocation Capability First DW
(Offset 00h)
1616
1673
1617
7.8.5.2 Enhanced Allocation Per-Entry Format
1674
7.8.5.2 Enhanced Allocation Capability Second DW
(Offset 04h)
1675
[Type 1 Functions Only]
1676
1677
7.8.5.3 Enhanced Allocation Per-Entry Format
(Offset 04h or 08h)
1618
1678
1619
1679
1620
7.8.6 Resizable BAR Extended Capability
1621
1680
1622
7.8.6.1 Resizable BAR Extended Capability Header
1682
(Offset 00h)
1683
1624
7.8.6.2 Resizable BAR Capability Register
1625
1684
7.8.6.2 Resizable BAR Capability Register
1685
1626
7.8.6.3 Resizable BAR Control Register
1627
1686
7.8.6.3 Resizable BAR Control Register
1687
1792
1852
1793
7.9.9.4 Root Complex Link Status Register (Offset
1853
0Ah)
7.9.9.4 Root Complex Link Status Register (Offset
0Ah)
1794
1854
1795
1855
7.9.10 Root Complex Event Collector Endpoint
Association Extended Capability
1797
1798
7.8.6.1 Resizable BAR Extended Capability Header
(Offset 00h)
1623
1796
7.8.6 Resizable BAR Extended Capability
1681
1856
7.9.10 Root Complex Event Collector Endpoint
Association Extended Capability
1857
7.9.10.1 Root Complex Event Collector Endpoint
Association Extended Capability Header (Offset 00h)
1799
1858
7.9.10.1 Root Complex Event Collector Endpoint
Association Extended Capability Header (Offset 00h)
1859
1800
7.9.10.2 Association Bitmap for RCiEPs (Offset
1860
04h)
7.9.10.2 Association Bitmap for RCiEPs (Offset
04h)
1801
1861
1862
7.9.10.3 RCEC Associated Bus Numbers Register
(Offset 08h)
1863
1802
1864
1803
7.9.11 Multicast Extended Capability
1804
1865
7.9.11 Multicast Extended Capability
1866
1805
7.9.11.1 Multicast Extended Capability Header
1867
(Offset 00h)
7.9.11.1 Multicast Extended Capability Header
(Offset 00h)
1806
1868
1807
7.9.11.2 Multicast Capability Register (Offset
1869
04h)
1808
1809
1870
7.9.11.3 Multicast Control Register (Offset 06h)
1810
1811
1896
Page 14
7.9.11.2 Multicast Capability Register (Offset
04h)
1871
7.9.11.3 Multicast Control Register (Offset 06h)
1872
7.9.11.4 MC_Base_Address Register (Offset 08h)
1873
1958
7.9.11.4 MC_Base_Address Register (Offset 08h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1896
1897
1958
7.9.17.1 Readiness Time Reporting Extended
Capability Header (Offset 00h)
1898
1959
7.9.17.1 Readiness Time Reporting Extended
Capability Header (Offset 00h)
1960
1899
7.9.17.2 Readiness Time Reporting 1 Register
1961
(Offset 04h)
7.9.17.2 Readiness Time Reporting 1 Register
(Offset 04h)
1900
1962
1901
7.9.17.3 Readiness Time Reporting 2 Register
1963
(Offset 08h)
7.9.17.3 Readiness Time Reporting 2 Register
(Offset 08h)
1902
1964
1903
1965
1904
7.9.18 Hierarchy ID Extended Capability
1905
1966
7.9.18 Hierarchy ID Extended Capability
1967
1906
7.9.18.1 Hierarchy ID Extended Capability Header
1968
7.9.18.1 Hierarchy ID Extended Capability Header
(Offset 00h)
1907
1969
1908
7.9.18.2 Hierarchy ID Status Register
1909
7.9.18.2 Hierarchy ID Status Register (Offset 04h)
1971
1910
7.9.18.3 Hierarchy ID Data Register
1911
1972
7.9.18.3 Hierarchy ID Data Register (Offset 08h)
1973
1912
7.9.18.4 Hierarchy ID GUID 1 Register
1913
1974
7.9.18.4 Hierarchy ID GUID 1 Register (Offset 0Ch)
1975
1914
7.9.18.5 Hierarchy ID GUID 2 Register
1915
1976
7.9.18.5 Hierarchy ID GUID 2 Register (Offset 10h)
1977
1916
7.9.18.6 Hierarchy ID GUID 3 Register
1917
1978
7.9.18.6 Hierarchy ID GUID 3 Register (Offset 14h)
1979
1918
7.9.18.7 Hierarchy ID GUID 4 Register
1919
1980
7.9.18.7 Hierarchy ID GUID 4 Register (Offset 18h)
1981
1920
7.9.18.8 Hierarchy ID GUID 5 Register
1921
1982
7.9.18.8 Hierarchy ID GUID 5 Register (Offset 1Ch)
1983
1922
1984
1923
7.9.19 Vital Product Data Capability (VPD Capability)
1924
1985
7.9.19 Vital Product Data Capability (VPD Capability)
1986
1925
7.9.19.1 VPD Address Register
1926
1987
7.9.19.1 VPD Address Register
1988
1927
7.9.19.2 VPD Data Register
1928
1989
7.9.19.2 VPD Data Register
1990
1929
1930
1970
1991
7.9.20 Native PCIe Enclosure Management Extended
Capability (NPEM Extended Capability)
1931
1992
7.9.20 Native PCIe Enclosure Management Extended
Capability (NPEM Extended Capability)
1993
1932
7.9.20.1 NPEM Extended Capability Header (Offset
1994
00h)
1933
1934
1995
7.9.20.2 NPEM Capability Register (Offset 04h)
1935
1936
1996
7.9.20.3 NPEM Control Register (Offset 08h)
1998
7.9.20.3 NPEM Control Register (Offset 08h)
1999
7.9.20.4 NPEM Status Register (Offset 0Ch)
2000
1939
2001
1940
2002
Page 15
7.9.20.2 NPEM Capability Register (Offset 04h)
1997
1937
1938
7.9.20.1 NPEM Extended Capability Header (Offset
00h)
7.9.20.4 NPEM Status Register (Offset 0Ch)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1940
2002
2003
7.9.21 Alternate Protocol Extended Capability
2004
2005
7.9.21.1 Alternate Protocol Extended Capability
Header (Offset 00h)
2006
2007
7.9.21.2 Alternate Protocol Capabilities Register
(Offset 04h)
2008
2009
7.9.21.3 Alternate Protocol Control Register
(Offset 08h)
2010
2011
7.9.21.4 Alternate Protocol Data 1 Register (Offset
0Ch)
2012
2013
7.9.21.5 Alternate Protocol Data 2 Register (Offset
10h)
2014
2015
7.9.21.6 Alternate Protocol Selective Enable Mask
Register (Offset 14h)
2016
2017
2018
7.9.22 Conventional PCI Advanced Features Capability
(AF)
2019
2020
7.9.22.1 Advanced Features Capability Header
(Offset 00h)
2021
2022
7.9.22.2 AF Capabilities Register (Offset 03h)
2023
2024
7.9.22.3 Conventional PCI Advanced Features Control
Register (Offset 04h)
2025
2026
7.9.22.4 AF Status Register (Offset 05h)
2027
2028
2029
7.9.23 SFI Extended Capability
2030
2031
7.9.23.1 SFI Extended Capability Header (Offset
00h)
2032
2033
7.9.23.2 SFI Capability Register (Offset 04h)
2034
2035
7.9.23.3 SFI Control Register (Offset 06h)
2036
2037
7.9.23.4 SFI Status Register (Offset 08h)
2038
2039
7.9.23.5 SFI CAM Address Register (Offset 0Ch)
2040
2041
2042
Page 16
7.9.23.6 SFI CAM Data Register (Offset 10h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2042
2043
2044
7.9.24 Subsystem ID and Sybsystem Vendor ID Capability
2045
1941
2046
1942
2047
1943
8. Electrical Sub-Block
1944
2048
8. Electrical Sub-Block
2049
1945
8.1 Electrical Specification Introduction
1946
2050
8.1 Electrical Specification Introduction
2051
1947
8.2 Interoperability Criteria
1948
2052
8.2 Interoperability Criteria
2053
1949
8.2.1 Data Rates
1950
2054
8.2.1 Data Rates
2055
1957
2062
1958
8.3.1.1 Breakout and Replica Channels
1959
2063
8.3.1.1 Breakout and Replica Channels
2064
1960
2065
1961
8.3.2 Voltage Level Definitions
1962
2066
8.3.2 Voltage Level Definitions
2067
1963
8.3.3 Tx Voltage Parameters
1964
2068
8.3.3 Tx Voltage Parameters
2069
1965
8.3.3.1 2.5 and 5.0 GT/s Transmitter Equalization
1966
2070
8.3.3.1 2.5 and 5.0 GT/s Transmitter Equalization
2071
1967
8.3.3.2 8.0 and 16.0 GT/s Transmitter Equalization
2072
8.3.3.2 8.0, 16.0, and 32.0 GT/s Transmitter
Equalization
1968
2073
1969
8.3.3.3 Tx Equalization Presets
1970
2074
8.3.3.3 Tx Equalization Presets
2075
1971
8.3.3.4 Measuring Tx Equalization for 2.5 GT/s and
2076
5.0 GT/s
8.3.3.4 Measuring Tx Equalization for 2.5 GT/s and
5.0 GT/s
1972
2077
1973
8.3.3.5 Measuring Presets at 8.0 GT/s and 16.0 GT/s
2078
8.3.3.5 Measuring Presets at 8.0 GT/s, 16.0 GT/s,
and 32.0 GT/s
1974
2079
1975
8.3.3.6 Method for Measuring VTX-DIFF-PP at 2.5 GT/
2080
s and 5.0 GT/s
8.3.3.6 Method for Measuring VTX-DIFF-PP at 2.5 GT/
s and 5.0 GT/s
1976
2081
1977
8.3.3.7 Method for Measuring VTX-DIFF-PP at 8.0 GT/
2082
s and 16.0 GT/s
1978
8.3.3.7 Method for Measuring VTX-DIFF-PP at 8.0 GT/
s, 16.0 GT/s, and 32.0 GT/s
2083
1979
8.3.3.8 Coefficient Range and Tolerance
1980
2084
8.3.3.8 Coefficient Range and Tolerance
2085
1981
8.3.3.9 EIEOS and VTX-EIEOS-FS and VTX-EIEOS-RS
2086
Limits
8.3.3.9 EIEOS and VTX-EIEOS-FS and VTX-EIEOS-RS
Limits
1982
2087
1983
8.3.3.10 Reduced Swing Signaling
1984
2088
8.3.3.10 Reduced Swing Signaling
2089
1985
8.3.3.11 Effective Tx Package Loss at 8.0 GT/s and
2090
16.0 GT/s
1986
Page 17
2091
8.3.3.11 Effective Tx Package Loss at 8.0 GT/s,
16.0 GT/s and 32.0 GT/s
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
1986
2091
1987
2092
1988
8.3.4 Transmitter Margining
1989
2093
8.3.4 Transmitter Margining
2094
1990
8.3.5 Tx Jitter Parameters
1991
2095
8.3.5 Tx Jitter Parameters
2096
1992
8.3.5.1 Post Processing Steps to Extract Jitter
1993
2097
8.3.5.1 Post Processing Steps to Extract Jitter
2098
1994
8.3.5.2 Applying CTLE or De-embedding
2099
1995
2100
2011
2116
2012
8.3.5.2 Applying CTLE or De-embedding
2117
2013
8.3.6 Data Rate Dependent Parameters
2014
2118
8.3.6 Data Rate Dependent Parameters
2119
2015
8.3.7 Tx and Rx Return Loss
2016
2120
8.3.7 Tx and Rx Return Loss
2121
2017
8.3.8 Transmitter PLL Bandwidth and Peaking
2018
2122
8.3.8 Transmitter PLL Bandwidth and Peaking
2123
2019
8.3.8.1 2.5 GT/s and 5.0 GT/s Tx PLL Bandwidth and
2124
Peaking
8.3.8.1 2.5 GT/s and 5.0 GT/s Tx PLL Bandwidth and
Peaking
2020
2125
2021
8.3.8.2 8.0 GT/s and 16.0 GT/s Tx PLL Bandwidth and
2126
Peaking
8.3.8.2 8.0 GT/s, 16.0 GT/s and 32.0 GT/s Tx PLL
Bandwidth and Peaking
2022
2127
2023
8.3.8.3 Series Capacitors
2024
2128
8.3.8.3 Series Capacitors
2129
2025
2130
2026
8.3.9 Data Rate Independent Tx Parameters
2027
2131
8.3.9 Data Rate Independent Tx Parameters
2132
2028
2133
2029
8.4 Receiver Specifications
2030
2134
8.4 Receiver Specifications
2135
2031
8.4.1 Receiver Stressed Eye Specification
2035
8.4.1.2 Calibration Channel Insertion Loss
2136
8.4.1 Receiver Stressed Eye Specification
2140
Characteristics
8.4.1.2 Calibration Channel Insertion Loss
Characteristics
2036
2141
2037
8.4.1.3 Post Processing Procedures
2038
2142
8.4.1.3 Post Processing Procedures
2143
2039
8.4.1.4 Behavioral Rx Package Models
2040
2144
8.4.1.4 Behavioral Rx Package Models
2145
2041
8.4.1.5 Behavioral CDR Model
2042
2146
8.4.1.5 Behavioral CDR Model
2147
2043
8.4.1.6 No Behavioral Rx Equalization for 2.5 and
2148
5.0 GT/s
8.4.1.6 No Behavioral Rx Equalization for 2.5 and
5.0 GT/s
2044
2149
2045
8.4.1.7 Behavioral Rx Equalization for 8.0 and 16.0
2150
GT/s
8.4.1.7 Behavioral Rx Equalization for 8.0, 16.0,
and 32.0 GT/s
2151
2152
2046
2047
Page 18
8.4.1.8 Behavioral CTLE (8.0 and 16.0 GT/s)
2153
8.4.1.8 Behavioral CTLE (8.0 and 16.0 GT/s Only)
2154
8.4.1.9 Behavioral CTLE (32.0 GT/s )
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2047
8.4.1.8 Behavioral CTLE (8.0 and 16.0 GT/s Only)
2048
2154
8.4.1.9 Behavioral CTLE (32.0 GT/s )
2155
2049
8.4.1.9 Behavioral DFE (8.0 and 16.0 GT/s Only)
2156
8.4.1.10 Behavioral DFE (8.0, 16.0, and 32.0 GT/s
Only)
2050
2157
2051
2158
2052
8.4.2 Stressed Eye Test
2053
2159
8.4.2 Stressed Eye Test
2160
2054
8.4.2.1 Procedure for Calibrating a Stressed EH/EW
2161
Eye
8.4.2.1 Procedure for Calibrating a Stressed EH/EW
Eye
2055
2162
2056
8.4.2.1.1 Post Processing Tool Requirements
2057
2163
8.4.2.1.1 Post Processing Tool Requirements
2164
2058
2165
2059
8.4.2.2 Procedure for Testing Rx DUT
2112
2166
8.4.2.2 Procedure for Testing Rx DUT
2219
2113
8.5.1.3.3 Simulation Tool Outputs
2114
2220
8.5.1.3.3 Simulation Tool Outputs
2221
2115
8.5.1.3.4 Open Source Simulation Tool
2116
2222
8.5.1.3.4 Open Source Simulation Tool
2223
2117
2224
2118
8.5.1.4 Behavioral Transmitter Parameters
2119
2225
8.5.1.4 Behavioral Transmitter Parameters
2226
2120
8.5.1.4.1 Deriving Voltage and Jitter
2227
Parameters
8.5.1.4.1 Deriving Voltage and Jitter
Parameters
2121
2228
2229
2122
8.5.1.4.2 Optimizing Tx/Rx Equalization (8.0
GT/s, 16.0 GT/s and 32.0 GT/s only)
2230
2123
8.5.1.5 Optimizing Tx/Rx Equalization (8.0 GT/s and
2231
8.5.1.4.3 Pass/Fail Eye Characteristics
16.0 GT/s only)
2124
2125
2232
8.5.1.6 Pass/Fail Eye Characteristics
2233
8.5.1.4.4 Characterizing Channel Common Mode
Noise
2126
2127
2234
8.5.1.7 Characterizing Channel Common Mode Noise
2128
2129
2235
8.5.1.8 Verifying VCH-IDLE-DET-DIFFp-p
2130
2237
2131
2238
2132
2133
2239
8.6 Refclk Specifications
2134
2135
8.6.1 Refclk Test Setup
2242
8.6.2 REFCLK AC Specifications
2244
8.6.1 Refclk Test Setup
8.6.2 REFCLK AC Specifications
2245
8.6.3 Data Rate Independent Refclk Parameters
2246
2158
2265
2159
2266
Page 19
8.6 Refclk Specifications
2243
2138
2139
2240
2241
2136
2137
8.5.1.4.5 Verifying VCH-IDLE-DET-DIFF-pp
2236
8.6.3 Data Rate Independent Refclk Parameters
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2159
2266
2160
8.6.7 Jitter Limits for Refclk Architectures
2161
2267
8.6.7 Jitter Limits for Refclk Architectures
2268
2162
8.6.8 Form Factor Requirements for RefClock
2269
Architectures
2163
2270
2164
2271
2165
2166
2272
9. Single Root I/O Virtualization and Sharing
2167
2168
8.6.8 Form Factor Requirements for RefClock
Architectures
2273
9. Single Root I/O Virtualization and Sharing
2274
9.1 Architectural Overview
2275
9.1 SR-IOV Architectural Overview
2276
2277
9.1.1 PCI Technologies Interoperability
2278
2279
2280
9.2 SR-IOV Initialization and Resource Allocation
2281
2282
9.2.1 SR-IOV Resource Discovery
2283
2284
9.2.1.1 Configuring SR-IOV Capabilities
2285
2286
9.2.1.1.1 Configuring the VF BAR Mechanisms
2287
2288
2289
9.2.1.2 VF Discovery
2290
2291
9.2.1.3 Function Dependency Lists
2292
2293
9.2.1.4 Interrupt Resource Allocation
2294
2295
2296
9.2.2 SR-IOV Reset Mechanisms
2297
2298
9.2.2.1 SR-IOV Conventional Reset
2299
2300
9.2.2.2 FLR That Targets a VF
2301
2302
9.2.2.3 FLR That Targets a PF
2303
2304
2305
9.2.3 IOV Re-initialization and Reallocation
2306
2307
9.2.4 VF Migration
2308
2309
9.2.4.1 Initial VF State
2310
2311
9.2.4.2 VF Migration State Transitions
2312
2313
2314
2315
2316
Page 20
9.3 Configuration
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2316
2317
9.3.1 SR-IOV Configuration Overview
2318
2319
9.3.2 Configuration Space
2320
2321
9.3.3 SR-IOV Extended Capability
2322
2323
9.3.3.1 SR-IOV Extended Capability Header (Offset
00h)
2324
2325
9.3.3.2 SR-IOV Capabilities Register (04h)
2326
2327
9.3.3.2.1 VF Migration Capable
2328
2329
9.3.3.2.2 ARI Capable Hierarchy Preserved
2330
2331
9.3.3.2.3 VF 10-Bit Tag Requester Supported
2332
2333
9.3.3.2.4 VF Migration Interrupt Message
Number
2334
2335
2336
9.3.3.3 SR-IOV Control Register (Offset 08h)
2337
2338
9.3.3.3.1 VF Enable
2339
2340
9.3.3.3.2 VF Migration Enable
2341
2342
9.3.3.3.3 VF Migration Interrupt Enable
2343
2344
9.3.3.3.4 VF MSE (Memory Space Enable)
2345
2346
9.3.3.3.5 ARI Capable Hierarchy
2347
2348
2349
9.3.3.4 SR-IOV Status Register (Offset 0Ah)
2350
2351
9.3.3.4.1 VF Migration Status
2352
2353
2354
9.3.3.5 InitialVFs (Offset 0Ch)
2355
2356
9.3.3.6 TotalVFs (Offset 0Eh)
2357
2358
9.3.3.7 NumVFs (Offset 10h)
2359
2360
9.3.3.8 Function Dependency Link (Offset 12h)
2361
2362
9.3.3.9 First VF Offset (Offset 14h)
2363
2364
Page 21
9.3.3.10 VF Stride (Offset 16h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2364
9.3.3.10 VF Stride (Offset 16h)
2365
2366
9.3.3.11 VF Device ID (Offset 1Ah)
2367
2368
9.3.3.12 Supported Page Sizes (Offset 1Ch)
2369
2370
9.3.3.13 System Page Size (Offset 20h)
2371
2372
9.3.3.14 VF BAR0 (Offset 24h), VF BAR1 (Offset
28h), VF BAR2 (Offset 2Ch), VF BAR3 (Offset 30h), VF BAR4 (Offset 34h),
VF BAR5 (Offset 38h)
2373
2374
9.3.3.15 VF Migration State Array Offset (Offset
3Ch)
2375
2376
9.3.3.15.1 VF Migration State Array
2377
2378
2379
2380
9.3.4 PF/VF Configuration Space Header
2381
2382
9.3.4.1 PF/VF Type 0 Configuration Space Header
2383
2384
9.3.4.1.1 Vendor ID Register Changes (Offset
00h)
2385
2386
9.3.4.1.2 Device ID Register Changes (Offset
02h)
2387
2388
9.3.4.1.3 Command Register Changes (Offset
04h)
2389
2390
9.3.4.1.4 Status Register Changes (Offset 06h)
2391
2392
9.3.4.1.5 Revision ID Register Changes (Offset
08h)
2393
2394
9.3.4.1.6 Class Code Register Changes (Offset
09h)
2395
2396
9.3.4.1.7 Cache Line Size Register Changes
(Offset 0Ch)
2397
2398
9.3.4.1.8 Latency Timer Register Changes
(Offset 0Dh)
2399
2400
9.3.4.1.9 Header Type Register Changes (Offset
0Eh)
2401
2402
2403
Page 22
9.3.4.1.10 BIST Register Changes (Offset 0Fh)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2403
2404
9.3.4.1.11 Base Address Registers Register
Changes (Offset 10h, 14h, … 24h)
2405
2406
9.3.4.1.12 Cardbus CIS Pointer Register Changes
(Offset 28h)
2407
2408
9.3.4.1.13 Subsystem Vendor ID Register Changes
(Offset 2Ch)
2409
2410
9.3.4.1.14 Subsystem ID Register Changes
(Offset 2Eh)
2411
2412
9.3.4.1.15 Expansion ROM Base Address Register
Register Changes (Offset 30h)
2413
2414
9.3.4.1.16 Capabilities Pointer Register
Changes (Offset 34h)
2415
2416
9.3.4.1.17 Interrupt Line Register Changes
(Offset 3Ch)
2417
2418
9.3.4.1.18 Interrupt Pin Register Changes
(Offset 3Dh)
2419
2420
9.3.4.1.19 Min_Gnt Register/Max_Lat Register
Changes (Offset 3Eh/3Fh)
2421
2422
2423
2424
9.3.5 PCI Express Capability Changes
2425
2426
9.3.5.1 PCI Express Capabilities Register Changes
(Offset 00h)
2427
2428
9.3.5.2 PCI Express Capabilities Register Changes
(Offset 02h)
2429
2430
9.3.5.3 Device Capabilities Register Changes
(Offset 04h)
2431
2432
9.3.5.4 Device Control Register Changes (Offset
08h)
2433
2434
9.3.5.5 Device Status Register Changes (Offset
0Ah)
2435
2436
9.3.5.6 Link Capabilities Register Changes (Offset
0Ch)
2437
2438
Page 23
9.3.5.7 Link Control Register Changes (Offset 10h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2438
9.3.5.7 Link Control Register Changes (Offset 10h)
2439
2440
9.3.5.8 Link Status Register Changes (Offset 12h)
2441
2442
9.3.5.9 Device Capabilities 2 Register Changes
(Offset 24h)
2443
2444
9.3.5.10 Device Control 2 Register Changes (Offset
28h)
2445
2446
9.3.5.11 Device Status 2 Register Changes (Offset
2Ah)
2447
2448
9.3.5.12 Link Capabilities 2 Register Changes
(Offset 2Ch)
2449
2450
9.3.5.13 Link Control 2 Register Changes (Offset
30h)
2451
2452
9.3.5.14 Link Status 2 Register Changes (Offset
32h)
2453
2454
2455
9.3.6 PCI Standard Capabilities
2456
2457
9.3.6.1 VPD Capability
2458
2459
2460
9.3.7 PCI Express Extended Capabilities Changes
2461
2462
9.3.7.1 Virtual Channel/MFVC
2463
2464
9.3.7.2 Device Serial Number
2465
2466
9.3.7.3 Power Budgeting
2467
2468
9.3.7.4 Resizable BAR
2469
2470
9.3.7.5 VF Resizable BAR Extended Capability
2471
2472
9.3.7.5.1 VF Resizable BAR Extended Capability
Header (Offset 00h)
2473
2474
9.3.7.5.2 VF Resizable BAR Capability Register
(Offset 04h)
2475
2476
9.3.7.5.3 VF Resizable BAR Control Register
(Offset 08h)
2477
2478
2479
Page 24
9.3.7.6 Access Control Services (ACS) Extended
Capability Changes
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2479
9.3.7.6 Access Control Services (ACS) Extended
Capability Changes
2480
2481
9.3.7.7 Alternative Routing ID Interpretation
Extended Capability (ARI) Changes
2482
2483
9.3.7.8 Address Translation Services Extended
Capability Changes (ATS)
2484
2485
9.3.7.9 MR-IOV Changes
2486
2487
9.3.7.10 Multicast Changes
2488
2489
9.3.7.11 Page Request Interface Changes (PRI)
2490
2491
9.3.7.12 Dynamic Power Allocation Changes (DPA)
2492
2493
9.3.7.13 TPH Requester Changes (TPH)
2494
2495
9.3.7.14 PASID Changes
2496
2497
9.3.7.15 Readiness Time Reporting Extended
Capability Changes
2498
2499
2500
2501
9.4 SR-IOV Error Handling
2502
2503
9.4.1 Baseline Error Reporting
2504
2505
9.4.2 Advanced Error Reporting
2506
2507
9.4.2.1 VF Header Log
2508
2509
9.4.2.2 Advanced Error Reporting Capability
Changes
2510
2511
9.4.2.3 Advanced Error Reporting Extended
Capability Header Changes (Offset 00h)
2512
2513
9.4.2.4 Uncorrectable Error Status Register Changes
(Offset 04h)
2514
2515
9.4.2.5 Uncorrectable Error Mask Register Changes
(Offset 08h)
2516
2517
9.4.2.6 Uncorrectable Error Severity Register
Changes (Offset 0Ch)
2518
2519
9.4.2.7 Correctable Error Status Register Changes
(Offset 10h)
Page 25
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2519
9.4.2.7 Correctable Error Status Register Changes
(Offset 10h)
2520
2521
9.4.2.8 Correctable Error Mask Register Changes
(Offset 14h)
2522
2523
9.4.2.9 Advanced Error Capabilities and Control
Register Changes (Offset 18h)
2524
2525
9.4.2.10 Header Log Register Changes (Offset 1Ch)
2526
2527
9.4.2.11 Root Error Command Register Changes
(Offset 2Ch)
2528
2529
9.4.2.12 Root Error Status Register Changes (Offset
30h)
2530
2531
9.4.2.13 Error Source Identification Register
Changes (Offset 34h)
2532
2533
9.4.2.14 TLP Prefix Log Register Changes (Offset
38h)
2534
2535
2536
2537
9.5 SR-IOV Interrupts
2538
2539
9.5.1 Interrupt Mechanisms
2540
2541
9.5.1.1 MSI Interrupts
2542
2543
9.5.1.2 MSI-X Interrupts
2544
2545
9.5.1.3 Address Range Isolation
2546
2547
2548
2549
9.6 SR-IOV Power Management
2550
2551
9.6.1 VF Device Power Management States
2552
2553
9.6.2 PF Device Power Management States
2554
2555
9.6.3 Link Power Management State
2556
2557
9.6.4 VF Power Management Capability
2558
2559
9.6.5 VF EmergencyPower Reduction State
2560
2169
2561
2170
2171
Page 26
2562
10. ATS Specification
2563
10. ATS Specification
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2171
10. ATS Specification
2172
2173
10.1 Architectural Overview
10.1.1 Address Translation Services (ATS) Overview
10.1.2 Page Request Interface Extension
10.1.3 Process Address Space ID (PASID)
10.2.2.1 Attribute Field
10.2.2.2 Length Field
10.2.2.3 Tag Field
10.2.2.4 Untranslated Address Field
10.2.2.5 No Write (NW) Flag
10.2.2.6 PASID TLP Prefix
10.2.3.1 Translated Address Field
10.2.3.2 Translation Range Size (S) Field
10.2.3.3 Non-snooped (N) Field
10.2.2.4 Untranslated Address Field
2588
10.2.2.5 No Write (NW) Flag
2590
10.2.2.6 PASID TLP Prefix on Translation Request
2593
10.2.3 Translation Completion
2595
10.2.3.1 Translated Address Field
2597
10.2.3.2 Translation Range Size (S) Field
2599
10.2.3.3 Non-snooped (N) Field
2630
10.3.8 PASID TLP Prefix and Global Invalidate
2240
2631
10.3.8 PASID TLP Prefix and Global Invalidate
2632
2241
2633
10.4 Page Request Services
2243
2634
10.4 Page Request Services
2635
10.4.1 Page Request Message
2245
2636
10.4.1 Page Request Message
2637
10.4.1.1 PASID TLP Prefix Usage
2247
2248
2586
2600
2238
2246
10.2.2.3 Tag Field
2598
2208
2244
2584
2596
2206
2242
10.2.2.2 Length Field
2594
2204
2239
2582
2592
10.2.3 Translation Completion
2202
2207
10.2.2.1 Attribute Field
2591
2200
2205
2580
2589
2199
2203
10.2 ATS Translation Services
2587
2197
2201
2574
2585
2195
2198
10.1.3 Process Address Space ID (PASID)
2583
2193
2196
2571
2581
2191
2194
10.1.2 Page Request Interface Extension
2575
2189
2192
2569
2573
10.2 ATS Translation Services
2183
2190
10.1.1 Address Translation Services (ATS) Overview
2572
2181
2188
2567
2570
2180
2182
10.1 ATS Architectural Overview
2568
2178
2179
2565
2566
2176
2177
10. ATS Specification
2564
2174
2175
2563
2638
10.4.1.1 PASID TLP Prefix Usage
2639
10.4.1.2 Managing PASID TLP Prefix Usage
2640
10.4.1.2 Managing PASID TLP Prefix Usage on PRG
Requests
2249
2250
2641
10.4.1.2.1 Stop Marker Messages
2642
2251
2643
2252
2644
2253
2645
Page 27
10.4.1.2.1 Stop Marker Messages
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2253
2645
2254
10.4.2 Page Request Group Response Message
2255
2646
10.4.2 Page Request Group Response Message
2647
2256
10.4.2.1 Response Code Field
2257
2648
10.4.2.1 Response Code Field
2649
2258
10.4.2.2 PASID TLP Prefix Usage
2650
2259
2651
2260
2652
2261
10.4.2.2 PASID TLP Prefix Usage on PRG Responses
2653
2262
10.5 ATS Configuration
2263
2654
10.5 ATS Configuration
2655
2264
10.5.1 ATS Extended Capability
2265
2656
10.5.1 ATS Extended Capability
2657
2266
10.5.1.1 ATS Extended Capability Header
2658
10.5.1.1 ATS Extended Capability Header (Offset
00h)
2267
2659
2268
10.5.1.2 ATS Capability Register
2269
2660
10.5.1.2 ATS Capability Register (Offset 04h)
2661
2270
10.5.1.3 ATS Control Register
2271
2662
10.5.1.3 ATS Control Register (Offset 06h)
2663
2272
2664
2273
10.5.2 Page Request Extended Capability Structure
2274
2665
10.5.2 Page Request Extended Capability Structure
2666
2275
10.5.2.1 Page Request Extended Capability Header
2667
10.5.2.1 Page Request Extended Capability Header
(Offset 00h)
2276
2668
2277
10.5.2.2 Page Request Control Register ( 04h)
2669
10.5.2.2 Page Request Control Register (Offset
04h)
2278
2670
2279
10.5.2.3 Page Request Status Register ( 06h)
2280
2671
10.5.2.3 Page Request Status Register (Offset 06h)
2672
2281
10.5.2.4 Outstanding Page Request Capacity ( 08h)
2673
10.5.2.4 Outstanding Page Request Capacity (Offset
08h)
2282
2674
2283
10.5.2.5 Outstanding Page Request Allocation ( 0Ch)
2675
10.5.2.5 Outstanding Page Request Allocation
(Offset 0Ch)
2284
2676
2285
2677
2286
2678
2287
2679
2288
A. Isochronous Applications
2289
2680
2290
A.1 Introduction
2291
2682
A.1 Introduction
2683
2292
A.2 Isochronous Contract and Contract Parameters
2684
2293
2685
2407
2799
2408
2800
2409
2410
A. Isochronous Applications
2681
A.2 Isochronous Contract and Contract Parameters
2801
H. Flow Control Update Latency and ACK Update Latency
Calculations
Page 28
2802
H. Flow Control Update Latency and ACK Update Latency
Calculations
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2410
H. Flow Control Update Latency and ACK Update Latency
2802
Calculations
2411
H. Flow Control Update Latency and ACK Update Latency
Calculations
2803
2412
H.1 Flow Control Update Latency
2413
2804
H.1 Flow Control Update Latency
2805
2414
H.2 Ack Latency
2806
2415
2807
2416
2808
H.2 Ack Latency
2809
I. Async Hot-Plug Reference Model
2810
2811
I.1 Async Hot-Plug Initial Configuration
2812
2813
I.2 Async Removal Configuration and Interrupt Handling
2814
2815
I.3 Async Hot-Add Configuration and Interrupt Handling
2816
2817
2417
2818
2418
2819
2419
2820
2420
2821
2421
Table of Figures
2422
2822
Table of Figures
2823
2423
2824
2424
Figure 1-1 PCI Express Link
2425
2825
Figure 1-1 PCI Express Link
2826
2426
Figure 1-2 Example PCI Express Topology
2827
Figure 1-2 Example PCI Express Topology
2440
Figure 2-4 Fields Present in All TLPs
2841
Figure 2-4 Fields Present in All TLPs
2441
2842
2442
Figure 2-5 Fields Present in All TLP Headers
2443
2843
Figure 2-5 Fields Present in All TLP Headers
2844
2444
Figure 2-6 Examples of Completer Target Memory Access for
2845
FetchAdd
2445
2446
2846
Figure 2-7 64-bit Address Routing
2447
2448
2847
Figure 2-7 64-bit Address Routing
2848
Figure 2-8 32-bit Address Routing
2449
2450
Figure 2-6 Examples of Completer Target Memory Access for
FetchAdd
2849
Figure 2-8 32-bit Address Routing
2850
Figure 2-9 ID Routing with 4 DW Header
2851
Figure 2-9 Non-ARI ID Routing with 4 DW Header
2852
2853
Figure 2-10 ARI ID Routing with 4 DW Header
2854
2855
Figure 2-11 Non-ARI ID Routing with 3 DW Header
2856
2857
2451
2452
Figure 2-10 ID Routing with 3 DW Header
2453
2454
2457
Page 29
2859
Figure 2-13 Location of Byte Enables in TLP Header
2860
Figure 2-11 Location of Byte Enables in TLP Header
2455
2456
Figure 2-12 ARI ID Routing with 3 DW Header
2858
2861
Figure 2-14 Transaction Descriptor
2862
Figure 2-12 Transaction Descriptor
2863
2864
Figure 2-15 Transaction ID
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2457
2864
2458
Figure 2-13 Transaction ID
2459
2865
Figure 2-16 Attributes Field of Transaction Descriptor
2866
2460
Figure 2-14 Attributes Field of Transaction Descriptor
2867
Figure 2-17 Request Header Format for 64-bit Addressing of
Memory
2461
2868
2462
Figure 2-15 Request Header Format for 64-bit Addressing of
2869
Memory
Figure 2-18 Request Header Format for 32-bit Addressing of
Memory
2463
2870
2464
Figure 2-16 Request Header Format for 32-bit Addressing of
2871
Figure 2-19 Request Header Format for I/O Transactions
Memory
2465
2872
2466
Figure 2-17 Request Header Format for I/O Transactions
2467
2468
2873
Figure 2-20 Request Header Format for Configuration
Transactions
2874
Figure 2-18 Request Header Format for Configuration
Transactions
2469
2875
Figure 2-21 TPH TLP Prefix
2876
2470
Figure 2-19 TPH TLP Prefix
2471
2877
Figure 2-22 Location of PH[1:0] in a 4 DW Request Header
2878
2472
Figure 2-20 Location of PH[1:0] in a 4 DW Request Header
2473
2879
Figure 2-23 Location of PH[1:0] in a 3 DW Request Header
2880
2474
Figure 2-21 Location of PH[1:0] in a 3 DW Request Header
2881
Figure 2-24 Location of ST[7:0] in the Memory Write Request
Header
2475
2882
2476
Figure 2-22 Location of ST[7:0] in the Memory Write Request
2883
Header
2477
2478
Figure 2-25 Location of ST[7:0] in Memory Read and AtomicOp
Request Headers
2884
Figure 2-23 Location of ST[7:0] in Memory Read and AtomicOp
Request Headers
2479
2480
Figure 2-25 Header for Vendor-Defined Messages
Figure 2-26 Header for PCI-SIG-Defined VDMs
Figure 2-27 LN Message
Figure 2-28 DRS Message
Figure 2-29 FRS Message
Figure 2-30 Hierarchy ID Message
Figure 2-31 LTR Message
2499
Page 30
Figure 2-30 LN Message
2895
Figure 2-31 DRS Message
2897
Figure 2-32 FRS Message
2899
Figure 2-33 Hierarchy ID Message
2901
Figure 2-34 LTR Message
2902
Figure 2-32 OBFF Message
2497
2498
2893
2900
2495
2496
Figure 2-29 Header for PCI-SIG-Defined VDMs
2898
2493
2494
2891
2896
2491
2492
Figure 2-28 Header for Vendor-Defined Messages
2894
2489
2490
2889
2892
2487
2488
Figure 2-27 ERR_COR Message
2890
2485
2486
2887
2888
2483
2484
Figure 2-26 Message Request Header
2886
Figure 2-24 Message Request Header
2481
2482
2885
2903
Figure 2-35 OBFF Message
2904
Figure 2-33 PTM Request/Response Message
2905
2906
Figure 2-36 PTM Request/Response Message
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2499
2906
2500
Figure 2-34 PTM ResponseD Message (4 DW header and 1 DW
2907
payload)
2501
2908
2502
Figure 2-35 Completion Header Format
2503
2909
Figure 2-36 (Non-ARI) Completer ID
2505
2911
Figure 2-37 ARI Completer ID
2507
2913
Figure 2-40 ARI Completer ID
2914
2508
Figure 2-38 Flowchart for Handling of Received TLPs
2509
2915
Figure 2-41 Flowchart for Handling of Received TLPs
2916
2510
Figure 2-39 Flowchart for Switch Handling of TLPs
2511
2917
Figure 2-42 Flowchart for Switch Handling of TLPs
2918
2512
Figure 2-40 Flowchart for Handling of Received Request
2513
2919
Figure 2-43 Flowchart for Handling of Received Request
2920
2514
Figure 2-41 Example Completion Data when some Byte Enables are
2921
0b
Figure 2-44 Example Completion Data when some Byte Enables are
0b
2515
2922
2516
Figure 2-42 Virtual Channel Concept - An Illustration
2517
2923
Figure 2-45 Virtual Channel Concept - An Illustration
2924
Figure 2-43 Virtual Channel Concept - Switch Internals
(Upstream Flow)
2519
2925
Figure 2-46 Virtual Channel Concept - Switch Internals
(Upstream Flow)
2926
2520
Figure 2-44 An Example of TC/VC Configurations
2521
2927
Figure 2-47 An Example of TC/VC Configurations
2928
2522
Figure 2-45 Relationship Between Requester and Ultimate
2929
Completer
Figure 2-48 Relationship Between Requester and Ultimate
Completer
2523
2930
Figure 2-46 Calculation of 32-bit ECRC for TLP End to End Data
Integrity Protection
2525
2931
Figure 2-49 Calculation of 32-bit ECRC for TLP End to End Data
Integrity Protection
2932
2526
Figure 3-1 Layering Diagram Highlighting the Data Link Layer
2527
2933
Figure 3-1 Layering Diagram Highlighting the Data Link Layer
2934
2528
Figure 3-2 Data Link Control and Management State Machine
2529
2530
Figure 2-39 (Non-ARI) Completer ID
2912
2506
2524
Figure 2-38 Completion Header Format
2910
2504
2518
Figure 2-37 PTM ResponseD Message (4 DW header and 1 DW
payload)
2935
Figure 3-2 Data Link Control and Management State Machine
2936
Figure 3-3 VC0 Flow Control Initialization Example with 8b/10b
Encoding-based Framing
2531
2937
Figure 3-3 VC0 Flow Control Initialization Example with 8b/10b
Encoding-based Framing
2938
2532
Figure 3-4 DLLP Type and CRC Fields
2533
2939
Figure 3-4 DLLP Type and CRC Fields
2940
2534
Figure 3-5 Data Link Layer Packet Format for Ack and Nak
2535
2941
Figure 3-5 Data Link Layer Packet Format for Ack and Nak
2942
2536
Figure 3-6 NOP Data Link Layer Packet Format
2537
2943
Figure 3-6 NOP Data Link Layer Packet Format
2944
2538
Figure 3-7 Data Link Layer Packet Format for InitFC1
2539
2945
Figure 3-7 Data Link Layer Packet Format for InitFC1
2946
2540
Figure 3-8 Data Link Layer Packet Format for InitFC2
2541
2947
Figure 3-8 Data Link Layer Packet Format for InitFC2
2948
2542
Figure 3-9 Figure 3-9: Data Link Layer Packet Format for
UpdateFC
Page 31
2949
Figure 3-9 Data Link Layer Packet Format for UpdateFC
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2542
Figure 3-9 Figure 3-9: Data Link Layer Packet Format for
UpdateFC
2543
2950
2544
Figure 3-10 PM Data Link Layer Packet Format
2545
Figure 3-10 PM Data Link Layer Packet Format
2952
2546
Figure 3-11 Vendor-specific Data Link Layer Packet Format
2547
2953
Figure 3-11 Vendor-specific Data Link Layer Packet Format
2954
2548
Figure 3-12 Data Link Feature DLLP
2549
2955
Figure 3-12 Data Link Feature DLLP Format
2956
2550
Figure 3-13 Diagram of CRC Calculation for DLLPs
2551
2957
Figure 3-13 Diagram of CRC Calculation for DLLPs
2958
2552
Figure 3-14 TLP with LCRC and TLP Sequence Number Applied
2553
2554
2951
2959
Figure 3-14 TLP with LCRC and TLP Sequence Number Applied
2960
Figure 3-15 TLP Following Application of TLP Sequence Number
and Reserved Bits
2555
2961
Figure 3-15 TLP Following Application of TLP Sequence Number
and Reserved Bits
2962
2556
Figure 3-16 Figure 3-16: Calculation of LCRC
2557
2963
Figure 3-16 Calculation of LCRC
2964
2558
Figure 3-17 Received DLLP Error Check Flowchart
2559
2965
Figure 3-17 Received DLLP Error Check Flowchart
2966
2560
Figure 3-18 Ack/Nak DLLP Processing Flowchart
2561
2967
Figure 3-18 Ack/Nak DLLP Processing Flowchart
2968
2562
Figure 3-19 Receive Data Link Layer Handling of TLPs
2563
2969
Figure 3-19 Receive Data Link Layer Handling of TLPs
2970
2564
Figure 4-1 Layering Diagram Highlighting Physical Layer
2565
2971
Figure 4-1 Layering Diagram Highlighting Physical Layer
2972
2566
Figure 4-2 Character to Symbol Mapping
2973
Figure 4-2 Character to Symbol Mapping
2592
Figure 4-15 Packet Transmission in a x8 Link
2999
Figure 4-15 Packet Transmission in a x8 Link
2593
3000
2594
Figure 4-16 Nullified TLP Layout in a x8 Link with Other
3001
Packets
2595
3002
2596
Figure 4-17 SKP Ordered Set of Length 66-bit in a x8 Link
2597
2598
Figure 4-18 LFSR with Scrambling Polynomial in 8.0 GT/s and
Above Data Rate
3005
Figure 4-18 LFSR with Scrambling Polynomial in 8.0 GT/s and
Above Data Rate
3007
Figure 4-19 Alternate Implementation of the LFSR for
Descrambling
3008
2602
Figure 4-20 8.0 GT/s Equalization Flow
2603
3009
Figure 4-20 Precoding working the scrambler/ de-scrambler
3010
2604
Figure 4-21 16.0 GT/s Equalization Flow
2605
3011
Figure 4-21 8.0 GT/s Equalization Flow
3012
Figure 4-22 Electrical Idle Exit Ordered Set for 8.0 GT/s and
Above Data Rates
2607
2608
Figure 4-17 SKP Ordered Set of Length 66-bit in a x8 Link
3006
Figure 4-19 Alternate Implementation of the LFSR for
Descrambling
2601
2606
3003
3004
2599
2600
Figure 4-16 Nullified TLP Layout in a x8 Link with Other
Packets
3013
Figure 4-22 16.0 GT/s Equalization Flow
3014
Figure 4-23 Main State Diagram for Link Training and Status
State Machine
2609
2610
Page 32
3015
Figure 4-23 Equalization Bypass Example
3016
Figure 4-24 Detect Substate Machine
3017
Figure 4-24 Alternate Protocol Negotiation and Equalization
Bypass LTSSM States
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3017
2611
3018
2612
Figure 4-25 Polling Substate Machine
2613
3019
Figure 4-24 Alternate Protocol Negotiation and Equalization
Bypass LTSSM States
Figure 4-25 Electrical Idle Exit Ordered Set for 8.0 GT/s and
Above Data Rates (EIEOS)
3020
2614
Figure 4-26 Configuration Substate Machine
2615
3021
Figure 4-26 Main State Diagram for Link Training and Status
State Machine
3022
2616
Figure 4-27 Recovery Substate Machine
2617
3023
Figure 4-27 Detect Substate Machine
3024
2618
Figure 4-28 L0s Substate Machine
2619
3025
Figure 4-28 Polling Substate Machine
3026
2620
Figure 4-29 L1 Substate Machine
2621
3027
Figure 4-29 Configuration Substate Machine
3028
2622
Figure 4-30 L2 Substate Machine
2623
3029
Figure 4-30 Recovery Substate Machine
3030
2624
Figure 4-31 Loopback Substate Machine
2625
3031
Figure 4-31 L0s Substate Machine
3032
2626
Figure 4-32 Receiver Number Assignment
2627
3033
Figure 4-32 L1 Substate Machine
3034
2628
Figure 4-33 Supported Retimer Topologies
2629
3035
Figure 4-33 L2 Substate Machine
3036
2630
Figure 4-34 Retimer CLKREQ# Connection Topology
3037
Figure 4-34 Loopback Substate Machine
3038
3039
Figure 4-35 Receiver Number Assignment
3040
3041
Figure 4-36 Supported Retimer Topologies
3042
3043
2631
2632
Figure 5-1 Link Power Management State Flow Diagram
2633
3045
Figure 5-1 Link Power Management State Flow Diagram
3046
2634
Figure 5-2 Entry into the L1 Link State
2635
3047
Figure 5-2 Entry into the L1 Link State
3048
2636
Figure 5-3 Exit from L1 Link State Initiated by Upstream
3049
Component
Figure 5-3 Exit from L1 Link State Initiated by Upstream
Component
2637
2638
Figure 4-37 Retimer CLKREQ# Connection Topology
3044
3050
Figure 5-4 Conceptual Diagrams Showing Two Example Cases of
WAKE# Routing
2639
3051
Figure 5-4 Conceptual Diagrams Showing Two Example Cases of
WAKE# Routing
3052
2640
Figure 5-5 A Conceptual PME Control State Machine
3053
Figure 5-5 A Conceptual PME Control State Machine
2658
Figure 5-14 L1.2 Substates
3071
Figure 5-14 L1.2 Substates
2659
2660
3072
Figure 5-15 Example: Illustration of Boundary Condition due to
Different Sampling of CLKREQ#
2661
2662
Figure 5-15 Example: Illustration of Boundary Condition due to
Different Sampling of CLKREQ#
3074
Figure 5-16 Example: L1.2 Waveforms Illustrating Upstream Port
Initiated Exit
2663
2664
3073
3075
Figure 5-16 Example: L1.2 Waveforms Illustrating Upstream Port
Initiated Exit
3076
Figure 5-17 Example: L1.2 Waveforms Illustrating Downstream
Port Initiated Exit
Page 33
3077
Figure 5-17 Example: L1.2 Waveforms Illustrating Downstream
Port Initiated Exit
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2664
Figure 5-17 Example: L1.2 Waveforms Illustrating Downstream
3077
Port Initiated Exit
2665
Figure 5-17 Example: L1.2 Waveforms Illustrating Downstream
Port Initiated Exit
3078
2666
Figure 5-18 Function Power Management State Transitions
2667
3079
Figure 5-18 Function Power Management State Transitions
3080
2668
Figure 5-19 Non-Bridge Function Power Management Diagram
3081
Figure 5-19 PCI Express Bridge Power Management Diagram
2669
2670
Figure 5-20 PCI Express Bridge Power Management Diagram
2671
3082
2672
Figure 6-1 Error Classification
2673
2674
3083
Figure 6-1 Error Classification
3084
Figure 6-2 Flowchart Showing Sequence of Device Error Signaling
and Logging Operations
2675
3085
Figure 6-2 Flowchart Showing Sequence of Device Error Signaling
and Logging Operations
3086
2676
Figure 6-3 Pseudo Logic Diagram for Error Message Controls
2677
3087
Figure 6-3 Pseudo Logic Diagram for Selected Error Message
Control and Status Bits
3088
2678
Figure 6-4 TC Filtering Example
2679
3089
Figure 6-4 TC Filtering Example
3090
2680
Figure 6-5 TC to VC Mapping Example
2681
3091
Figure 6-5 TC to VC Mapping Example
3092
2682
Figure 6-6 An Example of Traffic Flow Illustrating Ingress and
3093
Egress
Figure 6-6 An Example of Traffic Flow Illustrating Ingress and
Egress
2683
3094
2684
Figure 6-7 An Example of Differentiated Traffic Flow Through a
3095
Switch
Figure 6-7 An Example of Differentiated Traffic Flow Through a
Switch
2685
3096
2686
Figure 6-8 Switch Arbitration Structure
3097
Figure 6-8 Switch Arbitration Structure
2690
Figure 6-10 Multi-Function Arbitration Model
3101
Figure 6-10 Multi-Function Arbitration Model
2691
3102
2692
Figure 6-11 Root Complex Represented as a Single Component
2693
3103
Figure 6-11 Root Complex Represented as a Single Component
3104
2694
Figure 6-12 Root Complex Represented as Multiple Components
2695
3105
Figure 6-12 Root Complex Represented as Multiple Components
3106
2696
Figure 6-13 Example System Topology with ARI Devices
2697
3107
Figure 6-13 Example System Topology with ARI Devices
3108
2698
Figure 6-14 Segmentation of the Multicast Address Range
2699
3109
Figure 6-14 Segmentation of the Multicast Address Range
3110
3111
2700
Figure 6-15 Latency Fields Format for LTR Messages
3112
3113
2701
3114
2702
3115
Figure 6-16 CLKREQ# and Clock Power Management
Figure 6-17 Use of LTR and Clock Power Management
2703
2704
2705
3116
2706
Figure 6-18 Codes and Equivalent WAKE# Patterns
2707
2708
3117
Figure 6-18 Codes and Equivalent WAKE# Patterns
3118
Figure 6-19 Example Platform Topology Showing a Link Where OBFF
is Carried by Messages
2709
2710
Page 34
3119
Figure 6-19 Example Platform Topology Showing a Link Where OBFF
is Carried by Messages
3120
Figure 6-20 PASID TLP Prefix
3121
Figure 6-20 PASID TLP Prefix
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2710
Figure 6-20 PASID TLP Prefix
2711
2712
3121
Figure 6-20 PASID TLP Prefix
3122
Figure 6-21 Sample LN System Block Diagram
2713
3123
Figure 6-21 Sample LN System Block Diagram
3124
2714
Figure 6-22 LN Protocol Basic Operation
3125
Figure 6-22 LN Protocol Basic Operation
2752
Figure 7-2 PCI Express Switch Device Mapping
3163
Figure 7-2 PCI Express Switch Device Mapping
2753
2754
3164
Figure 7-3 PCI Express Configuration Space Layout
2755
2756
Figure 7-4 Common Configuration Space Header
Figure 7-5 Command Register
Figure 7-6 Status Register
Figure 7-7 Table 7-5: Class Code Register
Figure 7-8 Header Type Register
Figure 7-9 Table 7-7: BIST Register
Figure 7-10 Figure 7-10: Type 0 Configuration Space Header
Figure 7-11 Base Address Register for Memory
Figure 7-12 Base Address Register for I/O
Figure 7-13 Figure 7-13: Expansion ROM Base Address Register
Figure 7-14 Type 1 Configuration Space Header
Figure 7-15 Secondary Status Register
Figure 7-16 Table 7-11: Bridge Control Register
Figure 7-17 Power Management Capability Structure
Figure 7-10 Type 0 Configuration Space Header
3181
Figure 7-11 Base Address Register for Memory
3183
Figure 7-12 Base Address Register for I/O
3185
Figure 7-13 Expansion ROM Base Address Register
3187
Figure 7-14 Type 1 Configuration Space Header
3189
Figure 7-15 Secondary Status Register
3191
Figure 7-16 Bridge Control Register
3193
Figure 7-17 Power Management Capability Structure
3194
Figure 7-18 Power Management Capabilities Register
2785
2786
3179
3192
2783
2784
Figure 7-9 BIST Register
3190
2781
2782
3177
3188
2779
2780
Figure 7-8 Header Type Register
3186
2777
2778
3175
3184
2775
2776
Figure 7-7 Class Code Register
3182
2773
2774
3173
3180
2771
2772
Figure 7-6 Status Register
3178
2769
2770
3171
3176
2767
2768
Figure 7-5 Command Register
3174
2765
2766
3169
3172
2763
2764
Figure 7-4 Common Configuration Space Header
3170
2761
2762
3167
3168
2759
2760
Figure 7-3 PCI Express Configuration Space Layout
3166
2757
2758
3165
3195
Figure 7-18 Power Management Capabilities Register
3196
Figure 7-19 Power Management Capabilities Register
3197
Figure 7-19 Power Management Control/Status Register
3198
3199
2787
2788
Figure 7-20 Power Management Control/Status Register
2789
2790
Figure 7-21 Power Management Control/Status Register
2795
Page 35
Figure 7-21 PCI Express Capability Structure
3203
Figure 7-22 PCI Express Capability List Register
3204
Figure 7-22 Table 7-14: Data Register
2793
2794
3201
3202
2791
2792
Figure 7-20 Data Register
3200
3205
Figure 7-23 PCI Express Capabilities Register
3206
Figure 7-23 PCI Express Capability Structure
3207
3208
Figure 7-24 Device Capabilities Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2795
3208
2796
Figure 7-24 PCI Express Capability List Register
2797
3209
Figure 7-25 Device Control Register
3210
2798
Figure 7-25 PCI Express Capabilities Register
2799
3211
Figure 7-26 Device Status Register
3212
2800
Figure 7-26 Device Capabilities Register
2801
3213
Figure 7-27 Link Capabilities Register
3214
2802
Figure 7-27 Device Control Register
2803
3215
Figure 7-28 Link Control Register
3216
2804
Figure 7-28 Device Status Register
2805
3217
Figure 7-29 Link Status Register
3218
2806
Figure 7-29 Link Capabilities Register
2807
3219
Figure 7-30 Slot Capabilities Register
3220
2808
Figure 7-30 Link Control Register
2809
3221
Figure 7-31 Slot Control Register
3222
2810
Figure 7-31 Link Status Register
2811
3223
Figure 7-32 Slot Status Register
3224
2812
Figure 7-32 Slot Capabilities Register
2813
3225
Figure 7-33 Root Control Register
3226
2814
Figure 7-33 Slot Control Register
2815
3227
Figure 7-34 Root Capabilities Register
3228
2816
Figure 7-34 Slot Status Register
2817
3229
Figure 7-35 Root Status Register
3230
2818
Figure 7-35 Root Control Register
2819
3231
Figure 7-36 Device Capabilities 2 Register
3232
2820
Figure 7-36 Root Capabilities Register
2821
3233
Figure 7-37 Device Control 2 Register
3234
2822
Figure 7-37 Root Status Register
2823
3235
Figure 7-38 Link Capabilities 2 Register
3236
2824
Figure 7-38 Device Capabilities 2 Register
2825
3237
Figure 7-39 Link Control 2 Register
3238
2826
Figure 7-39 Device Control 2 Register
2827
3239
Figure 7-40 Link Status 2 Register
3240
2828
Figure 7-40 Link Capabilities 2 Register
2829
3241
Figure 7-41 Slot Capabilities 2 Register
3242
2830
Figure 7-41 Link Control 2 Register
2831
3243
Figure 7-42 PCI Express Extended Configuration Space Layout
3244
2832
Figure 7-42 Link Status 2 Register
2833
3245
Figure 7-43 PCI Express Extended Capability Header
3246
2834
Figure 7-43 PCI Express Extended Configuration Space Layout
3247
Figure 7-44 MSI Capability Structure for 32-bit Message
Address
2835
3248
2836
Figure 7-44 PCI Express Extended Capability Header
3249
Figure 7-45 MSI Capability Structure for 64-bit Message
Address
2837
3250
2838
Figure 7-45 MSI Capability Structure for 32-bit Message
3251
Address
Figure 7-46 MSI Capability Structure for 32-bit Message Address
and PVM
2839
3252
2840
Figure 7-46 MSI Capability Structure for 64-bit Message
3253
Address
2841
Page 36
Figure 7-47 MSI Capability Structure for 64-bit Message Address
and PVM
3254
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2841
3254
2842
Figure 7-47 MSI Capability Structure for 32-bit Message Address
3255
Figure 7-48 MSI Capability Header
and PVM
2843
3256
2844
Figure 7-48 MSI Capability Structure for 64-bit Message Address
3257
Figure 7-49 Message Control Register for MSI
and PVM
2845
3258
2846
Figure 7-49 MSI Capability Header
2847
3259
Figure 7-50 Message Address Register for MSI
3260
2848
Figure 7-50 Message Control Register for MSI
2849
3261
Figure 7-51 Message Upper Address Register for MSI
3262
2850
Figure 7-51 Message Address Register for MSI
2851
3263
Figure 7-52 Message Data Register for MSI
3264
2852
Figure 7-52 Message Upper Address Register for MSI
2853
3265
Figure 7-53 Extended Message Data Register for MSI
3266
2854
Figure 7-53 Message Data Register for MSI
2855
3267
Figure 7-54 Mask Bits Register for MSI
3268
2856
Figure 7-54 Extended Message Data Register for MSI
2857
3269
Figure 7-55 Pending Bits Register for MSI
3270
2858
Figure 7-55 Mask Bits Register for MSI
2859
3271
Figure 7-56 MSI-X Capability Structure
3272
2860
Figure 7-56 Pending Bits Register for MSI
2861
3273
Figure 7-57 MSI-X Table Structure
3274
2862
Figure 7-57 MSI-X Capability Structure
2863
3275
Figure 7-58 MSI-X PBA Structure
3276
2864
Figure 7-58 MSI-X Table Structure
2865
3277
Figure 7-59 MSI-X Capability Header
3278
2866
Figure 7-59 MSI-X PBA Structure
2867
3279
Figure 7-60 Message Control Register for MSI-X
3280
2868
Figure 7-60 MSI-X Capability Header
2869
3281
Figure 7-61 Table Offset/Table BIR Register for MSI-X
3282
2870
Figure 7-61 Message Control Register for MSI-X
2871
3283
Figure 7-62 PBA Offset/PBA BIR Register for MSI-X
3284
2872
Figure 7-62 Table Offset/Table BIR Register for MSI-X
2873
3285
Figure 7-63 Message Address Register for MSI-X Table Entries
3286
2874
Figure 7-63 PBA Offset/PBA BIR Register for MSI-X
3287
Figure 7-64 Message Upper Address Register for MSI-X Table
Entries
2875
3288
2876
Figure 7-64 Message Address Register for MSI-X Table Entries
2877
3289
Figure 7-65 Message Data Register for MSI-X Table Entries
3290
2878
Figure 7-65 Message Upper Address Register for MSI-X Table
3291
Figure 7-66 Vector Control Register for MSI-X Table Entries
Entries
2879
3292
2880
Figure 7-66 Message Data Register for MSI-X Table Entries
2881
3293
Figure 7-67 Pending Bits Register for MSI-X PBA Entries
3294
2882
Figure 7-67 Vector Control Register for MSI-X Table Entries
3295
Figure 7-68 Secondary PCI Express Extended Capability
Structure
2883
3296
2884
Figure 7-68 Pending Bits Register for MSI-X PBA Entries
2885
2886
3297
Figure 7-69 Secondary PCI Express Extended Capability Header
3298
Figure 7-69 Figure 7-66: Secondary PCI Express Extended
Capability Structure
Page 37
3299
Figure 7-70 Link Control 3 Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2886
Figure 7-69 Figure 7-66: Secondary PCI Express Extended
Capability Structure
2887
3299
Figure 7-70 Link Control 3 Register
3300
2888
Figure 7-70 Secondary PCI Express Extended Capability Header
2889
3301
Figure 7-71 Lane Error Status Register
3302
2890
Figure 7-71 Link Control 3 Register
2891
3303
Figure 7-72 Lane Equalization Control Register
3304
2892
Figure 7-72 Lane Error Status Register
2893
3305
Figure 7-73 Lane Equalization Control Register Entry
3306
2894
Figure 7-73 Lane Equalization Control Register
2895
3307
Figure 7-74 Data Link Feature Extended Capability
3308
2896
Figure 7-74 Lane Equalization Control Register Entry
2897
3309
Figure 7-75 Data Link Feature Extended Capability Header
3310
2898
Figure 7-75 Data Link Feature Extended Capability
2899
3311
Figure 7-76 Data Link Feature Capabilities Register
3312
2900
Figure 7-76 Data Link Feature Extended Capability Header
2901
3313
Figure 7-77 Data Link Feature Status Register
3314
2902
Figure 7-77 Table 7-58: Data Link Feature Capabilities
3315
Figure 7-78 Physical Layer 16.0 GT/s Extended Capability
Register
2903
3316
2904
Figure 7-78 Data Link Feature Status Register
3317
Figure 7-79 Physical Layer 16.0 GT/s Extended Capability
Header
2905
3318
2906
Figure 7-79 Physical Layer 16.0 GT/s Extended Capability
2907
3319
Figure 7-80 16.0 GT/s Capabilities Register
3320
2908
Figure 7-80 Physical Layer 16.0 GT/s Extended Capability
3321
Figure 7-81 16.0 GT/s Control Register
Header
2909
3322
2910
Figure 7-81 16.0 GT/s Capabilities Register
2911
3323
Figure 7-82 16.0 GT/s Status Register
3324
2912
Figure 7-82 16.0 GT/s Control Register
3325
Figure 7-83 16.0 GT/s Local Data Parity Mismatch Status
Register
2913
3326
2914
Figure 7-83 16.0 GT/s Status Register
3327
Figure 7-84 16.0 GT/s First Retimer Data Parity Mismatch Status
Register
2915
3328
2916
Figure 7-84 16.0 GT/s Local Data Parity Mismatch Status
3329
Register
2917
Figure 7-85 16.0 GT/s Second Retimer Data Parity Mismatch
Status Register
3330
2918
Figure 7-85 16.0 GT/s First Retimer Data Parity Mismatch Status
3331
Figure 7-86 16.0 GT/s Lane Equalization Control Register Entry
Register
2919
2920
3332
Figure 7-86 16.0 GT/s Second Retimer Data Parity Mismatch
Status Register
2921
2922
3333
Figure 7-87 Physical Layer 32.0 GT/s Extended Capability
3334
Figure 7-87 High Level Structure of 16.0 GT/s Lane Equalization
Control Register
2923
2924
Page 38
Figure 7-88 Physical Layer 32.0 GT/s Extended Capability
Header
3336
Figure 7-88 16.0 GT/s Lane Equalization Control Register Entry
2925
2926
3335
3337
Figure 7-89 32.0 GT/s Capabilities Register
3338
Figure 7-89 Lane Margining at the Receiver Extended Capability
3339
Figure 7-90 32.0 GT/s Control Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2926
Figure 7-89 Lane Margining at the Receiver Extended Capability
2927
3339
Figure 7-90 32.0 GT/s Control Register
3340
2928
Figure 7-90 Lane Margining at the Receiver Extended Capability
3341
Figure 7-91 32.0 GT/s Status Register
Header
2929
3342
2930
Figure 7-91 Margining Port Capabilities Register
2931
3343
Figure 7-92 Received Modified TS Data 1 Register
3344
2932
Figure 7-92 Margining Port Status Register
2933
3345
Figure 7-93 Received Modified TS Data 2 Register
3346
2934
Figure 7-93
2935
3347
Figure 7-94 Transmitted Modified TS Data 1 Register
3348
2936
Figure 7-94 Lane N: Margining Lane Status Register Entry
2937
3349
Figure 7-95 Transmitted Modified TS Data 2 Register
3350
2938
Figure 7-95 ACS Extended Capability
2939
3351
Figure 7-96 32.0 GT/s Lane Equalization Control Register Entry
3352
2940
Figure 7-96 ACS Extended Capability Header
2941
3353
Figure 7-97 Lane Margining at the Receiver Extended Capability
3354
2942
Figure 7-97 ACS Capability Register
3355
Figure 7-98 Lane Margining at the Receiver Extended Capability
Header
2943
3356
2944
Figure 7-98 ACS Control Register
2945
3357
Figure 7-99 Margining Port Capabilities Register
3358
2946
Figure 7-99 Egress Control Vector Register
2947
3359
Figure 7-100 Margining Port Status Register
3360
2948
Figure 7-100 Power Budgeting Extended Capability Structure
2949
3361
Figure 7-101 Lane N: Margining Control Register Entry
3362
2950
Figure 7-101 Power Budgeting Extended Capability Header
2951
3363
Figure 7-102 Lane N: Margining Lane Status Register Entry
3364
2952
Figure 7-102 Power Budgeting Data Register
2953
3365
Figure 7-103 ACS Extended Capability
3366
2954
Figure 7-103 Power Budgeting Capability Register
2955
3367
Figure 7-104 ACS Extended Capability Header
3368
2956
Figure 7-104 LTR Extended Capability Structure
2957
3369
Figure 7-105 ACS Capability Register
3370
2958
Figure 7-105 LTR Extended Capability Header
2959
3371
Figure 7-106 ACS Control Register
3372
2960
Figure 7-106 Max Snoop Latency Register
2961
3373
Figure 7-107 Egress Control Vector Register
3374
2962
Figure 7-107 Max No-Snoop Latency Register
2963
3375
Figure 7-108 Power Budgeting Extended Capability
3376
2964
Figure 7-108 L1 PM Substates Extended Capability
2965
3377
Figure 7-109 Power Budgeting Extended Capability Header
3378
2966
Figure 7-109 L1 PM Substates Extended Capability Header
2967
3379
Figure 7-110 Power Budgeting Data Register
3380
2968
Figure 7-110 L1 PM Substates Capabilities Register
2969
3381
Figure 7-111 Power Budgeting Capability Register
3382
2970
Figure 7-111 L1 PM Substates Control 1 Register
2971
3383
Figure 7-112 LTR Extended Capability Structure
3384
2972
Figure 7-112 L1 PM Substates Control 2 Register
2973
3385
Figure 7-113 LTR Extended Capability Header
3386
2974
Figure 7-113 Advanced Error Reporting Extended Capability
Structure
Page 39
3387
Figure 7-114 Max Snoop Latency Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
2974
Figure 7-113 Advanced Error Reporting Extended Capability
3387
Figure 7-114 Max Snoop Latency Register
Structure
2975
3388
2976
Figure 7-114 Advanced Error Reporting Extended Capability
3389
Figure 7-115 Max No-Snoop Latency Register
Header
2977
3390
2978
Figure 7-115 Uncorrectable Error Status Register
2979
3391
Figure 7-116 L1 PM Substates Extended Capability
3392
2980
Figure 7-116 Uncorrectable Error Mask Register
2981
3393
Figure 7-117 L1 PM Substates Extended Capability Header
3394
2982
Figure 7-117 Uncorrectable Error Severity Register
2983
3395
Figure 7-118 L1 PM Substates Capabilities Register
3396
2984
Figure 7-118 Correctable Error Status Register
2985
3397
Figure 7-119 L1 PM Substates Control 1 Register
3398
2986
Figure 7-119 Correctable Error Mask Register
2987
3399
Figure 7-120 L1 PM Substates Control 2 Register
3400
2988
Figure 7-120 Advanced Error Capabilities and Control Register
2989
3401
Figure 7-121 L1 PM Substates Status Register
3402
2990
Figure 7-121 Header Log Register
3403
Figure 7-122 Advanced Error Reporting Extended Capability
Structure
2991
3404
2992
Figure 7-122 Root Error Command Register
3405
Figure 7-123 Advanced Error Reporting Extended Capability
Header
2993
3406
2994
Figure 7-123 Root Error Status Register
2995
3407
Figure 7-124 Uncorrectable Error Status Register
3408
2996
Figure 7-124 Error Source Identification Register
2997
3409
Figure 7-125 Uncorrectable Error Mask Register
3410
2998
Figure 7-125 TLP Prefix Log Register
2999
3411
Figure 7-126 Uncorrectable Error Severity Register
3412
3000
Figure 7-126 Table 7-98: First DW of Enhanced Allocation
3413
Figure 7-127 Correctable Error Status Register
Capability
3001
3002
3414
Figure 7-127 Table 7-99: First DW of Each Entry for Enhanced
Allocation Capability
3003
3415
Figure 7-128 Correctable Error Mask Register
3416
3004
Figure 7-128 Format of Entry for Enhanced Allocation
3417
Figure 7-129 Advanced Error Capabilities and Control Register
Capability
3005
3418
3006
Figure 7-129 Figure 7-123: Example Entry with 64b Base and 64b
3419
Figure 7-130 Header Log Register
MaxOffset
3007
3420
3008
Figure 7-130 Figure 7-124: Example Entry with 64b Base and 32b
3421
Figure 7-131 Root Error Command Register
MaxOffset
3009
3422
3010
Figure 7-131 Figure 7-125: Example Entry with 32b Base and 64b
3423
Figure 7-132 Root Error Status Register
MaxOffset
3011
3424
3012
Figure 7-132 Figure 7-126: Example Entry with 32b Base and 32b
3425
Figure 7-133 Error Source Identification Register
MaxOffset
3013
3014
Page 40
3426
Figure 7-133 Resizable BAR Extended Capability
3427
Figure 7-134 TLP Prefix Log Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3014
Figure 7-133 Resizable BAR Extended Capability
3015
3016
Figure 7-134 Resizable BAR Extended Capability Header
3429
Figure 7-135 First DW of Enhanced Allocation Capability
3430
Figure 7-135 Resizable BAR Capability Register
3019
3020
Figure 7-134 TLP Prefix Log Register
3428
3017
3018
3427
3431
Figure 7-136 Second DW of Enhanced Allocation Capability
3432
Figure 7-136 Resizable BAR Control Register
3433
Figure 7-137 First DW of Each Entry for Enhanced Allocation
Capability
3021
3022
3434
Figure 7-137 Resizable BAR Control Register
3435
Figure 7-138 Format of Entry for Enhanced Allocation
Capability
3023
3024
3436
Figure 7-138 ARI Extended Capability
3025
3026
Figure 7-139 ARI Capability Header
Figure 7-140 ARI Capability Register
Figure 7-141 ARI Control Register
Figure 7-142 Figure 7-135: PASID Extended Capability Structure
Figure 7-143 PASID Extended Capability Header
Figure 7-144 PASID Capability Register
Figure 7-145 Table 7-109: PASID Control Register
Figure 7-146 FRS Extended Capability
Figure 7-147 FRS Queueing Extended Capability Header
Figure 7-148 FRS Queueing Capability Register
Figure 7-149 FRS Queueing Status Register
Figure 7-150 FRS Queueing Control Register
Figure 7-151 FRS Message Queue Register
Figure 7-152 FPB Capability Structure
Figure 7-153 FPB Capability Header
Figure 7-154 FPB Capabilities Register
Figure 7-155 FPB RID Vector Control 1 Register
Page 41
3455
Figure 7-148 ARI Extended Capability Header
3457
Figure 7-149 ARI Capability Register
3459
Figure 7-150 ARI Control Register
3461
Figure 7-151 PASID Extended Capability Structure
3463
Figure 7-152 PASID Extended Capability Header
3465
Figure 7-153 PASID Capability Register
3467
Figure 7-154 PASID Control Register
3469
Figure 7-155 FRS Queueing Extended Capability
3471
Figure 7-156 FRS Queueing Extended Capability Header
3472
Figure 7-156 FPB RID Vector Control 2 Register
3061
3062
Figure 7-147 ARI Extended Capability
3470
3059
3060
3453
3468
3057
3058
Figure 7-146 Resizable BAR Control Register
3466
3055
3056
3451
3464
3053
3054
Figure 7-145 Resizable BAR Capability Register
3462
3051
3052
3449
3460
3049
3050
Figure 7-144 Resizable BAR Extended Capability Header
3458
3047
3048
3447
3456
3045
3046
Figure 7-143 Resizable BAR Extended Capability
3454
3043
3044
3445
3452
3041
3042
Figure 7-142 Example Entry with 32b Base and 32b MaxOffset
3450
3039
3040
3443
3448
3037
3038
Figure 7-141 Example Entry with 32b Base and 64b MaxOffset
3446
3035
3036
3441
3444
3033
3034
Figure 7-140 Example Entry with 64b Base and 32b MaxOffset
3442
3031
3032
3439
3440
3029
3030
Figure 7-139 Example Entry with 64b Base and 64b MaxOffset
3438
3027
3028
3437
3473
Figure 7-157 FRS Queueing Capability Register
3474
Figure 7-157 FPB MEM Low Vector Control Register
3475
Figure 7-158 FRS Queueing Status Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3062
Figure 7-157 FPB MEM Low Vector Control Register
3063
Figure 7-158 FRS Queueing Status Register
3476
3064
Figure 7-158 FPB MEM High Vector Control 1 Register
3065
3477
Figure 7-159 FRS Queueing Control Register
3478
3066
Figure 7-159 FPB MEM High Vector Control 2 Register
3067
3479
Figure 7-160 FRS Message Queue Register
3480
3068
Figure 7-160 FPB Vector Access Control Register
3069
3481
Figure 7-161 FPB Capability Structure
3482
3070
Figure 7-161 FPB Vector Access Data Register
3071
3483
Figure 7-162 FPB Capability Header
3484
3072
Figure 7-162 Virtual Channel Extended Capability Structure
3073
3485
Figure 7-163 FPB Capabilities Register
3486
3074
Figure 7-163 Virtual Channel Extended Capability Header
3075
3487
Figure 7-164 FPB RID Vector Control 1 Register
3488
3076
Figure 7-164 Table 7-125: Port VC Capability Register 1
3077
3489
Figure 7-165 FPB RID Vector Control 2 Register
3490
3078
Figure 7-165 Port VC Capability Register 2
3079
3491
Figure 7-166 FPB MEM Low Vector Control Register
3492
3080
Figure 7-166 Port VC Control Register
3081
3493
Figure 7-167 FPB MEM High Vector Control 1 Register
3494
3082
Figure 7-167 Table 7-128: Port VC Status Register
3083
3495
Figure 7-168 FPB MEM High Vector Control 2 Register
3496
3084
Figure 7-168 VC Resource Capability Register
3085
3497
Figure 7-169 FPB Vector Access Control Register
3498
3086
Figure 7-169 VC Resource Control Register
3087
3499
Figure 7-170 FPB Vector Access Data Register
3500
3088
Figure 7-170 VC Resource Status Register
3089
3501
Figure 7-171 Virtual Channel Extended Capability Structure
3502
3090
Figure 7-171 Example VC Arbitration Table with 32 Phases
3091
3092
3475
3503
Figure 7-172 Virtual Channel Extended Capability Header
3504
Figure 7-172 Example Port Arbitration Table with 128 Phases and
2-bit Table Entries
3093
3094
Figure 7-174 MFVC Extended Capability Header
Figure 7-175 MFVC Port VC Capability Register 1
Figure 7-176 MFVC Port VC Capability Register 2
Figure 7-177 MFVC Port VC Control Register
Figure 7-178 MFVC Port VC Status Register
Figure 7-179 MFVC VC Resource Capability Register
Page 42
3513
Figure 7-177 VC Resource Capability Register
3515
Figure 7-178 VC Resource Control Register
3517
Figure 7-179 VC Resource Status Register
3519
Figure 7-180 Example VC Arbitration Table with 32 Phases
3520
Figure 7-180 MFVC VC Resource Control Register
3109
3110
Figure 7-176 Port VC Status Register
3518
3107
3108
3511
3516
3105
3106
Figure 7-175 Port VC Control Register
3514
3103
3104
3509
3512
3101
3102
Figure 7-174 Port VC Capability Register 2
3510
3099
3100
3507
3508
3097
3098
Figure 7-173 Port VC Capability Register 1
3506
Figure 7-173 MFVC Capability Structure
3095
3096
3505
3521
Figure 7-181 Example Port Arbitration Table with 128 Phases and
2-bit Table Entries
3522
Figure 7-181 MFVC VC Resource Status Register
3523
Figure 7-182 MFVC Capability Structure
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3110
Figure 7-181 MFVC VC Resource Status Register
3111
3523
Figure 7-182 MFVC Capability Structure
3524
3112
Figure 7-182 Device Serial Number Extended Capability
3525
Figure 7-183 MFVC Extended Capability Header
Structure
3113
3526
3114
Figure 7-183 Device Serial Number Extended Capability Header
3115
3527
Figure 7-184 MFVC Port VC Capability Register 1
3528
3116
Figure 7-184 Serial Number Register
3117
3529
Figure 7-185 MFVC Port VC Capability Register 2
3530
3118
Figure 7-185 Vendor-Specific Capability
3119
3531
Figure 7-186 MFVC Port VC Control Register
3532
3120
Figure 7-186 VSEC Capability Structure
3121
3533
Figure 7-187 MFVC Port VC Status Register
3534
3122
Figure 7-187 Vendor-Specific Extended Capability Header
3123
3535
Figure 7-188 MFVC VC Resource Capability Register
3536
3124
Figure 7-188 Vendor-Specific Header
3125
3537
Figure 7-189 MFVC VC Resource Control Register
3538
3126
Figure 7-189 Designated Vendor-Specific Extended Capability
3127
3539
Figure 7-190 MFVC VC Resource Status Register
3540
3128
Figure 7-190 Designated Vendor-Specific Extended Capability
3541
Header
Figure 7-191 Device Serial Number Extended Capability
Structure
3129
3542
3130
Figure 7-191 Designated Vendor-Specific Header 1
3131
3543
Figure 7-192 Device Serial Number Extended Capability Header
3544
3132
Figure 7-192 Designated Vendor-Specific Header 2
3133
3545
Figure 7-193 Serial Number Register
3546
3134
Figure 7-193 RCRB Header Extended Capability Structure
3135
3547
Figure 7-194 Vendor-Specific Capability
3548
3136
Figure 7-194 Table 7-152: RCRB Header Extended Capability
3549
Figure 7-195 VSEC Capability Structure
Header
3137
3550
3138
Figure 7-195 RCRB Vendor ID and Device ID register
3139
3551
Figure 7-196 Vendor-Specific Extended Capability Header
3552
3140
Figure 7-196 RCRB Capabilities register
3141
3553
Figure 7-197 Vendor-Specific Header
3554
3142
Figure 7-197 RCRB Control register
3143
3555
Figure 7-198 Designated Vendor-Specific Extended Capability
3556
3144
Figure 7-198 Root Complex Link Declaration Extended Capability
3557
Figure 7-199 Designated Vendor-Specific Extended Capability
Header
3145
3558
3146
Figure 7-199 Root Complex Link Declaration Extended Capability
3559
Figure 7-200 Designated Vendor-Specific Header 1
Header
3147
3148
3560
Figure 7-200 Element Self Description Register
3149
3150
Figure 7-201 Link Entry
3155
Page 43
3563
Figure 7-202 RCRB Header Extended Capability Structure
3564
Figure 7-202 Link Description Register
3153
3154
Figure 7-201 Designated Vendor-Specific Header 2
3562
3151
3152
3561
3565
Figure 7-203 RCRB Header Extended Capability Header
3566
Figure 7-203 Link Address for Link Type 0
3567
3568
Figure 7-204 RCRB Vendor ID and Device ID register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3155
3568
3156
Figure 7-204 Link Address for Link Type 1
3157
3569
Figure 7-205 RCRB Capabilities register
3570
3158
Figure 7-205 Root Complex Internal Link Control Extended
3571
Figure 7-206 RCRB Control register
Capability
3159
3160
3572
Figure 7-206 Root Complex Internal Link Control Extended
Capability Header
3161
3573
Figure 7-207 Root Complex Link Declaration Extended Capability
3574
3162
Figure 7-207 Figure 7-200: Root Complex Link Capabilities
3575
Register
Figure 7-208 Root Complex Link Declaration Extended Capability
Header
3163
3576
3164
Figure 7-208 Table 7-161: Root Complex Link Capabilities
3577
Figure 7-209 Element Self Description Register
Register
3165
3578
3166
Figure 7-209 Root Complex Link Control Register
3167
Figure 7-210 Root Complex Link Status Register
3169
3581
Figure 7-211 Link Description Register
3582
Figure 7-211 Root Complex Event Collector Endpoint Association
Extended Capability
3171
3172
Figure 7-210 Link Entry
3580
3168
3170
3579
3583
Figure 7-212 Link Address for Link Type 0
3584
Figure 7-212 Table 7-164: Root Complex Event Collector Endpoint
Association Extended Capability Header
3173
3585
Figure 7-213 Link Address for Link Type 1
3586
3174
Figure 7-213 Multicast Extended Capability Structure
3587
Figure 7-214 Root Complex Internal Link Control Extended
Capability
3175
3588
3176
Figure 7-214 Multicast Extended Capability Header
3177
3589
Figure 7-215 Root Complex Internal Link Control Extended
Capability Header
3590
3178
Figure 7-215 Multicast Capability Register
3179
3591
Figure 7-216 Root Complex Link Capabilities Register
3592
3180
Figure 7-216 Multicast Control Register
3181
3593
Figure 7-217 Root Complex Link Control Register
3594
3182
Figure 7-217 MC_Base_Address Register
3183
3595
Figure 7-218 Root Complex Link Status Register
3596
3184
Figure 7-218 MC_Receive Register
3185
3597
Figure 7-219 Root Complex Event Collector Endpoint Association
Extended Capability
3598
3186
Figure 7-219 MC_Block_All Register
3187
3599
Figure 7-220 Root Complex Event Collector Endpoint Association
Extended Capability Header
3600
3188
Figure 7-220 MC_Block_Untranslated Register
3189
3601
Figure 7-221 RCEC Associated Bus Numbers Register
3602
3190
Figure 7-221 MC_Overlay_BAR Register
3191
3603
Figure 7-222 Multicast Extended Capability Structure
3604
3192
Figure 7-222 Dynamic Power Allocation Extended Capability
3605
Figure 7-223 Multicast Extended Capability Header
Structure
3193
3194
Page 44
3606
Figure 7-223 DPA Extended Capability Header
3607
Figure 7-224 Multicast Capability Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3194
Figure 7-223 DPA Extended Capability Header
3195
Figure 7-224 Multicast Capability Register
3608
3196
Figure 7-224 DPA Capability Register
3197
3609
Figure 7-225 Multicast Control Register
3610
3198
Figure 7-225 DPA Latency Indicator Register
3199
3611
Figure 7-226 MC_Base_Address Register
3612
3200
Figure 7-226 DPA Status Register
3201
3613
Figure 7-227 MC_Receive Register
3614
3202
Figure 7-227 DPA Control Register
3203
3615
Figure 7-228 MC_Block_All Register
3616
3204
Figure 7-228 DPA Power Allocation Array
3205
3206
3607
3617
Figure 7-229 MC_Block_Untranslated Register
3618
Figure 7-229 Substate Power Allocation Register (0 to
Substate_Max)
3207
3208
3619
Figure 7-230 MC_Overlay_BAR Register
3620
Figure 7-230 TPH Extended Capability Structure
3621
Figure 7-231 Dynamic Power Allocation Extended Capability
Structure
3209
3210
3622
Figure 7-231 TPH Requester Extended Capability Header
3211
3212
Figure 7-232 TPH Requester Capability Register
Figure 7-233 TPH Requester Control Register
Figure 7-234 TPH ST Table
Figure 7-235 TPH ST Table
Figure 7-236 LN Requester Extended Capability
Figure 7-237 LNR Extended Capability Header
Figure 7-239 LNR Control Register
Figure 7-240 DPC Extended Capability Header
Figure 7-241 DPC Capability Register
Figure 7-242 DPC Control Register
Figure 7-243 DPC Status Register
Figure 7-244 DPC Error Source ID Register
3241
Page 45
3637
Figure 7-239 TPH Extended Capability Structure
3639
Figure 7-240 TPH Requester Extended Capability Header
3641
Figure 7-241 TPH Requester Capability Register
3643
Figure 7-242 TPH Requester Control Register
3645
Figure 7-243 TPH ST Table
3647
Figure 7-244 TPH ST Table Entry
3649
Figure 7-245 LN Requester Extended Capability
3650
Figure 7-245 RP PIO Status Register
3239
3240
Figure 7-238 Substate Power Allocation Register (0 to
Substate_Max)
3648
3237
3238
3635
3646
3235
3236
Figure 7-237 DPA Power Allocation Array
3644
3233
3234
3633
3642
3231
3232
Figure 7-236 DPA Control Register
3640
3229
3230
3631
3638
3227
3228
Figure 7-235 DPA Status Register
3636
Figure 7-238 LNR Capability Register
3225
3226
3629
3634
3223
3224
Figure 7-234 DPA Latency Indicator Register
3632
3221
3222
3627
3630
3219
3220
Figure 7-233 DPA Capability Register
3628
3217
3218
3625
3626
3215
3216
Figure 7-232 DPA Extended Capability Header
3624
3213
3214
3623
3651
Figure 7-246 LNR Extended Capability Header
3652
Figure 7-246 RP PIO Mask Register
3653
3654
Figure 7-247 LNR Capability Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3241
3654
3242
Figure 7-247 RP PIO Severity Register
3243
3655
Figure 7-248 LNR Control Register
3656
3244
Figure 7-248 RP PIO SysError Register
3245
3657
Figure 7-249 DPC Extended Capability
3658
3246
Figure 7-249 RP PIO Exception Register
3247
3659
Figure 7-250 DPC Extended Capability Header
3660
3248
Figure 7-250 RP PIO Header Log Register
3249
3661
Figure 7-251 DPC Capability Register
3662
3250
Figure 7-251 RP PIO ImpSpec Log Register RP PIO ImpSpec Log
3663
Figure 7-252 DPC Control Register
Register
3251
3664
3252
Figure 7-252 RP PIO TLP Prefix Log Register
3253
3665
Figure 7-253 DPC Status Register
3666
3254
Figure 7-253 Figure 7-244: PTM Capability Structure
3255
3667
Figure 7-254 DPC Error Source ID Register
3668
3256
Figure 7-254 PTM Extended Capability Header
3257
3669
Figure 7-255 RP PIO Status Register
3670
3258
Figure 7-255 Table 7-200: PTM Capability Register
3259
3671
Figure 7-256 RP PIO Mask Register
3672
3260
Figure 7-256 Table 7-201: PTM Control Register
3261
3673
Figure 7-257 RP PIO Severity Register
3674
3262
Figure 7-257 Readiness Time Reporting Extended Capability
3263
3675
Figure 7-258 RP PIO SysError Register
3676
3264
Figure 7-258 Readiness Time Encoding
3265
3677
Figure 7-259 RP PIO Exception Register
3678
3266
Figure 7-259 Readiness Time Reporting Extended Capability
3679
Figure 7-260 RP PIO Header Log Register
Header
3267
3268
3680
Figure 7-260 Readiness Time Reporting 1 Register
3269
3270
Figure 7-261 Readiness Time Reporting 2 Register
Figure 7-262 Hierarchy ID Extended Capability
Figure 7-263 Hierarchy ID Extended Capability Header
Figure 7-264 Hierarchy ID Status Register
Figure 7-265 Hierarchy ID Data Register
Figure 7-266 Hierarchy ID GUID 1 Register
Figure 7-264 PTM Extended Capability Header
3689
Figure 7-265 PTM Capability Register
3691
Figure 7-266 PTM Control Register
3693
Figure 7-267 Readiness Time Reporting Extended Capability
3694
Figure 7-267 Hierarchy ID GUID 2 Register
3283
3284
3687
3692
3281
3282
Figure 7-263 PTM Capability Structure
3690
3279
3280
3685
3688
3277
3278
Figure 7-262 RP PIO TLP Prefix Log Register
3686
3275
3276
3683
3684
3273
3274
Figure 7-261 RP PIO ImpSpec Log Register
3682
3271
3272
3681
3695
Figure 7-268 Readiness Time Encoding
3696
Figure 7-268 Hierarchy ID GUID 3 Register
3697
Figure 7-269 Readiness Time Reporting Extended Capability
Header
3285
3286
3698
Figure 7-269 Hierarchy ID GUID 4 Register
3287
3288
Page 46
3699
Figure 7-270 Readiness Time Reporting 1 Register
3700
Figure 7-270 Hierarchy ID GUID 5 Register
3701
Figure 7-271 Readiness Time Reporting 2 Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3288
Figure 7-270 Hierarchy ID GUID 5 Register
3289
3290
Figure 7-271 VPD Capability Structure
Figure 7-272 VPD Address Register
Figure 7-273 VPD Data Register
Figure 7-274 NPEM Extended Capability
Figure 7-275 NPEM Extended Capability Header
Figure 7-276 NPEM Capability Register
Figure 7-274 Hierarchy ID Status Register
3709
Figure 7-275 Hierarchy ID Data Register
3711
Figure 7-276 Hierarchy ID GUID 1 Register
3713
Figure 7-277 Hierarchy ID GUID 2 Register
3714
Figure 7-277 NPEM Control Register
3303
3304
3707
3712
3301
3302
Figure 7-273 Hierarchy ID Extended Capability Header
3710
3299
3300
3705
3708
3297
3298
Figure 7-272 Hierarchy ID Extended Capability
3706
3295
3296
3703
3704
3293
3294
Figure 7-271 Readiness Time Reporting 2 Register
3702
3291
3292
3701
3715
Figure 7-278 Hierarchy ID GUID 3 Register
3716
Figure 7-278 NPEM Status Register
3717
Figure 7-279 Hierarchy ID GUID 4 Register
3718
3719
Figure 7-280 Hierarchy ID GUID 5 Register
3720
3721
Figure 7-281 VPD Capability Structure
3722
3723
Figure 7-282 VPD Address Register
3724
3725
Figure 7-283 VPD Data Register
3726
3727
Figure 7-284 NPEM Extended Capability
3728
3729
Figure 7-285 NPEM Extended Capability Header
3730
3731
Figure 7-286 NPEM Capability Register
3732
3733
Figure 7-287 NPEM Control Register
3734
3735
Figure 7-288 NPEM Status Register
3736
3737
Figure 7-289 Alternate Protocol Extended Capability
3738
3739
Figure 7-290 Alternate Protocol Extended Capability Header
3740
3741
Figure 7-291 Alternate Protocol Capabilities Register
3742
3743
Figure 7-292 Alternate Protocol Control Register
3744
3745
Figure 7-293 Alternate Protocol Data 1 Register
3746
3747
Figure 7-294 Alternate Protocol Data 2 Register
3748
3749
Figure 7-295 Alternate Protocol Selective Enable Mask Register
3750
3751
Figure 7-296 Conventional PCI Advanced Features Capability
(AF)
Page 47
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3751
Figure 7-296 Conventional PCI Advanced Features Capability
(AF)
3752
3753
Figure 7-297 Advanced Features Capability Header
3754
3755
Figure 7-298 AF Capabilities Register
3756
3757
Figure 7-299 Conventional PCI Advanced Features Control
Register
3758
3759
Figure 7-300 AF Status Register
3760
3761
Figure 7-301 SFI Extended Capability
3762
3763
Figure 7-302 SFI Extended Capability Header
3764
3765
Figure 7-303 SFI Capability Register
3766
3767
Figure 7-304 SFI Control Register
3768
3769
Figure 7-305 SFI Status Register
3770
3771
Figure 7-306 SFI CAM Address Register
3772
3773
Figure 7-307 SFI CAM Data Register
3774
3775
3305
3306
Figure 8-1 Tx Test Board for Non-Embedded Refclk
3307
3777
Figure 8-2 Tx Test board for Embedded Refclk
3309
3779
Figure 8-2 Tx Test board for Embedded Refclk
3780
3310
Figure 8-3 Single-ended and Differential Levels
3311
3781
Figure 8-3 Single-ended and Differential Levels
3782
3312
Figure 8-4 Tx Equalization FIR Representation
3313
3783
Figure 8-4 Tx Equalization FIR Representation
3784
3314
Figure 8-5 Definition of Tx Voltage Levels and Equalization
3785
Ratios
3324
Figure 8-5 Definition of Tx Voltage Levels and Equalization
Ratios
Figure 8-10 Measuring VTX-EIEOS-FS and VTX-EIEOS-RS at 8.0 GT/
3795
s
Figure 8-10 Measuring VTX-EIEOS-FS and VTX-EIEOS-RS at 8.0 GT/
s
3325
3796
3326
Figure 8-11 Compliance Pattern and Resulting Package Loss Test
3797
Waveform
Figure 8-11 Compliance Pattern and Resulting Package Loss Test
Waveform
3327
3798
Figure 8-12 2.5 and 5.0 GT/s Transmitter Margining Voltage
Levels and Codes
3329
3799
Figure 8-12 2.5 and 5.0 GT/s Transmitter Margining Voltage
Levels and Codes
3800
3330
Figure 8-13 First Order CC Behavioral CDR Transfer Functions
3331
3332
Figure 8-1 Tx Test Board for Non-Embedded Refclk
3778
3308
3328
Figure 7-308 Subsystem ID and Sybsystem Vendor ID Capability
3776
3801
Figure 8-13 First Order CC Behavioral CDR Transfer Functions
3802
Figure 8-14 2nd Order Behavioral SRIS CDR Transfer Functions
for 2.5 GT/s and 5.0 GT/s
Page 48
3803
Figure 8-14 2nd Order Behavioral SRIS CDR Transfer Functions
for 2.5 GT/s and 5.0 GT/s
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
3332
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Figure 8-14 2nd Order Behavioral SRIS CDR Transfer Functions
3803
for 2.5 GT/s and 5.0 GT/s
3333
3804
3334
Figure 8-15 Behavioral SRIS CDR Functions for 8.0 and 16.0 GT/
3805
s
3335
Figure 8-15 Behavioral SRIS CDR Function for 8.0 GT/s and SRIS
and CC CDR for 16.0 GT/s
3806
3336
Figure 8-16 Relation Between Data Edge PDFs and Recovered Data
3807
Clock
Figure 8-16 Relation Between Data Edge PDFs and Recovered Data
Clock
3337
3808
3338
Figure 8-17 Derivation of TTX-UTJ and TTX-UDJDD
3339
3809
Figure 8-17 Derivation of TTX-UTJ and TTX-UDJDD
3810
3340
Figure 8-18 PWJ Relative to Consecutive Edges 1 UI Apart
3341
3342
Figure 8-14 2nd Order Behavioral SRIS CDR Transfer Functions
for 2.5 GT/s and 5.0 GT/s
3811
Figure 8-18 PWJ Relative to Consecutive Edges 1 UI Apart
3812
Figure 8-19 Definition of TTX-UPW-DJDD and TTX-UPW-TJ Data Rate
Dependent Transmitter Parameters
3343
3344
3813
Figure 8-19 Definition of TTX-UPW-DJDD and TTX-UPW-TJ Data Rate
Dependent Transmitter Parameters
3814
Figure 8-20 Tx, Rx Differential Return Loss Mask
3815
Figure 8-20 Tx, Rx Differential Return Loss Mask with 50 Ohm
Reference
3345
3346
3816
Figure 8-21 Tx, Rx Common Mode Return Loss Mask
3817
Figure 8-21 Tx, Rx Common Mode Return Loss Mask with 50 Ohm
Reference
3347
3348
3818
Figure 8-22 Rx Testboard Topology for 16.0 GT/s
3349
3350
Figure 8-23 Calibration Channel IL Mask Excluding Rx Package
Figure 8-25 Stackup for Example 16.0 GT/s Calibration Channel
Figure 8-26 CEM Connector Drill Hole Pad Stack
Figure 8-24 Example 16.0 GT/s Calibration Channel
3825
Figure 8-25 Stackup for Example 16.0 GT/s Calibration Channel
3827
Figure 8-26 CEM Connector Drill Hole Pad Stack
3828
Figure 8-27 Pad Stack for SMA Drill Holes
3359
3360
3823
3826
3357
3358
Figure 8-23 Example Calibration Channel IL Mask Excluding Rx
Package for 8.0 GT/s
3824
3355
3356
3821
3822
Figure 8-24 Example 16.0 GT/s Calibration Channel
3353
3354
Figure 8-22 Rx Testboard Topology for 16.0 and 32.0 GT/s
3820
3351
3352
3819
3829
Figure 8-27 Pad Stack for SMA Drill Holes
3830
Figure 8-28 Transfer Function for 8.0 GT/s Behavioral CTLE
3831
Figure 8-28 Example 32.0 GT/s Calibration Channel
3832
3833
Figure 8-29 Stack-up for Example 32.0 GT/s Calibration Channel
3834
3835
Figure 8-30 Transfer Function for 8.0 GT/s Behavioral CTLE
3836
3837
Figure 8-31 Loss Curves for 8.0 GT/s Behavioral CTLE
3838
3839
3361
3362
Figure 8-29 Loss Curves for 8.0 GT/s Behavioral CTLE
3363
3364
Figure 8-30 Loss Curves for 16.0 GT/s Behavioral CTLE
Figure 8-33 Loss Curves for 32.0 GT/s Behavioral CTLE
3843
Figure 8-34 Variables Definition and Diagram for 1-tap DFE
3844
Figure 8-31 Variables Definition and Diagram for 1-tap DFE
3367
3368
3841
3842
3365
3366
Figure 8-32 Loss Curves for 16.0 GT/s Behavioral CTLE
3840
3845
Figure 8-35 Diagram for 2-tap DFE
3846
Figure 8-32 Diagram for 2-tap DFE
3847
Figure 8-36 Layout for Calibrating the Stressed Jitter Eye at
8.0 GT/s
Page 49
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3847
Figure 8-36 Layout for Calibrating the Stressed Jitter Eye at
8.0 GT/s
3369
3848
3370
Figure 8-33 Layout for Calibrating the Stressed Jitter Eye at
3849
8.0 GT/s
3371
3850
3372
Figure 8-34 Layout for Calibrating the Stressed Jitter Eye at
3851
16.0 GT/s
3852
3374
Figure 8-35 Sj Mask for Receivers Operating in IR mode at 8.0
3853
GT/s
Figure 8-39 Sj Mask for Receivers Operating in SRIS mode at
16.0 GT/s
3375
3854
3376
Figure 8-36 Sj Mask for Receivers Operating in IR mode at 16.0
3855
GT/s
Figure 8-40 Sj Mask for Receivers Operating in CC mode at 16.0
GT/s
3377
3856
Figure 8-37 Sj Masks for Receivers Operating in CC Mode at 8.0
GT/s and 16.0 GT/s
3379
3857
Figure 8-41 Sj Mask for Receivers Operating in SRIS mode at
32.0 GT/s
3858
3380
Figure 8-38 Layout for Jitter Testing Common Refclk Rx at 16.0
3859
GT/s
Figure 8-42 Sj Mask for Receivers Operating in CC mode at 32.0
GT/s
3381
3382
Figure 8-38 Sj Mask for Receivers Operating in IR mode at 8.0
GT/s
3373
3378
Figure 8-37 Layout for Calibrating the Stressed Jitter Eye at
16.0 GT/s
3860
Figure 8-39 Layout for Jitter Testing for Independent Refclk Rx
at 16.0 GT/s
3383
3861
Figure 8-43 Sj Masks for Receivers Operating in CC Mode at 8.0
GT/s
3862
3384
Figure 8-40 Exit from Idle Voltage and Time Margins
3863
Figure 8-44 Layout for Jitter Testing Common Refclk Rx at 16.0
GT/s
3385
3864
3386
Figure 8-41 Allowed Ranges for Maximum Timing and Voltage
3865
Margins
3387
Figure 8-45 Layout for Jitter Testing for Independent Refclk Rx
at 16.0 GT/s
3866
3388
Figure 8-42 Flow Diagram for Channel Tolerancing at 2.5 and 5.0
3867
Figure 8-46 Exit from Idle Voltage and Time Margins
GT/s
3389
3868
3390
Figure 8-43 Flow Diagram for Channel Tolerancing at 8.0 and
3869
16.0 GT/s
3391
3392
Figure 8-47 Allowed Ranges for Maximum Timing and Voltage
Margins
3870
Figure 8-44 Tx/Rx Behavioral Package Models
3871
Figure 8-48 Flow Diagram for Channel Tolerancing at 2.5 and 5.0
GT/s
3393
3394
3872
Figure 8-45 Behavioral Tx and Rx S-Port Designation
3873
Figure 8-49 Flow Diagram for Channel Tolerancing at 8.0 and
16.0 GT/s
3395
3396
3874
Figure 8-46 SDD21 Plots for Root and Non-Root Packages
3397
3398
Figure 8-50 Tx/Rx Behavioral Package Models
3876
Figure 8-47 Derivation of 8.0 GT/s Jitter Parameters for
3399
3400
3875
3877
Figure 8-51 Behavioral Tx and Rx S-Port Designation for 8.0 and
16.0 GT/s Packages
3878
Figure 8-48 EH, EW Mask
3879
Figure 8-52 SDD21 Plots for Root and Non-Root Packages for 16.0
GT/s
3401
3402
3880
Figure 8-49 Refclk Test Setup
3881
Figure 8-53 Insertion Loss for Root Reference Package for 32.0
GT/s
Page 50
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3881
Figure 8-53 Insertion Loss for Root Reference Package for 32.0
GT/s
3403
3404
3882
Figure 8-50 Single-Ended Measurement Points for Absolute Cross
Point and Swing
3405
3883
3884
3406
Figure 8-51 Single-Ended Measurement Points for Delta Cross
3885
Point
Figure 8-55 NEXT for Root Reference Package (Worst Case) for
32.0 GT/s
3407
3408
Figure 8-54 Return Loss for Root Reference Package for 32.0 GT/
s
3886
Figure 8-52 Single-Ended Measurement Points for Rise and Fall
Time Matching
3409
3887
Figure 8-56 FEXT for Root Reference Package (Worst Case) for
32.0 GT/s
3888
3410
Figure 8-53 Differential Measurement Points for Duty Cycle and
3889
Period
Figure 8-57 Insertion Loss for Non-Root Reference Package for
32.0 GT/s
3411
3890
3412
Figure 8-54 Differential Measurement Points for Rise and Fall
3891
Time
Figure 8-58 Return Loss for Non-Root Reference Package for 32.0
GT/s
3413
3892
3414
Figure 8-55 Differential Measurement Points for Ringback
3415
3893
Figure 8-59 NEXT for Non-Root Reference Package (Worst Case)
for 32.0 GT/s
3894
3416
Figure 8-56 Limits for phase jitter from the Reference
3417
3895
Figure 8-60 FEXT for Non-Root Reference Package (Worst Case)
for 32.0 GT/s
3896
3418
Figure 8-57 5 MHz PLL Transfer Function Example
3419
3897
Figure 8-61 32.0 GT/s Reference Package Port Connections for
Pin to Pin Channel Evaluation
3898
3420
Figure 8-58 Common Refclk Rx Architecture
3899
Figure 8-62 Example Derivation of 8.0 GT/s Jitter Parameters
for
3421
3900
3422
Figure 8-59 Common Refclk PLL and CDR Characteristics for 2.5
3901
Figure 8-63 EH, EW Mask
GT/s
3423
3902
3424
Figure 8-60 Common Refclk PLL and CDR Characteristics for 5.0
3903
GT/s
3425
3426
Figure 8-64 Oscilloscope Refclk Test Setup For All Cases Except
Jitter at 32.0 GT/s
3904
Figure 8-61 Common Refclk PLL and CDR Characteristics for 8.0
and 16.0 GT/s
3905
Figure 8-65 Single-Ended Measurement Points for Absolute Cross
Point and Swing
3906
3907
Figure 8-66 Single-Ended Measurement Points for Delta Cross
Point
3908
3909
Figure 8-67 Single-Ended Measurement Points for Rise and Fall
Time Matching
3910
3911
Figure 8-68 Differential Measurement Points for Duty Cycle and
Period
3912
3913
Figure 8-69 Differential Measurement Points for Rise and Fall
Time
3914
3915
Page 51
Figure 8-70 Differential Measurement Points for Ringback
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3915
Figure 8-70 Differential Measurement Points for Ringback
3916
3917
Figure 8-71 Limits for phase jitter from the Reference with
5000 ppm SSC
3918
3919
Figure 8-72 5 MHz PLL Transfer Function Example
3920
3921
Figure 8-73 Common Refclk Rx Architecture for all Data Rates
Except 32.0 GT/s
3922
3923
Figure 8-74 Common Refclk PLL and CDR Characteristics for 2.5
GT/s
3924
3925
Figure 8-75 Common Refclk PLL and CDR Characteristics for 5.0
GT/s
3926
3927
Figure 8-76 Common Refclk PLL and CDR Characteristics for 8.0
and 16.0 GT/s
3928
3929
Figure 8-77 Common Refclk PLL and CDR Characteristics for 32.0
GT/s
3427
3930
3428
Figure 9-1 Generic Platform Configuration
3429
3430
3931
Figure 9-1 Generic Platform Configuration
3932
Figure 9-2 Generic Platform Configuration with a VI and
Multiple SI
3431
3933
Figure 9-2 Generic Platform Configuration with a VI and
Multiple SI
3934
3432
Figure 9-3 Generic Platform Configuration with SR-IOV and IOV
3935
Enablers
3433
3434
3936
Figure 9-4 Example Multi-Function Device
3435
3436
3439
3937
Figure 9-4 Example Multi-Function Device
3938
Figure 9-5 Example SR-IOV Single PF Capable Device
3437
3438
Figure 9-3 Generic Platform Configuration with SR-IOV and IOV
Enablers
3939
Figure 9-5 Example SR-IOV Single PF Capable Device
3940
Figure 9-6 Example SR-IOV Multi-PF Capable Device
3941
Figure 9-6 Example SR-IOV Multi-PF Capable Device
3942
3943
Figure 9-7 Example SR-IOV Device with Multiple Bus Numbers
3944
3945
Figure 9-8 Example SR-IOV Device with a Mixture of Function
Types
3946
3947
Figure 9-9 I/O Virtualization Interoperability
3948
3949
Figure 9-10 BAR Space Example for Single BAR Device
3950
3951
Figure 9-11 Initial VF Migration State Array
3952
3953
Figure 9-12 VF Migration State Diagram
3954
3955
3956
Page 52
Figure 9-13 SR-IOV Extended Capability
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3956
3957
Figure 9-14 SR-IOV Extended Capability Header
3958
3959
Figure 9-15 SR-IOV Capabilities Register
3960
3961
Figure 9-16 SR-IOV Control Register
3962
3963
Figure 9-17 SR-IOV Status
3964
3965
Figure 9-18 VF Migration State Array Offset
3966
3967
Figure 9-19 VF Migration State Entry
3968
3969
Figure 9-20 PF/VF Type 0 Configuration Space Header
3970
3971
Figure 9-21 VF Resizable BAR Extended Capability
3972
3973
Figure 9-22 VF Resizable BAR Extended Capability Header
3974
3975
Figure 9-23 VF Resizable BAR Control Register
3976
3977
Figure 9-24 MSI-X Capability
3978
3440
Figure 10-1 Example Illustrating a Platform with TA, ATPT, and
ATC Elements
3441
3979
3980
3442
Figure 10-2 Example ATS Translation Request/Completion
3981
Exchange
3982
3444
Figure 10-3 Example Multi-Function Device with ATC per
3983
Function
Figure 10-3 Example Multi-Function Device with ATC per
Function
3445
3984
Figure 10-4 Invalidation Protocol with a Single Invalidation
Request and Completion
3447
3448
Figure 10-2 Example ATS Translation Request/Completion
Exchange
3443
3446
Figure 10-1 Example Illustrating a Platform with TA, ATPT, and
ATC Elements
3985
Figure 10-4 Invalidation Protocol with a Single Invalidation
Request and Completion
3986
Figure 10-5 Single Invalidate Request with Multiple Invalidate
Completions
3449
3987
Figure 10-5 Single Invalidate Request with Multiple Invalidate
Completions
3988
3450
Figure 10-6 Memory Request Header with 64-bit Address
3451
3989
Figure 10-6 Memory Request Header with 64-bit Address
3990
3452
Figure 10-7 Figure 10-7: Memory Request Header with 32-bit
3991
Figure 10-7 Memory Request Header with 32-bit Address
Address
3453
3454
3992
Figure 10-8 64-bit Translation Request Header
3455
3456
Figure 10-9 32-bit Translation Request Header
3461
Page 53
3995
Figure 10-9 32-bit Translation Request Header
3996
Figure 10-10 Translation Completion with No Data
3459
3460
Figure 10-8 64-bit Translation Request Header
3994
3457
3458
3993
3997
Figure 10-10 Translation Completion with No Data
3998
Figure 10-11 Successful Translation Completion
3999
4000
Figure 10-11 Successful Translation Completion
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3461
4000
3462
Figure 10-12 Translation Completion Data Entry
4001
Figure 10-12 Translation Completion Data Entry
3470
Figure 10-16 Page Request Message
4009
Figure 10-16 Page Request Message
3471
4010
3472
Figure 10-17 Stop Marker Message
3473
Figure 10-18 PRG Response Message
3475
4013
Figure 10-19 ATS Extended Capability Structure
3477
4015
Figure 10-19 ATS Extended Capability Structure
4016
3478
Figure 10-20 ATS Extended Capability Header
3479
4017
Figure 10-20 ATS Extended Capability Header
4018
3480
Figure 10-21 ATS Capability Register
3481
4019
Figure 10-21 ATS Capability Register (Offset 04h)
4020
3482
Figure 10-22 ATS Control Register
3483
4021
Figure 10-22 ATS Control Register
4022
3484
Figure 10-23 Page Request Extended Capability Structure
3485
4023
Figure 10-23 Page Request Extended Capability Structure
4024
3486
Figure 10-24 Page Request Extended Capability Header
3487
4025
Figure 10-24 Page Request Extended Capability Header
4026
3488
Figure 10-25 Page Request Control Register
3489
4027
Figure 10-25 Page Request Control Register
4028
3490
Figure 10-26 Page Request Status Register
3491
4029
Figure 10-26 Page Request Status Register
4030
Figure A-1 An Example Showing Endpoint-to-Root-Complex and
Peer-to-Peer Communication Models
3493
4031
Figure A-1 An Example Showing Endpoint-to-Root-Complex and
Peer-to-Peer Communication Models
4032
Figure A-2 Two Basic Bandwidth Resourcing Problems: OverSubscription and Congestion
3495
4033
Figure A-2 Two Basic Bandwidth Resourcing Problems: OverSubscription and Congestion
4034
3496
Figure A-3 Isochronous Bandwidth Ranges and Granularities
4035
3497
3498
Figure 10-18 PRG Response Message
4014
3476
3494
Figure 10-17 Stop Marker Message
4012
3474
3492
4011
Figure A-3 A Simplified Example Illustrating PCI Express
Isochronous Parameters
Figure A-4 A Simplified Example Illustrating PCI Express
Isochronous Parameters
3499
3500
4036
Figure C-1 Scrambling Spectrum at 2.5 GT/s for Data Value of 0
3501
3502
Figure E-1 Reference Topology for IDO Use
4039
Figure E-1 Reference Topology for IDO Use
4040
Figure G-1 Device and Processor Connected Using a PMUX Link
3505
3506
Figure C-1 Scrambling Spectrum at 2.5 GT/s for Data Value of 0
4038
3503
3504
4037
4041
Figure G-1 Device and Processor Connected Using a PMUX Link
4042
Figure G-2 PMUX Link
3507
4043
Figure G-2 PMUX Link
4044
3508
Figure G-3 PMUX Packet Flow Through the Layers
4045
Figure G-3 PMUX Packet Flow Through the Layers
3522
Figure G-10 PMUX Control Register
4059
Figure G-10 PMUX Control Register
3523
3524
4060
Figure G-11 PMUX Status Register
3525
3526
4061
Figure G-12 PMUX Protocol Array Entry
4063
3527
4064
3528
4065
Page 54
Figure G-11 PMUX Status Register
4062
Figure G-12 PMUX Protocol Array Entry
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3528
4065
3529
4066
3530
4067
3531
3532
4068
Table of Equations
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
Equation 8-1 Equation 8-1
3562
3563
Equation 8-2 Equation 8-2
3564
3565
Equation 8-3 SRIS Behavioral CDR at 8.0 and 16.0 GT/s
3566
3567
Equation 8-4 SRIS Behavioral CDR Parameters at 8.0 GT/s
3568
3569
Equation 8-5 SRIS Behavioral CDR Parameters at 16.0 GT/s
3570
3571
3572
3573
3574
3575
3576
3577
3578
Page 55
Equation 8-6 Equation 8-6
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
Table of Tables
4069
3596
4070
3597
4071
Table of Tables
3598
3599
3600
Table 2-1 Transaction Types for Different Address Spaces
3601
3602
Table 2-2 Fmt[2:0] Field Values
Table 2-3 Fmt[2:0] and Type[4:0] Field Encodings
Table 2-4 Length[9:0] Field Encoding
Table 2-5 Address Field Mapping
Table 2-17 Message Routing
Table 2-18 INTx Mechanism Messages
Table 2-19 Bridge Mapping for INTx Virtual Wires
Table 2-20 Power Management Messages
Table 2-21 Error Signaling Messages
Table 2-22 Unlock Message
Table 2-23 Set_Slot_Power_Limit Message
Table 2-24 Vendor_Defined Messages
Page 56
Table 2-18 INTx Mechanism Messages
4108
Table 2-19 Bridge Mapping for INTx Virtual Wires
4110
Table 2-20 Power Management Messages
4112
Table 2-21 Error Signaling Messages
4114
Table 2-22 ERR_COR Subclass (ECS) Field Encodings
4116
Table 2-23 Unlock Message
4118
Table 2-24 Set_Slot_Power_Limit Message
4119
Table 2-25 Notification Reason (NR) Field Encodings
3649
3650
4106
4117
3647
3648
Table 2-17 Message Routing
4115
3645
3646
4104
4113
3643
3644
Table 2-5 Address Field Mapping
4111
3641
3642
4080
4109
3639
3640
Table 2-4 Length[9:0] Field Encoding
4107
3637
3638
4078
4105
3635
3636
Table 2-3 Fmt[2:0] and Type[4:0] Field Encodings
4081
3633
3634
4076
4079
3609
3632
Table 2-2 Fmt[2:0] Field Values
4077
3607
3608
4074
4075
3605
3606
Table 2-1 Transaction Types for Different Address Spaces
4073
3603
3604
4072
4120
Table 2-25 Vendor_Defined Messages
4121
Table 2-26 LN Messages
4122
Table 2-26 Notification Reason (NR) Field Encodings
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3650
Table 2-26 LN Messages
3651
Table 2-27 Table 2-27: DRS Message
3653
Table 2-28 FRS Message
3655
Table 2-29 Hierarchy ID Message
3657
4126
Table 2-28 DRS Message
4128
Table 2-29 FRS Message
4129
3658
Table 2-30 Ignored Messages
3659
4130
Table 2-30 Hierarchy ID Message
4131
3660
Table 2-31 LTR Message
3661
4132
Table 2-31 Ignored Messages
4133
3662
Table 2-32 OBFF Message
3663
4134
Table 2-32 LTR Message
4135
3664
Table 2-33 Precision Time Measurement Messages
3665
4136
Table 2-33 OBFF Message
4137
3666
Table 2-34 Completion Status Field Values
3667
4138
Table 2-34 Precision Time Measurement Messages
4139
3668
Table 2-35 Local TLP Prefix Types
3669
4140
Table 2-35 Completion Status Field Values
4141
3670
Table 2-36 End-End TLP Prefix Types
3671
4142
Table 2-36 Local TLP Prefix Types
4143
3672
Table 2-37 Calculating Byte Count from Length and Byte Enables
3673
4144
Table 2-37 End-End TLP Prefix Types
4145
3674
Table 2-38 Calculating Lower Address from 1st DW BE
3675
4146
Table 2-38 Calculating Byte Count from Length and Byte Enables
4147
3676
Table 2-39 Ordering Rules Summary
3677
4148
Table 2-39 Calculating Lower Address from First DW BE
4149
3678
Table 2-40 TC to VC Mapping Example
3679
4150
Table 2-40 Ordering Rules Summary
4151
3680
Table 2-41 Flow Control Credit Types
3681
4152
Table 2-41 TC to VC Mapping Example
4153
3682
Table 2-42 TLP Flow Control Credit Consumption
3683
4154
Table 2-42 Flow Control Credit Types
4155
3684
Table 2-43 Minimum Initial Flow Control Advertisements
3685
4156
Table 2-43 TLP Flow Control Credit Consumption
4157
3686
Table 2-44 [Field Size] Values
3687
4158
Table 2-44 Minimum Initial Flow Control Advertisements
4159
Table 2-45 Maximum UpdateFC Transmission Latency Guidelines for
2.5 GT/s (Symbol Times)
3689
4160
Table 2-45 [Field Size] Values
4161
Table 2-46 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s (Symbol Times)
3691
4162
Table 2-46 Maximum UpdateFC Transmission Latency Guidelines for
2.5 GT/s (Symbol Times)
4163
Table 2-47 Maximum UpdateFC Transmission Latency Guidelines for
8.0 GT/s (Symbol Times)
3693
3694
Table 2-27 LN Messages
4127
3656
3692
4124
4125
3654
3690
Table 2-26 Notification Reason (NR) Field Encodings
4123
3652
3688
4122
4164
Table 2-47 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s (Symbol Times)
4165
Table 2-48 Maximum UpdateFC Transmission Latency Guidelines for
16.0 GT/s (Symbol Times)
3695
3696
Page 57
4166
Table 2-48 Maximum UpdateFC Transmission Latency Guidelines for
8.0 GT/s and Higher Data Rates (Symbol Times)
4167
Table 2-49 Mapping of Bits into ECRC Field
4168
Table 2-49 Mapping of Bits into ECRC Field
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3696
Table 2-49 Mapping of Bits into ECRC Field
3697
4168
Table 2-49 Mapping of Bits into ECRC Field
4169
3698
Table 3-1 Data Link Feature Supported Bit Definition
3699
4170
Table 3-1 Data Link Feature Supported Bit Definition
4171
3700
Table 3-2 Scaled Flow Control Scaling Factors
3701
4172
Table 3-2 Scaled Flow Control Scaling Factors
4173
3702
Table 3-3 DLLP Type Encodings
3703
4174
Table 3-3 DLLP Type Encodings
4175
3704
Table 3-4 HdrScale and DataScale Encodings
3705
4176
Table 3-4 HdrScale and DataScale Encodings
4177
3706
Table 3-5 Mapping of Bits into CRC Field
3707
4178
Table 3-5 Mapping of Bits into CRC Field
4179
3708
Table 3-6 Mapping of Bits into LCRC Field
3709
4180
Table 3-6 Mapping of Bits into LCRC Field
4181
3710
Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
4182
Times)
Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
Times)
3711
4183
3712
Table 3-8 Maximum Ack Latency Limits for 5.0 GT/s (Symbol
4184
Times)
Table 3-8 Maximum Ack Latency Limits for 5.0 GT/s (Symbol
Times)
3713
4185
3714
Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s (Symbol
4186
Times)
Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s and higher
data rates (Symbol Times)
3715
3716
Table 3-10 Maximum Ack Latency Limits for 16.0 GT/s (Symbol
Times)
3717
4187
3718
Table 4-1 Special Symbols
3719
4188
Table 4-1 Special Symbols
4189
3720
Table 4-2 Framing Token Encoding
3721
4190
Table 4-2 Framing Token Encoding
4191
3722
Table 4-3 Transmitter Preset Encoding
4192
Table 4-3 Equalization requirements under different conditions
3723
3724
Table 4-4 Receiver Preset Hint Encoding for 8.0 GT/s
3725
3726
Table 4-5 TS1 Ordered Set
3727
3728
Table 4-6 TS2 Ordered Set
3729
3730
4193
Table 4-7 Electrical Idle Ordered Set (EIOS) for 2.5 GT/s and
5.0 GT/s Data Rates
3731
3732
4194
Table 4-4 Transmitter Preset Encoding
4195
Table 4-8 Electrical Idle Ordered Set (EIOS) for 8.0 GT/s and
Above Data Rates
3733
4196
Table 4-5 Receiver Preset Hint Encoding for 8.0 GT/s
4197
3734
Table 4-9 Electrical Idle Exit Ordered Set (EIEOS) for 5.0 GT/s
4198
Table 4-6 TS1 Ordered Set
Data Rate
3735
3736
4199
Table 4-10 Electrical Idle Exit Ordered Set (EIEOS) for 8.0 GT/
s Data Rates
3737
3738
4200
Table 4-7 TS2 Ordered Set
4201
Table 4-11 Electrical Idle Exit Ordered Set (EIEOS) for 16.0
GT/s Data Rate
Page 58
4202
Table 4-8 Modified TS1/TS2 Ordered Set (8b/10b encoding)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3738
Table 4-11 Electrical Idle Exit Ordered Set (EIEOS) for 16.0
GT/s Data Rate
3739
4202
Table 4-8 Modified TS1/TS2 Ordered Set (8b/10b encoding)
4203
3740
Table 4-12 Electrical Idle Inference Conditions
3741
4204
Table 4-9 Modified TS Information 1 field in Modified TS1/TS2
Ordered Sets if Modified TS Usage = 010b (Alternate Protocol)
4205
3742
Table 4-13 FTS for 8.0 GT/s and Above Data Rates
3743
4206
Table 4-10 Electrical Idle Ordered Set (EIOS) for 2.5 GT/s and
5.0 GT/s Data Rates
4207
3744
Table 4-14 SDS Ordered Set (for 8.0 GT/s and Above Data Rate)
3745
4208
Table 4-11 Electrical Idle Ordered Set (EIOS) for 8.0 GT/s and
Above Data Rates
4209
3746
Table 4-15 Link Status Mapped to the LTSSM
3747
4210
Table 4-12 Electrical Idle Exit Ordered Set (EIEOS) for 5.0 GT/
s Data Rate
4211
3748
Table 4-16 Standard SKP Ordered Set with 128b/130b Encoding
3749
4212
Table 4-13 Electrical Idle Exit Ordered Set (EIEOS) for 8.0 GT/
s Data Rates
4213
3750
Table 4-17 Control SKP Ordered Set with 128b/130b Encoding
3751
4214
Table 4-14 Electrical Idle Exit Ordered Set (EIEOS) for 16.0
GT/s Data Rate
4215
4216
3752
Table 4-15 Electrical Idle Exit Ordered Set (EIEOS) for 32.0
GT/s Data Rate
4217
4218
3753
Table 4-16 Electrical Idle Inference Conditions
4219
4220
3754
Table 4-17 FTS for 8.0 GT/s and Above Data Rates
4221
4222
Table 4-18 SDS Ordered Set (for 8.0 GT/s and 16.0 GT/s Data
Rate)
3755
4223
4224
Table 4-19 SDS Ordered Set (for 32.0 GT/s and higher Data
Rate)
3756
4225
4226
3757
4228
3758
Table 4-21 Compliance Pattern Settings
4229
4230
3759
Table 4-22 Standard SKP Ordered Set with 128b/130b Encoding
4231
4232
3760
Table 4-23 Control SKP Ordered Set with 128b/130b Encoding
4233
4234
3761
Table 4-24 Illustration of Modified Compliance Pattern
4235
4236
3762
Table 4-25 Margin Command Related Fields in the Control SKP
Ordered Set
4237
4238
3763
3764
Table 4-20 Link Status Mapped to the LTSSM
4227
Table 4-26 Margin Commands and Corresponding Responses
4239
Table 4-24 Margin Command Related Fields in the Control SKP
Ordered Set
Page 59
4240
Table 4-27 Maximum Retimer Exit Latency
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3764
Table 4-24 Margin Command Related Fields in the Control SKP
Ordered Set
3765
4241
3766
Table 4-25 Margin Commands and Corresponding Responses
3767
4242
Table 4-28 Inferring Electrical Idle
4243
3768
Table 4-26 Maximum Retimer Exit Latency
3769
4244
Table 4-29 Retimer Latency Limit not SRIS (Symbol times)
4245
3770
Table 4-27 Inferring Electrical Idle
4246
Table 4-30 Retimer Latency Limit SRIS (Symbol times)
3771
3772
Table 4-28 Retimer Latency Limit not SRIS (Symbol times)
3773
3774
Table 4-29 Retimer Latency Limit SRIS (Symbol times)
3775
4247
3776
Table 5-1 Summary of PCI Express Link Power Management States
3777
4248
Table 5-1 Summary of PCI Express Link Power Management States
4249
3778
Table 5-2 Relation Between Power Management States of Link and
4250
Components
Table 5-2 Relation Between Power Management States of Link and
Components
3779
4251
3780
Table 5-3 Encoding of the ASPM Support Field
3781
4252
Table 5-3 Encoding of the ASPM Support Field
4253
3782
Table 5-4 Description of the Slot Clock Configuration Bit
3783
4254
Table 5-4 Description of the Slot Clock Configuration Bit
4255
3784
Table 5-5 Description of the Common Clock Configuration Bit
4256
3790
Table 5-8 Encoding of the Endpoint L0s Acceptable Latency
4262
Field
4263
Table 5-9 Encoding of the Endpoint L1 Acceptable Latency Field
3793
3794
Table 5-10 Encoding of the ASPM Control Field
Table 5-11 L1.2 Timing Parameters
4266
Table 5-10 Encoding of the ASPM Control Field
4268
Table 5-11 L1.2 Timing Parameters
4269
Table 5-12 Power Management System Messages and DLLPs
3799
3800
Table 5-9 Encoding of the Endpoint L1 Acceptable Latency Field
4267
3797
3798
4264
4265
3795
3796
Table 5-8 Encoding of the Endpoint L0s Acceptable Latency
Field
3791
3792
Table 5-5 Description of the Common Clock Configuration Bit
4270
Table 5-12 Power Management System Messages and DLLPs
4271
Table 5-13 D0 Power Management Policies
4272
Table 5-13 PCI Function State Transition Delays
3801
3802
Table 5-14 D1 Power Management Policies
3803
3804
Table 5-15 D2 Power Management Policies
3805
3806
Table 5-16 D3hot Power Management Policies
3807
3808
Table 5-17 D3cold Power Management Policies
3809
3810
Table 5-18 PCI Function State Transition Delays
3811
3812
4273
Table 6-1 Error Messages
3813
3814
3817
Page 60
Table 6-1 Error Messages
4275
Table 6-2 General PCI Express Error List
3815
3816
4274
4276
Table 6-2 General PCI Express Error List
4277
Table 6-3 Physical Layer Error List
4278
4279
Table 6-3 Physical Layer Error List
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3817
4279
3818
Table 6-4 Data Link Layer Error List
3819
4280
Table 6-4 Data Link Layer Error List
4281
3820
Table 6-5 Transaction Layer Error List
3821
4282
Table 6-5 Transaction Layer Error List
4283
3822
Table 6-6 Elements of Hot-Plug
4284
Table 6-6 Multi-Function Arbitration Error Model Example
3823
3824
Table 6-7 Attention Indicator States
3825
4285
3826
Table 6-8 Power Indicator States
3827
3828
4286
Table 6-7 Elements of Hot-Plug
4287
Table 6-9 ACS P2P Request Redirect and ACS P2P Egress Control
Interactions
3829
3830
Table 6-11 Processing Hint Mapping
Table 6-13 PASID TLP Prefix
Table 6-14 Emergency Power Reduction Supported Values
4294
Table 6-15 System GUID Authority ID Encoding
4296
4298
4300
4302
4304
Table 6-14 PASID TLP Prefix
Table 6-15 Emergency Power Reduction Supported Values
Table 6-16 System GUID Authority ID Encoding
4305
Table 6-17 Small Resource Data Type Tag Bit Definitions
3845
4306
Table 6-17 Small Resource Data Type Tag Bit Definitions
4307
Table 6-18 Large Resource Data Type Tag Bit Definitions
3847
4308
Table 6-18 Large Resource Data Type Tag Bit Definitions
4309
Table 6-19 Resource Data Type Flags for a Typical VPD
3849
3850
Table 6-13 ST Modes of Operation
4303
3843
3848
Table 6-12 Processing Hint Mapping
4301
3842
3846
Table 6-11 ECRC Rules for MC_Overlay
4299
3841
3844
Table 6-10 ACS P2P Request Redirect and ACS P2P Egress Control
Interactions
4297
3839
3840
4292
4295
3837
3838
Table 6-9 Power Indicator States
4293
Table 6-12 ST Modes of Operation
3835
3836
4290
4291
3833
3834
Table 6-8 Attention Indicator States
4289
Table 6-10 ECRC Rules for MC_Overlay
3831
3832
4288
4310
Table 6-19 Resource Data Type Flags for a Typical VPD
4311
Table 6-20 Example of Add-in Serial Card Number
3851
4312
Table 6-20 Example of Add-in Serial Card Number
4313
3852
Table 6-21 VPD Large and Small Resource Data Tags
4314
Table 6-21 VPD Large and Small Resource Data Tags
3860
Table 6-25 NPEM States
4322
Table 6-25 NPEM States
3861
3862
4323
Table 7-1 Enhanced Configuration Address Mapping
3863
3864
Table 7-2 Register and Register Bit-Field Types
Table 7-3 Command Register
Page 61
Table 7-2 Register and Register Bit-Field Types
4328
Table 7-3 Command Register
4329
Table 7-4 Status Register
3869
3870
4326
4327
3867
3868
Table 7-1 Enhanced Configuration Address Mapping
4325
3865
3866
4324
4330
Table 7-4 Status Register
4331
Table 7-5 Table 7-5: Class Code Register
4332
Table 7-5 Class Code Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3870
Table 7-5 Table 7-5: Class Code Register
3871
4332
Table 7-5 Class Code Register
4333
3872
Table 7-6 Header Type Register
3873
4334
Table 7-6 Header Type Register
4335
3874
Table 7-7 Table 7-7: BIST Register
3875
4336
Table 7-7 BIST Register
4337
3876
Table 7-8 Table 7-8: Memory Base Address Register Bits 2:1
4338
Table 7-8 Memory Base Address Register Bits 2:1 Encoding
Encoding
3877
3878
4339
Table 7-9 I/O Addressing Capability
3879
3880
Table 7-10 Secondary Status Register
Table 7-11 Table 7-11: Bridge Control Register
Table 7-12 Power Management Capabilities Register
Table 7-13 Power Management Control/Status Register
Table 7-14 Table 7-14: Data Register
Table 7-15 Power Consumption/Dissipation Reporting
Table 7-16 PCI Express Capability List Register
Table 7-17 PCI Express Capabilities Register
Table 7-18 Device Capabilities Register
Table 7-19 Device Control Register
Table 7-20 Device Status Register
Table 7-21 Link Capabilities Register
Table 7-22 Link Control Register
Table 7-23 Link Status Register
Table 7-24 Slot Capabilities Register
Table 7-25 Slot Control Register
Table 7-26 Slot Status Register
Table 7-27 Root Control Register
3919
Page 62
Table 7-18 PCI Express Capabilities Register
4360
Table 7-19 Device Capabilities Register
4362
Table 7-20 Device Control Register
4364
Table 7-21 Device Status Register
4366
Table 7-22 Link Capabilities Register
4368
Table 7-23 Link Control Register
4370
Table 7-24 Link Status Register
4372
Table 7-25 Slot Capabilities Register
4374
Table 7-26 Slot Control Register
4376
Table 7-27 Slot Status Register
4377
Table 7-28 Root Capabilities Register
3917
3918
4358
4375
3915
3916
Table 7-17 PCI Express Capability List Register
4373
3913
3914
4356
4371
3911
3912
Table 7-16 Power Consumption/Dissipation Reporting
4369
3909
3910
4354
4367
3907
3908
Table 7-15 Data Register
4365
3905
3906
4352
4363
3903
3904
Table 7-14 Power Management Control/Status Register
4361
3901
3902
4350
4359
3899
3900
Table 7-13 Power Management Capabilities Register
4357
3897
3898
4348
4355
3895
3896
Table 7-12 Bridge Control Register
4353
3893
3894
4346
4351
3891
3892
Table 7-11 Secondary Status Register
4349
3889
3890
4344
4347
3887
3888
Table 7-10 I/O Addressing Capability
4345
3885
3886
4342
4343
3883
3884
Table 7-9 Expansion ROM Base Address Register
4341
3881
3882
4340
4378
Table 7-28 Root Control Register
4379
Table 7-29 Root Status Register
4380
4381
Table 7-29 Root Capabilities Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3919
4381
3920
Table 7-30 Device Capabilities 2 Register
3921
4382
Table 7-30 Root Status Register
4383
3922
Table 7-31 Device Control 2 Register
3923
4384
Table 7-31 Device Capabilities 2 Register
4385
3924
Table 7-32 Link Capabilities 2 Register
3925
4386
Table 7-32 Device Control 2 Register
4387
3926
Table 7-33 Link Control 2 Register
3927
4388
Table 7-33 Link Capabilities 2 Register
4389
3928
Table 7-34 Link Status 2 Register
3929
4390
Table 7-34 Link Control 2 Register
4391
3930
Table 7-35 PCI Express Extended Capability Header
3931
4392
Table 7-35 Link Status 2 Register
4393
3932
Table 7-36 MSI Capability Header
3933
4394
Table 7-36 Slot Capabilities 2 Register
4395
3934
Table 7-37 Message Control Register for MSI
3935
4396
Table 7-37 PCI Express Extended Capability Header
4397
3936
Table 7-38 Message Address Register for MSI
3937
4398
Table 7-38 MSI Capability Header
4399
3938
Table 7-39 Message Upper Address Register for MSI
3939
4400
Table 7-39 Message Control Register for MSI
4401
3940
Table 7-40 Message Data Register for MSI
3941
4402
Table 7-40 Message Address Register for MSI
4403
3942
Table 7-41 Extended Message Data Register for MSI
3943
4404
Table 7-41 Message Upper Address Register for MSI
4405
3944
Table 7-42 Mask Bits Register for MSI
3945
4406
Table 7-42 Message Data Register for MSI
4407
3946
Table 7-43 Pending Bits Register for MSI
3947
4408
Table 7-43 Extended Message Data Register for MSI
4409
3948
Table 7-44 MSI-X Capability Header
3949
4410
Table 7-44 Mask Bits Register for MSI
4411
3950
Table 7-45 Message Control Register for MSI-X
3951
4412
Table 7-45 Pending Bits Register for MSI
4413
3952
Table 7-46 Table Offset/Table BIR Register for MSI-X
3953
4414
Table 7-46 MSI-X Capability Header
4415
3954
Table 7-47 PBA Offset/PBA BIR Register for MSI-X
3955
4416
Table 7-47 Message Control Register for MSI-X
4417
3956
Table 7-48 Message Address Register for MSI-X Table Entries
3957
4418
Table 7-48 Table Offset/Table BIR Register for MSI-X
4419
3958
Table 7-49 Message Upper Address Register for MSI-X Table
4420
Table 7-49 PBA Offset/PBA BIR Register for MSI-X
Entries
3959
3960
4421
Table 7-50 Message Data Register for MSI-X Table Entries
3961
3962
4422
Table 7-50 Message Address Register for MSI-X Table Entries
4423
Table 7-51 Vector Control Register for MSI-X Table Entries
4424
Table 7-51 Message Upper Address Register for MSI-X Table
Entries
3963
3964
4425
Table 7-52 Pending Bits Register for MSI-X PBA Entries
3965
3966
3967
Page 63
4426
Table 7-52 Message Data Register for MSI-X Table Entries
4427
Table 7-53 Secondary PCI Express Extended Capability Header
4428
4429
Table 7-53 Vector Control Register for MSI-X Table Entries
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
3967
4429
3968
Table 7-54 Link Control 3 Register
4430
Table 7-54 Pending Bits Register for MSI-X PBA Entries
3969
3970
Table 7-55 Lane Error Status Register
3971
3972
Table 7-56 Lane Equalization Control Register Entry
3973
4431
4432
3974
Table 7-55 Secondary PCI Express Extended Capability Header
4433
4434
3975
Table 7-56 Link Control 3 Register
4435
4436
3976
Table 7-57 Lane Error Status Register
4437
4438
3977
Table 7-58 Lane Equalization Control Register Entry
4439
3978
Table 7-59 Data Link Feature Extended Capability Header
3979
4440
Table 7-59 Data Link Feature Extended Capability Header
4441
3980
Table 7-60 Table 7-58: Data Link Feature Capabilities Register
3981
4442
Table 7-60 Data Link Feature Capabilities Register
4443
3982
Table 7-61 Data Link Feature Status Register
3983
4444
Table 7-61 Data Link Feature Status Register
4445
3984
Table 7-62 Physical Layer 16.0 GT/s Extended Capability Header
3985
4446
Table 7-62 Physical Layer 16.0 GT/s Extended Capability Header
4447
3986
Table 7-63 16.0 GT/s Capabilities Register
3987
4448
Table 7-63 16.0 GT/s Capabilities Register
4449
3988
Table 7-64 16.0 GT/s Control Register
3989
4450
Table 7-64 16.0 GT/s Control Register
4451
3990
Table 7-65 16.0 GT/s Status Register
3991
4452
Table 7-65 16.0 GT/s Status Register
4453
3992
Table 7-66 16.0 GT/s Local Data Parity Mismatch Status
4454
Register
Table 7-66 16.0 GT/s Local Data Parity Mismatch Status
Register
3993
4455
3994
Table 7-67 16.0 GT/s First Retimer Data Parity Mismatch Status
4456
Register
Table 7-67 16.0 GT/s First Retimer Data Parity Mismatch Status
Register
3995
4457
3996
Table 7-68 16.0 GT/s Second Retimer Data Parity Mismatch Status
4458
Register
Table 7-68 16.0 GT/s Second Retimer Data Parity Mismatch Status
Register
3997
4459
3998
Table 7-69 16.0 GT/s Lane Equalization Control Register Entry
3999
4460
Table 7-69 16.0 GT/s Lane Equalization Control Register Entry
4461
4462
4000
Table 7-70 Physical Layer 32.0 GT/s Extended Capability Header
4463
4464
4001
Table 7-71 32.0 GT/s Capabilities Register
4465
4002
Table 7-71 Lane Margining at the Receiver Extended Capability
4466
Table 7-72 32.0 GT/s Control Register
Header
4003
4004
4467
Table 7-72 Margining Port Capabilities Register
4005
4006
4007
4468
Table 7-73 Margining Port Status Register
4470
Table 7-74 Received Modified TS Data 1 Register
4471
4472
Page 64
Table 7-73 32.0 GT/s Status Register
4469
Table 7-75 Received Modified TS Data 2 Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4472
4008
Table 7-75 Received Modified TS Data 2 Register
4473
4474
4009
4010
Table 7-75 Lane N: Margining Lane Status Register Entry
4011
4012
4476
Table 7-77 Transmitted Modified TS Data 2 Register
4477
Table 7-76 ACS Extended Capability Header
4013
4014
Table 7-76 Transmitted Modified TS Data 1 Register
4475
4478
Table 7-78 32.0 GT/s Lane Equalization Control Register Entry
4479
Table 7-77 ACS Capability Register
4480
Table 7-79 Lane Margining at the Receiver Extended Capability
Header
4015
4016
4481
Table 7-78 ACS Control Register
4017
4018
Table 7-79 Egress Control Vector Register
Table 7-80 Power Budgeting Extended Capability Header
Table 7-81 Power Budgeting Data Register
Table 7-82 Power Budgeting Capability Register
Table 7-83 LTR Extended Capability Header
Table 7-84 Max Snoop Latency Register
Table 7-85 Max No-Snoop Latency Register
Table 7-86 L1 PM Substates Extended Capability Header
Table 7-87 L1 PM Substates Capabilities Register
Table 7-88 L1 PM Substates Control 1 Register
Table 7-89 L1 PM Substates Control 2 Register
Table 7-90 Advanced Error Reporting Extended Capability Header
Table 7-91 Uncorrectable Error Status Register
Table 7-92 Uncorrectable Error Mask Register
Table 7-93 Uncorrectable Error Severity Register
Table 7-94 Correctable Error Status Register
Table 7-95 Correctable Error Mask Register
4055
Page 65
4500
Table 7-89 Power Budgeting Data Register
4502
Table 7-90 Power Budgeting Capability Register
4504
Table 7-91 LTR Extended Capability Header
4506
Table 7-92 Max Snoop Latency Register
4508
Table 7-93 Max No-Snoop Latency Register
4510
Table 7-94 L1 PM Substates Extended Capability Header
4512
Table 7-95 L1 PM Substates Capabilities Register
4514
Table 7-96 L1 PM Substates Control 1 Register
4516
Table 7-97 L1 PM Substates Control 2 Register
4517
Table 7-96 Advanced Error Capabilities and Control Register
4053
4054
Table 7-88 Power Budgeting Extended Capability Header
4515
4051
4052
4498
4513
4049
4050
Table 7-87 Egress Control Vector Register
4511
4047
4048
4496
4509
4045
4046
Table 7-86 ACS Control Register
4507
4043
4044
4494
4505
4041
4042
Table 7-85 ACS Capability Register
4503
4039
4040
4492
4501
4037
4038
Table 7-84 ACS Extended Capability Header
4499
4035
4036
4490
4497
4033
4034
Table 7-83 Lane N: Margining Lane Status Register Entry
4495
4031
4032
4488
4493
4029
4030
Table 7-82 Lane N: Margining Control Register Entry
4491
4027
4028
4486
4489
4025
4026
Table 7-81 Margining Port Status Register
4487
4023
4024
4484
4485
4021
4022
Table 7-80 Margining Port Capabilities Register
4483
4019
4020
4482
4518
Table 7-98 L1 PM Substates Status Register
4519
Table 7-97 Header Log Register
4520
4521
Table 7-99 Advanced Error Reporting Extended Capability Header
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4055
4521
4056
Table 7-98 Root Error Command Register
4057
4522
Table 7-100 Uncorrectable Error Status Register
4523
4058
Table 7-99 Root Error Status Register
4059
4524
Table 7-101 Uncorrectable Error Mask Register
4525
4060
Table 7-100 Error Source Identification Register
4061
4526
Table 7-102 Uncorrectable Error Severity Register
4527
4062
Table 7-101 TLP Prefix Log Register
4063
4528
Table 7-103 Correctable Error Status Register
4529
4064
Table 7-102 Table 7-98: First DW of Enhanced Allocation
4530
Table 7-104 Correctable Error Mask Register
Capability
4065
4066
4531
Table 7-103 Table 7-99: First DW of Each Entry for Enhanced
Allocation Capability
4067
4532
Table 7-105 Advanced Error Capabilities and Control Register
4533
4534
4068
Table 7-106 Header Log Register
4535
4536
4069
4070
Table 7-107 Root Error Command Register
4537
Table 7-105 Enhanced Allocation Entry Field Value Definitions
for both the Primary Properties and Secondary Properties Fields
4071
4072
Table 7-107 Resizable BAR Capability Register
Table 7-108 Resizable BAR Control Register
4542
Table 7-110 TLP Prefix Log Register
4544
Table 7-111 First DW of Enhanced Allocation Capability
4545
Table 7-109 ARI Capability Header
4079
4080
Table 7-109 Error Source Identification Register
4543
4077
4078
4540
4541
4075
4076
Table 7-108 Root Error Status Register
4539
Table 7-106 Resizable BAR Extended Capability Header
4073
4074
4538
4546
Table 7-112 Second DW of Enhanced Allocation Capability
4547
Table 7-110 ARI Capability Register
4548
Table 7-113 First DW of Each Entry for Enhanced Allocation
Capability
4081
4082
4549
Table 7-111 ARI Control Register
4083
4084
Table 7-113 PASID Capability Register
Table 7-114 Table 7-109: PASID Control Register
Table 7-115 FRS Queueing Extended Capability Header
Table 7-116 FRS Queueing Capability Register
Table 7-117 FRS Queueing Status Register
Page 66
Table 7-117 Resizable BAR Control Register
4558
Table 7-118 ARI Extended Capability Header
4560
Table 7-119 ARI Capability Register
4562
Table 7-120 ARI Control Register
4563
Table 7-118 FRS Queueing Control Register
4097
4098
4556
4561
4095
4096
Table 7-116 Resizable BAR Capability Register
4559
4093
4094
4554
4557
4091
4092
Table 7-115 Resizable BAR Extended Capability Header
4555
4089
4090
4552
4553
4087
4088
Table 7-114 Enhanced Allocation Entry Field Value Definitions
for both the Primary Properties and Secondary Properties Fields
4551
Table 7-112 PASID Extended Capability Header
4085
4086
4550
4564
Table 7-121 PASID Extended Capability Header
4565
Table 7-119 FRS Message Queue Register
4566
Table 7-122 PASID Capability Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4098
Table 7-119 FRS Message Queue Register
4099
4100
Table 7-120 FPB Capability Header
4568
Table 7-121 FPB Capabilities Register
4570
4572
4574
4576
4578
4580
4582
Table 7-125 FPB RID Vector Control 1 Register
4584
4586
Table 7-132 FPB RID Vector Control 2 Register
4587
4588
4113
Table 7-133 FPB MEM Low Vector Control Register
4589
4590
4114
Table 7-134 FPB MEM High Vector Control 1 Register
4591
4592
4115
Table 7-135 FPB MEM High Vector Control 2 Register
4593
Table 7-128 FPB RID Vector Control 2 Register
4117
4594
Table 7-136 FPB Vector Access Control Register
4595
Table 7-129 FPB MEM Low Vector Control Register
4119
4596
Table 7-137 FPB Vector Access Data Register
4597
4598
4120
Table 7-138 Virtual Channel Extended Capability Header
4599
4600
4121
Table 7-139 Port VC Capability Register 1
4601
4602
4122
Table 7-140 Port VC Capability Register 2
4603
4604
4123
Table 7-141 Port VC Control Register
4605
Table 7-132 FPB MEM High Vector Control 1 Register
4606
Table 7-142 Port VC Status Register
4607
4608
Table 7-143 VC Resource Capability Register
4609
4610
Table 7-144 VC Resource Control Register
4611
4612
Table 7-145 VC Resource Status Register
4613
4614
Page 67
Table 7-131 FPB RID Vector Control 1 Register
4585
4112
4129
Table 7-130 FPB Capabilities Register
4583
4111
4128
Table 7-129 FPB Capability Header
4581
4109
4127
Table 7-128 FRS Message Queue Register
4579
4108
4126
Table 7-127 FRS Queueing Control Register
4577
4107
4125
Table 7-126 FRS Queueing Status Register
4575
4106
4124
Table 7-125 FRS Queueing Capability Register
4573
4105
4118
Table 7-124 FRS Queueing Extended Capability Header
4571
4104
4116
Table 7-123 PASID Control Register
4569
4103
4110
Table 7-122 PASID Capability Register
4567
4101
4102
4566
4615
Table 7-146 Definition of the 4-bit Entries in the VC
Arbitration Table
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4129
4615
4130
Table 7-135 FPB MEM High Vector Control 2 Register
4616
Table 7-147 Length of the VC Arbitration Table
4617
4618
4131
Table 7-148 Length of Port Arbitration Table
4619
4620
4132
Table 7-149 MFVC Extended Capability Header
4621
4622
4133
Table 7-150 MFVC Port VC Capability Register 1
4623
4134
Table 7-137 FPB Vector Access Control Register
4135
4624
Table 7-151 MFVC Port VC Capability Register 2
4625
4626
4136
Table 7-152 MFVC Port VC Control Register
4627
4628
4137
4138
Table 7-139 FPB Vector Access Data Register
4139
4630
Table 7-154 MFVC VC Resource Capability Register
4631
4140
Table 7-140 Virtual Channel Extended Capability Header
4141
4632
Table 7-155 MFVC VC Resource Control Register
4633
4142
Table 7-141 Table 7-125: Port VC Capability Register 1
4143
4634
Table 7-156 MFVC VC Resource Status Register
4635
4144
Table 7-142 Port VC Capability Register 2
4145
4636
Table 7-157 Length of Function Arbitration Table
4637
4146
Table 7-143 Port VC Control Register
4147
4638
Table 7-158 Device Serial Number Extended Capability Header
4639
4148
Table 7-144 Table 7-128: Port VC Status Register
4149
4640
Table 7-159 Serial Number Register
4641
4150
Table 7-145 VC Resource Capability Register
4151
4642
Table 7-160 Vendor-Specific Capability
4643
4152
Table 7-146 VC Resource Control Register
4153
4644
Table 7-161 Vendor-Specific Extended Capability Header
4645
4154
Table 7-147 VC Resource Status Register
4155
4156
Table 7-153 MFVC Port VC Status Register
4629
4646
Table 7-162 Vendor-Specific Header
4647
Table 7-148 Definition of the 4-bit Entries in the VC
Arbitration Table
4157
4158
Table 7-150 Length of Port Arbitration Table
Table 7-151 MFVC Extended Capability Header
Table 7-152 MFVC Port VC Capability Register 1
Table 7-153 MFVC Port VC Capability Register 2
4654
Table 7-166 RCRB Header Extended Capability Header
4656
Table 7-167 RCRB Vendor ID and Device ID register
4658
Table 7-168 RCRB Capabilities register
4659
Table 7-154 MFVC Port VC Control Register
4169
4170
Table 7-165 Designated Vendor-Specific Header 2
4657
4167
4168
4652
4655
4165
4166
Table 7-164 Designated Vendor-Specific Header 1
4653
4163
4164
4650
4651
4161
4162
Table 7-163 Designated Vendor-Specific Extended Capability
Header
4649
Table 7-149 Length of the VC Arbitration Table
4159
4160
4648
4660
Table 7-169 RCRB Control register
4661
Table 7-155 MFVC Port VC Status Register
4662
Table 7-170 Root Complex Link Declaration Extended Capability
Header
4171
Page 68
4663
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4171
4663
4172
Table 7-156 MFVC VC Resource Capability Register
4173
4664
Table 7-171 Element Self Description Register
4665
4174
Table 7-157 MFVC VC Resource Control Register
4175
4666
Table 7-172 Link Description Register
4667
4176
Table 7-158 MFVC VC Resource Status Register
4177
4668
Table 7-173 Link Address for Link Type 1
4669
4178
Table 7-159 Length of Function Arbitration Table
4179
4670
Table 7-174 Root Complex Internal Link Control Extended
Capability Header
4671
4180
Table 7-160 Device Serial Number Extended Capability Header
4181
4672
Table 7-175 Root Complex Link Capabilities Register
4673
4182
Table 7-161 Serial Number Register
4183
4674
Table 7-176 Root Complex Link Control Register
4675
4184
Table 7-162 Vendor-Specific Capability
4185
4676
Table 7-177 Root Complex Link Status Register
4677
4186
Table 7-163 Vendor-Specific Extended Capability Header
4187
4678
Table 7-178 Root Complex Event Collector Endpoint Association
Extended Capability Header
4679
4188
Table 7-164 Vendor-Specific Header
4189
4680
Table 7-179 RCEC Associated Bus Numbers Register
4681
4190
Table 7-165 Designated Vendor-Specific Extended Capability
4682
Table 7-180 Multicast Extended Capability Header
Header
4191
4683
4192
Table 7-166 Designated Vendor-Specific Header 1
4193
4684
Table 7-181 Multicast Capability Register
4685
4194
Table 7-167 Designated Vendor-Specific Header 2
4195
4686
Table 7-182 Multicast Control Register
4687
4196
Table 7-168 Table 7-152: RCRB Header Extended Capability
4688
Table 7-183 MC_Base_Address Register
Header
4197
4689
4198
Table 7-169 RCRB Vendor ID and Device ID register
4199
4690
Table 7-184 MC_Receive Register
4691
4200
Table 7-170 RCRB Capabilities register
4201
4692
Table 7-185 MC_Block_All Register
4693
4202
Table 7-171 RCRB Control register
4203
4694
Table 7-186 MC_Block_Untranslated Register
4695
4204
Table 7-172 Root Complex Link Declaration Extended Capability
4696
Table 7-187 MC_Overlay_BAR Register
Header
4205
4697
4206
Table 7-173 Element Self Description Register
4207
Table 7-188 DPA Extended Capability Header
4699
4208
Table 7-174 Link Description Register
4209
4700
Table 7-189 DPA Capability Register
4701
4210
Table 7-175 Link Address for Link Type 1
4211
4212
4698
4702
Table 7-190 DPA Latency Indicator Register
4703
Table 7-176 Root Complex Internal Link Control Extended
Capability Header
4213
4704
Table 7-191 DPA Status Register
4705
4214
Table 7-177 Table 7-161: Root Complex Link Capabilities
Register
Page 69
4706
Table 7-192 DPA Control Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4214
Table 7-177 Table 7-161: Root Complex Link Capabilities
Register
4215
4707
4216
Table 7-178 Root Complex Link Control Register
4217
Table 7-179 Root Complex Link Status Register
4219
4710
Table 7-194 TPH Requester Extended Capability Header
4711
Table 7-180 Table 7-164: Root Complex Event Collector Endpoint
Association Extended Capability Header
4221
4712
Table 7-195 TPH Requester Capability Register
4713
4222
Table 7-181 Multicast Extended Capability Header
4223
4714
Table 7-196 TPH Requester Control Register
4715
4224
Table 7-182 Multicast Capability Register
4225
4716
Table 7-197 TPH ST Table Entry
4717
4226
Table 7-183 Multicast Control Register
4227
4718
Table 7-198 LNR Extended Capability Header
4719
4228
Table 7-184 MC_Base_Address Register
4229
4720
Table 7-199 LNR Capability Register
4721
4230
Table 7-185 MC_Receive Register
4231
4722
Table 7-200 LNR Control Register
4723
4232
Table 7-186 MC_Block_All Register
4233
4724
Table 7-201 DPC Extended Capability Header
4725
4234
Table 7-187 MC_Block_Untranslated Register
4235
4726
Table 7-202 DPC Capability Register
4727
4236
Table 7-188 MC_Overlay_BAR Register
4237
4728
Table 7-203 DPC Control Register
4729
4238
Table 7-189 DPA Extended Capability Header
4239
4730
Table 7-204 DPC Status Register
4731
4240
Table 7-190 DPA Capability Register
4241
4732
Table 7-205 DPC Error Source ID Register
4733
4242
Table 7-191 DPA Latency Indicator Register
4243
4734
Table 7-206 RP PIO Status Register
4735
4244
Table 7-192 DPA Status Register
4245
4736
Table 7-207 RP PIO Mask Register
4737
4246
Table 7-193 DPA Control Register
4247
4248
Table 7-193 Substate Power Allocation Register (0 to
Substate_Max)
4709
4218
4220
4708
4738
Table 7-208 RP PIO Severity Register
4739
Table 7-194 Substate Power Allocation Register (0 to
Substate_Max)
4249
4250
Table 7-196 TPH Requester Capability Register
Table 7-197 TPH Requester Control Register
Table 7-198 TPH ST Table
4261
Page 70
Table 7-211 RP PIO Header Log Register
4746
Table 7-212 RP PIO ImpSpec Log Register
4748
Table 7-213 RP PIO TLP Prefix Log Register
4749
Table 7-199 LNR Extended Capability Header
4259
4260
4744
4747
4257
4258
Table 7-210 RP PIO Exception Register
4745
4255
4256
4742
4743
4253
4254
Table 7-209 RP PIO SysError Register
4741
Table 7-195 TPH Requester Extended Capability Header
4251
4252
4740
4750
Table 7-214 PTM Extended Capability Header
4751
Table 7-200 LNR Capability Register
4752
4753
Table 7-215 PTM Capability Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4261
4753
4262
Table 7-201 LNR Control Register
4263
4754
Table 7-216 PTM Control Register
4755
4264
Table 7-202 DPC Extended Capability
4756
Table 7-217 Readiness Time Reporting Extended Capability
Header
4265
4757
4266
Table 7-203 DPC Extended Capability Header
4267
Table 7-218 Readiness Time Reporting 1 Register
4759
4268
Table 7-204 DPC Capability Register
4269
4760
Table 7-219 Readiness Time Reporting 2 Register
4761
4270
Table 7-205 DPC Control Register
4271
4762
Table 7-220 Hierarchy ID Extended Capability Header
4763
4272
Table 7-206 DPC Status Register
4273
4764
Table 7-221 Hierarchy ID Status Register
4765
4274
Table 7-207 DPC Error Source ID Register
4275
4766
Table 7-222 Hierarchy ID Data Register
4767
4276
Table 7-208 RP PIO Status Register
4277
4768
Table 7-223 Hierarchy ID GUID 1 Register
4769
4278
Table 7-209 RP PIO Mask Register
4279
4770
Table 7-224 Hierarchy ID GUID 2 Register
4771
4280
Table 7-210 RP PIO Severity Register
4281
4772
Table 7-225 Hierarchy ID GUID 3 Register
4773
4282
Table 7-211 RP PIO SysError Register
4283
4774
Table 7-226 Hierarchy ID GUID 4 Register
4775
4284
Table 7-212 RP PIO Exception Register
4285
4776
Table 7-227 Hierarchy ID GUID 5 Register
4777
4286
Table 7-213 RP PIO Header Log Register
4287
4288
4758
4778
Table 7-228 VPD Address Register
4779
Table 7-214 RP PIO ImpSpec Log Register Table 7-214 RP PIO
ImpSpec Log Register
4289
4780
Table 7-229 VPD Data Register
4781
4290
Table 7-215 RP PIO TLP Prefix Log Register
4291
4782
Table 7-230 NPEM Extended Capability Header
4783
4292
Table 7-216 PTM Extended Capability Header
4293
4784
Table 7-231 NPEM Capability Register
4785
4294
Table 7-217 Table 7-200: PTM Capability Register
4295
4786
Table 7-232 NPEM Control Register
4787
4296
Table 7-218 Table 7-201: PTM Control Register
4297
4788
Table 7-233 NPEM Status Register
4789
4298
Table 7-219 Readiness Time Reporting Extended Capability
4790
Table 7-234 Alternate Protocol Extended Capability Header
Header
4299
4300
4791
Table 7-220 Readiness Time Reporting 1 Register
4301
4302
Table 7-221 Readiness Time Reporting 2 Register
Table 7-222 Hierarchy ID Extended Capability Header
4309
Page 71
Table 7-236 Alternate Protocol Control Register
4796
Table 7-237 Alternate Protocol Data 1 Register
4797
Table 7-223 Hierarchy ID Status Register
4307
4308
4794
4795
4305
4306
Table 7-235 Alternate Protocol Capabilities Register
4793
4303
4304
4792
4798
Table 7-238 Alternate Protocol Data 2 Register
4799
Table 7-224 Hierarchy ID Data Register
4800
4801
Table 7-239 Alternate Protocol Selective Enable Mask Register
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4309
4801
4310
Table 7-225 Hierarchy ID GUID 1 Register
4311
4802
Table 7-240 Advanced Features Capability Header
4803
4312
Table 7-226 Hierarchy ID GUID 2 Register
4313
4804
Table 7-241 AF Capabilities Register
4805
4314
Table 7-227 Hierarchy ID GUID 3 Register
4806
Table 7-242 Conventional PCI Advanced Features Control
Register
4315
4807
4316
Table 7-228 Hierarchy ID GUID 4 Register
4317
4808
4318
Table 7-229 Hierarchy ID GUID 5 Register
4319
4810
Table 7-244 SFI Extended Capability Header
4811
4320
Table 7-230 VPD Address Register
4321
4812
Table 7-245 SFI Capability Register
4813
4322
Table 7-231 VPD Data Register
4323
4814
Table 7-246 SFI Control Register
4815
4324
Table 7-232 NPEM Extended Capability Header
4325
4816
Table 7-247 SFI Status Register
4817
4326
Table 7-233 NPEM Capability Register
4327
4818
Table 7-248 SFI CAM Address Register
4819
4328
Table 7-234 NPEM Control Register
4329
4820
Table 7-249 SFI CAM Data Register
4821
4330
Table 7-235 NPEM Status Register
4331
4822
Table 7-250 Subsystem ID and Sybsystem Vendor ID Capability
4823
4332
Table 8-1 Tx Preset Ratios and Corresponding Coefficient
4824
Values
Table 8-1 Tx Preset Ratios and Corresponding Coefficient
Values
4333
4825
4334
Table 8-2 Preset Measurement Cross Reference Table
4335
4336
Table 7-243 AF Status Register
4809
4826
Table 8-2 Preset Measurement Cross Reference Table
4827
Table 8-3 Cases that the Reference Packages and ps21TX
Parameter are Normative
4337
4828
Table 8-3 Cases that the Reference Packages and ps21TX
Parameter are Normative
4829
4338
Table 8-4 Recommended De-embedding Cutoff Frequency
4339
4830
Table 8-4 Recommended De-embedding Cutoff Frequency
4831
4340
Table 8-5 Tx Measurement and Post Processing For Different
4832
Refclks
4366
Table 8-5 Tx Measurement and Post Processing For Different
Refclks
Table 8-18 Jitter Limits for CC Architecture
4367
4858
Table 8-18 Jitter Limits for CC Architecture
4859
4368
Table 8-19 Form Factor Clocking Architecture Requirements
4369
4860
Table 8-19 Form Factor Clocking Architecture Requirements
4861
4370
Table 8-20 Form Factor Common Clock Architecture Details
4371
4862
Table 8-20 Form Factor Common Clock Architecture Details
4863
4372
Table 8-21 Form Factor Clocking Architecture Requirements
4864
Example
Table 8-21 Form Factor Clocking Architecture Requirements
Example
4373
4865
4374
Table 8-22 Form Factor Common Clock Architecture Details
4866
Example
4375
4867
4868
4869
Page 72
Table 8-22 Form Factor Common Clock Architecture Details
Example
Table 9-1 VF Routing ID Algorithm
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4869
4870
Table 9-2 SR-IOV VF Migration State Table
4871
4872
Table 9-3 SR-IOV Extended Capability Header
4873
4874
Table 9-4 SR-IOV Capabilities Register
4875
4876
Table 9-5 SR-IOV Control Register
4877
4878
Table 9-6 SR-IOV Status
4879
4880
Table 9-7 BAR Offsets
4881
4882
Table 9-8 VF Migration State Array Offset
4883
4884
Table 9-9 VF Migration State Entry
4885
4886
Table 9-10 VF Migration State Descriptions
4887
4888
Table 9-11 SR-PCIM Initiated VF Migration State Transitions
4889
4890
Table 9-12 MR-PCIM Initiated VF Migration State Transitions
4891
4892
Table 9-13 Command Register Changes
4893
4894
Table 9-14 Status Register Changes
4895
4896
Table 9-15 Device Capabilities Register Changes
4897
4898
Table 9-16 Device Control Register Changes
4899
4900
Table 9-17 Device Status Register Changes
4901
4902
Table 9-18 Link Control Register Changes
4903
4904
Table 9-19 Device Capabilities 2 Register Changes
4905
4906
Table 9-20 Device Control 2 Register Changes
4907
4908
Table 9-21 Link Status 2 Register Changes
4909
4910
Table 9-22 SR-IOV Usage of PCI Standard Capabilities
4911
4912
Table 9-23 SR-IOV Usage of PCI Express Extended Capabilities
4913
4914
Table 9-24 VF Resizable BAR Extended Capability Header
4915
4916
Table 9-25 VF Resizable BAR Control Register
4917
4918
Table 9-26 ACS Capability Register Changes
4919
4920
Page 73
Table 9-27 ARI Capability Register Changes
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4920
Table 9-27 ARI Capability Register Changes
4921
4922
Table 9-28 ATS Capability Register
4923
4924
Table 9-29 ATS Control Register Changes
4925
4926
Table 9-30 Multicast Capability Register Changes
4927
4928
Table 9-31 Multicast Control Register Changes
4929
4930
Table 9-32 Multicast Base Address Register Changes
4931
4932
Table 9-33 Uncorrectable Error Status Register Changes
4933
4934
Table 9-34 Uncorrectable Error Mask Register Changes
4935
4936
Table 9-35 Uncorrectable Error Severity Register Changes
4937
4938
Table 9-36 Correctable Error Status Register Changes
4939
4940
Table 9-37 Correctable Error Mask Register Changes
4941
4942
Table 9-38 Advanced Error Capabilities and Control Register
Changes
4943
4944
Table 9-39 Header Log Register changes
4945
4946
Table 9-40 MSI Capability: Message Control
4947
4948
Table 9-41 SR-IOV Power Management Control/Status (PMCSR)
4949
4950
Table 9-42 SR-IOV Power Management Data Register
4951
4376
Table 10-1 Address Type (AT) Field Encodings
4377
4378
Table 10-2 Translation Completion with No Data Status Codes
Table 10-3 Translation Completion Data Fields
Table 10-4 Examples of Translation Size Using S Field
Table 10-5 Page Request Message Data Fields
Table 10-6 PRG Response Message Data Fields
Table 10-7 Response Codes
4393
Page 74
Table 10-4 Examples of Translation Size Using S Field
4960
Table 10-5 Page Request Message Data Fields
4962
Table 10-6 PRG Response Message Data Fields
4964
Table 10-7 Response Codes
4965
Table 10-8 ATS Extended Capability Header
4391
4392
4958
4963
4389
4390
Table 10-3 Translation Completion Data Fields
4961
4387
4388
4956
4959
4385
4386
Table 10-2 Translation Completion with No Data Status Codes
4957
4383
4384
4954
4955
4381
4382
Table 10-1 Address Type (AT) Field Encodings
4953
4379
4380
4952
4966
Table 10-8 ATS Extended Capability Header
4967
Table 10-9 ATS Capability Register
4968
4969
Table 10-9 ATS Capability Register (Offset 04h)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4393
4969
4394
Table 10-10 ATS Control Register
4395
4970
Table 10-10 ATS Control Register
4971
4396
Table 10-11 Page Request Extended Capability Header
4397
4972
Table 10-11 Page Request Extended Capability Header
4973
4398
Table 10-12 Page Request Control Register
4399
4974
Table 10-12 Page Request Control Register
4975
4400
Table 10-13 Page Request Status Register
4401
4976
Table 10-13 Page Request Status Register
4977
4978
Table A-1 Isochronous Bandwidth Ranges and Granularities
4979
4402
Table B-1 8b/10b Data Symbol Codes
4403
4980
Table B-1 8b/10b Data Symbol Codes
4981
4404
Table B-2 8b/10b Special Character Symbol Codes
4405
4982
Table B-2 8b/10b Special Character Symbol Codes
4983
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
Table F-1 Message Code Usage
4417
Table F-2 PCI-SIG-Defined VDM Subtype Usage
4419
Table G-1 PCI Express Attribute Impact on Protocol
Multiplexing
Table G-2 PMUX Attribute Impact on PCI Express
4423
Table G-3 PMUX Packet Layout (8b/10b Encoding)
4425
Table G-1 PCI Express Attribute Impact on Protocol
Multiplexing
4990
Table G-2 PMUX Attribute Impact on PCI Express
4992
Table G-3 PMUX Packet Layout (8b/10b Encoding)
4993
4436
Table G-9 PMUX Status Register
4437
5004
Table G-9 PMUX Status Register
5005
4438
Table G-10 PMUX Protocol Array Entry
4439
5006
Table G-10 PMUX Protocol Array Entry
5007
Table H-1 Maximum UpdateFC Transmission Latency Guidelines for
2.5 GT/s Mode Operation by Link Width and Max Payload (Symbol Times)
4441
5008
Table H-1 Maximum UpdateFC Transmission Latency Guidelines for
2.5 GT/s Mode Operation by Link Width and Max Payload (Symbol Times)
5009
Table H-2 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s Mode Operation by Link Width and Max Payload (Symbol Times)
4443
5010
Table H-2 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s Mode Operation by Link Width and Max Payload (Symbol Times)
5011
Table H-3 Maximum UpdateFC Transmission Latency Guidelines for
8.0 GT/s Operation by Link Width and Max Payload (Symbol Times)
4445
4446
4988
4991
4424
4444
Table F-2 PCI-SIG-Defined VDM Subtype Usage
4989
4422
4442
4986
4987
4421
4440
Table F-1 Message Code Usage
4985
4418
4420
4984
5012
Table H-3 Maximum UpdateFC Transmission Latency Guidelines for
8.0 GT/s Operation by Link Width and Max Payload (Symbol Times)
5013
Table H-4 Table H-4: Maximum Ack Latency Limit and AckFactor
for 2.5 GT/s (Symbol Times)
Page 75
5014
Table H-4 Maximum Ack Latency Limit and AckFactor for 2.5 GT/s
(Symbol Times)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4446
Table H-4 Table H-4: Maximum Ack Latency Limit and AckFactor
for 2.5 GT/s (Symbol Times)
4447
4448
Table H-4 Maximum Ack Latency Limit and AckFactor for 2.5 GT/s
(Symbol Times)
5015
Table H-5 Table H-5: Maximum Ack Transmission Latency Limit and
AckFactor for 5.0 GT/s (Symbol Times)
4449
4450
5014
5016
Table H-5 Maximum Ack Transmission Latency Limit and AckFactor
for 5.0 GT/s (Symbol Times)
5017
Table H-6 Table H-6: Maximum Ack Transmission Latency Limit and
AckFactor for 8.0 GT/s (Symbol Times)
5018
4451
5019
4452
5020
4453
5021
4454
5022
5023
4455
4456
4457
Table H-6 Maximum Ack Transmission Latency Limit and AckFactor
for 8.0 GT/s (Symbol Times)
Status of This Document
5024
Placeholder
5025
5026
This is the published version of the PCI Express Base 5.0
Specification.
5027
5028
5029
5030
The NCB-PCI_Express_Base_5.0r1.0.pdf is normative (i.e., the
official specification). It contains no changebars.
The CB-PCI_Express_Base_5.0r1.0.pdf is informative. It contains
changebars relative to the PCI Express Base 4.0 Specification.
The CB9-PCI_Express_Base_5.0r1.0.pdf is informative. It contains
changebars relative to the PCI Express Base 5.0 Specification Version
0.9.
5031
5032
5033
A new document processing system is being used for this document.
The PCI Express Base 4.0 Specification was converted to the new format to
serve as a baseline for further work.
5034
5035
5036
5037
5038
Note
High Performance Systems may run out of tags
5039
5040
5041
5042
At 32.0 GT/s, systems with high end-to-end latency, even with
10-bit tags, a single Function may not be able to have enough outstanding
requests to obtain full performance.
5043
5044
5045
5046
5047
5048
5049
Page 76
Changes to support more outstanding requests need to
interoperate with legacy components, regardless of Link Speed of that
component. An ECN against the PCI Express Base 4.0 Specification is being
considered to define optional behavior to address this issue.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5049
5050
5051
5052
Note
Background on the new Document Process
5053
5054
5055
5056
The new PCISIG document system is a variant of the w3c Respec
tool (see https://github.com/w3c/respec/wiki). Respec is a widely used
tool written to support the World Wide Web specifications. The PCISIG
variant is https://github.com/sglaser/respec. Both Respec and the PCISIG
variant are open source (MIT License) Javascript libraries. They operate
in the author's browser and provide a rapid edit / review cycle without
requiring any special tools be installed.
5057
5058
5059
Respec is built on top of HTML5, the document format for the
World Wide Web http://www.w3.org/TR/html5/. HTML is a text-based document
format that allows us to deploy tools commonly used for software
development (git, continuous integration, build scripts, etc.) to better
manage and control the spec development process.
5060
5061
5062
4458
5063
4459
5064
4460
Status of This Document
4461
5065
4462
4463
4464
PCISIG enhancements to Respec support document formatting
closer to existing PCISIG practice as well as automatic creation of
register figures (eliminating about half of the manually drawn figures).
5066
This specification is intended to become a PCISIG Standard. This
particular document is a .
Status of this Document Placeholder.
4465
5067
4466
5068
4467
Revision History
5069
4468
5070
4469
5071
4470
Revision History
5072
4471
Revision
4472
5073
Revision
5074
4473
Revision History
5075
4474
5076
4810
5412
4811
5413
4812
5414
4813
Revision History
5415
4814
- - - - - - - Changes to the October 13 2016 4.0 r0.7
5416
Draft PDF- - - 4815
Page 77
- - - - - - - Changes to the October 13 2016 4.0 r0.7
Draft PDF- - - -
5417
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4815
5417
4816
5418
4817
EWG:
4818
5421
Updates to Chapter 9 Single Root I/O Virtualization and
Sharing - Electrical Sub-block ( and Figure 9-9 caption)
4821
5422
5424
4823
10/21/16
5425
4824
5426
4825
5427
4826
5428
4827
- - - - - - - Changes to the November 3 2016 4.0 r0.7
5430
Draft PDF- - - -
- - - - - - - Changes to the November 3 2016 4.0 r0.7
Draft PDF- - - -
4829
5431
4830
5432
4920
5522
-Updated Chapter 4 Physical Layer Logical Block :
Physical Layer Logical Block per PCI_Express_Base_4 0_r0
9_Chapter4_Final_Draft.docx
4922
5523
-Updated Chapter 4 Physical Layer Logical Block :
Physical Layer Logical Block per PCI_Express_Base_4 0_r0
9_Chapter4_Final_Draft.docx
5524
4923
5525
4924
-Updated Figures in Chapter 10 ATS Specification : ATS
5526
Specification
-Updated Figures in Chapter 10 ATS Specification : ATS
Specification
4925
5527
4926
5528
-Added Appendix H Flow Control Update Latency and ACK
Update Latency Calculations : Flow Control Update Latency and ACK Update
Latency Calculations
4928
5529
-Added Appendix H Flow Control Update Latency and ACK
Update Latency Calculations : Flow Control Update Latency and ACK Update
Latency Calculations
5530
4929
4930
10/21/16
5429
4828
4927
Updates to Chapter 9 Single Root I/O Virtualization and
Sharing - Electrical Sub-block (Section 9.3.3.9 First VF Offset (Offset
14h) and Figure 9-9 caption)
5423
4822
4921
EWG:
5420
4819
4820
5419
5531
-Following items that were marked deleted in the Change
Bar version of the April 28th snapshot have been “accepted” to no longer
show up: pp 1070: Lane Equalization Control 2 Register (Offset TBD)
Comment: Deleted per: PCI_Express_Base_4 0r0 7_PhyLogical_Ch7_Delta_28_Apr_2016.docx pp 1074: Physical Layer 16.0 GT/s
Margining Extended Capability section Comment: Deleted per:
PCI_Express_Base_4 0r0 7_Phy-Logical_Ch7_Delta_28_Apr_2016.docx Comment:
Replaced by Section, “Lane Margining at the Receiver Extended Capability”
per Fix3a #83 lane-margining-capability-snapshot-2016-06-16.pdf
4931
5532
-Following items that were marked deleted in the Change
Bar version of the April 28th snapshot have been “accepted” to no longer
show up: pp 1070: Lane Equalization Control 2 Register (Offset TBD)
Comment: Deleted per: PCI_Express_Base_4 0r0 7_PhyLogical_Ch7_Delta_28_Apr_2016.docx pp 1074: Physical Layer 16.0 GT/s
Margining Extended Capability section Comment: Deleted per:
PCI_Express_Base_4 0r0 7_Phy-Logical_Ch7_Delta_28_Apr_2016.docx Comment:
Replaced by Section Lane Margining at the Receiver Extended Capability
per Fix3a #83 lane-margining-capability-snapshot-2016-06-16.pdf
5533
4932
5534
4933
-Incorporated: PCIe 4_0 Tag Field scaling
5535
2017-03-31.docx
4934
5536
4935
4936
4937
Page 78
-Incorporated: PCIe 4_0 Tag Field scaling
2017-03-31.docx
5537
-Vital Product Data (VPD)
5538
5539
-Vital Product Data (VPD)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
4937
5539
4938
5540
4939
-Added Section 6.28 Vital Product Data (VPD)
4940
5646
5045
EWG Changes:
5046
5647
5649
5048
-Typo in Equation 8-3; changed 1.6.0 GT/s to 16.0 GT/s
5049
5650
-Typo in Equation 8-3; changed 1.6.0 GT/s to 16.0 GT/s
5651
5050
5652
- Section 8.4.2.1 Procedure for Calibrating a Stressed
EH/EW Eye ; corrected references from Table 8-11 to Table 8-10
5052
5653
- Section 8.4.2.1 Procedure for Calibrating a Stressed
EH/EW Eye ; corrected references from Table 8-11 to Table 8-10
5654
5053
5655
- Section 8.5.1.3.3 Simulation Tool Outputs & Section
8.5.1.6 Pass/Fail Eye Characteristics (Figure 8-47); changed “median” to
“mean”
5055
5656
- Section 8.5.1.3.3 Simulation Tool Outputs & Section
8.5.1.4.3 Pass/Fail Eye Characteristics (Figure 8-47); changed “median”
to “mean”
5657
5056
5658
5057
PWG Changes:
5058
5659
PWG Changes:
5660
5059
5661
5060
-Sub-Sub-Bullet before Figure 4-27. Added “or higher”
5662
after 8.0 GT/s
-Sub-Sub-Bullet before Figure 4-27. Added “or higher”
after 8.0 GT/s
5061
5663
5062
5063
EWG Changes:
5648
5047
5054
-Added Section 6.28 Vital Product Data (VPD)
5542
5044
5051
5541
5664
- Section 5.11 Power Management Events Power Management
Events; deleted last two paragraphs and Implementation Note.
5064
5665
- Section 5.11 Power Management Events Power Management
Events; deleted last two paragraphs and Implementation Note.
5666
5065
5667
5066
-Updated Acknowledgements section with additional
5668
contacts.
5067
5669
5068
5069
5670
September 29, 2017
5671
5070
5672
5071
5673
5072
5674
5675
5073
5677
5.0
Version 0.3
5678
5679
5075
Summary of intended changes for 5.0. This was a short
document, referencing the PCI Express Base Specification but not
including it.
5680
5076
5681
Disclaimer
5682
5078
5683
5079
5684
Page 79
September 29, 2017
5676
5074
5077
-Updated Acknowledgements section with additional
contacts.
2017-06-01
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5079
5080
5684
PCI-SIG® disclaims all warranties and liability for the use of
this document and the information contained herein and assumes no
responsibility for any errors that may appear in this document, nor does
PCI-SIG make a commitment to update the information contained herein.
5081
5685
5686
5082
5083
Contact the PCI-SIG office to obtain the latest revision of this
specification.
5084
Further details on intended changes for 5.0. This was a
short document, referencing the PCI Express Base Specification but not
including it.
5690
Questions regarding the PCI Express Base Specification or
membership in PCI-SIG may be forwarded to:
5087
5691
2017-11-02
5692
5088
5089
5688
5689
5085
5086
Version 0.5
5687
5693
Membership Services www.pcisig.com E-mail:
administration@pcisig.com Phone: 503-619-0569 Fax: 503-644-6708
5090
5694
5695
5091
5092
Version 0.7
5696
Technical Support techsupp@pcisig.com
5697
This was the first release of Base 5.0 based on the 4.0
Specification text. The 4.0 specification was converted into HTML format
during this process. This conversion process was imperfect but does not
impact the new 5.0 material.
5698
5699
5700
2018-06-07
5701
5702
5703
5704
Version 0.9
5705
5706
This includes:
5707
5708
5709
5710
Additional details regarding operating at 32.0 GT/s
Corrections to match published Base 4.0
Redrawing of some figures
5711
5712
PCIe_Base_r4_0_Errata_2018-10-04a.pdf
5713
5714
ECN-Thermal-Reporting 2017May18.pdf
5715
5716
ECN-Link-Activation-07-Dec-2017.pdf
5717
5718
5719
5093
5720
5094
5095
Page 80
5721
DISCLAIMER
2018-10-18
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5095
DISCLAIMER
5096
5722
5723
5097
5098
Version 1.0
5724
This PCI Express Base Specification is provided “as is” with no
warranties whatsoever, including any warranty of merchantability,
noninfringement, fitness for any particular purpose, or any warranty
otherwise arising out of any proposal, specification, or sample. PCI-SIG
disclaims all liability for infringement of proprietary rights, relating
to use of information in this specification. No license, express or
implied, by estoppel or otherwise, to any intellectual property rights is
granted herein.
5099
5725
This includes:
5726
5727
Corrections and clarification for support of the 32.0 GT/
s operation
5728
Editorial Changes:
Rewrite misleading / confusing text
Update terminology for consistency and accuracy
Update grammar for readability
Add many hotlinks / cross references
5729
5730
5731
5732
5100
5101
5733
PCI, PCI Express, PCIe, and PCI-SIG are trademarks or registered
trademarks of PCI-SIG.
5734
Implement all 4.0 Errata
Incorporate Expansion ROM Validation ECN
Expansion ROM Validation ECN.pdf
Incorporate Enhanced PCIe Precision Time Measurement
5735
5736
5737
(ePTM) ECN
5738
ECN_ePTM_10_January_2019.pdf
Incorporate Root Complex Event Collector Bus Number
5739
Association ECN
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5102
5751
5103
5104
ECN EventCollector 13Sept2018a.pdf
Incorporate PCIe Link Activation ECN
ECN Link Activation 07 Dec 2017.pdf
Incorporate Advanced Capabilities for Conventional PCI
ECN (updated for PCIe)
ECN_Conventional_Adv_Caps_27Jul06.pdf
Incorporate Async Hot-Plug Updates ECN
ECN Async Hot-Plug Updates 2018-11-29.pdf
Incorporate ACS Enhanced Capability ECN
ECN_ACS_25_Apr_2019_Clean.pdf
Incorporate the Subsystem ID and Sybsystem Vendor ID
Capability, from the PCI-to-PCI Bridge Architecture Specification,
Revision 1.2 (updated for PCIe)
ppb12.pdf
5752
All other product names are trademarks, registered trademarks, or
servicemarks of their respective owners.
5105
5754
5106
5107
5108
Page 81
5753
5755
Copyright © 2002-2017 PCI-SIG
5756
2019-05-16
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5108
5756
5109
5757
5110
5758
5111
5759
5112
Objective of the Specification
5760
5761
Objective of the PCI Express® Architecture
5762
5763
5764
5113
5765
5114
5115
5766
This specification describes the PCI Express® architecture,
interconnect attributes, fabric management, and the programming interface
required to design and build systems and peripherals that are compliant
with the PCI Express Specification.
5116
5767
5769
The goal is to enable such devices from different vendors to
inter-operate in an open architecture. The specification is intended as
an enhancement to the PCI™ architecture spanning multiple market
segments; clients (desktops and mobile), servers (standard and
enterprise), and embedded and communication devices. The specification
allows system OEMs and peripheral developers adequate room for product
versatility and market differentiation without the burden of carrying
obsolete interfaces or losing compatibility.
5770
5119
5771
5120
5772
5121
5773
5122
Document Organization
5124
5775
PCI Express Architecture Specification Organization
5776
5125
5777
The PCI Express Specification is organized as a base
specification and a set of companion documents. The PCI Express Base
Specification and the PCI Express Card Electromechanical Specification
are among those that have been published. As the PCI Express definition
evolves, other companion documents will be published.
5127
5778
The PCI Express specifications are organized as a base
specification and a set of companion documents.
5779
5128
5129
The goal is to enable such devices from different vendors to
inter-operate in an open architecture. The specification is intended as
an enhancement to the PCI™ architecture spanning multiple market
segments; clients (desktops and mobile), servers (standard and
enterprise), and embedded and communication devices. The specification
allows system OEMs and peripheral developers adequate room for product
versatility and market differentiation without the burden of carrying
obsolete interfaces or losing compatibility.
5774
5123
5126
This specification describes the PCI Express® architecture,
interconnect attributes, fabric management, and the programming interface
required to design and build systems and peripherals that are compliant
with the PCI Express Specification.
5768
5117
5118
This document defines the “base” specification for the PCI
Express architecture, including the electrical, protocol, platform
architecture and programming interface elements required to design and
build devices and systems. A key goal of the PCI Express architecture is
to enable devices from different vendors to inter-operate in an open
architecture, spanning multiple market segments including clients,
servers, embedded, and communication devices. The architecture provides a
flexible framework for product versatility and market differentiation.
5780
The PCI Express Base Specification contains the technical details
of the architecture, protocol, Link Layer, Physical Layer, and software
interface. The PCI Express Base Specification is applicable to all
variants of PCI Express.
5130
Page 82
5781
5782
The PCI Express Base Specification contains the technical details
of the architecture, protocol, Link Layer, Physical Layer, and software
interface. The PCI Express Base Specification (this document) is
applicable to all variants of PCI Express.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5130
5782
5131
5132
5783
The PCI Express Card Electromechanical Specification focuses on
information necessary to implementing an evolutionary strategy with the
PCI desktop/server mechanicals as well as electricals. The mechanical
chapters of the specification contain a definition of evolutionary PCI
Express card edge connectors while the electrical chapters cover
auxiliary signals, power delivery, and the Adapter interconnect
electrical budget.
5784
5133
5785
5134
5786
5135
5787
5136
5788
5137
Documentation Conventions
5138
Capitalization
5141
Advertise (Credits)
5194
Used in the context of Flow Control, the act of a Receiver
sending information regarding its Flow Control Credit availability.
Advertise (Credits)
5847
Used in the context of Flow Control, the act of a Receiver
sending information regarding its Flow Control Credit availability.
5848
5197
Alternative Routing-ID, ARI
5198
5849
Alternative Routing-ID, ARI
5850
Alternative Routing-ID Interpretation. Applicable to Requester
IDs and Completer IDs as well as Routing IDs.
5200
5851
Alternative Routing-ID Interpretation. Applicable to Requester
IDs and Completer IDs as well as Routing IDs.
5852
5201
ARI Device
5202
5853
ARI Device
5854
A Device associated with an Upstream Port, whose Functions each
contain an ARI Capability structure.
5204
5855
A Device associated with an Upstream Port, whose Functions each
contain an ARI Extended Capability structure.
5856
5205
ARI Downstream Port
5206
5857
ARI Downstream Port
5858
A Switch Downstream Port or Root Port that supports ARI
Forwarding.
5208
5859
A Switch Downstream Port or Root Port that supports ARI
Forwarding.
5860
5209
ARI Forwarding
5210
5861
ARI Forwarding
5862
Functionality that enables the Downstream Port immediately
above an ARI Device to access the Devices extended Functions. Enabling
ARI Forwarding ensures the logic that determines when to turn a Type 1
Configuration Request into a Type 0 Configuration Request no longer
enforces a restriction on the traditional Device Number field being 0.
5212
5863
Functionality that enables the Downstream Port immediately
above an ARI Device to access the Devices extended Functions. Enabling
ARI Forwarding ensures the logic that determines when to turn a Type 1
Configuration Request into a Type 0 Configuration Request no longer
enforces a restriction on the traditional Device Number field being 0.
5864
5213
5293
5845
5846
5196
5211
Capitalization
5794
5193
5207
5792
5793
5142
5203
Documentation Conventions
5791
5140
5199
5789
5790
5139
5195
The companion specifications define a variety of form factors,
including mechanical and electrical chapters covering topics including
auxiliary signals, power delivery, and the Adapter interconnect
electrical budget.
Asserted
The component of system software responsible for accessing
Configuration Space and configuring the PCI/PCIe bus.
5294
Page 83
5865
5945
5946
Asserted
The component of system software responsible for accessing
Configuration Space and configuring the PCI/PCIe bus.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5294
5946
5295
Configuration Space
5296
5297
Configuration Space
5948
One of the four address spaces within the PCI Express
architecture. Packets with a Configuration Space address are used to
configure Functions.
5298
5949
One of the four address spaces within the PCI Express
architecture. Packets with a Configuration Space address are used to
configure Functions.
5950
5299
Configuration-Ready
5300
5301
5947
5951
Configuration-Ready
5952
A Function is “Configuration-Ready” when it is guaranteed that
the Function will respond to a valid Configuration Request targeting the
Function with a Completion indicating Successful Completion status.
5302
5953
A Function is “Configuration-Ready” when it is guaranteed that
the Function will respond to a valid Configuration Request targeting the
Function with a Completion indicating Successful Completion status.
5954
5955
Containment Error Recovery, CER
5956
5957
A general error containment and recovery approach supported by
Downstream Port Containment (DPC), where with suitable software/firmware
support, many uncorrectable errors can be handled without disrupting
applications.
5958
5303
Conventional PCI
5304
5305
5959
Behaviors or features originally defined in the PCI Local Bus
Specification. The PCI Express Base 4.0 and subsequent specifications
incorporate the relevant requirements from the PCI Local Bus
Specification.
5306
5961
Behaviors or features originally defined in the PCI Local Bus
Specification. The PCI Express Base 4.0 and subsequent specifications
incorporate the relevant requirements from the PCI Local Bus
Specification.
5962
5307
Conventional Reset
5308
5963
Conventional Reset
5964
5309
A Hot, Warm, or Cold reset. Distinct from Function Level Reset
5965
(FLR).
A Hot, Warm, or Cold reset. Distinct from Function Level Reset
(FLR).
5310
5966
5311
Data Link Layer
5312
5967
Data Link Layer
5968
5323
deasserted
5324
5979
deasserted
5980
5325
The inactive logical state of a conceptual or actual signal.
5326
5981
The inactive logical state of a conceptual or actual signal.
5982
5327
Design for Testability, DFT
5328
5983
Design for Testability, DFT
5984
5329
Design for Testability.
5330
5985
Design for Testability.
5986
5331
Device (uppercase 'D')
5332
5333
Conventional PCI
5960
5987
Device (uppercase 'D')
5988
A collection of one or more Functions within a single Hierarchy
identified by common Bus Number and Device Number. An SR-IOV Device may
have additional Functions accessed via additional Bus Numbers and/or
Device Numbers configured through one or more SR-IOV Capability
structures.
5334
5335
Page 84
5989
A collection of one or more Functions within a single Hierarchy
identified by common Bus Number and Device Number. An SR-IOV Device may
have additional Functions accessed via additional Bus Numbers and/or
Device Numbers configured through one or more SR-IOV Extended Capability
structures.
5990
device (lowercase 'd')
5991
device (lowercase 'd')
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5335
5991
device (lowercase 'd')
5336
5337
A physical or logical entity that performs a specific type of
5993
I/O.
5338
5339
A component on either end of a PCI Express Link.
A common imprecise synonym for Function, particularly when a
device has a single Function.
Device Readiness Status, DRS
5343
5998
6064
Flow Control
5409
Device Readiness Status, DRS
Flow Control
6065
The method for communicating receive buffer status from a
Receiver to a Transmitter to prevent receive buffer overflow and allow
Transmitter compliance with ordering rules.
5411
6066
The method for communicating receive buffer status from a
Receiver to a Transmitter to prevent receive buffer overflow and allow
Transmitter compliance with ordering rules.
6067
5412
6068
Flow Control Packet, FCP
5413
Flow Control Packet, FCP
6069
A DLLP used to send Flow Control information from the
Transaction Layer in one component to the Transaction Layer in another
component.
5415
6070
A DLLP used to send Flow Control information from the
Transaction Layer in one component to the Transaction Layer in another
component.
6071
5416
6072
Function
5417
Function
6073
Within a Device, an addressable entity in Configuration Space
associated with a single Function Number. Used to refer to one Function
of a Multi-Function Device, or to the only Function in a single-Function
Device. Specifically included are special types of Functions defined in
the I/O Virtualization specifications, notably Physical Functions and
Virtual Functions.
5419
6074
Within a Device, an addressable entity in Configuration Space
associated with a single Function Number. Used to refer to one Function
of a Multi-Function Device, or to the only Function in a Single-Function
Device. Specifically included are special types of Functions defined in
Chapter 9 Single Root I/O Virtualization and Sharing , notably Physical
Functions and Virtual Functions.
6075
5420
6076
Function Group
5421
Function Group
6077
Within an ARI Device, a
associated with a single Function
optionally serve as the basis for
between multiple Functions within
configurable set of Functions that are
Group Number. Function Groups can
VC arbitration or access control
the ARI Device.
5423
6078
Within an ARI Device, a
associated with a single Function
optionally serve as the basis for
between multiple Functions within
configurable set of Functions that are
Group Number. Function Groups can
VC arbitration or access control
the ARI Device.
6079
5424
Function Level Reset, FLR
5425
5426
A component on either end of a PCI Express Link.
A common imprecise synonym for Function, particularly when a
device has a single Function.
5999
5408
5422
5995
5997
5342
5418
5994
5996
5341
5414
A physical or logical entity that performs a specific type of
I/O.
5340
5410
device (lowercase 'd')
5992
6080
Function Level Reset, FLR
6081
A mechanism for resetting a specific Endpoint Function (see
Section 6.6.2 Function Level Reset (FLR) ).
5427
6082
A mechanism for resetting a specific Endpoint Function (see
Section 6.6.2 Function Level Reset (FLR) ).
6083
5428
Function Readiness Status, FRS
6084
Function Readiness Status, FRS
5528
Logical Bus
6184
Logical Bus
5529
5530
6185
The logical connection among a collection of Devices that have
the same Bus Number in Configuration Space.
5531
Page 85
6186
6187
The logical connection among a collection of Devices that have
the same Bus Number in Configuration Space.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5531
6187
5532
Logical Idle
5533
5534
Logical Idle
6189
A period of one or more Symbol Times when no information (TLPs,
DLLPs, or any special Symbol) is being transmitted or received. Unlike
Electrical Idle, during Logical Idle the Idle data Symbol is being
transmitted and received.
5535
6190
A period of one or more Symbol Times when no information (TLPs,
DLLPs, or any special Symbol) is being transmitted or received. Unlike
Electrical Idle, during Logical Idle the Idle data Symbol is being
transmitted and received.
6191
5536
LTR
5537
5538
6188
6192
LTR
6193
Abbreviation for Latency Tolerance ReportingMalformed Packet A
TLP that violates specific TLP formation rules as defined in this
specification.
6194
Abbreviation for Latency Tolerance Reporting
6195
6196
Malformed Packet
6197
6198
5539
6199
5540
Memory Space
5541
5542
6200
Memory Space
6201
One of the four address spaces of the PCI Express
architecture.
5543
6202
One of the four address spaces of the PCI Express
architecture.
6203
5544
Message
5545
5546
A TLP that violates specific TLP formation rules as defined in
this specification.
6204
Message
6205
A TLP used to communicate information outside of the Memory, I/
O, and Configuration Spaces.
5547
6206
A TLP used to communicate information outside of the Memory, I/
O, and Configuration Spaces.
6207
5548
Message Signaled Interrupt, MSI/MSI-X
6208
Message Signaled Interrupt, MSI/MSI-X
5572
Multicast Window
6232
Multicast Window
5573
5574
6233
A region of Memory Space where Posted Request TLPs that target
it will be handled as Multicast TLPs.
5575
Multi-Function Device, MFD
5577
6236
Multi-Function Device, MFD
6237
5578
A Device that has multiple Functions.
5579
6238
A Device that has multiple Functions.
6239
5580
Multi-Root I/O Virtualization, MR-IOV
5581
6240
Multi-Root I/O Virtualization, MR-IOV
6241
A Function that supports the MR-IOV capability. See the MultiRoot I/O Virtualization and Sharing Specification for additional
information.
5583
6242
A Function that supports the MR-IOV capability. See [MR-IOV]
for additional information.
6243
5584
naturally aligned
5585
5586
A region of Memory Space where Posted Request TLPs that target
it will be handled as Multicast TLPs.
6235
5576
5582
6234
6244
naturally aligned
6245
A data payload with a starting address equal to an integer
multiple of a power of two, usually a specific power of two. For example,
64-byte naturally aligned means the least significant 6 bits of the byte
address are 00 0000b.
5587
5588
Page 86
6246
A data payload with a starting address equal to an integer
multiple of a power of two, usually a specific power of two. For example,
64-byte naturally aligned means the least significant 6 bits of the byte
address are 00 0000b.
6247
NPEM
6248
NPEM
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5588
NPEM
5589
NPEM
6249
5590
Native PCIe Enclosure Management
5591
6250
Native PCIe Enclosure Management
6251
5592
OBFF
5593
6252
OBFF
6253
5594
Optimized Buffer Flush/Fill
5595
6254
Optimized Buffer Flush/Fill
6255
5596
Operating System
5597
5598
6248
6256
Operating System
6257
Throughout this specification, the terms operating system and
system software refer to the combination of power management services,
device drivers, user-mode services, and/or kernel mode services.
5599
6258
Throughout this specification, the terms operating system and
system software refer to the combination of power management services,
device drivers, user-mode services, and/or kernel mode services.
6259
6260
orderly removal
6261
6262
A hot-plug removal model where the OS is notified when a user/
operator wishes to remove an adapter, and the OS has the opportunity to
prepare for the event (e.g., quiescing adapter activity) before granting
permission for removal.
6263
5600
P2P
5601
Peer-to-peer.
5603
Path
5605
Peer-to-peer.
6268
Path
6269
The flow of data through a Retimer, in either the Upstream Path
or the Downstream Path.
5607
6270
The flow of data through a Retimer, in either the Upstream Path
or the Downstream Path.
6271
5608
Packet
5609
6272
Packet
6273
5616
PCIe®
5617
6280
PCIe®
6281
5618
PCI Express®
5619
6282
PCI Express®
6283
5620
PCI Bridge
5621
6284
PCI Bridge
6285
5622
See Type 1 Function.
5623
6286
See Type 1 Function.
6287
5624
PCI Software Model
5625
6288
PCI Software Model
6289
The software model necessary to initialize, discover,
configure, and use a PCI-compatible device, as specified in the PCI Local
Bus Specification, Revision 3.0 , the PCI-X Addendum to the PCI Local Bus
Specification, Revision 2.0 , and the PCI Firmware Specification.
5627
6290
The software model necessary to initialize, discover,
configure, and use a PCI-compatible device, as specified in [PCI-3.0],
[PCI-X-2.0], and [PCI-Firmware].
6291
5628
Phantom Function Number, PFN
5629
5630
6266
6267
5604
5626
P2P
6265
5602
5606
6264
6292
Phantom Function Number, PFN
6293
An unclaimed Function Number that may be used to expand the
number of outstanding transaction identifiers by logically combining the
PFN with the Tag identifier to create a unique transaction identifier.
Page 87
6294
An unclaimed Function Number that may be used to expand the
number of outstanding transaction identifiers by logically combining the
PFN with the Tag identifier to create a unique transaction identifier.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5630
An unclaimed Function Number that may be used to expand the
6294
number of outstanding transaction identifiers by logically combining the
PFN with the Tag identifier to create a unique transaction identifier.
5631
6295
5632
Physical Function, PF
5633
5634
6296
A PCI Function that supports the SR-IOV capabilities defined in
this specification. A PF contains the SR-IOV capability structure.
6298
Physical Lane
5637
6300
See Lane.
5639
6302
Physical Layer
5641
6304
The Layer that directly interacts with the communication medium
between two components.
6306
Port
6308
5646
Logically, an interface between a component and a PCI Express
6310
Link.
Port
Logically, an interface between a component and a PCI Express
Link.
Physically, a group of Transmitters and Receivers located on
the same chip that define a Link.
5648
6311
Physically, a group of Transmitters and Receivers located on
the same chip that define a Link.
6312
5649
6313
5650
Power Management
5651
6314
Power Management
6315
Software or Hardware mechanisms used to minimize system power
consumption, manage system thermal limits, and maximize system battery
life. Power management involves tradeoffs among system speed, noise,
battery life, and AC power consumption.
5653
6316
Software or Hardware mechanisms used to minimize system power
consumption, manage system thermal limits, and maximize system battery
life. Power management involves tradeoffs among system speed, noise,
battery life, and AC power consumption.
6317
5654
PMUX Channel
5655
6318
PMUX Channel
6319
A multiplexed channel on a PMUX Link that is configured to
transport a specific multiplexed protocol. See Appendix G .
5657
6320
A multiplexed channel on a PMUX Link that is configured to
transport a specific multiplexed protocol. See Appendix G Protocol
Multiplexing .
6321
5658
PMUX Link
5659
6322
PMUX Link
6323
A Link where Protocol Multiplexing is supported and enabled.
See Appendix G .
5661
6324
A Link where Protocol Multiplexing is supported and enabled.
See Appendix G Protocol Multiplexing .
6325
5662
PMUX Packet
5663
6326
PMUX Packet
6327
A non-PCI Express Packet transported over a PCI Express Link.
See Appendix G .
5665
6328
A non-PCI Express Packet transported over a PCI Express Link.
See Appendix G Protocol Multiplexing .
6329
5666
Precision Time Measurement, PTM
5667
5668
The Layer that directly interacts with the communication medium
between two components.
6307
5644
5664
Physical Layer
6305
5643
5660
See Lane.
6303
5640
5656
Physical Lane
6301
5638
5652
A PCI Function that contains an SR-IOV Extended Capability
structure and supports the SR-IOV capabilities defined in Chapter 9
Single Root I/O Virtualization and Sharing .
6299
5636
5647
Physical Function, PF
6297
5635
5642
An unclaimed Function Number that may be used to expand the
number of outstanding transaction identifiers by logically combining the
PFN with the Tag identifier to create a unique transaction identifier.
6330
Precision Time Measurement, PTM
6331
Optional capability for communicating precise timing
information between components.
Page 88
6332
An optional capability for communicating precise timing
information between components.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5668
Optional capability for communicating precise timing
information between components.
5669
An optional capability for communicating precise timing
information between components.
6333
5670
Process Address Space ID, PASID
5671
5672
6332
6334
Process Address Space ID, PASID
6335
The Process Address Space ID, in conjunction with the Requester
ID, uniquely identifies the address space associated with a transaction.
5673
6336
The Process Address Space ID, in conjunction with the Requester
ID, uniquely identifies the address space associated with a transaction.
6337
6338
Programmed I/O, PIO
6339
6340
A transaction sequence that’s initiated by a host processor,
often as the result of executing a single load or store instruction that
targets a special address range, but can be generated by other mechanisms
such as the PCI-Compatible Configuration Mechanism. Notably, host
processor loads or stores targeting an ECAM address range generate
Configuration Space transactions. Other memory-mapped ranges typically
exist to generate Memory Space and I/O Space transactions.
6341
5674
Pseudo Port
5675
5676
5677
Logically, an interface between a Retimer and a PCI Express
Link Segment.
Physically, a group of Transmitters and Receivers located on
the same Retimer chip that define a Link Segment.
6345
Logically, an interface between a Retimer and a PCI Express
Link Segment.
Physically, a group of Transmitters and Receivers located on
the same Retimer chip that define a Link Segment.
6347
5680
Quality of Service, QoS
5681
6348
Quality of Service, QoS
6349
Attributes affecting the bandwidth, latency, jitter, relative
priority, etc., for differentiated classes of traffic.
5683
6350
Attributes affecting the bandwidth, latency, jitter, relative
priority, etc., for differentiated classes of traffic.
6351
5700
Re-driver
5701
6368
Re-driver
6369
5702
A non-protocol aware, software transparent, Extension Device.
5703
6370
A non-protocol aware, software transparent, Extension Device.
6371
5704
repeater
5705
6372
repeater
6373
5706
An imprecise term for Extension Device.
5707
6374
An imprecise term for Extension Device.
6375
5708
Reported Error
5709
6376
Reported Error
6377
An error subject to the logging and signaling requirements
architecturally defined in this document
5711
6378
An error subject to the logging and signaling requirements
architecturally defined in this document.
6379
5712
Request
5713
5714
6344
6346
5679
5710
Pseudo Port
6343
5678
5682
6342
6380
Request
6381
A Packet used to initiate a transaction sequence. A Request
includes operation code and, in some cases, address and length, data, or
other information.
5715
5716
Page 89
6382
A Packet used to initiate a transaction sequence. A Request
includes operation code and, in some cases, address and length, data, or
other information.
6383
Requester
6384
Requester
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5716
Requester
5717
5718
6384
Requester
6385
The Function that first introduces a transaction sequence into
the PCI Express domain.
5719
6386
The Function that first introduces a transaction sequence into
the PCI Express domain.
6387
5720
Requester ID
6388
Requester ID
5764
sideband signaling
6432
sideband signaling
5765
5766
6433
A method for signaling events and conditions using physical
signals separate from the signals forming the Link between two
components. All mechanisms defined in this document can be implemented
using in-band signaling, although in some form factors sideband signaling
may be used instead.
5767
single-Function Device, SFD
5769
A device that has a single Function
5771
Single Root I/O Virtualization, SR-IOV
5773
6438
A device that has a single Function
6440
Single Root I/O Virtualization, SR-IOV
6441
A function that supports the SR-IOV capability defined in this
specification.
5775
6442
A Function that supports the SR-IOV Extended Capability defined
in this specification.
6443
5776
Single Root PCI Manager, SR-PCIM
5777
6444
Single Root PCI Manager, SR-PCIM
6445
Software responsible for configuration and management the SRIOV capability and PF/VF as well as dealing with associated error
handling. Multiple implementation options exist; therefore, SR-PCIM
implementation is outside the scope of this specification.
5779
6446
Software responsible for configuration and management of the
SR-IOV Extended Capability and PF/VF as well as dealing with associated
error handling. Multiple implementation options exist; therefore, SR-PCIM
implementation is outside the scope of this specification.
6447
5780
SR-IOV Device
5781
6448
SR-IOV Device
6449
A Device containing one or more Functions that have an SR-IOV
Capability structure.
5783
6450
A Device containing one or more Functions that have an SR-IOV
Extended Capability structure.
6451
5784
SSD
5785
6452
SSD
6453
5786
Solid State Drive
5787
6454
Solid State Drive
6455
5788
Swap, Unconditional Swap
5789
5790
Single-Function Device, SFD
6439
5772
5782
6436
6437
5770
5778
A method for signaling events and conditions using physical
signals separate from the signals forming the Link between two
components. All mechanisms defined in this document can be implemented
using in-band signaling, although in some form factors sideband signaling
may be used instead.
6435
5768
5774
6434
6456
Swap, Unconditional Swap
6457
An AtomicOp where a specified value is written to a target
location, and the original value of the location is returned.
5791
6458
An AtomicOp where a specified value is written to a target
location, and the original value of the location is returned.
6459
5792
Switch
6460
Switch
5800
Symbol Time
6468
Symbol Time
5801
5802
6469
The period of time required to place a Symbol on a Lane (10
times the Unit Interval when using 8b/10b encoding and 8 times the Unit
Interval when using 128b/130b encoding).
5803
Page 90
6470
6471
The period of time required to place a Symbol on a Lane (10
times the Unit Interval when using 8b/10b encoding and 8 times the Unit
Interval when using 128b/130b encoding).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5803
6471
5804
System Element
5805
5806
A defined Device or collection of devices that operate
according to distinct sets of rules. The following System Elements are
defined: Root Complex, Endpoint, Switch, and Bridge.
System Image, SI
5809
A defined Device or collection of Devices that operate
according to distinct sets of rules. The following System Elements are
defined: Root Complex, Endpoint, Switch, and Bridge.
6476
System Image, SI
6477
A software component running on a virtual system to which
specific Functions, PF, and VF can be assigned. Specification of the
behavior and architecture of an SI is outside the scope of this
specification. Examples of SIs include guest operating systems and
shared/non-shared protected domain device drivers.
5811
6478
A software component running on a virtual system to which
specific Functions, PFs, and VFs can be assigned. Specification of the
behavior and architecture of an SI is outside the scope of this
specification. Examples of SIs include guest operating systems and
shared/non-shared protected domain device drivers.
6479
5812
System Software
5813
6480
System Software
6481
Includes System Firmware (BIOS, UEFI), Operating System, VMM,
management software, platform vendor’s add-on to the Operating System.
5815
6482
Includes System Firmware (BIOS, UEFI), Operating System, VMM,
management software, platform vendor’s add-on to the Operating System.
6483
5816
Tag
5817
5818
6474
6475
5808
5814
System Element
6473
5807
5810
6472
6484
Tag
6485
A number assigned to a given Non-Posted Request to distinguish
Completions for that Request from other Requests.
5819
6486
A number assigned to a given Non-Posted Request to distinguish
Completions for that Request from other Requests.
6487
5820
TLP Prefix
6488
TLP Prefix
5908
warm reset
6576
warm reset
5909
5910
6577
A Fundamental Reset without cycling main power.
6578
5911
6579
5912
6580
5913
6581
5914
5915
A Fundamental Reset without cycling main power.
6582
Reference Documents
6583
5916
6584
5917
6585
6586
6587
Reference Documents
PCI
PCI-3.0
6588
6589
PCI Local Bus Specification, Revision 3.0
6590
6591
6592
PCIe
PCIe-5.0
6593
6594
PCI Express Base Specification, Revision 5.0
6595
6596
PCIe-4.0
6597
6598
PCI Express Base Specification, Revision 4.0
6599
6600
Page 91
PCIe-3.1
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6600
6601
PCIe-3.1
PCIe-3.1a
6602
6603
PCI Express Base Specification, Revision 3.1a
6604
6605
PCIe-3.0
6606
6607
PCI Express Base Specification, Revision 3.0
6608
6609
PCIE-2.1
6610
6611
PCI Express Base Specification, Revision 2.1
6612
6613
PCIe-2.0
6614
6615
PCI Express Base Specification, Revision 2.0
6616
6617
PCIe-1.1
6618
6619
PCI Express Base Specification, Revision 1.1
6620
6621
6622
PCIe-1.0
PCIe-1.0a
6623
6624
PCI Express Base Specification, Revision 1.0a
6625
6626
6627
CEM
CEM-4.0
6628
5918
PCI Express Card Electromechanical Specification, Revision 4.0
5919
6629
PCI Express Card Electromechanical Specification, Revision 4.0
6630
6631
CEM-3.0
6632
6633
PCI Express Card Electromechanical Specification, Revision 3.0
6634
6635
CEM-2.0
6636
6637
PCI Express Card Electromechanical Specification, Revision 2.0
6638
6639
ECN-CEM-THERMAL
6640
6641
PCIe CEM Thermal Reporting ECN to the PCI Express Card
Electromechanical Specification, Revision 3.0
6642
6643
6644
5920
5921
5922
6645
PCI Express to PCI/PCI-X Bridge Specification, Revision 1.0
6646
Page 92
PCI Express to PCI/PCI-X Bridge Specification, Revision 1.0
6647
6648
5923
PCIe-to-PCI-PCI-X-Bridge
PCIe-to-PCI-PCI-X-Bridge-1.0
6649
Mini-Card
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5923
6649
5924
PCI Express Mini Card Electromechanical Specification, Revision
6650
2.1
PCI Express Mini Card Electromechanical Specification, Revision
2.1
5925
6651
6652
5926
OCuLink
6653
5927
PCI Express OCuLink Specification, Revision 1.0
5928
6654
PCI Express OCuLink Specification, Revision 1.0
6655
6656
5929
M.2
6657
5930
PCI Express M.2 Specification, Revision 1.1
5931
6658
PCI Express M.2 Specification, Revision 1.1
6659
6660
U.2
SFF-8639
6661
5932
6662
5933
PCI Express External Cabling Specification, Revision 2.0
5934
6663
PCI Express SFF-8639 Module Specification, Revision 3.0,
Version 1.0
6664
6665
5935
5936
Ext-Cabling
6666
PCI Express ExpressModule Electromechanical Specification,
Revision 1.0
5937
6667
PCI Express External Cabling Specification, Revision 2.0
6668
6669
5938
ExpressModule
6670
5939
PCI-X Addendum to the PCI Local Bus Specification, Revision 2.0
5940
6671
PCI Express ExpressModule Electromechanical Specification,
Revision 1.0
6672
6673
PCI-Hot-Plug
PCI-Hot-Plug-1.1
6674
5941
6675
5942
PCI Hot-Plug Specification, Revision 1.1
5943
6676
PCI Hot-Plug Specification, Revision 1.1
6677
6678
5944
5945
PCI-PM
6679
PCI Standard Hot-Plug Controller and Subsystem Specification,
Revision 1.0
5946
6680
PCI Bus Power Management Interface Specification, Revision 1.2
6681
6682
5947
5948
PCI Code and ID Assignment Specification, Revision 1.9 (or
6684
later)
PCI Code and ID Assignment Specification, Revision 1.11 (or
later)
5949
6685
6686
5950
Firmware
6687
5951
PCI Firmware Specification, Revision 3.2
5952
6688
PCI Firmware Specification, Revision 3.2
6689
6690
5953
5954
PCI-Code-and-ID
6683
ACPI
6691
Advanced Configuration and Power Interface Specification,
Revision 6.2
Page 93
6692
Advanced Configuration and Power Interface Specification,
Revision 6.2
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5954
Advanced Configuration and Power Interface Specification,
6692
Revision 6.2
5955
Advanced Configuration and Power Interface Specification,
Revision 6.2
6693
6694
UEFI
6695
6696
Unified Extensible Firmware Interface (UEFI) Specification,
Version 2.8
6697
6698
EUI-48
EUI-64
6699
6700
6701
Guidelines for Use of Extended Unique Identifier (EUI),
Organizationally Unique Identifier (OUI), and Company ID (CID)
6702
6703
JEDEC-JESD22-C101
6704
6705
JEDEC JESD22-C101F: Field-Induced Charged-Device Model Test
Method for Electrostatic Discharge Withstand Thresholds of
Microelectronic Components
6706
6707
JEDEC-JEP155-JEP157
6708
6709
JEDEC JEP155: Recommended ESD Target Levels for HBM/MM
Qualification and JEP157 Recommended ESD-CDM Target Levels
6710
6711
ESDA-JEDEC-JS-001-2010
6712
6713
ESDA/JEDEC JS-001-2010: Joint JEDEC/ESDA Standard for
Electrostatic Discharge Sensitivity Test - Human Body Model (HBM) Component Level
6714
6715
ITU-T-Rec.-X.667
6716
6717
5956
5957
6718
Unified Extensible Firmware Interface (UEFI) Specification
Version 2.7 Errata A
5958
6719
ISO/IEC-9834-8
6720
6721
5959
5960
ITU T-Rec. X.667: Information technology - Procedures for the
operation of object identifier registration authorities: Generation of
universally unique identifiers and their use in object identifiers
ISO/IEC 9834-8: Information technology -- Procedures for the
operation of object identifier registration authorities -- Part 8:
Generation of universally unique identifiers (UUIDs) and their use in
object identifiers
6722
Guidelines for 64-bit Global Identifier (EUI-64) Registration
Authority
5961
6723
RFC-4122
6724
6725
IETF RFC-4122: A Universally Unique IDentifier (UUID) URN
Namespace
5962
6726
5963
Multi-Root I/O Virtualization and Sharing Specification, Revision
1.0
Page 94
6727
PICMG
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
5963
Multi-Root I/O Virtualization and Sharing Specification, Revision
6727
PICMG
6728
1.0
6729
PICMG
6730
6731
PLUG-PLAY-ISA-1.0a
6732
6733
Plug and Play ISA Specification, Version 1.0a, May 5, 1994
6734
6735
PC-Card
6736
6737
5964
6738
5965
6739
5966
6740
5967
6741
5968
6742
5969
1. Introduction
5970
6746
This chapter presents an overview of the PCI Express architecture
and key concepts. PCI Express is a high performance, general purpose I/O
interconnect defined for a wide variety of future computing and
communication platforms. Key PCI attributes, such as its usage model,
load-store architecture, and software interfaces, are maintained, whereas
its parallel bus implementation is replaced by a highly scalable, fully
serial interface. PCI Express takes advantage of recent advances in
point-to-point interconnects, Switch-based technology, and packetized
protocol to deliver new levels of performance and features. Power
Management, Quality of Service (QoS), Hot-Plug/hot-swap support, data
integrity, and error handling are among some of the advanced features
supported by PCI Express.
6747
Ability to test electrical compliance via simple
connection to test equipment
6818
6045
6819
6046
6820
6047
6821
6048
6822
6049
6823
6050
Ability to test electrical compliance via simple
connection to test equipment
6824
6051
1.2 PCI Express Link
6052
6825
1.2 PCI Express Link
6826
6053
6054
1. Introduction
6745
This chapter presents an overview of the PCI Express architecture
and key concepts. PCI Express is a high performance, general purpose I/O
interconnect defined for a wide variety of future computing and
communication platforms. Key PCI attributes, such as its usage model,
load-store architecture, and software interfaces, are maintained, whereas
its parallel bus implementation is replaced by a highly scalable, fully
serial interface. PCI Express takes advantage of recent advances in
point-to-point interconnects, Switch-based technology, and packetized
protocol to deliver new levels of performance and features. Power
Management, Quality of Service (QoS), Hot-Plug/hot-swap support, data
integrity, and error handling are among some of the advanced features
supported by PCI Express.
5973
6044
6743
6744
5971
5972
PC-Card
6827
A Link represents a dual-simplex communications channel between
two components. The fundamental PCI Express Link consists of two, lowvoltage, differentially driven signal pairs: a Transmit pair and a
Receive pair as shown in Figure 1-1 PCI Express Link . A PCI Express Link
consists of a PCIe PHY as defined in Chapter 4 .
6828
6055
6829
6056
6830
Page 95
A Link represents a dual-simplex communications channel between
two components. The fundamental PCI Express Link consists of two, lowvoltage, differentially driven signal pairs: a Transmit pair and a
Receive pair as shown in Figure 1-1 PCI Express Link . A PCI Express Link
consists of a PCIe PHY as defined in Chapter 4 Physical Layer Logical
Block .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6056
6830
6057
6831
6058
6832
6059
Figure 1-1 PCI Express Link
6833
6060
6834
6061
6835
6062
6836
6063
The primary Link attributes for PCI Express Link are:
6064
6065
6066
6067
6068
6069
6070
6837
The basic Link - PCI Express Link consists of dual unidirectional
differential Links, implemented as a Transmit pair and a Receive pair. A
data clock is embedded using an encoding scheme (see Chapter 4 Physical
Layer Logical Block ) to achieve very high data rates.
Signaling rate - Once initialized, each Link must only operate
at one of the supported signaling levels.
For the first generation of PCI Express technology, there is
only one signaling rate defined, which provides an effective 2.5
Gigabits/second/Lane/direction of raw bandwidth.
The second generation provides an effective 5.0 Gigabits/
second/Lane/direction of raw bandwidth.
The third generation provides an effective 8.0 Gigabits/
second/Lane/direction of raw bandwidth.
The fourth generation provides an effective 16.0 Gigabits/
second/Lane/direction of raw bandwidth.
6071
6073
6074
The primary Link attributes for PCI Express Link are:
6838
6839
6840
6841
6842
6843
6844
6845
6072
Figure 1-1 PCI Express Link
The basic Link - PCI Express Link consists of dual unidirectional
differential Links, implemented as a Transmit pair and a Receive pair. A
data clock is embedded using an encoding scheme (see Chapter 4 Physical
Layer Logical Block ) to achieve very high data rates.
Signaling rate - Once initialized, each Link must only operate
at one of the supported signaling levels.
For the first generation of PCI Express technology, there is
only one signaling rate defined, which provides an effective 2.5
Gigabits/second/Lane/direction of raw bandwidth.
The second generation provides an effective 5.0 Gigabits/
second/Lane/direction of raw bandwidth.
The third generation provides an effective 8.0 Gigabits/
second/Lane/direction of raw bandwidth.
The fourth generation provides an effective 16.0 Gigabits/
second/Lane/direction of raw bandwidth.
The fifth generation provides an effective 32.0 Gigabits/
second/Lane/direction of raw bandwidth.
6846
Lanes - A Link must support at least one Lane - each Lane
represents a set of differential signal pairs (one pair for transmission,
one pair for reception). To scale bandwidth, a Link may aggregate
multiple Lanes denoted by xN where N may be any of the supported Link
widths. A x8 Link operating at the 2.5 GT/s data rate represents an
aggregate bandwidth of 20 Gigabits/second of raw bandwidth in each
direction. This specification describes operations for x1, x2, x4, x8,
x12, x16, and x32 Lane widths.
Initialization - During hardware initialization, each PCI
Express Link is set up following a negotiation of Lane widths and
frequency of operation by the two agents at each end of the Link. No
firmware or operating system software is involved.
Symmetry - Each Link must support a symmetric number of Lanes
in each direction, i.e., a x16 Link indicates there are 16 differential
signal pairs in each direction.
6847
6848
6849
6075
6850
6076
6851
6077
6852
6078
6079
6853
1.3 PCI Express Fabric Topology
6080
6141
Page 96
6854
1.3 PCI Express Fabric Topology
6855
6139
6140
Lanes - A Link must support at least one Lane - each Lane
represents a set of differential signal pairs (one pair for transmission,
one pair for reception). To scale bandwidth, a Link may aggregate
multiple Lanes denoted by xN where N may be any of the supported Link
widths. A x8 Link operating at the 2.5 GT/s data rate represents an
aggregate bandwidth of 20 Gigabits/second of raw bandwidth in each
direction. This specification describes operations for x1, x2, x4, x8,
x12, x16, and x32 Lane widths.
Initialization - During hardware initialization, each PCI
Express Link is set up following a negotiation of Lane widths and
frequency of operation by the two agents at each end of the Link. No
firmware or operating system software is involved.
Symmetry - Each Link must support a symmetric number of Lanes
in each direction, i.e., a x16 Link indicates there are 16 differential
signal pairs in each direction.
6914
1.3.2.2 PCI Express Endpoint Rules
6915
6916
1.3.2.2 PCI Express Endpoint Rules
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6916
A PCI Express Endpoint must be a Function with a Type 00h
Configuration Space header.
A PCI Express Endpoint must support Configuration Requests
as a Completer.
A PCI Express Endpoint must not depend on operating system
allocation of I/O resources claimed through BAR(s).
A PCI Express Endpoint must not generate I/O Requests.
A PCI Express Endpoint must not support Locked Requests as
a Completer or generate them as a Requester. PCI Express-compliant
software drivers and applications must be written to prevent the use of
lock semantics when accessing a PCI Express Endpoint.
A PCI Express Endpoint operating as the Requester of a
Memory Transaction is required to be capable of generating addresses
greater than 4 GB.
A PCI Express Endpoint is required to support MSI or MSI-X
or both if an interrupt resource is requested., If MSI is implemented, a
PCI Express Endpoint must support the 64-bit Message Address version of
the MSI Capability structure.
A PCI Express Endpoint requesting memory resources through
a BAR must set the BAR’s Prefetchable bit unless the range contains
locations with read side-effects or locations in which the Function does
not tolerate write merging. See for additional guidance on having the
Prefetchable bit Set.
6917
For a PCI Express Endpoint, 64-bit addressing must be
supported for all BARs that have the Prefetchable bit Set. 32-bit
addressing is permitted for all BARs that do not have the Prefetchable
bit Set.
The minimum memory address range requested by a BAR is 128
bytes.
A PCI Express Endpoint must appear within one of the
hierarchy domains originated by the Root Complex.
6925
6918
6919
6920
6921
6922
6923
6924
6926
6927
6153
6928
6154
6929
6155
6930
6156
6931
6157
1.3.2.3 Root Complex Integrated Endpoint Rules
6158
6159
6160
6161
6162
6163
6164
A PCI Express Endpoint must be a Function with a Type 00h
Configuration Space header.
A PCI Express Endpoint must support Configuration Requests
as a Completer.
A PCI Express Endpoint must not depend on operating system
allocation of I/O resources claimed through BAR(s).
A PCI Express Endpoint must not generate I/O Requests.
A PCI Express Endpoint must not support Locked Requests as
a Completer or generate them as a Requester. PCI Express-compliant
software drivers and applications must be written to prevent the use of
lock semantics when accessing a PCI Express Endpoint.
A PCI Express Endpoint operating as the Requester of a
Memory Transaction is required to be capable of generating addresses
greater than 4 GB.
A PCI Express Endpoint is required to support MSI or MSI-X
or both if an interrupt resource is requested., If MSI is implemented, a
PCI Express Endpoint must support the 64-bit Message Address version of
the MSI Capability structure.
A PCI Express Endpoint requesting memory resources through
a BAR must set the BAR’s Prefetchable bit unless the range contains
locations with read side-effects or locations in which the Function does
not tolerate write merging. See Section 7.5.1.2.1 Base Address Registers
(Offset 10h - 24h) for additional guidance on having the Prefetchable bit
Set.
For a PCI Express Endpoint, 64-bit addressing must be
supported for all BARs that have the Prefetchable bit Set. 32-bit
addressing is permitted for all BARs that do not have the Prefetchable
bit Set.
The minimum memory address range requested by a BAR is 128
bytes.
A PCI Express Endpoint must appear within one of the
hierarchy domains originated by the Root Complex.
6932
1.3.2.3 Root Complex Integrated Endpoint Rules
6933
A Root Complex Integrated Endpoint (RCiEP) is implemented on
internal logic of Root Complexes that contains the Root Ports.
An RCiEP must be a Function with a Type 00h Configuration
Space header.
An RCiEP must support Configuration Requests as a
Completer.
An RCiEP must not require I/O resources claimed through
BAR(s).
An RCiEP must not generate I/O Requests.
An RCiEP must not support Locked Requests as a Completer or
generate them as a Requester. PCI Express-compliant software drivers and
applications must be written to prevent the use of lock semantics when
accessing an RCiEP.
Page 97
6934
6935
6936
6937
6938
6939
A Root Complex Integrated Endpoint (RCiEP) is implemented on
internal logic of Root Complexes that contains the Root Ports.
An RCiEP must be a Function with a Type 00h Configuration
Space header.
An RCiEP must support Configuration Requests as a
Completer.
An RCiEP must not require I/O resources claimed through
BAR(s).
An RCiEP must not generate I/O Requests.
An RCiEP must not support Locked Requests as a Completer or
generate them as a Requester. PCI Express-compliant software drivers and
applications must be written to prevent the use of lock semantics when
accessing an RCiEP.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
6164
An RCiEP must not support Locked Requests as a Completer or
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
generate them as a Requester. PCI Express-compliant software drivers and
6165
6166
6167
6168
6169
6170
6171
6172
6173
applications must be written to prevent the use of lock semantics when
accessing an RCiEP.
An RCiEP operating as the Requester of a Memory Transaction
is required to be capable of generating addresses equal to or greater
than the Host is capable of handling as a Completer.
An RCiEP is required to support MSI or MSI-X or both if an
interrupt resource is requested. If MSI is implemented, an RCiEP is
permitted to support either the 32-bit or 64-bit Message Address version
of the MSI Capability structure.
An RCiEP is permitted to support 32-bit addressing for Base
Address Registers that request memory resources.
An RCiEP must not implement Link Capabilities, Link Status,
Link Control, Link Capabilities 2, Link Status 2, and Link Control 2
registers in the PCI Express Extended Capability. See Section 7.5.3 PCI
Express Capability Structure for more details.
An RCiEP must signal PME and error conditions through the
same mechanisms used on PCI systems. If a Root Complex Event Collector is
implemented, an RCiEP may optionally signal PME and error conditions
through a Root Complex Event Collector. In this case, an RCiEP must be
associated with no more than one Root Complex Event Collector.
An RCiEP does not implement Active State Power Management.
An RCiEP may not be hot-plugged independent of the Root
Complex as a whole.
An RCiEP must not appear in any of the hierarchy domains
exposed by the Root Complex.
An RCiEP must not appear in Switches.
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6174
6950
6175
6951
6176
6952
6177
6953
6178
1.3.3 Switch
Endpoints (represented by Type 00h Configuration Space
headers) must not appear to configuration software on the Switch’s
internal bus as peers of the virtual PCI-to-PCI Bridges representing the
Switch Downstream Ports.
6955
6973
6198
6974
6199
6975
6200
6976
6201
1.3.4 Root Complex Event Collector
6203
6205
6206
6207
1.3.3 Switch
Endpoints (represented by Type 00h Configuration Space
headers) must not appear to configuration software on the Switch’s
internal bus as peers of the virtual PCI-to-PCI Bridges representing the
Switch Downstream Ports.
6977
6202
6204
An RCiEP does not implement Active State Power Management.
An RCiEP may not be hot-plugged independent of the Root
Complex as a whole.
An RCiEP must not appear in any of the hierarchy domains
exposed by the Root Complex.
An RCiEP must not appear in Switches.
6954
6179
6197
An RCiEP must not support Locked Requests as a Completer or
generate them as a Requester. PCI Express-compliant software drivers and
applications must be written to prevent the use of lock semantics when
accessing an RCiEP.
An RCiEP operating as the Requester of a Memory Transaction
is required to be capable of generating addresses equal to or greater
than the Host is capable of handling as a Completer.
An RCiEP is required to support MSI or MSI-X or both if an
interrupt resource is requested. If MSI is implemented, an RCiEP is
permitted to support either the 32-bit or 64-bit Message Address version
of the MSI Capability structure.
An RCiEP is permitted to support 32-bit addressing for Base
Address Registers that request memory resources.
An RCiEP must not implement Link Capabilities, Link Status,
Link Control, Link Capabilities 2, Link Status 2, and Link Control 2
registers in the PCI Express Extended Capability.
If an RCiEP is associated with an optional Root Complex
Event Collector it must signal PME and error conditions through the Root
Complex Event Collector.
An RCiEP must not be associated with more than one Root
Complex Event Collector.
6978
1.3.4 Root Complex Event Collector
6979
A Root Complex Event Collector provides support for terminating
error and PME messages from RCiEPs.
A Root Complex Event Collector must follow all rules for an
RCiEP.
A Root Complex Event Collector is not required to decode any
memory or I/O resources.
A Root Complex Event Collector is identified by its Device/
Port Type value (see section 7.5.3.2 ).
Page 98
6980
6981
6982
6983
A Root Complex Event Collector provides support for terminating
error and PME messages from RCiEPs.
A Root Complex Event Collector must follow all rules for an
RCiEP.
A Root Complex Event Collector is not required to decode any
memory or I/O resources.
A Root Complex Event Collector is identified by its Device/
Port Type value (see Section 7.5.3.2 PCI Express Capabilities Register
(Offset 02h) ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6983
6208
6984
6209
6210
6211
6212
A Root Complex Event Collector has the Base Class 08h, SubClass 07h and Programming Interface 00h. [Footnote: Since an earlier
version of this specification used Sub-Class 06h for this purpose, an
implementation is still permitted to use Sub-Class 06h, but this is
strongly discouraged.]
A Root Complex Event Collector resides on the same Logical
Bus as the RCiEPs it supports.
Multiple Root Complex Event Collectors are permitted to
reside on a single Logical Bus.
A Root Complex Event Collector explicitly declares supported
RCiEPs through the Root Complex Event Collector Endpoint Association
Capability.
Root Complex Event Collectors are optional.
6985
6986
6987
6213
6988
6214
6989
6215
6990
6216
1.3.5 PCI Express to PCI/PCI-X Bridge
6218
6992
A PCI Express to PCI/PCI-X Bridge provides a connection between
a PCI Express fabric and a PCI/PCI-X hierarchy.
6994
6995
6221
6996
6223
6998
6224
1.4 Hardware/Software Model for Discovery, Configuration and
7000
Operation
7001
6227
7002
The PCI/PCIe hardware/software model includes architectural
constructs necessary to discover, configure, and use a Function, without
needing Function-specific knowledge. Key elements include:
6229
6232
6233
Page
7005
7006
7007
7008
A configuration model which provides system software the means to
discover hardware Functions available in a system
Mechanisms to perform basic resource allocation for addressable
resources such as memory space and interrupts
Enable/disable controls for Function response to received
Requests, and initiation of Requests
Well-defined ordering and flow control models to support the
consistent and robust implementation of hardware/software interfaces
7010
The PCI Express configuration model supports two mechanisms:
6237
6239
The PCI/PCIe hardware/software model includes architectural
constructs necessary to discover, configure, and use a Function, without
needing Function-specific knowledge. Key elements include:
7009
6235
6238
7003
7004
A configuration model which provides system software the means to
discover hardware Functions available in a system
Mechanisms to perform basic resource allocation for addressable
resources such as memory space and interrupts
Enable/disable controls for Function response to received
Requests, and initiation of Requests
Well-defined ordering and flow control models to support the
consistent and robust implementation of hardware/software interfaces.
6234
6236
1.4 Hardware/Software Model for Discovery, Configuration and
Operation
6226
6231
A PCI Express to PCI/PCI-X Bridge provides a connection between
a PCI Express fabric and a PCI/PCI-X hierarchy.
6999
6225
6230
1.3.5 PCI Express to PCI/PCI-X Bridge
6993
6220
6228
Root Complex Event Collectors are optional.
6991
6217
6219
A Root Complex Event Collector is identified by its Device/
Port Type value (see Section 7.5.3.2 PCI Express Capabilities Register
(Offset 02h) ).
A Root Complex Event Collector has the Base Class 08h, SubClass 07h and Programming Interface 00h. [Footnote: Since an earlier
version of this specification used Sub-Class 06h for this purpose, an
implementation is still permitted to use Sub-Class 06h, but this is
strongly discouraged.]
A Root Complex Event Collector resides on a Bus in the Root
Complex. Multiple Root Complex Event Collectors are permitted to reside
on a single Bus.
A Root Complex Event Collector explicitly declares supported
RCiEPs through the Root Complex Event Collector Endpoint Association
Extended Capability.
7011
The PCI Express configuration model supports two mechanisms:
7012
PCI-compatible configuration mechanism: The PCI-compatible
mechanism supports 100% binary compatibility with Conventional PCI aware
operating systems and their corresponding bus enumeration and
configuration software.
PCI Express enhanced configuration mechanism: The enhanced
mechanism is provided to increase the size of available Configuration
Space and to optimize access mechanisms.
99
7013
7014
PCI-compatible configuration mechanism: The PCI-compatible
mechanism supports 100% binary compatibility with Conventional PCI aware
operating systems and their corresponding bus enumeration and
configuration software.
PCI Express enhanced configuration mechanism: The enhanced
mechanism is provided to increase the size of available Configuration
Space and to optimize access mechanisms.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6239
PCI Express enhanced configuration mechanism: The enhanced
mechanism is provided to increase the size of available Configuration
Space and to optimize access mechanisms.
6240
7016
Each PCI Express Link is mapped through a virtual PCI-to-PCI
Bridge structure and has a logical PCI bus associated with it. The
virtual PCI-to-PCI Bridge structure may be part of a PCI Express Root
Complex Port, a Switch Upstream Port, or a Switch Downstream Port. A Root
Port is a virtual PCI-to-PCI Bridge structure that originates a PCI
Express hierarchy domain from a PCI Express Root Complex. Devices are
mapped into Configuration Space such that each will respond to a
particular Device Number.
7017
6243
7018
6299
7074
6300
7075
6301
7076
6302
Each PCI Express Link is mapped through a virtual PCI-to-PCI
Bridge structure and has a logical PCI bus associated with it. The
virtual PCI-to-PCI Bridge structure may be part of a PCI Express Root
Complex Port, a Switch Upstream Port, or a Switch Downstream Port. A Root
Port is a virtual PCI-to-PCI Bridge structure that originates a PCI
Express hierarchy domain from a PCI Express Root Complex. Devices are
mapped into Configuration Space such that each will respond to a
particular Device Number.
7077
6303
1.5.3 Physical Layer
6304
7078
1.5.3 Physical Layer
7079
6305
6306
PCI Express enhanced configuration mechanism: The enhanced
mechanism is provided to increase the size of available Configuration
Space and to optimize access mechanisms.
7015
6241
6242
7014
7080
The Physical Layer includes all circuitry for interface
operation, including driver and input buffers, parallel-to-serial and
serial-to-parallel conversion, PLL(s), and impedance matching circuitry.
It also includes logical functions related to interface initialization
and maintenance. The Physical Layer exchanges information with the Data
Link Layer in an implementation-specific format. This Layer is
responsible for converting information received from the Data Link Layer
into an appropriate serialized format and transmitting it across the PCI
Express Link at a frequency and width compatible with the device
connected to the other side of the Link.
6307
7081
The Physical Layer includes all circuitry for interface
operation, including driver and input buffers, parallel-to-serial and
serial-to-parallel conversion, PLL(s), and impedance matching circuitry.
It also includes logical functions related to interface initialization
and maintenance. The Physical Layer exchanges information with the Data
Link Layer in an implementation-specific format. This Layer is
responsible for converting information received from the Data Link Layer
into an appropriate serialized format and transmitting it across the PCI
Express Link at a frequency and width compatible with the device
connected to the other side of the Link.
7082
6308
7083
6309
.
6310
6311
6312
The PCI Express architecture has “hooks” to support future
performance enhancements via speed upgrades and advanced encoding
techniques. The future speeds, encoding techniques or media may only
impact the Physical Layer definition.
7084
6313
7085
6314
7086
6315
7087
6316
6317
7088
1.5.4 Layer Functions and Services
7089
6318
7090
6319
7091
6320
6321
1.5.4 Layer Functions and Services
7092
1.5.4.1 Transaction Layer Services
7093
6592
7364
6593
7365
Page 100
The PCI Express architecture has “hooks” to support future
performance enhancements via speed upgrades and advanced encoding
techniques. The future speeds, encoding techniques or media may only
impact the Physical Layer definition.
1.5.4.1 Transaction Layer Services
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6593
6594
7365
Certain Memory Transactions can optionally have a PASID TLP
Prefix containing the Process Address Space ID (PASID). See Section 6.20
PASID TLP Prefix for details.
7366
6595
7367
6596
7368
6597
7369
6598
7370
6599
2.1.1.2 I/O Transactions
6600
7371
7373
PCI Express supports I/O Space for compatibility with
legacy devices which require their use. Future revisions of this
specification may deprecate the use of I/O Space. I/O Transactions
include the following types:
6603
7374
Read Request/Completion
Write Request/Completion
6605
6606
7376
7377
7379
6608
I/O Transactions use a single address format:
6609
7380
Short Address Format: 32-bit address
7382
6611
7383
6612
7384
6628
Short Address Format: 32-bit address
7400
6629
2.1.1.4 Message Transactions
6630
7401
2.1.1.4 Message Transactions
7402
6631
7403
The Message Transactions, or simply Messages, are used to
support in-band communication of events between devices.
6633
7404
The Message Transactions, or simply Messages, are used to
support in-band communication of events between devices.
7405
6634
7406
In addition to specific Messages defined in this document,
PCI Express provides support for vendor-defined Messages using specified
Message codes. Except for Vendor-Defined Messages that use the PCI-SIG®
Vendor ID (0001h), the definition of specific vendor-defined Messages is
outside the scope of this document.
6636
7407
In addition to specific Messages defined in this document,
PCI Express provides support for vendor-defined Messages using specified
Message codes. Except for Vendor-Defined Messages that use the PCI-SIG®
Vendor ID (0001h), the definition of specific vendor-defined Messages is
outside the scope of this document.
7408
6637
7409
This specification establishes a standard framework within
which vendors can specify their own Vendor-Defined Messages tailored to
fit the specific requirements of their platforms (see ).
6639
7410
This specification establishes a standard framework within
which vendors can specify their own Vendor-Defined Messages tailored to
fit the specific requirements of their platforms (see Section 2.2.8.6
Vendor_Defined Messages ).
7411
6640
6641
I/O Transactions use a single address format:
7381
6610
6638
Read Request/Completion
Write Request/Completion
7378
6607
6635
PCI Express supports I/O Space for compatibility with
legacy devices that require their use. Future revisions of this
specification may deprecate the use of I/O Space. I/O Transactions
include the following types:
7375
6604
6632
2.1.1.2 I/O Transactions
7372
6601
6602
Certain Memory Transactions can optionally have a PASID TLP
Prefix containing the Process Address Space ID (PASID). See Section 6.20
PASID TLP Prefix for details.
7412
Note that these vendor-defined Messages are not guaranteed
to be interoperable with components from different vendors.
7413
6642
7414
6643
7415
6644
7416
Page 101
Note that these vendor-defined Messages are not guaranteed
to be interoperable with components from different vendors.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6644
7416
6645
7417
6646
7418
6647
2.1.2 Packet Format Overview
6648
6737
6738
6739
6740
6741
7419
2.1.2 Packet Format Overview
7420
TD - 1b indicates presence of TLP Digest in the form of a
single Double Word (DW) at the end of the TLP (see Section 2.2.3 TLP
Digest Rules ) - bit 7 of byte 2
Error Poisoned (EP) - indicates the TLP is poisoned (see
Section 2.7 Data Integrity ) - bit 6 of byte 2
Length[9:0] - Length of data payload in DW (see Table 2-4
Length[9:0] Field Encoding ) - bits 1:0 of byte 2 concatenated with bits
7:0 of byte 3
TLP data must be 4-byte naturally aligned and in increments
of 4-byte DW.
Reserved for TLPs that do not contain or refer to data
payloads, including Cpl, CplLk, and Messages (except as specified)
7509
7510
7511
7512
7513
6742
7514
6743
7515
6744
7516
6745
7517
6746
7518
TD - 1b indicates presence of TLP Digest in the form of a
single Double Word (DW) at the end of the TLP (see Section 2.2.3 TLP
Digest Rules ) - bit 7 of byte 2
Error Poisoned (EP) - indicates the TLP is poisoned (see
Section 2.7 Data Integrity ) - bit 6 of byte 2
Length[9:0] - Length of data payload in DW (see Table 2-4
Length[9:0] Field Encoding ) - bits 1:0 of byte 2 concatenated with bits
7:0 of byte 3
TLP data must be 4-byte naturally aligned and in increments
of 4-byte DW.
Reserved for TLPs that do not contain or refer to data
payloads, including Cpl, CplLk, and Messages (except as specified)
6747
6748
6749
Figure 2-5 Fields Present in All TLP Headers
7519
6750
7520
6751
7521
6752
7522
6753
6754
7523
Table 2-2 Fmt[2:0] Field Values
6755
6756
Figure 2-5 Fields Present in All TLP Headers
7524
Table 2-2 Fmt[2:0] Field Values
7525
Fmt[2:0]
6757
7526
Fmt[2:0]
7527
6758
Corresponding TLP Format
7528
Corresponding TLP Format
6900
Configuration Write Type 1
7670
Configuration Write Type 1
6901
7671
6902
7672
6903
6904
7673
TCfgRd
6905
6906
000
7676
1 1011
7678
1 1011
7679
Deprecated TLP Type [Footnote: 4]
7680
6911
7681
6912
7682
Page 102
000
7677
6909
6910
TCfgRd
7675
6907
6908
7674
Deprecated TLP Type [Footnote: Deprecated TLP Types:
previously used for Trusted Configuration Space (TCS), which is no longer
supported by this specification. If a Receiver does not implement TCS,
the Receiver must treat such Requests as Malformed Packets.]
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
6912
7682
6913
7683
6914
TCfgWr
6915
7684
TCfgWr
7685
6916
010
6917
7686
010
7687
6918
1 1011
6919
7688
1 1011
7689
6920
Deprecated TLP Type [Footnote: Deprecated TLP Types:
previously used for Trusted Configuration Space (TCS), which is no longer
supported by this specification. If a Receiver does not implement TCS,
the Receiver must treat such Requests as Malformed Packets.]
7690
Deprecated TLP Type [Footnote: Deprecated TLP Types:
previously used for Trusted Configuration Space (TCS), which is no longer
supported by this specification. If a Receiver does not implement TCS,
the Receiver must treat such Requests as Malformed Packets.]
7013
Compare and Swap AtomicOp Request
7783
Compare and Swap AtomicOp Request
7014
7784
7015
7785
7016
7786
7017
LPrfx
7018
100
7020
7789
0L3L2L1L0
7022
7791
0 L3L2L1L0
7792
Local TLP Prefix - The sub-field L[3:0] specifies the
Local TLP Prefix type (see Table 2-35 Local TLP Prefix Types ).
7793
7024
7794
7025
7795
7026
Local TLP Prefix - The sub-field L[3:0] specifies the
Local TLP Prefix type (see Table 2-36 Local TLP Prefix Types ).
7796
7027
EPrfx
7028
7797
EPrfx
7798
7029
100
7030
7799
100
7800
7031
1E3E2E1E0
7032
7801
1 E3E2E1E0
7802
End-End TLP Prefix - The sub-field E[3:0] specifies
the End-End TLP Prefix type (see Table 2-36 End-End TLP Prefix Types ).
7803
7034
7804
7035
7805
7036
7037
100
7790
7021
7033
LPrfx
7788
7019
7023
7787
End-End TLP Prefix - The sub-field E[3:0] specifies
the End-End TLP Prefix type (see Table 2-37 End-End TLP Prefix Types ).
7806
All encodings not shown above are Reserved (see
Section 2.3 Handling of Received TLPs ).
7807
7038
7808
7039
7809
7040
7810
7041
7811
7042
7812
7043
7813
7079
7849
7080
7850
7081
7851
7082
7852
7083
7853
Page 103
All encodings not shown above are Reserved (see
Section 2.3 Handling of Received TLPs ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7083
7853
7084
7854
7085
7855
7086
2.2.2 TLPs with Data Payloads - Rules
7087
7088
7089
7090
7093
7094
7095
7096
7097
Length is specified as an integral number of DW
Length[9:0] is Reserved for all Messages except those which
explicitly refer to a data length
Refer to the Message Code tables in Section 2.2.8 Message
Request Rules .
7102
7103
7859
7860
Length is specified as an integral number of DW
Length[9:0] is Reserved for all Messages except those that
explicitly refer to a data length
Refer to the Message Code tables in Section 2.2.8 Message
Request Rules .
7862
7863
7864
7865
7866
7867
The Transmitter of a TLP with a data payload must not allow
the data payload length as given by the TLP's Length field to exceed the
length specified by the value in the Max_Payload_Size field of the
Transmitter's Device Control register taken as an integral number of DW
(see Section 7.5.3.4 Device Control Register (Offset 08h) ).
For ARI Devices, the Max_Payload_Size is determined solely
by the setting in Function 0. The Max_Payload_Size settings in other
Functions are ignored.
For an Upstream Port associated with a non-ARI MultiFunction Device (MFD) whose Max_Payload_Size settings are identical
across all Functions, a transmitted TLP's data payload must not exceed
the common Max_Payload_Size setting.
For an Upstream Port associated with a non-ARI MFD whose
Max_Payload_Size settings are not identical across all Functions, a
transmitted TLP's data payload must not exceed a Max_Payload_Size setting
whose determination is implementation specific.
Transmitter implementations are encouraged to use the
Max_Payload_Size setting from the Function that generated the
transaction, or else the smallest Max_Payload_Size setting across all
Functions.
Software should not set the Max_Payload_Size in
different Functions to different values unless software is aware of the
specific implementation.
7868
Note: Max_Payload_Size applies only to TLPs with data
payloads; Memory Read Requests are not restricted in length by
Max_Payload_Size. The size of the Memory Read Request is controlled by
the Length field.
7100
7101
7858
7861
The Transmitter of a TLP with a data payload must not allow
the data payload length as given by the TLP's Length field to exceed the
length specified by the value in the Max_Payload_Size field of the
Transmitter's Device Control register taken as an integral number of DW
(see Section 7.5.3.4 Device Control Register (Offset 08h) ).
For ARI Devices, the Max_Payload_Size is determined solely
by the setting in Function 0. The Max_Payload_Size settings in other
Functions are ignored.
For an Upstream Port associated with a non-ARI MultiFunction Device (MFD) whose Max_Payload_Size settings are identical
across all Functions, a transmitted TLP's data payload must not exceed
the common Max_Payload_Size setting.
For an Upstream Port associated with a non-ARI MultiFunction Device whose Max_Payload_Size settings are not identical across
all Functions, a transmitted TLP's data payload must not exceed a
Max_Payload_Size setting whose determination is implementation specific.
Transmitter implementations are encouraged to use the
Max_Payload_Size setting from the Function that generated the
transaction, or else the smallest Max_Payload_Size setting across all
Functions.
Software should not set the Max_Payload_Size in
different Functions to different values unless software is aware of the
specific implementation.
7098
7099
2.2.2 TLPs with Data Payloads - Rules
7857
7091
7092
7856
7869
Note: Max_Payload_Size applies only to TLPs with data
payloads; Memory Read Requests are not restricted in length by
Max_Payload_Size. The size of the Memory Read Request is controlled by
the Length field.
7870
The size of the data payload of a Received TLP as given by
the TLP's Length field must not exceed the length specified by the value
in the Max_Payload_Size field of the Receiver's Device Control register
taken as an integral number of DW (see Section 7.5.3.4 Device Control
Register (Offset 08h) ).
Receivers must check for violations of this rule. If a
Receiver determines that a TLP violates this rule, the TLP is a Malformed
TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
7104
Page 104
7871
7872
7873
7874
The size of the data payload of a Received TLP as given by
the TLP's Length field must not exceed the length specified by the value
in the Max_Payload_Size field of the Receiver's Device Control register
taken as an integral number of DW (see Section 7.5.3.4 Device Control
Register (Offset 08h) ).
Receivers must check for violations of this rule. If a
Receiver determines that a TLP violates this rule, the TLP is a Malformed
TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7104
7105
7106
7107
7108
7109
7874
For ARI Devices, the Max_Payload_Size is determined
solely by the setting in Function 0. The Max_Payload_Size settings in
other Functions are ignored.
For an Upstream Port associated with a non-ARI MultiFunction Device whose Max_Payload_Size settings are identical across all
Functions, the Receiver is required to check the TLP's data payload size
against the common Max_Payload_Size setting.
For an Upstream Port associated with a non-ARI MultiFunction Device whose Max_Payload_Size settings are not identical across
all Functions, the Receiver is required to check the TLP's data payload
against a Max_Payload_Size setting whose determination is implementation
specific.
Receiver implementations are encouraged to use the
Max_Payload_Size setting from the Function targeted by the transaction,
or else the largest Max_Payload_Size setting across all Functions.
Software should not set the Max_Payload_Size in
different Functions to different values unless software is aware of the
specific implementation.
7110
7113
7114
7119
7122
Page
7879
7882
7883
7884
Receiver implementations are encouraged to use the
Max_Payload_Size setting from the Function targeted by the transaction,
or else the largest Max_Payload_Size setting across all Functions.
Software should not set the Max_Payload_Size in
different Functions to different values unless software is aware of the
specific implementation.
For TLPs, that include data, the value in the Length field
and the actual amount of data included in the TLP must match.
Receivers must check for violations of this rule. If a
Receiver determines that a TLP violates this rule, the TLP is a Malformed
TLP.
This is a Reported Error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
7886
The value in the Length field applies only to data - the TLP
Digest is not included in the Length
When a data payload is included in a TLP other than an
AtomicOp Request or an AtomicOp Completion, the first byte of data
following the header corresponds to the byte address closest to zero and
the succeeding bytes are in increasing byte address sequence.
7887
Example: For a 16-byte write to location 100h, the first
byte following the header would be the byte to be written to location
100h, and the second byte would be written to location 101h, and so on,
with the final byte written to location 10Fh.
7889
7120
7121
7878
7885
7116
7118
7877
7881
For TLPs, that include data, the value in the Length field
and the actual amount of data included in the TLP must match.
Receivers must check for violations of this rule. If a
Receiver determines that a TLP violates this rule, the TLP is a Malformed
TLP.
This is a Reported Error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
7115
7117
7876
For ARI Devices, the Max_Payload_Size is determined
solely by the setting in Function 0. The Max_Payload_Size settings in
other Functions are ignored.
For an Upstream Port associated with a non-ARI MFD whose
Max_Payload_Size settings are identical across all Functions, the
Receiver is required to check the TLP's data payload size against the
common Max_Payload_Size setting.
For an Upstream Port associated with a non-ARI MFD whose
Max_Payload_Size settings are not identical across all Functions, the
Receiver is required to check the TLP's data payload against a
Max_Payload_Size setting whose determination is implementation specific.
7880
7111
7112
7875
7888
The value in the Length field applies only to data - the TLP
Digest is not included in the Length
When a data payload associated with a byte address is
included in a TLP other than an AtomicOp Request or an AtomicOp
Completion, the first byte of data following the header corresponds to
the byte address closest to zero and the succeeding bytes are in
increasing byte address sequence.
Example: For a 16-byte write to location 100h, the first
byte following the header would be the byte to be written to location
100h, and the second byte would be written to location 101h, and so on,
with the final byte written to location 10Fh.
7890
The data payload in AtomicOp Requests and AtomicOp
Completions must be formatted such that the first byte of data following
the TLP header is the least significant byte of the first data value, and
subsequent bytes of data are strictly increasing in significance. With
Compare And Swap (CAS) Requests, the second data value immediately
follows the first data value, and must be in the same format.
The endian format used by AtomicOp Completers to read and
write data at the target location is implementation specific, and is
permitted to be whatever the Completer determines is appropriate for the
target memory (e.g., little endian, big endian, etc.) Endian format
capability reporting and controls for AtomicOp Completers are outside the
105
scope of this specification.
7891
7892
The data payload in AtomicOp Requests and AtomicOp
Completions must be formatted such that the first byte of data following
the TLP header is the least significant byte of the first data value, and
subsequent bytes of data are strictly increasing in significance. With
Compare And Swap (CAS) Requests, the second data value immediately
follows the first data value, and must be in the same format.
The endian format used by AtomicOp Completers to read and
write data at the target location is implementation specific, and is
permitted to be whatever the Completer determines is appropriate for the
target memory (e.g., little endian, big endian, etc.) Endian format
capability reporting and controls for AtomicOp Completers are outside the
scope of this specification.
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
7122
The endian format used by AtomicOp Completers to read and
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
write data at the target location is implementation specific, and is
7123
7124
permitted to be whatever the Completer determines is appropriate for the
target memory (e.g., little endian, big endian, etc.) Endian format
capability reporting and controls for AtomicOp Completers are outside the
scope of this specification.
Little endian example: For a 64-bit (8-byte) Swap Request
targeting location 100h with the target memory in little endian format,
the first byte following the header is written to location 100h, the
second byte is written to location 101h, and so on, with the final byte
written to location 107h. Note that before performing the writes, the
Completer first reads the target memory locations so it can return the
original value in the Completion. The byte address correspondence to the
data in the Completion is identical to that in the Request.
Big endian example: For a 64-bit (8-byte) Swap Request
targeting location 100h with the target memory in big endian format, the
first byte following the header is written to location 107h, the second
byte is written to location 106h, and so on, with the final byte written
to location 100h. Note that before performing the writes, the Completer
first reads the target memory locations so it can return the original
value in the Completion. The byte address correspondence to the data in
the Completion is identical to that in the Request.
7125
7126
7892
7893
7894
7895
Figure 2-6 Examples of Completer Target Memory Access
for FetchAdd shows little endian and big endian examples of Completer
target memory access for a 64-bit (8-byte) FetchAdd. The bytes in the
operands and results are numbered 0-7, with byte 0 being least
significant and byte 7 being most significant. In each case, the
Completer fetches the target memory operand using the appropriate endian
format. Next, AtomicOp compute logic in the Completer performs the
FetchAdd operation using the original target memory value and the “add”
value from the FetchAdd Request. Finally, the Completer stores the
FetchAdd result back to target memory using the same endian format used
for the fetch.
7896
7127
7897
7128
7898
7185
7955
7186
2.2.4.1 Address-Based Routing Rules
7188
7190
Figure 2-6 Examples of Completer Target Memory Access
for FetchAdd shows little endian and big endian examples of Completer
target memory access for a 64-bit (8-byte) FetchAdd. The bytes in the
operands and results are numbered 0-7, with byte 0 being least
significant and byte 7 being most significant. In each case, the
Completer fetches the target memory operand using the appropriate endian
format. Next, AtomicOp compute logic in the Completer performs the
FetchAdd operation using the original target memory value and the “add”
value from the FetchAdd Request. Finally, the Completer stores the
FetchAdd result back to target memory using the same endian format used
for the fetch.
7956
7187
7189
The endian format used by AtomicOp Completers to read and
write data at the target location is implementation specific, and is
permitted to be whatever the Completer determines is appropriate for the
target memory (e.g., little endian, big endian, etc.) Endian format
capability reporting and controls for AtomicOp Completers are outside the
scope of this specification.
Little endian example: For a 64-bit (8-byte) Swap Request
targeting location 100h with the target memory in little endian format,
the first byte following the header is written to location 100h, the
second byte is written to location 101h, and so on, with the final byte
written to location 107h. Note that before performing the writes, the
Completer first reads the target memory locations so it can return the
original value in the Completion. The byte address correspondence to the
data in the Completion is identical to that in the Request.
Big endian example: For a 64-bit (8-byte) Swap Request
targeting location 100h with the target memory in big endian format, the
first byte following the header is written to location 107h, the second
byte is written to location 106h, and so on, with the final byte written
to location 100h. Note that before performing the writes, the Completer
first reads the target memory locations so it can return the original
value in the Completion. The byte address correspondence to the data in
the Completion is identical to that in the Request.
7957
2.2.4.1 Address-Based Routing Rules
7958
Address routing is used with Memory and I/O Requests.
Two address formats are specified, a 64-bit format used
with a 4 DW header (see Figure 2-7 64-bit Address Routing ) and a 32-bit
format used with a 3 DW header (see Figure 2-8 32-bit Address Routing ).
7959
7960
7191
7961
7192
7962
7193
7963
7194
7964
Address routing is used with Memory and I/O Requests.
Two address formats are specified, a 64-bit format used
with a 4 DW header (see Figure 2-7 64-bit Address Routing ) and a 32-bit
format used with a 3 DW header (see Figure 2-8 32-bit Address Routing ).
7195
7196
7197
Figure 2-7 64-bit Address Routing
7965
7198
7966
7199
7967
Page 106
Figure 2-7 64-bit Address Routing
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7199
7967
7200
7968
7201
7969
7202
7970
7203
7204
7205
Figure 2-8 32-bit Address Routing
7206
7973
For Memory Read, Memory Write, and AtomicOp Requests, the
Address Type (AT) field is encoded as shown in Table 10-1 Address Type
(AT) Field Encodings . For all other Requests, the AT field is Reserved
unless explicitly stated otherwise. LN Reads and LN Writes have special
requirements. See Section 6.21.5 LN Protocol Summary .
7974
7975
7209
Address mapping to the TLP header is shown in Table 2-5
Address Field Mapping .
7976
7210
7977
7211
7978
7212
Table 2-5 Address Field Mapping
7214
7980
Address Bits
7216
7982
32-bit Addressing
7984
7218
7985
7302
8069
7303
8070
7304
8071
7305
8072
7306
8073
7307
32-bit Addressing
8074
7308
2.2.4.2 ID Based Routing Rules
7309
7313
Address Bits
7983
7217
7312
Table 2-5 Address Field Mapping
7981
7215
7311
For Memory Read, Memory Write, and AtomicOp Requests, the
Address Type (AT) field is encoded as shown in Table 10-1 Address Type
(AT) Field Encodings . For all other Requests, the AT field is Reserved
unless explicitly stated otherwise. LN Reads and LN Writes have special
requirements. See Section 6.21.5 LN Protocol Summary .
If TH is Set, the PH field is encoded as shown in Table
2-15 Processing Hint Encoding . If TH is Clear, the PH field is
Reserved.
Address mapping to the TLP header is shown in Table 2-5
Address Field Mapping .
7979
7213
7310
Figure 2-8 32-bit Address Routing
7972
7207
7208
7971
8075
2.2.4.2 ID Based Routing Rules
8076
ID routing is used with Configuration Requests, with ID
Routed Messages, and with Completions. This specification defines several
Messages that are ID Routed ( Table F-1 Message Code Usage ). Other
specifications are permitted to define additional ID Routed Messages.
ID routing uses the Bus, Device, and Function Numbers (as
applicable) to specify the destination for the TLP:
For non-ARI Routing IDs, Bus, Device, and (3-bit)
Function Number to TLP header mapping is shown in .
For ARI Routing IDs, the Bus and (8-bit) Function
Number to TLP header mapping is shown in .
8077
8078
8079
8080
7314
Page 107
8081
ID routing is used with Configuration Requests, with ID
Routed Messages, and with Completions. This specification defines several
Messages that are ID Routed ( Table F-1 Message Code Usage ). Other
specifications are permitted to define additional ID Routed Messages.
ID routing uses the Bus, Device, and Function Numbers (as
applicable) to specify the destination for the TLP:
For non-ARI Routing IDs, Bus, Device, and (3-bit)
Function Number to TLP header mapping is shown in Table 2-6 Header Field
Locations for non-ARI ID Routing , Figure 2-9 Non-ARI ID Routing with 4
DW Header , and Figure 2-11 Non-ARI ID Routing with 3 DW Header .
For ARI Routing IDs, the Bus and (8-bit) Function
Number to TLP header mapping is shown in Table 2-7 Header Field Locations
for ARI ID Routing , Figure 2-10 ARI ID Routing with 4 DW Header , and
Figure 2-12 ARI ID Routing with 3 DW Header .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7314
7315
7316
8081
Two ID routing formats are specified, one used
header (see Figure 2-9 ID Routing with 4 DW Header ) and one
3 DW header (see Figure 2-10 ID Routing with 3 DW Header ).
Header field locations are the same for both
are given in Table 2-6 Header Field Locations for non-ARI ID
Table 2-6 Header Field Locations for non-ARI ID Routing .
with a 4 DW
used with a
8082
formats, and
Routing and
8083
7317
8084
7318
8085
7319
8086
7320
Two ID routing formats are specified, one used with a 4 DW
header (see Figure 2-9 Non-ARI ID Routing with 4 DW Header and Figure
2-10 ARI ID Routing with 4 DW Header ) and one used with a 3 DW header
(see Figure 2-12 ARI ID Routing with 3 DW Header and Figure 2-10 ARI ID
Routing with 4 DW Header ).
Header field locations are the same for both formats (see
Figure 2-5 Fields Present in All TLP Headers ).
8087
7321
Table 2-6 Header Field Locations for non-ARI ID
8088
Routing
7322
7323
8089
Field
7324
7325
Header Location
Field
8092
Header Location
8093
Function Number[7:0]
7365
7366
8090
8091
7326
7364
Table 2-6 Header Field Locations for non-ARI ID
Routing
8131
Function Number[7:0]
8132
Bits 7:0 of Byte 9
8133
7367
8134
7368
8135
7369
8136
7370
8137
7371
8138
7372
8139
7373
8140
8141
Bits 7:0 of Byte 9
Figure 2-9 Non-ARI ID Routing with 4 DW Header
8142
8143
7374
8144
7375
7376
8145
Figure 2-9 ID Routing with 4 DW Header
7377
8146
8147
7378
8148
7379
8149
7380
8150
7381
8151
7382
8152
8153
7383
7384
Figure 2-10 ARI ID Routing with 4 DW Header
Figure 2-11 Non-ARI ID Routing with 3 DW Header
8154
Figure 2-10 ID Routing with 3 DW Header
8155
8156
8157
8158
8159
7385
8160
7386
8161
Page 108
Figure 2-12 ARI ID Routing with 3 DW Header
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7386
8161
7387
8162
7388
8163
7389
8164
7390
8165
7391
8166
2.2.5 First/Last DW Byte Enables Rules
7392
7393
7394
8168
Byte Enables are included with Memory, I/O, and Configuration
Requests. This section defines the corresponding rules. Byte Enables,
when present in the Request header, are located in byte 7 of the header
(see Figure 2-11 Location of Byte Enables in TLP Header ). For Memory
Read Requests that have the TH bit Set, the Byte Enable fields are
repurposed to carry the ST[7:0] field (refer to Section 2.2.7.1 TPH Rules
for details), and values for the Byte Enables are implied as defined
below. The TH bit must only be Set in Memory Read Requests when it is
acceptable to complete those Requests as if all bytes for the requested
data were enabled.
7395
7396
7397
7398
8169
Byte Enables are included with Memory, I/O, and Configuration
Requests. This section defines the corresponding rules. Byte Enables,
when present in the Request header, are located in byte 7 of the header
(see Figure 2-13 Location of Byte Enables in TLP Header ). For Memory
Read Requests that have the TH bit Set, the Byte Enable fields are
repurposed to carry the ST[7:0] field (refer to Section 2.2.7.1 TPH Rules
for details), and values for the Byte Enables are implied as defined
below. The TH bit must only be Set in Memory Read Requests when it is
acceptable to complete those Requests as if all bytes for the requested
data were enabled.
8170
For Memory Read Requests that have the TH bit Set, the
following values are implied for the Byte Enables. See Section 2.2.7
Memory, I/O, and Configuration Request Rules for additional
requirements.
If the Length field for this Request indicates a length of
1 DW, then the value for the 1st DW Byte Enables is implied to be 1111b
and the value for the Last DW Byte Enables is implied to be 0000b.
If the Length field for this Request indicates a length
of greater than 1 DW, then the value for the 1st DW Byte Enables and the
Last DW Byte Enables is implied to be 1111b.
8171
8172
8173
7399
8174
7400
8175
7401
8176
7402
For Memory Read Requests that have the TH bit Set, the
following values are implied for the Byte Enables. See Section 2.2.7
Memory, I/O, and Configuration Request Rules for additional
requirements.
If the Length field for this Request indicates a length of
1 DW, then the value for the First DW Byte Enables is implied to be 1111b
and the value for the Last DW Byte Enables is implied to be 0000b.
If the Length field for this Request indicates a length
of greater than 1 DW, then the value for the First DW Byte Enables and
the Last DW Byte Enables is implied to be 1111b.
8177
7403
Implementation Note
Read Request with TPH to Non-Prefetchable Space
7404
8178
8179
7405
8180
7406
8181
7407
7408
2.2.5 First/Last DW Byte Enables Rules
8167
Implementation Note
Read Request with TPH to Non-Prefetchable Space
8182
Memory Read Requests with the TH bit Set
Non-Prefetchable Memory Space should only be issued when
guaranteed that completion of such reads will not create
effects. See for consideration of certain BARs that may
Prefetchable bit Set even though they map some locations
effects.
and that target
it can be
undesirable side
have the
with read side-
8183
7409
8184
7410
8185
7411
8186
7412
8187
7413
8188
7414
7415
Page 109
Memory Read Requests with the TH bit Set and that target
Non-Prefetchable Memory Space should only be issued when it can be
guaranteed that completion of such reads will not create undesirable side
effects. See Section 7.5.1.2.1 Base Address Registers (Offset 10h - 24h)
for consideration of certain BARs that may have the Prefetchable bit Set
even though they map some locations with read side-effects.
8189
Figure 2-11 Location of Byte Enables in TLP Header
8190
Figure 2-13 Location of Byte Enables in TLP Header
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7415
Figure 2-11 Location of Byte Enables in TLP Header
7416
7419
8192
The 1st DW BE[3:0] field contains Byte Enables for the first
(or only) DW referenced by a Request.
If the Length field for a Request indicates a length of
greater than 1 DW, this field must not equal 0000b.
7420
7421
7422
7423
7426
7427
7430
7433
7434
8196
8197
8198
8200
8201
8202
For each bit of the Byte Enables fields:
a value of 0b indicates that the corresponding byte of data
must not be written or, if non-prefetchable, must not be read at the
Completer.
a value of 1b indicates that the corresponding byte of
data must be written or read at the Completer.
8204
8205
Non-contiguous Byte Enables (enabled bytes separated by nonenabled bytes) are permitted in the First DW BE field for all Requests
with length of 1 DW.
Non-contiguous Byte Enable examples: 1010b, 0101b, 1001b,
1011b, 1101b
8206
Non-contiguous Byte Enables are permitted in both Byte
Enables fields for Quad Word (QW) aligned Memory Requests with length of
2 DW (1 QW).
All non-QW aligned Memory Requests with length of 2 DW (1 QW)
and Memory Requests with length of 3 DW or more must enable only bytes
that are contiguous with the data between the first and last DW of the
Request.
Contiguous Byte Enables examples:
7435
8207
8208
8209
Non-contiguous Byte Enables are permitted in both Byte
Enables fields for Quad Word (QW) aligned Memory Requests with length of
2 DW (1 QW).
All non-QW aligned Memory Requests with length of 2 DW (1 QW)
and Memory Requests with length of 3 DW or more must enable only bytes
that are contiguous with the data between the first and last DW of the
Request.
Contiguous Byte Enables examples:
8210
7436
1st DW BE: 1100b, Last DW BE: 0011b
7437
8211
First DW BE: 1100b, Last DW BE: 0011b
8212
7438
8213
7439
1st DW BE: 1000b, Last DW BE: 0111b
8214
7440
8215
7441
8216
7442
7443
The Last DW BE[3:0] field contains Byte Enables for the last
DW of a Request.
If the Length field for a Request indicates a length of 1
DW, this field must equal 0000b.
If the Length field for a Request indicates a length of
greater than 1 DW, this field must not equal 0000b.
8203
Non-contiguous Byte Enables (enabled bytes separated by nonenabled bytes) are permitted in the 1st DW BE field for all Requests with
length of 1 DW.
Non-contiguous Byte Enable examples: 1010b, 0101b, 1001b,
1011b, 1101b
7431
7432
8194
The First DW BE[3:0] field contains Byte Enables for the first
(or only) DW referenced by a Request.
If the Length field for a Request indicates a length of
greater than 1 DW, this field must not equal 0000b.
8199
For each bit of the Byte Enables fields:
a value of 0b indicates that the corresponding byte of data
must not be written or, if non-prefetchable, must not be read at the
Completer.
a value of 1b indicates that the corresponding byte of
data must be written or read at the Completer.
7428
7429
8193
8195
The Last DW BE[3:0] field contains Byte Enables for the last
DW of a Request.
If the Length field for a Request indicates a length of 1
DW, this field must equal 0000b.
If the Length field for a Request indicates a length of
greater than 1 DW, this field must not equal 0000b.
7424
7425
Figure 2-13 Location of Byte Enables in TLP Header
8191
7417
7418
8190
First DW BE: 1000b, Last DW BE: 0111b
8217
Table 2-8 Byte Enables Location and Correspondence shows
the correspondence between the bits of the Byte Enables fields, their
location in the Request header, and the corresponding bytes of the
referenced data.
8218
7444
8219
7445
8220
7446
7447
Page 110
Table 2-8 Byte Enables Location and Correspondence shows
the correspondence between the bits of the Byte Enables fields, their
location in the Request header, and the corresponding bytes of the
referenced data.
8221
Table 2-8 Byte Enables Location and Correspondence
8222
Table 2-8 Byte Enables Location and Correspondence
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7447
Table 2-8 Byte Enables Location and Correspondence
7448
Table 2-8 Byte Enables Location and Correspondence
8223
7449
Byte Enables
7450
8224
Byte Enables
8225
7451
Header Location
7452
7453
8222
8226
Header Location
8227
Affected Data Byte [Footnote: Assuming the data
referenced is N bytes in length (Byte 0 to Byte N-1). Note that last DW
Byte Enables are used only if the data length is greater than one DW.]
8228
7454
8229
7455
8230
7456
7457
8231
1st DW BE[0]
7458
7459
8232
Bit 0 of Byte 7
8234
Byte 0
8236
8237
7463
8238
7464
8240
Bit 1 of Byte 7
8242
Byte 1
8244
8245
7471
8246
7472
8248
Bit 2 of Byte 7
8250
Byte 2
8252
8253
7479
8254
7480
8256
Bit 3 of Byte 7
8258
Byte 3
8260
8261
7487
8262
7488
7527
8264
Last DW BE[0]
8265
Bit 4 of Byte 7
Zero-Length Write
8266
8302
7528
8303
7529
8304
Page 111
Byte 3
8263
Last DW BE[0]
7490
7491
Bit 3 of Byte 7
8259
7486
7489
First DW BE[3]
8257
7484
7485
Byte 2
8255
1st DW BE[3]
7482
7483
Bit 2 of Byte 7
8251
7478
7481
First DW BE[2]
8249
7476
7477
Byte 1
8247
1st DW BE[2]
7474
7475
Bit 1 of Byte 7
8243
7470
7473
First DW BE[1]
8241
7468
7469
Byte 0
8239
1st DW BE[1]
7466
7467
Bit 0 of Byte 7
8235
7462
7465
First DW BE[0]
8233
7460
7461
Affected Data Byte [Footnote: Assuming the data
referenced is N bytes in length (Byte 0 to Byte N-1). Note that last DW
Byte Enables are used only if the data length is greater than one DW.]
Bit 4 of Byte 7
Zero-Length Write
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7529
8304
7530
7531
8305
A Memory Write Request of 1 DW with no bytes enabled, or
“zero-length Write,” may be used by devices under certain protocols, in
order to achieve an intended side effect. One example is LN protocol. See
Section 6.21 Lightweight Notification (LN) Protocol .
8306
7532
8307
7533
8308
7534
8309
7535
8310
7536
7537
8311
If a Read Request of 1 DW specifies that no bytes are
enabled to be read (1st DW BE[3:0] field = 0000b), the corresponding
Completion must specify a Length of 1 DW, and include a data payload of 1
DW
7538
7543
7544
If a Read Request of 1 DW specifies that no bytes are
enabled to be read (First DW BE[3:0] field = 0000b), the corresponding
Completion must specify a Length of 1 DW, and include a data payload of 1
DW
8314
The contents of the data payload within the Completion
packet is unspecified and may be any value
7541
7542
8312
8313
7539
7540
A Memory Write Request of 1 DW with no bytes enabled, or
“zero-length Write,” may be used by devices under certain protocols, in
order to achieve an intended side effect. One example is LN protocol. See
Section 6.21 Lightweight Notification (LN) Protocol .
8315
The contents of the data payload within the Completion
packet is unspecified and may be any value.
8316
Receiver/Completer behavior is undefined for a TLP violating
the Byte Enables rules specified in this section.
Receivers may optionally check for violations of the Byte
Enables rules specified in this section. If a Receiver implementing such
checks determines that a TLP violates one or more Byte Enables rules, the
TLP is a Malformed TLP. These checks are independently optional (see
Section 6.2.3.4 Optional Error Checking ).
If Byte Enables rules are checked, a violation is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ).
8317
8318
8319
7545
8320
7546
8321
7547
8322
7548
Receiver/Completer behavior is undefined for a TLP violating
the Byte Enables rules specified in this section.
Receivers may optionally check for violations of the Byte
Enables rules specified in this section. If a Receiver implementing such
checks determines that a TLP violates one or more Byte Enables rules, the
TLP is a Malformed TLP. These checks are independently optional (see
Section 6.2.3.4 Optional Error Checking ).
If Byte Enables rules are checked, a violation is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ).
8323
7549
8324
7550
Implementation Note
Zero-Length Read
8325
Implementation Note
Zero-Length Read
7568
2.2.6.1 Overview
8343
2.2.6.1 Overview
7569
8344
7570
7571
8345
The Transaction Descriptor is a mechanism for carrying
Transaction information between the Requester and the Completer.
Transaction Descriptors are composed of three fields:
7572
8346
8347
7573
Transaction ID - identifies outstanding Transactions
Attributes field - specifies characteristics of the
7574
8348
Traffic Class (TC) field - associates Transaction with type
of required service
7576
Page
Transaction
8350
Traffic Class (TC) field - associates Transaction with type
of required service
8351
7577
7578
Transaction ID - identifies outstanding Transactions
Attributes field - specifies characteristics of the
8349
Transaction
7575
The Transaction Descriptor is a mechanism for carrying
Transaction information between the Requester and the Completer.
Transaction Descriptors are composed of three fields:
8352
Figure 2-12 Transaction Descriptor shows the fields of the
Transaction Descriptor. Note that these fields are shown together to
highlight their relationship as parts of a single logical entity. The
112
fields are not contiguous in the packet header.
8353
Figure 2-14 Transaction Descriptor shows the fields of the
Transaction Descriptor. Note that these fields are shown together to
highlight their relationship as parts of a single logical entity. The
fields are not contiguous in the packet header.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7578
Figure 2-12 Transaction Descriptor shows the fields of the
Transaction Descriptor. Note that these fields are shown together to
highlight their relationship as parts of a single logical entity. The
fields are not contiguous in the packet header.
8353
Figure 2-14 Transaction Descriptor shows the fields of the
Transaction Descriptor. Note that these fields are shown together to
highlight their relationship as parts of a single logical entity. The
fields are not contiguous in the packet header.
7579
7580
8354
7581
8355
7582
8356
7583
8357
7584
7585
8358
7586
8359
7587
8360
7588
8361
7589
8362
7590
7591
8363
2.2.6.2 Transaction Descriptor - Transaction ID Field
7592
8364
2.2.6.2 Transaction Descriptor - Transaction ID Field
8365
7593
7594
Figure 2-14 Transaction Descriptor
Figure 2-12 Transaction Descriptor
8366
The Transaction ID field consists of two major sub-fields:
Requester ID and Tag as shown in Figure 2-13 Transaction ID .
8367
The Transaction ID field consists of two major sub-fields:
Requester ID and Tag as shown in Figure 2-15 Transaction ID .
7595
7596
8368
7597
8369
7598
8370
7599
8371
8372
7600
7601
Figure 2-13 Transaction ID
7602
8374
7603
8375
7604
7605
8376
10-Bit Tag capability, introduced in PCI Express Base
Specification, Revision 4.0, increases the total Tag field size from 8
bits to 10 bits. The two additional Tag bits, Tag[8] and Tag[9] , are not
contiguous with other Tag[7:0] bits in the TLP Header. The two additional
bits were Reserved in previous versions of this specification.
7606
7607
7608
7609
Page
Figure 2-15 Transaction ID
8373
10-Bit Tag capability, introduced in [PCIe-4.0] increases
the total Tag field size from 8 bits to 10 bits. The two additional Tag
bits, Tag[8] (T8) and Tag[9] (T9), are not contiguous with other Tag[7:0]
bits in the TLP Header. The two additional bits were Reserved in previous
versions of this specification.
8377
Tag[9:0] is a 10-bit field generated by each Requester, and
it must be unique for all outstanding Requests that require a Completion
for that Requester. Requesters that do not support 10-Bit Tag Requester
capability must set Tag[9:8] to 00b.
Functions [Footnote: An exception is PCI Express to PCI/
PCI-X Bridges, since 10-Bit Tag capability is not architected for these
Functions.] (including those in Switches) that support 16.0 GT/s data
rates or greater must support 10-Bit Tag Completer capability. If a
Function supports 10-Bit Tag Completer capability, it may optionally
support 10-Bit Tag Requester capability. See Section 7.5.3.15 Device
Capabilities 2 Register (Offset 24h) and the "Considerations for
Implementing 10-Bit Tag Capabilities" Implementation Note later in this
section.
RCs containing elements that indicate support for 10Bit Tag Completer capability must handle 10-Bit Tag Requests correctly by
113
all registers and memory regions supported as targets of PCIe Requesters;
e.g., host memory targeted by DMA Requests or MMIO regions in RCiEPs.
8378
8379
8380
Tag[9:0] is a 10-bit field generated by each Requester, and
it must be unique for all outstanding Requests that require a Completion
for that Requester. Requesters that do not support 10-Bit Tag Requester
capability must set Tag[9:8] to 00b.
Functions [Footnote: An exception is PCI Express to PCI/
PCI-X Bridges, since 10-Bit Tag capability is not architected for these
Functions.] (including those in Switches) that support 16.0 GT/s data
rates or greater must support 10-Bit Tag Completer capability. If a
Function supports 10-Bit Tag Completer capability, it may optionally
support 10-Bit Tag Requester capability. See Section 7.5.3.15 Device
Capabilities 2 Register (Offset 24h) and the "Considerations for
Implementing 10-Bit Tag Capabilities" Implementation Note later in this
section.
RCs containing elements that indicate support for 10Bit Tag Completer capability must handle 10-Bit Tag Requests correctly by
all registers and memory regions supported as targets of PCIe Requesters;
e.g., host memory targeted by DMA Requests or MMIO regions in RCiEPs.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7609
7610
7611
RCs containing elements that indicate support for 10Bit Tag Completer capability must handle 10-Bit Tag Requests correctly by
all registers and memory regions supported as targets of PCIe Requesters;
e.g., host memory targeted by DMA Requests or MMIO regions in RCiEPs.
Each RP indicating support must handle such Requests
received by its Ingress Port.
Each RCiEP indicating support must handle such
Requests coming from supported internal paths, including those coming
through RPs.
7612
7613
7614
7615
7619
7620
7621
7622
7623
Page
8380
8381
8382
RCs containing elements that indicate support for 10Bit Tag Completer capability must handle 10-Bit Tag Requests correctly by
all registers and memory regions supported as targets of PCIe Requesters;
e.g., host memory targeted by DMA Requests or MMIO regions in RCiEPs.
Each RP indicating support must handle such Requests
received by its Ingress Port.
Each RCiEP indicating support must handle such
Requests coming from supported internal paths, including those coming
through RPs.
8383
If an RC contains RCiEPs that indicate support for 10Bit Tag Requester capability, the RC must handle 10-Bit Tag Requests from
those RCiEPs correctly by all registers and memory regions supported as
targets of those RCiEPs; e.g., host memory targeted by DMA Requests or
MMIO regions in RCiEPs.
Receivers/Completers must handle 8-bit Tag values
correctly regardless of the setting of their Extended Tag Field Enable
bit (see Section 7.5.3.4 Device Control Register (Offset 08h) ). Refer to
the PCI Express to PCI/PCI-X Bridge Specification for details on the
bridge handling of extended tags.
Receivers/Completers that support 10-Bit Tag Completer
capability must handle 10-Bit Tag values correctly, regardless of their
10-Bit Tag Requester Enable bit setting. See Section 7.5.3.16 Device
Control 2 Register (Offset 28h) .
8384
If the 10-Bit Tag Requester Enable bit is Set, the
maximum targeting a single Completer is increased up to 768. The
Requester is permitted to use all 10 bits of the Tag field when sending
10-Bit Tag Requests to Completers it deems suitable, though the Requester
is still permitted to send smaller-Tag Requests to other Completers. The
following apply to 10-Bit Tag capable Requesters whose 10-Bit Tag
Requester Enable bit is Set.
If an Endpoint [Footnote: This includes PCI Express
Endpoints, Legacy PCI Express Endpoints, and Root Complex Integrated
Endpoints.] supports sending Requests to other Endpoints (as opposed to
host memory), the Endpoint must not send 10-Bit Tag Requests to another
given Endpoint unless an implementation-specific mechanism determines
that the Endpoint supports 10-Bit Tag Completer capability. Not sending
10-Bit Tag Requests to other Endpoints at all may be acceptable for some
implementations. More sophisticated mechanisms are outside the scope of
this specification.
If a PIO Requester has 10-Bit Tag Requester
capability, how the Requester determines when to use 10-Bit Tags versus
smaller Tags is outside the scope of this specification.
With 10-Bit Tags, valid Tag[9:8] values are 01b,
10b, or 11b. 10-Bit Tag values with Tag[9:8] equal to 00b are invalid,
and must not be generated by the Requester. This enables a Requester to
determine if a Completion it receives that should have a 10-Bit Tag
contains an invalid one, usually caused by the Completer not supporting
10-Bit Tag Completer capability.
If a Requester sends a 10-Bit Tag Request to a
Completer that lacks 10-Bit Completer capability, the returned
Completion(s) will have Tags with Tag[9:8] equal to 00b. Since the
114
Requester is forbidden to generate these Tag values for 10-Bit Tags, such
Completions will be handled as Unexpected Completions [Footnote: If a
Completion has a higher precedence error, that error should be reported
instead.] , which by default are Advisory Non-Fatal Errors. The Requester
must follow standard PCI Express error handling requirements.
8390
8385
8386
8391
8392
8393
8394
If an RC contains RCiEPs that indicate support for 10Bit Tag Requester capability, the RC must handle 10-Bit Tag Requests from
those RCiEPs correctly by all registers and memory regions supported as
targets of those RCiEPs; e.g., host memory targeted by DMA Requests or
MMIO regions in RCiEPs.
Receivers/Completers must handle 8-bit Tag values
correctly regardless of the setting of their Extended Tag Field Enable
bit (see Section 7.5.3.4 Device Control Register (Offset 08h) ). Refer to
the PCI Express to PCI/PCI-X Bridge Specification for details on the
bridge handling of extended tags.
Receivers/Completers that support 10-Bit Tag Completer
capability must handle 10-Bit Tag values correctly, regardless of their
10-Bit Tag Requester Enable bit setting. See Section 7.5.3.16 Device
Control 2 Register (Offset 28h) .
If the 10-Bit Tag Requester Enable bit is Set, the
maximum targeting a single Completer is increased up to 768. The
Requester is permitted to use all 10 bits of the Tag field when sending
10-Bit Tag Requests to Completers it deems suitable, though the Requester
is still permitted to send smaller-Tag Requests to other Completers. The
following apply to 10-Bit Tag capable Requesters whose 10-Bit Tag
Requester Enable bit is Set.
If an Endpoint [Footnote: This includes PCI Express
Endpoints, Legacy PCI Express Endpoints, and Root Complex Integrated
Endpoints.] supports sending Requests to other Endpoints (as opposed to
host memory), the Endpoint must not send 10-Bit Tag Requests to another
given Endpoint unless an implementation-specific mechanism determines
that the Endpoint supports 10-Bit Tag Completer capability. Not sending
10-Bit Tag Requests to other Endpoints at all may be acceptable for some
implementations. More sophisticated mechanisms are outside the scope of
this specification.
If a PIO Requester has 10-Bit Tag Requester
capability, how the Requester determines when to use 10-Bit Tags versus
smaller Tags is outside the scope of this specification.
With 10-Bit Tags, valid Tag[9:8] values are 01b,
10b, or 11b. 10-Bit Tag values with Tag[9:8] equal to 00b are invalid,
and must not be generated by the Requester. This enables a Requester to
determine if a Completion it receives that should have a 10-Bit Tag
contains an invalid one, usually caused by the Completer not supporting
10-Bit Tag Completer capability.
If a Requester sends a 10-Bit Tag Request to a
Completer that lacks 10-Bit Completer capability, the returned
Completion(s) will have Tags with Tag[9:8] equal to 00b. Since the
Requester is forbidden to generate these Tag values for 10-Bit Tags, such
Completions will be handled as Unexpected Completions [Footnote: If a
Completion has a higher precedence error, that error should be reported
instead.] , which by default are Advisory Non-Fatal Errors. The Requester
must follow standard PCI Express error handling requirements.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7623
7624
7625
7626
If a Requester sends a 10-Bit Tag Request to a
Completer that lacks 10-Bit Completer capability, the returned
Completion(s) will have Tags with Tag[9:8] equal to 00b. Since the
Requester is forbidden to generate these Tag values for 10-Bit Tags, such
Completions will be handled as Unexpected Completions [Footnote: If a
Completion has a higher precedence error, that error should be reported
instead.] , which by default are Advisory Non-Fatal Errors. The Requester
must follow standard PCI Express error handling requirements.
When a Requester handles a Completion with an
invalid 10-Bit Tag as an Unexpected Completion, the original Request will
likely incur a Completion Timeout. If the Requester handles the
Completion Timeout condition in some device-specific manner that avoids
data corruption, the Requester is permitted to suppress handling the
Completion Timeout by standard PCI Express error handling mechanisms as
required otherwise.
If a Requester supports sending 10-Bit Tag Requests
to some Completers and smaller-Tag Requests to other Completers
concurrently, the Requester must honor the Extended Tag Field Enable bit
setting for the smaller-Tag Requests. That is, if the bit is Clear, only
the lower 5 bits of the Tag field may be non-zero; if the bit is Set,
only the lower 8 bits of the Tag field may be non-zero.
If a Requester supports sending 10-Bit Tag Requests
to some Completers and smaller-Tag Requests to other Completers
concurrently, the Requester must ensure that no outstanding 10-Bit Tags
can alias to an outstanding smaller Tag if any 10-Bit Tag Request is
completed by a Completer that lacks 10-Bit Tag Completer capability. See
the "Using 10-Bit Tags and Smaller Tags Concurrently" Implementation Note
later in this section.
7627
7628
7629
7630
7633
7634
7635
8395
8396
8397
If a Requester sends a 10-Bit Tag Request to a
Completer that lacks 10-Bit Completer capability, the returned
Completion(s) will have Tags with Tag[9:8] equal to 00b. Since the
Requester is forbidden to generate these Tag values for 10-Bit Tags, such
Completions will be handled as Unexpected Completions [Footnote: If a
Completion has a higher precedence error, that error should be reported
instead.] , which by default are Advisory Non-Fatal Errors. The Requester
must follow standard PCI Express error handling requirements.
When a Requester handles a Completion with an
invalid 10-Bit Tag as an Unexpected Completion, the original Request will
likely incur a Completion Timeout. If the Requester handles the
Completion Timeout condition in some device-specific manner that avoids
data corruption, the Requester is permitted to suppress handling the
Completion Timeout by standard PCI Express error handling mechanisms as
required otherwise.
If a Requester supports sending 10-Bit Tag Requests
to some Completers and smaller-Tag Requests to other Completers
concurrently, the Requester must honor the Extended Tag Field Enable bit
setting for the smaller-Tag Requests. That is, if the bit is Clear, only
the lower 5 bits of the Tag field may be non-zero; if the bit is Set,
only the lower 8 bits of the Tag field may be non-zero.
If a Requester supports sending 10-Bit Tag Requests
to some Completers and smaller-Tag Requests to other Completers
concurrently, the Requester must ensure that no outstanding 10-Bit Tags
can alias to an outstanding smaller Tag if any 10-Bit Tag Request is
completed by a Completer that lacks 10-Bit Tag Completer capability. See
the "Using 10-Bit Tags and Smaller Tags Concurrently" Implementation Note
later in this section.
8398
The default value of the Extended Tag Field Enable bit
is implementation specific. The default value of the 10-Bit Tag Requester
Enable bit is 0b.
Receiver/Completer behavior is undefined if multiple
uncompleted Requests are issued non-unique Tag values
If Phantom Function Numbers are used to extend the
number of outstanding requests, the combination of the Phantom Function
Number and the Tag field must be unique for all outstanding Requests that
require a Completion for that Requester.
7631
7632
8394
8399
8400
8401
The default value of the Extended Tag Field Enable bit
is implementation specific. The default value of the 10-Bit Tag Requester
Enable bit is 0b.
Receiver/Completer behavior is undefined if multiple
uncompleted Requests are issued non-unique Tag values.
If Phantom Function Numbers are used to extend the
number of outstanding requests, the combination of the Phantom Function
Number and the Tag field must be unique for all outstanding Requests that
require a Completion for that Requester.
8402
For Posted Requests, the Tag [9:8] field is Reserved.
For Posted Requests with the TH bit Set, the Tag[7:0] field
is repurposed for the ST[7:0] field (refer to Section 2.2.7.1 TPH Rules
for details). For Posted Requests with the TH bit Clear, the Tag[7:0]
field is undefined and may contain any value. (Refer to Table F-1 Message
Code Usage for exceptions to this rule for certain Vendor_Defined
Messages.)
For Posted Requests with the TH field Clear, the value in
the Tag[7:0] field must not affect Receiver processing of the Request
For Posted Requests with the TH bit Set, the value in
the ST[7:0] field may affect Completer processing of the Request (refer
to 2.2.7.1 for details).
7636
Page 115
8403
8404
8405
8406
8407
For Posted Requests, the Tag [9:8] field is Reserved.
For Posted Requests with the TH bit Set, the Tag[7:0] field
is repurposed for the ST[7:0] field (refer to Section 2.2.7.1 TPH Rules
for details). For Posted Requests with the TH bit Clear, the Tag[7:0]
field is undefined and may contain any value. (Refer to Table F-1 Message
Code Usage for exceptions to this rule for certain Vendor_Defined
Messages.)
For Posted Requests with the TH field Clear, the value in
the Tag[7:0] field must not affect Receiver processing of the Request.
For Posted Requests with the TH bit Set, the value in
the ST[7:0] field may affect Completer processing of the Request (refer
to 2.2.7.1 for details).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7636
7637
7638
7639
7640
8407
Requester ID and Tag combined form a global identifier,
i.e., Transaction ID for each Transaction within a Hierarchy.
Transaction ID is included with all Requests and
Completions.
The Requester ID is a 16-bit value that is unique for every
PCI Express Function within a Hierarchy.
Functions must capture the Bus and Device Numbers
[Footnote: In ARI Devices, Functions are only required to capture the Bus
Number. ARI Devices are permitted to retain the captured Bus Number on
either a per-Device or a per-Function basis. If the captured Bus Number
is retained on a per-Device basis, all Functions are required to update
and use the common Bus Number.] supplied with all Type 0 Configuration
Write Requests completed by the Function and supply these numbers in the
Bus and Device Number fields of the Requester ID [Footnote: An ARI
Requester ID does not contain a Device Number field. See Section 2.2.4.2
ID Based Routing Rules .] for all Requests initiated by the Device/
Function. It is recommended that Numbers are captured for successfully
completed Requests only.
7641
7642
8416
Note that the Bus Number and Device Number [Footnote:
With ARI Devices, only the Bus Number can change.] may be changed at run
time, and so it is necessary to re-capture this information with each and
every Configuration Write Request.
8419
It is recommended that Configuration Write Requests
addressed to unimplemented Functions not affect captured Bus and Device
Numbers.
8420
When generating Requests on their own behalf (for example,
for error reporting), Switches must use the Requester ID associated with
the primary side of the bridge logically associated with the Port (see
Section 7.1 Configuration Topology ) causing the Request generation.
Prior to the initial Configuration Write to a Function, the
Function is not permitted to initiate Non-Posted Requests (A valid
Requester ID is required to properly route the resulting completions).
Exception: Functions within a Root Complex are permitted
to initiate Requests prior to software-initiated configuration for
accesses to system boot device(s).
7653
7654
Exception: The assignment of Bus and Device Numbers to
the Devices within a Root Complex, and Device Numbers to the Downstream
Ports within a Switch, may be done in an implementation specific way.
8418
It is recommended that Configuration Write Requests
addressed to unimplemented Functions not affect captured Bus and Device
Numbers.
7649
7652
8413
8417
7647
7651
8411
8415
Note that the Bus Number and Device Number [Footnote:
With ARI Devices, only the Bus Number can change.] may be changed at run
time, and so it is necessary to re-capture this information with each and
every Configuration Write Request.
7646
7650
8410
8414
7644
7648
8409
Requester ID and Tag combined form a global identifier,
i.e., Transaction ID for each Transaction within a Hierarchy.
Transaction ID is included with all Requests and
Completions.
The Requester ID is a 16-bit value that is unique for every
PCI Express Function within a Hierarchy.
Functions must capture the Bus and Device Numbers
[Footnote: In ARI Devices, Functions are only required to capture the Bus
Number. ARI Devices are permitted to retain the captured Bus Number on
either a per-Device or a per-Function basis. If the captured Bus Number
is retained on a per-Device basis, all Functions are required to update
and use the common Bus Number.] supplied with all Type 0 Configuration
Write Requests completed by the Function and supply these numbers in the
Bus and Device Number fields of the Requester ID [Footnote: An ARI
Requester ID does not contain a Device Number field. See Section 2.2.4.2
ID Based Routing Rules .] for all Requests initiated by the Device/
Function. It is recommended that Numbers are captured for successfully
completed Requests only.
8412
Exception: The assignment of Bus and Device Numbers to
the Devices within a Root Complex, and Device Numbers to the Downstream
Ports within a Switch, may be done in an implementation specific way.
7643
7645
8408
8421
8422
8423
When generating Requests on their own behalf (for example,
for error reporting), Switches must use the Requester ID associated with
the primary side of the bridge logically associated with the Port (see
Section 7.1 Configuration Topology ) causing the Request generation.
Prior to the initial Configuration Write to a Function, the
Function is not permitted to initiate Non-Posted Requests. (A valid
Requester ID is required to properly route the resulting completions .)
Exception: Functions within a Root Complex are permitted
to initiate Requests prior to software-initiated configuration for
accesses to system boot device(s).
8424
Note that this rule and the exception are
consistent with the existing PCI model for system initialization and
configuration.
8425
7655
8426
7656
8427
Page 116
Note that this rule and the exception are
consistent with the existing PCI model for system initialization and
configuration.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7656
7657
7658
7659
8427
Each Function associated with a Device must be designed to
respond to a unique Function Number for Configuration Requests addressing
that Device. Note: Each non-ARI Device may contain up to eight Functions.
Each ARI Device may contain up to 256 Functions.
A Switch must forward Requests without modifying the
Transaction ID
In some circumstances, a PCI Express to PCI/PCI-X Bridge is
required to generate Transaction IDs for requests it forwards from a PCI
or PCI-X bus.
8428
8429
8430
7660
8431
7661
8432
7662
7663
7664
8433
Implementation Note
Increasing the Number of Outstanding Requests using
Phantom Functions
8434
8435
7665
8436
7666
8437
7667
7668
To increase the maximum possible number of outstanding
Requests requiring Completion beyond that possible using Tag bits alone,
a device may, if the Phantom Functions Enable bit is Set (see Section
7.5.3.4 Device Control Register (Offset 08h) ), use Function Numbers not
assigned to implemented Functions to logically extend the Tag identifier.
For a single-Function Device, this can allow up to an 8-fold increase in
the maximum number of outstanding Requests.
8469
In configurations where a Requester with 10-Bit Tag
Requester capability needs to target multiple Completers, one needs to
ensure that the Requester sends 10-Bit Tag Requests only to Completers
that have 10-Bit Tag Completer capability. This is greatly simplified if
all Completers have this capability.
8470
7700
8471
For general industry enablement of 10-Bit Tags, it is
highly recommended that all Functions [Footnote: An exception is PCI
Express to PCI/PCI-X Bridges, since 10-Bit Tag capability is not
architected for these Functions.] support 10-Bit Tag Completer
capability. With new implementations, Completers that don't need to
operate on higher numbers of NPRs concurrently themselves can generally
track 10-Bit Tags internally and return them in Completions with modest
incremental investment.
7702
8472
For general industry enablement of 10-Bit Tags, it is
highly recommended that all Functions [Footnote: An exception is PCI
Express to PCI/PCI-X Bridges, since 10-Bit Tag capability is not
architected for these Functions.] support 10-Bit Tag Completer
capability. With new implementations, Completers that don't need to
operate on higher numbers of NPRs concurrently themselves can generally
track 10-Bit Tags internally and return them in Completions with modest
incremental investment.
8473
7703
7704
8439
8468
In configurations where a Requester with 10-Bit Tag
Requester capability needs to target multiple Completers, one needs to
ensure that the Requester sends 10-Bit Tag Requests only to Completers
that have 10-Bit Tag Completer capability. This is greatly simplified if
all Completers have this capability.
7699
7701
Implementation Note
Increasing the Number of Outstanding Requests using
Phantom Functions
8438
To increase the maximum possible number of outstanding
Requests requiring Completion beyond that possible using Tag bits alone,
a device may, if the Phantom Functions Enable bit is Set (see Section
7.5.3.4 Device Control Register (Offset 08h) ), use Function Numbers not
assigned to implemented Functions to logically extend the Tag identifier.
For a single-Function Device, this can allow up to an 8-fold increase in
the maximum number of outstanding Requests.
7697
7698
Each Function associated with a Device must be designed to
respond to a unique Function Number for Configuration Requests addressing
that Device. Note: Each non-ARI Device may contain up to eight Functions.
Each ARI Device may contain up to 256 Functions.
A Switch must forward Requests without modifying the
Transaction ID.
In some circumstances, a PCI Express to PCI/PCI-X Bridge is
required to generate Transaction IDs for requests it forwards from a PCI
or PCI-X bus.
8474
Completers that actually process higher numbers of NPRs
concurrently may require substantial additional hardware resources, but
the full performance benefits of 10-Bit Tags generally can't be realized
unless Completers actually do process higher numbers of NPRs
concurrently.
8475
7705
8476
7706
8477
Page 117
Completers that actually process higher numbers of NPRs
concurrently may require substantial additional hardware resources, but
the full performance benefits of 10-Bit Tags generally can't be realized
unless Completers actually do process higher numbers of NPRs
concurrently.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7706
7707
8477
For platforms where the RC supports 10-Bit Tag
Completer capability, it is highly recommended for platform firmware or
operating software software that configures PCIe hierarchies to Set the
10-Bit Tag Requester Enable bit automatically in Endpoints with 10-Bit
Tag Requester capability. This enables the important class of 10-Bit Tag
capable adapters that send Memory Read Requests only to host memory.
7708
8480
For Endpoints other than RCiEPs, one can determine if
the RC supports 10-Bit Tag Completer capability for each one by checking
the 10-Bit Tag Completer Supported bit in its associated RP. RCiEPs have
no associated RP, so for this reason they are not permitted to have their
10-Bit Tag Requester Supported bit Set unless the RC supports 10-Bit Tag
Completer capability for them. Thus, software does not need to perform a
separate check for RCiEPs.
7711
2.2.6.3 Transaction Descriptor - Attributes Field
8513
The Attributes field is used to provide additional
information that allows modification of the default handling of
Transactions. These modifications apply to different aspects of handling
the Transactions within the system, such as:
7744
8514
The Attributes field is used to provide additional
information that allows modification of the default handling of
Transactions. These modifications apply to different aspects of handling
the Transactions within the system, such as:
8515
Ordering
Hardware coherency management (snoop)
7747
8516
8517
Ordering
Hardware coherency management (snoop)
8518
7748
Page
8511
8512
7742
7749
For configurations where a Requester with 10-Bit Tag
Requester capability targets Completers where some do and some do not
have 10-Bit Tag Completer capability, how the Requester determines which
NPRs include 10-Bit Tags is outside the scope of this specification.
8510
2.2.6.3 Transaction Descriptor - Attributes Field
7741
7746
8487
8488
7739
7745
Switches that lack 10-Bit Tag Completer capability are
still able to forward NPRs and Completions carrying 10-Bit Tags
correctly, since the two new Tag bits are in TLP Header bits that were
formerly Reserved, and Switches are required to forward Reserved TLP
Header bits without modification. However, if such a Switch detects an
error with an NPR carrying a 10-Bit Tag, and that Switch handles the
error by acting as the Completer for the NPR, the resulting Completion
will have an invalid 10-Bit Tag. Thus, it is strongly recommended that
Switches between any components using 10-Bit Tags support 10-Bit Tag
Completer capability. Note that Switches supporting 16.0 GT/s data rates
or greater must support 10-Bit Tag Completer capability.
8486
For configurations where a Requester with 10-Bit Tag
Requester capability targets Completers where some do and some do not
have 10-Bit Tag Completer capability, how the Requester determines which
NPRs include 10-Bit Tags is outside the scope of this specification.
7717
7743
8484
8485
7715
7740
For Endpoints other than RCiEPs, one can determine if
the RC supports 10-Bit Tag Completer capability for each one by checking
the 10-Bit Tag Completer Supported bit in its associated RP. RCiEPs have
no associated RP, so for this reason they are not permitted to have their
10-Bit Tag Requester Supported bit Set unless the RC supports 10-Bit Tag
Completer capability for them. Thus, software does not need to perform a
separate check for RCiEPs.
8483
Switches that lack 10-Bit Tag Completer capability are
still able to forward NPRs and Completions carrying 10-Bit Tags
correctly, since the two new Tag bits are in TLP Header bits that were
formerly Reserved, and Switches are required to forward Reserved TLP
Header bits without modification. However, if such a Switch detects an
error with an NPR carrying a 10-Bit Tag, and that Switch handles the
error by acting as the Completer for the NPR, the resulting Completion
will have an invalid 10-Bit Tag. Thus, it is strongly recommended that
Switches between any components using 10-Bit Tags support 10-Bit Tag
Completer capability. Note that Switches supporting 16.0 GT/s data rates
or greater must support 10-Bit Tag Completer capability.
7714
7716
8481
8482
7712
7713
For platforms where the RC supports 10-Bit Tag
Completer capability, it is highly recommended for platform firmware or
operating software that configures PCIe hierarchies to Set the 10-Bit Tag
Requester Enable bit automatically in Endpoints with 10-Bit Tag Requester
capability. This enables the important class of 10-Bit Tag capable
adapters that send Memory Read Requests only to host memory.
8479
7709
7710
8478
8519
Note that attributes are hints that allow for optimizations
in the handling of traffic. Level of support is dependent on target
applications of particular PCI Express peripherals and platform building
118
blocks. Refer to PCI-X 2.0 for additional details regarding these
attributes. Note that attribute bit 2 is not adjacent to bits 1 and 0
(see Figure 2-15 Request Header Format for 64-bit Addressing of Memory
and Figure 2-16 Request Header Format for 32-bit Addressing of Memory ).
8520
Note that attributes are hints that allow for optimizations
in the handling of traffic. Level of support is dependent on target
applications of particular PCI Express peripherals and platform building
blocks. Refer to PCI-X 2.0 for additional details regarding these
attributes. Note that attribute bit 2 is not adjacent to bits 1 and 0
(see Figure 2-17 Request Header Format for 64-bit Addressing of Memory
and Figure 2-18 Request Header Format for 32-bit Addressing of Memory ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7749
Note that attributes are hints that allow for optimizations
in the handling of traffic. Level of support is dependent on target
applications of particular PCI Express peripherals and platform building
blocks. Refer to PCI-X 2.0 for additional details regarding these
attributes. Note that attribute bit 2 is not adjacent to bits 1 and 0
(see Figure 2-15 Request Header Format for 64-bit Addressing of Memory
and Figure 2-16 Request Header Format for 32-bit Addressing of Memory ).
8520
7750
8521
7751
8522
7752
8523
7753
8524
7754
Figure 2-14 Attributes Field of Transaction Descriptor
8525
7755
8526
7756
8527
7757
8528
7758
8529
7759
2.2.6.4 Relaxed Ordering and ID-Based Ordering Attributes
7761
8531
8533
Table 2-9 Ordering Attributes defines the states of the
Relaxed Ordering and ID-Based Ordering attribute fields. These attributes
are discussed in . Note that Relaxed Ordering and ID-Based Ordering
attributes are not adjacent in location (see Figure 2-5 Fields Present in
All TLP Headers ).
8534
7764
8535
7765
8536
7766
Table 2-9 Ordering Attributes
7768
8538
Table 2-9 Ordering Attributes
8539
7769
Attribute Bit [2]
7770
8540
Attribute Bit [2]
8541
7771
Attribute Bit [1]
7772
8542
Attribute Bit [1]
8543
7773
Ordering Type
7820
8544
Ordering Type
8591
Attribute bit [1] is not applicable and must be Clear for
Configuration Requests, I/O Requests, Memory Requests that are Message
Signaled Interrupts, and Message Requests (except where specifically
permitted).
7822
8592
Attribute bit [1] is not applicable and must be Clear for
Configuration Requests, I/O Requests, Memory Requests that are Message
Signaled Interrupts, and Message Requests (except where specifically
permitted).
8593
7823
8594
Attribute bit [2], IDO, is Reserved for Configuration
Requests and I/O Requests. IDO is not Reserved for all Memory Requests,
including Message Signaled Interrupts (MSI/MSI-X). IDO is not Reserved
for Message Requests unless specifically prohibited. A Requester is
permitted to set IDO only if the IDO Request Enable bit in the Device
Control 2 register is set.
7825
8595
Attribute bit [2], IDO, is Reserved for Configuration
Requests and I/O Requests. IDO is not Reserved for all Memory Requests,
including Message Signaled Interrupts (MSI/MSI-X). IDO is not Reserved
for Message Requests unless specifically prohibited. A Requester is
permitted to Set IDO only if the IDO Request Enable bit in the Device
Control 2 register is Set.
8596
7826
7827
Table 2-9 Ordering Attributes defines the states of the
Relaxed Ordering and ID-Based Ordering attribute fields. These attributes
are discussed in Section 2.4 Transaction Ordering . Note that Relaxed
Ordering and ID-Based Ordering attributes are not adjacent in location
(see Figure 2-5 Fields Present in All TLP Headers ).
8537
7767
7824
2.2.6.4 Relaxed Ordering and ID-Based Ordering Attributes
8532
7762
7821
Figure 2-16 Attributes Field of Transaction Descriptor
8530
7760
7763
Note that attributes are hints that allow for optimizations
in the handling of traffic. Level of support is dependent on target
applications of particular PCI Express peripherals and platform building
blocks. Refer to PCI-X 2.0 for additional details regarding these
attributes. Note that attribute bit 2 is not adjacent to bits 1 and 0
(see Figure 2-17 Request Header Format for 64-bit Addressing of Memory
and Figure 2-18 Request Header Format for 32-bit Addressing of Memory ).
8597
The value of the IDO bit must not be considered by
Receivers when determining if a TLP is a Malformed Packet.
Page 119
8598
The value of the IDO bit must not be considered by
Receivers when determining if a TLP is a Malformed Packet.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
7827
The value of the IDO bit must not be considered by
Receivers when determining if a TLP is a Malformed Packet.
7828
8600
A Completer is permitted to set IDO only if the IDO
Completion Enable bit in the Device Control 2 register is set. It is not
required to copy the value of IDO from the Request into the Completion(s)
for that Request. If the Completer has IDO enabled, it is recommended
that the Completer set IDO for all Completions, unless there is a
specific reason not to (see Appendix E ID-Based Ordering Usage )
7831
8601
8603
A Root Complex that supports forwarding TLPs peer-to-peer
between Root Ports is not required to preserve the IDO bit from the
Ingress to Egress Port.
8604
7834
8605
7835
8606
7836
8607
7837
2.2.6.5 No Snoop Attribute
8609
7839
8610
7840
8611
7933
8704
7934
8705
7935
2.2.7 Memory, I/O, and Configuration Request Rules
7937
8710
The following rule applies to all Memory, I/O, and
Configuration Requests. Additional rules specific to each type of Request
follow.
8711
All Memory, I/O, and Configuration Requests include the
following fields in addition to the common header fields:
Requester ID[15:0] and Tag[9:0], forming the Transaction
ID.
Last DW BE[3:0] and 1st DW BE[3:0]. For Memory Read
Requests and AtomicOp Requests with the TH bit Set, the byte location for
the Last DW BE[3:0] and 1st DW BE [3:0] fields in the header are
repurposed to carry ST[7:0] field. For Memory Read Requests with the TH
bit Clear, see Section 2.2.5 First/Last DW Byte Enables Rules for First/
Last DW Byte Enable Rules. For AtomicOp Requests with TH bit Set, the
values for the DW BE fields are implied to be Reserved. For AtomicOp
Requests with TH bit Clear, the DW BE fields are Reserved.
8712
8713
8714
7944
8715
7945
8716
7946
All Memory, I/O, and Configuration Requests include the
following fields in addition to the common header fields:
Requester ID[15:0] and Tag[9:0], forming the Transaction
ID.
Last DW BE[3:0] and First DW BE[3:0]. For Memory Read
Requests and AtomicOp Requests with the TH bit Set, the byte location for
the Last DW BE[3:0] and First DW BE [3:0] fields in the header are
repurposed to carry ST[7:0] field. For Memory Read Requests with the TH
bit Clear, see Section 2.2.5 First/Last DW Byte Enables Rules for First/
Last DW Byte Enable Rules. For AtomicOp Requests with TH bit Set, the
values for the DW BE fields are implied to be Reserved. For AtomicOp
Requests with TH bit Clear, the DW BE fields are Reserved.
8717
7947
For Memory Requests, the following rules apply:
7948
7949
2.2.7 Memory, I/O, and Configuration Request Rules
8709
The following rule applies to all Memory, I/O, and
Configuration Requests. Additional rules specific to each type of Request
follow.
7940
7943
8707
8708
7938
7942
2.2.6.5 No Snoop Attribute
8706
7936
7941
A Root Complex that supports forwarding TLPs peer-to-peer
between Root Ports is not required to preserve the IDO bit from the
Ingress to Egress Port.
8608
7838
7939
A Completer is permitted to Set IDO only if the IDO
Completion Enable bit in the Device Control 2 register is Set. It is not
required to copy the value of IDO from the Request into the Completion(s)
for that Request. If the Completer has IDO enabled, it is recommended
that the Completer set IDO for all Completions, unless there is a
specific reason not to (see Appendix E ID-Based Ordering Usage ).
8602
7832
7833
The value of the IDO bit must not be considered by
Receivers when determining if a TLP is a Malformed Packet.
8599
7829
7830
8598
8718
For Memory Requests, the following rules apply:
8719
Memory Requests route by address, using either 64-bit or 32-bit
Addressing (see Figure 2-15 Request Header Format for 64-bit Addressing
of Memory and Figure 2-16 Request Header Format for 32-bit Addressing of
Memory ).
Page 120
8720
Memory Requests route by address, using either 64-bit or 32-bit
Addressing (see Figure 2-17 Request Header Format for 64-bit Addressing
of Memory and Figure 2-18 Request Header Format for 32-bit Addressing of
Memory ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
7949
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Memory Requests route by address, using either 64-bit or 32-bit
7950
7951
Addressing (see Figure 2-15 Request Header Format for 64-bit Addressing
of Memory and Figure 2-16 Request Header Format for 32-bit Addressing of
Memory ).
For Memory Read Requests, Length must not exceed the value
specified by Max_Read_Request_Size (see Section 7.5.3.4 Device Control
Register (Offset 08h) ).
For AtomicOp Requests, architected operand sizes and their
associated Length field values are specified in Table 2-12 Length Field
Values for AtomicOp Requests . If a Completer supports AtomicOps, the
following rules apply. The Completer must check the Length field value.
If the value does not match an architected value, the Completer must
handle the TLP as a Malformed TLP. Otherwise, if the value does not match
an operand size that the Completer supports, the Completer must handle
the TLP as an Unsupported Request (UR). This is a reported error
associated with the Receiving Port (see Section 6.2 Error Signaling and
Logging ).
8720
8721
8722
7952
8723
7953
8724
7954
8725
7955
8726
7956
Table 2-12 Length Field Values for AtomicOp Requests
7957
8727
AtomicOp Request
8729
7959
8730
7989
8760
7990
8761
7991
8762
7992
8763
7993
7995
7996
7999
8000
8001
8765
8766
8767
A FetchAdd Request contains one operand, the “add” value.
A Swap Request contains one operand, the “swap” value.
A CAS Request contains two operands. The first in the data
area is the “compare” value, and the second is the “swap” value.
8768
For AtomicOp Requests, the Address must be naturally aligned
with the operand size. The Completer must check for violations of this
rule. If a TLP violates this rule, the TLP is a Malformed TLP. This is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ).
Requests must not specify an Address/Length combination which
causes a Memory Space access to cross a 4-KB boundary.
Receivers may optionally check for violations of this rule.
If a Receiver implementing this check determines that a TLP violates this
rule, the TLP is a Malformed TLP.
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
8002
8003
AtomicOp Request
8764
A FetchAdd Request contains one operand, the “add” value.
A Swap Request contains one operand, the “swap” value.
A CAS Request contains two operands. The first in the data
area is the “compare” value, and the second is the “swap” value.
7997
7998
Table 2-12 Length Field Values for AtomicOp Requests
8728
7958
7994
Memory Requests route by address, using either 64-bit or 32-bit
Addressing (see Figure 2-17 Request Header Format for 64-bit Addressing
of Memory and Figure 2-18 Request Header Format for 32-bit Addressing of
Memory ).
For Memory Read Requests, Length must not exceed the value
specified by Max_Read_Request_Size (see Section 7.5.3.4 Device Control
Register (Offset 08h) ).
For AtomicOp Requests, architected operand sizes and their
associated Length field values are specified in Table 2-12 Length Field
Values for AtomicOp Requests . If a Completer supports AtomicOps, the
following rules apply. The Completer must check the Length field value.
If the value does not match an architected value, the Completer must
handle the TLP as a Malformed TLP. Otherwise, if the value does not match
an operand size that the Completer supports, the Completer must handle
the TLP as an Unsupported Request (UR). This is a reported error
associated with the Receiving Port (see Section 6.2 Error Signaling and
Logging ).
8769
8770
8771
8772
For AtomicOp Requests, the Address must be naturally aligned
with the operand size. The Completer must check for violations of this
rule. If a TLP violates this rule, the TLP is a Malformed TLP. This is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ).
Requests must not specify an Address/Length combination that
causes a Memory Space access to cross a 4-KB boundary.
Receivers may optionally check for violations of this rule.
If a Receiver implementing this check determines that a TLP violates this
rule, the TLP is a Malformed TLP.
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
8773
For AtomicOp Requests, the mandatory Completer check for
natural alignment of the Address (see above) already guarantees that the
access will not cross a 4-KB boundary, so a separate 4-KB boundary check
is not necessary.
Page 121
8774
For AtomicOp Requests, the mandatory Completer check for
natural alignment of the Address (see above) already guarantees that the
access will not cross a 4-KB boundary, so a separate 4-KB boundary check
is not necessary.
For AtomicOp Requests, the mandatory Completer
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs. check for
natural alignment of the Address (see above) already guarantees that the
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
access will not cross a 4-KB boundary, so a separate 4-KB boundary check
8003
8004
is not necessary.
If a 4-KB boundary check is performed for AtomicOp CAS
Requests, this check must comprehend that the TLP Length value is based
on the size of two operands, whereas the access to Memory Space is based
on the size of one operand.
8774
8775
8005
8776
8006
8777
8007
8778
8008
8779
8009
8780
For AtomicOp Requests, the mandatory Completer check for
natural alignment of the Address (see above) already guarantees that the
access will not cross a 4-KB boundary, so a separate 4-KB boundary check
is not necessary.
If a 4-KB boundary check is performed for AtomicOp CAS
Requests, this check must comprehend that the TLP Length value is based
on the size of two operands, whereas the access to Memory Space is based
on the size of one operand.
8781
Figure 2-17 Request Header Format for 64-bit Addressing of
Memory
8010
8782
8011
8783
8012
Figure 2-15 Request Header Format for 64-bit Addressing of
Memory
8013
8014
8784
8015
8785
8016
8786
8017
8787
8018
Figure 2-18 Request Header Format for 32-bit Addressing of
Memory
8019
8020
Figure 2-16 Request Header Format for 32-bit Addressing of
Memory
8021
8788
8022
8789
8023
8790
8024
8791
8025
Implementation Note
Generation of 64-bit Addresses
8026
8792
8793
8027
8794
8028
8795
8029
8030
8796
It is strongly recommended that PCI Express Endpoints be
capable of generating the full range of 64-bit addresses. However, if a
PCI Express Endpoint supports a smaller address range, and is unable to
reach the full address range required by a given platform environment,
the corresponding device driver must ensure that all Memory Transaction
target buffers fall within the address range supported by the Endpoint.
The exact means of ensuring this is platform and operating system
specific, and beyond the scope of this specification.
8797
8031
8798
8032
8799
8033
8800
8034
For I/O Requests, the following rules apply:
8036
8038
8039
It is strongly recommended that PCI Express Endpoints be
capable of generating the full range of 64-bit addresses. However, if a
PCI Express Endpoint supports a smaller address range, and is unable to
reach the full address range required by a given platform environment,
the corresponding device driver must ensure that all Memory Transaction
target buffers fall within the address range supported by the Endpoint.
The exact means of ensuring this is platform and operating system
specific, and beyond the scope of this specification.
8801
8035
8037
Implementation Note
Generation of 64-bit Addresses
8802
For I/O Requests, the following rules apply:
8803
I/O Requests route by address, using 32-bit Addressing (see
Figure 2-17 Request Header Format for I/O Transactions )
I/O Requests have the following restrictions:
TC[2:0] must be 000b
Page 122
8804
8805
8806
I/O Requests route by address, using 32-bit Addressing (see
Figure 2-19 Request Header Format for I/O Transactions )
I/O Requests have the following restrictions:
TC[2:0] must be 000b
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8039
TC[2:0] must be 000b
LN is not applicable to I/O Requests and the bit is
8040
8806
Reserved
8041
Reserved
TH is not applicable to I/O Request and the bit is
8808
Reserved
8042
8043
8044
8045
8046
TC[2:0] must be 000b
LN is not applicable to I/O Requests and the bit is
8807
TH is not applicable to I/O Request and the bit is
Reserved
Attr[2] is Reserved
Attr[1:0] must be 00b
AT[1:0] must be 00b. Receivers are not required or
encouraged to check this.
Length[9:0] must be 00 0000 0001b
Last DW BE[3:0] must be 0000b
8047
8809
8810
8811
8812
8813
Attr[2] is Reserved
Attr[1:0] must be 00b
AT[1:0] must be 00b. Receivers are not required or
encouraged to check this.
Length[9:0] must be 00 0000 0001b
Last DW BE[3:0] must be 0000b
8814
8815
8048
Receivers may optionally check for violations of
these rules (but must not check Reserved bits). These checks are
independently optional (see Section 6.2.3.4 Optional Error Checking ). If
a Receiver implementing these checks determines that a TLP violates these
rules, the TLP is a Malformed TLP.
8049
8050
8816
Receivers may optionally check for violations of these
rules (but must not check Reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
8817
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
8818
8051
8819
8052
8820
8053
8821
8054
8822
8055
8823
8056
8824
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
Figure 2-19 Request Header Format for I/O Transactions
8057
8058
8059
Figure 2-17 Request Header Format for I/O Transactions
8060
8825
8061
8826
8062
8827
8063
For Configuration Requests, the following rules apply:
8064
8065
8066
8067
8068
8071
8072
8073
8074
8075
For Configuration Requests, the following rules apply:
8829
Configuration Requests route by ID, and use
In addition to the header fields included
and Configuration Requests and the ID routing fields,
Requests contain the following additional fields (see
Header Format for Configuration Transactions ).
Register Number[5:0]
Extended Register Number[3:0]
a 3 DW header
in all Memory, I/O,
Configuration
Figure 2-18 Request
8069
8070
8828
8830
8831
8832
8833
Configuration Requests route by ID, and use
In addition to the header fields included
and Configuration Requests and the ID routing fields,
Requests contain the following additional fields (see
Header Format for Configuration Transactions ).
Register Number[5:0]
Extended Register Number[3:0]
a 3 DW header.
in all Memory, I/O,
Configuration
Figure 2-20 Request
8834
Configuration Requests have the following restrictions:
TC[2:0] must be 000b
LN is not applicable to Configuration Requests and the
bit is Reserved
TH is not applicable to Configuration Requests and the
bit is Reserved
Attr[2] is Reserved
Attr[1:0] must be 00b
Page 123
8835
8836
8837
8838
8839
8840
Configuration Requests have the following restrictions:
TC[2:0] must be 000b
LN is not applicable to Configuration Requests and the
bit is Reserved
TH is not applicable to Configuration Requests and the
bit is Reserved
Attr[2] is Reserved
Attr[1:0] must be 00b
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8075
8076
8077
8078
Attr[1:0] must be 00b
AT[1:0] must be 00b. Receivers are not required or
encouraged to check this.
Length[9:0] must be 00 0000 0001b
Last DW BE[3:0] must be 0000b
8079
8840
8841
8842
8843
Attr[1:0] must be 00b
AT[1:0] must be 00b. Receivers are not required or
encouraged to check this.
Length[9:0] must be 00 0000 0001b
Last DW BE[3:0] must be 0000b
8844
8845
8080
Receivers may optionally check for violations of
these rules (but must not check reserved bits). These checks are
independently optional (see Section 6.2.3.4 Optional Error Checking ). If
a Receiver implementing these checks determines that a TLP violates these
rules, the TLP is a Malformed TLP.
8081
8082
8846
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
8847
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
8848
8083
8849
8084
8850
8085
8851
8086
8852
8087
8853
8088
8854
8089
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
Figure 2-20 Request Header Format for Configuration
Transactions
8090
8091
Figure 2-18 Request Header Format for Configuration
Transactions
8092
8855
8093
8856
8094
8095
8857
MSI/MSI-X mechanisms use Memory Write Requests to represent
interrupt Messages (see Section 6.1.4 MSI and MSI-X Operation ). The
Request format used for MSI/MSI-X transactions is identical to the Memory
Write Request format defined above, and MSI/MSI-X Requests are
indistinguishable from memory writes with regard to ordering, Flow
Control, and data integrity.
8858
8096
8859
8097
8860
8098
8861
8099
2.2.7.1 TPH Rules
8100
8101
MSI/MSI-X mechanisms use Memory Write Requests to represent
interrupt Messages (see Section 6.1.4 MSI and MSI-X Operation ). The
Request format used for MSI/MSI-X transactions is identical to the Memory
Write Request format defined above, and MSI/MSI-X Requests are
indistinguishable from memory writes with regard to ordering, Flow
Control, and data integrity.
8862
2.2.7.1 TPH Rules
8863
Two formats are specified for TPH. The Baseline TPH format
(see Figure 2-20 Location of PH[1:0] in a 4 DW Request Header and Figure
2-21 Location of PH[1:0] in a 3 DW Request Header ) must be used for all
Requests that provide TPH. The format with the optional TPH TLP Prefix
extends the TPH fields (see Figure 2-19 TPH TLP Prefix ) to provide
additional bits for the Steering Tag (ST) field.
8864
8102
8865
8103
8866
8104
8867
8105
8106
8107
Page 124
Two formats are specified for TPH. The Baseline TPH format
(see Figure 2-22 Location of PH[1:0] in a 4 DW Request Header and Figure
2-23 Location of PH[1:0] in a 3 DW Request Header ) must be used for all
Requests that provide TPH. The format with the optional TPH TLP Prefix
extends the TPH fields (see Figure 2-21 TPH TLP Prefix ) to provide
additional bits for the Steering Tag (ST) field.
8868
Figure 2-19 TPH TLP Prefix
8869
8870
Figure 2-21 TPH TLP Prefix
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8107
8870
8108
8871
8109
The optional TPH TLP Prefix is used to extend the TPH
8872
fields.
8110
The presence of a TPH TLP Prefix is determined by
8873
decoding byte 0.
8874
8112
8875
8113
8876
8114
8877
8115
Table 2-13 TPH TLP Prefix Bit Mapping
8878
8116
8879
8133
8896
8134
Reserved
8136
8898
Bits 7:0 of byte 3
8900
8138
8901
8139
8902
8140
8903
8141
8145
Bits 7:0 of byte 3
8904
For Requests that target Memory Space, a value of 1b in the
TH bit indicates the presence of TPH in the TLP header and optional TPH
TLP Prefix (if present).
The TH bit must be Set for Requests that provide TPH
The TH bit must be Set for Requests with a TPH TLP
Prefix
The TH bit is not applicable and is Reserved for all
other Requests.
8146
8147
Reserved
8899
8137
8144
Table 2-13 TPH TLP Prefix Bit Mapping
8897
8135
8143
The presence of a TPH TLP Prefix is determined by
decoding byte 0.
8111
8142
The optional TPH TLP Prefix is used to extend the TPH
fields.
8905
8906
8907
8908
8909
For Requests that target Memory Space, a value of 1b in the
TH bit indicates the presence of TPH in the TLP header and optional TPH
TLP Prefix (if present).
The TH bit must be Set for Requests that provide TPH.
The TH bit must be Set for Requests with a TPH TLP
Prefix.
When the TH bit is Clear, the PH field is Reserved.
The TH bit and the PH field are not applicable and are
Reserved for all other Requests.
8910
The Processing Hints (PH) fields mapping is shown in Figure
2-20 Location of PH[1:0] in a 4 DW Request Header , Figure 2-21 Location
of PH[1:0] in a 3 DW Request Header and Table 2-14 Location of PH[1:0] in
TLP Header .
8911
8148
8912
8149
8913
8150
8914
8151
8152
8915
Figure 2-20 Location of PH[1:0] in a 4 DW Request Header
8916
8153
8917
8154
8918
8155
8919
8156
8920
8157
8158
8922
8923
8160
8924
8161
8925
8162
Page 125
Figure 2-22 Location of PH[1:0] in a 4 DW Request Header
8921
Figure 2-21 Location of PH[1:0] in a 3 DW Request Header
8159
8163
The Processing Hints (PH) fields mapping is shown in Figure
2-22 Location of PH[1:0] in a 4 DW Request Header , Figure 2-23 Location
of PH[1:0] in a 3 DW Request Header and Table 2-14 Location of PH[1:0] in
TLP Header .
Figure 2-23 Location of PH[1:0] in a 3 DW Request Header
8926
Table 2-14 Location of PH[1:0] in TLP Header
8927
Table 2-14 Location of PH[1:0] in TLP Header
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8163
Table 2-14 Location of PH[1:0] in TLP Header
8164
PH
8166
8929
PH
8930
8167
32-bit Addressing
8168
8931
32-bit Addressing
8932
8220
11
8221
8984
11
8985
8222
Target with Priority
8223
8986
Target with Priority
8987
Indicates frequent read and/or write access by Host
and indicates high temporal locality for accessed data
8988
8225
8989
8226
8990
8227
8991
8228
8992
8229
8230
Table 2-14 Location of PH[1:0] in TLP Header
8928
8165
8224
8927
Indicates frequent read and/or write access by Host
and indicates high temporal locality for accessed data
8993
The Steering Tag (ST) fields are mapped to the TLP header
as shown in Figure 2-22 Location of ST[7:0] in the Memory Write Request
Header , Figure 2-23 Location of ST[7:0] in Memory Read and AtomicOp
Request Headers and Table 2-16 Location of ST[7:0] in TLP Headers .
8994
The Steering Tag (ST) fields are mapped to the TLP header
as shown in Figure 2-24 Location of ST[7:0] in the Memory Write Request
Header , Figure 2-25 Location of ST[7:0] in Memory Read and AtomicOp
Request Headers and Table 2-16 Location of ST[7:0] in TLP Headers .
8231
8232
8233
8995
8234
8996
8235
8997
8236
8998
8237
Figure 2-22 Location of ST[7:0] in the Memory Write
8999
Request Header
8238
9000
8239
9001
8240
9002
8241
9003
8242
9004
8243
9005
8244
8245
Figure 2-24 Location of ST[7:0] in the Memory Write
Request Header
Figure 2-25 Location of ST[7:0] in Memory Read and
AtomicOp Request Headers
Figure 2-23 Location of ST[7:0] in Memory Read and
AtomicOp Request Headers
8246
9006
8247
9007
8248
9008
8249
8250
9009
Table 2-16 Location of ST[7:0] in TLP Headers
8251
8252
ST Bits
8290
Page 126
9012
ST Bits
9013
Memory Write Request
8255
8289
Table 2-16 Location of ST[7:0] in TLP Headers
9011
8253
8254
9010
9014
Memory Write Request
9015
Vendor-Defined Messages
Latency Tolerance Reporting (LTR) Messages
9049
9050
Vendor-Defined Messages
Latency Tolerance Reporting (LTR) Messages
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8290
Latency Tolerance Reporting (LTR) Messages
Optimized Buffer Flush/Fill (OBFF) Messages
Device Readiness Status (DRS) Messages
Function Readiness Status (FRS) Messages
Precision Time Measurement (PTM) Messages
8291
8292
8293
8294
8295
8300
8301
9052
9053
9054
9056
The following rules apply to all Message Requests. Additional
rules specific to each type of Message follow.
8298
8299
9057
9059
9060
9061
All Message Requests use the Msg or MsgD Type field
9063
encoding.
8306
8307
8308
8309
8310
8311
8312
The Message Code field must be fully decoded (Message
aliasing is not permitted).
The Attr[2] field is not Reserved unless specifically
indicated as Reserved.
Except as noted, the Attr[1:0] field is Reserved.
LN is not applicable to Message Requests and the bit is
Reserved.
Except as noted, TH is not applicable to Message Requests and
the bit is Reserved.
AT[1:0] must be 00b. Receivers are not required or encouraged
to check this.
Except as noted, bytes 8 through 15 are Reserved.
Message Requests are posted and do not require Completion.
Message Requests follow the same ordering rules as Memory
Write Requests.
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
8314
9074
9075
8315
9076
8316
9077
8317
9078
8318
9080
9081
8321
9082
8322
Page
The Message Code field must be fully decoded (Message
aliasing is not permitted).
The Attr[2] field is not Reserved unless specifically
indicated as Reserved.
Except as noted, the Attr[1:0] field is Reserved.
LN is not applicable to Message Requests and the bit is
Reserved.
Except as noted, TH is not applicable to Message Requests and
the bit is Reserved.
AT[1:0] must be 00b. Receivers are not required or encouraged
to check this.
Except as noted, bytes 8 through 15 are Reserved.
Message Requests are posted and do not require Completion.
Message Requests follow the same ordering rules as Memory
Write Requests.
Many types of Messages, including Vendor-Defined Messages,
are potentially usable in non-D0 states, and it is strongly recommended
that the handling of Messages by Ports be the same when the Port's Bridge
Function is in D1, D2, and D3Hot as it is in D0. It is strongly
recommended that Type 0 Functions support the generation and reception of
Messages in non-D0 states.
9079
Figure 2-24 Message Request Header
8320
8323
All Message Requests use the Msg or MsgD Type field
encoding.
8313
8319
All Message Requests include the following fields in addition
to the common header fields (see Figure 2-37 PTM ResponseD Message (4 DW
header and 1 DW payload) ):
Requester ID[15:0] and Tag[9:0], forming the Transaction
ID.
Message Code[7:0] - Specifies the particular Message
embodied in the Request.
9062
8303
8305
The following rules apply to all Message Requests. Additional
rules specific to each type of Message follow.
9058
All Message Requests include the following fields in addition
to the common header fields (see Figure 2-34 PTM ResponseD Message (4 DW
header and 1 DW payload) ):
Requester ID[15:0] and Tag[9:0], forming the Transaction
ID.
Message Code[7:0] - Specifies the particular Message
embodied in the Request.
8302
8304
Latency Tolerance Reporting (LTR) Messages
Optimized Buffer Flush/Fill (OBFF) Messages
Device Readiness Status (DRS) Messages
Function Readiness Status (FRS) Messages
Precision Time Measurement (PTM) Messages
9051
9055
8296
8297
9050
Figure 2-26 Message Request Header
9083
In addition to address and ID routing, Messages support
several other routing mechanisms. These mechanisms are referred to as
127
“implicit” because no address or ID specifies the destination, but rather
the destination is implied by the routing type. The following rules cover
Message routing mechanisms:
9084
In addition to address and ID routing, Messages support
several other routing mechanisms. These mechanisms are referred to as
“implicit” because no address or ID specifies the destination, but rather
the destination is implied by the routing type. The following rules cover
Message routing mechanisms:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8323
In addition to address and ID routing, Messages support
several other routing mechanisms. These mechanisms are referred to as
“implicit” because no address or ID specifies the destination, but rather
the destination is implied by the routing type. The following rules cover
Message routing mechanisms:
8324
9084
9085
8325
Message routing is determined using the r[2:0] sub-field of the
9086
Type field
8326
8327
Message Routing r[2:0] values are defined in Table 2-17
Message Routing
Permitted values are defined in the following sections
for each Message
9087
9088
9090
8374
100
8375
9135
Local - Terminate at Receiver
8377
9137
Local - Terminate at Receiver
9138
8378
Reserved
9139
8379
9140
8380
9141
8381
Reserved
9142
8382
101
8383
9143
101
9144
Gathered and routed to Root Complex [Footnote: This
routing type is used only for PME_TO_Ack, and is described in Section
5.6.4.2.1 .]
8385
9145
Gathered and routed to Root Complex [Footnote: This
routing type is used only for PME_TO_Ack, and is described in Section
5.3.3.2.1 PME Synchronization .]
9146
8386
Reserved
9147
8387
9148
8388
9149
8389
Reserved
9150
8390
110 to 111
8391
9151
110 to 111
9152
8392
Reserved - Terminate at Receiver
8393
9153
Reserved - Terminate at Receiver
9154
8394
Reserved
8694
9155
Reserved
9455
The Root Complex must track the state of the four INTx
virtual wires independently for each of its Downstream Ports, and map
these virtual signals to system interrupt resources.
Details of this mapping are system implementation
specific.
8697
8698
100
9136
8376
8696
Message Routing r[2:0] values are defined in Table 2-17
Message Routing
Permitted values are defined in the following sections
for each Message
9089
8329
8695
Message routing is determined using the r[2:0] sub-field of the
Type field
8328
8384
In addition to address and ID routing, Messages support
several other routing mechanisms. These mechanisms are referred to as
“implicit” because no address or ID specifies the destination, but rather
the destination is implied by the routing type. The following rules cover
Message routing mechanisms:
9456
9457
The Root Complex must track the state of the four INTx
virtual wires independently for each of its Downstream Ports, and map
these virtual signals to system interrupt resources.
Details of this mapping are system implementation
specific.
9458
If a Downstream Port of the Root Complex goes to DL_Down
status, the INTx virtual wires associated with that Port must be
deasserted, and any associated system interrupt resource request(s) must
be discarded.
9459
8699
9460
8700
9461
Page 128
If a Downstream Port of the Root Complex goes to DL_Down
status, the INTx virtual wires associated with that Port must be
deasserted, and any associated system interrupt resource request(s) must
be discarded.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8700
9461
8701
9462
8702
Table 2-19 Bridge Mapping for INTx Virtual Wires
8703
8704
9463
Requester ID[7:3] from the Assert_INTx/
Deassert_INTx Message received on Secondary Side of Bridge (Interrupt
Source [Footnote: The Requester ID of an Assert_INTx/Deassert_INTx
Message will correspond to the Transmitter of the Message on that Link,
and not necessarily to the original source of the interrupt.])] ) If ARI
Forwarding is enabled, the value 0 must be used instead of Requester
ID[7:3].
8705
9465
9466
INTx Virtual Wire on Secondary Side of Bridge
8707
9468
Mapping to INTx Virtual Wire on Primary Side of
9470
Bridge
9471
8710
9472
8711
9473
0,4,8,12,16,20,24,28
8713
9474
INTA
The implied Device Number for an ARI Device is 0. When
ARI-aware software (including BIOS and operating system) enables ARI
Forwarding in the Downstream Port immediately above an ARI Device in
order to access its Extended Functions, software must comprehend that the
Downstream Port will use Device Number 0 for the virtual wire mappings of
INTx interrupts coming from all Functions of the ARI Device. If non-ARIaware software attempts to determine the virtual wire mappings for
Extended Functions, it can come up with incorrect mappings by examining
the traditional Device Number field and finding it to be non-0.
9476
9597
9598
8837
9599
8838
9600
8839
9601
8840
9602
8841
8851
Page
9607
These Messages are used to support PCI Express power
management, which is described in detail in Chapter 5 Power Management .
The following rules define the Power Management Messages:
9608
8847
8850
2.2.8.2 Power Management Messages
9606
These Messages are used to support PCI Express power
management, which is described in detail in Chapter 5 . The following
rules define the Power Management Messages:
8846
8849
9604
9605
8844
8848
INTA
The implied Device Number for an ARI Device is 0. When
ARI-aware software (including BIOS and operating system) enables ARI
Forwarding in the Downstream Port immediately above an ARI Device in
order to access its Extended Functions, software must comprehend that the
Downstream Port will use Device Number 0 for the virtual wire mappings of
INTx interrupts coming from all Functions of the ARI Device. If non-ARIaware software attempts to determine the virtual wire mappings for
Extended Functions, it can come up with incorrect mappings by examining
the traditional Device Number field and finding it to be non-0.
9603
2.2.8.2 Power Management Messages
8843
8845
0,4,8,12,16,20,24,28
9475
8836
8842
Mapping to INTx Virtual Wire on Primary Side of
Bridge
8709
8835
INTx Virtual Wire on Secondary Side of Bridge
9469
8708
8714
Requester ID[7:3] from the Assert_INTx/
Deassert_INTx Message received on Secondary Side of Bridge (Interrupt
Source [Footnote: The Requester ID of an Assert_INTx/Deassert_INTx
Message will correspond to the Transmitter of the Message on that Link,
and not necessarily to the original source of the interrupt.] )
If ARI Forwarding is enabled, the value 0 must be
used instead of Requester ID[7:3].
9467
8706
8712
Table 2-19 Bridge Mapping for INTx Virtual Wires
9464
9609
Table 2-20 Power Management Messages defines the Power
Management Messages.
Power Management Messages do not include a data payload
(TLP Type is Msg).
The Length field is Reserved.
With PM_Active_State_Nak Messages, the Function Number
field in the Requester ID must contain the Function Number of the
Downstream Port that sent the Message, or else 000b for compatibility
129
with earlier revisions of this specification.
9610
9611
9612
9613
Table 2-20 Power Management Messages defines the Power
Management Messages.
Power Management Messages do not include a data payload
(TLP Type is Msg).
The Length field is Reserved.
With PM_Active_State_Nak Messages, the Function Number
field in the Requester ID must contain the Function Number of the
Downstream Port that sent the Message, or else 000b for compatibility
with earlier revisions of this specification.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
8851
8852
8853
8854
With PM_Active_State_Nak Messages, the Function Number
field in the Requester ID must contain the Function Number of the
Downstream Port that sent the Message, or else 000b for compatibility
with earlier revisions of this specification.
With PME_TO_Ack Messages, the Function Number field in the
Requester ID must be Reserved, or else for compatibility with earlier
revisions of this specification must contain the Function Number of one
of the Functions associated with the Upstream Port. Note that the
Function Number field is a different size for non-ARI and ARI Requester
IDs.
Power Management Messages must use the default Traffic
Class designator (TC0). Receivers must check for violations of this rule.
If a Receiver determines that a TLP violates this rule, it must handle
the TLP as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
8855
9614
9615
9616
9820
This Message is issued when the Function or Device
detects a Fatal, uncorrectable error on the PCI Express interface.
9821
9060
9822
9061
9823
9062
9824
9063
9825
9064
9065
With PM_Active_State_Nak Messages, the Function Number
field in the Requester ID must contain the Function Number of the
Downstream Port that sent the Message, or else 000b for compatibility
with earlier revisions of this specification.
With PME_TO_Ack Messages, the Function Number field in the
Requester ID must be Reserved, or else for compatibility with earlier
revisions of this specification must contain the Function Number of one
of the Functions associated with the Upstream Port. Note that the
Function Number field is a different size for non-ARI and ARI Requester
IDs.
Power Management Messages must use the default Traffic
Class designator (TC0). Receivers must check for violations of this rule.
If a Receiver determines that a TLP violates this rule, it must handle
the TLP as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
9617
9058
9059
9613
This Message is issued when the Function or Device
detects a Fatal, uncorrectable error on the PCI Express interface.
9826
The initiator of the Message is identified with the
Requester ID of the Message header. The Root Complex translates these
error Messages into platform level events. Refer to Section 6.2 Error
Signaling and Logging for details on uses for these Messages.
9827
9066
9828
9067
9829
9830
The initiator of the Message is identified with the
Requester ID of the Message header. The Root Complex translates these
error Messages into platform level events. Refer to Section 6.2 Error
Signaling and Logging for details on uses for these Messages.
ERR_COR Messages have an ERR_COR Subclass (ECS) field in
the Message header that enables different subclasses to be distinguished
from each other. See Figure 2-27 ERR_COR Message . ERR_NONFATAL and
ERR_FATAL Messages do not have the ECS field.
9831
9832
9833
9834
9835
Figure 2-27 ERR_COR Message
9836
9837
9838
The ERR_COR Subclass (ECS) field is encoded as shown in Table
2-22 ERR_COR Subclass (ECS) Field Encodings , indicating the ERR_COR
Message subclass.
9839
9840
9841
9842
Table 2-22 ERR_COR Subclass (ECS) Field Encodings
9843
9844
Page 130
ECS Coding
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9844
ECS Coding
9845
9846
Description
9847
9848
9849
9850
00
9851
9852
ECS Legacy - The value inherently used if a
Requester does not support ECS capability. ECS-capable Requesters must
not use this value. See see Section 7.5.3.3 Device Capabilities Register
(Offset 04h) .
9853
9854
9855
9856
01
9857
9858
ECS SIG_SFW - Must be used by an ECS-capable
Requester when signaling a DPC or SFI event with an ERR_COR Message.
9859
9860
9861
9862
10
9863
9864
ECS SIG_OS - Must be used by an ECS-capable
Requester when signaling an AER or RP PIO event with an ERR_COR Message.
9865
9866
9867
9868
11
9869
9870
ECS Extended - Intended for possible future use.
Requesters must not use this value. Receivers must handle the signal
internally the same as ECS SIG_OS.
9871
9872
9873
9874
9875
9068
9876
9069
9877
9070
2.2.8.4 Locked Transactions Support
9071
2.2.8.4 Locked Transactions Support
9879
9072
9073
9878
9880
The Unlock Message is used to support Lock Transaction
sequences. Refer to Section 6.5 Locked Transactions for details on Lock
Transaction sequences. The following rules apply to the formation of the
Unlock Message:
9074
Page 131
The Unlock Message is used to support Lock Transaction
sequences. Refer to Section 6.5 Locked Transactions for details on Lock
Transaction sequences. The following rules apply to the formation of the
Unlock Message:
9882
9075
9076
9881
9883
Table 2-22 Unlock Message defines the Unlock Messages.
9884
Table 2-23 Unlock Message defines the Unlock Messages.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9076
Table 2-22 Unlock Message defines the Unlock Messages.
The Unlock Message does not include a data payload (TLP
9077
9884
Type is Msg).
9078
9079
9080
9081
Type is Msg).
The Length field is Reserved.
With Unlock Messages, the Function Number field in the
Requester ID is Reserved.
The Unlock Message must use the default Traffic Class
designator (TC0). Receivers must check for violations of this rule. If a
Receiver determines that a TLP violates this rule, it must handle the TLP
as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
9886
9887
9888
9889
9082
9890
9083
9891
9084
9892
9085
Table 2-22 Unlock Message
9087
9894
Name
9089
9896
Code[7:0] (b)
9091
9898
Routing r[2:0] (b)
9093
9900
Routing r[2:0] (b)
9901
9094
Support
9095
9902
Support
9903
9096
Description/Comments
9904
9128
9936
9129
9937
9130
9938
9131
Description/Comments
9939
9132
2.2.8.5 Slot Power Limit Support
9133
9940
2.2.8.5 Slot Power Limit Support
9941
9134
9942
This Message is used to convey a slot power limitation
value from a Downstream Port (of a Root Complex or a Switch) to an
Upstream Port of a component (with Endpoint, Switch, or PCI Express-PCI
Bridge Functions) attached to the same Link.
9136
9943
This Message is used to convey a slot power limitation
value from a Downstream Port (of a Root Complex or a Switch) to an
Upstream Port of a component (with Endpoint, Switch, or PCI Express-PCI
Bridge Functions) attached to the same Link.
9944
9137
9141
Code[7:0] (b)
9899
9092
9140
Name
9897
9090
9139
Table 2-23 Unlock Message
9895
9088
9138
The Length field is Reserved.
With Unlock Messages, the Function Number field in the
Requester ID is Reserved.
The Unlock Message must use the default Traffic Class
designator (TC0). Receivers must check for violations of this rule. If a
Receiver determines that a TLP violates this rule, it must handle the TLP
as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
9893
9086
9135
Table 2-23 Unlock Message defines the Unlock Messages.
The Unlock Message does not include a data payload (TLP
9885
9945
Table 2-23 Set_Slot_Power_Limit Message defines the
Set_Slot_Power_Limit Message.
The Set_Slot_Power_Limit Message includes a 1 DW data
payload (TLP Type is MsgD).
The Set_Slot_Power_Limit Message must use the default
Traffic Class designator (TC0). Receivers must check for violations of
this rule. If a Receiver determines that a TLP violates this rule, it
must handle the TLP as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
9142
Page 132
9946
9947
9948
9949
9950
Table 2-24 Set_Slot_Power_Limit Message defines the
Set_Slot_Power_Limit Message.
The Set_Slot_Power_Limit Message includes a 1 DW data
payload (TLP Type is MsgD).
The Set_Slot_Power_Limit Message must use the default
Traffic Class designator (TC0). Receivers must check for violations of
this rule. If a Receiver determines that a TLP violates this rule, it
must handle the TLP as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9142
9950
9143
9951
9144
9952
9145
9146
9953
Table 2-23 Set_Slot_Power_Limit Message
9147
9148
Name
Code[7:0] (b)
Name
9958
Code[7:0] (b)
9959
Routing r[2:0] (b)
9153
9154
9956
9957
9151
9152
Table 2-24 Set_Slot_Power_Limit Message
9955
9149
9150
9954
9960
Routing r[2:0] (b)
9961
Support
9155
9962
Support
9963
9156
Description/Comments
9964
Description/Comments
9180
tr
9988
tr
9181
9182
9989
r
9183
9184
9990
Set Slot Power Limit in Upstream Port
9992
9185
9993
9186
9994
9187
9995
9188
9996
9189
9190
9193
The Set_Slot_Power_Limit Message includes a one DW data
payload. The data payload is copied from the Slot Capabilities register
of the Downstream Port and is written into the Device Capabilities
register of the Upstream Port on the other side of the Link. Bits 1:0 of
Byte 1 of the data payload map to the Slot Power Limit Scale field and
bits 7:0 of Byte 0 map to the Slot Power Limit Value field. Bits 7:0 of
Byte 3, 7:0 of Byte 2, and 7:2 of Byte 1 of the data payload must all be
set to zero by the Transmitter and ignored by the Receiver. This Message
must be sent automatically by the Downstream Port (of a Root Complex or a
Switch) when one of the following events occurs:
10000
10001
On a Configuration Write to the Slot Capabilities register
(see Section 7.5.3.9 Slot Capabilities Register (Offset 14h) ) when the
Data Link Layer reports DL_Up status.
Any time when a Link transitions from a non-DL_Up status to
a DL_Up status (see Section 2.9.2 Transaction Layer Behavior in DL_Up
Status ) and the Auto Slot Power Limit Disable bit is Clear in the Slot
Control Register. This transmission is optional if the Slot Capabilities
register has not yet been initialized.
10002
9195
Page
9998
9999
On a Configuration Write to the Slot Capabilities register
(see Section 7.5.3.9 Slot Capabilities Register (Offset 14h) ) when the
Data Link Layer reports DL_Up status.
Any time when a Link transitions from a non-DL_Up status to
a DL_Up status (see Section 2.9.2 Transaction Layer Behavior in DL_Up
Status ) and the Auto Slot Power Limit Disable bit is Cleared in the Slot
Control Register. This transmission is optional if the Slot Capabilities
register has not yet been initialized.
9194
9196
Set Slot Power Limit in Upstream Port
9997
The Set_Slot_Power_Limit Message includes a one DW data
payload. The data payload is copied from the Slot Capabilities register
of the Downstream Port and is written into the Device Capabilities
register of the Upstream Port on the other side of the Link. Bits 1:0 of
Byte 1 of the data payload map to the Slot Power Limit Scale field and
bits 7:0 of Byte 0 map to the Slot Power Limit Value field. Bits 7:0 of
Byte 3, 7:0 of Byte 2, and 7:2 of Byte 1 of the data payload must be Set
to all 0 by the Transmitter and ignored by the Receiver. This Message
must be sent automatically by the Downstream Port (of a Root Complex or a
Switch) when one of the following events occurs:
9191
9192
r
9991
10003
The component on the other side of the Link (with Endpoint,
Switch, or Bridge Functions) that receives Set_Slot_Power_Limit Message
must copy the values in the data payload into the Device Capabilities
register associated with the component's Upstream Port. PCI Express
components that are targeted exclusively for integration on the system
planar (e.g., system board) as well as components that are targeted for
integration on an adapter where power consumption of the entire adapteris
133
below the lowest power limit specified for the adapter form factor (as
defined in the corresponding form factor specification) are permitted to
hardwire the value of all 0's in the Slot Power Limit Scale and Slot
Power Limit Value fields of the Device Capabilities register, and are not
required to copy the Set_Slot_Power_Limit Message payload into that
register.
10004
The component on the other side of the Link (with Endpoint,
Switch, or Bridge Functions) that receives Set_Slot_Power_Limit Message
must copy the values in the data payload into the Device Capabilities
register associated with the component's Upstream Port. PCI Express
components that are targeted exclusively for integration on the system
planar (e.g., system board) as well as components that are targeted for
integration on an adapter where power consumption of the entire adapter
is below the lowest power limit specified for the adapter form factor (as
defined in the corresponding form factor specification) are permitted to
hardwire the value of all 0's in the Slot Power Limit Scale and Slot
Power Limit Value fields of the Device Capabilities register, and are not
required to copy the Set_Slot_Power_Limit Message payload into that
register.
9196
The component on the other side of the Link (with Endpoint,
Switch, or Bridge Functions) that receives Set_Slot_Power_Limit
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs. Message
must copy the values in the data payload into the Device Capabilities
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
register associated with the component's Upstream Port. PCI Express
10004
components that are targeted exclusively for integration on the system
planar (e.g., system board) as well as components that are targeted for
integration on an adapter where power consumption of the entire adapteris
below the lowest power limit specified for the adapter form factor (as
defined in the corresponding form factor specification) are permitted to
hardwire the value of all 0's in the Slot Power Limit Scale and Slot
Power Limit Value fields of the Device Capabilities register, and are not
required to copy the Set_Slot_Power_Limit Message payload into that
register.
9197
10005
9198
9199
10006
For more details on Power Limit control mechanism see
Section 6.9 Slot Power Limit Control .
10007
9200
10008
9201
10009
9202
10010
9203
2.2.8.6 Vendor_Defined Messages
9205
9211
9212
9215
10015
The Vendor_Defined Messages allow expansion of PCI Express
messaging capabilities, either as a general extension to the PCI Express
Specification or a vendor-specific extension. This section defines the
rules associated with these Messages generically.
10016
The Vendor_Defined Messages (see Table 2-24 Vendor_Defined
Messages ) use the header format shown in Figure 2-25 Header for VendorDefined Messages .
The Requester ID is implementation specific. It is
strongly recommended that the Requester ID field contain the value
associated with the Requester. [Footnote: ACS Source Validation (see
Section 6.12.1.1 ACS Downstream Ports ) checks the Requester ID on all
Requests, including Vendor_Defined Messages. This validation depends on
the Requester ID properly identifying the Requester.]
If the Route by ID routing is used, bytes 8 and 9 form
a 16-bit field for the destination ID
otherwise these bytes are Reserved.
9213
9214
2.2.8.6 Vendor_Defined Messages
10014
The Vendor_Defined Messages allow expansion of PCI Express
messaging capabilities, either as a general extension to the PCI Express
Specification or a vendor-specific extension. This section defines the
rules associated with these Messages generically.
9208
9210
10012
10013
9206
9209
For more details on Power Limit control mechanism see
Section 6.9 Slot Power Limit Control .
10011
9204
9207
The component on the other side of the Link (with Endpoint,
Switch, or Bridge Functions) that receives Set_Slot_Power_Limit Message
must copy the values in the data payload into the Device Capabilities
register associated with the component's Upstream Port. PCI Express
components that are targeted exclusively for integration on the system
planar (e.g., system board) as well as components that are targeted for
integration on an adapter where power consumption of the entire adapter
is below the lowest power limit specified for the adapter form factor (as
defined in the corresponding form factor specification) are permitted to
hardwire the value of all 0's in the Slot Power Limit Scale and Slot
Power Limit Value fields of the Device Capabilities register, and are not
required to copy the Set_Slot_Power_Limit Message payload into that
register.
10017
10018
10019
10020
The Vendor_Defined Messages (see Table 2-25 Vendor_Defined
Messages ) use the header format shown in Figure 2-28 Header for VendorDefined Messages .
The Requester ID is implementation specific. It is
strongly recommended that the Requester ID field contain the value
associated with the Requester. [Footnote: ACS Source Validation (see
Section 6.12.1.1 ACS Downstream Ports ) checks the Requester ID on all
Requests, including Vendor_Defined Messages. This validation depends on
the Requester ID properly identifying the Requester.]
If the Route by ID routing is used, bytes 8 and 9 form
a 16-bit field for the destination ID
otherwise these bytes are Reserved.
10021
Bytes 10 and 11 form a 16-bit field for the Vendor ID,
as defined by PCI-SIG®, of the vendor defining the Message.
Bytes 12 through 15 are available for vendor
definition.
10022
10023
9216
10024
9217
10025
9218
10026
9219
9220
10027
Table 2-24 Vendor_Defined Messages
9221
9222
Page 134
10028
Table 2-25 Vendor_Defined Messages
10029
Name
9223
9224
Bytes 10 and 11 form a 16-bit field for the Vendor ID,
as defined by PCI-SIG®, of the vendor defining the Message.
Bytes 12 through 15 are available for vendor
definition.
10030
Name
10031
Code[7:0] (b)
10032
Code[7:0] (b)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9224
Code[7:0] (b)
9225
10032
Code[7:0] (b)
10033
9226
Routing r[2:0] (b)
9227
10034
Routing r[2:0] (b)
10035
9228
Support
9229
10036
Support
10037
9230
Description/Comments
10038
Description/Comments
9258
0111 1111
10066
0111 1111
9259
10067
9260
000, 010, 011, 100
9261
10068
000, 010, 011, 100
10069
9262
See Note 1.
9263
10070
See Note 1.
10071
9264
Silently discarded by Completer if not
10072
implemented.
Silently discarded by Completer if not
implemented.
9265
10073
9266
10074
9267
10075
9268
9269
Note 1: Transmission by Endpoint/Root Complex/
Bridge is implementation specific. Switches must forward received
Messages using Routing r[2:0] field values of 000b, 010b, and 011b.
10076
9270
10077
9271
10078
9272
10079
9273
10080
9274
10081
9275
10082
9276
10083
9277
10084
10085
9278
10087
Figure 2-25 Header for Vendor-Defined Messages
10088
A data payload may be included with either type of
Vendor_Defined Message (TLP type is Msg if no data payload is included or
MsgD if a data payload is included).
10089
For both types of Vendor_Defined Messages, the Attr[1:0]
and Attr[2] fields are not Reserved.
Messages defined by different vendors or by PCI-SIG are
distinguished by the value in the Vendor ID field.
The further differentiation of Messages defined by a
particular vendor is beyond the scope of this document.
Support for Messages defined by a particular vendor is
implementation specific, and beyond the scope of this document.
9281
9282
9283
9284
9285
9286
9287
A data payload may be included with either type of
Vendor_Defined Message (TLP type is Msg if no data payload is included or
MsgD if a data payload is included)
For both types of Vendor_Defined Messages, the Attr[1:0]
and Attr[2] fields are not Reserved.
Messages defined by different vendors or by PCI-SIG are
distinguished by the value in the Vendor ID field.
The further differentiation of Messages defined by a
particular vendor is beyond the scope of this document.
Support for Messages defined by a particular vendor is
implementation specific, and beyond the scope of this document.
9288
9289
9290
Page
Figure 2-28 Header for Vendor-Defined Messages
10086
9279
9280
Note 1: Transmission by Endpoint/Root Complex/
Bridge is implementation specific. Switches must forward received
Messages using Routing r[2:0] field values of 000b, 010b, and 011b.
10090
10091
10092
10093
Completers silently discard Vendor_Defined Type 1 Messages
which they are not designed to receive - this is not an error condition.
Completers handle the receipt of an unsupported
Vendor_Defined Type 0 Message as an Unsupported Request, and the error is
reported according to Section 6.2 Error Signaling and Logging .
135
10094
10095
Completers silently discard Vendor_Defined Type 1 Messages
that they are not designed to receive - this is not an error condition.
Completers handle the receipt of an unsupported
Vendor_Defined Type 0 Message as an Unsupported Request, and the error is
reported according to Section 6.2 Error Signaling and Logging .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9290
Completers handle the receipt of an unsupported
Vendor_Defined Type 0 Message as an Unsupported Request, and the error is
reported according to Section 6.2 Error Signaling and Logging .
9291
10097
PCI Express to PCI/PCI-X Bridge Specification, Revision 1.0
defines additional requirements for Vendor_Defined Messages that are
designed to be interoperable with PCI-X Device ID Messages. This includes
restrictions on the contents of the Tag[7:0] field and the Length[9:0]
field as well as specific use of Bytes 12 through 15 of the message
header. Vendor_Defined Messages intended for use solely within a PCI
Express environment (i.e., not intended to address targets behind a PCI
Express to PCI/PCI-X Bridge) are not subject to the additional rules.
Refer to PCI Express to PCI/PCI-X Bridge Specification, Revision 1.0 for
details. Refer to Section 2.2.6.2 Transaction Descriptor - Transaction ID
Field for considerations regarding 10-Bit Tag capability.
10098
9294
10099
9295
10100
9296
2.2.8.6.1 PCI-SIG-Defined VDMs
9298
9308
9309
PCI-SIG-Defined VDMs are Vendor-Defined Type 1 Messages
that use the PCI-SIG® Vendor ID (0001h). As a Vendor-Defined Type 1
Message, each is silently discarded by a Completer if the Completer does
not implement it.
10107
Beyond the rules for other Vendor-Defined Type 1
Messages, the following rules apply to the formation of the PCI-SIGDefined VDMs:
9304
9307
10105
10106
9302
9306
2.2.8.6.1 PCI-SIG-Defined VDMs
10104
PCI-SIG-Defined VDMs are Vendor-Defined Type 1 Messages
that use the PCI-SIG® Vendor ID (0001h). As a Vendor-Defined Type 1
Message, each is silently discarded by a Completer if the Completer does
not implement it.
9301
9305
10102
10103
9299
9303
[PCIe-to-PCI-PCI-X-Bridge-1.0] defines additional
requirements for Vendor_Defined Messages that are designed to be
interoperable with PCI-X Device ID Messages. This includes restrictions
on the contents of the Tag[7:0] field and the Length[9:0] field as well
as specific use of Bytes 12 through 15 of the message header.
Vendor_Defined Messages intended for use solely within a PCI Express
environment (i.e., not intended to address targets behind a PCI Express
to PCI/PCI-X Bridge) are not subject to the additional rules. Refer to
[PCIe-to-PCI-PCI-X-Bridge-1.0] for details. Refer to Section 2.2.6.2
Transaction Descriptor - Transaction ID Field for considerations
regarding 10-Bit Tag capability.
10101
9297
9300
Completers handle the receipt of an unsupported
Vendor_Defined Type 0 Message as an Unsupported Request, and the error is
reported according to Section 6.2 Error Signaling and Logging .
10096
9292
9293
10095
10108
Beyond the rules for other Vendor-Defined Type 1
Messages, the following rules apply to the formation of the PCI-SIGDefined VDMs:
10109
PCI-SIG-Defined VDMs use the Header format shown in Figure
2-26 Header for PCI-SIG-Defined VDMs .
The Requester ID field must contain the value associated
with the Requester.
The Message Code must be 01111111b.
The Vendor ID must be 0001h, which is assigned to the
PCI-SIG.
The Subtype field distinguishes the specific PCI-SIGDefined VDMs. See Appendix F Message Code Usage for a list of PCI-SIGDefined VDMs.
10110
10111
10112
10113
10114
9310
10115
9311
10116
9312
10117
9313
10118
9314
10119
9315
9316
Figure 2-26 Header for PCI-SIG-Defined VDMs
9317
10120
9318
10121
Page 136
PCI-SIG-Defined VDMs use the Header format shown in Figure
2-29 Header for PCI-SIG-Defined VDMs .
The Requester ID field must contain the value associated
with the Requester.
The Message Code must be 01111111b.
The Vendor ID must be 0001h, which is assigned to the
PCI-SIG.
The Subtype field distinguishes the specific PCI-SIGDefined VDMs. See Appendix F Message Code Usage for a list of PCI-SIGDefined VDMs.
Figure 2-29 Header for PCI-SIG-Defined VDMs
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9318
10121
9319
10122
9320
10123
9321
9322
10124
2.2.8.6.2 LN Messages
9323
10127
LN protocol (see Section 6.21 Lightweight Notification
(LN) Protocol defines LN Messages, which are PCI-SIG-Defined VDMs. The
payload of each Message generally contains the 64-bit Address of a
registered cacheline that has been updated or evicted. The single 64-bit
address format is used both with 64- and 32-bit addresses. Since each LN
Message is a Vendor-Defined Type 1 Message, a Completer that receives a
properly formed LN Message is required to silently discard it if the
Completer doesn't recognize the Message.
9326
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
Page
10134
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of LN Messages:
10135
9333
9336
An LN Message can be directed to a single Endpoint using
ID-based routing, or broadcast to all devices below a given Root Port.
Whether a broadcast LN Message is sent to all Root Ports in the RC is
implementation specific.
10133
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of LN Messages:
9332
9335
10131
10132
9330
9334
LN protocol (see Section 6.21 Lightweight Notification
(LN) Protocol defines LN Messages, which are PCI-SIG-Defined VDMs. The
payload of each Message generally contains the 64-bit Address of a
registered cacheline that has been updated or evicted. The single 64-bit
address format is used both with 64- and 32-bit addresses. Since each LN
Message is a Vendor-Defined Type 1 Message, a Completer that receives a
properly formed LN Message is required to silently discard it if the
Completer doesn't recognize the Message.
10130
An LN Message can be directed to a single Endpoint using
ID-based routing, or broadcast to all devices below a given Root Port.
Whether a broadcast LN Message is sent to all Root Ports in the RC is
implementation specific.
9329
9331
10128
10129
9327
9328
2.2.8.6.2 LN Messages
10126
9324
9325
10125
10136
Table 2-26 LN Messages and Figure 2-27 LN Message
define the LN Messages.
Each Message must include a 2-DW data payload.
The Fmt field must be 011b (4 DW Header, with data).
The TLP Type must be MsgD.
The Length field must be 2.
The TC[2:0] field must be 000b.
Attr[2], the ID-Based Ordering (IDO) bit, is not
Reserved.
Attr[1], the Relaxed Ordering (RO) bit, is not Reserved.
Attr[0], the No Snoop bit, is Reserved.
The LN bit is Reserved (in contrast, the LN bit must be
Set for LN Reads, LN Writes, and LN Completions).
The Tag field is Reserved.
If the LN Message is the broadcast version, the
Destination ID field is Reserved.
The Subtype field must be 00h.
If the cacheline size in effect for the system is 128
bytes, bit 6 in the Cacheline Address must be Clear. For a Lightweight
Notification Requester (LNR) receiving an LN Message, if the LNR CLS bit
in the LNR Control register is Set, configuring the LNR for 128-byte
cachelines, the LNR must ignore the value of bit 6 in the Cacheline
Address.
The Notification Reason (NR) field is encoded as shown in
Table 2-25 Notification Reason (NR) Field Encodings , indicating the
specific reason that the LN Message was sent. These encodings apply to
137
both the directed and broadcast versions of LN Messages.
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
Table 2-27 LN Messages and Figure 2-30 LN Message
define the LN Messages.
Each Message must include a 2-DW data payload.
The Fmt field must be 011b (4 DW Header, with data).
The TLP Type must be MsgD.
The Length field must be 2.
The TC[2:0] field must be 000b.
Attr[2], the ID-Based Ordering (IDO) bit, is not
Reserved.
Attr[1], the Relaxed Ordering (RO) bit, is not Reserved.
Attr[0], the No Snoop bit, is Reserved.
The LN bit is Reserved (in contrast, the LN bit must be
Set for LN Reads, LN Writes, and LN Completions).
The Tag field is Reserved.
If the LN Message is the broadcast version, the
Destination ID field is Reserved.
The Subtype field must be 00h.
If the cache line size in effect for the system is 128
bytes, bit 6 in the Cacheline Address must be Clear. For a Lightweight
Notification Requester (LNR) receiving an LN Message, if the LNR CLS bit
in the LNR Control register is Set, configuring the LNR for 128-byte
cachelines, the LNR must ignore the value of bit 6 in the Cacheline
Address.
The Notification Reason (NR) field is encoded as shown in
Table 2-26 Notification Reason (NR) Field Encodings , indicating the
specific reason that the LN Message was sent. These encodings apply to
both the directed and broadcast versions of LN Messages.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9348
The Notification Reason (NR) field is encoded as shown in
Table 2-25 Notification Reason (NR) Field Encodings , indicating the
specific reason that the LN Message was sent. These encodings apply to
both the directed and broadcast versions of LN Messages.
10151
9349
10152
9350
10153
9351
The Notification Reason (NR) field is encoded as shown in
Table 2-26 Notification Reason (NR) Field Encodings , indicating the
specific reason that the LN Message was sent. These encodings apply to
both the directed and broadcast versions of LN Messages.
10154
9352
Table 2-25 Notification Reason (NR) Field Encodings
9353
10155
Table 2-26 Notification Reason (NR) Field Encodings
10156
9354
NR Coding (b)
9355
10157
NR Coding (b)
10158
9356
Description
10159
9357
10160
9358
10161
9359
Description
10162
9360
00
9361
10163
00
10164
9362
LN Message was sent due to a cacheline update.
9377
10165
LN Message was sent due to a cacheline update.
10180
9378
11
9379
10181
11
10182
9380
Reserved
10183
9381
10184
9382
10185
9383
10186
9384
10187
9385
10188
9386
Reserved
10189
9387
Table 2-26 LN Messages
9388
10190
Table 2-27 LN Messages
10191
9389
Name
9390
10192
Name
10193
9391
Code[7:0] (b)
9392
10194
Code[7:0] (b)
10195
9393
Routing r[2:0] (b)
9394
10196
Routing r[2:0] (b)
10197
9395
Support
9396
10198
Support
10199
9397
Description/Comments
10200
Description/Comments
9439
tr
10242
tr
9440
10243
9441
r
9442
10244
r
10245
9443
RC broadcasts to all devices under a given Root
10246
Port.
RC broadcasts to all devices under a given Root
Port.
9444
10247
9445
10248
9446
10249
9447
10250
9448
10251
9449
The format of the LN Message is shown in Figure 2-27 LN
Message below.
Page 138
10252
The format of the LN Message is shown in Figure 2-30 LN
Message below.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9449
The format of the LN Message is shown in Figure 2-27 LN
10252
Message below.
The format of the LN Message is shown in Figure 2-30 LN
Message below.
9450
9451
9452
10253
9453
10254
9454
10255
9455
10256
9456
Figure 2-27 LN Message
10257
9457
10258
9458
10259
9459
10260
9460
10261
9461
10262
9462
2.2.8.6.3 Device Readiness Status (DRS) Message
9463
9474
9475
9476
9477
10272
10273
10274
10275
10276
10277
10278
Table 2-28 DRS Message and Figure 2-31 DRS Message
illustrate and define the DRS Message.
The TLP Type must be Msg.
The TC[2:0] field must be 000b.
The Attr[2:0] field is Reserved.
The Tag field is Reserved.
The Subtype field must be 08h.
The Message Routing field must be set to 100b - Local Terminate at Receiver.
10279
9479
10280
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
9481
9482
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of DRS Messages:
10271
Table 2-27 Table 2-27: DRS Message and Figure 2-28 DRS
Message illustrate and define the DRS Message.
The TLP Type must be Msg.
The TC[2:0] field must be 000b.
The Attr[2:0] field is Reserved.
The Tag field is Reserved.
The Subtype field must be 08h.
The Message Routing field must be set to 100b - Local Terminate at Receiver.
9478
9480
10269
10270
9470
9473
The Device Readiness Status (DRS) protocol (see Section
6.23.1 Device Readiness Status (DRS) ) uses the PCI-SIG-Defined VDM
mechanism (see Section 2.2.8.6.1 PCI-SIG-Defined VDMs ). The DRS Message
is a PCI-SIG-Defined VDM (Vendor-Defined Type 1 Message) with no
payload.
10268
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of DRS Messages:
9469
9472
10266
10267
9467
9471
2.2.8.6.3 Device Readiness Status (DRS) Message
10265
The Device Readiness Status (DRS) protocol (see Section
6.23.1 Device Readiness Status (DRS) ) uses the PCI-SIG-Defined VDM
mechanism (see Section 2.2.8.6.1 PCI-SIG-Defined VDMs ). The DRS Message
is a PCI-SIG-Defined VDM (Vendor-Defined Type 1 Message) with no
payload.
9466
9468
10263
10264
9464
9465
Figure 2-30 LN Message
10281
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
10282
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
10283
9483
10284
9484
10285
9485
9486
Page 139
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
10286
Table 2-27 Table 2-27: DRS Message
10287
Table 2-28 DRS Message
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9486
Table 2-27 Table 2-27: DRS Message
9487
10287
Table 2-28 DRS Message
10288
9488
Name
9489
10289
Name
10290
9490
Code[7:0] (b)
9491
10291
Code[7:0] (b)
10292
9492
Routing r[2:0] (b)
9493
10293
Routing r[2:0] (b)
10294
9494
Support
9495
10295
Support
10296
9496
Description/Comments
10297
Description/Comments
9518
t
10319
t
9519
10320
9520
tr
9521
10321
tr
10322
9522
Device Readiness Status
10323
9523
10324
9524
10325
9525
10326
9526
10327
9527
Device Readiness Status
10328
9528
The format of the DRS Message is shown in Figure 2-28 DRS
10329
Message below:
The format of the DRS Message is shown in Figure 2-31 DRS
Message below:
9529
10330
9530
10331
9531
10332
9532
10333
10334
9533
9534
10336
9535
Figure 2-28 DRS Message
9536
10337
9537
10338
9538
10339
9539
10340
9540
2.2.8.6.4 Function Readiness Status (FRS) Message
9542
10341
9543
10342
The Function Readiness Status (FRS) protocol (see Section
6.23.2 Function Readiness Status (FRS) ) uses the PCI-SIG-Defined VDM
mechanism (see Section 2.2.8.6.1 PCI-SIG-Defined VDMs ). The FRS message
is a PCI-SIG-Defined VDM (Vendor-Defined Type 1 Message) with no
payload.
9545
The Function Readiness Status (FRS) protocol (see Section
6.23.2 Function Readiness Status (FRS) ) uses the PCI-SIG-Defined VDM
mechanism (see Section 2.2.8.6.1 PCI-SIG-Defined VDMs ). The FRS message
is a PCI-SIG-Defined VDM (Vendor-Defined Type 1 Message) with no
payload.
10345
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of FRS Messages:
9548
10346
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of FRS Messages:
10347
9549
9550
10343
10344
9546
9547
2.2.8.6.4 Function Readiness Status Message (FRS
Message)
9541
9544
Figure 2-31 DRS Message
10335
10348
Table 2-28 FRS Message and Figure 2-29 FRS Message
illustrate and define the FRS Message.
Page 140
10349
Table 2-29 FRS Message and Figure 2-32 FRS Message
illustrate and define the FRS Message.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9550
Table 2-28 FRS Message and Figure 2-29 FRS Message
illustrate and define the FRS Message.
9551
10349
10350
9552
The TLP Type must be Msg.
The TC[2:0] field must be 000b.
The Attr[2:0] field is Reserved.
The Tag field is Reserved.
The Subtype field must be 09h.
The FRS Reason[3:0] field indicates why the FRS Message
9553
9554
9555
9556
9557
10351
10353
10354
10355
10356
was generated:
9558
10357
9559
0001b: DRS Message Received
9560
0001b: DRS Message Received
10381
The Message Routing field must be Cleared to 000b Routed to Root Complex
9584
10382
The Message Routing field must be Cleared to 000b Routed to Root Complex
10383
9585
10384
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
9587
9588
10358
10359
9582
9586
The TLP Type must be Msg.
The TC[2:0] field must be 000b.
The Attr[2:0] field is Reserved.
The Tag field is Reserved.
The Subtype field must be 09h.
The FRS Reason[3:0] field indicates why the FRS Message
10352
was generated:
9583
Table 2-29 FRS Message and Figure 2-32 FRS Message
illustrate and define the FRS Message.
10385
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
10386
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
10387
9589
10388
9590
10389
9591
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
10390
9592
Table 2-28 FRS Message
9593
10391
Table 2-29 FRS Message
10392
9594
Name
9595
10393
Name
10394
9596
Code[7:0] (b)
9597
10395
Code[7:0] (b)
10396
9598
Routing r[2:0] (b)
9599
10397
Routing r[2:0] (b)
10398
9600
Support
9601
10399
Support
10400
9602
Description/Comments
10401
Description/Comments
9624
t
10423
t
9625
10424
9626
tr
9627
10425
tr
10426
9628
Function Readiness Status
10427
9629
10428
9630
10429
9631
10430
9632
10431
9633
Function Readiness Status
10432
9634
The format of the FRS Message is shown in Figure 2-29 FRS
Message below:
Page 141
10433
The format of the FRS Message is shown in Figure 2-32 FRS
Message below:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9634
The format of the FRS Message is shown in Figure 2-29 FRS
10433
Message below:
The format of the FRS Message is shown in Figure 2-32 FRS
Message below:
9635
9636
10434
9637
10435
9638
10436
9639
10437
9640
10438
9641
9642
10439
9643
10440
9644
10441
9645
10442
9646
10443
9647
2.2.8.6.5 Hierarchy ID Message
9648
9659
9660
9661
9662
9663
9664
10454
10455
10456
10457
10458
10459
10460
10461
Table 2-30 Hierarchy ID Message and Figure 2-33
Hierarchy ID Message illustrate and define the Hierarchy ID Message.
The TLP Type must be MsgD.
Each Message must include a 4-DWORD data payload.
The Length field must be 4.
The TC[2:0] field must be 000b.
The Attr[2:0] field is Reserved.
The Tag field is Reserved.
The Subtype field is 01h.
The Message Routing field must be 011b - Broadcast from
Root Complex.
10463
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
9668
10464
Receivers may optionally check for violations of these
rules (but must not check reserved bits). These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If a Receiver
implementing these checks determines that a TLP violates these rules, the
TLP is a Malformed TLP.
10465
9669
10466
1. If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
9671
If checked, this is a reported error associated with the
Receiving Port (see Section 6.2 Error Signaling and Logging ).
10467
9672
9673
10453
10462
9666
9670
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of Hierarchy ID Messages:
10452
Table 2-29 Hierarchy ID Message and Figure 2-30
Hierarchy ID Message illustrate and define the Hierarchy ID Message.
The TLP Type must be MsgD.
Each Message must include a 4-DWORD data payload.
The Length field must be 4.
The TC[2:0] field must be 000b.
The Attr[2:0] field is Reserved.
The Tag field is Reserved.
The Subtype field is 01h.
The Message Routing field must be 011b - Broadcast from
Root Complex.
9665
9667
10450
10451
9655
9658
Hierarchy ID uses the PCI-SIG-Defined VDM mechanism (see
Section 2.2.8.6.1 PCI-SIG-Defined VDMs ). The Hierarchy ID Message is a
PCI-SIG-Defined VDM (Vendor-Defined Type 1 Message) with payload (MsgD).
10449
Beyond the rules for other PCI-SIG-Defined VDMs, the
following rules apply to the formation of Hierarchy ID Messages:
9654
9657
10447
10448
9652
9656
2.2.8.6.5 Hierarchy ID Message
10446
Hierarchy ID uses the PCI-SIG-Defined VDM mechanism (see
Section 2.2.8.6.1 PCI-SIG-Defined VDMs ). The Hierarchy ID Message is a
PCI-SIG-Defined VDM (Vendor-Defined Type 1 Message) with payload (MsgD).
9651
9653
10444
10445
9649
9650
Figure 2-32 FRS Message
Figure 2-29 FRS Message
10468
The payload of each Hierarchy ID Message contains the
lower 128-bits of the System GUID.
Page 142
10469
The payload of each Hierarchy ID Message contains the
lower 128-bits of the System GUID.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9673
The payload of each Hierarchy ID Message contains the
lower 128-bits of the System GUID.
9674
The payload of each Hierarchy ID Message contains the
lower 128-bits of the System GUID.
10470
9675
9676
10469
10471
For details of the Hierarchy ID, GUID Authority ID, and
System GUID fields see Section 6.26 Hierarchy ID Message .
10472
9677
10473
9678
10474
9679
For details of the Hierarchy ID, GUID Authority ID, and
System GUID fields see Section 6.26 Hierarchy ID Message .
10475
9680
Table 2-29 Hierarchy ID Message
9681
10476
Table 2-30 Hierarchy ID Message
10477
9682
Name
9683
10478
Name
10479
9684
Code[7:0] (b)
9685
10480
Code[7:0] (b)
10481
9686
Routing r[2:0] (b)
9687
10482
Routing r[2:0] (b)
10483
9688
Support
9689
10484
Support
10485
9690
Description/Comments
10486
Description/Comments
9712
r
10508
r
9713
10509
9714
tr
9715
10510
9716
Hierarchy ID
10512
9717
10513
9718
10514
9719
10515
9720
10516
9721
9722
Hierarchy ID
10517
The format of the Hierarchy ID Message is shown in Figure
2-30 Hierarchy ID Message below:
10518
9723
10519
9724
10520
9725
10521
9726
The format of the Hierarchy ID Message is shown in Figure
2-33 Hierarchy ID Message below:
10522
9727
Figure 2-30 Hierarchy ID Message
10523
9728
10524
9729
10525
9730
10526
9731
10527
9732
10528
9733
Figure 2-33 Hierarchy ID Message
10529
9734
2.2.8.7 Ignored Messages
9735
10530
2.2.8.7 Ignored Messages
10531
9736
9737
tr
10511
10532
The messages listed in were previously used for a mechanism
(Hot-Plug Signaling) that is no longer supported. Transmitters are
strongly encouraged not to transmit these messages, but if message
transmission is implemented, it must conform to the requirements of the
1.0a version of this specification.
Page 143
10533
The messages listed in were previously used for a mechanism
(Hot-Plug Signaling) that is no longer supported. Transmitters are
strongly encouraged not to transmit these messages, but if message
transmission is implemented, it must conform to the requirements of the
1.0a version of this specification.
9737
The messages listed in were previously used for a mechanism
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs. are
(Hot-Plug Signaling) that is no longer supported. Transmitters
strongly encouraged not to transmit these messages, but if message
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
transmission is implemented, it must conform to the requirements of the
10533
1.0a version of this specification.
9738
10534
9739
9740
10535
Receivers are strongly encouraged to ignore receipt of
these messages, but are allowed to process these messages in conformance
with the requirements of 1.0a version of this specification.
9741
9746
10539
10541
10542
10543
9748
10544
9749
Table 2-30 Ignored Messages
9751
10546
Name
9753
10548
Name
10549
9754
Code[7:0] (b)
9755
10550
Code[7:0] (b)
10551
9756
Routing r[2:0] (b)
9757
10552
Routing r[2:0] (b)
10553
9758
Support
9759
10554
Support
10555
9760
Description/Comments
10556
9830
10626
9831
10627
9832
10628
9833
Description/Comments
10629
9834
2.2.8.8 Latency Tolerance Reporting (LTR) Message
9835
10630
2.2.8.8 Latency Tolerance Reporting (LTR) Message
10631
9836
10632
The LTR Message is optionally used to report device
behaviors regarding its tolerance of Read/Write service latencies. Refer
to Section 6.18 Latency Tolerance Reporting (LTR) Mechanism for details
on LTR. The following rules apply to the formation of the LTR Message:
9838
10633
The LTR Message is optionally used to report device
behaviors regarding its tolerance of Read/Write service latencies. Refer
to Section 6.18 Latency Tolerance Reporting (LTR) Mechanism for details
on LTR. The following rules apply to the formation of the LTR Message:
10634
9839
10635
9840
Table 2-31 LTR Message defines the LTR Message.
The LTR Message does not include a data payload (the TLP
10636
The Length field is Reserved.
The LTR Message must use the default Traffic Class
designator (TC0). Receivers that implement LTR support must check for
violations of this rule. If a Receiver determines that a TLP violates
this rule, it must handle the TLP as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
10638
9841
Page 144
Table 2-32 LTR Message defines the LTR Message.
The LTR Message does not include a data payload (the TLP
10637
Type is Msg).
9844
Table 2-31 Ignored Messages
10547
9752
9843
The Physical and Data Link Layers must handle these messages
identical to handling any other TLP.
The Transaction Layer must account for flow control credit
but take no other action in response to these messages.
10545
9750
9842
Ignored messages listed in Table 2-31 Ignored Messages are
handled by the Receiver as follows:
10540
The Physical and Data Link Layers must handle these messages
identical to handling any other TLP.
The Transaction Layer must account for flow control credit
but take no other action in response to these messages.
9747
9837
Receivers are strongly encouraged to ignore receipt of
these messages, but are allowed to process these messages in conformance
with the requirements of 1.0a version of this specification.
10538
Ignored messages listed in Table 2-30 Ignored Messages are
handled by the Receiver as follows:
9744
9745
10536
10537
9742
9743
The messages listed in were previously used for a mechanism
(Hot-Plug Signaling) that is no longer supported. Transmitters are
strongly encouraged not to transmit these messages, but if message
transmission is implemented, it must conform to the requirements of the
1.0a version of this specification.
Type is Msg).
10639
10640
The Length field is Reserved.
The LTR Message must use the default Traffic Class
designator (TC0). Receivers that implement LTR support must check for
violations of this rule. If a Receiver determines that a TLP violates
this rule, it must handle the TLP as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9844
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
10640
9845
10641
9846
10642
9847
10643
9848
10644
9849
Table 2-31 LTR Message
9850
10645
Table 2-32 LTR Message
10646
9851
Name
9852
10647
Name
10648
9853
Code[7:0] (b)
9854
10649
Code[7:0] (b)
10650
9855
Routing r[2:0] (b)
9856
9857
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
10651
Routing r[2:0] (b)
10652
Support [Footnote: Support for LTR is optional.
Functions that support LTR must implement the reporting and enable
mechanisms described in Chapter 7 Software Initialization and
Configuration .]
9858
9859
10653
10654
Description/Comments
10655
9860
10656
9861
10657
9862
9863
Description/Comments
10658
RC
9864
9865
Support1
10659
RC
10660
Ep
9866
10661
Ep
10662
9867
Sw
10663
Sw
9879
r
10675
r
9880
9881
10676
t
9882
9883
t
10678
tr
9884
9885
10677
10679
tr
10680
Latency Tolerance Reporting
10681
9886
10682
9887
10683
9888
10684
10685
10686
Latency Tolerance Reporting
Notes:
Support for LTR is optional. Functions that support
LTR must implement the reporting and enable mechanisms described in
Chapter 7 Software Initialization and Configuration .
10687
9889
10688
9890
10689
9891
10690
9892
10691
9893
10692
9894
9895
10693
Figure 2-31 LTR Message
10694
10695
Page 145
Figure 2-34 LTR Message
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10695
9896
10696
9897
10697
9898
10698
9899
10699
9900
10700
9901
2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message
9902
10701
10703
The OBFF Message is optionally used to report platform
central resource states to Endpoints. This mechanism is described in
detail in Section 6.19 Optimized Buffer Flush/Fill (OBFF) Mechanism .
9905
10704
10706
9907
The following rules apply to the formation of the OBFF
10707
Message:
The following rules apply to the formation of the OBFF
Message:
9908
10708
9909
10709
9910
9911
Table 2-32 OBFF Message defines the OBFF Message.
The OBFF Message does not include a data payload (TLP Type
10710
The Length field is Reserved.
The Requester ID must be set to the Transmitting Port's
10712
9913
Table 2-33 OBFF Message defines the OBFF Message.
The OBFF Message does not include a data payload (TLP Type
10711
is Msg).
9912
is Msg).
The Length field is Reserved.
The Requester ID must be set to the Transmitting Port's
10713
ID.
ID.
The OBFF Message must use the default Traffic Class
designator (TC0). Receivers that implement OBFF support must check for
violations of this rule. If a Receiver determines that a TLP violates
this rule, it must handle the TLP as a Malformed TLP.
9915
9916
The OBFF Message is optionally used to report platform
central resource states to Endpoints. This mechanism is described in
detail in Section 6.19 Optimized Buffer Flush/Fill (OBFF) Mechanism .
10705
9906
9914
2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message
10702
9903
9904
Figure 2-34 LTR Message
10714
The OBFF Message must use the default Traffic Class
designator (TC0). Receivers that implement OBFF support must check for
violations of this rule. If a Receiver determines that a TLP violates
this rule, it must handle the TLP as a Malformed TLP.
10715
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
10716
9917
10717
9918
10718
9919
10719
9920
9921
10720
Table 2-32 OBFF Message
9922
9923
Name
Code[7:0] (b)
10723
Name
10725
Code[7:0] (b)
10726
Routing r[2:0] (b)
9928
9929
Table 2-33 OBFF Message
10724
9926
9927
10721
10722
9924
9925
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
10727
Routing r[2:0] (b)
10728
Support1
9930
10729
Support1
10730
9931
Description/Comments
10731
Description/Comments
9951
t
10751
t
9952
9953
10752
r
9954
9955
Page 146
10753
r
10754
tr
10755
tr
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9955
tr
9956
10755
9957
Optimized Buffer Flush/Fill
10757
9958
10758
9959
10759
9960
9961
tr
10756
Optimized Buffer Flush/Fill
10760
Note 1: Support for OBFF is optional. Functions
that support OBFF must implement the reporting and enable mechanisms
described in Chapter 7 Software Initialization and Configuration ,
Software Initialization and Configuration.
10761
10762
9962
9963
10763
9964
10764
9965
10765
9966
10766
9967
10767
9968
10768
9969
10769
9970
Notes:
Support for OBFF is optional. Functions that
support OBFF must implement the reporting and enable mechanisms described
in Chapter 7 Software Initialization and Configuration , Software
Initialization and Configuration.
10770
9971
Figure 2-32 OBFF Message
10771
9972
10772
9973
10773
9974
10774
9975
10775
9976
Figure 2-35 OBFF Message
10776
9977
2.2.8.10 Precision Time Measurement (PTM) Messages
9978
10777
2.2.8.10 Precision Time Measurement (PTM) Messages
10778
9979
10779
9980
Table 2-33 Precision Time Measurement Messages defines the
10780
PTM Messages.
Table 2-34 Precision Time Measurement Messages defines the
PTM Messages.
9981
9982
9983
q The PTM Request and PTM Response Messages must use a TLP
Type of Msg, and must not include a data payload. The Length field is
reserved.
9984
9985
9986
Figure 2-33 PTM Request/Response Message illustrates the
format of the PTM Request and Response Messages.
9987
9988
9989
10781
q The PTM ResponseD Message must use a TLP Type of MsgD,
and must include a 64 bit PTM Master Time field in bytes 8 through 15 of
the TLP header and a 1 DW data payload containing the 32 bit Propagation
Delay field.
9990
10782
10783
10784
9991
9992
The PTM Request and PTM Response Messages must use a TLP Type
of Msg, and must not include a data payload. The Length field is
reserved.
Figure 2-36 PTM Request/Response Message illustrates
the format of the PTM Request and Response Messages.
10785
Figure 2-34 PTM ResponseD Message (4 DW header and 1 DW
payload) illustrates the format of the PTM ResponseD Message.
Page 147
10786
The PTM ResponseD Message must use a TLP Type of MsgD, and
must include a 64 bit PTM Master Time field in bytes 8 through 15 of the
TLP header and a 1 DW data payload containing the 32 bit Propagation
Delay field.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
9992
Figure 2-34 PTM ResponseD Message (4 DW header and 1 DW
9993
10786
payload) illustrates the format of the PTM ResponseD Message.
Refer to section 6.22.3.2 for details regarding how to
populate the PTM ResponseD Message.
9994
10787
10788
10789
9995
q The Requester ID must be set to the Transmitting Port's
10791
ID.
The Requester ID must be set to the Transmitting Port's
ID.
9997
10792
9998
q A PTM dialog is defined as a matched pair of messages
consisting of a PTM Request and the corresponding PTM Response or PTM
ResponseD message.
10793
10000
10001
10002
Figure 2-37 PTM ResponseD Message (4 DW header and 1
DW payload) illustrates the format of the PTM ResponseD Message.
Refer to Section 6.22.3.2 PTM Responder Role for
details regarding how to populate the PTM ResponseD Message.
10790
9996
9999
The PTM ResponseD Message must use a TLP Type of MsgD, and
must include a 64 bit PTM Master Time field in bytes 8 through 15 of the
TLP header and a 1 DW data payload containing the 32 bit Propagation
Delay field.
A PTM dialog is defined as a matched pair of messages
consisting of a PTM Request and the corresponding PTM Response or PTM
ResponseD message.
The PTM Messages must use the default Traffic Class
designator (TC0). Receivers implementing PTM must check for violations of
this rule. If a Receiver determines that a TLP violates this rule, it
must handle the TLP as a Malformed TLP.
q The PTM Messages must use the default Traffic Class
designator (TC0). Receivers implementing PTM must check for violations of
this rule. If a Receiver determines that a TLP violates this rule, it
must handle the TLP as a Malformed TLP.
10003
10004
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging ).
10794
10005
10795
10006
10796
10007
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
10797
10008
Table 2-33 Precision Time Measurement Messages
10798
10799
10009
Table 2-34 Precision Time Measurement Messages
10800
10010
Name
10011
10801
Name
10802
10012
TLP Type
10013
10803
TLP Type
10804
10014
Code[7:0] (b)
10015
10805
Code[7:0] (b)
10806
10016
Routing r[2:0] (b)
10017
10807
Routing r[2:0] (b)
10808
10018
Support
10809
Support
10082
tr
10873
tr
10083
10874
10084
Completes current PTM dialog - carries timing
10875
information
10085
10876
10086
10877
10087
10878
10088
10879
10089
10880
10090
10881
10091
10882
Page 148
Completes current PTM dialog - carries timing
information
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10091
10882
10092
10883
Figure 2-36 PTM Request/Response Message
10093
10094
Figure 2-33 PTM Request/Response Message
10095
10884
10096
10885
10097
10886
10098
10887
10099
10888
10100
10889
10101
Figure 2-37 PTM ResponseD Message (4 DW header and 1 DW
payload)
10102
Figure 2-34 PTM ResponseD Message (4 DW header and 1 DW
payload)
10103
10890
10104
10891
10105
10892
10106
10893
10107
10894
10108
10895
10109
2.2.9 Completion Rules
10110
10898
All Read, Non-Posted Write, and AtomicOp Requests require
Completion. Completions include a Completion header that, for some types
of Completions, will be followed by some number of DW of data. The rules
for each of the fields of the Completion header are defined in the
following sections.
10113
10114
10115
10118
10119
10120
10123
10124
All Read, Non-Posted Write, and AtomicOp Requests require
Completion. Completions include a Completion header that, for some types
of Completions, will be followed by some number of DWs of data. The rules
for each of the fields of the Completion header are defined in the
following sections.
10901
10902
Completions route by ID, and use a 3 DW header.
Note that the routing ID fields correspond directly to the
Requester ID supplied with the corresponding Request. Thus for
Completions these fields will be referred to collectively as the
Requester ID instead of the distinct fields used generically for ID
routing.
10903
In addition to the header fields included in all TLPs and the
ID routing fields, Completions contain the following additional fields
(see Figure 2-35 Completion Header Format ):
Completer ID[15:0] - Identifies the Completer - described
in detail below
Completion Status[2:0] - Indicates the status for a
Completion (see Table 2-34 Completion Status Field Values )
Rules for determining the value in the Completion
Status[2:0] field are in Section 2.3.1 Request Handling Rules .
10121
10122
10899
10900
Completions route by ID, and use a 3 DW header.
Note that the routing ID fields correspond directly to the
Requester ID supplied with the corresponding Request. Thus for
Completions these fields will be referred to collectively as the
Requester ID instead of the distinct fields used generically for ID
routing.
10116
10117
2.2.9 Completion Rules
10897
10111
10112
10896
10904
10905
10906
10907
In addition to the header fields included in all TLPs and the
ID routing fields, Completions contain the following additional fields
(see Figure 2-38 Completion Header Format ):
Completer ID[15:0] - Identifies the Completer - described
in detail below
Completion Status[2:0] - Indicates the status for a
Completion (see Table 2-35 Completion Status Field Values )
Rules for determining the value in the Completion
Status[2:0] field are in Section 2.3.1 Request Handling Rules .
10908
BCM - Byte Count Modified - this bit must not be set by
PCI Express Completers, and may only be set by PCI-X completers
Byte Count[11:0] - The remaining Byte Count for Request
The Byte Count value is specified as a binary number,
with 0000 0000 0001b indicating 1 byte, 1111 1111 1111b indicating 4095
bytes, and 0000 0000 0000b indicating 4096 bytes.
Page 149
10909
10910
10911
BCM - Byte Count Modified - this bit must not be set by
PCI Express Completers, and may only be set by PCI-X completers
Byte Count[11:0] - The remaining Byte Count for Request
The Byte Count value is specified as a binary number,
with 0000 0000 0001b indicating 1 byte, 1111 1111 1111b indicating 4095
bytes, and 0000 0000 0000b indicating 4096 bytes.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
10124
The Byte Count value is specified as a binary number,
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
with 0000 0000 0001b indicating 1 byte, 1111 1111 1111b indicating 4095
10125
10126
10127
bytes, and 0000 0000 0000b indicating 4096 bytes.
For Memory Read Completions, Byte Count[11:0] is set
according to the rules in Section 2.3.1.1 Data Return for Read
Requests .
For AtomicOp Completions, the Byte Count value must
equal the associated AtomicOp operand size in bytes.
For all other types of Completions, the Byte Count
value must be 4.
10128
10129
10130
10131
10132
10133
10911
10912
10913
10914
The Byte Count value is specified as a binary number,
with 0000 0000 0001b indicating 1 byte, 1111 1111 1111b indicating 4095
bytes, and 0000 0000 0000b indicating 4096 bytes.
For Memory Read Completions, Byte Count[11:0] is set
according to the rules in Section 2.3.1.1 Data Return for Read
Requests .
For AtomicOp Completions, the Byte Count value must
equal the associated AtomicOp operand size in bytes.
For all other types of Completions, the Byte Count
value must be 4.
10915
Tag[9:0] - in combination with the Requester ID field,
corresponds to the Transaction ID
Lower Address[6:0] - lower byte address for starting byte
of Completion
For Memory Read Completions, the value in this field is
the byte address for the first enabled byte of data returned with the
Completion (see the rules in Section 2.3.1.1 Data Return for Read
Requests ).
For AtomicOp Completions, the Lower Address field is
Reserved.
This field is set to all 0's for all remaining types
of Completions. Receivers may optionally check for violations of this
rule. See Section 2.3.2 Completion Handling Rules , second bullet, for
details.
10916
10917
10918
10919
10920
10134
10921
10135
10922
10136
10923
10137
10924
10138
10925
10139
10926
10140
10927
Tag[9:0] - in combination with the Requester ID field,
corresponds to the Transaction ID
Lower Address[6:0] - lower byte address for starting byte
of Completion
For Memory Read Completions, the value in this field is
the byte address for the first enabled byte of data returned with the
Completion (see the rules in Section 2.3.1.1 Data Return for Read
Requests ).
For AtomicOp Completions, the Lower Address field is
Reserved.
This field is set to all 0's for all remaining types
of Completions. Receivers may optionally check for violations of this
rule. See Section 2.3.2 Completion Handling Rules , second bullet, for
details.
Figure 2-38 Completion Header Format
10141
10142
Figure 2-35 Completion Header Format
10143
10928
10144
10929
10145
10930
10146
10147
10931
Table 2-34 Completion Status Field Values
10148
10149
10150
Completion Status[2:0]
Field Value (b)
10934
10935
10937
10938
10154
10939
10155
10941
000
10942
Successful Completion (SC)
10943
10159
10944
10177
10962
10178
10963
Page 150
Completion Status
10940
000
10157
10158
Cpl. Status[2:0]
Field Value (b)
10936
Completion Status
10153
10156
Table 2-35 Completion Status Field Values
10933
10151
10152
10932
Successful Completion (SC)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10178
10963
10179
10964
10180
all others
10181
10965
10182
Reserved
10967
10183
10968
10184
10969
10185
10970
10186
10187
all others
10966
Reserved
10971
The Completer ID[15:0] is a 16-bit value that is unique for
every PCI Express Function within a Hierarchy (see Figure 2-36 (Non-ARI)
Completer ID and Figure 2-37 ARI Completer ID )
10972
The Completer ID[15:0] is a 16-bit value that is unique for
every PCI Express Function within a Hierarchy (see Figure 2-39 (Non-ARI)
Completer ID and Figure 2-40 ARI Completer ID )
10188
10189
10190
10191
10192
Figure 2-36 (Non-ARI) Completer ID
10193
10973
10194
10974
10195
10975
10196
10976
10977
10197
Figure 2-39 (Non-ARI) Completer ID
10978
10198
Issue 1
10199
10979
10200
10980
10201
Remove whitespace from artwork so it's centered in the
page.
10202
10981
10203
10982
10204
10983
Figure 2-40 ARI Completer ID
10205
10206
10207
10208
Figure 2-37 ARI Completer ID
10209
10984
10210
10211
10212
10213
Page
10985
Functions must capture the Bus and Device Numbers [Footnote:
With ARI Devices, Functions are only required to capture the Bus Number.
ARI Devices are permitted to retain the captured Bus Number on either a
per-Device or a per-Function basis. See Section 2.2.6.2 Transaction
Descriptor - Transaction ID Field .] supplied with all Type 0
Configuration Write Requests completed by the Function, and supply these
numbers in the Bus and Device Number fields of the Completer ID
[Footnote: An ARI Completer ID does not contain a Device Number field.
See Section 2.2.4.2 ID Based Routing Rules .] for all Completions
generated by the Device/Function.
If a Function must generate a Completion prior to the
initial device Configuration Write Request, 0's must be entered into the
Bus Number and Device Number fields
Note that Bus Number and Device Number may be changed at
run time, and so it is necessary to re-capture this information with each
and every Configuration Write Request.
151
10986
10987
10988
Functions must capture the Bus and Device Numbers [Footnote:
With ARI Devices, Functions are only required to capture the Bus Number.
ARI Devices are permitted to retain the captured Bus Number on either a
per-Device or a per-Function basis. See Section 2.2.6.2 Transaction
Descriptor - Transaction ID Field .] supplied with all Type 0
Configuration Write Requests completed by the Function, and supply these
numbers in the Bus and Device Number fields of the Completer ID
[Footnote: An ARI Completer ID does not contain a Device Number field.
See Section 2.2.4.2 ID Based Routing Rules .] for all Completions
generated by the Device/Function.
If a Function must generate a Completion prior to the
initial device Configuration Write Request, 0's must be entered into the
Bus Number and Device Number fields
Note that Bus Number and Device Number may be changed at
run time, and so it is necessary to re-capture this information with each
and every Configuration Write Request.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10213
10214
Note that Bus Number and Device Number may be changed at
run time, and so it is necessary to re-capture this information with each
and every Configuration Write Request.
Exception: The assignment of Bus Numbers to the Devices
within a Root Complex may be done in an implementation specific way.
10215
10216
10217
10220
10989
Note that Bus Number and Device Number may be changed at
run time, and so it is necessary to re-capture this information with each
and every Configuration Write Request.
Exception: The assignment of Bus Numbers to the Devices
within a Root Complex may be done in an implementation specific way.
10990
In some cases, a Completion with the UR status may be
generated by a Multi-Function Device without associating the Completion
with a specific Function within the device - in this case, the Function
Number field [Footnote: Note: with an ARI Completer ID, the Function
Number field is 8 bits.] is Reserved.
Example: A Multi-Function Device receives a Read Request
which does not target any resource associated with any of the Functions
of the device - the device generates a Completion with UR status and sets
a value of all 0's in the Function Number field of the Completer ID.
10218
10219
10988
10991
10992
In some cases, a Completion with UR status may be generated
by an MFD without associating the Completion with a specific Function
within the device - in this case, the Function Number field [Footnote:
Note: with an ARI Completer ID, the Function Number field is 8 bits.] is
Reserved.
Example: An MFD receives a Read Request that does not
target any resource associated with any of the Functions of the device the device generates a Completion with UR status and sets a value of all
0's in the Function Number field of the Completer ID.
10993
Completion headers must supply the same values for the
Requester ID, Tag, and Traffic Class as were supplied in the header of
the corresponding Request.
Completion headers must supply the same values for the
Attribute as were supplied in the header of the corresponding Request,
except as explicitly allowed when IDO is used (see Section 2.2.6.4
Relaxed Ordering and ID-Based Ordering Attributes ).
10994
10995
10996
10997
Completion headers must supply the same values for the
Requester ID, Tag, and Traffic Class as were supplied in the header of
the corresponding Request.
Completion headers must supply the same values for the
Attribute as were supplied in the header of the corresponding Request,
except as explicitly allowed:
when IDO is used (see Section 2.2.6.4 Relaxed Ordering and
ID-Based Ordering Attributes )
when RO is used in a Translation Completion (see Section
10.2.3 Translation Completion
10998
10221
10222
10223
If the Completer is an LN Completer (LNC)and the targeted
memory region supports registrations, the following rules apply;
otherwise the LN bit must be Clear.
If the Completion Status is Successful Completion and the
associated Request was an LN Read, the LN bit must be Set.
Otherwise the LN bit must be Clear.
10224
10225
10226
10227
10228
10229
10999
11000
11001
If the Completer is an LN Completer (LNC)and the targeted
memory region supports registrations, the following rules apply;
otherwise the LN bit must be Clear.
If the Completion Status is Successful Completion and the
associated Request was an LN Read, the LN bit must be Set.
Otherwise the LN bit must be Clear.
11002
The TH bit is reserved for Completions.
AT[1:0] must be 00b. Receivers are not required or encouraged
to check this.
The Completion ID field is not meaningful prior to the
software initialization and configuration of the completing device (using
at least one Configuration Write Request), and for this case the
Requester must ignore the value returned in the Completer ID field.
A Completion including data must specify the actual amount of
data returned in that Completion, and must include the amount of data
specified.
It is a TLP formation error to include more or less data
than specified in the Length field, and the resulting TLP is a Malformed
TLP.
11003
11004
11005
11006
11007
10230
11008
10255
11033
10256
11034
10257
11035
Page 152
The TH bit is reserved for Completions.
AT[1:0] must be 00b. Receivers are not required or encouraged
to check this.
The Completion ID field is not meaningful prior to the
software initialization and configuration of the completing device (using
at least one Configuration Write Request), and for this case the
Requester must ignore the value returned in the Completer ID field.
A Completion including data must specify the actual amount of
data returned in that Completion, and must include the amount of data
specified.
It is a TLP formation error to include more or less data
than specified in the Length field, and the resulting TLP is a Malformed
TLP.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10257
11035
10258
2.2.10.1 Local TLP Prefix Processing
10259
11038
10261
The following rules apply to Local TLP Prefixes:
10262
10264
10265
11039
Local TLP Prefix types are determined using the L[3:0] subfield of the Type field
Type[4] must be 0b
Local TLP Prefix L[3:0] values are defined in Table
2-35 Local TLP Prefix Types
11041
11042
11043
11044
10267
11045
10268
11046
10269
Table 2-35 Local TLP Prefix Types
10271
11048
Local TLP Prefix Type
10273
11050
Local TLP Prefix Type
11051
10274
L[3:0] (b)
10275
11052
L[3:0] (b)
11053
10276
Description
11054
10277
11055
10278
11056
10279
Description
11057
10280
MR-IOV
10281
11058
MR-IOV
11059
10282
0000
10283
11060
0000
11061
MR-IOV TLP Prefix - Refer to the Multi-Root I/O
Virtualization and Sharing specification for details.
11062
11063
10286
11064
10287
MR-IOV TLP Prefix - Refer to [MR-IOV] specification
for details.
10285
11065
10288
VendPrefixL0
10289
11066
VendPrefixL0
11067
10290
1110
10291
11068
1110
11069
Vendor Defined Local TLP Prefix - Refer to Section
2.2.10.1.1 Vendor Defined Local TLP Prefix for further details.
11070
10293
11071
10294
11072
10308
10310
Table 2-36 Local TLP Prefix Types
11049
10272
10309
Local TLP Prefix types are determined using the L[3:0] subfield of the Type field
Type[4] must be 0b
Local TLP Prefix L[3:0] values are defined in Table
2-36 Local TLP Prefix Types
11047
10270
10292
The following rules apply to Local TLP Prefixes:
11040
10266
10284
2.2.10.1 Local TLP Prefix Processing
11037
10260
10263
11036
Vendor Defined Local TLP Prefix - Refer to Section
2.2.10.1.1 Vendor Defined Local TLP Prefix for further details.
11086
The size, routing, and flow control rules are specific to
each Local TLP Prefix type.
It is an error to receive a TLP with a Local TLP Prefix
type not supported by the Receiver. If the Extended Fmt Field Supported
bit is Set, TLPs in violation of this rule are handled as a Malformed TLP
unless explicitly stated differently in another specification. This is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ). If the Extended Fmt Field Supported bit is
Clear, behavior is device specific.
Page 153
11087
11088
The size, routing, and flow control rules are specific to
each Local TLP Prefix type.
It is an error to receive a TLP with a Local TLP Prefix
type not supported by the Receiver. If the Extended Fmt Field Supported
bit is Set, TLPs in violation of this rule are handled as a Malformed TLP
unless explicitly stated differently in another specification. This is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ). If the Extended Fmt Field Supported bit is
Clear, behavior is device specific.
10310
11088
It is an error to receive a TLP with a Local TLP Prefix
type not supported by the Receiver. If the Extended Fmt Field Supported
/private/tmp/PCISIG/pcie4_combined-snapshot.html
bit is Set, TLPs in violation of this rule are handled as vs.
a Malformed TLP
unless explicitly stated differently in another specification. This is a
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ). If the Extended Fmt Field Supported bit is
Clear, behavior is device specific.
10311
11089
No Local TLP Prefixes are protected by ECRC even if the
underlying TLP is protected by ECRC.
10312
11090
10313
11091
10314
11092
10315
2.2.10.1.1 Vendor Defined Local TLP Prefix
10316
10321
10322
11096
11098
11099
11100
11101
10324
11102
10325
11103
10326
11104
10327
2.2.10.2 End-End TLP Prefix Processing
10329
11106
2.2.10.2 End-End TLP Prefix Processing
11107
10330
11108
10331
The following rules apply to End-End TLP Prefixes
10332
10335
Components must not send TLPs containing Vendor Defined
Local TLP Prefixes unless this has been explicitly enabled (using vendorspecific mechanisms).
Components that support any usage of Vendor Defined Local
TLP Prefixes must support the 3-bit definition of the Fmt field and have
the Extended Fmt Field Supported bit Set (see Section 7.5.3.15 Device
Capabilities 2 Register (Offset 24h) ).
It is recommended that components be configurable (using
vendor-specific mechanisms) so that all vendor defined prefixes can be
sent using either of the two Vendor Defined Local TLP Prefix encodings.
Such configuration need not be symmetric (for example each end of a Link
could transmit the same Prefix using a different encoding).
11105
10328
10334
As described in Table 2-36 Local TLP Prefix Types , Types
VendPrefixL0 and VendPrefixL1 are Reserved for use as Vendor Defined
Local TLP Prefixes. To maximize interoperability and flexibility the
following rules are applied to such prefixes:
11097
Components must not send TLPs containing Vendor Defined
Local TLP Prefixes unless this has been explicitly enabled (using vendorspecific mechanisms).
Components that support any usage of Vendor Defined Local
TLP Prefixes must support the 3-bit definition of the Fmt field and have
the Extended Fmt Field Supported bit Set (see Section 7.5.3.15 Device
Capabilities 2 Register (Offset 24h) ).
It is recommended that components be configurable (using
vendor-specific mechanisms) so that all vendor defined prefixes can be
sent using either of the two Vendor Defined Local TLP Prefix encodings.
Such configuration need not be symmetric (for example each end of a Link
could transmit the same Prefix using a different encoding).
10323
10333
2.2.10.1.1 Vendor Defined Local TLP Prefix
11095
As described in Table 2-35 Local TLP Prefix Types , Types
VendPrefixL0 and VendPrefixL1 are Reserved for use as Vendor Defined
Local TLP Prefixes. To maximize interoperability and flexibility the
following rules are applied to such prefixes:
10319
10320
11093
11094
10317
10318
It is an error to receive a TLP with a Local TLP Prefix
type not supported by the Receiver. If the Extended Fmt Field Supported
bit is Set, TLPs in violation of this rule are handled as a Malformed TLP
unless explicitly stated differently in another specification. This is a
reported error associated with the Receiving Port (see Section 6.2 Error
Signaling and Logging ). If the Extended Fmt Field Supported bit is
Clear, behavior is device specific.
No Local TLP Prefixes are protected by ECRC even if the
underlying TLP is protected by ECRC.
11109
The following rules apply to End-End TLP Prefixes
11110
End-End TLP Prefix types are determined using the E[3:0] subfield of the Type field
Type[4] must be 1b
End-End TLP Prefix E[3:0] values are defined in Table
2-36 End-End TLP Prefix Types
11111
11112
11113
10336
11114
10337
11115
10338
11116
10339
10340
11117
Table 2-36 End-End TLP Prefix Types
10341
10342
Page 154
11118
Table 2-37 End-End TLP Prefix Types
11119
End-End TLP Prefix Type
10343
10344
End-End TLP Prefix types are determined using the E[3:0] subfield of the Type field
Type[4] must be 1b
End-End TLP Prefix E[3:0] values are defined in Table
2-37 End-End TLP Prefix Types
11120
End-End TLP Prefix Type
11121
E[3:0] (b)
11122
E[3:0] (b)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10344
E[3:0] (b)
10345
11122
10346
Description
11124
10347
11125
10348
11126
10349
TPH
10351
11128
0000
10353
11130
TPH - Refer to Section 2.2.10.2 End-End TLP Prefix
Processing and 6.17 for further details.
11132
11133
10356
11134
10357
PASID
10359
11136
PASID
11137
10360
0001
10361
11138
0001
11139
10362
PASID - Refer to Section 6.20 PASID TLP Prefix for
11140
further details.
10363
PASID - Refer to Section 6.20 PASID TLP Prefix for
further details.
11141
10364
10406
TPH - Refer to Section 2.2.7.1 TPH Rules and
Section 6.17 TLP Processing Hints (TPH) for further details.
11135
10358
10405
0000
11131
10355
10404
TPH
11129
10352
10403
Description
11127
10350
10354
E[3:0] (b)
11123
11142
If one Function of an Upstream Port has the End-End TLP
Prefix Supported bit Set, all Functions of that Upstream Port must handle
the receipt of a Request addressed to them that contains an unsupported
End-End TLP Prefix type as an Unsupported Request. This is a reported
error associated with the Receiving Port (see Section 6.2 Error Signaling
and Logging ).
If one Function of an Upstream Port has the End-End TLP
Prefix Supported bit Set, all Functions of that Upstream Port must handle
the receipt of a Completion addressed to them that contains an
unsupported End-End TLP Prefix type as an Unexpected Completion. This is
a reported error associated with the Receiving Port (see Section 6.2
Error Signaling and Logging ).
For Routing Elements, the End-End TLP Prefix Blocking bit
in each Egress Port determines whether TLPs containing End-End TLP
Prefixes can be transmitted via that Egress Port (see Section 7.5.3.16
Device Control 2 Register (Offset 28h) ). If forwarding is blocked the
entire TLP is dropped and a TLP Prefix Blocked Error is reported. If the
blocked TLP is a Non-Posted Request, the Egress Port returns a Completion
with Unsupported Request Completion Status. The TLP Prefix Blocked Error
is a reported error associated with the Egress Port (see Section 6.2
Error Signaling and Logging ).
For routing elements where Multicast is enabled (see
Section 6.14 Multicast Operations ). End-End TLP Prefixes are replicated
in all Multicast copies of a TLP. TLP Prefix Egress Blocking of Multicast
packets is performed independently at each Egress Port.
11181
11182
11183
11184
10407
11185
10408
11186
10409
11187
Page 155
If one Function of an Upstream Port has the End-End TLP
Prefix Supported bit Set, all Functions of that Upstream Port must handle
the receipt of a Request addressed to them that contains an unsupported
End-End TLP Prefix type as an Unsupported Request. This is a reported
error associated with the Receiving Port (see Section 6.2 Error Signaling
and Logging ).
If one Function of an Upstream Port has the End-End TLP
Prefix Supported bit Set, all Functions of that Upstream Port must handle
the receipt of a Completion addressed to them that contains an
unsupported End-End TLP Prefix type as an Unexpected Completion. This is
a reported error associated with the Receiving Port (see Section 6.2
Error Signaling and Logging ).
For Routing Elements, the End-End TLP Prefix Blocking bit
in each Egress Port determines whether TLPs containing End-End TLP
Prefixes can be transmitted via that Egress Port (see Section 7.5.3.16
Device Control 2 Register (Offset 28h) ). If forwarding is blocked the
entire TLP is dropped and a TLP Prefix Blocked Error is reported. If the
blocked TLP is a Non-Posted Request, the Egress Port returns a Completion
with Unsupported Request Completion Status. The TLP Prefix Blocked Error
is a reported error associated with the Egress Port (see Section 6.2
Error Signaling and Logging ).
For routing elements where Multicast is enabled (see
Section 6.14 Multicast Operations ). End-End TLP Prefixes are replicated
in all Multicast copies of a TLP. TLP Prefix Egress Blocking of Multicast
packets is performed independently at each Egress Port.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10409
11187
10410
2.2.10.2.1 Vendor Defined End-End TLP Prefix
10411
11190
As described in Table 2-36 End-End TLP Prefix Types ,
Types VendPrefixE0 and VendPrefixE1 are Reserved for use as Vendor
Defined End-End TLP Prefixes. To maximize interoperability and
flexibility the following rules are applied to such prefixes:
10414
10415
10416
11191
11193
11194
11195
10418
11196
10419
11197
10420
2.2.10.2.2 Root Ports with End-End TLP Prefix Supported
11199
10422
11200
10423
11201
10426
11205
An RC is not required to support End-End TLP Prefix
routing between all pairs of Root Ports that have the End-End TLP Prefix
Supported bit Set. A Request with End-End TLP Prefixes that would require
routing between unsupported pairs of Root Ports must be handled as a UR.
A Completion with End-End TLP Prefixes that would require routing between
unsupported pairs of Root Ports must be handled as an Unexpected
Completion (UC). In both cases, this error is reported by the “sending”
Port.
11206
10429
11207
The End-End TLP Prefix Supported bit must be Set for any
Root Port that supports forwarding of TLPs with End-End TLP Prefixes
initiated by host software or Root Complex Integrated Endpoints (RCiEPs).
The End-End TLP Prefix Supported bit must be Set for any Root Ports that
support forwarding of TLPs with End-End TLP Prefixes received on their
Ingress Port to RCiEPs.
10431
11208
The End-End TLP Prefix Supported bit must be Set for any
Root Port that supports forwarding of TLPs with End-End TLP Prefixes
initiated by host software or Root Complex Integrated Endpoints (RCiEPs).
The End-End TLP Prefix Supported bit must be Set for any Root Ports that
support forwarding of TLPs with End-End TLP Prefixes received on their
Ingress Port to RCiEPs.
11209
10432
11210
Different Root Ports with the End-End TLP Prefix
Supported bit Set are permitted to report different values for Max EndEnd TLP Prefixes.
10434
11211
Different Root Ports with the End-End TLP Prefix
Supported bit Set are permitted to report different values for Max EndEnd TLP Prefixes.
11212
10435
10436
2.2.10.2.2 Root Ports with End-End TLP Prefix Supported
11204
An RC is not required to support End-End TLP Prefix
routing between all pairs of Root Ports that have the End-End TLP Prefix
Supported bit Set. A Request with End-End TLP Prefixes that would require
routing between unsupported pairs of Root Ports must be handled as a UR.
A Completion with End-End TLP Prefixes that would require routing between
unsupported pairs of Root Ports must be handled as an Unexpected
Completion (UC). In both cases, this error is reported by the “sending”
Port.
10428
10433
Components must not send TLPs containing Vendor Defined
End-End TLP Prefixes unless this has been explicitly enabled (using
vendor-specific mechanisms).
It is recommended that components be configurable (using
vendor-specific mechanisms) to use either of the two Vendor Defined EndEnd TLP Prefix encodings. Doing so allows two different Vendor Defined
End-End TLP Prefixes to be in use simultaneously within a single PCI
Express topology while not requiring that every source understand the
ultimate destination of every TLP it sends.
11198
10421
10430
As described in Table 2-37 End-End TLP Prefix Types ,
Types VendPrefixE0 and VendPrefixE1 are Reserved for use as Vendor
Defined End-End TLP Prefixes. To maximize interoperability and
flexibility the following rules are applied to such prefixes:
11192
Components must not send TLPs containing Vendor Defined
End-End TLP Prefixes unless this has been explicitly enabled (using
vendor-specific mechanisms).
It is recommended that components be configurable (using
vendor-specific mechanisms) to use either of the two Vendor Defined EndEnd TLP Prefix encodings. Doing so allows two different Vendor Defined
End-End TLP Prefixes to be in use simultaneously within a single PCI
Express topology while not requiring that every source understand the
ultimate destination of every TLP it sends.
10417
10427
2.2.10.2.1 Vendor Defined End-End TLP Prefix
11189
10412
10413
11188
11213
An RC that splits a TLP into smaller TLPs when performing
peer-to-peer routing between Root Ports must replicate the original TLP's
End-End TLP Prefixes in each of the smaller TLPs (see ).
Page 156
11214
An RC that splits a TLP into smaller TLPs when performing
peer-to-peer routing between Root Ports must replicate the original TLP's
End-End TLP Prefixes in each of the smaller TLPs (see Section 1.3.1 Root
Complex ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10436
An RC that splits a TLP into smaller TLPs when performing
11214
peer-to-peer routing between Root Ports must replicate the original TLP's
End-End TLP Prefixes in each of the smaller TLPs (see ).
10437
11215
10438
11216
10439
11217
10440
11218
10441
11219
10442
11220
10443
11221
10444
2.3 Handling of Received TLPs
10445
10450
10451
10452
10455
10458
10463
10464
11228
11229
11230
Values in Reserved fields must be ignored by the Receiver.
If the value in the Fmt field indicates the presence of at
least one TLP Prefix:
Detect if additional TLP Prefixes are present in the header
by checking the Fmt field in the first byte of subsequent DWs until the
Fmt field does not match that of a TLP Prefix.
Handle all received TLP Prefixes according to TLP Prefix
Handling Rules (see Section 2.2.10 TLP Prefix Rules ).
11232
11233
If the Extended Fmt Field Supported bit is Set, Received TLPs
that use encodings of Fmt and Type that are Reserved are Malformed TLPs
(see Table 2-1 Transaction Types for Different Address Spaces and Table
2-3 Fmt[2:0] and Type[4:0] Field Encodings ).
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging ).
11235
11236
If the Extended Fmt Field Supported bit is Clear, processing of
Received TLPs that have Fmt[2] Set is undefined. [Footnote: An earlier
version of this specification reserved the bit now defined for Fmt[2].]
All Received TLPs with Fmt[2] Clear and that use undefined Type
field values are Malformed TLPs.
11237
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging ).
10461
10462
11227
11234
If the Extended Fmt Field Supported bit is Clear, processing of
Received TLPs that have Fmt[2] Set is undefined. [Footnote: An earlier
version of this specification reserved the bit now defined for Fmt[2].]
All Received TLPs with Fmt[2] Clear and which use undefined
Type field values are Malformed TLPs.
10459
10460
This section describes how all Received TLPs are handled when
they are delivered to the Receive Transaction Layer from the Receive Data
Link Layer, after the Data Link Layer has validated the integrity of the
received TLP. The rules are diagramed in the flowchart shown in Figure
2-41 Flowchart for Handling of Received TLPs .
11231
If the Extended Fmt Field Supported bit is Set, Received TLPs
which use encodings of Fmt and Type that are Reserved are Malformed TLPs
(see Table 2-1 Transaction Types for Different Address Spaces and Table
2-3 Fmt[2:0] and Type[4:0] Field Encodings ).
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging ).
10456
10457
11225
11226
Values in Reserved fields must be ignored by the Receiver.
If the value in the Fmt field indicates the presence of at
least one TLP Prefix:
Detect if additional TLP Prefixes are present in the header
by checking the Fmt field in the first byte of subsequent DWs until the
Fmt field does not match that of a TLP Prefix.
Handle all received TLP Prefixes according to TLP Prefix
Handling Rules (see Section 2.2.10 TLP Prefix Rules ).
10453
10454
2.3 Handling of Received TLPs
11224
This section describes how all Received TLPs are handled when
they are delivered to the Receive Transaction Layer from the Receive Data
Link Layer, after the Data Link Layer has validated the integrity of the
received TLP. The rules are diagramed in the flowchart shown in Figure
2-38 Flowchart for Handling of Received TLPs .
10448
10449
11222
11223
10446
10447
An RC that splits a TLP into smaller TLPs when performing
peer-to-peer routing between Root Ports must replicate the original TLP's
End-End TLP Prefixes in each of the smaller TLPs (see Section 1.3.1 Root
Complex ).
11238
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging ).
11239
All Received Malformed TLPs must be discarded.
Received Malformed TLPs that are ambiguous with respect to
which buffer to release or are mapped to an uninitialized or disabled
Virtual Channel must be discarded without updating Receiver Flow Control
information.
All other Received Malformed TLPs must be discarded,
optionally not updating Receiver Flow Control information.
Page 157
11240
11241
11242
All Received Malformed TLPs must be discarded.
Received Malformed TLPs that are ambiguous with respect to
which buffer to release or are mapped to an uninitialized or disabled
Virtual Channel must be discarded without updating Receiver Flow Control
information.
All other Received Malformed TLPs must be discarded,
optionally not updating Receiver Flow Control information.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10464
All other Received Malformed TLPs must be discarded,
11242
optionally not updating Receiver Flow Control information.
10465
10466
10467
11243
Otherwise, update Receiver Flow Control tracking information
(see Section 2.6 Ordering and Receive Buffer Flow Control )
If the value in the Type field indicates the TLP is a Request,
handle according to Request Handling Rules, otherwise, the TLP is a
Completion - handle according to Completion Handling Rules (following
sections)
11244
11245
10468
11246
10469
11247
10470
11248
10471
Figure 2-38 Flowchart for Handling of Received TLPs
11250
10473
11251
10474
11252
10475
10479
10480
10481
10482
10485
10486
11254
Switches must process both TLPs that address resources within
the Switch as well as TLPs that address resources residing outside the
Switch. Switches handle all TLPs that address internal resources of the
Switch according to the rules above. TLPs that pass through the Switch,
or that address the Switch as well as passing through it, are handled
according to the following rules (see Figure 2-42 Flowchart for Switch
Handling of TLPs ):
11255
If the value in the Type field indicates the TLP is not a Msg or
MsgD Request, the TLP must be routed according to the routing mechanism
used (see Section 2.2.4.1 Address-Based Routing Rules and Section 2.2.4.2
ID Based Routing Rules ).
Switches route Completions using the information in the
Requester ID field of the Completion.
If the value in the Type field indicates the TLP is a Msg or
MsgD Request, route the Request according to the routing mechanism
indicated in the r[2:0] sub-field of the Type field
If the value in r[2:0] indicates the Msg/MsgD is routed to
the Root Complex (000b), the Switch must route the Msg/MsgD to the
Upstream Port of the Switch
It is an error to receive a Msg/MsgD Request specifying
000b routing at the Upstream Port of a Switch. Switches may check for
violations of this rule - TLPs in violation are Malformed TLPs. If
checked, this is a reported error associated with the Receiving Port (see
Section 6.2 Error Signaling and Logging ).
10483
10484
Figure 2-41 Flowchart for Handling of Received TLPs
11253
Switches must process both TLPs which address resources within
the Switch as well as TLPs which address resources residing outside the
Switch. Switches handle all TLPs which address internal resources of the
Switch according to the rules above. TLPs which pass through the Switch,
or which address the Switch as well as passing through it, are handled
according to the following rules (see Figure 2-39 Flowchart for Switch
Handling of TLPs ):
10477
10478
Otherwise, update Receiver Flow Control tracking information
(see Section 2.6 Ordering and Receive Buffer Flow Control ).
If the value in the Type field indicates the TLP is a Request,
handle according to Request Handling Rules, otherwise, the TLP is a
Completion - handle according to Completion Handling Rules (following
sections).
11249
10472
10476
All other Received Malformed TLPs must be discarded,
optionally not updating Receiver Flow Control information.
11256
11257
11258
11259
11260
If the value in the Type field indicates the TLP is not a Msg or
MsgD Request, the TLP must be routed according to the routing mechanism
used (see Section 2.2.4.1 Address-Based Routing Rules and Section 2.2.4.2
ID Based Routing Rules ).
Switches route Completions using the information in the
Requester ID field of the Completion.
If the value in the Type field indicates the TLP is a Msg or
MsgD Request, route the Request according to the routing mechanism
indicated in the r[2:0] sub-field of the Type field.
If the value in r[2:0] indicates the Msg/MsgD is routed to
the Root Complex (000b), the Switch must route the Msg/MsgD to the
Upstream Port of the Switch.
It is an error to receive a Msg/MsgD Request specifying
000b routing at the Upstream Port of a Switch. Switches may check for
violations of this rule - TLPs in violation are Malformed TLPs. If
checked, this is a reported error associated with the Receiving Port (see
Section 6.2 Error Signaling and Logging ).
11261
If the value in r[2:0] indicates the Msg/MsgD is routed by
address (001b), the Switch must route the Msg/MsgD in the same way it
would route a Memory Request by address
If the value in r[2:0] indicates the Msg/MsgD is routed by
ID (010b), the Switch must route the Msg/MsgD in the same way it would
route a Completion by ID
If the value in r[2:0] indicates the Msg/MsgD is a
broadcast from the Root Complex (011b), the Switch must route the Msg/
MsgD to all Downstream Ports of the Switch
Page 158
11262
11263
11264
If the value in r[2:0] indicates the Msg/MsgD is routed by
address (001b), the Switch must route the Msg/MsgD in the same way it
would route a Memory Request by address.
If the value in r[2:0] indicates the Msg/MsgD is routed by
ID (010b), the Switch must route the Msg/MsgD in the same way it would
route a Completion by ID.
If the value in r[2:0] indicates the Msg/MsgD is a
broadcast from the Root Complex (011b), the Switch must route the Msg/
MsgD to all Downstream Ports of the Switch.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
10486
If the value in r[2:0] indicates the Msg/MsgD is a
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
broadcast from the Root Complex (011b), the Switch must route the Msg/
10487
MsgD to all Downstream Ports of the Switch
It is an error to receive a Msg/MsgD Request specifying
011b routing at the Downstream Port of a Switch. Switches may check for
violations of this rule - TLPs in violation are Malformed TLPs. If
checked, this is a reported error associated with the Receiving Port (see
Section 6.2 Error Signaling and Logging ).
10488
10489
10490
10491
11264
11265
11266
If the value in r[2:0] indicates the Msg/MsgD terminates at
the Receiver (100b or a Reserved value), or if the Message Code field
value is defined and corresponds to a Message which must be comprehended
by the Switch, the Switch must process the Message according to the
Message processing rules
If the value in r[2:0] indicates Gathered and routed to
Root Complex (101b), see Section 5.3.3.2.1 PME Synchronization for
Message handling rules
It is an error to receive any Msg/MsgD Request other than a
PME_TO_Ack that specifies 101b routing. It is an error to receive a
PME_TO_Ack at the Upstream Port of a Switch. Switches may optionally
check for violations of these rules. These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If checked,
violations are Malformed TLPs, and are reported errors associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
11267
11268
11269
10492
11270
10493
11271
10494
11272
10495
11273
10496
Figure 2-39 Flowchart for Switch Handling of TLPs
11275
10498
11276
10499
11277
10500
11278
10501
2.3.1 Request Handling Rules
10503
11280
2.3.1 Request Handling Rules
11281
10504
11282
This section describes how Received Requests are handled,
following the initial processing done with all TLPs. The rules are
diagramed in the flowchart shown in Figure 2-40 Flowchart for Handling of
Received Request .
10506
10508
Figure 2-42 Flowchart for Switch Handling of TLPs
11279
10502
10507
If the value in r[2:0] indicates the Msg/MsgD terminates at
the Receiver (100b or a Reserved value), or if the Message Code field
value is defined and corresponds to a Message that must be comprehended
by the Switch, the Switch must process the Message according to the
Message processing rules.
If the value in r[2:0] indicates Gathered and routed to
Root Complex (101b), see Section 5.3.3.2.1 PME Synchronization for
Message handling rules.
It is an error to receive any Msg/MsgD Request other than a
PME_TO_Ack that specifies 101b routing. It is an error to receive a
PME_TO_Ack at the Upstream Port of a Switch. Switches may optionally
check for violations of these rules. These checks are independently
optional (see Section 6.2.3.4 Optional Error Checking ). If checked,
violations are Malformed TLPs, and are reported errors associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
11274
10497
10505
If the value in r[2:0] indicates the Msg/MsgD is a
broadcast from the Root Complex (011b), the Switch must route the Msg/
MsgD to all Downstream Ports of the Switch.
It is an error to receive a Msg/MsgD Request specifying
011b routing at the Downstream Port of a Switch. Switches may check for
violations of this rule - TLPs in violation are Malformed TLPs. If
checked, this is a reported error associated with the Receiving Port (see
Section 6.2 Error Signaling and Logging ).
11283
This section describes how Received Requests are handled,
following the initial processing done with all TLPs. The rules are
diagramed in the flowchart shown in Figure 2-43 Flowchart for Handling of
Received Request .
11284
If the Request Type is not supported (by design or because of
configuration settings) by the device, the Request is an Unsupported
Request, and is reported according to Section 6.2 Error Signaling and
Logging
If the Request requires Completion, a Completion Status of
UR is returned (see Section 2.2.8.10 Precision Time Measurement (PTM)
Messages )
11285
11286
10509
11287
10510
11288
10511
11289
10512
11290
Page 159
If the Request Type is not supported (by design or because of
configuration settings) by the device, the Request is an Unsupported
Request, and is reported according to Section 6.2 Error Signaling and
Logging
If the Request requires Completion, a Completion Status of
UR is returned (see Section 2.2.8.10 Precision Time Measurement (PTM)
Messages )
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10512
11290
10513
Implementation Note
When Requests are Terminated Using Unsupported Request
10514
10515
10524
11302
11305
PCI Express Messages do not exist in conventional PCI, so
the above guideline cannot be applied. This specification describes
specifically for each type of Message when a device must handle the
request as an Unsupported Request. Messages pass through Root and Switch
Ports unaffected by conventional PCI control mechanisms including Bus
Master Enable and power state setting.
11306
10529
11307
Note that CA, which is the PCI Express equivalent to
Target Abort, is used only to indicate a serious error that makes the
Completer permanently unable to respond to a request that it would
otherwise have normally responded to. Since Target Abort is used in
conventional PCI only when a target has asserted DEVSEL#, is incorrect to
use a CA for any case where a Conventional PCI target would have ignored
a request by not asserting DEVSEL#.
11308
10531
11309
10532
11310
10533
10535
For device Functions with Type 1 headers (Root Ports,
Switches and Bridges), the same question can generally be applied, but
since the behavior of a conventional PCI bridge is more complicated than
that of a Type 0 Function, it is somewhat more difficult to determine the
answers. One must consider Root Ports and Switch Ports as if they were
actually composed of conventional PCI to PCI bridges, and then at each
stage consider the configuration settings of the virtual bridge to
determine the correct behavior.
11304
PCI Express Messages do not exist in conventional PCI, so
the above guideline cannot be applied. This specification describes
specifically for each type of Message when a device must handle the
request as an Unsupported Request. Messages pass through Root and Switch
Ports unaffected by conventional PCI control mechanisms including Bus
Master Enable and power state setting.
10528
10534
Implementation Note
When Requests are Terminated Using Unsupported Request
11303
10526
10530
11292
11293
For device Functions with Type 1 headers (Root Ports,
Switches and Bridges), the same question can generally be applied, but
since the behavior of a conventional PCI bridge is more complicated than
that of a Type 0 Function, it is somewhat more difficult to determine the
answers. One must consider Root Ports and Switch Ports as if they were
actually composed of conventional PCI to PCI bridges, and then at each
stage consider the configuration settings of the virtual bridge to
determine the correct behavior.
10525
10527
11291
Note that CA, which is the PCI Express equivalent to
Target Abort, is used only to indicate a serious error that makes the
Completer permanently unable to respond to a request that it would
otherwise have normally responded to. Since Target Abort is used in
conventional PCI only when a target has asserted DEVSEL#, is incorrect to
use a CA for any case where a Conventional PCI target would have ignored
a request by not asserting DEVSEL#.
11311
If the Request is a Message, and the Message Code, routing
field, or Msg / MsgD indication corresponds to a combination that is
undefined, or that corresponds to a Message not supported by the device
Function, (other than Vendor_Defined Type 1 which is not treated as an
error - see Table F-1 Message Code Usage ), the Request is an Unsupported
Request, and is reported according to Section 6.2 Error Signaling and
Logging
If the Message Code is a supported value, process the
Message according to the corresponding Message processing rules; if the
Message Code is an Ignored Message and the Receiver is ignoring it,
ignore the Message without reporting any error (see Section 2.2.8.7
Ignored Messages )
10536
11312
11313
11314
11315
11316
Page 160
If the Request is a Message, and the Message Code, routing
field, or Msg / MsgD indication corresponds to a combination that is
undefined, or that corresponds to a Message not supported by the device
Function, (other than Vendor_Defined Type 1, which is not treated as an
error - see Table F-1 Message Code Usage ), the Request is an Unsupported
Request, and is reported according to Section 6.2 Error Signaling and
Logging
If the Message Code is a supported value, process the
Message according to the corresponding Message processing rules; if the
Message Code is an Ignored Message and the Receiver is ignoring it,
ignore the Message without reporting any error (see Section 2.2.8.7
Ignored Messages )
If the Request is a Message with a routing field that
indicates Routed by ID, and if the Request is received by a device
Function with Type 0 headers, it is strongly recommended that the device
be treated as the target of the Message regardless of the Bus Number and
Device Number specified in the destination ID field of the Request
If the Function specified in the destination ID is
unimplemented, it is strongly recommended that the Request be handled as
an Unsupported Request, and that it is reported as specified in Section
6.2 Error Signaling and Logging
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11316
10537
11317
10538
10539
11318
If the Request is not a Message, and is a supported Type,
specific implementations may be optimized based on a defined programming
model which ensures that certain types of (otherwise legal) Requests will
never occur. Such implementations may take advantage of the following
rule:
10540
10541
10542
10543
11319
11320
11322
11323
11324
11325
10545
11326
10546
11327
10547
10549
11329
11330
11331
10551
11332
10552
When a device's programming model restricts (versus what
is otherwise permitted in PCI Express) the characteristics of a Request,
that device is permitted to return a CA Completion Status for any Request
that violates the programming model. Examples include unaligned or wrongsize access to a register block and unsupported size of request to a
Memory Space.
11336
Generally, devices are able to assume a restricted
programming model when all communication will be between the device's
driver software and the device itself. Devices which may be accessed
directly by operating system software or by applications which may not
comprehend the restricted programming model of the device (typically
devices which implement legacy capabilities) should be designed to
support all types of Requests which are possible in the existing usage
model for the device. If this is not done, the device may fail to operate
with existing software.
10557
11337
Generally, devices are able to assume a restricted
programming model when all communication will be between the device's
driver software and the device itself. Devices that may be accessed
directly by operating system software or by applications that may not
comprehend the restricted programming model of the device (typically
devices that implement legacy capabilities) should be designed to support
all types of Requests that are possible in the existing usage model for
the device. If this is not done, the device may fail to operate with
existing software.
11338
10558
Page
11334
11335
10555
10559
Implementation Note
Optimizations Based on Restricted Programming Model
11333
When a device's programming model restricts (versus what
is otherwise permitted in PCI Express) the characteristics of a Request,
that device is permitted to return a CA Completion Status any Request
that violates the programming model. Examples include unaligned or wrongsize access to a register block and unsupported size of request to a
Memory Space.
10554
10556
If the Request violates the programming model of the device
Function, the Function may optionally treat the Request as a Completer
Abort, instead of handling the Request normally
If the Request is treated as a Completer Abort, this is a
reported error associated with the Function (see Section 6.2 Error
Signaling and Logging )
If the Request requires Completion, a Completion Status
of CA is returned (see Section 2.2.8.10 Precision Time Measurement (PTM)
Messages )
11328
Implementation Note
Optimizations Based on Restricted Programming Model
10550
10553
If the Request is not a Message, and is a supported Type,
specific implementations may be optimized based on a defined programming
model that ensures that certain types of (otherwise legal) Requests will
never occur. Such implementations may take advantage of the following
rule:
11321
If the Request violates the programming model of the device
Function, the Function may optionally treat the Request as a Completer
Abort, instead of handling the Request normally
If the Request is treated as a Completer Abort, this is a
reported error associated with the Function (see Section 6.2 Error
Signaling and Logging )
If the Request requires Completion, a Completion Status
of CA is returned (see Section 2.2.8.10 Precision Time Measurement (PTM)
Messages )
10544
10548
If the Function specified in the destination ID is
unimplemented, it is strongly recommended that the Request be handled as
an Unsupported Request, and that it is reported as specified in Section
6.2 Error Signaling and Logging
11339
If the Request arrives between the time an FLR has been
initiated and the completion of the FLR by the targeted Function, the
Request is permitted to be silently discarded (following update of flow
161
control credits) without logging or signaling it as an error. It is
recommended that the Request be handled as an Unsupported Request (UR).
11340
If the Request arrives between the time an FLR has been
initiated and the completion of the FLR by the targeted Function, the
Request is permitted to be silently discarded (following update of flow
control credits) without logging or signaling it as an error. It is
recommended that the Request be handled as an Unsupported Request (UR).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10559
If the Request arrives between the time an FLR has been
initiated and the completion of the FLR by the targeted Function, the
Request is permitted to be silently discarded (following update of flow
control credits) without logging or signaling it as an error. It is
recommended that the Request be handled as an Unsupported Request (UR).
11340
10560
11341
10561
11342
10562
11343
10563
Otherwise (supported Request Type, not a Message), process the
11344
Request
10564
10565
If the Completer is permanently unable to process the
Request due to a device-specific error condition the Completer must, if
possible, handle the Request as a Completer Abort
This is a reported error associated with the Receiving
Function, if the error can be isolated to a specific Function in the
component, or to the Receiving Port if the error cannot be isolated (see
Section 6.2 Error Signaling and Logging )
10566
10567
10568
10569
10570
10573
10574
Otherwise (supported Request Type, not a Message), process the
Request
11345
11346
If the Completer is permanently unable to process the
Request due to a device-specific error condition the Completer must, if
possible, handle the Request as a Completer Abort
This is a reported error associated with the Receiving
Function, if the error can be isolated to a specific Function in the
component, or to the Receiving Port if the error cannot be isolated (see
Section 6.2 Error Signaling and Logging )
11347
For Configuration Requests only, following reset it is
possible for a device to terminate the request but indicate that it is
temporarily unable to process the Request, but will be able to process
the Request in the future - in this case, the Configuration Request Retry
Status (CRS) Completion Status is used (see Section 6.6 PCI Express Reset
- Rules ). Valid reset conditions after which a device is permitted to
return CRS are:
Cold, Warm, and Hot Resets
FLRs
A reset initiated in response to a D3hot to
D0uninitialized device state transition.
10571
10572
If the Request arrives between the time an FLR has been
initiated and the completion of the FLR by the targeted Function, the
Request is permitted to be silently discarded (following update of flow
control credits) without logging or signaling it as an error. It is
recommended that the Request be handled as an Unsupported Request (UR).
11348
11349
11350
11351
For Configuration Requests only, following reset it is
possible for a device to terminate the request but indicate that it is
temporarily unable to process the Request, but will be able to process
the Request in the future - in this case, the Configuration Request Retry
Status (CRS) Completion Status is used (see Section 6.6 PCI Express Reset
- Rules ). Valid reset conditions after which a device is permitted to
return CRS are:
Cold, Warm, and Hot Resets
FLRs
A reset initiated in response to a D3Hot to
D0uninitialized device state transition
11352
A device Function is explicitly not permitted to return
CRS following a software-initiated reset (other than an FLR) of the
device, e.g., by the device's software driver writing to a devicespecific reset bit. A device Function is not permitted to return CRS
after it has indicated that it is Configuration-Ready (see Section 6.23
Readiness Notifications (RN) .) without an intervening valid reset (i.e.,
FLR or Conventional Reset) condition, or if the Immediate Readiness bit
in the Function's Status register is Set. Additionally, a device Function
is not permitted to return CRS after having previously returned a
Successful Completion without an intervening valid reset (i.e., FLR or
Conventional Reset) condition.
In the process of servicing the Request, the Completer
may determine that the (otherwise acceptable) Request must be handled as
an error, in which case the Request is handled according to the type of
the error
Example: A PCI Express/PCI Bridge may initially accept
a Request because it specifies a Memory Space range mapped to the
secondary side of the Bridge, but the Request may Master Abort or Target
Abort on the PCI side of the Bridge. From the PCI Express perspective,
the status of the Request in this case is UR (for Master Abort) or CA
(for Target Abort). If the Request requires Completion on PCI Express,
the corresponding Completion Status is returned.
Page 162
11353
11354
11355
A device Function is explicitly not permitted to return
CRS following a software-initiated reset (other than an FLR) of the
device, e.g., by the device's software driver writing to a devicespecific reset bit. A device Function is not permitted to return CRS
after it has indicated that it is Configuration-Ready (see Section 6.23
Readiness Notifications (RN) .) without an intervening valid reset (i.e.,
FLR or Conventional Reset) condition, or if the Immediate Readiness bit
in the Function's Status register is Set. Additionally, a device Function
is not permitted to return CRS after having previously returned a
Successful Completion without an intervening valid reset (i.e., FLR or
Conventional Reset) condition.
In the process of servicing the Request, the Completer
may determine that the (otherwise acceptable) Request must be handled as
an error, in which case the Request is handled according to the type of
the error
Example: A PCI Express/PCI Bridge may initially accept
a Request because it specifies a Memory Space range mapped to the
secondary side of the Bridge, but the Request may Master Abort or Target
Abort on the PCI side of the Bridge. From the PCI Express perspective,
the status of the Request in this case is UR (for Master Abort) or CA
(for Target Abort). If the Request requires Completion on PCI Express,
the corresponding Completion Status is returned.
10574
11355
Example: A PCI Express/PCI Bridge may initially accept
a Request because it specifies a Memory Space range mapped to the
secondary side of the Bridge, but the Request may Master Abort or Target
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
Abort on the PCI side of the Bridge. From the PCI Express perspective,
the status of the Request in this case is UR (for Master Abort) or CA
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
(for Target Abort). If the Request requires Completion on PCI Express,
the corresponding Completion Status is returned.
10575
11356
10576
10577
10578
10579
11357
If the Request is a type which requires a Completion to be
returned, generate a Completion according to the rules for Completion
formation (see Section 2.2.9 Completion Rules )
The Completion Status is determined by the result of
handling the Request
If the Request has an ECRC Check Failed error, then it is
implementation-specific whether to return a Completion or not, and if so,
which of the architected values to use for its Completion Status.
However, it is strongly recommended that the Completer return a
Completion with a UR Completion Status.
10580
10581
10582
10583
10584
10585
10586
10587
10590
10591
10592
11358
11359
11360
If the Request is a type that requires a Completion to be
returned, generate a Completion according to the rules for Completion
formation (see Section 2.2.9 Completion Rules )
The Completion Status is determined by the result of
handling the Request
If the Request has an ECRC Check Failed error, then it is
implementation-specific whether to return a Completion or not, and if so,
which of the architected values to use for its Completion Status.
However, it is strongly recommended that the Completer return a
Completion with a UR Completion Status.
11361
Under normal operating conditions, PCI Express Endpoints and
Legacy Endpoints must never delay the acceptance of a Posted Request for
more than 10 µs, which is called the Posted Request Acceptance Limit. The
device must either (a) be designed to process received Posted Requests
and return associated Flow Control credits within the necessary time
limit, or (b) rely on a restricted programming model to ensure that a
Posted Request is never sent to the device either by software or by other
devices while the device is unable to accept a new Posted Request within
the necessary time limit.
The following are not considered normal operating
conditions under which the Posted Request Acceptance Limit applies:
The period immediately following a Fundamental Reset
(see Section 6.6 PCI Express Reset - Rules ).
TLP retransmissions or Link retraining.
One or more dropped Flow Control Packets (FCPs).
The device being in a diagnostic mode.
The device being in a device-specific mode that is
not intended for normal use.
10588
10589
Example: A PCI Express/PCI Bridge may initially accept
a Request because it specifies a Memory Space range mapped to the
secondary side of the Bridge, but the Request may Master Abort or Target
Abort on the PCI side of the Bridge. From the PCI Express perspective,
the status of the Request in this case is UR (for Master Abort) or CA
(for Target Abort). If the Request requires Completion on PCI Express,
the corresponding Completion Status is returned.
11362
11363
11364
11365
11366
11367
11368
Under normal operating conditions, PCI Express Endpoints and
Legacy Endpoints must never delay the acceptance of a Posted Request for
more than 10 μs, which is called the Posted Request Acceptance Limit. The
device must either (a) be designed to process received Posted Requests
and return associated Flow Control credits within the necessary time
limit, or (b) rely on a restricted programming model to ensure that a
Posted Request is never sent to the device either by software or by other
devices while the device is unable to accept a new Posted Request within
the necessary time limit.
The following are not considered normal operating
conditions under which the Posted Request Acceptance Limit applies:
The period immediately following a Fundamental Reset
(see Section 6.6 PCI Express Reset - Rules )
TLP retransmissions or Link retraining
One or more dropped Flow Control Packets (FCPs)
The device being in a diagnostic mode
The device being in a device-specific mode that is
not intended for normal use
11369
The following are considered normal operating conditions,
but any delays they cause do not count against the Posted Request
Acceptance Limit:
Upstream TLP traffic delaying Upstream FCPs.
The Link coming out of a low-power state.
Arbitration with traffic on other VCs.
11370
11371
11372
11373
The following are considered normal operating conditions,
but any delays they cause do not count against the Posted Request
Acceptance Limit:
Upstream TLP traffic delaying Upstream FCPs
The Link coming out of a low-power state
Arbitration with traffic on other VCs
11374
10593
Though not a requirement, it is strongly recommended
that RCiEPs also honor the Posted Request Acceptance Limit.
10594
10595
11375
Though not a requirement, it is strongly recommended that
RCiEPs also honor the Posted Request Acceptance Limit.
11376
If the device supports being a target for I/O Write
Requests, which are Non-Posted Requests, it is strongly recommended that
each associated Completion be returned within the same time limit as for
Posted Request acceptance, although this is not a requirement.
11377
10596
11378
10597
11379
10598
11380
10599
Page 163
If the device supports being a target for I/O Write Requests,
which are Non-Posted Requests, it is strongly recommended that each
associated Completion be returned within the same time limit as for
Posted Request acceptance, although this is not a requirement.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10599
10600
10601
Implementation Note
Restricted Programming Model for Meeting the Posted Request
Acceptance Limit
11381
11382
10602
11383
10603
11384
10604
10605
11385
Some hardware designs may not be able to process every
Posted Request within the required acceptance time limit. An example is
writing to a command queue where commands can take longer than the
acceptance time limit to complete. Subsequent writes to such a device
when it is currently processing a previous write could experience
acceptance delays that exceed the limit. Such devices may rely on a
restricted programming model, where the device driver limits the rate of
memory writes to the device, the driver polls the device to determine
buffer availability before issuing the write transaction, or the driver
implements some other software-based flow control mechanism.
11386
10606
11387
10607
11388
10608
11389
10609
11390
10610
11391
10611
10612
11393
11394
10614
11395
10615
11396
10616
10618
11398
11399
11400
10620
11401
10621
Page
Figure 2-43 Flowchart for Handling of Received Request
11397
Implementation Note
Configuration Request Retry Status
10619
10622
Some hardware designs may not be able to process every
Posted Request within the required acceptance time limit. An example is
writing to a command queue where commands can take longer than the
acceptance time limit to complete. Subsequent writes to such a device
when it is currently processing a previous write could experience
acceptance delays that exceed the limit. Such devices may rely on a
restricted programming model, where the device driver limits the rate of
memory writes to the device, the driver polls the device to determine
buffer availability before issuing the write transaction, or the driver
implements some other software-based flow control mechanism.
11392
Figure 2-40 Flowchart for Handling of Received Request
10613
10617
Implementation Note
Restricted Programming Model for Meeting the Posted Request
Acceptance Limit
Implementation Note
Configuration Request Retry Status
11402
Some devices require a lengthy self-initialization
sequence to complete before they are able to service Configuration
Requests (common with intelligent I/O solutions on PCI). PCI/PCI-X
architecture has specified a 225 (PCI) or 226 (PCI-X) clock “recovery
time” Trhfa following reset to provide the required self-initialization
time for such devices. PCI Express “softens” the need for this time based
recovery period by implementing a Configuration Request Retry Status
(CRS) Completion Status . A device in receipt of a Configuration Request
following a valid reset condition may respond with a CRS Completion
Status to terminate the Request, and thus effectively stall the
Configuration Request until such time that the subsystem has completed
local initialization and is ready to communicate with the host. Note that
it is only legal to respond with a CRS Completion Status in response to a
Configuration Request. Sending this Completion Status in response to any
other Request type is illegal (see Section 2.3.2 Completion Handling
Rules ). Readiness Notifications (see Section 6.23 Readiness
Notifications (RN) ) and Immediate Readiness (see Section 7.5.1.1.4
Status Register (Offset 06h) and Section 7.5.2.1 Power Management
Capabilities Register (Offset 00h) ) also forbid the use of CRS
164
Completion Status in certain situations.
11403
Some devices require a lengthy self-initialization
sequence to complete before they are able to service Configuration
Requests (common with intelligent I/O solutions on PCI). PCI/PCI-X
architecture has specified a 225 (PCI) or 226 (PCI-X) clock “recovery
time” Trhfa following reset to provide the required self-initialization
time for such devices. Section 6.6.1 Conventional Reset specifies a 1.0 s
recovery period for PCIe devices. PCIe architecture also provides an
alternative to waiting for this worst-case recovery period via the
Configuration Request Retry Status (CRS) Completion Status mechanism. A
device in receipt of a Configuration Request following a valid reset
condition may respond with a CRS Completion Status to terminate the
Request, and thus effectively stall the Configuration Request until such
time that the subsystem has completed local initialization and is ready
to communicate with the host. Note that it is only legal to respond with
a CRS Completion Status in response to a Configuration Request. Sending
this Completion Status in response to any other Request type is illegal
(see Section 2.3.2 Completion Handling Rules ). Readiness Notifications
(see Section 6.23 Readiness Notifications (RN) ) and Immediate Readiness
(see Section 7.5.1.1.4 Status Register (Offset 06h) and Section 7.5.2.1
Power Management Capabilities Register (Offset 00h) ) also forbid the use
of CRS Completion Status in certain situations.
(CRS) Completion Status . A device in receipt of a Configuration Request
following a valid reset condition may respond with a CRS Completion
Status to terminate the Request, and thus effectively stall the
Configuration Request until such time that the subsystem has completed
local initialization and is ready to communicate with the host. Note that
it is only legal to respond with a CRS Completion Status in response to a
Configuration Request. Sending this Completion Status in response to any
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.Handling
other Request type is illegal (see Section 2.3.2 Completion
Rules ). Readiness Notifications (see Section 6.23 Readiness
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Notifications (RN) ) and Immediate Readiness (see Section 7.5.1.1.4
Status Register (Offset 06h) and Section 7.5.2.1 Power Management
Capabilities Register (Offset 00h) ) also forbid the use of CRS
Completion Status in certain situations.
10623
11404
10624
10625
11405
Receipt by the Requester of a Completion with CRS
Completion Status terminates the Configuration Request on PCI Express.
Further action by the Root Complex regarding the original Configuration
Request is specified in Section 2.3.2 Completion Handling Rules .
10626
11409
11411
When used in systems including PCI Express to PCI/PCI-X
Bridges, system software and/or the Root Complex must comprehend the
limit Trhfa for PCI/PCI-X agents as described in Section 2.8 Completion
Timeout Mechanism and Section 6.6 PCI Express Reset - Rules . Similarly,
systems using PCI Express components which require additional self
initialization time beyond the minimum guaranteed must provide some
mechanism for re-issuing Configuration Requests terminated with CRS
status. In systems running legacy PCI/PCI-X based software, the Root
Complex must re-issue the Configuration Request using a hardware
mechanism to ensure proper enumeration of the system.
10632
11412
To avoid misbehaviors in systems that contain PCI Express
to PCI/PCI-X Bridges, system software and/or the Root Complex should
comprehend the limit Trhfa for PCI/PCI-X agents as described in Section
2.8 Completion Timeout Mechanism and Section 6.6 PCI Express Reset Rules . Similarly, systems that contain PCIe components whose selfinitialization time may require them to return a CRS Completion Status
(by the rules in Section 6.6 PCI Express Reset - Rules ) should provide
some mechanism for re-issuing Configuration Requests terminated with CRS
status. In systems running legacy PCI/PCI-X based software, the Root
Complex must re-issue the Configuration Request using a hardware
mechanism to ensure proper enumeration of the system.
11413
10633
11414
Refer to Section 6.6 PCI Express Reset - Rules for more
information on reset.
11415
10635
11416
10636
11417
10637
11418
10638
11419
10639
Refer to Section 6.6 PCI Express Reset - Rules for more
information on reset.
11420
10640
2.3.1.1 Data Return for Read Requests
10641
10646
Root Complexes that implement CRS Software Visibility
have the ability to report the receipt of CRS Completion Status to
software, enabling software to attend to other tasks rather than being
stalled while the device completes its self-initialization. Software that
intends to take advantage of this mechanism must ensure that the first
access made to a device following a valid reset condition is a
Configuration Read Request accessing both bytes of the Vendor ID field in
the device's Configuration Space header. For this case only, the Root
Complex, if enabled, will synthesize a special read-data value for the
Vendor ID field to indicate to software that CRS Completion Status has
been returned by the device. For other Configuration Requests, or when
CRS Software Visibility is not enabled, the Root Complex will generally
re-issue the Configuration Request until it completes with a status other
than CRS as described in Section 2.3.2 Completion Handling Rules .
11410
10630
10634
Receipt by the Requester of a Completion with CRS
Completion Status terminates the Configuration Request on PCI Express.
Further action by the Root Complex regarding the original Configuration
Request is specified in Section 2.3.2 Completion Handling Rules .
11408
Root Complexes that implement CRS Software Visibility
have the ability to report the receipt of CRS Completion Status to
software, enabling software to attend to other tasks rather than being
stalled while the device completes its self-initialization. Software that
intends to take advantage of this mechanism must ensure that the first
access made to a device following a valid reset condition is a
Configuration Read Request accessing both bytes of the Vendor ID field in
the device's Configuration Space header. For this case only, the Root
Complex, if enabled, will synthesize a special read-data value for the
Vendor ID field to indicate to software that CRS Completion Status has
been returned by the device. For other Configuration Requests, or when
CRS Software Visibility is not enabled, the Root Complex will generally
re-issue the Configuration Request until it completes with a status other
than CRS as described in Section 2.3.2 Completion Handling Rules .
10629
10631
11406
11407
10627
10628
alternative to waiting for this worst-case recovery period via the
Configuration Request Retry Status (CRS) Completion Status mechanism. A
device in receipt of a Configuration Request following a valid reset
condition may respond with a CRS Completion Status to terminate the
Request, and thus effectively stall the Configuration Request until such
time that the subsystem has completed local initialization and is ready
to communicate with the host. Note that it is only legal to respond with
a CRS Completion Status in response to a Configuration Request. Sending
this Completion Status in response to any other Request type is illegal
(see Section 2.3.2 Completion Handling Rules ). Readiness Notifications
(see Section 6.23 Readiness Notifications (RN) ) and Immediate Readiness
(see Section 7.5.1.1.4 Status Register (Offset 06h) and Section 7.5.2.1
Power Management Capabilities Register (Offset 00h) ) also forbid the use
of CRS Completion Status in certain situations.
11421
2.3.1.1 Data Return for Read Requests
11422
A Completion with status other than Successful
Completion terminates the Completions for a single Read Request
Page 165
11427
A Completion with status other than Successful
Completion terminates the Completions for a single Read Request
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10646
10647
A Completion with
Completion terminates the Completions
In this case,
undefined, and must be ignored by the
status other than Successful
for a single Read Request
the value in the Length field is
Receiver
11427
11428
10648
11429
10649
11430
10650
10651
10652
11432
11433
11434
10654
11435
10655
10659
10660
10661
11437
11439
11440
11441
11442
11443
10663
11444
10664
11445
10665
For all other System Elements, RCB is 128 bytes
10669
10672
10673
10674
Note: Bridges and Endpoints may implement a corresponding
command bit that may be set by system software to indicate the RCB value
for the Root Complex, allowing the Bridge or Endpoint to optimize its
behavior when the Root Complex's RCB is 128 bytes.
11449
For all other System Elements, RCB is 128 bytes.
11450
Completions for Requests which do not cross the naturally
aligned address boundaries at integer multiples of RCB bytes must include
all data specified in the Request
Requests which do cross the address boundaries at integer
multiples of RCB bytes are permitted to be completed using more than one
Completion subject to the following rules:
The first Completion must start with the address
specified in the Request, and if successful must end at one of the
following:
The address that satisfies the entire Request
An address boundary between the start and end of
the Request at an integer multiple of RCB bytes
10675
10676
11447
11448
10668
10671
Memory Read Requests may be completed with one, or in some
cases, multiple Completions
Read Completion Boundary (RCB) determines the naturally
aligned address boundaries on which a Completer is permitted to break up
the response for a single Read Request into multiple Completions.
For a Root Complex, RCB is 64 bytes or 128 bytes.
This value is reported in the Link Control register
(see Section 7.5.3.7 Link Control Register (Offset 10h) ).
11446
Note: Bridges and Endpoints may implement a corresponding
command bit which may be set by system software to indicate the RCB value
for the Root Complex, allowing the Bridge or Endpoint to optimize its
behavior when the Root Complex's RCB is 128 bytes.
10667
10670
Note: This is simply a specific case of the rules that
apply to all TLPs with data payloads
11438
Memory Read Requests may be completed with one, or in some
cases, multiple Completions
Read Completion Boundary (RCB) determines the naturally
aligned address boundaries on which a Completer is permitted to break up
the response for a single Read Request into multiple Completions.
For a Root Complex, RCB is 64 bytes or 128 bytes
This value is reported in the Link Control register
(see Section 7.5.3.7 Link Control Register (Offset 10h) )
10662
10666
Completions must not include more data than permitted by
Max_Payload_Size.
Receivers must check for violations of this rule. Refer
to Section 2.2 Transaction Layer Protocol - Packet Definition .
11436
Note: This is simply a specific case of the rules which
apply to all TLPs with data payloads
10657
10658
status other than Successful
for a single Read Request
the value in the Length field is
Receiver
11431
Completions must not include more data than permitted by
Max_Payload_Size.
Receivers must check for violations of this rule. Refer
to Section 2.2 Transaction Layer Protocol - Packet Definition .
10653
10656
A Completion with
Completion terminates the Completions
In this case,
undefined, and must be ignored by the
11451
11452
11453
11454
11455
Completions for Requests that do not cross the naturally
aligned address boundaries at integer multiples of RCB bytes must include
all data specified in the Request.
Requests that do cross the address boundaries at integer
multiples of RCB bytes are permitted to be completed using more than one
Completion subject to the following rules:
The first Completion must start with the address
specified in the Request, and if successful must end at one of the
following:
The address that satisfies the entire Request
An address boundary between the start and end of
the Request at an integer multiple of RCB bytes
11456
If the final Completion is sucessful, it must end at
the address that satisfies the entire Request
Page 166
11457
If the final Completion is sucessful, it must end at
the address that satisfies the entire Request
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10676
If the final Completion is sucessful, it must end at
10677
the address that satisfies the entire Request
All Completions between, but not including, the first
and final Completions must be an integer multiple of RCB bytes in length
10678
10679
10680
10683
10684
10685
10686
10689
10690
11463
11464
11465
11466
11467
Multiple Memory Read Completions for a single Read Request
must return data in increasing address order.
If all the Memory Read Completions for a single Read
Request have a Successful Completion Status, the sum of their payloads
must equal the size requested.
For each Memory Read Completion, the Byte Count field must
indicate the remaining number of bytes required to complete the Request
including the number of bytes returned with the Completion, except when
the BCM bit is Set. [Footnote: Only PCI-X completers Set the BCM bit. PCI
Express completers are not permitted to set the BCM bit.]
The total number of bytes required to complete a Memory
Read Request is calculated as shown in Table 2-38 Calculating Byte Count
from Length and Byte Enables .
If a Memory Read Request is completed using multiple
Completions, the Byte Count value for each successive Completion is the
value indicated by the preceding Completion minus the number of bytes
returned with the preceding Completion.
11469
11470
11471
The Completion Data area begins at the DW address specified
by the Request. In the first or only Data DW of the first or only
Completion, only the bytes configured as active in the First BE field in
the Request contain valid data. Bytes configured as inactive in the First
BE field in the Request will return undefined content.
In the last Data DW of the last successful Completion, only
the bytes configured as active in the Last BE field in the Request
contain valid data. Bytes configured as inactive in the Last BE field in
the Request will return undefined content.
All the Completion Data bytes, including those with
undefined content, are included in all CRC calculations.
11472
Figure 2-41 Example Completion Data when some Byte
Enables are 0b presents an example of the above. The example assumes a
single Completion TLP is returned:
10693
10694
10695
10696
10697
Issue 2
10698
10699
10700
11461
Receivers may optionally check for violations of RCB. If a
Receiver implementing this check determines that a Completion violates
this rule, it must handle the Completion as a Malformed TLP.
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
11468
The Completion Data area begins at the DW address specified
by the Request. In the first or only Data DW of the first or only
Completion, only the bytes configured as active in the First BE field in
the Request contain valid data. Bytes configured as inactive in the First
BE field in the Request will return undefined content.
In the last Data DW of the last successful Completion, only
the bytes configured as active in the Last BE field in the Request
contain valid data. Bytes configured as inactive in the Last BE field in
the Request will return undefined content.
All the Completion Data bytes, including those with
undefined content, are included in all CRC calculations.
10691
10692
11460
11462
Multiple Memory Read Completions for a single Read Request
must return data in increasing address order.
If all the Memory Read Completions for a single Read
Request have a Successful Completion Status, the sum of their payloads
must equal the size requested.
For each Memory Read Completion, the Byte Count field must
indicate the remaining number of bytes required to complete the Request
including the number of bytes returned with the Completion, except when
the BCM bit is Set. [Footnote: Only PCI-X completers Set the BCM bit. PCI
Express completers are not permitted to set the BCM bit.]
The total number of bytes required to complete a Memory
Read Request is calculated as shown in Table 2-37 Calculating Byte Count
from Length and Byte Enables
If a Memory Read Request is completed using multiple
Completions, the Byte Count value for each successive Completion is the
value indicated by the preceding Completion minus the number of bytes
returned with the preceding Completion.
10687
10688
11458
If the final Completion is sucessful, it must end at
the address that satisfies the entire Request
All Completions between, but not including, the first
and final Completions must be an integer multiple of RCB bytes in length
11459
Receivers may optionally check for violations of RCB. If a
Receiver implementing this check determines that a Completion violates
this rule, it must handle the Completion as a Malformed TLP
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging )
10681
10682
11457
ERROR: Unknown Art File alt="Example-Completion-Datawhen-some-Byte-Enables-are-0b"
Page 167
11473
Figure 2-44 Example Completion Data when some Byte
Enables are 0b presents an example of the above. The example assumes a
single Completion TLP is returned.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10700
ERROR: Unknown Art File alt="Example-Completion-Datawhen-some-Byte-Enables-are-0b"
10701
10702
10703
11474
10704
11475
10705
11476
10706
11477
10707
Figure 2-41 Example Completion Data when some Byte
11478
Enables are 0b
10708
11479
10709
11480
10710
11481
10711
11482
10712
Implementation Note
BCM Bit Usage
10713
11483
11484
10714
11485
10715
11486
10716
10717
11488
To satisfy certain PCI-X protocol constraints, a PCI-X
Bridge or PCI-X Completer for a PCI-X burst read in some cases will set
the Byte Count field in the first PCI-X transaction of the Split
Completion sequence to indicate the size of just that first transaction
instead of the entire burst read. When this occurs, the PCI-X Bridge/PCIX Completer will also Set the BCM bit in that first PCI-X transaction, to
indicate that the Byte Count field has been modified from its normal
usage. Refer to the [ PCI-X-2.0] for further details.
11489
10719
11490
A PCI Express Memory Read Requester needs to correctly
handle the case when a PCI-X Bridge/PCI-X Completer sets the BCM bit.
When this occurs, the first Read Completion packet returned to the
Requester will have the BCM bit Set, indicating that the Byte Count field
reports the size of just that first packet instead of the entire
remaining Byte Count. The Requester should not conclude at this point
that other packets of the Read Completion are missing.
10721
11491
A PCI Express Memory Read Requester needs to correctly
handle the case when a PCI-X Bridge/PCI-X Completer sets the BCM bit.
When this occurs, the first Read Completion packet returned to the
Requester will have the BCM bit Set, indicating that the Byte Count field
reports the size of just that first packet instead of the entire
remaining Byte Count. The Requester should not conclude at this point
that other packets of the Read Completion are missing.
11492
10722
10723
Implementation Note
BCM Bit Usage
11487
To satisfy certain PCI-X protocol constraints, a PCI-X
Bridge or PCI-X Completer for a PCI-X burst read in some cases will set
the Byte Count field in the first PCI-X transaction of the Split
Completion sequence to indicate the size of just that first transaction
instead of the entire burst read. When this occurs, the PCI-X Bridge/PCIX Completer will also Set the BCM bit in that first PCI-X transaction, to
indicate that the Byte Count field has been modified from its normal
usage. Refer to the [[PCI-X Addendum to the PCI Local Bus Specification,
Revision 2.0]] for further details.
10718
10720
Figure 2-44 Example Completion Data when some Byte
Enables are 0b
11493
The BCM bit will never be Set in subsequent packets of
the Read Completion, so the Byte Count field in those subsequent packets
will alw ays indicate the remaining Byte Count in each instance. Thus,
the Requester can use the Byte Count field in these packets to determine
if other packets of the Read Completion are missing.
10724
11496
PCI Express Completers will never Set the BCM bit.
11497
10727
11498
10728
11499
10729
11500
10730
11501
Page 168
The BCM bit will never be Set in subsequent packets of
the Read Completion, so the Byte Count field in those subsequent packets
will always indicate the remaining Byte Count in each instance. Thus, the
Requester can use the Byte Count field in these packets to determine if
other packets of the Read Completion are missing.
11495
10725
10726
11494
PCI Express Completers will never Set the BCM bit.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10730
11501
10731
11502
10732
Table 2-37 Calculating Byte Count from Length and Byte
11503
Enables
10733
11504
10734
1st DW BE[3:0] (b)
10735
11505
Last DW BE[3:0] (b)
10737
11507
Total Byte Count
11509
10739
11510
10740
11511
10741
1xx1
10743
11513
1xx1
11514
0000 [Footnote: Note that Last DW BE of 0000b is
permitted only with a Length of 1 DW.]
10949
11515
0000 [Footnote: Note that Last DW BE of 0000b is
permitted only with a Length of 1 DW.]
11720
10950
1000
10951
11721
1000
11722
10952
0001
10953
11723
0001
11724
10954
(Length * 4) - 6
11725
10955
11726
10956
11727
10957
11728
10958
10961
Total Byte Count
11512
10742
10960
Last DW BE[3:0] (b)
11508
10738
10959
First DW BE[3:0] (b)
11506
10736
10744
Table 2-38 Calculating Byte Count from Length and Byte
Enables
(Length * 4) - 6
11729
For all Memory Read Completions, the Lower Address field must
indicate the lower bits of the byte address for the first enabled byte of
data returned with the Completion
For the first (or only) Completion, the Completer can
generate this field from the least significant 5 bits of the address of
the Request concatenated with 2 bits of byte-level address formed as
shown in Table 2-38 Calculating Lower Address from 1st DW BE .
For any subsequent Completions, the Lower Address field
will always be zero except for Completions generated by a Root Complex
with an RCB value of 64 bytes. In this case the least significant 6 bits
of the Lower Address field will always be zero and the most significant
bit of the Lower Address field will toggle according to the alignment of
the 64-byte data payload.
11730
11731
11732
10962
11733
10963
11734
10964
11735
10965
10966
11736
Table 2-38 Calculating Lower Address from 1st DW BE
10967
10968
11737
1st DW BE[3:0] (b)
11739
First DW BE[3:0] (b)
11740
Lower Address[1:0] (b)
11741
10971
11742
10972
11743
Page 169
Table 2-39 Calculating Lower Address from First DW BE
11738
10969
10970
For all Memory Read Completions, the Lower Address field must
indicate the lower bits of the byte address for the first enabled byte of
data returned with the Completion.
For the first (or only) Completion, the Completer can
generate this field from the least significant 5 bits of the address of
the Request concatenated with 2 bits of byte-level address formed as
shown in Table 2-39 Calculating Lower Address from First DW BE .
For any subsequent Completions, the Lower Address field
will always be zero except for Completions generated by a Root Complex
with an RCB value of 64 bytes. In this case the least significant 6 bits
of the Lower Address field will always be zero and the most significant
bit of the Lower Address field will toggle according to the alignment of
the 64-byte data payload.
Lower Address[1:0] (b)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
10972
11743
10973
11744
10974
0000
10975
11745
10976
00
11747
10977
11748
10978
11749
10999
11
11771
11001
11772
11002
11773
11003
11774
11004
11006
11007
This Completion is the final Completion for the
The Completer must not transmit additional
Completions for this Request.
Example: Completer split the Request into four
parts for servicing; the second Completion had a Completer Abort
Completion Status; the Completer terminated servicing for the Request,
and did not Transmit the remaining two Completions.
11012
11778
11780
11782
11785
11786
11787
11017
11788
11018
11789
11019
11021
11791
11792
11793
11023
11794
11024
Page
Example: Completer split the Request into four
parts for servicing; the second Completion had a Completer Abort
Completion Status; the Completer terminated servicing for the Request,
and did not Transmit the remaining two Completions.
The Byte Count field must indicate the remaining number
of bytes that would be required to complete the Request (as if the
Completion Status were Successful Completion)
The Lower Address field must indicate the lower bits of
the byte address for the first enabled byte of data that would have been
returned with the Completion if the Completion Status were Successful
Completion
11790
Implementation Note
Restricted Programming Model
11022
11025
This Completion is the final Completion for the Request
The Completer must not transmit additional
Completions for this Request
11784
The Byte Count field must indicate the remaining number
of bytes that would be required to complete the Request (as if the
Completion Status were Successful Completion)
The Lower Address field must indicate the lower bits of
the byte address for the first enabled byte of data that would have been
returned with the Completion if the Completion Status were Successful
Completion
11016
11020
When a Read Completion is generated with a Completion Status
other than Successful Completion:
No data is included with the Completion
The Cpl (or CplLk) encoding is used instead of CplD
(or CplDLk)
11783
11013
11015
11777
11781
Request.
11014
11776
11779
11009
11011
11
11775
When a Read Completion is generated with a Completion Status
other than Successful Completion:
No data is included with the Completion
The Cpl (or CplLk) encoding is used instead of CplD
(or CplDLk)
11008
11010
00
11770
11000
11005
0000
11746
Implementation Note
Restricted Programming Model
11795
When a device's programming model restricts (vs. what
is otherwise permitted in PCI Express) the size and/or alignment of Read
Requests directed to the device, that device is permitted to use a
Completer Abort Completion Status for Read Requests which violate the
programming model. An implication of this is that such devices, generally
devices where all communication will be between the device's driver
software and the device itself, need not necessarily implement the
buffering required to generate Completions of length RCB. However, in all
170
cases, the boundaries specified by RCB must be respected for all reads
which the device will complete with Successful Completion status.
11796
When a device's programming model restricts (vs. what
is otherwise permitted in PCI Express) the size and/or alignment of Read
Requests directed to the device, that device is permitted to use a
Completer Abort Completion Status for Read Requests that violate the
programming model. An implication of this is that such devices, generally
devices where all communication will be between the device's driver
software and the device itself, need not necessarily implement the
buffering required to generate Completions of length RCB. However, in all
cases, the boundaries specified by RCB must be respected for all reads
that the device will complete with Successful Completion status.
11025
11796
When a device's programming model restricts (vs. what
is otherwise permitted in PCI Express) the size and/or alignment of Read
/private/tmp/PCISIG/pcie4_combined-snapshot.html
Requests directed to the device, that device is permitted vs.
to use a
Completer Abort Completion Status for Read Requests which violate the
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
programming model. An implication of this is that such devices, generally
devices where all communication will be between the device's driver
software and the device itself, need not necessarily implement the
buffering required to generate Completions of length RCB. However, in all
cases, the boundaries specified by RCB must be respected for all reads
which the device will complete with Successful Completion status.
11026
11797
11027
11798
11028
Examples:
11799
11029
11800
11030
11801
11031
11032
11803
11805
11035
192 -or- 128, 64 -or- 64, 128 -or- 64, 64, 64
11806
11069
11840
11070
11841
11071
11842
11072
11843
11073
11844
11074
11845
11075
11846
11076
2.3.2 Completion Handling Rules
11078
11082
11848
2.3.2 Completion Handling Rules
11849
When a device receives a Completion which does not match the
Transaction ID for any of the outstanding Requests issued by that device,
the Completion is called an “Unexpected Completion”.
If a received Completion matches the Transaction ID of an
outstanding Request, but in some other way does not match the
corresponding Request (e.g., a problem with Attributes, Traffic Class,
Byte Count, Lower Address, etc.), it is strongly recommended for the
Receiver to handle the Completion as a Malformed TLP.
The Completer must not check the IDO Attribute (Attribute
Bit 2) in the Completion, since the Requester is not required to copy the
value of IDO from the Request into the Completion for that request as
stated in Section 2.2.6.4 Relaxed Ordering and ID-Based Ordering
Attributes and Section 2.2.9 Completion Rules .
However, if the Completion is otherwise properly formed,
it is permitted [Footnote: For the case where only the Byte Count or
Lower Address fields mismatch the expected values for a Memory Read
Request, it is actually recommended for the Receiver to handle the
Completion as an Unexpected Completion, since the mismatch might be
caused by a previous Completion being misrouted.] for the Receiver to
handle the Completion as an Unexpected Completion.
11083
11084
192 -or- 128, 64 -or- 64, 128 -or- 64, 64, 64
11847
11077
11081
Memory Read Request with Address of 1 0000h and
Length of C0h bytes (192 decimal) could be completed by a Root Complex
with an RCB value of 64 bytes with one of the following combinations of
Completions (bytes):
11804
11034
11080
Examples:
11802
Memory Read Request with Address of 1 0000h and
Length of C0h bytes (192 decimal) could be completed by a Root Complex
with an RCB value of 64 bytes with one of the following combinations of
Completions (bytes):
11033
11079
When a device's programming model restricts (vs. what
is otherwise permitted in PCI Express) the size and/or alignment of Read
Requests directed to the device, that device is permitted to use a
Completer Abort Completion Status for Read Requests that violate the
programming model. An implication of this is that such devices, generally
devices where all communication will be between the device's driver
software and the device itself, need not necessarily implement the
buffering required to generate Completions of length RCB. However, in all
cases, the boundaries specified by RCB must be respected for all reads
that the device will complete with Successful Completion status.
11850
11851
11852
11853
When a device receives a Completion that does not match the
Transaction ID for any of the outstanding Requests issued by that device,
the Completion is called an “Unexpected Completion”.
If a received Completion matches the Transaction ID of an
outstanding Request, but in some other way does not match the
corresponding Request (e.g., a problem with Attributes, Traffic Class,
Byte Count, Lower Address, etc.), it is strongly recommended for the
Receiver to handle the Completion as a Malformed TLP.
The Completer must not check the IDO Attribute (Attribute
Bit 2) in the Completion, since the Requester is not required to copy the
value of IDO from the Request into the Completion for that request as
stated in Section 2.2.6.4 Relaxed Ordering and ID-Based Ordering
Attributes and Section 2.2.9 Completion Rules .
However, if the Completion is otherwise properly formed,
it is permitted [Footnote: For the case where only the Byte Count or
Lower Address fields mismatch the expected values for a Memory Read
Request, it is actually recommended for the Receiver to handle the
Completion as an Unexpected Completion, since the mismatch might be
caused by a previous Completion being misrouted.] for the Receiver to
handle the Completion as an Unexpected Completion.
11854
When an Ingress Port of a Switch receives a Completion which
cannot be forwarded, that Ingress Port must handle the Completion as an
Unexpected Completion. This includes Completions that target:
Page 171
11855
When an Ingress Port of a Switch receives a Completion that
cannot be forwarded, that Ingress Port must handle the Completion as an
Unexpected Completion. This includes Completions that target:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11084
When an Ingress Port of a Switch receives a Completion which
11085
11086
11087
11088
cannot be forwarded, that Ingress Port must handle the Completion as an
Unexpected Completion. This includes Completions that target:
a non-existent Function in the Device associated with the
Upstream Port,
a non-existent Device on the Bus associated with the
Upstream Port,
a non-existent Device or Function on the internal
switching fabric, or
a Bus Number within the Upstream Port's Bus Number
aperture but not claimed by any Downstream Port.
11089
11090
11091
11092
11855
11856
11857
11858
11859
11860
Receipt of an Unexpected Completion is an error and must be
handled according to the following rules:
The agent receiving an Unexpected Completion must discard
the Completion.
An Unexpected Completion is a reported error associated
with the Receiving Port (see Section 6.2 Error Signaling and Logging ).
11861
11862
11863
11093
11864
11094
11865
11104
11105
11106
11107
11108
11109
11877
11878
11879
11880
Root Complex handling of a Completion with Configuration
Request Retry Status for a Configuration Request is implementation
specific, except for the period following system reset (see Section 6.6
PCI Express Reset - Rules ). For Root Complexes that support CRS Software
Visibility, the following rules apply:
If CRS Software Visibility is not enabled, the Root Complex
must re-issue the Configuration Request as a new Request.
If CRS Software Visibility is enabled (see below):
For a Configuration Read Request that includes both
bytes of the Vendor ID field of a device Function's Configuration Space
Header, the Root Complex must complete the Request to the host by
returning a read-data value of 0001h for the Vendor ID field and all ‘1’s
for any additional bytes included in the request. This read-data value
has been reserved specifically for this use by the PCI-SIG and does not
correspond to any assigned Vendor ID.
For a Configuration Write Request or for any other
Configuration Read Request, the Root Complex must re-issue the
Configuration Request as a new Request.
11882
A Root Complex implementation may choose to limit
the number of Configuration Request/CRS Completion Status loops before
determining that something is wrong with the target of the Request and
taking appropriate action, e.g., complete the Request to the host as a
failed transaction.
11883
11113
Page
11876
11881
A Root Complex implementation may choose to limit
the number of Configuration Request/CRS Completion Status loops before
determining that something is wrong with the target of the Request and
taking appropriate action, e.g., complete the Request to the host as a
failed transaction.
11112
11114
Receipt of an Unexpected Completion is an error and must be
handled according to the following rules:
The agent receiving an Unexpected Completion must discard
the Completion.
An Unexpected Completion is a reported error associated
with the Receiving Port (see Section 6.2 Error Signaling and Logging ).
11875
Root Complex handling of a Completion with Configuration
Request Retry Status for a Configuration Request is implementation
specific, except for the period following system reset (see Section 6.6
PCI Express Reset - Rules ). For Root Complexes that support CRS Software
Visibility, the following rules apply:
If CRS Software Visibility is not enabled, the Root Complex
must re-issue the Configuration Request as a new Request.
If CRS Software Visibility is enabled (see below):
For a Configuration Read Request that includes both
bytes of the Vendor ID field of a device Function's Configuration Space
Header, the Root Complex must complete the Request to the host by
returning a read-data value of 0001h for the Vendor ID field and all ‘1’s
for any additional bytes included in the request. This read-data value
has been reserved specifically for this use by the PCI-SIG and does not
correspond to any assigned Vendor ID.
For a Configuration Write Request or for any other
Configuration Read Request, the Root Complex must re-issue the
Configuration Request as a new Request.
11110
11111
When an Ingress Port of a Switch receives a Completion that
cannot be forwarded, that Ingress Port must handle the Completion as an
Unexpected Completion. This includes Completions that target:
a non-existent Function in the Device associated with the
Upstream Port,
a non-existent Device on the Bus associated with the
Upstream Port,
a non-existent Device or Function on the internal
switching fabric, or
a Bus Number within the Upstream Port's Bus Number
aperture but not claimed by any Downstream Port.
11884
CRS Software Visibility may be enabled through
the CRS Software Visibility Enable bit in the Root Control register (see
Section 7.5.3.12 Root Control Register (Offset 1Ch) ) to control Root
Complex behavior on an individual Root Port basis. Alternatively, Root
Complex behavior may be managed through the CRS Software Visibility
Enable bit in the RCRB Control register as described in Section 7.9.7.4
172
RCRB Control register (Offset 0Ch) , permitting the behavior of one or
more Root Ports or RCiEPs to be controlled by a single Enable bit. For
this alternate case, each Root Port or RCiEP declares its association
with a particular Enable bit via an RCRB header association in a Root
Complex Link Declaration Capability (see Section 7.9.8 Root Complex Link
Declaration Extended Capability ). Each Root Port or RCiEP is permitted
to be controlled by at most one Enable bit. Thus, for example, it is
prohibited for a Root Port whose Root Control register contains an Enable
bit to declare an RCRB header association to an RCRB that also includes
11885
CRS Software Visibility may be enabled through
the CRS Software Visibility Enable bit in the Root Control register (see
Section 7.5.3.12 Root Control Register (Offset 1Ch) ) to control Root
Complex behavior on an individual Root Port basis. Alternatively, Root
Complex behavior may be managed through the CRS Software Visibility
Enable bit in the Root Complex Register Block (RCRB) Control register as
described in Section 7.9.7.4 RCRB Control register (Offset 0Ch) ,
permitting the behavior of one or more Root Ports or RCiEPs to be
controlled by a single Enable bit. For this alternate case, each Root
Port or RCiEP declares its association with a particular Enable bit via
an RCRB header association in a Root Complex Link Declaration Capability
(see Section 7.9.8 Root Complex Link Declaration Extended Capability ).
Each Root Port or RCiEP is permitted to be controlled by at most one
Enable bit. Thus, for example, it is prohibited for a Root Port whose
Root Control register contains an Enable bit to declare an RCRB header
11114
CRS Software Visibility may be enabled through
/private/tmp/PCISIG/pcie4_combined-snapshot.html
the CRS Software Visibility Enable bit in the Root Controlvs.
register (see
Section 7.5.3.12 Root Control Register (Offset 1Ch) ) to control Root
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Complex behavior on an individual Root Port basis. Alternatively, Root
11885
Complex behavior may be managed through the CRS Software Visibility
Enable bit in the RCRB Control register as described in Section 7.9.7.4
RCRB Control register (Offset 0Ch) , permitting the behavior of one or
more Root Ports or RCiEPs to be controlled by a single Enable bit. For
this alternate case, each Root Port or RCiEP declares its association
with a particular Enable bit via an RCRB header association in a Root
Complex Link Declaration Capability (see Section 7.9.8 Root Complex Link
Declaration Extended Capability ). Each Root Port or RCiEP is permitted
to be controlled by at most one Enable bit. Thus, for example, it is
prohibited for a Root Port whose Root Control register contains an Enable
bit to declare an RCRB header association to an RCRB that also includes
an Enable bit in its RCRB Header Capability. The presence of an Enable
bit in a Root Port or RCRB Header Capability is indicated by the
corresponding CRS Software Visibility bit (see Section 7.5.3.13 Root
Capabilities Register (Offset 1Eh) and , respectively).
11115
11886
11116
11887
11117
11118
11119
11888
Completions with a Configuration Request Retry Status in
response to a Request other than a Configuration Request are illegal.
Receivers may optionally report these violations as Malformed TLPs
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging )
11120
11121
11122
11123
11126
11127
11130
11131
11893
11894
Completions with a Reserved Completion Status value are
treated as if the Completion Status was Unsupported Request (UR).
Completions with a Completion Status of Unsupported Request
or Completer Abort are reported using the conventional PCI reporting
mechanisms (see Section 7.5.1.1.4 Status Register (Offset 06h) ).
Note that the error condition that triggered the generation
of such a Completion is reported by the Completer as described in Section
6.2 Error Signaling and Logging .
11896
11897
11898
When a Read Completion or an AtomicOp Completion is received
with a Completion Status other than Successful Completion:
No data is included with the Completion
The Cpl (or CplLk) encoding is used instead of CplD
(CplDLk)
11900
11901
11902
This Completion is the final Completion for the Request
The Requester must consider the Request terminated, and
not expect additional Completions
Handling of partial Completions Received earlier is
implementation specific
11903
11133
Page
11892
11899
This Completion is the final Completion for the Request.
The Requester must consider the Request terminated, and
not expect additional Completions.
Handling of partial Completions Received earlier is
implementation specific.
11132
11134
11890
Completions with a Configuration Request Retry Status in
response to a Request other than a Configuration Request are illegal.
Receivers may optionally report these violations as Malformed TLPs.
This is a reported error associated with the Receiving Port
(see Section 6.2 Error Signaling and Logging ).
11895
When a Read Completion or an AtomicOp Completion is received
with a Completion Status other than Successful Completion:
No data is included with the Completion
The Cpl (or CplLk) encoding is used instead of CplD
(CplDLk)
11128
11129
11889
11891
Completions with a Reserved Completion Status value are
treated as if the Completion Status was Unsupported Request (UR)
Completions with a Completion Status of Unsupported Request
or Completer Abort are reported using the conventional PCI reporting
mechanisms (see Section 7.5.1.1.4 Status Register (Offset 06h) )
Note that the error condition that triggered the generation
of such a Completion is reported by the Completer as described in Section
6.2 Error Signaling and Logging
11124
11125
CRS Software Visibility may be enabled through
the CRS Software Visibility Enable bit in the Root Control register (see
Section 7.5.3.12 Root Control Register (Offset 1Ch) ) to control Root
Complex behavior on an individual Root Port basis. Alternatively, Root
Complex behavior may be managed through the CRS Software Visibility
Enable bit in the Root Complex Register Block (RCRB) Control register as
described in Section 7.9.7.4 RCRB Control register (Offset 0Ch) ,
permitting the behavior of one or more Root Ports or RCiEPs to be
controlled by a single Enable bit. For this alternate case, each Root
Port or RCiEP declares its association with a particular Enable bit via
an RCRB header association in a Root Complex Link Declaration Capability
(see Section 7.9.8 Root Complex Link Declaration Extended Capability ).
Each Root Port or RCiEP is permitted to be controlled by at most one
Enable bit. Thus, for example, it is prohibited for a Root Port whose
Root Control register contains an Enable bit to declare an RCRB header
association to an RCRB that also includes an Enable bit in its RCRB
Header Capability. The presence of an Enable bit in a Root Port or RCRB
Header Capability is indicated by the corresponding CRS Software
Visibility bit (see Section 7.5.3.13 Root Capabilities Register (Offset
1Eh) and Section 7.9.7.3 RCRB Capabilities register (Offset 08h) ,
respectively).
11904
Example: The Requester received 32 bytes of Read
data for a 128-byte Read Request it had issued, then a Completion with
the Completer Abort Completion Status. The Requester then must free the
internal resources which had been allocated for that particular Read
Request.
173
11905
Example: The Requester received 32 bytes of Read
data for a 128-byte Read Request it had issued, then it receives a
Completion with the Completer Abort Completion Status. The Requester then
must free the internal resources that had been allocated for that
particular Read Request.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
11134
Example: The Requester received 32 bytes of Read
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
data for a 128-byte Read Request it had issued, then a Completion with
11905
the Completer Abort Completion Status. The Requester then must free the
internal resources which had been allocated for that particular Read
Request.
11135
11906
11136
11907
11137
11908
11138
11909
11139
11910
11140
11911
11141
Implementation Note
Read Data Values with UR Completion Status
11142
11912
11913
11143
11914
11144
11915
11151
11922
11152
11923
11153
11925
2.4 Transaction Ordering
11155
11926
11156
11927
11157
11929
2.4.1 Transaction Ordering Rules
11159
11931
Table 2-39 Ordering Rules Summary defines the ordering
requirements for PCI Express Transactions. The rules defined in this
table apply uniformly to all types of Transactions on PCI Express
including Memory, I/O, Configuration, and Messages. The ordering rules
defined in this table apply within a single Traffic Class (TC). There is
no ordering requirement among transactions with different TC labels. Note
that this also implies that there is no ordering required between traffic
that flows through different Virtual Channels since transactions with the
same TC label are not allowed to be mapped to multiple VCs on any PCI
Express Link.
11162
11932
Table 2-40 Ordering Rules Summary defines the ordering
requirements for PCI Express Transactions. The rules defined in this
table apply uniformly to all types of Transactions on PCI Express
including Memory, I/O, Configuration, and Messages. The ordering rules
defined in this table apply within a single Traffic Class (TC). There is
no ordering requirement among transactions with different TC labels. Note
that this also implies that there is no ordering required between traffic
that flows through different Virtual Channels since transactions with the
same TC label are not allowed to be mapped to multiple VCs on any PCI
Express Link.
11933
11163
11934
For Table 2-39 Ordering Rules Summary ,
a first issued transaction and the rows represent a
transaction. The table entry indicates the ordering
the two transactions. The table entries are defined
the columns represent
subsequently issued
relationship between
as follows:
11165
11935
For Table 2-40 Ordering Rules Summary ,
a first issued transaction and the rows represent a
transaction. The table entry indicates the ordering
the two transactions. The table entries are defined
the columns represent
subsequently issued
relationship between
as follows:
11936
11166
11937
11167
Yes
11168
11938
Yes
11939
The second transaction (row) must be allowed to pass the
first (column) to avoid deadlock. (When blocking occurs, the second
transaction is required to pass the first transaction. Fairness must be
comprehended to prevent starvation.)
11170
11940
The second transaction (row) must be allowed to pass the
first (column) to avoid deadlock. (When blocking occurs, the second
transaction is required to pass the first transaction. Fairness must be
comprehended to prevent starvation.)
11941
11171
Y/N
11172
11173
2.4.1 Transaction Ordering Rules
11930
11160
11169
2.4 Transaction Ordering
11928
11158
11164
Implementation Note
Read Data Values with UR Completion Status
11924
11154
11161
Example: The Requester received 32 bytes of Read
data for a 128-byte Read Request it had issued, then it receives a
Completion with the Completer Abort Completion Status. The Requester then
must free the internal resources that had been allocated for that
particular Read Request.
11942
Y/N
11943
There are no requirements. The second transaction may
optionally pass the first transaction or be blocked by it.
Page 174
11944
There are no requirements. The second transaction may
optionally pass the first transaction or be blocked by it.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11173
There are no requirements. The second transaction may
optionally pass the first transaction or be blocked by it.
11174
There are no requirements. The second transaction may
optionally pass the first transaction or be blocked by it.
11945
11175
11946
No
11176
11177
11944
No
11947
The second transaction must not be allowed to pass the
first transaction. This is required to support the producer/consumer
strong ordering model.
11948
11178
11949
11179
11950
11180
11181
11951
Table 2-39 Ordering Rules Summary
11182
11183
11952
Row Pass Column?
11954
Posted Request (Col 2)
11186
11956
11188
11959
11962
11190
11964
11191
11965
11192
11194
11967
11970
11196
11972
11197
11973
11198
11200
11202
11975
11209
11979
11981
Yes
11983
a) Y/N
b) Yes
11985
11986
11987
11211
11988
11212
11214
Page 175
Yes
Yes
11984
11210
11213
a) No
b) Y/N
11982
11207
11208
11978
11980
Yes
11205
11206
Posted Request
(Row A)
11977
a) No
b) Y/N
11203
11204
NPR with Data
(Col 4)
11974
Posted Request (Row A)
11976
11201
Read Request
(Col 3)
11969
NPR with Data (Col 4)
11971
11199
Completion
(Col 5)
11966
Read Request (Col 3)
11968
11195
Non-Posted
Request
11961
Completion (Col 5)
11963
11193
Posted Request
(Col 2)
11958
Non-Posted Request
11960
11189
Row Pass Column?
11955
11957
11187
Table 2-40 Ordering Rules Summary
11953
11184
11185
The second transaction must not be allowed to pass the
first transaction. This is required to support the producer/consumer
strong ordering model.
a) Y/N
b) Yes
11989
Non-Posted Request
11990
11991
Non-Posted Request
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11214
11991
11215
Read Request (Row B)
11992
Read Request
(Row B)
11993
11216
11994
11217
a) No
b) Y/N
11218
11219
11995
a) No
b) Y/N
11996
11997
11220
Y/N
11221
11998
Y/N
11999
11222
Y/N
11223
12000
Y/N
12001
11224
Y/N
12002
11225
12003
11226
12004
11227
Y/N
12005
11228
NPR with Data (Row C)
12006
NPR with Data
(Row C)
12007
11229
12008
11230
a) No
b) Y/N
11231
11232
12009
a) No
b) Y/N
12010
12011
11233
Y/N
11234
12012
Y/N
12013
11235
Y/N
11236
12014
Y/N
12015
11237
Y/N
12016
11238
12017
11239
12018
11240
Y/N
12019
11241
Completion (Row D)
12020
Completion
(Row D)
12021
11242
12022
11243
a) No
b) Y/N
11244
11245
12023
12025
11246
Yes
11247
12026
Yes
12027
11248
Yes
11249
12028
Yes
12029
11250
a) Y/N
b) No
11251
12030
12032
11253
12033
11254
12034
11255
12035
11256
a) Y/N
b) No
12031
11252
11257
a) No
b) Y/N
12024
12036
Explanation of the row and column headers in Table 2-39
Ordering Rules Summary :
11258
12037
Explanation of the row and column headers in Table 2-40
Ordering Rules Summary :
12038
11259
12039
11260
A Posted Request is a Memory Write Request or a Message
Request.
Page 176
12040
A Posted Request is a Memory Write Request or a Message
Request.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11260
A Posted Request is a Memory Write Request or a Message
12040
Request.
11261
12041
11262
11263
12042
A Read Request is a Configuration Read Request, an I/O Read
Request, or a Memory Read Request.
11264
12043
12045
An NPR (Non-Posted Request) with Data is a Configuration
Write Request, an I/O Write Request, or an AtomicOp Request.
11267
12046
12048
11269
A Non-Posted Request is a Read Request or an NPR with Data.
11270
12049
12051
11272
Explanation of the entries in Table 2-39 Ordering Rules
12052
Summary :
12053
11274
12054
11275
A2a
11276
A Posted Request must not pass another Posted Request
unless A2b applies.
A2a
12057
A Posted Request must not pass another Posted Request
unless A2b applies.
12058
11279
A2b
11280
12059
A2b
12060
A Posted Request with RO [Footnote: In this section, “RO”
is an abbreviation for the Relaxed Ordering Attribute field.] Set is
permitted to pass another Posted Request. [Footnote: Some usages are
enabled by not implementing this passing (see the No RO-enabled PR-PR
Passing bit in ).] A Posted Request with IDO Set is permitted to pass
another Posted Request if the two Requester IDs are different or if both
Requests contain a PASID TLP Prefix and the two PASID values are
different.
11282
12061
A Posted Request with RO [Footnote: In this section, “RO”
is an abbreviation for the Relaxed Ordering Attribute field.] Set is
permitted to pass another Posted Request. [Footnote: Some usages are
enabled by not implementing this passing (see the No RO-enabled PR-PR
Passing bit in Section 7.5.3.15 Device Capabilities 2 Register (Offset
24h) ).] A Posted Request with IDO Set is permitted to pass another
Posted Request if the two Requester IDs are different or if both Requests
contain a PASID TLP Prefix and the two PASID values are different.
12062
11283
A3, A4
11284
12063
A3, A4
12064
A Posted Request must be able to pass Non-Posted Requests
to avoid deadlocks.
11286
12065
A Posted Request must be able to pass Non-Posted Requests
to avoid deadlocks.
12066
11287
A5a
11288
12067
A5a
12068
A Posted Request is permitted to pass a Completion, but is
not required to be able to pass Completions unless A5b applies.
11290
12069
A Posted Request is permitted to pass a Completion, but is
not required to be able to pass Completions unless A5b applies.
12070
11291
11333
12055
12056
11278
11289
Explanation of the entries in Table 2-40 Ordering Rules
Summary :
11273
11285
A Non-Posted Request is a Read Request or an NPR with Data.
12050
11271
11281
An NPR (Non-Posted Request) with Data is a Configuration
Write Request, an I/O Write Request, or an AtomicOp Request.
12047
11268
11277
A Read Request is a Configuration Read Request, an I/O Read
Request, or a Memory Read Request.
12044
11265
11266
A Posted Request is a Memory Write Request or a Message
Request.
A5b
Completions with different Transaction IDs are permitted to
pass each other.
11334
11335
11336
Page 177
12071
12113
A5b
Completions with different Transaction IDs are permitted to
pass each other.
12114
D5b
12115
12116
D5b
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11336
11337
12116
Completions with the same Transaction ID must not pass each
other. This ensures that multiple Completions associated with a single
Memory Read Request will remain in ascending address order.
11338
12119
11340
Additional Rules:
11341
11343
11344
Completions with the same Transaction ID must not pass each
other. This ensures that multiple Completions associated with a single
Memory Read Request will remain in ascending address order.
12118
11339
11342
12117
12120
Additional Rules:
12121
PCI Express Switches are permitted to allow a Memory Write or
Message Request with the Relaxed Ordering bit set to pass any previously
posted Memory Write or Message Request moving in the same direction.
Switches must forward the Relaxed Ordering attribute unmodified. The Root
Complex is also permitted to allow data bytes within the Request to be
written to system memory in any order. (The bytes must be written to the
correct system memory locations. Only the order in which they are written
is unspecified).
For Root Complex and Switch, Memory Write combining (as
defined in the [[PCI Local Bus Specification]]) is prohibited.
Note: This is required so that devices can be permitted to
optimize their receive buffer and control logic for Memory Write sizes
matching their natural expected sizes, rather than being required to
support the maximum possible Memory Write payload size.
12122
12123
12124
PCI Express Switches are permitted to allow a Memory Write or
Message Request with the Relaxed Ordering bit set to pass any previously
posted Memory Write or Message Request moving in the same direction.
Switches must forward the Relaxed Ordering attribute unmodified. The Root
Complex is also permitted to allow data bytes within the Request to be
written to system memory in any order. (The bytes must be written to the
correct system memory locations. Only the order in which they are written
is unspecified).
For Root Complex and Switch, Memory Write combining (as
defined in the [ PCI ]) is prohibited.
Note: This is required so that devices can be permitted to
optimize their receive buffer and control logic for Memory Write sizes
matching their natural expected sizes, rather than being required to
support the maximum possible Memory Write payload size.
12125
11345
11346
11347
11348
11349
11350
11351
Combining of Memory Read Requests, and/or Completions for
different Requests is prohibited.
The No Snoop bit does not affect the required ordering
behavior.
For Root Ports and Switch Downstream Ports, acceptance of a
Posted Request or Completion must not depend upon the transmission of a
Non-Posted Request within the same traffic class. [Footnote: Satisfying
the above rules is a necessary, but not sufficient condition to ensure
deadlock free operation. Deadlock free operation is dependent upon the
system topology, the number of Virtual Channels supported and the
configured Traffic Class to Virtual Channel mappings. Specification of
platform and system constraints to ensure deadlock free operation is
outside the scope of this specification (see Appendix D Request
Dependencies for a discussion of relevant issues).]
For Switch Upstream Ports, acceptance of a Posted Request or
Completion must not depend upon the transmission on a Downstream Port of
Non-Posted Request within the same traffic class. [Footnote: 34]
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Posted Request must not depend upon the transmission of
any TLP from that same Upstream Port within the same traffic class.
[Footnote: 34]
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Non-posted Request must not depend upon the transmission
of a Non-Posted Request from that same Upstream Port within the same
traffic class. [Footnote: 34]
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Completion must not depend upon the transmission of any
TLP from that same Upstream Port within the same traffic class.
[Footnote: 34]
Page 178
12126
12127
12128
12129
12130
Combining of Memory Read Requests, and/or Completions for
different Requests is prohibited.
The No Snoop bit does not affect the required ordering
behavior.
For Root Ports and Switch Downstream Ports, acceptance of a
Posted Request or Completion must not depend upon the transmission of a
Non-Posted Request within the same traffic class. [Footnote: Satisfying
the above rules is a necessary, but not sufficient condition to ensure
deadlock free operation. Deadlock free operation is dependent upon the
system topology, the number of Virtual Channels supported and the
configured Traffic Class to Virtual Channel mappings. Specification of
platform and system constraints to ensure deadlock free operation is
outside the scope of this specification (see Appendix D Request
Dependencies for a discussion of relevant issues).]
For Switch Upstream Ports, acceptance of a Posted Request or
Completion must not depend upon the transmission on a Downstream Port of
Non-Posted Request within the same traffic class. [Footnote: Satisfying
the above rules is a necessary, but not sufficient condition to ensure
deadlock free operation. Deadlock free operation is dependent upon the
system topology, the number of Virtual Channels supported and the
configured Traffic Class to Virtual Channel mappings. Specification of
platform and system constraints to ensure deadlock free operation is
outside the scope of this specification (see Appendix D Request
Dependencies for a discussion of relevant issues).]
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Posted Request must not depend upon the transmission of
any TLP from that same Upstream Port within the same traffic class.
[Footnote: Satisfying the above rules is a necessary, but not sufficient
condition to ensure deadlock free operation. Deadlock free operation is
dependent upon the system topology, the number of Virtual Channels
supported and the configured Traffic Class to Virtual Channel mappings.
Specification of platform and system constraints to ensure deadlock free
operation is outside the scope of this specification (see Appendix D
Request Dependencies for a discussion of relevant issues).]
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
11351
For Endpoint, Bridge, and Switch Upstream Ports, the
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
acceptance of a Completion must not depend upon the transmission of any
12130
TLP from that same Upstream Port within the same traffic class.
[Footnote: 34]
12131
12132
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Posted Request must not depend upon the transmission of
any TLP from that same Upstream Port within the same traffic class.
[Footnote: Satisfying the above rules is a necessary, but not sufficient
condition to ensure deadlock free operation. Deadlock free operation is
dependent upon the system topology, the number of Virtual Channels
supported and the configured Traffic Class to Virtual Channel mappings.
Specification of platform and system constraints to ensure deadlock free
operation is outside the scope of this specification (see Appendix D
Request Dependencies for a discussion of relevant issues).]
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Non-posted Request must not depend upon the transmission
of a Non-Posted Request from that same Upstream Port within the same
traffic class. [Footnote: Satisfying the above rules is a necessary, but
not sufficient condition to ensure deadlock free operation. Deadlock free
operation is dependent upon the system topology, the number of Virtual
Channels supported and the configured Traffic Class to Virtual Channel
mappings. Specification of platform and system constraints to ensure
deadlock free operation is outside the scope of this specification (see
Appendix D Request Dependencies for a discussion of relevant issues).]
For Endpoint, Bridge, and Switch Upstream Ports, the
acceptance of a Completion must not depend upon the transmission of any
TLP from that same Upstream Port within the same traffic class.
[Footnote: Satisfying the above rules is a necessary, but not sufficient
condition to ensure deadlock free operation. Deadlock free operation is
dependent upon the system topology, the number of Virtual Channels
supported and the configured Traffic Class to Virtual Channel mappings.
Specification of platform and system constraints to ensure deadlock free
operation is outside the scope of this specification (see Appendix D
Request Dependencies for a discussion of relevant issues).]
12133
11352
11353
12134
Note that Endpoints are never permitted to block
acceptance of a Completion.
11354
11355
11356
Note that Endpoints are never permitted to block acceptance
of a Completion.
12136
Completions issued for Non-Posted requests must be returned
in the same Traffic Class as the corresponding Non-Posted request.
Root Complexes that support peer-to-peer operation and
Switches must enforce these transaction ordering rules for all forwarded
traffic.
11357
12137
12138
Completions issued for Non-Posted requests must be returned in
the same Traffic Class as the corresponding Non-Posted request.
Root Complexes that support peer-to-peer operation and
Switches must enforce these transaction ordering rules for all forwarded
traffic.
12139
11358
11359
12135
12140
To ensure deadlock-free operation, devices should not forward
traffic from one Virtual Channel to another. The specification of
constraints used to avoid deadlock in systems where devices forward or
translate transactions between Virtual Channels is outside the scope of
this document (see Appendix D Request Dependencies for a discussion of
relevant issues).
12141
11360
12142
11361
12143
11362
11363
11364
12144
Implementation Note
Large Memory Reads vs. Multiple Smaller Memory Reads
12145
12146
11365
12147
11366
12148
Page 179
To ensure deadlock-free operation, devices should not forward
traffic from one Virtual Channel to another. The specification of
constraints used to avoid deadlock in systems where devices forward or
translate transactions between Virtual Channels is outside the scope of
this document (see Appendix D Request Dependencies for a discussion of
relevant issues).
Implementation Note
Large Memory Reads vs. Multiple Smaller Memory Reads
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11366
12148
11367
11368
12149
Note that the rule associated with entry D5b in Table
2-39 Ordering Rules Summary ensures that for a single Memory Read Request
serviced with multiple Completions, the Completions will be returned in
address order. However, the rule associated with entry D5a permits that
different Completions associated with distinct Memory Read Requests may
be returned in a different order than the issue order for the Requests.
For example, if a device issues a single Memory Read Request for 256
bytes from location 1000h, and the Request is returned using two
Completions (see Section 2.3.1.1 Data Return for Read Requests ) of 128
bytes each, it is guaranteed that the two Completions will return in the
following order:
11369
12152
11371
1st Completion returned: Data from 1000h to 107Fh.
11372
2nd Completion returned: Data from 1080h to 10FFh.
11375
12156
2nd Completion returned: Data from 1080h to 10FFh.
12157
11376
12158
However, if the device issues two Memory Read Requests
for 128 bytes each, first to location 1000h, then to location 1080h, the
two Completions may return in either order:
11378
12159
However, if the device issues two Memory Read Requests
for 128 bytes each, first to location 1000h, then to location 1080h, the
two Completions may return in either order:
12160
11447
12229
The Virtual Channel (VC) mechanism provides support for
carrying, throughout the fabric, traffic that is differentiated using TC
labels. The foundations of VCs are independent fabric resources (queues/
buffers and associated control logic). These resources are used to move
information across Links with fully independent Flow Control between
different VCs. This is key to solving the problem of flow-control induced
blocking where a single traffic flow may create a bottleneck for all
traffic within the system.
11449
12230
The Virtual Channel (VC) mechanism provides support for
carrying, throughout the fabric, traffic that is differentiated using TC
labels. The foundations of VCs are independent fabric resources (queues/
buffers and associated control logic). These resources are used to move
information across Links with fully independent Flow Control between
different VCs. This is key to solving the problem of flow-control induced
blocking where a single traffic flow may create a bottleneck for all
traffic within the system.
12231
11450
12232
Traffic is associated with VCs by mapping packets with
particular TC labels to their corresponding VCs. The VC and MultiFunction Virtual Channel (MFVC) mechanisms allow flexible mapping of TCs
onto the VCs. In the simplest form, TCs can be mapped to VCs on a 1:1
basis. To allow performance/cost tradeoffs, PCI Express provides the
capability of mapping multiple TCs onto a single VC. Section 2.5.2 TC to
VC Mapping covers details of TC to VC mapping.
11452
12233
Traffic is associated with VCs by mapping packets with
particular TC labels to their corresponding VCs. The VC and MultiFunction Virtual Channel (MFVC) mechanisms allow flexible mapping of TCs
onto the VCs. In the simplest form, TCs can be mapped to VCs on a 1:1
basis. To allow performance/cost tradeoffs, PCI Express provides the
capability of mapping multiple TCs onto a single VC. Section 2.5.2 TC to
VC Mapping covers details of TC to VC mapping.
12234
11453
11454
1st Completion returned: Data from 1000h to 107Fh.
12155
11374
11451
12153
12154
11373
11448
Note that the rule associated with entry D5b in Table
2-40 Ordering Rules Summary ensures that for a single Memory Read Request
serviced with multiple Completions, the Completions will be returned in
address order. However, the rule associated with entry D5a permits that
different Completions associated with distinct Memory Read Requests may
be returned in a different order than the issue order for the Requests.
For example, if a device issues a single Memory Read Request for 256
bytes from location 1000h, and the Request is returned using two
Completions (see Section 2.3.1.1 Data Return for Read Requests ) of 128
bytes each, it is guaranteed that the two Completions will return in the
following order:
12151
11370
11377
12150
12235
A Virtual Channel is established when one or multiple TCs are
associated with a physical VC resource designated by Virtual Channel
Identification (VC ID). This process is controlled by configuration
software as described in Section 6.3 Virtual Channel Support , Section
7.9.1 Virtual Channel Extended Capability , and Section 7.9.2 MultiFunction Virtual Channel Extended Capability .
Page 180
12236
A Virtual Channel is established when one or multiple TCs are
associated with a physical VC resource designated by Virtual Channel
Identification (VC ID). This process is controlled by configuration
software as described in Section 6.3 Virtual Channel Support , Section
7.9.1 Virtual Channel Extended Capability , and Section 7.9.2 MultiFunction Virtual Channel Extended Capability .
11454
A Virtual Channel is established when one or multiple TCs are
12236
associated with a physical VC resource designated by Virtual
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs. Channel
Identification (VC ID). This process is controlled by configuration
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
software as described in Section 6.3 Virtual Channel Support , Section
7.9.1 Virtual Channel Extended Capability , and Section 7.9.2 MultiFunction Virtual Channel Extended Capability .
11455
12237
11456
11457
12238
Support for TCs and VCs beyond default TC0/VC0 pair is
optional. The association of TC0 with VC0 is fixed, i.e., “hardwired”,
and must be supported by all components. Therefore the baseline TC/VC
setup does not require any VC-specific hardware or software
configuration. In order to ensure interoperability, components that do
not implement the optional Virtual Channel Capability structure or MultiFunction Virtual Channel Capability structure must obey the following
rules:
11458
11459
11460
11461
12241
12242
12243
A Requester must only generate requests with TC0 label. (Note
that if the Requester initiates requests with a TC label other than TC0,
the requests may be treated as malformed by the component on the other
side of the Link that implements the extended VC capability and applies
TC Filtering.)
A Completer must accept requests with TC label other than TC0,
and must preserve the TC label . That is, any completion that it generates
must have the same TC label as the label of the request.
A Switch must map all TCs to VC0 and must forward all
transactions regardless of the TC label.
12245
A Device containing Functions capable of generating Requests
with TC labels other than TC0 must implement suitable VC or MFVC
Capability structures (as applicable), even if it only supports the
default VC. Example Function types are Endpoints and Root Ports. This is
required in order to enable mapping of TCs beyond the default
configuration. It must follow the TC/VC mapping rules according to the
software programming of the VC and MFVC Capability structures.
11465
12246
A Device containing Functions capable of generating Requests
with TC labels other than TC0 must implement suitable VC or MFVC
Capability structures (as applicable), even if it only supports the
default VC. Example Function types are Endpoints and Root Ports. This is
required in order to enable mapping of TCs beyond the default
configuration. It must follow the TC/VC mapping rules according to the
software programming of the VC and MFVC Capability structures.
12247
11466
12248
Figure 2-42 Virtual Channel Concept - An Illustration
illustrates the concept of Virtual Channel. Conceptually, traffic that
flows through VCs is multiplexed onto a common physical Link resource on
the Transmit side and de-multiplexed into separate VC paths on the
Receive side.
12249
11468
12250
11469
12251
11470
12252
11471
Figure 2-45 Virtual Channel Concept - An Illustration
illustrates the concept of Virtual Channel. Conceptually, traffic that
flows through VCs is multiplexed onto a common physical Link resource on
the Transmit side and de-multiplexed into separate VC paths on the
Receive side.
12253
11472
Figure 2-42 Virtual Channel Concept - An Illustration
12254
11473
12255
11474
12256
11475
11476
Support for TCs and VCs beyond the default TC0/VC0 pair is
optional. The association of TC0 with VC0 is fixed, i.e., “hardwired”,
and must be supported by all components. Therefore the baseline TC/VC
setup does not require any VC-specific hardware or software
configuration. In order to ensure interoperability, components that do
not implement the optional Virtual Channel Capability structure or MultiFunction Virtual Channel Capability structure must obey the following
rules:
12244
11463
11467
12239
12240
A Requester must only generate requests with TC0 label. (Note
that if the Requester initiates requests with a TC label other than TC0,
the requests may be treated as malformed by the component on the other
side of the Link that implements the extended VC capability and applies
TC Filtering.)
A Completer must accept requests with TC label other than TC0,
and must preserve the TC label, i.e. , any completion that it generates
must have the same TC label as the label of the request.
A Switch must map all TCs to VC0 and must forward all
transactions regardless of the TC label.
11462
11464
A Virtual Channel is established when one or multiple TCs are
associated with a physical VC resource designated by Virtual Channel
Identification (VC ID). This process is controlled by configuration
software as described in Section 6.3 Virtual Channel Support , Section
7.9.1 Virtual Channel Extended Capability , and Section 7.9.2 MultiFunction Virtual Channel Extended Capability .
Figure 2-45 Virtual Channel Concept - An Illustration
12257
Internal to the Switch, every Virtual Channel requires
dedicated phys Figure 2-43 Virtual Channel Concept - Switch Internals
(Upstream Flow) shows conceptually the VC resources within the Switch
(shown in Figure 2-42 Virtual Channel Concept - An Illustration ) that
are required to support traffic flow in the Upstream direction.
Page 181
12258
Internal to the Switch, every Virtual Channel requires
dedicated phys Figure 2-46 Virtual Channel Concept - Switch Internals
(Upstream Flow) shows conceptually the VC resources within the Switch
(shown in Figure 2-45 Virtual Channel Concept - An Illustration ) that
are required to support traffic flow in the Upstream direction.
11476
Internal to the Switch, every Virtual Channel requires
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
dedicated phys Figure 2-43 Virtual Channel Concept - Switch Internals
(Upstream Flow) shows conceptually the VC resources within the Switch
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12258
(shown in Figure 2-42 Virtual Channel Concept - An Illustration ) that
are required to support traffic flow in the Upstream direction.
11477
12259
11478
12260
11479
12261
11480
11481
12262
Figure 2-43 Virtual Channel Concept - Switch Internals
(Upstream Flow)
12263
11482
12264
11483
12265
11484
11485
12267
12268
11487
12269
11488
Implementation Note
VC and VC Buffering Considerations
11490
12271
12272
11491
12273
11492
12274
11493
12276
The amount of buffering beyond the architectural minimums
per supported VC is implementation-specific.
12277
11496
12278
Buffering beyond the architectural minimums is not required
to be identical across all VCs on a given Link, i.e. , an implementation
may provide greater buffer depth for selected VCs as a function of
implementation usage models and other Link attributes, e.g., Link width
and signaling.
11498
12279
Buffering beyond the architectural minimums is not required
to be identical across all VCs on a given Link . That is, an
implementation may provide greater buffer depth for selected VCs as a
function of implementation usage models and other Link attributes, e.g.,
Link width and signaling.
12280
11499
12281
Implementations may adjust their buffering per VC based on
implementation-specific policies derived from configuration and VC
enablement, e.g. , if a four VC implementation has only two VCs enabled,
the implementation may assign the non-enabled VC buffering to the enabled
VCs to improve fabric efficiency/performance by reducing the probability
of fabric backpressure due to Link-level flow control.
11501
12282
Implementations may adjust their buffering per VC based on
implementation-specific policies derived from configuration and VC
enablement . For example, if a four VC implementation has only two VCs
enabled, the implementation may assign the non-enabled VC buffering to
the enabled VCs to improve fabric efficiency/performance by reducing the
probability of fabric backpressure due to Link-level flow control.
12283
11502
11503
Implementation Note
VC and VC Buffering Considerations
12275
The amount of buffering beyond the architectural minimums
per supported VC is implementation-specific.
11495
11500
An MFD may implement Virtual Channel resources similar to a
subset of those in a Switch, for the purpose of managing the Quality of
Service (QoS) for Upstream requests from the different Functions to the
device's Upstream Egress Port.
12270
11489
11497
Figure 2-46 Virtual Channel Concept - Switch Internals
(Upstream Flow)
12266
A Multi-Function Device may implement Virtual Channel resources
similar to a subset of those in a Switch, for the purpose of managing the
Quality of Service (QoS) for Upstream requests from the different
Functions to the device's Upstream Egress Port.
11486
11494
Internal to the Switch, every Virtual Channel requires
dedicated phys Figure 2-46 Virtual Channel Concept - Switch Internals
(Upstream Flow) shows conceptually the VC resources within the Switch
(shown in Figure 2-45 Virtual Channel Concept - An Illustration ) that
are required to support traffic flow in the Upstream direction.
12284
The number of VCs supported, and the associated buffering
per VC per Port, are not required to be the same for all Ports of a
multi-Port component (a Switch or Root Complex).
12285
11504
12286
11505
12287
11506
12288
11507
12289
11508
11509
11510
Page 182
The number of VCs supported, and the associated buffering
per VC per Port, are not required to be the same for all Ports of a
multi-Port component (a Switch or Root Complex).
12290
2.5.1 Virtual Channel Identification (VC ID)
12291
12292
2.5.1 Virtual Channel Identification (VC ID)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11510
12292
11511
11512
12293
PCI Express Ports can support 1 to 8 Virtual Channels - each
Port is independently configured/managed therefore allowing
implementations to vary the number of VCs supported per Port based on
usage model-specific requirements. These VCs are uniquely identified
using the VC ID mechanism.
11513
12296
Note that while DLLPs contain VC ID information for Flow
Control accounting, TLPs do not. The association of TLPs with VC ID for
the purpose of Flow Control accounting is done at each Port of the Link
using TC to VC mapping as discussed in Section 2.5.2 TC to VC Mapping .
11516
11521
11522
11523
12300
All Ports that support more than VC0 must provide at least
one VC Capability structure according to the definition in Section 7.9.1
Virtual Channel Extended Capability . An MFD is permitted to implement
the MFVC Capability structure, as defined in Section 7.9.2 Multi-Function
Virtual Channel Extended Capability . Providing these extended structures
is optional for Ports that support only the default TC0/VC0
configuration. Configuration software is responsible for configuring
Ports on both sides of the Link for a matching number of VCs. This is
accomplished by scanning the hierarchy and using VC or MFVC Capability
registers associated with Ports (that support more than default VC0) to
establish the number of VCs for the Link. Rules for assigning VC ID to VC
hardware resources within a Port are as follows:
12301
VC ID assignment must be unique per Port - The same VC ID
cannot be assigned to different VC hardware resources within the same
Port.
VC ID assignment must be the same (matching in the terms of
numbers of VCs and their IDs) for the two Ports on both sides of a Link.
If a Multi-Function Device implements an MFVC Capability
structure, its VC hardware resources are distinct from the VC hardware
resources associated with any VC Capability structures of its Functions.
The VC ID uniqueness requirement (first bullet above) still applies
individually for the MFVC and any VC Capability structures. In addition,
the VC ID cross-Link matching requirement (second bullet above) applies
for the MFVC Capability structure, but not the VC Capability structures
of the Functions.
VC ID 0 is assigned and fixed to the default VC.
12302
12303
12304
12305
11524
12306
11525
12307
11526
12308
11527
VC ID assignment must be unique per Port - The same VC ID
cannot be assigned to different VC hardware resources within the same
Port.
VC ID assignment must be the same (matching in the terms of
numbers of VCs and their IDs) for the two Ports on both sides of a Link.
If an MFD implements an MFVC Capability structure, its VC
hardware resources are distinct from the VC hardware resources associated
with any VC Capability structures of its Functions. The VC ID uniqueness
requirement (first bullet above) still applies individually for the MFVC
and any VC Capability structures. In addition, the VC ID cross-Link
matching requirement (second bullet above) applies for the MFVC
Capability structure, but not the VC Capability structures of the
Functions.
VC ID 0 is assigned and fixed to the default VC.
12309
11528
2.5.2 TC to VC Mapping
11529
12310
2.5.2 TC to VC Mapping
12311
11530
11531
Note that while DLLPs contain VC ID information for Flow
Control accounting, TLPs do not. The association of TLPs with VC ID for
the purpose of Flow Control accounting is done at each Port of the Link
using TC to VC mapping as discussed in Section 2.5.2 TC to VC Mapping .
12299
All Ports that support more than VC0 must provide at least
one VC Capability structure according to the definition in Section 7.9.1
Virtual Channel Extended Capability . A Multi-Function Device is
permitted to implement the MFVC Capability structure, as defined in
Section 7.9.2 Multi-Function Virtual Channel Extended Capability .
Providing these extended structures is optional for Ports that support
only the default TC0/VC0 configuration. Configuration software is
responsible for configuring Ports on both sides of the Link for a
matching number of VCs. This is accomplished by scanning the hierarchy
and using VC or MFVC Capability registers associated with Ports (that
support more than default VC0) to establish the number of VCs for the
Link. Rules for assigning VC ID to VC hardware resources within a Port
are as follows:
11519
11520
12297
12298
11517
11518
PCI Express Ports can support 1 to 8 Virtual Channels - each
Port is independently configured/managed therefore allowing
implementations to vary the number of VCs supported per Port based on
usage model-specific requirements. These VCs are uniquely identified
using the VC ID mechanism.
12295
11514
11515
12294
12312
Every Traffic Class that is supported must be mapped to one
of the Virtual Channels. The mapping of TC0 to VC0 is fixed.
Page 183
12313
Every Traffic Class that is supported must be mapped to one
of the Virtual Channels. The mapping of TC0 to VC0 is fixed.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11531
Every Traffic Class that is supported must be mapped to one
of the Virtual Channels. The mapping of TC0 to VC0 is fixed.
11532
12315
The mapping of TCs other than TC0 is system software
specific. However, the mapping algorithm must obey the following rules:
11535
11536
11537
11538
12316
12318
12319
12320
One or multiple TCs can be mapped to a VC.
One TC must not be mapped to multiple VCs in any Port or
Endpoint Function.
TC/VC mapping must be identical for Ports on both sides of a
Link.
12321
11540
12322
Table 2-40 TC to VC Mapping Example provides an example of TC
to VC mapping.
12323
11542
12324
11543
12325
11544
Table 2-41 TC to VC Mapping Example provides an example of TC
to VC mapping.
12326
11545
Table 2-40 TC to VC Mapping Example
11546
12327
Table 2-41 TC to VC Mapping Example
12328
11547
Supported VC Configurations
11548
12329
Supported VC Configurations
12330
11549
TC/VC Mapping Options
12331
11550
12332
11551
12333
11552
TC/VC Mapping Options
12334
11553
12335
VC0
11554
VC0
12336
11555
TC(0-7)/VC0
11588
12337
TC(0-7)/VC0
12370
11589
TC[n:m]/VC[n:m]
11590
12371
TC[n:m]/VC[n:m]
12372
11591
TCn/VCn, TCn+1/ VCn+1, ..., TCm/VCm
12373
11592
12374
11593
12375
11594
12376
11595
12377
11596
12378
11597
11598
The mapping of TCs other than TC0 is system software
specific. However, the mapping algorithm must obey the following rules:
12317
One or multiple TCs can be mapped to a VC.
One TC must not be mapped to multiple VCs in any Port or
Endpoint Function.
TC/VC mapping must be identical for Ports on both sides of a
Link.
11539
11541
Every Traffic Class that is supported must be mapped to one
of the Virtual Channels. The mapping of TC0 to VC0 is fixed.
12314
11533
11534
12313
TCn/VCn, TCn+1/ VCn+1, ..., TCm/VCm
12379
Figure 2-44 An Example of TC/VC Configurations provides a
graphical illustration of TC to VC mapping in several different Link
configurations. For additional considerations on TC/VC, refer to Section
6.3 Virtual Channel Support .
12380
11599
12381
11600
12382
11601
12383
11602
11603
12384
Figure 2-44 An Example of TC/VC Configurations
12385
11604
12386
11605
12387
Page 184
Figure 2-47 An Example of TC/VC Configurations provides a
graphical illustration of TC to VC mapping in several different Link
configurations. For additional considerations on TC/VC, refer to Section
6.3 Virtual Channel Support .
Figure 2-47 An Example of TC/VC Configurations
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11605
12387
11606
12388
11607
12389
11608
12390
11609
2.5.3 VC and TC Rules
11610
12391
11611
12393
11612
Here is a summary of key rules associated with the TC/VC
12394
mechanism:
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
12395
All devices must support the general purpose I/O Traffic Class,
i.e., TC0 and must implement the default VC0.
Each Virtual Channel (VC) has independent Flow Control.
There are no ordering relationships required between
different TCs.
There are no ordering relationships required between
different VCs.
A Switch's peer-to-peer capability applies to all Virtual
Channels supported by the Switch.
A Multi-Function Device's peer-to-peer capability between
different Functions applies to all Virtual Channels supported by the
Multi-Function Device.
Transactions with a TC that is not mapped to any enabled VC
in an Ingress Port are treated as Malformed TLPs by the receiving
device.
For Switches, transactions with a TC that is not mapped to
any of the enabled VCs in the target Egress Port are treated as Malformed
TLPs.
For a Root Port, transactions with a TC that is not mapped to
any of the enabled VCs in the target RCRB are treated as Malformed TLPs.
For Multi-Function Devices with an MFVC Capability structure,
any transaction with a TC that is not mapped to an enabled VC in the MFVC
Capability structure is treated as a Malformed TLP.
Switches must support independent TC/VC mapping configuration
for each Port.
A Root Complex must support independent TC/VC mapping
configuration for each RCRB, the associated Root Ports, and any RCiEPs.
11626
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12410
12411
11630
12412
11631
12413
11632
12414
11633
12416
2.6 Ordering and Receive Buffer Flow Control
12417
11636
Page
For more details on the VC and TC mechanisms, including
configuration, mapping, and arbitration, refer to Section 6.3 Virtual
Channel Support .
12415
2.6 Ordering and Receive Buffer Flow Control
11635
11637
Transactions with a TC that is not mapped to any enabled VC
in an Ingress Port are treated as Malformed TLPs by the receiving
device.
For Switches, transactions with a TC that is not mapped to
any of the enabled VCs in the target Egress Port are treated as Malformed
TLPs.
For a Root Port, transactions with a TC that is not mapped to
any of the enabled VCs in the target RCRB are treated as Malformed TLPs.
For MFDs with an MFVC Capability structure, any transaction
with a TC that is not mapped to an enabled VC in the MFVC Capability
structure is treated as a Malformed TLP.
Switches must support independent TC/VC mapping configuration
for each Port.
A Root Complex must support independent TC/VC mapping
configuration for each RCRB, the associated Root Ports, and any RCiEPs.
12409
For more details on the VC and TC mechanisms, including
configuration, mapping, and arbitration, refer to Section 6.3 Virtual
Channel Support .
11629
11634
All devices must support the general purpose I/O Traffic Class,
i.e., TC0 and must implement the default VC0.
Each Virtual Channel (VC) has independent Flow Control.
There are no ordering relationships required between
different TCs.
There are no ordering relationships required between
different VCs.
A Switch's peer-to-peer capability applies to all Virtual
Channels supported by the Switch.
An MFD's peer-to-peer capability between different Functions
applies to all Virtual Channels supported by the MFD.
12408
11627
11628
Here is a summary of key rules associated with the TC/VC
mechanism:
11613
11614
2.5.3 VC and TC Rules
12392
12418
Flow Control (FC) is used to prevent overflow of Receiver
buffers and to enable compliance with the ordering rules defined in .
185
Note that the Flow Control mechanism is used by the Requester to track
the queue/buffer space available in the agent across the Link as shown in
Figure 2-45 Relationship Between Requester and Ultimate Completer . That
is, Flow Control is point-to-point (across a Link) and not end-to-end.
Flow Control does not imply that a Request has reached its ultimate
Completer.
12419
Flow Control (FC) is used to prevent overflow of Receiver
buffers and to enable compliance with the ordering rules defined in
Section 2.4 Transaction Ordering . Note that the Flow Control mechanism
is used by the Requester to track the queue/buffer space available in the
agent across the Link as shown in Figure 2-48 Relationship Between
Requester and Ultimate Completer . That is, Flow Control is point-topoint (across a Link) and not end-to-end. Flow Control does not imply
that a Request has reached its ultimate Completer.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11637
Flow Control (FC) is used to prevent overflow of Receiver
buffers and to enable compliance with the ordering rules defined in .
Note that the Flow Control mechanism is used by the Requester to track
the queue/buffer space available in the agent across the Link as shown in
Figure 2-45 Relationship Between Requester and Ultimate Completer . That
is, Flow Control is point-to-point (across a Link) and not end-to-end.
Flow Control does not imply that a Request has reached its ultimate
Completer.
12419
11638
12420
11639
12421
11640
12422
11641
12423
11642
Figure 2-45 Relationship Between Requester and Ultimate
12424
Completer
12425
11644
12426
11645
12427
Flow Control is orthogonal to the data integrity mechanisms
used to implement reliable information exchange between Transmitter and
Receiver. Flow Control can treat the flow of TLP information from
Transmitter to Receiver as perfect, since the data integrity mechanisms
ensure that corrupted and lost TLPs are corrected through retransmission
(see Section 3.6 Data Integrity ).
11647
Each Virtual Channel maintains an independent Flow Control
credit pool. The FC information is conveyed between two sides of the Link
using DLLPs. The VC ID field of the DLLP is used to carry the VC ID that
is required for proper Flow Control credit accounting.
12433
Flow Control mechanisms used internally within a Multi-Function
Device are outside the scope of this specification.
11653
12434
Flow Control mechanisms used internally within an MFD are
outside the scope of this specification.
12435
11654
12436
Flow Control is handled by the Transaction Layer in cooperation
with the Data Link Layer. The Transaction Layer performs Flow Control
accounting functions for Received TLPs and “gates” TLP Transmissions
based on available credits for transmission even if those TLPs are
eventually nullified..
11656
12437
Flow Control is handled by the Transaction Layer in cooperation
with the Data Link Layer. The Transaction Layer performs Flow Control
accounting functions for Received TLPs and “gates” TLP Transmissions
based on available credits for transmission even if those TLPs are
eventually nullified..
12438
11657
11658
12431
12432
11651
11655
Flow Control is orthogonal to the data integrity mechanisms
used to implement reliable information exchange between Transmitter and
Receiver. Flow Control can treat the flow of TLP information from
Transmitter to Receiver as perfect, since the data integrity mechanisms
ensure that corrupted and lost TLPs are corrected through retransmission
(see Section 3.6 Data Integrity Mechansisms ).
12430
Each Virtual Channel maintains an independent Flow Control
credit pool. The FC information is conveyed between two sides of the Link
using DLLPs. The VC ID field of the DLLP is used to carry the VC ID that
is required for proper Flow Control credit accounting.
11650
11652
12428
12429
11648
11649
Figure 2-48 Relationship Between Requester and Ultimate
Completer
11643
11646
Flow Control (FC) is used to prevent overflow of Receiver
buffers and to enable compliance with the ordering rules defined in
Section 2.4 Transaction Ordering . Note that the Flow Control mechanism
is used by the Requester to track the queue/buffer space available in the
agent across the Link as shown in Figure 2-48 Relationship Between
Requester and Ultimate Completer . That is, Flow Control is point-topoint (across a Link) and not end-to-end. Flow Control does not imply
that a Request has reached its ultimate Completer.
12439
Note: Flow Control is a function of the Transaction Layer and,
therefore, the following types of information transmitted on the
interface are not associated with Flow Control Credits: LCRC, Packet
Framing Symbols, other Special Symbols, and Data Link Layer to Data Link
Layer inter-communication packets. An implication of this fact is that
these types of information must be processed by the Receiver at the rate
they arrive (except as explicitly noted in this specification).
12440
11659
12441
11660
12442
Page 186
Note: Flow Control is a function of the Transaction Layer and,
therefore, the following types of information transmitted on the
interface are not associated with Flow Control Credits: LCRC, Packet
Framing Symbols, other Special Symbols, and Data Link Layer to Data Link
Layer inter-communication packets. An implication of this fact is that
these types of information must be processed by the Receiver at the rate
they arrive (except as explicitly noted in this specification).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11660
11661
12442
Also, any TLPs transferred from the Transaction Layer to the
Data Link and Physical Layers must have first passed the Flow Control
“gate”. Thus, both Transmit and Receive Flow Control mechanisms are
unaware if the Data Link Layer transmits a TLP repeatedly due to errors
on the Link.
12443
11662
12444
11663
12445
11664
12446
11665
2.6.1 Flow Control Rules
11666
11671
11672
11673
11674
11675
11678
11679
11680
11681
11684
11685
12452
12453
12454
12455
12456
12457
Flow Control information is transferred using Flow Control
Packets (FCPs), which are a type of DLLP (see Section 3.5 Data Link Layer
Packets (DLLPs) ).
The unit of Flow Control credit is 4 DW for data.
For headers:
The unit of Flow Control credit for Receivers that do not
support TLP Prefixes is the sum of one maximum-size Header and TLP
Digest.
The unit of Flow Control credits for Receivers that
support End-End TLP Prefixes is the sum of one maximum-size Header, TLP
Digest, and the maximum number of End-End TLP Prefixes permitted in a
TLP.
The management of Flow Control for Receivers that support
Local TLP Prefixes is dependent on the Local TLP Prefix type.
12459
12460
12461
12462
12463
Each Virtual Channel has independent Flow Control.
Flow Control distinguishes three types of TLPs (note
relationship to ordering rules - see Section 2.4 Transaction Ordering ):
Posted Requests (P) - Messages and Memory Writes
Non-Posted Requests (NP) - All Reads, I/O Writes,
Configuration Writes, and AtomicOps
Completions (Cpl) - Associated with corresponding NP
Requests
12464
In addition, Flow Control distinguishes the following types
of TLP information within each of the three types:
Headers (H)
Data (D)
11686
11687
In this and other sections of this specification, rules are
described using conceptual “registers” that a device could use in order
to implement a compliant implementation. This description does not imply
or require a particular implementation and is used only to clarify the
requirements.
12458
Each Virtual Channel has independent Flow Control
Flow Control distinguishes three types of TLPs (note
relationship to ordering rules - see ):
Posted Requests (P) - Messages and Memory Writes
Non-Posted Requests (NP) - All Reads, I/O Writes,
Configuration Writes, and AtomicOps
Completions (Cpl) - Associated with corresponding NP
Requests
11682
11683
12450
12451
Flow Control information is transferred using Flow Control
Packets (FCPs), which are a type of DLLP (see Section 3.5 Data Link Layer
Packets (DLLPs) )
The unit of Flow Control credit is 4 DW for data
For headers:
The unit of Flow Control credit for Receivers that do not
support TLP Prefixes is the sum of one maximum-size Header and TLP
Digest.
The unit of Flow Control credits for Receivers that
support End-End TLP Prefixes is the sum of one maximum-size Header, TLP
Digest, and the maximum number of End-End TLP Prefixes permitted in a
TLP.
The management of Flow Control for Receivers that support
Local TLP Prefixes is dependent on the Local TLP Prefix type.
11676
11677
2.6.1 Flow Control Rules
12449
In this and other sections of this specification, rules are
described using conceptual “registers” that a device could use in order
to implement a compliant implementation. This description does not imply
or require a particular implementation and is used only to clarify the
requirements.
11669
11670
12447
12448
11667
11668
Also, any TLPs transferred from the Transaction Layer to the
Data Link and Physical Layers must have first passed the Flow Control
“gate”. Thus, both Transmit and Receive Flow Control mechanisms are
unaware if the Data Link Layer transmits a TLP repeatedly due to errors
on the Link.
12465
12466
12467
In addition, Flow Control distinguishes the following types
of TLP information within each of the three types:
Headers (H)
Data (D)
12468
Thus, there are six types of information tracked by Flow
Control for each Virtual Channel, as shown in Table 2-41 Flow Control
Credit Types .
11688
Page 187
12469
12470
Thus, there are six types of information tracked by Flow
Control for each Virtual Channel, as shown in Table 2-42 Flow Control
Credit Types .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11688
12470
11689
12471
11690
12472
11691
Table 2-41 Flow Control Credit Types
11692
12473
11693
Credit Type
11694
12475
Applies to This Type of TLP Information
12477
11696
12478
11697
12479
11698
Applies to This Type of TLP Information
12480
11699
12481
PH
11700
PH
12482
11701
Posted Request headers
12483
11726
12508
11727
12509
11728
Posted Request headers
12510
11729
CplD
11730
12511
CplD
12512
11731
Completion Data payload
12513
11732
12514
11733
12515
11734
12516
11735
Completion Data payload
12517
TLPs consume Flow Control credits as shown in Table 2-42 TLP
Flow Control Credit Consumption .
12518
11737
12519
11738
12520
11739
TLPs consume Flow Control credits as shown in Table 2-43 TLP
Flow Control Credit Consumption .
12521
11740
Table 2-42 TLP Flow Control Credit Consumption
11741
12522
Table 2-43 TLP Flow Control Credit Consumption
12523
11742
TLP
11743
11744
Credit Type
12476
11695
11736
Table 2-42 Flow Control Credit Types
12474
12524
TLP
12525
Credit Consumed [Footnote: Each header credit implies
the ability to accept a TLP Digest along with the corresponding TLP.]
12526
11745
12527
11746
12528
11747
Credit Consumed [Footnote: Each header credit implies
the ability to accept a TLP Digest along with the corresponding TLP.]
12529
11748
Memory, I/O, Configuration Read Request
11749
12530
Memory, I/O, Configuration Read Request
12531
11750
1 NPH unit
11810
1 CplH unit + 1 CplD unit
11811
12532
1 NPH unit
12592
1 CplH unit + 1 CplD unit
12593
11812
12594
11813
Note: size of data returned is never more than 4
12595
(aligned) DWs.
11814
12596
11815
12597
11816
12598
11817
12599
11818
12600
Page 188
Note: size of data returned is never more than 4
(aligned) DWs.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11818
11819
11820
11821
12600
Components must implement independent Flow Control for all
Virtual Channels that are supported by that component.
Flow Control is initialized autonomously by hardware only for
the default Virtual Channel (VC0)
VC0 is initialized when the Data Link Layer is in the
DL_Init state following reset (see Section 3.2 Data Link Control and
Management State Machine and Section 3.4 Flow Control Initialization
Protocol )
11822
11823
11824
12601
12602
12603
12604
When other Virtual Channels are enabled by software, each
newly enabled VC will follow the Flow Control initialization protocol
(see Section 3.4 Flow Control Initialization Protocol )
Software enables a Virtual Channel by setting the VC Enable
bits for that Virtual Channel in both components on a Link (see Section
7.9.1 Virtual Channel Extended Capability and Section 7.9.2 MultiFunction Virtual Channel Extended Capability )
12605
12606
11825
12607
11826
12608
11827
11828
11831
11834
11835
11836
12612
12613
12615
12616
12617
12618
Software disables a Virtual Channel by clearing the VC Enable
bits for that Virtual Channel in both components on a Link.
Disabling a Virtual Channel for a component resets the Flow
Control tracking mechanisms for that Virtual Channel in that component.
InitFC1 and InitFC2 FCPs are used only for Flow Control
initialization (see Section 3.4 Flow Control Initialization Protocol ).
An InitFC1, InitFC2, or UpdateFC FCP that specifies a Virtual
Channel that is disabled is discarded without effect.
During FC initialization for any Virtual Channel, including
the default VC initialized as a part of Link initialization, Receivers
must initially advertise VC credit values equal to or greater than those
shown in Table 2-44 Minimum Initial Flow Control Advertisements .
If Scaled Flow Control is not supported or supported but
not activated, use the values in the "Scale Factor 1" column.
12619
If Scaled Flow Control is supported and activated, use the
values in the column for the scaling factor associated with that credit
type (see Section 3.4.2 Scaled Flow Control ).
12620
11839
12621
11840
12622
11841
11842
Note: It is possible for multiple VCs to be following the
Flow Control initialization protocol simultaneously - each follows the
initialization protocol as an independent process.
12614
InitFC1 and InitFC2 FCPs are used only for Flow Control
initialization (see Section 3.4 Flow Control Initialization Protocol )
An InitFC1, InitFC2, or UpdateFC FCP that specifies a Virtual
Channel that is disabled is discarded without effect
During FC initialization for any Virtual Channel, including
the default VC initialized as a part of Link initialization, Receivers
must initially advertise VC credit values equal to or greater than those
shown in Table 2-43 Minimum Initial Flow Control Advertisements .
If Scaled Flow Control is not supported or supported but
not activated, use the values in the "Scale Factor 1" column.
11837
11838
12610
12611
Software disables a Virtual Channel by clearing the VC Enable
bits for that Virtual Channel in both components on a Link
Disabling a Virtual Channel for a component resets the Flow
Control tracking mechanisms for that Virtual Channel in that component
11832
11833
When other Virtual Channels are enabled by software, each
newly enabled VC will follow the Flow Control initialization protocol
(see Section 3.4 Flow Control Initialization Protocol ).
Software enables a Virtual Channel by setting the VC Enable
bits for that Virtual Channel in both components on a Link (see Section
7.9.1 Virtual Channel Extended Capability and Section 7.9.2 MultiFunction Virtual Channel Extended Capability ).
12609
Note: It is possible for multiple VCs to be following the
Flow Control initialization protocol simultaneously - each follows the
initialization protocol as an independent process
11829
11830
Components must implement independent Flow Control for all
Virtual Channels that are supported by that component.
Flow Control is initialized autonomously by hardware only for
the default Virtual Channel (VC0).
VC0 is initialized when the Data Link Layer is in the
DL_Init state following reset (see Section 3.2 Data Link Control and
Management State Machine and Section 3.4 Flow Control Initialization
Protocol ).
If Scaled Flow Control is supported and activated, use the
values in the column for the scaling factor associated with that credit
type (see Section 3.4.2 Scaled Flow Control ).
12623
Table 2-43 Minimum Initial Flow Control Advertisements
[Footnote: PCI Express to PCI/PCI-X Bridge requirements are addressed in
the PCI Express to PCI/PCI-X Bridge Specification, Revision 1.0.]
11843
11844
Page 189
12624
Table 2-44 Minimum Initial Flow Control Advertisements
[Footnote: PCI Express to PCI/PCI-X Bridge requirements are addressed in
[PCIe-to-PCI-PCI-X-Bridge-1.0].]
12625
Credit Type
12626
Credit Type
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11844
Credit Type
11845
11846
12626
Minimum Advertisement
12628
11847
12629
11848
12630
11849
11850
11851
12632
12635
Scale Factor 16
12637
12638
11856
12639
11857
1 unit - credit value of 01h.
12643
4 Units - credit value of 01h.
12645
16 Units - credit value of 01h.
12647
12648
11866
12649
11867
4 Units - credit value of 01h.
16 Units - credit value of 01h.
12650
PD
11869
12651
PD
12652
11870
11871
1 unit - credit value of 01h.
12646
11865
11868
PH
12644
11863
11864
12641
12642
11861
11862
Scale Factor 16
12640
PH
11859
11860
Scale Factor 4
12636
11855
11858
No Scaling or
Scale Factor 1
12634
Scale Factor 4
11853
11854
Minimum Advertisement
12631
No Scaling or Scale Factor 1
12633
11852
Credit Type
12627
12653
Largest possible setting of the Max_Payload_Size
for the component divided by FC Unit Size. For a Multi-Function Device,
this includes all Functions in the device.
Largest possible setting of the Max_Payload_Size for
the component divided by FC Unit Size. For an MFD, this includes all
Functions in the device.
11872
11873
11874
12654
Example: If the largest Max_Payload_Size value
supported is 1024 bytes, the smallest permitted initial credit value
would be 040h.
12655
11875
12656
11876
12657
11877
11878
12658
Ceiling(Largest Max_Payload_Size / (FC Unit Size *
4)) + 1. For a Multi-Function Device, this includes all Functions in the
device.
Example: If the largest Max_Payload_Size value
supported is 1024 bytes, the smallest permitted initial credit value
would be 040h.
Ceiling(Largest Max_Payload_Size / (FC Unit Size *
4)) + 1. For an MFD, this includes all Functions in the device.
11879
11880
11881
12659
Example: If the largest Max_Payload_Size value
supported is 1024 bytes, the smallest permitted initial credit value
would be 011h.
12660
11882
12661
11883
12662
11884
11885
Page
12663
Ceiling(Largest Max_Payload_Size / (FC Unit Size *
16)) + 1. For a Multi-Function Device, this includes all Functions in the
device.
190
Example: If the largest Max_Payload_Size value
supported is 1024 bytes, the smallest permitted initial credit value
would be 011h.
Ceiling(Largest Max_Payload_Size / (FC Unit Size *
16)) + 1. For an MFD, this includes all Functions in the device.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11885
12663
Ceiling(Largest Max_Payload_Size / (FC Unit Size *
16)) + 1. For a Multi-Function Device, this includes all Functions in the
device.
Ceiling(Largest Max_Payload_Size / (FC Unit Size *
16)) + 1. For an MFD, this includes all Functions in the device.
11886
11887
11888
12664
Example: If the largest Max_Payload_Size value
supported is 1024 bytes, the smallest permitted initial credit value
would be 005h.
12665
11889
12666
11890
12667
11891
12668
11892
Example: If the largest Max_Payload_Size value
supported is 1024 bytes, the smallest permitted initial credit value
would be 005h.
12669
11893
NPH
11894
12670
NPH
12671
11895
1 unit - credit value of 01h.
11896
12672
1 unit - credit value of 01h.
12673
11897
4 Units - credit value of 01h.
11898
12674
4 Units - credit value of 01h.
12675
11899
16 Units - credit value of 01h.
12676
11900
12677
11901
12678
11902
16 Units - credit value of 01h.
12679
11903
NPD
11904
12680
NPD
12681
11905
11906
Receiver that supports AtomicOp routing capability
or any AtomicOp Completer capability: 2 units - credit value of 002h
11907
12682
Receiver that supports AtomicOp routing capability or
any AtomicOp Completer capability: 2 units - credit value of 002h
12683
11908
11909
All other Receivers: 1 unit - credit value of
12684
001h.
All other Receivers: 1 unit - credit value of
001h.
11910
12685
11911
12686
11912
11913
Receiver that supports AtomicOp routing capability
or any AtomicOp Completer capability: 8 units - credit value of 002h
11914
12687
Receiver that supports AtomicOp routing capability or
any AtomicOp Completer capability: 8 units - credit value of 002h
12688
11915
11916
All other Receivers: 4 units - credit value of
12689
001h.
All other Receivers: 4 units - credit value of
001h.
11917
12690
11918
12691
11919
11920
Receiver that supports AtomicOp routing capability
or any AtomicOp Completer capability: 32 units - credit value of 002h
11921
12692
Receiver that supports AtomicOp routing capability or
any AtomicOp Completer capability: 32 units - credit value of 002h
12693
11922
11923
All other Receivers: 16 units - credit value of
12694
001h.
11924
12695
11925
12696
Page 191
All other Receivers: 16 units - credit value of
001h.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11925
12696
11926
12697
11927
12698
11928
CplH
11929
12699
CplH
12700
11930
11931
Root Complex (supporting peer-to-peer traffic
between all Root Ports) and Switch: 1 FC unit - credit value of 01h
11932
12701
Root Complex (supporting peer-to-peer traffic between
all Root Ports) and Switch: 1 FC unit - credit value of 01h
12702
11933
11934
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s. [Footnote: This value is interpreted as infinite by the
Transmitter, which will, therefore, never throttle.]
12703
11935
12704
11936
12705
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s. [Footnote: This value is interpreted as infinite by the
Transmitter, which will, therefore, never throttle.]
11937
11938
Root Complex (supporting peer-to-peer traffic
between all Root Ports) and Switch: 4 FC units - credit value of 01h
11939
12706
Root Complex (supporting peer-to-peer traffic between
all Root Ports) and Switch: 4 FC units - credit value of 01h
12707
11940
11941
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s. [Footnote: This value is interpreted as infinite by the
Transmitter, which will, therefore, never throttle.]
12708
11942
12709
11943
12710
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s. [Footnote: This value is interpreted as infinite by the
Transmitter, which will, therefore, never throttle.]
11944
11945
Root Complex (supporting peer-to-peer traffic
between all Root Ports) and Switch: 16 FC units - credit value of 01h
11946
12711
Root Complex (supporting peer-to-peer traffic between
all Root Ports) and Switch: 16 FC units - credit value of 01h
12712
11947
11948
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s. [Footnote: This value is interpreted as infinite by the
Transmitter, which will, therefore, never throttle.]
12713
11949
12714
11950
12715
11951
12716
11952
12717
11953
CplD
11954
12718
CplD
12719
11955
11956
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s. [Footnote: This value is interpreted as infinite by the
Transmitter, which will, therefore, never throttle.]
12720
Root Complex (supporting peer-to-peer traffic
between all Root Ports) and Switch: Largest possible setting of the
Max_Payload_Size for the component divided by FC Unit Size.,
Root Complex (supporting peer-to-peer traffic between
all Root Ports) and Switch: Largest possible setting of the
Max_Payload_Size for the component divided by FC Unit Size.
11957
11958
11959
12721
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
Page 192
12722
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
11959
Root Complex (not supporting peer-to-peer traffic
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
between all Root Ports) and Endpoint: infinite FC units - initial credit
12722
value of all 0s.
11960
12723
11961
12724
11962
11963
12725
Root Complex (supporting peer-to-peer traffic
between all Root Ports) and Switch: Ceiling(Largest Max_Payload_Size /
(FC Unit Size * 4)) + 1. ,
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
Root Complex (supporting peer-to-peer traffic between
all Root Ports) and Switch: Ceiling(Largest Max_Payload_Size / (FC Unit
Size * 4)) + 1.
11964
11965
11966
12726
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
12727
11967
12728
11968
12729
11969
11970
12730
Root Complex (supporting peer-to-peer traffic
between all Root Ports) and Switch: Ceiling(Largest Max_Payload_Size /
(FC Unit Size * 16)) + 1. ,
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
Root Complex (supporting peer-to-peer traffic between
all Root Ports) and Switch: Ceiling(Largest Max_Payload_Size / (FC Unit
Size * 16)) + 1.
11971
11972
11973
12731
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
12732
11974
12733
11975
12734
11976
12735
11977
12736
11978
11979
11980
11981
11982
11983
Root Complex (not supporting peer-to-peer traffic
between all Root Ports) and Endpoint: infinite FC units - initial credit
value of all 0s.
12737
A Root Complex that supports no peer-to-peer traffic between
Root Ports must advertise infinite Completion credits on every Root
Port.
A Root Complex that supports peer-to-peer traffic between
some or all of its Root Ports may optionally advertise non-infinite
Completion credits on those Root Ports. In this case, the Root Complex
must ensure that deadlocks are avoided and forward progress is maintained
for completions directed towards the Root Complex. Note that temporary
stalls of completion traffic (due to a temporary lack of credit) are
possible since Non-Posted requests forwarded by the RC may not have
explicitly allocated completion buffer space.
A Receiver that does not support Scaled Flow Control must
never cumulatively issue more than 2047 outstanding unused credits to the
Transmitter for data payload or 127 for header. A Receiver that supports
Scaled Flow Control must never cumulatively issue more outstanding unused
data or header to the Transmitter than the Max Credits values shown in
Table 3-2 Scaled Flow Control Scaling Factors .
Components may optionally check for violations of this
rule. If a component implementing this check determines a violation of
this rule, the violation is a Flow Control Protocol Error (FCPE).
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging )
12738
12739
12740
12741
12742
11984
12743
11985
12744
Page 193
A Root Complex that supports no peer-to-peer traffic between
Root Ports must advertise infinite Completion credits on every Root
Port.
A Root Complex that supports peer-to-peer traffic between
some or all of its Root Ports may optionally advertise non-infinite
Completion credits on those Root Ports. In this case, the Root Complex
must ensure that deadlocks are avoided and forward progress is maintained
for completions directed towards the Root Complex. Note that temporary
stalls of completion traffic (due to a temporary lack of credit) are
possible since Non-Posted requests forwarded by the RC may not have
explicitly allocated completion buffer space.
A Receiver that does not support Scaled Flow Control must
never cumulatively issue more than 2047 outstanding unused credits to the
Transmitter for data payload or 127 for header. A Receiver that supports
Scaled Flow Control must never cumulatively issue more outstanding unused
data or header to the Transmitter than the Max Credits values shown in
Table 3-2 Scaled Flow Control Scaling Factors .
Components may optionally check for violations of this
rule. If a component implementing this check determines a violation of
this rule, the violation is a Flow Control Protocol Error (FCPE).
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging )
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
11985
11986
11987
11988
12744
If an Infinite Credit advertisement (value of 00h or 000h)
has been made during initialization, no Flow Control updates are required
following initialization.
If UpdateFC DLLPs are sent, the credit value fields must be
Clear and must be ignored by the Receiver. The Receiver may optionally
check for non-zero update values (in violation of this rule). If a
component implementing this check determines a violation of this rule,
the violation is a Flow Control Protocol Error (FCPE)
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging )
11989
11992
11993
11998
12750
12751
12752
12754
If Scaled Flow Control is activated, the HdrScale and
DataScale fields in the UpdateFCs must match the values advertised during
initialization (see Section 3.4.2 Scaled Flow Control ).
The Receiver may optionally check for violations of this
rule. If a Receiver implementing this check determines a violation of
this rule, the violation is a Flow Control Protocol Error (FCPE).
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
11999
12755
12756
12757
12759
12001
A received TLP using a VC that is not enabled is a Malformed
12760
TLP
12003
12004
VC0 is always enabled
For VCs 1-7, a VC is considered enabled when the
corresponding VC Enable bit in the VC Resource Control register has been
Set, and once FC negotiation for that VC has exited the FC_INIT1 state
and progressed to the FC_INIT2 state (see Section 3.4 Flow Control
Initialization Protocol )
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging )
12005
12006
If Scaled Flow Control is activated, the HdrScale and
DataScale fields in the UpdateFCs must match the values advertised during
initialization (see Section 3.4.2 Scaled Flow Control ).
The Receiver may optionally check for violations of this
rule. If a Receiver implementing this check determines a violation of
this rule, the violation is a Flow Control Protocol Error (FCPE).
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
12758
12000
12002
If only the Data or header advertisement (but not both) for a
given type (P, NP, or Cpl) has been made with infinite credits during
initialization, the transmission of UpdateFC DLLPs is still required, but
the credit field corresponding to the Data/header (advertised as
infinite) must be set to zero and must be ignored by the Receiver.
The Receiver may optionally check for non-zero update
values (in violation of this rule). If a Receiver implementing this check
determines a violation of this rule, the violation is a Flow Control
Protocol Error (FCPE).
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
12753
11995
11997
12747
12749
If only the Data or header advertisement (but not both) for a
given type (P, NP, or Cpl) has been made with infinite credits during
initialization, the transmission of UpdateFC DLLPs is still required, but
the credit field corresponding to the Data/header (advertised as
infinite) must be set to zero and must be ignored by the Receiver.
The Receiver may optionally check for non-zero update
values (in violation of this rule). If a Receiver implementing this check
determines a violation of this rule, the violation is a Flow Control
Protocol Error (FCPE)
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging )
11994
11996
12746
If an Infinite Credit advertisement (value of 00h or 000h)
has been made during initialization, no Flow Control updates are required
following initialization.
If UpdateFC DLLPs are sent, the credit value fields must be
Clear and must be ignored by the Receiver. The Receiver may optionally
check for non-zero update values (in violation of this rule). If a
component implementing this check determines a violation of this rule,
the violation is a Flow Control Protocol Error (FCPE)
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging )
12748
11990
11991
12745
A received TLP using a VC that is not enabled is a Malformed
TLP.
12761
12762
12763
VC0 is always enabled.
For VCs 1-7, a VC is considered enabled when the
corresponding VC Enable bit in the VC Resource Control register has been
Set, and once FC negotiation for that VC has exited the FC_INIT1 state
and progressed to the FC_INIT2 state (see Section 3.4 Flow Control
Initialization Protocol ).
This is a reported error associated with the Receiving
Port (see Section 6.2 Error Signaling and Logging ).
12764
TLP transmission using any VC 0-7 is not permitted until
initialization for that VC has completed by exiting FC_INIT2 state
12765
12007
12766
12008
12767
Page 194
TLP transmission using any VC 0-7 is not permitted until
initialization for that VC has completed by exiting FC_INIT2 state.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12008
12009
12767
For VCs 1-7, software must use the VC Negotiation Pending bit
in the VC Resource Status register to ensure that a VC is not used until
negotiation has completed by exiting the FC_INIT2 state in both
components on a Link.
12010
12770
The [Field Size] parameter used in the following sections is
described in Table 2-44 [Field Size] Values (see Section 3.4.2 Scaled
Flow Control ).
12771
12013
12772
12014
12773
12015
Table 2-44 [Field Size] Values
12017
12775
Scaled Flow Control Supported
12777
12778
12019
HdrScale or DataScale
12021
12780
HdrScale or DataScale
12781
12022
[Field Size] for PH, NPH, CplH
12782
12783
12023
[Field Size]
for PH, NPH, CplH
12784
12024
[Field Size] for PD, NPD, CplD
12785
12786
12025
12787
12026
12788
12027
[Field Size]
for PD, NPD, CplD
12789
12028
No
12029
12790
No
12791
12030
x
12031
12792
x
12793
12032
8
12033
12794
8
12795
12034
12
12796
12076
12838
12077
12839
12078
12840
12079
12841
12080
12
12842
12081
2.6.1.1 FC Information Tracked by Transmitter
12082
12843
2.6.1.1 FC Information Tracked by Transmitter
12844
For each type of information tracked, there are two
quantities tracked for Flow Control TLP Transmission gating:
12084
12087
Scaled Flow
Control Supported
12779
12020
12086
Table 2-45 [Field Size] Values
12776
12018
12085
The [Field Size] parameter used in the following sections is
described in Table 2-45 [Field Size] Values (see Section 3.4.2 Scaled
Flow Control ).
12774
12016
12083
For VCs 1-7, software must use the VC Negotiation Pending bit
in the VC Resource Status register to ensure that a VC is not used until
negotiation has completed by exiting the FC_INIT2 state in both
components on a Link.
12769
12011
12012
12768
12845
For each type of information tracked, there are two
quantities tracked for Flow Control TLP Transmission gating:
12846
CREDITS_CONSUMED
Count of the total number of FC units consumed by TLP
Transmissions made since Flow Control initialization, modulo 2 [Field
Size] (where [Field Size] is defined in Table 2-44 [Field Size]
Values ).
Set to all 0's at interface initialization
Page 195
12847
12848
12849
CREDITS_CONSUMED
Count of the total number of FC units consumed by TLP
Transmissions made since Flow Control initialization, modulo 2[Field
Size] (where [Field Size] is defined in Table 2-45 [Field Size]
Values ).
Set to all 0's at interface initialization
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12087
12088
Set to all 0's at interface initialization
Updated for each TLP the Transaction Layer allows
to pass the Flow Control gate for Transmission
12849
12850
Set to all 0's at interface initialization
Updated for each TLP the Transaction Layer allows
to pass the Flow Control gate for Transmission as shown:
12089
12090
Updated as shown:
12091
12851
12092
CREDITS_CONSUMED:= (CREDITS_CONSUMED + Increment)
12852
mod 2 [Field Size]
12093
CREDITS_CONSUMED:= (CREDITS_CONSUMED +
Increment) mod 2[Field Size]
12853
12854
Equation 2-1 CREDITS_CONSUMED
12855
12856
12857
12858
12094
12095
12859
Where Increment is the size in FC credits of the
corresponding part of the TLP passed through the gate, and [Field Size]
is defined in Table 2-44 [Field Size] Values )
12096
12860
12097
12098
12099
12100
12101
12102
12103
12861
CREDIT_LIMIT
The most recent number of FC units legally advertised
by the Receiver. This quantity represents the total number of FC credits
made available by the Receiver since Flow Control initialization, modulo
2 [Field Size] (where [Field Size] is defined in Table 2-44 [Field Size]
Values ).
Undefined at interface initialization
Set to the value indicated during Flow Control
initialization
For each FC update received,
if CREDIT_LIMIT is not equal to the update value,
set CREDIT_LIMIT to the update value
12862
12863
12864
12865
12866
12867
12104
12868
12105
12869
12106
12107
12108
12109
Page
(Where Increment is the size in FC credits of
the corresponding part of the TLP passed through the gate, and [Field
Size] is defined in Table 2-45 [Field Size] Values )
CREDIT_LIMIT
The most recent number of FC units legally advertised
by the Receiver. This quantity represents the total number of FC credits
made available by the Receiver since Flow Control initialization, modulo
2[Field Size] (where [Field Size] is defined in Table 2-45 [Field Size]
Values ).
Undefined at interface initialization
Set to the value indicated during Flow Control
initialization
For each FC update received,
if CREDIT_LIMIT is not equal to the update value,
set CREDIT_LIMIT to the update value
12870
If a Transmitter detects that a TLP it is preparing to
transmit is malformed, it is strongly recommended that the Transmitter
discard the TLP and handle the condition as an Uncorrectable Internal
Error.
If a Transmitter detects that a TLP it is preparing to
transmit appears to be properly formed but with bad ECRC, it is strongly
recommended that the Transmitter transmit the TLP and update its internal
Flow Control credits accordingly.
The Transmitter gating function must determine if
sufficient credits have been advertised to permit the transmission of a
given TLP. If the Transmitter does not have enough credits to transmit
the TLP, it must block the transmission of the TLP, possibly stalling
other TLPs that are using the same Virtual Channel. The Transmitter must
follow the ordering and deadlock avoidance rules specified in , which
require that certain types of TLPs must bypass other specific types of
196
TLPs when the latter are blocked. Note that TLPs using different Virtual
Channels have no ordering relationship, and must not block each other.
12871
12872
12873
If a Transmitter detects that a TLP it is preparing to
transmit is malformed, it is strongly recommended that the Transmitter
discard the TLP and handle the condition as an Uncorrectable Internal
Error.
If a Transmitter detects that a TLP it is preparing to
transmit appears to be properly formed but with bad ECRC, it is strongly
recommended that the Transmitter transmit the TLP and update its internal
Flow Control credits accordingly.
The Transmitter gating function must determine if
sufficient credits have been advertised to permit the transmission of a
given TLP. If the Transmitter does not have enough credits to transmit
the TLP, it must block the transmission of the TLP, possibly stalling
other TLPs that are using the same Virtual Channel. The Transmitter must
follow the ordering and deadlock avoidance rules specified in Section 2.4
Transaction Ordering , which require that certain types of TLPs must
bypass other specific types of TLPs when the latter are blocked. Note
that TLPs using different Virtual Channels have no ordering relationship,
and must not block each other.
12109
12873
The Transmitter gating function must determine if
sufficient credits have been advertised to permit the transmission of a
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
given TLP. If the Transmitter does not have enough credits to transmit
the TLP, it must block the transmission of the TLP, possibly stalling
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
other TLPs that are using the same Virtual Channel. The Transmitter must
follow the ordering and deadlock avoidance rules specified in , which
require that certain types of TLPs must bypass other specific types of
TLPs when the latter are blocked. Note that TLPs using different Virtual
Channels have no ordering relationship, and must not block each other.
12110
The Transmitter gating function test is performed as
12874
follows:
12111
For each required type of credit, the number of credits
required is calculated as:
12112
12113
12875
The Transmitter gating function must determine if
sufficient credits have been advertised to permit the transmission of a
given TLP. If the Transmitter does not have enough credits to transmit
the TLP, it must block the transmission of the TLP, possibly stalling
other TLPs that are using the same Virtual Channel. The Transmitter must
follow the ordering and deadlock avoidance rules specified in Section 2.4
Transaction Ordering , which require that certain types of TLPs must
bypass other specific types of TLPs when the latter are blocked. Note
that TLPs using different Virtual Channels have no ordering relationship,
and must not block each other.
The Transmitter gating function test is performed as
follows:
For each required type of credit, the number of credits
required is calculated as:
12876
CUMULATIVE_CREDITS_REQUIRED = (CREDITS_CONSUMED +
credit units required for pending TLP) mod 2 [Field Size]
12114
12877
CUMULATIVE_CREDITS_REQUIRED = (CREDITS_CONSUMED +
credit units required for pending TLP) mod 2[Field Size]
12878
12879
Equation 2-2 CUMULATIVE_CREDITS_REQUIRED
12880
12115
12116
12881
Unless CREDIT_LIMIT was specified as “infinite” during Flow
Control initialization, the Transmitter is permitted to Transmit a TLP
if, for each type of information in the TLP, the following equation is
satisfied (using unsigned arithmetic):
12117
12118
12884
12886
12887
12123
12888
12889
Note that some types of Transactions require more than
one type of credit. (For example, Memory Write requests require PH and PD
credits.)
12125
12127
12128
12129
Equation 2-3 Transmitter Gate
If CREDIT_LIMIT was specified as “infinite” during Flow
Control initialization, then the gating function is unconditionally
satisfied for that type of credit.
12122
12126
(CREDIT_LIMIT - CUMULATIVE_CREDITS_REQUIRED) mod
2[Field Size] ≤ 2[Field Size]/2
12885
12120
12124
Unless CREDIT_LIMIT was specified as “infinite” during
Flow Control initialization, the Transmitter is permitted to Transmit a
TLP if, for each type of information in the TLP, the following equation
is satisfied (using unsigned arithmetic):
12883
(CREDIT_LIMIT - CUMULATIVE_CREDITS_REQUIRED) mod 2
[Field Size] ≤ 2 [Field Size] / 2
12119
12121
12882
12890
If CREDIT_LIMIT was specified as “infinite” during Flow
Control initialization, then the gating function is unconditionally
satisfied for that type of credit.
Note that some types of Transactions require more than
one type of credit. (For example, Memory Write requests require PH and PD
credits.)
12891
When accounting for credit use and return, information from
different TLPs is never mixed within one credit.
When some TLP is blocked from Transmission by a lack of FC
Credit, Transmitters must follow the ordering rules specified in when
determining what types of TLPs must be permitted to bypass the stalled
TLP.
The return of FC credits for a Transaction must not be
interpreted to mean that the Transaction has completed or achieved system
visibility.
Flow Control credit return is used for receive buffer
management only, and agents must not make any judgment about the
Completion status or system visibility of a Transaction based on the
return or lack of return of Flow Control information.
12130
Page 197
12892
12893
12894
12895
12896
When accounting for credit use and return, information from
different TLPs is never mixed within one credit.
When some TLP is blocked from Transmission by a lack of FC
Credit, Transmitters must follow the ordering rules specified in Section
2.4 Transaction Ordering when determining what types of TLPs must be
permitted to bypass the stalled TLP.
The return of FC credits for a Transaction must not be
interpreted to mean that the Transaction has completed or achieved system
visibility.
Flow Control credit return is used for receive buffer
management only, and agents must not make any judgment about the
Completion status or system visibility of a Transaction based on the
return or lack of return of Flow Control information.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12130
12131
12896
When a Transmitter sends a nullified TLP, the Transmitter
does not modify CREDITS_CONSUMED for that TLP (see Section 3.6.2.1 LCRC
and Sequence Number Rules (TLP Transmitter) ).
12897
12132
12898
12133
12899
12134
12900
12135
12901
12136
2.6.1.2 FC Information Tracked by Receiver
12137
12138
12141
12142
12143
12144
For each type of information tracked, the following
quantities are tracked for Flow Control TLP Receiver accounting:
2.6.1.2 FC Information Tracked by Receiver
12904
For each type of information tracked, the following
quantities are tracked for Flow Control TLP Receiver accounting:
12905
CREDITS_ALLOCATED
Count of the total number of credits granted to the
Transmitter since initialization, modulo 2 [Field Size] (where [Field
Size] is defined in Table 2-44 [Field Size] Values )
Initially set according to the buffer size and
allocation policies of the Receiver
This value is included in the InitFC and UpdateFC
DLLPs (see Section 3.5 Data Link Layer Packets (DLLPs) )
Incremented as the Receiver Transaction Layer makes
additional receive buffer space available by processing Received TLPs
12145
12906
12907
12908
12909
12910
CREDITS_ALLOCATED
Count of the total number of credits granted to the
Transmitter since initialization, modulo 2[Field Size] (where [Field
Size] is defined in Table 2-45 [Field Size] Values )
Initially set according to the buffer size and
allocation policies of the Receiver
This value is included in the InitFC and UpdateFC
DLLPs (see Section 3.5 Data Link Layer Packets (DLLPs) )
Incremented as the Receiver Transaction Layer makes
additional receive buffer space available by processing Received TLPs
12911
12146
Updated as shown:
12147
12912
Updated as shown:
12913
12148
12149
12902
12903
12139
12140
When a Transmitter sends a nullified TLP, the Transmitter
does not modify CREDITS_CONSUMED for that TLP (see Section 3.6.2.1 LCRC
and Sequence Number Rules (TLP Transmitter) ).
12914
CREDITS_ALLOCATED:= CREDITS_ALLOCATED +
Increment) mod 2 [Field Size]
12915
CREDITS_ALLOCATED:= (CREDITS_ALLOCATED +
Increment) mod 2[Field Size]
12916
12917
12150
12151
12152
12919
Where Increment corresponds to the credits made
available, and [Field Size] is defined in Table 2-44 [Field Size] Values
12920
12921
12153
12922
12154
12923
12155
CREDITS_RECEIVED (Optional - for optional error check
12925
described below)
12158
12159
Count of the total number of FC units consumed by
valid TLPs Received since Flow Control initialization, modulo 2 [Field
Size] (where [Field Size] is defined in Table 2-44 [Field Size] Values
Set to all 0's at interface initialization
Updated as shown:
12160
12161
(Where Increment corresponds to the credits
made available, and [Field Size] is defined in Table 2-45 [Field Size]
Values )
12924
12156
12157
Equation 2-4 CREDITS_ALLOCATED
12918
CREDITS_RECEIVED (Optional - for optional error check
described below)
12926
12927
12928
Count of the total number of FC units consumed by
valid TLPs Received since Flow Control initialization, modulo 2[Field
Size] (where [Field Size] is defined in Table 2-45 [Field Size] Values )
Set to all 0's at interface initialization
Updated as shown:
12929
CREDITS_RECEIVED:= (CREDITS_RECEIVED +
Increment) mod 2 [Field Size]
12162
Page 198
12930
12931
CREDITS_RECEIVED:= (CREDITS_RECEIVED +
Increment) mod 2[Field Size]
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12162
12931
12932
12163
12164
Equation 2-5 CREDITS_RECEIVED
12933
(Where Increment is the size in FC units of the
corresponding part of the received TLP, and [Field Size] is defined in
Table 2-44 [Field Size] Values
12165
12934
12166
12935
12167
for each Received TLP, provided that TLP:
12936
12168
12937
12169
12938
(Where Increment is the size in FC units of the
corresponding part of the received TLP, and [Field Size] is defined in
Table 2-45 [Field Size] Values )
12939
for each Received TLP, provided that TLP:
12940
12170
12171
12172
passes the Data Link Layer integrity checks
is not malformed or (optionally) is malformed and is
not ambiguous with respect to which buffer to release and is mapped to an
initialized Virtual Channel
does not consume more credits than have been allocated
(see following rule)
12941
For a TLP with an ECRC Check Failed error, but
which otherwise is unambiguous with respect to which buffer to release,
it is strongly recommended that CREDITS_RECEIVED be updated.
12944
12942
12943
passes the Data Link Layer integrity checks
is not malformed or (optionally) is malformed
and is not ambiguous with respect to which buffer to release and is
mapped to an initialized Virtual Channel
does not consume more credits than have been
allocated (see following rule)
12173
12174
12175
12945
12176
12946
For a TLP with an ECRC Check Failed error, but
which otherwise is unambiguous with respect to which buffer to release,
it is strongly recommended that CREDITS_RECEIVED be updated.
12947
12177
12178
If a Receiver implements the CREDITS_RECEIVED counter, then
when a nullified TLP is received, the Receiver does not modify
CREDITS_RECEIVED for that TLP (see Section 3.6.2.1 LCRC and Sequence
Number Rules (TLP Transmitter) )
A Receiver may optionally check for Receiver Overflow
errors (TLPs exceeding CREDITS_ALLOCATED), by checking the following
equation, using unsigned arithmetic:
12179
12180
12948
12949
If a Receiver implements the CREDITS_RECEIVED counter, then
when a nullified TLP is received, the Receiver does not modify
CREDITS_RECEIVED for that TLP (see Section 3.6.2.1 LCRC and Sequence
Number Rules (TLP Transmitter) )
A Receiver may optionally check for Receiver Overflow
errors (TLPs exceeding CREDITS_ALLOCATED), by checking the following
equation, using unsigned arithmetic:
12950
(CREDITS_ALLOCATED - CREDITS_RECEIVED) mod 2 [Field
Size] ≥ 2 [Field Size] /2
12951
(CREDITS_ALLOCATED - CREDITS_RECEIVED) mod 2[Field
Size] ≥ 2s[Field Size]/2
12952
12953
Equation 2-6 Receiver Overflow Error Check
12954
12181
12955
12182
12183
12956
If the check is implemented and this equation evaluates
as true, the Receiver must:
12184
12957
If the check is implemented and this equation evaluates
as true, the Receiver must:
12958
12185
discard the TLP(s) without modifying the
12959
CREDITS_RECEIVED
12186
de-allocate any resources which it had allocated for
12960
the TLP(s)
12187
Page 199
discard the TLP(s) without modifying the
CREDITS_RECEIVED
de-allocate any resources that it had allocated for the
TLP(s)
12961
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12187
12961
12188
12189
12962
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
12190
12965
Note: Following a Receiver Overflow error, Receiver
behavior is undefined, but it is encouraged that the Receiver continues
to operate, processing Flow Control updates and accepting any TLPs which
do not exceed allocated credits.
12193
12194
12195
12196
12197
12198
12201
12202
12203
Note: Following a Receiver Overflow error, Receiver
behavior is undefined, but it is encouraged that the Receiver continues
to operate, processing Flow Control updates and accepting any TLPs that
do not exceed allocated credits.
12968
12969
12970
12971
12972
For non-infinite NPH, NPD, PH, and CplH types, an UpdateFC
FCP must be scheduled for Transmission each time the following events
occur:
when scaled flow control is not activated and the number
of available FC credits of a particular type is zero and one or more
units of that type are made available by TLPs processed,
when scaled flow control is not activated, the NPD
credit drops below 2, the Receiver supports either the AtomicOp routing
capability or the 128-bit CAS Completer capability, and one or more NPD
credits are made available by TLPs processed,
when scaled flow control is activated and the number of
available FC credits of a particular type is zero or is below the scaled
threshold and one or more units of that type are made available by TLPs
processed so that the number of available credits is equal to or greater
than the scaled threshold, which is 0 for HdrScale or Data Scale of 01b,
4 for HdrScale or DataScale of 10b, and 16 for HdrScale or DataScale of
11b.
when scaled flow control is activated, the DataScale
used for NPD is 01b, the NPD credit drops below 2, the Receiver supports
either the AtomicOp routing capability or the 128-bit CAS Completer
capability, and one or more NPD credits are made available by TLPs
processed.
12973
For non-infinite PD and CplD types, when the number of
available credits is less than Max_Payload_Size, an UpdateFC FCP must be
scheduled for Transmission each time one or more units of that type are
made available by TLPs processed
For ARI Devices, the Max_Payload_Size is determined
solely by the setting in Function 0. The Max_Payload_Size settings in
other Functions are ignored.
For a non-ARI Multi-Function Device whose
Max_Payload_Size settings are identical across all Functions, the common
Max_Payload_Size setting or larger must be used.
For a non-ARI Multi-Function Device whose
Max_Payload_Size settings are not identical across all Functions, the
selected Max_Payload_Size setting is implementation specific, but it is
recommended to use the largest Max_Payload_Size setting across all
Functions.
12204
12205
12966
12967
For non-infinite NPH, NPD, PH, and CplH types, an UpdateFC
FCP must be scheduled for Transmission each time the following events
occur:
when scaled flow control is not activated and the number
of available FC credits of a particular type is zero and one or more
units of that type are made available by TLPs processed,
when scaled flow control is not activated, the NPD
credit drops below 2, the Receiver supports either the AtomicOp routing
capability or the 128-bit CAS Completer capability, and one or more NPD
credits are made available by TLPs processed,
when scaled flow control is activated and the number of
available FC credits of a particular type is below the scaled threshold
and one or more units of that type are made available by TLPs processed
so that the number of available credits is equal to or greater than the
scaled threshold. Where the scaled threshold is 0 for HdrScale or Data
Scale of 01b, 4 for HdrScale or DataScale of 10b, and 16 for HdrScale or
DataScale of 11b.
when scaled flow control is activated, the DataScale
used for NPD is 01b, the NPD credit drops below 2, the Receiver supports
either the AtomicOp routing capability or the 128-bit CAS Completer
capability, and one or more NPD credits are made available by TLPs
processed.
12199
12200
If checked, this is a reported error associated with
the Receiving Port (see Section 6.2 Error Signaling and Logging ).
12964
12191
12192
12963
12974
12975
12976
12977
For non-infinite PD and CplD types, when the number of
available credits is less than Max_Payload_Size, an UpdateFC FCP must be
scheduled for Transmission each time one or more units of that type are
made available by TLPs processed
For ARI Devices, the Max_Payload_Size is determined
solely by the setting in Function 0. The Max_Payload_Size settings in
other Functions are ignored.
For a non-ARI MFD whose Max_Payload_Size settings are
identical across all Functions, the common Max_Payload_Size setting or
larger must be used.
For a non-ARI MFD whose Max_Payload_Size settings are
not identical across all Functions, the selected Max_Payload_Size setting
is implementation specific, but it is recommended to use the largest
Max_Payload_Size setting across all Functions.
12978
UpdateFC FCPs may be scheduled for Transmission more
frequently than is required
Page 200
12979
UpdateFC FCPs may be scheduled for Transmission more
frequently than is required
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12205
12206
12207
12208
12209
12210
12211
UpdateFC FCPs may be scheduled for Transmission more
frequently than is required
When the Link is in the L0 or L0s Link state, Update FCPs
for each enabled type of non-infinite FC credit must be scheduled for
transmission at least once every 30 µs (-0%/+50%), except when the
Extended Synch bit of the Link Control register is Set, in which case the
limit is 120 µs (-0%/+50%).
A timeout mechanism may optionally be implemented. If
implemented, such a mechanism must:
be active only when the Link is in the L0 or L0s Link
state
use a timer with a limit of 200 µs (-0%/+50%),
where the timer is reset by the receipt of any Init or Update FCP.
Alternately, the timer may be reset by the receipt of any DLLP (see
Section 3.5 Data Link Layer Packets (DLLPs) )
upon timer expiration, instruct the Physical Layer
to retrain the Link (via the LTSSM Recovery state, Section 4.2.6.4
Recovery )
if an Infinite Credit advertisement has been made
during initialization for all three Flow Control classes, this timeout
mechanism must be disabled
12212
12213
12979
12980
12981
12982
12983
12984
12985
12986
Note: The implementation of this optional
mechanism is strongly encouraged. Future revisions of this specification
may change this mechanism from optional to required.
12214
12987
12988
12215
12989
12216
12990
12217
12991
12218
12992
12219
12220
12221
12994
12995
12996
12223
12997
12224
12998
12226
13000
12227
13001
12228
13002
12229
13003
12230
12232
13005
13006
13007
12234
13008
12235
Page
Implementation Note
Use of “Infinite” FC Advertisement
13004
Implementation Note
Flow Control Update Latency
12233
12236
Note: The implementation of this optional mechanism
is strongly encouraged. Future revisions of this specification may change
this mechanism from optional to required.
12993
Implementation Note
Use of “Infinite” FC Advertisement
12222
12231
UpdateFC FCPs may be scheduled for Transmission more
frequently than is required
When the Link is in the L0 or L0s Link state, Update FCPs
for each enabled type of non-infinite FC credit must be scheduled for
transmission at least once every 30 μs (-0%/+50%), except when the
Extended Synch bit of the Link Control register is Set, in which case the
limit is 120 μs (-0%/+50%).
A timeout mechanism may optionally be implemented. If
implemented, such a mechanism must:
be active only when the Link is in the L0 or L0s Link
state
use a timer with a limit of 200 μs (-0%/+50%),
where the timer is reset by the receipt of any Init or Update FCP.
Alternately, the timer may be reset by the receipt of any DLLP (see
Section 3.5 Data Link Layer Packets (DLLPs) )
upon timer expiration, instruct the Physical Layer
to retrain the Link (via the LTSSM Recovery state, Section 4.2.6.4
Recovery )
if an Infinite Credit advertisement has been made
during initialization for all three Flow Control classes, this timeout
mechanism must be disabled
Implementation Note
Flow Control Update Latency
13009
For components subject to receiving streams of TLPs, it
is desirable to implement receive buffers larger than the minimum size
required to prevent Transmitter throttling due to lack of available
credits. Likewise, it is desirable to transmit UpdateFC FCPs such that
201
the time required to send, receive and process the UpdateFC prevents
Transmitter throttling. Recommended maximum values for UpdateFC
transmission latency during normal operation are shown in Table 2-45
Maximum UpdateFC Transmission Latency Guidelines for 2.5 GT/s (Symbol
Times) , Table 2-46 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s (Symbol Times) , Table 2-47 Maximum UpdateFC Transmission
Latency Guidelines for 8.0 GT/s (Symbol Times) , and Table 2-48 Maximum
UpdateFC Transmission Latency Guidelines for 16.0 GT/s (Symbol Times) .
13010
For components subject to receiving streams of TLPs, it
is desirable to implement receive buffers larger than the minimum size
required to prevent Transmitter throttling due to lack of available
credits. Likewise, it is desirable to transmit UpdateFC FCPs such that
the time required to send, receive and process the UpdateFC prevents
Transmitter throttling. Recommended maximum values for UpdateFC
transmission latency during normal operation are shown in Table 2-46
Maximum UpdateFC Transmission Latency Guidelines for 2.5 GT/s (Symbol
Times) , Table 2- 47 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s (Symbol Times) , and Table 2-48 Maximum UpdateFC Transmission
Latency Guidelines for 8.0 GT/s and Higher Data Rates (Symbol Times) .
Note that the values given in in these tables do not account for any
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12236
For components subject to receiving streams of TLPs, it
13010
is desirable to implement receive buffers larger than the minimum size
required to prevent Transmitter throttling due to lack of available
credits. Likewise, it is desirable to transmit UpdateFC FCPs such that
the time required to send, receive and process the UpdateFC prevents
Transmitter throttling. Recommended maximum values for UpdateFC
transmission latency during normal operation are shown in Table 2-45
Maximum UpdateFC Transmission Latency Guidelines for 2.5 GT/s (Symbol
Times) , Table 2-46 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s (Symbol Times) , Table 2-47 Maximum UpdateFC Transmission
Latency Guidelines for 8.0 GT/s (Symbol Times) , and Table 2-48 Maximum
UpdateFC Transmission Latency Guidelines for 16.0 GT/s (Symbol Times) .
Note that the values given in in these tables do not account for any
delays caused by the Receiver or Transmitter being in L0s, in Recovery,
or for any delays caused by Retimers (see Section 4.3.8 Retimer Latency )
. For improved performance and/or power-saving, it may be desirable to
use a Flow Control update policy that is more sophisticated than a simple
timer. Any such policy is implementation specific, and beyond the scope
of this document.
12237
13011
12238
12239
13012
The values in the Tables are measured starting from
when the Receiver Transaction Layer makes additional receive buffer space
available by processing a received TLP, to when the first Symbol of the
corresponding UpdateFC DLLP is transmitted.
13013
12240
13014
12241
13015
12242
12243
The values in the Tables are measured starting from
when the Receiver Transaction Layer makes additional receive buffer space
available by processing a received TLP, to when the first Symbol of the
corresponding UpdateFC DLLP is transmitted.
13016
Table 2-45 Maximum UpdateFC Transmission Latency
Guidelines for 2.5 GT/s (Symbol Times)
12244
13017
Table 2-46 Maximum UpdateFC Transmission Latency
Guidelines for 2.5 GT/s (Symbol Times)
13018
12245
Link Operating Width
13019
12246
13020
12247
13021
12248
Link Operating Width
13022
12249
x1
12250
13023
x1
13024
12251
x2
12252
13025
x2
13026
12253
x4
12369
13027
x4
13143
12370
534
12371
13144
534
13145
12372
276
13146
12373
13147
12374
13148
12375
13149
12376
13150
12377
13151
12378
12379
For components subject to receiving streams of TLPs, it
is desirable to implement receive buffers larger than the minimum size
required to prevent Transmitter throttling due to lack of available
credits. Likewise, it is desirable to transmit UpdateFC FCPs such that
the time required to send, receive and process the UpdateFC prevents
Transmitter throttling. Recommended maximum values for UpdateFC
transmission latency during normal operation are shown in Table 2-46
Maximum UpdateFC Transmission Latency Guidelines for 2.5 GT/s (Symbol
Times) , Table 2- 47 Maximum UpdateFC Transmission Latency Guidelines for
5.0 GT/s (Symbol Times) , and Table 2-48 Maximum UpdateFC Transmission
Latency Guidelines for 8.0 GT/s and Higher Data Rates (Symbol Times) .
Note that the values given in in these tables do not account for any
delays caused by the Receiver or Transmitter being in L0s, in Recovery,
or for any delays caused by Retimers (see Section 4.3.8 Retimer Latency )
. For improved performance and/or power-saving, it may be desirable to
use a Flow Control update policy that is more sophisticated than a simple
timer. Any such policy is implementation specific, and beyond the scope
of this document.
276
13152
Table 2-46 Maximum UpdateFC Transmission Latency
Guidelines for 5.0 GT/s (Symbol Times)
Page 202
13153
Table 2-47 Maximum UpdateFC Transmission Latency
Guidelines for 5.0 GT/s (Symbol Times)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12379
Table 2-46 Maximum UpdateFC Transmission Latency
13153
Guidelines for 5.0 GT/s (Symbol Times)
12380
13154
12381
Link Operating Width
13155
12382
13156
12383
13157
12384
Link Operating Width
13158
12385
x1
12386
13159
x1
13160
12387
x2
12388
13161
x2
13162
12389
x4
12505
13163
x4
13279
12506
585
12507
13280
585
13281
12508
327
13282
12509
13283
12510
13284
12511
13285
12512
13286
12513
13287
12514
12515
Table 2-47 Maximum UpdateFC Transmission Latency
Guidelines for 5.0 GT/s (Symbol Times)
327
13288
Table 2-47 Maximum UpdateFC Transmission Latency
Guidelines for 8.0 GT/s (Symbol Times)
12516
12517
Link Operating Width
12518
12519
12520
12521
x1
12522
12523
x2
12524
12525
x4
12526
12527
x8
12528
12529
x12
12530
12531
x16
12532
12533
x32
12534
12535
12536
12537
12538
Max_Payload_Size
(bytes)
12539
12540
128
12541
12542
12543
Page 203
333
13289
Table 2-48 Maximum UpdateFC Transmission Latency
Guidelines for 8.0 GT/s and Higher Data Rates (Symbol Times)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12543
12544
224
12545
12546
169
12547
12548
163
12549
12550
154
12551
12552
144
12553
12554
129
12555
12556
12557
12558
256
12559
12560
512
12561
12562
313
12563
12564
214
12565
12566
203
12567
12568
186
12569
12570
168
12571
12572
141
12573
12574
12575
12576
512
12577
12578
655
12579
12580
385
12581
12582
250
12583
12584
182
12585
12586
205
12587
12588
182
12589
12590
12591
12592
12593
Page 204
148
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12593
12594
1024
12595
12596
1167
12597
12598
641
12599
12600
378
12601
12602
246
12603
12604
290
12605
12606
246
12607
12608
180
12609
12610
12611
12612
2048
12613
12614
2191
12615
12616
1153
12617
12618
634
12619
12620
374
12621
12622
461
12623
12624
374
12625
12626
244
12627
12628
12629
12630
4096
12631
12632
4239
12633
12634
2177
12635
12636
1146
12637
12638
630
12639
12640
802
12641
12642
12643
Page 205
630
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12643
12644
372
12645
12646
12647
12648
12649
12650
12651
Table 2-48 Maximum UpdateFC Transmission Latency
Guidelines for 16.0 GT/s (Symbol Times)
12652
13290
12653
Link Operating Width
13291
12654
13292
12655
13293
12656
13294
12657
x1
12658
13295
x2
12660
13297
x4
In some cases, the data in a TLP payload is known to be corrupt
at the time the TLP is generated, or may become corrupted while passing
through an intermediate component, such as a Switch. In these cases,
error forwarding, also known as data poisoning, can be used to indicate
the corruption to the device consuming the data.
13299
13436
12799
13437
12800
13438
12801
2.7.1 ECRC Rules
12803
12810
12811
2.7.1 ECRC Rules
13442
The capability to generate and check ECRC is reported to
software, and the ability to do so is enabled by software (see Section
7.8.4.7 Advanced Error Capabilities and Control Register (Offset 18h) ).
12806
12809
13440
13441
12804
12808
x4
In some cases, the data in a TLP payload is known to be corrupt
at the time the TLP is generated, or may become corrupted while passing
through an intermediate component, such as a Switch. In these cases,
error forwarding, also known as data poisoning, can be used to indicate
the corruption to the device consuming the data.
13439
12802
12807
x2
13298
12661
12805
x1
13296
12659
12798
Link Operating Width
13443
The capability to generate and check ECRC is reported to
software, and the ability to do so is enabled by software (see Section
7.8.4.7 Advanced Error Capabilities and Control Register (Offset 18h) ).
13444
If a device Function is enabled to generate ECRC, it must
calculate and apply ECRC for all TLPs originated by the Function
Switches must pass TLPs with ECRC unchanged from the Ingress
Port to the Egress Port [Footnote: 40]
13445
If a device supports ECRC generation/checking, at least one
of its Functions must support Advanced Error Reporting (AER) (see Section
6.2 Error Signaling and Logging )
If a device Function is enabled to check ECRC, it must do so
for all TLPs with ECRC where the device is the ultimate PCI Express
Receiver
Note that it is still possible for the Function to receive
TLPs without ECRC, and these are processed normally - this is not an
error
13447
12812
Page 206
13446
13448
13449
13450
If a device Function is enabled to generate ECRC, it must
calculate and apply ECRC for all TLPs originated by the Function
Switches must pass TLPs with ECRC unchanged from the Ingress
Port to the Egress Port [Footnote: An exception is a Multicast TLP that
an Egress Port is modifying due to the MC_Overlay mechanism. See Section
6.14.5 MC_Overlay Mechanism .]
If a device supports ECRC generation/checking, at least one
of its Functions must support Advanced Error Reporting (AER) (see Section
6.2 Error Signaling and Logging )
If a device Function is enabled to check ECRC, it must do so
for all TLPs with ECRC where the device is the ultimate PCI Express
Receiver
Note that it is still possible for the Function to receive
TLPs without ECRC, and these are processed normally - this is not an
error
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
12812
13450
12813
13451
12814
12815
13452
Note that a Switch may optionally perform ECRC checking on
TLPs passing through the Switch. ECRC Errors detected by the Switch are
reported as described in Table 6-5 Transaction Layer Error List , but do
not alter the TLPs' passage through the Switch. [Footnote: 40]
12816
13455
A 32-bit ECRC is calculated for the TLP (End-End TLP
Prefixes, header, and data payload) using the following algorithm and
appended to the end of the TLP (see Figure 2-3 Generic TLP Format ):
12819
12820
12821
12822
12823
12824
12825
12826
12829
13456
13458
13459
13460
13461
13462
13463
13464
13466
13467
13468
13025
13663
13026
ECRC calculation starts with bit 0 of byte 0 and proceeds
from bit 0 to bit 7 of each byte of the TLP
The result of the ECRC calculation is complemented, and the
complemented result bits are mapped into the 32-bit TLP Digest field as
shown in Table 2-49 Mapping of Bits into ECRC Field .
13664
13027
31
13028
13665
31
13666
13029
24
13667
13030
13668
13031
13669
13032
13670
13033
13035
The ECRC value is calculated using the following algorithm (see
Figure 2-49 Calculation of 32-bit ECRC for TLP End to End Data Integrity
Protection )
The polynomial used has coefficients expressed as 04C1 1DB7h
The seed value (initial value for ECRC storage registers) is
FFFF FFFFh
All header fields, all End-End TLP Prefixes (if present), and
the entire data payload (if present) are included in the ECRC
calculation. All bits in Variant fields must be Set for ECRC
calculations.
Bit 0 of the Type field in a TLP header is Variant
[Footnote: Bit 0 of the Type field changes when a Configuration Request
is changed from Type 1 to Type 0.] . This bit in an End-End TLP Prefix is
invariant.
The EP bit is Variant
All other fields are Invariant
13465
ECRC calculation starts with bit 0 of byte 0 and proceeds
from bit 0 to bit 7 of each byte of the TLP
The result of the ECRC calculation is complemented, and the
complemented result bits are mapped into the 32-bit TLP Digest field as
shown in Table 2-49 Mapping of Bits into ECRC Field .
12830
13034
A 32-bit ECRC is calculated for the TLP (End-End TLP
Prefixes, header, and data payload) using the following algorithm and
appended to the end of the TLP (see Figure 2-3 Generic TLP Format ):
13457
The ECRC value is calculated using the following algorithm (see
Figure 2-46 Calculation of 32-bit ECRC for TLP End to End Data Integrity
Protection )
The polynomial used has coefficients expressed as 04C1 1DB7h
The seed value (initial value for ECRC storage registers) is
FFFF FFFFh
All header fields, all End-End TLP Prefixes (if present), and
the entire data payload (if present) are included in the ECRC
calculation. All bits in Variant fields must be Set for ECRC
calculations.
Bit 0 of the Type field in a TLP header is Variant
[Footnote: Bit 0 of the Type field changes when a Configuration Request
is changed from Type 1 to Type 0.] . This bit in an End-End TLP Prefix is
invariant.
The EP bit is Variant
all other fields are Invariant
12827
12828
Note that a Switch may optionally perform ECRC checking on
TLPs passing through the Switch. ECRC Errors detected by the Switch are
reported as described in Table 6-5 Transaction Layer Error List , but do
not alter the TLPs' passage through the Switch. [Footnote: An exception
is a Multicast TLP that an Egress Port is modifying due to the MC_Overlay
mechanism. See Section 6.14.5 MC_Overlay Mechanism .]
13454
12817
12818
13453
24
13671
The 32-bit ECRC value is placed in the TLP Digest field at the
end of the TLP (see Figure 2-3 Generic TLP Format )
For TLPs including a TLP Digest field used for an ECRC value,
Receivers which support end-to-end data integrity checking, check the
ECRC value in the TLP Digest field by:
Page 207
13672
13673
The 32-bit ECRC value is placed in the TLP Digest field at the
end of the TLP (see Figure 2-3 Generic TLP Format )
For TLPs including a TLP Digest field used for an ECRC value,
Receivers that support end-to-end data integrity checking check the ECRC
value in the TLP Digest field by:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13035
For TLPs including a TLP Digest field used for an ECRC value,
13036
13037
Receivers which support end-to-end data integrity checking, check the
ECRC value in the TLP Digest field by:
applying the same algorithm used for ECRC calculation
(above) to the received TLP, not including the 32-bit TLP Digest field of
the received TLP
comparing the calculated result with the value in the TLP
Digest field of the received TLP
13038
13039
13674
13675
13677
13679
Beyond the stated error reporting semantics contained
elsewhere in this specification, how ultimate PCI Express Receivers make
use of the end-to-end data integrity check provided through the ECRC is
beyond the scope of this document. Intermediate Receivers are still
required to forward TLPs whose ECRC checks fail. A PCI Express-to-PCI/
PCI-X Bridge is classified as an ultimate PCI Express Receiver with
regard to ECRC checking.
13680
13043
13681
13044
13682
13045
13683
13046
13685
13686
13049
13687
13050
13688
13051
Figure 2-49 Calculation of 32-bit ECRC for TLP End to End
Data Integrity Protection
13689
13052
Implementation Note
Protection of TD Bit Inside Switches
13053
13690
13691
13054
13692
13055
13693
13056
Implementation Note
Protection of TD Bit Inside Switches
13694
It is of utmost importance that Switches insure and
maintain the integrity of the TD bit in TLPs that they receive and
forward (i.e., by applying a special internal protection mechanism),
since corruption of the TD bit will cause the ultimate target device to
misinterpret the presence or absence of the TLP Digest field.
13695
13073
13711
13074
13712
13075
13713
13076
13714
13077
It is of utmost importance that Switches insure and
maintain the integrity of the TD bit in TLPs that they receive and
forward (i.e., by applying a special internal protection mechanism),
since corruption of the TD bit will cause the ultimate target device to
misinterpret the presence or absence of the TLP Digest field.
13715
13078
2.7.2 Error Forwarding
13079
13716
2.7.2 Error Forwarding
13717
13080
13081
Beyond the stated error reporting semantics contained
elsewhere in this specification, how ultimate PCI Express Receivers make
use of the end-to-end data integrity check provided through the ECRC is
beyond the scope of this document. Intermediate Receivers are still
required to forward TLPs whose ECRC checks fail. A PCI Express-to-PCI/
PCI-X Bridge is classified as an ultimate PCI Express Receiver with
regard to ECRC checking.
13684
Figure 2-46 Calculation of 32-bit ECRC for TLP End to End
Data Integrity Protection
13048
13057
Receivers that support end-to-end data integrity checks
report violations as an ECRC Error. This reported error is associated
with the Receiving Port (see Section 6.2 Error Signaling and Logging ).
13678
13041
13047
For TLPs including a TLP Digest field used for an ECRC value,
Receivers that support end-to-end data integrity checking check the ECRC
value in the TLP Digest field by:
applying the same algorithm used for ECRC calculation
(above) to the received TLP, not including the 32-bit TLP Digest field of
the received TLP, and then
comparing the calculated result with the value in the TLP
Digest field of the received TLP.
13676
Receivers which support end-to-end data integrity checks
report violations as an ECRC Error. This reported error is associated
with the Receiving Port (see Section 6.2 Error Signaling and Logging ).
13040
13042
13673
13718
Error Forwarding (also known as data poisoning), is indicated
by Setting the EP bit. The rules for doing this are specified in Section
2.7.2.2 Rules For Use of Data Poisoning . Here are some examples of cases
where Error Forwarding might be used:
Page 208
13719
Error Forwarding (also known as data poisoning), is indicated
by Setting the EP bit. The rules for doing this are specified in Section
2.7.2.2 Rules For Use of Data Poisoning . Here are some examples of cases
where Error Forwarding might be used:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
13081
Error Forwarding (also known as data poisoning), is indicated
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
by Setting the EP bit. The rules for doing this are specified in Section
13719
2.7.2.2 Rules For Use of Data Poisoning . Here are some examples of cases
where Error Forwarding might be used:
13082
13720
13083
Example #1: A read from main memory encounters uncorrectable
13721
error
13084
13722
or cache.
or cache.
13724
13087
13725
13088
13726
2.7.2.1 Error Forwarding Usage Model
13090
13092
13093
13100
13103
13104
13105
Error Forwarding is only used for Read Completion Data,
AtomicOp Completion Data, AtomicOp Request Data, or Write Data, never for
the cases when the error is in the “header” (request phase, address/
command, etc.). Requests/Completions with header errors cannot be
forwarded in general since true destination cannot be positively known
and, therefore, forwarding may cause direct or side effects such as data
corruption, system failures, etc.
Error Forwarding is used for controlled propagation of
errors through the system, system diagnostics, etc.
Note that Error forwarding does not cause Link Layer Retry
- Poisoned TLPs will be retried only if there are transmission errors on
the Link as determined by the TLP error detection mechanisms in the Data
Link Layer.
2.7.2.2 Rules For Use of Data Poisoning
13108
13109
13110
Page
2.7.2.1 Error Forwarding Usage Model
13729
13730
13731
13738
Error Forwarding is only used for Read Completion Data,
AtomicOp Completion Data, AtomicOp Request Data, or Write Data, never for
the cases when the error is in the “header” (request phase, address/
command, etc.). Requests/Completions with header errors cannot be
forwarded in general since true destination cannot be positively known
and, therefore, forwarding may cause direct or side effects such as data
corruption, system failures, etc.
Error Forwarding is used for controlled propagation of
errors through the system, system diagnostics, etc.
Note that Error forwarding does not cause Link Layer Retry
- Poisoned TLPs will be retried only if there are transmission errors on
the Link as determined by the TLP error detection mechanisms in the Data
Link Layer.
2.7.2.2 Rules For Use of Data Poisoning
13739
Support for TLP poisoning in a Transmitter is optional.
Data poisoning applies only to the data within a Write
Request (Posted or Non-Posted), a Message with Data, an AtomicOp Request,
a Read Completion, or an AtomicOp Completion.
Poisoning of a TLP is indicated by a Set EP bit.
Transmitters are permitted to Set the EP bit only for
TLPs that include a data payload. The behavior of the Receiver is not
specified if the EP bit is set for any TLP that does not include a data
payload.
13106
13107
13727
13728
13101
13102
Example #2: Parity error on a PCI write to main memory
Example #3: Data integrity error on an internal data buffer
13723
13086
13091
Example #1: A read from main memory encounters an uncorrectable
error
Example #2: Parity error on a PCI write to main memory
Example #3: Data integrity error on an internal data buffer
13085
13089
Error Forwarding (also known as data poisoning), is indicated
by Setting the EP bit. The rules for doing this are specified in Section
2.7.2.2 Rules For Use of Data Poisoning . Here are some examples of cases
where Error Forwarding might be used:
13740
13741
13742
13743
Support for TLP poisoning in a Transmitter is optional.
Data poisoning applies only to the data within a Write
Request (Posted or Non-Posted), a Message with Data, an AtomicOp Request,
a Read Completion, or an AtomicOp Completion.
Poisoning of a TLP is indicated by a Set EP bit.
Transmitters are permitted to Set the EP bit only for
TLPs that include a data payload. The behavior of the Receiver is not
specified if the EP bit is Set for any TLP that does not include a data
payload.
13744
If a Transmitter supports data poisoning, TLPs that are
known to the Transmitter to include bad data must use the poisoning
mechanism defined above.
If a Downstream Port supports Poisoned TLP Egress Blocking,
the Poisoned TLP Egress Blocking Enable bit is Set, and a poisoned TLP
targets going out the Egress Port, the Port must handle the TLP as a
Poisoned TLP Egress Blocked error unless there is a higher precedence
error. See Section 6.2.3.2.3 Error Pollution , Section 6.2.5 Sequence of
Device Error Signaling and Logging Operations , and Section 7.9.15.2 DPC
Capability Register (Offset 04h) . Further:
The Port must not transmit the TLP.
If the Poisoned TLP Egress Blocked error is unmasked
and Downstream Port Containment (DPC) is enabled, DPC must be triggered
and the Port must behave as described in Section 2.9.3 Transaction Layer
Behavior During Downstream Port Containment .
209
13745
13746
13747
13748
If a Transmitter supports data poisoning, TLPs that are
known to the Transmitter to include bad data must use the poisoning
mechanism defined above.
If a Downstream Port supports Poisoned TLP Egress Blocking,
the Poisoned TLP Egress Blocking Enable bit is Set, and a poisoned TLP
targets going out the Egress Port, the Port must handle the TLP as a
Poisoned TLP Egress Blocked error unless there is a higher precedence
error. See Section 6.2.3.2.3 Error Pollution , Section 6.2.5 Sequence of
Device Error Signaling and Logging Operations , and Section 7.9.15.2 DPC
Capability Register (Offset 04h) . Further:
The Port must not transmit the TLP.
If DPC is not triggered and the TLP is a Non-Posted
Request, the Port must return a Completion with Unsupported Request
Completion Status.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13110
If the Poisoned TLP Egress Blocked error is unmasked
13111
and Downstream Port Containment (DPC) is enabled, DPC must be triggered
and the Port must behave as described in Section 2.9.3 Transaction Layer
Behavior During Downstream Port Containment .
If DPC is not triggered and the TLP is a Non-Posted
Request, the Port must return a Completion the same as if the TLP had
triggered DPC. See Section 2.9.3 Transaction Layer Behavior During
Downstream Port Containment .
13112
13113
13114
13115
13116
13748
13749
If DPC is not triggered and the TLP is a Non-Posted
Request, the Port must return a Completion with Unsupported Request
Completion Status.
If DPC is triggered the Port must behave as described
in Section 2.9.3 Transaction Layer Behavior During Downstream Port
Containment .
13750
The following Requests with Poisoned data must not modify
the value of the target location:
Configuration Write Request
Any of the following that target a control register or
control structure in the Completer: I/O Write Request, Memory Write
Request, or non-vendor-defined Message with data
AtomicOp Request
13117
13751
13752
13753
13754
The following Requests with Poisoned data must not modify
the value of the target location:
Configuration Write Request
Any of the following that target a control register or
control structure in the Completer: I/O Write Request, Memory Write
Request, or non-vendor-defined Message with data
AtomicOp Request
13755
13756
13118
Unless there is a higher precedence error, a
Completer must handle these Requests as a Poisoned TLP Received error
[Footnote: Due to ambiguous language in earlier versions of this
specification, a component is permitted to handle this error as an
Unsupported Request, but this is strongly discouraged.] , and the
Completer must also return a Completion with a Completion Status of
Unsupported Request (UR) if the Request is Non-Posted (see Section
6.2.3.2.3 Error Pollution , Section 6.2.3.2.4 Advisory Non-Fatal Error
Cases , and Section 6.2.5 Sequence of Device Error Signaling and Logging
Operations ). Regardless of the severity of the reported error, the
reported error must be handled as an uncorrectable error, not an Advisory
Non-Fatal Error.
13119
Unless there is a higher precedence error, a Completer
must handle these Requests as a Poisoned TLP Received error [Footnote:
Due to ambiguous language in earlier versions of this specification, a
component is permitted to handle this error as an Unsupported Request,
but this is strongly discouraged.] , and the Completer must also return a
Completion with a Completion Status of Unsupported Request (UR) if the
Request is Non-Posted (see Section 6.2.3.2.3 Error Pollution , Section
6.2.3.2.4 Advisory Non-Fatal Error Cases , and Section 6.2.5 Sequence of
Device Error Signaling and Logging Operations ). Regardless of the
severity of the reported error, the reported error must be handled as an
uncorrectable error, not an Advisory Non-Fatal Error.
13758
13759
13120
13121
13757
13760
A Switch must route the Request the same way it
would route the same Request if it were not poisoned, unless the Request
targets a location in the Switch itself, in which case the Switch is the
Completer for the Request and must follow the above rules.
A Switch must route the Request the same way it would
route the same Request if it were not poisoned, unless the Request
targets a location in the Switch itself, in which case the Switch is the
Completer for the Request and must follow the above rules.
13761
13122
13762
13123
13763
13124
13125
13126
13764
For some applications it may be desirable for the Completer
to use poisoned data in Write Requests which do not target control
registers or control structures - such use is not forbidden. Similarly,
it may be desirable for the Requester to use data marked poisoned in
Completions - such use is also not forbidden. The appropriate use of
poisoned information is application specific, and is not discussed in
this document.
13127
13765
13128
13129
For some applications it may be desirable for the Completer
to use poisoned data in Write Requests that do not target control
registers or control structures - such use is not forbidden. Similarly,
it may be desirable for the Requester to use data marked poisoned in
Completions - such use is also not forbidden. The appropriate use of
poisoned information is application specific, and is not discussed in
this document.
13766
This document does not define any mechanism for determining
which part or parts of the data payload of a Poisoned TLP are actually
corrupt and which, if any, are not corrupt.
Page 210
13767
This document does not define any mechanism for determining
which part or parts of the data payload of a Poisoned TLP are actually
corrupt and which, if any, are not corrupt.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
13129
This document does not define any mechanism for determining
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
which part or parts of the data payload of a Poisoned TLP are actually
13767
corrupt and which, if any, are not corrupt.
13130
13768
13131
13769
13132
13770
13133
13771
13134
13772
13135
13773
13136
2.8 Completion Timeout Mechanism
13141
13142
PCI Express device Functions that issue Requests requiring
Completions must implement the Completion Timeout mechanism. An exception
is made for Configuration Requests (see below). The Completion Timeout
mechanism is activated for each Request that requires one or more
Completions when the Request is transmitted. Since Switches do not
autonomously initiate Requests that need Completions, the requirement for
Completion Timeout support is limited only to Root Complexes, PCI
Express-PCI Bridges, and Endpoints.
13780
PCI Express device Functions that issue Requests requiring
Completions must implement the Completion Timeout mechanism. An exception
is made for Configuration Requests (see below). The Completion Timeout
mechanism is activated for each Request that requires one or more
Completions when the Request is transmitted. Since Switches do not
autonomously initiate Requests that need Completions, the requirement for
Completion Timeout support is limited only to Root Complexes, PCI
Express-PCI Bridges, and Endpoints.
13782
The Completion Timeout mechanism may be disabled by
configuration software. The Completion Timeout limit is set in the
Completion Timeout Value field of the Device Control 2 register. A
Completion Timeout is a reported error associated with the Requester
Function (see Section 6.2 Error Signaling and Logging ).
13146
13783
The Completion Timeout mechanism may be disabled by
configuration software. The Completion Timeout limit is set in the
Completion Timeout Value field of the Device Control 2 register. A
Completion Timeout is a reported error associated with the Requester
Function (see Section 6.2 Error Signaling and Logging ).
13784
13147
13785
Note: A Memory Read Request for which there are multiple
Completions must be considered completed only when all Completions have
been received by the Requester. If some, but not all, requested data is
returned before the Completion Timeout timer expires, the Requester is
permitted to keep or to discard the data that was returned prior to timer
expiration.
13149
13786
Note: A Memory Read Request for which there are multiple
Completions must be considered completed only when all Completions have
been received by the Requester. If some, but not all, requested data is
returned before the Completion Timeout timer expires, the Requester is
permitted to keep or to discard the data that was returned prior to timer
expiration.
13787
13150
13151
2.8 Completion Timeout Mechanism
13781
13144
13148
13774
13779
13143
13145
This document does not define any mechanism for determining
which part or parts of the data payload of a Poisoned TLP are actually
corrupt and which, if any, are not corrupt.
13788
Completion Timeouts for Configuration Requests have special
requirements for the support of PCI Express to PCI/PCI Express bridges.
PCI Express to PCI/PCI-X Bridges, by default, are not enabled to return
Configuration Request Retry Status (CRS) for Configuration Requests to a
PCI/PCI-X device behind the Bridge. This may result in lengthy completion
delays that must be comprehended by the Completion Timeout value in the
Root Complex. System software may enable PCI Express to PCI/PCI-X Bridges
to return Configuration Request Retry Status by setting the Bridge
Configuration Retry Enable bit in the Device Control register, subject to
the restrictions noted in the PCI Express to PCI/PCI-X Bridge
Specification, Revision 1.0 .
13789
13152
13790
13153
13791
13154
13155
13156
13157
Page 211
Completion Timeouts for Configuration Requests have special
requirements for the support of PCI Express to PCI/PCI Express bridges.
PCI Express to PCI/PCI-X Bridges, by default, are not enabled to return
Configuration Request Retry Status (CRS) for Configuration Requests to a
PCI/PCI-X device behind the Bridge. This may result in lengthy completion
delays that must be comprehended by the Completion Timeout value in the
Root Complex. System software may enable PCI Express to PCI/PCI-X Bridges
to return CRS by setting the Bridge Configuration Retry Enable bit in the
Device Control register, subject to the restrictions noted in the [PCIeto-PCI-PCI-X-Bridge-1.0].
13792
Implementation Note
Completion Timeout Prefix/Header Log Capable
13793
13794
13795
Implementation Note
Completion Timeout Prefix/Header Log Capable
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13157
13795
13158
13796
13159
13160
13797
The prefix/header of the Request TLP associated with a
Completion Timeout may optionally be recorded by Requesters that
implement the AER Capability. Support for recording of the prefix/header
is indicated by the value of the Completion Timeout Prefix/Header Log
Capable bit in the Advanced Error Capabilities and Control register.
13161
13800
A Completion Timeout may be the result of improper
configuration, system failure, or Async Removal (see Section 6.7.5 Async
Removal ). In order for host software to distinguish a Completion Timeout
error after which continued normal operation is not possible (e.g., after
one caused by improper configuration or a system failure) from one where
continued normal operation is possible (e.g., after an Async Removal), it
is strongly encouraged that Requesters log the Request TLP prefix/header
associated with the Completion Timeout.
13801
13164
13802
13165
13803
13166
13804
13167
13805
13168
13806
13169
13170
13808
13809
13172
13810
13173
13811
13175
13813
13176
Page
13817
For a Port with DL_Down status, the Transaction Layer is not
required to accept received TLPs from the Data Link Layer, provided that
these TLPs have not been acknowledged by the Data Link Layer. Such TLPs
do not modify receive Flow Control credits.
13819
For a Downstream Port, DL_Down status is handled by:
13183
13185
DL_Down status indicates that there is no connection with
another component on the Link, or that the connection with the other
component has been lost and is not recoverable by the Physical or Data
Link Layers. This section specifies the Transaction Layer's behavior if
DPC has not been triggered and the Data Link Layer reports DL_Down status
to the Transaction Layer, indicating that the Link is non-operational.
Section 2.9.3 Transaction Layer Behavior During Downstream Port
Containment specifies the behavior if DPC has been triggered.
13818
13181
13184
13815
13816
For a Port with DL_Down status, the Transaction Layer is not
required to accept received TLPs from the Data Link Layer, provided that
these TLPs have not been acknowledged by the Data Link Layer. Such TLPs
do not modify receive Flow Control credits.
13180
13182
2.9 Link Status Dependencies
13814
DL_Down status indicates that there is no connection with
another component on the Link, or that the connection with the other
component has been lost and is not recoverable by the Physical or Data
Link Layers. This section specifies the Transaction Layer's behavior if
DPC has not been triggered and the Data Link Layer reports DL_Down status
to the Transaction Layer, indicating that the Link is non-operational.
Section 2.9.3 Transaction Layer Behavior During Downstream Port
Containment specifies the behavior if DPC has been triggered.
13178
13179
A Completion Timeout may be the result of improper
configuration, system failure, or Async Removal (see Section 6.7.6 Async
Removal ). In order for host software to distinguish a Completion Timeout
error after which continued normal operation is not possible (e.g., after
one caused by improper configuration or a system failure) from one where
continued normal operation is possible (e.g., after an Async Removal), it
is strongly encouraged that Requesters log the Request TLP prefix/header
associated with the Completion Timeout.
13807
2.9 Link Status Dependencies
13171
13177
The prefix/header of the Request TLP associated with a
Completion Timeout may optionally be recorded by Requesters that
implement the AER Capability. Support for recording of the prefix/header
is indicated by the value of the Completion Timeout Prefix/Header Log
Capable bit in the Advanced Error Capabilities and Control register.
13799
13162
13163
13798
13820
For a Downstream Port, DL_Down status is handled by:
13821
initializing back to their default state any buffers or
internal states associated with outstanding requests transmitted
Downstream
Note: Port configuration registers must not be affected,
except as required to update status associated with the transition to
DL_Down
212
13822
13823
Initializing back to their default state any buffers or
internal states associated with outstanding requests transmitted
Downstream
Note: Port configuration registers must not be affected,
except as required to update status associated with the transition to
DL_Down.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13185
Note: Port configuration registers must not be affected,
except as required to update status associated with the transition to
DL_Down
13186
13187
13188
13189
13823
Note: Port configuration registers must not be affected,
except as required to update status associated with the transition to
DL_Down.
13824
for Non-Posted Requests, forming completions for any Requests
submitted by the device core for Transmission, returning Unsupported
Request Completion Status, then discarding the Requests
This is a reported error associated with the Function for
the (virtual) Bridge associated with the Port (see Section 6.2 Error
Signaling and Logging ). For Root Ports, the reporting of this error is
optional.
Non-Posted Requests already being processed by the
Transaction Layer, for which it may not be practical to return
Completions, are discarded.
13190
13825
13826
13827
For Non-Posted Requests, forming completions for any Requests
submitted by the device core for Transmission, returning Unsupported
Request Completion Status, then discarding the Requests
This is a reported error associated with the Function for
the (virtual) Bridge associated with the Port (see Section 6.2 Error
Signaling and Logging ). For Root Ports, the reporting of this error is
optional.
Non-Posted Requests already being processed by the
Transaction Layer, for which it may not be practical to return
Completions, are discarded.
13828
13191
13192
13193
Note: This is equivalent to the case where the Request had
been Transmitted but not yet Completed before the Link status became
DL_Down.
13194
13195
Note: This is equivalent to the case where the
Request had been Transmitted but not yet Completed before the Link status
became DL_Down.
13830
These cases are handled by the Requester using the Completion
Timeout mechanism.
13196
13831
These cases are handled by the Requester using the
Completion Timeout mechanism.
13832
13197
13198
13829
13833
Note: The point at which a Non-Posted Request becomes
“uncompletable” is implementation specific.
13199
13834
Note: The point at which a Non-Posted Request becomes
“uncompletable” is implementation specific.
13835
13836
13200
13201
13202
13203
13204
The Port must terminate any PME_Turn_Off handshake Requests
targeting the Port in such a way that the Port is considered to have
acknowledged the PME_Turn_Off request (see the Implementation Note in
Section 5.3.3.2.1 PME Synchronization ).
The Port must handle Vendor Defined Message Requests as
described in Table F-1 (e.g., silently discard Vendor Defined Type 1
Messages Requests that it is not designed to receive) since the DL_Down
prevents the Request from reaching its targeted Function.
13837
for all other Posted Requests, discarding the Requests
This is a reported error associated with the Function for
the (virtual) Bridge associated with the Port (see Section 6.2 Error
Signaling and Logging ), and must be reported as an Unsupported Request.
For Root Ports, the reporting of this error is optional.
For a Posted Request already being processed by the
Transaction Layer, the Port is permitted not to report the error.
13839
13205
13838
13840
13841
The Port must terminate any PME_Turn_Off handshake Requests
targeting the Port in such a way that the Port is considered to have
acknowledged the PME_Turn_Off request (see the Implementation Note in
Section 5.3.3.2.1 PME Synchronization ).
The Port must handle Vendor Defined Message Requests as
described in Section 2.2.8.6 Vendor_Defined Messages (e.g., silently
discard Vendor Defined Type 1 Messages Requests that it is not designed
to receive) since the DL_Down prevents the Request from reaching its
targeted Function.
For all other Posted Requests, discarding the Requests
This is a reported error associated with the Function for
the (virtual) Bridge associated with the Port (see Section 6.2 Error
Signaling and Logging ), and must be reported as an Unsupported Request.
For Root Ports, the reporting of this error is optional.
For a Posted Request already being processed by the
Transaction Layer, the Port is permitted not to report the error.
13842
13206
13207
13208
Note: This is equivalent to the case where the Request had
been Transmitted before the Link status became DL_Down
13209
Page 213
13843
13844
Note: This is equivalent to the case where the
Request had been Transmitted before the Link status became DL_Down
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13209
13844
13210
13845
13846
13211
Note: The point at which a Posted Request becomes
“unreportable” is implementation specific.
13212
13213
13847
13848
Discarding all Completions submitted by the device core for
Transmission
13214
13849
13851
13216
For an Upstream Port, DL_Down status is handled as a reset
13852
by:
13220
For an Upstream Port, DL_Down status is handled as a reset
by:
13217
13219
Discarding all Completions submitted by the device core for
Transmission
13850
13215
13218
Note: The point at which a Posted Request becomes
“unreportable” is implementation specific.
13853
Returning all PCI Express-specific registers, state machines
and externally observable state to the specified default or initial
conditions (except for registers defined as sticky - see Section 7.4
Configuration Register Types )
Discarding all TLPs being processed
For Switch and Bridge propagating hot reset to all associated
Downstream Ports. In Switches that support Link speeds greater than 5.0
GT/s, the Upstream Port must direct the LTSSM of each Downstream Port to
the Hot Reset state, but not hold the LTSSMs in that state. This permits
each Downstream Port to begin Link training immediately after its hot
reset completes. This behavior is recommended for all Switches.
13854
13855
13856
13221
13857
13222
13858
13223
13859
13224
Returning all PCI Express-specific registers, state machines
and externally observable state to the specified default or initial
conditions (except for registers defined as sticky - see Section 7.4
Configuration Register Types )
Discarding all TLPs being processed
For Switch and Bridge propagating hot reset to all associated
Downstream Ports. In Switches that support Link speeds greater than 5.0
GT/s, the Upstream Port must direct the LTSSM of each Downstream Port to
the Hot Reset state, but not hold the LTSSMs in that state. This permits
each Downstream Port to begin Link training immediately after its hot
reset completes. This behavior is recommended for all Switches.
13860
13225
2.9.2 Transaction Layer Behavior in DL_Up Status
13226
13861
2.9.2 Transaction Layer Behavior in DL_Up Status
13862
13863
13227
DL_Up status indicates that a connection has been established
with another component on the associated Link. This section specifies the
Transaction Layer's behavior when the Data Link Layer reports entry to
the DL_Up status to the Transaction Layer, indicating that the Link is
operational. The Transaction Layer of a Port with DL_Up status must
accept received TLPs that conform to the other rules of this
specification.
13228
DL_Up status indicates that a connection has been established
with another component on the associated Link. This section specifies the
Transaction Layer's behavior when the Data Link Layer reports entry to
the DL_Up status to the Transaction Layer, indicating that the Link is
operational. The Transaction Layer of a Port with DL_Up status must
accept received TLPs that conform to the other rules of this
specification.
13865
13229
13866
13230
For a Downstream Port on a Root Complex or a Switch:
13231
13232
13864
13867
For a Downstream Port on a Root Complex or a Switch:
13868
When transitioning from a non-DL_Up status to a DL_Up status
and the Auto Slot Power Limit Disable bit is Cleared in the Slot Control
Register, the Port must initiate the transmission of a
Set_Slot_Power_Limit Message to the other component on the Link to convey
the value programmed in the Slot Power Limit Scale and Value fields of
the Slot Capabilities register. This Transmission is optional if the Slot
Capabilities register has not yet been initialized.
13869
13233
13870
13234
13871
Page 214
When transitioning from a non-DL_Up status to a DL_Up status
and the Auto Slot Power Limit Disable bit is Clear in the Slot Control
Register, the Port must initiate the transmission of a
Set_Slot_Power_Limit Message to the other component on the Link to convey
the value programmed in the Slot Power Limit Scale and Value fields of
the Slot Capabilities register. This Transmission is optional if the Slot
Capabilities register has not yet been initialized.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13234
13871
13235
13872
13236
13873
13237
2.9.3 Transaction Layer Behavior During Downstream Port
13874
Containment
13238
13875
13239
13240
13876
During Downstream Port Containment (DPC), the LTSSM
associated with the Downstream Port is directed to the Disabled state.
Once it reaches the Disabled state, it remains there as long as the DPC
Trigger Status bit in the DPC Status register is Set. See Section 6.2.10
Downstream Port Containment (DPC) for requirements on how long software
must leave the Downstream Port in DPC. This section specifies the
Transaction Layer's behavior once DPC has been triggered, and as long as
the Downstream Port remains in DPC.
13241
13242
13250
13251
13254
13255
Once DPC has been triggered, no additional (Upstream) TLPs are
accepted from the Data Link Layer.
13883
The Downstream Port handles (Downstream) TLPs submitted by
the device core in the following manner.
13884
If the condition that triggered DPC was associated with a
Downstream TLP, any prior Downstream TLPs are permitted to be dropped
silently or transmitted before the Link goes down. Otherwise, the
following rules apply.
For each Non-Posted Request, the Port must return a
Completion and discard the Request silently. The Completer ID field must
contain the value associated with the Downstream Port.
If the DPC Completion Control bit is Set in the DPC Control
register, then Completions are generated with Unsupported Request (UR)
Completion Status.
If the DPC Completion Control bit is Clear, Completions
are generated with Completer Abort (CA) Completion Status.
13252
13253
13879
13882
The Downstream Port handles (Downstream) TLPs submitted by
the device core in the following manner.
13247
13249
During Downstream Port Containment (DPC), the LTSSM
associated with the Downstream Port is directed to the Disabled state.
Once it reaches the Disabled state, it remains there as long as the DPC
Trigger Status bit in the DPC Status Register is Set. See Section 6.2.10
Downstream Port Containment (DPC) for requirements on how long software
must leave the Downstream Port in DPC. This section specifies the
Transaction Layer's behavior once DPC has been triggered, and as long as
the Downstream Port remains in DPC.
13881
13245
13248
13877
13878
Once DPC has been triggered, no additional (Upstream) TLPs are
accepted from the Data Link Layer.
13244
13246
2.9.3 Transaction Layer Behavior During Downstream Port
Containment
13885
13886
13887
13888
If the condition that triggered DPC was associated with a
Downstream TLP, any prior Downstream TLPs are permitted to be dropped
silently or transmitted before the Link goes down. Otherwise, the
following rules apply.
For each Non-Posted Request, the Port must return a
Completion and discard the Request silently. The Completer ID field must
contain the value associated with the Downstream Port.
If the DPC Completion Control bit is Set in the DPC
Control Register, then Completions are generated with Unsupported Request
(UR) Completion Status.
If the DPC Completion Control bit is Clear,
Completions are generated with Completer Abort (CA) Completion Status.
13889
The Port must terminate any PME_Turn_Off handshake Requests
targeting the Port in such a way that the Port is considered to have
acknowledged the PME_Turn_Off Request (see the Implementation Note in
Section 5.3.3.2.1 PME Synchronization ).
The Port must handle Vendor Defined Message Requests as
described in Table F-1. (e.g., silently discard Vendor Defined Type 1
Message Requests that it is not designed to receive) since the DL_Down
prevents the Request from reaching its targeted Function.
13890
For all other Posted Requests and Completions, the Port must
silently discard the TLP.
13892
13891
13256
13893
13257
13894
The Port must terminate any PME_Turn_Off handshake
Requests targeting the Port in such a way that the Port is considered to
have acknowledged the PME_Turn_Off Request (see the Implementation Note
in Section 5.3.3.2.1 PME Synchronization ).
The Port must handle Vendor Defined Message Requests as
described in Section 2.2.8.6 Vendor_Defined Messages . (e.g., silently
discard Vendor Defined Type 1 Message Requests that it is not designed to
receive) since the DL_Down prevents the Request from reaching its
targeted Function.
For all other Posted Requests and Completions, the Port
must silently discard the TLP.
13895
13258
Page
For any outstanding Non-Posted Requests where DPC being
triggered prevents their associated Completions from being returned, the
following apply:
215
13896
For any outstanding Non-Posted Requests where DPC being
triggered prevents their associated Completions from being returned, the
following apply:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13258
For any outstanding Non-Posted Requests where DPC being
triggered prevents their associated Completions from being returned, the
following apply:
13259
13260
13261
13896
13897
For Root Ports that support RP Extensions for DPC, the Root
Port may track certain Non-Posted Requests, and when DPC is triggered,
synthesize a Completion for each tracked Request. This helps avoid
Completion Timeouts that would otherwise occur as a side-effect of DPC
being triggered. Each synthesized Completion must have a UR or CA
Completion Status as determined by the DPC Completion Control bit. The
set of Non-Posted Requests that get tracked is implementation-specific,
but it is strongly recommended that all Non-Posted Requests that are
generated by host processor instructions (e.g., “read”, “write”, “load”,
“store”, or one that corresponds to an AtomicOp) be tracked. Other
candidates for tracking include peer-to-peer Requests coming from other
Root Ports and Requests coming from RCiEPs.
Otherwise, the associated Requesters may encounter Completion
Timeouts. The software solution stack should comprehend and account for
this possibility.
13898
13899
13262
13900
13263
13901
13264
13902
13265
13903
13266
13904
13267
13272
For any outstanding Non-Posted Requests where DPC being
triggered prevents their associated Completions from being returned, the
following apply:
For Root Ports that support RP Extensions for DPC, the Root
Port may track certain Non-Posted Requests, and when DPC is triggered,
synthesize a Completion for each tracked Request. This helps avoid
Completion Timeouts that would otherwise occur as a side-effect of DPC
being triggered. Each synthesized Completion must have a UR or CA
Completion Status as determined by the DPC Completion Control bit. The
set of Non-Posted Requests that get tracked is implementation-specific,
but it is strongly recommended that all Non-Posted Requests that are
generated by host processor instructions (e.g., “read”, “write”, “load”,
“store”, or one that corresponds to an AtomicOp) be tracked. Other
candidates for tracking include peer-to-peer Requests coming from other
Root Ports and Requests coming from RCiEPs.
Otherwise, the associated Requesters may encounter Completion
Timeouts. The software solution stack should comprehend and account for
this possibility.
13905
The Data Link Layer acts as an intermediate stage between the
Transaction Layer and the Physical Layer. Its primary responsibility is
to provide a reliable mechanism for exchanging Transaction Layer Packets
(TLPs) between the two components on a Link.
13910
13273
13911
13274
13912
13275
The Data Link Layer acts as an intermediate stage between the
Transaction Layer and the Physical Layer. Its primary responsibility is
to provide a reliable mechanism for exchanging Transaction Layer Packets
(TLPs) between the two components on a Link.
13913
13276
3.1 Data Link Layer Overview
13914
13277
13915
13278
13916
13279
13917
13280
13918
13281
13919
3.1 Data Link Layer Overview
13282
13283
Figure 3-1 Layering Diagram Highlighting the Data Link Layer
13920
13284
13921
13285
13922
13286
13287
Figure 3-1 Layering Diagram Highlighting the Data Link Layer
13923
The Data Link Layer is responsible for reliably conveying TLPs
supplied by the Transaction Layer across a PCI Express Link to the other
component's Transaction Layer. Services provided by the Data Link Layer
include:
13288
13291
Page 216
The Data Link Layer is responsible for reliably conveying TLPs
supplied by the Transaction Layer across a PCI Express Link to the other
component's Transaction Layer. Services provided by the Data Link Layer
include:
13925
13289
13290
13924
13926
Data Exchange:
13927
13928
Data Exchange:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13291
13928
13292
Accept TLPs for transmission from the Transmit Transaction Layer
and convey them to the Transmit Physical Layer
13929
Accept TLPs for transmission from the Transmit Transaction Layer
and convey them to the Transmit Physical Layer
13313
used for Link Management functions including TLP acknowledgement,
power management, and exchange of Flow Control information.
transferred between Data Link Layers of the two directly
connected components on a Link
13950
used for Link Management functions including TLP acknowledgement,
power management, and exchange of Flow Control information.
transferred between Data Link Layers of the two directly
connected components on a Link
13314
13315
13952
13316
13317
13953
DLLPs are sent point-to-point, between the two components on
one Link. TLPs are routed from one component to another, potentially
through one or more intermediate components.
13318
Data integrity checking for DLLPs and TLPs is done using a CRC
included with each packet sent across the Link. DLLPs use a 16-bit CRC
and TLPs (which can be much longer than DLLPs) use a 32-bit LCRC. TLPs
additionally include a sequence number, which is used to detect cases
where one or more entire TLPs have been lost.
13959
Received DLLPs which fail the CRC check are discarded. The
mechanisms which use DLLPs may suffer a performance penalty from this
loss of information, but are self-repairing such that a successive DLLP
will supersede any information lost.
13324
13960
Received DLLPs that fail the CRC check are discarded. The
mechanisms that use DLLPs may suffer a performance penalty from this loss
of information, but are self-repairing such that a successive DLLP will
supersede any information lost.
13961
13325
13962
TLPs which fail the data integrity checks (LCRC and sequence
number), or which are lost in transmission from one component to another,
are re-sent by the Transmitter. The Transmitter stores a copy of all TLPs
sent, re-sending these copies when required, and purges the copies only
when it receives a positive acknowledgement of error-free receipt from
the other component. If a positive acknowledgement has not been received
within a specified time period, the Transmitter will automatically start
re-transmission. The Receiver can request an immediate re-transmission
using a negative acknowledgement.
13327
13963
TLPs that fail the data integrity checks (LCRC and sequence
number), or that are lost in transmission from one component to another,
are re-sent by the Transmitter. The Transmitter stores a copy of all TLPs
sent, re-sending these copies when required, and purges the copies only
when it receives a positive acknowledgement of error-free receipt from
the other component. If a positive acknowledgement has not been received
within a specified time period, the Transmitter will automatically start
re-transmission. The Receiver can request an immediate re-transmission
using a negative acknowledgement.
13964
13328
13329
13957
13958
13322
13326
DLLPs are sent point-to-point, between the two components on
one Link. TLPs are routed from one component to another, potentially
through one or more intermediate components.
13956
Data integrity checking for DLLPs and TLPs is done using a CRC
included with each packet sent across the Link. DLLPs use a 16-bit CRC
and TLPs (which can be much longer than DLLPs) use a 32-bit LCRC. TLPs
additionally include a sequence number, which is used to detect cases
where one or more entire TLPs have been lost.
13321
13323
13954
13955
13319
13320
13951
13965
The Data Link Layer appears as an information conduit with
varying latency to the Transaction Layer. On any given individual Link
all TLPs fed into the Transmit Data Link Layer (1 and 3) will appear at
the output of the Receive Data Link Layer (2 and 4) in the same order at
a later time, as illustrated in Figure 3-1 Layering Diagram Highlighting
the Data Link Layer . The latency will depend on a number of factors,
including pipeline latencies, width and operational frequency of the
Link, transmission of electrical signals across the Link, and delays
caused by Data Link Layer Retry. As a result of these delays, the
Transmit Data Link Layer (1 and 3) can apply backpressure to the Transmit
Transaction Layer, and the Receive Data Link Layer (2 and 4) communicates
the presence or absence of valid information to the Receive Transaction
Layer.
Page 217
13966
The Data Link Layer appears as an information conduit with
varying latency to the Transaction Layer. On any given individual Link
all TLPs fed into the Transmit Data Link Layer (1 and 3) will appear at
the output of the Receive Data Link Layer (2 and 4) in the same order at
a later time, as illustrated in Figure 3-1 Layering Diagram Highlighting
the Data Link Layer . The latency will depend on a number of factors,
including pipeline latencies, width and operational frequency of the
Link, transmission of electrical signals across the Link, and delays
caused by Data Link Layer Retry. As a result of these delays, the
Transmit Data Link Layer (1 and 3) can apply backpressure to the Transmit
Transaction Layer, and the Receive Data Link Layer (2 and 4) communicates
the presence or absence of valid information to the Receive Transaction
Layer.
all TLPs fed into the Transmit Data Link Layer (1 and 3) will appear at
the output of the Receive Data Link Layer (2 and 4) in the same order at
a later time, as illustrated in Figure 3-1 Layering Diagram Highlighting
the Data Link Layer . The latency will depend on a number of factors,
including pipeline latencies, width and operational frequency of the
Link, transmission of electrical signals across the Link, and delays
caused by Data Link Layer Retry. As a result of these delays, the
Transmit Data Link Layer (1 and 3) can apply backpressure vs.
to the Transmit
/private/tmp/PCISIG/pcie4_combined-snapshot.html
Transaction Layer, and the Receive Data Link Layer (2 and 4) communicates
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
the presence or absence of valid information to the Receive Transaction
Layer.
all TLPs fed into the Transmit Data Link Layer (1 and 3) will appear at
the output of the Receive Data Link Layer (2 and 4) in the same order at
a later time, as illustrated in Figure 3-1 Layering Diagram Highlighting
the Data Link Layer . The latency will depend on a number of factors,
including pipeline latencies, width and operational frequency of the
Link, transmission of electrical signals across the Link, and delays
caused by Data Link Layer Retry. As a result of these delays, the
Transmit Data Link Layer (1 and 3) can apply backpressure to the Transmit
Transaction Layer, and the Receive Data Link Layer (2 and 4) communicates
the presence or absence of valid information to the Receive Transaction
Layer.
13330
13967
13331
13968
13332
13969
13333
13970
13334
3.2 Data Link Control and Management State Machine
13335
13973
13340
States:
13341
13343
13344
13345
DL_Inactive - Physical Layer reporting Link is non-operational or
nothing is connected to the Port
DL_Feature (optional) - Physical Layer reporting Link is
operational, perform the Data Link Feature Exchange
DL_Init - Physical Layer reporting Link is operational,
initialize Flow Control for the default Virtual Channel
DL_Active - Normal operation mode
States:
13979
13980
13981
13982
DL_Inactive - Physical Layer reporting Link is non-operational or
nothing is connected to the Port
DL_Feature (optional) - Physical Layer reporting Link is
operational, perform the Data Link Feature Exchange
DL_Init - Physical Layer reporting Link is operational,
initialize Flow Control for the default Virtual Channel
DL_Active - Normal operation mode
13983
13347
13984
13348
Status Outputs:
13349
13351
13977
13978
13346
13350
3.2 Data Link Control and Management State Machine
13972
13336
13342
13971
13985
Status Outputs:
13986
DL_Down - The Data Link Layer is not communicating with the
component on the other side of the Link.
DL_Up - The Data Link Layer is communicating with the component
on the other side of the Link.
13352
13987
13988
13353
DL_Down - The Data Link Layer is not communicating with the
component on the other side of the Link.
13989
13990
13354
13991
13355
13992
13356
13993
13357
DL_Up - The Data Link Layer is communicating with the
component on the other side of the Link.
13994
13358
Figure 3-2 Data Link Control and Management State Machine
13995
13359
13996
13360
13997
13361
13998
13362
Figure 3-2 Data Link Control and Management State Machine
13999
13363
3.2.1 Data Link Control and Management State Machine Rules
13364
14000
3.2.1 Data Link Control and Management State Machine Rules
14001
13365
14002
13366
Rules per state:
13367
14003
Rules per state:
14004
14005
13368
13369
13370
DL_Inactive
Initial state following PCI Express hot, warm, or cold
reset (see Section 6.6 PCI Express Reset - Rules ). Note that DL states
are unaffected by an FLR (see Section 6.6 PCI Express Reset - Rules ).
Upon entry to DL_Inactive
Page 218
14006
14007
14008
DL_Inactive
Initial state following PCI Express hot, warm, or cold
reset (see Section 6.6 PCI Express Reset - Rules ). Note that DL states
are unaffected by an FLR (see Section 6.6 PCI Express Reset - Rules ).
Upon entry to DL_Inactive
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13370
Upon entry to DL_Inactive
Reset all Data Link Layer state information to default
13371
14008
values
13372
13373
values
If the Port supports the optional Data Link Feature
Exchange, the Remote Data Link Feature Supported, and Remote Data Link
Feature Supported Valid fields must be cleared.
Discard the contents of the Data Link Layer Retry
Buffer (see Section 3.6 Data Integrity )
13374
13375
13376
14010
14011
14013
14014
14016
Discard TLP information from the Transaction and
14018
Physical Layers
13381
Do not generate or accept DLLPs
Exit to DL_Feature if:
The Port supports the optional Data Link Feature
Exchange, the Data Link Feature Exchange Enable bit is Set, the
Transaction Layer indicates that the Link is not disabled by software,
and the Physical Layer reports Physical LinkUp = 1b
Do not generate or accept DLLPs
14021
14022
Exit to DL_Feature if:
The Port supports the optional Data Link Feature
Exchange, the Data Link Feature Exchange Enable bit is Set, the
Transaction Layer indicates that the Link is not disabled by software,
and the Physical Layer reports Physical LinkUp = 1b
14023
Exit to DL_Init if:
The Port does not support the optional Data Link
Feature Exchange, the Transaction Layer indicates that the Link is not
disabled by software and the Physical Layer reports Physical LinkUp = 1b
13388
14024
14025
Exit to DL_Init if:
The Port does not support the optional Data Link
Feature Exchange, the Transaction Layer indicates that the Link is not
disabled by software and the Physical Layer reports Physical LinkUp = 1b
14026
13389
or
13390
13391
14019
14020
13385
13387
Discard TLP information from the Transaction and
Physical Layers
13382
13386
Note: This will cause the Transaction Layer to
discard any outstanding transactions and to terminate internally any
attempts to transmit a TLP. For a Downstream Port, this is equivalent to
a “Hot-Remove”. For an Upstream Port, having the Link go down is
equivalent to a hot reset (see Section 2.9 Link Status Dependencies ).
14017
13380
13384
While in DL_Inactive:
Report DL_Down status to the Transaction Layer as well
as to the rest of the Data Link Layer
14015
Note: This will cause the Transaction Layer to
discard any outstanding transactions and to terminate internally any
attempts to transmit a TLP. For a Downstream Port, this is equivalent to
a “Hot-Remove”. For an Upstream Port, having the Link go down is
equivalent to a hot reset (see Section 2.9 Link Status Dependencies ).
13379
13383
If the Port supports the optional Data Link Feature
Exchange, the Remote Data Link Feature Supported, and Remote Data Link
Feature Supported Valid fields must be cleared.
Discard the contents of the Data Link Layer Retry
Buffer (see Section 3.6 Data Integrity Mechansisms )
14012
While in DL_Inactive:
Report DL_Down status to the Transaction Layer as well
as to the rest of the Data Link Layer
13377
13378
Upon entry to DL_Inactive
Reset all Data Link Layer state information to default
14009
14027
or
14028
The Port supports the optional Data Link Feature
Exchange, the Data Link Feature Exchange Enable bit is Clear, the
Transaction Layer indicates that the Link is not disabled by software,
and the Physical Layer reports Physical LinkUp = 1b
14029
13392
14030
13393
14031
The Port supports the optional Data Link Feature
Exchange, the Data Link Feature Exchange Enable bit is Clear, the
Transaction Layer indicates that the Link is not disabled by software,
and the Physical Layer reports Physical LinkUp = 1b
14032
13394
13395
13396
13397
13398
DL_Feature
While in DL_Feature:
Perform the Data Link Feature Exchange protocol as
described in Section 3.3 Data Link Feature Exchange
Report DL_Down status
The Data Link Layer of a Port with DL_Down status is
permitted to discard any received TLPs provided that it does not
acknowledge those TLPs by sending one or more Ack DLLPs
Page 219
14033
14034
14035
14036
14037
DL_Feature
While in DL_Feature:
Perform the Data Link Feature Exchange protocol as
described in Section 3.3 Data Link Feature Exchange
Report DL_Down status
The Data Link Layer of a Port with DL_Down status is
permitted to discard any received TLPs provided that it does not
acknowledge those TLPs by sending one or more Ack DLLPs
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
13398
The Data Link Layer of a Port with DL_Down status is
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
permitted to discard any received TLPs provided that it does not
14037
acknowledge those TLPs by sending one or more Ack DLLPs
13399
13400
13401
14038
Exit to DL_Init if:
Data Link Feature Exchange completes successfully, and
the Physical Layer continues to report Physical LinkUp = 1b,
13402
or
13404
13408
14040
Exit to DL_Init if:
Data Link Feature Exchange completes successfully, and
the Physical Layer continues to report Physical LinkUp = 1b,
14042
or
14043
Data Link Feature Exchange determines that the remote
Data Link Layer does not support the optional Data Link Feature Exchange
protocol, and the Physical Layer continues to report Physical LinkUp =
1b
13406
13407
14039
14041
13403
13405
The Data Link Layer of a Port with DL_Down status is
permitted to discard any received TLPs provided that it does not
acknowledge those TLPs by sending one or more Ack DLLPs
14044
Data Link Feature Exchange determines that the remote
Data Link Layer does not support the optional Data Link Feature Exchange
protocol, and the Physical Layer continues to report Physical LinkUp =
1b
14045
Terminate the Data Link Feature Exchange protocol and
exit to DL_Inactive if:
Physical Layer reports Physical LinkUp = 0b
14046
14047
13409
14048
13410
14049
Terminate the Data Link Feature Exchange protocol and
exit to DL_Inactive if:
Physical Layer reports Physical LinkUp = 0b
14050
13411
13412
13413
13414
13415
DL_Init
While in DL_Init:
Initialize Flow Control for the default Virtual
Channel, VC0, following the Flow Control initialization protocol
described in Section 3.4 Flow Control Initialization Protocol
Report DL_Down status while in state FC_INIT1; DL_Up
status in state FC_INIT2
The Data Link Layer of a Port with DL_Down status is
permitted to discard any received TLPs provided that it does not
acknowledge those TLPs by sending one or more Ack DLLPs
13416
13417
13418
13421
14052
14053
14054
14055
DL_Init
While in DL_Init:
Initialize Flow Control for the default Virtual
Channel, VC0, following the Flow Control initialization protocol
described in Section 3.4 Flow Control Initialization Protocol
Report DL_Down status while in state FC_INIT1; DL_Up
status in state FC_INIT2
The Data Link Layer of a Port with DL_Down status is
permitted to discard any received TLPs provided that it does not
acknowledge those TLPs by sending one or more Ack DLLPs
14056
Exit to DL_Active if:
Flow Control initialization completes successfully, and
the Physical Layer continues to report Physical LinkUp = 1b
13419
13420
14051
14057
14058
Exit to DL_Active if:
Flow Control initialization completes successfully, and
the Physical Layer continues to report Physical LinkUp = 1b
14059
Terminate attempt to initialize Flow Control for VC0 and
exit to DL_Inactive if:
Physical Layer reports Physical LinkUp = 0b
14060
14061
13422
14062
13423
14063
Terminate attempt to initialize Flow Control for VC0 and
exit to DL_Inactive if:
Physical Layer reports Physical LinkUp = 0b
14064
13424
13425
13426
13427
13428
13429
DL_Active
DL_Active is referred to as the normal operating state
While in DL_Active:
Accept and transfer TLP information with the
Transaction and Physical Layers as specified in this chapter
Generate and accept DLLPs as specified in this
chapter
Report DL_Up status to the Transaction and Data Link
Layers
13430
13431
Page 220
14065
14066
14067
14068
14069
14070
DL_Active
DL_Active is referred to as the normal operating state
While in DL_Active:
Accept and transfer TLP information with the
Transaction and Physical Layers as specified in this chapter
Generate and accept DLLPs as specified in this
chapter
Report DL_Up status to the Transaction and Data Link
Layers
14071
Exit to DL_Inactive if:
14072
Exit to DL_Inactive if:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13431
13432
13433
Exit to DL_Inactive if:
Physical Layer reports Physical LinkUp = 0b
Downstream Ports that are Surprise Down Error
Reporting Capable (see Section 7.5.3.6 Link Capabilities Register (Offset
0Ch) ) must treat this transition from DL_Active to DL_Inactive as a
Surprise Down error, except in the following cases where this error
detection is blocked:
14072
If the Secondary Bus Reset bit in the Bridge Control
register has been Set by software, then the subsequent transition to
DL_Inactive must not be considered an error.
If the Link Disable bit has been Set by software, then
the subsequent transition to DL_Inactive must not be considered an
error.
If a Switch Downstream Port transitions to DL_Inactive
due to an event above that Port, that transition to DL_Inactive must not
be considered an error. Example events include the Switch Upstream Port
propagating Hot Reset, the Switch Upstream Link transitioning to DL_Down,
and the Secondary Bus Reset bit in the Switch Upstream Port being Set.
If a PME_Turn_Off Message has been sent through this
Port, then the subsequent transition to DL_Inactive must not be
considered an error.
Note that the DL_Inactive transition for this condition
will not occur until a power off, a reset, or a request to restore the
Link is sent to the Physical Layer.
Note also that in the case where the PME_Turn_Off/
PME_TO_Ack handshake fails to complete successfully, a Surprise Down
error may be detected.
If the Port is associated with a hot-pluggable slot (the
Hot-Plug Capable bit in the Slot Capabilities register Set), and the HotPlug Surprise bit in the Slot Capabilities register is Set, then any
transition to DL_Inactive must not be considered an error.
If the Port is associated with a hot-pluggable slot (HotPlug Capable bit in the Slot Capabilities register Set), and Power
Controller Control bit in Slot Control register is Set (Power-Off), then
any transition to DL_Inactive must not be considered an error.
14075
14073
14074
Exit to DL_Inactive if:
Physical Layer reports Physical LinkUp = 0b
Downstream Ports that are Surprise Down Error
Reporting Capable (see Section 7.5.3.6 Link Capabilities Register (Offset
0Ch) ) must treat this transition from DL_Active to DL_Inactive as a
Surprise Down error, except in the following cases where this error
detection is blocked:
13434
13435
13436
13437
13438
13439
13440
13441
13442
14076
14077
14078
14079
14080
14081
14082
13443
If the Secondary Bus Reset bit in the Bridge
Control register has been Set by software, then the subsequent transition
to DL_Inactive must not be considered an error.
If the Link Disable bit has been Set by software,
then the subsequent transition to DL_Inactive must not be considered an
error.
If a Switch Downstream Port transitions to
DL_Inactive due to an event above that Port, that transition to
DL_Inactive must not be considered an error. Example events include the
Switch Upstream Port propagating Hot Reset, the Switch Upstream Link
transitioning to DL_Down, and the Secondary Bus Reset bit in the Switch
Upstream Port being Set.
If a PME_Turn_Off Message has been sent through
this Port, then the subsequent transition to DL_Inactive must not be
considered an error.
Note that the DL_Inactive transition for this
condition will not occur until a power off, a reset, or a request to
restore the Link is sent to the Physical Layer.
Note also that in the case where the
PME_Turn_Off/PME_TO_Ack handshake fails to complete successfully, a
Surprise Down error may be detected.
If the Port is associated with a hot-pluggable
slot (the Hot-Plug Capable bit in the Slot Capabilities register Set),
and the Hot-Plug Surprise bit in the Slot Capabilities register is Set,
then any transition to DL_Inactive must not be considered an error.
If the Port is associated with a hot-pluggable
slot (Hot-Plug Capable bit in the Slot Capabilities register Set), and
Power Controller Control bit in Slot Control register is Set (Power-Off),
then any transition to DL_Inactive must not be considered an error.
14083
14084
13444
Error blocking initiated by one or more of the above
cases must remain in effect until the Port exits DL_Active and
subsequently returns to DL_Active with none of the blocking cases in
effect at the time of the return to DL_Active.
13445
14087
Note that the transition out of DL_Active is simply
the expected transition as anticipated per the error detection blocking
condition.
13448
14088
Note that the transition out of DL_Active is
simply the expected transition as anticipated per the error detection
blocking condition.
14089
13449
13450
Error blocking initiated by one or more of the
above cases must remain in effect until the Port exits DL_Active and
subsequently returns to DL_Active with none of the blocking cases in
effect at the time of the return to DL_Active.
14086
13446
13447
14085
14090
If implemented, this is a reported error associated
with the detecting Port (see Section 6.2 Error Signaling and Logging ).
Page 221
14091
If implemented, this is a reported error
associated with the detecting Port (see Section 6.2 Error Signaling and
Logging ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13450
If implemented, this is a reported error associated
with the detecting Port (see Section 6.2 Error Signaling and Logging ).
14091
13451
13452
14092
13453
14093
13454
14094
13455
14095
If implemented, this is a reported error
associated with the detecting Port (see Section 6.2 Error Signaling and
Logging ).
14096
14097
13456
Implementation Note
Physical Layer Throttling
13457
14098
13458
14100
13459
14101
13460
13461
14102
Note that there are conditions where the Physical Layer
may be temporarily unable to accept TLPs and DLLPs from the Data Link
Layer. The Data Link Layer must comprehend this by providing mechanisms
for the Physical Layer to communicate this condition, and for TLPs and
DLLPs to be temporarily blocked by the condition.
14103
13462
14104
13463
14105
13464
14106
13465
14107
13484
13485
13486
13489
13490
13491
13492
13495
13496
14127
14128
On entry to DL_Feature:
The Remote Data Link Feature Supported and Remote Data Link
Feature Supported Valid fields must be Cleared
14129
While in DL_Feature:
Transaction Layer must block transmission of TLPs
Transmit the Data Link Feature DLLP
The transmitted Feature Supported field must equal the
Local Data Link Feature Supported field.
The transmitted Feature Ack bit must equal the Remote
Data Link Feature Supported Valid bit.
13493
13494
Note that there are conditions where the Physical Layer
may be temporarily unable to accept TLPs and DLLPs from the Data Link
Layer. The Data Link Layer must comprehend this by providing mechanisms
for the Physical Layer to communicate this condition, and for TLPs and
DLLPs to be temporarily blocked by the condition.
14126
On entry to DL_Feature:
The Remote Data Link Feature Supported and Remote Data Link
Feature Supported Valid fields must be Cleared
13487
13488
Implementation Note
Physical Layer Throttling
14099
14130
14131
14132
14133
14134
While in DL_Feature:
Transaction Layer must block transmission of TLPs
Transmit the Data Link Feature DLLP
The transmitted Feature Supported field must equal the
Local Data Link Feature Supported field.
The transmitted Feature Ack bit must equal the Remote
Data Link Feature Supported Valid bit.
14135
The Data Link Feature DLLP must be transmitted at least
once every 34 µs. Time spent in the Recovery or Configuration LTSSM
states does not contribute to this limit.
Process received Data Link Feature DLLPs:
If the Remote Data Link Feature Supported Valid bit is
Clear, record the Feature Supported field from the received Data Link
Feature DLLP in the Remote Data Link Feature Supported field and Set the
Remote Data Link Feature Supported Valid bit.
13497
14136
14137
14138
The Data Link Feature DLLP must be transmitted at least
once every 34 μs. Time spent in the Recovery or Configuration LTSSM
states does not contribute to this limit.
Process received Data Link Feature DLLPs:
If the Remote Data Link Feature Supported Valid bit is
Clear, record the Feature Supported field from the received Data Link
Feature DLLP in the Remote Data Link Feature Supported field and Set the
Remote Data Link Feature Supported Valid bit.
14139
13498
14140
13499
Exit DL_Feature if:
An InitFC1 DLLP has been received.
An MR-IOV MRInit DLLP (encoding 0000 0001b) has been
13500
13501
14141
14143
received.
13502
Page 222
Exit DL_Feature if:
An InitFC1 DLLP has been received.
An MR-IOV MRInit DLLP (encoding 0000 0001b) has been
14142
received.
14144
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13502
14144
13503
14145
or
13504
13556
14198
13557
The rules for this process are given in the following section.
14199
13558
14200
13559
14201
13560
3.4.1 Flow Control Initialization State Machine Rules
13562
13564
13565
13566
13567
14203
If at any time during initialization for VCs 1-7 the VC is
disabled, the flow control initialization process for the VC is
terminated
Rules for state FC_INIT1:
Entered when initialization of a VC (VCx) is required
Entrance to DL_Init state (VCx = VC0)
When a VC (VCx = VC1-7) is enabled by software (see
Section 7.9.1 and Section 7.9.2 )
14205
14206
14207
14208
14209
While in FC_INIT1:
Transaction Layer must block transmission of TLPs using
14211
Transmit the following three InitFC1 DLLPs for VCx in
the following relative order:
InitFC1-P (first)
InitFC1-NP (second)
InitFC1-Cpl (third)
14213
13570
13574
VCx
13575
14214
14215
14216
The three InitFC1 DLLPs must be transmitted at least
14218
once every 34 µs.
13578
Time spent in the Recovery or Configuration LTSSM
states does not contribute to this limit.
It is strongly encouraged that the InitFC1 DLLP
transmissions are repeated frequently, particularly when there are no
other TLPs or DLLPs available for transmission.
13579
13580
13581
13582
13583
Transmit the following three InitFC1 DLLPs for VCx in
the following relative order:
InitFC1-P (first)
InitFC1-NP (second)
InitFC1-Cpl (third)
14217
13576
13577
While in FC_INIT1:
Transaction Layer must block transmission of TLPs using
14212
VCx
13573
If at any time during initialization for VCs 1-7 the VC is
disabled, the flow control initialization process for the VC is
terminated
Rules for state FC_INIT1:
Entered when initialization of a VC (VCx) is required
When the DL_Init state is entered (VCx = VC0)
When a VC (VCx = VC1-7) is enabled by software (see
Section 7.9.1 Virtual Channel Extended Capability and Section 7.9.2
Multi-Function Virtual Channel Extended Capability )
14210
13569
13572
3.4.1 Flow Control Initialization State Machine Rules
14204
13568
13571
The rules for this process are given in the following section.
14202
13561
13563
or
14146
The three InitFC1 DLLPs must be transmitted at least
once every 34 μs.
14219
14220
Time spent in the Recovery or Configuration LTSSM
states does not contribute to this limit.
It is strongly encouraged that the InitFC1 DLLP
transmissions are repeated frequently, particularly when there are no
other TLPs or DLLPs available for transmission.
14221
If Scaled Flow Control is activated on the Link, set
the HdrScale and DataScale fields in the InitFC1 DLLPs to 01b, 10b, or
11b to indicate the scaling factor it is using on the corresponding HdrFC
and DataFC values.
If the Transmitter does not support Scaled Flow
Control or if Scaled Flow Control is not activated on the Link, set the
HdrScale and DataScale fields to 00b.
Except as needed to ensure at least the required
frequency of InitFC1 DLLP transmission, the Data Link Layer must not
block other transmissions.
Note that this includes all Physical Layer
initiated transmissions (for example, Ordered Sets), Ack and Nak DLLPs
(when applicable), and TLPs using VCs that have previously completed
initialization (when applicable)
Page 223
14222
14223
14224
14225
If Scaled Flow Control is activated on the Link, set
the HdrScale and DataScale fields in the InitFC1 DLLPs to 01b, 10b, or
11b to indicate the scaling factor it is using on the corresponding HdrFC
and DataFC values.
If the Transmitter does not support Scaled Flow
Control or if Scaled Flow Control is not activated on the Link, set the
HdrScale and DataScale fields to 00b.
Except as needed to ensure at least the required
frequency of InitFC1 DLLP transmission, the Data Link Layer must not
block other transmissions.
Note that this includes all Physical Layer
initiated transmissions (for example, Ordered Sets), Ack and Nak DLLPs
(when applicable), and TLPs using VCs that have previously completed
initialization (when applicable)
Note that this includes all Physicalvs.
Layer
/private/tmp/PCISIG/pcie4_combined-snapshot.html
initiated transmissions (for example, Ordered Sets), Ack and Nak DLLPs
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
(when applicable), and TLPs using VCs that have previously completed
13583
14225
initialization (when applicable)
13584
14226
13585
Process received InitFC1 and InitFC2 DLLPs:
Record the indicated HdrFC and DataFC values
13586
13593
14227
14236
13595
Rules for state FC_INIT2:
While in FC_INIT2:
Transaction Layer must block transmission of TLPs using
14237
Transmit the following three InitFC2 DLLPs for VCx in
the following relative order:
InitFC2-P (first)
InitFC2-NP (second)
InitFC2-Cpl (third)
14240
13596
13597
13600
13601
14239
VCx
13602
14241
14242
14243
The three InitFC2 DLLPs must be transmitted at least
14245
once every 34 µs.
13605
13608
13609
13610
Time spent in the Recovery or Configuration LTSSM
states does not contribute to this limit.
It is strongly encouraged that the InitFC2 DLLP
transmissions are repeated frequently, particularly when there are no
other TLPs or DLLPs available for transmission.
14246
14247
14249
14250
14251
14252
Process received InitFC1 and InitFC2 DLLPs:
Ignore the received HdrFC, HdrScale, DataFC, and
13613
14254
DataScale values
DataScale values
14283
13642
14284
13643
14285
13644
Process received InitFC1 and InitFC2 DLLPs:
Ignore the received HdrFC, HdrScale, DataFC, and
14255
13641
14286
3.4.2 Scaled Flow Control
13646
14287
3.4.2 Scaled Flow Control
14288
13647
Page
If Scaled Flow Control is activated on the Link, set
the HdrScale and DataScale fields in the InitF2 DLLPs to 01b, 10b, or 11b
to indicate the scaling factor it is using on the corresponding HdrFC and
DataFC values.
If the Transmitter does not support Scaled Flow
Control or if Scaled Flow Control is not activated on the Link, set the
HdrScale and DataScale fields to 00b.
Except as needed to ensure at least the required
frequency of InitFC2 DLLP transmission, the Data Link Layer must not
block other transmissions
Note that this includes all Physical Layer
initiated transmissions (for example, Ordered Sets), Ack and Nak DLLPs
(when applicable), and TLPs using VCs that have previously completed
initialization (when applicable)
14253
13612
13648
Time spent in the Recovery or Configuration LTSSM
states does not contribute to this limit.
It is strongly encouraged that the InitFC2 DLLP
transmissions are repeated frequently, particularly when there are no
other TLPs or DLLPs available for transmission.
14248
If Scaled Flow Control is activated on the Link, set
the HdrScale and DataScale fields in the InitF2 DLLPs to 01b, 10b, or 11b
to indicate the scaling factor it is using on the corresponding HdrFC and
DataFC values.
If the Transmitter does not support Scaled Flow
Control or if Scaled Flow Control is not activated on the Link, set the
HdrScale and DataScale fields to 00b.
Except as needed to ensure at least the required
frequency of InitFC2 DLLP transmission, the Data Link Layer must not
block other transmissions
Note that this includes all Physical Layer
initiated transmissions (for example, Ordered Sets), Ack and Nak DLLPs
(when applicable), and TLPs using VCs that have previously completed
initialization (when applicable)
13611
13645
The three InitFC2 DLLPs must be transmitted at least
once every 34 μs.
13606
13607
Transmit the following three InitFC2 DLLPs for VCx in
the following relative order:
InitFC2-P (first)
InitFC2-NP (second)
InitFC2-Cpl (third)
14244
13603
13604
Rules for state FC_INIT2:
While in FC_INIT2:
Transaction Layer must block transmission of TLPs using
14238
VCx
13599
Process received InitFC1 and InitFC2 DLLPs:
Record the indicated HdrFC and DataFC values
14228
14235
13594
13598
Note that this includes all Physical Layer
initiated transmissions (for example, Ordered Sets), Ack and Nak DLLPs
(when applicable), and TLPs using VCs that have previously completed
initialization (when applicable)
14289
Link performance can be affected when there are insufficient
flow control credits available to account for t he Link round trip time.
This effect becomes more noticeable at higher Link speeds and the
limitation of 127 header credits and 2047 data credits can limit
224
performance. The Scaled Flow Control mechanism is designed to address
this limitation.
14290
Link performance can be affected when there are insufficient
flow control credits available to account for the Link round trip time.
This effect becomes more noticeable at higher Link speeds and the
limitation of 127 header credits and 2047 data credits can limit
performance. The Scaled Flow Control mechanism is designed to address
this limitation.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13648
Link performance can be affected when there are insufficient
14290
flow control credits available to account for t he Link round trip time.
This effect becomes more noticeable at higher Link speeds and the
limitation of 127 header credits and 2047 data credits can limit
performance. The Scaled Flow Control mechanism is designed to address
this limitation.
13649
14291
13650
13651
14292
All Ports are permitted to support Scaled Flow Control. Ports
that support 16.0 GT/s must support Scaled Flow Control. Scaled Flow
Control activation does not affect the ability to operate at 16.0 GT/s .
13652
13657
13658
13665
13666
14298
14299
14300
The InitFC1, InitFC2, and UpdateFC DLLPs must contain 00b in
the HdrScale and DataScale fields.
The HdrFC counter is 8 bits wide and the HdrFC DLLP field
includes all bits of the counter.
The DataFC counter is 12 bits wide and the DataFC DLLP field
includes all bits of the counter.
14302
The following rules apply when Scaled Flow Control is
activated for the Link:
13662
13664
The following rules apply when Scaled Flow Control is not
activated for the Link:
14301
13660
13663
14296
14297
The InitFC1, InitFC2, and UpdateFC DLLPs must contain 00b in
the HdrScale and DataScale fields.
The HdrFC counter is 8 bits wide and the HdrFC DLLP field
includes all bits of the counter.
The DataFC counter is 12 bits wide and the DataFC DLLP field
includes all bits of the counter.
13659
13661
All Ports are permitted to support Scaled Flow Control. Ports
that support 16.0 GT/s and higher data rates must support Scaled Flow
Control. Scaled Flow Control activation does not affect the ability to
operate at 16.0 GT/s and higher data rates.
14295
The following rules apply when Scaled Flow Control is not
activated for the Link:
13655
13656
14293
14294
13653
13654
Link performance can be affected when there are insufficient
flow control credits available to account for the Link round trip time.
This effect becomes more noticeable at higher Link speeds and the
limitation of 127 header credits and 2047 data credits can limit
performance. The Scaled Flow Control mechanism is designed to address
this limitation.
14303
The following rules apply when Scaled Flow Control is
activated for the Link:
14304
The InitFC1 and InitFC2 DLLPs must contain 01b, 10b, or 11b in
the HdrScale field. The value is determined by the maximum number of
header credits that will be outstanding of the indicated credit type as
defined in Table 3-2 Scaled Flow Control Scaling Factors .
The InitFC1 and InitFC2 DLLPs must contain 01b, 10b, or 11b
in the DataScale field. The value is determined by the maximum number of
data payload credits that will be outstanding of the indicated credit
type as defined in Table 3-2 Scaled Flow Control Scaling Factors .
If the received HdrScale and DataScale values recorded in
state FC_INIT1 were non-zero, then Scaled Flow Control is enabled on this
VC and UpdateFC DLLPs must contain 01b, 10b, or 11b in the HdrScale and
DataScale fields.
If the received HdrScale and DataScale values recorded in
state FC_INIT1 were zero, then Scaled Flow Control is not enabled on this
VC and UpdateFC DLLPs must contain 00b in the HdrScale and DataScale
fields.
14305
14306
14307
14308
13667
14309
13668
14310
13669
13670
14311
Table 3-2 Scaled Flow Control Scaling Factors
13671
13672
Page 225
14312
Table 3-2 Scaled Flow Control Scaling Factors
14313
Scale Factor
13673
13674
The InitFC1 and InitFC2 DLLPs must contain 01b, 10b, or 11b in
the HdrScale field. The value is determined by the maximum number of
header credits that will be outstanding of the indicated credit type as
defined in Table 3-2 Scaled Flow Control Scaling Factors .
The InitFC1 and InitFC2 DLLPs must contain 01b, 10b, or 11b
in the DataScale field. The value is determined by the maximum number of
data payload credits that will be outstanding of the indicated credit
type as defined in Table 3-2 Scaled Flow Control Scaling Factors .
If the received HdrScale and DataScale values recorded in
state FC_INIT1 were non-zero, then Scaled Flow Control is enabled on this
VC and UpdateFC DLLPs must contain 01b, 10b, or 11b in the HdrScale and
DataScale fields.
If the received HdrScale and DataScale values recorded in
state FC_INIT1 were zero, then Scaled Flow Control is not enabled on this
VC and UpdateFC DLLPs must contain 00b in the HdrScale and DataScale
fields.
14314
14315
Scaled Flow Control Supported
Scale
Factor
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13674
Scaled Flow Control Supported
13675
13676
Header Credits
13677
13678
Data Credits
13679
13680
13681
13682
Min Credits
13683
13684
Max Credits
13685
13686
14316
HdrFC Width
14317
14318
14319
13687
13688
14320
HdrFC DLLP field
13689
13690
Scaled Flow
Control
Supported
14321
14322
Credit
Type
Min Credits
13691
13692
Max Credits
13693
13694
14323
DataFC Width
14324
14325
13695
13696
14326
DataFC DLLP Field
14327
14328
13697
14331
13698
14333
Transmitted
14335
Received
13703
14336
Transmitted
13705
13706
14337
Received
14339
14340
13708
14341
13709
Received
14342
00b
13711
13712
Transmitted
14338
13707
13710
FC DLLP field
14334
13701
13704
Field
Width
14332
13699
13702
Max
Credits
14329
14330
13700
Min
Credits
14343
00b
14344
No
13713
14345
No
14346
14347
Hdr
14348
13714
13715
Page 226
1
14349
14350
1
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13715
13716
14350
127
13717
13718
8 bits
14353
8 bits
14354
HdrFC
13721
13722
127
14352
13719
13720
14351
14355
HdrFC
14356
HdrFC
13723
14357
HdrFC
14358
14359
14360
14361
Data
14362
13724
1
13725
13726
2047
12 bits
14367
DataFC
14369
DataFC
14371
14372
13734
14373
13735
DataFC
DataFC
14374
01b
13737
13738
12 bits
14370
13733
13736
2,047
14368
13731
13732
14365
14366
13729
13730
1
14364
13727
13728
14363
14375
01b
14376
Yes
13739
14377
Yes
14378
14379
Hdr
14380
13740
1
13741
13742
127
8 bits
127
14385
8 bits
14386
HdrFC
13747
13748
14383
14384
13745
13746
1
14382
13743
13744
14381
14387
HdrFC
14388
HdrFC
13749
14389
HdrFC
14390
14391
14392
14393
Data
14394
13750
1
13751
13752
2047
Page 227
14397
2,047
14398
12 bits
13755
13756
1
14396
13753
13754
14395
14399
12 bits
14400
DataFC
14401
DataFC
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13756
DataFC
13757
13758
14401
DataFC
14403
13759
14404
13760
14405
13761
13762
DataFC
14406
10b
13763
13764
DataFC
14402
14407
10b
14408
Yes
13765
14409
Yes
14410
14411
Hdr
14412
13766
4
13767
13768
508
10 bits
508
14417
10 bits
14418
HdrFC>>2
13773
13774
14415
14416
13771
13772
4
14414
13769
13770
14413
14419
HdrFC >> 2
14420
HdrFC<<2
13775
14421
HdrFC << 2
14422
14423
14424
14425
Data
14426
13776
4
13777
13778
8188
14 bits
14431
DataFC>>2
14433
DataFC<<2
14435
14436
13786
14437
13787
DataFC >> 2
DataFC << 2
14438
11b
13789
13790
14 bits
14434
13785
13788
8,188
14432
13783
13784
14429
14430
13781
13782
4
14428
13779
13780
14427
14439
11b
14440
Yes
13791
14441
Yes
14442
14443
Hdr
14444
13792
16
13793
13794
2032
Page 228
14447
2,032
14448
12 bits
13797
13798
16
14446
13795
13796
14445
14449
12 bits
14450
HdrFC>>4
14451
HdrFC >> 4
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13798
HdrFC>>4
13799
14451
HdrFC >> 4
14452
13800
HdrFC<<4
13801
14453
HdrFC << 4
14454
14455
14456
14457
Data
14458
13802
16
13803
14459
13804
32,752
13805
14461
16 bits
13807
14463
DataFC>>4
13809
14465
DataFC<<4
14467
13811
14468
13816
14473
13817
14474
13818
3.5 Data Link Layer Packets (DLLPs)
13820
14476
3.5 Data Link Layer Packets (DLLPs)
14477
13821
14478
13822
The following DLLPs are used to support Link operations:
13823
14479
The following DLLPs are used to support Link operations:
14480
Ack DLLP: TLP Sequence Number acknowledgement; used to indicate
successful receipt of some number of TLPs
Nak DLLP: TLP Sequence Number negative acknowledgement; used to
initiate a Data Link Layer Retry
InitFC1, InitFC2, and UpdateFC DLLPs: For Flow Control
DLLPs used for Power Management
14481
14482
14483
14484
13828
14485
13829
14486
13830
Ack DLLP: TLP Sequence Number acknowledgement; used to indicate
successful receipt of some number of TLPs
Nak DLLP: TLP Sequence Number negative acknowledgement; used to
initiate a Data Link Layer Retry
InitFC1, InitFC2, and UpdateFC DLLPs; used for Flow Control
DLLPs used for Power Management
14487
13831
3.5.1 Data Link Layer Packet Rules
13832
14488
3.5.1 Data Link Layer Packet Rules
14489
13833
13834
DataFC << 4
14475
13819
13827
DataFC >> 4
14466
13810
13826
16 bits
14464
13808
13825
32,752
14462
13806
13824
16
14460
14490
All DLLP fields marked Reserved (sometimes abbreviated as R)
must be filled with all 0's when a DLLP is formed. Values in such fields
must be ignored by Receivers. The handling of Reserved values in encoded
fields is specified for each case.
14491
13835
14492
13836
14493
13955
14612
13956
13957
14613
1110 0v2v1v0
13958
13959
13960
Page 229
All DLLP fields marked Reserved (sometimes abbreviated as R)
must be filled with all 0's when a DLLP is formed. Values in such fields
must be ignored by Receivers. The handling of Reserved values in encoded
fields is specified for each case.
14614
1110 0v2v1v0
14615
InitFC2-Cpl
14616
14617
InitFC2-Cpl
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
13960
14617
13961
14618
13962
14619
13963
1111 0v2v1v0
13964
14620
13965
MRInitFC2 - See the MR-IOV Specification44
14622
13966
14623
13967
14624
13968
1000 0v2v1v0
13970
14626
UpdateFC-P
14628
13972
14629
13973
14630
13974
1001 0v2v1v0
13979
14632
14637
13981
1010 0v2v1v0
13982
14638
1010 0v2v1v0
14639
13983
UpdateFC-Cpl
14640
13984
14641
13985
14642
13986
UpdateFC-Cpl
14643
13987
1011 0v2v1v0
13988
14644
1011 0v2v1v0
14645
13989
MRUpdateFC - See the MR-IOV Specification44
14646
13990
14647
13991
14648
13992
MRUpdateFC - See the MR-IOV Specification [Footnote:
The MR-IOV protocol uses these encodings after the successful completion
of MRInit negotiation.]
14649
13993
All other encodings
13994
14650
All other encodings
14651
13995
Reserved
14652
13996
14653
13997
14654
13998
14655
13999
Reserved
14656
For Ack and Nak DLLPs (see Figure 3-5 Data Link Layer Packet
Format for Ack and Nak ):
The AckNak_Seq_Num field is used to indicate what TLPs are
affected
Transmission and reception is handled by the Data Link
Layer according to the rules provided in Section 3.6 Data Integrity .
14003
14005
1001 0v2v1v0
14636
13980
14004
UpdateFC-P
14631
13975
14002
1000 0v2v1v0
14627
13971
14001
MRInitFC2 - See the MR-IOV Specification [Footnote:
The MR-IOV protocol uses these encodings after the successful completion
of MRInit negotiation.]
14625
13969
14000
1111 0v2v1v0
14621
14657
14658
14659
For Ack and Nak DLLPs (see Figure 3-5 Data Link Layer Packet
Format for Ack and Nak ):
The AckNak_Seq_Num field is used to indicate what TLPs are
affected
Transmission and reception is handled by the Data Link
Layer according to the rules provided in Section 3.6 Data Integrity
Mechansisms .
14660
For InitFC1, InitFC2, and UpdateFC DLLPs:
The HdrFC field contains the credit value for headers of
the indicated type (P, NP, or Cpl).
Page 230
14661
14662
For InitFC1, InitFC2, and UpdateFC DLLPs:
The HdrFC field contains the credit value for headers of
the indicated type (P, NP, or Cpl).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14005
14006
14007
14008
14009
14010
14011
14012
14013
The HdrFC field contains the credit value for headers of
the indicated type (P, NP, or Cpl).
The DataFC field contains the credit value for payload
Data of the indicated type (P, NP, or Cpl).
The HdrScale field contains the scaling factor for
headers of the indicated type. Encodings are defined in Table 3-4
HdrScale and DataScale Encodings .
The DataScale field contains the scaling factor for
payload data of the indicated type. Encodings are defined in Table 3-4
HdrScale and DataScale Encodings .
If Scaled Flow Control is activated, the HdrScale and
DataScale fields must be set to 01b, 10b, or 11b in all InitFC1, InitFC2,
and UpdateFC DLLPs transmitted.
In UpdateFCs, a Transmitter is only permitted to send
non-zero values in the HdrScale and DataScale fields if it supports
Scaled Flow Control and it received non-zero values for HdrScale and
DataScale in the InitFC1s and InitFC2s it received for this VC.
The packet formats are shown in Figure 3-7 Data Link
Layer Packet Format for InitFC1 , Figure 3-8 Data Link Layer Packet
Format for InitFC2 , and Figure 3-9 Figure 3-9: Data Link Layer Packet
Format for UpdateFC .
Transmission is triggered by the Data Link Layer when
initializing Flow Control for a Virtual Channel (see Section 3.4 Flow
Control Initialization Protocol ), and following Flow Control
initialization by the Transaction Layer according to the rules in Section
2.6 Ordering and Receive Buffer Flow Control .
Checked for integrity on reception by the Data Link Layer
and if correct, the information content of the DLLP is passed to the
Transaction Layer. If the check fails, the information is discarded.
14014
14662
14663
14664
14665
14666
14667
14668
14669
14670
The HdrFC field contains the credit value for headers of
the indicated type (P, NP, or Cpl).
The DataFC field contains the credit value for payload
Data of the indicated type (P, NP, or Cpl).
The HdrScale field contains the scaling factor for
headers of the indicated type. Encodings are defined in Table 3-4
HdrScale and DataScale Encodings .
The DataScale field contains the scaling factor for
payload data of the indicated type. Encodings are defined in Table 3-4
HdrScale and DataScale Encodings .
If Scaled Flow Control is activated, the HdrScale and
DataScale fields must be set to 01b, 10b, or 11b in all InitFC1, InitFC2,
and UpdateFC DLLPs transmitted.
In UpdateFCs, a Transmitter is only permitted to send
non-zero values in the HdrScale and DataScale fields if it supports
Scaled Flow Control and it received non-zero values for HdrScale and
DataScale in the InitFC1s and InitFC2s it received for this VC.
The packet formats are shown in Figure 3-7 Data Link
Layer Packet Format for InitFC1 , Figure 3-8 Data Link Layer Packet
Format for InitFC2 , and Figure 3-9 Data Link Layer Packet Format for
UpdateFC .
Transmission is triggered by the Data Link Layer when
initializing Flow Control for a Virtual Channel (see Section 3.4 Flow
Control Initialization Protocol ), and following Flow Control
initialization by the Transaction Layer according to the rules in Section
2.6 Ordering and Receive Buffer Flow Control .
Checked for integrity on reception by the Data Link Layer
and if correct, the information content of the DLLP is passed to the
Transaction Layer. If the check fails, the information is discarded.
14671
14015
Note: InitFC1 and InitFC2 DLLPs are used only for VC
14672
initialization
14016
14673
14017
14674
14018
14675
14019
14676
14020
14021
14677
Table 3-4 HdrScale and DataScale Encodings
14022
14023
14678
HdrScale or DataScale Value
14024
14680
14683
14685
14026
14028
14687
Scaling
Factor
14689
HdrFC DLLP Field
14690
14691
Page 231
Scaled Flow
Control
Supported
14686
Scaling Factor
14688
14029
HdrScale or
DataScale Value
14682
Scaled Flow Control Supported
14684
14027
Table 3-4 HdrScale and DataScale Encodings
14679
14681
14025
Note: InitFC1 and InitFC2 DLLPs are used only for VC
initialization
HdrFC
DLLP Field
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14691
14030
14031
DLLP Field
14692
DataFC DLLP Field
14693
DataFC
DLLP Field
14694
14032
14695
14033
14696
14034
14035
14697
00b
14036
14037
No
1
HdrFC[7:0]
16
14704
HdrFC[11:4]
DataFC[15:4]
14742
14744
14082
14745
14083
14089
14090
14747
14748
14749
For Power Management (PM) DLLPs (see Figure 3-10 PM Data Link
Layer Packet Format ):
Transmission is triggered by the component's power
management logic according to the rules in Chapter 5 Power Management
Checked for integrity on reception by the Data Link
Layer, then passed to the component's power management logic
14750
Vendor-specific DLLP (see Figure 3-11 Vendor-specific Data
Link Layer Packet Format )
It is recommended that receivers silently ignore Vendor
Specific DLLPs unless enabled by implementation specific mechanisms.
It is recommended that transmitters not send Vendor
Specific DLLPs unless enabled by implementation specific mechanisms.
14091
14092
DataFC[15:4]
14746
Power Management (PM) DLLPs (see Figure 3-10 PM Data Link Layer
Packet Format ):
Transmission is triggered by the component's power
management logic according to the rules in Chapter 5 Power Management
Checked for integrity on reception by the Data Link
Layer, then passed to the component's power management logic
14087
14088
HdrFC[11:4]
14741
14081
14086
16
14740
14743
14085
HdrFC[7:0]
14738
14080
14084
1
14739
14078
14079
14702
14737
14076
14077
No
14703
14074
14075
14700
14701
14040
14041
00b
14699
14038
14039
14698
14751
14752
14753
For Vendor-specific DLLPs (see Figure 3-11 Vendor-specific
Data Link Layer Packet Format )
It is recommended that receivers silently ignore Vendor
Specific DLLPs unless enabled by implementation specific mechanisms.
It is recommended that transmitters not send Vendor
Specific DLLPs unless enabled by implementation specific mechanisms.
14754
NOP DLLP (see Figure 3-6 NOP Data Link Layer Packet Format )
14755
For NOP DLLPs (see Figure 3-6 NOP Data Link Layer Packet
Format )
14093
Receivers shall discard this DLLP without action after
checking it for data integrity. [Footnote: This is a special case of the
more general rule for unsupported DLLP Type encodings (see Section
3.6.2.2 Handling of Received DLLPs ).]
14094
14095
14096
14097
Page
14756
Receivers shall discard this DLLP without action after
checking it for data integrity. [Footnote: This is a special case of the
more general rule for unsupported DLLP Type encodings (see Section
3.6.2.2 Handling of Received DLLPs ).]
14757
Data Link Feature (see Figure 3-12 Data Link Feature DLLP )
The Feature Ack bit is set to indicate that the
transmitting Port has received a Data Link Feature DLLP.
The Feature Supported bits indicate the features
supported by the transmitting Port. These bits equal the value of the
Local Data Link Feature Supported field (see Section 7.7.4.2 Data Link
Feature Capabilities Register (Offset 04h) )
232
14758
14759
14760
For Data Link Feature DLLPs (see Figure 3-12 Data Link
Feature DLLP Format )
The Feature Ack bit is set to indicate that the
transmitting Port has received a Data Link Feature DLLP.
The Feature Supported bits indicate the features
supported by the transmitting Port. These bits equal the value of the
Local Data Link Feature Supported field (see Section 7.7.4.2 Data Link
Feature Capabilities Register (Offset 04h) ).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14097
The Feature Supported bits indicate the features
14760
supported by the transmitting Port. These bits equal the value of the
Local Data Link Feature Supported field (see Section 7.7.4.2 Data Link
Feature Capabilities Register (Offset 04h) )
14098
14761
14099
14762
14100
14763
14101
14764
14102
The Feature Supported bits indicate the features
supported by the transmitting Port. These bits equal the value of the
Local Data Link Feature Supported field (see Section 7.7.4.2 Data Link
Feature Capabilities Register (Offset 04h) ).
14765
14103
Figure 3-5 Data Link Layer Packet Format for Ack and Nak
14766
14104
14767
14105
14768
14106
14769
14107
14770
14108
14771
14109
14772
Figure 3-5 Data Link Layer Packet Format for Ack and Nak
14110
14111
Figure 3-6 NOP Data Link Layer Packet Format
14773
14112
14774
14113
14775
14114
14776
14115
14777
14116
14778
14117
14779
Figure 3-6 NOP Data Link Layer Packet Format
14118
14119
Figure 3-7 Data Link Layer Packet Format for InitFC1
14780
14120
14781
14121
14782
14122
14783
14123
14784
14124
14785
14125
14786
Figure 3-7 Data Link Layer Packet Format for InitFC1
14126
14127
Figure 3-8 Data Link Layer Packet Format for InitFC2
14787
14128
14788
14129
14789
14130
14790
14131
14791
14132
14792
14133
14793
14134
14794
14135
Figure 3-8 Data Link Layer Packet Format for InitFC2
Figure 3-9 Data Link Layer Packet Format for UpdateFC
Figure 3-9 Figure 3-9: Data Link Layer Packet Format for
UpdateFC
14136
14795
14137
14796
14138
14797
14139
14798
14140
14141
14799
Figure 3-10 PM Data Link Layer Packet Format
14800
14142
14801
14143
14802
14144
14803
14145
14804
Page 233
Figure 3-10 PM Data Link Layer Packet Format
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14145
14804
14146
14805
14147
Figure 3-11 Vendor-specific Data Link Layer Packet Format
14806
14148
14807
14149
14808
14150
14809
14151
14810
14152
14811
14153
14812
14154
14813
14155
14814
14157
14815
14158
14816
The following are the characteristics and rules associated
with Data Link Layer Packets (DLLPs):
14160
14161
14162
14163
14164
14165
14817
The following are the characteristics and rules associated
with Data Link Layer Packets (DLLPs):
14818
DLLPs are differentiated from TLPs when they are presented to,
or received from, the Physical Layer.
DLLP data integrity is protected using a 16-bit CRC
The CRC value is calculated using the following rules (see
Figure 3-13 Diagram of CRC Calculation for DLLPs ):
The polynomial used for CRC calculation has a coefficient
expressed as 100Bh
The seed value (initial value for CRC storage registers)
is FFFFh
14819
14820
14821
14822
14823
14277
14935
14278
14936
14279
DLLPs are differentiated from TLPs when they are presented to,
or received from, the Physical Layer.
DLLP data integrity is protected using a 16-bit CRC
The CRC value is calculated using the following rules (see
Figure 3-13 Diagram of CRC Calculation for DLLPs ):
The polynomial used for CRC calculation has a coefficient
expressed as 100Bh
The seed value (initial value for CRC storage registers)
is FFFFh
14937
14280
Figure 3-13 Diagram of CRC Calculation for DLLPs
14938
14281
14939
14282
14940
14283
14941
14284
14942
14285
14943
14286
Figure 3-13 Diagram of CRC Calculation for DLLPs
14944
14287
3.6 Data Integrity
14945
14288
14946
14289
14947
14290
3.6 Data Integrity Mechansisms
14948
14291
3.6.1 Introduction
14292
14949
3.6.1 Introduction
14950
14293
14294
Figure 3-12 Data Link Feature DLLP Format
Figure 3-12 Data Link Feature DLLP
14156
14159
Figure 3-11 Vendor-specific Data Link Layer Packet Format
14951
The Transaction Layer provides TLP boundary information to
the Data Link Layer. This allows the Data Link Layer to apply a TLP
Sequence Number and a Link CRC (LCRC) for error detection to the TLP. The
Receive Data Link Layer validates received TLPs by checking the TLP
Sequence Number, LCRC code and any error indications from the Receive
Physical Layer. In case any of these errors are in a TLP, Data Link Layer
Retry is used for recovery.
Page 234
14952
The Transaction Layer provides TLP boundary information to
the Data Link Layer. This allows the Data Link Layer to apply a TLP
Sequence Number and a Link CRC (LCRC) for error detection to the TLP. The
Receive Data Link Layer validates received TLPs by checking the TLP
Sequence Number, LCRC code and any error indications from the Receive
Physical Layer. In case any of these errors are in a TLP, Data Link Layer
Retry is used for recovery.
14294
14952
The Transaction Layer provides TLP boundary information to
the Data Link Layer. This allows the Data Link Layer to apply a TLP
Sequence Number and a Link CRC (LCRC) for error detection to the TLP. The
Receive Data Link Layer validates received TLPs by checking
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.the TLP
Sequence Number, LCRC code and any error indications from the Receive
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Physical Layer. In case any of these errors are in a TLP, Data Link Layer
Retry is used for recovery.
14295
14953
14296
14297
14954
The format of a TLP with the TLP Sequence Number and LCRC
code applied is shown in Figure 3-14 TLP with LCRC and TLP Sequence
Number Applied .
14307
14955
14966
On Ports that do not support Protocol Multiplexing, Symbol
+0, bits 7:4 are Reserved.
14967
14310
14968
14311
14969
14312
14970
14313
3.6.2 LCRC, Sequence Number, and Retry Management (TLP
14972
Transmitter)
14973
14316
14974
The TLP transmission path through the Data Link Layer (paths
labeled 1 and 3 in Figure 3-1 Layering Diagram Highlighting the Data Link
Layer ) prepares each TLP for transmission by applying a sequence number,
then calculating and appending a Link CRC (LCRC) which is used to ensure
the integrity of TLPs during transmission across a Link from one
component to another. TLPs are stored in a retry buffer, and are re-sent
unless a positive acknowledgement of receipt is received from the other
component. If repeated attempts to transmit a TLP are unsuccessful, the
Transmitter will determine that the Link is not operating correctly, and
instruct the Physical Layer to retrain the Link (via the LTSSM Recovery
state, Section 4.2.6 Link Training and Status State Rules ). If Link
retraining fails, the Physical Layer will indicate that the Link is no
longer up, causing the DLCMSM to move to the DL_Inactive state.
14318
14975
14977
The mechanisms used to determine the TLP LCRC and the
Sequence Number and to support Data Link Layer Retry are described in
terms of conceptual “counters” and “flags”. This description does not
imply nor require a particular implementation and is used only to clarify
the requirements.
14978
14321
14979
14322
14980
14323
3.6.2.1 LCRC and Sequence Number Rules (TLP Transmitter)
14325
14982
3.6.2.1 LCRC and Sequence Number Rules (TLP Transmitter)
14983
14326
14984
The following counters and timer are used to explain the
remaining rules in this section:
14340
14985
The following counters and timer are used to explain the
remaining rules in this section:
14998
14341
14343
The mechanisms used to determine the TLP LCRC and the
Sequence Number and to support Data Link Layer Retry are described in
terms of conceptual “counters” and “flags”. This description does not
imply nor require a particular implementation and is used only to clarify
the requirements.
14981
14324
14342
The TLP transmission path through the Data Link Layer (paths
labeled 1 and 3 in Figure 3-1 Layering Diagram Highlighting the Data Link
Layer ) prepares each TLP for transmission by applying a sequence number,
then calculating and appending a Link CRC (LCRC), which is used to ensure
the integrity of TLPs during transmission across a Link from one
component to another. TLPs are stored in a retry buffer, and are re-sent
unless a positive acknowledgement of receipt is received from the other
component. If repeated attempts to transmit a TLP are unsuccessful, the
Transmitter will determine that the Link is not operating correctly, and
will instruct the Physical Layer to retrain the Link (via the LTSSM
Recovery state, Section 4.2.6 Link Training and Status State Rules ). If
Link retraining fails, the Physical Layer will indicate that the Link is
no longer up, causing the DLCMSM to move to the DL_Inactive state.
14976
14319
14327
3.6.2 LCRC, Sequence Number, and Retry Management (TLP
Transmitter)
14315
14320
On Ports that do not support Protocol Multiplexing, Symbol
+0, bits 7:4 are Reserved.
14971
14314
14317
The format of a TLP with the TLP Sequence Number and LCRC
code applied is shown in Figure 3-14 TLP with LCRC and TLP Sequence
Number Applied .
14965
14308
14309
The Transaction Layer provides TLP boundary information to
the Data Link Layer. This allows the Data Link Layer to apply a TLP
Sequence Number and a Link CRC (LCRC) for error detection to the TLP. The
Receive Data Link Layer validates received TLPs by checking the TLP
Sequence Number, LCRC code and any error indications from the Receive
Physical Layer. In case any of these errors are in a TLP, Data Link Layer
Retry is used for recovery.
14999
The following timer is used:
REPLAY_TIMER - Counts time that determines when a replay
is required, according to the following rules:
Page 235
15000
15001
The following timer is used:
REPLAY_TIMER - Counts time that determines when a replay
is required, according to the following rules:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14343
REPLAY_TIMER - Counts time that determines when a replay
14344
14345
14346
14347
is required, according to the following rules:
Started at the last Symbol of any TLP transmission or
retransmission, if not already running
For each replay, reset and restart REPLAY_TIMER
when sending the last Symbol of the first TLP to be retransmitted
Resets and restarts for each Ack DLLP received
while there are more unacknowledged TLPs outstanding, if, and only if,
the received Ack DLLP acknowledges some TLP in the retry buffer.
Note: This ensures that REPLAY_TIMER is reset
only when forward progress is being made
14348
14349
14350
14351
14352
15001
15002
15003
15004
15005
15006
Reset and hold until restart conditions are met for
each Nak received (except during a replay) or when the REPLAY_TIMER
expires
Not advanced during Link retraining (holds its
value when the LTSSM is in the Recovery or Configuration state). Refer to
Section 4.2.5.3 and Section 4.2.5.4 .
15007
If Protocol Multiplexing is supported, optionally
not advanced during the reception of PMUX Packets (see Appendix G
Protocol Multiplexing ).
Resets and holds when there are no outstanding
unacknowledged TLPs
15009
15008
15010
14353
15011
14354
15012
14355
15013
14356
14357
14360
14363
14364
14365
15015
The following rules describe how a TLP is prepared for
transmission before being passed to the Physical Layer:
15016
The Transaction Layer indicates the start and end of the TLP
to the Data Link Layer while transferring the TLP
The Data Link Layer treats the TLP as a “black box” and
does not process or modify the contents of the TLP
14361
14362
Reset and hold until restart conditions are met for
each Nak received (except during a replay) or when the REPLAY_TIMER
expires
Not advanced during Link retraining (holds its
value when the LTSSM is in the Recovery or Configuration state). Refer to
Section 4.2.5.3 Configuration Overview and Section 4.2.5.4 Recovery
Overview .
If Protocol Multiplexing is supported, optionally
not advanced during the reception of PMUX Packets (see Appendix G
Protocol Multiplexing ).
Resets and holds when there are no outstanding
unacknowledged TLPs
15014
The following rules describe how a TLP is prepared for
transmission before being passed to the Physical Layer:
14358
14359
REPLAY_TIMER - Counts time that determines when a replay
is required, according to the following rules:
Started at the last Symbol of any TLP transmission or
retransmission, if not already running
For each replay, reset and restart REPLAY_TIMER
when sending the last Symbol of the first TLP to be retransmitted
Resets and restarts for each Ack DLLP received
while there are more unacknowledged TLPs outstanding, if, and only if,
the received Ack DLLP acknowledges some TLP in the retry buffer.
Note: This ensures that REPLAY_TIMER is reset
only when forward progress is being made
15017
15018
The Transaction Layer indicates the start and end of the TLP
to the Data Link Layer while transferring the TLP
The Data Link Layer treats the TLP as a “black box” and
does not process or modify the contents of the TLP
15019
Each TLP is assigned a 12-bit sequence number when it is
accepted from the Transmit side of Transaction Layer
Upon acceptance of the TLP from the Transaction Layer,
the packet sequence number is applied to the TLP by:
prepending the 12-bit value in NEXT_TRANSMIT_SEQ to
the TLP
prepending 4 Reserved bits to the TLP, preceding
the sequence number (see Figure 3-15 TLP Following Application of TLP
Sequence Number and Reserved Bits )
14366
14367
14370
15021
15022
15023
15025
Page 236
If the equation:
15026
(NEXT_TRANSMIT_SEQ - ACKD_SEQ) mod 4096 >= 2048
15027
(NEXT_TRANSMIT_SEQ - ACKD_SEQ) mod 4096 >= 2048
15028
15029
14371
Each TLP is assigned a 12-bit sequence number when it is
accepted from the Transmit side of the Transaction Layer
Upon acceptance of the TLP from the Transaction Layer,
the packet sequence number is applied to the TLP by:
prepending the 12-bit value in NEXT_TRANSMIT_SEQ to
the TLP
prepending 4 Reserved bits to the TLP, preceding
the sequence number (see Figure 3-15 TLP Following Application of TLP
Sequence Number and Reserved Bits )
15024
If the equation:
14368
14369
15020
15030
Equation 3-1 Tx SEQ Stall
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14371
14372
15030
is true, the Transmitter must cease accepting TLPs
from the Transaction Layer until the equation is no longer true
14373
15031
14374
15032
15033
is true, the Transmitter must cease accepting TLPs
from the Transaction Layer until the equation is no longer true
15034
14375
Following the application of NEXT_TRANSMIT_SEQ to a TLP
accepted from the Transmit side of the Transaction Layer,
NEXT_TRANSMIT_SEQ is incremented (except in the case where the TLP is
nullified):
14376
15035
Following the application of NEXT_TRANSMIT_SEQ to a TLP
accepted from the Transmit side of the Transaction Layer,
NEXT_TRANSMIT_SEQ is incremented (except in the case where the TLP is
nullified):
15036
14377
NEXT_TRANSMIT_SEQ := (NEXT_TRANSMIT_SEQ + 1) mod 4096
15037
14378
NEXT_TRANSMIT_SEQ := (NEXT_TRANSMIT_SEQ + 1) mod
4096
15038
15039
Equation 3-2 Tx SEQ Update
15040
15041
15042
14379
15043
14380
15044
14381
15045
14382
14383
15046
Figure 3-15 TLP Following Application of TLP Sequence
Number and Reserved Bits
14384
14387
14388
14389
14390
14391
14392
14393
Figure 3-15 TLP Following Application of TLP Sequence
Number and Reserved Bits
15048
14385
14386
15047
15049
TLP data integrity is protected during transfer between Data
Link Layers using a 32-bit LCRC
The LCRC value is calculated using the following mechanism
(see Figure 3-16 Figure 3-16: Calculation of LCRC ):
The polynomial used has coefficients expressed as 04C1
1DB7h
The seed value (initial value for LCRC storage
registers) is FFFF FFFFh
The LCRC is calculated using the TLP following sequence
number application (see Figure 3-15 TLP Following Application of TLP
Sequence Number and Reserved Bits )
LCRC calculation starts with bit 0 of byte 0 (bit 8 of
the TLP sequence number) and proceeds from bit 0 to bit 7 of each
successive byte.
Note that LCRC calculation uses all bits of the TLP,
regardless of field type, including Reserved fields
The remainder of the LCRC calculation is complemented,
and the complemented result bits are mapped into the 32-bit LCRC field as
shown in Table 3-6 Mapping of Bits into LCRC Field .
15050
15051
15052
15053
15054
15055
15056
15057
14394
15058
14395
15059
14396
15060
14397
15061
Page 237
TLP data integrity is protected during transfer between Data
Link Layers using a 32-bit LCRC
The LCRC value is calculated using the following mechanism
(see Figure 3-16 Calculation of LCRC ):
The polynomial used has coefficients expressed as 04C1
1DB7h
The seed value (initial value for LCRC storage
registers) is FFFF FFFFh
The LCRC is calculated using the TLP following sequence
number application (see Figure 3-15 TLP Following Application of TLP
Sequence Number and Reserved Bits )
LCRC calculation starts with bit 0 of byte 0 (bit 8 of
the TLP sequence number) and proceeds from bit 0 to bit 7 of each
successive byte.
Note that LCRC calculation uses all bits of the TLP,
regardless of field type, including Reserved fields
The remainder of the LCRC calculation is complemented,
and the complemented result bits are mapped into the 32-bit LCRC field as
shown in Table 3-6 Mapping of Bits into LCRC Field .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14397
15061
14592
31
14593
15256
14594
24
15258
14595
15259
14596
15260
14597
15261
14598
15262
14599
15263
14600
15264
14601
14602
15266
15268
14605
Figure 3-16 Figure 3-16: Calculation of LCRC
14606
15269
15270
14607
15272
To support cut-through routing of TLPs, a Transmitter is
permitted to modify a transmitted TLP to indicate that the Receiver must
ignore that TLP (“nullify” the TLP).
14610
14613
14614
15276
15277
15278
A Transmitter is permitted to nullify a TLP being
transmitted. To do this in a way that will robustly prevent
misinterpretation or corruption, the Transmitter must do the following:
Transmit all DWs of the TLP when the Physical Layer is
using 128b/130b encoding (see Section 4.2.2.3.1 Framing Tokens )
Use the remainder of the calculated LCRC value without
inversion (the logical inverse of the value normally used)
Indicate to the Transmit Physical Layer that the TLP is
nullified
15280
When this is done, the Transmitter does not increment
NEXT_TRANSMIT_SEQ
15282
The following rules describe the operation of the Data Link
Layer Retry Buffer, from which TLPs are re-transmitted when necessary:
14620
15283
The following rules describe the operation of the Data Link
Layer Retry Buffer, from which TLPs are re-transmitted when necessary:
15284
Copies of Transmitted TLPs must be stored in the Data Link
Layer Retry Buffer, except for nullified TLPs.
14622
15285
Copies of Transmitted TLPs must be stored in the Data Link
Layer Retry Buffer, except for nullified TLPs.
15286
14623
14624
15275
15281
14618
14621
To support cut-through routing of TLPs, a Transmitter is
permitted to modify a transmitted TLP to indicate that the Receiver must
ignore that TLP (“nullify” the TLP).
15279
When this is done, the Transmitter does not increment
NEXT_TRANSMIT_SEQ
14617
14619
15273
15274
A Transmitter is permitted to nullify a TLP being
transmitted; to do this in a way which will robustly prevent
misinterpretation or corruption, the Transmitter must do the following:
transmit all DWs of the TLP when the Physical Layer is
using 128b/130b encoding (see Section 4.2.2.3.1 Framing Tokens )
use the remainder of the calculated LCRC value without
inversion (the logical inverse of the value normally used)
indicate to the Transmit Physical Layer that the TLP is
nullified
14615
14616
The 32-bit LCRC field is appended to the TLP following the
bytes received from the Transaction Layer (see Figure 3-14 TLP with LCRC
and TLP Sequence Number Applied ).
15271
14608
14612
Figure 3-16 Calculation of LCRC
15267
14604
14611
24
15265
The 32-bit LCRC field is appended to the TLP following
the bytes received from the Transaction Layer (see Figure 3-14 TLP with
LCRC and TLP Sequence Number Applied ).
14603
14609
31
15257
15287
When a replay is initiated, either due to reception of a
Nak or due to REPLAY_TIMER expiration, the following rules describe the
sequence of operations that must be followed:
Page 238
15288
When a replay is initiated, either due to reception of a
Nak or due to REPLAY_TIMER expiration, the following rules describe the
sequence of operations that must be followed:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
14624
When a replay is initiated, either due to reception of a
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Nak or due to REPLAY_TIMER expiration, the following rules describe the
15288
sequence of operations that must be followed:
14625
14626
14627
14628
15289
If all TLPs transmitted have been acknowledged (the Retry
Buffer is empty), terminate replay, otherwise continue.
Increment REPLAY_NUM. When the replay is initiated by the
reception of a Nak which acknowledged some TLPs in the retry buffer,
REPLAY_NUM is reset. It is then permitted (but not required) to be
incremented.
If REPLAY_NUM rolls over from 11b to 00b, the Transmitter
signals the Physical Layer to retrain the Link, and waits for the
completion of retraining before proceeding with the replay. This is a
reported error associated with the Port (see Section 6.2 Error Signaling
and Logging ).
14629
14630
15290
15291
15292
15294
15296
Block acceptance of new TLPs from the Transmit Transaction
15298
Layer.
14635
Complete transmission of any TLP currently being
Retransmit unacknowledged TLPs, starting with the oldest
unacknowledged TLP and continuing in original transmission order
Reset and restart REPLAY_TIMER when sending the last
Symbol of the first TLP to be retransmitted
14651
15299
14657
14658
14659
15300
15301
Retransmit unacknowledged TLPs, starting with the oldest
unacknowledged TLP and continuing in original transmission order
Reset and restart REPLAY_TIMER when sending the last
Symbol of the first TLP to be retransmitted
15316
A replay can be initiated by the expiration of
REPLAY_TIMER, or by the receipt of a Nak. The following rule covers the
expiration of REPLAY_TIMER:
14654
14656
Complete transmission of any TLP currently being
transmitted.
15315
14652
14655
Block acceptance of new TLPs from the Transmit Transaction
Layer.
transmitted.
14653
If REPLAY_NUM does not roll over from 11b to 00b,
continue with the replay.
15297
14634
14637
Note that Data Link Layer state, including the
contents of the Retry Buffer, are not reset by this action unless the
Physical Layer reports Physical LinkUp = 0b (causing the Data Link
Control and Management State Machine to transition to the DL_Inactive
state).
15295
If REPLAY_NUM does not roll over from 11b to 00b,
continue with the replay.
14633
14636
If all TLPs transmitted have been acknowledged (the Retry
Buffer is empty), terminate replay, otherwise continue.
Increment REPLAY_NUM. When the replay is initiated by the
reception of a Nak that acknowledged some TLPs in the retry buffer,
REPLAY_NUM is reset. It is then permitted (but not required) to be
incremented.
If REPLAY_NUM rolls over from 11b to 00b, the Transmitter
signals the Physical Layer to retrain the Link, and waits for the
completion of retraining before proceeding with the replay. This is a
reported error associated with the Port (see Section 6.2 Error Signaling
and Logging ).
15293
Note that Data Link Layer state, including the
contents of the Retry Buffer, are not reset by this action unless the
Physical Layer reports Physical LinkUp = 0b (causing the Data Link
Control and Management State Machine to transition to the DL_Inactive
state).
14631
14632
When a replay is initiated, either due to reception of a
Nak or due to REPLAY_TIMER expiration, the following rules describe the
sequence of operations that must be followed:
15317
A replay can be initiated by the expiration of
REPLAY_TIMER, or by the receipt of a Nak. The following rule covers the
expiration of REPLAY_TIMER:
15318
If the Transmit Retry Buffer contains TLPs for which no Ack
or Nak DLLP has been received, and (as indicated by REPLAY_TIMER) no Ack
or Nak DLLP has been received for a period exceeding the REPLAY_TIMER
Limit, the Transmitter initiates a replay.
Simplified REPLAY_TIMER Limits are:
A value from 24,000 to 31,000 Symbol Times when the
Extended Synch bit is Clear.
A value from 80,000 to 100,000 Symbol Times when
the Extended Synch bit is Set.
If the Extended Synch bit changes state while
unacknowledged TLPs are outstanding, implementations are permitted to
adjust their REPLAY_TIMER Limit when the Extended Synch bit changes state
or the next time the REPLAY_TIMER is reset.
14660
Page 239
15319
15320
15321
15322
15323
15324
If the Transmit Retry Buffer contains TLPs for which no Ack
or Nak DLLP has been received, and (as indicated by REPLAY_TIMER) no Ack
or Nak DLLP has been received for a period exceeding the REPLAY_TIMER
Limit, the Transmitter initiates a replay.
Simplified REPLAY_TIMER Limits are:
A value from 24,000 to 31,000 Symbol Times when the
Extended Synch bit is Clear.
A value from 80,000 to 100,000 Symbol Times when
the Extended Synch bit is Set.
If the Extended Synch bit changes state while
unacknowledged TLPs are outstanding, implementations are permitted to
adjust their REPLAY_TIMER Limit when the Extended Synch bit changes state
or the next time the REPLAY_TIMER is reset.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14660
14661
14662
15324
Implementations that support 16.0 GT/s must use the
Simplified REPLAY_TIMER Limits for operation at all data rates.
Implementations that only support data rates less than
16.0 GT/s are strongly recommended to use the Simplified REPLAY_TIMER
Limits for operation at all data rates, but they are permitted to use the
REPLAY_TIMER Limits described in the PCI Express Base Specification,
Revision 3.1 .
15325
15326
14663
15327
14664
15328
14665
14666
15329
This is a Replay Timer Timeout error and it is a reported
error associated with the Port (see Section 6.2 Error Signaling and
Logging ).
15330
14667
15331
14668
15332
14669
Implementation Note
Determining REPLAY_TIMER Limit Values
14671
15334
15335
14672
15336
14673
15337
14674
15339
15340
14677
15341
14678
15342
14679
15344
TLP Transmitters and compliance tests must base replay
timing as measured at the Port of the TLP Transmitter. Timing starts with
either the last Symbol of a transmitted TLP, or else the last Symbol of a
received Ack DLLP, whichever determines the oldest unacknowledged TLP.
Timing ends with the First Symbol of TLP retransmission.
15345
14682
15346
When measuring replay timing to the point when TLP
retransmission begins, compliance tests must allow for any other TLP or
DLLP transmission already in progress in that direction (thus preventing
the TLP retransmission).
14684
15347
When measuring replay timing to the point when TLP
retransmission begins, compliance tests must allow for any other TLP or
DLLP transmission already in progress in that direction (thus preventing
the TLP retransmission).
15348
14685
14714
Replays are initiated primarily with a Nak DLLP, and
the REPLAY_TIMER serves as a secondary mechanism. Since it is a secondary
mechanism, the REPLAY_TIMER Limit has a relatively small effect on the
average time required to convey a TLP across a Link. The Simplified
REPLAY_TIMER Limits have been defined so that no adjustments are required
for ASPM L0s, Retimers, or other items as in previous revisions of this
specification.
15343
TLP Transmitters and compliance tests must base replay
timing as measured at the Port of the TLP Transmitter. Timing starts with
either the last Symbol of a transmitted TLP, or else the last Symbol of a
received Ack DLLP, whichever determines the oldest unacknowledged TLP.
Timing ends with the First Symbol of TLP retransmission.
14681
14683
Implementation Note
Determining REPLAY_TIMER Limit Values
15338
Replays are initiated primarily with a Nak DLLP, and
the REPLAY_TIMER serves as a secondary mechanism. Since it is a secondary
mechanism, the REPLAY_TIMER Limit has a relatively small effect on the
average time required to convey a TLP across a Link. The Simplified
REPLAY_TIMER Limits have been defined so that no adjustments are required
for ASPM L0s, Retimers, or other items as in previous revisions of the
PCI Express Base Specification.
14676
14680
This is a Replay Timer Timeout error and it is a reported
error associated with the Port (see Section 6.2 Error Signaling and
Logging ).
15333
14670
14675
Implementations that support 16.0 GT/s or higher data
rates must use the Simplified REPLAY_TIMER Limits for operation at all
data rates.
Implementations that only support data rates less than
16.0 GT/s are strongly recommended to use the Simplified REPLAY_TIMER
Limits for operation at all data rates, but they are permitted to use the
REPLAY_TIMER Limits described in the [PCIe-3.1].
15349
Since Ack/Nak and Flow Control DLLPs affect TLPs flowing in
the opposite direction across the Link, the TLP transmission mechanisms
in the Data Link Layer are also responsible for Ack/Nak and Flow Control
DLLPs received from the other component on the Link. These DLLPs are
processed according to the following rules (see Figure 3-17 Received DLLP
Error Check Flowchart ):
Page 240
15378
Since Ack/Nak and Flow Control DLLPs affect TLPs flowing in
the opposite direction across the Link, the TLP transmission mechanisms
in the Data Link Layer are also responsible for Ack/Nak and Flow Control
DLLPs received from the other component on the Link. These DLLPs are
processed according to the following rules (see Figure 3-17 Received DLLP
Error Check Flowchart ):
14714
Since Ack/Nak and Flow Control DLLPs affect TLPs flowing in
15378
the opposite direction across the Link, the TLP transmission
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs. mechanisms
in the Data Link Layer are also responsible for Ack/Nak and Flow Control
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
DLLPs received from the other component on the Link. These DLLPs are
processed according to the following rules (see Figure 3-17 Received DLLP
Error Check Flowchart ):
14715
14716
14717
14718
14719
14720
15379
If the Physical Layer indicates a Receiver Error, discard any
DLLP currently being received and free any storage allocated for the
DLLP. Note that reporting such errors to software is done by the Physical
Layer (and, therefore, are not reported by the Data Link Layer).
For all received DLLPs, the CRC value is checked by:
applying the same algorithm used for calculation of
transmitted DLLPs to the received DLLP, not including the 16-bit CRC
field of the received DLLP
comparing the calculated result with the value in the
CRC field of the received DLLP
if not equal, the DLLP is corrupt
14721
14722
14725
14726
15380
15381
15382
15383
15384
15386
15388
15389
15390
15391
14728
15392
14729
15393
14730
Figure 3-17 Received DLLP Error Check Flowchart
14732
14737
14738
14739
Figure 3-17 Received DLLP Error Check Flowchart
15397
Received NOP DLLPs are discarded
Received FC DLLPs are passed to the Transaction Layer
Received PM DLLPs are passed to the component's power
management control logic
For Ack and Nak DLLPs, the following steps are followed
(see Figure 3-18 Ack/Nak DLLP Processing Flowchart ):
If the Sequence Number specified by the AckNak_Seq_Num
does not correspond to an unacknowledged TLP, or to the value in
ACKD_SEQ, the DLLP is discarded
This is a Data Link Protocol Error which is a
reported error associated with the Port (see Section 6.2 Error Signaling
and Logging ).
14740
14741
15395
15396
14733
14736
A received DLLP that is not corrupt, but that uses
unsupported DLLP Type encodings is discarded without further action. This
is not considered an error.
Non-zero values in Reserved fields are ignored.
Receivers must process all DLLPs received at the rate they
are received
15394
14731
14735
A corrupt received DLLP is discarded. This is a Bad
DLLP error and is a reported error associated with the Port (see Section
6.2 Error Signaling and Logging ).
15387
A received DLLP which is not corrupt, but which uses
unsupported DLLP Type encodings is discarded without further action. This
is not considered an error.
Non-zero values in Reserved fields are ignored.
Receivers must process all DLLPs received at the rate they
are received
14727
14734
If the Physical Layer indicates a Receiver Error, discard any
DLLP currently being received and free any storage allocated for the
DLLP. Note that reporting such errors to software is done by the Physical
Layer (and, therefore, are not reported by the Data Link Layer).
For all received DLLPs, the CRC value is checked by:
Applying the same algorithm used for calculation of
transmitted DLLPs to the received DLLP, not including the 16-bit CRC
field of the received DLLP
Comparing the calculated result with the value in the
CRC field of the received DLLP
If not equal, the DLLP is corrupt
15385
A corrupt received DLLP is discarded. This is a Bad
DLLP error and is a reported error associated with the Port (see Section
6.2 Error Signaling and Logging ).
14723
14724
Since Ack/Nak and Flow Control DLLPs affect TLPs flowing in
the opposite direction across the Link, the TLP transmission mechanisms
in the Data Link Layer are also responsible for Ack/Nak and Flow Control
DLLPs received from the other component on the Link. These DLLPs are
processed according to the following rules (see Figure 3-17 Received DLLP
Error Check Flowchart ):
15398
15399
15400
15401
15402
15403
Received NOP DLLPs are discarded
Received FC DLLPs are passed to the Transaction Layer
Received PM DLLPs are passed to the component's power
management control logic
For Ack and Nak DLLPs, the following steps are followed
(see Figure 3-18 Ack/Nak DLLP Processing Flowchart ):
If the Sequence Number specified by the AckNak_Seq_Num
does not correspond to an unacknowledged TLP, or to the value in
ACKD_SEQ, the DLLP is discarded
This is a Data Link Protocol Error, which is a
reported error associated with the Port (see Section 6.2 Error Signaling
and Logging ).
15404
Note that it is not an error to receive an Ack
DLLP when there are no outstanding unacknowledged TLPs, including the
time between reset and the first TLP transmission, as long as the
specified Sequence Number matches the value in ACKD_SEQ.
15405
14742
15406
14743
15407
Page 241
Note that it is not an error to receive an Ack
DLLP when there are no outstanding unacknowledged TLPs, including the
time between reset and the first TLP transmission, as long as the
specified Sequence Number matches the value in ACKD_SEQ.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
14743
14744
14745
14746
14747
15407
If the AckNak_Seq_Num does not specify the Sequence
Number of the most recently acknowledged TLP, then the DLLP acknowledges
some TLPs in the retry buffer:
Purge from the retry buffer all TLPs from the oldest
to the one corresponding to the AckNak_Seq_Num
Load ACKD_SEQ with the value in the AckNak_Seq_Num
field
Reset REPLAY_NUM and REPLAY_TIMER
14748
14749
15408
15409
15410
15411
15412
If the DLLP is a Nak, initiate a replay (see above)
15413
14868
15532
14869
15533
14870
15534
14871
14872
14877
14878
14879
14880
14881
14882
14883
14886
15540
15541
15542
15543
15544
15545
15546
15547
A TLP Receiver must schedule an Ack DLLP such that it will be
transmitted no later than when all of the following conditions are true:
The Data Link Control and Management State Machine is in
the DL_Active state
TLPs have been forwarded to the Receive Transaction
Layer, but not yet acknowledged by sending an Ack DLLP
The AckNak_LATENCY_TIMER reaches or exceeds the value
specified in Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
Times) for 2.5 GT/s mode operation, Table 3-8 Maximum Ack Latency Limits
for 5.0 GT/s (Symbol Times) for 5.0 GT/s mode operation, Table 3-9
Maximum Ack Latency Limits for 8.0 GT/s and higher data rates (Symbol
Times) for 8.0 GT/s and higher mode operation
The Link used for Ack DLLP transmission is already in
L0 or has transitioned to L0
Note: if not already in L0, the Link must transition to
L0 in order to transmit the Ack DLLP
Another TLP or DLLP is not currently being transmitted
on the Link used for Ack DLLP transmission
The NAK_SCHEDULED flag is clear
Note: The AckNak_LATENCY_TIMER must be restarted from 0
each time an Ack or Nak DLLP is scheduled for transmission
15549
15550
Data Link Layer Ack DLLPs may be scheduled for transmission
more frequently than required
Data Link Layer Ack and Nak DLLPs specify the value
(NEXT_RCV_SEQ - 1) in the AckNak_Seq_Num field
15551
14888
Page
15539
15548
Data Link Layer Ack DLLPs may be scheduled for transmission
more frequently than required
Data Link Layer Ack and Nak DLLPs specify the value
(NEXT_RCV_SEQ - 1) in the AckNak_Seq_Num field
14887
14889
Figure 3-19 Receive Data Link Layer Handling of TLPs
15538
A TLP Receiver must schedule an Ack DLLP such that it will be
transmitted no later than when all of the following conditions are true:
The Data Link Control and Management State Machine is in
the DL_Active state
TLPs have been forwarded to the Receive Transaction
Layer, but not yet acknowledged by sending an Ack DLLP
The AckNak_LATENCY_TIMER reaches or exceeds the value
specified in Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
Times) for 2.5 GT/s mode operation, Table 3-8 Maximum Ack Latency Limits
for 5.0 GT/s (Symbol Times) for 5.0 GT/s mode operation, Table 3-9
Maximum Ack Latency Limits for 8.0 GT/s (Symbol Times) for 8.0 GT/s mode
operation, and Table 3-10 Maximum Ack Latency Limits for 16.0 GT/s
(Symbol Times) for 16.0 GT/s mode operation
The Link used for Ack DLLP transmission is already in
L0 or has transitioned to L0
Note: if not already in L0, the Link must transition to
L0 in order to transmit the Ack DLLP
Another TLP or DLLP is not currently being transmitted
on the Link used for Ack DLLP transmission
The NAK_SCHEDULED flag is clear
Note: The AckNak_LATENCY_TIMER must be restarted from 0
each time an Ack or Nak DLLP is scheduled for transmission
14884
14885
15536
15537
14874
14876
If the DLLP is a Nak, initiate a replay (see above)
15535
Figure 3-19 Receive Data Link Layer Handling of TLPs
14873
14875
If the AckNak_Seq_Num does not specify the Sequence
Number of the most recently acknowledged TLP, then the DLLP acknowledges
some TLPs in the retry buffer:
Purge from the retry buffer all TLPs from the oldest
to the one corresponding to the AckNak_Seq_Num
Load ACKD_SEQ with the value in the AckNak_Seq_Num
field
Reset REPLAY_NUM and REPLAY_TIMER
15552
Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
Times) , Table 3-8 Maximum Ack Latency Limits for 5.0 GT/s (Symbol Times)
, and Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s (Symbol Times) ,
and Table 3-10 Maximum Ack Latency Limits for 16.0 GT/s (Symbol Times)
define the threshold values for the AckNak_LATENCY_TIMER, which for any
specific case is called the Ack Latency Limit.
242
15553
Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
Times) , Table 3-8 Maximum Ack Latency Limits for 5.0 GT/s (Symbol Times)
, and Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s and higher data
rates (Symbol Times) define the threshold values for the
AckNak_LATENCY_TIMER, which for any specific case is called the Ack
Latency Limit.
Table 3-7 Maximum Ack Latency Limits for 2.5vs.
GT/s (Symbol
/private/tmp/PCISIG/pcie4_combined-snapshot.html
Times) , Table 3-8 Maximum Ack Latency Limits for 5.0 GT/s (Symbol Times)
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
, and Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s (Symbol Times) ,
14889
15553
and Table 3-10 Maximum Ack Latency Limits for 16.0 GT/s (Symbol Times)
define the threshold values for the AckNak_LATENCY_TIMER, which for any
specific case is called the Ack Latency Limit.
14890
15554
14891
14892
15555
TLP Receivers and compliance tests must base Ack Latency
timing as measured at the Port of the TLP Receiver, starting with the
time the last Symbol of a TLP is received to the first Symbol of the Ack
DLLP being transmitted.
14893
TLP Receivers and compliance tests must base Ack Latency
timing as measured at the Port of the TLP Receiver, starting with the
time the last Symbol of a TLP is received to the first Symbol of the Ack
DLLP being transmitted.
15558
When measuring until the Ack DLLP is transmitted,
compliance tests must allow for any TLP or other DLLP transmission
already in progress in that direction (thus preventing the Ack DLLP
transmission). If L0s is enabled, compliance tests must allow for the L0s
exit latency of the Link in the direction that the Ack DLLP is being
transmitted. If the Extended Synch bit of the Link Control register is
Set, compliance tests must also allow for its effect on L0s exit
latency.
14896
15559
When measuring until the Ack DLLP is transmitted,
compliance tests must allow for any TLP or other DLLP transmission
already in progress in that direction (thus preventing the Ack DLLP
transmission). If L0s is enabled, compliance tests must allow for the L0s
exit latency of the Link in the direction that the Ack DLLP is being
transmitted. If the Extended Synch bit of the Link Control register is
Set, compliance tests must also allow for its effect on L0s exit
latency.
15560
14897
14898
15556
15557
14894
14895
Table 3-7 Maximum Ack Latency Limits for 2.5 GT/s (Symbol
Times) , Table 3-8 Maximum Ack Latency Limits for 5.0 GT/s (Symbol Times)
, and Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s and higher data
rates (Symbol Times) define the threshold values for the
AckNak_LATENCY_TIMER, which for any specific case is called the Ack
Latency Limit.
15561
TLP Receivers are not required to adjust their Ack DLLP
scheduling based upon L0s exit latency or the value of the Extended Synch
bit.
14899
15562
TLP Receivers are not required to adjust their Ack DLLP
scheduling based upon L0s exit latency or the value of the Extended Synch
bit.
15563
15164
15828
15165
585
15166
15829
585
15830
15167
327
15831
15168
15832
15169
15833
15170
15834
15171
15835
15172
15836
15173
327
15837
15174
Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s
(Symbol Times)
15175
15176
Link Operating Width
15177
15178
15179
15180
x1
15181
15182
x2
15183
15184
x4
15185
15186
x8
15187
15188
Page 243
x12
15838
Table 3-9 Maximum Ack Latency Limits for 8.0 GT/s and
higher data rates (Symbol Times)
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
15188
x12
15189
15190
x16
15191
15192
x32
15193
15194
15195
15196
15197
Max_Payload_Size
(bytes)
15198
15199
128
15200
15201
333
15202
15203
224
15204
15205
169
15206
15207
163
15208
15209
154
15210
15211
144
15212
15213
129
15214
15215
15216
15217
256
15218
15219
512
15220
15221
313
15222
15223
214
15224
15225
203
15226
15227
186
15228
15229
168
15230
15231
141
15232
15233
15234
15235
512
15236
15237
15238
Page 244
655
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
15238
15239
385
15240
15241
250
15242
15243
182
15244
15245
205
15246
15247
182
15248
15249
148
15250
15251
15252
15253
1024
15254
15255
1167
15256
15257
641
15258
15259
378
15260
15261
246
15262
15263
290
15264
15265
246
15266
15267
180
15268
15269
15270
15271
2048
15272
15273
2191
15274
15275
1153
15276
15277
634
15278
15279
374
15280
15281
461
15282
15283
374
15284
15285
244
15286
15287
15288
15289
Page 245
4096
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
15289
4096
15290
15291
4239
15292
15293
2177
15294
15295
1146
15296
15297
630
15298
15299
802
15300
15301
630
15302
15303
372
15304
15305
15306
15307
15308
15309
15310
Table 3-10 Maximum Ack Latency Limits for 16.0 GT/s
(Symbol Times)
15311
15312
15839
Link Operating Width
15840
15313
15841
15314
15842
15315
15316
15843
x1
15317
15318
x2
15846
x4
15848
The Physical Layer isolates the Transaction and Data Link
Layers from the signaling technology used for Link data interchange. The
Physical Layer is divided into the logical and electrical sub-blocks (see
Figure 4-1 Layering Diagram Highlighting Physical Layer ).
16017
16018
15491
16019
15492
16020
15493
16022
16023
15496
16024
15497
Page
x4
The Physical Layer isolates the Transaction and Data Link
Layers from the signaling technology used for Link data interchange. The
Physical Layer is divided into the logical and electrical sub-blocks (see
Figure 4-1 Layering Diagram Highlighting Physical Layer ).
16021
Figure 4-1 Layering Diagram Highlighting Physical Layer
15495
15498
x2
16016
15490
15494
x1
15847
15488
15489
15844
15845
15319
15320
Link Operating Width
Figure 4-1 Layering Diagram Highlighting Physical Layer
16025
Chapter 4 Physical Layer Logical Block describes the logical
sub-block and Chapter 9 Single Root I/O Virtualization and Sharing
describes the electrical sub-block. [Footnote: Prior to the PCI Express
Base Specification, Revision 4.0, Chapter 4 Physical Layer Logical Block
described both logical and electrical sub-blocks. With PCI Express Base
Specification, Revision 4.0 the following reorganization occurred:Missing
246
text.]
16026
Chapter 4 Physical Layer Logical Block describes the logical
sub-block and Chapter 8 Electrical Sub-Block describes the electrical
sub-block. [Footnote: Prior to [PCIe-4.0] Chapter 4 Physical Layer
Logical Block described both logical and electrical sub-blocks. With
[PCIe-4.0], section 4.3 was moved to a new Chapter 8 Electrical Sub-Block
and a new section 4.3 was added containing Retimer information.]
Chapter 4 Physical Layer Logical Block describesvs.
the logical
/private/tmp/PCISIG/pcie4_combined-snapshot.html
sub-block and Chapter 9 Single Root I/O Virtualization and Sharing
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
describes the electrical sub-block. [Footnote: Prior to the PCI Express
15498
16026
Base Specification, Revision 4.0, Chapter 4 Physical Layer Logical Block
described both logical and electrical sub-blocks. With PCI Express Base
Specification, Revision 4.0 the following reorganization occurred:Missing
text.]
15499
16027
15500
16028
15501
16029
15502
16030
15503
4.2 Logical Sub-block
15504
16031
16033
The logical sub-block has two main sections: a Transmit section
that prepares outgoing information passed from the Data Link Layer for
transmission by the electrical sub-block, and a Receiver section that
identifies and prepares received information before passing it to the
Data Link Layer.
16034
15507
16035
15508
16036
15546
Figure 4-4 Bit Transmission Order on Physical Lanes -
16075
x4 Example
Figure 4-4 Bit Transmission Order on Physical Lanes x4 Example
15548
16076
15549
16077
15550
16078
15551
16079
15552
16080
15553
4.2.1.1.2 Special Symbols for Framing and Link Management
16081
(K Codes)
4.2.1.1.2 Special Symbols for Framing and Link Management
(K Codes)
15554
16082
15555
16083
The 8b/10b encoding scheme provides Special Symbols that
are distinct from the Data Symbols used to represent Characters. These
Special Symbols are used for various Link Management mechanisms described
later in this chapter. Special Symbols are also used to frame DLLPs and
TLP [Footnote: In Chapter 4 Physical Layer Logical Block , PMUX packets
follow the TLP framing rules.] s, using distinct Special Symbols to allow
these two types of Packets to be quickly and easily distinguished.
15557
16084
The 8b/10b encoding scheme provides Special Symbols that
are distinct from the Data Symbols used to represent Characters. These
Special Symbols are used for various Link Management mechanisms described
later in this chapter. Special Symbols are also used to frame DLLPs and
TLPs [Footnote: In Chapter 4 Physical Layer Logical Block , PMUX packets
follow the TLP framing rules.] , using distinct Special Symbols to allow
these two types of Packets to be quickly and easily distinguished.
16085
15558
15559
The logical sub-block has two main sections: a Transmit section
that prepares outgoing information passed from the Data Link Layer for
transmission by the electrical sub-block, and a Receiver section that
identifies and prepares received information before passing it to the
Data Link Layer.
16074
15547
15556
4.2 Logical Sub-block
16032
15505
15506
Chapter 4 Physical Layer Logical Block describes the logical
sub-block and Chapter 8 Electrical Sub-Block describes the electrical
sub-block. [Footnote: Prior to [PCIe-4.0] Chapter 4 Physical Layer
Logical Block described both logical and electrical sub-blocks. With
[PCIe-4.0], section 4.3 was moved to a new Chapter 8 Electrical Sub-Block
and a new section 4.3 was added containing Retimer information.]
16086
Table 4-1 shows the Special Symbols used for PCI Express
and provides a brief description for each. These Symbols will be
discussed in greater detail in following sections. Each of these Special
Symbols, as well as the data Symbols, must be interpreted by looking at
the 10-bit Symbol in its entirety.
16087
for PCI
will be
Special
looking
15560
16088
15561
16089
15562
15563
16090
Table 4-1 Special Symbols
15564
15565
15566
Page 247
Table 4-1 Special Symbols shows the Special Symbols used
Express and provides a brief description for each. These Symbols
discussed in greater detail in following sections. Each of these
Symbols, as well as the data Symbols, must be interpreted by
at the 10-bit Symbol in its entirety.
16091
Table 4-1 Special Symbols
16092
Encoding
16093
16094
Encoding
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
15566
16094
15567
Symbol
15568
16095
15569
Name
16097
15827
16355
15828
16356
15829
16357
15830
15831
Symbol
16096
Name
16358
For more information on scrambling, see Appendix C Physical
Layer Appendix .
16359
15832
16360
15833
16361
15834
16362
15835
16363
15836
16364
For more information on scrambling, see Appendix C Physical
Layer Appendix .
15837
15838
Figure 4-10 LFSR with 8b/10b Scrambling Polynomial
16365
15839
16366
15840
16367
15841
16368
15842
16369
15843
16370
15844
16371
15845
4.2.2 Encoding for 8.0 GT/s and Higher Data Rates
16372
15846
16373
15847
16374
15900
16427
15901
4.2.2.2.1 Block Alignment
15903
16429
4.2.2.2.1 Block Alignment
16430
15904
16431
During Link training, the 130 bits of the Electrical Idle
Exit Ordered Set (EIEOS) are a unique bit pattern that Receivers use to
determine the location of the Block Sync Headers in the received bit
stream. Conceptually, Receivers can be in three different phases of Block
alignment: Unaligned, Aligned, and Locked. These phases are defined to
illustrate the required behavior, but are not meant to specify a required
implementation.
15906
16432
During Link training, the 130 bits of the Electrical Idle
Exit Ordered Set (EIEOS) are a unique bit pattern that Receivers use to
determine the location of the Block Sync Headers in the received bit
stream. Conceptually, Receivers can be in three different phases of Block
alignment: Unaligned, Aligned, and Locked. These phases are defined to
illustrate the required behavior, but are not meant to specify a required
implementation.
16433
15907
16434
15908
Unaligned Phase
15909
15910
4.2.2 Encoding for 8.0 GT/s and Higher Data Rates
16428
15902
15905
Figure 4-10 LFSR with 8b/10b Scrambling Polynomial
16435
Unaligned Phase
16436
Receivers enter this phase after a period of Electrical
Idle, such as when the data rate is changed to one that uses 128b/130b
encoding or when they exit a low-power Link state, or if directed . In
this phase, Receivers monitor the received bit stream for the EIEOS bit
pattern. When one is detected, they adjust their alignment to it and
proceed to the Aligned phase.
15911
15912
15913
Page 248
16437
Receivers enter this phase after a period of Electrical
Idle, such as when the data rate is changed to one that uses 128b/130b
encoding or when they exit a low-power Link state, or if directed (by an
implementation specific method). In this phase, Receivers monitor the
received bit stream for the EIEOS bit pattern. When one is detected, they
adjust their alignment to it and proceed to the Aligned phase.
16438
Aligned Phase
16439
16440
Aligned Phase
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
15913
15914
16440
Receivers monitor the received bit stream for the EIEOS
bit pattern and the received Blocks for a Start of Data Stream (SDS)
Ordered Set. If an EIEOS bit pattern is detected on an alignment that
does not match the current alignment, Receivers must adjust their
alignment to the newly received EIEOS bit pattern. If an SDS Ordered Set
is received, Receivers proceed to the Locked phase. Receivers are
permitted to return to the Unaligned phase if an undefined Sync Header
(00b or 11b) is received.
15915
Locked Phase
15917
16443
Receivers must not adjust their Block alignment while
in this phase. Data Blocks are expected to be received after an SDS
Ordered Set, and adjusting the Block alignment would interfere with the
processing of these Blocks. Receivers must return to the Unaligned or
Aligned phase if an undefined Sync Header is received.
16445
16446
15920
16447
15926
16454
16455
15929
16456
15930
16457
15931
Additional Requirements:
15933
15936
The sequence of EIEOS and TS Ordered Sets transmitted
during training sequences will cause misaligned Receivers to detect an
undefined Sync Header.
16458
15932
15935
Receivers must not adjust their Block alignment while
in this phase. Data Blocks are expected to be received after an SDS
Ordered Set, and adjusting the Block alignment would interfere with the
processing of these Blocks. Receivers must return to the Unaligned or
Aligned phase if an undefined Sync Header is received.
16453
The sequence of EIEOS and TS Ordered Sets transmitted
during training sequences will cause misaligned Receivers to detect an
undefined Sync Header.
15928
15934
Locked Phase
16444
15919
15927
Receivers monitor the received bit stream for the EIEOS
bit pattern and the received Blocks for a Start of Data Stream (SDS)
Ordered Set. If an EIEOS bit pattern is detected on an alignment that
does not match the current alignment, Receivers must adjust their
alignment to the newly received EIEOS bit pattern. If an SDS Ordered Set
is received, Receivers proceed to the Locked phase. Receivers are
permitted to return to the Unaligned phase if an undefined Sync Header
(00b or 11b) is received.
16442
15916
15918
16441
16459
Additional Requirements:
16460
While in the Aligned or Locked phase, Receivers must adjust
their alignment as necessary when a SKP Ordered Set is received. See
Section 4.2.7 Clock Tolerance Compensation for more information on SKP
Ordered Sets.
After any LTSSM transition to Recovery, Receivers must
ignore all received TS Ordered Sets until they receive an EIEOS.
Conceptually, receiving an EIEOS validates the Receiver’s alignment and
allows TS Ordered Set processing to proceed. If a received EIEOS
initiates an LTSSM transition from L0 to Recovery, Receivers are
permitted to process any TS Ordered Sets that follow the EIEOS or ignore
them until another EIEOS is received after entering Recovery.
Receivers are permitted to be directed from the Locked
phase to the Unaligned or Aligned phase as long as Data Stream processing
is stopped. See Section 4.2.2.3 Data Blocks for more information on Data
Stream requirements.
16461
16462
16463
While in the Aligned or Locked phase, Receivers must adjust
their alignment as necessary when a SKP Ordered Set is received. See
Section 4.2.7 Clock Tolerance Compensation for more information on SKP
Ordered Sets.
After any LTSSM transition to Recovery, Receivers must
ignore all received TS Ordered Sets until they receive an EIEOS.
Conceptually, receiving an EIEOS validates the Receiver’s alignment and
allows TS Ordered Set processing to proceed. If a received EIEOS
initiates an LTSSM transition from L0 to Recovery, Receivers are
permitted to process any TS Ordered Sets that follow the EIEOS or ignore
them until another EIEOS is received after entering Recovery.
Receivers are permitted to transition from the Locked
phase to the Unaligned or Aligned phase as long as Data Stream processing
is stopped. See Section 4.2.2.3 Data Blocks for more information on Data
Stream requirements.
16464
15937
Loopback Masters: While in Loopback.Entry, Masters must
be capable of adjusting their Receiver’s Block alignment to received
EIEOS bit patterns. While in Loopback.Active, Masters are permitted to
transmit an EIEOS and adjust their Receiver’s Block alignment to the
looped back bit stream.
16465
16466
Page 249
Loopback Masters: While in Loopback.Entry, Masters must
be capable of adjusting their Receiver’s Block alignment to received
EIEOS bit patterns. While in Loopback.Active, Masters are permitted to
transmit an EIEOS and adjust their Receiver’s Block alignment to the
looped back bit stream.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16466
15938
Loopback Slaves: While in Loopback.Entry, Slaves must be
capable of adjusting their Receiver’s Block alignment to received EIEOS
bit patterns. While in Loopback.Active, Slaves must not adjust their
Receiver’s Block alignment. Conceptually, the Receiver is directed to the
Locked phase when the Slave starts to loop back the received bit stream.
16467
15939
15940
16468
15941
16469
15942
16470
15943
16471
15944
4.2.2.3 Data Blocks
16472
15945
16473
15946
16474
15947
16137
16138
16139
16140
The payload of Data Blocks is a stream of Symbols defined
as a “Data Stream” that consists of Framing Tokens, TLPs, and DLLPs. Each
Symbol of the Data Stream is placed on a single Lane of the Link, and the
stream of Symbols is striped across all Lanes of the Link and spans Block
boundaries.
All optional error checks and error reports in this
section are independently optional (see Section 6.2.3.4 Optional Error
Checking ).
When an STP Token is received:
Receivers must calculate the Frame CRC and Frame Parity
of the received TLP Length field and compare the results to the received
Frame CRC and Frame Parity fields. A Frame CRC or Frame Parity mismatch
is a Framing Error.
An STP Token with Framing Error is not considered
part of a TLP for the purpose of reporting to the Data Link Layer.
16143
16144
16145
16146
16147
16476
The payload of Data Blocks is a stream of Symbols defined
as a “Data Stream” that consists of Framing Tokens, TLPs, and DLLPs. Each
Symbol of the Data Stream is placed on a single Lane of the Link, and the
stream of Symbols is striped across all Lanes of the Link and spans Block
boundaries.
16666
All optional error checks and error reports in this
section are independently optional (see Section 6.2.3.4 Optional Error
Checking ).
When an STP Token is received:
Receivers must calculate the Frame CRC and Frame Parity
of the received TLP Length field and compare the results to the received
Frame CRC and Frame Parity fields. A Frame CRC or Frame Parity mismatch
is a Framing Error.
An STP Token with Framing Error is not considered
part of a TLP for the purpose of reporting to the Data Link Layer.
16667
16668
16669
If the TLP Length field is 1, the Symbols are not an
STP Token and are instead evaluated to determine whether they are an EDS
Token.
Receivers are permitted to check whether the TLP
Length field has a value of 0. If checked, receiving a TLP Length field
of 0 is a Framing Error.
Receivers are permitted to check whether the TLP
Length field has a value of 2, 3, or 4. If checked, receiving such a TLP
Length field is a Framing Error.
Receivers are permitted to check whether the TLP
Length field has a value between 1152 and 1535 (inclusive). If checked,
receiving such a TLP Length field is a Framing Error.
Receivers on Ports that do not support Protocol
Multiplexing are permitted to check whether the TLP Length field has a
value greater than 1535. If checked, receiving such a TLP Length field is
a Framing Error.
16670
Receivers on Ports that support Protocol
Multiplexing, shall process STP Tokens with a TLP Length field that is
greater than 1535 as the start of a PMUX Packet as defined in Appendix
G.
16676
Page 250
4.2.2.3 Data Blocks
16475
16141
16142
Loopback Slaves: While in Loopback.Entry, Slaves must
be capable of adjusting their Receiver’s Block alignment to received
EIEOS bit patterns. While in Loopback.Active, Slaves must not adjust
their Receiver’s Block alignment. Conceptually, the Receiver is directed
to the Locked phase when the Slave starts to loop back the received bit
stream.
16671
16672
16673
16674
16675
If the TLP Length field is 1, the Symbols are not an
STP Token and are instead evaluated to determine whether they are an EDS
Token.
Receivers are permitted to check whether the TLP
Length field has a value of 0. If checked, receiving a TLP Length field
of 0 is a Framing Error.
Receivers are permitted to check whether the TLP
Length field has a value of 2, 3, or 4. If checked, receiving such a TLP
Length field is a Framing Error.
Receivers are permitted to check whether the TLP
Length field has a value between 1152 and 1535 (inclusive). If checked,
receiving such a TLP Length field is a Framing Error.
Receivers on Ports that do not support Protocol
Multiplexing are permitted to check whether the TLP Length field has a
value greater than 1535. If checked, receiving such a TLP Length field is
a Framing Error.
Receivers on Ports that support Protocol
Multiplexing, shall process STP Tokens with a TLP Length field that is
greater than 1535 as the start of a PMUX Packet as defined in Appendix G
Protocol Multiplexing .
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
Receivers on Ports that support Protocol
Multiplexing, shall process STP Tokens with a TLP Length field that is
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
greater than 1535 as the start of a PMUX Packet as defined in Appendix
16147
16676
G.
16148
16149
The Symbol immediately following the last DW of the
TLP is the next Token to be processed.
Receivers must evaluate the Symbol immediately
following the last DW of the TLP and determine whether it is the first
Symbol of an EDB Token and therefore whether the TLP is nullified. See
the EDB Token requirements.
16677
16678
Receivers on Ports that support Protocol
Multiplexing, shall process STP Tokens with a TLP Length field that is
greater than 1535 as the start of a PMUX Packet as defined in Appendix G
Protocol Multiplexing .
The next Token to be processed begins with the Symbol
immediately following the last DW of the TLP, as determined by the TLP
Length field.
Receivers must evaluate this Symbol and determine
whether it is the first Symbol of an EDB Token and therefore whether the
TLP is nullified. See the EDB Token requirements.
16679
16150
Receivers are permitted to check whether more than
one STP Token is received in a single Symbol Time. If checked, receiving
more than one STP Token in a single Symbol Time is a Framing Error
16151
16152
16153
16154
16155
16158
16159
16160
16163
16164
16167
16168
Page
16683
16684
16685
When an EDB Token is received:
If an EDB Token is received immediately following a TLP
(there are no Symbols between the last Symbol of the TLP and the first
Symbol of the EDB Token), receivers must inform the Data Link Layer that
an EDB Token has been received. Receivers are permitted to inform the
Data Link Layer that an EDB Token has been received after processing the
first Symbol of the EDB Token or after processing any or all of the
remaining Symbols of the EDB Token. Regardless of when they inform the
Data Link Layer of a received EDB Token, Receivers must check all Symbols
of the EDB Token. Receiving a Symbol that does not match the definition
of an EDB Token is a Framing Error.
Receiving an EDB Token at any time other than
immediately following a TLP is a Framing Error.
The next Token to be processed begins with the Symbol
immediately following the EDB Token .
16687
16688
16689
16690
When an EDS Token is received in the last four Symbols of
the Data Block across the Link:
Receivers must stop processing the Data Stream.
Receiving an Ordered Set other than SKP, EIOS, or
EIEOS in the Block following the EDS Token is a Framing Error.
If a SKP Ordered Set is received in the Block
following the EDS Token, Receivers resume Data Stream processing with the
first Symbol of the Data Block that follows the SKP Ordered Set unless a
Framing Error has been detected.
16691
When an SDP Token is received:
The Symbol immediately following the last Symbol of the
DLLP is the next Token to be processed.
Receivers are permitted to check whether more than
one SDP Token is received in a single Symbol Time. If checked, receiving
more than one SDP Token in a single Symbol Time is a Framing Error.
16165
16166
16682
16686
When an EDS Token is received in the last four Symbols of
the Data Block across the Link:
Receivers must stop processing the Data Stream.
Receiving an Ordered Set other than SKP, EIOS, or
EIEOS in the Block following the EDS Token is a Framing Error.
If a SKP Ordered Set is received in the Block
following the EDS Token, Receivers resume Data Stream processing with the
first Symbol of the Data Block that follows the SKP Ordered Set unless a
Framing Error has been detected.
16161
16162
Receivers are permitted to check whether more than
one STP Token is received in a single Symbol Time. If checked, receiving
more than one STP Token in a single Symbol Time is a Framing Error
16681
When an EDB Token is received:
If an EDB Token is received immediately following a TLP
(there are no Symbols between the last Symbol of the TLP and the first
Symbol of the EDB Token), receivers must inform the Data Link Layer that
an EDB Token has been received. Receivers are permitted to inform the
Data Link Layer that an EDB Token has been received after processing the
first Symbol of the EDB Token or after processing any or all of the
remaining Symbols of the EDB Token. Regardless of when they inform the
Data Link Layer of a received EDB Token, Receivers must check all Symbols
of the EDB Token. Receiving a Symbol that does not match the definition
of an EDB Token is a Framing Error.
Receiving an EDB Token at any time other than
immediately following a TLP is a Framing Error.
The Symbol immediately following the EDB Token is the
next Token to be processed.
16156
16157
16680
16692
16693
16694
When an SDP Token is received:
The next Token to be processed begins with the Symbol
immediately following the last Symbol of the DLLP .
Receivers are permitted to check whether more than
one SDP Token is received in a single Symbol Time. If checked, receiving
more than one SDP Token in a single Symbol Time is a Framing Error.
16695
When an IDL Token is received:
For a x1 Link, the next Token to be processed is the
next Symbol received.
For a x2 Link, the next Token to be processed is the
Symbol received in Lane 0 of the next Symbol Time. It is strongly
recommended that Receivers check whether the Symbol received in Lane 1,
if it did not receive IDL, after an IDL Token was received in Lane 0 is
also IDL and report an error for Lane 1 in the Lane Error Status
251
Register. If checked, receiving a Symbol other than IDL is a Framing
Error.
16696
16697
16698
When an IDL Token is received:
For a x1 Link, the next Token to be processed begins
with the next Symbol received.
For a x2 Link, the next Token to be processed begins
with the Symbol received in Lane 0 of the next Symbol Time. It is
strongly recommended that Receivers check whether the Symbol received in
Lane 1, if it did not receive IDL, after an IDL Token was received in
Lane 0 is also IDL and report an error for Lane 1 in the Lane Error
Status Register. If checked, receiving a Symbol other than IDL is a
Framing Error.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
16168
For a x2 Link, the next Token to be processed is the
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Symbol received in Lane 0 of the next Symbol Time. It is strongly
16169
16170
recommended that Receivers check whether the Symbol received in Lane 1,
if it did not receive IDL, after an IDL Token was received in Lane 0 is
also IDL and report an error for Lane 1 in the Lane Error Status
Register. If checked, receiving a Symbol other than IDL is a Framing
Error.
For a x4 Link, the next Token to be processed is the
Symbol received in Lane 0 of the next Symbol Time. It is strongly
recommended that Receivers check whether the Symbols received in Lanes
1-3, after an IDL Token was received in Lane 0 are also IDL and report an
error for the Lane(s) that did not receive IDL, in the Lane Error Status
Register. If checked, receiving a Symbol other than IDL is a Framing
Error.
For x8, x12, x16, and x32 Links, the next Token to be
processed is the Symbol received in the next DW aligned Lane following
the IDL Token. For example, if an IDL Token is received in Lane 4 of a
x16 Link, the next Token location is Lane 8 of the same Symbol Time.
However, if an IDL Token is received on Lane 4 of a x8 Link, the next
Token location is Lane 0 of the following Symbol Time. It is strongly
recommended that Receivers check whether the Symbols received between the
IDL Token and the next Token location are also IDL and report an error
for the Lane(s) that did not receive IDL, in the Lane Error Status
Register. If checked, receiving a Symbol other than IDL is a Framing
Error.
16171
16172
16177
16178
16179
Page
16700
16702
Note: The only Tokens expected to be received in
the same Symbol Time following an IDL Token are additional IDL Tokens or
an EDS Token.
16703
16174
16176
16699
For a x2 Link, the next Token to be processed begins
with the Symbol received in Lane 0 of the next Symbol Time. It is
strongly recommended that Receivers check whether the Symbol received in
Lane 1, if it did not receive IDL, after an IDL Token was received in
Lane 0 is also IDL and report an error for Lane 1 in the Lane Error
Status Register. If checked, receiving a Symbol other than IDL is a
Framing Error.
For a x4 Link, the next Token to be processed begins
with the Symbol received in Lane 0 of the next Symbol Time. It is
strongly recommended that Receivers check whether the Symbols received in
Lanes 1-3, after an IDL Token was received in Lane 0 are also IDL and
report an error for the Lane(s) that did not receive IDL, in the Lane
Error Status Register. If checked, receiving a Symbol other than IDL is a
Framing Error.
For x8, x12, x16, and x32 Links, the next Token to be
processed begins with the Symbol received in the next DW aligned Lane
following the IDL Token. For example, if an IDL Token is received in Lane
4 of a x16 Link, the next Token location begins with Lane 8 of the same
Symbol Time. However, if an IDL Token is received on Lane 4 of a x8 Link,
the next Token location begins with Lane 0 of the following Symbol Time.
It is strongly recommended that Receivers check whether the Symbols
received between the IDL Token and the next Token location are also IDL
and report an error for the Lane(s) that did not receive IDL, in the Lane
Error Status Register. If checked, receiving a Symbol other than IDL is a
Framing Error.
16701
Note: The only Tokens expected to be received in
the same Symbol Time following an IDL Token are additional IDL Tokens or
an EDS Token.
16173
16175
16698
16704
While processing the Data Stream, Receivers must also
check the Block type received by each Lane, after accounting for Lane-toLane de-skew, for the following conditions:
Receiving an Ordered Set Block on any Lane immediately
following an SDS Ordered Set is a Framing Error.
Receiving a Block with an undefined Block type (a
Sync Header of 11b or 00b) is a Framing Error. It is strongly recommended
that Receivers of a multi-Lane Link report an error for any Lane that
received the undefined Block type in the Lane Error Status register.
Receiving an Ordered Set Block on any Lane without
receiving an EDS token in the preceding Block is a Framing Error. For
example, receiving a SKP Ordered Set without a preceding EDS Token is a
Framing Error. In addition, receiving a SKP Ordered Set followed
immediately by another Ordered Set Block (including another SKP Ordered
Set) within a Data Stream is a Framing Error. It is strongly recommended
that if the first Symbol of the Ordered Set is SKP, Receivers of a multiLane Link report an error for the Lane(s) in the Lane Error Status
register if the received Symbol number 1 through 4N does not match the
corresponding Symbol in Table 4-16: .
Receiving a Data Block on any Lane
block contained an EDS Token is a Framing Error. It is
recommended that Receivers of a multi-Lane Link report
252
Lane(s) that received the Data Block in the Lane Error
when the previous
strongly
an error for the
Status register.
16705
16706
16707
16708
16709
While processing the Data Stream, Receivers must also
check the Block type received by each Lane, after accounting for Lane-toLane de-skew, for the following conditions:
Receiving an Ordered Set Block on any Lane immediately
following an SDS Ordered Set is a Framing Error.
Receiving a Block with an undefined Block type (a
Sync Header of 11b or 00b) is a Framing Error. It is strongly recommended
that Receivers of a multi-Lane Link report an error for any Lane that
received the undefined Block type in the Lane Error Status register.
Receiving an Ordered Set Block on any Lane without
receiving an EDS token in the preceding Block is a Framing Error. For
example, receiving a SKP Ordered Set without a preceding EDS Token is a
Framing Error. In addition, receiving a SKP Ordered Set followed
immediately by another Ordered Set Block (including another SKP Ordered
Set) within a Data Stream is a Framing Error. It is strongly recommended
that if the first Symbol of the Ordered Set is SKP, Receivers of a multiLane Link report an error for the Lane(s) in the Lane Error Status
register if the received Symbol number 1 through 4N does not match the
corresponding Symbol in Table 4-22 Standard SKP Ordered Set with 128b/
130b Encoding or Table 4-23 Control SKP Ordered Set with 128b/130b
Encoding .
Receiving a Data Block on any Lane when the previous
block contained an EDS Token is a Framing Error. It is strongly
recommended that Receivers of a multi-Lane Link report an error for the
Lane(s) that received the Data Block in the Lane Error Status register.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16179
16180
Receiving a Data Block on any Lane when the previous
block contained an EDS Token is a Framing Error. It is strongly
recommended that Receivers of a multi-Lane Link report an error for the
Lane(s) that received the Data Block in the Lane Error Status register.
Receivers are permitted to check for different
Ordered Sets on different Lanes. For example, Lane 0 receives a SKP
Ordered Set and Lane 1 receives an EIOS. If checked, receiving different
Ordered Sets is a Framing Error.
16709
16710
16181
16711
16182
16712
16183
16713
16184
16714
16185
16715
16186
4.2.2.3.4 Recovery from Framing Errors
16187
16192
16193
16194
4.2.2.3.4 Recovery from Framing Errors
16718
If a receiver detects a Framing Error while processing
the Data Stream, it must:
16190
16191
16716
16717
16188
16189
Receiving a Data Block on any Lane when the previous
block contained an EDS Token is a Framing Error. It is strongly
recommended that Receivers of a multi-Lane Link report an error for the
Lane(s) that received the Data Block in the Lane Error Status register.
Receivers are permitted to check for different
Ordered Sets on different Lanes. For example, Lane 0 receives a SKP
Ordered Set and Lane 1 receives an EIOS. If checked, receiving different
Ordered Sets is a Framing Error.
16719
If a receiver detects a Framing Error while processing
the Data Stream, it must:
16720
Report a Receiver Error as described in Section 4.2.4.7
Link Error Recovery .
Stop processing the Data Stream. Processing of a new Data
Stream is initiated when the next SDS Ordered Set is received as
previously described.
Initiate the error recovery process as described in
Section 4.2.4.7 Link Error Recovery . If the LTSSM state is L0, direct
the LTSSM to Recovery. If the LTSSM state is Configuration.Complete or
Configuration.Idle when the Framing Error is detected, the error recovery
process is satisfied by either a transition from Configuration.Idle to
Recovery.RcvrLock due to the specified timeout, or a directed transition
from L0 to Recovery . If the LTSSM state is Recovery.RcvrCfg or
Recovery.Idle when the Framing Error is detected, the error recovery
process is satisfied by either a transition from Recovery.Idle to
Recovery.RcvrLock due to the specified timeout, or a directed transition
from L0 to Recovery. If the LTSSM substate is either Recovery.RcvrLock or
Configuration.Linkwidth.Start, the error recovery process is satisfied
upon exit from these substates and no direction of the LTSSM to Recovery
is required;
Note: The framing error recovery mechanism is not
expected to directly cause any Data Link Layer initiated recovery action
such as NAK.
16721
16722
16723
16724
16195
16725
16196
16726
16197
16727
16198
Report a Receiver Error as described in Section 4.2.4.8
Link Error Recovery .
Stop processing the Data Stream. Processing of a new Data
Stream is initiated when the next SDS Ordered Set is received as
previously described.
Initiate the error recovery process as described in
Section 4.2.4.8 Link Error Recovery . If the LTSSM state is L0, direct
the LTSSM to Recovery. If the LTSSM state is Configuration.Complete or
Configuration.Idle when the Framing Error is detected, the error recovery
process is satisfied by either a transition from Configuration.Idle to
Recovery.RcvrLock due to the specified timeout, or a transition to
Recovery through L0. If the LTSSM state is Recovery.RcvrCfg or
Recovery.Idle when the Framing Error is detected, the error recovery
process is satisfied by either a transition from Recovery.Idle to
Recovery.RcvrLock due to the specified timeout, or a directed transition
from L0 to Recovery. If the LTSSM substate is either Recovery.RcvrLock or
Configuration.Linkwidth.Start, the error recovery process is satisfied
upon exit from these substates and no direction of the LTSSM to Recovery
is required.
Note: The framing error recovery mechanism is not
expected to directly cause any Data Link Layer initiated recovery action
such as NAK.
16728
16199
Implementation Note
Time Spent in Recovery Due to Detection of a Framing
16200
16729
Error
Error
16201
16731
16202
16732
16203
16733
Page 253
Implementation Note
Time Spent in Recovery Due to Detection of a Framing
16730
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16203
16231
16232
16233
16234
16235
16236
16237
16238
16239
16733
All 16 Symbols of a Start of Data Stream (SDS) Ordered Set
bypass scrambling.
All 16 Symbols of an Electrical Idle Ordered Set (EIOS)
bypass scrambling.
All Symbols of a SKP Ordered Set bypass scrambling.
Transmitters advance their LFSR for all Symbols of all
Ordered Sets except for the SKP Ordered Set. The LFSR is not advanced for
any Symbols of a SKP Ordered Set.
Receivers evaluate Symbol 0 of Ordered Set Blocks to
determine whether to advance their LFSR. If Symbol 0 of the Block is SKP
(see Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding ), then the
LFSR is not advanced for any Symbol of the Block. Otherwise, the LFSR is
advanced for all Symbols of the Block.
All 16 Symbols of a Data Block are scrambled and advance
the scrambler.
For Symbols that need to be scrambled, the least
significant bit is scrambled first and the most significant bit is
scrambled last.
The seed value of the LFSR is dependent on the Lane number
assigned to the Lane when the Link first entered Configuration.Idle
(i.e., having gone through Polling from Detect with LinkUp = 0b).
The seed values for Lane number modulo 8 are:
16240
16761
16762
16763
16764
16765
16766
16767
16768
16769
All 16 Symbols of a Start of Data Stream (SDS) Ordered Set
bypass scrambling.
All 16 Symbols of an Electrical Idle Ordered Set (EIOS)
bypass scrambling.
All Symbols of a SKP Ordered Set bypass scrambling.
Transmitters advance their LFSR for all Symbols of all
Ordered Sets except for the SKP Ordered Set. The LFSR is not advanced for
any Symbols of a SKP Ordered Set.
Receivers evaluate Symbol 0 of Ordered Set Blocks to
determine whether to advance their LFSR. If Symbol 0 of the Block is SKP
(see Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding ), then the
LFSR is not advanced for any Symbol of the Block. Otherwise, the LFSR is
advanced for all Symbols of the Block.
All 16 Symbols of a Data Block are scrambled and advance
the scrambler.
For Symbols that need to be scrambled, the least
significant bit is scrambled first and the most significant bit is
scrambled last.
The seed value of the LFSR is dependent on the Lane number
assigned to the Lane when the Link first entered Configuration.Idle
(i.e., having gone through Polling from Detect with LinkUp = 0b).
The seed values for Lane number modulo 8 are:
16770
16771
16772
Lane
16773
16774
Seed
16775
16776
16777
16241
0
16242
16243
16778
0
16779
1DBFBCh
16244
16780
1DBFBCh
16781
16782
16783
16245
1
16246
16247
16784
1
16785
0607BBh
16248
16786
0607BBh
16787
16788
16789
16249
2
16250
16251
16790
2
16791
1EC760h
16252
16792
1EC760h
16793
16794
16795
16253
16254
Page 254
3
16796
16797
3
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16254
16797
16255
18C0DBh
16256
16798
18C0DBh
16799
16800
16801
16257
4
16258
16802
4
16803
16259
010F12h
16260
16804
010F12h
16805
16806
16807
16261
5
16262
16808
5
16809
16263
19CFC9h
16264
16810
19CFC9h
16811
16812
16813
16265
6
16266
16814
6
16815
16267
0277CEh
16268
16816
0277CEh
16817
16818
16819
16269
7
16270
16820
7
16821
16271
1BB807h
16822
16272
16823
16273
16824
16274
16825
16275
16826
16276
16827
1BB807h
16828
16829
16830
16277
Implementation Note
Scrambling Pseudo-code
16278
16831
16832
16279
16833
16280
16834
16281
16282
16835
The pseudo-code for the scrambler along with examples
is provided in Section C.2 128b/130b Data Scrambling Example of Appendix
C.
16836
16283
16837
16284
16838
16285
16286
16287
Implementation Note
Scrambling Pseudo-code
The pseudo-code for the scrambler along with examples
is provided in Section C.2 128b/130b Data Scrambling Example of Appendix
C Physical Layer Appendix .
16839
The seed value of the LFSR does not change while LinkUp=1.
Link reconfiguration through the LTSSM Configuration state does not
modify the initial Lane number assignment as long as the LinkUp remains 1
(even though the Lane assignment may change during Configuration).
Scrambling cannot be disabled in Configuration.Complete
when using 128b/130b encoding.
Page 255
16840
16841
The seed value of the LFSR does not change while LinkUp=1.
Link reconfiguration through the LTSSM Configuration state does not
modify the initial Lane number assignment as long as the LinkUp remains 1
(even though the Lane assignment may change during Configuration).
Scrambling cannot be disabled in Configuration.Complete
when using 128b/130b encoding.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
16287
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
Scrambling cannot be disabled in Configuration.Complete
16288
when using 128b/130b encoding.
A Loopback Slave must not descramble or scramble the
looped-back bit stream.
16841
16842
16289
16843
16290
16844
16291
16845
16292
16846
16306
16860
16307
16861
16308
16862
16309
Scrambling cannot be disabled in Configuration.Complete
when using 128b/130b encoding.
A Loopback Slave must not descramble or scramble the
looped-back bit stream.
16863
16310
Figure 4-19 Alternate Implementation of the LFSR for
16864
Descrambling
16311
16865
16312
16866
16313
16867
16314
16868
16315
16316
Figure 4-19 Alternate Implementation of the LFSR for
Descrambling
16869
4.2.2.5 Loopback with 128b/130b Code
16870
4.2.2.5 Precoding
16871
16872
16873
A Receiver may request precoding from its transmitter for
operating at data rates of 32.0 GT/s or higher. The precoding rules are
as follows:
16874
16875
16876
16877
16878
16879
Page 256
A Port or Pseudo-Port must request precoding on all
configured Lanes of the Link. Behavior is undefined if precoding is
requested on some Lanes but not others by a Port or Pseudo-Port.
A Port or Pseudo-Port may request precoding independent of
other Ports or Pseudo-Ports. For example, it is possible that precoding
may be turned on only in the Upstream Port in the case with no Retimers
in Figure 4-35 Receiver Number Assignment , or on all the Lanes in Tx(A)
and Tx(E) in the two Re-timer example in Figure 4-35 Receiver Number
Assignment .
Precoding is turned off for all data rates 32.0 GT/s and
higher when the LTSSM is in the Detect state.
Precoding request, if any, must be made prior to entering
the 32.0 GT/s or higher data rate by setting the appropriate bit in the
EQ TS2 Ordered Sets or the 128b/130b EQ TS2 Ordered Sets. A precoding
request must be made by setting Transmitter Precode Request in the EQ TS2
or 128b/130b EQ TS2 Ordered sets prior to the transition to
Recovery.Speed for the target data rate where the precoding will be
turned on. For each data rate above 32.0 GT/s, the precoding request must
be made independently.
If the Link operates at 32.0 GT/s or higher data rate
without performing equalization through the No Equalization Needed
mechanism it negotiation in the (modified) TS1/TS2 Ordered Sets, the
precoding requests from the last equalization results that are being used
must be enforced. Thus each (pseudo) Port must store the precoding
request along with the Tx Eq values in each Lanes, if it advertises the
No Equalization Needed mechanism. If no equalization has ever been
performed on the Link (prior to the current Link up), then precoding will
not be turned on.
16879
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16880
16881
16882
16883
16884
16885
16886
If the Link operates at 32.0 GT/s or higher data rate
without performing equalization through the No Equalization Needed
mechanism it negotiation in the (modified) TS1/TS2 Ordered Sets, the
precoding requests from the last equalization results that are being used
must be enforced. Thus each (pseudo) Port must store the precoding
request along with the Tx Eq values in each Lanes, if it advertises the
No Equalization Needed mechanism. If no equalization has ever been
performed on the Link (prior to the current Link up), then precoding will
not be turned on.
If Transmitter Precode Request is set to 1b in each of the
received eight consecutive EQ TS2 or 128b/130b EQ TS2 Ordered Sets during
Recovery.RcvrCfg prior to entry to Recovery.Speed, the Transmitter must
turn on the precoding for the target data rate at which the Link will
operate on exit from Recovery.Speed if the target data rate is 32.0 GT/s
or higher. Once turned on, the precoding will be in effect for that
target data rate until the Transmitter receives another set of eight
consecutive EQ TS2 or 128b/130b EQ TS2 Ordered Sets during
Recovery.RcvrCfg prior to entry to Recovery.Speed for the same target
data rate.
A Transmitter must not turn on precoding for any data rates
lower than 32.0 GT/s.
For data rates of 32.0 GT/s or higher, a Transmitter must
set the Transmitter Precoding On bit in the TS1 Ordered Set in Recovery
state to 1b if the precoding is on; else the bit must be set to 0b.
Only scrambled bits are precoded, when precoding is turned
on.
The “previous bit” used for precoding is set to 1b on every
block boundary and gets updated by the last scrambled and precoded bit
transmitted within the current block boundary.
When precoding is turned on, for symbols that are
scrambled, Receivers must first decode the precoded bits before sending
them to the descrambler.
A Transmitter that has turned on precoding for 32.0 GT/s
data rate on Lane 0, must set the Transmitter Precoding On bit to 1b in
the 32.0 GT/s Status Register; else it must set the bit to 0b. A Receiver
that has requested or will request to turn on precoding at 32.0 GT/s data
rate, must set Transmitter Precode Request to 1b in the 32.0 GT/s Status
Register; else it must set the bit to 0b.
16887
16888
16889
16890
16891
16892
16893
Figure 4-20 Precoding working the scrambler/ descrambler
16894
16895
16896
16897
16898
Implementation Note
Parity in the SKP Ordered Set when Precoding is turned
16899
on
16900
16901
16902
16903
Page 257
As per the rules of Section 4.2.4.1 Training Sequences
and Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding , when
precoding is turned on, the parity in the SKP Ordered Sets should be
calculated before precoding is applied on the Transmit side. Thus, the
order in the Transmitter is:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16903
As per the rules of Section 4.2.4.1 Training Sequences
and Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding , when
precoding is turned on, the parity in the SKP Ordered Sets should be
calculated before precoding is applied on the Transmit side. Thus, the
order in the Transmitter is:
16904
16905
scrambling,
followed by parity bit calculation,
followed by precoding for the scrambled bits.
16906
16907
16908
16909
16910
Accordingly, in the Receiver, the order is:
16911
16912
precoding (if turned on by the Transmitter),
followed by parity bit calculation,
followed by descrambling.
16913
16914
16915
16916
16917
The rationale for this order is that in a Link with one
or two Retimers, different Link segments may have the precoding on or
off. Let us consider an example system with one retimer between the Root
Port and End Point to illustrate this. In the upstream direction, the End
Point has precoding on in its Transmitter Lanes since the Retimer
Receiver needs it but the Retimer to Root Port Link segment has the
precoding off since the Root Port does not need precoding at its
Receiver. Since the Retimer does not change the parity bit, the Root Port
would get a parity error if the parity calculation was done by the
Transmitter (of the End Point) after precoding.
16918
16919
16920
16921
16922
16923
Implementation Note
Loopback Master behavior if Precoding is on in any Link
16924
Segment
16925
16926
16927
16928
16929
16930
16931
16932
Page 258
As per the rules of precoding mentioned in this section
and Section 4.2.6.4 Recovery , a Loopback Master operating at a data rate
of 32.0 GT/s or higher should account for precoding to be on on some link
segments and off in other link segments. This is particularly relevant
when the Loopback Slave transitions from sending TS1 Ordered Sets to
looping back the bits. This is where the precoding on the receiver of the
Loopback Master may switch (between precoding on and off). The Loopback
Master is permitted to use implementation specific mechanisms to handle
this scenario.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16932
16933
16934
16935
Implementation Note
TS1/TS2 Ordered Sets when Precoding is turned on
16936
16937
16938
16939
As per the rules in this section, when precoding is
turned on, the ‘previous bit’ used for precoding is 1b for the first bit
of Symbol 1 since Symbol 0 is not scrambled and the ‘previous bit’ gets
set to 1b at the block boundary.
16940
16941
16942
16943
16944
16945
16946
16317
16318
16319
16948
When using 128b/130b encoding, Loopback Masters must
transmit Blocks with the defined 01b and 10b Sync Headers. However, they
are not required to transmit an SDS Ordered Set when transitioning from
Ordered Set Blocks to Data Blocks, nor are they required to transmit an
EDS Token when transitioning from Data Blocks to Ordered Set Blocks.
Masters must transmit SKP Ordered Sets periodically as defined in Section
4.2.7 Clock Tolerance Compensation , and they must be capable of
processing received (looped-back) SKP Ordered Sets of varying length.
Masters are permitted to transmit Electrical Idle Exit Ordered Sets
(EIEOS) as defined in Section 4.2.2.2.1 Block Alignment . Masters are
permitted to transmit any payload in Data Blocks and Ordered Set Blocks
that they expect to be looped-back. If the Loopback Master transmits an
Ordered Set Block whose first symbol matches the first symbol of SKP OS,
EIEOS, or EIOS, that Ordered Set Block must be a complete and valid SKP
OS, EIEOS, or EIOS.
16320
16949
When using 128b/130b encoding, Loopback Masters must
transmit Blocks with the defined 01b and 10b Sync Headers. However, they
are not required to transmit an SDS Ordered Set when transitioning from
Ordered Set Blocks to Data Blocks, nor are they required to transmit an
EDS Token when transitioning from Data Blocks to Ordered Set Blocks.
Masters must transmit SKP Ordered Sets periodically as defined in Section
4.2.7 Clock Tolerance Compensation , and they must be capable of
processing received (looped-back) SKP Ordered Sets of varying length.
Masters are permitted to transmit Electrical Idle Exit Ordered Sets
(EIEOS) as defined in Section 4.2.2.2.1 Block Alignment . Masters are
permitted to transmit any payload in Data Blocks and Ordered Set Blocks
that they expect to be looped-back. If the Loopback Master transmits an
Ordered Set Block whose first symbol matches the first symbol of SKP OS,
EIEOS, or EIOS, that Ordered Set Block must be a complete and valid SKP
OS, EIEOS, or EIOS.
16950
16321
16322
4.2.2.6 Loopback with 128b/130b Code
16947
16951
When using 128b/130b encoding, Loopback Slaves must
retransmit all bits received without modification, except for SKP Ordered
Sets which can be adjusted as needed for clock compensation. If clock
compensation is required, slaves must add or remove 4 SKP Symbols per
Ordered Set. The modified SKP Ordered Set must meet the definition of
Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding (i.e., it must
have between 4 to 20 SKP Symbols followed by the SKP_END Symbol and the
three Symbols that follow it as transmitted by the Loopback Master). If a
slave is unable to obtain Block alignment or it is misaligned, it may be
unable to perform clock compensation and therefore unable to loop-back
all bits received. In this case, it is permitted to add or remove Symbols
as necessary to continue operation. Slaves must not check for a received
SDS Ordered Set when a transition from Ordered Set Blocks to Data Blocks
is detected, and they must not check for a received EDS Token when a
transition from Data Blocks to Ordered Set Blocks is detected.
Page 259
16952
When using 128b/130b encoding, Loopback Slaves must
retransmit all bits received without modification, except for SKP Ordered
Sets which can be adjusted as needed for clock compensation. If clock
compensation is required, slaves must add or remove 4 SKP Symbols per
Ordered Set. The modified SKP Ordered Set must meet the definition of
Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding (i.e., it must
have between 4 to 20 SKP Symbols followed by the SKP_END Symbol and the
three Symbols that follow it as transmitted by the Loopback Masters. If a
slave is unable to obtain Block alignment or it is misaligned, it may be
unable to perform clock compensation and therefore unable to loop-back
all bits received. In this case, it is permitted to add or remove Symbols
as necessary to continue operation. Slaves must not check for a received
SDS Ordered Set when a transition from Ordered Set Blocks to Data Blocks
is detected, and they must not check for a received EDS Token when a
transition from Data Blocks to Ordered Set Blocks is detected.
compensation is required, slaves must add or remove 4 SKP Symbols per
Ordered Set. The modified SKP Ordered Set must meet the definition of
Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding (i.e., it must
have between 4 to 20 SKP Symbols followed by the SKP_END Symbol and the
three Symbols that follow it as transmitted by the Loopback Master). If a
slave is unable to obtain Block alignment or it is misaligned, it may be
unable to perform clock compensation and therefore unable to loop-back
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
all bits received. In this case, it is permitted to add or remove Symbols
as necessary to continue operation. Slaves must not check for a received
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
SDS Ordered Set when a transition from Ordered Set Blocks to Data Blocks
is detected, and they must not check for a received EDS Token when a
transition from Data Blocks to Ordered Set Blocks is detected.
compensation is required, slaves must add or remove 4 SKP Symbols per
Ordered Set. The modified SKP Ordered Set must meet the definition of
Section 4.2.7.2 SKP Ordered Set for 128b/130b Encoding (i.e., it must
have between 4 to 20 SKP Symbols followed by the SKP_END Symbol and the
three Symbols that follow it as transmitted by the Loopback Masters. If a
slave is unable to obtain Block alignment or it is misaligned, it may be
unable to perform clock compensation and therefore unable to loop-back
all bits received. In this case, it is permitted to add or remove Symbols
as necessary to continue operation. Slaves must not check for a received
SDS Ordered Set when a transition from Ordered Set Blocks to Data Blocks
is detected, and they must not check for a received EDS Token when a
transition from Data Blocks to Ordered Set Blocks is detected.
16323
16953
16324
16954
16325
16955
16326
16956
16327
16957
16328
4.2.3 Link Equalization Procedure for 8.0 GT/s and Higher
16958
Data Rates
16329
16959
16330
16331
16960
The Link equalization procedure enables components to adjust
the Transmitter and the Receiver setup of each Lane to improve the signal
quality and meet the requirements specified in Chapter 8 Electrical SubBlock , when operating at 8.0 GT/s and higher data rates. All the Lanes
that are associated with the LTSSM (i.e., those Lanes that are currently
operational or may be operational in the future due to Link Upconfigure)
must participate in the Equalization procedure. The procedure must be
executed during the first data rate change to 8.0 GT/s as well as the
first change to all data rates greater than 8.0 GT/s . Components must
arrive at the appropriate Transmitter setup for all the operating
conditions and data rates that they will encounter in the future when
LinkUp=1b. Components must not require that the equalization procedure be
repeated at any data rate for reliable operation, although there is
provision to repeat the procedure. Components must store the Transmitter
setups that were agreed to during the equalization procedures and use
them for future operation at 8.0 GT/s and higher data rates. Components
are permitted to fine-tune their Receiver setup even after the
equalization procedure is complete as long as doing so does not cause the
Link to be unreliable (i.e., does not meet the requirements in Chapter 8
Electrical Sub-Block ) or go to Recovery.
16332
16964
The Link equalization procedure is not required for any data
rates and can be completely bypassed if all components in the Link have
advertised that no equalization is needed in its TS1/TS2 Ordered Sets or
modified TS1/TS2 Ordered Sets (see Table 4-6 TS1 Ordered Set , Table 4-7
TS2 Ordered Set , and Table 4-8 Modified TS1/TS2 Ordered Set (8b/10b
encoding) ). A component may choose to advertise that it does not need
equalization at any rates above 5.0 GT/s if it supports 32.0 GT/s or
higher data rates and can either operate reliably with equalization
settings stored from a prior equalization procedure or does not need
equalization for reliable operation.
16965
16336
Page
The Link equalization procedure enables components to adjust
the Transmitter and the Receiver setup of each Lane to improve the signal
quality and meet the requirements specified in Chapter 8 Electrical SubBlock , when operating at 8.0 GT/s and higher data rates. All the Lanes
that are associated with the LTSSM (i.e., those Lanes that are currently
operational or may be operational in the future due to Link Upconfigure)
must participate in the equalization procedure. The procedure must be
executed during the first data rate change to any data rate at 8.0 GT/s
or above, unless all components in the Link have advertised that no
equalization is needed. Components must arrive at the appropriate
Transmitter setup for all the operating conditions and data rates that
they will encounter in the future when LinkUp=1b. Components must not
require that the equalization procedure be repeated at any data rate for
reliable operation, although there is provision to repeat the procedure.
Components must store the Transmitter setups that were agreed to during
the equalization procedures and use them for future operation at 8.0 GT/s
and higher data rates. Components are permitted to fine-tune their
Receiver setup even after the equalization procedure is complete as long
as doing so does not cause the Link to be unreliable (i.e., does not meet
the requirements in Chapter 8 Electrical Sub-Block ) or go to Recovery.
16963
The equalization procedure can be initiated either
autonomously or by software. It is strongly recommended that components
use the autonomous mechanism. However, a component that chooses not to
participate in the autonomous mechanism must have its associated software
ensure that the software based mechanism is applied.
16335
16337
16961
16962
16333
16334
4.2.3 Link Equalization Procedure for 8.0 GT/s and Higher
Data Rates
16966
The autonomous mechanism is executed if both components
advertise that they are capable of at least the 8.0 GT/s data rate (via
the TS1 and TS2 Ordered Sets) during the initial Link negotiation (when
LinkUp is set to 1b). If both components advertised support for 8.0 GT/s
and 16.0 GT/s, the Downstream Port may choose to only perform the 8.0 GT/
s equalization procedure using the autonomous mechanism. If both
components advertised support for 16.0 GT/s but only the 8.0 GT/s
260
equalization procedure is performed using the autonomous mechanism, the
software based mechanism must be executed in order to perform the 16.0
GT/s equalization procedure. After entering L0, irrespective of the
current Link speed, neither component must transmit any DLLP if the
equalization procedure must be performed and until the equalization
procedure completes. The equalization procedure is considered complete
once the Transmitter and Receiver setup of each Lane has been adjusted
for each common data rate supported above 5.0 GT/s for which the
Downstream Port intends to perform equalization using the autonomous
16967
The equalization procedure can be initiated either
autonomously or by software. It is strongly recommended that components
use the autonomous mechanism for all the data rates above 5.0 GT/s that
they intend to operate in. However, a component that chooses not to
participate in the autonomous mechanism for all the data rates above 5.0
GT/s must have its associated software ensure that the software based
mechanism is applied to the data rates above 5.0 GT/s where the
autonomous mechanism was not applied, prior to operating at that data
rate.
16337
The autonomous mechanism is executed if both components
advertise that they are capable of at least the 8.0 GT/s data rate (via
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
the TS1 and TS2 Ordered Sets) during the initial Link negotiation
(when
LinkUp is set to 1b). If both components advertised support for 8.0 GT/s
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
and 16.0 GT/s, the Downstream Port may choose to only perform the 8.0 GT/
s equalization procedure using the autonomous mechanism. If both
components advertised support for 16.0 GT/s but only the 8.0 GT/s
equalization procedure is performed using the autonomous mechanism, the
software based mechanism must be executed in order to perform the 16.0
GT/s equalization procedure. After entering L0, irrespective of the
current Link speed, neither component must transmit any DLLP if the
equalization procedure must be performed and until the equalization
procedure completes. The equalization procedure is considered complete
once the Transmitter and Receiver setup of each Lane has been adjusted
for each common data rate supported above 5.0 GT/s for which the
Downstream Port intends to perform equalization using the autonomous
mechanism. The Downstream Port is required to make the transition from L0
to Recovery to change the data rate to 8.0 GT/s and perform the
equalization procedure; the Upstream Port is permitted, but not required,
to make the transition from L0 to Recovery autonomously. The Downstream
Port must not advertise 16.0 GT/s support in Recovery if it entered
Recovery with the intention of performing an 8.0 GT/s equalization
procedure. This applies to the autonomous equalization procedure as well
as the software initiated equalization procedure, or any subsequent
equalization redo. The Downstream Port must not advertise 16.0 GT/s
support in Recovery until the 8.0 GT/s equalization procedure has been
successfully executed. The 8.0 GT/s equalization procedure is deemed to
have been successfully executed if the Equalization 8.0 GT/s Phase 3
Successful bit and Equalization 8.0 GT/s Complete bit of the Link Status
2 register are both set to 1b. Immediately following the transition from
Recovery to L0, after the initial data rate change to 8.0 GT/s, the
Downstream Port is required to transition from L0 to Recovery, advertise
16.0 GT/s data rate support, change the data rate to 16.0 GT/s and
perform the 16.0 GT/s equalization procedure if both components
advertised that they are capable of 16.0 GT/s during the initial Link
negotiation, neither component detected problems with its 8.0 GT/s
equalization settings and it intends to perform a 16.0 GT/s equalization
procedure using the autonomous mechanism. If the Downstream Port detected
8.0 GT/s equalization problems or the Upstream Port made an 8.0 GT/s
equalization redo request (by setting the Request Equalization bit to 1b
and the Equalization Request Data Rate to 0b in the TS2s it sent in
Recovery.RcvrCfg) the Downstream Port may redo 8.0 GT/s equalization
prior to proceeding to the 16.0 GT/s equalization procedure. The number
of 8.0 GT/s equalization redos initiated prior to the 16.0 GT/s
equalization is implementation specific but must be finite. If at the
conclusion of the initial or subsequent 8.0 GT/s equalization process and
the execution of an implementation specific number of equalization
redo’s, the Link is not able to operate reliably at the 8.0 GT/s data
rate, then it must revert back to 2.5 GT/s or 5.0 GT/s Data Rate. Speed
changes to the 16.0 GT/s data rate and subsequent 16.0 GT/s equalization
process must not be attempted regardless of whether both Link partners
ever advertised support for 16.0 GT/s unless a subsequent equalization
redo at the 8.0 GT/s data rate is successful.
16967
16968
16969
16970
Normally, equalization is performed at a higher data rate
only if equalization has successfully completed at all lower data rates
above 5.0 GT/s. For example, a Link will complete equalization
successfully at 8.0 GT/s, followed by 16.0 GT/s, followed by 32.0 GT/s.
However, an optional mechanism to skip over equalization to the highest
common data rate of 32.0 GT/s or higher is permitted if all components
support data rates of 32.0 GT/s or higher and the mechanism is supported
by all components in the Link, as advertised in the TS1/TS2 Ordered sets
or modified TS1/TS2 Ordered Sets. When this optional mechanism is enabled
and successfully negotiated between the components, equalization is not
performed at any other rate except the highest common data rate. For all
the data rates above 5.0 GT/s where equalization is not performed, the
expectation is that the Link must not operate in those data rates. For
example, a Link may train to L0 in 2.5 GT/s, enter Recovery and perform
equalization at 32.0 GT/s, skipping equalization at 8.0 GT/s and 16.0 GT/
s. In this case, the intended data rates of operation of the Link are 2.5
GT/s, 5.0 GT/s, or 32.0 GT/s. If the equalization procedure at the
highest common data rate is unsuccessful even after re-equalization
attempts and the Link needs to equalize at lower data rates, the
Downstream Port must stop advertising Equalization bypass to highest rate
support and ensure that the Link returns to operation at 2.5 GT/s or 5.0
GT/s. The required equalization procedures are then performed as they
would have been if the optional mechanism to skip over equalization to
the highest common data rate was never supported. If the equalization
procedure at the lower data rates is driven by software, it must set the
Equalization bypass to highest rate Disable and No Equalization Needed
Disable register bits to 1b each; set the target Link speed such that the
Link will be operational at 2.5 GT/s or 5.0 GT/s; and then set the target
Link speed to equalize at the lower rates starting with 8.0 GT/s onwards.
A port must not advertise the Equalization bypass to highest rate support
if the Equalization bypass to highest rate Disable bit is set to 1b.
16971
16972
16973
16974
Page 261
The equalization procedure can be initiated either
autonomously or by software. It is strongly recommended that components
use the autonomous mechanism for all the data rates above 5.0 GT/s that
they intend to operate in. However, a component that chooses not to
participate in the autonomous mechanism for all the data rates above 5.0
GT/s must have its associated software ensure that the software based
mechanism is applied to the data rates above 5.0 GT/s where the
autonomous mechanism was not applied, prior to operating at that data
rate.
Another optional mechanism to skip the entire equalization
process and go directly to the highest common data rate of 32.0 GT/s or
higher is permitted if all components support data rates of 32.0 GT/s or
higher and the No Equalization Needed mechanism is supported by all
components in the Link, as advertised in the TS1/TS2 or modified TS1/TS2
Ordered sets. This is done if a component is either able to retrieve the
equalization and other circuit settings at all the data rates from a
prior equalization that will work for the component or it does not need
equalization at all in the all data rates above 5.0 GT/s. A component
must not advertise this capability if the Equalization bypass to highest
rate Disable bit is set to 1b.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16974
16975
16976
If one direction of the Link is advertising No Equalization
Needed and the other side is advertising Equalization bypass to highest
rate support in the TS1/TS2 Ordered Sets, the Link will operate in the
Equalization bypass to highest rate support since the No Equalization
Needed bit also indicates that the device is capable of bypassing
Equalization to the highest data rate. In the modified TS1/TS2 Ordered
Sets, a device that sets No Equalization Needed bit to 1b must also set
the Equalization bypass to highest rate support to 1b. If one direction
of the Link is advertising No Equalization Needed bit and the other side
is advertising Equalization bypass to highest rate support only in the
modified TS1/TS2 Ordered Sets, the Link will operate in the Equalization
bypass to highest rate support. Link operation is undefined if a device
advertises No Equalization Needed bit as 1b and Equalization bypass to
highest rate support to 0b in the modified TS1/TS2 Ordered Sets it
transmits.
16977
16978
16979
The autonomous mechanism is executed if both components
advertise that they are capable of at least the 8.0 GT/s data rate (via
the TS1 and TS2 Ordered Sets) during the initial Link negotiation (when
LinkUp is set to 1b) and the Downstream Port chooses to perform the
equalization procedure at the intended data rates of operation above 5.0
GT/s. While not recommended, the Downstream Port may choose to perform
the autonomous mechanism only on a subset of the intended data rates of
operation above 5.0 GT/s. In that case, the software based mechanism must
be executed in order to perform the equalization procedure for the
intended data rates of operation above 5.0 GT/s, not covered by the
autonomous mechanism. For example, if both components advertised 8.0 GT/
s, 16.0 GT/s, and 32.0 GT/s Data Rates but autonomous equalization was
performed for only 8.0 GT/s and 16.0 GT/s Data Rates, then software based
mechanism must be adopted for equalization at 32.0 GT/s Data Rate.
16980
16981
16982
In the autonomous mechanism, after entering L0, irrespective
of the current Link speed, neither component must transmit any DLLP if
the equalization procedure must be performed and until the equalization
procedure completes. The equalization procedure is considered complete
once the Transmitter and Receiver setup of each Lane has been adjusted
for each common data rate supported above 5.0 GT/s for which the
Downstream Port intends to perform equalization using the autonomous
mechanism. The Downstream Port is required to initiate the speed change
to the data rate where the equalization needs to be performed. During any
equalization (autonomous or software initiated or re-equalization), the
Downstream Port must not advertise support for any data rate above the
data rate for which equalization needs to be performed in Recovery. The
following example is provided to illustrate the equalization flow.
16983
16984
16985
Page 262
Example: Consider a Link where equalization needs to be
performed autonomously at 8.0 GT/s, and 16.0 GT/s. The Downstream Port
enters Recovery to perform equalization at 8.0 GT/s by not advertising
any data rates above 8.0 GT/s. The 8.0 GT/s equalization procedure is
deemed to have been successfully executed if the Equalization 8.0 GT/s
Phase 3 Successful bit and Equalization 8.0 GT/s Complete bit of the Link
Status 2 register are both set to 1b. Immediately following the
transition from Recovery to L0, after the initial data rate change to 8.0
GT/s, the Downstream Port is required to transition from L0 to Recovery,
advertise 16.0 GT/s data rate support (but not advertise support for 32.0
GT/s, even if it is capable of supporting 32.0 GT/s), change the data
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16985
Example: Consider a Link where equalization needs to be
performed autonomously at 8.0 GT/s, and 16.0 GT/s. The Downstream Port
enters Recovery to perform equalization at 8.0 GT/s by not advertising
any data rates above 8.0 GT/s. The 8.0 GT/s equalization procedure is
deemed to have been successfully executed if the Equalization 8.0 GT/s
Phase 3 Successful bit and Equalization 8.0 GT/s Complete bit of the Link
Status 2 register are both set to 1b. Immediately following the
transition from Recovery to L0, after the initial data rate change to 8.0
GT/s, the Downstream Port is required to transition from L0 to Recovery,
advertise 16.0 GT/s data rate support (but not advertise support for 32.0
GT/s, even if it is capable of supporting 32.0 GT/s), change the data
rate to 16.0 GT/s and perform the 16.0 GT/s equalization procedure.
16986
16987
16988
16338
16989
16339
16340
16990
Components using the autonomous mechanism must not initiate
any autonomous Link width downsizing until the equalization procedure
completes. An Upstream Port must not transmit any DLLP until it receives
a DLLP from the Downstream Port. If the Downstream Port performs
equalization again, it must not transmit any DLLP until it completes the
equalization procedure. A Downstream Port may perform equalization again
based on its own needs or based on the request from the Upstream Port, if
it can meet its system requirements. Executing equalization multiple
times may interfere with software determination of Link and device
status, as described in Section 6.6 PCI Express Reset - Rules .
16991
16341
16992
16342
16993
16343
16344
16345
16995
16996
16997
16347
16998
16348
Page
Components using the autonomous mechanism must not initiate
any autonomous Link width downsizing until the equalization procedure
completes. An Upstream Port must not transmit any DLLP until it receives
a DLLP from the Downstream Port. If the Downstream Port performs
equalization again, it must not transmit any DLLP until it completes the
equalization procedure. A Downstream Port may perform equalization again
based on its own needs or based on the request from the Upstream Port, if
it can meet its system requirements. Executing equalization multiple
times may interfere with software determination of Link and device
status, as described in Section 6.6 PCI Express Reset - Rules .
16994
Implementation Note
DLLP Blocking During Autonomous Equalization
16346
16349
If the Downstream Port detects equalization problems or the
Upstream Port made an equalization redo request (by setting the Request
Equalization bit to 1b) the Downstream Port may redo equalization prior
to proceeding to operate at the data rate where the equalization failed
or performing equalization at a higher data rate. The number of back-toback equalization redos at a given data rate is implementation specific
but must be finite. If at the conclusion of the initial or subsequent
equalization process and the execution of an implementation specific
number of equalization redo’s, the Link is not able to operate reliably
at the data rate where equalization was performed, then it must revert
back to a lower data rate of operation.
Implementation Note
DLLP Blocking During Autonomous Equalization
16999
When using the autonomous mechanism for equalization at
8.0 GT/s or higher data rates, the Downstream Port is required to block
the transmission of DLLPs until equalization has completed, and the
Upstream Port is required to block the transmission of DLLPs until a DLLP
is received from the Downstream Port. If both components advertise that
they are capable of the 16.0 GT/s data rate but the Downstream Port only
uses the autonomous mechanism for equalization at 8.0 GT/s, the
Downstream Port is only required to block DLLP transmission until 8.0 GT/
263
s equalization has completed. If the Downstream Port delays entering
Recovery from L0 while DLLP transmission is blocked, either the L0
Inferred Electrical Idle timeout (see Section 4.2.4.3 Inferring
Electrical Idle ) or the DLLP timeout (see Section 2.6.1.2 FC Information
Tracked by Receiver ) may expire in the Upstream or Downstream Ports. If
either of these two timeouts occurs, it will result in the initiation of
an entry to Recovery to perform Link retraining. Neither of these two
timeouts is a reportable error condition, and the resulting Link
17000
When using the autonomous mechanism for equalization at
8.0 GT/s or higher data rates, the Downstream Port is required to block
the transmission of DLLPs until equalization has completed, and the
Upstream Port is required to block the transmission of DLLPs until a DLLP
is received from the Downstream Port. If both components advertise that
they are capable of the 16.0 GT/s (or 32.0 GT/s) data rate but the
Downstream Port only uses the autonomous mechanism for equalization at
8.0 GT/s, the Downstream Port is only required to block DLLP transmission
until 8.0 GT/s equalization has completed. Similarly, if both components
advertise that they are capable of the 32.0 GT/s data rate but the
Downstream Port only uses the autonomous mechanism for equalization at
16.0 GT/s, the Downstream Port is only required to block DLLP
transmission until 16.0 GT/s equalization has completed. If the
Downstream Port delays entering Recovery from L0 while DLLP transmission
is blocked, either the L0 Inferred Electrical Idle timeout (see Section
4.2.4.4 Inferring Electrical Idle ) or the DLLP timeout (see Section
16349
17000
When using the autonomous mechanism for equalization at
8.0 GT/s or higher data rates, the Downstream Port is required to block
the transmission of DLLPs until equalization has completed,
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.and the
Upstream Port is required to block the transmission of DLLPs until a DLLP
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
is received from the Downstream Port. If both components advertise that
they are capable of the 16.0 GT/s data rate but the Downstream Port only
uses the autonomous mechanism for equalization at 8.0 GT/s, the
Downstream Port is only required to block DLLP transmission until 8.0 GT/
s equalization has completed. If the Downstream Port delays entering
Recovery from L0 while DLLP transmission is blocked, either the L0
Inferred Electrical Idle timeout (see Section 4.2.4.3 Inferring
Electrical Idle ) or the DLLP timeout (see Section 2.6.1.2 FC Information
Tracked by Receiver ) may expire in the Upstream or Downstream Ports. If
either of these two timeouts occurs, it will result in the initiation of
an entry to Recovery to perform Link retraining. Neither of these two
timeouts is a reportable error condition, and the resulting Link
retraining has no impact on proper Link operation.
When using the autonomous mechanism for equalization at
8.0 GT/s or higher data rates, the Downstream Port is required to block
the transmission of DLLPs until equalization has completed, and the
Upstream Port is required to block the transmission of DLLPs until a DLLP
is received from the Downstream Port. If both components advertise that
they are capable of the 16.0 GT/s (or 32.0 GT/s) data rate but the
Downstream Port only uses the autonomous mechanism for equalization at
8.0 GT/s, the Downstream Port is only required to block DLLP transmission
until 8.0 GT/s equalization has completed. Similarly, if both components
advertise that they are capable of the 32.0 GT/s data rate but the
Downstream Port only uses the autonomous mechanism for equalization at
16.0 GT/s, the Downstream Port is only required to block DLLP
transmission until 16.0 GT/s equalization has completed. If the
Downstream Port delays entering Recovery from L0 while DLLP transmission
is blocked, either the L0 Inferred Electrical Idle timeout (see Section
4.2.4.4 Inferring Electrical Idle ) or the DLLP timeout (see Section
2.6.1.2 FC Information Tracked by Receiver ) may expire in the Upstream
or Downstream Ports. If either of these two timeouts occurs, it will
result in the initiation of an entry to Recovery to perform Link
retraining. Neither of these two timeouts is a reportable error
condition, and the resulting Link retraining has no impact on proper Link
operation.
17001
17002
17003
16350
17004
17005
16351
17006
17007
17008
16352
Page
8.0 GT/s: Equalization 8.0 GT/s Phase 3 Successful bit and
Equalization 8.0 GT/s Complete bit of the Link Status 2 register are both
set to 1b;
16.0 GT/s: Equalization 16.0 GT/s Phase 3 Successful bit and
Equalization 16.0 GT/s Complete bit of the 16.0 GT/s Status Register are
both set to 1b.
17009
16353
16354
When using the software based mechanism, software must
guarantee that there will be no side-effects for transactions in flight
(e.g., no timeout), if any, due to the Link undergoing the equalization
procedure. Software can write 1b to the Perform Equalization bit in the
Link Control 3 Register, followed by a write to the Target Link Speed
field in the Link Control 2 register to enable the Link to run at 8.0 GT/
s or higher, followed by a write of 1b to the Retrain Link bit in the
Link Control register of the Downstream Port to perform equalization.
Software must not enable the Link to run at a data rate above 8.0 GT/s
during a software initiated equalization procedure if the equalization
procedure at all the lower data rates starting with 8.0 GT/s have not
been successfully executed and the Link is not capable of bypassing
equalization to higher data rate(s) (i.e., either Equalization bypass to
highest rate Supported is 0b or Equalization bypass to highest rate
Disable is 1b). The equalization procedure is deemed successful as
follows for the following data rates:
17010
When using the software based mechanism, software must
guarantee that there will be no side-effects for transactions in flight
(e.g., no timeout), if any, due to the Link undergoing the equalization
procedure. Software can write 1b to the Perform Equalization bit in the
Link Control 3 register, followed by a write to the Target Link Speed
field in the Link Control 2 register to enable the Link to run at 8.0 GT/
s or higher, followed by a write of 1b to the Retrain Link bit in the
264
Link Control register of the Downstream Port to perform equalization.
Software must not enable the Link to run at 16.0 GT/s during a software
initiated equalization procedure if the 8.0 GT/s equalization procedure
has not been successfully executed. The 8.0 GT/s equalization procedure
is deemed to have been successfully executed if the Equalization 8.0 GT/s
Phase 3 Successful bit and Equalization 8.0 GT/s Complete bit of the Link
Status 2 register are both set to 1b. Software may set the Hardware
Autonomous Width Disable of the Link Control register in both components
17011
Software may set the Hardware Autonomous Width Disable of the
Link Control register in both components or use some other mechanism to
ensure that the Link is in its full functional width prior to setting the
Perform Equalization bit in the Downstream Port. The component that had
initiated the autonomous width downsizing is responsible to upconfigure
the Link to go to its full functional width by initiating the transition
to Recovery and Configuration within 1 ms of the Hardware Autonomous
Width Disable bit being set to 1b. If an Upstream Port does not advertise
the 8.0 GT/s data rate, the 16.0 GT/s data rate, or the 32.0 GT/s data
rate initially and did not participate in the autonomous equalization
mechanism for the non-advertised rates, its associated software must
ensure there will be no side-effects for transactions in flight, if any,
during equalization, before it instructs the Upstream Port to go to
Recovery and advertise the previously non-advertised data rates and
initiate a speed change. The Downstream Port subsequently initiates the
16354
When using the software based mechanism, software must
17011
guarantee that there will be no side-effects for transactions
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs. in flight
(e.g., no timeout), if any, due to the Link undergoing the equalization
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
procedure. Software can write 1b to the Perform Equalization bit in the
Link Control 3 register, followed by a write to the Target Link Speed
field in the Link Control 2 register to enable the Link to run at 8.0 GT/
s or higher, followed by a write of 1b to the Retrain Link bit in the
Link Control register of the Downstream Port to perform equalization.
Software must not enable the Link to run at 16.0 GT/s during a software
initiated equalization procedure if the 8.0 GT/s equalization procedure
has not been successfully executed. The 8.0 GT/s equalization procedure
is deemed to have been successfully executed if the Equalization 8.0 GT/s
Phase 3 Successful bit and Equalization 8.0 GT/s Complete bit of the Link
Status 2 register are both set to 1b. Software may set the Hardware
Autonomous Width Disable of the Link Control register in both components
or use some other mechanism to ensure that the Link is in its full
functional width prior to setting the Perform Equalization bit in the
Downstream Port. The component that had initiated the autonomous width
downsizing is responsible to upconfigure the Link to go to its full
functional width by initiating the transition to Recovery and
Configuration within 1 ms of the Hardware Autonomous Width Disable bit
being set to 1b. If an Upstream Port does not advertise the 8.0 GT/s data
rate, the 16.0 GT/s data rate, or both the 8.0 GT/s and 16.0 GT/s data
rates initially and did not participate in the autonomous equalization
mechanism for the non-advertised rates, its associated software must
ensure there will be no side-effects for transactions in flight, if any,
during equalization, before it instructs the Upstream Port to go to
Recovery and advertise the previously non-advertised data rates and
initiate a speed change. The Downstream Port subsequently initiates the
equalization procedure during the initial speed change to the data rate
advertised by the Upstream Port when it transitions to Recovery. If the
Upstream Port advertises support for both 8.0 GT/s and 16.0 GT/s data
rates after advertising support for less than 8.0 GT/s initially, the
Downstream Port must advertise 8.0 GT/s support only and perform an 8.0
GT/s speed change and equalization procedure prior to performing speed
changes and equalization procedures at the higher data rate. Upon
completion of the 8.0 GT/s speed change and equalization, the Downstream
Port must advertise its next highest data rate supported and, if the same
rate is supported by the Upstream Port, transition from L0 to Recovery in
order to perform a speed change to the higher data rate and initiate
equalization at that speed. The 16.0 GT/s equalization procedure must be
initiated when operating at 8.0 GT/s.
16355
17012
16356
16357
Page
Software may set the Hardware Autonomous Width Disable of the
Link Control register in both components or use some other mechanism to
ensure that the Link is in its full functional width prior to setting the
Perform Equalization bit in the Downstream Port. The component that had
initiated the autonomous width downsizing is responsible to upconfigure
the Link to go to its full functional width by initiating the transition
to Recovery and Configuration within 1 ms of the Hardware Autonomous
Width Disable bit being set to 1b. If an Upstream Port does not advertise
the 8.0 GT/s data rate, the 16.0 GT/s data rate, or the 32.0 GT/s data
rate initially and did not participate in the autonomous equalization
mechanism for the non-advertised rates, its associated software must
ensure there will be no side-effects for transactions in flight, if any,
during equalization, before it instructs the Upstream Port to go to
Recovery and advertise the previously non-advertised data rates and
initiate a speed change. The Downstream Port subsequently initiates the
equalization procedure during the initial speed change to the data rate
advertised by the Upstream Port when it transitions to Recovery.
17013
Upstream Ports are required to check for equalization setting
problems in the Recovery.RcvrLock state (see Section 4.2.6.4.1
Recovery.RcvrLock ). However, both Downstream and Upstream Ports are
permitted to use implementation-specific methods to detect equalization
problems at any time. A Port that detects a problem with its 8.0 GT/s
data rate equalization settings must set the Link Equalization Request
8.0 GT/s bit in its Link Status 2 register to 1b, and a Port that detects
a problem with its 16.0 GT/s data rate equalization settings must set the
Link Equalization Request 16.0 GT/s bit in its 16.0 GT/s Status register
to 1b. In addition to setting the appropriate Link Equalization Request
bit, an Upstream Port must initiate a transition to Recovery (if
necessary) and request equalization at the appropriate data rate in the
Recovery.RcvrCfg state by setting the Request Equalization bit of its
265
transmitted TS2 Ordered Sets to 1b and the Equalization Request Data Rate
bit to the data rate of the detected problem. If it requests
equalization, it must request equalization for each detected problem only
once. When requesting equalization, the Upstream Port is also permitted,
but not required, to set the Quiesce Guarantee bit to 1b to inform the
Downstream Port that an equalization process initiated within 1 ms will
not cause any side-effects to its operation.
17014
Upstream Ports are required to check for equalization setting
problems in the Recovery.RcvrLock state (see Section 4.2.6.4.1
Recovery.RcvrLock ). However, both Downstream and Upstream Ports are
permitted to use implementation-specific methods to detect equalization
problems at any time. A Port that detects a problem with its equalization
settings is required to undertake the following actions, for each the
following data rates:
Upstream Ports are required to check for equalization setting
problems in the Recovery.RcvrLock state (see Section 4.2.6.4.1
Recovery.RcvrLock ). However, both Downstream and Upstream Ports are
permitted to use implementation-specific methods to detect equalization
problems at any time. A Port that detects a problem with its 8.0 GT/s
data rate equalization settings must set the Link Equalization Request
8.0 GT/s bit in its Link Status 2 register to 1b, and a Port that detects
a problem with its 16.0 GT/s data rate equalization settings must set the
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
Link Equalization Request 16.0 GT/s bit in its 16.0 GT/s Status register
to 1b. In addition to setting the appropriate Link Equalization Request
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
bit, an Upstream Port must initiate a transition to Recovery (if
necessary) and request equalization at the appropriate data rate in the
Recovery.RcvrCfg state by setting the Request Equalization bit of its
transmitted TS2 Ordered Sets to 1b and the Equalization Request Data Rate
bit to the data rate of the detected problem. If it requests
equalization, it must request equalization for each detected problem only
once. When requesting equalization, the Upstream Port is also permitted,
but not required, to set the Quiesce Guarantee bit to 1b to inform the
Downstream Port that an equalization process initiated within 1 ms will
not cause any side-effects to its operation.
16358
17015
17016
17017
17018
16359
16360
17019
When a Downstream Port receives an equalization request from
an Upstream Port (when it is in the Recovery.RcvrCfg state and receives 8
consecutive TS2 Ordered Sets with the Request Equalization bit set to
1b), it must either initiate an equalization process at the requested
data rate (as defined by the received Equalization Request Data Rate bit)
within 1 ms of completing the next Recovery to L0 transition, or it must
set the appropriate Link Equalization Request 8.0 GT/s in its Link Status
2 register or Link Equalization Request 16.0 GT/s bit in its 16.0 GT/s
Statusregister. It should initiate an equalization process only if it can
guarantee that executing the equalization process will not cause any
side-effects to either its operation or the Upstream Port's operation.
The Downstream Port is permitted, but not required, to use the received
Quiesce Guarantee bit to determine the Upstream Port's ability to execute
an equalization process without side-effects.
16361
17020
17021
16362
16363
Page
8.0 GT/s: Link Equalization Request 8.0 GT/s bit in the Link
Status 2 register is set to 1b;
16.0 GT/s: Link Equalization Request 16.0 GT/s bit in the
16.0 GT/s Status Register is set to 1b
32.0 GT/s: Link Equalization Request 32.0 GT/s bit in its
32.0 GT/s Status Register is set to 1b.
In addition to setting the appropriate Link Equalization
Request bit to 1b, an Upstream Port must initiate a transition to
Recovery (if necessary) and request equalization at the appropriate data
rate in the Recovery.RcvrCfg state by setting the Request Equalization
bit of its transmitted TS2 Ordered Sets to 1b and the Equalization
Request Data Rate bits to the data rate of the detected problem. If it
requests equalization, it must request equalization for each detected
problem only once. When requesting equalization, the Upstream Port is
also permitted, but not required, to set the Quiesce Guarantee bit to 1b
to inform the Downstream Port that an equalization process initiated
within 1 ms will not cause any side-effects to its operation.
17022
If a Downstream Port wants to initiate an equalization
process and can guarantee that it will not cause side-effects to its own
operation but is unable to directly determine whether the equalization
process will cause side-effects to the Upstream Port's operation, then it
is permitted to request that the Upstream Port initiate an equalization
request. The Downstream Port does so by transitioning to Recovery and in
the Recovery.RcvrCfg state setting the Request Equalization bit of its
transmitted TS2 Ordered Sets to 1b, the Equalization Request Data Rate
266
bit to the desired data rate, and the Quiesce Guarantee bit to 1b. When
an Upstream Port receives such an equalization request from a Downstream
Port (when it is in the Recovery.RcvrCfg state and receives 8 consecutive
TS2 Ordered Sets with the Request Equalization and Quiesce Guarantee bits
set to 1b), it is permitted, but not required, to quiesce its operation
and prepare to execute an equalization process at the data rate requested
by the Downstream Port, and then request equalization at that same data
rate (using the method described previously for reporting equalization
17023
17024
When a Downstream Port receives an equalization request from
an Upstream Port (when it is in the Recovery.RcvrCfg state and receives 8
consecutive TS2 Ordered Sets with the Request Equalization bit set to
1b), it must either initiate an equalization process at the requested
data rate (as defined by the received Equalization Request Data Rate
bits) within 1 ms of completing the next Recovery to L0 transition, or it
must set the appropriate Link Equalization Request 8.0 GT/s in its Link
Status 2 register or Link Equalization Request 16.0 GT/s bit in its 16.0
GT/s Status Register or Link Equalization Request 32.0 GT/s bit in its
32.0 GT/s Status Register. It should initiate an equalization process
only if it can guarantee that executing the equalization process will not
cause any side-effects to either its operation or the Upstream Port's
operation. The Downstream Port is permitted, but not required, to use the
received Quiesce Guarantee bit to determine the Upstream Port's ability
to execute an equalization process without side-effects.
16363
If a Downstream Port wants to initiate an equalization
process and can guarantee that it will not cause side-effects to its own
operation but is unable to directly determine whether the equalization
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
process will cause side-effects to the Upstream Port's operation, then it
is permitted to request that the Upstream Port initiate an equalization
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
request. The Downstream Port does so by transitioning to Recovery and in
the Recovery.RcvrCfg state setting the Request Equalization bit of its
transmitted TS2 Ordered Sets to 1b, the Equalization Request Data Rate
bit to the desired data rate, and the Quiesce Guarantee bit to 1b. When
an Upstream Port receives such an equalization request from a Downstream
Port (when it is in the Recovery.RcvrCfg state and receives 8 consecutive
TS2 Ordered Sets with the Request Equalization and Quiesce Guarantee bits
set to 1b), it is permitted, but not required, to quiesce its operation
and prepare to execute an equalization process at the data rate requested
by the Downstream Port, and then request equalization at that same data
rate (using the method described previously for reporting equalization
setting problems) and with the Quiesce Guarantee bit set to 1b. There is
no time limit on how long the Upstream Port can take to respond, but it
should attempt to do so as quickly as possible. If a Downstream Port
makes a request and receives such a response from the Upstream Port, then
it must either initiate an equalization process at the agreed-upon data
rate within 1 ms of completing the next Recovery to L0 transition if it
can still guarantee that executing the equalization process will not
cause any side-effects to its operation, or it must set the appropriate
Link Equalization Request 8.0 GT/s in its Link Status 2 register or Link
Equalization Request 16.0 GT/s bit in its 16.0 GT/s Status register .
17024
17025
17026
17027
16364
17028
16365
17029
16366
16367
16368
17031
17032
17033
16370
17034
16371
Page
If a Downstream Port wants to initiate an equalization
process and can guarantee that it will not cause side-effects to its own
operation but is unable to directly determine whether the equalization
process will cause side-effects to the Upstream Port's operation, then it
is permitted to request that the Upstream Port initiate an equalization
request. The Downstream Port does so by transitioning to Recovery and in
the Recovery.RcvrCfg state setting the Request Equalization bit of its
transmitted TS2 Ordered Sets to 1b, the Equalization Request Data Rate
bits to the desired data rate, and the Quiesce Guarantee bit to 1b. When
an Upstream Port receives such an equalization request from a Downstream
Port (when it is in the Recovery.RcvrCfg state and receives 8 consecutive
TS2 Ordered Sets with the Request Equalization and Quiesce Guarantee bits
set to 1b), it is permitted, but not required, to quiesce its operation
and prepare to execute an equalization process at the data rate requested
by the Downstream Port, and then request equalization at that same data
rate (using the method described previously for reporting equalization
setting problems) and with the Quiesce Guarantee bit set to 1b. There is
no time limit on how long the Upstream Port can take to respond, but it
should attempt to do so as quickly as possible. If a Downstream Port
makes a request and receives such a response from the Upstream Port, then
it must either initiate an equalization process at the agreed-upon data
rate within 1 ms of completing the next Recovery to L0 transition if it
can still guarantee that executing the equalization process will not
cause any side-effects to its operation, or it must set the appropriate
Link Equalization Request 8.0 GT/s in its Link Status 2 register or Link
Equalization Request 16.0 GT/s bit in its 16.0 GT/s Status Register or
Link Equalization Request 32.0 GT/s bit in its 32.0 GT/s Status
Register.
17030
Implementation Note
Using Quiesce Guarantee Mechanism
16369
16372
When a Downstream Port receives an equalization request from
an Upstream Port (when it is in the Recovery.RcvrCfg state and receives 8
consecutive TS2 Ordered Sets with the Request Equalization bit set to
1b), it must either initiate an equalization process at the requested
data rate (as defined by the received Equalization Request Data Rate
bits) within 1 ms of completing the next Recovery to L0 transition, or it
must set the appropriate Link Equalization Request 8.0 GT/s in its Link
Status 2 register or Link Equalization Request 16.0 GT/s bit in its 16.0
GT/s Status Register or Link Equalization Request 32.0 GT/s bit in its
32.0 GT/s Status Register. It should initiate an equalization process
only if it can guarantee that executing the equalization process will not
cause any side-effects to either its operation or the Upstream Port's
operation. The Downstream Port is permitted, but not required, to use the
received Quiesce Guarantee bit to determine the Upstream Port's ability
to execute an equalization process without side-effects.
Implementation Note
Using Quiesce Guarantee Mechanism
17035
Side-effects due to executing equalization after the Data
Link Layer is in DL_Active can occur at the Port, Device, or system
level. For example, the time required to execute the equalization process
could cause a Completion Timeout error to occur - possibly in a different
267
system component. The Quiesce Guarantee information can help Ports decide
whether to execute a requested equalization or not.
17036
Side-effects due to executing equalization after the Data
Link Layer is in DL_Active can occur at the Port, Device, or system
level. For example, the time required to execute the equalization process
could cause a Completion Timeout error to occur - possibly in a different
system component. The Quiesce Guarantee information can help Ports decide
whether to execute a requested equalization or not.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
16372
Side-effects due to executing equalization after the Data
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17036
Link Layer is in DL_Active can occur at the Port, Device, or system
level. For example, the time required to execute the equalization process
could cause a Completion Timeout error to occur - possibly in a different
system component. The Quiesce Guarantee information can help Ports decide
whether to execute a requested equalization or not.
16373
17037
16374
17038
16375
17039
16376
16377
Side-effects due to executing equalization after the Data
Link Layer is in DL_Active can occur at the Port, Device, or system
level. For example, the time required to execute the equalization process
could cause a Completion Timeout error to occur - possibly in a different
system component. The Quiesce Guarantee information can help Ports decide
whether to execute a requested equalization or not.
17040
A component may operate at a lower data rate after reporting
its equalization problems, either by timing out through Recovery.Speed or
by initiating a data rate change to a lower data rate. Any data rate
change required to perform the equalization procedure is exempt from the
200 ms requirement in Section 6.11 Link Speed Management . If the
Downstream Port wants to redo equalization at 8.0 GT/s and the current
data rate is either 2.5 GT/s or 5.0 GT/s, the Downstream Port must
request speed change through Equalization (EQ) TS1 Ordered Sets in
Recovery.RcvrLock to inform the Upstream Port that it intends to redo
equalization. An Upstream Port should advertise 8.0 GT/s data rate in
Recovery if it receives EQ TS1 Ordered Sets with speed change bit set to
1b and if it intends to operate at 8.0 GT/s data rate in the future. If
the Downstream Port wants to redo equalization at 16.0 GT/s and the
current data rate is either 2.5 GT/s or 5.0 GT/s, the Downstream Port
must first initiate a speed change to 8.0 GT/s (the 8.0 GT/s equalization
procedure will not be executed unless necessary). If the Downstream Port
wants to redo equalization at 16.0 GT/s and the current data rate is 8.0
GT/s, the Downstream Port must request speed change through TS1 Ordered
Sets in Recovery.RcvrLock with the Equalization Redo bit set to 1b to
inform the Upstream Port that it intends to redo equalization. An
Upstream Port should advertise 16.0 GT/s data rate in Recovery if it
receives TS1 Ordered Sets with speed change bit set to 1b, Equalization
Redo bit set to 1b and it intends to operate at 16.0 GT/s data rate in
the future. The equalization procedure can be performed at most once in
each trip through the Recovery state.
17041
A component may operate at a lower data rate after reporting
its equalization problems, either by timing out through Recovery.Speed or
by initiating a data rate change to a lower data rate. Any data rate
change required to perform the equalization procedure is exempt from the
200 ms requirement in Section 6.11 Link Speed Management . Table 4-3
Equalization requirements under different conditions describes the
mechanism for performing redo Equalization. Sometimes it may be necessary
to perform a speed change to an intermediate data rate to redo
equalization. For example, if the Downstream Port wants to redo
equalization at 16.0 GT/s, bypass equalization is not supported, and the
current data rate is either 2.5 GT/s or 5.0 GT/s, the Downstream Port
must first initiate a speed change to 8.0 GT/s (the 8.0 GT/s equalization
procedure will not be executed unless necessary) from which it will
launch the redo equalization for 16.0 GT/s . The equalization procedure
can be performed at most once in each trip through the Recovery state.
17042
17043
17044
17045
Table 4-3 Equalization requirements under different
conditions
17046
17047
From 2.5 GT/s or 5.0 GT/s to 8.0 GT/s Equalization
17048
17049
17050
The mechanisms described here are identical for all
flavors of equalization: initial or redo equalization; autonomous or
software initiated.
17051
17052
17053
The Downstream Port communicates the Transmitter
preset values and the Receiver preset hints, if applicable, for each Lane
to the Upstream Port using 8b/10b encoding. These values are communicated
using the EQ TS2 Ordered Sets (defined in Section 4.2.4.1 Training
Sequences ) in Recovery.RcvrCfg, when a data rate change to the higher
data rate has been negotiated, prior to transitioning to the higher data
rate to perform equalization. The preset values sent in the EQ TS2
Ordered Sets are derived as follows:
17054
17055
17056
17057
Page 268
For equalization at 8.0 GT/s: Upstream Port 8.0 GT/s
Transmitter Preset and Upstream Port 8.0 GT/s Receiver Preset Hint fields
of each Lane Equalization Control Register Entry.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17057
17058
After the data rate change to the higher data rate
where equalization needs to be performed, the Upstream Port transmits TS1
Ordered Sets with the preset values it received. The preset values must
be within the operable range defined in Section 8.3.3.3 Tx Equalization
Presets if reduced swing will be used by the Transmitter.
17059
17060
17061
After the data rate change to the higher data rate
where equalization needs to be performed, the Downstream Port transmits
TS1 Ordered Sets with the preset values as follows with the assumption
that the preset values must be within the operable range defined in
Section 8.3.3.3 Tx Equalization Presets if reduced swing will be used by
the Transmitter:
17062
17063
For equalization at 8.0 GT/s: Downstream Port 8.0 GT/
s Transmitter Preset and optionally Downstream Port 8.0 GT/s Receiver
Preset Hint fields of each Lane Equalization Control Register Entry.
17064
17065
17066
To perform redo equalization, the Downstream Port
must request speed change through EQ TS1 Ordered Sets in
Recovery.RcvrLock at 2.5 GT/s or 5.0 GT/s to inform the Upstream Port
that it intends to redo equalization at the higher data rate. An Upstream
Port should advertise the higher data rate in Recovery if it receives EQ
TS1 Ordered Sets with speed change bit set to 1b and if it intends to
operate at the higher data rate in the future.
17067
17068
17069
17070
17071
17072
17073
From 8.0 GT/s to 16.0 GT/s equalization
OR
from 16.0 GT/s to 32.0 GT/s equalization
17074
17075
17076
The mechanisms described here are identical for all
flavors of equalization: initial or redo equalization; autonomous or
software initiated.
17077
17078
17079
When negotiating to the higher data rate, the
Downstream Port communicates the Transmitter preset values for each Lane
to the Upstream Port using 128b/130b encoding. These values are
communicated using 128b/130b EQ TS2 Ordered Sets (defined in Section
4.2.4.1 Training Sequences ) in Recovery.RcvrCfg, when a data rate change
to the higher data rate has been negotiated, prior to transitioning to
the higher data rate. The preset values sent in the 128b/130b EQ TS2
Ordered Sets are derived as follows:
17080
17081
Page 269
For equalization at 16.0 GT/s: Upstream Port 16.0 GT/
s Transmitter Preset field of the 16.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17081
17082
For equalization at 16.0 GT/s: Upstream Port 16.0 GT/
s Transmitter Preset field of the 16.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane.
For equalization at 32.0 GT/s: Upstream Port 32.0
GT/s Transmitter Preset field of the 32.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane.
17083
17084
17085
Optionally, the Upstream Port communicates initial
Transmitter preset settings to the Downstream Port using the 128b/130b EQ
TS2 Ordered Sets sent in Recovery.RcvrCfg, when a data rate change to the
higher data rate has been negotiated, prior to transitioning to the
higher data rate at which equalization needs to be performed. These
preset values are determined by implementation specific means. After the
data rate change to the higher data rate, the Upstream Port transmits TS1
Ordered Sets with the preset values it received. If the Downstream Port
did not receive preset values in Recovery.RcvrCfg, after the data rate
change to the higher data rate, it transmits TS1 Ordered Sets with the
presets as follows:
17086
17087
17088
For equalization at 16.0 GT/s: Downstream Port 16.0
GT/s Transmitter Preset field of the 16.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane.
For equalization at 32.0 GT/s: Downstream Port 32.0
GT/s Transmitter Preset field of the 32.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane.
17089
17090
17091
The preset values must be within the operable range
defined in Section 8.3.3.3 Tx Equalization Presets if reduced swing will
be used by the Transmitter.
17092
17093
17094
To perform redo equalization, the Downstream Port
must request speed change through TS1 Ordered Sets in Recovery.RcvrLock
with the Equalization Redo bit set to 1b to inform the Upstream Port that
it intends to redo equalization. An Upstream Port should advertise the
higher data rate in Recovery if it receives TS1 Ordered Sets with speed
change bit set to 1b, Equalization Redo bit set to 1b and it intends to
operate at the higher data rate in the future.
17095
17096
17097
17098
17099
From 2.5 GT/s or 5.0 GT/s to 32.0 GT/s Equalization
17100
17101
17102
Page 270
Equalization to 32.0 GT/s or higher data rate from
2.5 GT/s or 5.0 GT/s is possible only if the Link is capable of bypassing
equalization to higher data rate(s) (i.e., Equalization bypass to highest
rate Supported in 32.0 GT/s Capabilities register is 1b and Equalization
bypass to highest rate Disable in the 32.0 GT/s Control Register is 0b).
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17102
Equalization to 32.0 GT/s or higher data rate from
2.5 GT/s or 5.0 GT/s is possible only if the Link is capable of bypassing
equalization to higher data rate(s) (i.e., Equalization bypass to highest
rate Supported in 32.0 GT/s Capabilities register is 1b and Equalization
bypass to highest rate Disable in the 32.0 GT/s Control Register is 0b).
17103
17104
17105
The mechanisms described here are identical for all
flavors of equalization: initial or redo equalization; autonomous or
software initiated.
17106
17107
17108
The Downstream Port communicates the Transmitter
preset values and the Receiver preset hints, if applicable, for each Lane
to the Upstream Port using 8b/10b encoding. These values are communicated
using the EQ TS2 Ordered Sets (defined in Section 4.2.4.1 Training
Sequences ) in Recovery.RcvrCfg, when a data rate change to the higher
data rate has been negotiated, prior to transitioning to the higher data
rate to perform equalization. The preset values sent in the EQ TS2
Ordered Sets are derived as follows:
17109
17110
For equalization at 32.0 GT/s: Upstream Port 32.0 GT/
s Transmitter Preset field of the 32.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane. The Receiver Preset Hint field
must be set to 000b.
17111
17112
17113
After the data rate change to the higher data rate
where equalization needs to be performed, the Upstream Port transmits TS1
Ordered Sets with the preset values it received. The preset values must
be within the operable range defined in Section 8.3.3.3 Tx Equalization
Presets if reduced swing will be used by the Transmitter.
17114
17115
17116
After the data rate change to the higher data rate
where equalization needs to be performed, the Downstream Port transmits
TS1 Ordered Sets with the preset values as follows with the assumption
that the preset values must be within the operable range defined in
Section 8.3.3.3 Tx Equalization Presets if reduced swing will be used by
the Transmitter:
17117
17118
For equalization at 32.0 GT/s: Downstream Port 32.0
GT/s Transmitter Preset field of the 32.0 GT/s Lane Equalization Control
Register Entry corresponding to the Lane.
17119
17120
17121
17122
Page 271
To perform redo equalization, the Downstream Port
must request speed change through EQ TS1 Ordered Sets in
Recovery.RcvrLock at 2.5 GT/s or 5.0 GT/s to inform the Upstream Port
that it intends to redo equalization at the higher data rate. An Upstream
Port should advertise the higher data rate in Recovery if it receives EQ
TS1 Ordered Sets with speed change bit set to 1b and if it intends to
operate at the higher data rate in the future.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17122
17123
17124
17125
17126
17127
Equalization at a data rate from a data rate equal
to the target equalization data rate
17128
17129
17130
17131
This is only possible with a redo equalization. The
combinations covered here are: 8.0 GT/s equalization from 8.0 GT/s data
rate, 16.0 GT/s equalization from 16.0 GT/s data rate, and 32.0 GT/s
equalization from 32.0 GT/s data rate.
17132
17133
17134
In this case, the initial preset used during
equalization is equal to the initial preset used during the last time the
equalization was performed at the data rate where equalization is being
performed.
17135
17136
17137
17138
16378
17139
16379
16380
17140
The equalization procedure consists of up to four Phases, as
described below. When operating at 8.0 GT/s or higher data rates, the
Phase information is transmitted using the Equalization Control (EC)
field in the TS1 Ordered Sets.
16381
17143
Phase 0: When negotiating to 8.0 GT/s, the Downstream Port
communicates the 8.0 GT/s Transmitter preset values and the 8.0 GT/s
Receiver preset hints for each Lane to the Upstream Port using 8b/10b
encoding. These values are communicated using the EQ TS2 Ordered Sets
(defined in Section 4.2.4.1 Training Sequences ) in Recovery.RcvrCfg,
when a data rate change to 8.0 GT/s has been negotiated, prior to
transitioning to 8.0 GT/s data rate. These preset values are derived from
the Upstream Port 8.0 GT/s Transmitter Preset and Upstream Port 8.0 GT/s
Receiver Preset Hint fields of each Lane’s Equalization Control register.
After the data rate change to 8.0 GT/s, the Upstream Port transmits TS1
Ordered Sets with the preset values it received. The preset values must
be within the operable range defined in Section 8.3.3.3 Tx Equalization
Presets if reduced swing will be used by the Transmitter.
16384
17144
17146
17148
Page
Phase 0
17145
This phase is executed while negotitating (and prior to) to
the data rate where equalization would be performed. The preset to be
used for equalization is determined as described in Table 4-3
Equalization requirements under different conditions .
17147
16385
16386
The equalization procedure consists of up to four Phases, as
described below. When operating at 8.0 GT/s or higher data rates, the
Phase information is transmitted using the Equalization Control (EC)
field in the TS1 Ordered Sets.
17142
16382
16383
17141
17149
When negotiating to 16.0 GT/s, the Downstream Port
communicates the 16.0 GT/s Transmitter preset values for each Lane to the
Upstream Port using 128b/130b encoding. These values are communicated
using 8GT EQ TS2 Ordered Sets (defined in Section 4.2.4.1 Training
Sequences ) in Recovery.RcvrCfg, when a data rate change to 16.0 GT/s has
272
been negotiated, prior to transitioning to 16.0 GT/s data rate. These
preset values are derived from the Upstream Port 16.0 GT/s Transmitter
Preset field of the 16.0 GT/s Lane Equalization Control Register entry
corresponding to the Lane. Optionally, the Upstream Port communicates
initial 16.0 GT/s Transmitter preset settings to the Downstream Port
using the 8GT EQ TS2 Ordered Sets sent in Recovery.RcvrCfg, when a data
rate change to 16.0 GT/s has been negotiated, prior to transitioning to
16.0 GT/s data rate. These preset values are determined by implementation
Phase 1
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
16386
When negotiating to 16.0 GT/s, the Downstream Port
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
communicates the 16.0 GT/s Transmitter preset values for each Lane to the
Upstream Port using 128b/130b encoding. These values are communicated
using 8GT EQ TS2 Ordered Sets (defined in Section 4.2.4.1 Training
Sequences ) in Recovery.RcvrCfg, when a data rate change to 16.0 GT/s has
been negotiated, prior to transitioning to 16.0 GT/s data rate. These
preset values are derived from the Upstream Port 16.0 GT/s Transmitter
Preset field of the 16.0 GT/s Lane Equalization Control Register entry
corresponding to the Lane. Optionally, the Upstream Port communicates
initial 16.0 GT/s Transmitter preset settings to the Downstream Port
using the 8GT EQ TS2 Ordered Sets sent in Recovery.RcvrCfg, when a data
rate change to 16.0 GT/s has been negotiated, prior to transitioning to
16.0 GT/s data rate. These preset values are determined by implementation
specific means. After the data rate change to 16.0 GT/s, the Upstream
Port transmits TS1 Ordered Sets with the preset values it received. If
the Downstream Port received preset values in Recovery.RcvrCfg, after the
data rate change to 16.0 GT/s, it transmits TS1 Ordered Sets with those
preset values. The preset values must be within the operable range
defined in Section 8.3.3.3 Tx Equalization Presets if reduced swing will
be used by the Transmitter.
16387
17150
17151
16388
16389
17152
Phase 1: Both components make the Link operational enough at
the current data rate to be able to exchange TS1 Ordered Sets to complete
the remaining phases for the fine-tuning of their Transmitter/Receiver
pairs. It is expected that the Link will operate at a BER of less than
10-4 before the component is ready to move on to the next Phase.
16390
17153
17154
16391
16392
Page
Both components make the Link operational enough at the
current data rate to be able to exchange TS1 Ordered Sets to complete the
remaining phases for the fine-tuning of their Transmitter/Receiver pairs.
It is expected that the Link will operate at a BER of less than 10-4
before the component is ready to move on to the next Phase. Each
Transmitter uses the preset values as described in Table 4-3 Equalization
requirements under different conditions .
17155
The Downstream Port initiates Phase 1 by transmitting TS1
Ordered Sets with EC=01b (indicating Phase 1) to the Upstream Port using
the preset values received from the Upstream Port in Recovery.RcvrCfg if
the current data rate of operation is 16.0 GT/s and eight consecutive 8GT
EQ TS2 Ordered Sets were received in Recovery.RcvrCfg. Otherwise, the
Downstream Port uses the preset values in the Downstream Port Transmitter
Preset field of each Lane’s Equalization Control register applicable to
the current data rate of operation. The Upstream Port, after adjusting
its Receiver, if necessary, to ensure that it can progress with the
equalization process, receives these TS1 Ordered Sets and transitions to
273
Phase 1 (where it transmits TS1 Ordered Sets with EC=01b). The Downstream
Port ensures that it can reliably receive the bit stream from the
Upstream Port to continue through the rest of the Phases when it receives
TS1 Ordered Sets from the Upstream Port with EC=01b before it moves on to
Phase 2.
The Downstream Port initiates Phase 1 by transmitting TS1
Ordered Sets with EC=01b (indicating Phase 1). The Upstream Port, after
adjusting its Receiver, if necessary, to ensure that it can progress with
the equalization process, receives these TS1 Ordered Sets and transitions
to Phase 1 (where it transmits TS1 Ordered Sets with EC=01b). The
Downstream Port ensures that it can reliably receive the bit stream from
the Upstream Port to continue through the rest of the Phases when it
receives TS1 Ordered Sets from the Upstream Port with EC=01b before it
moves on to Phase 2.
16392
The Downstream Port initiates Phase 1 by transmitting TS1
Ordered Sets with EC=01b (indicating Phase 1) to the Upstream Port using
the preset values received from the Upstream Port in Recovery.RcvrCfg if
the current data rate of operation is 16.0 GT/s and eight consecutive 8GT
EQ TS2 Ordered Sets were received in Recovery.RcvrCfg. Otherwise, the
/private/tmp/PCISIG/pcie4_combined-snapshot.html
vs.
Downstream Port uses the preset values in the Downstream Port Transmitter
Preset field of each Lane’s Equalization Control register applicable to
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
the current data rate of operation. The Upstream Port, after adjusting
its Receiver, if necessary, to ensure that it can progress with the
equalization process, receives these TS1 Ordered Sets and transitions to
Phase 1 (where it transmits TS1 Ordered Sets with EC=01b). The Downstream
Port ensures that it can reliably receive the bit stream from the
Upstream Port to continue through the rest of the Phases when it receives
TS1 Ordered Sets from the Upstream Port with EC=01b before it moves on to
Phase 2.
16393
17156
17157
16394
16395
Phase 2: In this Phase the Upstream Port adjusts the
Transmitter setting of the Downstream Port along with its own Receiver
setting, independently, on each Lane, to ensure it receives the bit
stream compliant with the requirements in Chapter 8 Electrical Sub-Block
(e.g., all operational Downstream Lanes have a BER is less than 10-12).
The Downstream Port initiates the move to Phase 2 by transmitting TS1
Ordered Sets with EC=10b to the Upstream Port. The Downstream Port
advertises the Transmitter coefficients and the preset it is using per
the rules below in Phase 1 for preset only and in Phase 2 for preset and
coefficients. The Upstream Port receives these Ordered Sets and may
request different coefficient or preset settings and continue to evaluate
each setting until it arrives at the best setting for operating the
Downstream Lanes. After the Upstream Port has completed this Phase, it
moves the Link to Phase 3 by transmitting TS1 Ordered Sets with EC=11b to
the Downstream Port.
16396
17159
17161
Phase 3: In this Phase the Downstream Port adjusts the
Transmitter setting of the Upstream Port along with its own Receiver
setting, independently, on each Lane, using a handshake and evaluation
process similar to Phase 2 with the exception that EC=11b. The Downstream
Port signals the end of Phase 3 (and the equalization procedure) by
transmitting TS1 Ordered Sets with EC=00b.
In this Phase the Downstream Port adjusts the Transmitter
setting of the Upstream Port along with its own Receiver setting,
independently, on each Lane, using a handshake and evaluation process
similar to Phase 2 with the exception that EC=11b. The Downstream Port
signals the end of Phase 3 (and the equalization procedure) by
transmitting TS1 Ordered Sets with EC=00b.
17165
The algorithm used by a component to adjust the transmitter
of its Link partner and the evaluation of that Transmitter set-up with
its Receiver set-up is implementation-specific. A component may request
changes to any number of Lanes and can request different settings for
each Lane. Each requested setting can be a preset or a set of
coefficients that meets the requirements defined in Section 4.2.3.1 Rules
for Transmitter Coefficients . Each component is responsible for ensuring
that at the end of the fine-tuning (Phase 2 for Upstream Ports and Phase
3 for Downstream Ports), its Link partner has the Transmitter setting in
each Lane that will cause the Link to meet the requirements in Chapter 8
Electrical Sub-Block .
16402
17166
The algorithm used by a component to adjust the transmitter
of its Link partner and the evaluation of that Transmitter set-up with
its Receiver set-up is implementation-specific. A component may request
changes to any number of Lanes and can request different settings for
each Lane. Each requested setting can be a preset or a set of
coefficients that meets the requirements defined in Section 4.2.3.1 Rules
for Transmitter Coefficients . Each component is responsible for ensuring
that at the end of the fine-tuning (Phase 2 for Upstream Ports and Phase
3 for Downstream Ports), its Link partner has the Transmitter setting in
each Lane that will cause the Link to meet the requirements in Chapter 8
Electrical Sub-Block .
17167
16403
Page
17163
17164
16400
16404
Phase 3
17162
16399
16401
In this Phase the Upstream Port adjusts the Transmitter
setting of the Downstream Port along with its own Receiver setting,
independently, on each Lane, to ensure it receives the bit stream
compliant with the requirements in Chapter 8 Electrical Sub-Block (e.g.,
each operational Downstream Lane has a BER less than 10-12). The
Downstream Port initiates the move to Phase 2 by transmitting TS1 Ordered
Sets with EC=10b to the Upstream Port. The Downstream Port advertises the
Transmitter coefficients and the preset it is using per the rules below
in Phase 1 for preset only and in Phase 2 for preset and coefficients.
The Upstream Port receives these Ordered Sets and may request different
coefficient or preset settings and continue to evaluate each setting
until it arrives at the best setting for operating the Downstream Lanes.
After the Upstream Port has completed this Phase, it moves the Link to
Phase 3 by transmitting TS1 Ordered Sets with EC=11b to the Downstream
Port.
17160
16397
16398
Phase 2
17158
17168
A Link partner receiving the request to adjust its
Transmitter must evaluate the request and act on it. If a valid preset
value is requested and the Transmitter is operating in full-swing mode,
274
it must be reflected in the Transmitter set-up and subsequently in the
preset and coefficient fields of the TS1 Ordered Set that the Link
partner transmits. If a preset value is requested, the Transmitter is
operating in reduced-swing mode, and the requested preset is supported as
defined in Section 8.3.3.3 Tx Equalization Presets it must be reflected
in the Transmitter set-up and subsequently in the preset and coefficient
fields of the TS1 Ordered Set that the Link partner transmits.
Transmitters operating in reduced-swing mode are permitted to reject
17169
A Link partner receiving the request to adjust its
Transmitter must evaluate the request and act on it. If a valid preset
value is requested and the Transmitter is operating in full-swing mode,
it must be reflected in the Transmitter set-up and subsequently in the
preset and coefficient fields of the TS1 Ordered Set that the Link
partner transmits. If a preset value is requested, the Transmitter is
operating in reduced-swing mode, and the requested preset is supported as
defined in Section 8.3.3.3 Tx Equalization Presets it must be reflected
in the Transmitter set-up and subsequently in the preset and coefficient
fields of the TS1 Ordered Set that the Link partner transmits.
Transmitters operating in reduced-swing mode are permitted to reject
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16404
A Link partner receiving the request to adjust its
Transmitter must evaluate the request and act on it. If a valid preset
value is requested and the Transmitter is operating in full-swing mode,
it must be reflected in the Transmitter set-up and subsequently in the
preset and coefficient fields of the TS1 Ordered Set that the Link
partner transmits. If a preset value is requested, the Transmitter is
operating in reduced-swing mode, and the requested preset is supported as
defined in Section 8.3.3.3 Tx Equalization Presets it must be reflected
in the Transmitter set-up and subsequently in the preset and coefficient
fields of the TS1 Ordered Set that the Link partner transmits.
Transmitters operating in reduced-swing mode are permitted to reject
preset requests that are not supported as defined in Section 8.3.3.3 Tx
Equalization Presets . A request for adjusting the coefficients may be
accepted or rejected. If the set of coefficients requested for a Lane is
accepted, it must be reflected in the Transmitter set-up and subsequently
in the transmitted TS1 Ordered Sets. If the set of coefficients requested
for a Lane is rejected, the Transmitter set-up is not changed, but the
transmitted TS1 Ordered Sets must reflect the requested coefficients
along with the Reject Coefficient bit set to 1b. In either case of
responding to a coefficient request, the preset field of the transmitted
TS1 Ordered Sets is not changed from the last preset value that was
transmitted. A request for adjusting the coefficients may be rejected by
the Link partner only if the set of coefficients requested is not
compliant with the rules defined in Section 4.2.3.1 Rules for Transmitter
Coefficients .
16405
17171
When performing equalization of a crosslink, the component
that played the role of the Downstream Port during the earlier crosslink
initialization at the lower data rate also assumes the responsibility of
the Downstream Port for equalization.
16408
17175
If a Lane receives a Transmitter Preset value (from TS1 or
TS2 sequences) with a Reserved or unsupported value in
Polling.Compliance, Loopback, or Phase 0 or Phase 1 of
Recovery.Equalization, then the Lane is permitted to use any supported
Transmitter preset setting in an implementation-specific manner. The
Reserved or unsupported Transmitter preset value is transmitted in any
subsequent Compliance Patterns or Ordered Sets, and not the
implementation-specific preset value chosen by the Lane. For example, if
a Lane of an Upstream Port receives a Transmitter preset value 1111b
(Reserved) with the EQ TS2 Ordered Sets it receives in Recovery.RcvrCfg,
it is permitted to use any supported Transmitter preset value for its
transmitter setting after changing the data rate to 8.0 GT/s, but it must
transmit 1111b as its Transmitter preset value in the TS1 Ordered Sets it
transmits in Phase 0 and Phase 1 of Recovery.Equalization.
17176
16412
Page
When performing equalization of a crosslink, the component
that played the role of the Downstream Port during the earlier crosslink
initialization at the lower data rate also assumes the responsibility of
the Downstream Port for equalization.
17174
If a Lane is directed to use a Reserved or unsupported
Transmitter preset value in Polling.Compliance, Loopback, or Phase 0 or
Phase 1 of Recovery.Equalization, then the Lane is permitted to use any
supported Transmitter preset setting in an implementation-specific
manner. The Reserved or unsupported Transmitter preset value is
transmitted in any subsequent Compliance Patterns or Ordered Sets, and
not the implementation-specific preset value chosen by the Lane. For
example, if a Lane of an Upstream Port is directed to use Transmitter
preset value 1111b (Reserved) with the EQ TS2 Ordered Sets it receives in
Recovery.RcvrCfg, it is permitted to use any supported Transmitter preset
value for its transmitter setting after changing the data rate to 8.0 GT/
s, but it must transmit 1111b as its Transmitter preset value in the TS1
Ordered Sets it transmits in Phase 0 and Phase 1 of
Recovery.Equalization.
16411
16413
17172
17173
16409
16410
A Link partner receiving the request to adjust its
Transmitter must evaluate the request and act on it. If a valid preset
value is requested and the Transmitter is operating in full-swing mode,
it must be reflected in the Transmitter set-up and subsequently in the
preset and coefficient fields of the TS1 Ordered Set that the Link
partner transmits. If a preset value is requested, the Transmitter is
operating in reduced-swing mode, and the requested preset is supported as
defined in Section 8.3.3.3 Tx Equalization Presets it must be reflected
in the Transmitter set-up and subsequently in the preset and coefficient
fields of the TS1 Ordered Set that the Link partner transmits.
Transmitters operating in reduced-swing mode are permitted to reject
preset requests that are not supported as defined in Section 8.3.3.3 Tx
Equalization Presets . A request for adjusting the coefficients may be
accepted or rejected. If the set of coefficients requested for a Lane is
accepted, it must be reflected in the Transmitter set-up and subsequently
in the transmitted TS1 Ordered Sets. If the set of coefficients requested
for a Lane is rejected, the Transmitter set-up is not changed, but the
transmitted TS1 Ordered Sets must reflect the requested coefficients
along with the Reject Coefficient bit set to 1b. In either case of
responding to a coefficient request, the preset field of the transmitted
TS1 Ordered Sets is not changed from the last preset value that was
transmitted. A request for adjusting the coefficients may be rejected by
the Link partner only if the set of coefficients requested is not
compliant with the rules defined in Section 4.2.3.1 Rules for Transmitter
Coefficients .
17170
16406
16407
17169
17177
In the Loopback state, the Loopback Master is responsible for
communicating the Transmitter and Receiver settings it wants the Slave to
use through the EQ TS1 Ordered Sets it transmits in the 2.5 GT/s or 5.0
GT/s data rate, and the preset or coefficient settings it wants the
275
device under test to operate under in the TS1 Ordered Sets it transmits
in the 8.0 GT/s or higher data rate. Similarly, if the Polling.Compliance
state for 8.0 GT/s or higher Data Rates is entered through TS1 Ordered
Sets, the entity that is performing the test is required to send the
appropriate EQ TS1 Ordered Sets and coefficients for the device under
test to operate with, according to the mechanism defined in Section
4.2.6.2 Polling .
17178
In the Loopback state, the Loopback Master is responsible for
communicating the Transmitter and Receiver settings it wants the Slave to
use through the EQ TS1 Ordered Sets it transmits in the 2.5 GT/s or 5.0
GT/s data rate, and the preset or coefficient settings it wants the
device under test to operate under in the TS1 Ordered Sets it transmits
in the 8.0 GT/s or higher data rate. Similarly, if the Polling.Compliance
state for 8.0 GT/s or higher Data Rates is entered through TS1 Ordered
Sets, the entity that is performing the test is required to send the
appropriate EQ TS1 Ordered Sets and coefficients for the device under
test to operate with, according to the mechanism defined in Section
4.2.6.2 Polling .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
16413
In the Loopback state, the Loopback Master is responsible for
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17178
communicating the Transmitter and Receiver settings it wants the Slave to
use through the EQ TS1 Ordered Sets it transmits in the 2.5 GT/s or 5.0
GT/s data rate, and the preset or coefficient settings it wants the
device under test to operate under in the TS1 Ordered Sets it transmits
in the 8.0 GT/s or higher data rate. Similarly, if the Polling.Compliance
state for 8.0 GT/s or higher Data Rates is entered through TS1 Ordered
Sets, the entity that is performing the test is required to send the
appropriate EQ TS1 Ordered Sets and coefficients for the device under
test to operate with, according to the mechanism defined in Section
4.2.6.2 Polling .
16414
17179
16415
17180
16416
17181
16417
Implementation Note
Equalization Example
16418
17182
17183
16419
17184
16420
17185
16421
16422
In the Loopback state, the Loopback Master is responsible for
communicating the Transmitter and Receiver settings it wants the Slave to
use through the EQ TS1 Ordered Sets it transmits in the 2.5 GT/s or 5.0
GT/s data rate, and the preset or coefficient settings it wants the
device under test to operate under in the TS1 Ordered Sets it transmits
in the 8.0 GT/s or higher data rate. Similarly, if the Polling.Compliance
state for 8.0 GT/s or higher Data Rates is entered through TS1 Ordered
Sets, the entity that is performing the test is required to send the
appropriate EQ TS1 Ordered Sets and coefficients for the device under
test to operate with, according to the mechanism defined in Section
4.2.6.2 Polling .
Implementation Note
Equalization Example
17186
The following diagram is an example illustrating how two
devices may complete the equalization procedure. If the maximum common
data rate supported by both Ports is 8.0 GT/s, the equalization procedure
is complete at the conclusion of the 8.0 GT/s equalization procedure. If
the maximum common data rate supported by both Ports is 16.0 GT/s, the
8.0 GT/s equalization procedure is followed by the 16.0 GT/s equalization
procedure. If either the 8.0 GT/s or 16.0 GT/s equalization procedure is
repeated and is performed while the Link is in 8.0 GT/s data rate (for
the 8.0 GT/s equalization) or in 16.0 GT/s (for the 16.0 GT/s
equalization), Phase 0 may be skipped since there is no need for the Link
to go back to 2.5 GT/s or 5.0 GT/s (for the 8.0 GT/s equalization) or 8.0
GT/s (for the 16.0 GT/s equalization) to resend the same EQ TS2 Ordered
Sets to convey the presets. A Downstream Port may choose to skip Phase 2
and Phase 3 if it determines that fine-tuning of the Transmitter is not
needed based on the channel and components in the platform.
17187
16423
17188
16424
17189
16425
17190
16426
16427
The following diagram is an example illustrating how two
devices may complete the equalization procedure. If the maximum common
data rate supported by both Ports is 8.0 GT/s, the equalization procedure
is complete at the conclusion of the 8.0 GT/s equalization procedure. If
the maximum common data rate supported by both Ports is 16.0 GT/s, the
8.0 GT/s equalization procedure is followed by the 16.0 GT/s equalization
procedure. If either the 8.0 GT/s or 16.0 GT/s equalization procedure is
repeated and is performed while the Link is in 8.0 GT/s data rate (for
the 8.0 GT/s equalization) or in 16.0 GT/s (for the 16.0 GT/s
equalization), Phase 0 may be skipped since there is no need for the Link
to go back to 2.5 GT/s or 5.0 GT/s (for the 8.0 GT/s equalization) or 8.0
GT/s (for the 16.0 GT/s equalization) to resend the same EQ TS2 Ordered
Sets to convey the presets. A Downstream Port may choose to skip Phase 2
and Phase 3 if it determines that fine-tuning of the Transmitter is not
needed based on the channel and components in the platform.
17191
Figure 4-20 8.0 GT/s Equalization Flow
17192
Figure 4-21 8.0 GT/s Equalization Flow
17193
17194
17195
16428
17196
16429
17197
17198
16430
17199
16431
17200
16432
16433
Figure 4-22 16.0 GT/s Equalization Flow
17201
Figure 4-21 16.0 GT/s Equalization Flow
17202
17203
17204
17205
17206
Page 276
Implementation Note
Equalization Bypass Example
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17206
Equalization Bypass Example
17207
17208
17209
17210
The following flow-chart provides an example flow where a
Link may bypass equalization at lower Data Rates and go to the highest
support data rate for equalization. For example, when n=5, the Link can
train to L0 in Gen 1 data rate, establish that all components (including
Retimers, if any) can bypass equalization to Gen 5, change the data rate
to Gen 5 and just perform equalization at Gen 5.
17211
17212
17213
17214
17215
16434
17216
16435
17217
16436
17218
16437
17219
16438
17220
16439
16440
17221
4.2.3.1 Rules for Transmitter Coefficients
16441
17222
4.2.3.1 Rules for Transmitter Coefficients
17223
16442
16443
Figure 4-23 Equalization Bypass Example
17224
The explanation of the coefficients and the FIR filter it
represents are provided in Section 8.3.3.1 2.5 and 5.0 GT/s Transmitter
Equalization . The following rules apply to both the advertised as well
as requested coefficient settings.
16444
17225
The explanation of the coefficients and the FIR filter it
represents are provided in Section 8.3.3.1 2.5 and 5.0 GT/s Transmitter
Equalization . The following rules apply to both the advertised as well
as requested coefficient settings.
17226
17227
16445
16446
16447
16448
C-1 and C+1 are the coefficients used in the FIR equation and
represent the pre-cursor and post-cursor, respectively. The pre-cursor
and post-cursor values communicated in the TS1 Ordered Sets represent
their absolute values. C0 represents the cursor coefficient setting and
is a positive entity.
The sum of the absolute values of the coefficients defines
the FS (Full Swing; FS = |C-1|+C0+|C+1|). FS is advertised to the Link
partner in Phase 1. The Transmitter FS range is defined below:
FS ∈ {24, …, 63} (i.e., FS must have a value from 24
through 63) for full swing mode.
FS ∈ {12, …, 63} for reduced swing mode.
16449
16450
16451
Page
17228
17229
17230
17231
C-1 and C+1 are the coefficients used in the FIR equation
and represent the pre-cursor and post-cursor, respectively. The precursor and post-cursor values communicated in the TS1 Ordered Sets
represent their absolute values. C0 represents the cursor coefficient
setting and is a positive entity.
The sum of the absolute values of the coefficients defines
the FS (Full Swing; FS = |C-1|+C0+|C+1|). FS is advertised to the Link
partner in Phase 1. The Transmitter FS range is defined below:
FS ∈ {24, …, 63} (i.e., FS must have a value from 24
through 63) for full swing mode.
FS ∈ {12, …, 63} for reduced swing mode.
17232
A Transmitter advertises its LF (Low Frequency) value
during Phase 1. This corresponds to the minimum differential voltage that
can be generated by the Transmitter which is LF/FS times the Transmitters
maximum differential voltage. The Transmitter must ensure that when
equation c) below equals LF it must meet the electrical requirements
defined in Section 8.3.3.9 EIEOS and VTX-EIEOS-FS and VTX-EIEOS-RS Limits
for VTX-EIEOS-FS and VTX-EIEOS-RS.
The following rules must be satisfied before a set of
coefficients can be requested of the Link partner’s Transmitter. Upon
reception of an update request for TX coefficient settings, a Port must
verify that the new request meets the following conditions and reject the
277
request if any of following conditions are violated:
17233
17234
A Transmitter advertises its LF (Low Frequency) value
during Phase 1. This corresponds to the minimum differential voltage that
can be generated by the Transmitter which is LF/FS times the Transmitters
maximum differential voltage. The Transmitter must ensure that when
equation c) below equals LF it must meet the electrical requirements
defined in Section 8.3.3.9 EIEOS and VTX-EIEOS-FS and VTX-EIEOS-RS Limits
for VTX-EIEOS-FS and VTX-EIEOS-RS.
The following rules must be satisfied before a set of
coefficients can be requested of the Link partner’s Transmitter. Upon
reception of an update request for TX coefficient settings, a Port must
verify that the new request meets the following conditions and reject the
request if any of following conditions are violated:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16451
The following rules must be satisfied before a set of
16452
16453
16454
coefficients can be requested of the Link partner’s Transmitter. Upon
reception of an update request for TX coefficient settings, a Port must
verify that the new request meets the following conditions and reject the
request if any of following conditions are violated:
|C-1| <= Floor (FS/4)
|C-1|+C0+|C+1| = FS (Do not allow peak power to change
with adaptation.)
C0 -|C-1|-|C+1 |>= LF
17234
17235
17236
17237
16455
17238
16456
17239
16457
17240
16458
17241
16459
17242
16460
4.2.3.2 Encoding of Presets
16461
17243
17245
Definition of the Transmitter and Receiver Preset Hints
appears in Chapter 8 Electrical Sub-Block . The encoding for the
Transmitter Preset and Receiver Preset Hint are provided in Table 4-3
Transmitter Preset Encoding and Table 4-4 Receiver Preset Hint Encoding
for 8.0 GT/s . Receiver Preset Hints are optional and only defined for
the 8.0 GT/s data rate.
17246
16464
17247
16465
17248
16466
Definition of the Transmitter and Receiver Preset Hints
appears in Chapter 8 Electrical Sub-Block . The encoding for the
Transmitter Preset and Receiver Preset Hint are provided in Table 4-4
Transmitter Preset Encoding and Table 4-5 Receiver Preset Hint Encoding
for 8.0 GT/s . Receiver Preset Hints are optional and only defined for
the 8.0 GT/s data rate.
17249
16467
Table 4-3 Transmitter Preset Encoding
16468
17250
Table 4-4 Transmitter Preset Encoding
17251
16469
Encoding
16470
16471
4.2.3.2 Encoding of Presets
17244
16462
16463
The following rules must be satisfied before a set of
coefficients can be requested of the Link partner’s Transmitter. Upon
reception of an update request for TX coefficient settings, a Port must
verify that the new request meets the following conditions and reject the
request if any of following conditions are violated:
|C-1| ≤ Floor (FS/4)
|C-1|+C0+|C+1| = FS (Do not allow peak power to change
with adaptation )
C0 -|C-1|-|C+1| ≥ LF
17252
Encoding
17253
Preset Number in Table 8-1 Tx Preset Ratios and
Corresponding Coefficient Values
17254
16472
17255
16473
17256
16474
16475
17257
0000b
16476
16477
P0
17260
1011b through 1111b
17324
Reserved
17326
17327
16545
17328
16546
17329
16547
17330
16548
17331
16549
16553
Page 278
1011b through 1111b
Reserved
17332
Table 4-4 Receiver Preset Hint Encoding for 8.0 GT/s
16551
16552
P0
17325
16544
16550
0000b
17323
16542
16543
17258
17259
16540
16541
Preset Number in Table 8-1 Tx Preset Ratios and
Corresponding Coefficient Values
17333
Table 4-5 Receiver Preset Hint Encoding for 8.0 GT/s
17334
Encoding
17335
17336
Encoding
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16553
17336
16554
Receiver Preset Value
17337
16555
17338
16556
17339
16557
17340
16558
000b
16559
17341
-6 dB
16638
Lane-to-Lane de-skew within a multi-Lane Link.
17343
17421
16639
17422
16640
17423
16641
4.2.4.1 Training Sequences
16643
4.2.4.1 Training Sequences
17427
Training sequences are composed of Ordered Sets used for
initializing bit alignment, Symbol alignment and to exchange Physical
Layer parameters. When the data rate is 2.5 GT/s or 5.0 GT/s, Ordered
Sets are never scrambled but are always 8b/10b encoded. When the data
rate is 8.0 GT/s or higher, the 128b/130b encoding is used and Symbols
may or may not be scrambled, according to the rules in Section 4.2.2.4
Scrambling .
16646
17428
Training sequences are composed of Ordered Sets used for
initializing bit alignment, Symbol alignment and to exchange Physical
Layer parameters. When the data rate is 2.5 GT/s or 5.0 GT/s, Ordered
Sets are never scrambled but are always 8b/10b encoded. When the data
rate is 8.0 GT/s or higher, the 128b/130b encoding is used and Symbols
may or may not be scrambled, according to the rules in Section 4.2.2.4
Scrambling .
17429
16647
17430
Training sequences (TS1 or TS2 ) are transmitted
consecutively and can only be interrupted by SKP Ordered Sets (see
Section 4.2.7 Clock Tolerance Compensation ) or, for data rates other
than 2.5 GT/s, EIEOS Ordered Sets (see Section 4.2.4.2 Electrical Idle
Sequences ).
16649
17431
Training sequences (TS1 or TS2 or Modified TS1 or Modified
TS2) are transmitted consecutively and can only be interrupted by SKP
Ordered Sets (see Section 4.2.7 Clock Tolerance Compensation ) or, for
data rates other than 2.5 GT/s, EIEOS Ordered Sets (see Section 4.2.4.3
Electrical Idle Sequences (EIOS) ).
17432
16650
17433
When 8.0 GT/s or higher data rates are supported, a TS1 (or
TS2) Ordered Set using 8b/10b encoding (i.e., 2.5 or 5.0 GT/s data rate)
can be either a standard TS1 (or TS2) Ordered Set (i.e., Symbol 6 is
D10.2 for a TS1 Ordered Set or D5.2 for a TS2 Ordered Set) or an EQ TS1
(or EQ TS2 ) (i.e., Symbol 6 bit 7 is 1b). The ability to transmit EQ TS1
Ordered Sets is implementation-specific. Ports supporting 8.0 GT/s or
higher data rates must accept either TS1 (or TS2) type in the LTSSM
states unless explicitly required to look for a specific type. Ports that
do not support the 8.0 GT/s data rate are permitted, but not required, to
accept EQ TS1 (or TS2) Ordered Sets.
16652
17434
When 8.0 GT/s or higher data rates are supported, a TS1 (or
TS2) Ordered Set using 8b/10b encoding (i.e., 2.5 or 5.0 GT/s data rate)
can be either a standard TS1 (or TS2) Ordered Set (i.e., Symbol 6 is
D10.2 for a TS1 Ordered Set or D5.2 for a TS2 Ordered Set) or an EQ TS1
Ordered Set (or EQ TS2 Ordered Set) (i.e., Symbol 6 bit 7 is 1b). The
ability to transmit EQ TS1 Ordered Sets is implementation-specific. Ports
supporting 8.0 GT/s or higher data rates must accept either TS1 (or TS2)
type in the LTSSM states unless explicitly required to look for a
specific type. Ports that do not support the 8.0 GT/s data rate are
permitted, but not required, to accept EQ TS1 (or TS2) Ordered Sets.
17435
16653
16654
17425
17426
16644
16651
-6 dB
Lane-to-Lane de-skew within a multi-Lane Link.
17424
16642
16648
000b
17342
16560
16645
Receiver Preset Value
17436
When the 16.0 GT/s data rate is supported, a TS2 using
128b/130b encoding (i.e. 8.0 or 16.0 GT/s data rate) can be either a
standard TS2 Ordered Set (i.e., Symbol 7 is 45h) or an 8GT EQ TS2 (i.e.,
Symbol 7 bit 7 is 1b). Ports supporting the 16.0 GT/s data rate must
accept either TS2 type in the LTSSM states unless explicitly required to
look for a specific type. Ports that do not support the 16.0 GT/s data
rate are permitted, but not required, to accept 8GT EQ TS2 Ordered Sets.
Page 279
17437
When the 16.0 GT/s and higher data rate is supported, a TS2
using 128b/130b encoding (i.e. 8.0 or higher data rate) can be either a
standard TS2 Ordered Set (i.e., Symbol 7 is 45h) or an 128b/130b EQ TS2
(i.e., Symbol 7 bit 7 is 1b). Ports supporting the 16.0 GT/s or higher
data rate must accept either TS2 type in the LTSSM states unless
explicitly required to look for a specific type. Ports that do not
support the 16.0 GT/s data rate are permitted, but not required, to
accept 128b/130b EQ TS2 Ordered Sets.
17437
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16655
17438
16656
16657
When the 16.0 GT/s and higher data rate is supported, a TS2
using 128b/130b encoding (i.e. 8.0 or higher data rate) can be either a
standard TS2 Ordered Set (i.e., Symbol 7 is 45h) or an 128b/130b EQ TS2
(i.e., Symbol 7 bit 7 is 1b). Ports supporting the 16.0 GT/s or higher
data rate must accept either TS2 type in the LTSSM states unless
explicitly required to look for a specific type. Ports that do not
support the 16.0 GT/s data rate are permitted, but not required, to
accept 128b/130b EQ TS2 Ordered Sets.
17439
When using 8b/10b encoding, TS1 or TS2 Ordered Sets are
considered consecutive only if Symbol 6 matches the Symbol 6 of the
previous TS1 or TS2 Ordered Set.
17440
16658
17441
16659
17442
17443
When using 8b/10b encoding, TS1 or TS2 Ordered Sets are
considered consecutive only if Symbol 6 matches the Symbol 6 of the
previous TS1 or TS2 Ordered Set.
Components that intend to either negotiate alternate
protocols or pass a Training Set Message must use Modified TS1/TS2
Ordered Sets instead of standard TS1/TS2 Ordered Sets in
Configuration.Lanenum.Wait, Configuration.Lanenum.Accept, and
Configuration.Complete substates. In order to be eligible to send the
Modified TS1/TS2 Ordered Sets, components must set the Enhanced Link
behavior Control bits (bit 7:6 of Symbol 5) in TS1 and TS2 Ordered Sets
to 11b in Polling.Active, Polling.Configuration,
Configuration.Linkwidth.Start, and Configuration.Linkwidth.Accept substates and follow through the steps outlined on transition to
Configuration.Lanenum.Wait substate when LinkUp=0b. If the Link partner
does not support Modified TS1/TS2 Ordered Sets, then starting with
Configuration.LaneNum.Wait, the standard TSes should stop sending 11b in
the Enhanced Link Behavior Control field and switch to the appropriate
encodings.
17444
17445
17446
When using 8b/10b encoding, modified TS1 or modified TS2
Ordered Sets are considered consecutive only if all Symbols matches the
corresponding Symbols of the previous modified TS1 or modified TS2
Ordered Sets and the parity in Symbol 15 matches with the expected value.
Symbols 8-14 must be identical in each Modified TS1/TS2 Ordered Sets
across all Lanes of a Link.
17447
17448
16660
When using 128b/130b encoding, TS1 or TS2 Ordered Sets are
considered consecutive only if Symbols 6-9 match Symbols 6-9 of the
previous TS1 or TS2 Ordered Set, with Reserved bits treated as described
below.
16661
17449
17450
16662
17451
16663
Reserved bits in TS1 and TS2 Ordered Sets must be handled
17452
as follows:
16664
16665
16666
16667
16668
16669
Page
When using 128b/130b encoding, TS1 or TS2 Ordered Sets are
considered consecutive only if Symbols 6-9 match Symbols 6-9 of the
previous TS1 or TS2 Ordered Set, with Reserved bits treated as described
below.
Reserved bits in TS1 and TS2 Ordered Sets must be handled
as follows:
17453
The Transmitter must transmit 0s for Reserved bits.
The Receiver:
must not determine that a TS1 or TS2 Ordered Set is
invalid based on the received value of Reserved bits
must use the received value of Reserved bits for the
purpose of a parity computation if the Reserved bits are included in a
parity calculation
may optionally compare the received value of Reserved
bits within Symbols that are explicitly called out as being required to
be identical in TS1 or TS2 Ordered Sets to determine if they are
consecutive
280
17454
17455
17456
17457
17458
The Transmitter must transmit 0s for Reserved bits.
The Receiver:
must not determine that a TS1 or TS2 Ordered Set is
invalid based on the received value of Reserved bits
must use the received value of Reserved bits for the
purpose of a parity computation if the Reserved bits are included in a
parity calculation
may optionally compare the received value of Reserved
bits within Symbols that are explicitly called out as being required to
be identical in TS1 or TS2 Ordered Sets to determine if they are
consecutive
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16669
may optionally compare the received value of Reserved
16670
bits within Symbols that are explicitly called out as being required to
be identical in TS1 or TS2 Ordered Sets to determine if they are
consecutive
must not otherwise take any functional action based on
the value of any received Reserved bits
17458
17459
16671
17460
16672
17461
16673
16674
17462
When using 128b/130b encoding, Transmitters are required to
track the running DC Balance of the bits transmitted on the wire (after
scrambling ) that constitute the TS1 and TS2 Ordered Sets only. The
running DC Balance is the difference between the number of 1s transmitted
and the number of 0s transmitted. Each Lane must track its running DC
Balance independently and be capable of tracking a difference of at least
511 bits in either direction: 511 more 1s than 0s, and 511 more 0s than
1s. Any counters used must saturate at their limit (not roll-over) and
continue to track reductions after their limit is reached. For example, a
counter that can track a difference of 511 bits will saturate at 511 if a
difference of 513 is detected, and then change to 509 if the difference
is reduced by 2 in the future.
16675
16684
The running DC Balance is set to 0 by two events: 1) The
Transmitter exiting Electrical Idle; 2) Transmission of an EIEOS
following a Data Block.
17468
For every TS1 or TS2 Ordered Set transmitted, Transmitters
must evaluate the running DC Balance and transmit one of the DC Balance
Symbols defined for Symbols 14 and 15 as defined by the algorithm below.
If the number of 1s needs to be reduced, the DC Balance Symbols 20h (for
Symbol 14) and 08h (for Symbol 15) are transmitted. If the number of 0s
needs to be reduced, the DC Balance Symbols DFh (for Symbol 14) and F7h
(for Symbol 15) are transmitted. If no change is required, the
appropriate TS1 or TS2 Identifier Symbol is transmitted. Any DC Balance
Symbols transmitted for Symbols 14 or 15 bypass scrambling, while TS1 and
TS2 Identifier Symbols follow the standard scrambling rules. The
following algorithm must be used to control the DC Balance:
16681
16683
17466
17467
16679
16682
When using 128b/130b encoding, Transmitters are required to
track the running DC Balance of the bits transmitted on the wire (after
scrambling and precoding, if turned on) that constitute the TS1 and TS2
Ordered Sets only. The running DC Balance is the difference between the
number of 1s transmitted and the number of 0s transmitted. Each Lane must
track its running DC Balance independently and be capable of tracking a
difference of at least 511 bits in either direction: 511 more 1s than 0s,
and 511 more 0s than 1s. Any counters used must saturate at their limit
(not roll-over) and continue to track reductions after their limit is
reached. For example, a counter that can track a difference of 511 bits
will saturate at 511 if a difference of 513 is detected, and then change
to 509 if the difference is reduced by 2 in the future.
17465
The running DC Balance is set to 0 by two events: 1) The
Transmitter exiting Electrical Idle; 2) Transmission of an EIEOS
following a Data Block.
16678
16680
17463
17464
16676
16677
may optionally compare the received value of Reserved
bits within Symbols that are explicitly called out as being required to
be identical in TS1 or TS2 Ordered Sets to determine if they are
consecutive
must not otherwise take any functional action based on
the value of any received Reserved bits
17469
For every TS1 or TS2 Ordered Set transmitted, Transmitters
must evaluate the running DC Balance and transmit one of the DC Balance
Symbols defined for Symbols 14 and 15 as defined by the algorithm below.
If the number of 1s needs to be reduced, the DC Balance Symbols 20h (for
Symbol 14) and 08h (for Symbol 15) are transmitted. If the number of 0s
needs to be reduced, the DC Balance Symbols DFh (for Symbol 14) and F7h
(for Symbol 15) are transmitted. If no change is required, the
appropriate TS1 or TS2 Identifier Symbol is transmitted. Any DC Balance
Symbols transmitted for Symbols 14 or 15 bypass scrambling, while TS1 and
TS2 Identifier Symbols follow the standard scrambling rules. The
following algorithm must be used to control the DC Balance:
17470
If the running DC Balance is > 31 at the end of Symbol 11 of
the TS Ordered Set, transmit DFh for Symbol 14 and F7h for Symbol 15 to
reduce the number of 0s, or 20h for Symbol 14 and 08h for Symbol 15 to
reduce the number of 1s.
Else, if the running DC Balance is > 15 at the end of
Symbol 11 of the TS Ordered Set, transmit F7h for Symbol 15 to reduce the
number of 0s, or 08h for Symbol 15 to reduce the number of 1s. Transmit
the normal TS Identifier Symbol (scrambled) for Symbol 14.
Else, transmit the normal TS Identifier Symbol (scrambled)
for Symbols 14 and 15.
17471
17472
17473
16685
17474
16686
17475
Page 281
If the running DC Balance is > 31 at the end of Symbol 11 of
the TS Ordered Set, transmit DFh for Symbol 14 and F7h for Symbol 15 to
reduce the number of 0s, or 20h for Symbol 14 and 08h for Symbol 15 to
reduce the number of 1s.
Else, if the running DC Balance is > 15 at the end of
Symbol 11 of the TS Ordered Set, transmit F7h for Symbol 15 to reduce the
number of 0s, or 08h for Symbol 15 to reduce the number of 1s. Transmit
the normal TS Identifier Symbol (scrambled) for Symbol 14.
Else, transmit the normal TS Identifier Symbol (scrambled)
for Symbols 14 and 15.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16686
16687
17475
Receivers are permitted, but not required, to check Symbols
14 and 15 for the following values when determining whether a TS1 or TS2
Ordered Set is valid: The appropriate TS Identifier Symbol after descrambling, or a valid DC Balance Symbol of DFh or 20h before descrambling for Symbol 14, or a valid DC Balance Symbol of F7h or 08h
before de-scrambling for Symbol 15.
17476
16688
17477
16689
17478
17479
Receivers are permitted, but not required, to check Symbols
14 and 15 for the following values when determining whether a TS1 or TS2
Ordered Set is valid: The appropriate TS Identifier Symbol after descrambling, or a valid DC Balance Symbol of DFh or 20h before descrambling for Symbol 14, or a valid DC Balance Symbol of F7h or 08h
before de-scrambling for Symbol 15.
If a Reciever receives a DC balance pattern in Symbol 14,
it is possible that the pattern is scrambled (and precoded). Thus if the
Receiver is performing this optional check, it must keep descrambler and
receive precoding running for checking Symbol 15, which can be either
scrambled (and precoded) or the DC balance pattern.
17480
17481
16690
17482
16691
Implementation Note
Sync Header and DC Balance
16692
17483
17484
16693
17485
16694
17486
16695
16696
17487
Block Sync Header bits and the first Symbol of TS1 and
TS2 Ordered Sets do not affect the running DC Balance, because they have
equal number of 1s and 0s.
17488
16697
17489
16698
17490
16699
17491
16700
16701
Block Sync Header bits and the first Symbol of TS1 and
TS2 Ordered Sets do not affect the running DC Balance, because they have
equal number of 1s and 0s.
17492
The Training control bits for Hot Reset , Disable Link , and
Enable Loopback are mutually exclusive, only one of these bits is
permitted to be set at a time as well as transmitted on all Lanes in a
configured (all Lanes that were in L0) or possible (all Lanes in
Configuration) Link. If more than one of the Hot Reset , Disable Link , or
Enable Loopback bits are Set at the same time, the Link behavior is
undefined.
16702
17493
The Training control bits Hot Reset bit, Disable Link bit,
and Loopback bit are mutually exclusive, only one of these bits is
permitted to be set at a time as well as transmitted on all Lanes in a
configured (all Lanes that were in L0) or possible (all Lanes in
Configuration) Link. If more than one of Hot Reset bit, Disable Link bit,
or Loopback bit are Set at the same time, the Link behavior is
undefined.
17494
16703
16704
Implementation Note
Sync Header and DC Balance
17495
The TS1 Ordered Set’s Retimer Equalization Extend bit is
always set to 0b when transmitted by an Upstream Port or Downstream Port.
Retimers set the bit to 1b as described in Section 4.3.7.2 Link
Equalization Rules .
17496
16705
17497
16706
17498
16707
16708
17499
Table 4-5 TS1 Ordered Set
16709
16710
16713
Page 282
17500
Table 4-6 TS1 Ordered Set
17501
Symbol Number
16711
16712
The TS1 Ordered Set's Retimer Equalization Extend bit is
always set to 0b when transmitted by an Upstream Port or Downstream Port.
Retimers set the bit to 1b as described in Section 4.3.7.2 Link
Equalization Rules .
17502
Symbol Number
17503
Description
17504
17505
Description
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16713
17505
16714
17506
16715
17507
16716
17508
0
16717
0
17509
16718
16719
When operating at 2.5 or 5.0 GT/s: COM (K28.5)
17510
for Symbol alignment.
When operating at 2.5 or 5.0 GT/s: COM (K28.5) for
Symbol alignment.
16720
16721
16722
When operating at 8.0 GT/s or above: Encoded as
17511
1Eh (TS1 Ordered Set).
When operating at 8.0 GT/s or above: Encoded as
1Eh (TS1 Ordered Set).
16723
17512
16724
17513
16725
17514
16726
17515
16727
17516
1
16728
1
17517
16729
17518
16730
Link Number.
16731
17519
Link Number.
17520
16732
16733
Ports that do not support 8.0 GT/s or above:
17521
0-255, PAD.
Ports that do not support 8.0 GT/s or above: 0-255,
PAD.
16734
16735
16736
Downstream Ports that support 8.0 GT/s or above:
17522
0-31, PAD.
Downstream Ports that support 8.0 GT/s or above:
0-31, PAD.
16737
16738
16739
Upstream Ports that support 8.0 GT/s or above:
17523
0-255, PAD.
Upstream Ports that support 8.0 GT/s or above:
0-255, PAD.
16740
16741
16742
When operating at 2.5 or 5.0 GT/s: PAD is encoded
17524
as K23.7.
When operating at 2.5 or 5.0 GT/s: PAD is encoded
as K23.7.
16743
16744
16745
When operating at 8.0 GT/s or above: PAD is
17525
encoded as F7h.
When operating at 8.0 GT/s or above: PAD is
encoded as F7h.
16746
17526
16747
17527
16748
17528
16749
17529
16750
17530
2
16751
2
17531
16752
17532
16753
Lane Number within Link.
16754
17533
Lane Number within Link.
17534
16755
16756
When operating at 2.5 or 5.0 GT/s: 0-31, PAD. PAD
is encoded as K23.7.
Page 283
17535
When operating at 2.5 or 5.0 GT/s: 0-31, PAD. PAD
is encoded as K23.7.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16756
When operating at 2.5 or 5.0 GT/s: 0-31, PAD. PAD
17535
is encoded as K23.7.
When operating at 2.5 or 5.0 GT/s: 0-31, PAD. PAD
is encoded as K23.7.
16757
16758
16759
When operating at 8.0 GT/s or above: 0-31, PAD.
17536
PAD is encoded as F7h.
16760
17537
16761
17538
16762
17539
16763
17540
16764
17541
3
16765
16766
When operating at 8.0 GT/s or above: 0-31, PAD.
PAD is encoded as F7h.
3
17542
N_FTS. The number of Fast Training Sequences
required by the Receiver: 0-255.
17543
16767
17544
16768
17545
16769
N_FTS. The number of Fast Training Sequences
required by the Receiver: 0-255.
17546
16770
17547
4
16771
4
17548
16772
17549
16773
Data Rate Identifier
16774
17550
Data Rate Identifier
17551
16775
17552
16776
Bit 0 - Reserved for future Data Rate.
17553
Bit 0
16777
16778
17554
16779
Bit 1 - 2.5 GT/s Data Rate Supported. Must be set
17555
Reserved for future Data Rate.
to 1b.
16780
17556
17557
16781
16782
Bit 1
17558
Bit 2 - 5.0 GT/s Data Rate Supported. Must be set
to 1b if Bit 3 is 1b. See Section 8.2 Interoperability Criteria .
16783
17559
2 .5 GT/s Data Rate Supported. Must be set to 1b
.
17560
17561
16784
Bit 2
17562
16785
Bit 3 - 8.0 GT/s Data Rate Supported. Must be set
17563
to 1b if Bit 4 is 1b.
16786
5.0 GT/s Data Rate Supported. Must be set to 1b
if Bit 3 is 1b. See Section 8.2 Interoperability Criteria .
17564
17565
16787
Bit 3
17566
16788
Bit 4 - 16.0 GT/s Data Rate Supported.
17567
8.0 GT/s Data Rate Supported. Must be set to 1b
if Bit 4 is 1b.
16789
17568
17569
16790
Bit 4
17570
16791
Bit 5 - Reserved for future Data Rate.
17571
16.0 GT/s Data Rate Supported. Must be set to
1b if Bit 5 is 1b.
16792
17572
17573
16793
Bit 5
17574
16794
Bit 6 - Autonomous Change/Selectable Deemphasis.
Page 284
17575
32.0 GT/s Data Rate Supported.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16794
Bit 6 - Autonomous Change/Selectable De-
17575
32.0 GT/s Data Rate Supported.
emphasis.
16795
17576
17577
16796
17579
16797
Bit 6
17578
Downstream Ports: This bit is defined for use in
the following LTSSM states: Polling.Active,
Configuration.Linkwidth.Start, and Loopback.Entry. In all other LTSSM
states, it is Reserved.
17580
Upstream Ports: This bit is defined for use in
the following LTSSM states: Polling.Active, Configuration, Recovery, and
Loopback.Entry. In all other LTSSM states, it is Reserved.
17581
Autonomous Change/Selectable De-emphasis.
Downstream Ports: This bit is defined for use
in the following LTSSM states: Polling.Active,
Configuration.Linkwidth.Start, and Loopback.Entry. In all other LTSSM
states, it is Reserved.
16798
16799
16800
16801
17582
16802
16803
Upstream Ports: This bit is defined for use
in the following LTSSM states: Polling.Active, Configuration, Recovery,
and Loopback.Entry. In all other LTSSM states, it is Reserved.
17583
Bit 7 - speed_change. This bit can be set to 1b
only in the Recovery.RcvrLock LTSSM state. In all other LTSSM states, it
is Reserved.
17584
17586
16804
17587
16805
17588
16806
17589
16807
16808
17591
5
17592
16810
17593
Training Control
16812
17594
Training Control
17595
16813
16814
speed_change. This bit can be set to 1b only in
the Recovery.RcvrLock LTSSM state. In all other LTSSM states, it is
Reserved.
17590
5
16809
16811
Bit 7
17585
17596
Bit 0 - Hot Reset
17597
Bit 0
17598
17599
Hot Reset bit
17600
17601
0b
17602
17603
Deassert
17604
17605
1b
17606
17607
Assert
17608
17609
17610
Bit 1
17611
17612
Disable Link bit
17613
17614
17615
Page 285
0b
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17615
17616
Deassert
17617
17618
1b
17619
17620
Assert
17621
16815
17622
17623
16816
16817
Bit 2
17624
Bit 0 = 0b, Deassert Bit 0 = 1b, Assert
16818
17625
Loopback bit
17626
17627
16819
16820
0b
17628
Bit 1 - Disable Link
16821
17629
Deassert
17630
17631
16822
16823
Bit 1 = 0b, Deassert Bit 1 = 1b, Assert
16824
17633
Assert
17634
16825
16826
1b
17632
17635
Bit 2 - Loopback
16827
17636
Bit 3
17637
17638
Disable Scrambling bit (2.5 GT/s and 5.0 GT/s
data rates)
16828
16829
17639
Bit 2 = 0b, Deassert Bit 2 = 1b, Assert
16830
17640
17642
16831
16832
Bit 3 - Disable Scrambling in 2.5 GT/s and 5.0
GT/s data rates; Reserved in other data rates
17644
17647
16834
Assert
Reserved (other data rates)
17648
Bit 3 = 0b, Deassert Bit 3 = 1b, Assert
16836
17649
Bit 4
17650
17651
16837
Compliance Receive bit (5.0 GT/s and above data
rates, optional at 2.5 GT/s)
17652
Bit 4 - Compliance Receive
16839
17653
0b
17654
17655
16840
16841
1b
17645
17646
16838
Deassert
17643
16833
16835
0b
17641
Deassert
17656
Bit 4 = 0b, Deassert Bit 4 = 1b, Assert
17657
1b
17658
17659
16842
16843
16844
Page
Assert
17660
17661
Ports that support 5.0 GT/s and above data
rate(s) must implement the Compliance Receive bit. Ports that support
286
only 2.5 GT/s data rate may optionally implement the Compliance Receive
bit. If not implemented, the bit is Reserved.
17662
Ports that support 5.0 GT/s and above data
rate(s) must implement the Compliance Receive bit. Ports that support
only 2.5 GT/s data rate may optionally implement the Compliance Receive
bit. If not implemented, the bit is Reserved.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16844
Ports that support 5.0 GT/s and above data
rate(s) must implement the Compliance Receive bit. Ports that support
only 2.5 GT/s data rate may optionally implement the Compliance Receive
bit. If not implemented, the bit is Reserved.
16845
17662
Ports that support 5.0 GT/s and above data
rate(s) must implement the Compliance Receive bit. Ports that support
only 2.5 GT/s data rate may optionally implement the Compliance Receive
bit. If not implemented, the bit is Reserved.
17663
16846
17664
16847
Bit 5:7 - Reserved
16848
17665
Bit 5
17666
17667
16849
Transmit Modified Compliance Pattern in
Loopback. This bit is defined for use in Loopback by the Loopback Master
when 32.0 GT/s or higher data rates are supported. See Section 4.2.6.10.1
Loopback.Entry . In all other cases, this bit is Reserved.
17668
17669
16850
Bit 7:6
17670
17671
16851
Enhanced Link Behavior Control
17672
16852
17673
6
16853
00b
17674
17675
Full Equalization required
Modified TS1/TS2 Ordered Sets not
17676
supported.
16854
17677
16855
When operating at 2.5 or 5.0 GT/s:
16856
17678
01b
17679
17680
Equalization bypass to highest rate
support
17681
Modified TS1/TS2 Ordered Sets not
supported.
17682
16857
16858
Indicates intention to perform 32.0 GT/s
equalization when set by Loopback Master. See Section 4.2.3 Link
Equalization Procedure for 8.0 GT/s and Higher Data Rates and Section
4.2.6.10.1 Loopback.Entry .
17683
Standard TS1 Ordered Sets encode this Symbol as a
TS1 Identifier, D10.2 (4Ah).
16859
17684
10b
17685
17686
No Equalization Needed
Modified TS1/TS2 Ordered Sets not
17687
supported
17688
16860
A device advertising this capability must
support Equalization bypass to highest rate. See Section 4.2.3 Link
Equalization Procedure for 8.0 GT/s and Higher Data Rates .
17689
16861
EQ TS1 Ordered Sets encode this Symbol as
17690
11b
follows:
16862
17691
17692
Modified TS1/TS2 Ordered Sets supported
Equalization bypass options specified in
17693
Modified TS1/TS2 Ordered Sets.
16863
Page 287
17694
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16863
16864
17694
Bit 2:0 - Receiver Preset Hint. See Section
4.2.3.2 Encoding of Presets .
16865
17695
17696
16866
These bits are defined for use in Polling and
Configuration when LinkUp=0b and 32.0 GT/s or higher data rates are
supported and in Loopback by the Loopback Master when 32.0 GT/s or higher
data rates are supported. In all other cases, these bits are Reserved.
17697
16867
Bit 6:3 - Transmitter Preset. See Section 4.2.3.2
Encoding of Presets .
16868
17698
16869
17699
16870
Bit 7 - Set to 1b.
16871
17700
16872
17701
16873
When operating at 8.0 GT/s or 16.0 GT/s:
16874
17704
Bit 1:0 - Equalization Control (EC). This field
is only used in the Recovery.Equalization and Loopback LTSSM states. See
Section 4.2.6.4.2 Recovery.Equalization and Section 4.2.6.10 Loopback .
In all other LTSSM states, it must be set to 00b.
16877
17705
When operating at 2.5 or 5.0 GT/s:
17706
17707
16878
16879
6
17703
16875
16876
17702
Standard TS1 Ordered Sets encode this Symbol as a
TS1 Identifier, D10.2 (4Ah).
17708
Bit 2 - Reset EIEOS Interval Count. This bit is
defined for use in the Recovery.Equalization LTSSM state. See Section
4.2.6.4.2 Recovery.Equalization and Section 4.2.4.2 Electrical Idle
Sequences . In all other LTSSM states, it is Reserved.
16880
17709
EQ TS1 Ordered Sets encode this Symbol as
follows:
17710
For Equalization at 8.0 GT/s Data Rate:
17711
17712
16881
16882
Bits 2:0
17713
Bit 6:3 - Transmitter Preset. See Section 4.2.3
Link Equalization Procedure for 8.0 GT/s and Higher Data Rates and
Section 4.2.6 Link Training and Status State Rules .
16883
17714
Receiver Preset Hint. See Section
4.2.3.2 Encoding of Presets .
17715
17716
16884
16885
Bit 6:3
17717
Bit 7 - Use Preset/Equalization Redo. This bit is
defined for use in the Recovery.Equalization, Recovery.RcvrLock and
Loopback LTSSM states. See Section 4.2.6.4.1 Recovery.RcvrLock , Section
4.2.6.4.2 Recovery.Equalization and Section 4.2.6.10 Loopback . In all
other LTSSM states, it is Reserved.
16886
17718
Transmitter Preset. See Section 4.2.3.2
Encoding of Presets .
17719
17720
16887
Bit 7
17721
17722
16888
Set to 1b.
17723
17724
Page 288
For Equalization at 32.0 GT/s or higher Data
Rate:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17724
For Equalization at 32.0 GT/s or higher Data
Rate:
16889
17725
16890
17726
7
16891
17728
16892
16893
Bit 0
17727
Transmitter Precode Request - See
Section 4.2.2.5 Precoding . This bit has no defined usage in receivers at
this time.
17729
When operating at 2.5 or 5.0 GT/s: TS1
Identifier. Encoded as D10.2 (4Ah).
17730
Bit 2:1
17731
17732
16894
Reserved
17733
17734
16895
Bit 6:3
17735
16896
When operating at 8.0 GT/s or 16.0 GT/s:
17736
Transmitter Preset. See Section 4.2.3.2
Encoding of Presets .
16897
17737
17738
16898
16899
Bit 5:0 - FS when the EC field of Symbol 6 is 01b
(see Section 4.2.3.1 Rules for Transmitter Coefficients ). Otherwise,
Pre-cursor Coefficient for the current data rate of operation.
16900
17740
Set to 1b.
17741
16901
17742
16902
Bit 6 - Reserved.
16903
17743
16904
16905
Bit 7
17739
17744
Bit 7 - Retimer Equalization Extend. This bit is
defined for use in the Recovery.Equalization LTSSM state when operating
at 16.0 GT/s. In all other LTSSM states and when operating at 8.0 GT/s,
it is Reserved.
17745
16906
17746
16907
17747
17748
16908
16909
16911
Bit 1:0
17749
17750
16910
When operating at 8.0 GT/s or higher data rate:
Equalization Control (EC). These bits are only
used in the Recovery.Equalization and Loopback LTSSM states. See Section
4.2.6.4.2 Recovery.Equalization and Section 4.2.6.10 Loopback . In all
other LTSSM states, they must be set to 00b.
17751
8
17752
Bit 2
17753
17754
Reset EIEOS Interval Count. This bit is defined
for use in the Recovery.Equalization LTSSM state. See Section 4.2.6.4.2
Recovery.Equalization and Section 4.2.4.3 Electrical Idle Sequences
(EIOS) . In all other LTSSM states, it is Reserved.
17755
17756
Bit 6:3
17757
17758
Page 289
Transmitter Preset. See Section 4.2.3 Link
Equalization Procedure for 8.0 GT/s and Higher Data Rates and Section
4.2.6 Link Training and Status State Rules .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17758
Transmitter Preset. See Section 4.2.3 Link
Equalization Procedure for 8.0 GT/s and Higher Data Rates and Section
4.2.6 Link Training and Status State Rules .
17759
17760
Bit 7
17761
17762
Use Preset/Equalization Redo. This bit is
defined for use in the Recovery.Equalization, Recovery.RcvrLock and
Loopback LTSSM states. See Section 4.2.6.4.1 Recovery.RcvrLock , Section
4.2.6.4.2 Recovery.Equalization and Section 4.2.6.10 Loopback . In all
other LTSSM states, it is Reserved.
17763
17764
17765
17766
17767
16912
16913
7
17768
When operating at 2.5 or 5.0 GT/s: TS1
Identifier. Encoded as D10.2 (4Ah).
17769
17770
16914
When operating at 2.5 or 5.0 GT/s: TS1 Identifier.
Encoded as D10.2 (4Ah).
When operating at 8.0 GT/s or higher:
17771
17772
16915
Bit 5:0
17773
16916
When operating at 8.0 GT/s or 16.0 GT/s:
16917
17774
FS when the EC field of Symbol 6 is 01b
(see Section 4.2.3.1 Rules for Transmitter Coefficients ). Otherwise,
Pre-cursor Coefficient for the current data rate of operation.
17775
17776
16918
16919
Bit 6
17777
Bit 5:0 - LF when the EC field of Symbol 6 is 01b
(see Section 4.2.3.1 Rules for Transmitter Coefficients ). Otherwise,
Cursor Coefficient for the current data rate of operation.
16920
17778
Transmitter Precoding on. This bit is
defined for use in the Recovery state for use at 32.0 GT/s or higher. See
Section 4.2.2.5 Precoding . In all the other cases, it is Reserved.
17779
17780
16921
16922
Bit 7:6 - Reserved.
17782
16923
17783
16924
17784
16925
17785
16926
Retimer Equalization Extend bit. This bit
is defined for use in the Recovery.Equalization LTSSM state when
operating at 16.0 GT/s or higher data rate. In all other LTSSM states and
when operating at 8.0 GT/s, it is Reserved.
17786
16927
9
16928
17787
17788
16929
16930
Bit 7
17781
8
17789
When operating at 2.5 or 5.0 GT/s: TS1
Identifier. Encoded as D10.2 (4Ah).
17790
17791
16931
17792
17793
Page 290
When operating at 2.5 or 5.0 GT/s: TS1 Identifier.
Encoded as D10.2 (4Ah).
When operating at 8.0 GT/s or higher data rate:
Bit 5:0
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17793
16932
Bit 5:0
17794
16933
When operating at 8.0 GT/s or 16.0 GT/s:
16934
17795
LF when the EC field of Symbol 6 is 01b
(see Section 4.2.3.1 Rules for Transmitter Coefficients ). Otherwise,
Cursor Coefficient for the current data rate of operation.
17796
17797
16935
Bit 7:6
17798
16936
Bit 5:0 - Post-cursor Coefficient for the current
17799
Reserved.
data rate of operation.
16937
17800
16938
16939
17801
Bit 6 - Reject Coefficient Values. This bit can
only be set to 1b in specific Phases of the Recovery.Equalization LTSSM
State. See Section 4.2.6.4.2 Recovery.Equalization . In all other LTSSM
states, it must be set to 0b.
16940
17802
16941
16942
17803
Bit 7 - Parity (P). This bit is the even parity
of all bits of Symbols 6, 7, and 8 and bits 6:0 of Symbol 9. Receivers
must calculate the parity of the received bits and compare it to the
received Parity bit. Received TS1 Ordered Sets are valid only if the
calculated and received Parity match.
16943
17804
17805
16944
9
17806
17807
17808
16945
When operating at 2.5 or 5.0 GT/s: TS1 Identifier.
Encoded as D10.2 (4Ah).
When operating at 8.0 GT/s or higher data rate:
17809
17810
16946
Bit 5:0
17811
16947
10 - 13
17812
Post-cursor Coefficient for the current
data rate of operation.
16948
17813
17814
16949
16950
When operating at 2.5 or 5.0 GT/s: TS1
Identifier. Encoded as D10.2 (4Ah).
16951
17816
Reject Coefficient Values bit. This bit can
only be set to 1b in specific Phases of the Recovery.Equalization LTSSM
State. See Section 4.2.6.4.2 Recovery.Equalization . In all other LTSSM
states, it must be set to 0b.
17817
17818
16952
16953
Bit 6
17815
Bit 7
17819
When operating at 8.0 GT/s or above: TS1
Identifier. Encoded as 4Ah.
17820
16954
17821
16955
17822
Page 291
Parity (P). This bit is the even parity of
all bits of Symbols 6, 7, and 8 and bits 6:0 of Symbol 9. Receivers must
calculate the parity of the received bits and compare it to the received
Parity bit. Received TS1 Ordered Sets are valid only if the calculated
and received Parity match.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16955
17822
16956
17823
16957
17824
16958
14 - 15
16959
17825
17826
16960
16961
10 - 13
17827
When operating at 2.5 or 5.0 GT/s: TS1
Identifier. Encoded as D10.2 (4Ah).
17828
17829
When operating at 2.5 or 5.0 GT/s: TS1 Identifier.
Encoded as D10.2 (4Ah).
When operating at 8.0 GT/s or above: TS1
Identifier. Encoded as 4Ah.
17830
17831
16962
17832
16963
17833
17834
14 - 15
17835
17836
16964
When operating at 8.0 GT/s or above: TS1
Identifier (encoded as 4Ah) or a DC Balance Symbol.
17837
16965
17838
16966
17839
16967
17840
16968
17841
16969
17842
16970
17843
16971
When operating at 2.5 or 5.0 GT/s: TS1 Identifier.
Encoded as D10.2 (4Ah).
When operating at 8.0 GT/s or above: TS1
Identifier (encoded as 4Ah) or a DC Balance Symbol.
17844
16972
Table 4-6 TS2 Ordered Set
16973
17845
Table 4-7 TS2 Ordered Set
17846
16974
Symbol Number
16975
17847
Symbol Number
17848
16976
Description
17849
16977
17850
16978
17851
16979
Description
17852
16980
17853
0
16981
0
17854
16982
16983
When operating at 2.5 or 5.0 GT/s: COM (K28.5)
17855
for Symbol alignment.
When operating at 2.5 or 5.0 GT/s: COM (K28.5) for
Symbol alignment.
16984
16985
16986
When operating at 8.0 GT/s or above: Encoded as
17856
2Dh (TS2 Ordered Set).
16987
17857
16988
17858
16989
17859
16990
16991
16992
Page 292
When operating at 8.0 GT/s or above: Encoded as
2Dh (TS2 Ordered Set).
17860
1
17861
17862
1
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
16992
17862
16993
17863
16994
Link Number.
16995
17864
Link Number.
17865
16996
16997
Ports that do not support 8.0 GT/s or above:
17866
0-255, PAD.
Ports that do not support 8.0 GT/s or above: 0-255,
PAD.
16998
16999
17000
Downstream Ports that support 8.0 GT/s or above:
17867
0-31, PAD.
Downstream Ports that support 8.0 GT/s or above:
0-31, PAD.
17001
17002
17003
Upstream Ports that support 8.0 GT/s or above:
17868
0-255, PAD.
Upstream Ports that support 8.0 GT/s or above:
0-255, PAD.
17004
17005
17006
When operating at 2.5 or 5.0 GT/s: PAD is encoded
17869
as K23.7.
When operating at 2.5 or 5.0 GT/s: PAD is encoded
as K23.7.
17007
17008
17009
When operating at 8.0 GT/s or above: PAD is
17870
encoded as F7h.
When operating at 8.0 GT/s or above: PAD is
encoded as F7h.
17010
17871
17011
17872
17012
17873
17013
17874
17014
17875
2
17015
2
17876
17016
17877
17017
Lane Number within Link.
17018
17878
Lane Number within Link.
17879
17019
17020
When operating at 2.5 or 5.0 GT/s: 0-31, PAD. PAD
17880
is encoded as K23.7.
When operating at 2.5 or 5.0 GT/s: 0-31, PAD. PAD
is encoded as K23.7.
17021
17022
17023
When operating at 8.0 GT/s or above: 0-31, PAD.
17881
PAD is encoded as F7h.
17024
17882
17025
17883
17026
17884
17027
17885
17028
3
17029
17030
When operating at 8.0 GT/s or above: 0-31, PAD.
PAD is encoded as F7h.
17886
3
17887
N_FTS. The number of Fast Training Sequences
required by the Receiver: 0-255.
17888
17031
17889
17032
17890
17033
17034
Page 293
N_FTS. The number of Fast Training Sequences
required by the Receiver: 0-255.
17891
4
17892
4
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17034
17892
4
17035
4
17893
17036
17894
17037
Data Rate Identifier
17038
17895
Data Rate Identifier
17896
17039
17897
17040
Bit 0 - Reserved for future Data Rate
17898
Bit 0
17899
17900
17041
Reserved for future Data Rate
17901
17902
17042
Bit 1
17903
17043
Bit 1 - 2.5 GT/s Data Rate Supported. Must be set
17904
to 1b.
2.5 GT/s Data Rate Supported. Must be set to
1b.
17044
17905
17906
17045
17046
Bit 2
17907
Bit 2 - 5.0 GT/s Data Rate Supported. Must be set
to 1b if Bit 3 is 1b. See Section 8.2 Interoperability Criteria .
17047
17908
5.0 GT/s Data Rate Supported. Must be set to 1b
if Bit 3 is 1b. See Section 8.2 Interoperability Criteria .
17909
17910
17048
Bit 3
17911
17049
Bit 3 - 8.0 GT/s Data Rate Supported. Must be set
17912
to 1b if Bit 4 is 1b.
8.0 GT/s Data Rate Supported. Must be set to 1b
if Bit 4 is 1b.
17050
17913
17914
17051
Bit 4
17915
17052
Bit 4 - 16.0 GT/s Data Rate Supported
17916
16.0 GT/s Data Rate Supported. Must be set to
1b if Bit 5 is 1b.
17053
17917
17918
17054
Bit 5
17919
17055
Bit 5 - Reserved for future Data Rate
17056
17920
32.0 GT/s Data Rate Supported
17921
17922
17057
17058
Bit 6
17923
Bit 6 - Autonomous Change/Selectable De-emphasis/
Link Upconfigure Capability. This bit is defined for use in the following
LTSSM states: Polling.Configuration, Configuration.Complete, and
Recovery. In all other LTSSM states, it is Reserved.
17059
17924
Autonomous Change/Selectable De-emphasis/Link
Upconfigure Capability. This bit is defined for use in the following
LTSSM states: Polling.Configuration, Configuration.Complete, and
Recovery. In all other LTSSM states, it is Reserved.
17925
17926
17060
17061
Bit 7
17927
Bit 7 - speed_change. This bit can be set to 1b
only in the Recovery.RcvrCfg LTSSM state. In all other LTSSM states, it
is Reserved.
17928
17062
17929
17063
17930
17064
17931
17065
17066
Page 294
speed_change. This bit can be set to 1b only in
the Recovery.RcvrCfg LTSSM state. In all other LTSSM states, it is
Reserved.
17932
5
17933
5
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17066
17933
5
17067
17068
17935
17069
Training Control
17070
17936
17938
17072
Bit 0 - Hot Reset
17073
17939
Bit 0
17940
17941
17074
Hot Reset bit
17942
17075
Bit 0 = 0b, Deassert Bit 0 = 1b, Assert
17076
17943
0b
17944
17945
17077
Deassert
17946
17078
Bit 1 - Disable Link
17079
17947
1b
17948
17949
17080
Assert
17950
17081
Bit 1 = 0b, Deassert Bit 1 = 1b, Assert
17082
17951
17952
17083
Bit 1
17953
17084
Bit 2 - Loopback
17085
17954
Disable Link bit
17955
17956
17086
0b
17957
17087
Bit 2 = 0b, Deassert Bit 2 = 1b, Assert
17088
17958
Deassert
17959
17960
17089
1b
17961
Bit 3 - Disable Scrambling in 2.5 GT/s and 5.0
GT/s data rates; Reserved in other data rates
17091
17962
Assert
17963
17092
17964
17093
Bit 3 = 0b, Deassert Bit 3 = 1b, Assert
17094
17965
Bit 2
17966
17967
17095
17096
Training Control
17937
17071
17090
5
17934
Loopback bit
17968
Bit 4 - Retimer Present in 2.5 GT/s data rate.
Reserved in other data rates.
17097
17969
17970
17971
17098
17099
Bit 4 = 0b, No Retimers present
17973
17975
Page 295
Assert
17976
Bit 4 = 1b, One or more Retimers present
17977
17978
17104
1b
17974
17101
17103
Deassert
17972
17100
17102
0b
17979
Bit 3
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17104
17105
17979
Bit 5 - Two Retimers Present in 2.5 GT/s data
rate. Reserved in other data rates. Ports that support 16.0 GT/s data
rate or higher must implement this bit. Ports that support only 8.0 GT/s
data rate or lower are permitted to implement this bit.
17106
17980
17981
17982
17107
0b
17983
17108
Bit 5 = 0b, Zero or one Retimers present
17109
17984
Deassert
17985
17986
17110
1b
17987
17111
Bit 5 = 1b, Two or more Retimers present
17112
17988
Assert
17989
17113
17990
17114
Bit 6:7 - Reserved
17115
17991
Bit 4
17992
17993
17116
Retimer Present bit in 2.5 GT/s data rate.
Reserved in other data rates.
17994
17995
17117
0b
17996
17997
17118
No Retimers present
17998
17119
17999
6
17120
1b
18000
18001
17121
One or more Retimers present
18002
17122
When operating at 2.5 or 5.0 GT/s:
17123
18003
18004
17124
17125
Disable Scrambling bit in 2.5 GT/s and 5.0 GT/s
data rates; Reserved in other data rates
Bit 5
18005
Standard TS2 Ordered Sets encode this Symbol as a
TS2 Identifier, D5.2 (45h).
18006
Two Retimers Present bit in 2.5 GT/s data rate.
Reserved in other data rates. Ports that support 16.0 GT/s data rate or
higher must implement this bit. Ports that support only 8.0 GT/s data
rate or lower are permitted to implement this bit.
18007
18008
0b
18009
18010
Zero or one Retimers present
18011
18012
1b
18013
18014
Two or more Retimers present
18015
18016
18017
Bit 7:6
18018
18019
Enhanced Link Behavior Control
18020
18021
Page 296
00b
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18021
00b
18022
18023
Full Equalization required,
Modified TS1/TS2 Ordered Sets not
18024
supported.
18025
18026
17126
01b
18027
18028
Equalization bypass to highest rate
support
18029
Modified TS1/TS2 Ordered Sets not
supported.
18030
17127
See Section 4.2.3 Link Equalization
Procedure for 8.0 GT/s and Higher Data Rates .
18031
18032
10b
18033
18034
18035
18036
No Equalization Needed,
A device advertising this capability must
support Equalization bypass to highest rate. See Section 4.2.3 Link
Equalization Procedure for 8.0 GT/s and Higher Data Rates .
Modified TS1/TS2 Ordered Sets not
supported
18037
18038
11b
18039
18040
Modified TS1/TS2 Ordered Sets supported,
Equalization bypass options specified in
18041
Modified TS1/TS2 Ordered Sets.
18042
18043
18044
These bits defined for use in Polling and
Configuration when LinkUp=0 and 32.0 GT/s or higher data rate is
supported. In all other cases, Bits 7:6 are Reserved.
18045
18046
18047
18048
18049
18050
6
18051
18052
18053
17128
EQ TS2 Ordered Sets encode this Symbol as
18054
follows:
18055
17129
When operating at 2.5 or 5.0 GT/s:
Standard TS2 Ordered Sets encode this Symbol as
a TS2 Identifier, D5.2 (45h).
EQ TS2 Ordered Sets encode this Symbol as
follows:
For Equalization at 8.0 GT/s Data Rate:
18056
18057
17130
17131
Bit 2:0
18058
Bit 2:0 - 8.0 GT/ s Receiver Preset Hint. See
Section 4.2.3.2 Encoding of Presets .
Page 297
18059
Receiver Preset Hint. See Section
4.2.3.2 Encoding of Presets .
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17131
Bit 2:0 - 8.0 GT/ s Receiver Preset Hint. See
Section 4.2.3.2 Encoding of Presets .
17132
18059
Receiver Preset Hint. See Section
4.2.3.2 Encoding of Presets .
18060
18061
17133
17134
Bit 6:3
18062
Bit 6:3 - 8.0 GT/ s Transmitter Preset. See
Section 4.2.3.2 Encoding of Presets .
17135
18063
Transmitter Preset. See Section
4.2.3.2 Encoding of Presets .
18064
18065
17136
Bit 7
18066
17137
Bit 7 -Set to 1b.
17138
18067
Set to 1b.
18068
18069
For Equalization at 32.0 GT/s or higher
Data Rate:
17139
18070
17140
When operating at 8.0 GT/s or 16.0 GT/ s:
17141
18071
Bit 0
18072
18073
Transmitter Precode Request. See
Section 4.2.2.5 Precoding .
17142
18074
17143
Bit 4:0 - Reserved.
17144
18075
Bit 2:1
18076
18077
17145
17146
Reserved
18078
Bit 5 - Equalization Request Data Rate. A value
of 0b indicates 8.0 GT/s Data Rate and 1b indicates 16.0 GT/s Data Rate.
This bit is defined for use in the Recovery.RcvrCfg LTSSM state. In all
other LTSSM states, it is Reserved.
17147
18079
Bit 6:3
18080
18081
Transmitter Preset. See Section
4.2.3.2 Encoding of Presets .
17148
17149
18082
Bit 6 - Quiesce Guarantee. This bit is defined
for use in the Recovery.RcvrCfg LTSSM state. In all other LTSSM states,
it is Reserved.
17150
18083
Bit 7
18084
18085
17151
17152
Bit 7 - Request Equalization. This bit is defined
for use in the Recovery.RcvrCfg LTSSM state. In all other LTSSM states,
it is Reserved.
17153
18087
17154
18088
18089
17155
When operating at 8.0 GT/s or higher Data Rate:
18090
18091
17156
Bit 3:0
18092
17157
7
17158
18093
Reserved.
18094
18095
17159
17160
Set to 1b.
18086
Bit 5:4
18096
When operating at 2.5 or 5.0 GT/s: TS2
Identifier. Encoded as D5.2 (45h).
Page 298
18097
Equalization Request Data Rate.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17160
When operating at 2.5 or 5.0 GT/s: TS2
Identifier. Encoded as D5.2 (45h).
17161
18097
Equalization Request Data Rate.
18098
18099
17162
00b
18100
17163
When operating at 8.0 GT/s or above:
18101
8.0 GT/s
18102
18103
10b
18104
18105
16.0 GT/s
18106
18107
01b
18108
18109
32.0 GT/s
18110
18111
11b
18112
18113
Reserved
18114
18115
18116
17164
18117
17165
18118
These bits are defined for use in the
Recovery.RcvrCfg LTSSM state. In all other LTSSM states, they are
Reserved. See Section 4.2.3 Link Equalization Procedure for 8.0 GT/s and
Higher Data Rates for usage and recognize that these bits are nonsequentially encoded for purposes of backwards compatibility
18119
Bit 6
18120
18121
Quiesce Guarantee. This bit is defined for
use in the Recovery.RcvrCfg LTSSM state. In all other LTSSM states, it is
Reserved.
18122
18123
Bit 7
18124
18125
Request Equalization. This bit is defined
for use in the Recovery.RcvrCfg LTSSM state. In all other LTSSM states,
it is Reserved.
18126
18127
18128
18129
18130
18131
7
18132
18133
When operating at 2.5 or 5.0 GT/s: TS2 Identifier.
Encoded as D5.2 (45h).
18134
17166
Standard TS2 Ordered Sets encode this Symbol as a
When operating at 8.0 GT/s or above:
Standard TS2 Ordered Sets encode this Symbol as
18135
TS2 Identifier, 45h.
a TS2 Identifier, 45h.
18136
Page 299
128b/130b EQ TS2 Ordered Sets encode this
Symbol as follows:
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18136
128b/130b EQ TS2 Ordered Sets encode this
Symbol as follows:
17167
18137
18138
17168
Bit 0
18139
17169
8GT EQ TS2 Ordered Sets encode this Symbol as
18140
follows:
17170
Transmitter Precode Request for
operating at 32.0 GT/s or higher Data Rate. See Section 4.2.2.5 Precoding
. This bit is Reserved if the 128b/130b EQ TS2 is sent for equalization
at data rates of 8.0 GT/s or 16.0 GT/s.
18141
18142
17171
Bit 2:1
18143
17172
Bit 2:0 - Reserved
17173
18144
Reserved
18145
18146
17174
17175
Bit 6:3
18147
Bit 6:3 - 16.0 GT/s Transmitter Preset. See
Section 4.2.3.2 Encoding of Presets .
17176
18148
128b/130b Transmitter Preset. See
Section 4.2.3.2 Encoding of Presets .
18149
18150
17177
17178
Bit 7 - Set to 1b.
17179
18152
Set to 1b.
18153
17180
17181
Bit 7
18151
18154
This definition is only valid in the
Recovery.RcvrCfg LTSSM state when Preset values are being communicated.
18155
17182
18156
17183
18157
17184
18158
17185
18159
This definition is only valid in the
Recovery.RcvrCfg LTSSM state when Preset values are being communicated.
18160
18161
17186
8 - 13
17187
18162
8 - 13
18163
18164
When operating at 2.5 or 5.0 GT/s: TS2 Identifier.
Encoded as D5.2 (45h).
18165
When operating at 8.0 GT/s or above: TS2
Identifier. Encoded as 45h.
18166
18167
18168
18169
18170
17188
17189
When operating at 2.5 or 5.0 GT/s: TS2
Identifier. Encoded as D5.2 (45h).
18172
17190
18174
17191
18175
When operating at 8.0 GT/s or above: TS2
Identifier. Encoded as 45h.
Page 300
When operating at 2.5 or 5.0 GT/s: TS2 Identifier.
Encoded as D5.2 (45h).
18173
17192
14-15
18171
When operating at 8.0 GT/s or above: TS2
Identifier (encoded as 45h) or a DC Balance Symbol.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17192
When operating at 8.0 GT/s or above: TS2
Identifier. Encoded as 45h.
17193
18176
17194
18177
17195
18178
17196
18179
17197
14-15
17198
18180
18181
Table 4-8 Modified TS1/TS2 Ordered Set (8b/10b
encoding)
17199
17200
18182
When operating at 2.5 or 5.0 GT/s: TS2
Identifier. Encoded as D5.2 (45h).
18183
Symbol Number
18184
18185
17201
17202
17203
Description
18186
18187
When operating at 8.0 GT/s or above: TS2
Identifier (encoded as 45h) or a DC Balance Symbol.
18188
18189
0
18190
18191
COM (K28.5) for Symbol alignment.
18192
18193
18194
18195
1
18196
18197
18198
Link Number.
18199
18200
18201
Downstream Ports: 0-31, PAD (K23.7).
18202
18203
18204
Upstream Ports: 0-255, PAD (K23.7).
18205
18206
18207
18208
18209
2
18210
18211
Lane Number within Link : 0-31, PAD. PAD is encoded
as K23.7.
18212
18213
18214
18215
3
18216
18217
18218
18219
18220
Page 301
N_FTS. The number of Fast Training Sequences
required by the Receiver: 0-255.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18220
18221
4
18222
18223
18224
Data Rate Identifier
18225
18226
18227
Bit 0
18228
18229
Reserved for future Data Rate.
18230
18231
Bit 1
18232
18233
2.5 GT/s Data Rate Supported. Must be set to
1b.
18234
18235
Bit 2
18236
18237
5.0 GT/s Data Rate Supported. Must be set to 1b
if Bit 3 is 1b. See Section 8.2 Interoperability Criteria .
18238
18239
Bit 3
18240
18241
8.0 GT/s Data Rate Supported. Must be set to 1b
if Bit 4 is 1b.
18242
18243
Bit 4
18244
18245
16.0 GT/s Data Rate Supported. Must be set to
1b if Bit 5 is 1b.
18246
18247
Bit 5
18248
18249
32.0 GT/s Data Rate Supported.
18250
18251
Bit 6
18252
18253
Link Upconfigure Capability
18254
18255
Bit 7
18256
18257
Reserved.
18258
18259
18260
18261
18262
5
18263
18264
18265
18266
Page 302
Training/ Equalization Control
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18266
18267
18268
Bit 0
18269
18270
Equalization bypass to highest rate support.
See Section 4.2.3 Link Equalization Procedure for 8.0 GT/s and Higher
Data Rates
18271
18272
Bit 1
18273
18274
No Equalization Needed bit. See Section 4.2.3
Link Equalization Procedure for 8.0 GT/s and Higher Data Rates
18275
18276
Bit 3:2
18277
18278
Reserved
18279
18280
Bit 4
18281
18282
Retimer Present bit
18283
18284
0b
18285
18286
No Retimers present
18287
18288
1b
18289
18290
One Retimer is present
18291
18292
18293
Bit 5
18294
18295
Two or more Retimers Present
18296
18297
Bit 6
18298
18299
1b
18300
18301
Bit 7
18302
18303
1b
18304
18305
18306
18307
18308
6
18309
18310
18311
For Modified TS1: TS1 Identifier, encoded as
D10.2
18312
Page 303
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18312
18313
18314
For Modified TS2: TS2 Identifier, encoded as
D5.2
18315
18316
18317
18318
18319
7
18320
18321
18322
For Modified TS1: TS1 Identifier, encoded as
D10.2
18323
18324
18325
For Modified TS2: TS2 Identifier, encoded as
D5.2
18326
18327
18328
18329
18330
8-9
18331
18332
18333
Bits 2:0
18334
18335
Modified TS Usage
18336
18337
000b
18338
18339
PCIe protocol only
18340
18341
001b
18342
18343
PCIe protocol only with vendor defined
Training Set Messages
18344
18345
010b
18346
18347
Alternate Protocol Negotiation
18348
18349
011b through 111b
18350
18351
Reserved
18352
18353
18354
18355
Page 304
The values advertised in these bits must be
consistent with the Modified TS Usage Mode Selected field of the 32.0 GT/
s Control register and the capabilities of the device. These are
bits[2:0] of Symbol 8.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18355
18356
18357
Bits 15:3
18358
18359
Modified TS Information 1
18360
18361
If Modified TS Usage = 001b or 010b; else
Reserved.
18362
18363
18364
18365
18366
18367
10-11
18368
18369
18370
Training Set Message Vendor ID if Modified TS
Usage = 001b.
17204
18371
17205
18372
18373
Alternate Protocol Vendor ID if Modified TS Usage
= 010b.
17206
18374
17207
18375
18376
17208
18377
17209
18378
17210
18379
17211
18380
17212
4.2.4.2 Electrical Idle Sequences
17213
12-14
18383
Before a Transmitter enters Electrical Idle, it must always
send an Electrical Idle Ordered Set Sequence (EIOSQ), unless otherwise
specified. An Electrical Idle Ordered Set Sequence (EIOSQ) is defined as
one EIOS if the current Data Rate is 2.5 GT/s, 8.0 GT/s or 16.0 GT/s Data
Rate, or two consecutive EIOSs if the current Data Rate is 5.0 GT/s.
17216
18384
If Modified TS Usage = 001b or 010b, Modified TS
Information 2
18385
17217
17218
18381
18382
17214
17215
Reserved for other cases.
18386
When using 8b/10b encoding, an EIOS is a K28.5 (COM)
followed by three K28.3 (IDL) Symbols. Transmitters must transmit all
Symbols of an EIOS. An EIOS is received when the COM and two of the three
IDL Symbols are received. When using 128b/130b encoding, an EIOS is an
Ordered Set block, as defined in Table 4-8 Electrical Idle Ordered Set
(EIOS) for 8.0 GT/s and Above Data Rates . Transmitters must transmit all
Symbols of an EIOS if additional EIOSs are to be transmitted following
it. Transmitters must transmit Symbols 0-13 of an EIOS, but are permitted
to terminate the EIOS anywhere in Symbols 14 or 15, when transitioning to
Electrical Idle after it. An EIOS is considered received when Symbols 0-3
of an Ordered Set Block match the definition of an EIOS.
18387
18389
18390
18391
18392
15
18393
18394
18395
18396
Page 305
Else, Reserved
18388
Bit-wise even parity of Symbols 4 through 14. . For
example: Bit 0 = Symbol 4 Bit [0] ^ Symbol 5 Bit [0] ^ …. ^ Symbol 14 Bit
[0], … , Bit [7] = Symbol 4 Bit [7] ^ Symbol 5 Bit [7] ^ …. ^ Symbol 14
Bit [7]
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18396
18397
18398
18399
18400
Fields in the Modified TS1/TS2 Ordered Sets that extend
over multiple Symbols use the little endian format using all the bits
over those multiple Symbols. For example, Symbols 8 and 9 of the Modified
TS1/TS2 comprise 16 bits. The Modified TS Usage field goes in bits [2:0]
of Symbol 8 with the bit 0 of Modified TS Usage field placed in bit 0 of
Symbol 8, bit 1 of Modified TS Usage field placed in bit 1 of Symbol 8,
and bit 2 of Modified TS Usage field placed in bit 2 of Symbol 8.
Similarly, bit 12 of the 13 bits of Modified TS Information 1 field is
placed in bit 7 of Symbol 9 where as bit 0 of Modified TS Information 1
is placed in bit 3 of Symbol 8.
18401
18402
18403
18404
18405
4.2.4.2 Alternate Protocol Negotiation
18406
18407
18408
In addition to the decision to skip equalization, alternate
protocols can also be negotiated during the Configuration.Lanenum.Wait,
Configuration.Lanenum.Accept, and Configuration.Complete substates, while
LinkUp=0b, through the exchange of Modified TS1/TS2 Ordered sets in the
8b/10b encoding.
18409
18410
18411
Alternate protocol(s) may be supported with PCIe PHY in
128b/130b encoding. An alternate protocol is defined to be a non-PCIe
protocol using the PCIe PHY layer. One may choose to run PCIe protocol in
addition to one or multiple alternate protocols in the alternate protocol
mode. The Ordered Set blocks are used as-is, along with the rules
governing SKP Ordered Set insertion and the transition between Ordered
Set and Data Blocks. The contents of the Data Blocks, however, may be
modified according to the rules of the alternate protocol.
18412
18413
18414
18415
18416
Implementation Note
Alternate Protocols should have an EDS Token Equivalent
18417
18418
18419
18420
18421
Page 306
The EDS Token is used in PCI Express to indicate a
switch from Data Blocks to Ordered Set blocks. This additional
"redundant" information ensures that a random bit error in the 2 bit
block header isn't incorrectly interpreted as the end of a data stream.
This is one mechanism used by PCI Express to accomplish an undected data
error Hamming Distance of 4.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18421
18422
18423
Alternate protocols should have an equivalent
mechansim.
18424
18425
18426
18427
18428
The following diagram represents the states where alternate
protocol and equalization bypass negotiation occurs:
18429
18430
18431
18432
18433
Figure 4-24 Alternate Protocol Negotiation and
Equalization Bypass LTSSM States
18434
18435
18436
18437
Downstream Ports manage Alternate Protocol Negotiation and
Training Set Messages based on the value of the Modified TS Usage Mode
Selected field when the Port is in Configuration.Lanenum.Wait,
Configuration.Lanenum.Accept, and Configuration.Complete substates with
LinkUp = 0.
18438
18439
18440
Upstream Ports must respond to unsupported Modified TS
Usage values by transmitting Modified TS Usage 000b.
18441
18442
18443
If Modified TS Usage Mode Selected is:
18444
18445
18446
000b
18447
18448
No Alternate Protocol Negotiation or Training Set Message
occurs. The link will operate as a PCI Express Link.
18449
18450
001b
18451
18452
Training Set Messages are enabled. Modified TS
Information 1 and Modified TS Information 2 fields carry the vendor
specific messages defined by the Training Set Message Vendor ID field.
18453
18454
010b
18455
18456
Page 307
Alternate Protocol Negotiation is enabled. Modified TS
Information 1 and Modified TS Information 2 fields carry the alternate
protocol details defined by the Alternate Protocol Vendor ID field. A
protocol request or response is associated with the protocol determined
by Alternate Protocol Details and Alternate Protocol Vendor ID. A
protocol request or response is associated with the protocol defined by
the Alternate Protocol Vendor ID field.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18456
Alternate Protocol Negotiation is enabled. Modified TS
Information 1 and Modified TS Information 2 fields carry the alternate
protocol details defined by the Alternate Protocol Vendor ID field. A
protocol request or response is associated with the protocol determined
by Alternate Protocol Details and Alternate Protocol Vendor ID. A
protocol request or response is associated with the protocol defined by
the Alternate Protocol Vendor ID field.
18457
18458
The Alternate Protocol Negotiation Status field
indicates the progress of the negotiation protocol.
18459
18460
18461
others
18462
18463
Reserved
18464
18465
18466
A Downstream Port that supports Alternate Protocol
Negotiation will start the negotiation process when it first enters
Configuration.Lanenum.Wait, LinkUp = 0, and Modified TS Usage Mode
Selected field is 010b. Starting negotiation consists of sending Modified
TS1/TS2 Ordered Sets with Modified TS Usage = 010b.
18467
18468
18469
18470
Table 4-9 Modified TS Information 1 field in Modified
TS1/TS2 Ordered Sets if Modified TS Usage = 010b (Alternate Protocol)
18471
18472
Bits
18473
18474
Field
18475
18476
Description
18477
18478
18479
18480
4:3
18481
18482
Alternate Protocol Negotiation Status
18483
18484
For Modified TS1 Ordered Sets:
18485
18486
00b
18487
18488
18489
DP
18490
18491
18492
Indicates a protocol request from the
Downstream Port asking whether the Upstream Port supports a particular
alternate protocol.
18493
18494
18495
18496
Page 308
UP
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18496
18497
18498
Indicates that the Upstream Port does not
have an answer for a protocol request yet. This occurs either when it is
evaluating the protocol request or it has not received two consecutive
Modified TS1s to perform the evaluation. In the former case, Alternate
Protocol Vendor ID and Alternate Protocol Details reflect what it
received, while Modified TS Information 2 is protocol specific. In the
latter case, all 3 fields must be 0.
18499
18500
18501
18502
01b
18503
18504
18505
DP
18506
18507
Reserved
18508
18509
UP
18510
18511
18512
Indicates that the Upstream Port does not
support the requested protocol. Alternate Protocol Vendor ID and
Alternate Protocol Details reflect what it received. Modified TS
Information 2 must be all 0s.
18513
18514
18515
18516
10b
18517
18518
18519
DP
18520
18521
Reserved
18522
18523
UP
18524
18525
18526
Indicates that the Upstream Port supports
the requested protocol. Alternate Protocol Vendor ID and Alternate
Protocol Details reflect what it received, while Modified TS Information
2 field is protocol specific.
18527
18528
18529
18530
11b
18531
18532
18533
18534
Page 309
Reserved
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18534
18535
For Modified TS2 Ordered Sets:
18536
18537
18538
00b
18539
18540
18541
Indicates a protocol confirmation from the
Downstream Port as well as the Upstream Port. Behavior is undefined if
the Downstream Port had not earlier received status 10b for this protocol
in this instance of protocol negotiation during the Modified TS1 Ordered
Sets. Similarly, behavior is undefined if the Upstream Port had not
earlier transmitted status 10b for this protocol in this instance of
protocol negotiation during the Modified TS1 Ordered Sets.
18542
18543
18544
No protocol is selected unless the Downstream
Port sends and receives a protocol confirmation in the Modified TS2
Ordered Sets. If the Downstream Port decides not to use any Alternate
Protocol, it may optionally indicate this by transmitting Modified TS2
Ordered Set with Modified TS Usage of 000b.
18545
18546
18547
01b, 10b, 11b
18548
18549
Reserved
18550
18551
18552
18553
18554
15:5
18555
18556
Alternate Protocol Details
18557
18558
18559
Alternate Protocol Details is Modified TS Usage =
010b.
18560
18561
18562
18563
18564
18565
18566
If Modified TS Usage = 001b, then Modified TS Information 1
and Modified TS Information 2 contain details of the training set
messages.
18567
18568
18569
Page 310
Alternate Protocol Negotiation must be concurrent with the
Lane number negotiation. The DP is responsible for ensuring that they
arrive at a consensus on the Alternate Protocol Negotiation prior to
transitioning to Configuration.Complete substate. It is permitted to fall
back to PCIe protocol if the Alternate Protocol Negotiation does not
arrive at a consensus. On a successful negotiation to alternate protocol,
the Link moves to L0 at 2.5 GT/s, switches the data rate to the higher
data rates, performing equalization, if needed and enters L0 at the
higest data rate desired. After transmitting the SDS Ordered Set in the
highest data rate after equalization has been performed, the Data Blocks
will carry the alternate protocol and the Link will be under the control
of the alternate protocol.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18569
Alternate Protocol Negotiation must be concurrent with the
Lane number negotiation. The DP is responsible for ensuring that they
arrive at a consensus on the Alternate Protocol Negotiation prior to
transitioning to Configuration.Complete substate. It is permitted to fall
back to PCIe protocol if the Alternate Protocol Negotiation does not
arrive at a consensus. On a successful negotiation to alternate protocol,
the Link moves to L0 at 2.5 GT/s, switches the data rate to the higher
data rates, performing equalization, if needed and enters L0 at the
higest data rate desired. After transmitting the SDS Ordered Set in the
highest data rate after equalization has been performed, the Data Blocks
will carry the alternate protocol and the Link will be under the control
of the alternate protocol.
18570
18571
18572
18573
18574
4.2.4.3 Electrical Idle Sequences (EIOS)
18575
18576
18577
Before a Transmitter enters Electrical Idle, it must always
send an Electrical Idle Ordered Set Sequence (EIOSQ), unless otherwise
specified. An Electrical Idle Ordered Set Sequence (EIOSQ) is defined as
one EIOS if the current Data Rate is 2.5 GT/s, 8.0 GT/s, 16.0 GT/s, or
32.0 GT/s Data Rate, or two consecutive EIOSs if the current Data Rate is
5.0 GT/s.
18578
18579
18580
17219
18581
17220
18582
17221
18583
17222
Implementation Note
Truncation of EIOS Ordered Set
17223
18584
18585
17224
18586
17225
18587
17226
17227
When using 8b/10b encoding, an EIOS is a K28.5 (COM)
followed by three K28.3 (IDL) Symbols. Transmitters must transmit all
Symbols of an EIOS. An EIOS is received when the COM and two of the three
IDL Symbols are received. When using 128b/130b encoding, an EIOS is an
Ordered Set block, as defined in Table 4-11 Electrical Idle Ordered Set
(EIOS) for 8.0 GT/s and Above Data Rates . Transmitters must transmit all
Symbols of an EIOS if additional EIOSs are to be transmitted following
it. Transmitters must transmit Symbols 0-13 of an EIOS, but are permitted
to terminate the EIOS anywhere in Symbols 14 or 15, when transitioning to
Electrical Idle after it. An EIOS is considered received when Symbols 0-3
of an Ordered Set Block match the definition of an EIOS.
Implementation Note
Truncation of EIOS Ordered Set
18588
Truncation in the last EIOS is allowed to help
implementations where a transmitter may terminate on an internal clock
boundary that may not align on a Symbol boundary due to 128b/130b
encoding. Truncation is okay since Receivers will just look at the first
four Symbols to conclude it is an EIOS.
18589
17228
18590
17229
18591
Page 311
Truncation in the last EIOS is allowed to help
implementations where a transmitter may terminate on an internal clock
boundary that may not align on a Symbol boundary due to 128b/130b
encoding. Truncation is okay since Receivers will just look at the first
four Symbols to conclude it is an EIOS.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17229
18591
17230
18592
17231
17232
18593
After transmitting the last Symbol of the last Electrical
Idle Ordered Set, the Transmitter must be in a valid Electrical Idle
state as specified by TTX-IDLE-SET-TO-IDLE (see Table 8-7 Data Rate
Independent Tx Parameters ).
18594
17233
18595
17234
18596
17235
17236
18597
Table 4-7 Electrical Idle Ordered Set (EIOS) for 2.5
GT/s and 5.0 GT/s Data Rates
17237
18598
Table 4-10 Electrical Idle Ordered Set (EIOS) for 2.5
GT/s and 5.0 GT/s Data Rates
18599
17238
Symbol Number
17239
18600
Symbol Number
18601
17240
Encoded Values
17241
18602
Encoded Values
18603
17242
Description
18604
17243
18605
17244
18606
17245
Description
18607
17246
0
17271
18608
0
18633
17272
K28.3
17273
18634
K28.3
18635
17274
IDL
18636
17275
18637
17276
18638
17277
18639
17278
18640
17279
18641
17280
17281
After transmitting the last Symbol of the last Electrical
Idle Ordered Set, the Transmitter must be in a valid Electrical Idle
state as specified by TTX-IDLE-SET-TO-IDLE (see Table 8-7 Data Rate
Independent Tx Parameters ).
IDL
18642
Table 4-8 Electrical Idle Ordered Set (EIOS) for 8.0
GT/s and Above Data Rates
17282
17283
18645
Value
18647
Description
18649
18650
17289
18651
17290
18653
66h
18655
66h
18656
EIOS Identifier and Payload
18657
17296
18658
17297
18659
17298
18660
Page 312
0-15
18654
17294
17295
Description
18652
0-15
17292
17293
Value
18648
17288
17291
Symbol Numbers
18646
17286
17287
Table 4-11 Electrical Idle Ordered Set (EIOS) for 8.0
GT/s and Above Data Rates
18644
Symbol Numbers
17284
17285
18643
EIOS Identifier and Payload
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17298
18660
17299
18661
17300
18662
17301
18663
17302
Table 4-9 Electrical Idle Exit Ordered Set (EIEOS) for
18664
5.0 GT/s Data Rate
17303
18665
17304
Symbol Number
17305
18666
Encoded Values
17307
18668
Description
18670
17309
18671
17310
18672
17311
Description
18673
17312
0
17335
18674
0
18697
Notes:
This symbol is not scrambled. Previous versions of
this specification were less clear and some implementations may have
incorrectly scrambled this symbol. It is recommended that devices be
tolerant of receiving EIEOS in which this symbol is scrambled.
18698
18699
17338
18700
17339
18701
17340
18702
17341
18703
17342
18704
17343
18705
17344
17345
Encoded Values
18669
17308
17337
Symbol Number
18667
17306
17336
Table 4-12 Electrical Idle Exit Ordered Set (EIEOS) for
5.0 GT/s Data Rate
Notes:
This symbol is not scrambled. Previous versions of
this specification were less clear and some implementations may have
incorrectly scrambled this symbol. It is recommended that devices be
tolerant of receiving EIEOS in which this symbol is scrambled.
18706
Table 4-10 Electrical Idle Exit Ordered Set (EIEOS) for
8.0 GT/s Data Rates
17346
18707
Table 4-13 Electrical Idle Exit Ordered Set (EIEOS) for
8.0 GT/s Data Rates
18708
17347
Symbol Numbers
17348
18709
Symbol Numbers
18710
17349
Value
17350
18711
Value
18712
17351
Description
18713
17352
18714
17353
18715
17354
Description
18716
17355
0, 2, 4, 6, 8, 10, 12, 14
17369
18717
0, 2, 4, 6, 8, 10, 12, 14
18731
17370
FFh
17371
18732
FFh
18733
17372
A low frequency pattern that alternates between
18734
eight 0s and eight 1s.
17373
18735
17374
18736
17375
18737
17376
18738
17377
18739
Page 313
A low frequency pattern that alternates between
eight 0s and eight 1s.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17377
18739
17378
17379
18740
Table 4-11 Electrical Idle Exit Ordered Set (EIEOS) for
16.0 GT/s Data Rate
17380
18741
18742
17381
Symbol Numbers
17382
18743
Symbol Numbers
18744
17383
Value
17384
18745
Value
18746
17385
Description
18747
17386
18748
17387
18749
17388
Description
18750
17389
0, 1, 4, 5, 8, 9, 12, 13
17403
18751
0, 1, 4, 5, 8, 9, 12, 13
18765
17404
FFh
17405
17406
Table 4-14 Electrical Idle Exit Ordered Set (EIEOS) for
16.0 GT/s Data Rate
18766
FFh
18767
A low frequency pattern that alternates between
sixteen 0s and sixteen 1s.
18768
17407
18769
17408
18770
17409
18771
17410
18772
17411
18773
17412
18774
18775
A low frequency pattern that alternates between
sixteen 0s and sixteen 1s.
Table 4-15 Electrical Idle Exit Ordered Set (EIEOS) for
32.0 GT/s Data Rate
18776
18777
Symbol Numbers
18778
18779
Value
18780
18781
Description
18782
17413
17414
18783
Figure 4-22 Electrical Idle Exit Ordered Set for 8.0 GT/s
and Above Data Rates
18784
18785
0, 1, 2, 3, 8, 9, 10, 11
18786
18787
00h
18788
18789
18790
Symbol 0: EIEOS Identifier
18791
18792
18793
A low frequency pattern that alternates between
thirty-two 0s and thirty-two 1s.
18794
18795
18796
18797
18798
Page 314
4, 5, 6, 7, 12, 13, 14, 15
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
18798
4, 5, 6, 7, 12, 13, 14, 15
18799
18800
FFh
18801
18802
A low frequency pattern that alternates between
thirty-two 0s and thirty-two 1s.
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
17415
18813
17416
18814
17417
17418
18815
The Electrical Idle Exit Ordered Set (EIEOS) is transmitted
only when operating at speeds other than 2.5 GT/s. It is a low frequency
pattern transmitted periodically to help ensure that receiver Electrical
Idle exit circuitry can detect an exit from Electrical Idle. When using
128b/130b encoding, it is also used for Block Alignment as described in
Section 4.2.2.2.1 Block Alignment .
17419
18816
The Electrical Idle Exit Ordered Set (EIEOS) is transmitted
only when operating at speeds other than 2.5 GT/s. It is a low frequency
pattern transmitted periodically to help ensure that receiver Electrical
Idle exit circuitry can detect an exit from Electrical Idle. When using
128b/130b encoding, it is also used for Block Alignment as described in
Section 4.2.2.2.1 Block Alignment .
18817
17420
17421
Figure 4-25 Electrical Idle Exit Ordered Set for 8.0 GT/s
and Above Data Rates (EIEOS)
18818
When using 8b/10b encoding and operating at 5.0 GT/s, an
EIEOS, as defined in Table 4-9 Electrical Idle Exit Ordered Set (EIEOS)
for 5.0 GT/s Data Rate , is transmitted in the following situations:
18819
An Electrical Idle Exit Ordered Set Sequence (EIEOSQ)
comprises of two consecutive EIEOS for data rates of 32.0 GT/s and above
and one EIEOS for 5.0 GT/s, 8.0 GT/s, and 16.0 GT/s. The two EIEOS at
32.0 GT/s must be back to back and uniterrupted in order to be considered
consecutive and form an EIEOSQ. Irrespective of the length of the EIEOSQ,
block alignment still occurs on an EIEOS.
18820
18821
18822
17422
17423
17424
17425
17426
17427
When using 8b/10b encoding and operating at 5.0 GT/s, an
EIEOSQ, as defined in Table 4-12 Electrical Idle Exit Ordered Set (EIEOS)
for 5.0 GT/s Data Rate , is transmitted in the following situations:
18823
Before the first TS1 Ordered Set after entering the LTSSM
Configuration.Linkwidth.Start state.
Before the first TS1 Ordered Set after entering the LTSSM
Recovery.RcvrLock state.
After every 32 TS1 or TS2 Ordered Sets are transmitted in
the LTSSM Configuration.Linkwidth.Start, Recovery.RcvrLock, and
Recovery.RcvrCfg states. The TS1/TS2 count is set to 0 when:
An EIEOS is transmitted.
The first TS2 Ordered Set is received while in the
LTSSM Recovery.RcvrCfg state.
17428
Page 315
18824
18825
18826
18827
18828
18829
Before the first TS1 Ordered Set after entering the LTSSM
Configuration.Linkwidth.Start state.
Before the first TS1 Ordered Set after entering the LTSSM
Recovery.RcvrLock state.
After every 32 TS1 or TS2 Ordered Sets are transmitted in
the LTSSM Configuration.Linkwidth.Start, Recovery.RcvrLock, and
Recovery.RcvrCfg states. The TS1/TS2 count is set to 0 when:
An EIEOS is transmitted.
The first TS2 Ordered Set is received while in the
LTSSM Recovery.RcvrCfg state.
/private/tmp/PCISIG/pcie4_combined-snapshot.html vs.
/private/tmp/PCISIG/NCB-PCI_Express_Base_5.0r1.0-2019-05-22.html
17428
18829
17429
18830
17430
17431
18831
When using 128b/130b encoding, an EIEOS, as defined in
Table 4-10 Electrical Idle Exit Ordered Set (EIEOS) for 8.0 GT/s Data
Rates and Figure 4-22 Electrical Idle Exit Ordered Set for 8.0 GT/s and
Above Data Rates , is transmitted in the following situations:
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17444
18835
18836
18837
18838
18839
18840
18841
18842
Before the first TS1 Ordered Set after entering the LTSSM
Configuration.Linkwidth.Start substate.
Before the first TS1 Ordered Set after entering the LTSSM
Recovery.RcvrLock substate.
Immediately following an EDS Framing Token when ending a
Data Stream and not transmitting an EIOS and not entering the LTSSM
Recovery.RcvrLock substate.
After every 32 TS1 or TS2 Ordered Sets are transmitted in
all LTSSM states which require transmission of TS1 or TS2 Ordered Sets.
The TS1/TS2 count is set to 0 when:
An EIEOS is transmitted.
The first TS2 Ordered Set is received while in the
LTSSM Recovery.RcvrCfg state.
The first TS2 Ordered Set is received while in the
LTSSM Configuration.Complete state.
A Downstream Port is in Phase 2 of the LTSSM
Recovery.Equalization state and two consecutive TS1 Ordered Sets are
received on any Lane with the Reset EIEOS Interval Count bit set.
An Upstream Port is in Phase 3 of the LTSSM
Recovery.Equalization state and two consecutive TS1 Ordered Sets are
received on any Lane with the Reset EIEOS Interval Count bit set.
18844
18845
After every 65,536 TS1 Ordered Sets are transmitted in the
LTSSM Recovery.Equalization state if the Reset EIEOS Interval Count bit
has prevented it from being transmitted for that interval.
Implementations are permitted to satisfy this requirement by transmitting
an EIEOSQ within two TS1 Ordered Sets of when the scrambling LFSR matches
its seed value.
As part of an FTS Ordered Set, Compliance Pattern, or
Modified Compliance pattern as described in the relevant sections.
18846
17446
Page
18834
18843
After every 65,536 TS1 Ordered Sets are transmitted in the
LTSSM Recovery.Equalization state if the Reset EIEOS Interval Count bit
has prevented it from being transmitted for that interval.
Implementations are permitted to satisfy this requirement by transmitting
an EIEOS within two TS1 Ordered Sets of when the scrambling LFSR matches
its seed value.
As part of an FTS Ordered Set, Compliance Pattern, or
Modified Compliance pattern as described in the relevant sections.
17445
17447
When using 128b/130b encoding, an EIEOSQ, as defined in
Table 4-13 Electrical Idle Exit Ordered Set (EIEOS) for 8.0 GT/s Data
Rates through Table 4-15 Electrical Idle Exit Ordered Set (EIEOS) for
32.0 GT/s Data Rate and Figure 4-25 Electrical Idle Exit Ordered Set for
8.0 GT/s and Above Data Rates (EIEOS) , is transmitted in the following
situations:
18833
Before the first TS1 Ordered Set after entering the LTSSM
Configuration.Linkwidth.Start substate.
Before the first TS1 Ordered Set after entering the LTSSM
Recovery.RcvrLock substate.
Immediately following an EDS Framing Token when ending a
Data Stream and not transmitting an EIOS and not entering the LTSSM
Recovery.RcvrLock substate.
After every 32 TS1 or TS2 Ordered Sets are transmitted in
all LTSSM states which require transmission of TS1 or TS2 Ordered Sets.
The TS1/TS2 count is set to 0 when:
An EIEOS is transmitted.
The first TS2 Ordered Set is received while in the
LTSSM Recovery.RcvrCfg state.
The first TS2 Ordered Set is received while in the
LTSSM Configuration.Complete state.
A Downstream Port is in Phase 2 of the LTSSM
Recovery.Equalization state and two consecutive TS1 Ordered Sets are
received on any Lane with the Reset EIEOS Interval Count bit set.
An Upstream Port is in Phase 3 of the LTSSM
Recovery.Equalization state and two consecutive TS1 Ordered Sets are
received on any Lane with the Reset EIEOS Interval Count bit set.
17442
17443
18832
18847
Example: An LTSSM enters Recovery.RcvrLock from L0 in 5.0
GT/s data rate. It transmits an EIEOS followed by TS1 Ordered Sets. It
transmits 32 TS1 Ordered Sets following which it transmits the second
EIEOS. Subsequently it sends two more TS1 Ordered Sets and enters
Recovery.RcvrCfg where it transmits the third EIEOS after transmitting 30
TS2 Ordered Sets. It transmits 31 more TS2 Ordered Sets (after the first
30 TS2 Ordered Sets) in Recovery.RcvrCfg when it receives a TS2 Ordered
Set. Since it receives its first TS2 Ordered Set, it will reset its EIEOS
interval count to 0 and keep transmitting another 16 TS2 Ordered Sets
before transitioning to Recovery.Idle. Thus, it did not send an EIEOS in
the midst of the last 47 TS2 Ordered Sets since the EIEOS interval count
316
got reset to 0b. From Recovery.Idle, the LTSSM transitions to
Configuration.Linkwidth.Start and transmits an EIEOS after which it
starts transmitting the TS1 Ordered Sets.
18848
Example: An LTSSM enters Recovery.RcvrLock from L0 in 5.0
GT/s data rate. It transmits an EIEOS followed by TS1 Ordered Sets. It
transmits 32 TS1 Ordered Sets following which it transmits the second
EIEOS. Subsequently it sends two more TS1 Ordered Sets and enters
Recovery.RcvrCfg where it transmits the third EIEOS after transmitting 30
TS2 Ordered Sets. It transmits 31 more TS2 Ordered Sets (after the first
30 TS2 Ordered Sets) in Recovery.RcvrCfg when it receives a TS2 Ordered
Set. Since it receives its first TS2 Ordered Set, it will reset its EIEOS
interval count to 0 and keep transmitting another 16 TS2 Ordered Sets
before transitioning to Recovery.Idle. Thus, it did not send an EIEOS in
the midst
Download