是一次访存快,还是一次整数乘法快?

csdn5211 2009-04-30 10:36:35
按说访存是直接读数,可是,cpu从内存读数也是要耗时间的,也许还没有做一次整数乘法快呢?
...全文
201 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
访问内存的速度依赖不同的机器,但是数量级差不多。

随便举一个,一台网络处理器,XScale访问sram是200时钟,而dram是380 时钟。

XScale常见浮点运算的代价

运算类型 代价(时钟周期/个)
加法+ 400
乘法* 400
除法/ 500

所以浮点运算跟访问内存是同一数量级,那你整数运算,肯定快很多。

ps:某些机器有整数运算硬件单元,只需要一个时钟,更牛逼。
lingyin55 2009-04-30
  • 打赏
  • 举报
回复
没想过,帮顶下
darkwalkertt 2009-04-30
  • 打赏
  • 举报
回复
和内容存放的地方有关系吧?
mengde007 2009-04-30
  • 打赏
  • 举报
回复
俺认为乘法还是比较快的;
冷月清晖 2009-04-30
  • 打赏
  • 举报
回复
这个还真不知道,可以测试下。
  • 打赏
  • 举报
回复
现在的CPU都有二级缓存,如果访问的内容在缓存内,那么这两种是一样快,都是耗一个时钟周期。否则的话,乘法可能更快一点。(计算器、手机、PDA等小玩意的CPU除外)
liao05050075 2009-04-30
  • 打赏
  • 举报
回复
这个不知道。。
可能不同的计算机会有不同的结果也不一定
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 csdn5211 的回复:]
引用 7 楼 hairetz 的回复:
访问内存的速度依赖不同的机器,但是数量级差不多。

随便举一个,一台网络处理器,XScale访问sram是200时钟,而dram是380 时钟。

XScale常见浮点运算的代价

运算类型 代价(时钟周期/个)
加法+ 400
乘法* 400
除法/ 500

所以浮点运算跟访问内存是同一数量级,那你整数运算,肯定快很多。

ps:某些机器有整数运算硬件单元,只需要一个时钟,更牛逼。


加法和乘法居…
[/Quote]

这个是浮点运算的结果,整数运算,就不一定了。
  • 打赏
  • 举报
回复
真没想过~~
加法和乘法耗时一样!?!?学习了
csdn5211 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hairetz 的回复:]
访问内存的速度依赖不同的机器,但是数量级差不多。

随便举一个,一台网络处理器,XScale访问sram是200时钟,而dram是380 时钟。

XScale常见浮点运算的代价

运算类型 代价(时钟周期/个)
加法+ 400
乘法* 400
除法/ 500

所以浮点运算跟访问内存是同一数量级,那你整数运算,肯定快很多。

ps:某些机器有整数运算硬件单元,只需要一个时钟,更牛逼。
[/Quote]

加法和乘法居然耗时一样!我一直以为加法一定比乘法快。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧