其他

【CPU】ARM架构和X86架构

1、X86架构与ARM架构的区别

(1)本质区别:X86使用CISC(Complex Instruction Set Computer,复杂指令集计算机),ARM使用RISC(Reduced Instruction Set Computer,精简指令集计算机),ARM英文全称Advanced RISC Machine。

(2)各自追求:X86追求性能最优,缺点是功耗大,不节能(和ARM对比);ARM追求低功耗(节能),缺点是采用精简指令集,导致编译器处理复杂,因此性能相对X86差。

(3)应用领域:X86主要是PC机(Intel、AMD),X86服务器;ARM主要是应用于移动设备(手机、平板电脑等嵌入式领域)。

(4)典型代表:X86结构主要是Intel、AMD等PC电脑;ARM主要是移动终端,IBM的Power PC。

2、CISC Vs RISC

(1)CISC:复杂指令集CPU,指令众多,通常有300+条的指令。每条指令的操作都有对应的电路设计,因此CPU的电路设计较复杂,功耗较大。但是相对的,对应编译器的设计比较简便,因为各种编程操作都有对应的指令。

典型的应用:Inter

(2)RISC:精简指令集CPU,指令相对较少,通常只有几十条指令。CPU设计相对简便,功耗较小。但是,编译器的设计比较复杂,许多编程操作都需要一些指令的灵活组合。它的关键技术在于流水线操作(Pipelining:在一个时钟周期里完成多条指令。

典型的应用:ARM

(3)两者区别

RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。

RISC设计思想准则:

1. 指令集----RISC处理器减少指令集的种类,通常一个周期一条指令,也就是说指令的周期是固定的,编译器或程序员通过几条指令完成一个复杂的操作;CISC的指令长度通常不固定。

2. 流水线----流水线的本质就是CPU并行运行,只是并行运行不像FPGA中的那么直接,它只是把一条指令分成几个更小的执行单元;CISC指令的执行需要调用一个微程序,明显没有RISC的指令吞吐量大。

3. 寄存器----RISC的寄存器拥有更多的通用寄存器,寄存器操作较多,例如ARM具有27个寄存器,CISC的寄存器都是用于特定目的的。

4. Load-store结构----处理器只处理寄存器中的数据,这是因为访问存储器很耗时,同时对外部存储器的读写会影响其寿命;CISC能够在存储器中直接运行

5. 寻址方式简化,不像CISC那样的复杂众多的寻址方式
Avatar photo

人生长恨水长东

留言

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据