指令集架构

✍ dations ◷ 2025-12-09 14:35:02 #微处理器,指令集架构

指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。

不同的处理器“家族”——例如Intel IA-32和x86-64、IBM/Freescale Power和ARM处理器家族——有不同的指令集架构。

指令集体系与微架构(一套用于执行指令集的微处理器设计方法)不同。使用不同微架构的电脑可以共享一种指令集。例如,Intel的Pentium和AMD的AMD Athlon,两者几乎采用相同版本的x86指令集体系,但是两者在内部设计上有本质的区别。

一些虚拟机支持基于Smalltalk,Java虚拟机,微软的公共语言运行时虚拟机所生成的字节码,他们的指令集体系将bytecode(字节码)从作为一般手段的代码路径翻译成本地的机器语言,并通过解译执行并不常用的代码路径,全美达以相同的方式开发了基于x86指令体系的VLIW处理器。

复杂指令集计算机包含许多应用程序中很少使用的特定指令,由此产生的缺陷是指令长度不固定。精简指令集计算机通过只执行在程序中经常使用的指令来简化处理器的结构,而特殊操作则以子程序的方式实现,它们的特殊使用通过处理器额外的执行时间来弥补。理论上的重要类型还包括最小指令集计算机(英语:Minimal instruction set computer)与单指令集计算机,但都未用作商业处理器。另外一种派生类型是超长指令字,处理器接受许多经过编码的指令并通过检索提取出一个指令字并执行。

机器语言是由和所组成的。在处理结构上,一个特定指令指明了以下几个部分:

复杂的操作可以借由将简单的指令合并而达成,可以(在冯·诺依曼体系中)连续的运行,也可以藉控制流来运行指令。

有效的指令操作须包含:

一些电脑在他们的指令集架构内包含复杂指令。复杂指令包含:

有一种复杂指令单指令流多数据流,英文全名是Single-Instruction Stream Multiple-Data Stream。或是向量指令,这是一种可以在同一时间对多笔数据进行相同运算的操作。SIMD有能力在短时间内将大笔的向量和矩阵计算完成。SIMD指令使并行计算变得简单,各种SIMD指令集被开发出来,例如MMX,3DNow!以及AltiVec。

在传统的架构上,一条指令包含op code,表示运算的方式,以及零个或是更多的操作数,有些像是操作数的数字可能指的是寄存器的编号,还有存储器位置,或是文字数据。

在超长指令字(VLIW)的结构中,包含了许多微指令,借此将复杂的指令分解为简单的指令。

指令长度的范围可以说是相当广泛,从微控制器的4 bit,到VLIW系统的数百bit。在个人电脑,大型机,超级电脑内的处理器,其内部的指令长度介于8到64 bits(在x86处理器结构内,最长的指令长达15 bytes,等于120 bits)。在一个指令集架构内,不同的指令可能会有不同长度。在一些结构,特别是大部分的精简指令集(RISC),指令是固定的长度,长度对应到结构内一个字的大小。在其他结构,长度则是byte的整数倍或是一个halfword。

对微处理器而言有两种指令集。第一种是复杂指令集(Complex Instruction Set Computer),拥有许多不同的指令。在1970年代,许多机构,像是IBM,发现有许多指令是不需要的。结果就产生了精简指令集(Reduced Instruction Set Computer),它所包含的指令就比较少。精简的指令集可以提供比较高的速度,使处理器的尺寸缩小,以及较少的电力损耗。然而,比较复杂的指令集较容易使工作更完善,存储器及缓存的效率较高,以及较为简单的代码。

一些指令集保留了一个或多个的opcode,以运行系统调用或软件中断。

在设计处理器内的微架构时,工程师使用藉电路连接的区块来架构,区块用来表示加法器,乘法器,计数器,寄存器,算术逻辑单元等等,寄存器传递语言通常被用来描述被解码的指令,指令是借由微架构来运行指令。有两种基本的方法来建构控制单元,藉控制单元,以微架构作为通路来运行指令:

电脑微处理器的指令集架构(Instruction Set Architecture)常见的有三种:


相关

  • 常态化遗传漂变,或基因漂变(genetic drift),是指种群中基因库在代际发生随机改变的一种现象。由于任何一个个体的生存与繁殖都受到随机因素影响,繁殖过程可看做一种抽样,子代携带的等位
  • 波士顿新英格兰波士顿(英语:Boston)为美国马萨诸塞联邦(英语:Commonwealth (U.S. state))首府,占地面积 48平方英里(124 km2),2018年居民总数为694,583位,是马萨诸塞乃至新英格兰地区人口最
  • 约翰·考克饶夫约翰·考克饶夫爵士,OM,KCB,CBE,FRS(英语:Sir John Douglas Cockcroft,1897年5月27日-1967年9月18日),英国物理学家,1951年诺贝尔物理学奖获得者。1961-1965年间,曾担任澳洲国立大学校监
  • 二氢尿嘧啶二氢尿嘧啶(英语:Dihydrouracil)是尿嘧啶分解代谢的中间产物之一,能与核糖通过C-N糖苷键组成的二氢尿苷,在RNA中能与腺嘌呤形成互补配对。医学导航:遗传代谢缺陷代谢、k,c/g/r/p/y
  • 耿仲明耿仲明(1604年-1649年),明末辽东盖州(今辽宁盖州)人,字云台。崇祯初年为登州参将。清初三藩之一。原籍山东,矿工出身,当过辽东海盗,后投靠毛文龙,初与孔有德、尚可喜同为总兵毛文龙部属
  • 尼氏体尼氏体(英语:Nissl body)是神经元内的一种大型颗粒,这些颗粒为带有核糖体粗糙型内质网,是蛋白质合成的地方。此种颗粒以德国神经科学家弗朗茨·尼氏之名命名。利用尼氏所发展出的
  • 贝尔莫潘贝尔莫潘(英语:Belmopan)是中美洲国家伯利兹的首都。贝尔莫潘得名于伯利兹河及其支流莫潘河,海拔高度76米。位于伯利兹河畔,与旧都及第一大城及港口伯利兹市距离82公里远。伯利兹
  • 在北和平统一促进协会在北和平统一促进协会(朝鲜语:재북평화통일촉진협의회 / 在北平和統一促進協議會)简称在北平统(재북평통)或统协(통협),是朝鲜民主主义人民共和国团体,成立于1956年7月。协会成员主要
  • 伊哥洛特(科迪勒拉)伊哥洛特人或称科迪勒拉人,是对菲律宾的数个南岛民族的统称,这些民族居住在吕宋的山中。这些高地民族居住在科迪勒拉行政区的所有省份(共六个:阿布拉省、阿巴尧省、本格特省、卡
  • 图利奥·列维-齐维塔图利奥·列维-齐维塔(意大利语:Tullio Levi-Civita,1873年3月29日-1941年12月29日),意大利数学家。