为什么很难创造出新的处理器?

出品 | CSDN(ID:CSDNnews)

译者 | Arvin,责编 | 郭芮

以下为译文:

RISC-V处理器指令集体系结构(ISA)的问世和最初的成功重新激发了人们对定制处理器设计的兴趣,但是业界现在正在努力解决如何验证它们的问题。过去20年来,市场上曾经存在的专业技术和工具已经被少数几家生产处理器芯片或IP内核的公司所掌握。

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

Cadence Design Systems公司副总裁兼总经理Paul Cunningham说:“它可以运行任何软件程序。” “它是您可以想象到的最可配置的深度状态设备之一。确切地说,我已经完成了对CPU的验证,就是说您已经运行了所有可能在CPU上运行的软件程序。当然这是非常棘手的。CPU验证是非常困难的。” 

在一个硬件必须尽可能灵活的时代,在软件中尽可能多地进行操作是明智的。Imperas软件首席执行官Simon Davidmann表示:“一家公司发现,在处理器中使用一些软件来构建状态机要比在Verilog中创建状态机要好得多。” “如果您在Verilog中构建状态机并发现错误,则必须重新改造芯片。但是,如果您使用状态机编程构建小型控制器,则可以在出现问题后再进行解决。”

但这带来了两个问题。VTool的首席执行官Hagai Arbel说:“在最近的一个处理器验证项目发现,您必须让软件团队参与这个过程。”“这带来了一系列全新的挑战,因为他们说的是一种完全不同的语言,无论是技术上还是心理上。”

第二个问题是验证。西门子业务部门Mentor的首席技术专家Duaine Pryor表示:“处理器的好坏取决于它的验证。” “暴力算法进行验证的办法是不可行的,虽然我们在高端和低端市场都看到了这种趋势。”

无论处理器内核是基于RISC-V还是独特的指令集体系结构(ISA),全面的验证都是至关重要的。OneSpin Solution的设计验证专家Nicolae Tusinschi表示:“用户再也不能指望使用传统处理器在硅芯片上进行数十年的验证了。” “ RISC-V采纳者没有特别通行证;经验表明,许多开源内核都经过了弱验证,并且包含许多基本的bug。所有处理器开发人员必须广泛验证其核心设计,记录所实现的过程和覆盖范围,并使用户能够利用此验证来处理包含核心的整个系统芯片(SoC)设计。”

处理器的某些方面是通用的,与项目规模无关。“处理器验证可以大致分为控制验证和数据路径验证,” Arm的架构师和中央工程小组成员Daniel Schostak说,“这两者都不简单,都面临着挑战。对于控制验证,主要挑战是交互组件的数量并确保覆盖所有极端情况;而对于数据路径验证,主要挑战在于确定边界情况,以便能够正确覆盖这些情况。面积、性能或功率的微体系结构特征会使这些挑战进一步复杂化。”

在开源领域,尤其是在RISC-V方面,这个问题更加复杂。“一方面,您可以进行功能验证,” Aldec市场营销总监Louie De Luna说,“但是随后您还将进行合规性测试,您需要确保任何自定义指令均与源代码兼容。这会影响您的覆盖率模型,并且实际上还没有工具流程,所以在这方面仍有许多工作要做。除了学习如何使用所有工具外,您还必须了解如何将其用于测试。”

持续变化的复杂性

尽管自2000年以来处理器性能没有显着提高,但这并不意味着复杂性保持不变。“我们仍然看到处理器的复杂性在增加,” Imagination Technologies的验证平台副总裁Colin McKellar说,“人们越来越希望从处理器中榨取更多,强烈希望拥有某种形式的独特功能集或独特的做事方式。”

对独特性的渴望正在驱动当前的趋势。“在低端市场,特别是对于边缘设备,功耗和成本约束更加严格;价格更低。” Mentor的Pryor说,“这意味着更紧密耦合的加速、可定制性、甚至删除指令都非常有价值。与高端产品相比,较小的设计和专属软件有助于降低重新验证成本,RISC-V就以较低的成本提供了易于定制的平台。总而言之,自定义的优点大于缺点,并且在更小、更封闭的系统上,推动产生了一群新的验证工程师来面对处理器(重新)验证问题。”

在高端市场,其他力量也在发挥作用。Cadence的Cunningham说:“处理器架构始于向RISC迁移更复杂的指令。” “这一趋势开始趋平,我们开始进入多核系统。然后,我们无法在多核上进行扩展。在这一点上,所有新的复杂性级别都围绕着定制的特定体系结构——针对特定垂直行业而定制的不同类型的计算引擎,例如AI、图形或视频。核心管道的潜在复杂性可能变化的速度并不快,但是仍然存在。还有更多关于安全的、有关推测执行的方面内容。”

推测执行是一种优化技术,已与许多著名的处理器漏洞(例如Spectre和Meldown)相关联。安全性是一个持续的挑战,在这个领域,设计需求仍然在增加。

“安全性是现代处理器的新维度,确保处理器启用有效安全的硬件Hardware root of trust (HRoT)是关键,” Breker Verification Systems副总裁兼首席营销官Dave Kelf说。为了验证这一点,负面验证(证明除了规定的机制之外没有其他方法可以访问区域)非常重要。正式版对此有好处,但在系统级别上容量不足。因此,允许指定和分析系统状态空间的工具将成为处理器验证团队的重要工具箱组件。”

如果期望在处理器上运行操作系统,则必须提供其他级别的支持。Valtrix Systems的联合创始人Shubhodeep Roy Choudhury说:“通用处理器有望支持所有现代操作系统以及最顶层的许多应用程序。” 这些用例中的大多数都需要硬件的支持,例如用于虚拟内存的TLB / MMU,用于虚拟化的虚拟机管理程序以及用于浮点计算的FPU,对并行执行线程的支持涉及内存顺序和缓存一致性。考虑到用例、处理器单元和交叉产品的数量,与其他设计相比,验证通用处理器是一项更具挑战性的任务。”

为验证计价

不必逃避执行处理器内核验证所必须支付的价格,您可以直接自己支付费用,也可以付钱给其他人替您支付费用。

Cunningham说:“顶级处理器公司已经进行了巨额投资,并且拥有大量的专业知识,因此他们可以提供出色的产品。” “必须记住,RISC-V是一个指令集,它不是CPU的实际实现。实施必须经过验证,并且必须具有足够的质量,并满足一定的功能,性能和区域目标。Arm不仅仅是一个指令集,他们提供了整个生态系统,为此花费了数百万美元。”

质量对处理器很重要。“Arm在每个核心上运行大约1015条指令,” Imperas的Davidmann说,“一般的RISC-V开发人员或IP提供商甚至都没有硬件仿真器,他们无法进行任何数量的验证。多年来,当人们购买Arm或MIPS和Power处理器时,他们依赖于IP供应商进行验证。”

但是,并非所有内核都那么大或那么复杂。Imagination的McKellar说:“如今,许多RISC-V项目规模都很小,而且复杂性是可以控制的。” “与验证相关的费用不会很大。但是,当您开始提高性能或添加多线程等并行化的方式增加复杂性时,它可能会迅速增长。我可以想象,半数试图制造复杂处理器的公司将会发现这是一个太大的挑战,而食物链上的人们将会停止与之相关的资金,因为它很昂贵,而且不一定能正常工作。”

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

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

对于开源硬件,降低成本是关键卖点之一。Aldec的De Luna表示:“像Intel和Arm这样的公司确实非常擅长此事,并且您知道,将其集成到SoC中后,您将能够验证其是否有效。” “现在,业内人士说这并非易事。如果您考虑开源社区,那么很多事情都是基于预算。该行业需要建立一个端到端的流程,只有更多的合作才能实现。”

验证技术

二十年前,有多家公司生产用于处理器验证的工具。当时,大多数系统公司都拥有自己的专有处理器内核。从那时起,他们都迁移到了大型处理器公司之一,如今,专业知识已集中在这些公司中。

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

最近帮助其他人验证处理器内核的咨询公司谈论了这种体验的重要性。“我们的经验和知识至关重要,” VTool的Arbel说,“我20年前就开始进行处理器验证,但是如果这是第一次谈论此类问题,我在解决这些问题时就会遇到麻烦。即使您的处理器很小或很简单,设计验证团队也需要具备这种知识。有几种可能的解决方案,我们可能没有做到最好的方式。但是与其他类型的设计相比,您肯定需要以不同的方式解决问题。”

McKellar表示同意。“您需要专业知识和方法。它们是相辅相成的。如果没有专家,这些工具可能没有太大价值。没有工具,专家们将为之苦恼,因为工具包太弱了。世界上缺乏一流的验证工程师,许多公司正在相互竞争所需的技能。他们中的许多人没有足够的深度去完成他们需要做的事情。”

获得这些知识是困难的。Davidmann说:“如何测试一个处理器基本上已经变得封闭起来,封装在三、四家大厂商的产品中。”“只是没有很多论文、出版物或工具可以提供帮助。”

有用的建议

Cunningham提供了以下建议。“首先,也是最重要的,去雇人。确保您知道是否真的要构建自己的处理器,如果需要,请认真对待。你需要有人来领导它。”

这一切都始于计划。McKellar说:“要对自己的实际业绩和上市所需的时间表保持清醒的头脑。” “专注于尝试限制组合并减少功能。一些高级功能或功能组合对最终客户而言可能不那么有价值,但会花费大量时间和精力来正确验证它们。保持开放的心态,因为没有统一的答案。进行独立审查并接受批评非常重要,并且要非常注意尽早测试新事物。您应该尽早解决新的困难等事情,花大量的时间和精力在上面,少花时间和精力在老的事情上。”

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

开源验证

RISC-V显然已经提高了开源硬件的概念,一些人质疑他们是否也可以期待开源验证从这里出现。SmartDV应用工程总监Bipul Talukdar表示:“开放源代码模型的成功需要一个基础架构,该基础架构才能创建真实的设计和产品,并将其投入制造并交付市场。” “必要基础架构的关键部分是RISC-V验证平台,该平台可以使用开放源代码规范以及执行ISA的CPU来准确地验证设计。”

一些人看到了希望。“ RISC-V社区正在共同努力,以帮助找到解决方案,” Imperas Software市场营销副总裁Kevin McDermott说,“也许谷歌云使用免费的riscvOVPsim参考模型开发和增强RISC-V随机指令流生成器的开源项目能够最好地说明了这一点。”

尽管如此,核心EDA工具仍不太可能被开源替代。尽管有多年处理这些问题的经验,大型处理器供应商仍然在寻找意料之外的bug和漏洞。

原文:https://semiengineering.com/why-its-so-hard-to-create-new-processors/

本文为CSDN翻译文章。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

情绪调节的自适应_如何做好情绪的管理者

积极有效的情绪管理一个人如果能够控制自己的情绪、欲望和恐惧,那他就胜过国王。----约翰米尔顿01情绪概述情绪和情感,人对客观外界事物的态度的主观体验和相应的行为反应,它反映的是主体需要和客观外界事物间的关系。情绪和情感两个词常可通…

科普 | 同一个世界,地图有这么多不同的表达!

来源:测绘学报一、地图投影的概念地球到底是什么样的?公元前6世纪,古希腊数学家毕达哥拉斯率先提出了“地圆说”。他在观察月食时,发现大地在月球上的投影是圆的,所以认为大地是完整的圆球体。他首次提出了“地球”这一…

解密脑机接口:专访CMU生物医学工程系主任贺斌

卡耐基梅隆大学生物医学工程系主任贺斌教授(照片由本人提供)来源: 知识分子撰文 | 李澄宇(中科院神经所PI)赵维杰(NSR新闻编辑)脑机接口能做什么?带上电极帽,你可以在实验…

Matlab画图技巧之消除空白

</pre>写报告或论文时,为了充分利用篇幅和实现紧凑美观,我们常常想要得到空白冗余较小的图,这在Tikz里面十分容易实现。但是在Matlab里需要做很多的工作才能达到目的。</p><p></p><p>Matlab默认的图空白十分大,看起来很别扭:</p><…

5G和北斗,交通行业新基建的正确打开方式

作者&#xff1a;湖南省交通运输厅科技信息中心 乔川龙物联网智库 整理发布转载请注明来源和出处导 读交通运输行业应该是5G先行区&#xff0c;一是符合5G的机会在于与2B垂直行业的深度融合、赋能行业转型升级和高质量发展的判断&#xff1b;二是根据交通运输行业的特点&#…

人工智能与人类智能的竞赛:人机对抗智能技术全梳理

作者: 黄凯奇*, 兴军亮, 张俊格, 倪晚成, 徐博来源&#xff1a;中国科学院自动化研究所智能系统与工程研究中心1引言人工智能从诞生之始就以对抗人类智能为衡量准则(著名的图灵测试) 。作为人工智能研究的前沿方向&#xff0c;人机对抗技术一直是国内外人工智能研究的热点,以人…

工业机器人 答案 韩建海_不可或缺:协作机器人对于制造业转型升级的意义

只要谈到自动化&#xff0c;就很难不提到协作机器人。自从十几年前协作机器人问世以来&#xff0c;它们便承担起了众多企业的自动化任务。新冠之前&#xff0c;英国制造业正在应对英国退欧和劳工短缺的不确定性。但是&#xff0c;他们无法预见新冠对行业的影响。任何行业都无法…

Python爬虫用Selenium抓取js生成的文件(一)

简介任务简述实现过程 简介 我最近在看关于计算机的一些书籍,发现了这个电子书清单:计算机开放电子书汇总, 和大家分享一下. 我在下载其中的书籍时被导向了这个很好的计算机电子书网站KanCloud看云,里面有非常多的实用的编程方面的电子书,很多是该网站自己用html生成的,格式多…

golang 升级到新版本_Scikit-learn新版本发布,一行代码秒升级

十三 发自 凹非寺 量子位 报道 | 公众号 QbitAIScikit-learn&#xff0c;这个强大的Python包&#xff0c;一直深受机器学习玩家青睐。而近日&#xff0c;scikit-learn 官方发布了 0.22 最终版本。此次的更新修复了许多旧版本的bug&#xff0c;同时发布了一些新功能。安装最新版…

重磅:2020年度获国家科学技术奖励提名的材料项目汇总

来源&#xff1a;http://www.nosta.gov.cn/upload/2020slxmgb/showProject.html转自&#xff1a;材料人2020年3月24日&#xff0c;科学技术部发布了《国家科学技术奖励工作办公室公告第95号》文件。这份文件对2020年国家自然科学奖、国家技术发明奖通用项目、国家科学技术进步奖…

完全理解Android中的RemoteViews

一、什么是RemoteViewsRemoteViews翻译过来就是远程视图.顾名思义,RemoteViews不是当前进程的View,是属于SystemServer进程.应用程序与RemoteViews之间依赖Binder实现了进程间通信.二、RemoteViews的用法RemoteViews使用最多的场合是通知栏和桌面小插件. 以通知栏为例,讲解下它…

各大媒体优劣对比_吉利星瑞特别版对比朗逸,亮点只有性价比?

据悉&#xff0c;吉利汽车推出了星瑞特别版车型——星瑞设计师推荐款&#xff0c;新车已于10月11日的11:00开启抢购&#xff0c;限量3000辆&#xff0c;抢购价格为13.77万元。其中值得注意的是&#xff0c;新车的抢购流程有所不同&#xff0c;想参与抢购的消费者需要先完成吉利…

【推广】实用命令——tldr

碎碎念如题&#xff0c;通常遇到一个新的命令需要查询其帮助的时候&#xff0c;一般使用command -h或者man command来查询&#xff0c;但是&#xff0c;有时候仅仅想知道这个命令怎么用&#xff0c;并不想知道具体含义啊(这个命令可能不常用&#xff0c;没有必要仔细阅读手册)&…

Nature重大突破!将皮肤细胞直接转化成感光细胞让小鼠重见光明!

图片来源&#xff1a;https://cn.bing.com本文系生物谷原创编译&#xff0c;欢迎分享&#xff0c;转载须授权&#xff01;研究人员发现了一种直接将皮肤细胞重新编程成用于视觉的光敏杆状感光器的技术。实验室制造的杆状体使失明的老鼠能够在细胞移植到眼睛后探测到光线。这项研…

时间组件选择一个时间段_衡南(光伏支架组件安装)施工队

衡南(光伏支架组件安装)施工队光伏支架安装本行业的技术人员应该了解&#xff0c;本发明不受上述实施例的限制&#xff0c;上述实施例和说明书中描述的只是说明本发明的原理&#xff0c;在不脱离本发明精神和范围的前提下&#xff0c;本发明还会有各种变化和改进&#xff0c;安…

DNA存储,拯救人类数据危机的良方?

来源&#xff1a;脑极体开一个脑洞&#xff1a;如果地球正在面临一场马上到来的毁灭性星际灾害&#xff0c;人类又想尽可能地保存地球的生命和文明&#xff0c;在现有条件下&#xff0c;该怎么办&#xff1f;像大刘一样让地球停止自转然后逃离太阳系&#xff0c;这恐怕来不及了…

oracle数据库dblink创建语句_「运维实验」——达梦数据库DBlink连接Oracle配置

经过昨天达梦数据库间DBlink配置&#xff08;具体操作可回看上一篇文章&#xff09;&#xff0c;今天做延伸实验。实验环境说明Oracle数据库1&#xff1a;192.168.80.40 ora11g RHEL 6.5 64位达梦数据库1&#xff1a;192.168.80.41 DMSERVER2 RHEL 6.5 64位oracle数据库版本&am…

智能经济的动力,从人工智能到超级智能

作者&#xff1a;刘锋前言&#xff1a;本文是根据研讨会发言形成的探讨性文章&#xff0c;主要阐述了智能经济的产生本质上是科技生态发生重大变化后的产物。提出智能经济运转的动力除了人工智能&#xff0c;人类的智能&#xff0c;互联网大脑模型的超级智能也是新出现的要素。…

损失函数_SRGAN损失函数(目标函数)详解

概要SRGAN的特点之一就是引进了损失感知函数&#xff0c;由此提升了超分辨率之后的细节信息。本文主要像您介绍SRGAN使用的损失函数&#xff0c;及其Keras实现。损失函数公式这是原文中给出的损失函数。容易看出&#xff0c;此损失函数包括两部分&#xff0c;第一部分是感知损失…

PHP获取本月起始和终止时间戳

一、本月起始和结束 //获取本月开始的时间戳 $beginThismonthmktime(0,0,0,date(m),1,date(Y)); //获取本月结束的时间戳 $endThismonthmktime(23,59,59,date(m),date(t),date(Y)); View Code二、上月起始和结束 写法一&#xff1a; $m date(Y-m-d, mktime(0,0,0,date(m)-1,1,…