PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

转载个文章,关于SuperPi的

  [复制链接]
81#
dxkzy 发表于 2013-3-2 21:03 | 只看该作者
本帖最后由 dxkzy 于 2013-3-2 21:11 编辑
硬件哨兵 发表于 2013-3-2 20:28
那也是做除法哇。就算不带分号,列竖式计算除法,也是做除法。

http://zh.wikipedia.org/wiki/%E6%B5%AE%E ...

列竖式算除法只用乘法和减法吧...?
另外整数可以做整数除法的,就是有商和余数那种
至于这个整数除法具体是怎么实现的,是通过FPU变通实现还是用一个很强的ALU实现,就要具体问AMD和INTEL了
但是从使用者或者说开发者的角度看,整数除法也算在整数性能内吧
82#
硬件哨兵 发表于 2013-3-2 21:17 | 只看该作者
dxkzy 发表于 2013-3-2 21:03
整数可以做整数除法的,就是有商和余数那种
至于这个整数除法具体是怎么实现的,是通过FPU变通实现还是用 ...

先做除法

然后计算PI这样一个无理数的用整数除法

最后是你说99%的整数运算完成 ,也就是99%的ALU完成


  是这样么?




评分

参与人数 1活跃度 -200 收起 理由
James007ss -200 依总版规2013更新一、1项丐化

查看全部评分

83#
dxkzy 发表于 2013-3-2 21:20 | 只看该作者
硬件哨兵 发表于 2013-3-2 21:17
先做除法

然后计算PI这样一个无理数的用整数除法

应该压根就没用除法算吧
除法都是用乘法和减法代替的
84#
硬件哨兵 发表于 2013-3-2 21:24 | 只看该作者
dxkzy 发表于 2013-3-2 21:20
应该压根就没用除法算吧
除法都是用乘法和减法代替的

http://zh.wikipedia.org/wiki/%E6 ... E.E5.87.BD.E6.95.B0

这么说浮点运算的

还有这个公式

1.初值确定
    a = 1
        b = 1 / sqrt( 2 )
        t = 1 / 4
        x = 1

2. a与b都取同样的精度,反复迭代计算下式:
      y = a
        a = ( a + b ) / 2
        b = sqrt( b ・ y )
        t = t - x ・ ( y - a )^2
        x = 2 ・ x

3.a和b迭代到足够精度后,根据下式可以计算出PI值
        Pi = ( a + b )^2 / ( 4 ・ t )

评分

参与人数 1活跃度 -200 收起 理由
James007ss -200 依总版规2013更新一、1项丐化

查看全部评分

85#
dxkzy 发表于 2013-3-2 21:43 | 只看该作者
硬件哨兵 发表于 2013-3-2 21:24
http://zh.wikipedia.org/wiki/%E6%B5%AE%E7%82%B9%E6%95%B0%E8%BF%90%E7%AE%97#.E6.B5.AE.E7.82.B9.E6.9 ...

我一开始就说的很明确了吧,你眼中的浮点数在代码里面是用整数数组表示的...
86#
硬件哨兵 发表于 2013-3-2 21:55 | 只看该作者
dxkzy 发表于 2013-3-2 21:43
我一开始就说的很明确了吧,你眼中的浮点数在代码里面是用整数数组表示的... ...

又绕回去了,SUPER PI就是算圆周率哇  

π ≈22/7    这个公式不精确

肯定是以整数开始,然后做除法,最后结果是无限不循环小数


评分

参与人数 1活跃度 -200 收起 理由
James007ss -200 依总版规2013更新一、1项丐化

查看全部评分

87#
dxkzy 发表于 2013-3-2 22:01 | 只看该作者
硬件哨兵 发表于 2013-3-2 21:55
又绕回去了,SUPER PI就是算圆周率哇  

π ≈22/7    这个公式不精确

建议你去看看什么叫高精度计算,如果不会编程的话,可以学点编程的基础
88#
硬件哨兵 发表于 2013-3-2 22:08 | 只看该作者
dxkzy 发表于 2013-3-2 22:01
建议你去看看什么叫高精度计算,如果不会编程的话,可以学点编程的基础 ...

好吧,  反正就是99%的整数运算  反正就是用了 99%的ALU

你是这意识吧?

我只是靠逻辑和常识判断而已。

评分

参与人数 1活跃度 -200 收起 理由
James007ss -200 依总版规2013更新一、1项丐化

查看全部评分

89#
dxkzy 发表于 2013-3-2 22:13 | 只看该作者
硬件哨兵 发表于 2013-3-2 22:08
好吧,  反正就是99%的整数运算  反正就是用了 99%的ALU

你是这意识吧?



所以你的下一个问题是为什么AMD整数性能好,但是superpi却不强对吧
我个人理解,AMD模块化之后,每个模块整数运算时可以当双核心用
但是superpi软件没有针对多核优化,所以只能用到一个核心也就是半个模块
90#
硬件哨兵 发表于 2013-3-2 22:21 | 只看该作者
dxkzy 发表于 2013-3-2 22:13

所以你的下一个问题是为什么AMD整数性能好,但是superpi却不强对吧
我个人理解,AMD模块化之后,每个 ...

X4 955 有3个ALU   同频率 也慢了一半了

所以了

整数浮点都慢了一半了,就说不通了嘛

评分

参与人数 1活跃度 -200 收起 理由
James007ss -200 依总版规2013更新一、1项丐化

查看全部评分

91#
dxkzy 发表于 2013-3-2 22:41 | 只看该作者
硬件哨兵 发表于 2013-3-2 22:21
X4 955 有3个ALU   同频率 也慢了一半了

所以了

你是说这个帖子里和intel的比?
http://bbs.pceva.com.cn/thread-82532-1-1.html
实际上不同架构的CPU性能对比的话有很多可能性了,比如流水线不行,分支预测不行等等
我估计是内存控制器或者缓存不给力
就像我最早那帖子里夹带的私货,superpi是个内存密集型的应用
就是说ALU只起到算寄存器里面数据的作用,如果数据来不及从内存放到寄存器中的话,ALU再多都没用
92#
dxkzy 发表于 2013-3-2 22:59 | 只看该作者
硬盘哨兵 发表于 2013-3-2 22:55
主要是差距太大

一个14秒  一个26秒

我只能说这很正常,CPU执行程序比你想象得复杂的多,如果有兴趣的话可以pm我私聊
93#
大D来了 发表于 2013-3-2 23:09 发自PCEVA移动客户端 | 只看该作者
评论好看,笑尿了
94#
cnzyan 发表于 2013-3-3 11:47 发自PCEVA移动客户端 | 只看该作者
最早的8086不带fpu不也一样算除法吗
来自:PC绝对领域 Windows Phone 7 客户端
95#
mhsk 发表于 2013-5-25 11:24 | 只看该作者
严重学习!
96#
无根无相 发表于 2013-5-25 15:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
97#
bdzyq 发表于 2013-5-25 16:06 | 只看该作者
本帖最后由 bdzyq 于 2013-5-25 16:14 编辑
硬件哨兵 发表于 2013-3-1 18:19
1. 你百度错了,我见过很多这样的文章,可能就是就10%用到ALU然后就说整数软件 。

2. X4 955 也是3个ALU ...

两种办法表示实数,一种是定点,就是小数点位置是固定的,一种是浮点,就是小数点位置不固定,而不是说小数就是。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部