百科问答小站 logo
百科问答小站 font logo



CPU(为方便讨论,这里仅限32位X86指令)的各种构架,比如奔3,奔4,对纯加法运算速度有帮助吗? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

不同CPU硬件架构的情况下,指令效率可能是不一样的,具体可以参考这个链接:agner.org/optimize/inst

我查了一下手册,Pentium3和Pentium4对于整数的加法指令(假设参数都是寄存器:ADD r,r),那么性能上最大都是一个时钟最多两条指令,这一点性能是一样,但如果跟后来的sandybridge这些架构的CPU比,性能还是不一样的,Pentium3和Pentium4的加法只能使用p0/1两个port,但在sandybridge里,ADD指令可以用p0/1/5三个port,理论上说,一个时钟里可以执行三条ADD指令。

AMD的资料相对更容易看一些,比如Ryzen架构下ADD在一个时钟周期内最多可以并发4个,在K7架构下最多只能并发3个。

当然,以上只是CPU层面的理论值,实际使用中,未必就能真的达到上述效果。但结论是肯定的,CPU架构在升级的过程中,指令的执行速度确实是有可能变快的。

另外,缓存、流水线等设计的变化也会影响指令的速度。

另外,累加求和在汇编层面上,可以写成这样:

       INC EAX ADD EBX,EAX CMP EAX, 1000000 JNZ XXXX     

指令依赖性方面,只依赖第一条指令,后两个指令是可以并发的(丢弃ADD的标志位信息),不同架构的CPU能处理的并发条件不同,理论上讲,新的架构并发执行的效果更好。




  

相关话题

  为什么 Android 要采用 Binder 作为 IPC 机制? 
  12代酷睿到底是多少纳米制程,为什么鲁大师显示是7nm,不应该是10nm? 
  单精度浮点数中的「单」和「浮点」是什么意思? 
  为何Windows能兼容大部分20年前的应用,而Android/iOS连几年前的应用都不一定兼容? 
  为什么 CPU 没有实时开关超线程的功能,有什么难度吗? 
  malloc申请的内存能是虚拟内存吗,也就是申请的一块新的空间,刚申请就缺页吗? 
  为何目前有eGPU(外接显卡), 而没有eCPU(外接中央处理器)? 
  操作系统中原子操作和锁的底层原理分别是什么?提供了哪些原子语义保证? 
  为什么不把push ebp和mov ebp, esp的操作通过硬件方式做进call指令中? 
  cpu有没有必要追求旗舰,对显卡没有大瓶颈的情况下,更好的cpu意义大不大,尤其是对游戏而言? 

前一个讨论
程序在地址空间中的位置是何时,以及如何决定的?
下一个讨论
北京大兴区的发展好不好?如果不好,为什么?





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利