你好:
1.文档中说L2 由2个Bank组成,每个Bank有4个sub-bank,同一个时钟周期能否同时访问同一个Bank中的不同sub-bank,我测试发现好像不能,想确认下!
2. 文档中说,C66系列L2是单port,这是什么意思?
多谢!
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.
应该是有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?
