五千年(敝帚自珍)

主题:【文摘】龙芯意见 -- 【子衿】

共:💬57 🌺229
分页树展主题 · 全看首页 上页
/ 4
下页 末页
            • 家园 这个2.72T FLOPs

              是单精度的。它的双精度只有544G FLOPs。。。

            • 家园 高频往往是多级流水线算出来的

              高频往往是多级流水线算出来的,如果分支预测失败再递推回去性能立马下降。所以intel以前以多流水线(貌似20多级吧)弄出3.XG的P4,现在是多核+中频(不超过3G,流水线好像不超过20级)。

              龙芯是多发射,RISC构架,所以800M频率总体并不比2G的intel差很多。至于某些方面,比如多媒体解码、压缩解压缩可能是要差些。

              • 家园 高频和多极流水线根本没有必然联系.

                深流水线结构需要更高的频率去弥补分支miss造成的延迟,而不是高频率要靠采用深流水线结构去达成.流水线结构是逻辑层面的东西,而频率是物理层面的问题.

                龙芯做不到过G,是因为芯片频率超过800mhz后,需要在物理层面面对电信号的干扰和失真,需要在芯片上加上更多的电容和buffer,需要优化布局和走线,需要解决信号纠错的问题.频率越高,这个问题就越严重.

                • 家园 多谢专业解释

                  俺是一知半解无法正解因果逻辑关系~

                • 家园 不得不说

                  工作频率跟流水线深度还真是关系密切。

                  采用同样的工艺和标准元件库的条件下,每一级的逻辑器件层数越少,最长路径越短,时钟周期也就越短,钟频也就越高。而一条指令从取指、解码、执行到回写所需要的逻辑是大体不变的。这意味着越高的工作频率就需要将之分解成更多的级数。

                  不是很了解龙芯的具体情况,不过如果你的描述是真的,那看起来龙芯的后端设计(或者说前端和后端的匹配)的确实有点问题。9级流水线90nm应该不止跑800MHz的。

                  • 家园 现在cpu两巨头intel/amd有什么标准元件库可用?

                    对只使用成熟工艺的fabless design house来说,他们只有代工厂提供的标准工艺文件可以参考.

                    但是对于一直处于前沿领域的intel来说,根本没有什么标准的东西可以用,所有的设计都是从基础的物理层开始,直接面对微观的物理问题.很多东西正是因为他们要遵循moore's law,才可能从概念变成实际的技术.

                    所谓的深流水线才适合做高频,是人家10年前为了保持摩尔定律,面对工艺壁垒的一个解决方案而已,是工程选择.不是理论上的限制.

                    现在限制频率提升的关键因素是功耗.晶体管开关速度越高,漏电越严重,功耗越高,而采用控制漏电的材料后,晶体管性能又会降低.

                    龙芯3A的TDP是15w,不是很乐观,用于移动设备太高,桌面的话性能又太弱.TFLOPs的机器就用了80颗龙芯3A.80颗cpu的互联啊...

              • 家园 x86与RISC

                现代的x86 CPU(P6架构以后)实际已经是RISC核心了,一条x86指令要翻译成5、6条RISC指令再执行。除了Atom这类所谓低能耗的CPU,x86早就用多发射架构。所以从这些方面x86跟MIPS、PowerPC没有区别。

                当然x86抛开钟频论效能的话,实际上还是比不过RISC,不过Intel在工艺制造上的优势决定了没人能比他造出更快的CPU(在同样的生产良率下,单位成本很重要)。同时x86体系独霸天下事实决定了其他体系不可能获得充分的现金流跟Intel竞争。

                流水线深度的问题,高频CPU都需要面对,不仅仅Intel而已。好的动态分支预测单元可以对付大部分应用程序。

                奔4的失败是一个市场策略问题,不是技术问题。当年面对AMD步步进逼,Intel的如意算盘是利用市场对频率的迷信,采用易上高钟频的NetBurst架构来拉大差距。简单说就是搞钟频竞赛,一力降十会,用块头压死对手。单论钟频,工艺上落后一代的AMD是没法子追赶的。问题是Intel对摩尔定律带来的工艺进步过分乐观,没料到进入90纳米之后能耗剧增,钟频上不去了。所以只好抛弃傻快的NetBurst,回到架构设计与钟频并重的正途上来。事实证明,采用Core/Core2以后的Intel,还是王者。

                主要的RISC体系也有各自多媒体扩展指令集,相比带MMX和SSE2的x86先天上并不逊色。差距主要是编译器支持不够,以及应用程序没有做相应优化——当然了,这些都需要投入大量的人力,开发者首先要看会有多少用户用到。象x86这种市场巨无霸人家肯定拼了命优化,MIPS用户少,软件公司就没那么上心了。

                通宝推:大溪水,
                • 家园
                • 家园 NetBurst其实是生不逢时

                  那个把译码以后的指令放icache的想法是很好的,这样就把流水线减少了几级,所以后面的计算部分稍微增加几级也可以,分支预测失败并不会对性能有重大影响。但是,x86相较于risc的一大优势,是代码密度高30%左右,所以,在相同大小的cache下,x86的执行性能会高不少。而现代的cpu,其核心面积基本上由cache大小决定。所以,x86综合性能在现代电子技术下并不比risc差。

                  如果icache存储译码指令,这个优势就不存在了,而且还会需要不少的附加开销。所以P4的12kuop icache大致只相当于4-6KB的icache。由于这个icache还非常占面积,所以dcache也被缩小了。P4的cache指标在当时也是最低的,比别的cpu低了一半还多。这就导致P4综合性能大幅度下降。

                  如果是现在来做,电子技术可以集成更大的cache,虽然使用NetBurst仍然会降低缓存的指令量,但是现在可实现的cache规模已经基本不会对对性能有重大影响了。这样,主频可以更进一步,综合性能可能有不少提升。

                  • 家园 还是指令集的问题

                    x86的指令集过于老旧,跟RISC相比增加了不少硬件负担,即使译码成类RISC,仍然不能跟上纯RISC的效率。举个例子,RISC中寄存器-寄存器指令跟存储指令各司其职,很好地把内存子系统的延迟跟主流水线隔离开了。而x86有太多直接使用内存操作数的指令,即使译码也无法做到快流水线和慢存储单元的区隔。现代的应用程序正在变得越来越数据导向,而内存墙的问题也日益严重。x86体系在这一点上是非常糟糕的。

                    至于NetBurst的trace cache,倒未必是失败在占用面积上。我觉得是该技术本身不能充分利用缓存的有效空间,浪费太大。同时分支的不确定性造成trace cache本身不断被重复清空,既浪费时钟周期,又增加能耗。别忘了,压垮P4的最后一根稻草正是散热问题。

                    P4从最早的Willamette到最后的Prescott,工艺换了几代,按理说晶体管预算早已经翻了几番,如果只是i-cache面积的问题,只会越来越顺,不会越来越糟。

                    • 家园 不同意你关于内存的陈述

                      Intel的uOP是load-store型的,完全和RISC没有两样。AMD的MacroOP是load-execute型的,也许会有些影响。不过,AMD的CPU的OP/MHz指标并没有比Intel的低。何况,x86指令集上是完全可以实现load-store方式的程序的,并没有限制必须用load-execute方式。所谓内存墙的问题和x86指令集本身没有关系。如果load-store方式好,编译器自然可以输出这种方式的代码。

                      在现代CPU很大的cache下面,纯粹的load-store方式并不见得有多少好处。Intel现在的架构,在译码成uOP之后,又加上一步merge,把很多指令合并成load-execute型的,如果这样做没有好处,Intel肯定不会采取这么复杂的方案。

                      不可能分支预测失败就清除整个trace cache。这个代价是不可接受的。分支预测失败清除的是Reservation Station(好像是这个名字?),trace cache存储的是译码后的指令,如果分支失败的目标地址也在trace cache中,反而可以降低分支预测失败的代价(节省译码部分)。

                      当然trace cache还有很大问题。它是72x3=216位宽的变态结构,这个结构既功耗巨大又无法做得很大,所以即使晶体管预算翻了几翻,Intel最终还是没法把它增加到可和同时代别的CPU相比拟的大小。

            • 家园 一个CPU一个GPU,无法比较

              GPU结构简单多了。

      • 家园 要頂要花
    • 家园 呵呵这位作者是intel的吧

      Portland,OR

    • 家园 拿龙芯和Intel比是肯定比不过的

      首先龙芯的开发团队就不能和Intel比。正如文章所说,Intel本身首先是个半导体厂,其次才是个芯片设计商,这是Intel决定性的技术优势,而且是Intel这么多年来一步步形成的。龙芯的开发团队,从文中所述来看,还不能算一个完整的芯片设计团队,他们的主要工作集中在数字逻辑设计,而这也是与中国目前的半导体产业的情况相适应的。

      芯片产业目前是分成几个产业块,各有所专,分别解决自己领域里面的技术难点,从而降低整个芯片生产的难度和产品周期。总的来说,有两方面:高层的系统设计和底层的电路设计。

      在高层,是为了解决大规模集成电路设计的复杂度问题。当数字逻辑上升到百万门级,再去让设计人员从一个个与非门开始设计是费时费力的。解决这个问题是通过使用各种硬件描述语言来设计。这就好比让程序设计人员使用如C一般的高级程序语言,开发这种复杂系统的难度就比要用低级的汇编语言降低了很多。从硬件描述语言到最后的门电路逻辑需要一个翻译过程,就像C语言程序也需要编译连接等形成最后的机器码程序。这样一个翻译过程是通过各种综合软件来实现。这个综合软件对性能的影响很关键,就好比编译程序的重要性一样。所以综合软件也是有专门的公司在做。这些设计是目前大多数芯片设计人员的工作。

      在底层的电路设计人员就不太去管系统是什么样的。在他们看来,一切都是晶体管以及由一个个晶体管所构成的一个个与非门电路和其他基本电路(比如电阻,电容,放大器等)。在这一层,更多的是物理问题,而不是软性的逻辑问题。电路的设计和电路的工作频率以及尺寸关系很大。当工作频率在300MHz以下,波长则在1米以上,电路尺寸一般都不会达到1米,所以这时候电路设计就不太需要考虑电磁波的效应,相对比较容易。当工作频率在300MHz以上,电磁波的效应随着波长的减少在电路上就表现的越来越明显。比如2.5GHz的系统,波长在10厘米左右。电磁波在一个周期中有波峰有波谷,电压在一根导线上就在起伏变化,而不是通常的恒定不变了。这时电路设计就转向射频电路设计,设计时要考虑的问题也复杂起来。看起来,似乎把电路尺寸缩小能够大大避免这种问题。然而当电路尺寸缩小后,更多原来不明显的物理效应就显现出来了,尤其是在半导体芯片设计中。很多效应已经超越了人能够计算的能力。在芯片设计中,即便是不考虑由于线宽下降所带来的额外的工艺难度,90纳米的的设计也要比180纳米的设计难很多。当一个晶体管(PN结?不太确定)只有90纳米宽,这个晶体管的物理特性要比180纳米宽的时候有很大区别,对信号完整性的影响也是有相当大的差别的。这时候电路设计的好坏往往还是要靠模型仿真来验证,反反复复直至最优。单元电路的模型也是有专门的公司在做的,也有公开的(在这里,要再次对那位已过世的伯克利大牛致礼)。有了这些模型,电路的仿真和信号完整性分析计算机可以做的相当准确。可惜,很多模型都是商业机密,尤其是芯片中的晶体管。最准确的模型总是半导体厂商自己的,尤其当宽度越来越小的时候。所以说Intel在这里有决定性的技术优势。龙芯想要做这一层的电路设计是先天不足,必须依赖半导体厂的支持才有可能和Intel竞争。

      至于说多核单核的问题,这是cpu架构的问题,当然物理上对电路的限制是个决定因素。但是明显可见,龙芯团队的主要任务还是应该去实现先进的架构,而不在于去做底层的电路性能提高,这些应该交给别的团队去做,除非有一天龙芯真的成长为如Intel一般的巨无霸,那就可以通杀了。

      元宝推荐:Highway, 通宝推:老树,桃子甜,
分页树展主题 · 全看首页 上页
/ 4
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河