PCIe学习笔记(2)---PCI-x相关

来源:互联网 发布:超次元矩阵闪退 编辑:程序博客网 时间:2024/05/17 13:42

1.

PCI-X向前硬件,软件兼容PCI,所以设备驱动,操作系统,应用程序都兼容

PCI-X设备可以插入PCI的插槽,反则亦然


2. (不是很理解)

PCI到PCI-X增加了速度

第一,增加实现(IMPLEMENT)了PLL,允许输出早一点,输入采样晚一点,

第二,PCI-X的输入的目标设备管脚锁存,缩短了建立时间

以上两点,从而允许了信号在总线上传播的时间,以及更高的时钟频率


3. 

PCI-X在第一个数据阶段(DATA PHASE),是不允许等待状态的(WAIT STATES, BUS IS HOLDED)

因为有了ATTRIBUTE PHASE (包含 BYTE COUNT, BUS.DEVICE.FUNCTION等信息)


数据以128 BYTES的块(BLOCK)为单位来BURST,传输


4.

PCI-X的SPLIT TRANSACTION


PCI的方式是,如果发起者(BUS MASTER INITIATOR)发起一个读操作,但此时此刻,目标设备没有准备好数据

它有两种办法,一种是插入WAIT STATES(HOLD THE BUS),一种是让发起者RETRY(下次重试)


而SPLIT TRANSACTION不同的是

事务发起者(REQUESTER),事务的执行者(COMPLETER)

如果执行者当前没有准备好,则会记下这笔事务的一些参数,如(ADDRESS, TRANSACTION TYPE, BYTE COUNT, REQUESTER ID),然后回复一个SPLIT应答

该SPLIT应答,让事务发起者将该事务放入一个队列,将总线空出来给其它事务

一旦事务的执行者准备好的数据,它就申请总线(请求总线仲裁单位的总线仲裁),以便完成该笔事务


5.

MSI中断

使用事先定义好的一个内存地址,用内存写操作,来实现MSI中断


MSI中断的好处是:

一,省去了寻找中断源的过程(因为,每个MSI中断,都有一个对应的内存地址分配给他)

二,省去了类似的INTA# PIN


6.

NO SNOOP(NS):

一般情况下,内存数据是被CACHED的,但CACHE操作,费时

有的时候,软件已知,某些内存是肯定不被CACHED的(如被系统事先定义标注为UNCACHEABLE)

这样,就不需要SNOOP了。


注:这里的SNOOP,就是针对CACHE的操作


RELAXED ORDERING(RO):

允许某些事务(TRANSACTION)提前执行,而不是按先前的执行顺序,从而提高系统性能


注:有STRONGLY ORDERED MODEL

         有DEPENDENCY关系的操作,一般还是需要ORDERING的




0 0