指令集架构就是设计了一堆指令(数据处理和存储操作、算术和逻辑操作以及控制流操作等,具体的就是一段一段的机器二进制编码)。由于整个计算机系统是硬件和软件的集合,最后指令的具体执行就是在计算机硬件(主要是CPU)上的二进制机器码对应着的高电平与低电平的变化。假设加指令对应着二进制机器码:10010010. 在设计完指令集架构之后,还得去具体地去实现该指令集。具体的实现就是怎么去设计CPU里面的硬件电路啥的使得CPU收到这一串二进制机器码之后就做出指令集架构规定的加指令相应的操作并得到对应的结果。指令集的硬件实现就是微架构。处理器架构和CPU架构是一个比较模糊的概念,它们同时包含了指令集架构和微架构的内容。

对于同一个指令集架构可以有不同的微架构,比如 Intel Pentium 和 Advanced Micro Devices Athlon 都采用的是x86指令集,但是它们的微架构却完全不同。不同的微架构可能是考虑到了性能、物理尺寸以及成本多方面的问题
指令集架构是计算机的一种抽象模型。指令集架构是具体硬件和软件之间的接口。针对同一指令集架构编写的软件可以运行在采用该指令集架构而微架构不同的机器上。由于指令集架构中的指令较多,如果直接使用机器码(也就是指令对应的二进制码)来编写软件会比较困难。这样就出现了如c++等高级语言,经过高级语言编写完程序之后再经过编译器软件将高级语言编译成对应的机器码就可以在机器上执行了,因为实际的硬件只认识机器码。


