指令集的概念
指令集Instruction Set Architecture(ISA)是什么:
指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。
指令集是软件与CPU之间的一个接口而CPU就是接口的实列化。
指令集就是一组汇编指令的集合,不同的CPU使用的指令集不同。
设计CPU的人给出的编写规则就可以说是指令,这一系列的规则就是指令集(合)。
设计CPU的厂商有多家,这样就产生了不同的指令集,比如intel阵营的8086指令集,ARM阵营的RISC指令集。
不同阵营,其对应的汇编语言也是不一样的。
CPU执行计算任务时都需要遵从一定的规范,程序在被执行前都需要先翻译为CPU可以理解的语言。这种规范或语言就是指令集。
程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做编译(compile)。
x86、ARM v8、MIPS都是指令集的代号。指令集可以被扩展,如x86增加64位支持就有了x86-64。厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型例子如Intel授权AMD,使后者可以开发兼容x86指令集的CPU。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ISA的通俗解释:
指令集架构,即ISA:CPU物理硬件和上层软件之间的一个接口。
设计一个cpu,他能执行的所有指令集合就称为指令集。
ISA方便了编译器开发者,开发者不需要知道cpu的硬件设计(指令在cpu中怎么变成电流,时钟信号如何控制时序,指令如何被执行等等),只要知道这个cpu兼容的指令集就可以制作编译器了。
好好理解“接口”的意思,学计算机的都一定要弄清楚接口,无论是学软件还是硬件!
微架构,学术界里称为微结构,其实是一个东西。描述cpu核心的一切逻辑设计。可以说是CPU所有逻辑的草图,不过现在的CPU都是用HDL写的了verilog之类吧
硬件抽象层HAL
物理逻辑层(PLL)
灯泡好比CPU,里面的所有设计就是微架构,ISA就是说明书,人就(编译器)的角色。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
参考链接:
深度理解“指令集”:https://blog.csdn.net/bjbz_cxy/article/details/76285837
指令集-百度百科:https://baike.baidu.com/item/%E6%8C%87%E4%BB%A4%E9%9B%86/238130?fr=aladdin
通俗的说一说指令集是什么?CPU是如何工作的?:https://baijiahao.baidu.com/s?id=1599862816733469968&wfr=spider&for=pc
关于CPU、指令集、架构、芯片概述:https://blog.csdn.net/lxlmycsdnfree/article/details/78666266