
_START_ARTICLE_
指令集架構
_START_PARAGRAPH_
指令集架构（英语：Instruction Set Architecture，缩写为ISA），又称指令集或指令集体系，是计算机体系结构中与程序设计有关的部分，包含了基本数据类型，指令集，寄存器，寻址模式，存储体系，中断，异常处理以及外部I/O。指令集架构包含一系列的opcode即操作码（机器语言），以及由特定处理器执行的基本命令。_NEWLINE_不同的处理器“家族”——例如Intel IA-32和x86-64、IBM/Freescale Power和ARM处理器家族——有不同的指令集架构。_NEWLINE_指令集体系与微架构（一套用于执行指令集的微处理器设计方法）不同。使用不同微架构的计算机可以共享一种指令集。例如，Intel的Pentium和AMD的AMD Athlon，两者几乎采用相同版本的x86指令集体系，但是两者在内部设计上有本质的区别。_NEWLINE_一些虚拟机支持基于Smalltalk，Java虚拟机，微软的公共语言运行时虚拟机所生成的字节码，他们的指令集体系将bytecode（字节码）从作为一般手段的代码路径翻译成本地的机器语言，并通过解译执行并不常用的代码路径，全美达以相同的方式开发了基于x86指令体系的VLIW处理器。
_START_SECTION_
指令集的分类
_START_PARAGRAPH_
复杂指令集计算机包含许多应用程序中很少使用的特定指令，由此产生的缺陷是指令长度不固定。精简指令集计算机通过只执行在程序中经常使用的指令来简化处理器的结构，而特殊操作则以子程序的方式实现，它们的特殊使用通过处理器额外的执行时间来弥补。理论上的重要类型还包括最小指令集计算机与单指令集计算机，但都未用作商业处理器。另外一种派生类型是超长指令字，处理器接受许多经过编码的指令并通过检索提取出一个指令字并执行。
_START_SECTION_
指令的组成
_START_PARAGRAPH_
在传统的架构上，一条指令包含op code，表示运算的方式，以及零个或是更多的操作数，有些像是操作数的数字可能指的是寄存器的编号，还有存储器位置，或是文字数据。_NEWLINE_在超长指令字（VLIW）的结构中，包含了许多微指令，借此将复杂的指令分解为简单的指令。
_START_SECTION_
指令的长度
_START_PARAGRAPH_
指令长度的范围可以说是相当广泛，从微控制器的4 bit，到VLIW系统的数百bit。在个人计算机，大型机，超级计算机内的处理器，其内部的指令长度介于8到64 bits（在x86处理器结构内，最长的指令长达15 bytes，等于120 bits）。在一个指令集架构内，不同的指令可能会有不同长度。在一些结构，特别是大部分的精简指令集（RISC），指令是固定的长度，长度对应到结构内一个字的大小。在其他结构，长度则是byte的整数倍或是一个halfword。
_START_SECTION_
设计
_START_PARAGRAPH_
对微处理器而言有两种指令集。第一种是复杂指令集（Complex Instruction Set Computer），拥有许多不同的指令。在1970年代，许多机构，像是IBM，发现有许多指令是不需要的。结果就产生了精简指令集（Reduced Instruction Set Computer），它所包含的指令就比较少。精简的指令集可以提供比较高的速度，使处理器的尺寸缩小，以及较少的电力损耗。然而，比较复杂的指令集较容易使工作更完善，存储器及缓存的效率较高，以及较为简单的代码。_NEWLINE_一些指令集保留了一个或多个的opcode，以运行系统调用或软件中断。