当前位置: 代码迷 >> 汇编语言 >> 请问乘法运算,加法运算,移位操作的时钟周期有关问题
  详细解决方案

请问乘法运算,加法运算,移位操作的时钟周期有关问题

热度:7720   发布时间:2013-02-26 00:00:00.0
请教乘法运算,加法运算,移位操作的时钟周期问题
本人没怎么接触过汇编,但因项目里要分析程序的运行时间,需要有一个定量的分析比较的。想问问各位大牛:
1、两个32bit的数相乘,结果保存成64bit,需要多少个时钟周期?
2、两个32bit的数相加,结果保存成32bit,需要多少个时钟周期?
3、一个32bit的数,向左或右移n位(我不知道这个位数是否会影响的),需要多少个时钟周期?

分不多,大家帮帮忙吧!!!

------解决方案--------------------------------------------------------
对现在的 cpu 来说,这个是比较复杂的问题,不仅仅是这个指令本身的问题,还和前后指令小相关性有关;另外,就是不同级别的 cpu 可能是不一样的。
在 http://www.agner.org/optimize/ 的 4. Instruction tables 里有常见 cpu 的各指令的微时序表,可用下载来参考下。
------解决方案--------------------------------------------------------
不同CPU都可能不一样
------解决方案--------------------------------------------------------
你可以参考一下我blog里初学者问题集,虽然那个版本老了点。 :)
  相关解决方案