0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么要从“软硬件协同”走向“软硬件融合”?

sakobpqhz 来源:算力基建 作者:算力基建 2022-12-07 14:23 次阅读

硬件协同,是上世纪90年代提出的概念。在那个时候,系统已经变得相对复杂,需要更加准确严谨的软硬件划分,然后软硬件再协同。

系统规模小的时候,软硬件划分很容易,可以比较随意的划分,即使有错误,后期修改也没什么大不了。但随着系统越来越大,如果不经过严谨的软硬件划分,到开发阶段才发现问题,可能来不及纠正,会导致项目的失败,带来非常严重的后果。软硬件协同,是系统变的复杂之后,软硬件设计的必然选择。

那么,既然已经软硬件协同了,为什么还需要软硬件融合?软硬件融合又是什么?我们将在本文中进行探讨。

01软硬件划分

bb53f136-75e6-11ed-8abf-dac502259ad0.png

软件和硬件需要定义好交互的“接口”,通过接口实现软硬件的“解耦”。例如,对CPU来说,软硬件的接口是指令集架构ISA:ISA之下的CPU处理器是硬件,指令集之上的各种程序、数据集、文件等是软件。

软硬件划分的意思是说:需要确定好软件做什么,硬件做什么。确定软硬件做什么的过程其实就是确定指令复杂度的过程。可以这样说,指令的复杂度(单位指令的计算密度)决定了系统的软硬件解耦程度。

按照指令的复杂度,典型的处理器平台大致分为CPU、协处理器、GPUFPGA、DSA、ASIC。如图所示:最左边,几乎是100%软件实现,CPU硬件只是一个跟业务没有必然联系的软件执行平台而已;最右边,是几乎100%的硬件,系统的业务逻辑,完全的固化成了电路实现,额外的软件控制面,只是负责硬件的运行控制而已;中间的协处理器、GPU、FPGA和DSA,则是软件做一部分,硬件做一部分。

02软硬件协同概念的提出

bb8e570e-75e6-11ed-8abf-dac502259ad0.png

软硬件协同是1990年代提出的概念。大背景是随着系统规模扩大,传统的系统软硬件设计的问题逐渐凸显,需要软硬件协同设计。传统系统软硬件设计存在的问题主要是:

硬件/软件划分,是在还未充分理解系统的情况下进行,很容易产生设计错误;

软硬件划分的设计错误,会对系统产生巨大的负面影响;

而受开发周期和纠正代价的影响,难以纠正在软硬件划分阶段的错误。

传统软硬件一体的设计,适合于较小的系统;而软硬件协同的设计,适合于大一些的系统。

软硬件协同的价值主要体现在:

统一的设计方法论,可以持续指导大系统的设计;

可以充分利用已有的软硬件资源,使得开发效率最大化;

缩短大系统产品上市的时间。

bbb43870-75e6-11ed-8abf-dac502259ad0.png

从长期来看,软硬件协同,需要对目标系统的软硬件设计持续迭代:

如果是做一次性的项目,只需要循环一次;

如果要做用户满意的产品,需要迭代循环数次,不断的升级优化;

如果是一个软硬件平台,则需要循环数十次,不断的优化软硬件划分,基于软硬件的“接口”,实现功能更强大的软件和硬件;

如果要构建基于平台的生态,甚至需要循环上百次,时间更久(数年甚至数十年),代价更高(数以十亿美金计的投入)。

03为什么要从软硬件协同到软硬件融合

bbf8e7fe-75e6-11ed-8abf-dac502259ad0.png

量变会引起质变!

随着系统的规模越来越大,系统的设计方法论也需要不断地升级:

第一阶段,小系统。软硬件一体设计,软硬件划分的难度也不高,划分也比较随意。即使划分错误,后期修正的代价也不高。

第二阶段,大系统。随着系统设计规模不断扩大,传统的软硬件一体的方法,越来越不适应系统的设计,越来越成为系统设计的瓶颈;于是,出现了软硬件协同。

第三阶段,复杂宏系统是很多系统的混合交叉,需要实现很多功能的融合。复杂系统里的每一个子系统,其体量和传统系统的规模相当。每个子系统设计都需要软硬件协同,而且会是不同程度软硬件划分之后的再协同。子系统之间的协作(软件和软件的协作、软件和硬件的协作、硬件和硬件的协作),也是软硬件协同。通过不同子系统的软硬件协同,形成了有机的复杂系统。如图所示,我们把众多子系统的众多软硬件协同的组合称为软硬件融合。

软硬件协同,是单个系统的软硬件设计方法学;而软硬件融合,则是复杂宏系统的软硬件设计方法学。

04软硬件融合

bc13f24c-75e6-11ed-8abf-dac502259ad0.png

复杂系统,由分层分块的各个组件(即工作任务Workloads),有机组成的。这样,我们就可以把系统的组件(即工作任务,或子系统)映射到一个或多个处理引擎:

按照指令复杂度,形成一维坐标系。CPU是100%软件,ASIC是100%硬件,其他处理引擎介于两者之间,是不同比例软硬件混合态。

根据任务特点,映射到最合适的引擎。软硬件的分工和协同,需要均衡;但更要不断的向上向下拉扯,形成极致最优。需要注意的是:基于软硬件引擎的分层跟系统分层是不同的概念。

映射是动态平衡的:任务最合适的处理引擎,并非一成不变,而是随着系统发展有可能下沉(Offload)/上浮(Onload)。

需要强调的是:软硬件融合不改变系统层次结构和组件间的交互关系,但打破传统软硬件的界限,系统的、动态的重构软硬件划分/协同,达到整体最优。

在小系统和大系统的背景下,分层很清晰:下层硬件上层软件。软硬件融合的分层分块,每个任务都是不同程度软硬件解耦基础上的再协同。然后再整合成复杂宏系统。整个复杂宏系统呈现出:软件中有硬件,硬件中有软件,软硬件融合成一体。

bc381c12-75e6-11ed-8abf-dac502259ad0.png

目前,在CPU性能瓶颈和对算力需求不断上升的的大背景下,软硬件融合主要是任务卸载。系统的任务,不断的从CPU卸载到各个层次的硬件加速,其原因主要是:①复杂分层的系统、 ②CPU性能瓶颈、 ③超大规模以及④特定场景服务。

无规模,不卸载(Offload)。

哪些任务适合卸载?卸载的大原则可以分为微观和宏观两个方面。微观原则是:①性能敏感,占据较多CPU资源;宏观原则是:②广泛部署,运行于众多服务器。

宏观的看,分层的系统,越上层越灵活软件成分越多,越下层越固定硬件成分越多。庞大的规模以及特定场景服务,使得云计算底层工作任务逐渐稳定并且逐步卸载到硬件(被动趋势)。软硬件融合架构,可以使“硬件”更加灵活,功能也更加强大,使得更多的层次功能向“硬件”加速卸载(主动抢占)。

05软硬件融合面向的场景

bc5361a2-75e6-11ed-8abf-dac502259ad0.png

Intel SVP Raja表示:要实现元宇宙级别的体验,算力至少需要提升1000倍。从云计算到云网边端融合的万物融合,再到云宇宙的虚实融合,算力需要多个数量级的提高,单个设备的系统越来越复杂,数以亿计设备组成的融合大系统,则更加复杂。

软硬件融合,从宏观和微观的视角,尝试解决复杂计算面临的问题。系统越复杂,软硬件融合的价值越凸显。

软硬件融合相关技术,从云计算抽象出来,指引包括云计算在内的各种复杂计算场景的芯片及系统设计。

06软硬件融合的意义

bc7eae02-75e6-11ed-8abf-dac502259ad0.png

软硬件融合的根基:①分层分块的系统和②宏观的超大规模,这两个原因使得③二八规律广泛存在。

软硬件融合承上启下:从产品定义和系统架构开始,逐步拓展到整个系统栈;往下拓展微架构设计和实现,甚至考虑工艺、封装和测试;往上,考虑接口驱动、操作系统、框架和开发库,甚至需要考虑应用算法和业务逻辑。

软硬件融合,落地实现必然是CPU + 协处理器 + GPU + FPGA + DSA + ASIC等多种处理引擎充分协同的超异构计算。其中,每个工作任务都是在软硬件均衡/解耦基础上的再协同。

软硬件融合的核心目标是要兼顾软件灵活性和硬件高性能,实现既要又要。

软硬件融合,既是理论和理念,也是方法和解决方案。让硬件更加灵活、弹性、可扩展,弥补硬件和软件之间的鸿沟。

软硬件融合应对云计算、边缘计算及超级终端等复杂计算场景的挑战。软硬件融合也为解决芯片一次性成本过高导致的设计风险,提供了切实可行的思路和方案。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10409

    浏览量

    206463
  • 云计算
    +关注

    关注

    38

    文章

    7333

    浏览量

    135641
  • 软硬件协同
    +关注

    关注

    0

    文章

    5

    浏览量

    6302

原文标题:为什么要从“软硬件协同”走向“软硬件融合”?

文章出处:【微信号:算力基建,微信公众号:算力基建】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电池管理系统(BMS)软硬件介绍

    电子发烧友网站提供《电池管理系统(BMS)软硬件介绍.pdf》资料免费下载
    发表于 03-27 09:20 6次下载

    KubeCASH:基于软硬件融合的容器管理平台

    、CSI、CDI等接口都奉行一个重要的原则:“不做事,就不会犯错”。K8S可以理解成嵌于整个软硬件堆栈的一个薄层,仅仅提供硬件到容器环境的一个接入。至于具体的软硬件交互接口和机制、硬件
    的头像 发表于 01-08 10:16 375次阅读
    KubeCASH:基于<b class='flag-5'>软硬件</b><b class='flag-5'>融合</b>的容器管理平台

    基于ARM的管轨牵引供电监控系统软硬件平台

    电子发烧友网站提供《基于ARM的管轨牵引供电监控系统软硬件平台.pdf》资料免费下载
    发表于 11-06 16:25 0次下载
    基于ARM的管轨牵引供电监控系统<b class='flag-5'>软硬件</b>平台

    基于CW32单片机做的软硬件开源项目

    今天就再给大家分享一个基于CW32单片机做的软硬件开源项目,其中包括RTOS、GUI、蓝牙、电源管理等众多常用功能。
    的头像 发表于 10-19 10:17 554次阅读
    基于CW32单片机做的<b class='flag-5'>软硬件</b>开源项目

    软硬件融合的概念和内涵

    跟很多朋友交流,当提到软硬件融合的时候,他们会这么说:“软硬件融合,难道不是显而易见吗?我感觉在二三十年前就已经有这个概念了。”在他们的想法里,其实:
    的头像 发表于 10-17 14:36 519次阅读
    <b class='flag-5'>软硬件</b><b class='flag-5'>融合</b>的概念和内涵

    软硬件协同仿真原理及主要组成部分概述

    软硬件联合仿真在确保高效云解决方案的质量、降低风险、节省时间和成本方面发挥着关键作用。
    的头像 发表于 10-16 11:08 319次阅读
    <b class='flag-5'>软硬件</b><b class='flag-5'>协同</b>仿真原理及主要组成部分概述

    基于软件模拟的SPI端口CAN控制卡的软硬件设计

    电子发烧友网站提供《基于软件模拟的SPI端口CAN控制卡的软硬件设计.pdf》资料免费下载
    发表于 10-13 11:38 0次下载
    基于软件模拟的SPI端口CAN控制卡的<b class='flag-5'>软硬件</b>设计

    均联智行研究:软硬件协同发力新一代域控技术

    2022年,均联智行提出向中央架构发展;2023年,均联智行确定了“软硬件一体”的发展模式,以可靠的硬件解决方案作为支撑,逐步实现“底层软件+中间件”的开发与部署,形成“芯片+软件+算法”的技术闭环。
    的头像 发表于 07-12 15:35 535次阅读
    均联智行研究:<b class='flag-5'>软硬件</b><b class='flag-5'>协同</b>发力新一代域控技术

    同行丨研华蔡奇男:以软硬件工具平台赋能伙伴共创,加速产业数智化

    原文标题:同行丨研华蔡奇男:以软硬件工具平台赋能伙伴共创,加速产业数智化 文章出处:【微信公众号:软通动力】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 06-14 16:55 253次阅读
    同行丨研华蔡奇男:以<b class='flag-5'>软硬件</b>工具平台赋能伙伴共创,加速产业数智化

    【兆松科技】RISC-V软硬件协同设计全流程软件栈PPT

    ,已经成为芯片行业面临的一大难题。 兆松科技针对这一行业难题,设计了敏捷芯片开发工具--软硬件协同设计工具,用以全面加速芯片设计公司的产品研发,包括软硬件协同设计套件,高性能RISC-
    发表于 06-14 15:04 27次下载
    【兆松科技】RISC-V<b class='flag-5'>软硬件</b><b class='flag-5'>协同</b>设计全流程软件栈PPT

    STM32单片机到底是如何实现软硬件结合?

    本文分析 STM32 单片机到底是如何实现软硬件结合的,接着分析单片机程序如何编译、运行。
    发表于 05-16 09:54 783次阅读
    STM32单片机到底是如何实现<b class='flag-5'>软硬件</b>结合?

    移远GPS模块L76全套软硬件资料

    移远GPS模块L76全套软硬件资料,包括全套软件应用手册资料,硬件:各EDA封装,应用电路
    发表于 05-08 09:26 7次下载

    求分享NCJ29D5 EVK的软硬件文件

    如果我从 NXP 购买 NCJ29D5 EVK。我能得到相关的软硬件文件吗?
    发表于 04-25 06:34