中文 英语

为什么创建新的处理器如此困难

随着RISC-V的成功,许多公司都有兴趣开发自己的处理器,但验证是一个艰巨的挑战。

受欢迎程度

RISC-V处理器ISA的推出和最初的成功重新点燃了人们对定制处理器设计的兴趣,但业界目前正努力解决如何验证它们的问题。在过去的20年里,曾经在市场上出现过的专业技术和工具已经被整合到少数几家生产处理器芯片或IP内核的公司手中。

对处理器的验证不同于对其他IP,甚至是SoC的验证。处理器是通用硬件的终极部件,这就产生了它自己独特的一组问题。

公司副总裁兼总经理Paul Cunningham说:“它可以运行任何软件程序。Cadence设计系统.“这是你能想象到的最可配置的深度状态设备之一。真正地说我已经完成了对CPU的验证,就是说你已经运行了所有可能在CPU上运行的软件程序,当然你永远不会这样做。这是完全难以处理的。CPU验证极其困难。”

在一个硬件必须尽可能灵活的时代,谨慎的做法是在软件上做尽可能多的事情。Imperas software的首席执行官Simon Davidmann说:“一家公司发现,在处理器中使用一点软件构建状态机比在Verilog中创建状态机要好得多。“如果您将状态机构建在Verilog如果出错,你就得重新旋转芯片。但如果你构建了小型控制器,并为状态机编程,那么如果出现问题,你就可以在以后解决问题。”

但这产生了两个问题。“在最近的一个处理器验证项目中发现,在这个过程中必须让软件团队参与进来,”Hagai Arbel说VTool.“这带来了一系列全新的挑战,因为他们在技术上和精神上说的是一种完全不同的语言。”

第二个问题是核查。“处理器的好坏取决于它的验证能力,”微软首席技术专家杜安•普赖尔(Duaine Pryor)表示Mentor是西门子旗下的企业.“强制解决验证关闭的方法是不可行的。我们在高端和低端市场都看到了这种情况。”

无论处理器核心是基于RISC-V还是唯一指令集架构(ISA),彻底的验证都是至关重要的。OneSpin Solution的设计验证专家尼古拉•图辛斯基(Nicolae Tusinschi)表示:“用户不能再指望像使用传统处理器那样,在芯片上进行数十年的验证。”“RISC-V采用者没有特殊通行证;经验表明,许多开源内核的验证很弱,并且包含许多极端情况下的错误。所有处理器开发人员都必须广泛验证其核心设计,记录过程和实现的覆盖率,并使用户能够利用这种验证来验证包含核心的完整片上系统(SoC)设计。”

无论项目规模大小,处理器的某些方面都是通用的。“处理器验证可以大致分为控制验证和数据路径验证。”手臂.“两者都不简单,都有各自的挑战。对于控制验证,主要挑战是交互组件的数量,并确保涵盖所有角落的情况,而对于数据路径验证,主要挑战是计算出边界情况,以便能够适当地涵盖这些情况。这些挑战可能会因面积、性能或功率等微建筑特征而进一步复杂化。”

这个问题在开源领域更加复杂,特别是涉及到RISC-V时。“一方面,你有功能验证,”路易·德卢纳(Louie De Luna)说Aldec.“但你也有合规测试。您需要确保任何自定义指令都与源代码兼容。这将影响您的覆盖模型,并且还没有事实上的工具流。在这方面还有很多工作要做。除了学习如何使用所有工具,你还必须了解如何将它们用于测试。”

移动的复杂性
虽然自2000年以来处理器性能并没有显著提高,但这并不意味着复杂性一直保持不变。微软验证平台副总裁科林•麦凯勒表示:“我们仍然看到处理器的复杂性在不断增加想象力的技术.“人们越来越希望从这一过程中榨取更多。人们非常渴望拥有某种形式的独特功能集或独特的做事方式。”

这种对独特性的渴望正在推动当前的趋势。“在低端市场,尤其是边缘设备,功率和成本的限制要严格得多;价格更低,”Mentor的普赖尔说。“这意味着更紧密耦合的加速、可定制性,甚至删除指令都是有价值的。与高端产品相比,更小的设计和专属软件有助于降低重新验证的成本。RISC-V以较低的成本提供了一个易于定制的平台。总之,自定义的优点大于缺点,这使得新的验证工程师面临处理器(重新)验证问题,尽管是在更小、更封闭的系统上。”

在高端市场,其他力量也开始发挥作用。“处理器架构始于向RISC迁移的更复杂指令,”Cadence的坎宁安说。“这开始趋于平稳,我们开始向多核领域发展。然后我们在多核上就没有伸缩性了。在这一点上,所有新的复杂性级别都围绕着定制的特定架构——针对特定垂直领域定制的不同类型的计算引擎,比如AI、图形或视频。核心管道的底层复杂性可能不会像以前那样快速变化,但它仍然存在。还有更多关于安全的事情。在投机执行方面有很多。”

推测执行是一种优化技术,与许多备受瞩目的处理器漏洞有关,如Spectre和Meldown。安全性是一个持续的挑战,在这个领域,设计需求仍在增加。

Breker Verification Systems副总裁兼首席营销官Dave Kelf表示:“安全性是现代处理器的一个新维度,确保处理器能够实现有效的硬件信任根(HRoT)是关键。”“为了核实这一点,消极核查(证明除了规定的机制之外没有办法进入这些地区)是重要的。正式的在这方面很好,但是在系统级别耗尽了容量。因此,允许指定和分析系统状态空间的工具将成为处理器验证团队的重要工具箱组件。”

当期望在处理器上运行操作系统时,必须提供额外级别的支持。“通用处理器预计将支持所有现代操作系统和一系列应用程序,”英特尔联合创始人舒博迪普•罗伊•乔杜里(Shubhodeep Roy Choudhury)表示Valtrix系统.这些用例中的大多数都需要硬件的支持,例如用于虚拟内存的TLB/MMU,用于虚拟化的管理程序,以及用于浮点计算的FPU。对并行线程执行的支持具有内存排序和缓存一致性的影响。考虑到用例、处理器单元和跨产品的数量,与其他设计相比,通用处理器的验证是一项更具挑战性的任务。”

支付验证
执行处理器核心验证所必须付出的代价是无法逃避的。你可以直接自己支付费用,也可以付钱给别人帮你。

坎宁安说:“顶级处理器公司已经进行了巨大的投资,并拥有大量的专业知识,因此他们可以提供一些好的东西。”“必须记住,RISC-V是一个指令集。它不是CPU的实际实现。实施必须经过验证,必须有足够的质量,并满足一定的功率、性能和区域目标。Arm不仅仅是一个指令集。他们提供了整个生态系统。他们在这上面花了数百万美元。”

质量对加工商来说很重要。“Arm的运行速度大约是1015Imperas的大卫曼说。“有很多指示。一般的RISC-V开发者或IP提供商甚至没有硬件模拟器。他们在任何地方都无法进行这么多的验证。多年来,当人们购买Arm或MIPS和Power处理器时,他们依赖IP供应商进行验证。”

但并不是所有的核都那么大或复杂。Imagination公司的麦凯勒说:“目前很多RISC-V项目规模都相当小,复杂性也在可控范围内。“与验证相关的成本不会很大。但当你开始改进性能或增加多线程、并行化的复杂性时,它会增长得相当快。我可以想象,有一半试图制造复杂处理器的公司会发现这是一个太大的挑战,食物链上的人会停止与之相关的资金,因为它太贵了,而且它不一定能正确工作。”

Codasip副总裁Jerry Ardizzone对此表示赞同。“我们的一个客户打算使用开源RISC-V核心和开源工具,创建108个可重复的协处理器,他们遇到了几个问题。首先,他们必须证明核心是可行的。然后,他们意识到唯一可用于该核心的测试套件是开源的,因为所有其他商业工具都在Arm、Codasip、MIPS和Synopsys等公司开发的工具包中。然后他们必须证明所有这些处理器都能处理35个特定加速指令,这在开源中是非常困难的。你可以从Arm那里买到所有这些,并确保它能正常工作。您还可以构建自己的核心,这假设您知道如何构建处理器,并能确保它不会被锁定。但核实始终是一个大瓶颈。”

这也可能是相当昂贵的。Ardizzone说:“核实是最难的,也是最昂贵的。”“这是瓶颈,至少需要几个季度的工作。每次你接触硬件,你都必须重新验证。”

对于开源硬件来说,更低的成本是关键的卖点之一。Aldec的De Luna说:“像英特尔和Arm这样的公司真的很擅长这一点,你知道,当你把它集成到SoC中时,你将能够验证它的工作。”“现在业内人士表示,这并不容易。如果你想想开源社区,很多事情都是基于预算。但是有很多事情需要一起做。油气行业需要整合端到端的流程,而这只有通过更多的合作才能实现。”

验证技术
20年前,有几家公司生产用于处理器验证的工具。当时,大多数系统公司都有自己的专有处理器核心。从那时起,他们都转移到一家大型处理器公司,现在专业知识已经集中在这些公司内部。

“多年的经验和方法开发是能够可靠地验证和验证处理器的巨大优势,”Pryor说。“我们一直对处理器公司在验证流程中推动创新和效率的方式印象深刻。”

最近帮助其他人验证处理器核心的咨询公司都在谈论这种经验的重要性。VTool的阿贝尔说:“我们之前的经验和知识是必不可少的。“我第一次开始处理器验证是在20年前,但如果这是我第一次谈论这种类型的问题,我可能会在解决问题时遇到挫折。即使您有一个非常小或简单的处理器,设计验证团队也需要准备好这类知识。有几个可能的解决方案,我们可能没有采取最好的方式。但与其他类型的设计相比,你必须以不同的方式处理问题。”

麦凯乐表示同意。“你既需要专业知识,也需要方法论。它们是密切相关的。如果没有专家,这些工具可能没有那么大的价值。如果没有这些工具,专家们就会因为工具包太薄弱而陷入困境。世界上缺乏高级验证工程师,许多公司都在相互竞争所需的技能。他们中的许多人没有足够的深度去做他们需要做的事情。”

获得这些知识是很困难的。戴维曼说:“如何测试处理器基本上已经被封闭起来,并被封装在那三、四家基本的大型供应商内部。”“只是没有很多论文、出版物或工具可以提供帮助。”

有用的建议
坎宁安给出了以下建议。“最重要的是,去雇人。确保您知道是否真的想要构建自己的处理器,如果需要,请认真对待。这仍然是一件大事。你需要有人来领导和掌控它。”

一切都从计划开始。麦凯勒说:“要清楚你真正能实现的目标,以及你投放市场所需的时间表。“要专注于限制组合和减少功能。一些高级功能或功能的组合可能对最终客户没有多大价值,但会花费您大量的时间和精力来正确地验证它们。保持开放的心态,因为没有唯一的答案。没有一种方法适合所有人。评论非常重要。有独立的审查和接受批评是非常重要的。并且要注意尽早测试新内容。你应该尽早做新的和困难的事情,在上面花更多的时间和精力,在旧的事情上花更少的时间和精力。”

同时问问自己为什么要这么做。大卫曼说:“除非你真的想做一些创新和定制的东西,否则好的解决方案已经存在了。”“如果你想添加一些非常有趣的面料或自定义指令,那么也许这就是你应该走RISC-V路线的原因。越来越多的人正在构建或配置自己的处理器,这意味着更加复杂,更多的验证,以及验证行业更多的机会。”

开源的验证
RISC-V无疑推动了开源硬件的概念,一些人质疑他们是否也可以期待开源验证由此出现。SmartDV的应用工程总监Bipul Talukdar说:“开源模式的成功需要一个基础设施,使真正的设计和产品能够被创造出来,投入生产并交付市场。”“必要基础设施的一个关键部分是RISC-V验证平台,该平台使用开源规范和执行ISA的CPU准确地验证设计。”

一些人看到了希望。Imperas Software的营销副总裁Kevin McDermott说:“RISC-V社区正在共同努力寻找解决方案。“也许谷歌Cloud开发和增强RISC-V随机指令流生成器的开源项目是最好的说明,该项目利用了免费的riscvOVPsim参考模型。”

然而,核心EDA工具被开源取代的可能性非常小。真正的成本不是EDA工具。这是复杂性的问题,大型处理器供应商尽管在这些问题上有多年的经验,但仍然会发现意想不到的错误和漏洞。

本处理器验证系列的第二部分将集中讨论早期采用者正在使用的新兴方法和工具。

有关的故事
验证知识中心
顶级故事,特别报告,白皮书,博客和视频的存储库
确保RISC-V设计按预期工作
开源增长预测令人印象深刻,但验证过程可能比商业isa更难。
开源处理器会导致验证的转变吗?
工具和方法是存在的,但谁将实际进行验证尚不清楚。
RISC-V市场,安全和增长前景
专家在桌前,第1部分:一种新的指令集架构的优点和局限性。
RISC-V的挑战和机遇
谁能从开源ISA中赚钱,RISC-V生态系统的当前状态,以及供应商之间的区别。
开源EDA会起作用吗?
DARPA计划推动更便宜和更简单的工具,但这可能不是那么容易。
开放式isa越来越受欢迎
强调灵活性、上市时间和异质性需要更多的处理选项



1评论

Tayo 说:

没有提到Synopsys ARC处理器IP,尽管它是仅次于ARM的第二大玩家,提供了经过验证的可配置实现,而RISC-V还无法实现?

留下回复


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

Baidu