这两天华为被ARM终止合作了,由于华为已经获得了ARM8架构的永久授权,所以短期内(两三年)不会受到太大的影响。但是后续将没办法采用ARM更新的架构。为此很多媒体都在为华为支招,这其中提到最多的就是采用RISC-V来替代ARM。不过RISC-V其实还面临的很多问题,在去年年底EETOP曾经发过一篇文章,系统的阐述了RISC-V打入主流市场的诸多问题,今天重新转发给大家,看一下目前RISC-V所遇到的一些问题及后续该如何克服。
正文:
RISC-V正进一步打入主流市场,在众多设计中脱颖而出,并获得了长期且仍在增长的芯片制造商,工具供应商,大学和代工厂的支持。在大多数情况下,它被用作一种互补的处理器,而不是其他处理器的替代品,但这在未来可能会改变。
RISC-V对芯片制造商特别具有吸引力的是它的开源本质。RISC-V指令集架构(ISA)在本世纪初开始在加州大学伯克利分校开发,可通过伯克利软件发行许可证下可获得的,它允许在最小限制的情况下广泛发行设计。这对于开发原型的初创公司来说尤其适用,但它也适用于高度特定的应用程序,比如安全协同处理器,因为源代码可以进行调整。此外,它在中国等市场表现良好。在中国,全国都在努力降低半导体贸易逆差,以及这些芯片的IP成本。
大多数支持者都很容易承认,在RISC-V对市场上已有的处理器核心构成严重威胁之前,它还有很长的路要走。为特定应用程序开发软件和微架构需要时间,而RISC-V基金会自2015年才成立。所有这些使得体系结构成为协同处理器的一个有趣的选择,但并不一定是商业设计中的主要处理元素。商业设计。事实上,尚不清楚RISC-V是否会真正取代一些领先的处理器架构。但它肯定会找到自己的位置,随着RISC-V架构和软件的成熟,这个角色只会越来越大。
Microsemi公司FPGA营销总监、RISC-V基金会发言人泰德•马雷纳(Ted Marena)表示:“当你放眼市场时,x86不会消失,Arm架构也不会消失。”“考虑RISC-V的方式,以及许多客户看待这项技术的方式是,这是一种选择。它使人们可能需要的某种程度的创新成为可能。有很多人不需要它,他们可以使用很多选择。但对于那些需要更高级别功能的人来说,这就是RISC-V填补空缺的地方。
Arm,MIPS,Synopsys(ARC)和Cadence(Tensilica)已成功推广了自己的ISA,以及一整套工具和软件,但他们不鼓励开放扩展这些架构。ARM和MIPS以其处理器主导了移动和网络市场。此外,每一个都有一个集中的生态系统和操作系统/中间件的偏好。
imperopsys的首席执行官Simon Davidmann说:“有了Synopsys的ARC和Cadence的Tensilica,他们就鼓励推广,并且采用一些方法来帮助用户解决这个问题。”“他们在不需要大量生态系统支持的特定音频和DSP市场上取得了成功。”
另一方面,他指出,RISC-V的设计是为了进行扩展,而生态系统正在随着商业工具的发展而成长,以帮助设计和验证这些扩展。RISC-V采纳者瞄准了AI、机器学习和物联网等尚未建立OS或中间件首选项的新兴市场。他说,每一种架构都有很多细分市场。
图1:SiFive的RISC-V Linux体系架构
OneSpin解决方案公司的技术营销经理Sergio Marchese 表示同意。“服务公司和EDA供应商有很多机会提供量身定制的解决方案,以适应开放的、可互操作的设计开发框架,工程师可以选择和选择一流的解决方案,并无缝地部署它们。”考虑拥有一个开放的、正式的RISC-V ISA规范的好处,并使用它在硬件实现的简单和复杂微体系结构的验证中提供前所未有的严格性和自动化。
但是,供应商也将在其所使用的RISC-V生态系统的任何部分,无论是IP、软件工具还是EDA,通过其解决方案的优点展开竞争。
西门子事业部Mentor设计验证技术部营销总监Neil Hand表示:“RISC-V建立方式的美妙之处在于人们可以选择开拓一个利基市场,或提供直接竞争的解决方案。玩得好是唯一真正的选择。”
并不是每个人都同意。Breker Verification Systems的首席营销官戴夫•凯尔夫(Dave Kelf)表示,RISC-V基金会的一些人认为,RISC-V的努力与Arm是直接竞争的。
Kelf说:“如果我们看看RISC-V指令集体系结构相对于Arm和其他商业处理器供应商的开放本质,就很容易明白其中的原因。”不过,从市场的实际情况来看,在不久的将来,RISC-V不太可能取代Arm在其任何核心业务中的地位。与Arm相比,RISC-V有一个有趣的优势,即它能够扩展指令集,同时仍然使用标准化的工具流程。这使得它与tTensilica和ARC等可扩展处理器相比更具竞争力,并且取代了内部处理器的工作。看看目前公司内部的项目,RISC-V正是利用了这些应用程序。到目前为止,它还没有直接碰到Arm。然而,开放ISA的威胁一定会让Arm公司感到紧张,而Arm公司在迅速删除它之前发布的一个网页表明,情况可能确实如此。
RISC-V的最佳工作方式
对于一些工程团队来说,使用基于RISC-V的处理器实现定制的承诺是很有吸引力的,许多人正在使用RISC-V来取代内部专有的加速器,这样他们就可以利用软件生态系统,因为RISC-V具有很高的可扩展性。他指出,这些加速器通常对用户是隐藏的,而Arm内核是暴露给软件开发人员的。
Microsemi的Marena指出Western Digital就是一个例子。“他们想要一种特殊的总线和接口。对于他们的情况,他们需要超出标准化架构的东西。处理器做了很多很好的事情,但有一些事情他们并没有做得那么好。因此,当您需要专业功能,即下一级创新时,这就是RISC-V的用武之地。”
在硬件安全方面也是如此。开源硬件被认为是更安全的,因为它是由更多的人为更多的终端应用程序开发的。
Rambus的首席技术官马丁•斯科特(Martin Scott)表示:“物联网是一个需要保护的特别危险的生态系统。”“从芯片到云,再到中间的任何地方,它都存在漏洞。设计中可能存在固有的漏洞,这些漏洞连接到不受保护的临时全球网络和软件堆栈。在商业和安全方面,有许多不同的流程需要进行管理,而且没有中央机构或中央标准。”
斯科特说,有一些实用的方法来处理硬件安全问题,例如使用安全层。但他补充说,开源的一个关键优势是能够共享有关漏洞出现的位置以及如何解决漏洞的信息。“我们使用RISC-V的原因是我们从一个可以被操纵以确保安全的ISA开始。这是非常重要的。微架构的实现和架构本身一样重要,因为从侧面通道的角度来看,不同的等效功能实现可能会有非常不同的安全问题。”
这就是RISC-V目前正在寻找归宿的地方。Arm嵌入式和汽车业务战略副总裁蒂姆•惠特菲尔德(Tim Whitfield)指出,设备正在向更加异构化的方向转变,其中包括专门的处理器。“那种通用的计算方式会有一点变化吗?RISC-V所带来的创新是好的。专家们一直在深入的嵌入式领域中使用RISC-V,是的,它正在取代专有内核,执行非常专业的任务。这很有意义,因为你可以灵活地操作体系结构,做一些琐碎的工作,构建接口。这是一个非常适合现在的地方。”
但UltraSoC首席执行官鲁珀特•贝恩斯(Rupert Baines)表示,考虑到企业在代码、指令集和体系结构方面的巨大投资,RISC-V还可能通过专有体系结构获得青睐。“另一个方面是临界质量,这可能是非常昂贵和非常困难的发展支持,保持任何低于 critical mass。对于像英伟达这样的公司,他们有自己完全定制的东西,现在他们有了RISC-V。他们受益于所有的工具和编译器,这仍然是他们自己的定制,但他们只是降低了开发成本,因为他们可以利用其他一切。”
Baines说,其他公司如Andes和Codasip等也提供了基于risc - v的内核,并且保持了它们的商业模式一致——它们授权使用内核和开发环境,但因为它们使用了通用ISA,所以它们可以利用世界其他地方的投资,达到 critical mass。
基于RISC-V的处理器已经在SoCs中与Arm处理器并驾齐驱,Whitfield希望这种情况能像其他架构一样继续下去。“其他的体系结构已经存在,而且将永远存在,无论是Tensilica,在人们需要的时候提供类似的体系结构灵活性,还是RISC-V处理器。它们与Arm应用处理器或Arm嵌入式处理器共存。”
实际上,大多数不具有一个核心的SoC往往拥有较大的多核应用处理器(如Arm或MIPS)运行主操作系统,如Linux,使用较小的'minion'处理器(如Andes或其他RISC) Davidmann说,围绕它们运行RTOS和其他内核或裸机,以加速应用程序的性能。
“你必须记住RISC-V是一个架构”Whitfield补充道。安德斯和Codasip等公司将建立一个微型架构。这既昂贵又困难。Arm不仅仅是一个CPU架构。它是一个IP公司和一个系统解决方案软件生态系统。所以,是的,我们可以共存,这是一种“赢家通吃”的死亡竞赛——这绝对不是零和游戏。总是有空间让其他架构发挥作用。在有技术意义的地方,此刻我看到了深深嵌入其中的私有类型。也许将来会有别的事情发生。Arm没有理由不能以某种方式复制同样的优点。Arm可能会有一个不同的未来来处理,Arm必须开发不同的IP来填补这个空白。
缺少了什么?
要使RISC-V真正在商业基础上起飞,需要工具和软件,以及对未来SoC设计在处理器ISA、IP供应商和软件栈方面将变得越来越异构的理解。
“业界需要新的先进工具来建模,模拟,移植软件,开发和调试新软件,”Davidmann说。“验证这些新的异构多核系统的正确运行将成为未来验证预算的重要组成部分。”
Mentor'公司的Hand表示,还需要一种一致的方法来测试基于RISC-V的处理器的合规性,不包括扩展,并且能够对包含一些RISC-V技术的系统进行功能验证。
Breker的Kelf指出,最大的问题之一是开放式指令集架构与开源核心或软件工具之间的混淆。“RISC-V是一个开放的ISA,但这并不一定意味着开源实现。这导致了诸如单个实现符合ISA标准等领域的问题,因此,验证是一个大问题 - 尤其是在ISA扩展时。确实有内核、软件工具和ria - v的其他方面的开源实现,但这些功能的商业准备是否成熟还存在疑问。需要更多的商业产品,这些产品足够强大,公司可以冒险使用它们的soc。当然,SiFive是正在开发更强大实现功能的公司之一。”
SiFive认为,如今开发复杂芯片的成本如此之高,以至于它对芯片行业来说是不健康的。
SiFive的首席执行官纳维德•谢瓦尼(Naveed Sherwani)表示:“这一切都关乎半导体业务的生存。”如果开源是一个堆栈,你可以使用任何可以免费获得的东西,而且你总是可以给自己买一个更好的版本。但这意味着你可以建立一个基于开源组件的原型。建造一个芯片所需的所有IP都是免费的。如果你的芯片投入生产,无论IP的价格是多少,你都要付出代价。现在你所做的就是降低生产原型的成本。开发一种芯片的成本如此之高,以至于没有风投公司会资助它,也没有年轻人会去尝试。如果今天的成本是1000万美元,我希望是100万美元。这包括所有IP,所有SerDes,所有DDR控制器。这就是目标。这就是硬件开源的含义。
软件的挑战
异构系统也面临着软件方面的挑战,这些挑战还有待解决。
Baines说:“从历史上看,在异构系统中,问题是大多数的工具都是设计来处理开放的体系结构的,所以你最终得到的是一系列孤岛,然后你在不同的不兼容的环境中切换,而每个环境都是特定的。”
这不仅仅局限于RISC-V。“在不同的体系结构中有GPU和视频加速器以及各种加速部件,这对软件来说是个问题,”Whitfield说。“我们看到的很多都是深度嵌入的应用程序,它们有自己的生态系统,或者没有开放的可编程性。我认为我们还没有看到一个世界,你有两个应用处理器,或者我们看到一个带有可编程加速器的特定加速器,旁边有一个Arm芯片。“
Baines认为这些系统确实存在,但表示它的规范案例一直是应用处理器和某种基带芯片中的DSP。“基带芯片一直都有这种架构,而且它总是非常困难,因为你有一个Arm和一个CEVA,调试这个组合很困难。”
这就解释了为什么唯一真正的粗粒度卸载引擎一直存在的是图形和视频,在这些引擎中,它们能够发展自己的生态系统,并且有一个单独的引擎来支持这一点有足够的好处。“我们在人工智能中看到了这一点,”惠特菲尔德说。“我们开始看到神经网络加速器和整个生态系统,因此这将成为另一个粗粒度的卸载引擎。RISC-V能够提供细粒度的东西,我们将非常有趣地看到,世界是否真的需要它在大众市场的意义上。你已经在Tensilica和ARC中看到了它,有些人需要这种专业化,但大部分都来自GPU。你离开CPU的通用计算,进入加速器,然后有一个架构修订说,因为生态系统的问题,我们会加入一些东西使它成为通用的。如果你将其重新构建到体系结构中,就会变得更容易。一直到现在都是这样。不过,摩尔定律也有个结尾,只是有一些特定领域的架构。它会发生吗?难道这不会发生吗?”
Mentor 公司Hand表示:“软件方面一直是个问题。每个核心都有不同的工具链,因此使用这些系统和管理系统各个部分的任务非常复杂。如果许多专有的加速器被基于RISC-V的加速器所取代,这将有助于创建一个共同的生态系统。但如今情况并非如此,因为每个RISC-V供应商都有自己的工具链定义。
验证问题
另一个挑战是如何模拟和调试这些系统。Davidmann说:“如果你从你的IP供应商那里得到工具,这些工具可以很好地工作在他们的IP上,但是当你试图让它与其他供应商的IP一起工作时,往往会有不足之处。”“要为集成来自不同IP供应商客户的IP的SoC开发软件,你需要确保他们的模型、模拟器、调试、验证、分析和分析工具能够与许多供应商和许多ISA一起工作。”
对于现在想要采用RISC-V的用户来说,选择是有限的。随着IP和工具提供商开发解决方案,这种情况将会改变。
贝恩斯说:“外设、硬件、一些工具和生态系统正在发生变化,这取决于你在多大程度上是一个早期采用者,你在这方面有多适应,或者你是否打算再等六个月,直到它们变得更加成熟。”“对于深度嵌入,很多人会说这是相当成熟的。如果你在设计一个深度嵌入式系统或其他什么东西,这将是一个非常明智的做法。转向应用程序处理器,转向面向客户的Linux类处理器,这是目前正在开发的,因此还不够成熟。
跨核心协调许多不同的任务,然后在签署之前验证这些任务是至关重要的。Hand 表示:“这些系统的复杂性正在增加,随之而来的是相互依赖。”此外,许多新应用都涉及到功能安全是关键的领域。因此,我们不仅需要确保某些东西能正确工作,而且还需要确保它能正确失败(对于大多数设计团队来说,这是一个全新的领域)。”
法律问题
最重要的是,当一个架构被应用到一个特定的市场时,围绕着专利还有很多问题。
“有RISC-V,这是一种架构,还有微架构cpu,”Whitfield说。我感兴趣的是如何从架构到微架构。我认为有三种途径。你要么拿一张纸,自己设计,碾碎,这是相当专业的。世界上有一些团队能够做到这一点,尤其是当你把它转移到应用类的时候。你从某个地方获得一个开源版本,然后对其进行修改和使用。然后是关于代码来源的对话——谁拥有它,它从哪里来?如果你正在讨论功能安全性和安全性,那么功能安全性就是从规范到实现的全部知识。“我在做需求跟踪,我拥有一切。”“你是怎么克服的?”或者你去第三方的IP供应商,一个Andes或者一个代码库(codasip),然后这是一个和Arm非常相似的模型,他们会帮你解决这些问题。但是在那一点上,自由吸引力必须消失因为有人投入了大量的钱来达到那个点。这导致了涉及知识产权保护和专利侵权的挑战。
“从模式的角度来看,架构是干净的,但是一旦你进入那个微体系结构空间,就会有Intels, Qualcomms和Arms,以及许多其他的人,他们自己可能不会去接近它,”Whitfield说。“专利流氓花了很多时间来保护我们的合作伙伴,所以这是一个挑战。当你构建一个微架构时,你几乎肯定会在某个地方违反一些微架构模式,并且在某个时候会出现一个专利流氓。如果你是从开源中挑选出来的,或者你是自己推出的,谁会向你索赔?”
另一方面,当基于指令集体系结构的衍生品数量巨大时,保护IP变得更加困难。
结论
虽然RISC-V继续获得青睐,但在工具和软件方面仍存在缺陷,而且涉及任何可定制架构的风险。这可能会限制在设计中使用RISC-V的方式和位置,至少在短期内是这样。但是,有足够的市场激励和机会,将使这一技术在未来几年成为值得关注的有趣技术,尤其是在芯片世界越来越多地利用体系结构作为提高性能和降低功耗的最佳方式,而不是依赖于越来越密集的实现相同的处理器。
转自eetop