指令集架构
指令集架构主要分两大类。
复杂指令集运算(Complex Instruction Set Computing,CISC)
简单的理解就是提供的指令很多,也都很复杂。以 intel 的 x86 架构为代表,主要针对的操作系统是微软的 Windows 和苹果的 maxOS。另外 Linux,一些 UNIX 等,都可以运行在复杂指令集架构的微处理器。
精简指令集运算(Reduced Instruction Set Computing,RISC)
简单的理解就是提供的指令很少,也都比较简单,只是一些基础的指令。
以 ARM 公司的 arm 架构为代表。当前有 UNIX、Linux 以及包括 iOS、Android、Windows Phone 等在内的大多数移动操作系统运行在精简指令集的处理器上。
复杂指令集和精简指令集比较的话,区别在于我们编程(直接写机器语言代码在 CPU上运行)的时候,比如实现乘法。根据提供的指令,复杂指令集可能一条命 令就够了,而简单指令集我们可能需要加法、循环等多条指令。
硬件和软件也就是互补的过程,当硬件提供功能简单了,写软件就复杂些。当硬件提供的功能多了,写软件就简单些。
指令集
所谓指令集,可以理解成硬件对外的接口。我们运行程序是通过操作系统调度,操作系统然后让硬件去计算。让硬件计算的话,比如一些加法乘法,循环之类的,就需要硬件提供的接口,也就是指令集。这个就是我们常说的机器语言,已经到了计算机的最底层了。
2.1 x86 :于 1978 年推出的 Intel 8086 中央处理器中首度出现,现在 x86 一般指 32 位的架构。
2.2 x86-64:生产 x86 架构的 CPU 除了因特尔,它还把专利授权给了现在比较出名的超微(AMD)。然后在 1999 年 AMD 首次公开 64 位集以扩展 x86,此 架构称为 AMD64。后来英特尔也推出了与之兼容的处理器,并命名Intel 64。两者一般被统称为 x86-64
举例:
复杂指令集是 x86、x64(也叫 x86-64, amd64) 两种架构,专利在 Intel 和 AMD 两家公司手里, 该架构 CPU 主要是 Intel 和 AMD 两家公司,这种 CPU 常用在 PC 机上,包括 Windows,macOS 和 Linux。
简单指令集是 arm 一种架构,专利在 ARM 公司手里,该架构 CPU 主要有高通、三星、苹果、华为海思、联发科等公司。这种 CPU 常用在手机上,包括安卓和 苹果。高通骁龙系列就是 arm 架构。