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

关于 推土机 架构~~

[复制链接]
1#
ly530408 发表于 2012-11-2 21:45 | 显示全部楼层
这是一个老话题了,本来不想回帖了,没有想到还是有人继续探讨这个问题。其实AMD的压路机的架构对这个问题已经做出了理论与实践上的回答。推土机的架构是每个模块有两个物理的核心,每个物理核心都有一个完整地整数的运算器,每两个物理核心共用一个浮点的运算器,而这个架构是高效和合理的。现在给出数学上的说明。按照人们对处理器运算的数据类型的分析,发现整数运算占了整个运算量的80%以上,而浮点运算只占整个运算量的20%以下,按照整个运算量的计算每个模块的一个浮点的运算器可以应对4个整数的运算器,即1/20%=5,由于浮点的运算器占一个运算器,5—1=4。即每个浮点的运算器可以应对4个整数的运算器,但是由于算法实现的难度对每个浮点的运算器可以应对4个整数的运算器尚有困难,故AMD用每个浮点的运算器应对2个整数的运算器。这样就在每个模块的两个物理的核心可以共用一个浮点的运算器。那么按照纯数学理论的计算推土机的架构的CPU在整数运算中每个核心在一个指令周期内可执行4条指令,其有8个核心,则其在一个指令周期内可执行32条指令=4X8,而I7 2600K 按照纯数学理论的计算在每个核心在一个指令周期内可执行4条指令,其有4个核心,则其在一个指令周期内可执行16条指令=4X4。那么FX-8150的整数运算能力是I7 2600K的两倍=32/16=2。同样那么按照纯数学理论的计算推土机的架构的CPU在浮点运算中,由于其采用的是Radix-4除法运算器,则每个核心在一个指令周期内只能执行2条指令,那么其有八个核心,则其在一个指令周期内可执行16条指令=2X8,而I7 2600K其采用的是Radix-16除法运算器,则每个核心在一个指令周期内能执行4条指令,则其在一个指令周期内可执行16条指令=4X4.那么FX-8150的浮点运算能力和I7 2600K的相当=16/16=1。可以按纯数学理论的计算推土机的架构应该优于I7 2600K,可是实际测试中FX-8150的整数运算能力和I7 2600K的相当,而FX-8150的浮点运算能力是I7 2600K的50%。为什么会出现这样理论与实践脱节的现象呢?其实原因极其简单就是现有的操作系统和软件无法识别现有的推土机架构的前端的每个模块只有一个运算解码器的模式。它把每个模块的识别为一个物理的核心。这样在计算就可知道了。推土机的架构的CPU在整数运算中每个核心在一个指令周期内可执行4条指令,其有4个模块,则其在一个指令周期内可执行16条指令=4X4。而I7 2600K 按照纯数学理论的计算在每个核心在一个指令周期内可执行4条指令,其有4个核心,则其在一个指令周期内可执行16条指令=4X4。那么FX-8150的整数运算能力与I7 2600K的相当=16/16=1。推土机的架构的CPU在浮点运算中每个模块在一个指令周期内可执行2条指令,其有4个模块,则其在一个指令周期内可执行8条指令=2X4。而I7 2600K 按照纯数学理论的计算在每个核心在一个指令周期内可执行4条指令,其有4个核心,则其在一个指令周期内可执行16条指令=4X4,则FX-8150的浮点运算能力是I7 2600K的50%=8/16=0.5。这样就可知道原因所在。压路机针对现有的操作系统和软件无法识别现有的推土机架构的前端的每个模块只有一个运算解码器的模式。它把每个模块的识别为一个物理的核心的现状,将现有的推土机架构的前端的每个模块只有一个运算解码器的模式改为每个核心有一个运算解码器的模式,并且采用Radix-8除法运算器,其每个核心在一个指令周期内可执行3条指令。这样现有的操作系统和软件就可识别压路机架构的CPU。则其在整数运算上为I7 2600的两倍=4X8/16=2。浮点运算是I7 2600的1.5倍=3X8/16=1.5
2#
ly530408 发表于 2012-11-2 22:07 | 显示全部楼层
fastone 发表于 2012-11-2 21:54
哪天买个FX-8350 用SPEC CPU测试下。。和SNB-E做对比下。

FX-8350 是打桩机架构其整数和浮点运算涉及的前端解码器依旧是两个核心共用的,软件还是不能很好的识别与调度。只有到压路机架构才有值得飞跃
3#
ly530408 发表于 2012-11-3 09:48 | 显示全部楼层
fastone 发表于 2012-11-2 22:25
除了前端识别外,其实我还想看下AMD的打桩机上其他的,泰坦超级计算用的处理器就是16核的推土机构架皓龙 ...

泰坦超级计算用推土机架构的CPU很可能是因为其软件实现了对推土机架构的CPU的模块前端解码器对两个物理核心的进程的分配和调用问题,这样就可以充分发挥推土机架构的CPU的整数运算的强大的优势,以16核推土机构架构皓龙处理器皓龙6200和10核的E7 8870为例,在前者每个指令运算周期执行数为4X16=64,后者每个指令运算周期执行数为4X10=40,前者是后者的1.6倍=64/40。这是单个简单的运算的效率,由于超算是由多个CPU组成的,其运算的时的运算能力是指数级递增的。其总体效能将是一个非常恐怖的提升。具体的运算方法可见邹恒明所著的算法之道。而用NVIDIA开普勒架构的NVIDIA Tesla K20高性能计算卡是因为其有很强的浮点运算能力和相应的软件支持。虽然AMD的GCN架构的显卡具有更为强大的通用和浮点运算能力,但是其没有相应的软件支持,那么它只能与这次超算失之交臂了。从这里可以看出软件的作用准确的说算法的威力要远强于硬件的发展。你可以看一下邹恒明所著的算法之道。如果你能够从计算机或CPU架构的研究出发开发出提升其功能的算法和软件,则巨大的商机就在眼前。
4#
ly530408 发表于 2012-11-3 09:49 | 显示全部楼层
Mufasa 发表于 2012-11-3 00:46
打桩机只是简单优化,没有本质提升。

压路机要等明年了。

看法正确
5#
ly530408 发表于 2012-11-3 10:08 | 显示全部楼层
yumeyao 发表于 2012-11-2 22:50
浮点无法1对4而要1对2是因为浮点要的久而已。
数学不是万能的。

你知道为什么困难吗,主要要解决进程的并发的同步分配机制和调用机制,并且涉及到算法的实现的问题。数学不是万能,但是计算机离开了数学的支持是寸步难行的。
    你说数学不是万能的。讲再多数学推理也不过是小学生的加减乘除而已。
    看起来你很看不起这些小学生的加减乘除,那么就给你一个加法算式。请你给出证明并说明原因。
     3+3=6 ;3+5=8 ;5+5=10;……,Pi+Pj=N。(其中Pi,Pj均为素数,N为偶数)
6#
ly530408 发表于 2012-11-4 09:49 | 显示全部楼层
yumeyao 发表于 2012-11-3 13:51
2+3=5

想表达哥德巴赫猜想也不是你这个表达方法阿

正确表达是任意偶数可表为两素数之和。难道本人不知就是要你知道加减乘除并不低端。把最复杂的数学问题用最简单的方法表述出来才是最难的。麦克斯韦说过,这样,可以说是数统治着整个世界,而算术的四则可以被看作是数学家的全部装备。
7#
ly530408 发表于 2012-11-4 09:58 | 显示全部楼层
yumeyao 发表于 2012-11-3 13:57
另外麻烦你给大家讲解讲解什么是进程的并发的同步分配机制和调用机制。这中间又要用到什么算法?

明明纯硬 ...

你最好去读一下一下几本书再说:Cell BE 处理器编程指南,MIPS 处理器设计透视 以及邹恒明著的 算法之道 计算机的心智 操作系统之哲学原理。以上的书籍看过之后你就明白本人所说非虚。
8#
ly530408 发表于 2012-11-5 21:23 | 显示全部楼层
fastone 发表于 2012-11-5 20:05
算了,组4路压路机服务器好点,FX-8350不靠谱。

同意你的看法。FX-8350的架构软件的识别还是不够完善。
9#
ly530408 发表于 2012-11-6 00:19 | 显示全部楼层
如果没买不建议用太贵了。即便要买最好是用压路机的架构。
10#
ly530408 发表于 2012-12-1 23:56 | 显示全部楼层
flshlion 发表于 2012-11-23 21:00
要证明你这个似乎不难吧,除了2之外,偶数一定不会是素数,所以除了2之外素数一定是奇数,两个奇数之和就 ...

这个题目欧拉,高斯,黎曼都没做出来,它的难度于七个千年难题齐名。你如果能证明一定扬名环宇。
11#
ly530408 发表于 2012-12-5 17:21 | 显示全部楼层
flshlion 发表于 2012-12-4 22:24
那应该是你的表述与原来的难题本身有出入了,按你的表述来看,要证明不难 ...

这个表述与题目的本身没有任何差异,表述的简单绝不意味着题目的难度降低。
12#
ly530408 发表于 2012-12-8 15:59 | 显示全部楼层
flshlion 发表于 2012-12-7 14:50
如果你说的是哥巴德赫猜想(每个不小于6的偶数均可表为两个奇素数之和)的话,明显你的表述与原题反过来 ...

第二次的表述是通常的正确的完整的:是任意偶数可表为两素数之和
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部