作者 | 老石谈芯的老石

来源 | 老石谈芯

在最近召开的RISC-V中国峰会上,中科院计算所的包云岗研究员团队正式发布了名为“香山”的开源高性能RISC-V处理器。前不久我有幸和包老师就这个事情做了一次深度的交流,我们聊了关于RISC-V、还有“香山”处理器的前世今生。包老师也分享了很多他关于开源硬件、新型开发语言、硬件敏捷设计、还有处理器基础架构等等这些问题的想法和学术思考,我深受启发。

包云岗简介

包云岗老师是中科院计算技术研究所研究员、副所长,先进计算机系统研究中心主任,中国科学院大学特聘教授,中国开放指令生态(RISC-V)联盟秘书长。他的主要研究领域为云计算数据中心体系结构、开源处理器芯片敏捷设计等。

我把我们的对话进行了整理和采编,以飨读者。本文是第一篇,主要是包老师对RISC-V、以及“香山”处理器产生背景的阐述和思考。注:以下的“我”,指的都是包云岗研究员。

为什么选择RISC-V?

RISC-V的使用,跟我们之前的研究还是有很多渊源。我自己在2012年结束博士后,并且回到计算所开始自己的独立研究。

在体系结构方面,我们当时其实有一些新的想法。比如我们提出了一种名为“标签化体系结构”的新技术,这个工作也发表在ASPLOS’15上。但是,我们并不希望仅仅停留在论文的阶段,我们还希望再往前走,并且把它真正做成芯片。所以在2015年以后,我们花了很长的时间,去探索到底怎么样才能把它做成芯片 。当时我们做了很多的探索,并且发现RISC-V真的能够帮助我们实现很多想法,这是以前不管使用英特尔还是arm都做不到的。

所以我们对于RISC-V的这种开放性、开源带来的价值,也有很深刻的体会,我们也是受益者。我们在后面选择RISC-V,其实是在不断摸索之后,找到的一条在当时看起来似乎是唯一的一条道路。

事实上,在2015、16年的时候,RISC-V的开放性还没有受到那么多的重视。RISC-V的两位发明人David Patterson和Krste Asanovic在2014年写过一篇文章,名叫《指令集应该免费 (Instruction Sets Should Be Free)》。当时有两位中国学者钱学海博士和谭章熹博士,把这篇文章翻译成了中文,并找到我把它发表在中国计算机学会通讯上。

其实在那个时候,我的认识还没有那么深刻,因为我们自己还没有要去直接做芯片。但是当我们后来真正要去做芯片的时候,再回过头来看这篇文章里面提到的一些观念和观点,比如指令集要免费、指令集要模块化这些,我觉得伯克利确实是在这方面还是很有远见。

“香山”处理器产生背后的逻辑是什么?

这个问题其实也有很多人问我们,所以这也是为什么我们会想去构建香山这样的一条开源的主线。

如果我们回想80年代、90年代时,操作系统也有很多。但是当后来更开放的Linux出来之后,这些操作系统就逐渐汇聚起来了。到了今天,在开源操作系统这个领域就以Linux为主了,大家会把各种各样的创新和想法都汇聚到Linux上。与此同时,Linux又是非常多样化的,在各种不同的场合都会有定制,甚至有些企业都会按自己的需求进行定制。

所以,有了主线以后,就可以很好的解决一些碎片化的问题。相反的,如果没有主线大家各自发展的话,肯定会很碎片化。但是,我们始终会根据场景或者应用进行定制,也都可以再分做一个分支出来。这就是我们对碎片化这个问题的理解。

另外一方面,一条开源主线也可以帮助我们去做收敛,比如看哪些指令集应该沉淀下来,或者怎样去更好更快的制定标准和规范。

我在国际基金会那边也有一些参与,有一些标准、一些指令集的扩展已经讨论了两三年了,都定不下来。主要的原因就是大家谁都说服不了谁。其实这个时候就需要有一些参考的设计,然后大家可以在数据上讨论,这样的话就更有说服力,并且由此推进一些标准规范的确定。现在国际上其实也缺少这样的一个平台。从这几个角度来看,香山也存在这样的一些价值。

但是,我们并不是希望再造一个arm,如果再造一个arm的话,就没有把RISC-V的这种开放性和开源优势充分发挥出来了。

“香山”处理器的应用和转化如何实现?

我之前看过一个Jim Keller对RISC和CISC的一些对比和想法,他特别提到RISC-V相关的内容。RISC-V最大的特点和好处,就是它的指令集是开源的,这样特别方便去做很多不同的变化和设计。但是,Jim Keller提到了硬币的另外一面,也就是很多人可能会做很多随机的改变或设计,这就使得业界的使用者和开发者缺少一个相同的子集(subset)或者开发平台。为此,我们该如何在绝对的开放和通用去做平衡和折中?

我们对香山还是寄予了一些期望的,我们希望它在工业界能够真的被广泛应用起来,所以我们也是按照高性能处理器的标准去定义它的。

我自己是担任了中国开放指令生态联盟的秘书长,这个角色会让我去接触到很多的企业。其实我应该至少有跟上百家企业都接触过。跟他们交流以后,能看到大家对高性能的RISC-V核是有很强需求的。

事实上,现在已经有一些企业在围绕着香山做他们的芯片的产品,比如工业控制、汽车电子、数据中心等等。可以看到,业界对香山有着非常积极的反馈,这也给我们很大的信心。

2015年,RISC-V的基金会成立。

2014年,RISC-V的两位发明人David Patterson和Krste Asanovic写过一篇文章。

中国开放指令生态联盟对高性能的RISC-V核是有很强需求的。

(注:本文不代表老石任职单位的观点。)

更多精彩推荐
深度学习三巨头共同发文,聊聊深度学习的过去、现在与未来二维已经 OUT 了?3DPose 实现三维人体姿态识别真香 | 代码干货GitHub 遭抵制!AI 代码生成神器竟成“抄袭工具”?

“香山”处理器产生背后的逻辑相关推荐

  1. IEC61499标准背后的逻辑

     俗话说,透过现象看本质.从工业控制软件的诸多概念,术语,软件中,我们如果理解了工业软件背后的逻辑,就明白了工业控制软件的本质. 功能块 IEC61499 标准中最重要的概念是功能块(function ...

  2. 数据蒋堂 | 数据分布背后的逻辑

    作者:蒋步星 来源:数据蒋堂 本文共1100字,建议阅读7分钟. 在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很关键的问题. 在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很 ...

  3. c++ 暂停功能_app下载功能背后的逻辑

    本文跟大家探讨下app的下载功能,也让大家更直观的理解功能和场景之间密不可分的关系. 目的 下载功能在app中十分常见,比如:腾讯视频app的视频缓存到本地.百度网盘的下载.手机软件更新的下载等等.很 ...

  4. 当你「ping 一下」的时候,你知道它背后的逻辑吗

    转载自  当你「ping 一下」的时候,你知道它背后的逻辑吗 我们在遇到网络不通的情况,大家都知道去 ping 一下,看一下网络状况. 那你知道「ping」命令后背的逻辑是什么吗?知道它是如何实现的吗 ...

  5. 数据分布_数据蒋堂 | 数据分布背后的逻辑

    作者:蒋步星 来源:数据蒋堂 本文共1100字,建议阅读7分钟. 在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很关键的问题. 在分布式数据库及大数据平台中,数据如何分布到多台机器中是个很 ...

  6. 绩效被打C了,谈谈「绩效考核」背后的逻辑以及潜规则

    在新公司度过了一个完整的 Q3 季度,被打了绩效,也给下属打了绩效,感慨颇深. 今天就好好聊聊大厂打工人最最关心的「绩效考核」,谈谈它背后的逻辑以及潜规则,摸清楚了它,你在大厂这片丛林里才能更好的生存 ...

  7. 初创企业墓志铭:创业死亡榜背后的逻辑

    作者:aming&恬静 编辑:芊芊 图片:网络 官网:iterduo.com 那天傍晚,北京的风很大,从地铁站出来的人都不禁加快了步伐,这个时候路口拐角处倒在地上,又沾满尘土的一辆单车显得格外 ...

  8. 漫谈MCMC与Gibbs采样(一)—— 采样背后的逻辑

    采样背后的逻辑 我们为什么需要采样 我们先来思考一个最基本的问题,我们为什么需要采样?之所以讨论这一点,是因为深刻理解我们要解决的问题,可以帮助我们更好地掌握解决问题的方法.尤其是当我们在复杂的模型中 ...

  9. 【从嵌入式视角学习香山处理器】六、NutShell代码结构(乱画的框图)

    文章目录 一.前言 二.简单粗暴版:最终成品的框图 三.不要太凌乱版:去掉连线后的框图 一.前言 这是从上一篇文章<[从嵌入式视角学习香山处理器]五.香山开发工作流实践1:主要子模块工程之间的关 ...

最新文章

  1. python数据去噪声_Logreduce:用Python和机器学习去除日志噪音
  2. 从0移植uboot (二) _uboot启动流程分析
  3. 虚拟化、完全虚拟化、半虚拟化和准虚拟化技术区别
  4. OpenCASCADE:形状愈合之修复工具
  5. 图解 Java 线程的生命周期,看完再也不怕面试官问了
  6. cmake make
  7. 久等了!支付宝集五福活动官宣: 今年又有新玩法
  8. pandas库基础笔记
  9. Dubbo 优雅停机演进之路
  10. Hbase常用shell
  11. 计算机毕业设计的代码会查重吗,一般毕业论文会查重代码吗?
  12. 微信小程序发送验证码短信SDK及文档
  13. WPE封包外挂教程(下)
  14. centos7阿里yum源报问题
  15. 新基建+新科技,Hightopo助力智慧港口数字化转型
  16. 2019春节防坑指南之抢票陷阱
  17. 转载:应用架构、业务架构、技术架构和业务流程图
  18. JVM-什么是GC?
  19. X11 xcb 交叉编译
  20. 简明现代魔法 php,给PHP初学者的一些建议

热门文章

  1. ant design pro (八)构建和发布
  2. 传统行业转型微服务的挖坑与填坑
  3. Techshack Weekly 第 0002 期
  4. Provisioning Services 7.8 入门系列教程之十三 使用 Boot Device Management(BDM)
  5. JDBC连接各种数据库方法
  6. linux下的oracle10g rman备份
  7. Jvm面试题及答案 100道(持续更新)
  8. oralce rollup 小计合计_总计与小计–WITH ROLLUP
  9. python中not 和 is None的区别
  10. 在不允许新建对象的条件下,将list中指定条件的值去除