dsk6711线性汇编奇怪的问题(去掉一条存储指令能快10倍)
来源:互联网 发布:男友追踪器软件 编辑:程序博客网 时间:2024/04/30 11:01
发信人: admireO (新学期新形象), 信区: DSPTech
我的数据处理完后,在算法循环里有一条指令:
|| STW .D2T1 ImgRet,*DestAddr--
存储数据到内部RAM中,我用的是两层循环,外部1024次,内部256次。
现在的问题是,如果我的算法注释掉这条存储指令,时间上要提高10倍!!
仔细考虑了一下,两者的差别不可能有这么大,不知道是怎么回事!请大虾们指点。
我算法时间计算方法是,通过设置CPU定时器来实现的。这样计算应该没什么问题吧
请大虾指点!!!!
发信人: Naicen (天行者), 信区: DSPTech
这种结果并不奇怪,C6000优化器对多层循环的优化能力本来就差,在循环中访问
存储器容易产生存储器依赖性(Memory Dependency),是优化之大忌,会严重影响循环
展开和指令的并行安排。
发信人: admireO (新学期新形象), 信区: DSPTech
那请问大虾该怎么处理呢?遇到这种问题?
可是我已经在线性汇编开头部分加上了这句:
.no_mdep ;no memory dependency
是不是就表示没有存储器依赖性?
请大虾指教!!!
发信人: floatwind (游戏人生), 信区: DSPTech
这个好理解,不过他得那个
STW 后面的几个参数怎么我在6000里没见过啊?
发信人: floatwind (游戏人生), 信区: DSPTech
呢这个.no_mdep是那里的指令啊?
怎么我在6000里没见过啊?
发信人: admireO (新学期新形象), 信区: DSPTech
线性汇编里不用指定寄存器名的,用labels可以,编译器会自动映射
发信人: Naicen (天行者), 信区: DSPTech
.no_mdep是在你确定你的程序中没有存储器依赖性的时候,用它来告诉优化器不需要
考虑存储器依赖,允许优化器进行更大胆的优化,但如果你的程序中存在存储器依赖性,
用这个指令就可能产生错误的优化结果。
你的问题恐怕没有什么简单的解决办法,你可以看看Programmer's Guide或C Compi_
ler User's Guide中关于解决这种问题的解释,这通常需要具体分析你的代码上下文和
执行环境,难度可能会很大。老实说,我也没什么经验。
转自http://www.smth.edu.cn/bbsanc.php?path=%2Fgroups%2Fsci.faq%2FDSPTech%2Fprograming%2Fsoftyouhua%2F6711youhua谢谢这几位
- dsk6711线性汇编奇怪的问题(去掉一条存储指令能快10倍)
- 数据库存储的奇怪问题!
- 去掉能去掉的。
- 存储过程的一个奇怪问题
- 三招让你的dede快10倍以上
- 【转】让 InnoDB 的全表扫描快 10 倍
- 阿里巴巴的fastjson比json-lib快10倍
- 汇编JMP语句 IP值和偏移量的问题。问题如下,我想知道IP值是怎么变化的。还有8086一条指令占个几字节啊
- 汇编中关于EQU指令的问题
- 请教汇编ALIGN伪指令的问题
- 末位零问题(换种思路,问题能被无限倍的简化,这就是算法的魅力!)
- 基于ARM9的汇编寄存器加载/存储指令
- 奇怪的问题----(1)
- 线性表的链式存储结构(菜鸟问题)
- 反汇编奇怪代码,利用指令地址定位全局变量
- 奇怪的问题,存储过程查询分析器执行很快,在.NET中执行却很慢(超时)
- C6000的线性汇编
- 机器码与汇编指令的对应关系(兼议好问题怎么成了傻问题)
- 二叉树的可视化
- jsf学习总结(页面层)
- 跟老紫竹学Java-留言板-列表页面(JSTL)
- 时隔半个月终于可以上blog,发邮件了
- 社区版的“软考冲刺-2008”发布第2个测试版了
- dsk6711线性汇编奇怪的问题(去掉一条存储指令能快10倍)
- jsf学习总结(数据库连接类)
- 跟老紫竹学Java-留言板-发言页面(JSTL)
- 用Win32API Shell_NotifyIcon进行系统托盘图标编程
- 两个存储过程
- 跟老紫竹学Java-留言板-回复页面(JSTL)
- c++ 解惑之一 (指针 和 typedef)
- 跟老紫竹学Java-留言板-Hibernate页面部分
- 第3-4章 C++和QT简介与列表