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



ARM架构怎样设计才能在指令执行性能上超越X86架构? 第1页

  

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

随便写点:

都什么年代了,还讨论精简指令集,x86架构内部也是精简指令集的,讨论这个没意义。

ARM的低功耗的一个原因是减少了硬件层面上对cache的一致性的保护,这样可以节省晶体管数量。很多人把晶体管数量当做低功耗的原因,其实是弄错了,晶体管数量少是结果,原因是ARM精简了很多设计(或者,叫偷工减料)

在这个链接里:en.wikipedia.org/wiki/M 有一个图:

里面的"Y"越多,意味着编写软件的时候需要的额外的指令就越多,这些指令就是要手工维护内存数据一致性的。

对于x86的32和64位架构来说,reorder的动作最少,所以在Intel和AMD的CPU上,编写操作系统编写驱动最容易,而对于ARM来说,需要大量的额外指令去刷新和同步cache,这对于软件来说非常不友好,也造成了额外的开销。

一个典型的例子就是,对于DMA操作来说,x86架构对于细节都做了隐藏,而ARM则需要额外指令通知硬件做刷新,否则数据就可能不一致,这对于IO操作来说非常不友好。

因为底层硬件设计就是这样的,除非把ARM推倒重来。网上的很多跑分软件并不实际做IO操作,单纯比较CPU的算力是没意义的,一个正常的软件,都需要给外设交换数据,这方面ARM对于x86而言,性能上没有优势。

单纯的比较单核的算力或者IPC毫无意义,普通用户不是拿CPU来搞科学计算的,绝大多数用户的应用都是有大量IO操作的,IO接口的设计才会直接影响到用户体验,道理就类似于:升级硬盘到SSD远比升级CPU效果更明显。

龙芯的单核同频率性能特别高,但实际呢?


user avatar   lulueh 网友的相关建议: 
      

我觉得,如果AMD intel来设计ARM处理器,性能追平自家的X86不是问题。

指令集不是问题,微架构设计能力才是。




  

相关话题

  如何看待苹果抛弃intel,转向ARM架构? 
  ARM的架构授权和ip core授权方式各有什么不同?拿到后能做哪方面的修改? 
  为啥arm架构比x86 x64省电? 
  为什么麒麟不能提供给其他国产机? 
  是不是国产服务器cpu都要基于arm指令集开发? 
  计算架构的变化对未来云计算领域会产生什么样的影响? 
  汇编下call和ret指令是否有内存屏障的作用? 
  是不是国产服务器cpu都要基于arm指令集开发? 
  c语言程序经过编译后,每条指令都有一个内存地址,那两个程序如果有相同内存地址的指令怎么办? 
  CPU 的指令集存放在什么地方? 

前一个讨论
Windows 内核和 Linux 内核谁更复杂?
下一个讨论
多核cpu多线程同时执行cmpxchg指令会发生什么?





© 2024-11-16 - tinynew.org. All Rights Reserved.
© 2024-11-16 - tinynew.org. 保留所有权利