自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 Tx EQ 小实验

本文旨在用通俗的语言和直观的实验来讲解高速信号中常见的发送端的均衡器的作用。目前很多串行协议规范都定义了发送端均衡器,用于解决主要由介质损耗引起的码间串扰(ISI)问题。电信号一般需要通过金属介质(线缆或者PCB走线)来传递,而不同频率的信号在同一种介质上传输时,其产生的损耗会有差别。一般来说,高频信号损耗的往往比低频信号要大。从信号波形上来看,在介质上传输引起的损耗会导致信号的电压降低(功率衰减)。考虑到数字电路中传输的是方波(或接近方波的信号),而方波从频域上来看是多个频率的正弦波的叠加。标准的方波

2021-09-18 16:45:21 1302 2

转载 PCIe扫盲——PCIe演进方向?CCIX简介

摩尔定律逐渐降速,业界需要一同寻找提升计算性能、同时保持低功耗的方法。CCIX联盟的成立旨在实现一种新型互联,专注于新兴的加速应用,如机器学习、网络处理、存储卸载、内存数据库和4G/5G 无线技术。这个标准使得基于不同指令集的处理器,将缓存一致性、对等计算的优势扩展至许多加速设备包括FPGA、GPU、网络或存储适配器、智能网络和定制的专用集成电路。CCIX 通过扩展现有成熟的数据中心硬件和软件基础设施来简化开发和采用。这最终能使系统设计者将合适的异构组件无缝集成来满足特定系统需求。缓存一致性的加速器互联

2021-05-21 19:54:43 2940 1

原创 PCIe扫盲——ReTimer和ReDriver简介

自2019年下半年,PCIeGen5正式发布以来,其单个Lane/Channel速率已达32Gbps,传统的FR4电路板支持这么高的速率是完全不可能的事情。即使面对的是Gen4带来的16Gbps,FR4仍在瑟瑟发抖……在6GT/s以下的串行通信协议中,8B/10B编码的是绝对的主流,其完美的DC均衡编码,极大地降低了串行收发器(尤其是Receiver)的设计难度。但是8B/10B的浪费20%带宽的缺点,限制了其在6GT/s以上速率串行协议中的进一步演进……于是各种高效率编码开始出现,如Ethernet.

2021-05-21 19:53:55 26612

转载 PCIe扫盲——M-PCIe与MIPI M-PHY

M-PCIe即Mobile PCIe,主要应用对象是智能手机等嵌入式设备。PCI-SIG在PCIe Spec V3.1中引入基于MIPI M-PHY v2.0的M-PCIe。相比于标准的PCIe总线,M-PCIe主要的改动在物理层如下图所示。引入M-PHY,旨在获得更低的功耗以适应于嵌入式设备的低功耗要求。M-PCIe的数据链路层(Data Link Layer)、事务层(Transaction Layer)以及软件,驱动等均可实现与标准的PCIe总线相兼容。M-PCIe的主要特性如下:

2021-05-21 19:53:12 3755 1

转载 PCIe扫盲——128/130b编码详解

前面的文章介绍过PCIe的Gen1和Gen2模式下,物理层使用的是8b/10b的编码。这种编码方式能够实现直流均衡,并且能将数据流中的连0连1控制在5个以内(最多5个连续的1或者0),从而可以降低物理层CDR设计的复杂度。但是8b/10b编码的缺点也很明显:浪费了20%的带宽资源,以PCIe Gen2为例,5GT/s的速率却只有4Gbps的带宽。注:PCIe的真实带宽还受到TLP包中的非数据内容,DLLP和Ordered Sets,甚至Root端的驱动和应用程序的影响。具体可以参考之前的文章:http:

2021-05-21 19:52:28 8227

转载 PCIe扫盲——关于PCIe参考时钟的讨论

本文来聊一聊PCIe系统中的参考时钟,主要参考资料为PCIe Base Spec和CEM Spec。在1.0a和1.1版本的PCIe Base Spec中并没有详细的关于参考时钟的描述,而是在与之对应的CEM Spec中提及。从V2.0版的PCIe Base Spec开始,在物理层电气子层章节中增加了参考时钟相关的内容,同时提出了PCIe参考时钟的三种架构: 1、Common Refclk (Shared Refclk) Architecture 2、Data Clocked Rx Ar....

2021-05-21 19:51:50 9667 1

转载 PCIe中的Crosslink与Multi-Root/Multi-Processor系统

在PCIe总线中,Switch是一个特殊的设备,该设备由1个上游端口和2~n个下游端口组成。PCIe总线规定,在一个Switch中可以与RC直接或者间接相连的端口为上游端口,在PCIe总线中,RC的位置一般在上方,这也是上游端口这个称呼的由来。在Switch中除了上游端口外,其他所有端口都被称为下游端口。下游端口一般与EP相连,或者连接下一级Switch继续扩展PCIe链路。其中与上游端口相连的PCIe链路被称为上游链路,与下游端口相连的PCIe链路被称为下游链路。在Switch中,还有两个与端口相关的

2021-05-21 19:49:56 1749

转载 PCIe扫盲——基于WinDriver快速开发PCIe驱动简明教程

本文将简要介绍如何使用Jungo公司的WinDriver工具快速开发PCI Express设备驱动,以及相关注意事项。本文所使用的的测试平台信息如下: ※操作系统:Win7 SP1 64bit ※驱动开发工具:WinDriver12.1 ※应用程序开发工具:MSVS2012 ※PCIe测试板卡:Lattice ECP5 Versa Board ※FPGA开发工具:Lattice Diamond 3.11 ※PCIe参考设计:ThroughPut Gen

2021-05-21 19:49:20 4090 1

转载 PCIe扫盲——PCIe总线性能评估(有效数据速率估算)

前面的文章提到过PCIe总线(Gen1&Gen2)采用了8b/10b编码,因此其有效数据速率为物理线路上的速率的80%。即Gen1的有效速率为2.0Gbps=2.5Gbps*80%,而Gen2的有效速率为4Gbps=5Gbps*80%。如果以数据包的Data Payload为真实有效数据,来计算得话,实际应用中的有效速率会更低。因为,数据包的包头、包尾(LCRC和ECRC等)、数据链路层添加的包编号等等;用于Ack/Nak和Flow Control等的DLLP;用于链路训练和Skip的Order

2021-05-21 19:48:28 2981

转载 PCIe扫盲——PCIe卡Spec(CEM)导读

前面的文章介绍过,PCIe总线除了有Base Spec,还有关于PCIe卡的Spec(又称为CEM Spec,全称为PCI Express Card Electromechanical Specification)。该Spec主要内容包括辅助信号(Auxiliary Signals)、热插拔(Add-in Card Hot Insertion and Removal)、电源传递(Power Delivery)、PCIe卡电气规范(Add-in Card Electrical Budget)、连接器规范(Co

2021-05-18 08:50:12 5798

转载 PCIe扫盲——Power Management概述(二)——链路唤醒与PME产生

链路唤醒机制可以让处于非D0状态的Endpoint,通过唤醒来请求Root(软件层)让其返回D0状态。PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。需要注意的是,PME消息本质上也是Message,也就是说PME消息也是一种TLP,因此PME消息只能在链路处于L0状态下,才可以正常发送。注:

2021-05-18 08:49:09 4449

转载 PCIe扫盲——Power Management概述(一)

PCIe总线定义的与功耗管理功能(Power Management,PM)相关的主要有:PCI-Compatible PM、Native PCIe Extensions、Bandwith Management和Event Timing Optimization。其中,PCI-Compatible PM是一种在软件上和硬件上都与PCI-PM(定义在ACPI Spec中)兼容的模式,其要求PCIe设备的每个Function都包含PCI Power Management Capability寄存器。软件可以通

2021-05-18 08:47:36 3256

转载 PCIe扫盲——弹性缓存(Elastic Buffer/ CTC Buffer)

前面在介绍PCIe物理层逻辑子层的文章中,有提到过弹性缓存(Elastic Buffer,又称为CTC Buffer或者Synchronization Buffer)。其本质上是一种FIFO,主要用于解决跨时钟域问题。当然,PCIe的弹性缓存还用于补偿时钟误差(Compensate for the clock differences)。实际上,除了PCIe,弹性缓存还广泛应用于其它的高速串行接口——USB、InfiniBand、Fibre Channel、Gigabit Ethernet等基于SerDes的

2021-05-18 08:45:59 3648

转载 PCIe扫盲——PCI Express物理层接口(PIPE)

PCIe物理层接口(Physical Interface for PCI Express,PIPE)定义了物理层中的,媒介层(Media Access Layer,MAC)和物理编码子层(Physical Coding Sub-layer,PCS)之间的统一接口,旨在为提供一种统一的行业标准。如下图所示:其中MAC和PCS都属于PCIe中的物理层逻辑子层部分,而PMA(Physical Media Attachment Layer)则属于物理层电气子层。需要注意的是,PIPE规范是由Intel提出的

2021-05-18 08:45:14 4376

转载 PCIe扫盲——热插拔简要介绍

某些特殊的应用场合可能要求PCIe设备能够以高可靠性持续不间断运行,为此,PCIe总线采用热插拔(Hot Plug)和热切换(Hot Swap)技术,来实现不关闭系统电源的情况下更换PCIe卡设备。注:热切换(Hot Swap)和热插拔的主要区别是应用领域不同,热插拔主要应用于PC以及服务器的主板上的板卡连接,而热切换主要针对的是CPCI(CompactPCI ,一种常用于仪器仪表的接口)应用的。具体请参考PCIe Spec和PCIe CEM Spec的相关章节。PCIe总线的热插拔主要指的是PCI

2021-05-18 08:44:35 3005

转载 PCIe扫盲——复位机制介绍(FLR)

PCIe总线自V2.0加入了功能层复位(Function Level Reset,FLR)的功能。该功能主要针对的是支持多个功能的PCIe设备(Multi-Fun PCIe Device),可以实现只对特定的Function复位,而其他的Function不受影响。当然,该功能是可选的,并非强制的,软件可以通过查询配置空间中的设备功能寄存器(Device Capability Register)来查询该PCIe设备是否支持FLR。如下图所示:并可以通过设备控制寄存器(Device Control Re

2021-05-18 08:38:59 2489

转载 PCIe扫盲——复位机制介绍(Fundamental & Hot)

PCIe总线中定义了四种复位名称:冷复位(Cold Reset)、暖复位(Warm Reset)、热复位(Hot Reset)和功能层复位(Function-Level Reset,FLR)。其中FLR是PCIe Spec V2.0加入的功能,因此一般把另外三种复位统称为传统的复位方式(Conventional Reset)。其中冷复位和暖复位是基于边带信号PERST#的,又被统称为基本的复位方式(Fundamental Reset)。基本复位由硬件自动处理,会复位整个PCIe设备,初始化所有与状态机相

2021-05-18 08:38:09 1418

转载 PCIe扫盲——中断机制介绍(MSI-X)

PCI总线自3.0版本开始支持MSI-X机制,对MSI做出了一些升级和改进,以克服MSI机制的三个主要的缺陷:1. 随着系统的发展,对于特定的大型应用,32个中断向量不够用了(参考前一篇文章);2. 只有一个目标地址使得多核CPU情况下的,静态中断分配变得困难。如果能够使每个向量对应不同的唯一的地址,便会灵活很多;3. 某些应用中的中断优先级混乱问题。有趣的是,MSI只支持32个中断向量,而MSI-X支持多达2048个中断向量,但是MSI-X的相关寄存器在配置空间中占...

2021-05-18 08:37:24 632

转载 PCIe扫盲——中断机制介绍(MSI)

前面的文章中介绍过,MSI本质上是一种Memory Write,和PCIe总线中的Message概念半毛钱关系都没有。并且,MSI的Data Payload也是固定的,始终为1DW。由于MSI也是从PCI总线继承而来的,因此MSI相关的寄存器也存在于配置空间中的PCI兼容部分(前256个字节)。如下图所示,MSI有四种类型:其中Capability ID的值是只读的,05h表示支持MSI功能。Next Capability Pointer也是只读的,其用于查找下一个Capability

2021-05-18 08:36:39 1695 2

转载 PCIe扫盲——中断机制介绍(INTx)

一个简单的PCI总线INTx中断实现流程,如下图所示。1. 首先,PCI设备通过INTx边带信号产生中断请求,经过中断控制器(Interrupt Controller,PIC)后,转换为INTR信号,并直接发送至CPU;2. CPU收到INTR信号置位后,意识到了中断请求的发生,但是此时并不知道是什么中断请求。于是通过一个特殊的指令来查询中断请求信息,该过程一般被称为中断应答(Interrupt Acknowledge);3. 该特殊指令被发送至PIC后,PIC会返回一个...

2021-05-16 08:47:28 3192

转载 PCIe扫盲——两种中断传递方式

为了能够让一些优先级高的事务得到优先处理,PCI总线支持外设中断用以提高总线性能。PCIe总线继承了PCI总线的所有中断特性(包括INTx和MSI/MSI-X),以兼容早期的一些PCI应用层软件。本次连载的文章只是简单的介绍PCIe中断的一些基本概念和特性,如需深入了解PCI/PCIe总线的中断内容,请参阅PCI/PCI-X Spec或者Mindshare的书籍(PCI System Architecture)。PCI总线最早采用的中断机制是INTx,这是基于边带信号的。后续的PCI/PCI-X版本,为

2021-05-16 08:46:10 448

转载 PCIe扫盲——高级错误报告AER(二)

这一篇文章讲一讲,高级错误报告(Advanced Error Reporting,AER)关于可校正和不可校正错误的相关寄存器,以及Root如何处理来自其他PCIe设备的错误消息等内容。Ø 高级可校正错误处理(Advanced Correctable Error Handling)o 高级可校正错误状态高级可校正错误状态寄存器如下图所示,当相关错误发生后,硬件会自动地将对应bit置1。软件可以通过向对应bit写1,来清零。o 高级可校正错误屏蔽高级可校正错误屏蔽寄存器如...

2021-05-16 08:45:33 2774

转载 PCIe扫盲——高级错误报告AER(一)

前面的文章提到过高级错误报告(Advanced Error Reporting,AER),接下来详细地介绍一下这一功能。在已有的PCIe错误报告机制上(之前文章介绍的),AER还支持以下特性:· 在登记实际发生的错误类型时,有更好的粒度(Granularity,可以理解为区分度或者精确度)· 区分各种不可校正错误的严重程度· 支持登记包头中的错误· 为Root通过中断报告接收到的错误消息提供了标准化的控制机制·...

2021-05-16 08:44:55 3038

转载 PCIe扫盲——PCIe错误报告机制

PCIe总线有三种错误报告方式,分别是:1. Completions:通过Completion中的状态位向Requestor返回错误信息2. Poisoned Packet(又称为错误传递,Error Forwarding):告知接收端当前TLP的Data Payload已经被破坏3. Error Message(错误消息):向主机报告错误信息前两种之前的文章都已经提及,本文主要介绍错误消息。错误消息的格式和对应的消息编码如下所示:为了兼容PCI总线的错误...

2021-05-16 08:44:16 2140

转载 PCIe扫盲——PCIe错误源详解(二)

这篇文章主要介绍事务(Transaction)错误、链路流量控制(Link Flow Control)相关的错误、异常的TLP(Malformed TLP)以及内部错误(Internal Errors)等。事务(Transaction )错误事务错误主要包括不支持的请求(Unsupported Request)、Completer Abort、非预期的Completion和Completion超时。该错误类型主要通过返回的Completion TLP包头中的Compl. Status告知Reques

2021-05-16 08:43:38 2035

转载 PCIe扫盲——PCIe错误源详解(一)

这篇文章来详细地分析一下各种错误源的产生原理,由于内容较多,因此分为两篇文章。第一篇介绍一下ECRC校检错误和Data Poisoning等;第二篇文章介绍事务(Transaction)错误、链路流量控制(Link Flow Control)相关的错误、异常的TLP(Malformed TLP)以及内部错误(Internal Errors)等。 ECRC 前面的文章中提到过,ECRC是可选的,主要用于包含有Switch的PCIe总线系统中。且只有支持AER的PCIe设备才有能力支持ECRC功能。配

2021-05-16 08:42:48 2566

转载 PCIe扫盲——PCIe错误检测机制

PCIe总线错误检测囊括了链路(Link)上的错误以及包传递过程中的错误,如下图所示。用户设计的应用程序层中的错误不属于链路传输中的错误,不应当通过PCIe的错误检测与处理机制处理,一般可借助设备特殊中断(Device Specific Interrupt)等合适的方式进行报告与处理。包传递过程的错误主要通过CRC编码来检测。PCIe定义了两种CRC——LCRC和ECRC。其中LCRC(Link CRC)由数据链路层产生和校检,用于检测从一端的数据链路层发送到另一端的数据链路层的TLP是否发生的错误

2021-05-16 08:42:15 2373

转载 PCIe扫盲——PCIe错误定义与分类

前面的文章提到过,PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误(Parity Error),而SERR#主要对应的是系统错误(System Error)。具体如下:· 普通的数据奇偶校检错误——通过PERR#报告· 在多任务事务(Multi-task Transaction,又称为Special Cycles)时的奇偶校检错误——通过SERR#报告· 地址和命令的奇偶校检错误—...

2021-05-16 08:41:25 2707

转载 PCIe扫盲——物理层电气部分基础(二)之De-emphasis

这一篇文章中,我们主要来聊一聊PCIe中的信号补偿技术(Signal Compensation)——De-emphasis。需要注意的是,Gen1&Gen2与Gen3的De-emphasis实现机制差别较大,而本文只介绍Gen1&Gen2相关内容。如需了解Gen3的相关内容,可自行查阅Gen3的PCIe Spec。高速信号传输中有一个非常棘手的问题,就是当传输速率变得越来越高的同时,数据间隔单元(Unit Inerval,UI)也会变得越来越小。这导致前一个bit的数据会对后面bit的数

2021-05-16 08:40:30 2146 1

转载 PCIe扫盲——物理层电气部分基础(一)

之所以把物理层电气部分的文章放在链路初始化与训练文章的后面,是因为这一部分涉及到一些相关的概念,如Beacon Signal、LTSSM等等。前面已经多次提及,由于本次连载的文章主要是基于Gen2的,所以关于Gen3的相关内容只会提及,但是并不会深入的介绍,如果有兴趣的可以自行阅读Gen3的Spec。关于链路初始化与训练的文章中提到过,PCIe Spec规定,支持新的标准的PCIe设备应当能够向前兼容。即Gen2的设备必须同时支持2.5GT/s和5GT/s。注:当然这也不是绝对的,当摸一个设备只

2021-05-15 14:49:50 1143

转载 PCIe扫盲——链路初始化与训练基础(三)之LTSSM

这一篇文章来简单地介绍一下链路训练状态机(Link Training and Status State Machine,LTSSM),并简要地介绍各个状态的作用和实现机制。LTSSM有11个状态(其中又有多个子状态),分别是Detect、Polling、Configuration、Recovery,L0、L0s、L1、L2(L3是可选的)、Hot Reset、Loopback和Disable状态。系统进行复位操作(Cold, Hot or Warm Reset)后,会自动进入Detect状态。这11

2021-05-15 14:48:51 1874

转载 PCIe扫盲——链路初始化与训练基础(二)

前面的文章中提到过,Ordered Sets分别有以下几种:TS1 and TS2 Ordered Set (TS1OS/TS2OS)、Electrical Idle Ordered Set (EIOS)、FTS Ordered Set (FTSOS)、SKP Ordered Set (SOS)和Electrical Idle Exit Ordered Set (EIEOS)。其主要用于链路初始化与训练等功能。在介绍LTSSM之前,先来简单地介绍一下Ordered Sets中的TS1OS和TS2OS。T

2021-05-15 14:48:07 1333

转载 PCIe扫盲——链路初始化与训练基础(一)

PCIe总线中的链路初始化与训练(Link Initialization & Training)是一种完全由硬件实现的功能,处于PCIe体系结构中的物理层。整个过程由链路训练状态机(Link Training and Status State Machine,LTSSM)自动完成,也就说基本没有数据链路层和事务层啥事。LTSSM在PCIe体系结构中的位置的示意图如下:在系统复位后,会自动进行链路训练,以达成以下目标:位锁定(Bit Lock)、字符锁定(Symbol Lock,Gen1

2021-05-15 14:46:23 985

转载 PCIe扫盲——物理层逻辑部分基础(三)

这一篇文章来继续聊一聊接收端物理层逻辑子层的实现细节。回顾一下之前的那张图片:其中的一个Lane的具体逻辑如下图所示:其中,Rx Clock Recovery从输入的串行数据流中提取出Rx Clock。当Rx Clock稳定在Tx Clock的频率上(Rx Clock locked on to the Tx Clock Freq)时,我们就称接收端取得了Bit Lock。如果链路(Link)处于低功耗状态(比如L0s或者L1)时,接收端此时会失去同步(即Losing Bit Lock)。

2021-05-15 14:43:31 1004

转载 PCIe扫盲——物理层逻辑部分基础(二)

上一篇文章中提到了Mux会对来自数据链路层的数据(TLP&DLLP)插入一些控制字符,如下图所示。当然,这些控制字符只用于物理层之间的传输,接收端的设备的物理层接收到这些数据后,会将这些控制字符去除,在往上传到其数据链路层。当然,除了STP、SDP和END之外,还有一些其他的控制字符,如EDB(前面的文章详细介绍过)、SKIP、COM等。如下图所示:前面的文章中提到过Ordered Sets,其主要用于链路训练等。每一个Ordered Set都是按照DW对齐的(即四个字节),且Ord

2021-05-15 14:42:46 945

转载 PCIe扫盲——物理层逻辑部分基础(一)

首先,回顾一下,之前看了很多遍的PCIe的Layer结构图:PCIe中的物理层主要完成编解码(8b/10b for Gen1&Gen2,128b/130b for Gen3 and later)、扰码与解扰码、串并转换、差分发送与接收、链路训练等功能。其中链路训练主要通过物理层包Ordered Sets来实现。PCIe Spec将物理层分为两个部分——逻辑子层和电气子层,如下图所示:如上图所示,PCIe物理层实现了一对收发差分对,因此可以实现全双工的通信方式。需要注意的是,PCI

2021-05-15 14:42:02 814

转载 PCIe扫盲——Ack/Nak 机制详解(二)

这一篇文章来简单地分析几个Ack/Nak机制的例子。Example 1. Example of AckStep1 设备A准备依次向设备B发送5个TLP,其对应的序列号分别为3,4,5,6,7;Step2 设备B成功的接收到了TLP3,并将NEXT_RCV_SEQ从3加到4,但是设备B没有立即向设备A返回Ack(此时AckNak_LATENCY_TIMER尚未溢出);Step3 设备B又成功地接收到了TLP4和TLP5;Step4 假设此时AckNak_LATE...

2021-05-15 14:41:14 1210

转载 PCIe扫盲——Ack/Nak 机制详解(一)

前面在数据链路层入门的文章中简单地提到过Ack/Nak机制的原理和作用,接下来的两篇文章中将对Ack/Nak机制进行详细地介绍。Ack/Nak是一种由硬件实现的,完全自动的机制,目的是保证TLP有效可靠地传输。Ack DLLP用于确认TLP被成功接收,Nak DLLP则用于表明TLP传输中遇到了错误。如上图所示,发送方会对每一个TLP在Replay Buffer中做备份,直到其接收到来自接收方的Ack DLLP,确认该DLP已经成功的被接受,才会删除这个备份。如果接收方发现TLP存在错误,则会向

2021-05-15 14:39:51 1294

转载 PCIe扫盲——DLLP(数据链路层包)详解

首先说明一下,在本次连载的博文中,DLLP一般指的是由发送端的数据链路层发送,接收端的数据链路层接收的数据包,其和事务层(Transaction Layer)一般没有什么关系。本文将要介绍的DLLP指的正是这样的数据包,其一般用于Ack/Nak机制、功耗管理、Flow Control(流量控制)和一些厂商自定义用途等。示意图如下:DLLP的格式是固定的,一共有8个字节,包括Framing(SDP & END)。和TLP不一样的地方是,DLLP并未携带任何路由信息,原因很简单,因为DLLP只在

2021-05-15 14:38:55 1367

转载 PCIe扫盲——Quality of Service简介

前面的文章中介绍过,为了保证视频、音频等数据得到优先传输,PCIe总线实现了一种叫做Quality of Service(QoS)的机制。QoS可以满足视频、音频等对Latency和实时性(Isochronous)要求比较高(一般不可以被打断)的应用需求。QoS主要通过VC(Virtual Channel)和TC(Traffic Class)来实现。VC的相关寄存器位于PCIe配置空间的扩展部分(PCIe Extended Capability Space),如下图所示:前面的文章中介绍过,每一

2021-05-14 08:46:55 1382

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除