TI论坛
直播中

潘千

7年用户 183经验值
私信 关注
[问答]

汇编与C混合编程都需要等待5个CPU周期吗?

本人之前开发C6455,代码是C与汇编混合编程,关键代码采用汇编,运行速度相比C代码大约快10倍,但现有一点疑问,望请高手指教!
1. 存取数据的汇编指令LD,ST等对地址操作时,需要等待5个CPU周期,数据才能完成存取,但是手册中并未对地址空间进行说明,我的问题是如果操作的是L1地址空间,或者L2地址空间,或者外部内存,都需要等待5个CPU周期吗?我感觉应该是L1最快,L2其次,外部内存最慢,请高手指教!

回帖(10)

王山崎

2019-1-22 09:51:29
5 cycle指的是到L1的,其他的L2/DDR的时间不确定。
举报

潘千

2019-1-22 10:01:27
引用: liyabn1 发表于 2019-1-22 11:34
5 cycle指的是到L1的,其他的L2/DDR的时间不确定。

感谢您的答复,按照您的答复,编写汇编函数时最佳原则应该使得存储、读取地址空间都处于L1,对吧?但L1空间确实有限,做图像算法时实在难以全部放入L1空间,有什么更好的提高效率的变成方案吗??谢谢!
举报

王山崎

2019-1-22 10:15:50
引用: xufang20160719 发表于 2019-1-22 11:44
感谢您的答复,按照您的答复,编写汇编函数时最佳原则应该使得存储、读取地址空间都处于L1,对吧?但L1空间确实有限,做图像算法时实在难以全部放入L1空间,有什么更好的提高效率的变成方案吗??谢谢!

可以打开L1/L2 cache,在cache命中的情况下,速度也是很快的
举报

李波

2019-1-22 10:28:06
  

  详情参考文档sprufe8b: TMS320C674x DSP  CPU and Instruction Set Reference Guide
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

更多回帖

发帖
×
20
完善资料,
赚取积分