1. MCU的编译器有哪些
编译器与芯片要对应,不存在各芯片通用的编译器。
51,IDE是keil或tkstudio,编译器都是keil内置的
pic,IDE是mplab,编译器是picc
avr,不了解
freescale,IDE用codewarrior,不同系列版本不同,编译器内置
ARM,IDE是ADS(codewarrior改的),编译器内置
等等
2. 目前主流的C语言编译软件是什么
C语言相比其他很多新兴的、复杂的语言,语法还是简单一些,较好实现的。
所以在C语言几十年的发展中出现了各式各样的编译器,还有一些容易被误解为编译器的IDE。
这里列举几个主流的:
GCC
毫无疑问,GCC几乎是unix及linux系统中最通用的编译器套件,几乎所有的linux发行版都预装了GCC作为C语言的默认编译器。除了对C语言的支持,GCC还支持C++、Objective-C等多种语言。GCC早在1987就由Richard Stallman作为GNU计划的一部分发布。
Clang
Clang是近几年新兴的C/C++以及Objective-C的编译器,Apple是其主要投资者,其最初的开发者已加盟Apple。虽说是新兴,但其对C/C++标准的支持不亚于GCC等老牌编译器,并且外部接口和GCC完全兼容,并且因其模块化、错误提示完善等优点已经越来越受到重视。一些如FreeBSD等项目已将clang作为默认编译器。
其实Clang并不是一个完整的编译器,而是作为同一批开发者开发的另一个备受关注的虚拟机(类似于JVM)的llvm的一个前端开发,只是负责将C语言源码编译为llvm IR的中间语言,再由llvm编译为目标代码,这样做可以让其可移植性更好。
Microsoft Visual C++
作为拥有可视化集成编程系统的编译器,VC被很多使用Windows作为开发环境的初学者使用。详见网络的介绍
http://ke..com/view/2070966.htm?fromtitle=vc&fromid=7792954&type=syn#viewPageContent
3. 主流C51单片机编译器比对
int short 的大小是因机器而异嘛(准确点应该是编译器)。你都说了人家规定的是“最小”为16位,又不是只能是16位,也没有说两者应该相等(事实上是short不超过int就OK啦)。所以当然可以short类型为半个机器字长,而int类型则为一个机器字长的啦。
“C++标准规定了每个算术类型的最小存储空间,但他并不自知编译器使用更大的存储空间 ”
说简单点就是C++规定了个最小的值,但是将你的代码编译成机器码的编译器则确定了你这个长度值为多少。因为C++是一种语言,一个规范,或者说只是一种规定,然后要将你按这种规范写的代码编译成能在机器上运行的代码的是编译器。而在不同的机器上运行的程序的实际结构是不一样的,比如单片机与PC相差就很大。要将按相同规范写的程序在各种各样乱七八糟的机器上运行,就需要相应的编译器了。所以实际的大小是由你编译代码的编译器确定的。
PS:当然当前一般的PC上int都是32位,short16位的。因为现在32位的机子是主流嘛。如果你不写什么单片机的程序可以不用太在意这个问题。但是写单片机程序时就要注意了,因为一般一个单片机的编译器可以编译很多种型号芯片的代码,而这些型号有可能从8位到32位都有……
4. 异构计算中国芯!问题来了,异构计算到底是什么
随着近几年天河2号和神威太湖之光相继在全球超级计算机公布的TOP500刷榜。在超级计算方面异构计算已经基本取代了同构计算,而且随着Intel着力发展CPU+FPGA,AMD大力研发CPU+GPU,异构计算也将越来越多的进入人们的视野。在国外公司积极布局异构计算的同时,国内公司也不甘落后。日前,中国华夏芯公司宣布,其异构计算处理器IP核已经在硅片上成功实现,并已通过HSA(异构系统架构)一致性测试。公司还宣布了新的机器学习和深层神经网络的开源项目,旨在进一步推动HSA异构计算的发展。
目前,在HSA协会的推动下,异构计算有向越来越多的领域侵蚀的趋势。那么,什么是异构计算?发展前景究竟如何?中国首个异构计算处理器又凭什么在业界处于领先地位呢?
什么是异构计算
同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式。而异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,常见的计算单元类别包括CPU、GPU、DSP、ASIC、FPGA等。异构计算用简单的公式可以表示为“CPU+XXX”。举例来说,AMD着力发展的APU就属于异构计算,用公式表示就是CPU+GPU。
“科普中国”是中国科协携同社会各方利用信息化手段开展科学传播的科学权威品牌。
本文由科普中国融合创作出品,转载请注明出处。
5. 为什么没有国产的C/C++的编译器
首先:国产有编译器,比如龙芯就用
其次:开发编译器难度非常大,编译器、操作系统、数据库这三样是程序界的三座大山,不是 所有牛奶都叫愚公。国产即使有编译器我认为也不是完全从零开发的。龙芯虽然有了自己的编译器也只是针对自己的平台编译,不具备通用性。一句话,中国目前缺少大企业的眼光和决心以及实力
6. 如何看待国产龙芯处理器
但这个团队完全没有市场思维,不懂市场经济,不懂杠杠原理。因此,即使再给20年,也还是一个市场边缘产品。
龙芯公司体量太小,人手严重不足,专职从事开发工作的工程师数量更缺,这是一个不争的事实。
针对这个现状,龙芯应该效仿ARM公司初期在自己弱小的时候走组队模式(傻子才会指望几百名工程师真的能击败英特尔AMD数万名工程师团队)。龙芯公司主动放弃开发具体的芯片产品,集中精力开发新一代ip核,切实提高新一代ip核的性能,然后将ip核授权给其他公司开发具体的芯片产品。
当前,包括中国在内的很多国家认识到过度依赖美国的英特尔和AMD的产品,会导致国家安全存在巨大的漏洞。想摆脱,自己又搞不定。这时候如果有一家公司能够出售ip核帮助这些国家尽快推出自己的计算机芯片来平衡因特尔和AMD的影响,我相信很多国家会乐观其成。像俄罗斯、印度、韩国、欧洲各国,想摆脱美国英特尔和AMD的国家真的是太多了。
在国内,可以把ip核授权给华为、联想、浪潮、紫光等公司。这样一来,龙芯相关产品的开发人员迅速壮大到数十万工程师,与之相关的从业人员达到数百万,完全不是梦。
虽然性能不如intel,但是真正的自主可控,是纯正的中国芯。
一、龙芯的自主可控
龙芯真正立项是2001年左右,当时奔着就是自主可控的方向去做的,所以选择了MIPS架构,并且直接买了下来,别人不再使用了,而不是所谓的授权,不像ARM这种。
在买下MIPS架构之后,龙芯团队还扩展了指令集,可以说龙芯是来源于MIPS,但又脱胎于MIPS,是从架构开始就属于自主可控的中国芯,是纯正的中国芯。
也正因为如此,所以目前龙芯在政府、军事、金融、教育等众多行业,对保密性有要求的领域,对安全可控非常重视的领域,得到了大量的使用。
二、龙芯的性能
对于一款芯片,自然是要考虑性能的,目前龙芯的性能和intel比较起来,确实有3-5年左右的差距,所以个人消费者对龙芯没什么感知,因为龙芯也没有面向个人消费领域,因为这个领域喜欢“不服跑个分”,自然龙芯很难得到认可。
更重要的是,个人消费领域,对生态要求很高,目前windows只能安装在X86架构的intel\AMD芯片上,不支持龙芯,所以使用龙芯的笔记本、台式机非常少。
三、龙芯的意义
另外,目前很多人对于龙芯有误解,觉得这芯片性能不行,完全是在靠政府补贴的货,但其实还真不是的,国家早就不补贴龙芯了。
龙芯现在是商业化动作,完全的自负盈亏的,并且在2014年龙芯就实现了盈利,2019年利润有1亿多,这些年以来龙芯纳的税早已经超过了政府给予的补贴,所以不要拿骗补来说龙芯。
龙芯一旦成功,将真正的使中国芯摆脱国外的依赖,毕竟ARM还要依赖ARM架构,但龙芯啥都不依赖,完全的100%纯正中国芯,意义重大,值得大家支持。
龙芯是基于MIPS指令集来的,而且获得了相关指令集的永久授权,可以说在指令集等知识产权上面龙芯不存在被卡脖子的问题了,不过因为MIPS指令集在目前的市场上已经没有什么地位,所以其应用领域比较有限,起码在消费级市场上面是看不到多少希望了,消费市场上的PC主要是X86架构处理器,而手机等中端主要是ARM处理器,根本就没有留给龙芯多少空间,虽然很多人说龙芯的性能达到了英特尔某些产品的多少多少,或者达到了AMD挖土机多少多少的性能,但是因为架构不同,实际上这种对比对于普通用户意义不大,因为目前普通消费者的生态对龙芯的支持很差,就算能够运行Windows系统,那也是模拟的,表现自然会打折扣。
虽然龙芯在消费级大众市场上面没有什么起色,但是在一些细分领域还是可以慢慢发展的,而且有龙芯的技术在手,起码解决了有还是没有的问题,在面对国外的竞争时,底气足一些,而且龙芯的研发和应用发展过程中,也培育了自己的人才,所以长远来看,龙芯的意义还是不小的,所以初期龙芯的发展还是以政府扶持为主,后来龙芯开始自负盈亏,到了2015年据说已经开始盈利了,这点还是很不错的,算是洗刷了当年汉芯的 历史 耻辱吧,当然还是会有很多人质疑龙芯,估计是因为汉芯当年的负面影响太大了吧。
当然很多人会拿ARM和MIPS相比较,因为二者都是精简指令集的处理器,二者之间当然有不少差异,但是MIPS对商业不敏感,错失了移动化的浪潮,所以虽然MIPS出现的比ARM还要早,而且当初在性能上并不输于ARM,但是因为没有把握住机会,这些年MIPS的发展并不理想,ARM这些年反而发展很快,MIPS被拆分,然后卖来卖去的,基本上已经GG了,至于今后MIPS还有没有机会,目前来看,难度比较大就是了,不过我们还是希望龙芯能够在未来发展起来。
可以说,龙芯最能提现军事应用上芯片的自主可控。
2015年3月,由中科院负责研制的新一代导航卫星I1-S(北斗三号首发星)首次使用了中国制造的“龙芯”中央处理器(CPU)。之后发射的每一颗北斗导航卫星都配备了大量的龙芯。这些龙芯除了当CPU外,最典型的一个应用就是可重构技术。也就是说在轨卫星的软件随时可以通过地面上注进行重构,这就大大提高了软件的生存能力。从五年的实际应用来看,龙芯1E和龙芯1F的在轨性能还是要更好一些,处理能力和可靠性也与进口CPU持平,当然价格会是进口的一半。
龙芯是中科院北京计算机所研发,龙芯成立的目标只有一个,那就是全球第一的芯片帝国 Intel。但是目前看来,龙芯军事应用居多,普及商用还是任重而道远。
最有前景难度最大最自主的国产处理器 持续关注龙芯15-16年了 现在送去流片的3A5000CPU有望单核跑到2.5ghz 30分(转自知乎:2017年AMD在3.4G赫兹下使用gcc4.6编译器优化参数-o2,3代CPU的spec int06测试值分为:打桩机20.7 ;挖掘机19.2 ;ryzen31.5)看样子还算不错。
龙芯设计团队是国内内功最扎实的团队之一,龙芯老大胡伟武的目标是三分天下有其一 不同于其他国产CPU 可以搭上现有成熟生态体系的快车从而高速发展 龙芯要自建生态 打造一个不受外部环境制约的第三套软件体系(图片内有个别厂家预测分数)
关于龙芯的简介
一直以来,因为曾经汉芯骗局以及可能存在的故意混淆,很多人对龙芯要么不了解、要么误解,还有人是因为没看到龙芯CPU出现在普通电脑中从而认为龙芯也是骗局。就此问题我在这里简单介绍一下龙芯是怎么回事。
龙芯的团队:
龙芯团队由中科院计算所研究员胡伟武任总师于2001年起步,并于2002年正式获得立项并得到500万人民币的研发资金,至2010年龙芯团队成立公司以前,总共获得国家资金五亿人民币,对比英特尔公司2015年一年的研发投入124亿美元、2017年一年研发投入不低于130亿美元,龙芯九年间的资金合计连人家一年的零头都差远了。不过很奇怪,龙芯从2011年起就不拿扶持资金了、只拿过北京市政府和其它公私营机构和企业的合计两亿人民币的投资,但还是有大量帖子到处宣扬龙芯骗经费,而且动不动就指责龙芯骗取上百亿千亿经费!
龙芯的指令集:
一开始龙芯直接采用了MIPS指令集,在金融危机期间低价购买了MIPS指令集527条指令的永久授权,后来根据自己的规划修改并增加到1907条指令,因此现在是具备自主知识产权的龙芯指令集(loogISA),已经不能叫做MIPS指令集了,1907条指令基本情况如下:
源自MIPS的指令:
216条MIPS基础指令,获得永久授权;
311条DSP指令,获得永久授权。
龙芯自主指令:
MIPS基础指令扩展——148条loongEXT;
虚拟机扩展——5条loongVM指令;
二进制翻译扩展——213条loongBT;
向量指令扩展——1014条loongSIMD。
龙芯目前的型号命名:
龙芯1系列:分别是面向特种、嵌入应用;
龙芯2系列:面向高端嵌入、工控、特种应用、服务器、桌面;
龙芯3系列:用于PC、服务器、高级特种应用,其中3A是四核、3B是不低于3A的可多路互联(常用于服务器)。
龙芯7:目前定位是桥片,也就是南北桥芯片,现只有一款龙芯7A-1000,其中还集成了龙芯自研的第一款GPU,估计其图形性能不会比十年前的主板集显更好,但至少普通日常应用是可以的,而且该桥片支持独显,可以用英伟达或AMD的显卡来提高性能,并且龙芯正在与英伟达开展合作。
龙芯的性能:
2015年,基于大改内核GS464E、使用国内40nm低速工艺制造的主频1GHz的龙芯3A-2000四核CPU的单核性能测试SPEC CPU2006分值6~7分,达到了GS464单核的3倍左右;2016年最高主频1.5GHz的龙芯3A-3000测SPEC CPU2006单核分值11、四核分值36,也就是说SPEC CPU2006测试下,龙芯GS464E内核的每GHz得分为7分,距离AMD和英特尔的每GHz得分10~15分还有距离。
2019年12月24日发布的基于新研发GS464V内核的龙芯3A/B-4000每GHz分值提高到10分,主频提高到2.0GHz,因此得分21分,接近了AMD前两年的挖掘机CPU,距离英特尔和AMD现在主流的得分在30~40分的CPU差距已经不太大了。
龙芯的经营:
当然,微软和谷歌不可能给龙芯做兼容,因此虽然龙芯通过二进制模拟X86指令的方式实现了安装运行WindowsXP,但较大软件和专业性的软件(比如PS、股票、 游戏 等软件)还不能使用,这样一来龙芯还不能正常使用Windows和安卓,那么龙芯目前就无法进入消费产业领域,普通用户自然就看不到龙芯处理器。
所以,龙芯团队于2010年离开中科院成立龙芯公司开始自负盈亏以后,起步靠北京市政府天使投资近两亿人民币维持存在,从低端嵌入领域起步,扩展到行业领域和特种、定制领域,毕竟作为企业得自己赚钱生存,能活下来才谈得上理想,不过龙芯在行业领域混的还不错,上到网络服务器、存储服务器、卫星用的抗辐照处理器,中到行业定制电脑、机顶盒、电视机CPU、军用指挥控制系统、高温高压等特种处理器,下至红绿灯、充电桩等低端嵌入等等应用场景都在做,同时也在做软件等业务。
2015年龙芯实现扭亏为盈,除持续增长的嵌入和特种等领域业务以外,龙芯桌面应用也开始增长,2018年龙芯桌面CPU销售5万片,占中国桌面电脑CPU市场份额的0.1%;2019年龙芯CPU中的桌面用CPU销售达50万片,占国内桌面CPU市场份额的1%;
胡伟武说,以前龙芯连英特尔的影子都看不到,2020年龙芯从性能上可以看到英特尔的后脑勺,并在局部形成体系,在行业市场领域应该能做到国内企业第一位,之后会扩展业务逐渐向消费领域进军,争取到2030年后能与英特尔、AMD、IBM同台竞技。
注:有兴趣可以在B站搜索“龙芯”,可以找到2019年4月19日龙芯公司的张福新博士在山东大学做了题目为《从inside到outside,龙芯的发展和产业生态建设》的演讲,2019年6月龙芯总师胡伟武在中山大学的演讲,2019年12月24日龙芯发布会中胡伟武的演讲,这些里面有超出一般想象的信息,比如:通过这两年的局部试点,公务员用的设备即将大规模使用龙芯设备;龙芯在军用装备领域已经呈面上铺开趋势、还为军队制作了数字地球,结合以前的信息来看(官方主动讲的,不涉及泄密),龙芯军用范围至少包括指挥控制、导弹制导、精确定位、坦克等战车控制或火控系统、军用信息系统;等等等等
必须要有存在
龙芯必须存在,别家的石头,不可靠!
虚心向优秀的企业学习,坚持独立自主,这样才能发展有底气。
支持国产,说明国家芯片更上一层楼。
7. RISC-V与ARM架构相比有何优势和劣势
EDN电子技术设计:请用您自己的话为读者大致介绍一下RISC-V。
胡振波:
RISC-V是一种简单、开放、免费的全新指令集架构。RISC-V最大的特点是“开放”,它的开放性允许它可以自由地被用于任何目的、允许任何人设计、制造和销售基于RISC-V的芯片或软件,这种开放性,在处理器领域是彻底的第一次。
RISC-V这种开放架构的诞生可以说是时代发展的必然。RISC-V生态体系正在全球范围内快速崛起,成为半导体产业及物联网、边缘计算等新兴应用领域的重要创新焦点。
RISC-V基金会于2015年由硅谷相关公司发起并成立,至今已有150多个企业或单位加入,包括谷歌、华为、英伟达、高通、麻省理工学院、普林顿大学、印度理工大学、中科院计算所等。目前RISC-V由基金会统一维护。
美国国防高级研究计划局(DAPRA)已连续多年通过专项方式支持RISC-V指令集的研究和实用化。2017年,印度政府大力资助基于RISC-V的处理器项目,RISC-V成为印度的事实国家指令集。我国RISC-V虽然处于起步阶段,但是发展非常迅速。今年7月,上海市政府率先发布了中国大陆首个支持RISC-V的政策,这对于RISC-V指令集在中国的发展起到了重要的推动作用。10月17日,中国RISC-V产业联盟成立,标志着我国在RISC-V生态系统建设上正式迈出了坚实的一步。
EDN电子技术设计:请分别从技术和商业的角度,分析RISC-V相对于ARM架构的优势和劣势。
胡振波:
优势非常明显,RISC-V是一种开放的架构,从 历史 的经验来看,开放的生态一定会比封闭的好。RISC-V技术是后发技术,所以能够总结前人的经验教训,做到相对简洁和干净。
但是,劣势也很明显,由于RISC-V诞生时间太短,相关的编译器、开发工具和软件开发环境(IDE)以及其它生态要素还在发展。目前RISC-V具有全套开源免费的编译器、开发工具和软件开发环境,这是RISC-V的巨大优势,但是开源版本相比ARM的商用编译器和IDE而言,还颇有差距。
RISC-V必须依靠强有力的商业玩家来长期支持和推进,方能得到持续发展。目前从全世界范围来看,在RISC-V技术阵营中,台湾的Andes公司(晶心 科技 )开发的编译器、开发工具和软件开发环境(IDE)是最为完善和先进的,几乎可以和ARM的工具相媲美。另外,还有很多RISC-V的新创公司(譬如芯来 科技 ),也会 探索 新的商业模式。
EDN电子技术设计:哪些市场应用和产品将会成为RISC-V架构快速发展的驱动力?
胡振波:
从技术的角度来讲,RISC-V架构理论上是能够实现从低功耗处理器内核到支持Linux操作系统的高性能处理器内核的全方位产品。譬如,目前美国的SiFive公司以及台湾地区专业处理器IP公司Andes(晶心 科技 )都推出了有竞争力的、支持Linux的RISC-V处理器内核。芯来 科技 目前提供面向低功耗领域的RISC-V处理器内核。
处理器领域的生态建设需要一定的时间,短期内比较容易落地的是物联网和边缘计算领域:
• 由于RISC-V拥有精简、低功耗、模块化、可扩展等技术优势,因此尤其适合对生态依赖比较小的封闭或半封闭产品、深嵌入式或新兴的物联网、包含嵌入式人工智能等应用的边缘计算领域及需要定制化的场景。
• RISC-V能够为物联网行业带来显着的灵活性和成本优势,在未来的20年,物联网和边缘计算领域的处理器内核年出货量预计会达到万亿颗的规模。中国大陆由于拥有几乎全球最大的市场空间,理论上RISC-V会大有可为。
EDN电子技术设计:RISC-V对中国半导体产业的发展会带来哪些影响?
胡振波:
从长远来看,RISC-V对中国半导体产业会产生划时代的意义,主要体现在以下5个方面:
• 通过RISC-V架构摆脱国外的垄断,实现处理器内核的国产自主。这种处理器内核不是闭门造车做出来的,而是拥有全世界认可的主流架构和主流生态。
• 通过RISC-V可以极大地加强我国处理器IP话语权。IP产业处于行业最上游,远离其它产业,并没有得到产业和国家的重视。RISC-V给了中国IP产业机会,虽然目前我国在RISC-V上仍然落后,但相对于其它IP技术,落后并不太远。
• RISC-V可以推动创新和差异化。由于RISC-V的开放、简洁、可扩展以及低成本,可以给终端应用市场带来巨大创新。
• RISC-V可以明显降低芯片研发成本。RISC-V的产业链日趋完善,从处理器内核到硬件设计、操作系统、开发工具、基准测试以及解决方案,全产业链具备完整性,使得行业可以均摊一切成本。
RISC-V的逐渐普及在一定程度上促进了行业本土化的发展,创造了更多行业机会,为产业界和学术界积累大量CPU人才。
EDN电子技术设计:您认为哪些因素会妨碍中国IC设计公司采用RISC-V架构?
胡振波:
以下三个主要因素会起到妨碍作用:
首先,ARM在中国影响力巨大。在芯片处理器内核方面,由于中国长期缺乏自主的通用处理器内核,几乎都是购买国外的ARM处理器内核,形成了习惯。对于RISC-V这样一种新架构的出现,很长一段时间内人们持怀疑态度。ARM在中国还成立了合资公司(全球唯一的国家),所以ARM在中国市场尤其显得强势,这使RISC-V在中国的传播相比别的国家显得非常缓慢。
其次,RISC-V被误导为免费。RISC-V架构是一种Free的指令集架构,准确地说Free应该理解为“自由“而不是“免费”,指令集架构也不是一款具体的处理器内核。大多数人对于处理器的一些基本概念并不了解,将RISC-V与“一款免费开源的处理器“划上等号,而免费往往是劣质的代名词。这种误导严重影响了RISC-V在中国的正常传播和发展。
最后,RISC-V还被误导为一种全新的设计语言和流程。虽然目前很多开源的RISC-V内核使用的是全新的设计语言和流程,但并不代表RISC-V处理器内核就等价于全新的设计语言和流程。全新的设计语言和流程带来的不确定性和质量隐忧会让IC设计公司(尤其是国内公司)感到排斥和不安,这种误导也会影响RISC-V处理器内核在国内的采纳和传播。其实RISC-V只是一种全新的处理器架构(以及衍生出的新生态),无关乎设计语言和流程。使用工业级成熟、稳健的设计方法更能设计出稳健可靠的RISC-V处理器内核,如芯来 科技 、台湾Andes公司(晶心 科技 )以及其它一些公司使用工业级成熟、稳健的设计方法设计出的RISC-V处理器内核。
EDN电子技术设计:您专门写了一本设计RISC-V处理器的书,请为有志于从事RISC-V架构设计的IC设计工程师和高校学生提几点建议和心得体会。
胡振波:
我认为目前学习RISC-V架构正当时,因为:
RISC-V的开放性使得任何公司与个人均可依据开放的RISC-V架构设计自己所需的处理器。很多科研机构开始使用RISC-V开发处理器,独立的RISC-V处理器IP公司开始出现,一些实力雄厚的巨头(如NVIDIA、三星等)开始使用RISC-V架构开发其自有的处理器内核,可以说是旧时王谢堂前燕,飞入寻常百姓家。因此,掌握RISC-V架构,会变成一种通用技能,对科研、学习和就业大有裨益。
当前国内CPU产业热潮方兴未艾,x86、ARM、MIPS等传统商用处理器架构在国内呈全面开花之势。龙芯、兆芯、飞腾等资深专业CPU公司在不断突破;华为、展讯等一线大公司也相继开始研发自主的处理器内核;海光、华芯通等新锐纷纷摩拳擦掌。开放的RISC-V架构的诞生,更是为此番繁华增添了精彩。同时,各种人工智能AI处理器也采用RISC-V作为核心,RISC-V的相关知识完全能够应用于AI处理器芯片领域。
综上所述,我认为学习RISC-V正当时。
但是,计算机体系结构相关书籍往往不利于初学者入门,尤其是RISC-V诞生时间太短,全英文版的指令集手册专业性强,晦涩难懂,非常不利于国内用户学习上手。另外很多对RISC-V感兴趣的初学者基本背景知识比较薄弱,需要补足。
为了促进RISC-V在国内的普及,尤其是被广大初学爱好者接受,我撰写了国内第一本关于RISC-V处理器的通俗书籍《手把手教你设计CPU——RISC-V处理器篇》,详细介绍了相关的基础背景知识,系统通俗地讲述了RISC-V的前世今生,还配套了自己开发的开源蜂鸟E203处理器内核。
目前有关如何使用RISC-V的嵌入式软件开发方面的中文资料仍然欠缺,我撰写的另一本新书《RISC-V架构与嵌入式开发快速入门》也即将上市,相信会在某种程度上缓解这一问题。
EDN电子技术设计:您创立芯来 科技 公司专门开发RISC-V内核,请谈一下公司的商业模式和愿景。
胡振波:
芯来 科技 (Nuclei System Technology Co., Ltd.)作为中国大陆本土唯一专注于RISC-V处理器内核开发的公司,是RISC-V基金会银级会员,中国RISC-V产业联盟副理事长单位。
在商业模式上,主要是传统的处理器IP授权模式和面向垂直领域的深度定制模式,同时还在进行一些全新的商业模式 探索 。
我们有两个愿景:一方面,IoT和边缘计算领域的处理器内核IP年出货量会达到万亿颗。如此巨大的市场,我们希望至少这个市场的一部分属于我们本土公司,从而让大多数本土芯片公司用上国产的RISC-V处理器内核。另一方面,目前国内的RISC-V技术力量非常薄弱,希望芯来 科技 能够为RISC-V阵营做出我们中国人应该做出的贡献。
EDN电子技术设计:除了RISC-V内核外,要开发出商用的RISC-V处理器还需要哪些开发工具和环境?
胡振波:
处理器是软硬件的交汇点,所以必须有完善的编译器、开发工具和软件开发环境(IDE),处理器内核才能够被用户顺利使用起来。
目前RISC-V具有全套开源免费的编译器、开发工具和软件开发环境(IDE),这是RISC-V的巨大优势,但是开源版本相比ARM等传统架构的编译器和IDE而言,还颇有差距。
除了开源版本之外,还有专业公司提供的专业版本。目前从全世界范围来看,在RISC-V技术阵营中,台湾的Andes公司(晶心 科技 )开发的编译器、开发工具和软件开发环境(IDE)最为完善和先进,几乎可以和ARM的工具相媲美,这一点也值得我们去学习。
延伸阅读:
RISC-V真的是中国芯片实现自主、可控、创新和繁荣的希望吗?
8. ARM9为什么要用ADS编译器呢
网上有人做过测试,同样的代码,在ADS、IAR和KEIL中进行编译,keil的效率最好。此外,由于ARM将keil收购,keil的应用更为广泛,推荐使用Keil,尤其是以前做过C51的,更容易上手。
9. 解释下龙芯
关于CPU和芯片,我们标准的操作系统,大约有350个C函数,这种操作系统叫标准的操作系统,IEEE
POSIX这就是标准操作系统的规范,但是事实上,美国很多军方的CPU和工控,飞机制造和武器工业控制领域很多芯片是不支持这个标准的,比如军队的OpenRISC派系的芯片,只能支持大约100~150个标准C函数,当然了,剩下的200多个函数可以使用这个100多个函数来用软件来实现,但是,这些用软件实现的库和函数,运行速度相当的慢。
实际上mips就是当年早期OpenRISC商业化的产物,但是Mips走的更远,主要解决大规模并行的浮点数运算问题。mips是支持linux操作系统的,但是这个CPU只能顺利的运行大约150个标准的操作系统的C函数。
现在C++标准库STL一共又20个大类,超过了1000个函数或者模板实现,而boost库(STL的升级版)有超过2000个复杂函数或者模板实现,这些函数如果在intel或者AMD的芯片上执行得到的结果,跟在arm上执行得到的结果很多都是不同的,尤其是执行效率问题,很多在arm上慢的要死,比java还要慢(现在安卓机主要使用java开发应用软件,编译器是使用J2SDK修改的编译器)。苹果公司在这方面有比较深入的研究。这个不细谈。
如果这个C++函数在mips芯片上执行,这里面有一多半是根本无法执行的,也就是说,会崩溃和异常退出。并且,J2SDK也是无法在mips上顺利的执行的,相当的垃圾的一个芯片。
这就是为啥在美国9年代末期,mips被市场淘汰的根本原因。
10. 低调的国产RISC-V芯片玩家
在这个巨大市场潜力的推动下,IP厂商、工具厂商、芯片厂商和系统厂商都争先恐后地涌入这个赛道,其中不乏一些拥有深厚行业积累的厂商。如以ASIC芯片起家的嘉楠 科技 (以下简称“嘉楠”),就是当中一个重要的低调参与者。
从ASIC到RISC-V
众所周知,纳斯达克上市的嘉楠 科技 在ASIC芯片设计方面有深厚的积累,公司在芯片的前后端设计以及流片方面也有丰富的量产经验。早在2016年,嘉楠就成为了国内前十实现10nm芯片量产的公司。也就是从这一年开始,嘉楠开始了在边缘端AI芯片的 探索 。
据嘉楠 科技 董事长兼CEO张楠赓先生介绍,因为ASIC芯片对于计算效率的要求趋近极致,这就需要嘉楠一直在ASIC芯片设计中寻求算力与功耗之间的最佳平衡。因为这个研发过程对技术要求比较高,这无疑间就磨炼了公司的研发团队。与此同时,公司还发现,ASIC在计算效率上相比传统架构有了数量级的提升,这就为嘉楠后续进军RISC-V市场埋下了伏笔。同属计算密集型应用场景的边缘AI芯片就成为了嘉楠的目标。
经历了一番综合考量,嘉楠把目光投向了基于RISC-V的边缘端AI芯片。
嘉楠 科技 董事长兼CEO张楠赓先生
首先,从成本角度看,RISC-V开源免费的特性对于芯片创业公司而言非常友好。选择这一架构,意味着嘉楠可以在AI芯片研发过程中节省大量的IP授权成本,将资源投入到最核心的技术研发,帮助公司加快芯片的迭代速度,灵活应对市场环境的变化。
其次,从技术趋势角度看,RISC-V架构开源、精简和模块化的理念符合未来的技术发展趋势。计算体系结构宗师David Patterson(RISC-V的创始人之一)在ACM通讯上发表的论文中就指出了计算机体系结构的两个机遇,其中一个就是开源的指令集ISA,创建一个“面向处理器的Linux”。从目前来看,RISC-V无疑是开源指令集架构中最成功的一个。
第三,从开发角度看,RISC-V不需要像ARM一样考虑向后兼容,没有 历史 包袱,基础指令只有几十条,学习门槛相对较低;另一方面,RISC-V支持开发者按需拓展指令,这为芯片研发提供了更高的自由度。
第四,从性能角度看,RISC-V架构内核的性能可与ARM内核性能抗衡。
第五,从IP开发角度看,嘉楠从一开始就坚持IP核心自主研发的技术路线,RISC-V架构则提供了这一可能。嘉楠还能以SoC的形式将RISC-V CPU与自主研发的加速器组合在一起,为客户提供边缘侧的芯片解决方案。在这一过程中,公司可以把更多精力放在IP核的迭代,而不用考虑可能面临的授权风险。
从市场发展现状看来,嘉楠打造端侧RISC-V AI芯片的做法也是一个明智的决定。
熟悉行业的读者应该知道,根据应用场景的不同,AI芯片的可以粗略划分为模型训练和推理计算。其中模型训练市场已出现巨头垄断的态势,GPU巨头英伟达不仅在硬件方面建立起技术领先优势,而且结合图形计算平台构建了强大的软件生态壁垒,那就意味着这个市场给新晋者的机会并不多。反观推理芯片组市场,则还处于发展早期,特别是边缘侧市场,不同场景对芯片的要求存在差异化,给AI芯片公司留下了更多空间,因此嘉楠一开始就专注于边缘推理芯片的研发。
同时,在边缘侧市场,可穿戴设备、摄像头和传感器等联网设备越来越多。不同物联设备对功耗和算力的要求不同,这就决定很难用单一架构适配所有场景。架构的竞争归根结底是生态之间的竞争。虽然ARM仍然是移动端市场的主流,但RISC-V开源和模块化的特点允许像嘉楠这样的芯片公司基于RISC-V进行定制化的设计,拥有更大的自由度。
此外,从目前的市场环境看,Arm正成为巨头公司争相收购的目标,这对于IP授权的独立性造成了很大威胁。而如果很多组织使用RISC-V设计处理器,就可以在更大层面上推动芯片的创新。所以长期来看,RISC-V的价值在未来会更加凸显,从而为嘉楠带来更多的市场机遇。
奔跑在这条全新的赛道上,自主研发的IP成为了嘉楠最重要的底气之一。
从K210到K510
在拍板进军RISC-V之后,嘉楠就一直坚持依托RISC-V架构,自主研发IP核心的技术路线。
张楠赓表示,公司这样做有三方面板的优势:一方面是为了把核心技术握在自己手里,避免可能面临的授权风险;另一方面,自主开发核心从长期来看可以降低研发成本,并加快芯片的迭代速度;第三,自研可以形成嘉楠自身的芯片设计方法体系,确保核心技术和研发理念的传承。
本着这样的研发思路,嘉楠迄今已经推出了两代自主研发的IP核心,分别为KPU(Knowledge Process Unit)和KPU2.0。这是专门为机器视觉任务设计的神经网络加速器。因为异构计算是目前针对深度学习的主流硬件方案,为此在结合CPU与KPU加速器后,嘉楠能更好地提升芯片在视觉算法模型上的性能表现。
落实到芯片方面,嘉楠在2018年就推出了公司的第一代产品勘智K210。这款产品在过去几年里也在包括智能园区、智能家居、智能能耗和智能农业在内的多个场景中发挥了重要的作用,公司也与一些行业头部公司开发了智能产品。今年,嘉楠就作为全国大学生OS设计大赛唯一的技术支持方,也为大赛提供勘智K210和开发板作为评估工具。与勘智K210甚至还在美国和日本等国际市场上率先打开局面。
但张楠赓指出,即使K210在不少领域表现抢眼,但由于该芯片的研发时间较早,在算力规划上没有考虑到后来才出现的算法模型,导致产品在应用场景的拓展上受到限制。为此,嘉楠在日前又顺势推出了新一代的中端芯片K510。
据介绍,在全新的勘智K510芯片,继续沿用了双核RISC-V CPU架构中,但嘉楠围绕RISC-V CPU子系统进行了优化。例如该CPU集成了64位的数字信号处理器DSP,配合自主研发的KPU2.0核心为AI应用加速。
此外,DSP内部还设计了专用的本地存储,进一步提升DSP的实际运算性能。研发团队还在双核CPU和DSP之间设计了专用的mailbox模块用于通信,方便软件灵活掌控整个系统。
K510同时还在总线架构、IP核心与视频子系统等多个方面也推出了全新设计。这使其算力相比一代芯片提升了3倍,经典视觉算法mobilenetv1帧率大幅提升,自研高速PHY接口理论带宽也做到了10GB/s,8位数据压缩率更是高达50%以上,极大优化了勘智AI系列在机器视觉场景的应用性能。
为了进一步解决大功耗和大面积的问题,嘉楠在K510芯片上更是采用了NoC总线架构,让每个IP工作在特定的时钟域,解决庞大时钟树的困扰。
在K510的视觉硬件配置上,嘉楠也进行了大幅优化,使其能够支持MIPI CSI2 和DVP接口,可同时支持最多3个摄像头输入。芯片内部还集成了3个图像处理单元ISP, 其中一个ISP支持3D 功能,无需软件参与,硬件完成深度数据的提取和加工,相比软件处理深度信息方式不但节省了巨大的CPU开销,性能上也会有很大提升。
嘉楠同时还提高了K510在摄像头输入接口设计的灵活性,让其既可以硬件流水线方式将摄像头输入送至ISP硬件,也可以把输入图像写入DDR,ISP再通过线下方式读取DDR内的图像完成后续处理。满足用户可以在中间加入定制化的处理需求,或者对定制化的数据进行ISP处理。
值得一提的是,通过融合公司在算法、软硬件和编译器的最新设计,嘉楠推出全新的KPU2.0,集中突破AI芯片设计中广泛存在的“存储墙”和“性能墙”的问题。为了提升计算效率,KPU2.0采用了动态3D PE阵列,第三个维度支持多种方式共享传递数据,并实现多个维度上的计算映射,提高PE阵列的利用率。同时也可以动态开启或关闭每一个2D阵列,并根据不同层级对带宽和计算资源的需求进行调整。
据了解,通过动态3D PE阵列,K510支持多种方式共享传递数据,灵活支持多个维度的计算映射,提高PE阵列利用率。采用GLB(Global Local Buffer)设计,通过可配置的SRAM阵列实现,灵活配置以满足不同数据类型在不同层上的带宽和存储需求,并提升内部RAM的利用率。结合动态3D PE阵列和GLB设计,嘉楠还独创了计算数据流技术,在计算卷积时不需要进行数据重排;通过多级存储设计提升卷积计算的数据复用率。
此外,KPU2.0还搭载了可重构的SIMD加速单元,通过创新的meshnet网络可以灵活配置支持各种激活函数、pooling和resize等算子。
作为一款定位于中高端边缘推理芯片市场,K510无论在核心架构还是外部设备接口方面,都对芯片的视觉处理能力进行了大幅优化。这就使得这个芯片能够在高清航拍、高清视频会议、智能家居、各类机器人以及车载后装智能终端等市场发挥其功用,并占领一席之地。根据公司的规划,未来几年会有多款勘智芯片亮相,助力多个不同的应用和市场。
与全球开发者共同推进RISC-V
虽然在包括嘉楠在内的多个厂商的推动下,RISC-V取得了长足发展。但从过往的 历史 看来,任何一款架构的普及都需要时间。如PC时代的x86架构统治了指令集架构市场几十年,后PC时代才迎来Arm架构的崛起,Arm也用了几十年,才走上了巅峰。换而言之,计算负载的变迁需要经过一个长时间的生命周期。也就是说我们现在虽然已经进入了万物互联时代,给RISC-V创造了机会,但这个新兴指令集来说,也只是迈出了第一步。
再者,现在的指令的发展趋势是开放度越来越高。如Arm崛起的原因很大程度上是因为它引入了更多的市场参与者。同样地,我们也将看到RISC-V作为开源架构标杆对于新一代芯片设计厂商的吸引力,也许未来的英伟达、英特尔就会从这个生态中诞生。为此嘉楠也会持之以恒地投入其中。
张楠赓同时还强调,RISC-V生态还在持续壮大,特别在边缘侧场景中,因为很多业内通行的设计标准和协议标准尚未统一,所以在百家争鸣的现阶段中, 探索 自己独特的技术路线更有意义,这也是作为RISC-V的坚定支持者嘉楠所践行的。
“但我们也应该认识到,将芯片转化为智能产品需要一个过程。与软件不一样,硬件是一段漫长的旅程、很花时间。需要先完成原型,然后客户进行测试,可能还要进行一些反复开发,所有这些事情都会比在Linux上debug花更久时间,也需要在生态上花费更多心思”,张楠赓补充说。
基于以上考虑,嘉楠会坚持依托RISC-V架构进行自主IP核研发的技术路线,为市场带来性能表现更优的芯片。同时,公司也会在软件方面发力,给客户带来更方面的研发体验。
据介绍,通过公司采用统一的AI编译器,勘智系列KPU能支持 TensorFlow、PyTorch和ONNX 模型导入。支持算子融合、稀疏压缩和量化等优化手段,对模型的延迟和带宽进行深度优化。K510同时还支持丰富的网络模型算子,当中包括常见的 CNN、RNN 算子和各类向量计算和数据处理操作。
“嘉楠的成长受惠于开源,公司也将全面拥抱软硬件开源战略。嘉楠已经决定把公司在硬件模块、软件算法的积累,以及芯片手册等基本资料去阿奴共享出来给开发者使用,与全球的开发者共同推进RISC-V生态的繁荣。”张楠赓说。在他看来,推动RISC-V产业的发展,除了有利于公司本身以外。这于中国芯片产业来说,也是有百利而无一害的。
过去,芯片设计有时需要上亿研发费用,投入上百人,但这是中小企业不易承担,而且也不一定能掌握发展的主动权。但开源的RISC-V芯片设计能将芯片设计门槛大大降低,让3到5人的小团队在3到4个月内,只需花几万元便能研制出一款有市场竞争力的芯片,从而将促进芯片产业的繁荣,能更好地支持人工智能等新一代信息技术和数字经济的发展。
张楠赓认为,芯片产业最关键的是人才。在芯片设计门槛降低之后,将会吸引到更多的人才投入这个行业,这有助于奠定本土芯片产业长远发展的人才基础;另一方面,因为x86和Arm架构自身比较封闭,不容易进行创新。
“有了RISC-V之后,本土的一些架构创新的成果也容易以开源的形式进行推广,有助于打造中国在开源芯片领域的话语权。”张楠赓强调。
晶圆 集成电路 设备 汽车 芯片 存储 MLCC 英伟达 模拟芯片