本發(fā)明專利技術公開了一種用于多核處理器的硬件鎖實現(xiàn)方法及裝置,方法步驟如下:1)建立與處理器核一一對應的鎖請求隊列,初始化設置各個鎖請求隊列的權值,所述鎖請求隊列按照先入先出的原則分別緩存各處理器核發(fā)送的硬件鎖訪問請求;2)選擇權值最小且請求有效的鎖請求隊列獲得服務,將鎖請求隊列的權值在獲得服務后遞增,同時從獲得服務的鎖請求隊列中選出最先進入的硬件鎖訪問請求并執(zhí)行鎖存儲空間訪問操作,然后返回應答報文;裝置包括鎖請求隊列單元、權值計數(shù)邏輯單元、最小權值判斷邏輯、隊列選擇器、硬件鎖存儲空間訪問邏輯。本發(fā)明專利技術具有能夠使各處理器核獲取硬件鎖的機會均衡、硬件實現(xiàn)代價小、擴展性好、結構簡單、易于實現(xiàn)的優(yōu)點。
【技術實現(xiàn)步驟摘要】
本專利技術涉及多核微處理器設計領域,具體涉及一種用于多核處理器的硬件鎖實現(xiàn)方法及裝置。
技術介紹
鎖同步是軟件系統(tǒng)中多個任務間廣泛使用的同步方法,而且現(xiàn)代軟件對鎖的訪問頻度很高,因此提高鎖的訪問效率,對于提高軟件性能具有較大的好處。硬件鎖通常是現(xiàn)代微處理器中提高鎖訪問效率的常用手段之一。硬件鎖通常擁有一定容量的集成在處理器內的存儲單元,訪問速度快,而且與Cache等多層次存儲系統(tǒng)隔離,因此避免了頻繁的Cache失效、替換等操作,故相比利用存儲系統(tǒng)實現(xiàn)的軟件鎖,硬件鎖擁有更高的訪問效率。硬件鎖的存儲是集中式的,在處理器中位于一個固定的位置。在現(xiàn)代多核微處理 器中,受物理布局和體系結構的限制,各個處理器核訪問硬件鎖時經(jīng)過的路徑是不同的,各個核訪問同一硬件鎖的執(zhí)行速度通常是不平衡的,這會導致硬件鎖的同步時間增長。如圖I所示,現(xiàn)有技術含有硬件鎖部件的多核處理器共有N+1個內核(Core。 CoreN),每兩個內核共用一個路由器(Router),多級路由器將所有內核連接在一起,并共享同一個硬件鎖。因為到硬件鎖的路由器級數(shù)的不同,各個內核訪問硬件鎖的延遲是不一致的,例如Core2相對于Coretl需要多經(jīng)過一級路由器才能訪問到硬件鎖,其訪問的絕對延遲必然大于Coretl,這樣的結構導致不同的處理器核之間訪問硬件鎖絕對延遲的不平衡。雖然軟件上各個核發(fā)出鎖訪問的機率相同,但是硬件上絕對訪問延遲的不同導致了鎖訪問不平衡,絕對訪問延遲短的核(如Coreci)能夠頻繁地訪問鎖,而絕對訪問延遲長的核(如CoreN)則很難獲取鎖,而鎖同步機制在各個核訪問鎖的次數(shù)均衡的情況下才能擁有最高的效率,故上述情況將導致鎖同步的時間增大,降低硬件鎖的應用效能。如何實現(xiàn)各個核對硬件鎖的訪問次數(shù)的平衡以提高鎖同步應用的性能,成為了多核微處理器設計領域關于硬件鎖設計的關鍵技術問題。
技術實現(xiàn)思路
本專利技術要解決的技術問題是提供一種能夠使各處理器核獲取硬件鎖的機會均衡、硬件實現(xiàn)代價小、擴展性好、結構簡單、易于實現(xiàn)的用于多核處理器的硬件鎖實現(xiàn)方法及裝置。為了解決上述技術問題,本專利技術采用的技術方案為 一種用于多核處理器的硬件鎖實現(xiàn)方法,其實施步驟如下 1)建立與處理器核一一對應的鎖請求隊列,初始化設置各個鎖請求隊列的權值,通過所述鎖請求隊列按照先入先出的原則分別緩存各處理器核發(fā)送的硬件鎖訪問請求; 2)獲取鎖請求隊列的最小權值,選擇最小權值對應的鎖請求隊列獲得服務,將鎖請求隊列的權值在獲得服務后遞增,同時從獲得服務的鎖請求隊列中選出最先進入的硬件鎖訪問請求執(zhí)行鎖存儲空間訪問操作并返回應答報文。作為本專利技術用于多核處理器的硬件鎖實現(xiàn)方法的進一步改進 所述步驟I)中初始化設置各個鎖請求隊列的權值的詳細步驟如下 1.1)初始化設置各個鎖請求隊列的權值計數(shù)器和權值遞增值; 1.2)將權值計數(shù)器的值初始化為權值遞增值作為鎖請求隊列的權值。所述步驟2)中獲取鎖請求隊列的最小權值具體是指采用二叉樹結構獲取鎖請求隊列的最小權值。所述采用二叉樹結構獲取鎖請求隊列的最小權值的詳細步驟如下 2.I)將各個鎖請求隊列的權值和權編號分別輸入二叉樹的末梢節(jié)點; 2.2)所述二叉樹的每一個節(jié)點將子節(jié)點輸入的權項的權值進行比較并選擇權值較小 的權項作為輸出至父節(jié)點的權項,最終由所述二叉樹的根節(jié)點將最終選擇得到的權項作為最終選擇得到的權值最小的鎖請求隊列; 2.3)選擇最小權值對應的鎖請求隊列獲得服務。所述步驟2)中將鎖請求隊列的權值在獲得服務后遞增的詳細步驟如下將有效的鎖請求隊列的權值在獲得服務后的下一個周期將權值遞增值累加到對應的權值計數(shù)器作為新的權值;同時判斷獲得服務的鎖請求隊列的權值計數(shù)器的值是否等于權值計數(shù)器的最大計數(shù)值,如果是則將所有鎖請求隊列的權值計數(shù)器初始化為權值遞增值。本專利技術還提供一種用于多核處理器的硬件鎖裝置,包括 鎖請求隊列單元,包含多個與處理器核一一對應的鎖請求隊列,所述鎖請求隊列按照先入先出的原則分別緩存各處理器核發(fā)送的硬件鎖訪問請求; 權值計數(shù)邏輯單元,用于初始化設置各個鎖請求隊列的權值,并將鎖請求隊列的權值在獲得服務后遞增; 最小權值判斷邏輯,用于獲取鎖請求隊列的最小權值; 隊列選擇器,用于選擇權值最小且請求有效的鎖請求隊列獲得服務; 硬件鎖存儲空間訪問邏輯,用于從獲得服務的鎖請求隊列中選出最先進入的硬件鎖訪問請求執(zhí)行鎖存儲空間訪問操作并返回應答報文。作為本專利技術用于多核處理器的硬件鎖裝置的進一步改進 所述權值計數(shù)邏輯單元包括與鎖請求隊列一一對應的多個權值計數(shù)邏輯,所述權值計數(shù)邏輯包括步進寄存器、加法器、第一選擇器、權值計數(shù)器、第二選擇器和比較器,所述步進寄存器用于存儲對應鎖請求隊列的權值遞增值;所述權值計數(shù)器用于存儲對應鎖請求隊列的權值;當對應鎖請求隊列的權值計數(shù)器尚未初始化或者收到全部計數(shù)器復位命令時,第一選擇器將權值遞增值寫入權值計數(shù)器作為對應鎖請求隊列的權值并通過第二選擇器輸出;當對應鎖請求隊列在上一個周期被選擇的權值最小的鎖請求隊列時,加法器將對應鎖請求隊列的權值計數(shù)器加上步進寄存器存儲的權值遞增值后寫入權值計數(shù)器作為對應鎖請求隊列的權值并通過第二選擇器輸出;對對應鎖請求隊列在上一個周期未被選擇的權值最小的鎖請求隊列時,第二選擇器直接讀取對應鎖請求隊列的權值計數(shù)器的數(shù)值作為對應鎖請求隊列的權值輸出;且所述第二選擇器在對應鎖請求隊列無效時優(yōu)先選擇權值計數(shù)器的最大計數(shù)值作為對應鎖請求隊列的權值輸出;所述比較器則在權值計數(shù)器的數(shù)值等于權值計數(shù)器的最大計數(shù)值時向各個權值計數(shù)邏輯發(fā)送全部計數(shù)器復位命令。所述最小權值判斷邏輯為二叉樹結構,所述二叉樹結構的末梢節(jié)點的輸入端分別與各個權值計數(shù)邏輯相連,所述二叉樹結構的根節(jié)點的輸出端與隊列選擇器相連,所述二叉樹結構的末梢節(jié)點分別獲取各個鎖請求隊列的權值和權編號,所述二叉樹結構的每一個節(jié)點將兩個子節(jié)點輸入的權項的權值進行比較并選擇權值較小的權項作為輸出至父節(jié)點的權項,并由所述二叉樹結構的根節(jié)點將最終選擇得到的權項作為最終選擇得到的最小權值并輸出給隊列選擇器。本專利技術用于多核處理器的硬件鎖實現(xiàn)方法具有下述優(yōu)點 I、本專利技術通過鎖請求隊列分別緩存各處理器核發(fā)送的硬件鎖訪問請求、計算每一個鎖請求隊列的權值并選擇權值最小且請求有效的鎖請求隊列,并從中選出最先進入的硬件鎖訪問請求,能夠為多核處理器中不同位置的處理器核提供基本一致的請求服務概率,能夠使各處理器核獲取硬件鎖的機會均衡,有利于提升鎖同步效率,避免了因鎖請求服務次數(shù)的不平衡而導致的同步效率低下問題,同時本實現(xiàn)方法具有硬件實現(xiàn)代價小的優(yōu)點。2、本專利技術實現(xiàn)的硬件鎖部件允許各個核訪問該部件的絕對延遲不同,但仍具有接近平衡訪問時的鎖應用效果,因此該部件在多核處理器中的物理位置是十分靈活的,并不要求處于距離各核的路徑延遲相同,而且對于各種核數(shù)的處理器均適用,具有良好的可擴展特性。3、本專利技術用于實現(xiàn)平衡訪問的邏輯結構簡單,易于實現(xiàn)。本專利技術用于多核處理器的硬件鎖裝置為與本專利技術用于多核處理器的硬件鎖實現(xiàn)方法相對應的裝置,因此與用于多核處理器的硬件鎖實現(xiàn)方法相同的技術效果,在此不再贅述。附圖說明圖I為現(xiàn)有技術包含硬件鎖的多核處理器的內部結構示意圖。圖2為本文檔來自技高網(wǎng)...
【技術保護點】
一種用于多核處理器的硬件鎖實現(xiàn)方法,其特征在于其實施步驟如下:1)建立與處理器核一一對應的鎖請求隊列,初始化設置各個鎖請求隊列的權值,通過所述鎖請求隊列按照先入先出的原則分別緩存各處理器核發(fā)送的硬件鎖訪問請求;2)獲取鎖請求隊列的最小權值,選擇最小權值對應的鎖請求隊列獲得服務,將鎖請求隊列的權值在獲得服務后遞增,同時從獲得服務的鎖請求隊列中選出最先進入的硬件鎖訪問請求并執(zhí)行鎖存儲空間訪問操作,然后返回應答報文。
【技術特征摘要】
【專利技術屬性】
技術研發(fā)人員:任巨,張明,龔銳,鄧宇,石偉,郭御風,竇強,羅莉,馬愛永,王永文,
申請(專利權)人:中國人民解放軍國防科學技術大學,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。