新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在嵌入式多核集群中利用OCP處理高速緩沖器一致流量

在嵌入式多核集群中利用OCP處理高速緩沖器一致流量

—— Leveraging OCP for Cache Coherent Traffic within an Embedded Multi-core Cluster
作者:Matthias Knoth MIPS科技公司 時(shí)間:2008-08-14 來(lái)源:電子產(chǎn)品世界 收藏

摘要:隨著處理性能的提升超出了單核系統(tǒng)的頻率和功率范圍,導(dǎo)致了集群的出現(xiàn)。MIPS科技的MIPS32 系統(tǒng)(CPS)采用開(kāi)放內(nèi)核協(xié)議()點(diǎn)對(duì)點(diǎn)連接,可在整個(gè)集群中建立基于偵聽(tīng)的一致性。本文詳細(xì)介紹這種通信模型的原理。

本文引用地址:http://m.butianyuan.cn/article/86946.htm

關(guān)鍵詞:;;;;

  Matthias Knoth:設(shè)計(jì)工程師,負(fù)責(zé)低功耗、微架構(gòu)和處理器方案。

源于一種基于消息的存儲(chǔ)一致模型

  傳統(tǒng)上,多處理器系統(tǒng)中的存儲(chǔ)器一致性都是通過(guò)總線偵聽(tīng)實(shí)現(xiàn)的,每個(gè)內(nèi)核都與一個(gè)通用多層總線連接,能夠偵聽(tīng)同級(jí)處理器的存儲(chǔ)器存取流量,以調(diào)節(jié)每個(gè)高速緩沖器行的一致?tīng)顟B(tài)。這樣,每個(gè)內(nèi)核都在本地保持了L1高速緩沖器行的一致?tīng)顟B(tài),并通過(guò)通用總線將狀態(tài)的改變通知同級(jí)處理器。

  不斷增加的面積和復(fù)雜性導(dǎo)致了多層總線基本哲學(xué)的改變,以利于采用集中流量路由的本地點(diǎn)對(duì)點(diǎn)連接。由于負(fù)載的減少和段長(zhǎng)的縮短,這將有助于顯著加速和推動(dòng)現(xiàn)在的本地化總線段的改善。同時(shí),也可以緩解總線爭(zhēng)用問(wèn)題,同時(shí)增加了本地化數(shù)據(jù)交換吞吐量。為了滿足這一系統(tǒng)架構(gòu)趨勢(shì),出現(xiàn)了(開(kāi)放內(nèi)核協(xié)議)標(biāo)準(zhǔn),進(jìn)一步鞏固了這一設(shè)計(jì)哲學(xué)。另外,IP供應(yīng)商業(yè)務(wù)模式的出現(xiàn)催化了IP互連和設(shè)計(jì)方法的標(biāo)準(zhǔn)化,有利于在一個(gè)開(kāi)放標(biāo)準(zhǔn)基礎(chǔ)上實(shí)現(xiàn)設(shè)計(jì)的復(fù)用。

  然而,與通過(guò)OCP互連段操控一樣,本地化總線執(zhí)行將整個(gè)集群上的處理器分拆開(kāi)。一致方案不能直接基于總線偵聽(tīng)和依賴總線仲裁來(lái)確保存取排序,需要不同的通信方法來(lái)確保數(shù)據(jù)存取的一致性。在爭(zhēng)用L1行數(shù)據(jù)請(qǐng)求排序的過(guò)程中,其他挑戰(zhàn)也浮現(xiàn)出來(lái)。應(yīng)對(duì)這些挑戰(zhàn)的一種方法是給每個(gè)處理單元增加一致消息通信,如圖1所示。這些消息提供了偵聽(tīng)型緩沖器一致的方法。


圖 1  系統(tǒng)

  一致消息包含了OCP協(xié)議中的一個(gè)新命令。處理器系統(tǒng)中的成員向一個(gè)集中一致管理器發(fā)送一致消息。該管理器提供存取排序(順序化)和消息路由,為同級(jí)成員提供偵聽(tīng)型存取。這些同級(jí)成員將以其單獨(dú)的L1行狀態(tài)進(jìn)行響應(yīng),并發(fā)出一個(gè)消息響應(yīng)。根據(jù)這些響應(yīng),一致管理器發(fā)起對(duì)內(nèi)核間一致數(shù)據(jù)的數(shù)據(jù)移動(dòng),將存取集中在更高級(jí)別的存儲(chǔ)器層,如L2和L3高速緩沖器。I/O一致單元還可提供一種方式逐漸采用/逐漸淘汰數(shù)據(jù)進(jìn)/出一致地址空間的數(shù)據(jù),它是一致消息交換的一部分。

  除了OCP協(xié)議中的新消息類(lèi)命令外,還需要具體的處理器響應(yīng)一致?tīng)顟B(tài)請(qǐng)求,因此它們不只是總線處理的發(fā)動(dòng)者(主控)。一致處理系統(tǒng)滿足這一要求的方法可能是通過(guò)提供一個(gè)OCP從端口來(lái)接收和響應(yīng)一致管理器發(fā)送的消息。處理器的一致請(qǐng)求將利用OCP主端口。在處理集群內(nèi),內(nèi)核間和一致管理器之間的一致消息交換被稱為“干預(yù)”。處理器的OCP從端口接收干預(yù),因此稱為“干預(yù)端口”。

  如圖1所示,1004K系統(tǒng)的每個(gè)獨(dú)立處理器都是基于我們多線程處理器架構(gòu)的,可以在單標(biāo)量、9級(jí)流水線范圍內(nèi)提供兩個(gè)獨(dú)立線程并處理上下文。復(fù)制的1級(jí)數(shù)據(jù)高速緩沖器標(biāo)記陣列可同時(shí)用于存取CPU操作和干預(yù)查尋。一致處理系統(tǒng)可支持MESI型高速緩沖器行一致性。

  處理系統(tǒng)一致管理器通過(guò)其請(qǐng)求單元—OCP從端口,在每個(gè)CPU和I/O一致單元的推動(dòng)下,接收進(jìn)入的消息并對(duì)其進(jìn)行串化。串化的消息按照其地址空間和上下文,或使用“存儲(chǔ)器接口單元”發(fā)送到更高級(jí)別的高速緩沖器層,或使用“偵聽(tīng)代理”發(fā)送至同級(jí)處理器和I/O一致單元。偵聽(tīng)代理發(fā)起OCP主處理(干預(yù))來(lái)查尋每個(gè)處理器的一致L1高速緩沖器行狀態(tài)。干預(yù)返回到消息發(fā)起者,稱為自我干預(yù),有助于發(fā)起者提供存取排序。對(duì) CPU 發(fā)起的一致消息響應(yīng)和數(shù)據(jù)響應(yīng)是在“響應(yīng)單元”內(nèi)確立的,并發(fā)送到每個(gè) CPU。

一致OCP命令

  在1004K CPS中使用的OCP命令可以分成三類(lèi)。

  第一類(lèi)是保持MESI型高速緩沖器行狀態(tài)的一致消息。它們是CPU負(fù)載/存儲(chǔ)操作的結(jié)果,能夠發(fā)起CPU和/或存儲(chǔ)器子系統(tǒng)之間的數(shù)據(jù)移動(dòng)。CPS(一致處理系統(tǒng))的所有同級(jí)CPU將接收由一個(gè)發(fā)起者發(fā)送的一致消息,并根據(jù)它們的高速緩沖器行一致?tīng)顟B(tài)做出響應(yīng)。一致管理器將根據(jù)需要發(fā)起數(shù)據(jù)移動(dòng)。

  一致高速緩沖器操作指令用于一致地址空間內(nèi)高速緩沖器行的維護(hù)。I/O流量將新的一致行帶入該域,或?qū)⒁恢律舷挛膹母咚倬彌_器行中移除。另外,還要進(jìn)行存儲(chǔ)器層的同步化操作。

  第三類(lèi)是非一致命令,在一致地址空間外的存儲(chǔ)區(qū)中執(zhí)行OCP主端口處理。它們代表了OCP讀寫(xiě)命令。

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

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

評(píng)論


相關(guān)推薦

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

關(guān)閉