西西河

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

共:💬57 🌺229 新:
分页树展主题 · 全看 下页
  • 家园 【文摘】龙芯意见

    早就想写一些关于中国芯片个人想法,现在看到机算所的龙芯2让我有了发表一些看法的冲动。

    提起机算所,我还是有一些感情。我的父母在机算所工作了30多年,特别是我父在负责某大型机时,费寝忘时工作。我也是在机算所南楼北楼,简易楼,中关村游泳池消磨我的童年和少年的时光。

    首先我认为龙芯的开发团队缺少懂得半导体工艺和电路设计的人。光依靠使用 VHDL/Verilog coding 和 CAD tools sythensis then generate layout 的方法是做不出高性能芯片的。使用这方法的人我们叫他们digital designer, 很大一部份digital designer 不知道电容、电感、transistor是怎么工作的。他们完全依靠 VHDL/Verilog coding, CAD tools,以及 standard cell library vendor。这样设计出来的芯片,很大程度上取决于 how good is your CAD tools and standard cell library。当然digital designer 是必不可少的,他们把 mixed-signal designer and analog designer从繁琐的数字设计中解放出来,使得mixed-signal designer and analog designer把精力放在signal integrity, high speed circuit。

    我举一个我们自己设计的例子,在2003年我们设计一个2.5Gb/s,136 通道的芯片。Die size is about 18mmX18mm, total device count is about 90Mil。在高速电路我全部custom design 一直到完成layout,直到信号速度降到311Mhz,才使用数字设计。

    到chip integration, floorplanning,为了保证高速时钟的信号完整性, 我还是自己layout,以保证170个锁相环不受数字嘈声的影响。如果你的开发团队没有这样的人,就象一个人少了一条腿。

    以INTEL 为例,它一直是一个semiconductor/chip company,CPU just happen to be theirmain product。若不是Japanese kick the shit out of them in DRAM busniess in Mid 1980s,Intel 才不会转向CPU呢。Intel 的几个founders全都是搞材料和工艺的。它的电路设计人员数以万计,每人只抠一点小电路,可谓是“又红又专”。

    前些日子又有文章说龙芯3要采用 multicore. 我忍不住想说一句“东施笑颦”(我小学语文老师一定会在此出打上红圈圈)。我想 INTEL and AMD 采用 multicore for their CPU, 主要可能是基于两点:

    (1) 当时钟达到2.5Ghz+ 的时侯,芯片散热就是大问题(sometimes show-blocker) (2)当时钟达到2.5Ghz+ 的时侯,signal integrity 无论是在芯片内部还是在PCB上都是巨大挑战。(Correct me if I am wrong on those two points)当它们还没有解决这些问题之前,它们可以用multicore tech继续follow Moore's Law。龙芯远还没有take full advantageof technology node they are using。芯片散热更不是他们的问题,为什么龙芯3要采用 multicore,唯一的解释就是他们没有能力take full advantage of technology node they are using。

    Portland,OR

    • 家园 看个比较有乐的龙芯的东东吧

      前些日子看到新闻说龙芯也要搞大规模并行计算机,俺小雷了一下,这个东西搞出来,真的好使么。

      看看新闻

      http://www.hzst.gov.cn/newsmanage/News_View.asp?NewsID=7103

      聂华说,采用国产“龙芯”处理器的“曙光6000”与“天河一号”类似,将采用异构计算的结构,而区别在于“天河一号” 用的是“英特尔CPU+AMDGPU”,而“曙光6000”将使用“普通CPU+国产龙芯处理器”,届时,完全自主知识产权的千万亿次量级超级计算机将使中国高性能计算机与国外的差距进一步缩小。

      不得不说,俺有些地方看的颇为疑惑。

      • 家园 有啥疑惑?看我能帮忙解一解不。

        龙芯3A 是4核心结构,这个没啥说的。

        龙芯3B,据说是8核心结构,4个普通MIPS核心,4个向量核心(或者说是浮点引擎)据说计算能力的128GFLP。

        用3B做加速计算引擎很正常啊。当然和 AMD、Nvidia 的GPU是不能比,不过要能做出来,也算是一个突破。

    • 家园 龙芯应该跟其他厂商的MIPS系列芯片对比,而不是inte
    • 家园 只用HDL语言是做不出芯片的吧

      整个芯片的设计流程下来,要多少到优化流程啊

      从顶层的高位设计,到floorplanning这些,C语言之类的算法导入那时相当的重要啊。

      国内应该没有那么白痴吧。你说的商业方法,也只是为了降低开发成本,和缩短成品时间罢了。

      据说中科大那帮人,可以用画网表的方法画出芯片的,靠的就是个吃苦耐劳。这种方法做出来的芯片,不见得就不好。只不过开发成本太大而已

      • 家园 手工怎么可能画网表?

        几百万门级的电路手工画网表?

        再说普通芯片工艺没有短到90纳米之前,也就是没有RF的问题出现之前,HDL应该可以设计出完整可以流片的芯片的吧?

        • 家园 我的理解

          那是多年以前的事,设计相对简单,肯定没有到几百万门的级别。

          去年还有个加州的发烧友,手工用铜线绕了个8位的CPU出来呢。

          Homebrewed CPU Is a Beautiful Mess of Wire

          点看全图

          外链图片需谨慎,可能会被源头改

          还能跑Minix

          点看全图

          外链图片需谨慎,可能会被源头改

          这哥们的真容

          点看全图

          外链图片需谨慎,可能会被源头改

          • 家园 这条新闻我看过,当时的反应就是不信

            原因在于如此长的电线,最长路径一定很差,也就是说频率很低的难以接受。用这么长的导线去处理大规模数据的0和1,简直难以置信。我对MINIX没有任何研究,但是总应该有个timeout的概念吧,这种CPU也能适应MINUX 2.0的timeout?还是把minix一起改造了?那就太厉害了,但意义还是不大。

            我不知道有些朋友所谓的手工layout是什么意思,他们真的手动画过线吗?实际上几百个门就可以足以把人绕晕了,更不用说修改和维护了,这样费时费力的事情,怎么现在还会有人去做?是不是他们手工做的是placement,而不应该是layout。

            • 家园 本科时候上《计算机组成》

              课程设计就是组装CPU,2位bit,只能干加法。用74系列逻辑芯片在面包板上用细铜线连起来的。调试查错简直不是人干的。

              但是这样费时费力的活,学习的时候干一干还是很有收获的,问题是花钱颇多,而且能指导学生的老师不好找。

            • 家园 非实时操作系统所谓的timeout

              参考的是实时钟,具体讲是一个外部的中断源,这跟CPU主频没有太大关系。

              举个例子,FPGA上烧个软核进去,钟频500KHz都可以跑个简单的操作系统,只是慢一点。在这样的频率下,电路中布线延时基本可以忽略,最长路径只取决于门延时。

              不过我也怀疑这哥们的确用的是改造过的Minix,因为原始的Minix也是跑在32位平台上的。对Minix没有研究,不过Unix系统对地址字长有一定要求,他的平台未必满足。当然这哥们的8位机寻址应该至少是16位,否则程序代码都放不下。虚拟内存是一定没有的,一个MMU所需要的门数就比他的ALU还要多。

              早期的芯片设计的确是手工的,记得当年给俺们讲课的有个ARM的元老,绘声绘色说起N年前做LVS的经历:巨幅电路布局挂在墙上,一个人对着纸上的网表读,一个人拿着红笔站在梯子上画出连接。70年代克雷的大型机,连接线(没错,是铜线)的长度都要人手裁好,钻到机柜里头一条条绕。为了减少铜线延时,机柜的空间都设计得非常狭小,得专门找身材矮小的技工钻进去。而且采用的就是这个Bill Buzbee的绕法,因为要保证可靠的电气连接,这个比手工焊接更容易,万一绕错了也可以拆下来重新绕过。

              即使是现在,大部分高性能模拟和混合信号的芯片,仍然需要手工设计所有的掩膜,也就是——建模跟仿真当然用软件,非关键电路可以半自动(包括place & route),然而主要设计还是靠经验。

              上面的情况,对于高速数字电路仍然是适用的——频率上去了,器件特性就不能看成是纯数字的,必须用混合电路的方法。用这套东西来设计CPU,当然NRE费用也就出奇的高,是个不折不扣烧钱的买卖,非巨无霸玩不起。前面有人说楼主是Intel的,大概是根据这个。当然,即使是Intel,设计新一代CPU的时候也不需要每一个单元电路都从头来过,早就模块化了,大部分组件调整一下是能够重用的,不然Intel的工程师再多也忙不过来。

              不过话得说回来,今天销量最大的CPU还真是用HDL设计出来的软核,那就是ARM。ARM也卖硬核,那是软核综合到特定半导体厂商的标准元件库上,再通过一系列后端处理跟优化得到的,跟楼主的专门设计(custom design)流程不同。在嵌入式领域,对时钟频率要求不高。此外,因为摩尔定律的作用,像台积电这样的代工厂所提供的标准元件库,工作速度也越来越高。一个设计得好的软核,使用90nm工艺,即使只有5级流水线,也能达到700MHz以上的主频,实际性能可以轻松超过1.6GHz的Atom,而能耗要低得多。

      • 家园 只用HDL能设计出软核

        不过不考虑平衡流水线和平面规划之类的,钟频一定上不去。

        进入深亚微米(DSM)工艺之后,人手是肯定优化不过来了,必须得用EDA工具。画网表的办法,就算不犯人为错误,布线时面对线路延迟(wire delay)也是一筹莫展的。

    • 家园 搞什么龙芯,不会走就开始跑了,现代版大跃进

      国内半导体行业就连普通的IC都很少有产的,还搞什么CPU。

      • 家园 搞什么载人飞船,不会走就开始跑了,现代版大跃进

        还有,“搞什么四代机,不会走就开始跑了,现代版大跃进”

        搞什么大飞机,不会走就开始跑了,现代版大跃进,

        搞什么高铁,不会走就开始跑了,现代版大跃进

        • 家园 建议你去看看技术论坛csdn上我们对龙芯的本质讨论

          龙芯和这种什么大飞机,卫星有本质的区别。想自主研发CPU,保证安全用于国防,好,我举双手赞成。你有没有想过为什么龙芯一开始就这么高调?这样急于冒进违背工程学,你飞机,卫星的芯片可以去问别人买。可是CPU呢?所有半导体的理论基础呢?为什么北航的所有学生在刚进学校的时候就会被熏陶一种国人关于飞机的悲伤情怀,说北航人的责任就是造出大飞机,当初的失败就是因为冒进。你可以想想,为什么需要极大技术积累的CPU我们几年就可以做出来,你可以想想,龙芯里面到底有多少成分是我们自己的技术。所谓自主创新,呵呵,我看是忽悠行外人的。

分页树展主题 · 全看 下页


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

Copyright © cchere 西西河