This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6678 L2 Bank



你好:

1.文档中说L2 由2个Bank组成,每个Bank有4个sub-bank,同一个时钟周期能否同时访问同一个Bank中的不同sub-bank,我测试发现好像不能,想确认下!

2. 文档中说,C66系列L2是单port,这是什么意思?

多谢!

  • Hi Cheng,

               1      是可以支持不同sub-bank的同时访问。 比如,L1P访问sub-bank0, L1D访问sub-bank1, EDMA访问sub-bank2, SRIO访问sub-bank3

                2     是指C66 L2memory 对外接口为一个256bit的port。 具体参见文档sprug0wb section4.2.1

  • 我想知道ldw指令和stw/ldw指令 并行执行时,使用同一个bank的不同sub-bank

    读写数据是否会冲突,导致并行延迟!我自己测试时有延迟!不知道是否正确

  • 应该是有stall,而不是有延迟,不知道你是怎么设计测试用例的,因为sub bank的地址并不是连续的,能把你的测试用地址贴上来么,我们可以帮你分析你的测试是否正确。

  • 你好:

    1.下图中说bank0和bank1的地址区别是在最低字节上表现的,同时ldw操作bank0和bank1,只需要ldw操作的地址最低字节在2个bank上,随便举个例子,bank0使用地址0x00870000, bank1使用地址0x00870010, 假若有以下指令:

    mvkl  0x00870000, a5

    mvkh       0x00870000, a5

    mvkl        0x00870010, a7

    mvkh       0x00870010, a7

     

    lddw a5, a8

    || lddw a7, a9

     通过单步跟踪,同时观察TSCL寄存器变化即可发现这个并行指令是否有延迟,我测试发现,若在不同的bank,TSCL计数器的值只加1,如果a5和a7地址在一个bank的不同sub-bank,TSCL会加2.

    2.现在有另外一个问题有点迷惑: <<TMS320C6000 Optimizing Compiler v 7.3>> 手册,  6.9.5 The DATA_MEM_BANK Pragma 中说:

    C6600 The C6600 devices contain 8 memory banks; constant can be 0, 2, 4, or 6. 有8个bank,这8个bank应该是说的bank0和bank1中的各自的4个bank吧! 但是在使用

    #pragma DATA_MEM_BANK ( symbol , constant );  时,constant  = 0,2,4,6,如何实现将symbol 定义到8个不同的sub-bank中, 这里constant  只有4个值,如何区别是定义到bank0和bank1?

  • mvkl指令a7改为b7

     

    lddw a5, a8

    || lddw a7, a9

    应该是 ldw *a5, a8

    || ldw *b7,b8

    打错了,不好意思!

  • 请各位技术支持指教!

    多谢

  • 为什么过了这么久都没人回答啊?  各位专家帮忙解决下,多谢!!!