假设将一个CPU开发比作修一栋楼,在修楼之前,设计部门先画出楼的具体设计图,再由施工单位按图施工,设计师设计楼是按照国家规范设计的,比如每层楼的高度,房子的朝向、窗户的大小等,这个设计规范对于CPU来说就是指令集架构(又称指令集),这指令集架构是机器的语言,包括各种各样的指令,像常见的x86、ARM就属于两个不同的指令集架构,相对于是两个不同的设计规范
电脑上的CPU,英特尔和AMD采用的都是x86指令集架构,而手机、平板等移动设备,采用的大多是ARM指令集架构。
区别:x86属于是复杂指令集(CISC),ARM属于是精简指令集(RISC)。复杂指令集就是都多个操作步骤都集中在一个指令里面,就如同以前去办事一样,对方只告诉我们办事的地方,当去了之后,好不容易找到了办公室,发现没上班,等到上班的时候呢,又被告知少了一些复印件等,等搞好了复印件,又告诉你还要开证明,这种就是复杂指令集。而精简指令集完全相反,在办事之前,工作人员会告诉你,几点来,到几号办公室,找什么人员,需要带什么复印件和证明。
所以x86好比住宅楼的设计规范,而ARM架构好比是活动板房的设计规范,精简掉了很多指令,只保留了需要用到的指令。虽然x86是复杂指令集,但是在执行过程中,也会先把一些指令转换成类似精简指令集的指令再执行指令。目前来说x86的厂商就是英特尔和AMD,AMR的厂商主要是高通和联发科,这些厂商根据相应的设计规范(x86/ARM),结合自己的产品定位,设计出相应的户型,这些设计出来的户型(一室一厅,两室一厅等)就是我们说的微架构,CPU上设计的微架构就是英特尔设计的Skylake,AMD设计的ZEN,还有ARM公司设计的Cortex-A75等,所以各微架构都不一样,但是我们最熟悉的微架构基本都是基于x86或者ARM架构而来的。
https://www.bilibili.com/video/BV1xs411V7od?vd_source=3fdb7906837175a842e297abe8add37d