軟硬件協(xié)同,是上世紀(jì)90年代提出的概念。在那個時候,系統(tǒng)已經(jīng)變得相對復(fù)雜,需要更加準(zhǔn)確嚴(yán)謹(jǐn)?shù)能浻布澐?,然后軟硬件再協(xié)同。
系統(tǒng)規(guī)模小的時候,軟硬件劃分很容易,可以比較隨意的劃分,即使有錯誤,后期修改也沒什么大不了。但隨著系統(tǒng)越來越大,如果不經(jīng)過嚴(yán)謹(jǐn)?shù)能浻布澐?,到開發(fā)階段才發(fā)現(xiàn)問題,可能來不及糾正,會導(dǎo)致項目的失敗,帶來非常嚴(yán)重的后果。軟硬件協(xié)同,是系統(tǒng)變的復(fù)雜之后,軟硬件設(shè)計的必然選擇。
那么,既然已經(jīng)軟硬件協(xié)同了,為什么還需要軟硬件融合?軟硬件融合又是什么?我們將在本文中進行探討。
01軟硬件劃分
軟件和硬件需要定義好交互的“接口”,通過接口實現(xiàn)軟硬件的“解耦”。例如,對CPU來說,軟硬件的接口是指令集架構(gòu)ISA:ISA之下的CPU處理器是硬件,指令集之上的各種程序、數(shù)據(jù)集、文件等是軟件。
軟硬件劃分的意思是說:需要確定好軟件做什么,硬件做什么。確定軟硬件做什么的過程其實就是確定指令復(fù)雜度的過程??梢赃@樣說,指令的復(fù)雜度(單位指令的計算密度)決定了系統(tǒng)的軟硬件解耦程度。
按照指令的復(fù)雜度,典型的處理器平臺大致分為CPU、協(xié)處理器、GPU、FPGA、DSA、ASIC。如圖所示:最左邊,幾乎是100%軟件實現(xiàn),CPU硬件只是一個跟業(yè)務(wù)沒有必然聯(lián)系的軟件執(zhí)行平臺而已;最右邊,是幾乎100%的硬件,系統(tǒng)的業(yè)務(wù)邏輯,完全的固化成了電路實現(xiàn),額外的軟件控制面,只是負(fù)責(zé)硬件的運行控制而已;中間的協(xié)處理器、GPU、FPGA和DSA,則是軟件做一部分,硬件做一部分。
02軟硬件協(xié)同概念的提出
軟硬件協(xié)同是1990年代提出的概念。大背景是隨著系統(tǒng)規(guī)模擴大,傳統(tǒng)的系統(tǒng)軟硬件設(shè)計的問題逐漸凸顯,需要軟硬件協(xié)同設(shè)計。傳統(tǒng)系統(tǒng)軟硬件設(shè)計存在的問題主要是:
硬件/軟件劃分,是在還未充分理解系統(tǒng)的情況下進行,很容易產(chǎn)生設(shè)計錯誤;
軟硬件劃分的設(shè)計錯誤,會對系統(tǒng)產(chǎn)生巨大的負(fù)面影響;
而受開發(fā)周期和糾正代價的影響,難以糾正在軟硬件劃分階段的錯誤。
傳統(tǒng)軟硬件一體的設(shè)計,適合于較小的系統(tǒng);而軟硬件協(xié)同的設(shè)計,適合于大一些的系統(tǒng)。
軟硬件協(xié)同的價值主要體現(xiàn)在:
統(tǒng)一的設(shè)計方法論,可以持續(xù)指導(dǎo)大系統(tǒng)的設(shè)計;
可以充分利用已有的軟硬件資源,使得開發(fā)效率最大化;
縮短大系統(tǒng)產(chǎn)品上市的時間。
從長期來看,軟硬件協(xié)同,需要對目標(biāo)系統(tǒng)的軟硬件設(shè)計持續(xù)迭代:
如果是做一次性的項目,只需要循環(huán)一次;
如果要做用戶滿意的產(chǎn)品,需要迭代循環(huán)數(shù)次,不斷的升級優(yōu)化;
如果是一個軟硬件平臺,則需要循環(huán)數(shù)十次,不斷的優(yōu)化軟硬件劃分,基于軟硬件的“接口”,實現(xiàn)功能更強大的軟件和硬件;
如果要構(gòu)建基于平臺的生態(tài),甚至需要循環(huán)上百次,時間更久(數(shù)年甚至數(shù)十年),代價更高(數(shù)以十億美金計的投入)。
03為什么要從軟硬件協(xié)同到軟硬件融合
量變會引起質(zhì)變!
隨著系統(tǒng)的規(guī)模越來越大,系統(tǒng)的設(shè)計方法論也需要不斷地升級:
第一階段,小系統(tǒng)。軟硬件一體設(shè)計,軟硬件劃分的難度也不高,劃分也比較隨意。即使劃分錯誤,后期修正的代價也不高。
第二階段,大系統(tǒng)。隨著系統(tǒng)設(shè)計規(guī)模不斷擴大,傳統(tǒng)的軟硬件一體的方法,越來越不適應(yīng)系統(tǒng)的設(shè)計,越來越成為系統(tǒng)設(shè)計的瓶頸;于是,出現(xiàn)了軟硬件協(xié)同。
第三階段,復(fù)雜宏系統(tǒng)是很多系統(tǒng)的混合交叉,需要實現(xiàn)很多功能的融合。復(fù)雜系統(tǒng)里的每一個子系統(tǒng),其體量和傳統(tǒng)系統(tǒng)的規(guī)模相當(dāng)。每個子系統(tǒng)設(shè)計都需要軟硬件協(xié)同,而且會是不同程度軟硬件劃分之后的再協(xié)同。子系統(tǒng)之間的協(xié)作(軟件和軟件的協(xié)作、軟件和硬件的協(xié)作、硬件和硬件的協(xié)作),也是軟硬件協(xié)同。通過不同子系統(tǒng)的軟硬件協(xié)同,形成了有機的復(fù)雜系統(tǒng)。如圖所示,我們把眾多子系統(tǒng)的眾多軟硬件協(xié)同的組合稱為軟硬件融合。
軟硬件協(xié)同,是單個系統(tǒng)的軟硬件設(shè)計方法學(xué);而軟硬件融合,則是復(fù)雜宏系統(tǒng)的軟硬件設(shè)計方法學(xué)。
04軟硬件融合
復(fù)雜系統(tǒng),由分層分塊的各個組件(即工作任務(wù)Workloads),有機組成的。這樣,我們就可以把系統(tǒng)的組件(即工作任務(wù),或子系統(tǒng))映射到一個或多個處理引擎:
按照指令復(fù)雜度,形成一維坐標(biāo)系。CPU是100%軟件,ASIC是100%硬件,其他處理引擎介于兩者之間,是不同比例軟硬件混合態(tài)。
根據(jù)任務(wù)特點,映射到最合適的引擎。軟硬件的分工和協(xié)同,需要均衡;但更要不斷的向上向下拉扯,形成極致最優(yōu)。需要注意的是:基于軟硬件引擎的分層跟系統(tǒng)分層是不同的概念。
映射是動態(tài)平衡的:任務(wù)最合適的處理引擎,并非一成不變,而是隨著系統(tǒng)發(fā)展有可能下沉(Offload)/上浮(Onload)。
需要強調(diào)的是:軟硬件融合不改變系統(tǒng)層次結(jié)構(gòu)和組件間的交互關(guān)系,但打破傳統(tǒng)軟硬件的界限,系統(tǒng)的、動態(tài)的重構(gòu)軟硬件劃分/協(xié)同,達(dá)到整體最優(yōu)。
在小系統(tǒng)和大系統(tǒng)的背景下,分層很清晰:下層硬件上層軟件。軟硬件融合的分層分塊,每個任務(wù)都是不同程度軟硬件解耦基礎(chǔ)上的再協(xié)同。然后再整合成復(fù)雜宏系統(tǒng)。整個復(fù)雜宏系統(tǒng)呈現(xiàn)出:軟件中有硬件,硬件中有軟件,軟硬件融合成一體。
目前,在CPU性能瓶頸和對算力需求不斷上升的的大背景下,軟硬件融合主要是任務(wù)卸載。系統(tǒng)的任務(wù),不斷的從CPU卸載到各個層次的硬件加速,其原因主要是:①復(fù)雜分層的系統(tǒng)、 ②CPU性能瓶頸、 ③超大規(guī)模以及④特定場景服務(wù)。
無規(guī)模,不卸載(Offload)。
哪些任務(wù)適合卸載?卸載的大原則可以分為微觀和宏觀兩個方面。微觀原則是:①性能敏感,占據(jù)較多CPU資源;宏觀原則是:②廣泛部署,運行于眾多服務(wù)器。
宏觀的看,分層的系統(tǒng),越上層越靈活軟件成分越多,越下層越固定硬件成分越多。龐大的規(guī)模以及特定場景服務(wù),使得云計算底層工作任務(wù)逐漸穩(wěn)定并且逐步卸載到硬件(被動趨勢)。軟硬件融合架構(gòu),可以使“硬件”更加靈活,功能也更加強大,使得更多的層次功能向“硬件”加速卸載(主動搶占)。
05軟硬件融合面向的場景
Intel SVP Raja表示:要實現(xiàn)元宇宙級別的體驗,算力至少需要提升1000倍。從云計算到云網(wǎng)邊端融合的萬物融合,再到云宇宙的虛實融合,算力需要多個數(shù)量級的提高,單個設(shè)備的系統(tǒng)越來越復(fù)雜,數(shù)以億計設(shè)備組成的融合大系統(tǒng),則更加復(fù)雜。
軟硬件融合,從宏觀和微觀的視角,嘗試解決復(fù)雜計算面臨的問題。系統(tǒng)越復(fù)雜,軟硬件融合的價值越凸顯。
軟硬件融合相關(guān)技術(shù),從云計算抽象出來,指引包括云計算在內(nèi)的各種復(fù)雜計算場景的芯片及系統(tǒng)設(shè)計。
06軟硬件融合的意義
軟硬件融合的根基:①分層分塊的系統(tǒng)和②宏觀的超大規(guī)模,這兩個原因使得③二八規(guī)律廣泛存在。
軟硬件融合承上啟下:從產(chǎn)品定義和系統(tǒng)架構(gòu)開始,逐步拓展到整個系統(tǒng)棧;往下拓展微架構(gòu)設(shè)計和實現(xiàn),甚至考慮工藝、封裝和測試;往上,考慮接口驅(qū)動、操作系統(tǒng)、框架和開發(fā)庫,甚至需要考慮應(yīng)用算法和業(yè)務(wù)邏輯。
軟硬件融合,落地實現(xiàn)必然是CPU + 協(xié)處理器 + GPU + FPGA + DSA + ASIC等多種處理引擎充分協(xié)同的超異構(gòu)計算。其中,每個工作任務(wù)都是在軟硬件均衡/解耦基礎(chǔ)上的再協(xié)同。
軟硬件融合的核心目標(biāo)是要兼顧軟件靈活性和硬件高性能,實現(xiàn)既要又要。
軟硬件融合,既是理論和理念,也是方法和解決方案。讓硬件更加靈活、彈性、可擴展,彌補硬件和軟件之間的鴻溝。
軟硬件融合應(yīng)對云計算、邊緣計算及超級終端等復(fù)雜計算場景的挑戰(zhàn)。軟硬件融合也為解決芯片一次性成本過高導(dǎo)致的設(shè)計風(fēng)險,提供了切實可行的思路和方案。
審核編輯 :李倩
-
cpu
+關(guān)注
關(guān)注
68文章
11033瀏覽量
215965 -
云計算
+關(guān)注
關(guān)注
39文章
7969瀏覽量
139339 -
軟硬件協(xié)同
+關(guān)注
關(guān)注
0文章
5瀏覽量
6383
原文標(biāo)題:為什么要從“軟硬件協(xié)同”走向“軟硬件融合”?
文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
技術(shù)故障率降低20%!關(guān)鍵在于這套IoT軟硬件一體化方案

國芯思辰|同步采樣24位模數(shù)轉(zhuǎn)換器軟硬件替換ADS1174應(yīng)用于關(guān)口表

國產(chǎn)低噪聲4/6/8通道24位模數(shù)轉(zhuǎn)換器軟硬件替換AD1299應(yīng)用于腦電波

國產(chǎn)24位模擬前端芯片軟硬件替換ADS1291應(yīng)用于醫(yī)療儀器(ECG/EMG/EEG)的高精度數(shù)據(jù)采集

請問DLP3010AFQK在軟硬件上是否對DLP3010FQK完全兼容?
兆芯CPU近期軟硬件適配動態(tài)
恩智浦電機控制軟硬件解決方案

英特爾2024產(chǎn)品年鑒:AI與軟硬件的融合發(fā)展

評論