当前位置: 代码迷 >> 汇编语言 >> ARM指令集跟X86指令集有什么不一样
  详细解决方案

ARM指令集跟X86指令集有什么不一样

热度:317   发布时间:2016-05-02 04:40:29.0
ARM指令集和X86指令集有什么不一样?
 有可能同样的汇编指令,但是机器码不一样吗?
------解决方案--------------------
cpu对于机器码的每一个bit的解释都不同,arm是类risc中比较成功的一种,指令集简单,所有指令都是32位或者16位的,而cisc的x86不等长,所以指令预测都比risc要难做一些。
寻址方式也不一样,这个就得看各个架构的reference manual了。这方面一个比较大的区别是x86使用了分段(实际上在linux中,绕过了分段模式,但是cpu确实是分段的),而arm是分页。
至于是否冯诺依曼或者哈佛,这个没有太多争论的必要,目前为止我所接触过的纯粹哈佛结构的只有51系列的单片机。在arm9以上的带独立icache/dcache的cpu中,从cache的角度来看确实是哈佛结构的,因为icache和dcache和外部总线的接口是截然分离的,而从实际的外部总线系统设计来看,你依然可以认为是冯诺依曼的,因为代码和数据共用了外部的amba总线,并且都在一个地址空间中,并没有真正分离。这样的设计对于当前的操作系统来说是最合理,最方便的。
  相关解决方案