下面这幅图总结了PCI和PCIe的中断,按照类型可以分为GPIO中断和message中断,按照用途可以分为PM控制中断(PERST/WAKE/CLKREQ)和数据通信中断(INT#,MSI,MSI-X)。本文主要介绍数据通信类型的中断。 GPIO中断:这类中断是通过General Purpose Input/Output(GPIO)引脚实现的。它们用于设备之间的基本信号传递,例如电源状态变化...
PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。 需要注意的是,PME消息本质上也是Message,也就是说PME消息也是一种TLP,因此PME消息只能在链路处于L0状态下,才...
· PM_Turn_Off is sent downstream to all endpoints (Implicitly Broadcast from the Root Complex routing). · PME_TO_Ack is sent upstream by endpoints. For switches with multiple Downstream Ports, this message won’t be forwarded upstream u...
定义的DLLP数据类型主要有Ack, Nak, PM,FC等,如下图。 在PCIe Link达到正常的工作状态(L0)之后,如果两个交互port口之间存在延时,那么这个时候就需要物理层插入SKP Order sets来补偿PCIe链路中的延时。对于Gen1/Gen2, SKP OS的大小为4 Bytes;对于Gen3, SKP OS的大小一般为16 Bytes. PCIe Spec规定,在TLP传输...
数据链路层在PCIe总线中的作用就是保证来自事务层TLPs的正确传输。为了实现这一目的,数据链路层又定义了DLLP(Data Link Layer Packets)。DLLP产生于数据链路层,终止于数据链路层。定义的DLLP数据类型主要有Ack, Nak, PM,FC等,如下图。 打开网易新闻 查看精彩图片 ...
链路唤醒机制可以让处于非D0状态的Endpoint,通过唤醒来请求Root(软件层)让其返回D0状态。PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。
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...
1.电源管理PM。 电源管理状态有4中D0~D3. D0-无电源限制,有D0 unitialized 和D0 Actived 两个子状态 D1-轻待机状态 D2-重待机状态 D3-完全关闭状态,有D3 cold和D3 hot两个子状态 每个pcie都要提供D0和D3状态,其他两个状态可选 电源管理的软件控制状态 ...
通过BDF来指定目的地:这种路由方式叫做基于ID的路由(ID Based Routing)。这种方式主要用于非内存访问型的事务,比如:配置事务(Configuration Transaction),消息事务(Message Transaction)和事务完成的消息通知(Completion)。 另外,我们上一篇还提到了一种特殊的ID分配方式ARI(Alternative Routing ID),它的唯一区别就是把Devic...