大牛:
MSMC的设计是为了各C66X CorePac, DMA 以及系统Master对共享资源的合理访问机制。
1)看了MSMC的文档主要介绍基本原理。想在相对多个DMA传输请求进行管理,MSMC有涉及到此方面的实际应用吗? 能够给出一个具体的实例吗?
2)另外的问题是:在多核上运行image_processing例程时,由于它是基于BIOS的网页浏览应用,我连接了mini USB和以太网口。在下载过程序后,对整个板子的程序点击“RUN”后,此时能够顺利运行。那么我们可以断开mini USB,让程序脱离CCS运行并实现网页处理吗? 也就是此时BIOS是脱离于CCS在DSP上运行的吗?
3)在SBND中的,饥饿时间设置是以MSMC的cycle数为单位的,那么MSMC的工作频率是多少呢?MSMC内部数据位宽是256bits,MSMC 和TeraNet的位宽也是256,而TeraNet的数据位宽我记得是128bits,工作频率是1/3系统频率(333MHz),他们之间的数据差距是怎么平衡的?是否是并串转化(128+128=256)???
King Wang1:
1)问题太宽泛,DMA访问非常多,比如多个core同时访问DDR等,这就是一个例子;
2)DSP是不依赖CCS运行的,当你断开USB之后,DSP一直都在RUN
3)MSMC好像就是1/2的CPU频率。TeraNet实际上是一个总线,它的各个Master和Slave的接口宽度不一定一致的,具体要看连接的情况。数据平衡的方式是按照短板原则,即如果1个128bit的连接1个256bit,而且两种频率相同的话,那么最大速度就是128bit的为准。(实际上TeraNet实现远不是这么简单,中间可能有很多Bridge和FIFO做总线处理,但原则上是这样的)