【CPU微架构】指令集简介

本文旨在介绍指令集发展历程以及原因,RISC和CISC的主要差异,以及一个指令集设计的需要考虑的因素。

指令集发展历程

CISC:Complex Instruction Set Computer,复杂指令集
RISC:Reduced Instruction Set Computer,精简指令集
顾名思义,复杂指令集表示指令复杂,一条指令可以处理复杂的运算或功能。精简指令集,支持最简单的指令,复杂功能需要通过多条简单指令实现。
在1960年代,CISC和RISC几乎同时出现,但是CISC率先占据了市场。主要原因是在计算机发展初期,还没有产生成熟的编译器技术和上层语言,导致RISC对于编程人员难度较大。CISC一条指令可实现的功能,编程人员可能需要数十条RISC指令才能实现。这也是为什么个人电脑领域CISC一直处于统治地位,代表厂家为intel/AMD。
随着编译器技术的成熟以及上层语言的快速发展,CISC易编程的优势减弱。且CISC暴露出它流水线过于复杂不易标准化的缺点,以及在移动端和可穿戴设备上功耗高的问题。因此RISC开始崛起,arm的出现,最终占据了移动端市场。而arm的高额收费方式,和可穿戴设备超低功耗的诉求,也是RISC-V近期得到大力追捧的原因。
发展至今,CISC和RISC可谓各自拥有半边天,RISC在移动市场拥有绝对的占有率,CISC则在个人电脑市场拥有统治地位。但是如今的CISC和RISC,可能没有完全的界限。因为二者拥有各自的优缺点,也是互相在汲取对方的优点,如RISC的指令定制,CISC对复杂指令拆解为多个微操作。
总之,不管是RISC和CISC, 没有绝对的优劣,只有适合的选择和优化手段,达到最优的性能。

RISC和CISC的区别

【CPU微架构】指令集简介_第1张图片

指令集设计需要考虑的维度

历史上众多指令集的产生,都有各自的特点,技术特点可能包含有以下这些:
指令格式//寻址方式的支持//跳转指令设计//原子操作指令//边界对齐

众多指令集都有自己非常独特的优势,但是除了指令集本身的技术创新外,还有外在因素决定了指令集能否占据一定的市场地位:
(1)是否契合市场诉求:RISC之所以能够在可穿戴设备上如此成功,本质上是随着该领域的快速发展,它的低功耗特性满足了市场要求。
(2)架构的经营模式:相比MIPS等其他RISC指令集,arm成功之处在于,它不制作、不生产芯片,仅售卖知识产权。
(3)开放性:从x86,到arm,再到risc-v,后续指令集一定是趋向于越来越开放的状态

你可能感兴趣的:(CPU微架构,c语言,arm,mcu)