亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

實現數據一致性的方法和一種多核系統(tǒng)的制作方法

文檔序號:6427312閱讀:164來源:國知局
專利名稱:實現數據一致性的方法和一種多核系統(tǒng)的制作方法
技術領域
本發(fā)明涉及通信領域,尤其涉及實現數據一致性的方法和一種多核系統(tǒng)。
背景技術
在多核系統(tǒng)或多核處理器中,除了每一個單核擁有一部分核內的緩存(LlCache)之外,在單核的核外,還存在由若干個單核共享的共享內存。以附圖l_a所示的最簡單多核系統(tǒng)即兩核系統(tǒng)為例(箭頭代表數據的流向),單核0和單核I分別記為CoreO和Corel,CoreO的核內緩存0使用CoreO LI Cache標記,Corel的核內緩存I使用Corel LI Cache標記。單核I和單核2的核外共享內存(Shared Memory)被劃分成單核0共享內存0 (CoreOCacheable L2)和單核 I 共享內存 I (Corel Cacheable L2)。CoreO Cacheable L2 可以稱為“CoreO的可讀可寫共享內存”,因為對于CoreO Cacheable L2這一段共享內存,CoreO 既可以向其中寫入數據,也可以從中讀取一些經常使用到的數據至CoreO LI Cache緩存,以便下次需要這些數據時直接從CoreO LI Cache中讀取,從而提高效率,而Corel可以向CoreO Cacheable L2這一段內存寫數據,但不會將CoreOCacheable L2中的數據讀取至Corel LI Cache緩存。Corel Cacheable L2可以稱為“Corel的可讀可寫共享內存”,因為對于Corel Cacheable L2這一段共享內存,Corel既可以向其中寫入數據,也可以從中讀取一些經常使用到的數據至Corel LI Cache緩存,以便下次需要這些數據時直接從CorelLI Cache中讀取,從而提高效率,而CoreO可以向Corel Cacheable L2這一段內存寫數據,但不會將Corel Cacheable L2中的數據讀取至CoreO LI Cache緩存。正是由于上述訪問機制導致了一種情形的存在,即,Corel向CoreOCacheable L2中的某一段內存寫入數據時,若在寫入數據之前這一段內存的數據正好已經緩存至CoreOLI Cache中,則CoreO LI Cache中的數據與寫入數據之后這一段內存的數據不一致。當CoreO再次使用已寫入這一段內存的數據時,需要重新從CoreO Cacheable L2中讀取數據來刷新CoreO LI Cache中的數據。這就是說,在使用共享內存時需要一種機制來保證當共享內存中數據被其他核修改時,本核能夠刷新核內緩存中的數據,從而保證核內緩存和核外共享內存中的數據一致。為了保證核內緩存和核外共享內存中的數據一致,現有技術提供的一種方案是將CoreO Cacheable L2和Corel Cacheable L2各自劃分為兩片,如附圖l_b中的虛線將CoreO Cacheable L2 和 Corel Cacheable L2 各自劃分為兩片,CoreOCacheable L2 分成的兩片分別標記為MEMO和MEM1,Corel Cacheable L2分成的兩片分別標記為MEM2和MEM3,作為兵兵緩沖使用。通過調度時序的控制,保證在同一時刻CoreO和Corel不會同時訪問同一片內存區(qū)域,因此,目前各個單核對共享內存的操作沒有采用原子操作(即不可拆分不能打斷的最小操作)。在附圖1-b中,假設CoreO正在訪問MEMO這一片共享內存,由于不會有訪問沖突,所以CoreO可以無阻礙地將CoreO LI Cache中的數據讀取至MEMO ;Corel可以訪問MEMl這一片共享內存。由于MEMl是CoreO可以從中讀取數據緩存至CoreO LI Cache的一片共享內存,有可能這片共享內存中的數據在CoreO的CoreO LI Cache中,因此,Corel在向MEMl寫入數據之前,先向CoreO發(fā)送一個中斷,通知CoreO此時有數據要寫入共享內存。CoreO響應該中斷,獲取Corel要寫入的地址和數據長度,并將這片地址在CoreO LI Cache對應的緩存線(cache line)置為無效,然后返回中斷應答信息至Corel。Corel在收到應答信息后再將數據寫入MEMl。上述現有技術方案中,Corel向CoreO Cacheable L2寫入數據時,需要先發(fā)送中斷給CoreO,等到CoreO響應中斷后才可以開始寫數據。在多核系統(tǒng)中,這兩個核可能在一個簇(cluster)中,也可能是跨簇的,CoreO等待中斷傳輸和響應的延時從幾十個到一百多個時鐘周期(cycle)不等。特別地,當Corel要寫入的數據總量較大,但都是零散的小塊數據時,系統(tǒng)中的中斷開銷非常大,效率很低。

發(fā)明內容
本發(fā)明實施例提供實現數據一致性的方法和一種多核系統(tǒng),以提高數據存取效 率。本發(fā)明實施例提供實現數據一致性的方法,包括多核系統(tǒng)中第一單核設置信號量后向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據;所述第二單核檢測所述信號量,若所述信號量為約定的預設值,則所述第二單核停止使用核內至少一個緩存線中的數據,所述核內緩存線是所述第二單核內的一段內存區(qū)域,與所述第二單核的可讀可寫共享內存中用于存儲寫入數據的內存區(qū)域對應;所述第一單核在所述數據寫入過程完成后向所述第二單核發(fā)送中斷;所述第二單核根據所述中斷,將所述可讀可寫共享內存寫入的數據讀取至所述核內至少一個緩存線。本發(fā)明實施例提供一種多核系統(tǒng),所述多核系統(tǒng)至少包括第一單核和第二單核,所述第一單核包括信號量設置模塊和中斷發(fā)送模塊,所述第二單核包括信號量檢測模塊和數據刷新模塊;所述信號量設置模塊,用于設置信號量后向所述第二單核的可讀可寫共享內存寫入數據;所述信號量檢測模塊,用于檢測所述信號量,若所述信號量為約定的預設值,則所述第二單核停止使用核內至少一個緩存線中的數據,所述核內緩存線是所述第二單核內的一段內存區(qū)域,與所述第二單核的可讀可寫共享內存中用于存儲寫入數據的內存區(qū)域對應;所述中斷發(fā)送模塊,用于在所述數據寫入過程完成后向所述第二單核發(fā)送中斷;所述數據刷新模塊,用于根據所述中斷,將所述可讀可寫共享內存寫入的數據讀取至所述核內至少一個緩存線。從上述本發(fā)明實施例可知,由于多核系統(tǒng)中第一單核在設置信號量后即向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據,不需要等待第二單核的響應,系統(tǒng)也不需要去處理中斷,因此,降低了實現的復雜度,也節(jié)省了數據寫入時間并大大提高系統(tǒng)存取數據的效率,而第二單核檢測到信號量為約定的預設值后,停止使用核內緩存線中的數據,并根據第一單核發(fā)送的中斷將第一單核寫入的數據讀取至其核內緩存線,這種方式也保證了單核核內緩存和核外共享內存中的數據一致。


為了更清楚地說明本發(fā)明實施例的技術方案,下面將對現有技術或實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,還可以如這些附圖獲得其他的附圖。圖l_a是兩核系統(tǒng)中核內緩存和核外共享內存的劃分示意圖;圖1-b是兩核系統(tǒng)中各單核的可讀可寫共享內存進一步被劃分的示意圖;圖2是本發(fā)明實施例提供的一種實現數據一致性的方法流程示意圖;圖3是本發(fā)明實施例提供的兩個單核組成的多核系統(tǒng)實現數據一致性的示意圖;
圖4是本發(fā)明實施例提供的多核系統(tǒng)結構示意圖;圖5是本發(fā)明另一實施例提供的多核系統(tǒng)結構示意圖;圖6是本發(fā)明另一實施例提供的多核系統(tǒng)結構示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。請參閱附圖2,是本發(fā)明實施例提供的一種實現數據一致性的方法流程示意圖,主要包括步驟S201,多核系統(tǒng)中第一單核設置信號量后向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據。需要說明的是,在本發(fā)明實施例中,對象“單核”前的“第一”或“第二”僅僅用于區(qū)別不同的兩個單核,并不用于特指“第一個單核”或“第二個單核”??勺x可寫共享內存的含義與現有技術中的可讀可寫共享內存的含義相同,不做贅述。S202,第二單核檢測所述信號量,若所述信號量為約定的預設值,則所述第二單核停止使用核內至少一個緩存線中的數據。系統(tǒng)可以為信號量約定一些預設值,例如,在約定的兩個預設值,當信號量為約定的其中一個預設值時,表明第一單核沒有向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據,當信號量為約定的另一個預設值時,表明第一單核正在向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據。核內緩存線(Cache Line)是多核系統(tǒng)中單核內的基本緩存單位。在本發(fā)明實施例中,第二單核的核內緩存線是所述第二單核內的一段內存區(qū)域,與所述第二單核的可讀可寫共享內存中用于存儲寫入數據的內存區(qū)域對應,即,與第二單核的可讀可寫共享內存中存儲所述第一單核設置信號量后寫入數據的內存區(qū)域對應;其中,對第二單核來說,至少有一個緩存線。S203,第一單核在向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據的過程完成后向所述第二單核發(fā)送中斷。第一單核在數據寫入過程完成后發(fā)送中斷的目的在于,第二單核在收到中斷后重新運行第一單核在數據寫入之前的任務。
S204,第二單核根據第一單核發(fā)送的中斷,將第一單核向第二單核的可讀可寫共享內存寫入的數據讀取至第二單核核內至少一個緩存線。從上述本發(fā)明實施例可知,由于多核系統(tǒng)中第一單核在設置信號量后即向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據,不需要等待第二單核的響應,系統(tǒng)也不需要去處理中斷,因此,降低了實現的復雜度,也節(jié)省了數據寫入時間并大大提高系統(tǒng)存取數據的效率,而第二單核檢測到信號量為約定的預設值后,停止使用核內緩存線中的數據,并根據第一單核發(fā)送的中斷將第一單核寫入的數據讀取至其核內緩存線,這種方式也保證了單核核內緩存和核外共享內存中的數據一致。由于硬件信號量(Hardware Semaphore)實現起來簡單,因此,作為本發(fā)明一個實施例,多核系統(tǒng)中第一單核設置的信號量可以是硬件信號量。例如,可以約定,第一單核沒 有向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據時,第一單核和第二單核之間的硬件信號量設置為低電平“0”,反之第一單核正在向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據時,第一單核和第二單核之間的硬件信號量設置為高電平“ I” ;或者,約定第一單核沒有向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據時,第一單核和第二單核之間的硬件信號量設置為高電平“1”,反之第一單核正在向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據時,第一單核和第二單核之間的硬件信號量設置為低電平“O”。第二單核在檢測這些硬件信號量時,可以是調用應用程序接口(API, Application ProgrammingInterface)函數,例如,API函數check_HSem(sem_id),檢測硬件信號量是否為約定的高電平“I”或低電平“O”。若第二單核檢測到硬件信號量為約定的高電平“I”或低電平“0”,則第二單核將其核內緩存線(Cache Line)置為無效并切換至其他任務,或者,若當前任務需要使用該核內緩存線中的數據,則掛起。當前任務可以是當前正在運行的程序,例如,進程或線程,這個運行的程序正在使用第二單核的可讀可寫共享內存中的數據。若第二單核接收到第一單核發(fā)送的中斷后,則第二單核激活之前掛起的當前任務。更為具體地,以多核系統(tǒng)是基帶處理系統(tǒng)為例,本實施例中的所謂“任務”可以是基帶芯片(可以視為多核系統(tǒng)中的單核)中的系統(tǒng)任務、基帶信號處理任務和操作維護任務等。請參閱附圖3,以兩個單核(分別以CoreO和Corel標識)組成的多核系統(tǒng)為例,進一步說明本發(fā)明實現數據一致性的方法。如附圖所示,多核系統(tǒng)的核外共享內存被劃分成CoreO的可讀可寫共享內存(CoreO Cacheable L2)和 Corel 的可讀可寫共享內存(Corel Cacheable L2),而 CoreOCacheable L2 和 Corel Cacheable L2 各自劃分為兩片,CoreO CacheableL2 分成的兩片分別標記為MEMO和MEMl,Corel Cacheable L2分成的兩片分別標記為MEM2和MEM3,CoreO和Corel之間至少具有兩根硬件連接線,其中一根用于傳遞硬件信號量,另一根用于傳遞中斷信號。假設Corel需要修改MEMl中使用斜線陰影標識的區(qū)域中的數據,例如,向該區(qū)域寫入數據。Corel將其與CoreO之間的硬件信號量SEMlO設置為一個約定值(例如,高電平“I”),并且,設置兩個寄存器要修改的內存起始地址和長度,該要修改的內存起始地址和長度用于明確告訴CoreO :Corel將要修改MEMl中哪個區(qū)域中的數據,例如附圖3中使用斜線陰影標識的區(qū)域對應的緩存。Corel將硬件信號量SEMlO設置完畢后并不等待CoreO的響應,而是直接向MEMl寫入數據。CoreO調用API函數(例如,函數check_HSem(sem_id)),檢測到硬件信號量SEMlO設置為一個約定值(例如,高電平“I”)后,立即將其核內與MEMl中使用斜線陰影標識的區(qū)域對應的緩存線(圖中使用格線陰影標識)設置為無效,并將需要使用該緩存線中數據的當前任務掛起。待數據寫入完成后,Corel釋放硬件信號量SEM10,例如,將硬件信號量SEMlO設置為低電平“O”。為了避免CoreO不停地去檢測其與Corel之間的硬件信號量是否釋放,在本發(fā)明實施例中,Corel釋放硬件信號量SEMlO的同時向CoreO發(fā)送中斷INT10。CoreO在收到中斷INTlO后,根據Corel設置的兩個寄存器中的數值,刷新其核內緩存線(圖中使用格線陰影標識),即,將Corel向MEMl內存片區(qū)(斜線陰影標識的區(qū)域)寫入的數據讀取至核內緩存線(圖中使用格線陰影標識),并重新激活之前掛起的當前任務。 需要說明的是,在本發(fā)明實施例中,CoreO在響應Corel發(fā)送的中斷時,只需要檢測到中斷就激活之前掛起的當前任務,并不需要調用專門的中斷處理函數。由于只是檢測是否有中斷,因此,系統(tǒng)也就沒有進入中斷處理函數時需要的各種開銷。請參閱附圖4,是本發(fā)明實施例提供的多核系統(tǒng)結構示意圖。為了便于說明,僅僅示出了與本發(fā)明實施例相關的部分。圖4示例的多核系統(tǒng),例如,可以是基站中的基帶處理系統(tǒng),至少包括第一單核I和第二單核2。以多核系統(tǒng)是基站中的基帶處理系統(tǒng)為例,此處的第一單核I和第二單核2可以是基帶處理系統(tǒng)中的基帶處理芯片。圖3示例的第一單核I包括信號量設置模塊41和中斷發(fā)送模塊43,第二單核2包括信號量檢測模塊42和數據刷新模塊44,其中信號量設置模塊41,用于設置信號量后向第二單核2的可讀可寫共享內存寫入數據;信號量檢測模塊42,用于檢測信號量,若所述信號量為約定的預設值,則第二單核2停止使用核內至少一個緩存線中的數據,其中,所述核內緩存線是所述第二單核2內的一段內存區(qū)域,與所述第二單核2的可讀可寫共享內存中用于存儲寫入數據的內存區(qū)域對應,即,與所述第二單核2的可讀可寫共享內存中存儲所述第一單核I設置信號量后寫入數據的內存區(qū)域對應;中斷發(fā)送模塊43,用于在所述數據寫入過程完成后向第二單核2發(fā)送中斷;數據刷新模塊44,用于根據中斷發(fā)送模塊43發(fā)送的中斷,將第一單核I向第二單核2的可讀可寫共享內存寫入的數據讀取至第二單核2的核內至少一個緩存線。需要說明的是,以上多核系統(tǒng)的實施方式中,各功能模塊的劃分僅是舉例說明,實際應用中可以根據需要,例如相應硬件的配置要求或者軟件的實現的便利考慮,而將上述功能分配由不同的功能模塊完成,即將所述多核系統(tǒng)的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。而且,實際應用中,本實施例中的相應的功能模塊可以是由相應的硬件實現,也可以由相應的硬件執(zhí)行相應的軟件完成,例如,前述的信號量設置模塊,可以是具有執(zhí)行前述設置信號量后向第二單核的可讀可寫共享內存寫入數據的硬件,例如信號量設置器,也可以是能夠執(zhí)行相應計算機程序從而完成前述功能的一般處理器或者其他硬件設備;再如前述的信號量檢測模塊,可以是具有執(zhí)行前述檢測信號量,若所述信號量為約定的預設值,則第二單核2停止使用核內至少一個緩存線中的數據功能的硬件,例如信號量檢測器,也可以是能夠執(zhí)行相應計算機程序從而完成前述功能的一般處理器或者其他硬件設備。在附圖4的示例中,信號量可以為硬件信號量,信號量設置模塊41具體用于將該硬件信號量設置為約定的高電平“I”或者將該硬件信號量設置為約定的低電平“0”;相應地,信號量檢測模塊42具體用于調用應用程序接口 API函數,檢測所述硬件信號量是否為約定的高電平“ I”或低電平“0”。附圖4示例的信號量檢測 模塊42還包括無效設置單元51,如附圖5所示本發(fā)明另一實施例提供的多核系統(tǒng)。無效設置單元51用于將第二單核2核內緩存線置為無效并將當前任務掛起或者切換至其他任務。附圖4或附圖5示例的第二單核2還包括任務激活模塊61,如附圖6所示本發(fā)明另一實施例提供的多核系統(tǒng)任務激活模塊61。任務激活模塊61用于在收到中斷發(fā)送模塊43發(fā)送的中斷后激活掛起的當前任務。需要說明的是,上述裝置各模塊/單元之間的信息交互、執(zhí)行過程等內容,由于與本發(fā)明方法實施例基于同一構思,其帶來的技術效果與本發(fā)明方法實施例相同,具體內容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,RandomAccess Memory)、磁盤或光盤等。以上對本發(fā)明實施例提供的實現數據一致性的方法和一種多核系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.ー種實現數據一致性的方法,其特征在于,所述方法包括 多核系統(tǒng)中第一單核設置信號量后向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據; 所述第二單核檢測所述信號量,若所述信號量為約定的預設值,則所述第二單核停止使用核內至少ー個緩存線中的數據,所述核內緩存線是所述第二單核內的一段內存區(qū)域,與所述第二單核的可讀可寫共享內存中用于存儲寫入數據的內存區(qū)域對應; 所述第一單核在所述數據寫入過程完成后向所述第二單核發(fā)送中斷; 所述第二單核根據所述中斷,將所述可讀可寫共享內存寫入的數據讀取至所述核內至少ー個緩存線。
2.如權利要求I所述的方法,其特征在于,所述信號量為硬件信號量; 所述多核系統(tǒng)中第一單核設置信號量具體包括所述多核系統(tǒng)中第一單核將所述硬件信號量設置為高電平“ I”; 所述第二單核檢測所述信號量,若所述信號量為約定的預設值,則所述第二單核停止使用核內至少ー個緩存線中的數據包括 所述第二單核檢測所述硬件信號量,若所述硬件信號量為約定的所述高電平“ I ”,則所述第二單核停止使用核內至少ー個緩存線中的數據。
3.如權利要求2所述的方法,其特征在于,所述第二單核檢測所述信號量包括 所述第二單核調用應用程序接ロ API函數,檢測所述硬件信號量是否為高電平“I”。
4.如權利要求I所述的方法,其特征在于,所述信號量為硬件信號量; 所述多核系統(tǒng)中第一單核設置信號量包括所述多核系統(tǒng)中第一單核將所述硬件信號量設置為低電平“0”; 所述第二單核檢測所述信號量,若所述信號量為約定的預設值,則所述第二單核停止使用核內至少ー個緩存線中的數據包括 所述第二單核檢測所述硬件信號量,若所述硬件信號量為約定的所述低電平“0”,則所述第二單核停止使用核內至少ー個緩存線中的數據。
5.如權利要求4所述的方法,其特征在于,所述第二單核檢測所述信號量包括 所述第二單核調用應用程序接ロ API函數,檢測所述硬件信號量是否為低電平“O”。
6.如權利要求I至5任意一項所述的方法,其特征在于,所述若所述信號量為約定的預設值,則所述第二單核停止使用核內緩存線中的數據包括 所述第二單核將所述核內緩存線置為無效并將當前任務掛起或者切換至其他任務。
7.如權利要求6所述的方法,其特征在于,所述第二單核接收到所述中斷后,還包括 所述第二單核激活所述掛起的當前任務。
8.ー種多核系統(tǒng),至少包括第一單核和第二單核,其特征在于,所述第一單核包括信號量設置模塊和中斷發(fā)送模塊,所述第二單核包括信號量檢測模塊和數據刷新模塊; 所述信號量設置模塊,用于設置信號量后向所述第二單核的可讀可寫共享內存寫入數據; 所述信號量檢測模塊,用于檢測所述信號量,若所述信號量為約定的預設值,則所述第ニ單核停止使用核內至少ー個緩存線中的數據,所述核內緩存線是所述第二單核內的一段內存區(qū)域,與所述第二單核的可讀可寫共享內存中用于存儲寫入數據的內存區(qū)域對應;所述中斷發(fā)送模塊,用于在所述數據寫入過程完成后向所述第二單核發(fā)送中斷; 所述數據刷新模塊,用于根據所述中斷,將所述可讀可寫共享內存寫入的數據讀取至所述核內至少ー個緩存線。
9.如權利要求8所述的多核系統(tǒng),其特征在于,所述信號量為硬件信號量; 所述信號量設置模塊具體用于將所述硬件信號量設置為高電平“ I ”。
10.如權利要求9所述的多核系統(tǒng),其特征在于,所述信號量檢測模塊具體用于調用應用程序接ロ API函數,檢測所述硬件信號量是否為高電平“I”。
11.如權利要求8所述的多核系統(tǒng),其特征在于,所述信號量為硬件信號量; 所述信號量設置模塊具體用于將所述硬件信號量設置為低電平“ O”。
12.如權利要求11所述的多核系統(tǒng),其特征在于,所述信號量檢測模塊具體用于調用應用程序接ロ API函數,檢測所述硬件信號量是否為低電平“O”。
13.如權利要求8至12任意一項所述的多核系統(tǒng),其特征在于,所述信號量檢測模塊包括 無效設置単元,用于將所述核內緩存線置為無效并將當前任務掛起或者切換至其他任務。
14.如權利要求13所述的多核系統(tǒng),其特征在于,所述第二單核還包括 任務激活模塊,用于在收到所述中斷后激活所述掛起的當前任務。
全文摘要
本發(fā)明實施例提供實現數據一致性的方法和一種多核系統(tǒng),以提高數據存取效率。所述方法包括多核系統(tǒng)中第一單核設置信號量后向多核系統(tǒng)中第二單核的可讀可寫共享內存寫入數據;所述第二單核檢測所述信號量,若所述信號量為約定的預設值,則第二單核停止使用核內至少一個緩存線中的數據;所述第一單核在所述數據寫入過程完成后向所述第二單核發(fā)送中斷;所述第二單核根據所述中斷,將所述可讀可寫共享內存寫入的數據讀取至所述核內至少一個緩存線。本發(fā)明提供的方法降低了實現的復雜度,也節(jié)省了數據寫入時間并大大提高系統(tǒng)存取數據的效率,保證了單核核內緩存和核外共享內存中的數據一致。
文檔編號G06F15/167GK102855214SQ20111017627
公開日2013年1月2日 申請日期2011年6月27日 優(yōu)先權日2011年6月27日
發(fā)明者畢波, 劉強 申請人:上海華為技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1