- 博客(10)
- 收藏
- 关注
原创 PCIe中断
INTx是将物理中断信号转化为内部信号的方式实现的,一般来说其包含中断管脚和中断寄存器。其采用的主要是Assert_INTx和Deassert_INTx消息对来实现PCI INTx中选信号。Assert_INTx和Deassert_INTx消息对包含A、B、C、D四种。从某种角度上可以将其理解为电平信号,内部产生Assert_INTx信号,表示中断电平有效,然后一段时间后内部产生Dessert_INTx信号,表示中断电平失效,期间表示中断一直持续。
2024-10-24 16:38:11
1258
原创 Flit Mode
首先确定一点:当PCIe链路工作在64.0GT/S或者更高的速率时,其使用的是Flit Mode(FM),并且为1b/1b的编码模式。在FM下,数据在物理层的主要形式为(如图1所示)236Bytes TLP+6Bytes DLLP+8Bytes CRC+6Bytes FEC,其中TLP为Transaction Layer Packet;DLLP为Data Link Layer Packet‘;
2024-09-04 16:44:46
3082
原创 端到端的数据完整性(事务层)
一般来说链路之间的数据完整性是由数据链路层提供的(NFM下)和物理层逻辑部分提供的(FM),但是为了更的保护端到端的数据,事务层提供ECRC(end-to-end 32-bit CRC)来让数据更可靠。一般来说ECRC由数据发起端产生,数据接收端(最终目的地,非中转组件)进行监测(需要支持ECRC检测,此外对中转组件来说其可以选择性进行检测)。此外还具备错误转发(error forwarding,也就是data poisoning)机制,用来让数据接收端感知到数据异常(可以不具备ECRC)。
2024-08-30 15:59:51
2270
原创 Flow Control
FC(Flow Control)是用来防止接收端缓存溢出并且确保遵守事务顺序规则。一般来讲FC机制是给Requester来追踪对端是否具备可使用的队列或者缓存空间,即FC在一条link中是点对点的而非端对端(不控制或者表明请求到达最终完成方)。简单理解FC即FC在初始化时会告知对方设备自身有多少数量的可使用的Credit,自身在接收到TLP报文后会消耗掉相对应的Credit,然后将更新的Credit报告给对方设备,对方设备设备在发送前也会检查当前Credit是否允许发送transaction。
2024-08-26 17:14:07
1119
原创 Virtual Channel机制
VC机制是用来支持通过TC来差异化各个traffic的传输的。每个VC具备不同的队列/缓缓存和控制逻辑资源,其VC之间的流量控制(在FM下采用Shared Flow Control来降低对资源的需求)完全独立,这两者是解决流量阻塞的关键点,避免了单一流量对系统的阻塞。通过将不同的TC映射到不同的VC上可以对应实现携带TC的traffic映射到不同的virtual channel上,且可以通过VC ID来指定VC。
2024-08-23 10:34:02
1516
原创 Some Rules For TLP
1、本文参考来源PCIe 6.2,2024.02.252、仅作为个人学习记录和分享,转载请注明出处3、个人能力有限,协议的理解均基于个人,如有错误还望指出。
2024-08-16 10:34:41
1205
原创 TLP-Common Packet Header Fields
1、本文参考来源PCIe 6.2,2024.02.252、仅作为个人学习记录和分享,转载请注明出处3、个人能力有限,协议的理解均基于个人,如有错误还望指出文章目录。
2024-08-13 18:08:34
1100
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人