1. 首页 > 电脑手机 >

架构指令集是什么 指令集架构层是软、硬件间的接口

处理器架构,指令集和汇编语言,三者有何关系

指令集架构简称指令集,ISA,CPU的执行单元和解码logic基本上由指令集决定。软件硬件之间的一个接口,程序员根据CPU的指令集能编写各种各样的编译器,用高级语言编写程序。

架构指令集是什么 指令集架构层是软、硬件间的接口架构指令集是什么 指令集架构层是软、硬件间的接口


汇编语言属于指令集,指令集包括机器指令和汇编指令。一条机器指令对应一条汇编指令,如mips中的000000机器码指令对应汇编指令的add假加法指令。汇编语言是便于人去理解的,记着一条add指令总比000000容易吧。

处理器架构就是微架构,学术界称为微结构。主要是CPU的流水线部分的设计。

指令集架构详细资料大全

微处理器的指令集架构(Instruction Set Architecture)常见种类如下: 复杂指令集运算(Complex Instruction Set Computing,CISC);精简指令集运算(Reduced Instruction Set Computing,RISC) ;显式并行指令集运算(Explicitly Parallel Instruction Computing,EPIC);超长指令字指令集运算(VLIW)

基本介绍 中文名 :微处理器的指令集架构 外文名 :Instruction Set Architecture 常见种类 :复杂指令集运算精简指令集运算等 所属学科 :计算机 CISC,RISC,EPIC,VLIW, CISC 目前x86架构微处理器如Intel的Pentium/Celeron/Xeon与AMD的Athlon/Duron/Sempron;以及其64位扩展系统的x86-64的架构的EM64T的Pentium/Xeon与AMD64的Athlon 64/Opteron都属于CISC系列。主要针对的作业系统是微软的Windows。另外Linux,一些UNIX等都可以运行在x86(CISC)架构的微处理器。 RISC RISC这种指令集运算包括HP的PA-RISC,IBM的PowerPC,Compaq(被并入HP)的Alpha,MIPS公司的MIPS,SUN公司的SPARC等。目前只有UNIX,Linux,MacOS等作业系统运行在RISC处理器上。 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各个计算功能部件的利用效率,提高了程式的性能。

什么叫指令集???

CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi

Media

Extended)、SSE、

SSE2(Streaming-Single

instruction

multiple

data-Extensions

2)和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩展指令集称为"CPU的指令集"。

1、精简指令集的运用

在初发明计算机的数十年里,随着计算机功能日趋增大,性能日趋变强,内部元器件也越来越多,指令集日趋复杂,过于冗杂的指令严重的影响了计算机的工作效率。后来经过研究发现,在计算机中,80%程序只用到了20%的指令集,基于这一发现,RISC精简指令集被提了出来,这是计算机系统架构的一次深刻革命。RISC体系结构的基本思路是:抓住CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,提高VLSI器件的使用效率,从而大幅度地提高处理器的性能。

RISC指令集有许多特征,其中重要的有:

指令种类少,指令格式规范:RISC指令集通常只使用一种或少数几种格式。指令长度单一(一般4个字节),并且在字边界上对齐,字段位置、特别是操作码的位置是固定的。

寻址方式简化:几乎所有指令都使用寄存器寻址方式,寻址方式总数一般不超过5个。其他更为复杂的寻址方式,如间接寻址等则由软件利用简单的寻址方式来合成。

大量利用寄存器间操作:RISC指令集中大多数操作都是寄存器到寄存器操作,只以简单的Load和Store操作访问内存。因此,每条指令中访问的内存地址不会超过1个,访问内存的操作不会与算术操作混在一起。

简化处理器结构:使用RISC指令集,可以大大简化处理器的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,而不必像CISC处理器那样使用微程序来实现指令操作。因此RISC处理器不必像CISC处理器那样设置微程序控制存储器,就能够快速地直接执行指令。

便于使用VLSI技术:随着LSI和VLSI技术的发展,整个处理器(甚至多个处理器)都可以放在一个芯片上。RISC体系结构可以给设计单芯片处理器带来很多好处,有利于提高性能,简化VLSI芯片的设计和实现。基于VLSI技术,制造RISC处理器要比CISC处理器工作量小得多,成本也低得多。

加强了处理器并行能力:RISC指令集能够非常有效地适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。目前常用的处理器内部并行操作技术基本上是基于RISC体系结构发展和走向成熟的。

正由于RISC体系所具有的优势,它在高端系统得到了广泛的应用,而CISC体系则在桌面系统中占据统治地位。而在如今,在桌面领域,RISC也不断渗透,预计未来,RISC将要一统江湖。

2、CPU的扩展指令集

对于CPU来说,在基本功能方面,它们的别并不太大,基本的指令集也都不多,但是许多厂家为了提升某一方面性能,又开发了扩展指令集,扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必需要有软件支持。

MMX

指令集

MMX(Multi

Media

eXtension,多媒体扩展指令集)指令集是Intel公司于1996年推出的一项多媒体指令增强技术。MMX指令集中包括有57条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处理,这样在软件的配合下,就可以得到更高的性能。MMX的益处在于,当时存在的操作系统不必为此而做出任何修改便可以轻松地执行MMX程序。但是,问题也比较明显,那就是MMX指令集与x87浮点运算指令不能够同时执行,必须做密集式的交错切换才可以正常执行,这种情况就势必造成整个系统运行质量的下降。

SSE指令集

SSE(Streaming

SIMD

Extensions,单指令多数据流扩展)指令集是Intel在Pentium

III处理器中率先推出的。其实,早在PIII正式推出之前,Intel公司就曾经通过各种渠道公布过所谓的KNI(Katmai

New

Instruction)指令集,这个指令集也就是SSE指令集的前身,并一度被很多传媒称之为MMX指令集的下一个版本,即MMX2指令集。究其背景,原来"KNI"指令集是Intel公司早为其下一代芯片命名的指令集名称,而所谓的"MMX2"则完全是硬件评论家们和媒体凭感觉和印象对"KNI"的

评价,Intel公司从未正式发布过关于MMX2的消息。

而终推出的SSE指令集也就是所谓胜出的"互联网SSE"指令集。SSE指令集包括了70条指令,其中包含提高3D图形运算效率的50条SIMD(单指令多数据技术)浮点运算指令、12条MMX

整数运算增强指令、8条优化内存中连续数据块传输指令。理论上这些指令对目前流行的图像处理、浮点运算、3D运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。SSE指令与3DNow!指令彼此互不兼容,但SSE包含了3DNow!技术的绝大部分功能,只是实现的方法不同。SSE兼容MMX指令,它可以通过SIMD和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。

SSE2指令集

SSE2(Streaming

SIMD

Extensions

2,Intel称为SIMD

流技术扩展

2或数据流单指令多数据扩展指令集

2)指令集是Intel公司在SSE指令集的基础上发展起来的。相比于SSE,SSE2使用了144个新增指令,扩展了MMX技术和SSE技术,这些指令提高了广大应用程序的运行性能。随MMX技术引进的SIMD整数指令从64位扩展到了128

位,使SIMD整数类型操作的有效执行率成倍提高。双倍精度浮点SIMD指令允许以

SIMD格式同时执行两个浮点操作,提供双倍精度操作支持有助于加速内容创建、财务、工程和科学应用。除SSE2指令之外,初的SSE指令也得到增强,通过支持多种数据类型(例如,双字和四字)的算术运算,支持灵活并且动态范围更广的计算功能。SSE2指令可让软件开发员极其灵活的实施算法,并在运行诸如MPEG-2、MP3、3D图形等之类的软件时增强性能。Intel是从Willamette核心的Pentium

4开始支持SSE2指令集的,而AMD则是从K8架构的SledgeHammer核心的Opteron开始才支持SSE2指令集的。

SSE3指令集

SSE3(Streaming

SIMD

Extensions

3,Intel称为SIMD

流技术扩展

3或数据流单指令多数据扩展指令集

3)指令集是Intel公司在SSE2指令集的基础上发展起来的。相比于SSE2,SSE3在SSE2的基础上又增加了13个额外的SIMD指令。SSE3

中13个新指令的主要目的是改进线程同步和特定应用程序领域,例如媒体和游戏。这些新增指令强化了处理器在浮点转换至整数、复杂算法、视频编码、SIMD浮点寄存器操作以及线程同步等五个方面的表现,终达到提升多媒体和游戏性能的目的。Intel是从Prescott核心的Pentium

4开始支持SSE3指令集的,而AMD则是从2005年下半年Troy核心的Opteron开始才支持SSE3的。但是需要注意的是,AMD所支持的SSE3与Intel的SSE3并不完全相同,主要是删除了针对Intel超线程技术优化的部分指令。

3D

Now!(3D

no

waiting)指令集

3DNow!是AMD公司开发的SIMD指令集,可以增强浮点和多媒体运算的速度,并被AMD广泛应用于其K6-2

、K6-3以及Athlon(K7)处理器上。3DNow!指令集技术其实就是21条机器码的扩展指令集。

与Intel公司的MMX技术侧重于整数运算有所不同,3DNow!指令集主要针对三维建模、坐标变换

和效果渲染等三维应用场合,在软件的配合下,可以大幅度提高3D处理性能。后来在Athlon上开发了Enhanced

3DNow!。这些AMD标准的SIMD指令和Intel的SSE具有相同效能。因为受到Intel在商业上以及Pentium

III成功的影响,软件在支持SSE上比起3DNow!更为普遍。Enhanced

3DNow!AMD公司继续增加至52个指令,包含了一些SSE码,因而在针对SSE做佳化的软件中能获得更好的效能。

指令集,也称为复杂指令集,英文名是CISC,(Complex Instruction Set Computer的缩写)。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。其实它是英特尔生产的x86系列(也就是IA-32架构)CPU及其兼容CPU,如AMD、VIA的。即使是现在新起的X86-64(也被成AMD64)都是属于CISC的范畴。

要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。

虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到过去的PII至强、PIII至强、Pentium 3,后到今天的Pentium 4系列、至强(不包括至强Nocona),但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。x86CPU目前主要有intel的服务器CPU和AMD的服务器CPU两类。

(2)RISC指令集

RISC是英文“Reduced Instruction Set Computing ” 的缩写,中文意思是“精简指令集”。它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中服务器中普遍采用这一指令系统的CPU,特别是服务器全都采用RISC指令系统的CPU。RISC指令系统更加适合服务器的操作系统UNIX,现在Linux也属于类似UNIX的操作系统。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。

目前,在中服务器中采用RISC指令的CPU主要有以下几类:PowerPC处理器、SPARC处理器、PA-RISC处理器、MIPS处理器、Alpha处理器。

(3)IA-64

EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)是否是RISC和CISC体系的继承者的争论已经有很多,单以EPIC体系来说,它更像Intel的处理器迈向RISC体系的重要步骤。从理论上说,EPIC体系设计的CPU,在相同的主机配置下,处理Windows的应用软件比基于Unix下的应用软件要好得多。

Intel采用EPIC技术的服务器CPU是安腾Itanium(开发代号即Merced)。它是64位处理器,也是IA-64系列中的第一款。微软也已开发了代号为Win64的操作系统,在软件上加以支持。在Intel采用了X86指令集之后,它又转而寻求更先进的64-bit微处理器,Intel这样做的原因是,它们想摆脱容量巨大的x86架构,从而引入精力充沛而又功能强大的指令集,于是采用EPIC指令集的IA-64架构便诞生了。IA-64 在很多方面来说,都比x86有了长足的进步。突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。

IA-64微处理器的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上(Itanium、Itanium2 )引入了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并不是的解码器,也不是运行x86代码的途径(的途径是直接在x86处理器上运行x86代码),因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为X86-64产生的根本原因。

作者: 菜鸭 2006-2-5 15:04 回复此发言

--------------------------------------------------------------------------------

2 什么叫指令集《新鸟老鸟一起来》

(4)X86-64 (AMD64 / EM64T)

AMD公司设计,可以在同一时间内处理64位的整数运算,并兼容于X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。

x86-64(也叫AMD64)的产生也并非空穴来风,x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。AMD充分考虑顾客的需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。在技术上AMD在x86-64架构中为了进行64位运算,AMD为其引入了新增了R8-R15通用寄存器作为原有X86处理器寄存器的扩充,但在而在32位环境下并不完全使用到这些寄存器。原来的寄存器诸如EAX、EBX也由32位扩张至64位。在SSE单元中新加入了8个新寄存器以提供对SSE2的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持32和64位代码及寄存器,x86-64架构允许处理器工作在以下两种模式:Long Mode(长模式)和Legacy Mode(遗传模式),Long模式又分为两种子模式(64bit模式和Compatibility mode兼容模式)。该标准已经被引进在AMD服务器处理器中的Opteron处理器。

而今年也推出了支持64位的EM64T技术,再还没被正式命为EM64T之前是IA32E,这是英特尔64位扩展技术的名字,用来区别X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技术类似,采用64位的线性平面寻址,加入8个新的通用寄存器(GPRs),还增加8个寄存器支持SSE指令。与AMD相类似,Intel的64位技术将兼容IA32和IA32E,只有在运行64位操作系统下的时候,才将会采用IA32E。IA32E将由2个sub-mode组成:64位sub-mode和32位sub-mode,同AMD64一样是向下兼容的。Intel的EM64T将完全兼容AMD的X86-64技术。现在Nocona处理器已经加入了一些64位技术,Intel的Pentium 4E处理器也支持64位技术。

应该说,这两者都是兼容x86指令集的64位微处理器架构,但EM64T与AMD64还是有一些不一样的地方,AMD64处理器中的NX位在Intel的处理器中将没有提供。

CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩展指令集称为"CPU的指令集"。

指令集是什么???

不好回答,从网上找了些,参考一下吧

简单的话概括,那个是CPU硬件接受指令,完成计算,输出结果时与软件进行交互时使用的语言,每条新的指令一般对应着一条或几条汇编语言,编译后对应着可以被CPU识别的机器码。指令集的支持是硬件与软件共同作用的结果,要想CPU支持某指令集,就要修改硬件电路,要想让软件支持新的指令集,就要修改程序,重新编译。做同样的操作,进行同样目的的运算,可以使用不同的方法(不同的汇编语句,机器码),SSE2优化的代码就是程序中使用了SSE2指令集中的语句,可以被P4/K8的解码器(现在的X86 CPU的内核都是RISC运算核心,解码器做转换工作)识别,进行更有效的计算,而K7 CPU不支持此代码,就用其它方法执行这个操作,比如使用X87 FPU指令

指令集就是CPU能支持的指令的.理论上,设计一种CPU就需要设计这种CPU所支持的指令,如果指令不同那么软件就无法通用.问题在于,通常软件的生存期比CPU长,所以在现阶段设计CPU的时候,往往按照已经存在的CPU所支持的指令设计新CPU的指令系统,甚至直接把已有的某些CPU的指令列表标准化,形成一个标准指令列表,这样以后只要支持这些指令,不同的CPU之间可以互换;而发布新CPU的时候,也需要明确的建立一个指令码表,这种规范化的指令列表就是指令集.

指令集是人为预定的编码集。指令集以其说是软件,其实是一套硬件电路的。

cpu的每条指令在设计CPU前,都是预先编码的, 比如MOV ,你可以编码成1100H或1200H,反正随你喜欢,但是随后必须严格按照这个编码来设计实际逻辑控制电路,使其务必完成后续操作,一般用VHDL语言设计好,再在FPGA开发仿真板上验证正确通过。比如 RISC指令集,其每条指令编码和具体执行逻辑控制电路已经固定,而且公开透明,也就是所谓的开源,可以在其上设计自己的CPU。

指令集一旦编码设计完成,并且得到主流操作系统认可,其每条指令的编码就固定不变了。而且,还可以一直通过授权的方式收钱。

指令集

(1)X86指令集

要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加了X87芯片,以后就将X86指令集和X87指令集统称为X86指令集。

虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium

4(以下简为P4)系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel

X86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。

(2)RISC指令集

RISC指令集是以后高性能CPU的发展方向。它与传统的CISC(复杂指令集)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。而且RISC指令集还兼容原来的X86指令集。

处理器架构、指令集和汇编语言,三者有何关系?

想要知道处理器架构、指令集和汇编语言,三者有何关系,我们先要了解一下这三个名词解释。

指令集架构

指令集架构,简称指令集,ISA、CPU执行单元和解码逻辑基本上由指令集决定。软件和硬件之间的接口,程序员可以根据CPU的指令集编写各种编译器,用高级语言编写程序。

汇编语言

汇编语言是便于人去理解的,是用人类看得懂的语言来描述指令集,汇编是用类似人类语言的方式描述指令集,读起来方便多了。汇编语言是一个指令集,指令集包括机器指令和装配指令。机器指令对应于汇编指令。

虽然汇编语言便于阅读,但它也有缺陷。第一个汇编语言很麻烦。其次,汇编语言对应一组指令集,因此当指令集发生变化时,它必须修改相应的汇编语言,从而导致移植性,不能跨平台使用。

处理器架构

处理器架构就是微架构,学术界称为微结构。主要是CPU的流水线部分的设计。

三者之间的关系

指令集决定处理器的架构,因为处理器架构是使用硬件电路实现指令集。但是什么样的处理器架构被使用,什么样的硬件电路被设计,以及每个人的设计可能不同。

要设计一个处理器,您需要有一个指令集,它指示处理器操作和控制处理器以实现相应的功能。

为了方便人类操作指令集,汇编语言是用来描述指令集的,汇编语言类似于人类语言,更易于阅读。

什么是x86架构的处理器?什么是x86指令集?有哪些典型的微处理器采用了x86架构与x86指令集?

【答案】:所谓x86架构的处理器就是采用了Intel x86指令集的处理器。

x86指令集是Intel为其第一块16位处理器8086所专门开发的。而IBM公司在1981年所推出的第一台PC上所使用的处理器8088(8086的简化版)也是使用x86指令集,但是为了增加计算机的浮点运算能力,增加了x87数学协助处理器和加入了x87指令集,于是就将采用了x86指令集和x87指令集的处理器统称为x86架构的处理器。

Intel所生产的大部分处理器都是属于x86架构的处理器,包括80386、80486和Pentium系列处理器等。除了Intel以外,AMD和Cyrix等厂商也在生产集成了x86指令集的处理器产品,而这些处理器都能够与支持Intel处理器的软件和硬件相兼容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息