在嵌入式多核集群中利用OCP處理高速緩沖器一致流量
摘要:隨著(zhù)處理性能的提升超出了單核系統的頻率和功率范圍,導致了多核集群的出現。MIPS科技的MIPS32 1004K一致處理系統(CPS)采用開(kāi)放內核協(xié)議(OCP)點(diǎn)對點(diǎn)連接,可在整個(gè)集群中建立基于偵聽(tīng)的一致性。本文詳細介紹這種通信模型的原理。
本文引用地址:http://dyxdggzs.com/article/86946.htm關(guān)鍵詞:1004K;OCP;一致處理;高速緩沖器一致;多核
Matthias Knoth:設計工程師,負責低功耗、微架構和1004K處理器方案。
源于一種基于消息的存儲一致模型
傳統上,多處理器系統中的存儲器一致性都是通過(guò)總線(xiàn)偵聽(tīng)實(shí)現的,每個(gè)內核都與一個(gè)通用多層總線(xiàn)連接,能夠偵聽(tīng)同級處理器的存儲器存取流量,以調節每個(gè)高速緩沖器行的一致?tīng)顟B(tài)。這樣,每個(gè)內核都在本地保持了L1高速緩沖器行的一致?tīng)顟B(tài),并通過(guò)通用總線(xiàn)將狀態(tài)的改變通知同級處理器。
SoC不斷增加的面積和復雜性導致了多層總線(xiàn)基本哲學(xué)的改變,以利于采用集中流量路由的本地點(diǎn)對點(diǎn)連接。由于負載的減少和段長(cháng)的縮短,這將有助于顯著(zhù)加速和推動(dòng)現在的本地化總線(xiàn)段的改善。同時(shí),也可以緩解總線(xiàn)爭用問(wèn)題,同時(shí)增加了本地化數據交換吞吐量。為了滿(mǎn)足這一系統架構趨勢,出現了OCP(開(kāi)放內核協(xié)議)標準,進(jìn)一步鞏固了這一設計哲學(xué)。另外,IP供應商業(yè)務(wù)模式的出現催化了IP互連和設計方法的標準化,有利于在一個(gè)開(kāi)放標準基礎上實(shí)現設計的復用。
然而,與通過(guò)OCP互連段操控一樣,本地化總線(xiàn)執行將整個(gè)多核集群上的處理器分拆開(kāi)。一致方案不能直接基于總線(xiàn)偵聽(tīng)和依賴(lài)總線(xiàn)仲裁來(lái)確保存取排序,需要不同的通信方法來(lái)確保數據存取的一致性。在爭用L1行數據請求排序的過(guò)程中,其他挑戰也浮現出來(lái)。應對這些挑戰的一種方法是給每個(gè)處理單元增加一致消息通信,如圖1所示。這些消息提供了偵聽(tīng)型緩沖器一致的方法。
圖 1 一致處理系統
一致消息包含了OCP協(xié)議中的一個(gè)新命令。處理器系統中的成員向一個(gè)集中一致管理器發(fā)送一致消息。該管理器提供存取排序(順序化)和消息路由,為同級成員提供偵聽(tīng)型存取。這些同級成員將以其單獨的L1行狀態(tài)進(jìn)行響應,并發(fā)出一個(gè)消息響應。根據這些響應,一致管理器發(fā)起對內核間一致數據的數據移動(dòng),將存取集中在更高級別的存儲器層,如L2和L3高速緩沖器。I/O一致單元還可提供一種方式逐漸采用/逐漸淘汰數據進(jìn)/出一致地址空間的數據,它是一致消息交換的一部分。
除了OCP協(xié)議中的新消息類(lèi)命令外,還需要具體的處理器響應一致?tīng)顟B(tài)請求,因此它們不只是總線(xiàn)處理的發(fā)動(dòng)者(主控)。一致處理系統滿(mǎn)足這一要求的方法可能是通過(guò)提供一個(gè)OCP從端口來(lái)接收和響應一致管理器發(fā)送的消息。處理器的一致請求將利用OCP主端口。在處理集群內,內核間和一致管理器之間的一致消息交換被稱(chēng)為“干預”。處理器的OCP從端口接收干預,因此稱(chēng)為“干預端口”。
如圖1所示,1004K系統的每個(gè)獨立處理器都是基于我們多線(xiàn)程處理器架構的,可以在單標量、9級流水線(xiàn)范圍內提供兩個(gè)獨立線(xiàn)程并處理上下文。復制的1級數據高速緩沖器標記陣列可同時(shí)用于存取CPU操作和干預查尋。一致處理系統可支持MESI型高速緩沖器行一致性。
處理系統一致管理器通過(guò)其請求單元—OCP從端口,在每個(gè)CPU和I/O一致單元的推動(dòng)下,接收進(jìn)入的消息并對其進(jìn)行串化。串化的消息按照其地址空間和上下文,或使用“存儲器接口單元”發(fā)送到更高級別的高速緩沖器層,或使用“偵聽(tīng)代理”發(fā)送至同級處理器和I/O一致單元。偵聽(tīng)代理發(fā)起OCP主處理(干預)來(lái)查尋每個(gè)處理器的一致L1高速緩沖器行狀態(tài)。干預返回到消息發(fā)起者,稱(chēng)為自我干預,有助于發(fā)起者提供存取排序。對 CPU 發(fā)起的一致消息響應和數據響應是在“響應單元”內確立的,并發(fā)送到每個(gè) CPU。
一致OCP命令
在1004K CPS中使用的OCP命令可以分成三類(lèi)。
第一類(lèi)是保持MESI型高速緩沖器行狀態(tài)的一致消息。它們是CPU負載/存儲操作的結果,能夠發(fā)起CPU和/或存儲器子系統之間的數據移動(dòng)。CPS(一致處理系統)的所有同級CPU將接收由一個(gè)發(fā)起者發(fā)送的一致消息,并根據它們的高速緩沖器行一致?tīng)顟B(tài)做出響應。一致管理器將根據需要發(fā)起數據移動(dòng)。
一致高速緩沖器操作指令用于一致地址空間內高速緩沖器行的維護。I/O流量將新的一致行帶入該域,或將一致上下文從高速緩沖器行中移除。另外,還要進(jìn)行存儲器層的同步化操作。
第三類(lèi)是非一致命令,在一致地址空間外的存儲區中執行OCP主端口處理。它們代表了OCP讀寫(xiě)命令。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論