欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多處理器系統(tǒng)的同步方法及其同步裝置制造方法

文檔序號:6621363閱讀:263來源:國知局
多處理器系統(tǒng)的同步方法及其同步裝置制造方法
【專利摘要】本發(fā)明涉及一種多處理器系統(tǒng)的同步方法,包括硬件鎖的申請與管理步驟、操作步驟、釋放步驟及發(fā)送步驟。在硬件鎖的申請與管理步驟中,通過同步管理裝置對硬件鎖進行管理與分配,處理器不再對硬件鎖進行輪詢,提高多處理器系統(tǒng)處理事務的效率;硬件鎖處于可用狀態(tài)時,在處理器訪問之后,其狀態(tài)自動轉(zhuǎn)變?yōu)殒i定狀態(tài),同時該處理器獲得該硬件鎖,在完成同步操作后,將該硬件鎖的狀態(tài)置為可用狀態(tài),從而減少處理器與硬件鎖之間的通信次數(shù),提高多處理器系統(tǒng)處理事務的效率。此外,本發(fā)明還提供一種多處理器系統(tǒng)的同步管理裝置。
【專利說明】多處理器系統(tǒng)的同步方法及其同步裝置

【技術領域】
[0001] 本發(fā)明涉及計算機【技術領域】,特別涉及一種多處理器系統(tǒng)的同步方法及其同步裝 置。

【背景技術】
[0002] 在多處理器系統(tǒng)中,處理器通常需要進行訪問共享資源或進行同步互斥操作等同 步操作,需要使用硬件鎖對共享資源進行保護,以保證共享資源在同一時刻只能被一個處 理器訪問。
[0003] 在傳統(tǒng)多處理器系統(tǒng)中,當處理器需要使用一個硬件鎖時,處理器就會去輪詢該 硬件鎖,當發(fā)現(xiàn)該硬件鎖處于"可用狀態(tài)〇"時,就將其狀態(tài)置為"鎖定狀態(tài)1",同時獲得 該硬件鎖;如果發(fā)現(xiàn)該硬件鎖處于"鎖定狀態(tài)1"時,就隔一段時間再來查詢這個硬件鎖的 狀態(tài),即不斷地對該硬件鎖進行輪詢。在這種同步機制中,處理器對于硬件鎖不斷地進行 輪詢,操作步驟多,導致多處理器系統(tǒng)處理事務的效率降低,同時處理器對硬件鎖的操作為 "讀-改-寫"原子操作,與硬件鎖之間進行三個來回的通信,也降低多處理器系統(tǒng)處理事務 的效率。


【發(fā)明內(nèi)容】

[0004] 本發(fā)明的主要目的是提供一種多處理器系統(tǒng)的同步方法,旨在提高多處理器系統(tǒng) 處理事務的效率。
[0005] 本方明的另一目的是提供一種多處理器系統(tǒng)的同步裝置,旨在提高多處理器系統(tǒng) 處理事務的效率。
[0006] 為了實現(xiàn)上述主要目的,本發(fā)明提供的多處理器系統(tǒng)的同步方法,該多處理器系 統(tǒng)至少包括兩個處理器,該同步方法包括:硬件鎖的申請與管理步驟,同步管理裝置在接收 到處理器向其發(fā)送申請硬件鎖的請求后,檢查與該硬件鎖對應的申請記錄中是否有其他處 理器申請該硬件鎖的請求;如果沒有,向該處理器發(fā)送確認信息;否則將該處理器的請求 記錄于申請記錄中并向其發(fā)送無鎖信息;操作步驟,申請硬件鎖的處理器在接收到確認信 息后,讀取該硬件鎖的狀態(tài),若該硬件鎖處于可用狀態(tài),該硬件鎖的狀態(tài)自動從可用狀態(tài)轉(zhuǎn) 為鎖定狀態(tài),申請該硬件鎖的處理器獲得該硬件鎖并進行同步操作;釋放步驟,當申請硬件 鎖的處理器完成同步操作后,將占用的硬件鎖的狀態(tài)置為可用狀態(tài)并釋放該硬件鎖,同時 向同步管理裝置發(fā)送硬件鎖釋放的信息;發(fā)送步驟,同步管理裝置在接收到硬件鎖釋放的 信息后,向申請記錄中申請該硬件鎖的處理器發(fā)送硬件鎖釋放的信息,并將對應的申請記 錄清零。
[0007] 由以上方案可見,由于通過同步管理裝置對硬件鎖進行管理與分配,處理器不再 對硬件鎖進行輪詢,提高多處理器系統(tǒng)處理事務的效率;此外,如果硬件鎖處于"可用狀態(tài) 0 "時,在處理器訪問之后,其狀態(tài)自動轉(zhuǎn)變?yōu)?鎖定狀態(tài)1",同時該處理器獲得該硬件鎖,在 完成同步操作后,將該硬件鎖的狀態(tài)置為"可用狀態(tài)〇",與現(xiàn)有"讀-改-寫"原子操作相 t匕,其只需"讀-寫"原子操作,減少處理器與硬件鎖之間的通信次數(shù),提高多處理器系統(tǒng)處 理事務的效率。
[0008] 具體的方案為,在上述操作步驟中,如果硬件鎖處于鎖定狀態(tài),申請硬件鎖的處理 器向同步管理裝置發(fā)送排隊信息,同步管理裝置在接收到處理器發(fā)送的排隊信息后,將該 處理器的請求記錄于對應硬件鎖的申請記錄中。
[0009] 由以上方案可見,處理器訪問硬件鎖后,發(fā)現(xiàn)該硬件鎖處于"鎖定狀態(tài)1"時,通過 向同步管理裝置發(fā)送排隊信息,從將對硬件鎖的等待操作移交給同步管理裝置,可以進行 其他操作,無需進行輪詢,提高多處理器系統(tǒng)處理事務的效率。
[0010] 更具體的方案為,在上述操作步驟中,申請硬件鎖的處理器在向同步管理裝置發(fā) 送排隊信息后,進行處理事務隊列中的待處理事務,在接收到同步管理裝置發(fā)送的硬件鎖 釋放信息并處理完畢當前事務后,再次向同步管理裝置發(fā)送申請該硬件鎖的請求。
[0011] 由以上方案可見,這些發(fā)送排隊信息的處理器通過處理事務隊列中的待處理事 務,從而提高多處理器系統(tǒng)處理事務的效率,并等待同步管理裝置對硬件鎖的監(jiān)控信息,再 進行下一次申請該硬件鎖。
[0012] 優(yōu)選的方案為,在上述操作步驟中,申請硬件鎖的處理器在接收到無鎖信息后,進 行處理事務隊列中的待處理事務,在接收到同步管理裝置發(fā)送的硬件鎖釋放的信息并處理 完畢當前事務后,再次向同步管理裝置發(fā)送申請該硬件鎖的請求。
[0013] 由以上方案可見,這些收到無鎖信息的處理器通過處理后一待處理事務,從而提 高多處理器系統(tǒng)處理事務的效率,并等待同步管理裝置對硬件鎖的監(jiān)控信息,再進行下一 次申請該硬件鎖。
[0014] 更優(yōu)選的方案為,上述硬件鎖包括觸發(fā)器、與門及非門;觸發(fā)器的輸出端連接至非 門的輸入端,非門的輸出端連接至與門的第一輸入端,與門的輸出端及時鐘信號的輸出端 分別連接至觸發(fā)器的兩個輸入端;申請硬件鎖的處理器讀取硬件鎖的狀態(tài)的動作是通過與 門的第二輸入端向硬件鎖發(fā)送讀取信號并從觸發(fā)器的輸出端讀取硬件鎖的狀態(tài)信號;處理 器完成同步操作后,將硬件鎖的狀態(tài)置為可用狀態(tài)的操作是通過觸發(fā)器的重置輸入端觸發(fā) 觸發(fā)器狀態(tài)翻轉(zhuǎn);觸發(fā)器為電平觸發(fā)器或邊沿觸發(fā)器。
[0015] 由以上方案可見,該硬件鎖在處理器訪問之后,可以自動的從"可用狀態(tài)0"轉(zhuǎn)變?yōu)?"鎖定狀態(tài)1",從而實現(xiàn)處理器只需進行"讀-寫"原子操作,提高多處理器系統(tǒng)處理事務的 效率。
[0016] 為了實現(xiàn)上述另一目的,本發(fā)明提供的多處理器系統(tǒng)的同步裝置,該多處理器系 統(tǒng)包括至少兩個處理器,該同步裝置包括:同步管理模塊,用于在接收到處理器向其發(fā)送申 請硬件鎖的請求后,檢查與該硬件鎖對應的申請記錄中是否有其他處理器申請該硬件鎖的 請求,如果沒有,向該處理器發(fā)送確認信息,否則將該處理器的請求記錄于申請記錄中并向 其發(fā)送無鎖信息;并且,在接收到處理器向同步管理模塊發(fā)送硬件鎖釋放的信息后,向該硬 件鎖對應的申請記錄中申請該硬件鎖的處理器發(fā)送硬件鎖釋放的信息,并將對應的申請記 錄清零;第一判斷模塊,用于申請硬件鎖的處理器在接收到確認信息后,讀取該硬件鎖的狀 態(tài),判斷該硬件鎖是處于可用狀態(tài)還是鎖定狀態(tài);第一操作模塊,用于第一判斷模塊判斷出 硬件鎖是處于可用狀態(tài)時,該硬件鎖的狀態(tài)自動從可用狀態(tài)轉(zhuǎn)為鎖定狀態(tài),申請該硬件鎖 的處理器獲得該硬件鎖并進行同步操作;釋放模塊,用于當申請硬件鎖的處理器完成同步 操作后,將占用的硬件鎖的狀態(tài)置為可用狀態(tài)并釋放,同時向同步管理模塊發(fā)送硬件鎖釋 放的信息。
[0017] 具體的方案為,上述多處理器系統(tǒng)的同步裝置還包括第二操作模塊,用于第一判 斷模塊判斷出該硬件鎖處于鎖定狀態(tài)時,申請硬件鎖的處理器向同步管理模塊發(fā)送排隊信 息;同步管理模塊用于在接收到處理器發(fā)送的排隊信息后,將該處理器的請求記錄于對應 硬件鎖的申請記錄中。
[0018] 更具體的方案為,上述多處理器系統(tǒng)的同步裝置還包括第三操作模塊、第二判斷 模塊及第四操作模塊;其中,第三操作模塊用于申請硬件鎖的處理器向同步管理裝置發(fā)送 排隊信息后,進行處理事務隊列中的待處理事務;第二判斷模塊用于處理器接收到同步管 理模塊發(fā)送的硬件鎖釋放的信息后,判斷該處理器是否處理完畢當前事務;第四操作模塊 用于第二判斷模塊判斷出處理器處理完畢當前事務后,再次向同步管理裝置發(fā)送申請硬件 鎖的請求。
[0019] 優(yōu)選的方案為上述多處理器系統(tǒng)的同步裝置還包括第五操作模塊、第三判斷模塊 及第六操作模塊;其中,第五操作模塊用于處理器接收同步管理模塊發(fā)送的無鎖信息后,進 行處理事務隊列中的待處理事務;第三判斷模塊用于處理器接收到同步管理模塊發(fā)送的硬 件鎖釋放的信息后,判斷是否處理完畢當前事務;第六操作模塊用于第三判斷模塊判斷出 處理器處理完畢當前事務后,再次向同步管理模塊發(fā)送申請硬件鎖的請求。
[0020] 更優(yōu)選的方案為,上述硬件鎖包括觸發(fā)器、與門及非門;觸發(fā)器的輸出端連接至非 門的輸入端,非門的輸出端連接至與門的第一輸入端,與門的輸出端及時鐘信號的輸出端 分別連接至觸發(fā)器的兩個輸入端;申請硬件鎖的處理器讀取硬件鎖的狀態(tài)的動作是通過與 門的另第二入端向硬件鎖發(fā)送讀取信號并從觸發(fā)器的輸出端讀取硬件鎖的狀態(tài)信號;處理 器完成同步操作后,將硬件鎖的狀態(tài)置為可用狀態(tài)的操作是通過觸發(fā)器的重置輸入端觸發(fā) 觸發(fā)器狀態(tài)翻轉(zhuǎn);觸發(fā)器為電平觸發(fā)器或邊沿觸發(fā)器。

【專利附圖】

【附圖說明】
[0021] 圖1是本發(fā)明多處理器系統(tǒng)的同步方法實施例的工作流程圖; 圖2是本發(fā)明多處理器系統(tǒng)的同步裝置實施例的結構框圖; 圖3是本發(fā)明多處理器系統(tǒng)的同步裝置實施例中硬件鎖的電原理圖; 圖4是圖3中時鐘信號CP、讀取信號In、硬件鎖狀態(tài)信號Out、設置信號S及重置信號 R的電壓信號波形圖; 圖5是圖3硬件鎖的狀態(tài)翻轉(zhuǎn)示意圖。
[0022] 以下結合附圖及具體實施例對本發(fā)明作進一步的說明。

【具體實施方式】
[0023] 多處理系統(tǒng)的同步方法實施例 參見圖1,本多處理器系統(tǒng)的同步方法由申請步驟S11,判斷步驟S12、分配步驟S13、第 一判斷步驟S14、處理步驟S15、第二判斷步驟S16、操作步驟S17、釋放步驟S18及開中斷步 驟S19構成。
[0024] 申請步驟S11,申請硬件鎖的處理器關閉本地中斷,并向同步管理裝置發(fā)送申請硬 件鎖的請求,跳至判斷步驟S12。
[0025] 判斷步驟S12,判斷同步管理裝置中被申請的硬件鎖對應的排隊記錄中是否有處 理器排隊記錄,若有,向處理器發(fā)送無鎖信息并跳至開中斷步驟S19,若沒有,跳至分配步驟 S13。
[0026] 分配步驟S13,同步管理裝置向處理器發(fā)送確認信息,跳至第一判斷步驟S14。
[0027] 第一判斷步驟S14,處理器讀取硬件鎖的狀態(tài),若為"可用狀態(tài)0",跳至第一操作 步驟S17,若為"鎖定狀態(tài)1",向同步管理裝置發(fā)送申請硬件鎖的排隊信息并跳至處理步驟 S15。
[0028] 處理步驟S15,開啟處理器本地中斷,處理器進行事務隊列中的待處理事務的處 理,處理完畢當前事務后,跳至第二判斷步驟S16。
[0029] 第二判斷步驟S16,判斷是否收到同步管理裝置發(fā)送的硬件鎖釋放的信息,若接收 至IJ,跳至申請步驟S11,若沒有收到,跳至處理步驟S15。
[0030] 第一操作步驟S17,訪問共享資源或進行同步互斥操作,跳至釋放步驟S18。
[0031] 釋放步驟S18,通過寫將硬件鎖的狀態(tài)置為"可用狀態(tài)0"并將硬件鎖釋放,跳至 開中斷步驟S19。
[0032] 開中斷步驟S19,開啟該處理器的本地中斷,處理器進行事務隊列中的待處理事務 的處理,處理完畢當前事務并接收到同步管理裝置發(fā)送的硬件鎖釋放的信息后,跳至申請 步驟S11。
[0033] 多處理器系統(tǒng)的同步裝置實施例 參見圖2,本發(fā)明的同步裝置1由同步管理模塊11、第一判斷模塊12、第一操作模塊 13、釋放模塊14、第二操作模塊15構成、第三操作模塊16、第二判斷模塊17、第四操作模塊 18、第五操作模塊19、第三判斷模塊101及第六操作模塊102構成。
[0034] 同步管理模塊11用于在接收到處理器向其發(fā)送申請硬件鎖的請求后,檢查與該 硬件鎖對應的申請記錄中是否有其他處理器申請該硬件鎖的請求,如果沒有,向該處理器 發(fā)送確認信息,否則將該處理器的請求記錄于申請記錄中并向其發(fā)送無鎖信息。同步管理 模塊11還用于在接收到處理器向其發(fā)送硬件鎖釋放的信息后,向該硬件鎖對應的申請記 錄中申請該硬件鎖的處理器發(fā)送硬件鎖釋放的信息,并將對應的申請記錄清零。同步管理 模塊11還用于在接收到處理器發(fā)送的排隊信息后,將該處理器的請求記錄于對應硬件鎖 的申請記錄中。
[0035] 第一判斷模塊12用于申請硬件鎖的處理器在接收到確認信息后,讀取該硬件鎖 的狀態(tài),判斷該硬件鎖是處于"可用狀態(tài)〇"還是"鎖定狀態(tài)1"。
[0036] 第一操作模塊13用于第一判斷模塊判斷出硬件鎖是處于"可用狀態(tài)0"時,該硬件 鎖的狀態(tài)自動從"可用狀態(tài)〇"轉(zhuǎn)為"鎖定狀態(tài)1",申請該硬件鎖的處理器獲得該硬件鎖并 進行同步操作。
[0037] 釋放模塊14用于當申請硬件鎖的處理器完成同步操作后,將占用的硬件鎖的狀 態(tài)置為"可用狀態(tài)〇"并釋放,同時向同步管理模塊發(fā)送硬件鎖釋放的信息。
[0038] 第二操作模塊15用于第一判斷模塊判斷出該硬件鎖處于"鎖定狀態(tài)1"時,申請硬 件鎖的處理器向同步管理模塊發(fā)送排隊信息。
[0039] 第三操作模塊16用于申請硬件鎖的處理器向同步管理模塊發(fā)送排隊信息后,進 行事務隊列中的待處理事務的處理。
[0040] 第二判斷模塊17用于處理器接收到同步管理模塊發(fā)送的硬件鎖釋放的信息后, 判斷該處理器是否處理完畢當前事務。
[0041] 第四操作模塊18用于第二判斷模塊判斷出處理器處理完畢當前事務后,再次向 同步管理模塊發(fā)送申請硬件鎖的請求。
[0042] 第五操作模塊19用于處理器接收同步管理模塊發(fā)送的無鎖信息后,進行事務隊 列中的待處理事務的處理。
[0043] 第三判斷模塊101用于處理器接收到同步管理模塊發(fā)送的硬件鎖釋放的信息后, 判斷是否處理完畢當前事務。
[0044] 第六操作模塊102用于第三判斷模塊判斷出處理器處理完畢當前事務后,再次向 同步管理模塊發(fā)送申請硬件鎖的請求。
[0045] 參見圖3,上述硬件鎖由下降沿觸發(fā)器21、與門22及非門23構成。下降沿觸發(fā)器 23的輸出端連接至非門23的輸入端,非門23的輸出端連接至與門22的第一輸入端,與門 22的輸出端及時鐘信號的輸出端分別連接至觸發(fā)器21的兩個不同的輸入端。
[0046] 上述申請硬件鎖的處理器讀取硬件鎖的狀態(tài)的動作是通過與門的第二輸入端向 硬件鎖發(fā)送讀取信號并從觸發(fā)器的輸出端讀取該硬件鎖的狀態(tài)信號;處理器完成同步操 作后,將硬件鎖的狀態(tài)置為可用狀態(tài)的操作是通過觸發(fā)器的重置輸入端觸發(fā)觸發(fā)器狀態(tài)翻 轉(zhuǎn)。
[0047] 參見圖4,在系統(tǒng)復位后,硬件鎖的狀態(tài)信號Out為低電平電信號,即硬件鎖處于 "可用狀態(tài)〇",當狀態(tài)信號Out為高電平信號時,硬件鎖處于"鎖定狀態(tài)1"。在T1時刻,處 理器讀取硬件鎖的狀態(tài),即向與門22的第二輸入端發(fā)送一高電平脈沖的讀取信號In,并從 下降沿觸發(fā)器21的輸出端讀取狀態(tài)信號Out。在T2時刻,時鐘信號CP的下降沿到來,下降 沿觸發(fā)器21輸出端的電信號從低電平翻轉(zhuǎn)為高電平,即硬件鎖的狀態(tài)從"可用狀態(tài)0"自動 翻轉(zhuǎn)為"鎖定狀態(tài)1"。在T3時刻,另一處理器讀取該硬件的鎖的狀態(tài),無法改變該硬件鎖 的狀態(tài),并從狀態(tài)信號Out上讀取該硬件鎖處于"鎖定狀態(tài)1"。在T4時刻,占用該硬件鎖 的處理器完成同步操作后,通過重置信號R將觸發(fā)器的狀態(tài)置為"可用狀態(tài)0"。
[0048] 參見圖5,在系統(tǒng)復位后,硬件鎖處于"可用狀態(tài)0",當有一個處理器讀取該硬件 鎖后,其狀態(tài)從"可用狀態(tài)〇"自動翻轉(zhuǎn)為"鎖定狀態(tài)1";當硬件鎖處于"鎖定狀態(tài)1"時,只 有占用該硬件鎖的處理器通過重置才能將其狀態(tài)從"鎖定狀態(tài)1"置為"可用狀態(tài)〇",其他 處理器的任何操作都無法改變該硬件的狀態(tài)。
[0049] 在上述實施例中,同步管理裝置內(nèi)建立與硬件鎖的ID相對應的記錄表,用于記錄 申請過該硬件鎖的處理器。
[0050] 在上述實施例中,每個處理器都有一個對應的事務隊列,該事務隊列中記載有處 理將要進行處理的待處理事務,當處理器對當前需要處理的事務無法申請到硬件鎖之后, 就進行處理當前排在事務隊列中的第一位置的待處理事務,并將當前需要處理的事務放在 事務隊列的第一位;如果正在處理的待處理事務也需要硬件鎖而無法申請到硬件鎖,對排 在事務隊列中第二位的待處理進行處理,并將當前正在處理的待處理事務排在事務隊列的 第二位,以此類推。其也可以通過建立兩個任務隊列,一個用于排隊需等待硬件鎖的事務, 另一個用于待處理事務的排隊。
[0051] 在上述實施例中,硬件鎖的觸發(fā)器還可以為上升沿觸發(fā)器、高電平觸發(fā)器及低電 平觸發(fā)器。
【權利要求】
1. 多處理器系統(tǒng)的同步方法,所述多處理器系統(tǒng)包括至少兩個處理器; 其特征在于,包括以下步驟: 硬件鎖的申請與管理步驟,同步管理裝置在接收到處理器向其發(fā)送申請硬件鎖的請求 后,檢查與該硬件鎖對應的申請記錄中是否有其他處理器申請該硬件鎖的請求;如果沒有, 向該處理器發(fā)送確認信息;否則將該處理器的請求記錄于申請記錄中并向其發(fā)送無鎖信 息; 操作步驟,申請硬件鎖的處理器在接收到確認信息后,讀取該硬件鎖的狀態(tài),若該硬件 鎖處于可用狀態(tài),該硬件鎖的狀態(tài)自動從可用狀態(tài)轉(zhuǎn)為鎖定狀態(tài),申請該硬件鎖的處理器 獲得該硬件鎖并進行同步操作; 釋放步驟,當申請硬件鎖的處理器完成同步操作后,將占用的硬件鎖的狀態(tài)置為可用 狀態(tài)并釋放該硬件鎖,同時向同步管理裝置發(fā)送硬件鎖釋放的信息; 發(fā)送步驟,同步管理裝置在接收到硬件鎖釋放的信息后,向申請記錄中申請該硬件鎖 的處理器發(fā)送硬件鎖釋放的信息,并將對應的申請記錄清零。
2. 根據(jù)權利要求1所述多處理器系統(tǒng)的同步方法,其特征在于: 所述操作步驟中,如果硬件鎖處于鎖定狀態(tài),申請硬件鎖的處理器向同步管理裝置發(fā) 送排隊信息,同步管理裝置在接收到處理器發(fā)送的排隊信息后,將該處理器的請求記錄于 對應硬件鎖的申請記錄中。
3. 根據(jù)權利要求2所述多處理器系統(tǒng)的同步方法,其特征在于: 所述操作步驟中,申請硬件鎖的處理器在向同步管理裝置發(fā)送排隊信息后處理事務隊 列中的待處理事務,在接收到同步管理裝置發(fā)送的硬件鎖釋放的信息并處理完畢當前事務 后,再次向同步管理裝置發(fā)送申請該硬件鎖的請求。
4. 根據(jù)權利要求1至3任一項所述多處理器系統(tǒng)的同步方法,其特征在于: 所述操作步驟中,申請硬件鎖的處理器在接收到無鎖信息后處理事務隊列中的待處理 事務,在接收到同步管理裝置發(fā)送的硬件鎖釋放的信息并處理完畢當前事務后,再次向同 步管理裝置發(fā)送申請該硬件鎖的請求。
5. 根據(jù)權利要求4所述多處理器系統(tǒng)的同步方法,其特征在于: 所述硬件鎖包括觸發(fā)器、與門及非門; 所述觸發(fā)器的輸出端連接至所述非門的輸入端,所述非門的輸出端連接至所述與門 的第一輸入端,所述與門的輸出端及時鐘信號的輸出端分別連接至所述觸發(fā)器的兩個輸入 端; 申請硬件鎖的處理器讀取硬件鎖的狀態(tài)的動作是通過所述與門的第二輸入端向所述 硬件鎖發(fā)送讀取信號并從所述觸發(fā)器的輸出端讀取所述硬件鎖的狀態(tài)信號; 處理器完成同步操作后,將硬件鎖的狀態(tài)置為可用狀態(tài)的操作是通過所述觸發(fā)器的重 置輸入端觸發(fā)所述觸發(fā)器狀態(tài)翻轉(zhuǎn); 所述觸發(fā)器為電平觸發(fā)器或邊沿觸發(fā)器。
6. 多處理器系統(tǒng)的同步裝置,所述多處理器系統(tǒng)包括至少兩個處理器; 其特征在于,包括: 同步管理模塊,用于在接收到處理器向其發(fā)送申請硬件鎖的請求后,檢查與該硬件鎖 對應的申請記錄中是否有其他處理器申請該硬件鎖的請求,如果沒有,向該處理器發(fā)送確 認信息,否則將該處理器的請求記錄于申請記錄中并向其發(fā)送無鎖信息;并且,在接收到處 理器向同步管理模塊發(fā)送硬件鎖釋放的信息后,向該硬件鎖對應的申請記錄中申請該硬件 鎖的處理器發(fā)送硬件鎖釋放的信息,并將對應的申請記錄清零; 第一判斷模塊,用于申請硬件鎖的處理器在接收到確認信息后,讀取該硬件鎖的狀態(tài), 判斷該硬件鎖是處于可用狀態(tài)還是鎖定狀態(tài); 第一操作模塊,用于第一判斷模塊判斷出硬件鎖是處于可用狀態(tài)時,該硬件鎖的狀態(tài) 自動從可用狀態(tài)轉(zhuǎn)為鎖定狀態(tài),申請該硬件鎖的處理器獲得該硬件鎖并進行同步操作; 釋放模塊,用于當申請硬件鎖的處理器完成同步操作后,將占用的硬件鎖的狀態(tài)置為 可用狀態(tài)并釋放,同時向同步管理模塊發(fā)送硬件鎖釋放的信息。
7. 根據(jù)權利要求6所述多處理系統(tǒng)的同步裝置,其特征在于: 還包括第二操作模塊,所述第二操作模塊用于第一判斷模塊判斷出該硬件鎖處于鎖定 狀態(tài)時,申請硬件鎖的處理器向同步管理模塊發(fā)送排隊信息; 所述同步管理模塊用于在接收到處理器發(fā)送的排隊信息后,將該處理器的請求記錄于 對應硬件鎖的申請記錄中。
8. 根據(jù)權利要求7所述多處理器系統(tǒng)的同步裝置,其特征在于: 還包括第三操作模塊、第二判斷模塊及第四操作模塊; 所述第三操作模塊用于申請硬件鎖的處理器向同步管理模塊發(fā)送排隊信息后處理事 務隊列中的待處理事務; 所述第二判斷模塊用于處理器接收到同步管理模塊發(fā)送的硬件鎖釋放的信息后,判斷 該處理器是否處理完畢當前事務; 所述第四操作模塊用于所述第二判斷模塊判斷出處理器處理完畢當前事務后,再次向 同步管理模塊發(fā)送申請硬件鎖的請求。
9. 根據(jù)權利要求6至8任一項所述多處理器系統(tǒng)的同步裝置,其特征在于: 還包括第五操作模塊、第三判斷模塊及第六操作模塊; 所述第五操作模塊用于處理器接收同步管理模塊發(fā)送的無鎖信息后處理事務隊列中 的待處理事務; 所述第三判斷模塊用于處理器接收到同步管理模塊發(fā)送的硬件鎖釋放的信息后,判斷 是否處理完畢當前事務; 所述第六操作模塊用于所述第三判斷模塊判斷出處理器處理完畢當前事務后,再次向 同步管理模塊發(fā)送申請硬件鎖的請求。
10. 根據(jù)權利要求9所述多處理器系統(tǒng)的同步裝置,其特征在于: 所述硬件鎖包括觸發(fā)器、與門及非門; 所述觸發(fā)器的輸出端連接至所述非門的輸入端,所述非門的輸出端連接至所述與門 的第一輸入端,所述與門的輸出端及時鐘信號的輸出端分別連接至所述觸發(fā)器的兩個輸入 端; 申請硬件鎖的處理器讀取硬件鎖的狀態(tài)的動作是通過所述與門的第二輸入端向所述 硬件鎖發(fā)送讀取信號并從所述觸發(fā)器的輸出端讀取所述硬件鎖的狀態(tài)信號; 處理器完成同步操作后,將硬件鎖的狀態(tài)置為可用狀態(tài)的操作是通過所述觸發(fā)器的重 置輸入端觸發(fā)所述觸發(fā)器狀態(tài)翻轉(zhuǎn); 所述觸發(fā)器為電平觸發(fā)器或邊沿觸發(fā)器。
【文檔編號】G06F9/50GK104102547SQ201410359916
【公開日】2014年10月15日 申請日期:2014年7月25日 優(yōu)先權日:2014年7月25日
【發(fā)明者】孫彥邦, 匡雙鴿, 鐘春波, 吳曉鵬 申請人:珠海全志科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大荔县| 恩施市| 怀宁县| 上高县| 孙吴县| 周至县| 岢岚县| 苍山县| 宜都市| 德化县| 弥勒县| 临颍县| 宝鸡市| 柳林县| 永川市| 神池县| 随州市| 镇雄县| 海兴县| 锦州市| 金山区| 长汀县| 盘锦市| 江阴市| 都匀市| 饶河县| 保德县| 吴川市| 宁南县| 名山县| 忻州市| 玛多县| 宜丰县| 洮南市| 仙桃市| 铁力市| 专栏| 宝鸡市| 无棣县| 三都| 炎陵县|