PCIe扫盲——热插拔简要介绍
某些特殊的应用场合可能要求PCIe设备能够以高可靠性持续不间断运行,为此,PCIe总线采用热插拔(Hot Plug)和热切换(Hot Swap)技术,来实现不关闭系统电源的情况下更换PCIe卡设备。注:本文将简单地介绍一下PCIe总线的热插...
发表于 2018/8/10 10:24:21
阅读(20433)
PCIe扫盲——复位机制介绍(FLR)
PCIe总线自V2.0加入了功能层复位(Function Level Reset,FLR)的功能。该功能主要针对的是支持多个功能的PCIe设备(Multi-Fun PCIe Device),可以实现只对特定的Function复位,而其他的Fu...
发表于 2018/8/9 17:44:42
阅读(11682)
PCIe扫盲——复位机制介绍(Fundamental & Hot)
PCI总线中定义了四种复位名称:冷复位(Cold Reset)、暖复位(Warm Reset)、热复位(Hot Reset)和功能层复位(Function-Level Reset,FLR)。其中FLR是PCIe Spec V2.0加入的功能...
发表于 2018/8/9 17:43:01
阅读(28512)
PCIe扫盲——中断机制介绍(MSI-X)
PCI总线自3.0版本开始支持MSI-X机制,对MSI做出了一些升级和改进,以克服MSI机制的三个主要的缺陷:1. 随着系统的发展,对于特定的大型应用,32个中断向量不够用了(参考前一篇文章);2. 只有一个目标地址使得多核...
发表于 2018/8/9 17:40:37
阅读(20265)
PCIe扫盲——中断机制介绍(MSI)
PCIe扫盲——中断机制介绍(MSI)前面的文章中介绍过,MSI本质上是一种Memory Write,和PCIe总线中的Message概念半毛钱关系都没有。并且,MSI的Data Payload也是固定的,始终为1DW。由于MSI也是从PC...
发表于 2018/8/9 17:37:32
阅读(19563)
PCIe扫盲——中断机制介绍(INTx)
PCIe扫盲——中断机制介绍(INTx)一个简单的PCI总线INTx中断实现流程,如下图所示。1. 首先,PCI设备通过INTx边带信号产生中断请求,经过中断控制器(Interrupt Controller,PIC)后,转换为INT...
发表于 2018/8/9 17:32:01
阅读(22134)
PCIe扫盲——两种中断传递方式
PCIe扫盲——两种中断传递方式为了能够让一些优先级高的事务得到优先处理,PCI总线支持外设中断用以提高总线性能。PCIe总线继承了PCI总线的所有中断特性(包括INTx和MSI/MSI-X),以兼容早期的一些PCI应用层软件。本次连载的文...
发表于 2018/8/9 17:28:48
阅读(13103)
PCIe扫盲——高级错误报告AER(二)
这一篇文章讲一讲,高级错误报告(Advanced Error Reporting,AER)关于可校正和不可校正错误的相关寄存器,以及Root如何处理来自其他PCIe设备的错误消息等内容。Ø 高级可校正错误处理(Advanced Corre...
发表于 2018/8/9 17:26:59
阅读(14805)
PCIe扫盲——高级错误报告AER(一)
前面的文章提到过高级错误报告(Advanced Error Reporting,AER),接下来详细地介绍一下这一功能。在已有的PCIe错误报告机制上(之前文章介绍的),AER还支持以下特性:· 在登记实际发生的错误类型时,...
发表于 2018/8/9 17:23:48
阅读(18119)
PCIe扫盲——PCIe错误报告机制
PCIe扫盲——PCIe错误报告机制PCIe总线有三种错误报告方式,分别是:1. Completions:通过Completion中的状态位向Request返回错误信息2. Poisoned Packet(又称为错误传递,E...
发表于 2018/8/7 17:48:50
阅读(10676)
PCIe扫盲——PCIe错误源详解(二)
这篇文章主要介绍事务(Transaction)错误、链路流量控制(Link Flow Control)相关的错误、异常的TLP(Malformed TLP)以及内部错误(Internal Errors)等。è 事务(Transaction ...
发表于 2018/8/7 17:44:35
阅读(11969)
PCIe扫盲——PCIe错误源详解(一)
这篇文章来详细地分析一下各种错误源的产生原理,由于内容较多,因此分为两篇文章。第一篇介绍一下ECRC校检错误和Data Poisoning等;第二篇文章介绍事务(Transaction)错误、链路流量控制(Link Flow Control...
发表于 2018/8/7 17:40:49
阅读(15787)
PCIe扫盲——PCIe错误检测机制
PCIe总线错误检测囊括了链路(Link)上的错误以及包传递过程中的错误,如下图所示。用户设计的应用程序层中的错误不属于链路传输中的错误,不应当通过PCIe的错误检测与处理机制处理,一般可借助设备特殊中断(Device Specific Interrupt)等合适的方式进行报告与处理。
发表于 2018/8/6 18:00:15
阅读(17133)
PCIe扫盲——PCIe错误定义与分类
前面的文章提到过,PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误(Parity Error),而SERR#主要对应的是系统错误(System Error)。具体如下:· ...
发表于 2018/8/6 16:44:26
阅读(17590)
PCIe扫盲系列博文连载目录篇(第四阶段)
本文为PCIe扫盲系列博文连载目录篇(第四阶段),主要内容包括错误检测与处理,PCIe中断机制(INTx,MSI/MSI-X),PCIe复位机制,热插拔简要介绍相关内容等。1、PCIe扫盲——PCIe错误定义与...
发表于 2018/8/6 15:29:20
阅读(69291)