PCIE背景知识学习(3)
PCI-X特性(PCI-X Features)
拆分事务模型(Split-Transaction Model)
在传统的PCI读事务中,总线Master向总线上某个设备发起读取。如前面的内容所述,若Target设备未准备好,无法完成事务,那么它既可以选择在获取数据的同时让总线保持等待态,也可以发起Retry来推迟事务。
PCI-X则不同,它使用拆分事务的方法来处理这些情况。
我们现在将例子中发起读取操作的一方称为Requester(请求方),将完成读取请求提供数据的一方称为Completer(完成方)。
如果Completer无法马上对请求做出相应的服务,它将把这个事务的相关信息存储起来(地址、事务类型、总数据量、Requester ID),并发出拆分响应信号。
这就告诉Requester可以将这个事务先放置在队列中,并结束当前的总线时序周期,释放总线使之回到空闲状态。
这样,在Completer等待所请求的数据这段时间里,总线上可以执行其他的事务。Requester在这段时间里也可以自由的做其他事情,比如发起另一个请求,甚至是向此前的那个Completer发起请求都可以。
一旦Completer收集到了所请求的数据,它将会申请总线占用仲裁,当获取到总线的使用权后,它将发起一个拆分完成(Split Completion)来返回此前Requester所请求的数据。Requester将会响应并参与拆分完成这个事务的总线时序周期,在这个过程中接收来自Completer的数据。
对于系统来说,拆分完成事务其实与写事务非常相似。这种拆分事务模型(Split Transaction Model)的可行性在于,在请求发起时就通过属性阶段(Attribute Phase)指出了总共需要传输多少数据,并且也告诉了Completer是谁发起了这个请求(通过提供Requester自己的Bus:Device:Function号码),这使得Completer在发起拆分完成事务时能够找到正确的目标。
Requester不需要重复的轮询设备来检查数据是否已经准备好。Completer只需要简单的申请总线占用仲裁,然后在能使用总线时将被请求的数据返回给Requester即可。就总线利用率而言,这样的操作流程使得事务模型更加高效。
PCI-X 2.0源同步模型(PCI-X 2.0 Source-Synchronous Model)
源同步”这个术语的意思是,设备在传输数据的同时,还提供了额外一个与数据信号基本传输路径相同的信号。
如图 1‑19所示,在PCI-X 2.0中,那个“额外”的信号被称为“strobe(脉冲选通)”,接收方使用它来锁存发来的数据。
发送方可以分配data与strobe信号之间的时序关系,只要data与strobe信号的传输路径长度相近且其他会影响传输延迟的条件也相近,那么当信号到达接收方时,这种信号间的时序关系也将不会发生变化。
标签:事务,请求,背景,知识,总线,PCIE,PCI,Requester,Completer From: https://www.cnblogs.com/chensimin1990/p/16731522.html