百科问答小站 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架构? 
  x86 win32下的汇编指令集可认为是 cpu提供的指令集 + win32提供的指令集 吗? 
  如何看待威盛宣布出售x86技术给上海兆芯? 
  计算架构的变化对未来云计算领域会产生什么样的影响? 
  为何x86中“系统调用”要使用“内中断”实现? 
  8088/8086在响应中断保护断电的时候到底是将当前IP保存还是IP+1保存? 
  指令前缀0x66到底是干什么用的? 
  x86架构CPU的超线程技术是否会长期保持逻辑处理器数量为物理核心两倍的现状?未来可能会怎样发展? 
  不同指令集架构的芯片,是如何去支持基础软件库的? 
  如果龙芯当初选择ARM架构,现在会怎样? 

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





© 2025-03-26 - tinynew.org. All Rights Reserved.
© 2025-03-26 - tinynew.org. 保留所有权利