浮点运算能力性能 具体有什么应用区别

623被浏览122,252分享邀请回答22420 条评论分享收藏感谢收起533 条评论分享收藏感谢收起 上传我的文档
 下载
 收藏
粉丝量:28
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
CPU浮点运算和GPU的通用计算的技术差异
下载积分:5000
内容提示:CPU浮点运算和GPU的通用计算的技术差异
文档格式:PDF|
浏览次数:26|
上传日期: 00:08:23|
文档星级:
全文阅读已结束,如果下载本文需要使用
 5000 积分
下载此文档
该用户还上传了这些文档
CPU浮点运算和GPU的通用计算的技术差异
关注微信公众号苹果a8和a9 CPU的差别在哪_苹果a8和a9有什么区别 - 硬件资讯 - 偶要下载站
偶要下载站 / 绿色软件下载联盟站!为大家提供一手绿色软件下载服务!
当前位置: &
苹果a8和a9 CPU的差别在哪_苹果a8和a9有什么区别
苹果a8和a9的CPU有什么区别?区别在哪?
简单的说A8只支持单核,A9支持双核..当前智能手机CPU架构都是精减指令集的ARM架构。市场上主流单核手机通常是A8,双核基本全是A9架构。
那么这个时候A8和A9的区别是什么,除了频率还拥有什么区别?
简单的说,最大硬件区别体当前三个关键技术指标上,Cortex-A9架构的双核处理器要具备明显的优势。
1、整数计算能力
Cortex-A9的单核的CPU处理能力可以达到2.50DMIPS*,而Cortex-A8的峰值只能达到2.00DMIPS。DMIPS是用来衡量计算机芯片的单位。DMIPS数值越大,CPU的数据处理能力越强。也就是说如果单纯用数学计算的角度来看的话,Cortex-A9双核处理器的数据处理能力是Cortex-A8的2.5倍。《MIPS:Million Instructions executed Per Second,每秒百万条指令,用来计算同一秒内系统的处理能力,即每秒执行了多少百万条指令。》SO,Cortex-A9单核CPU的计算能力是要优于Cortex-A8处理器。
2、浮点运算能力
在计算机里,有两种办法表示实数,一种是定点,就是小数点位置是固定的,一种是浮点,就是小数点位置不固定,计算方法也比较麻烦,平常会比整数运算代价大很多。因此浮点运算能力还可以直接体现一款处理器性能是否出色。同频率双核Cortex-A9在CPU浮点运算这一项比A8性能提升高达50%以上。因此Cortex-A9并不是从Cortex-A8身上简单地将处理器核心进行叠加,而是在单核运算能力上都有很大的提升。
3、L2二级缓存
L2二级缓存是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,基本不需要等待从而加快读取速度。。
一句话,二级缓存意义就是节省CPU直接读取内存的时间。因此L2二级缓存对CPU的性能影响很大,因此在CPU工作频率不变的基础上,增加L2二级缓存的大小可以直接影响CPU的工作效率。
不同架构CPU配置L2值不同,A8能配置的最大值是1M,而A9能配置的最大值是8M。
当然处理器配置二级缓存的多少一最终还是要取决于芯片制造商对产品定位、性价比等多种因素的考虑,但Cortex-A9处理器L2的极限值更大,这就意味着同样都是采取顶级配置方案时,Cortex-A9在性能上的表现将会远超Cortex-A8。
偶要下载站集绿色软件下载、手机软件与游戏、各种素材、字体下载于一身的联盟网站,致力打造一个纯绿色软件下载乐园。
本站为非营利性网站,中国绿色联盟提供的资源均来自网络收集整理,下载个人纯属学习交流之用,如有侵犯您的版权请与我联系,我们会马上改正请在下载24小时内删除!
Copyright (C)
偶要下载() All Rights Reserved. 鲁ICP备号 鲁公网安备74号不同CPU架构如何影响浮点运算性能(转)
为了帮助广大网友更好的了解浮点运算,以及处理器结构与浮点运算之间的关系,我们服务器在线特别与英特尔公司合作发布了这篇文章,希望大家可以借此加深对浮点运算的相关知识了解。
本文包括三大部分:第一部分:浮点Q&A。第二部分:浮点运算与英特尔。第三部分:SPECfp_rate_base2006
性能指标评测说明。
第一部分:浮点运算Q&A
什么是浮点数:
要了解什么是浮点数,首先要了解什么是整数。数和计算通常是按“整数”或“浮点数”进行划分的。整数计算使用计算的所有位(如32位)记录整数“值”。而浮点计算则使用计算的一部分位表示“值”(如23位),另一部分位表示指数(8位)。由于一部分位用来表示指数,所以浮点计算得出的值可以比整数计算得出的值大很多或是小很多。换句话说,对于给定数量的位,浮点计算的精度没有整数计算高,但浮点计算结果的范围却比整数计算大很多。
什么是浮点计算精度
采用浮点计算时,您可以确定记录多少个数。例如,“π”的一个相当长的表示是
37510。问题是您想/需要记录 π
的几位数?您想让精确度达到多少?
π的上述值是 51 位数。要将 51
位数表示成二进制数,每位数需要 3.32 位(Log
(10)/Log(2) = 3.32),总计需要51 * 3.32 = 169
位。这样位数太多。您使用的位数越多,处理器计算的复杂程度就越高,也就需要更多的内存来存储值,计算所用的时间也就越长(和/或将需要更多的晶体管来执行更大的计算)。由于各计算所需精度不同,因此处理器为不同指令提供不同的精度,从而使编程人员可以确定他们所需的精度。精度级别可分为:单精度、双精度和扩展精度。
哪些处理器执行单元用于浮点运算?
大多数人会认为所有的浮点运算都通过处理器中的浮点单元完成。总体说来是这样的,但不是所有的浮点单元都一样,所有的浮点指令也不尽相同。同样,许多人认为所有的SIMD(单指令多数据流)指令都是由SIMD单元完成的。然而事实并非如此。有些SIMD指令执行整数运算,而有些则执行浮点运算。同样,执行浮点运算的SIMD指令使用的执行单元与非SIMD浮点指令(如x87浮点指令)相同。
何谓不同的浮点指令集?
在增加MMX或SSE/SSE2/SSE3指令集之前,x86架构中的所有浮点计算都被认为是x87指令。这意味着他们使用特定的80
x87寄存器堆栈并且是80位扩展精度计算。所有x87指令都有一个源和目标操作数(例如单条指令,单个数据)。
x87寄存器位于堆栈中,而非平面寄存器文件(flat
file)。这意味着,访问x87寄存器要比下述XMM寄存器复杂一些。
采用MMX技术的英特尔?奔腾?处理器中增加了MMX指令。MMX是第一个增加到x86指令集中的SIMD指令。MMX指令是纯整数运算;不过使用的是80位x87寄存器堆栈。
英特尔奔腾III处理器中增加了SSE指令集。SSE增加了支持单精度浮点运算能力的SIMD指令,它使用8个新的XMM128位寄存器(在64位模式中运算时,新的处理器中有16个XMM寄存器),它们被布置在一个平面寄存器文件中(这意味着可随时访问任何寄存器,并且不使用x87寄存器所用的堆栈协议)。增加的SIMD整数运算也是SSE指令集的一部分。x87寄存器无需执行SSE浮点指令,但是执行浮点运算的那些SSE指令仍使用x87指令所使用的浮点执行单元(FP-add、FP-Mul和FP-Div)。这意味着您不能同时执行SSE
FP-Multiply和x87 FP-Multiply。
英特尔奔腾4处理器和英特尔至强处理器中增加了SSE2指令。SSE2增加了支持双精度浮点运算能力的SIMD指令,它使用SSE指令所使用的128位
XMM寄存器(增加的SIMD整数运算也是SSE2指令集的一部分)。许多新的SSE2指令与原来的MMX指令相似;但是新的SSE2指令能够使用“更加易用”的XMM寄存器,而非“较难用”的x87寄存器堆栈。双精度浮点SSE2指令继续使用x87浮点执行单元。
含超线程(HT)技术的英特尔奔腾4处理器和英特尔至强处理器(例如90纳米Northwood和Prestonia)中增加了SSE3指令。SSE3指令只是增加了几个SSE或SSE2指令集中所没有的较为独特的指令,但并未增加任何重要的新功能。
而在英特尔全线台式机处理器酷睿、酷睿2处理器、移动平台上的迅驰?处理器以及服务器上全新的英特尔至强处理器上采用的酷睿架构中,英特尔在原有的
SSE3指令集的基础上新增了SSE优化,包括酷睿2处理器架构加速的SSE,
SSE2和SSE3双操作(operations
two-fold)。经过优化的架构可以在单时钟周期内执行一条128位SSE,
SSE2或SSE3指令。
下一代SSE4指令集将集成在2007年下半年发布的下一代45nm产品中,其中包括代号Nehalem的英特尔第二代酷睿?架构。SSE4增加了50条性能增强指令。这些指令优化矢量编译、媒体、文本和字符串处理以及程序目标加速。
CPU 微体系结构对浮点运算的影响
以下是双核英特尔至强5100处理器(Woodcrest)上其中一个内核的微体系结构图表。您将注意到FP-Mul/FP-Div
和FP-Add 单元(在图表中显示为 Fadd 和
Fmul/Fdiv)处于不同的输出端口(因此支持每时钟周期发出和撤销两条浮点运算)。
Woodcrest 处理器微体系结构
为了与上述进行对比,下面列出了 AMD K8S
处理器微体系结构(单核):
AMD K8S处理器微体系结构
下表是对AMD当前(K8S
双核)和下一代处理器(Deerhound
四核)的浮点运算能力的总结。列出四核英特尔至强5300处理器(Clovertown,双核)和双核英特尔至强5100处理器(Woodcrest,四核)的值作为参考。值得注意的是,当前Woodcrest的浮点运算能力大约是AMD
Opteron的2倍。虽然将AMD在2007年第3季度推出“Deerhound”,但届时,Clovertown仍会因其较高的内核频率继续保持一定的领先优势。
最高持续浮点运算
K8S(双核)
&Deerhound(四核)
&Woodcrest(双核)
&Clovertown(四核)
22.4 GFLOPS &
&78.4 GFLOPS &
&48 GFLOPS &
&84 GFLOPS
11.2 GFLOPS &
&39.2 GFLOPS &
&24 GFLOPS &
&42 GFLOPS
扩展双精度
11.2 GFLOPS &
&19.6 GFLOPS &
&12 GFLOPS &
&21 GFLOPS
单插槽最高持续浮点运算(英特尔对比AMD)
&&&&&&&&&&&
1.K8S:4次单精度运算/指令&1条浮点指令/时钟&2个内核=8次浮点运算/时钟
&&&&&&&&&&&
(&2.8GHz=22.4GFLOPS)
&&&&&&&&&&&
2.K8S:2次双精度运算/指令&1条浮点指令/时钟&2个内核=4次浮点运算/时钟
&&&&&&&&&&&
(&2.8GHz=11.2GFLOPS)
&&&&&&&&&&&
3.K8S:1次扩展双精度运算/指令&2条浮点指令/时钟&2个内核=4次浮点运算/时钟
&&&&&&&&&&&
(&2.8GHz=11.2GFLOPS)
&&&&&&&&&&&
4.四核的值是英特尔和AMD都将时钟速率相对双核降低12.5%的预测结果。
&&&&&&&&&&&
(例如,英特尔为3.0&.875=2.625GHz;AMD为2.8&.875=2.45GHz)
尽管所有的浮点运算都在一个执行单元内运行,但是不同的指令用于执行不同的运算精度。了解什么运算单元能运算什么指令会让你明白具体每个处理器理论上的浮点运算能力(FLOPS)意味着什么。简单的计算一个处理器有多少浮点运算单元并不能准确的告诉你该处理器的浮点运算能力。你需要了解浮点运算单元的计算宽度,每个浮点运算单元能执行的指令,每个指令运算的精度以及在一个时钟指令内每个指令能执行的数量。
第二部分:浮点运算与英特尔
对于计算机而言,计算复杂程度越大,要求的内存值也就越多,计算所用的时间也就越长,同时也需要更多的晶体管来支持计算。在上世纪九十年代前,这确实是一个难题,怎样能让计算机更轻松的处理越来越复杂的运算?直到一个人的出现,难题迎刃而解了,他就是浮点计算的先驱――威廉?凯亨(William
M.Kahan)。
计算机中的“数”有“定点数”和“浮点数”之分,“定点数”的运算部件的设计和实现比较容易,而“浮点数”的运算部件的设计和实现却复杂得多,并且困难得多。因此,较早的计算机许多都不配备浮点运算,而是采用IBM的巴科斯(J.Backus,1999年度图灵奖获得者)发明的软件,由定点运算部件去完成浮点运算。可这种做法使浮点运算的速度大大降低,也就难以满足某些应用的需要了。
就是在这种情况下,威廉?凯亨,这位1933年6月出生在多伦多,曾经供职于英特尔的人解决了这个问题。威廉?凯亨在完成中学学业以后,进入著名的多伦多大学。在那里,他实现了“三级跳”――继1954年取得数学学士学位以后,1956年和1958年又先后获得硕士学位和博士学位。学成以后,凯亨在母校和加州大学伯克利分校从事过教学和研究工作。在英特尔供职期间,凯亨主持设计与开发了8087芯片,成功地实现了高速、高效的浮点运算部件。直到目前,以
80&86为CPU的计算机,若需完成科学与工程计算方面的课题,也必须同时配置8087这种数学协处理器。同时,一些著名的数学软件包,如
Mathematica,也必须在配有8087数学协处理器的机器上才能运行。由于他的突出贡献,凯亨后来又受命主持制定了二进制的、与基数无关的浮点运算标准,即IEEE754标准和IEEE854标准。而这两个标准至今仍为绝大多数的计算机厂商所遵守。也正是由于这两个标准,ACM于1990年1月宣布凯亨因在浮点运算标准的制定上的贡献而获得图灵奖。
严密、严谨、严格、追求更进一步是威廉?凯亨的一贯作风,也是他留给英特尔在不断研发新的计算机浮点运算技术道路上的一笔精神财富。英特尔与浮点运算有着不解之缘,不论是从创始还是到一路走来的发展,英特尔都在贡献着自己最大的力量,相信在明天,英特尔依然会伴随着浮点计算的不断发展继续前行。
第三部分:SPECfp_rate_base2006
性能指标评测说明
SPECfp_rate_base2006是一项计算密集型性能指标评测,用于衡量计算机系统在运行大量并行任务时的浮点吞吐性能。性能指标评测包括从实际最终用户应用开发而来的一组十四个浮点工作负载。通过将性能指标评测的拷贝数量设置成操作系统可识别的逻辑硬件内核数量而同时运行多个性能指标评测拷贝来测量系统吞吐率。报告的性能得分是按工作/小时测量的系统吞吐率的衡量标准。得分越高表示性能越好。
&&&&&&&&&&&
SPECfp2006:当采用全面优化的编译程序进行编译时的17个标配比率的几何平均值。每一个比率代表一个浮点运算基准测试。
&&&&&&&&&&&
SPECfp_base2006:当基准测试采用最低优化的编译程序进行编译时的17个标配比率的几何平均值。
&&&&&&&&&&&
SPECfp_rate2006:当基准测试采用全面优化的编译程序进行编译时的17个标配吞吐率的几何平均值。
&&&&&&&&&&&
SPECfp_rate_base2006:当基准测试采用最低优化的编译程序进行编译时的17个标配吞吐率的几何平均值。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 浮点运算 性能 关系 的文章

 

随机推荐