折叠 编辑本段 S片师阻SE
SSE指令集
Streaming SIMD Extensions
由于MMX指令并没有来自带来3D游戏性能的显著提升,1999年Intel公司在P360百科entium IIICPU产品中推出了数据流单指令序列扩展指令(极金合职既响SSE)。SSE兼容MMX指令,它可以通过SIMD(单指令多数据即采强技术)和单时钟周期并行处理多个浮点来有效地提高浮实点运算速度。
在M积怀研MX指令集中,借用了浮点处理器的8个寄存器附己明,这样导致了浮点运算速度降低。而在SSE指令集推出时,Intel公司在Pentium III CPU中增加了8个128位的SSE指令专用寄存器。而且SS距第营E指令寄存器可以全速运行,保证原排九些断限尽了与浮点运算的并什孩低育行性。
SSE2指令集
在Pentium 4 CPU织歌食注中,Intel公司开发了新指令集SSE2。这一次新开发的SSE2指令一共144条,包括浮点SIMD指令、整形SIMD指令、SIMD浮点和整形数据之间转换、数据在MMX寄存器中转换等几大部分。其中重要的改进包括引入新的数据格解所必少千念沙式,如:128位SIMD整数运算和64位双精度浮点运算等。为了更好地利用高速缓存。另外,在Pentium 4中还新增加了几条缓存指令,允许程序员控制已经缓存过的数据。
SSE3指令集
相对于SSE2,SSE3又新增加了13条新指令,此前它们被统称为pni(prescott new instructions)。13条指令中,一条用于视频解码,两理垂武雨款负风条用于线程同步,其余用于复杂的数学运算、浮点到整数转换和SIMD浮点运算。
SSE4指令集
SSE4又增加了50条新的增般加性能的指令,这严说持才察资住成风些指令有助于编译、媒体、字符/文本处理和程序指向加速。
SSE4指令集将作为Intel公司未青高存时于先来“显著视频增强”平台的扩苦构可排请块利消怕一部分。该平台的其他视频增强功能还有Clear Video技术(CV边和皮在积往滑和良T)和统一显示接口(UDI)支持等,其中前者是对ATi AVIVO技术的回应,支持高级解码、后处理和增强型3D功能。
折叠 编族务手甚刑流福整采坏辑本段 其他
3D Now!扩展指令集
3D Now!指令集是AMD公司1998年开发的多媒体扩展指令集,共有21条指令。针对MMX指令集没有加强浮点处理能力的弱点,重点提高了AMD公司K6系列CPU对3D图形的处理能开力。由于指令有限,3D Now!指令集前几析同序东纸主要用于3D游戏,而对其他商业图形应用处理支持不足。
X86指令集
要知道什么是指令集还要从当今的X86架构的CPU说起。X86指令集是I房否满山ntel为其第一块16位CPU(i8086)专门开发的,比迅月IBM1981年推出的世界第一台PC机中的CPU—i8088(i808钢汉6简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器则另外使用X87指令,以后就将X86指令集和X87指令集统定刑罪头采称为X86指令集。虽然随着CPU技术的不断发展,Intel陆续研制出鲜无切世短更新型的i80386、i80486直到今天,但为了保证电脑能继续运行以往开发的各类应用程序以保护和连总做析企句坚减决继承丰富的软件资源,所以备装Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86轮胡系列及兼容CPU阵容。
EM64T指令集
Intel公司的EM64T(Extended Memory 64 Tec皇波妈hnology)即64统别要乡良位内存扩展技术。该技术为服务器和工作站平台应用提供扩充的内存寻址能力,拥背损议纸站体有更多的内存地址空间,可带来更大的应用灵活性,特别有利于提升音频视频编辑、CAD设计等复杂工程软件及题游戏软件的应用。
常说的64位指的是AMD公司出的64位CPU,而EM64T则是Intel公司按照自己的意思理解出来的64位,也就是和AMD公司的64位对应的另一种叫法。
RISC指令集
RISC指令集是以后高性能CPU的发展方向。它与传统的CISC(复杂指令集客志留)相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也燃块刑内火距为比复杂指令集少。使用RISC指令集的体系情即皇走钢结构主要有ARM、MIPS。
3DNow!+指令集
在原有的指令集基础上,增加到52条指令,其中包含了部分SSE指令,该指令集主要用于新型的AMD 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的时候,也需要明确的建立一个指令码表,这种规范化的指令列表就轮是指令集。