0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

龙芯2E为继续支持自主CPU研发打下了基础

工业4俱乐部 来源:未知 作者:李倩 2018-07-04 16:43 次阅读

4月16日,美国商务部网站发布公告,7年内禁止美国企业向中兴通讯出口任何技术、产品。此公告发布之后,引发了全球业界和公众的广泛关注,特别是事件背后折射出的中国在芯片领域的缺憾更是引发了国内各界的反思、讨论。

其实,如今国内冰箱、洗衣机、空调等产品所使用的芯片大部分是国产品牌,但在通信工业等领域,国产芯片仍与国际先进水平有较大的差距。

比如人们几乎每天都会用到的电脑内的CPU(中央处理器)就是芯片中的一种,是芯片研发领域中难度最大的一类芯片,目前CPU市场也几乎被英特尔AMD两家公司垄断。

中国从未放弃自主CPU的研制。其中有代表性的研发产品之一便是2001年开始研制的龙芯处理器。到2016年10月,龙芯3A000处理器已研制成功。

龙芯总设计师胡伟武曾在2016年底撰写过一篇长达2万字的长文,详述龙芯15年的研发过程。现摘要刊发此文,希望通过回溯龙芯CPU的发展之路,更好地帮助我们理解中国芯片发展的过去、现在与未来。

龙芯2E为继续支持自主CPU研发打下了基础

2006年9月13日,以长征胜利70周年命名为CZ70的龙芯2E通过科技部组织的验收,时任科技部部长徐冠华亲自参加了龙芯2E的验收会。龙芯2E的研制是“十五”末国家863计划紧急安排的一个任务。当时“汉芯”造假事件被曝光,加上“十五”863计划早期支持的龙芯2C没有达到合同要求的SPEC CPU2000分值300分的目标,自主处理器研发受到普遍质疑。

2005年4月,科技部高新司领导把我叫到办公室,问我到2005年年底前能不能完成863计划“十五”初制定的主频1GHz、SPEC CPU2000分值达到500分的目标。我说剩下不到一年时间,肯定来不及。他说根据有关规定,项目时间到期后三个月内(即2006年3月底前)提出验收申请就算按时完成。我硬着头皮接了该任务,因为我知道如果“十五”的任务完不成,那“十一五”国家是不是还支持自主CPU研发就成问题。经过艰苦的努力,龙芯2E在2005年11月底交付流片(把设计好的技术文件交给芯片生产厂家进行生产),2006年3月18日流片成功,达到了技术指标。虽然达到这些指标有些勉强(SPEC CPU2000分值达到500分是计算所的编译组做了很多编译优化实现的,但SPEC CPU的测试是允许进行编译优化的),但毕竟完成了指标。

龙芯2E的意义从徐冠华部长参加完验收会后接受记者采访时说的一句话可以看出:龙芯2E的成功表明,我国在“十五”期间安排的自主CPU研发是成功的。这也为“十一五”期间国家继续支持自主CPU研发打下了基础。

“不能以任何经费的理由放缓龙芯3号的研制”

2005年深秋,利用龙芯2E流片后等待芯片回来的时间,我带着部分龙芯课题组的骨干在香山别墅讨论龙芯3号的结构方案。

在龙芯3号结构基本确定后就展开了龙芯3号CPU的研发。但当时“十五”863课题结束了,“十一五”“核高基”(即“核心电子器件、高端通用芯片和基础软件产品”重大专项)课题迟迟启动不了。为此,科学院对龙芯3号的研制给了500万元的前期经费支持(执行期限2007年1月到2007年12月)。科技部高新司冯记春司长得知龙芯3号的第一款芯片龙芯3A1000已经基本完成设计,但缺少流片费时,在863计划内紧急安排了2000万的经费支持龙芯3号的研制(执行期限2008年1月到2010年12月)。原计算所所长李国杰院士曾经在计算所中层干部会上当众点我的名说,“胡伟武,你不能以任何经费的理由放缓龙芯3号的研制,计算所就是砸锅卖铁也要支持龙芯的研发”,并在所内设立了一个经费没有封顶的课题,到2010年龙芯第一笔“核高基”课题经费到账时,龙芯课题组已经预支了计算所七八千万元经费。

不记得经历了多少加班加点,龙芯3A1000于2008年底交付流片。只记得流片前的几个月每天晚上10点开例会安排工作。晚上10点例会是非常高效的一种工作方法,会后大家把有关设计在EDA服务器上跑起来再回家,第二天早上上班时刚好跑出结果来;如果是早上上班后开始在EDA服务器上跑,基本上大半天就在等待服务器运行出结果中度过。在此后龙芯CPU问题的攻关中,一直沿袭了晚上例会安排工作的方法。

2009年5月20日龙芯3A1000晶圆生产下线,9月28日样片回来,成功启动操作系统,主频800MHz~1GHz。龙芯3A1000在2012年又进行了第二次改版。3A1000的第二次改版于2012年2月下旬流片,2012年8月中旬流片成功。至此龙芯3A1000就很稳定了,至今还是龙芯销售的一款重要芯片,尤其是在工控领域。

现在回头看,龙芯3A1000的研制是成功的。3A1000是我国第一个四核CPU芯片。在3A1000的研制过程中,我们掌握了多核CPU的片内互连及Cache一致性技术,以及片间多路互连技术。直到今日,龙芯仍然是唯一能支持多路服务器的自主CPU。在最近国外CPU企业对中国企业的CPU技术授权中,支持多路服务器的技术受美国政府限制还是不能给中国的。龙芯3A1000处理器核的性能略高于Pentium III的水平,在2006年龙芯2E刚出来时这个性能还说得过去。龙芯3A1000仍沿用该处理器核有点慢了,但在应用比较固定的很多领域还能用,按理说龙芯的下一款CPU应该致力于处理器核的性能优化,大幅度提高通用处理性能,但在学院派的思想主导下,随后的龙芯3B走了弯路,使龙芯遭受了挫折。

龙芯3B为何遭遇挫折?

龙芯3B的研发得到“核高基”重大专项的支持,是在龙芯团队转型成立公司(龙芯中科技术有限公司)以及有关部门大力展开自主基础软硬件应用试点的背景下展开研制的。2010年把龙芯课题组转型成立公司是下了很大决心的,当时已认识到不能脚踩两只船,办企业和做研究不一样,即使呕心沥血,也是九死一生,因此一定要专心,要求绝大多数技术骨干都从计算所辞职。

龙芯公司的成立得到很多领导专家的支持。龙芯3B的研发工作在2008年底龙芯3A交付流片后开始全面展开。首款龙芯3B1000继续基于65nm工艺,目标主频800MHz~1GHz,八核结构,每个核包含两个256位向量部件,峰值浮点性能达到128GFLOPS,这在当时处于世界领先行列。龙芯3B1000于2010年6月20日左右流片,2010年11月底回来第一批芯片。但第一批芯片回来测试并不顺利,连操作系统都启动不了。很快就找到了原因:由于芯片可测性设计部分的逻辑设计错误,在功能模式下误把内存引脚置为测试状态,导致芯片访问不了内存,通过FIB(用离子束改变硅片上的连线)修复后功能正常。

这是一个重大的打击,龙芯历史上从来没有犯过这样简单的错误,而且在同一时期流片的龙芯1A、龙芯2I等芯片也出现了由于简单工作失误引起的错误。究其原因,是龙芯团队在2010年初从课题组管理机制转向公司管理机制的过程中,原来“作坊式”的设计流程被打破了,“工业化”的设计流程没有建立起来。在课题组阶段,我作为课题组长,每颗芯片从结构设计、逻辑设计、功能验证、可测性设计、定制设计、物理设计各个环节从头盯到尾,及时协调各组的配合,关注每一个细节,因此没有出现管理上的错误。而在3B1000的研制过程中,龙芯课题组转型成立了龙芯公司,我的主要精力转向公司,芯片研发的总协调人缺位,导致频频失误。痛定思痛,从此我着手芯片研制的质量体系建设,建立了“五步法”(立项、方案、签核、测试、结项)研制过程,并详细规定了每个阶段的研发和审核内容。在此后龙芯公司进行的几十次流片中,没有出现过严重的质量问题,而且比我作为课题组长天天盯着效率高很多。

龙芯3B的研制过程真是一波三折。出现过龙芯从课题组向公司转型过程中的管理问题,生产厂家引起的问题,多核互相访问引起的死锁问题,处理器核Cache一致性引起的问题。在解决了一个个问题后总算取得了成功。

但龙芯3B的主要问题不在研制过程中,而是刚开始定方向就出了很大偏差。主要问题在于虽然龙芯团队从课题组转型成为了公司,但龙芯3B的研发还保持着学院派导向,过度追求多核以及浮点峰值性能的单一指标,通用处理性能不足,满足不了在“十一五”期间展开的自主CPU应用和试点对性能的要求。

龙芯3B在学术上是成功的,3B1500峰值浮点运算速度达到160GFLOPS,现在拿出来也不丢人,当时在国际上算高的。但3B1500的通用处理能力比3A1000提高得不多,通过每个处理器核增加128KB的私有二级Cache以及主频及内存频率的提高,3B1500的单核通用处理性能比3A1000提高了30%~50%,但与国外主流产品的性能差距还很大。

“十一五”期间,多核CPU成为国际学术界的热点研究方向。因此,学院派思想主导的国内CPU在“十一五”期间都放松了单核性能的提高,而是转做多核,而且核数做得比国外还多。2006年研制成功的龙芯2E的通用处理性能与市场上主流X86处理器差一到两倍,但龙芯CPU的单核性能从2006年的龙芯2E到2013年的龙芯3B1500只提高了50%左右;而在此期间市场主流X86处理器的单核通用处理性能提高了5倍以上。也就是说,“十一五”期间我国CPU通用处理性能被国外大幅度拉开了距离,从相差一到两倍到相差一个数量级。

技术上的差距体现在市场上就是不好用。“十一五”期间,国家有关部门在涉及国家安全的领域开始了自主CPU应用试点,大量的应用往基于自主CPU和操作系统的计算机上移植。在2011—2013年的3年中,以嵌入式计算机为代表的装备类应用取得了不少成功;而以通用PC和服务器为代表的信息化类应用虽然通过基础软硬件的磨合优化取得了较大进展,但由于自主CPU的性能基础与国外产品有数量级差距,在很多应用中遭遇性能瓶颈。

由于自主CPU的通用处理性能不够,2013年起,“核高基”基本上放弃了CPU自主研发路线,转而支持引进国外CPU技术的路线。以IBM、AMD、威盛、ARM为代表的国外/境外CPU乘虚而入,纷纷寻求与国内企业合资或开放技术授权的方式,把原来的产品摇身一变成为自主CPU(操作系统和数据库也有类似情况)。这使得主要靠国家支持进行研发的龙芯CPU陷入了巨大困境。

虽然当时对“核高基”支持引进CPU不满,但究其原因,还是我们自己在“十一五”“核高基”支持的龙芯3B上没有摆脱学院派的惯性,走了弯路,满足不了当时迫切的自主信息化市场需求。

龙芯如何调整思路?

痛定思痛,知耻后勇。2013年5月,龙芯公司结合市场需求对CPU的研发路线进行了认真调整。

一是龙芯3号系列多核CPU不追求核的个数而是大幅度提高单核性能,放弃高性能机专用CPU的研制,暂停16核处理器研制,重点把双核、四核处理器做精做透。二是龙芯2号系列SOC芯片不追求“大而全”的复杂度,而是重视结合用户需求定义芯片,以及SOC片内互连的通畅性。三是龙芯1号系列结合特定应用,如宇航、石油、流量表等研制专用芯片,专用芯片产业链短,容易形成技术优势并快速形成销售(如面向宇航应用的龙芯1E和1F已经为龙芯公司带来持续稳定的销售收入)。

从2014年下半年开始,龙芯研发和市场结合的作用开始显现,2014年龙芯公司销售收入比2013年增长51%;2015年在2014年基础上再增长57%,为龙芯公司的可持续发展奠定了良好的基础。龙芯公司逐渐摆脱国家项目的支持,能够主要通过市场销售养活团队和产品研发。

基于上述对龙芯CPU研发路线的调整,2013年5月,我们暂停了已经完成主要设计的16核龙芯3C处理器流片,开始四核3A2000处理器的研发。核多了没有用,单核必须要强。就像体育比赛,靠人多取胜的只有拔河(相当于计算机中的高性能计算机),绝大多数项目要靠运动员个人素质。3A2000主要目标就是大幅度提高单核性能,使单核通用处理器性能提高3倍以上。

龙芯3A2000开源电脑

目前3A2000已经进入量产阶段,其中经过测试支持通过直连形成多路服务器的芯片成为3B2000。

龙芯3A3000为何对自主CPU具有里程碑意义

龙芯3A3000是在2015年5月临时安排研制的。2015年5月初,我去常熟跟龙芯梦兰公司的张福新、吴少刚等人讨论3A2000整机解决方案的研发。大家对3A2000大幅度提升性能都很高兴,大大增强了信心。经过认真讨论,我们认为如果我们采用Intel的Tick-Tock(嘀嗒)研发策略,应该可以很快推出主频1.5GHz以上,综合性能超过2GHz的ARM和威盛的处理器。Tick指的是结构不变,通过工艺优化提升性能;Tock指的是工艺不变,通过结构优化提升性能。Tick-Tock策略可以把两个芯片流水推进,加快进度的同时降低技术风险。

2016年10月17日,龙芯3A3000通过了龙芯公司质量体系要求的商业级产品的鉴定检验摸底测试(工业级产品鉴定检验工作正在同步展开),表明龙芯3A3000可以进入批量生产状态。目前3A3000已开始小批量生产,其中经过测试支持通过直连形成多路服务器的芯片成为3B3000。

龙芯3A3000运行SPEC CPU2000定点分值1100多分,浮点分值1700多分,运行一遍不到一个半小时。回想2002年龙芯1号刚诞生时,运行一遍SPEC CPU2000需要近3天时间,龙芯2C由于SEPCCPU2000分值没有达到863课题合同要求的300分而没有完成验收,龙芯2E费了九牛二虎之力才勉强达到500分,真是“向来枉费推移力,今日中流自在行”。

3A3000研制成功对自主CPU来说具有里程碑意义。

首先,3A3000的通用处理性能已经跨过了国际通用处理器性能的第一个门槛,其单核SPECCPU2006性能已经不低于ARM用于服务器的高端处理器、Intel的低端系列(凌动系列)处理器以及威盛处理器,而且3A3000的访存带宽已经与AMD以及Intel的高端系列(酷睿系列)持平。这样的性能玩复杂的3D游戏可能还有差距,但对于以党政办公为代表的事务处理应用是足够了(如果软件做适当磨合优化,3A2000就够了)。龙芯3A3000跨过了国际通用处理器性能的第一个门槛后,也为下一步跨越第二个门槛(即达到Intel和AMD主流处理器的性能)打下了坚实的基础。

其次,3A3000的通用处理性能超过了目前靠引进ARM和威盛技术发展的国内同类(四核)CPU。“十一五”开始的自主信息化应用试点发现第一代自主CPU通用处理性能不够的问题后,国内CPU研制单位均展开了第二代CPU的研发,并衍生出三条不同的技术路线。第一条是以龙芯和申威为代表的“研”的路线,即通过分析第一代产品应用中发现的问题进行自主研发升级。第二条是“攒”的路线,即使用国外的处理器核“攒”SOC,并在此基础上对处理器核进行局部优化。第三条是“O(ODM)”的路线,即中国人掏钱请外国人干,目前主要是把国外/境外已有的现成设计直接拿过来换成中国的品牌。由于自主研发路线在“十一五”期间走了弯路,很多人对自主研发路线产生了疑虑,觉得此路不通,因此“核高基”在“十二五”期间主要支持以ARM的处理器核“攒”SOC的路线和“O”威盛的路线为主。一是钱多,二是引进别人的产品省时间,加上龙芯3A2000与境内工艺磨合,在产品化方面花了较多时间,从2014年年底到2016年年初大约一年半的时间,采用引进技术的CPU大肆攻击自主CPU性能不行,要求在已有的自主信息化试点中换掉龙芯(而且确实换掉了一些),给龙芯造成很大压力。

3A3000的通用处理性能超过引进的ARM和威盛技术的CPU,加上前些日子使用申威处理器的“太湖之光”高性能机取得世界第一的好成绩,充分说明不论是通用CPU还是高性能机专用CPU,自主研发的道路都是走得通的,不仅安全性好,性能也高。尤其是通过自主研发形成持续改进能力后,未来的后劲更足。可以说,在与引进CPU的技术路线的斗争中,龙芯3A3000拉开了自主CPU战略反攻的序幕。尤其值得指出的是,龙芯3A3000的研制没有得到国家项目的补助,是完全由企业自己掏钱研制的自主通用CPU,也具有里程碑意义。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18202

    浏览量

    221920
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10409

    浏览量

    206456
  • 龙芯
    +关注

    关注

    2

    文章

    301

    浏览量

    30848

原文标题:龙芯CPU 15年研发历程

文章出处:【微信号:industry4_0club,微信公众号:工业4俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    龙芯3A6000问世,国产自研CPU最新里程碑

    据介绍,龙芯3A6000采用龙芯自主指令系统龙架构(LoongArch),是龙芯第四代64位高性能微架构LA664的首款产品,主频达到2.5GHz,集成4个最新
    的头像 发表于 12-06 16:40 522次阅读

    100%自主研发龙芯中科新一代通用处理器发布

    据央视新闻报道,11月28日,新一代国产CPU——龙芯3A6000在北京发布。 据介绍,龙芯3A6000采用我国自主设计的指令系统和架构,无需依赖任何国外授权技术,是我国
    的头像 发表于 12-01 15:45 343次阅读
    100%<b class='flag-5'>自主</b><b class='flag-5'>研发</b>!<b class='flag-5'>龙芯</b>中科新一代通用处理器发布

    国产CPU龙芯3A6000发布,央视点赞支持

    龙芯中科于11月28日在2023龙芯产品发布暨用户大会上正式发布多款新品,其中包括国产芯片公司的新一代通用CPU处理器龙芯3A6000和打印机主控芯片
    的头像 发表于 11-29 18:16 833次阅读

    龙芯3A6000性能实测:媲美10代酷睿i3、同频超越14代酷睿i5

    CPU自主可控程度和产品性能方面达到新高度,我国自主研发CPU的性能达到国际主流产品水平。 龙芯
    发表于 11-29 10:44

    LS2K0500开发板动态电源管理龙芯自主指令架构

    CPULS2K0500开发板采用龙芯2K0500处理器,基于龙芯
    发表于 09-28 11:15

    龙芯3A5000_7A2000运行国产Loongnix、银河麒麟、统信UOS以及实时系统翼辉SylixoS系统

    兼容的基础上,频率提升至2.5GHZ,功耗降低30%以上,性能提升50%以上。采用龙芯7A2000,支持PCIE 3.0、USB3.0和 SATA 3.0;其次显示接口2路HDMI 和1路VGA,可直连
    发表于 09-26 10:33

    Banana Pi推出基于龙芯2K1000LA处理器的信创工业控制开发平台

    “边“及高级“端”的应用;1系列,主要面向中低级“端”的应用。 1.1 龙芯CPU架构简介 龙芯CPU龙芯中科
    发表于 09-04 12:30

    新一代国产龙芯CPU成了:单核性能飙升60%!

    龙芯中科近日宣布,基于龙芯自主的LoongArch架构的新一代四核处理器龙芯3A6000流片成功,代表了我国自主桌面
    的头像 发表于 08-04 11:39 1306次阅读
    新一代国产<b class='flag-5'>龙芯</b><b class='flag-5'>CPU</b>成了:单核性能飙升60%!

    龙芯、鲲鹏、海光等国产CPU,抓住良机,适时发展

    、海光等国产CPU应抓住当前发展良机,不断迭代升级,在性能和生态建设上持续发力,实现算力全自主健康发展。 龙芯、鲲鹏、海光等国产CPU经过多年发展,已现百花齐放之势,不同架构的特点主要
    的头像 发表于 07-06 17:11 595次阅读

    四核八线处理器龙芯3A6000的补丁功能介绍

    从提交的补丁内容来看,基于龙架构 (LoongArch) 的 3A6000 将是一款四核八线处理器。 此前曾报道过,3A6000 是国内自主研发的首款支持 SMT 技术的通用 CPU
    发表于 07-06 11:33 753次阅读
    四核八线处理器<b class='flag-5'>龙芯</b>3A6000的补丁功能介绍

    龙芯、海光、鲲鹏等国产CPU自主发展的两大方向

    随着全球技术、经济交流状况的持续收紧,我国CPU自主发展的重要性日益突出,目前龙芯、海光、鲲鹏等国产CPU自主发展的路径主要有两大方向。
    的头像 发表于 06-07 09:36 1255次阅读

    龙芯自主CPU再添147款产品适配成功

    5款、运维管理系统3款、其它产品17款。 适配产品面向政务办公、安全防护、运维监控、财务管理等多个领域。 据了解,2020年龙芯中科自主指令系统LoongArch问世,基于龙芯二十年的CPU
    的头像 发表于 05-18 14:37 323次阅读

    广东龙芯2K500先锋板规格书

    广东龙芯2K500先锋板接口图 广东龙芯2K500先锋板运行图 广东龙芯2K500开发板参数
    发表于 04-27 09:07

    广东龙芯2K1000LA星云板规格书

    广东龙芯2K1000星云板接口图 广东龙芯2K1000星云板整机图 广东龙芯2K1000星云板
    发表于 04-27 08:59

    龙芯与开源鸿蒙的故事

    。4、圆梦胡伟武老师很早之前就在书本上见过胡老师的事迹,心里一直很敬佩胡老师。胡老师是我国第一颗通用处理器龙芯的总设计师,始终坚持自主研发,主持研制了“龙芯”系列芯片,实现了我国
    发表于 04-21 22:40