今天先来看一下传输标识(transaction identifier)的概念,主要是ID信号。

开始之前先讲几个概念,首先是outstanding(想不好怎么翻译,有的人译为超前)传输。如果没有outstanding能力,或者说outstanding=1时,主机的读操作顺序是:读地址命令->等待读数据返回->读地址命令->等待读数据返回->…如此往复。主机的写操作行为是:写地址->写数据->等待写响应返回->写地址->写数据->等待写响应返回->…如此往复。每一次新的传输要等上一次传输结束,总线的利用率不高。
而如果outstanding能力为N>1的话,则读操作时,可以连续发N个读地址命令,在这期间如果读数据没有返回,则需要等待读数据返回,如果有读数据返回,则返回了几个,那么仍然可以接着发几个。也就是说,“在路上” 的读命令(或者读数据)最多可以是N。对于写操作,可以连续发出N组写地址(写数据)命令,这期间如果写响应没有返回,则必须等待写响应返回才能接着发写地址(写数据)命令,如果有写响应返回,则返回了几个,那么仍然可以接着发几组。也就是说,“在路上” 的写响应最多可以是N。
还有一个概念是乱序(out of order)传输。如果不支持乱序,那么返回的读数据必须按照读事务的顺序返回。如果是一次突发传输,返回数据中间不能插入其它的读事务数据。如果中间允许插入其它事务的数据,就是支持交织。
换种说法,outsatanding是对地址而言,一次突发还没结束,就可以发送下一个地址。而乱序和交织则是相对于传输事务,out-of-order说的是发送transaction和接收的cmd之间的顺序没有关系,如先接到A的cmd,再接到B的cmd,则可以先发B的数据,再发A的数据;交织指的是A的数据和B的数据可以交错,如A0->B0->A1->B1->B2->B3。
如果SoC中是多主机多



被折叠的 条评论
为什么被折叠?



