龙芯2h芯片不能进入pmon_“龙芯”18年:这个团队,终结了中国计算机产业的“无芯”历史...

0556123d2c72a005124d9890c9249588.png

近期在第二届数字中国建设峰会上展出的国产芯片龙芯3号。

芯片是信息产业的灵魂,通用CPU(中央处理器)可以说是芯片中的“珠峰”。自主研发CPU,难度很大。

在这个故事的起点,2001年8月的一个清晨,当龙芯第一代产品龙芯1号成功启动操作系统时,龙芯CPU首席科学家胡伟武和团队在中科院计算所实验室大声欢呼。

一年后,2002年8月,我国首款通用CPU龙芯1号流片(检验测试芯片是否符合设计性能和功能的过程)成功,终结了中国计算机产业“无芯”的历史。

2016年10月,龙芯第三代处理器3A3000研制成功后,胡伟武给自己放了一天假。在尝尽了自主研发芯片的艰辛以后,面对来之不易的成果,胡伟武却显得很平静。

如今,最初的激情和豪迈逐渐消退,但胡伟武愈发感到,龙芯距离掌握信息产业核心技术更近了。

“不掌握核心技术,就成了卖盒子,打开里面都一样”

胡伟武把3A3000看得极重,认为它是我国自主研制CPU的里程碑,代表我国自主研发的芯片跨过了国际通用处理器的第一道门槛。

自主研制芯片,胡伟武设想过种种困难,然而道路之曲折、过程之艰难,仍然大大超出他的预料。

2002年,龙芯1号诞生,可就在流片截止日期的前几天,测试组发现处理器的1万多个触发器的扫描链无法正常工作。如果不能及时修复,只能放弃流片。这意味着此前的努力可能白费。

别无选择,团队决定手工修改版图,连续工作了两天两夜,才把触发器的扫描链连上。

设计第二代产品龙芯2号时,一个电源的规划问题成为困扰科研人员的一块心病,团队熬夜做物理设计。“那时我们一点吃饭的胃口都没有,只在晚上胡乱吃几口。直到布完线、解决完问题后,我和两位团队成员到一家粥铺吃晚饭,才觉得饿坏了,那顿饭竟然吃空了17个盘子,撑得腰都弯不下来。”胡伟武说。

龙芯3号的研制过程更是一波三折。按设计,龙芯3B型号芯片的一些性能可以达到世界领先水平,但2010年11月测试时,竟然连操作系统都启动不了。原来,芯片可测性设计部分有逻辑错误,同样问题也在同期其他芯片出现。这一失误,给龙芯带来重大打击。

科研团队重新梳理流程,一再改版,调试顺利了,又出现压力测试下死机现象,之后又是死锁问题。经过一年多反复修改,芯片才达到稳定状态。

胡伟武说,龙芯的研制过程如此坎坷,除了研发流程需要完善外,根本原因在于团队坚持自己开发核心模块,挑战的是难中之难的问题。

“这些问题,如果是‘攒’芯片,一般不会碰到,与他人合作更不会遇到,我们这样做,是因为用别人的东西时吃过亏。”胡伟武说,“我国信息产业企业成千上万,不掌握核心技术,就成了卖盒子,打开里面都一样。”

历经三轮的迭代试错,龙芯不断进化。目前,基于28纳米工艺,龙芯3号新一代产品3A4000的研制工作已经展开,预计比上一代产品性能提高一倍,有望达到国际主流中高端芯片水平。

“CPU必须让人用起来,否则获再多的奖也没用”

龙芯18年研制,主要分为两个阶段。2001年—2010年,中科院计算所课题组所做的努力是技术积累阶段;2010年,成立龙芯中科技术有限公司(以下简称龙芯中科),从研发走向产业化。胡伟武的身份转变为龙芯中科总裁。

“CPU必须让人用起来,否则获再多的奖,拿再多的荣誉也没用。”胡伟武说。

可组织上转型容易,思想上转型却很艰难。龙芯研发为此就栽了跟头。

2009年研制的3A1000是我国首个四核CPU芯片。龙芯团队由此掌握了多核CPU研发的一系列关键技术,按理说下一款产品应该致力于优化产品性能。然而,当时团队还偏重于追随国际学术界热点,过度追求多核以及浮点峰值性能的单一指标,忽视了芯片的通用处理能力。

谈及彼时情形,胡伟武反思,龙芯中科定方向时就出现了巨大偏差。龙芯虽然在学术上取得了成功,应用上却与主流产品差距越拉越大。

从课题组转型为公司的头三年,龙芯中科差点连工资都发不出。

痛定思痛。2013年5月,龙芯中科结合市场需求,及时调整芯片研发路线:龙芯3号系列多核CPU不追求核的个数,而是大幅度提高单核性能;龙芯2号系列芯片不再追求“大而全”,而是根据用户需求定义芯片;龙芯1号系列结合航空航天、石油等行业特点研制专用芯片,快速打开市场。

种瓜得瓜,种豆得豆。2014年龙芯中科销售收入同比增长51%,2015年又增长57%,为企业持续发展奠定了基础。瞄准存储安全需求,前不久,龙芯中科与合作伙伴发布了首款全国产固态硬盘控制芯片系列产品,有望打破国外企业垄断,进入这个千亿级美元的存储市场。

而今,龙芯中科通过市场养活自己、支撑研发。“CPU在产业化实践中演进发展,这是我们的教训,也是我们宝贵的财富。”胡伟武说。

“在别人都不信的情况下,做给他看”

2001年,龙芯团队开始做CPU时,一些国外企业不相信中国人能做出来。面对质疑,胡伟武常说的一句话是:“在别人都不信的情况下,做给他看。”

10多年后,龙芯的进步赢得了业界尊重。国际著名半导体厂家意法半导体公司购买了龙芯某型号产品的生产和销售授权,开创了我国计算机核心技术对外授权的先例。

就在此时,国外一些企业找上门来,希望通过给源代码、设计流程的方式合作开发芯片。然而龙芯自主研发的决心从未动摇。

“如果没有自主研发芯片的实践,我国就难以消化吸收购买来的技术,即便可以引进、购买升级产品,却形不成自己的创新能力,到头来还是受制于人。”胡伟武说。

2006年,当龙芯团队尝试推广龙芯CPU应用时,很少人相信龙芯能用起来。业界普遍认为,自主芯片逊在性能,输在生态。主流生态平台太过强势,另建生态无异于痴人说梦。

“我们还是老套路,做给他看。”胡伟武说。经过多年探索,围绕龙芯形成了包括近千家企业的产业链,基于龙芯的信息产业体系慢慢形成。

目前,已有数万人在龙芯的软硬件生态上做开发,虽然相比大平台数百万级别的开发者差距还很大,但这说明打造一套新的生态平台并非完全没有机会。如今,龙芯不仅应用于政企办公设备,在工业控制、石油勘探等民用领域也能见到它的身影。

把他人眼中的不可能变为现实,背后是龙芯团队超出常人的付出。设计的芯片需要在服务器上“跑”一段时间,为了提高工作效率,多年来,团队在晚上10点开例会安排任务,让芯片在晚上“跑”。黄令仪是龙芯团队的一位老研究员,80多岁依旧天天在屏幕前拖着鼠标查版图。

2010年,龙芯团队从课题组转型成立公司时,绝大多数技术骨干放弃事业单位编制,从计算所辞职。龙芯中科薪酬低于同行业水平,不少骨干都曾接到过百万年薪的工作邀请,但团队核心骨干基本稳定,把人生美好的青春献给了龙芯的研发征程。

“龙芯18年来一直在补课,预计几年后,课能基本补上来”

“时间是创新不可缺少的变量。”胡伟武告诉记者,“CPU等核心技术产品需要在试错中发展,这就像爬楼梯,要一步一步地走上去。”

他说,同样是做芯片,别人已经在楼上,龙芯18年来一直在补课,预计几年后,这个课能基本补上来。

根据规划,龙芯“补完课”后,将踏上一个新台阶,未来逐步走向开放市场,在一些领域,将与国际主流产品同台竞技。

“任何一个技术或产品本身不是目的,主导产业体系才是目标。”胡伟武说,此前国家支持了龙芯的研发及初期产业化,“扶上马”后又送了一程,今后龙芯必须靠市场来检验。

龙芯中科走上正轨后,胡伟武把更多精力放在公司管理上,但他十分怀念写代码的岁月。“回忆起来,在机房里心无旁骛地写代码真是莫大的幸福,有无比的成就感。但我不能成为龙芯发展的瓶颈,应该充分信任年轻人,让他们接棒。”胡伟武说。令他感到欣慰的是,龙芯的年轻人快速成长,从第三代产品开始,很多重要工作的负责人已经是团队的年轻技术骨干。

回首过往,胡伟武忘不了龙芯成长路上的“贵人”。他告诉记者,2010年,在北京市、中关村管委会等支持下,龙芯正式开启了产品的产业化进程。2013年初,在龙芯最困难的时候,中科院计算所所长孙凝晖在所里资金困难的情况下,拿出500万元支持龙芯做前期研发。虽然与上亿元的经费相比,500万元只是杯水车薪,但得到“娘家”的支持,胡伟武感觉非常温暖。

更早的时候,原计算所所长李国杰院士曾在一次所里中层干部会上表示:计算所砸锅卖铁也要支持龙芯,龙芯团队不能以任何经费的理由放缓龙芯3号的研制。为此,他在所内设立了一个经费没有封顶的课题,2010年龙芯首笔课题经费到账时,龙芯课题组已经预支了计算所七八千万元。

“你瞧,龙芯‘长征’路上哪里只有我们团队?”胡伟武笑着对记者说。

来源:人民日报

流程编辑:RB013

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帝国cms录入表单模板php,帝国cms7.5在线表单提交制作教程

最近春哥仿站团队接到很多仿站客户订单,这里面有一个这样的功能,表单提交。今天花时间写个教程给大家。另外我们春哥仿站团队推出低价仿站业务,市面上99%的企业站点都能制作出来,有需要的联系我们。今天春哥团队华哥给大家讲解一下…

golang linux安装

go在linux下的安装: [rootlocalhost src]# wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz 速度还挺快的 [rootlocalhost src]# tar -C /usr/local -xzf go1.8.1.linux-amd64.tar.gz 设置环境变量 [rootlocalhost src]# export PATH$PATH:…

使用反应流作为Drools的数据源

几个月前,我们开始重新设计Drools最低级别的可执行模型 ,并使最终用户可以使用Java 8 API进行访问。 为了证明这种方法的灵活性,我尝试将其与反应流集成在一起,尤其是将该流用作Drools的数据源。 为了说明这是如何工作的&#xf…

java jsonobject 转对象_解析JSON中JSONObject的高级使用

文末会有读者福利简介:在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采…

oracle 数据执行计划,Oracle 常见的执行计划步骤(explain结果的Description数据参考)...

在PL/SQL中 执行explain plain for select ...查看Description 数据参考:Oracle常见的执行计划步骤这里我们介绍一些常见的执行计划中的步骤及算法。1、表访问路径(1)TABLE ACCESSFULL:全表扫描。它会访问表中的每一条记录(读取高水位线以内的每一个数据…

CSS3实现Loading动画特效

查看效果&#xff1a;http://hovertree.com/texiao/css3/43/代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>css3 loading等待加载代码 - 何问起</title><style>keyframes move {from {…

xfs支持oracle,让linux内核支持xfs文件系统

作/译者&#xff1a;叶金荣(Email:)&#xff0c;来源&#xff1a;http://imysql.cn&#xff0c;转载请注明作/译者和出处&#xff0c;并且不能用于商业用途&#xff0c;违者必究。 XFS 简介XFS 最初是由 Silicon Graphics&#xff0c;Inc. 于 90 年代初开发的。那时&#xff0c…

c语言打印菱形_没事了,搞一下C语言打印大小可变的菱形图案?

问题分析&#xff1a;菱形的大小size其实就是中间行中*号的个数&#xff0c;也是整个菱形的行数&#xff0c;其值必是奇数。问题的关键之一是如何确定每行中*号的个数。经过分析得知&#xff1a;当行i<(size1)/2时&#xff0c;该行的*号个数为n2*i-1&#xff0c;否则n2*&…

ListView 与 RecyclerView的创建与使用的异同

相同&#xff1a;1.在使用时&#xff0c;都需要先获取&#xff0c;再新建适配器&#xff0c;再用serAdapter方法绑定适配器 2.创建数据List&#xff0c;都是新建ArrayList 不同&#xff1a;1.在新建适配器类时&#xff0c;listview的适配器继承自ArrayAdapter,recyclerview的适…

测试驱动开发 测试前移_测试驱动开发–双赢策略

测试驱动开发 测试前移敏捷从业人员谈论测试驱动开发 &#xff08;TDD&#xff09;&#xff0c;所以许多关心代码质量和可操作性的开发人员也是如此。 我曾几何时&#xff0c;不久前设法阅读了有关TDD的文章。 据我了解&#xff0c;TDD的关键是&#xff1a; 编写测试&#xff0…

android timer后函数继续执行_Android内存异常机制(用户空间)_JE

常见的Android稳定性异常&#xff0c;有内核异常和Android层异常。内核异常也就是常说的“kernel panic”&#xff0c;简称KE异常&#xff1b;Android层异常又分为java层crash和Native层crash&#xff0c;简称JE、NE异常。此外&#xff0c;Android层异常还有应用ANR和system_Se…

server数据库与oracle,浅析Oracle和SQL Server-数据库专栏,ORACLE

t-sql是sql server的语言引擎&#xff0c;而oracle的语言引擎却是plsql。这两种查询语言都对ansi sql-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的oracle扩展进行了说明&#xff0c;同时还要介绍下如何对这…

AutoMapper

先说说DTO DTO是个什么东东&#xff1f; DTO&#xff08;Data Transfer Object&#xff09;就是数据传输对象&#xff0c;说白了就是一个对象&#xff0c;只不过里边全是数据而已。 为什么要用DTO? 1、DTO更注重数据&#xff0c;对领域对象进行合理封装&#xff0c;从而不会将…

Wildfly Swarm,朝着成熟和一小部分贡献

我最近关注的项目之一是Wildfly Swarm 。 最终&#xff0c;在今年的JBoss BOF Devoxx期间&#xff0c;我的考虑更改项目名称的请求没有通过&#xff08;由于与著名的Docker Swarm发生冲突&#xff09;。 那么什么是Wildfly Swarm&#xff1f; 简而言之&#xff0c;就是Wildfly…

oracle10 数据库审计,Oracle数据库审计用法实例

本节是从ORACLE METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。ORACLE的审计可以从语句级、对象本节是从Oracle METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。ORACLE的审计可以从语句级、对象级和权限级几个…

cefsharp 发送请求服务器_超高性能管线式HTTP请求(实践·原理·实现)

来源:https://www.cnblogs.com/lulianqi/p/8167526.html这里的高性能指的就是网卡有多快请求发送就能有多快&#xff0c;基本上一般的服务器在一台客户端的压力下就会出现明显延时。该篇实际是介绍pipe管线的原理&#xff0c;下面主要通过其高性能的测试实践&#xff0c;解析背…

(Oracle)DDL及其数据泵导入导出(impdp/expdp)

create tablespace ybp_dev datafile G:\app\Administrator\oradata\health\ybp_dev1.dbf size 10m autoextend on;create user 用户名 default tablespace 表空间名 identified by 用户密码;grant connect,resource to 用户;测试连接 conn mpi/1234删除表空间 drop tablespace…

查看oracle的块大小,查看操作系统块大小

查看操作系统块大小oracle建库一般设置数据库块大小8192K&#xff0c;一般是OS块大小的整数倍&#xff0c;要避免数据库块大小小于系统块大小的情况。1.在WINDOWS系统上&#xff0c;可以用命令fsutil来查看&#xff0c;测试如下&#xff1a;C:\Documents and Settings\administ…

java jsr_分叉并加入Java 7 – JSR 166并发实用程序

java jsrJava 7最有趣的改进之一是对并发的更好支持。 借助JSR 166并发实用程序&#xff0c;我们获得了一些非常有用的并发改进。 在我看来&#xff0c;fork-join库在软件工程中具有很高的实际应用潜力。 Fork and join为算法提供了非常简单的编程模型&#xff0c;可以将其实现…

python标准库模块_Python标准库模块之heapq

该模块提供了堆排序算法的实现。堆是二叉树&#xff0c;最大堆中父节点大于或等于两个子节点&#xff0c;最小堆父节点小于或等于两个子节点。 创建堆 heapq有两种方式创建堆&#xff0c; 一种是使用一个空列表&#xff0c;然后使用heapq.heappush()函数把值加入堆中&#xff0…