指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序 。拥有这些指令集,CPU就可以更高效地运行 。Intel主要有x86,EM64T,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4A,SSE4.1,SSE4.2,AVX,AVX2,AVX-512,VMX等指令集 。AMD主要是x86,x86-64,3D-Now!指令集 。
SSE指令集
Streaming SIMD Extensions
由于MMX指令并没有带来3D游戏性能的显著提升,1999年Intel公司在Pentium IIICPU产品中推出了数据流单指令序列扩展指令(SSE) 。SSE兼容MMX指令,它可以通过SIMD(单指令多数据技术)和单时钟周期并行处理多个浮点来有效地提高浮点运算速度 。
在MMX指令集中,借用了浮点处理器的8个寄存器,这样导致了浮点运算速度降低 。而在SSE指令集推出时,Intel公司在Pentium III CPU中增加了8个128位的SSE指令专用寄存器 。而且SSE指令寄存器可以全速运行,保证了与浮点运算的并行性 。 [1]
SSE2指令集
在Pentium 4 CPU中,Intel公司开发了新指令集SSE2 。这一次新开发的SSE2指令一共144条,包括浮点SIMD指令、整形SIMD指令、SIMD浮点和整形数据之间转换、数据在MMX寄存器中转换等几大部分 。其中重要的改进包括引入新的数据格式,如:128位SIMD整数运算和64位双精度浮点运算等 。为了更好地利用高速缓存 。另外,在Pentium 4中还新增加了几条缓存指令,允许程序员控制已经缓存过的数据 。 [1]
SSE3指令集
相对于SSE2,SSE3又新增加了13条新指令,此前它们被统称为pni(prescott new instructions) 。13条指令中,一条用于视频解码,两条用于线程同步,其余用于复杂的数学运算、浮点到整数转换和SIMD浮点运算 。 [1]
SSE4指令集
SSE4又增加了50条新的增加性能的指令,这些指令有助于编译、媒体、字符/文本处理和程序指向加速 。
SSE4指令集将作为Intel公司未来“显著视频增强”平台的一部分 。该平台的其他视频增强功能还有Clear Video技术(CVT)和统一显示接口(UDI)支持等,其中前者是对ATi AVIVO技术的回应,支持高级解码、后处理和增强型3D功能 。 [1]
【CPU指令集你又知道多少?】3D Now!扩展指令集
3D Now!指令集是AMD公司1998年开发的多媒体扩展指令集,共有21条指令 。针对MMX指令集没有加强浮点处理能力的弱点,重点提高了AMD公司K6系列CPU对3D图形的处理能力 。由于指令有限,3D Now!指令集主要用于3D游戏,而对其他商业图形应用处理支持不足 。
X86指令集
要知道什么是指令集,还要从当今的X86架构的CPU说起 。X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM1981年推出的世界第一台PC机中的CPU—i8088(i8086简化版)使用的也是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 Technology)即64位内存扩展技术 。该技术为服务器和工作站平台应用提供扩充的内存寻址能力,拥有更多的内存地址空间,可带来更大的应用灵活性,特别有利于提升音频视频编辑、CAD设计等复杂工程软件及游戏软件的应用 。常说的64位指的是AMD公司出的64位CPU,而EM64T则是Intel公司按照自己的意思理解出来的64位,也就是和AMD公司的64位对应的另一种叫法 。
RISC指令集RISC指令集是以后高性能CPU的发展方向 。它与传统的CISC(复杂指令集)相对 。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少 。使用RISC指令集的体系结构主要有ARM、MIPS 。
3DNow!+指令集
在原有的指令集基础上,增加到52条指令,其中包含了部分SSE指令,该指令集主要用于新型的AMD CPU上 。 [1]
AVX指令集
Intel AVX指令集在SIMD计算性能增强的同时也沿用了的MMX/SSE指令集 。不过和MMX/SSE的不同点在于增强的AVX指令,从指令的格式上就发生了很大的变化 。x86(IA-32/Intel 64)架构的基础上增加了prefix(Prefix),所以实现了新的命令,也使更加复杂的指令得以实现,从而提升了x86 CPU的性能 。
推荐阅读
- 多核 CPU 和多个 CPU 有何区别?
- 华为路由器基本查看指令
- 2022年百度集卡什么卡最难集,百度集卡活动怎么获得更多的卡
- Bilibili拜年纪2022集卡活动怎么玩,B站2022拜年纪集卡活动攻略大全
- 冰心奶奶教会我们写诗 冰心的诗集春水
- 孙兴慜经典进球 孙兴慜进球集锦
- 创业板是什么意思? 600718东软集团
- 为防止手机APP过度采集个人信息,这些事情你得知道
- 宝马车型销量 宝马汽车年销量
- 大众|大众集团将召回10万辆插混车:高压电池绝缘有问题、或自燃