<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于硬件的虛擬化設(shè)計(jì)簡(jiǎn)化多核處理器的方案

          一種基于硬件的虛擬化設(shè)計(jì)簡(jiǎn)化多核處理器的方案

          作者: 時(shí)間:2012-03-12 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/149462.htm

          今天的SoC(系統(tǒng)單芯片)都集成了一系列的核心、加速器和其它處理單元。這些異質(zhì)的多核架構(gòu)提供了更多的計(jì)算能力,但其復(fù)雜性也為各種應(yīng)用中嵌入系統(tǒng)的開發(fā)人員帶來了新的挑戰(zhàn),這些應(yīng)用包括控制層、視頻服務(wù)器、無線基站,以及寬帶網(wǎng)關(guān)等。如果是分立的核心,每個(gè)核心都能完全地訪問和控制自己的資源。這種可預(yù)測(cè)的訪問能夠做直接的管理,而有實(shí)時(shí)約束的應(yīng)用也具備了確定的性能。然而,在一個(gè)多核架構(gòu)中,各個(gè)核心共享資源,潛在的競(jìng)爭(zhēng)使很多因素復(fù)雜化,例如處理延時(shí)以及可靠地中斷處理。

          為了提供與單核器件相當(dāng)?shù)拇_定性能,多核架構(gòu)開始采用已經(jīng)過網(wǎng)絡(luò)通信驗(yàn)證的資源共享與管理技術(shù)。這些架構(gòu)使用已有的隊(duì)列與流量管理技術(shù),在多個(gè)核心之間有效地分配資源、使吞吐量最大化、盡可能減小響應(yīng)延時(shí),并且避免了不必要的擁擠。

          1 資源

          從架構(gòu)的角度看,SoC是多核心的復(fù)雜系統(tǒng),它通過一個(gè)高速結(jié)構(gòu),將各種控制與資源連接起來(圖1)。在很多方式上,一片SoC內(nèi)部的無數(shù)交互操作都很像一個(gè)有很多資源(或核心)的通信網(wǎng)絡(luò),這些資源與相同目的地做交互操作,包括內(nèi)存、外設(shè)與總線。顯然,人員用于提高網(wǎng)絡(luò)效率的帶寬管理技術(shù)(如)也能用于管理多核心以及共享外設(shè)之間的流量。

          下一代SOC是多核心訪問相同的共同資源的復(fù)雜系統(tǒng)

          圖1.下一代SOC是多核心訪問相同的共同資源的復(fù)雜系統(tǒng)

          片上資源的使各個(gè)核心能夠共享訪問權(quán);這種共享的訪問權(quán)對(duì)應(yīng)用是透明的。每個(gè)應(yīng)用都可以把一個(gè)資源看作像自己獨(dú)有一樣,而一個(gè)虛擬化管理器用于匯總共享的所有權(quán)(由所分配的帶寬量所測(cè)定)。對(duì)資源的虛擬訪問和共享訪問都需要一個(gè)隊(duì)列管理器和一個(gè)流量管理器。各應(yīng)用使用一個(gè)或多個(gè)隊(duì)列,緩存對(duì)某個(gè)資源的訪問。虛擬化為隊(duì)列增加事件或事務(wù),當(dāng)資源可用時(shí)將它們從隊(duì)列中拉出。隊(duì)列包含了一個(gè)指向緩沖區(qū)中數(shù)據(jù)的緩存描述符(buffer descriptor),并且實(shí)現(xiàn)隊(duì)列可以有多種方式,具體取決于應(yīng)用的需求。一只SoC所支持的隊(duì)列數(shù)是不定的,從數(shù)百個(gè)到數(shù)萬個(gè),可滿足各種應(yīng)用的需求。

          隊(duì)列管理器可刷新隊(duì)列的狀態(tài),即:隊(duì)列大小、頭指針、尾指針,以及起始地址,并且維護(hù)填充水平與閾值,包括全滿(full)、將滿(almoST full)、將空(almost empty)和全空(empty)。隊(duì)列管理器還為每個(gè)隊(duì)列提供完全的內(nèi)存管理,包括空閑池的緩沖分配與回收,以及當(dāng)某個(gè)隊(duì)列中增加事件時(shí)的訪問權(quán)檢查(圖2)。多個(gè)請(qǐng)求者可以同時(shí)為一個(gè)或多個(gè)隊(duì)列增加描述符,也能在等待某項(xiàng)服務(wù)的多個(gè)隊(duì)列中做出選擇。

          對(duì)于指向相同資源的多個(gè)隊(duì)列,管理器作為可用帶寬的仲裁器。此任務(wù)不僅是在共享某個(gè)資源的各應(yīng)用之間,也包括一個(gè)應(yīng)用可能必須使能QoS(服務(wù)質(zhì)量)的多個(gè)隊(duì)列之間。

          流量管理采用監(jiān)管與整形機(jī)制,測(cè)量并控制指定給某個(gè)流或一組流的帶寬數(shù)。監(jiān)管機(jī)制用于控制流量管理器為某個(gè)隊(duì)列增加事件的速率,而整形機(jī)制則是流量管理器從隊(duì)列中去除事件的速率。為了獲得最佳的控制,以及管理隊(duì)列優(yōu)先權(quán)的能力,必須在每個(gè)隊(duì)列基礎(chǔ)上實(shí)現(xiàn)監(jiān)管與整形。流量管理器亦根據(jù)一個(gè)預(yù)設(shè)的服務(wù)算法,將多個(gè)隊(duì)列映射到單一的共享資源。

          有了隊(duì)列和流量管理,就可以提供可靠的端至端QoS。這種允許多個(gè)路徑共享一個(gè)資源,而不會(huì)對(duì)帶寬的預(yù)訂產(chǎn)生負(fù)面影響。精細(xì)粒度QoS支持SLA(服務(wù)水平協(xié)議),保證了在每個(gè)流量基礎(chǔ)上的最小、平均和最大帶寬。開發(fā)人員可以實(shí)現(xiàn)隊(duì)列水平的流量標(biāo)記與度量,以防止出現(xiàn)擁塞。擁塞的早期通知使隊(duì)列管理器能夠采用正確的措施,通過向流量資源的反饋,去除對(duì)可能丟棄數(shù)據(jù)包的不必要處理,或理想情況下,能完全避免擁塞。

          舉例來說,一個(gè)隊(duì)列與流量管理的以太網(wǎng)驅(qū)動(dòng)程序能防止任何一個(gè)處理器不公平地獨(dú)占端口帶寬。它還能確保帶寬分配以及最大的延時(shí)約束,而與其它隊(duì)列狀態(tài)無關(guān)。驅(qū)動(dòng)程序支持對(duì)仲裁方法的選擇(例如:嚴(yán)格優(yōu)先級(jí)或帶權(quán)重的輪叫),有助于實(shí)現(xiàn)可靠的實(shí)時(shí)服務(wù),如視頻流。最后,多個(gè)資源還可以共享以太網(wǎng)端口,而不會(huì)對(duì)帶寬預(yù)訂產(chǎn)生負(fù)面影響。像IP(互聯(lián)網(wǎng)協(xié)議)轉(zhuǎn)發(fā)這類任務(wù)很容易可靠地實(shí)現(xiàn),而對(duì)延時(shí)敏感的應(yīng)用(如音視頻的發(fā)送)則受益于確定且可靠的端口管理。另外,當(dāng)用實(shí)現(xiàn)了隊(duì)列和流量管理時(shí),驅(qū)動(dòng)程序幾乎無需軟件開銷,就可以維持端至端的QoS。

          2 虛擬化層

          早期的多核SoC與初期的網(wǎng)絡(luò)處理器類似,都將虛擬化資源的全部工作留給了開發(fā)人員。應(yīng)用在某種程度上必須判斷出自己在與其它應(yīng)用共享某個(gè)資源。當(dāng)一個(gè)應(yīng)用使用某個(gè)共享資源時(shí),它必須以某種與其它應(yīng)用共存的方式這樣做。操作系統(tǒng)也需要支持虛擬化。

          圖2.的虛擬化卸下了應(yīng)用處理器的隊(duì)列管理負(fù)擔(dān),包括刷新隊(duì)列狀態(tài),維持填充水平和閾值,分配與重新分配緩沖區(qū),以及當(dāng)應(yīng)用要訪問某隊(duì)列時(shí),確認(rèn)其訪問權(quán)限。

          在一個(gè)傳統(tǒng)架構(gòu)中,處理器通過一個(gè)軟件層,管理著自己對(duì)共享資源的訪問(圖3a)。處理器必須知道哪個(gè)資源是可用的,以及自己可以使用它們的頻率。隨著處理數(shù)量的增加,資源共享的復(fù)雜性也在增長(zhǎng)。軟件虛擬化的一個(gè)缺點(diǎn)在于,它為數(shù)據(jù)包存儲(chǔ)以及接下來數(shù)據(jù)包獲取的每個(gè)事務(wù)都引入了一個(gè)開銷。這種開銷消耗了處理器周期,為代碼處理帶來了復(fù)雜性。它還給虛擬化軟件帶來了帶寬管理和滿足預(yù)訂保證的負(fù)擔(dān)。即使通過工具實(shí)現(xiàn)了虛擬化代碼的自動(dòng)化創(chuàng)建,開發(fā)者仍然必須在應(yīng)用交互通過虛擬化代碼時(shí),進(jìn)行查錯(cuò)調(diào)試。


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();