多语言展示
当前在线:1447今日阅读:19今日分享:20

3D Now、多媒体指令集和双核心类型

CPU知识详解: 3D Now、多媒体指令集和双核心类型一、3D Now由 AMD 公司提出的 3DNow! 指令集,应该说出现在 SSE 指令集之前,并被 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 做最佳化的软件中,能获得更好的效能。二、多媒体指令集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 来说,在基本功能方面,它们的差别并不太大,基本的指令集也都差不多。但是许多厂家为了提升某一方面性能,又开发了扩展指令集。扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必须要有软件的支持。1) MMX 指令集MMX(Multi Media eXtension,多媒体扩展指令集)指令集,是 Intel 公司于 1996 年推出的一项多媒体指令增强技术。MMX 指令集中,包括有 57 条多媒体指令,通过这些指令,可以一次处理多个数据,在处理结果超过实际处理能力的时候,也能进行正常处理。这样,在软件的配合下,就可以得到更高的性能。MMX 的益处在于,当时存在的操作系统不必为此而做出任何修改,便可以轻松地执行 MMX 程序。但是,问题也比较明显,那就是 MMX 指令集与 x87 浮点运算指令不能够同时执行,必须做密集式的交错切换,才可以正常执行。这种情况,就势必造成整个系统运行质量的下降。2) 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 和单时钟周期,并行处理多个浮点数据来有效地提高浮点运算速度。后来 Intel 为了应对 AMD 的 3Dnow!+ 指令集,又在 SSE 的基础上,开发了 SSE2,增加了一些指令,使得其 P4 处理器性能有大幅度提高。到 P4 设计结束为止,Intel 增加了一套包括 144 条新建指令的 SSE2 指令集。像最早的 SIMD 扩展指令集,SSE2 涉及了多重的数据目标上立刻执行一单个的指令(即 SIMD,一个计算低工控最好的方法是让每指令执行更多的工作)。最重要的是,SSE2 能处理 128 位和两倍精密浮点数学运算。处理更精确浮点数的能力,使 SSE2 成为加速多媒体程序、3D 处理工程以及工作站类型任务的基础配置。但重要的是,软件是否能适当的优化利用它。3) 3DNow! 指令集由 AMD 公司提出的 3DNow! 指令集,应该说出现在 SSE 指令集之前,并被 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 做最佳化的软件中,能获得更好的效能。三、双核心类型在 2005 年以前,主频一直是两大处理器巨头 Intel 和 AMD 争相追逐的焦点。而且处理器主频也在 Intel 和 AMD 的推动下,达到了一个又一个的高峰。就在处理器主频提升速度的同时,也发现在目前的情况下,单纯主频的提升,已经无法为系统整体性能的提升带来明显的好处,并且高主频带来了处理器巨大的发热量,更为不利是,Intel 和 AMD 两家在处理器主频提升上,已经有些力不从心了。在这种情况下,Intel 和AMD 都不约而同地将目光投向了多核心的发展方向,在不用进行大规模开发的情况下,将现有产品发展成为理论性能更为强大的多核心处理器系统,无疑是相当明智的选择。双核处理器,就是基于单个半导体的一个处理器上,拥有两个一样功能的处理器核心。即将两个物理处理器核心整合入一个内核中。事实上,双核架构并不是什么新技术,不过此前双核心处理器,一直是服务器的专利,现在已经开始普及之中。
推荐信息