PCI总线的存储器读写总线事务
Non-Posted总线事务:总线事务在数据到达目的地才能结束,引起总线拥塞。
Posted总线事务:总线事务可逐级接管、结束,缓解总线拥塞,PCI总线只有存储器写/写并无效请求可使用Posted总线事务。
Delayed总线事务:PCI桥或目标设备收到Delay读写请求后使用Retry周期,当重新发起相同的总线周期时,PCI桥或设备接收请求并转为Delay读写完成总线事务逐级送回;只能在Non-Posted总线事务中使用,但过多的总线重试周期但仍不理想。
Split总线事务:存储器读请求逐级接管、结束并记录发起方ID,接收方用存储器度完成总线事务主动把数据和ID逐级传回。在PCI-X中首先采用,用来替代Delayed总线事务。
Combining
Merging
Collapsing
读写操作
1. 检测到FRAME#有效的第一个时钟上升沿为address phase。
2. IRDY#或TRDY#无效时,为WAIT周期。
3. 一个data phase 完成标志是IRDY# and (TRDY# or STOP#)有效;master或target一旦允许当前数据传输,在当前data phase完成前不能撤消有关信号。
4. 一个data phase包括wait cycles和一个数据传输。
5. C/BE#必须从data phase第一个时钟沿到所有数据传输完成一直保持有效。
6. 读传输的第一个data phase前需要一个turnaround cycle,由TRDY#保证。target必须在turnaround cycle后DEVSEL#有效时开始驱动AD信号。
7. 写传输不需要turnaround cycle。
8. 最后的data phase结束标志是FRAME#无效、IRDY#和TRDY#有效。
master停止传输
原因:completion,time out(包括master abort)。
方式:使FRAME#无效、IRDY#有效;此时target不一定要立刻使TRDY#有效,但不超过2或3个时钟周期。
例外:Memory Write and Invalidate命令到达缓存边界时,超时停止才起作用。
master abort:master发起传输后,DEVSEL#长时间无效,master abort会发生,仍然通过FRAME#无效、IRDY#有效结束操作。
target停止传输
类型:retry,disconnect,target abort。
retry:在第一个data phase时发生,target同时使STOP#有效、TRDY#无效,没有任何数据传输。
disconnect:在第一个data phase时或之后发生,target同时使STOP#有效、TRDY#无效,可能有或无数据传输。
target abort:如果target有效了DEVSEL#,就可以在任何时间通过同时使DEVSEL#无效、STOP#有效,停止传输。
PCI总线的中断机制
由于INTx信号属于边带信号、异步信号,PCI总线桥不处理此信号,此信号的传输并不与PCI总线的数据传递同步,所以需要同步。
“读刷新方法”:中断服务例程在使用“PCI设备写入存储器”的这些数据之前,需要对这个PCI设备进行读操作,利用PCI总线的传送序规则,强制将数据写入存储器中。
MSI中断机制:PCI设备向HOST处理器指定的存储器地址写指定的数据(通常含有中断向量号)。在PCI V2.2起规定,但并不常用。
文章评论(0条评论)
登录后参与讨论