一、指令集体系
指的是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构包含一系列的opcode 即操作码(机器语言),以及由特定处理器执行的基本命令。
指令集体系与微架构(一套用于执行指令集的微处理器设计方法)不同。使用不同微架构的电脑可以共享一种指令集。例如,Intel的Pentium和AMD的AMD Athlon,两者几乎采用相同版本的x86指令集体系,但是两者在内部设计上有本质的区别。
一些虚拟机器支持基于Smalltalk,Java虚拟机,微软的公共语言运行时虚拟机所生成的字节码,他们的指令集体系将bytecode(字节码)从作为一般手段的代码路径翻译成本地的机器语言,并通过解译执行并不常用的代码路径,全美达以相同的方式开发了基于x86指令体系的VLIW处理器。
二、指令集架构的分类
微处理器的指令集架构(Instruction Set Architecture)常见的有三种:
复杂指令集运算(Complex Instruction Set Computing,CISC)
复杂指令集计算机(CISC)包含许多应用程序中很少使用的特定指令。目前x86架构微处理器如Intel的Pentium/Celeron/Xeon与AMD的Athlon/Duron/Sempron;以及其64位扩展系统的x86-64架构的Intel 64的Intel Core/Core2/Pentium/Xeon与AMD64的Phenom II/Phenom/Athlon 64/Opteron都属于CISC系列。主要针对的操作系统是微软的Windows。另外Linux,一些UNIX等,都可以运行在x86(CISC)架构的微处理器。
精简指令集运算(Reduced Instruction Set Computing,RISC)
精简指令集计算机通过只执行在程序中经常使用的指令来简化处理器的结构,而特殊操作则以子程序的方式实现,它们的特殊使用通过处理器额外的执行时间来弥补。RISC这种指令集运算包括HP的PA-RISC,IBM的PowerPC,Compaq(被并入HP)的Alpha,MIPS公司的MIPS,SUN公司的SPARC等。目前只有UNIX,Linux,MacOS等操作系统运行在RISC处理器上。
显式并行指令集运算(Explicitly Parallel Instruction Computing,EPIC)
EPIC乃先进的全新指令集运算,只有Intel的IA-64架构的纯64位微处理器的Itanium/Itanium 2。EPIC指令集运算的IA-64架构主要针对的操作系统是微软64位安腾版的Windows XP以及64位安腾版的Windows Server 2003。另外一些64位的Linux,一些64位的UNIX也可以运行IA-64(EPIC)架构。
超长指令字指令集运算(VLIW)
通过将多条指令放入一个指令字,有效的提高了CPU各个计算功能部件的利用效率,提高了程序的性能。
三、Intel和AMD的指令集
AMD指令集:
AMD 3DNow!
AMD 3DNow! Professional
AMD 3DNowPrefetch
AMD Enhanced 3DNow!
AMD Extended MMX
AMD MisAligned SSE
AMD SSE4A
AMD SSE5
Cyrix Extended MMX
Intel指令集:
IA-64
IA MMX
IA SSE
IA SSE 2
IA SSE 3
IA Supplemental SSE 3
IA SSE 4.1
IA SSE 4.2
IA AVX
IA FMA
IA AES Extensions