『芯片指令集』提气!阿里平头哥三篇论文入选 ISCA


 『芯片指令集』提气!阿里平头哥三篇论文入选 ISCA
文章图片
 『芯片指令集』提气!阿里平头哥三篇论文入选 ISCA
文章图片

作者 | 马超责编 | 胡巍巍出品 | CSDN(CSDNnew)近日计算机体系结构方面的顶级学术会议ISCA2020公布了论文入选结果(http://iscaconf.org/isca2020),阿里平头哥半导体公司有三篇论文入选,创下国内芯片公司的记录。其中有关玄铁910处理器的论文,更是意义重大,这不但标志着我国芯片公司将通过RISC-V突破指令集方面的知识产权堡垒,更是我国完全自主的学术成果首次入选ISCA。此前在ISCA这样的芯片行业顶会上,我国企业的论文甚至都还没有以第一作者身份入选的记录。在另外两篇论文中,平头哥分别与谷歌、微软等IT巨头合作提出了一种可解决存储墙问题的“基于近存储体架构的可编程硬件和软件架构”以及提出目前业界主流的硬件性能测试平台MLPerf推理基准。
初识顶会ISCA
ISCA (International Symposium on Computer Architecture)是计算机体系结构领域最权威的会议之一,其中芯片领域一直是ISCA的强项,会议论文入选的门槛极高,评审标准也很严,比如今年共有421篇论文投稿,最终仅有77篇入选,接收率还不到五分之一。但这样严格的入选标准,也造就了ISCA的顶级水准,大会论文往往成为行业发展的重要风向标,包括谷歌、英特尔、英伟达、AMD等企业在ISCA上发表的多项研究成果均已成为芯片行业的标竿,ISCA入选论文的数量成为衡量企业芯片在处理器架构上研发实力的重要指标。
RISC-V:我国芯片指令集的逃生抓手
笔者一直十分关注国内芯片领域发展,而在我国自主芯片产业发展的道路上,除了要迈过光刻设备这道槛,芯片指令集的问题也亟待解决。通俗的讲芯片指令集,有点类似于各编程语言的语法规则,比如Java与C语言在语法上就是完全不同的类型,而在指令集方面,历来都有CISC与RISC两种风格的角力,其中CISC是指计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。而RISC则是精简指令集,主要尽力提高那些常用指令的运行效率,对不常用的功能,通过组合指令来完成。CISC与RISC各有优劣,没有哪种风格能一统江湖。不过IT其它领域的开放风格不同,在芯片方面,应用范围最广的X86基本不对外授权,而ARM不仅授费用超高,而且还经常爆出断供的消息。比如去年就有传言称英国的Acorn有限公司不会对华为等国内企业进行Arm v9的授权,虽然后来ARM公司官宣称会继续保持与华为的合作,不过这样的风险与不确定性,也着实让我们对国内的芯片企业捏一把汗。而RISC-V恰恰就是一个完全开源的指令集,而且最关键的是其使用非常宽松的BSD协议,使用者完全自由免费使用,同时也容许添加自有指令集拓展而不必开放源代码,以实现差异化发展。RISC-V是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),其中V代表罗马数字5,表示为第五代RISC指令集。而每一代RISC处理器其实都是由David A. Patterson教授在加州大学伯克利分校实验室完成的。RISC-V基金会于2015年发起并成立,至今已有150多个企业或单位加入,包括谷歌、阿里、华为、英伟达、高通、麻省理工学院、普林顿大学、中科院计算所等。近日该基金会的发言人 Mark Sinclair正式确认,RISC-V 基金会已经完成在瑞士的注册,目前正在考虑将基金会迁至中立国瑞士,以确保美国之外的大学、政府及公司可不受政治影响使用开源的 RISC-V。可以说RISC-V是我们芯片产业发展突破的绝佳途径。从技术角度来看RISC-V的主要特点如下:架构简单:RISC-V架构秉承RISC简洁至上的设计理念。记得十几年前笔者还在嵌入式领域工作,彼时基于ARM9的24x0系列芯片刚刚问世,但是其手册之庞大复杂,学习曲线之陡峭,令人至今不堪回首。像ARM架构的商用芯片,需要保持架构的向前兼容,只能保留许多不常用的指令,导致指令集整体冗余严重,可以说ARM已经渐渐变成穿着RISC马甲的CISC处理器了。不过在这方面RISC-V完全没有历史包袱,其基础指令集则只有40多条,加上其他的模块化扩展指令也不到100条,官方文档仅有100多页。易于移植:现代操作系统都做了特权级指令和用户级指令的分离,特权指令只能在操作系统调用,而用户级指令才能在用户模式调用,保障操作系统的稳定。RISC-V提供了特权级指令和用户级指令,同时提供了详细的RISC-V特权级指令规范和RISC-V用户级指令规范的信息,使开发者能非常方便的移植Linux和Unix系统到RISC-V平台。模块化设计:RISC-V能够支持以模块化的方式组织芯片,用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于小面积低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。当然RISC-V劣势也很明显,比如RISC-V虽有完善且开源的编译器、开发工具和IDE,但是和ARM的商用编译器和IDE相比,还不够完善。而且RISC-V的历史太短,整个行业对于RISC-V芯片的设计经验其实都还比较欠缺。【 『芯片指令集』提气!阿里平头哥三篇论文入选 ISCA】


推荐阅读