什么是CPU指令集?现有的扩展指令都有哪些?

什么是CPU指令,扩展指令集

cpu就是中央处理器包括运算器和控制器负责程序运行。
在向大家介绍CPU详细的情形之前,务必要让大家弄清楚到底CPU是什么?它到底有那些重要的性能指标呢?

CPU的英文全称是Central Processing Unit,我们翻译成中文也就是中央处理器。CPU(微型机系统)从雏形出现到发壮大的今天(下文会有交代),由于制造技术的越来越现今,在其中所集成的电子元件也越来越多,上万个,甚至是上百万个微型的晶体管构成了CPU的内部结构。那么这上百万个晶体管是如何工作的呢?看上去似乎很深奥,其实只要归纳起来稍加分析就会一目了然的,CPU的内部结构可分为控制单元,逻辑单元和存储单元三大部分。而CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。 CPU作为是整个微机系统的核心,它往往是各种档次微机的代名词,如往日的286、386、486,到今日的奔腾、奔腾二、K6等等,CPU的性能大致上也就反映出了它所配置的那部微机的性能,因此它的性能指标十分重要。在这里我们向大家简单介绍一些CPU主要的性能指标:

第一、主频,倍频,外频。经常听别人说:“这个CPU的频率是多少多少。。。。”其实这个泛指的频率是指CPU的主频,主频也就是CPU的时钟频率,英文全称:CPU Clock Speed,简单地说也就是CPU运算时的工作频率。一般说来,主频越高,一个时钟周期里面完成的指令数也越多,当然CPU的速度也就越快了。不过由于各种各样的CPU它们的内部结构也不尽相同,所以并非所有的时钟频率相同的CPU的性能都一样。至于外频就是系统总线的工作频率;而倍频则是指CPU外频与主频相差的倍数。三者是有十分密切的关系的:主频=外频x倍频。

第二:内存总线速度,英文全称是Memory-Bus Speed。CPU处理的数据是从哪里来的呢?学过一点计算机基本原理的朋友们都会清楚,是从主存储器那里来的,而主存储器指的就是我们平常所说的内存了。一般我们放在外存(磁盘或者各种存储介质)上面的资料都要通过内存,再进入CPU进行处理的。所以与内存之间的通道枣内存总线的速度对整个系统性能就显得很重要了,由于内存和CPU之间的运行速度或多或少会有差异,因此便出现了二级缓存,来协调两者之间的差异,而内存总线速度就是指CPU与二级(L2)高速缓存和内存之间的通信速度。

第三、扩展总线速度,英文全称是Expansion-Bus Speed。扩展总线指的就是指安装在微机系统上的局部总线如VESA或PCI总线,我们打开电脑的时候会看见一些插槽般的东西,这些就是扩展槽,而扩展总线就是CPU联系这些外部设备的桥梁。

第四:工作电压,英文全称是:Supply Voltage。任何电器在工作的时候都需要电,自然也会有额定的电压,CPU当然也不例外了,工作电压指的也就是CPU正常工作所需的电压。早期CPU(286枣486时代)的工作电压一般为5V,那是因为当时的制造工艺相对落后,以致于CPU的发热量太大,弄得寿命减短。随着CPU的制造工艺与主频的提高,近年来各种CPU的工作电压有逐步下降的趋势,以解决发热过高的问题。

第五:地址总线宽度。地址总线宽度决定了CPU可以访问的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存。16位的微机我们就不用说了,但是对于386以上的微机系统,地址线的宽度为32位,最多可以直接访问4096 MB(4GB)的物理空间。而今天能够用上1GB内存的人还没有多少个呢(服务器除外)。

第六:数据总线宽度。数据总线负责整个系统的数据流量的大小,而数据总线宽度则决定了CPU与二级高速缓存、内存以及输入/输出设备之间一次数据传输的信息量。

第七:协处理器。在486以前的CPU里面,是没有内置协处理器的。由于协处理器主要的功能就是负责浮点运算,因此386、286、8088等等微机CPU的浮点运算性能都相当落后,相信接触过386的朋友都知道主板上可以另外加一个外置协处理器,其目的就是为了增强浮点运算的功能。自从486以后,CPU一般都内置了协处理器,协处理器的功能也不再局限于增强浮点运算,含有内置协处理器的CPU,可以加快特定类型的数值计算,某些需要进行复杂计算的软件系统,如高版本的AUTO CAD就需要协处理器支持。

第八:超标量。超标量是指在一个时钟周期内CPU可以执行一条以上的指令。这在486或者以前的CPU上是很难想象的,只有Pentium级以上CPU才具有这种超标量结构;486以下的CPU属于低标量结构,即在这类CPU内执行一条指令至少需要一个或一个以上的时钟周期。

第九:L1高速缓存,也就是我们经常说的一级高速缓存。在CPU里面内置了高速缓存可以提高CPU的运行效率,这也正是486DLC比386DX-40快的原因。内置的L1高速缓存的容量和结构对CPU的性能影响较大,容量越大,性能也相对会提高不少,所以这也正是一些公司力争加大L1级高速缓冲存储器容量的原因。不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。

第十:采用回写(Write Back)结构的高速缓存。它对读和写操作均有效,速度较快。而采用写通(Write-through)结构的高速缓存,仅对读操作有效.

第十一:动态处理。动态处理是应用在高能奔腾处理器中的新技术,创造性地把三项专为提高处理器对数据的操作效率而设计的技术融合在一起。这三项技术是多路分流预测、数据流量分析和猜测执行。动态处理并不是简单执行一串指令,而是通过操作数据来提高处理器的工作效率。

动态处理包括了枣1、多路分流预测:通过几个分支对程序流向进行预测,采用多路分流预测算法后,处理器便可参与指令流向的跳转。它预测下一条指令在内存中位置的精确度可以达到惊人的90%以上。这是因为处理器在取指令时,还会在程序中寻找未来要执行的指令。这个技术可加速向处理器传送任务。2、数据流量分析:抛开原程序的顺序,分析并重排指令,优化执行顺序:处理器读取经过解码的软件指令,判断该指令能否处理或是否需与其它指令一道处理。然后,处理器再决定如何优化执行顺序以便高效地处理和执行指令。3、猜测执行:通过提前判读并执行有可能需要的程序指令的方式提高执行速度:当处理器执行指令时(每次五条),采用的是“猜测执行”的方法。这样可使奔腾II处理器超级处理能力得到充分的发挥,从而提升软件性能。被处理的软件指令是建立在猜测分支基础之上,因此结果也就作为“预测结果”保留起来。一旦其最终状态能被确定,指令便可返回到其正常顺序并保持永久的机器状态。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-24
CPU指令集实际上就是该CPU的汇编指令的集合。由于指令集与硬件密切相关,对于Intel x86系列CPu采用基本指令集和扩展指令集的方式。其中基本指令集是所有x86及兼容系列CPU都必须可以直接运行的,而每个扩展指令集就需要根据CPU硬件的不同有所删减,以便形成性能有所不同和不同价位的CPU。
第2个回答  2009-09-24
cpu作为一台电脑中的核心,它的作用是无法替代的。而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的指令集"。
然而如此一颗精密的芯片为什么能够控制一个庞大而复杂的电脑系统呢?这就是cpu中所集成的指令集。所谓指令集,就是cpu中用来计算和控制计算机系统的一套指令的集合,而每一种新型的cpu在设计时就规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系到cpu的性能发挥,它也是cpu性能体现的一个重要标志。
再强大的处理器也需要指令集的配合才行
cpu的指令集从主流的体系结构上分为精简指令集和复杂指令集,而在普通的计算机处理器基本上是使用的复杂指令集。在计算机早期的发展过程中,cpu中的指令集是没有划分类型的,而是都将各种程序需要相配合的指令集成到cpu中,但是随着科技的进步,计算机的功能也越来越强大,计算机内部的元件也越来越多,而且越来越复杂,cpu的指令也相应的变得十分复杂,而在使用过程中,并不是每一条指令都要完全被执行,在技术人员的研究过程中发现,约有80%的程序只用到了20%的指令,而一些过于冗余的指令严重影响到了计算机的工作效率,就这一现象,精简指令集的概念就被提了出来。
精简指令集risc就是(reduced instruction set computing)的缩写,而复杂指令集cisc则是(complex instruction set computing)的缩写。它们之间的不同之处就在于risc指令集的指令数目少,而且每条指令采用相同的字节长度,一般长度为4个字节,并且在字边界上对齐,字段位置固定,特别是操作码的位置。而cisc指令集特点就是指令数目多而且复杂,每条指令的长度也不相等。
在操作上,risc指令集中大多数操作都是寄存器到寄存器之间的操作,只以简单的load(读取)和sotre(存储)操作访问内存地址。因此,每条指令中访问的内存地址不会超过1个,指令访问内存的操作不会与算术操作混在一起。在功能上,risc指令集也要比复杂指令集具有优势,精简指令集可以大大简化处理器的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,从而节约的处理器的制造成本。
而采用cisc指令集的处理器是使用微程序来实现指令操作,在执行速度上不如risc指令集。另外,risc还加强了并行处理能力,非常适合于采用处理器的流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。而且随着vlsi(very large scale integration超大规模集成电路)技术的发展,整个处理器的核心甚至多个处理器核心都可以集成在一个芯片上。risc指令集的体系结构可以给设计单芯多核处理器带来很多好处,有利于处理器的性能提高。
由于risc指令集自身的优势,在处理器的高端服务器领域的处理器上得到了广泛的运用,而cisc指令集主要运用桌面领域的处理器产品中,比如intel的pentium系列和amd的k8系列处理器。然而现在risc指令集也不断地向桌面领域渗入,相信以后的处理器指令集会慢慢的向risc体系靠拢,使得处理器的指令集结构更加完善,功能更为强大,技术也越来越成熟。
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将要一统江湖本回答被网友采纳
相似回答