今天,Linux內(nèi)核在各種計(jì)算機(jī)架構(gòu)和各種類型的設(shè)備上運(yùn)行,從手機(jī)到超級計(jì)算機(jī)。該操作系統(tǒng)(OS)的多功能性使其能夠跨嵌入式單核芯片部署到具有多個(gè)處理器內(nèi)核的服務(wù)器片上系統(tǒng)(SoC)到包含數(shù)百個(gè)處理器內(nèi)核的基站。這種可擴(kuò)展性是Linux如此成功的原因之一,也是它促進(jìn)了廣泛的應(yīng)用程序開發(fā)的原因。為 Linux 編寫的用戶應(yīng)用程序可以輕松移植到更快、更強(qiáng)大的處理器上。
為了利用這種可移植性并最大限度地提高可擴(kuò)展性,利用任何軟件(包括Linux)來促進(jìn)重用以加快上市時(shí)間和可靠性至關(guān)重要。當(dāng)我們在嵌入式應(yīng)用中從 32 位處理器遷移到 64 位處理器時(shí),這一點(diǎn)尤其重要。在 64 位環(huán)境中重用久經(jīng)考驗(yàn)的 32 位軟件的能力對于快速輕松地開發(fā)強(qiáng)大的產(chǎn)品非常重要。
先進(jìn)的硬件技術(shù)簡化了 64 位在網(wǎng)絡(luò)和移動設(shè)備中的采用
我們可以從PC行業(yè)從32位到64位計(jì)算的過渡中學(xué)到的一個(gè)教訓(xùn)是,在硬件和操作系統(tǒng)過渡到64位之后,32位軟件將繼續(xù)存在。在過去的30年里,我們的行業(yè)一直在編寫和優(yōu)化適合32位空間的軟件。在完全過渡到64位世界之前,我們必須盡可能多地重用該軟件,這一點(diǎn)至關(guān)重要。
幸運(yùn)的是,隨著硬件虛擬化和硬件多線程等嵌入式設(shè)計(jì)的新技術(shù)變得更加主流,同時(shí)提高性能和可靠性將變得更加容易。通過轉(zhuǎn)向多核和多線程,將有更多的CPU周期可供用戶使用。最重要的是,虛擬化現(xiàn)在允許應(yīng)用程序在不修改的情況下運(yùn)行,從而可以將線程或核心專用于特定應(yīng)用程序。一旦 64 位 Linux 在 SoC 上運(yùn)行,虛擬化使用戶能夠設(shè)置虛擬機(jī) (VM),該虛擬機(jī)可以運(yùn)行現(xiàn)有的單處理器 Linux 和未經(jīng)修改的用戶應(yīng)用程序。這允許現(xiàn)有軟件以最佳性能運(yùn)行;將此方法與多核結(jié)合使用,簡單的任務(wù)分區(qū)可進(jìn)一步提高性能。
移動
處理的未來基于多核。例如,一些用于移動電話的應(yīng)用處理器包含多達(dá)八個(gè)64位內(nèi)核;無論每個(gè)人都同意我們真的需要那么多核心,它已經(jīng)成為一個(gè)基線基準(zhǔn)。這部分是由于一些Android應(yīng)用程序使用Linux作為構(gòu)建塊,并且可以從一個(gè)內(nèi)核擴(kuò)展到八個(gè)內(nèi)核。但是,在大多數(shù)32位應(yīng)用程序移植到64位處理器之前,在可預(yù)見的未來,最新的閃亮的新八核手機(jī)仍將運(yùn)行相同的32位應(yīng)用程序。
網(wǎng)絡(luò)基礎(chǔ)設(shè)施
同時(shí),網(wǎng)絡(luò)一直是多核和多線程處理器的大用戶。網(wǎng)絡(luò)軟件的一個(gè)關(guān)鍵特征是它本質(zhì)上是多線程的。網(wǎng)絡(luò)軟件中有三個(gè)主要任務(wù):傳輸、接收和處理數(shù)據(jù)包。隨著生產(chǎn)線速度和處理需求的增加,并行任務(wù)的數(shù)量也會增加。在高端網(wǎng)絡(luò)應(yīng)用中,從互聯(lián)網(wǎng)骨干交換機(jī)到移動基站,數(shù)百甚至數(shù)千個(gè)MIPS處理器中的核心數(shù)量并不少見。例如,Imagination最近宣布了其MIPS I6400處理器內(nèi)核,可以從一個(gè)虛擬內(nèi)核擴(kuò)展到1,500多個(gè)虛擬內(nèi)核。這種前所未有的可擴(kuò)展性水平是基于這樣一種預(yù)期,即隨著千兆互聯(lián)網(wǎng)變得更加容易為消費(fèi)者提供,未來幾年內(nèi)核數(shù)量將繼續(xù)增加。
想象科技 MIPS I6400 能夠擴(kuò)展到 1,500 多個(gè)虛擬內(nèi)核。
家庭網(wǎng)絡(luò)
家庭DSL網(wǎng)關(guān)和無線路由器等住宅應(yīng)用一直在使用單核處理器,現(xiàn)在正迅速成為速度瓶頸。這些設(shè)備中的大多數(shù)都運(yùn)行Linux,并帶有經(jīng)過認(rèn)證的語音和用軟件編寫的DSL編解碼器。對于下一代路由器和網(wǎng)關(guān),只需遷移到新的 64 位多核處理器,編解碼器可用的處理器周期就會增加一倍以上。通過重復(fù)使用相同的 32 位軟件,可以更快地將更新的 SoC 推向市場,而無需進(jìn)行廣泛的重新認(rèn)證。隨著軟件優(yōu)化的不斷發(fā)展,可以利用不同的編程技術(shù)來利用多線程或多核擴(kuò)展。
添加 Linux 軟件優(yōu)化
目前有兩種版本的 Linux;單處理器 (UP) Linux 和多處理器 (SMP) Linux.SMP 操作系統(tǒng)專為多核處理器而設(shè)計(jì),是 Linux 可擴(kuò)展性的基礎(chǔ)。雖然SMP Linux的性能開銷很小,但采用SMP Linux可以為未來的產(chǎn)品奠定基礎(chǔ),因此即使對于單處理器系統(tǒng),今天也應(yīng)該主動采用。這為設(shè)備制造商提供了過渡到多線程軟件所需的時(shí)間,以實(shí)現(xiàn)更高的性能并添加新功能。
最近成立的prpl基金會也將有助于促進(jìn)這種遷移。prpl是一個(gè)開源,社區(qū)驅(qū)動,協(xié)作,非營利性基金會,旨在定位和支持MIPS架構(gòu)(并向其他人開放),重點(diǎn)是實(shí)現(xiàn)下一代數(shù)據(jù)中心到設(shè)備的便攜式軟件和虛擬化架構(gòu)。現(xiàn)有的單核 Linux 用戶可以從 prpl 及其社區(qū)獲得 SMP Linux 的更新代碼庫,以幫助遷移到 SMP Linux。移植Linux操作系統(tǒng)后,可以使用“任務(wù)集”命令將每個(gè)任務(wù)或應(yīng)用程序綁定到特定的處理器。與 Linux 相關(guān)的固有處理開銷以及在單個(gè)處理器上運(yùn)行多個(gè)應(yīng)用程序(即上下文切換損失)分布在多個(gè)處理器上,從而使更多的 CPU 周期可用于應(yīng)用程序,而不是依賴于單個(gè)處理器。為了進(jìn)一步說明這一概念,圖2顯示了從單個(gè)處理器內(nèi)核到多個(gè)處理器內(nèi)核的可能遷移路徑及其相關(guān)優(yōu)勢。
從單個(gè)處理器內(nèi)核遷移到多個(gè)處理器內(nèi)核可顯著降低操作系統(tǒng) (OS) 開銷,使應(yīng)用程序能夠更高效地運(yùn)行。
多核技術(shù)還為電源管理開辟了新的方法。從功率角度來看,將任務(wù)分配給兩個(gè)較慢的處理器比以高工作頻率運(yùn)行一個(gè)處理器更經(jīng)濟(jì)。多線程更進(jìn)一步,以最大限度地提高可用的處理能力。
未來是多核的
這是進(jìn)入技術(shù)領(lǐng)域的一個(gè)激動人心的時(shí)刻。我們正在迅速從單核處理器轉(zhuǎn)向多核處理器世界。有很多方法可以完成這種遷移,虛擬化等新技術(shù)通過創(chuàng)建虛擬世界(包括Linux)可以在新的多核芯片上未經(jīng)修改地運(yùn)行而無需任何更改,從而使遷移到多核處理器變得相對簡單。
通過單處理器代為我們提供支持的軟件將通過包含越來越多的處理器的下一代硬件設(shè)備為我們提供支持。在prpl基金會等社區(qū)驅(qū)動型組織的幫助下,新一代軟件將充分利用多核和多線程硬件,并提供更加集成的解決方案。
審核編輯:郭婷
-
Linux
+關(guān)注
關(guān)注
87文章
11509瀏覽量
213710 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7660瀏覽量
90745 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7143瀏覽量
125552
發(fā)布評論請先 登錄
成為園區(qū)網(wǎng)新主流,以太彩光底氣何在?

杰發(fā)科技發(fā)布車規(guī)級多核MCU芯片AC7870
智能配電新紀(jì)元:基于飛凌嵌入式T536核心板的DTU解決方案

SEGGER SystemView支持多核行為的觀察和驗(yàn)證

PXI能超越VXI成為電子測量領(lǐng)域主流?

格陸博科技o(jì)nebox線控制動冗余方案率先量產(chǎn)
薄膜發(fā)電為什么不能成為主流
Keystone多核器件系列原理圖核查表

多核CPU的優(yōu)勢是什么
天合光能:TOPCon組件成為主流,700W+大勢所趨

評論