中文 英语

开源处理器:事实还是虚构?

说开源处理器是免费的并不十分准确。

受欢迎程度

开源处理器正在迅速获得人们的关注,部分原因是RISC-V的早期成功,但这种兴趣经常伴随着基于一厢情愿的错误信息,以及对开源到底需要什么缺乏理解。

几乎每一次最近的会议都特别提到了RISC-V,以及一般的开源处理器,无论是主题演讲、技术会议还是小组讨论。不太明显的是,开放isa并不是一个新现象,也不是免费的、开放的处理器实现。

“OpenRISC于2000年推出,OpenSPARC从2006年就开始了,”微软营销副总裁克里斯·琼斯(Chris Jones)说Codasip.这些核心和其他免费的外围ip被应用到fpga、演示平台和原型上,但从未出现过大规模的商业部署。那么RISC-V和OpenSPARC 2.0有什么不同吗?”

答案可能在一定程度上取决于半导体行业正在发生的广泛变化。“随着的减少摩尔定律英特尔公司总裁兼首席执行官Raik Brinkmann表示:“在美国,提高性能的唯一方法是定制化,这将导致更多芯片变体的开发。OneSpin解决方案.RISC-V的开源特性推动了这种范式转变。”

这也导致了环境的变化。博通(Broadcom)董事兼杰出工程师博贝•西莫维奇(Bobe Simovich)表示:“半导体行业正处于进化阶段,而不是革命阶段。”“整合意味着在更少的地方生产更多的芯片,我认为这种情况将会持续下去。许多创业公司在经历了一段时间的干旱后都很令人兴奋,但在我看来,将会有一波新的整合浪潮。许多公司的业务不是解决问题。他们的工作就是避免出现问题。”

那么,为什么这会支持对开源处理器的需求呢?Imperas首席执行官西蒙•大卫曼(Simon Davidmann)表示:“人们对开放式个人信息账户感兴趣有很多原因。”“有时是因为他们想要免费,或者他们想要开源。也许他们不希望许可证限制告诉您可以做什么,不可以做什么。几年后,你就能拿起RTL核心已经被硅化了20倍,作为一个小包装,它可以做你想要的。它将是完全免费的,是的,它将是开源的——就像我可以得到开源的软件工具一样。这就是愿景。”

根据Codasip的琼斯的说法,最终归结为三个司机:

  • 公平的许可模式
  • 通过处理器定制实现差异化的能力
  • 供应商独立

但这并不意味着RISC-V处理器数量充足,而且都是免费的。“Verilog处理器核心的描述可以被放到公共领域,但不是所有的辅助交付物都可以。”“许多工具、模型、脚本等都是特定于某个EDA工具的,因此是专有的。开源IP的用户必须自己提供这些组件,或者授权商业RISC-V核心,或者让第三方无晶圆厂ASIC公司代表他们实现核心。”

什么是开源ISA?
ISA定义了硬件/软件接口。它定义了每个软件元素(一条指令)在硬件上应该完成的任务,并支持特定ISA核心的不同实现之间的软件可移植性。

开源ISA意味着任何人都可以免费获得该规范,从而围绕该规范构建实现。Codasip全球销售副总裁Jerry Ardizzone解释说:“ISA没有专利保护。“对于大多数ISA,你不能在没有获得ISA提供商许可的情况下构建一个处理器核心并将其应用于指令集架构。以RISC-V为例,该ISA不为任何人所有或获得专利。任何人都可以免费使用它来构建一个与ISA兼容的处理器核心。”

你得到的是一份免费的说明书。“RISC-V只是一个开源ISA,商业IP提供商将其实现为一个开源ISA知识产权产品,然后以行业标准的授权和版税模式销售。手臂的汽车和物联网业务。“这些产品的差异化有限,这迫使IP供应商在自己的生态系统内进行价格竞争。事实上,当他们试图进行区分时,很可能会出现软件碎片化的结果,使得围绕ISA形成一个连贯的软件生态系统变得困难。”

但差异化是推动RISC-V采用的关键因素之一。“推广很重要,”安第斯销售与支持高级副总裁艾默生•萧(Emerson Hsiao)表示。RISC-V标准化了扩展的概念,并且有标准的扩展,比如DSP。不是每个人都会使用扩展,但我打赌我们的客户会为了差异化而使用它,而差异化在当今的行业中是很重要的。RISC-V让你可以选择这样做。”

MIPS和Arm在开源中也发挥了作用。Wave Computing战略营销高级总监史蒂夫•布莱特菲尔德(Steve Brightfield)表示:“当Wave收购MIPS时,它明确表示有意开放架构。”“未来的架构将由联盟而不是MIPS来定义。我们确实有很多专利。我们有超过400项与MIPS相关的专利,其中一部分是你获得这些专利的许可。这有助于在遇到来自其他架构供应商的威胁时保护您。我们计划采用我们目前拥有的验证套件,并通过独立的第三方公司提供,这样他们就可以对其他公司的MIPS内核进行独立验证。一旦他们符合规定,他们就可以使用MIPS的开放品牌,获得MIPS的专利。”

Arm也没有完全闭合。Arm的Whitfield说:“虽然不是开源的,但Arm的架构是一个开放的架构。NVIDIA最近宣布将向Arm生态系统提供其全套人工智能和高性能计算软件,并指出Arm有能力为超级计算提供开放架构。”

从规范到处理器
从ISA规范到工作芯片需要几个步骤。

Whitfield说:“从ISA到可用于SoC的CPU实现是一个复杂的过程,需要熟练的工程资源,以及EDA和计算资源来构建一个正常运行的CPU IP块。”他指出,第一步是创建微架构。“这需要在工程和基础设施方面进行大量投资。它需要时间来开发、测试和实施。”

他表示,这是一项重大的时间和资源投资,包括:

  • 由微架构师组成的专业工程团队,他们定义处理器的特性,包括管道架构、内存系统、缓存、调试和总线接口。根据复杂程度,这需要数十到数百人年的时间。
  • 验证工程师团队确保功能正确性和架构符合性,以及相关的计算和专业EDA工具和硬件。这需要数百人年和peta周期的计算。
  • 物理设计团队确保处理器可以在硅中实现具有正确的功率、性能和面积特性。这将增加数十到数百人年的工作量,具体取决于复杂性以及EDA工具和计算基础设施的成本。
  • 集成,这需要CPU的模型来支持在硅可用之前的软件开发。这增加了更多的工程资源和计算。
  • 支持和维护。为了从工程投资中获得任何回报,处理器必须在公司的多个项目和团队中使用。这需要支持和持续维护,因为处理器设计可能会使用很多年。

一些公司已经决定自己承担这一责任。其他人将把它留给提供这种服务的公司。Codasip的Ardizzone说道:“我所接触过的每个人都在做自定义扩展,他们在那里构建自己的指令。“他们不想把这些钱捐给基金会。这是他们的差异化,可能会比其他人做得更好。为了生存,你必须赚钱,这意味着一个合理的商业模式。如果我们的战略是提供无法定制的现成RISC-V内核,我们很快就会倒闭。这将是一个商品业务。你必须提供定制服务。”

然而,这并不容易。“他们想要灵活性和性能,他们想要获得流程资源,”安第斯公司的Hsiao说。“实施与过程是紧密耦合的。他们想要添加更多的功能,他们想要多周期指令。如果没有适当的结构,这几乎是不可行的。作为一家处理器IP公司,我们的建议是,你需要设置一个边界。这意味着一种模块化的方法,更像一个容器。如果附加到处理器的容器得到验证,那么设计人员将不得不基于该边界设计自己的扩展或自定义指令。希望边界是明确的、预先验证的、包含良好的,这样当你进行小型扩展时就不会出现问题。”

实现通常不是开源的。Whitfield说:“以开源CPU实现为起点是可能的。”“目前有开源的RISC-V CPU实现,但很少能保持到商业用途所需的水平。与使用商业知识产权相比,验证质量、ISA合规性、满足功能安全标准的设计来源、支持和维护、许可限制和专利保护等因素都可能增加成本和风险。”

OneSpin的布林克曼表示,在执行过程中也必须有信任。“使用开源,存在硬件木马或无意的行为潜入设计的危险。此外,包括内部IP组在内的商业供应商必须执行广泛的验证并向客户演示结果,而用户也必须执行验证,特别是在添加自定义扩展时。开放IP在汽车、军事/航空和物联网等关键应用领域的使用,在功能正确性、安全性、安全性和信任方面将面临巨大挑战。”

但开放也会有所帮助。布林克曼说:“最大的驱动因素之一是它为核心的实现提供了更多的透明度。”“在某些情况下,这真的很关键。如果你不相信你的供应链,开放的实现可以增加可见性。如果您使用一些开源实现,可能是由高级语言生成的,您无法看到RTL,但您手中有源代码。”

验证
也许开源处理器必须克服的最大障碍是验证.这在几个层面上都存在。最低的标准是遵从性,它确保硬件/软件契约得到维护,并且有一个合理的确定水平,软件将在实现之间可移植。

Ardizzone说:“一个标准的、健壮的黄金测试套件来确保你的RISC-V实现是兼容的,目前还不存在。”“一个原因是RISC-V规范还不完整。它仍在发展。一些扩展仍在进行中。有些已经完成并得到批准,而另一些仍在谈判中。一旦我们接近这一点,我们将看到创建合规测试套件的巨大推动。”

这是很好的第一步,但还需要更多。“它可能运行合规套件,但这并不意味着它是一个完全经过验证的核心,”at的营销总监尼尔•汉德(Neil Hand)表示Mentor是西门子旗下的企业.“这只是意味着它在合规套件的条件下工作,你可能已经接触到可能的场景的一小部分。”

其他人也同意。OneSpin的Brinkmann说:“运行合规测试套件并不能告诉你太多东西。“在实现中插入一个木马会触发从用户模式切换到系统模式,这是相当简单的。很难发现这一点模拟或随机测试套件,或有界属性检查。特洛伊木马可能会触发远远超出你的检查范围。你需要一个更严格的从头到尾的验证方法,这样你才能信任执行。”

这将导致下一阶段的验证。需要对标准核心进行验证,以确保所有软件都能在实现上正确执行。最重要的是对已扩展的核心的验证,这增加了一个全新的复杂性级别,尽管它不一定需要相同级别的完整性。

Imperas的大卫曼说:“如果我正在制造一个芯片,并从Arm、MIPS或Tensilica购买核心,他们已经做了令人难以置信的大量验证。”“如果你读过Arm的报纸,你会发现他们在谈论善待动物组织的周期。也就是1015.当你改变某事时,你必须重新验证它。当你从Arm之类的公司购买核心时,你知道它将成为Arm,你知道它将会工作。RISC-V和其他开放式isa面临的挑战是处理器的设计者必须自己动手。他们可能需要10倍的验证,如果他们只是插入一个Arm核心,他们必须集成一个IP。如果他们使用开放ISA,与购买标准的现货部件相比,在平均SoC项目中必须进行的验证量可能是10倍。”

MIPS一直致力于提供完整的验证套件。“独立公司将获得验证套件,”Wave的Brightfield说。“该财团将与一家欧洲公司、一家美国公司和一家中国公司签署协议,这些公司最初将有权利和能力向拥有基于MIPS的RTL设计的公司提供服务,以使其得到验证。他们可以为此收取少量费用,这将允许开发RTL核心的第三方公司验证他们有一个合规的核心。这让他们获得了批准印章、专利权和品牌权。”

核查就是风险管理。“在某些应用中,标准的现成解决方案将是完美的,”Mentor的Hand说。“还会有其他通过一些改变而增加大量价值的项目。如今,每个人都想通过添加自定义指令来改变一切,使其运行速度提高10倍,但现在整个产品的开销是多少呢?”

你必须跳出流程核心本身去思考。“在微处理器中,大约20%的逻辑与ISA相关,”Breker Verification Systems的首席执行官Adnan Hamid说。“这就像ALU和寄存器一样——80%是加载和存储。它都是关于缓存、分页、结构和内存的。所以,无论是否开放ISA,所有的问题都仍然存在,特别是当你进入更大的芯片时。”

好消息是,如果核心将被深度嵌入,您可能不必在核心上执行完整的验证。哈米德补充说:“一些公司将精简RISC-V以实现功耗优化,但该芯片仍必须与将被集成的商业IP块进行对话。”他说:“传统上,核查是把每一块都摧毁,希望你已经准备好覆盖所有东西,并沿着食物链一直这样做。这意味着你浪费了很多时间去验证你不关心的事情。与便携式刺激(PSS),我们可以定义我们的产品必须支持的流,并将其向下推。所以也许我们只需要在我的设计中测试RISC-V 20%的功能。”

当一个核心被扩展时,根据定义,没有针对它的验证套件。汉德说:“一旦你开始使用一个开源处理器并对其进行修改,突然之间,一群从未需要处理处理器验证的人现在必须处理它。”“处理器公司几十年来积累的所有知识,他们都没有。没有什么灵丹妙药或工具。一个开放的可访问标准,无论是商业的还是开源的,它的好处是你可以获取它,定制它,做一些非常酷的事情。但他们必须确保它能起作用。与验证SoC相比,这是一组非常不同的挑战。一旦你改变了处理器中的任何东西,你就必须重新验证整个事情。你可能不知道你必须再次验证的范围。”

而且您可能还必须查看负面设计空间,以查看是否插入了额外的漏洞。布林克曼说:“有很多方法可以确保设计中没有ISA中没有的东西。”“你证明了什么都不可能发生。你需要把核查重点放在重要的地方。”

处理器的生态系统
拥有开放ISA的最大原因之一是支持生态系统的开发。阿迪佐涅说:“今天,Arm的生态系统非常庞大,但RISC-V的生态系统却不在同一水平上。”“然而,它发展得相当快。我们看到很多设计开始,所以你必须跟着钱走。当顾客进来时,生态系统就会发展起来。如今,Arm拥有83%的处理器IP业务。”

这个生态系统有着巨大的价值。“Arm最近能够从我们的生态系统和第三方研究中收集数据,量化估计的SoC设计成本,无论是否有Arm生态系统的支持,”Whitfield说。在Arm生态系统支持下设计28nm SoC时,我们节省了超过2000万美元的成本。”


图1:生态系统的价值来源:手臂

当您向高级节点移动时,这些数字可能会发生重大变化。Whitfield补充说:“使用开源EDA工具在传统工艺节点上构建混合信号SoC是可能的,但不能在7nm等高级节点上构建,因为一个SoC可能需要50亿到200亿个晶体管。”“归根结底是风险问题。商业设计师愿意冒着数百万美元的掩模成本的风险吗?更不用说使用没有支持、快速修复错误和代工认证的工具的机会成本了。”

EDA工具
这件事也有另一面。在过去,只有少数几家处理器公司,这并没有使其成为开发专用EDA工具的有趣市场。但如果开放式isa真的开始流行,可能会有数百家公司开发处理器,这可能会导致一些针对这一功能的新验证工具。

现在缺乏工具。戴维曼问道:“你从哪里可以买到解决Arm、MIPS和其他所有人在过去20年里自己构建的问题的工具?”“他们不只是编写一些RTL,并期望它能够工作。他们已经走过了许多验证的死胡同,但这些死胡同都不起作用,他们尝试了其他方法,直到找到一个有效的解决方案。”

我们确实有一些新兴工具可以提供帮助。Hand说:“正规技术擅长理解设计的黑暗部分。“PSS有助于查看场景,并将其提升到更高的水平,并测试SoC。硬件-软件协同设计有助于处理一些系统级方面的问题。没有什么灵丹妙药能把这些技术结合在一起。”

我们还可以期待看到适当的验证IP。哈米德说:“也许我们会用更新的工具来实现这种功能,我们可以预先打包测试。”“你总要付出代价的。你要么购买,要么自己建造,花钱购买好的验证工具,要么花钱请很多验证工程师。”

新的工具将会出现。Brinkmann说:“EDA有新的机会来自动化这种验证,并使其可重复和可预测。”“作为一个开放ISA,根据定义有多种实现,提出可以自动化这一过程的工具可能是一个可行的选择。对我们来说,只对一个特定的专有ISA进行一种实现并没有什么意义,但如果有数百种不同的版本或配置,那么就有意义多了。”

所有这些都导致商业EDA供应商需要加快步伐,用解决方案来填补这些挑战的空白。这可能就是开源处理器普及到大众的时候。

有关的故事
开源RISC-V硬件和安全
第1部分:一种新的指令集体系结构的优点和局限性。
RISC-V合规的挑战
当规范是可扩展的时,显示处理器核心遵循规范变得更加困难。
RISC-V:不仅仅是一个核心
对开源ISA的兴趣标志着芯片制造商的重大转变,但它需要持续的行业支持才能成功。



3评论

苏尼尔谢诺 说:

“这些产品的差异化有限,这迫使IP供应商在自己的生态系统内进行价格竞争。
似乎这对客户来说是一件好事!

布莱恩•贝利 说:

对的——如果一种商品对你来说是正确的,并且不提供任何区别,那么你就想要最便宜的核心,可以满足你的性能和质量要求。

卡尔·史蒂文斯 说:

同时,应用程序不使用ISA编码。
应用程序用编译/解释语言编码。
语言做作业,if/else, for, while,做。
isa执行加载、存储、分支、加、减、乘、除和、或、异或操作。
如上文中所述,只有大约20%的硬件做ISA的工作。
剩余80%的硬件用于尽量减少CPU/内存速度不匹配的影响。(缓存、分支猜测、乱序执行等)
那么,人们发明一种新指令并取得重大改进的可能性有多大呢?
异构计算(加速器、gpu等)是成功的,因为指令和数据被打包为一个工作项并独立处理。
Roslyn编译器创建一个抽象语法树和一个语法行走器,用于公开赋值和控制流。识别在硬件中执行代码的条件和赋值很简单(看不到ISA)。

留下回复


(注:此名称将公开显示)

Baidu