我們介紹了一種新的處理器類型:超異構(gòu)處理器HPU,HPU可以理解成多種異構(gòu)融合而成的一種新型的計算架構(gòu)。
有很多朋友追問,HPU和SOC的區(qū)別在哪里? 今天這篇文章,我們詳細地剖析HPU和SOC的各種差異。希望通過這篇文章,讓更多的朋友認識HPU,也認識到HPU的重要價值。
01SOC和HPU綜合介紹
什么是SOC?SoC稱為系統(tǒng)級芯片,也稱為片上系統(tǒng)。狹義上講,SOC是將系統(tǒng)關(guān)鍵部件集成在一塊芯片上;從廣義上講, SOC是一個系統(tǒng),如果說中央處理器(CPU)是大腦,那么SOC就是包括大腦、心臟、眼睛和手的系統(tǒng)。
高通手機SOC處理器驍龍810芯片,可以看到此芯片主要包括:
通用CPU:ARM Cortex-A57和Cortex-A53,CPU主要用于運行Android等智能手機操作系統(tǒng)以及APP程序;
特定場景處理器:Adreno 430 GPU、Hexagon DSP、ISP、多媒體處理器等,GPU主要用于3D游戲等場景,DSP主要用于傳感器算法處理;
特定功能子系統(tǒng):支持4G LTE的通信基帶處理、GPS/北斗等的定位模塊等;
安全處理模塊;
其他一些外圍模塊。
超異構(gòu)計算,是把CPU同構(gòu)、GPU異構(gòu)、各種DSA異構(gòu)等多種異構(gòu)計算整合起來的計算架構(gòu)。超異構(gòu)處理器,則是在芯片層次實現(xiàn)超異構(gòu)計算架構(gòu)(言下之意是:超異構(gòu)也可以在板級的多芯片層次、多計算節(jié)點的集群層次,甚至數(shù)據(jù)中心等更高層次實現(xiàn))。
目前,數(shù)據(jù)中心有三大芯片:CPU適合應(yīng)用層的工作,GPU適合業(yè)務(wù)的彈性加速,DPU適合基礎(chǔ)設(shè)施層工作任務(wù)的加速處理。從功能視角看,HPU可以當(dāng)做CPU、GPU和DPU三大功能芯片的融合體。
從馮諾依曼架構(gòu)我們可以得知,計算機的五個組件是輸入設(shè)備、輸出設(shè)備、控制器、運算器和內(nèi)存。
在現(xiàn)代計算機里,通常劃歸為三個組件:
處理器,包含控制器和運算器;
內(nèi)存,跟馮諾依曼架構(gòu)一致;
輸入輸出I/O設(shè)備,輸入輸出都是和外部的通信,把輸入輸出合并為一類設(shè)備。
不同的芯片類型,都是由上述這三類組件組成。其內(nèi)存和I/O設(shè)備沒有本質(zhì)的區(qū)別,核心的區(qū)別則在于處理器部分:
CPU芯片,其內(nèi)部處理器核都是CPU核。
GPU芯片,其內(nèi)部處理器核則是數(shù)億千計的高效能的小CPU核。也因此,GPU本質(zhì)上是眾核并行計算平臺。
各類DSA芯片,內(nèi)部主要是DSA加速處理器核。
SOC包含CPU、GPU、ISP等各種偏ASIC級別的加速處理器核。
HPU有CPU、GPU、各類DSA等加速處理器核。
從SOC的定義來說,超異構(gòu)處理器也可以歸屬到SOC的范疇。但如果只是稱之為SOC,那無法體現(xiàn)超異構(gòu)處理器和傳統(tǒng)SOC的本質(zhì)區(qū)別。
這樣,不利于我們深刻認識超異構(gòu)處理器的創(chuàng)新價值和重要性所在,以及在支撐超異構(gòu)處理器需要的創(chuàng)新技術(shù)和架構(gòu)方面積極地投入更多的資源。
02區(qū)別1:單系統(tǒng) vs 分布式混合多系統(tǒng)
SOC,顧名思義,系統(tǒng)在芯片上。也即針對一個場景的系統(tǒng),設(shè)計一款芯片。系統(tǒng)和芯片是完全匹配的一對一的關(guān)系。因為系統(tǒng)多種多樣,這也意味著SOC的類型會非常地多。
而HPU則定位基礎(chǔ)的通用處理器,針對的是宏觀的綜合的計算系統(tǒng)和任務(wù),不針對任何具體的特定的系統(tǒng)和任務(wù)。也因此,HPU計算的特征表現(xiàn)在:
HPU通常通過集群協(xié)作來完成任務(wù);
單個HPU硬件上會運行多個不同的軟件系統(tǒng)和任務(wù);
多個宏觀的分布式大系統(tǒng),混合交叉地運行在多個HPU上。
03區(qū)別2:弱虛擬化 vs 硬件原生虛擬化
虛擬化是HPU和SOC最核心的能力區(qū)別。
SOC因為面向單個系統(tǒng),通常不需要支持虛擬化。有的SOC中的CPU核支持虛擬化,但虛擬化的性能損耗較高;并且僅只有CPU支持虛擬化。其他內(nèi)存、加速器和I/O則不支持虛擬化。
而HPU則不僅僅需要CPU、內(nèi)存的完全硬件虛擬化,其他I/O和加速卡也需要實現(xiàn)完全的硬件虛擬化。
需要強調(diào)的是,I/O虛擬化不僅僅指的是如PCIE SR-IOV或S-IOV的I/O接口的虛擬化,更要實現(xiàn)I/O內(nèi)部處理引擎的虛擬化。
以汽車芯片為例,汽車EE架構(gòu)目前在經(jīng)歷顛覆性的變化,即從傳統(tǒng)ECU、DCU的架構(gòu)向CCU(Central Control Unit,中央控制器)的架構(gòu)轉(zhuǎn)變。
多域融合的自動駕駛CCU芯片,跟DCU最鮮明的區(qū)別就在于,是否支持虛擬化。在CCU里,每一個VM相當(dāng)于傳統(tǒng)的一個DCU SOC系統(tǒng)。
04區(qū)別3:軟硬件一體 vs 軟硬件分離
SOC中的軟件通常附著于硬件之上,兩者是匹配的關(guān)系。我們可以根據(jù)硬件的架構(gòu)/接口,定制開發(fā)特定的軟件;也可以通過HAL層,適配標準的軟件和不同的硬件接口。
HPU的要求就要更高很多。HPU上的軟件和硬件沒有直接的關(guān)系。軟件可以運行在硬件A,也可以運行在硬件B,也可以運行在任何其他硬件之上。
反過來,硬件也可以運行任意可能的軟件。軟件在不同硬件資源上的運行和遷移是完全動態(tài)的,并且從宏觀角度看,是非常頻繁的。
通常,可以通過虛擬化實現(xiàn)硬件接口的屏蔽,給軟件提供標準化的硬件,這樣可以方便實現(xiàn)軟件VM/容器的遷移。
但隨著性能的要求越來越高,虛擬化逐漸卸載到了硬件。
VM/容器需要通過直通的方式直面硬件接口。虛擬化完全卸載到硬件加速的情況下,需要硬件提供完全一致性的接口/架構(gòu)。
05區(qū)別4:控制驅(qū)動 vs 數(shù)據(jù)驅(qū)動
在以前,更多的計算量,更少的數(shù)據(jù)量,因此以CPU單位代表的數(shù)據(jù)流驅(qū)動計算的架構(gòu)是主要的模式。如今,大數(shù)據(jù)計算時代,計算的特征變成“大數(shù)據(jù)量小計算量”(小計算量是相對的說法)的模式,因此,數(shù)據(jù)流驅(qū)動計算的架構(gòu)變成算力的主力擔(dān)當(dāng)。
SOC里,是以CPU為中心的架構(gòu)。主要是依靠嵌入式CPU核中的軟件來驅(qū)動整個SOC的工作運轉(zhuǎn)。而在HPU里,則以數(shù)據(jù)為中心,主要依靠數(shù)據(jù)的流動來驅(qū)動計算的運轉(zhuǎn)。
需要強調(diào)的是,在一些觀點里,大家認為:以DPU為中心的計算架構(gòu),就“天然”是以數(shù)據(jù)為中心的計算。
這個論斷不完全正確的。以DPU為中心的架構(gòu),依然是以CPU控制驅(qū)動整個板級系統(tǒng)運轉(zhuǎn)的系統(tǒng)架構(gòu),也即是以CPU控制為中心的架構(gòu)。
要真正實現(xiàn)以數(shù)據(jù)驅(qū)動為中心的計算架構(gòu),需要在底層軟硬件上做非常大的調(diào)整。難度很高,工作量很大。
06區(qū)別5:軟件的多異構(gòu)協(xié)同
vs 硬件的多異構(gòu)融合
SOC和HPU都是多異構(gòu)組成的混合計算,區(qū)別在于,SOC僅僅是異構(gòu)的集成,而HPU則需要實現(xiàn)異構(gòu)的融合。
在SOC系統(tǒng)里,每個加速單元可以看作是CPU+加速單元組成一個異構(gòu)子系統(tǒng);不同的異構(gòu)子系統(tǒng)之間在硬件上是沒有關(guān)聯(lián)的,需要通過軟件構(gòu)建異構(gòu)子系統(tǒng)之間的交互和協(xié)同。
在CPU性能逐漸瓶頸的當(dāng)下,這通常也意味著性能的約束。
而在HPU里,需要實現(xiàn)硬件層次的不同加速單元之間的直接的、高效的數(shù)據(jù)交互,不需要嵌入式CPU的參與。這樣,在硬件層次,就實現(xiàn)了CPU、GPU以及各種其他加速單元之間的對等的深度交互、協(xié)同和融合。
07區(qū)別6:軟件可編程
vs 多層次可編程
SOC里,其他加速器通常是ASIC層次的,只能施加一些簡單的控制,整個數(shù)據(jù)面的業(yè)務(wù)邏輯功能是完全確定的,無法軟件編程。
在SOC里,能支持軟件編程的通常只有嵌入式CPU。
而在HPU里,可編程能力要更加豐富一些:
DSA可編程:在每個計算節(jié)點都存在,性能敏感,并且功能邏輯不經(jīng)常變化的工作任務(wù),可以劃歸到基礎(chǔ)設(shè)施層。適合DSA加速處理。
GPU可編程:這里的GPU特指支持并行計算編程,甚至AI編程,的GPGPU;不是只有圖形加速功能的經(jīng)典GPU。
CPU可編程:跟SOC中的CPU一樣,支持CPU的完全軟件可編程。
08區(qū)別7:資源確定 vs 資源彈性可擴展
CPU是支持資源(動態(tài)的)可擴展能力的:通過時間片把單個CPU核劃分成千份萬份;
再通過同構(gòu)并行把幾十個CPU核連成一個大的CPU計算資源組;
還可以通過UPI甚至一致性網(wǎng)絡(luò)的方式實現(xiàn)多個CPU芯片的資源擴展。
在SOC內(nèi)部,除了CPU可以支持可擴展外,其他模塊基本上都是性能確定的設(shè)計,無法支持資源的擴展能力。
在HPU里,每個計算資源,甚至I/O資源,都需要像CPU一樣,支持多個層次的資源可擴展能力。甚至可以實現(xiàn)數(shù)以萬計芯片集群的“幾乎無限”的資源擴展能力。
09區(qū)別8:定制Chiplet
vs 原生支持Chiplet
當(dāng)我們做SOC設(shè)計的時候,如果需要通過Chiplet優(yōu)化設(shè)計,通常需要針對性地設(shè)計若干個小芯粒。這些芯粒的功能不一樣,然后再把芯粒通過Chiplet連接并封裝成系統(tǒng)芯片。這種方式存在一些問題:
優(yōu)化的價值有限。一個是部分芯粒可以使用非先進工藝,降低成本;另一個是降低單DIE面積,優(yōu)化良品率。這樣提升的價值僅僅是百分比的提升。
復(fù)用性低。不同型號的芯粒DIE,非標準器件,本質(zhì)上增加了芯片集成的難度。
HPU采用資源彈性擴展的設(shè)計,可以實現(xiàn):單DIE HPU芯片,以及不同數(shù)量DIE通過Chiplet封裝的不同規(guī)格的HPU芯片。
10區(qū)別9:設(shè)計規(guī)模小
vs 設(shè)計規(guī)模數(shù)量級提升
目前,隨著系統(tǒng)規(guī)模越來越大,單芯片設(shè)計規(guī)模也越來越大,但是傳統(tǒng)SOC架構(gòu)所能支撐的系統(tǒng)規(guī)模逐漸逼近上限。規(guī)模上限的意思指的是:
雖然工藝和封裝支持更大規(guī)模的芯片設(shè)計,但在傳統(tǒng)架構(gòu)下,突破了規(guī)模上限以后,整個系統(tǒng)的復(fù)雜度會急劇上升,很難駕馭;
并且,各種資源和性能的利用率會急劇下降,浪費嚴重,投入產(chǎn)出比不高,不夠經(jīng)濟。
隨著工藝持續(xù)優(yōu)化,以及Chiplet封裝的進步,單芯片的設(shè)計規(guī)模數(shù)量級提升。亟需一種創(chuàng)新的架構(gòu)來快速提升“可駕馭條件下”的系統(tǒng)規(guī)模。
SOC支持單系統(tǒng),HPU支持多系統(tǒng)。并且,HPU采用可擴展的分布式系統(tǒng)架構(gòu)設(shè)計,每個子系統(tǒng)相當(dāng)于一個SOC系統(tǒng)。
HPU可駕馭的系統(tǒng)規(guī)模可以做到SOC的10倍甚至100倍。
11區(qū)別10:專用 vs 通用
SOC是針對特定的場景,定制開發(fā)的芯片。
HPU面向的是通用的、綜合的復(fù)雜計算場景,定位在以不變應(yīng)萬變。目前,通用的計算架構(gòu)主要有三個:
CPU。CPU又稱GP-CPU,是通用的中央處理單元。CPU可以用在幾乎所有場景。
CPU+GPU。CPU性能不夠,GPU是眾核并行加速平臺,性能相比CPU數(shù)量級提升。因此可以把一些性能敏感的并且適合GPU并行計算的任務(wù)由GPU來完成,其他任務(wù)繼續(xù)放在CPU。
HPU(CPU+GPU+DSA的融合)。DSA性能效率比GPU要高,同等晶體管資源下,DSA相比GPU可以做到性能數(shù)量級提升。但DSA僅適合相對確定性的任務(wù)。
依據(jù)二八定律,80%計算通過DSA完成。然后再使用GPU進行剩余性能敏感并且適合并行計算的任務(wù)加速。剩余不適合加速的部分任務(wù),繼續(xù)放在CPU處理。
12總結(jié)
把上面十個方面的區(qū)別總結(jié)如下面表格所示。
當(dāng)然,這些是目前我們想到的并且重要的方面。還有很多其他方面的區(qū)別,無法一一列舉。功能上,HPU和SOC都是把很多功能集成在一起,有很多的相似性。但本質(zhì)上,兩者是完全不同的兩個產(chǎn)品定位和發(fā)展方向。
隨著對算力的需求持續(xù)不斷的提升,隨著算力網(wǎng)絡(luò)的不斷延伸。未來,幾乎所有的處理器都會成為類超異構(gòu)架構(gòu)的計算芯片,超異構(gòu)處理器會成為支撐宏觀算力的核心底座。
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2553文章
51467瀏覽量
756971 -
dsp
+關(guān)注
關(guān)注
554文章
8059瀏覽量
350665 -
SoC芯片
+關(guān)注
關(guān)注
1文章
617瀏覽量
35060 -
Cortex-A57
+關(guān)注
關(guān)注
0文章
6瀏覽量
9253 -
異構(gòu)處理器
+關(guān)注
關(guān)注
0文章
9瀏覽量
6461
原文標題:超異構(gòu)處理器HPU和系統(tǒng)級芯片SOC的區(qū)別在哪里?
文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
新產(chǎn)品深究,智能手表系統(tǒng)設(shè)計剖析
C語言深度剖析
深度剖析LED高壓燈帶跟LED低壓燈帶的差異性
從AD8331和ad9215的濾波波形看兩個板子有性能差異
SoC FPGA有哪些作用?
SoC功耗是一個關(guān)鍵的差異化功能
![<b class='flag-5'>SoC</b>功耗是一個關(guān)鍵的<b class='flag-5'>差異</b>化功能](https://file.elecfans.com/web1/M00/A1/33/o4YBAF1FYE6AWkWXAAAjAYl7Bpc769.gif)
CNC和PLC之間的各種硬件差異
SoC布局中各種IC簡介
![<b class='flag-5'>SoC</b>布局中<b class='flag-5'>各種</b>IC簡介](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
評論