PCIe总线的通信机制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PCIe 总线的通信机制
在介绍事务层之前,首先简单地了解一下PCIe 总线的通信机制。假设某
个设备要对另一个设备进行读取数据的操作,首先这个设备(称之为Requester)需要向另一个设备发送一个Request,然后另一个设备(称之为Completer)通过Completion Packet 返回数据或者错误信息。在PCIe Spec 中,规定了四种类型的请求(Request):Memory、IO、Configuration 和Messages。其中,前三种都是从PCI/PCI-X 总线中继承过来的,第四种Messages 是PCIe 新增加的类型。
详细的信息如下表所示:
从表中我们可以发现,只有Memory Write 和Message 是Posted 类型的,其他的都是Non-Posted 类型的。所谓Non-posted,就是Requester 发送了一个包含Request 的包之后,必须要得到一个包含Completion 的包的应答,这
次传输才算结束,否则会进行等待。所谓Posted,就是Requester 的请求并不需要Completer 通过发送包含Completion 的包进行应答,当然也就不需要进
行等待了。很显然,Posted 类型的操作对总线的利用率(效率)要远高于
Non-Posted 型。
那幺为什幺要分为Non-Posted 和Posted 两种类型呢?对于Memory Writes