如何ARM架构的x86的有什么不同? [英] How does the ARM architecture differ from x86?

查看:136
本文介绍了如何ARM架构的x86的有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直听到很多有关ARM和x86架构。是X86架构专门设计的键盘工作,而ARM预计将移动?什么是两者之间的主要区别?

I have been hearing much about the ARM and x86 Architectures. Is the x86 Architecture specially designed to work with a keyboard while ARM expects to be mobile? What are the key differences between the two?

推荐答案

ARM 是的 RISC (精简指令集计算机)架构,而 86 是一个的 CISC (复杂指令集计算)之一。

ARM is a RISC (Reduced Instruction Set Computing) architecture while x86 being a CISC (Complex Instruction Set Computing) one.

那些在这方面之间的核心区别是ARM指令只能与装载几个指令寄存器和/数据保存到内存中,而86可以同时直接操作的内存进行操作。直到V8 ARM是一个原生32位架构,有利于4字节的操作,而非其他。

The core difference between those in this aspect is ARM instructions operates only on registers with a few instructions for loading and saving data from / to memory while x86 can operate on directly memory as well. Up until v8 ARM was a native 32 bit architecture, favoring four byte operations over others.

所以ARM是一个简单的架构,导致小的芯片面积和大量的省电功能,而86成为权力野兽功耗和生产方面。

So ARM is a simpler architecture, leading to small silicon area and lots of power save features while x86 becoming a power beast in terms of both power consumption and production.

有关问题的是x86架构专门设计的键盘工作,而ARM预计将移动?的。 86 不是专门设计的键盘没有 ARM 移动工作。但是再次因为核心架构的选择其实也x86的指令有ARM的同时也没有与 IO 直接合作。然而,随着专业化的IO总线就像个USB,需要这样的功能也正在消失。

About question on "Is the x86 Architecture specially designed to work with a keyboard while ARM expects to be mobile?". x86 isn't specially designed to work with a keyboard neither ARM for mobile. However again because of the core architectural choices actually x86 also has instructions to work directly with IO while ARM has not. However with specialized IO buses like USBs, need for such features are also disappearing.

如果你需要一个文件引用,这是何等的的Cortex-A 讲述了RISC和CISC架构之间的差异系列程序员指南(4.0):

If you need a document to quote, this is what Cortex-A Series Programmers Guide (4.0) tells about differences between RISC and CISC architectures:

这是ARM处理器是精简指令集计算机(RISC)
  处理器。

An ARM processor is a Reduced Instruction Set Computer (RISC) processor.

复杂指令集计算机(CISC)处理器,像
  在x86,有丰富的指令集能够做复杂的事情的
  用一条指令。这样的处理器通常有显著
  内部逻辑的总量会去code机器指令来
  内部操作序列(微code)。

Complex Instruction Set Computer (CISC) processors, like the x86, have a rich instruction set capable of doing complex things with a single instruction. Such processors often have significant amounts of internal logic that decode machine instructions to sequences of internal operations (microcode).

RISC架构,在
  相反,具有更通用的指令的​​数量较少,
  可能与显著更少的晶体管来执行,使得
  硅更便宜和更省电。像其他的RISC
  架构,ARM内核有大量的通用
  寄存器和许多指令执行时间为一个周期。它有
  简单寻址模式,所有加载/存储地址可以是
  从寄存器的内容和指令字段确定。

RISC architectures, in contrast, have a smaller number of more general purpose instructions, that might be executed with significantly fewer transistors, making the silicon cheaper and more power efficient. Like other RISC architectures, ARM cores have a large number of general-purpose registers and many instructions execute in a single cycle. It has simple addressing modes, where all load/store addresses can be determined from register contents and instruction fields.

ARM公司还提供了一个名为纸架构,处理器及设备发展文章描述这些方面如何运用自己的经营业务。

ARM company also provides a paper titled Architectures, Processors, and Devices Development Article describing how those terms apply to their bussiness.

的例子比较指令集架构:

例如,如果您需要某种形式的按字节的内存比较块的应用程序(由编译器生成,跳绳的细节),这是怎么看起来像 86

For example if you would need some sort of bytewise memory comparison block in your application (generated by compiler, skipping details), this is how it might look like on x86

repe cmpsb         /* repeat while equal compare string bytewise */

,而在 ARM 最短的形式可能看起来像(没有错误检查等)

while on ARM shortest form might look like (without error checking etc.)

top:
ldrb r2, [r0, #1]! /* load a byte from address in r0 into r2, increment r0 after */
ldrb r3, [r1, #1]! /* load a byte from address in r1 into r3, increment r1 after */
subs r2, r3, r2    /* subtract r2 from r3 and put result into r2      */
beq  top           /* branch(/jump) if result is zero                 */

这应该给你RISC和CISC指令集如何在复杂的不同的暗示。

which should give you a hint on how RISC and CISC instruction sets differ in complexity.

这篇关于如何ARM架构的x86的有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆