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

关于 推土机 架构~~

[复制链接]
跳转到指定楼层
1#
花非雨 发表于 2012-10-19 23:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:8300|回复数:41
那年推土机还出来的时候,各种猜测,各种秒I7的传说纷飞~~

我记得那时有个说法,逆向超线程,两个核心的线程可以合并成一个,刚好与intel的同步超线程相反,

似乎就是这么理解"所谓簇的意思大概就是两个紧密并列的整数运算单元阵列. 在需要的时候这两个单元可以处理同一个指令流."

然后就没有然后了,推土机还是让人失望了······



逆向超线程,有谁来说说~~

2#
deuszohar 发表于 2012-10-19 23:49 | 只看该作者
你这也相当于挖坟了吧...
3#
royalk 发表于 2012-10-19 23:50 | 只看该作者
问题是现在的程序不支持把两个线程当一个用的
4#
wsy2220 发表于 2012-10-19 23:55 发自PCEVA移动客户端 | 只看该作者
这个已经被认为没希望,放弃了
5#
wltzwr 发表于 2012-10-20 02:47 | 只看该作者
当年玩开核L3 440的时候还对农企挺有信心的  结果那个神马拖拉机一出
算了 烂泥扶不上墙 麻绳提豆腐不解释
6#
dlw 发表于 2012-10-20 08:51 | 只看该作者
AMD 和 intel  需要竞争激烈些,这样才能逼出好的CPU 才能价格降下来, 就像移动和联通,假如只有移动没有联通 会怎么样?
7#
jinhook 发表于 2012-10-20 23:01 | 只看该作者
所以我入了一颗FX-4130,还有HD6850,为了大家的幸福,我不能让农企倒闭,不过很渣
8#
花非雨  楼主| 发表于 2012-10-20 23:14 | 只看该作者
royalk 发表于 2012-10-19 23:50
问题是现在的程序不支持把两个线程当一个用的

类似于几个小核心可以在需要单线程时合为一个大核心工作,这样难度很大?
9#
royalk 发表于 2012-10-20 23:18 | 只看该作者
花非雨 发表于 2012-10-20 23:14
类似于几个小核心可以在需要单线程时合为一个大核心工作,这样难度很大? ...

这得找软件工程专业人士才能解答得了,我学过点软件,以我的认识我觉得线程调用基本上都是有固定的函数,只要上游访问底层的API不改基本没可能
10#
yumeyao 发表于 2012-10-21 00:33 | 只看该作者
花非雨 发表于 2012-10-20 23:14
类似于几个小核心可以在需要单线程时合为一个大核心工作,这样难度很大? ...

很大
就不说软件调试等不切实际的问题了


这个对实际性能的提升远不如良好的流水线/分支预测(AMD现在被Intel秒好几条街的就是这两个地方吧,当然还有个cache算法)来的突出




貌似AMD是这个意思

比方有连续两个指令
a=a+b
c=c+d
第二条不需要等第一条执行完毕就可以执行,那么会把它们放到两个核同时执行

具体解释起来话长了,但是简单说
随着流水线越来越完善,这种带来的提升是微乎甚微,更何况amd的分支预测这么差,这种东西说不定还会起反作用。
并且使用到的频率也不会特别特别高。


可以变相地这么理解
intel的4C8T=4x(1C2T)
AMD是想做真正的4C8T。然后甚至就连寄存器都是可以混在一起的而不是硬性连接。。。。(不然上面例子里的abcd不可能同时存在于两个核心,即使是同一个C中的2T)然后因为也没啥公开的资料文档查,不过我猜AMD如果这样做的话可能解码前端也是要合在一起??不然怎么指派逆向HT工作??


总之这个硬件难度。。。。。。。把原来模块化的东西,几个独立核心独立模块要揉在一起,还要设计各种电路来给他们分配工作。。。这难度太大了阿。。。。。。。


所以利用率又不高,提升效果又不大,硬件难度还贼难。。。。谁去做啊。。。
11#
yumeyao 发表于 2012-10-21 00:33 | 只看该作者
royalk 发表于 2012-10-20 23:18
这得找软件工程专业人士才能解答得了,我学过点软件,以我的认识我觉得线程调用基本上都是有固定的函数, ...

cpu范围内和线程没有关系
12#
huilailewo 发表于 2012-11-2 12:24 | 只看该作者
开始发现什么”推土机“好像就不是为桌面使用设计的,普通家用简直是搂草时带上的那只兔子,
推土机+开普勒的威力:海图尽览超级计算机“(友情提醒:图灰常灰常多哟……)泰坦”
13#
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
14#
fastone 发表于 2012-11-2 21:54 | 只看该作者
ly530408 发表于 2012-11-2 21:45
这是一个老话题了,本来不想回帖了,没有想到还是有人继续探讨这个问题。其实AMD的压路机的架构对这个问题 ...

哪天买个FX-8350 用SPEC CPU测试下。。和SNB-E做对比下。
15#
ly530408 发表于 2012-11-2 22:07 | 只看该作者
fastone 发表于 2012-11-2 21:54
哪天买个FX-8350 用SPEC CPU测试下。。和SNB-E做对比下。

FX-8350 是打桩机架构其整数和浮点运算涉及的前端解码器依旧是两个核心共用的,软件还是不能很好的识别与调度。只有到压路机架构才有值得飞跃
16#
fastone 发表于 2012-11-2 22:25 | 只看该作者
本帖最后由 fastone 于 2012-11-2 22:27 编辑
ly530408 发表于 2012-11-2 22:07
FX-8350 是打桩机架构其整数和浮点运算涉及的前端解码器依旧是两个核心共用的,软件还是不能很好的识别与 ...


除了前端识别外,其实我还想看下AMD的打桩机上其他的,泰坦超级计算用的处理器就是16核的推土机构架皓龙。况且SPEC CPU 2006 V1.2也不是拿来产品比较的测试软件,主要还是用来做体系结构设计时对于CPU这块的整体数据参考。
17#
yumeyao 发表于 2012-11-2 22:50 | 只看该作者
浮点无法1对4而要1对2是因为浮点要的久而已。
数学不是万能的。

指令不是一个周期就能执行完的,指令的进入执行也不是都能立即进入的。连流水线都搞不清,讲再多数学推理也不过是小学生的加减乘除而已。
18#
Mufasa 发表于 2012-11-3 00:46 | 只看该作者
打桩机只是简单优化,没有本质提升。

压路机要等明年了。
19#
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架构的研究出发开发出提升其功能的算法和软件,则巨大的商机就在眼前。
20#
ly530408 发表于 2012-11-3 09:49 | 只看该作者
Mufasa 发表于 2012-11-3 00:46
打桩机只是简单优化,没有本质提升。

压路机要等明年了。

看法正确
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部