TI中文支持网
TI专业的中文技术问题搜集分享网站

TCP3d工作在double buffer下时,可以从逻辑上看为两个独立的tcp decoder吗?

各位专家号。对于tcp3d我有个疑问。从文档上来看,tcp3d工作在double buffer模式下时,是有两套独立的输入配置寄存器,但是只有一个处理通道。一般情况下,会用作ping/pong模式。

但是我可以把它当做两个逻辑上独立的tcp decoder吗?比如core0使用process A, core1使用 process B。对于每个core来说,都如同使用一个完整的tcp decoder。只不过实际tcp3d内部会每次只能处理一个process过来的解码请求,而不能像split mode那样可以并行处理两个解码请求。

如果可以,还想了解一下,在这种方式下,如果process A和process B都被trig了,tcp3d会优先选取哪一个来做处理呢?

多谢。

Andy Yin1:

如你的理解,double buffer mode下,只是输入配置及数据buffer、输入通道等是有两套,但是TCP3D内部译码模块是只有一套共享,只能串行对每一个输入的block进行译码,输入译码需要保证ABABAB……的顺序,以保证TCP3D内部状态机工作正常,所以如果AB的配置及数据同时被trig,则先做A,再B,再A的顺序。

xiaolong dou:

回复 Andy Yin1:

Andy,多谢你的回复。我对你的这句话有点不理解:”输入译码需要保证ABABAB……的顺序,以保证TCP3D内部状态机工作正常“

请问这个是tcp3d内部自己可以保证,还是必须要外部保证的?从文档上来看,似乎并没有要求外部一定是要ABAB的顺序来进行触发。

比如说,我如果把process A和B当成2个独立的tcp3d。在某个时刻可能出现的情况有3种:

1. 只有A被trigger

2. 只有B被trigger

3. AB都没有被trigger。

我的理解是,在前两种情况下,double buffer mode下的TCP3d,会选取当前trigger的一个request进行解码。而在第三种情况下,按你的说法,TCP3d内部自己会维护ABAB的顺序,是这样吗?(因为如果TCP3d只是简单的认为A或者B优先级高,则有可能会出现低优先级的那个始终得不到执行,所以请帮我确认一下。)

赞(0)
未经允许不得转载:TI中文支持网 » TCP3d工作在double buffer下时,可以从逻辑上看为两个独立的tcp decoder吗?
分享到: 更多 (0)