百科问答小站 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不是问题。

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




  

相关话题

  x86架构字节序是小端模式,其bit位序是类似小端模式还是大端模式? 
  x86指令集通过uops解码后通过RISC内核执行,是不是代表x86实际上已经属于半个RISC核? 
  如何评价ARM新发布的 Cortex-A78以及Cortex-X1 ? 
  如何看待龙芯对外公开的 LoongArch 指令集? 
  CPU 的指令集存放在什么地方? 
  ARM64 有能力完全取代 AMD64 吗? 
  ARM 宣布停止对华为后续服务,将会对华为的麒麟芯片造成哪些影响? 
  CPU有x86/ARM/MIPS等指令架构,那其他专用芯片有没有专用架构? 
  指令前缀0x66到底是干什么用的? 
  现代中央处理器(CPU)是怎样进行分支预测的? 

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





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