新闻中心

EEPW首页>嵌入式系统>业界动态> 龙芯将两款CPU核开源 助计算机教育从“用”向“造”突破

龙芯将两款CPU核开源 助计算机教育从“用”向“造”突破

作者: 时间:2016-11-07 来源:搜狐公众平台 收藏

  应用开发人才充足,底层研发人才匮乏

本文引用地址://m.amcfsurvey.com/article/201611/339766.htm

首席科学家胡伟武指出,我国计算机领域的教育更多的还是教学生如何“用”计算机而不是“造”计算机,而且绝大多数高校只能培养应用程序员,而且是对计算机系统底层知之甚少的应用程序员。这直接导致国内IT人才结构失衡,应用开发型人才充足,但底层基础系统研发人才却极度匮乏,使中国庞大的IT产业建立在国外软硬件系统平台之上——在硬件上,完全依赖国外的X86和ARM,在软件上,也存在大而不强的现实状况。

  软件产业强大与否,并不是取决于该国程序员数量,更不取决于软件产业创造的GDP,而在于产业标准制定权,以及是否拥有核心技术。一流企业做标准,二流企业做品牌,三流企业做产品,掌握了标准的制定权就能获取高额利润并立于不败之地。而国内软件业从教学到产业,基本上跟着西方的技术标准走,没有自己的一套技术标准。像程序员常用的编程语言、编译器、软件开发工具,基本上用的都是国外产品。

  软件产业大而不强的另一个表现就是产品缺乏核心技术。以我们每天都用的手机和浏览器来说,国内各家公司推出了不少浏览器,但基本上是国外浏览器的“马甲”,所谓的国产浏览器都没有国人自己编写的浏览器内核。手机操作系统也是如此,虽然很多国产手机都有诸如Emtion、nubia之类的系统,但拨开现象看本质,这些还都是安卓操作系统的马甲,只能算是一个UI(系统界面)。而BAT等互联网巨头推出的操作系统,其本质也是基于安卓的二次开发,编写的代码仅限于重写了虚拟机。

  类似的例子还有很多,某家以杀毒软件起家的互联网公司,其杀毒软件的用的是罗马尼亚的BitDefender引擎。不少厂商隔三差五就会出现于媒体聚光灯下的云解决方案,其实上也是国外开源软件(Openstack/Xen)的马甲,有些厂商虽然也贡献了少量代码,但含金量远不及宣传中那么足。国内有几十万JAVA程序员,却鲜有具备JAVA核心技术——JAVA虚拟机的研发能力。国内从事浏览器应用的团队数以千计,却少有掌握浏览器底层JS引擎研发技术,写QT的也很多,但QT库却没多少人干……国内IT企业极少参加系统相关标准制定,国内软件人才向国际开源社区贡献的代码也相对偏少。

  因此,虽然中国软件产业和互联网企业创造了海量的GDP,演绎了一批造富神话,吸纳了大批就业岗位,但依附于西方技术标准、没有自己编译器和软件开发工具、应用软件强而基础软件弱已成为中国软件产业的内伤。

  底层研发人才匮乏的另一个表现就是围绕国产硬件平台的应用开发能力和适配软件优化能力严重不足,国内非常多做手机APP、网游、页游的程序员,你让他们在国外技术框架下写能在X86、ARM芯片上跑的APP、网游、页游程序,他们没问题。但你让他们脱离国外技术框架去给走自主路线的、申威开发软件,就未必能做出来了,至于针对、申威平台进行软硬件磨合优化则根本无所适从,缺乏对国产系统架构平台的适配调优能力。由于不掌握从硬件角度进行软件开发与调优的能力,一旦遭遇基础软件系统不完善,就不知该如何解决。在上层应用系统与系统结构的磨合适配方面也存在一定问题——应用开发对X86架构形成依赖和惯性,而应用设计的不足被X86平台强大的性能掩盖。

  推行计算机教育改革试点

  若要系统能力的培养则需要从硬件开源做起,让学生有更多机会了解并设计自己的处理器,使学生掌握如何“造”计算机而不是如何“用”计算机,使学生对计算机系统融会贯通——当鼠标点一下屏幕打开一个网页的过程中,搞清楚有关浏览器、图形系统、操作系统内核等是如何协同工作的,在完成这些工作过程中指令和数据是如何在硬件系统的、GPU、南北桥中流动的,的微结构中取指、运算、访存等各个模块是如何配合的。

  对此,中国科学院大学为首的高校联合产业界共同编撰涵盖本科、硕士、博士的《计算机体系结构》课程。在本科阶段,主要强调基础性和系统性,学习作为软硬件界面的指令系统结构,包含、GPU、南北桥协同的计算机硬件结构,CPU的微结构,并行处理结构,计算机性能分析等五部分主要内容。在硕士阶段,主要介绍CPU微结构,包括指令系统结构、二进制和逻辑电路、静态流水线、动态流水线、多发射流水线、运算部件、转移猜测、高速缓存、TLB、多核对流水线的影响等。在博士阶段,主要强调实践性,通过设计真实的(而不是简化的)CPU,运行真实的(而不是简化的)操作系统,对结构设计、物理设计、操作系统做到融会贯通。目前,该课程已经在中国科学院大学讲授。

  将知识融会贯通,就离不开具体实践,在龙芯将GS132和GS232两款CPU核向高校和学术界开源后,大学老师可以基于龙芯平台设计实验课程,使学生可以在真实的CPU上运行真实的操作系统,在龙芯实验平台上启动操作系统并进行性能分析。在流水线设计方面,让学生把GS132的三级静态流水线改造成五级静态流水线。在TLB和Cache设计方面,让学生在五级GS132处理器核上按MIPS32规范实现TLB及Cache,运行通用操作系统,进行有/无Cache的性能分析。在双发射结构设计方面,把GS132处理器核改造成双发射CPU,进行单发射和双发射性能比较。在动态流水线设计方面,在GS232基础上改写部分模块(如乘法器、保留站等)进行静态单发射、静态双发射、动态双发射的性能分析。

  此外,龙芯还研发了CPU实验平台、操作系统实验平台、并行处理实验平台等数款龙芯教学平台,通过为高校提供完整的线上、线下实验环境,助力教学改革和计算机专业学生的系统能力培养,实现“设计真实处理器,运行真实操作系统”。

  据了解,复旦大学、南开大学、南京航空航天学院、东北林大、金陵科技学院、大连海洋大学将开展基于龙芯平台的教育试点。虽然中国计算机人才质量不高、行业技术原创少、依附跟随外国技术等问题不是仅仅设计一个专业课程,增加学生工程规模的系统实践就能解决的,但这毕竟是一个好的开始,笔者还是衷心希望本次的计算机教育改革试点能解决部分现存的问题,为国家培养更多的专业人才。


上一页 1 2 3 下一页

关键词:龙芯CPU

评论


相关推荐

技术专区

关闭