亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)請求處理方法及裝置與流程

文檔序號:12176663閱讀:393來源:國知局
本發(fā)明涉及數(shù)據(jù)存儲
技術領域
,更具體地說,涉及一種數(shù)據(jù)請求處理方法及裝置。
背景技術
:在多處理器系統(tǒng)中,除了系統(tǒng)具有的內存之外,每個處理器還具有自己私有的緩存,而不同處理器緩存對于內存數(shù)據(jù)的修改及獲取等操作,需要遵循緩存一致性協(xié)議?,F(xiàn)代計算機中緩存一致性協(xié)議一般包括窺探協(xié)議與目錄協(xié)議兩種。由于目錄協(xié)議會占用較大的存儲開銷,因而在小規(guī)模的多處理器系統(tǒng)中,通常是基于窺探協(xié)議實現(xiàn)的。具體來說,在窺探協(xié)議中,對于內存的訪問需要經(jīng)過仲裁,在一個指令周期中只有一個處理器可以寫內存。當某個處理器需要修改內存的數(shù)據(jù)時,需要首先獲得總線控制權,然后再實現(xiàn)對應的寫操作,從而能夠保證先發(fā)出的寫請求可以優(yōu)先實現(xiàn)。但是,如果寫請求對應的寫操作出現(xiàn)寫延遲,可能出現(xiàn)當另一處理器需要對寫請求對應數(shù)據(jù)進行訪問時,寫請求對應寫操作還未完成,此時,另一處理器讀取到的數(shù)據(jù)實際為無效數(shù)據(jù)。綜上所述,現(xiàn)有技術的多處理器系統(tǒng)中存在因寫延遲導致處理器讀取到無效數(shù)據(jù)的問題。技術實現(xiàn)要素:本發(fā)明的目的是提供一種數(shù)據(jù)請求處理方法及裝置,以解決現(xiàn)有技術的多處理器系統(tǒng)中存在的因寫延遲導致處理器讀取到無效數(shù)據(jù)的問題。為了實現(xiàn)上述目的,本發(fā)明提供如下技術方案:一種數(shù)據(jù)請求處理方法,包括:當檢測到任一處理器對內存發(fā)出寫請求時,確定該寫請求對應的內存區(qū)域為風險內存;當檢測到除發(fā)出所述寫請求的處理器之外的其他處理器向所述內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應所述風險內存時,判斷所述寫請求對應的寫操作是否完成,如果是,則允許所述數(shù)據(jù)訪問請求,如果否,則待所述寫請求對應的寫操作完成之后再允許所述數(shù)據(jù)訪問請求。優(yōu)選的,還包括:當檢測到任一處理器對所述內存發(fā)出寫請求時,將發(fā)出所述寫請求的處理器的標識及所述風險內存的地址存儲至預先設置的沖突目錄中;當檢測到除發(fā)出所述寫請求的處理器之外的其他處理器向所述內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應所述風險內存時,將所述數(shù)據(jù)訪問請求存儲至所述沖突目錄中與所述寫請求對應的位置;待所述寫請求對應的寫操作完成之后再允許所述數(shù)據(jù)訪問請求,包括:待所述寫請求對應的寫操作完成之后,由所述沖突目錄中查找并獲取存儲在與所述寫請求對應的位置的數(shù)據(jù)訪問請求,并允許所述數(shù)據(jù)訪問請求。優(yōu)選的,允許所述數(shù)據(jù)訪問請求之后,還包括:將所述沖突目錄中所述數(shù)據(jù)訪問請求、所述寫請求及發(fā)出所述寫請求的處理器的標識刪除。優(yōu)選的,還包括:當檢測到任一處理器對內存發(fā)出寫請求時,將所述寫請求對應的風險內存的地址進行廣播,以通知其他處理器將包含的與所述風險內存的地址對應地址的數(shù)據(jù)置為無效。一種數(shù)據(jù)請求處理裝置,包括:檢測模塊,用于當檢測到任一處理器對內存發(fā)出寫請求時,確定該寫請求對應的內存區(qū)域為風險內存,以及用于當檢測到除發(fā)出所述寫請求的處理器之外的其他處理器向所述內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應所述風險內存時,指示判斷模塊工作;判斷模塊,用于判斷所述寫請求對應的寫操作是否完成,如果是,則允許所述數(shù)據(jù)訪問請求,如果否,則待所述寫請求對應的寫操作完成之后再允許所述數(shù)據(jù)訪問請求。優(yōu)選的,還包括:目錄管理模塊,用于當檢測到任一處理器對所述內存發(fā)出寫請求時,將發(fā)出所述寫請求的處理器的標識及所述風險內存的地址存儲至預先設置的沖突目錄中,以及用于當檢測到除發(fā)出所述寫請求的處理器之外的其他處理器向所述內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應所述風險內存時,將所述數(shù)據(jù)訪問請求存儲至所述沖突目錄中與所述寫請求對應的位置;所述判斷模塊包括:處理單元,用于待所述寫請求對應的寫操作完成之后,由所述沖突目錄中查找并獲取存儲在與所述寫請求對應的位置的數(shù)據(jù)訪問請求,并允許所述數(shù)據(jù)訪問請求。優(yōu)選的,還包括:刪除模塊,用于所述判斷模塊允許所述數(shù)據(jù)訪問請求之后,將所述沖突目錄中所述數(shù)據(jù)訪問請求、所述寫請求及發(fā)出所述寫請求的處理器的標識刪除。優(yōu)選的,還包括:廣播模塊,用于當檢測到任一處理器對內存發(fā)出寫請求時,將所述寫請求對應的風險內存的地址進行廣播,以通知其他處理器將包含的與所述風險內存的地址對應地址的數(shù)據(jù)置為無效。本發(fā)明提供了一種數(shù)據(jù)請求處理方法及裝置,其中該方法包括:當檢測到任一處理器對內存發(fā)出寫請求時,確定該寫請求對應的內存區(qū)域為風險內存;當檢測到除發(fā)出所述寫請求的處理器之外的其他處理器向所述內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應所述風險內存時,判斷所述寫請求對應的寫操作是否完成,如果是,則允許所述數(shù)據(jù)訪問請求,如果否,則待所述寫請求對應的寫操作完成之后再允許所述數(shù)據(jù)訪問請求。本申請公開的技術特征中,當檢測到任一處理器發(fā)出的寫請求后又檢測到其他處理器發(fā)出的數(shù)據(jù)訪問請求,且數(shù)據(jù)訪問請求與寫請求對應相同的內存區(qū)域時,則判斷寫請求對應的寫操作是否完成,如果是,則直接允許數(shù)據(jù)訪問請求,否則,則待寫請求對應的寫操作完成后再允許數(shù)據(jù)訪問請求。由此,能夠保證發(fā)出數(shù)據(jù)訪問請求對應的處理器進行訪問的數(shù)據(jù)為完成寫請求對應寫操作之后的有效數(shù)據(jù),從而有效解決了現(xiàn)有技術的多處理器系統(tǒng)中存在的因寫延遲導致處理器讀取到無效數(shù)據(jù)的問題。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法的流程圖;圖2為本發(fā)明實施例提供的一種數(shù)據(jù)請求處理裝置的結構示意圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。請參閱圖1,其示出了本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法的流程圖,本發(fā)明可以適用于小規(guī)模的多處理器系統(tǒng),且在該多處理器系統(tǒng)中可以基于窺探協(xié)議實現(xiàn)處理器(本發(fā)明中每個處理器均具有自己的私有的緩存,而實現(xiàn)對于內存的讀寫的主體為處理器時,處理器也可以理解為其私有的緩存,在此不做具體區(qū)分)對于內存的讀寫,即本發(fā)明可以實現(xiàn)于基于窺探協(xié)議的多處理器系統(tǒng)中。具體來說,本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法可以包括以下步驟:S11:當檢測到任一處理器對內存發(fā)出寫請求時,確定該寫請求對應的內存區(qū)域為風險內存。其中,與寫請求對應的內存區(qū)域即寫請求需要寫入數(shù)據(jù)的內存地址,該地址可以包括寫請求對應的起始地址及終止地址,以基于該地址確定出對應的區(qū)域。具體來說,當本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法應用于基于窺探協(xié)議的多處理器系統(tǒng)時,可以通過在總線上檢測得到處理器發(fā)出的寫請求或者讀請求,如果檢測到寫請求且如果當前沒有執(zhí)行其他寫請求對應的寫操作,則檢測到的該寫請求獲得總線控制權,否則,則等待其他先于該寫請求發(fā)出的其他寫請求對應寫操作實現(xiàn)后獲取總線控制權,并在獲取總線控制權后實現(xiàn)其對應的寫操作。S12:當檢測到除發(fā)出寫請求的處理器之外的其他處理器向內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應風險內存時,判斷寫請求對應的寫操作是否完成,如果是,則執(zhí)行步驟S13,如果否,則執(zhí)行步驟S14。其中數(shù)據(jù)訪問請求可以包括讀請求及寫請求,當檢測到任一處理器發(fā)出的寫請求后又檢測到其他處理器發(fā)送的數(shù)據(jù)訪問請求時,則需要判斷寫請求對應的寫操作是否完成,即是否將寫請求中包含的數(shù)據(jù)寫入至內存的對應位置中,如果是,則說明內存中與寫請求對應的數(shù)據(jù)為最新的數(shù)據(jù),此時可以允許數(shù)據(jù)訪問請求,即允許其他處理器對該最新的數(shù)據(jù)的寫或者讀,如果否,則說明內存中與寫請求對應的數(shù)據(jù)為舊的數(shù)據(jù),也即無效數(shù)據(jù),此時則不對數(shù)據(jù)訪問請求進行處理,而是等待寫請求對應的寫操作完成之后再允許數(shù)據(jù)訪問請求。另外,如果檢測到數(shù)據(jù)訪問請求時寫請求對應的寫操作還未實現(xiàn),可以向發(fā)出數(shù)據(jù)訪問請求的處理器發(fā)送等待通知,以告知其需要等待寫請求對應的寫操作完成后才可實現(xiàn)其需實現(xiàn)的數(shù)據(jù)訪問。S13:允許數(shù)據(jù)訪問請求。S14:待寫請求對應的寫操作完成之后再允許數(shù)據(jù)訪問請求。本申請公開的技術特征中,當檢測到任一處理器發(fā)出的寫請求后又檢測到其他處理器發(fā)出的數(shù)據(jù)訪問請求,且數(shù)據(jù)訪問請求與寫請求對應相同的內存區(qū)域時,則判斷寫請求對應的寫操作是否完成,如果是,則直接允許數(shù)據(jù)訪問請求,否則,則待寫請求對應的寫操作完成后再允許數(shù)據(jù)訪問請求。由此,能夠保證發(fā)出數(shù)據(jù)訪問請求對應的處理器進行訪問的數(shù)據(jù)為完成寫請求對應寫操作之后的有效數(shù)據(jù),從而有效解決了現(xiàn)有技術的多處理器系統(tǒng)中存在的因寫延遲導致處理器讀取到無效數(shù)據(jù)的問題。另外,通過本申請公開的上述技術特征,大大減少了讀寫內存的錯誤概率,從而有效保證了各處理器均能讀取到最新的數(shù)據(jù),進而保證了各處理器保存讀取到的數(shù)據(jù)的緩存的一致性。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法,還可以包括:當檢測到任一處理器對內存發(fā)出寫請求時,將發(fā)出寫請求的處理器的標識及風險內存的地址存儲至預先設置的沖突目錄中;當檢測到除發(fā)出寫請求的處理器之外的其他處理器向內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應風險內存時,將數(shù)據(jù)訪問請求存儲至沖突目錄中與寫請求對應的位置。其中,可以預先設置沖突目錄,該目錄主要用于存儲寫請求與其他數(shù)據(jù)訪問請求發(fā)生沖突的情況,也即寫請求對應寫操作未完成時檢測到其他數(shù)據(jù)訪問請求,且該數(shù)據(jù)訪問請求與寫操作對應內存中相同的內存區(qū)域的情況。另外,處理器的標識可以為預先為其設定的,還可以在沖突目錄中存儲其他信息,如寫請求開始執(zhí)行的指令周期及寫請求執(zhí)行完畢的指令周期等,當然還可以根據(jù)實際需要進行其他設定,均在本發(fā)明的保護范圍之內;且,本發(fā)明中的沖突目錄僅需維護有上述沖突情況的請求信息,占用存儲空間較小,同時能夠利用沖突目錄方便快捷的實現(xiàn)對其所存儲信息管理及查詢等。待寫請求對應的寫操作完成之后再允許數(shù)據(jù)訪問請求,可以包括:待寫請求對應的寫操作完成之后,由沖突目錄中查找并獲取存儲在與寫請求對應的位置的數(shù)據(jù)訪問請求,并允許數(shù)據(jù)訪問請求。當寫請求對應的寫操作完成后,可以由沖突目錄中快速準確的確定與之對應的數(shù)據(jù)訪問請求,進而允許該數(shù)據(jù)訪問請求,提高了執(zhí)行效率。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法,允許數(shù)據(jù)訪問請求之后,還可以包括:將沖突目錄中數(shù)據(jù)訪問請求、寫請求及發(fā)出寫請求的處理器的標識刪除。由于時時刻刻都可能有大量的讀寫請求,因此,為了節(jié)約存儲空間,在寫請求對應寫操作完成并允許數(shù)據(jù)訪問請求的訪問后可以將其在沖突目錄中對應的信息進行刪除。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法,還可以包括:當檢測到任一處理器對內存發(fā)出寫請求時,將寫請求對應的風險內存的地址進行廣播,以通知其他處理器將包含的與風險內存的地址對應地址的數(shù)據(jù)置為無效。需要說明的是,當檢測到任一處理器發(fā)出寫請求,將對應風險內存的地址在總線進行廣播,可以使得處理器獲知風險內存的地址,進而確定自身是否包含由風險內存的地址獲取的數(shù)據(jù),即是否存在與風險內存的地址對應的地址,如果是,則將這些數(shù)據(jù)置為無效,以進一步保證緩存一致性。為了使得本發(fā)明提供的上述技術方案更加清楚,下面結合具體實例對其進行詳細說明:如表1所示,在指令周期1內,處理器A發(fā)出寫請求,此時A迅速地獲取總線控制權,并在指令周期3內完成寫請求對應寫操作,風險內存同時由初值成為新值A;在指令周期4內,處理器B發(fā)出讀請求,此時由于處理器A的寫請求已完成,B讀取到正確值,即新值A。在指令周期101內處理器B發(fā)出寫請求,但由于此時總線繁忙,B不得不等待總線控制權;在指令周期103內,處理器A發(fā)出讀請求,B仍處于等待狀態(tài);而A請求位于B請求的兩個指令周期之后,默認應立即完成的的B請求卻由于總線繁忙而不能立即得到處理,而A卻認為以這種正確的順序能得到正確的結果,但其實際上卻讀到錯誤的新值A,這就出現(xiàn)了寫競賽。表1為防止寫競賽的發(fā)生,本申請公開的技術方案如表2所示。在指令周期101內處理器B發(fā)出寫請求的時候,立即記錄這個寫請求,包括發(fā)出寫請求的處理器的標識以及寫請求對應的內存地址,并將這些信息維護在沖突列表里,如表3所示,其中,請求源即為發(fā)起讀寫請求的處理器。跟蹤其他處理器對該內存地址的訪問,無論是讀請求還是寫請求,只要檢測到有對該內存地址的請求,則告知發(fā)出數(shù)據(jù)訪問請求的處理器其所請求的數(shù)據(jù)需要推遲訪問。表2中在指令周期103內,檢測到處理器A發(fā)出讀請求,但處理器B的寫請求尚未完成,因此通知處理器A讀請求需要推遲;在指令周期105內寫請求完成,通知處理器A可以讀取內存了,也即允許處理器A發(fā)送的讀請求。表2指令周期總線操作通知106101記錄B寫請求開始102處理器B等待控制權檢測A的讀/寫請求103處理器B等待控制權檢測到A的寫請求通知A推遲訪問104處理器B獲得控制權105記錄B寫請求結束通知A可以訪問106表3本發(fā)明實施例還提供了一種數(shù)據(jù)請求處理裝置,如圖2所示,可以包括:檢測模塊11,用于當檢測到任一處理器對內存發(fā)出寫請求時,確定該寫請求對應的內存區(qū)域為風險內存,以及用于當檢測到除發(fā)出寫請求的處理器之外的其他處理器向內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應風險內存時,指示判斷模塊工作;判斷模塊12,用于判斷寫請求對應的寫操作是否完成,如果是,則允許數(shù)據(jù)訪問請求,如果否,則待寫請求對應的寫操作完成之后再允許數(shù)據(jù)訪問請求。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理裝置,還可以包括:目錄管理模塊,用于當檢測到任一處理器對內存發(fā)出寫請求時,將發(fā)出寫請求的處理器的標識及風險內存的地址存儲至預先設置的沖突目錄中,以及用于當檢測到除發(fā)出寫請求的處理器之外的其他處理器向內存發(fā)出數(shù)據(jù)訪問請求且該數(shù)據(jù)訪問請求對應風險內存時,將數(shù)據(jù)訪問請求存儲至沖突目錄中與寫請求對應的位置;判斷模塊包括:處理單元,用于待寫請求對應的寫操作完成之后,由沖突目錄中查找并獲取存儲在與寫請求對應的位置的數(shù)據(jù)訪問請求,并允許數(shù)據(jù)訪問請求。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理裝置,還可以包括:刪除模塊,用于判斷模塊允許數(shù)據(jù)訪問請求之后,將沖突目錄中數(shù)據(jù)訪問請求、寫請求及發(fā)出寫請求的處理器的標識刪除。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理裝置,還可以包括:廣播模塊,用于當檢測到任一處理器對內存發(fā)出寫請求時,將寫請求對應的風險內存的地址進行廣播,以通知其他處理器將包含的與風險內存的地址對應地址的數(shù)據(jù)置為無效。本發(fā)明實施例提供的一種數(shù)據(jù)請求處理裝置中相關部分的說明請參見本發(fā)明實施例提供的一種數(shù)據(jù)請求處理方法中對應部分的詳細說明,在此不再贅述。對所公開的實施例的上述說明,使本領域技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1