<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 片上嵌入式多處理器的一致性機制設計

片上嵌入式多處理器的一致性機制設計

作者: 時(shí)間:2011-07-12 來(lái)源:網(wǎng)絡(luò ) 收藏

目前,大多數高端SoC都屬于異質(zhì)芯片在單純地提高時(shí)鐘速度的方法退出主流之后,保持這種單線(xiàn)程的編程抽象,迫使通用的單工程師采用雙或四系統(coherent system)。具有豐富軟件的高性能系統也是如此,只是情況稍有不同。

本文引用地址:http://dyxdggzs.com/article/150488.htm

  這些SoC中的處理器通過(guò)非(noncoherent)共享內存,以某種形式的消息傳遞進(jìn)行通訊。在第三代蜂窩電話(huà)中,通過(guò)雙端口SRAM和中斷進(jìn)行通訊的經(jīng)典RISC/DSP組合,就是這些簡(jiǎn)單的一個(gè)很好例子。 未來(lái)的高性能SoC將是處理器的分層和異質(zhì)系統,即在層次結構中嵌入由同質(zhì)多處理器組成的處理器集群。這種轉變已經(jīng)出現在一個(gè)特定的高性能市場(chǎng)中,即以一致性網(wǎng)絡(luò )多處理器實(shí)現的聯(lián)網(wǎng)市場(chǎng)。

  目前,對于未來(lái)嵌入式芯片多處理器(CMP)的準確特性仍存在爭議。CMP是屬于異質(zhì)型,還是用同質(zhì)處理器以分層方式實(shí)現的異質(zhì)型還不明確。但對于許多CMP而言,使共享內存保持一致性至關(guān)重要。

  定義和基本概念

  對于一個(gè)帶有緩存的多內核共享內存系統而言,如果由任何處理器發(fā)布的任何“載入”操作所返回的值總是在該內存位置最新“存儲”的值,則認為該系統是緩存一致的。為了明確術(shù)語(yǔ)“最新存儲 (latest Store) ”的定義,我們需要探討一下內存模型。

  借助于順序一致性(SC)模型這個(gè)常用的內存模型進(jìn)行闡述。在SC系統中,可以根據一個(gè)并行程序的任何一次執行的結果,對在一個(gè)位置完成的所有操作(主要是“載入”和“存儲”)建立全局串行順序。因此,“一致性”意味著(zhù):(1)每個(gè)處理器發(fā)出的“載入”和“存儲”操作順序,以同樣的方式出現在該系統的全局串行順序中,該處理器按照全局串行順序把這些操作傳給內存系統;(2)在該系統中,處理器每次所讀取的操作所返回的值,就是在全局串行順序中上次寫(xiě)入到該位置的值。

  因此,術(shù)語(yǔ)“全局串行順序”是由系統實(shí)現的內存一致性模型(簡(jiǎn)稱(chēng)內存模型)的結果,在非正式場(chǎng)合中以“強”和“弱”來(lái)定義。內存模型與單處理器的指令集架構(ISA)有關(guān),ISA定義了編譯器和硬件之間的操作約定。

  ISA為多處理器系統(一般稱(chēng)為多線(xiàn)程系統)定義了程序員和內存系統之間的操作約定。因此,Java等多線(xiàn)程語(yǔ)言也明確給出了內存模型。在本文,大多數的“多處理”都可以用“多線(xiàn)程”代替。

  順序一致性(SC)、總體存儲順序(TSO)和處理器一致性(PC)是一些常用的機器級內存模型(從強到弱)。模型更強,意味著(zhù)在并行內存系統的實(shí)現器中加入了更多約束,從而簡(jiǎn)化了由并行中間件或系統庫寫(xiě)入器執行的任務(wù)。

  但從單處理器的角度來(lái)看,SC卻是內存一致性最弱的方式,因為它只提供合理的內存系統所必需的約束,而不再對內存操作進(jìn)行限制。簡(jiǎn)言之,強的內存模型確保并行內存系統在“讀出最新存儲操作返回的值”的約束基礎上,還提供其它約束,從而更有利于程序員編程。這些附加的約束通??捎糜谠诰€(xiàn)程或處理器之間形成高效的同步。

  為實(shí)現一致性,系統必須具備幾個(gè)基本特點(diǎn)。首先,在系統中的某一點(diǎn)處,向某個(gè)特定的內存位置寫(xiě)入信息的操作必須是串行化的。請注意,串行化是一個(gè)邏輯概念。對于一些探索性的高性能實(shí)現,串行化只是對于在提交(commit)階段應如何返回事務(wù)給出了一個(gè)指導性方針,它類(lèi)似于“無(wú)序”處理器,這種處理器保持一個(gè)臨時(shí)狀態(tài)和一個(gè)由提交點(diǎn)(commit point)分隔的“架構狀態(tài)”。

  一致性系統的另一個(gè)特點(diǎn)是“寫(xiě)入”傳播,它表示“寫(xiě)入”操作需要最終傳播到需要這個(gè)新值的所有代理程序(agent)。第三個(gè)重要特點(diǎn)是“寫(xiě)入”原子性,它是內存模型而不是一致性的結果,它表示在所有處理器被串行化后,需要將寫(xiě)入操作全部傳播至系統中的所有處理器。

  這里將只討論一致性協(xié)議的常見(jiàn)分類(lèi)方法。這種分類(lèi)方式基于系統中緩存的穩定狀態(tài),常見(jiàn)的狀態(tài)被稱(chēng)為“MOESI”,即修改、自有、互斥且干凈、共享且干凈,以及無(wú)效。這些術(shù)語(yǔ)的意義是自我解釋的,詳細解釋很容易在教科書(shū)中找到。

  基于狀態(tài)的協(xié)議分類(lèi)主要區分協(xié)議是基于“更新”還是基于“無(wú)效(invalidate)”。在基于“無(wú)效”的一致性協(xié)議中,系統中的一條緩存線(xiàn)僅有一個(gè)所有者,而在基于更新的系統中,所有緩存線(xiàn)的副本都是根據“寫(xiě)入”操作來(lái)更新的。串行化

  許多較老的對稱(chēng)式多處理(SMP或非CMP)系統,以總線(xiàn)廣播方式將事務(wù)廣播給系統中所有的代理程序。因此,這些代理程序可以“窺探”它們的狀態(tài),然后采取適當的動(dòng)作使數據項副本無(wú)效并對其進(jìn)行更新。這種方式在一個(gè)事務(wù)的不同階段之間的重疊是最小的,并被限制為有序串行化(管道化)。

  由于受到帶寬可擴展性、速度和總線(xiàn)可擴展性的限制,這些嚴格的監聽(tīng)總線(xiàn)逐漸演變成一些新的一致性機制。高端系統(仍與嵌入式CMP有關(guān),盡管原因并不相同)常采用基于目錄的機制。當已經(jīng)存在低級別的多處理時(shí),通常優(yōu)先采納監聽(tīng)“虛擬總線(xiàn)”機制。

  監聽(tīng)虛擬總線(xiàn)串行化使用樹(shù)型開(kāi)關(guān)或層次環(huán)等專(zhuān)用的更高性能互連架構,特別是在事務(wù)的請求階段。在這些系統中,互連負責建立全局串行順序,同時(shí)從受限的、基于物理總線(xiàn)的互連轉換到更高性能(如串行)的點(diǎn)到點(diǎn)信令鏈路。

  另一方面,基于目錄的機制在一個(gè)稱(chēng)為目錄的新結構上完成串行化。這個(gè)目錄通常駐留在內存模塊中,用來(lái)存儲系統中各種緩存行的狀態(tài)。一般而言,這些系統與監聽(tīng)總線(xiàn)機制(虛擬或其它形式)相比,其在串行化和有序化方面對網(wǎng)絡(luò )的依賴(lài)程度大大降低。由于目錄機制不廣播消息的數目,所以它們可用在非常大的系統中。

  影響片上嵌入式多處理器一致性的另一個(gè)趨勢是,為降低復雜性,帶有多個(gè)處理器的下一代SoC將把通訊與計算分開(kāi)。這種趨勢已經(jīng)促使了基于網(wǎng)絡(luò )級芯片(NoC)的方法學(xué)的誕生,以及從電路交換NoC向分組交換NoC的轉移。任何一種片上嵌入式多處理器的一致性機制都需要關(guān)注深亞微米SoC中的這個(gè)重要變化,并在分組交換網(wǎng)絡(luò )底層上對一致性協(xié)議進(jìn)行分層。

  嵌入式SoC帶來(lái)了成本、功耗、實(shí)時(shí)操作、知識產(chǎn)權(IP)所有權以及異質(zhì)處理器等一系列問(wèn)題,因此,選擇嵌入式SoC的一致性機制與通用SoC有所不同。系統功耗低,系統成本就低,而系統成本是SoC的一個(gè)敏感因素。此外,如果SoC用于移動(dòng)應用,低功耗要求的確是必需的。

  正像緩存進(jìn)入DSP領(lǐng)域需要一個(gè)過(guò)程一樣(周期準確的處理器和系統仿真器是加快這個(gè)轉變過(guò)程的關(guān)鍵工具),一致性也是如此。為將軟件移植到實(shí)時(shí)系統中,一致性/SoC設計工程師必須確保有周期足夠準確且快速的仿真器可用于應用程序/中間件端口。這個(gè)問(wèn)題在高性能嵌入式SoC中更加嚴重,因為與通用多處理器相比,程序員需要更多地接觸硬件。對于通用多處理器,僅是有限的“系統”(中間件、庫和操作系統)程序員需要接觸到這個(gè)接口。

  IP所有權是嵌入式SoC的一個(gè)特點(diǎn)。大多數通用CMP供應商的設計,在內存級(與一致性相關(guān)的級別)未采用任何外部IP。但對嵌入式SoC的積分器來(lái)說(shuō),外部IP的使用非常普遍。甚至連許多高性能嵌入式SoC中的互連(如OCP-IP),也是外部IP供應商提供的一個(gè)IP模塊。此外,高性能嵌入式SoC有時(shí)也會(huì )受益于以一致性方式共享相同內存的異質(zhì)ISA內核,例如一個(gè)RISC內核和一個(gè)DSP。

  從這些趨勢來(lái)看,監聽(tīng)虛擬總線(xiàn)一致性機制與CMP的相關(guān)性是顯而易見(jiàn)的:有限的可擴展性、大量的片上帶寬、點(diǎn)到點(diǎn)信令、更低開(kāi)銷(xiāo)和更低延遲。但有趣的是,通常認為僅適用于大型服務(wù)器級機器的目錄機制,經(jīng)過(guò)適當修改后也適用于嵌入式SoC,這是因為目錄機制可以與無(wú)序互連、異質(zhì)ISA、低功率單播事務(wù)等協(xié)同工作。

  第一代嵌入式CMP或許只能采用監聽(tīng)虛擬總線(xiàn)機制,但預計混合型監聽(tīng)目錄機制可能成為實(shí)現嵌入式一致性的新趨勢,這是因為設計工程師將開(kāi)始意識到目錄機制的模塊化所帶來(lái)的好處。

  死鎖/活鎖

  除了選擇串行化方法和一致性協(xié)議的類(lèi)型之外,在給定的有限資源/緩存情況下,緩存一致性協(xié)議設計工程師必須保證該協(xié)議是無(wú)死鎖和無(wú)活鎖的。對于基于互連的分組交換型一致性協(xié)議,這點(diǎn)尤其重要。

  這里存在兩類(lèi)死鎖,即互連死鎖和協(xié)議死鎖。這兩種死鎖通常都是由于分組交換互連中的緩沖區限制引起的。在設計一致性協(xié)議時(shí),應該仔細考慮協(xié)議死鎖(圖3a)。防止死鎖的常用機制包括:將事務(wù)的請求路徑與回復/響應路徑分開(kāi)(圖3b);保證在任何狀態(tài)下緩存或內存代理程序都對請求給出響應。

  如圖3b所示,設計工程師通常使用虛擬通道來(lái)完成上述第一個(gè)機制。在任何虛擬通道中流動(dòng)的事務(wù)都遵循先進(jìn)先出(FIFO)順序,而且信息流中的阻塞事件可引起一個(gè)能一直追溯到阻塞根源的背壓(backpressure)流控。因此,只要(事務(wù))接收器(sink)在向前移動(dòng)(forward progress),系統就不會(huì )阻塞。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>