1.指令集
x86-64使用CISC(Complex Instruction Set Computer,复杂指令集) 64指令架构实际上市AMD先推出
arm使用RISC(Reduced Instruction Set Computer,精简指令集)
2.特点
X86追求性能最优,缺点是功耗大,不节能(和ARM对比)
ARM追求低功耗(节能),缺点是采用精简指令集,导致编译器处理复杂,因此性能相对X86差
3.应用
x86-64主要是PC机(Intel、AMD), 服务器
ARM主要是应用于移动设备(手机、平板电脑等嵌入式领域),近几年arm64的服务器也有一定市场
典型代表:X86结构主要是Intel、AMD等PC电脑;ARM主要是移动终端,IBM的Power PC。
4.操作系统
arm应用的设备主要搭载linux操作系统
x86-64架构的设备windows,linux都支持
CISC Vs RISC
(1)CISC:复杂指令集CPU,指令众多,通常有300+条的指令。每条指令的操作都有对应的电路设计,因此CPU的电路设计较复杂,功耗较大。但是相对的,对应编译器的设计比较简便,因为各种编程操作都有对应的指令。
典型的应用:Intel
(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那样的复杂众多的寻址方式
————————————————
版权声明:本文为CSDN博主「一只特立独行的程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhanghui962623727/article/details/107890789