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

處理多層內(nèi)存結(jié)構(gòu)中不可分割操作的內(nèi)存模塊及方法

文檔序號:6423176閱讀:244來源:國知局
專利名稱:處理多層內(nèi)存結(jié)構(gòu)中不可分割操作的內(nèi)存模塊及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種不可分割操作(atomic operation),且特別涉及一種處理多層內(nèi)存結(jié)構(gòu)(multi-level memory structure, MLMS)中不可分割操作的內(nèi)存模塊及方法。
背景技術(shù)
不可分割操作為被結(jié)合成一執(zhí)行流程的一組載入(load)與儲存(store)操作, 其不允許其他操作在載入與儲存操作間修改相關(guān)的數(shù)據(jù)。對被多個數(shù)據(jù)處理引擎(Data Processing Engine,DPE)分享的內(nèi)存結(jié)構(gòu)來說,處理不可分割操作的機制非常重要。其中各個數(shù)據(jù)處理引擎為通用目的處理器(general-purpose processor)或是特殊目的處理器 (special-purposeprocessor),例如數(shù)位信號處理器(Digital Signal Processor, DSP)。 藉由不可分割操作可確保數(shù)據(jù)處理引擎數(shù)據(jù)存取操作的正確性和一致性而不被其它的數(shù)據(jù)處理引擎所干擾。對分享內(nèi)存系統(tǒng)來說,不可分割操作的實施非常重要。然而,傳統(tǒng)的技術(shù)僅解決在單層內(nèi)存系統(tǒng)中實施不可分割操作的問題。在多層內(nèi)存系統(tǒng)中實施不可分割操作的問題仍未被解決。

發(fā)明內(nèi)容
因此,本發(fā)明提供一種用于處理多層內(nèi)存結(jié)構(gòu)中不可分割操作的內(nèi)存模塊與方法。處理不可分割操作的內(nèi)存模塊方法確保所有數(shù)據(jù)處理引擎分享多層內(nèi)存結(jié)構(gòu)時的不可分割操作執(zhí)行的正確性、一致性以及有效性。本發(fā)明提出一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的內(nèi)存模塊,內(nèi)存模塊包括一常規(guī)內(nèi)存單元(Regular Memory Unit,RMU)、一不可分割操作標簽(Atomic Operation Tag,A0T)單元以及一不可分割操作邏輯單元(Atomic Operation Logic Unit, A0LU)。其中常規(guī)內(nèi)存單元儲存內(nèi)存模塊的數(shù)據(jù)。不可分割操作標簽單元儲存對應(yīng)上述多個不可分割操作的多個不可分割操作標簽。不可分割操作邏輯單元耦接至常規(guī)內(nèi)存單元與不可分割操作標簽單元,其中不可分割操作邏輯單元執(zhí)行一處理流程以處理上述多個不可分割操作。前述處理流程包括下列步驟。接收來自一數(shù)據(jù)處理引擎或一上層內(nèi)存模塊(Upper Level Memory Module, ULMM)的一個不可分割操作之一載入鎖定操作(Load-Locked Operation, LL0)。當(dāng)一第一條件為真時,記錄此載入鎖定操作做為內(nèi)存模塊中的一不可分割操作標簽。當(dāng)一第二條件為真時,利用內(nèi)存模塊轉(zhuǎn)送載入鎖定操作至一下層內(nèi)存模塊。其中上層內(nèi)存模塊連接在此內(nèi)存模塊靠近數(shù)據(jù)處理引擎的一側(cè),而下層內(nèi)存模塊連接在此內(nèi)存模塊遠離數(shù)據(jù)處理引擎的一側(cè)。在本發(fā)明的一實施例中,上述的第一條件為載入鎖定操作的可高速緩存性不允許內(nèi)存模塊保持被載入鎖定操作存取的數(shù)據(jù)副本或載入鎖定操作的可高速緩存性關(guān)聯(lián)到內(nèi)存模塊,且此載入鎖定操作不被記錄在不可分割操作標簽單元中;第二條件為載入鎖定操作的可高速緩存性不允許內(nèi)存模塊保持被載入鎖定操作存取的數(shù)據(jù)副本。在本發(fā)明的另一實施例中,上述的第一條件為載入鎖定操作的可高速緩存性關(guān)聯(lián)到內(nèi)存模塊,且載入鎖定操作不被記錄在不可分割操作標簽單元中;第二條件為載入鎖定操作的可高速緩存性不允許內(nèi)存模塊保持被載入鎖定操作存取的數(shù)據(jù)副本。在本發(fā)明的另一實施例中,第一條件為被載入鎖定操作存取的數(shù)據(jù)被儲存至內(nèi)存模塊或是將為了載入鎖定操作而被帶入內(nèi)存模塊,且載入鎖定操作未被記錄于不可分割操作標簽單元中;第二條件為載入鎖定操作存取的數(shù)據(jù)未被儲存至內(nèi)存模塊且不會為了載入鎖定操作而被帶入內(nèi)存模塊。當(dāng)常規(guī)內(nèi)存單元中的數(shù)據(jù)由于高速緩存內(nèi)存數(shù)據(jù)更換方案被無效化,不可分割操作邏輯單元無效化不可分割操作標簽單元中所有與被無效化數(shù)據(jù)的位址相合的不可分割操作標簽。在本發(fā)明的一實施例中,上述的不可分割操作邏輯單元執(zhí)行的處理流程包括下列步驟。接收來自一數(shù)據(jù)處理引擎或一上層內(nèi)存模塊的一個不可分割操作之一儲存條件操作 (Store-Conditional Operation, SCO)。當(dāng)一第三條件為真時,無效化內(nèi)存模塊中所有與儲存條件操作存取的內(nèi)存位址相合的不可分割操作標簽、執(zhí)行儲存條件操作的儲存操作,并傳回一成功狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊。當(dāng)一第四條件為真時,禁止儲存條件操作的儲存操作并傳回一失敗狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊。當(dāng)一第五條件為真時, 轉(zhuǎn)送儲存條件操作至一下層內(nèi)存模塊并傳回下層內(nèi)存模塊傳回的狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊。在本發(fā)明的另一實施例中,上述的第三條件為在不可分割操作標簽單元中有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且儲存條件操作存取的數(shù)據(jù)儲存于內(nèi)存模塊中。第四條件為在不可分割操作標簽單元中沒有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊。第五條件為在不可分割操作標簽單元中有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且儲存條件操作存取的數(shù)據(jù)未儲存于內(nèi)存模塊中。在本發(fā)明的另一實施例中,上述的第三條件為儲存條件操作的可高速緩存性關(guān)聯(lián)到內(nèi)存模塊,且在不可分割操作標簽單元中有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊。第四條件為儲存條件操作的可高速緩存性關(guān)聯(lián)到內(nèi)存模塊,且在不可分割操作標簽單元中沒有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊。第五條件為儲存條件操作的可高速緩存性不允許內(nèi)存模塊保持被儲存條件操作存取的一數(shù)據(jù)副本。在本發(fā)明的一實施例中,第三條件為在不可分割操作標簽單元中有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊。第四條件為在不可分割操作標簽單元中沒有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且儲存條件操作存取的數(shù)據(jù)儲存于內(nèi)存模塊中。第五條件為在不可分割操作標簽單元中沒有不可分割操作標簽具有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且儲存條件操作存取的數(shù)據(jù)未儲存于內(nèi)存模塊中。本發(fā)明亦提出一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的方法,包括利用不可分割操作邏輯單元執(zhí)行載入鎖定操作的處理流程。本發(fā)明還提出另一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的方法,包括利
6用不可分割操作邏輯單元執(zhí)行儲存條件操作的處理流程。為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。


圖1顯示為本發(fā)明一實施例的多層內(nèi)存結(jié)構(gòu)的示意圖。圖2顯示為圖1實施例的多層內(nèi)存結(jié)構(gòu)的內(nèi)存模塊的方塊圖。圖3-圖9顯示為本發(fā)明一實施例的處理多層內(nèi)存結(jié)構(gòu)中不可分割操作的方法流程圖。附圖標記101 106 數(shù)據(jù)處理引擎121 125、210 內(nèi)存模塊220 不可分割操作標簽單元230 不可分割操作邏輯單元240 常規(guī)內(nèi)存單元251 253、261 洸2 界面310 350、410 470、510 550、610 670、710 750、810 870、910 930
處理多層內(nèi)存結(jié)構(gòu)中不可分割操作的方法步驟
具體實施例方式現(xiàn)將參照附圖來對本發(fā)明的實施方式進行詳細說明。以下的附圖的記載中,對相同或類似的部分附上相同或類似的參考符號。圖1顯示為本發(fā)明一實施例的多層內(nèi)存結(jié)構(gòu)的示意圖。圖1的多層內(nèi)存結(jié)構(gòu)包括 6個數(shù)據(jù)處理引擎101-106和5個內(nèi)存模塊121-125。內(nèi)存模塊121-125被串接在一起,以使各個內(nèi)存模塊可提供或接受使用與上層內(nèi)存模塊(Upper Level Memory Module, ULMM) 或數(shù)據(jù)處理引擎所發(fā)起的存取業(yè)務(wù)有關(guān)的數(shù)據(jù)。各個上層內(nèi)存模塊121-123可為一高速緩存內(nèi)存(cache memory)或一影子內(nèi)存(shadow memory)。舉例來說,內(nèi)存模塊121禾口 122 可分別像一個第一層(level 1)高速緩存內(nèi)存和一個第二層(level 2)高速緩存內(nèi)存一樣地運作。最低層的內(nèi)存模塊1 和125為數(shù)據(jù)的真實副本(authentic copy)駐留的主要內(nèi)存。上層內(nèi)存模塊和下層內(nèi)存模塊(Lower Level Memory Module, LLMM)的概念為相對的。對任何多層內(nèi)存結(jié)構(gòu)中的內(nèi)存模塊來說,上層內(nèi)存模塊為連接至較接近數(shù)據(jù)處理引擎一側(cè)的內(nèi)存模塊,而下層內(nèi)存模塊則為連接至較遠離數(shù)據(jù)處理引擎一側(cè)的內(nèi)存模塊。舉例來說,內(nèi)存模塊121為內(nèi)存模塊122的上層內(nèi)存模塊,而內(nèi)存模塊IM和125為內(nèi)存模塊 122的下層內(nèi)存模塊。內(nèi)存模塊122和123為內(nèi)存模塊125的上層內(nèi)存模塊。內(nèi)存模塊121 和123沒有上層內(nèi)存模塊。內(nèi)存模塊IM和125沒有下層內(nèi)存模塊。在多層內(nèi)存結(jié)構(gòu)中一內(nèi)存模塊可將來自其上層內(nèi)存模塊的內(nèi)存存取業(yè)務(wù)轉(zhuǎn)送至其下層內(nèi)存模塊。在本實施例中,不可分割操作包括一對相應(yīng)的內(nèi)存存取操作,亦即一載入指令和一儲存指令。其中不可分割操作的載入指令被稱為載入鎖定操作(Load-LockedOperation, LL0)。不可分割操作的儲存指令被命名為儲存條件操作(Store-Conditional Operation, SCO)。載入鎖定操作與儲存條件操作為圖1的數(shù)據(jù)處理引擎所發(fā)起。圖1中各個內(nèi)存模塊可具有相同或不同的設(shè)計和結(jié)構(gòu),但至少包括一不可分割操作標簽(Atomic Operation Tag,A0T)單元和一不可分割操作邏輯單元(Atomic Operation Logic Unit, A0LU)o圖2顯示為本發(fā)明一實施例的內(nèi)存模塊210的方塊圖。圖1中各個內(nèi)存模塊121-125可以相同或不同的結(jié)構(gòu)來實施,例如以圖2中至少具有一不可分割操作標簽單元和一不可分割操作邏輯單元的內(nèi)存模塊210來實施。內(nèi)存模塊210包括一不可分割操作標簽單元220、一不可分割操作邏輯單元230和一常規(guī)內(nèi)存單元MO (Regular MemoryUnit,RMU)0另外,內(nèi)存模塊210具有連接至其上層內(nèi)存模塊的一組或多組界面(例如界面251-25 和連接至其下層內(nèi)存模塊的一組或多組界面下層內(nèi)存模塊(例如界面 261-262)。常規(guī)內(nèi)存單元240包括用于數(shù)據(jù)儲存的內(nèi)存胞陣列和常規(guī)內(nèi)存單元存取控制邏輯。常規(guī)內(nèi)存單元240儲存并提供內(nèi)存模塊210的數(shù)據(jù)。不可分割操作標簽單元220儲存對應(yīng)不可分割操作的不可分割操作標簽。不可分割操作邏輯單元230耦接至常規(guī)內(nèi)存單元 240和不可分割操作標簽單元220。不可分割操作邏輯單元230將被內(nèi)存模塊210接收的不可分割操作記錄成為在不可分割操作標簽單元220中的不可分割操作標簽。另外,不可分割操作邏輯單元230執(zhí)行一處理流程以處理被內(nèi)存模塊210所接收的不可分割操作。不可分割操作邏輯單元230管理不可分割操作標簽以處理不可分割操作的不可分割流程(atomicity process) 0各個不可分割操作標簽包括對應(yīng)不可分割操作的關(guān)鍵資訊(key information)。關(guān)鍵資訊包括對應(yīng)不可分割操作的辨識碼(identification,ID) 和/或內(nèi)存位址。另外,各個不可分割操作標簽包括一有效位元。不可分割操作的辨識碼被發(fā)起不可分割操作的數(shù)據(jù)處理引擎所分派。一個或多個辨識碼可被一數(shù)據(jù)處理引擎使用。 若沿著此內(nèi)存模塊的所有上層界面路徑僅有一數(shù)據(jù)處理引擎連接至此一內(nèi)存模塊,而且只有一個不可分割操作的辨識碼被此數(shù)據(jù)處理引擎所使用,則此數(shù)據(jù)處理引擎所發(fā)起的不可分割操作的辨識碼可被省略。不可分割操作的內(nèi)存位址亦可被省略。在此情形下,對應(yīng)的不可分割操作標簽不具有內(nèi)存位址且任何其它存取同一內(nèi)存模塊的不可分割操作與前述不可分割操作標簽相合。不可分割操作標簽相合的概念將于稍后說明。不可分割操作的載入鎖定操作和儲存條件操作皆包括不可分割操作的辨識碼和內(nèi)存位址。有效位元指示不可分割操作標簽是否有效。不可分割操作標簽單元220中無效的不可分割操作標簽被視為未使用的儲存空間且可被新的不可分割操作標簽條目寫入。不可分割操作邏輯單元230所執(zhí)行的處理流程可如圖3 圖9所示。其中圖3與圖4顯示處理流程的第一種選擇。圖5與圖6顯示處理流程的第二種選擇。圖7與圖8顯示處理流程的第三種選擇。圖3顯示第一種選擇的載入鎖定操作的處理流程,而圖4顯示第一種選擇的儲存條件操作的處理流程。圖3中的流程開始于步驟310。首先,不可分割操作邏輯單元 230接收來自數(shù)據(jù)處理引擎或內(nèi)存模塊210的上層內(nèi)存模塊的不可分割操作的載入鎖定操作(步驟310)。接著,不可分割操作邏輯單元230檢查載入鎖定操作的可高速緩存性 (cacheability)是否不允許內(nèi)存模塊210保持數(shù)據(jù)的副本以被該載入鎖定操作存取,或者載入鎖定操作的可高速緩存性是否關(guān)聯(lián)到(affiliate to)內(nèi)存模塊210 (步驟320)。若載入鎖定操作的可高速緩存性允許內(nèi)存模塊210保持數(shù)據(jù)的副本以被該載入鎖定操作存取且載入鎖定操作的可高速緩存性并未關(guān)聯(lián)到內(nèi)存模塊210,不可分割操作邏輯單元230不執(zhí)行任何動作且流程結(jié)束。否則,流程進入到步驟330。前述的可高速緩存性為被不可分割操作存取的內(nèi)存位址的屬性??筛咚倬彺嫘远x內(nèi)存模塊在多層內(nèi)存結(jié)構(gòu)中的哪一層位階被允許保持數(shù)據(jù)的副本被不可分割操作存取??筛咚倬彺嫘砸喽x不可分割操作存取高速緩存內(nèi)存的內(nèi)存位址的寫入決策(writing policie),例如寫穿(write-through)或?qū)懟?write-back)??筛咚倬彺鎸傩员话ㄔ诓豢煞指畈僮鞯妮d入鎖定操作和儲存條件操作中??筛咚倬彺骊P(guān)聯(lián)性(cacheability affiliation)的定義為,若一內(nèi)存模塊為一不可分割操作的可高速緩存性所允許的可保持上述不可分割操作所存取的數(shù)據(jù)副本的內(nèi)存模塊中最上層的內(nèi)存模塊,則稱之為上述不可分割操作的可高速緩存性關(guān)聯(lián)到上述內(nèi)存模塊接著,不可分割操作邏輯單元230檢查不可分割操作的載入鎖定操作是否被記錄在不可分割操作標簽單元中220中(步驟330)。若載入鎖定操作還未被紀錄,不可分割操作邏輯單元230在不可分割操作標簽單元220中記錄載入鎖定操作以做為一不可分割操作標簽(步驟340)。若載入鎖定操作已被記錄,不可分割操作邏輯單元230不重復(fù)記錄載入鎖定操作。如此流程將跳過步驟340并進入到步驟345。當(dāng)不可分割操作邏輯單元230在步驟340中記錄載入鎖定操作,不可分割操作邏輯單元230分配不可分割操作標簽單元220中的前述不可分割操作標簽以記錄載入鎖定操作的關(guān)鍵資訊,然后藉由寫入預(yù)設(shè)值至不可分割操作標簽的有效位元設(shè)定不可分割操作標簽為有效。載入鎖定操作的關(guān)鍵資訊包括屬于載入鎖定操作的不可分割操作的辨識碼和/或內(nèi)存位址。如上所述,辨識碼和內(nèi)存位址可被省略。在步驟330中,不可分割操作邏輯單元230藉由比較不可分割操作標簽單元220中不可分割操作標簽的關(guān)鍵資訊與載入鎖定操作的關(guān)鍵資訊檢查載入鎖定操作是否被記錄。若關(guān)鍵資訊包括辨識碼和位址兩者, 當(dāng)在不可分割操作標簽單元220中有不可分割操作標簽具有與載入鎖定操作相同的辨識碼和位址時,不可分割操作邏輯單元230在步驟330中判定載入鎖定操作已被記錄。若關(guān)鍵資訊包括辨識碼或位址,當(dāng)在不可分割操作標簽單元220中有不可分割操作標簽具有與載入鎖定操作相同的辨識碼或位址時,不可分割操作邏輯單元230在步驟330中判定載入鎖定操作已被記錄。當(dāng)比較載入鎖定操作的內(nèi)存位址與不可分割操作標簽的內(nèi)存位址時, 不可分割操作邏輯單元230可比較兩者位址的位址全長或特定的最高有效位元數(shù)(most significant bits,MSBs)。前述最高有效位元比的較使不可分割操作標簽可覆蓋內(nèi)存位址的特定范圍。接著,在執(zhí)行步驟330或340后,不可分割操作邏輯單元230檢查載入鎖定操作的可高速緩存性是否允許內(nèi)存模塊210保持數(shù)據(jù)的副本以被該載入鎖定操作存取(步驟 345)。若載入鎖定操作的可高速緩存性不允許內(nèi)存模塊210保持數(shù)據(jù)的副本以被該載入鎖定操作存取,不可分割操作邏輯單元230轉(zhuǎn)送載入鎖定操作至內(nèi)存模塊210的下層內(nèi)存模塊(步驟350)。否則,在不執(zhí)行步驟350的情形下結(jié)束流程。載入鎖定操作包括載入內(nèi)存數(shù)據(jù)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊發(fā)布載入鎖定操作的操作。在多層內(nèi)存結(jié)構(gòu)中載入內(nèi)存數(shù)據(jù)為本發(fā)明領(lǐng)域中傳統(tǒng)的周知技術(shù),因此不再贅述。
圖4顯示為對應(yīng)圖3中載入鎖定操作處理流程的儲存條件操作處理流程。首先, 不可分割操作邏輯單元230接收來自數(shù)據(jù)處理引擎或內(nèi)存模塊210的上層內(nèi)存模塊的不可分割操作的儲存條件操作(步驟410)。接著,不可分割操作邏輯單元230比較不可分割操作標簽單元220中不可分割操作標簽的關(guān)鍵資訊與儲存條件操作的關(guān)鍵資訊以判定是否有相合的不可分割操作標簽(步驟420)。若無相合的不可分割操作標簽,不可分割操作邏輯單元230禁止儲存條件操作的儲存操作并傳回失敗狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟430)。若有相合的不可分割操作標簽,流程進入步驟440。有相合的不可分割操作標簽意指在不可分割操作標簽單元220中的不可分割操作標簽有與儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊。儲存條件操作的關(guān)鍵資訊可包括屬于儲存條件操作的不可分割操作的辨識碼和/或內(nèi)存位址。不可分割操作邏輯單元230利用與不可分割操作邏輯單元 230比較不可分割操作標簽單元220中的不可分割操作標簽的關(guān)鍵資訊與載入鎖定操作的關(guān)鍵資訊相同的方式比較不可分割操作標簽的關(guān)鍵資訊與儲存條件操作的關(guān)鍵資訊。若有相合的不可分割操作標簽,不可分割操作邏輯單元230檢查是否有數(shù)據(jù)命中 (data hit)(步驟440)。數(shù)據(jù)命中意指被儲存條件操作存取的數(shù)據(jù)被儲存在內(nèi)存模塊210 的常規(guī)內(nèi)存單元240中。若無數(shù)據(jù)命中,不可分割操作邏輯單元230轉(zhuǎn)送儲存條件操作至下層內(nèi)存模塊并傳回下層內(nèi)存模塊傳回的狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟450)。 若有數(shù)據(jù)命中,不可分割操作邏輯單元230無效化不可分割操作標簽單元220中所有與儲存條件操作存取的內(nèi)存位址相合的不可分割操作標簽(步驟460)。不論不可分割操作標簽的辨識碼是否與儲存條件操作的識別碼相同,不可分割操作邏輯單元230無效化每個具有相合位址的不可分割操作標簽。另外,在部分實施例中,不可分割操作邏輯單元更可發(fā)布無效化操作(invalidation operation)至其下層內(nèi)存模塊以無效化具有相同位址的不可分割操作標簽。隨后所有具有相合位址的儲存條件操作皆將失敗,因為不會有可與其相合的不可分割操作標簽。接著,不可分割操作邏輯單元230執(zhí)行儲存條件操作的儲存操作并傳回成功狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟470)。儲存條件操作的執(zhí)行細節(jié)可隨儲存條件操作的可高速緩存性和不可分割操作邏輯單元230的實施方式而有所變化。若有數(shù)據(jù)命中,儲存條件操作的數(shù)據(jù)被直接儲存至內(nèi)存模塊210的常規(guī)內(nèi)存單元M0。當(dāng)可高速緩存性指示寫穿方案或無數(shù)據(jù)命中時,儲存條件操作的數(shù)據(jù)可轉(zhuǎn)送至內(nèi)存模塊210的下層內(nèi)存模塊。多層內(nèi)存結(jié)構(gòu)中儲存數(shù)據(jù)的細節(jié)為本發(fā)明領(lǐng)域中傳統(tǒng)的周知技術(shù),因此不再贅述。圖5和圖6顯示為不可分割操作邏輯單元230所執(zhí)行的第二種選擇的處理流程示意圖。圖5顯示載入鎖定操作的處理流程,而圖6顯示儲存條件操作的處理流程。在載入鎖定操作處理流程中,首先不可分割操作邏輯單元230接收來自數(shù)據(jù)處理引擎或上層內(nèi)存模塊的不可分割操作的載入鎖定操作(步驟510)。接著,不可分割操作邏輯單元230檢查載入鎖定操作的可高速緩存性(步驟520)。若載入鎖定操作的可高速緩存性不允許內(nèi)存模塊210保持數(shù)據(jù)的副本以被該載入鎖定操作存取,不可分割操作邏輯單元230轉(zhuǎn)送載入鎖定操作至內(nèi)存模塊210的下層內(nèi)存模塊(步驟530)。若載入鎖定操作的可高速緩存性關(guān)聯(lián)到內(nèi)存模塊210,不可分割操作邏輯單元230檢查載入鎖定操作是否已被記錄至不可分割操作標簽單元220中(步驟M0)。若載入鎖定操作已被記錄,不可分割操作邏輯單元230不執(zhí)行任何動作且流程結(jié)束。若載入鎖定操作還未被記錄,不可分割操作邏輯單元230記錄載入鎖定操作做為不可分割操作標簽單元220中的不可分割操作標簽 (步驟550)。在儲存條件操作處理流程中,首先不可分割操作邏輯單元230接收來自數(shù)據(jù)處理引擎或上層內(nèi)存模塊的不可分割操作的儲存條件操作(步驟610)。接著,不可分割操作邏輯單元230檢查儲存條件操作的可高速緩存性(步驟620)。若儲存條件操作的可高速緩存性不允許內(nèi)存模塊210保持數(shù)據(jù)的副本以被該儲存條件操作存取,不可分割操作邏輯單元 230轉(zhuǎn)送儲存條件操作至內(nèi)存模塊210的下層內(nèi)存模塊并傳回下層內(nèi)存模塊傳回的狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟630)。若儲存條件操作的可高速緩存性關(guān)聯(lián)到內(nèi)存模塊210,不可分割操作邏輯單元230檢查是否有相合的不可分割操作標簽(步驟640)。若無相合的不可分割操作標簽,不可分割操作邏輯單元230禁止儲存條件操作的儲存操作并傳回失敗狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟650)。若有相合的不可分割操作標簽, 不可分割操作邏輯單元230無效化不可分割操作標簽單元220中所有與儲存條件操作存取的內(nèi)存位址相合的不可分割操作標簽(步驟660)。接著,不可分割操作邏輯單元230執(zhí)行儲存條件操作的儲存操作并傳回成功狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟670)。圖7和圖8顯示為不可分割操作邏輯單元230所執(zhí)行的處理流程的第三種選擇的示意圖。圖7顯示載入鎖定操作的處理流程,而圖8顯示儲存條件操作的處理流程。在載入鎖定操作處理流程中,首先不可分割操作邏輯單元230接收來自數(shù)據(jù)處理引擎或上層內(nèi)存模塊的不可分割操作的載入鎖定操作(步驟710)。接著,不可分割操作邏輯單元230檢查是否有數(shù)據(jù)命中或數(shù)據(jù)分配(dataallocaiton)(步驟720)。數(shù)據(jù)命中意指被載入鎖定操作存取的數(shù)據(jù)被儲存在內(nèi)存模塊210的常規(guī)內(nèi)存單元240中。數(shù)據(jù)分配意指被載入鎖定操作存取的數(shù)據(jù)將為了載入鎖定操作而被帶入內(nèi)存模塊210的常規(guī)內(nèi)存單元 240 中。若無數(shù)據(jù)命中且無數(shù)據(jù)分配,不可分割操作邏輯單元230轉(zhuǎn)送載入鎖定操作至內(nèi)存模塊210的下層內(nèi)存模塊(步驟730)。若有數(shù)據(jù)命中或無數(shù)據(jù)分配,不可分割操作邏輯單元230檢查載入鎖定操作是否已被記錄至不可分割操作標簽單元220中(步驟740)。若載入鎖定操作已被記錄,不可分割操作邏輯單元230不執(zhí)行任何動作且流程結(jié)束。若載入鎖定操作還未被記錄,不可分割操作邏輯單元230記錄載入鎖定操作做為不可分割操作標簽單元220中的不可分割操作標簽(步驟750)。另外,當(dāng)任何常規(guī)內(nèi)存單元MO中的數(shù)據(jù)因為內(nèi)存模塊210執(zhí)行高速緩存內(nèi)存更換方案而被無效化,不可分割操作邏輯單元230無效化操作標簽單元220中所有與無效化數(shù)據(jù)的內(nèi)存位址相合的不可分割操作標簽。在儲存條件操作處理流程中,首先不可分割操作邏輯單元230接收來自數(shù)據(jù)處理引擎或內(nèi)存模塊210的上層內(nèi)存模塊的不可分割操作的儲存條件操作(步驟810)。接著, 不可分割操作邏輯單元230檢查不可分割操作標簽是否與儲存條件操作為相合的(步驟 820)。若有相合的不可分割操作標簽,不可分割操作邏輯單元230無效化不可分割操作標簽單元220中所有與儲存條件操作存取的內(nèi)存位址相合的不可分割操作標簽(步驟830), 執(zhí)行儲存條件操作的儲存操作,并傳回成功狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟 840)。若無相合的不可分割操作標簽,不可分割操作邏輯單元230檢查是否有數(shù)據(jù)命中(步驟850)。若有數(shù)據(jù)命中,不可分割操作邏輯單元230禁止儲存條件操作的儲存操作并傳回失敗狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟860)。若無數(shù)據(jù)命中,不可分割操作邏輯單元230轉(zhuǎn)送儲存條件操作至內(nèi)存模塊210的下層內(nèi)存模塊并傳回下層內(nèi)存模塊傳回的狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟870)。上述處理流程的三種選擇具有不同的優(yōu)點與缺點。圖3與圖4所示的第一種選擇將對應(yīng)于不可分割操作的不可分割操作標簽儲存至直接連接數(shù)據(jù)處理引擎的第一層內(nèi)存模塊到與可高速緩存性關(guān)聯(lián)的內(nèi)存模塊中的各內(nèi)存模塊。由于不可分割操作標簽的分布和第一種選擇的流程,當(dāng)不可分割操作的儲存條件操作失敗時,數(shù)據(jù)處理引擎立即地接收來自第一層內(nèi)存模塊傳回的失敗狀態(tài)。如此快速的反應(yīng)縮短了數(shù)據(jù)處理引擎的等待時間并改善了效率。然而,不可分割操作標簽的重復(fù)儲存在不可分割操作標簽單元中為一種儲存空間的浪費,其可縮減內(nèi)存模塊的不可分割操作的處理量。相對地,圖5與圖6所示的第二種選擇僅儲存一不可分割操作標簽在與可高速緩存性關(guān)聯(lián)的內(nèi)存模塊中。類似地,圖7與圖 8所示的第三種選擇僅儲存一不可分割操作標簽在不可分割操作存取的數(shù)據(jù)駐留的內(nèi)存模塊中。在儲存空間方面不可分割操作標簽的儲存在第二和第三選擇中為最有效率的。然而, 根據(jù)第二和第三選擇,發(fā)起儲存條件操作的數(shù)據(jù)處理引擎必須等待直到儲存條件操作到達儲存該不可分割操作標簽的內(nèi)存模塊才得以接收傳回狀態(tài)。在上述處理流程中載入鎖定操作不傳回狀態(tài)。載入鎖定操作的執(zhí)行總是成功的。 在本發(fā)明的部分實施例中,載入鎖定操作可傳回成功或失敗的狀態(tài)。圖9顯示為本發(fā)明一實施例的記錄載入鎖定操作的流程圖。圖3的步驟340、圖5的步驟550以及圖7的步驟 750可被圖9的流程替代。根據(jù)圖9的流程,當(dāng)不可分割操作邏輯單元230需記錄載入鎖定操作做為不可分割操作標簽單元220中的不可分割操作標簽時,不可分割操作邏輯單元230檢查不可分割操作標簽單元220是否具有足夠的空間儲存新的不可分割操作標簽(步驟910)。若有足夠的空間儲存新的不可分割操作標簽,不可分割操作邏輯單元230記錄不可分割操作標簽單元220中的載入鎖定操作并傳回成功狀態(tài)至發(fā)起載入鎖定操作的數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟920)。若不可分割操作標簽單元220已滿而沒有空間給新的不可分割操作標簽儲存,不可分割操作邏輯單元230不記錄載入鎖定操作并傳回失敗狀態(tài)至數(shù)據(jù)處理引擎或上層內(nèi)存模塊(步驟930)。在本發(fā)明的一實施例中,載入鎖定操作經(jīng)由被數(shù)據(jù)處理引擎執(zhí)行的指令所發(fā)布。數(shù)據(jù)處理引擎響應(yīng)失敗狀態(tài)而重復(fù)執(zhí)行指令直到數(shù)據(jù)處理引擎接收到成功狀態(tài)。在本發(fā)明的一實施例中,不可分割操作的儲存條件操作經(jīng)由被數(shù)據(jù)處理引擎執(zhí)行的一綜合儲存或分支條件指令(store-or-branch-conditional instruction)所發(fā)布。除了儲存條件操作原本必要的運算元之外,儲存或分支條件指令并指定一個分支目標位址。 當(dāng)數(shù)據(jù)處理引擎接收內(nèi)存模塊傳回的成功狀態(tài)時,數(shù)據(jù)處理引擎執(zhí)行跟隨儲存或分支條件指令之后的指令。當(dāng)數(shù)據(jù)處理引擎接收內(nèi)存模塊傳回的失敗狀態(tài)時,數(shù)據(jù)處理引擎執(zhí)行另一位于儲存或分支條件指令指定的目標位址的指令?;蛘?,一個根據(jù)儲存條件操作的結(jié)果的分支指令可被執(zhí)行以與儲存條件操作一起完成相同的功能。在本發(fā)明的部分實施例中,數(shù)據(jù)處理引擎可發(fā)布無效化操作 (invalidationoperation)至內(nèi)存模塊。無效化操作包括對應(yīng)的不可分割操作的關(guān)鍵資訊 (辨識碼和/或內(nèi)存位址)。在收到無效化操作時,內(nèi)存模塊的不可分割操作邏輯單元無效化所有不可分割操作標簽單元中與對應(yīng)的不可分割操作的關(guān)鍵資訊相同的關(guān)鍵資訊。內(nèi)存模塊可轉(zhuǎn)送無效化操作至下層內(nèi)存模塊以無效化在較低層的不可分割操作標簽。另外,當(dāng)執(zhí)行不可分割操作的儲存條件操作時,內(nèi)存模塊可發(fā)布無效化操作至下層內(nèi)存模塊。例如, 當(dāng)數(shù)據(jù)處理引擎正處于多工作業(yè)而從一任務(wù)轉(zhuǎn)換至另一任務(wù)時,若前一任務(wù)發(fā)布一載入鎖定操作而后一任務(wù)發(fā)布另一載入鎖定操作,數(shù)據(jù)處理引擎可發(fā)布無效化操作以清除對應(yīng)前一載入鎖定操作的不可分割操作標簽,以確保在多層內(nèi)存結(jié)構(gòu)中不可分割操作標簽的一致性或在內(nèi)存模塊的不可分割操作標簽單元中收集一些有用的儲存空間。在上述實施例中,不可分割操作邏輯單元執(zhí)行三種選擇的處理流程。本發(fā)明并不要求所有內(nèi)存模塊執(zhí)行相同選擇的處理流程。以圖1所示的多層內(nèi)存結(jié)構(gòu)為例。內(nèi)存模塊 121的不可分割操作邏輯單元可執(zhí)行圖3和圖4所示的第一種選擇。內(nèi)存模塊122的不可分割操作邏輯單元可執(zhí)行圖5和圖6所示的第二種選擇。內(nèi)存模塊123的不可分割操作邏輯單元可執(zhí)行圖7和圖8所示的第三種選擇。多層內(nèi)存結(jié)構(gòu)可混合支援不可分割操作的內(nèi)存模塊與不支援不可分割操作的內(nèi)存模塊。換言之,多層內(nèi)存結(jié)構(gòu)中可彈性地僅具有一部分的內(nèi)存模塊包含處理不可分割操作的不可分割操作邏輯單元和不可分割操作標簽單元。當(dāng)特定的內(nèi)存模塊包含不可分割操作標簽單元和不可分割操作邏輯單元時,所有特定的內(nèi)存模塊的上層內(nèi)存模塊也必須包含不可分割操作標簽單元和不可分割操作邏輯單元。否則不可分割操作將無法正確地工作。 當(dāng)特定的內(nèi)存模塊不包含不可分割操作標簽單元和不可分割操作邏輯單元時,因為下層內(nèi)存模塊的不可分割操作標簽單元和不可分割操作邏輯單元將不會正確地工作,因此所有特定的內(nèi)存模塊的下層內(nèi)存模塊不須包含不可分割操作標簽單元和不可分割操作邏輯單元。雖然本發(fā)明已以實施例揭示如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員,當(dāng)可作些許更動與潤飾,而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的內(nèi)存模塊,包括一常規(guī)內(nèi)存單元,儲存該內(nèi)存模塊的數(shù)據(jù);一不可分割操作標簽單元,儲存對應(yīng)所述不可分割操作的多個不可分割操作標簽;以及一不可分割操作邏輯單元,耦接至該常規(guī)內(nèi)存單元與該不可分割操作標簽單元,其中該不可分割操作邏輯單元接收來自一數(shù)據(jù)處理引擎或一上層內(nèi)存模塊的所述不可分割操作之其一的一載入鎖定操作;當(dāng)一第一條件為真時,該不可分割操作邏輯單元記錄該載入鎖定操作做為該不可分割操作標簽單元中的一不可分割操作標簽;當(dāng)一第二條件為真時, 該不可分割操作邏輯單元轉(zhuǎn)送該載入鎖定操作至一下層內(nèi)存模塊。
2.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中該上層內(nèi)存模塊連接至該內(nèi)存模塊靠近該數(shù)據(jù)處理引擎的一側(cè),而該下層內(nèi)存模塊連接至該內(nèi)存模塊遠離該數(shù)據(jù)處理引擎的一側(cè)。
3.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中該第一條件為該載入鎖定操作的一可高速緩存性不允許該內(nèi)存模塊保持被該載入鎖定操作存取的一數(shù)據(jù)副本或該載入鎖定操作的可高速緩存性關(guān)聯(lián)到該內(nèi)存模塊,且該載入鎖定操作不被記錄在該不可分割操作標簽單元中;該第二條件為該載入鎖定操作的該可高速緩存性不允許該內(nèi)存模塊保持被該載入鎖定操作存取的該數(shù)據(jù)副本。
4.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中該第一條件為該載入鎖定操作的一可高速緩存性關(guān)聯(lián)到該內(nèi)存模塊,且該載入鎖定操作不被記錄在該不可分割操作標簽單元中;該第二條件為該載入鎖定操作的該可高速緩存性不允許該內(nèi)存模塊保持被該載入鎖定操作存取的一數(shù)據(jù)副本。
5.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中該第一條件為被該載入鎖定操作存取的數(shù)據(jù)被儲存至該內(nèi)存模塊或是將為了該載入鎖定操作而被帶入該內(nèi)存模塊,且該載入鎖定操作未被記錄于該不可分割操作標簽單元中;該第二條件為該載入鎖定操作存取的數(shù)據(jù)未被儲存至該內(nèi)存模塊且不會為了該載入鎖定操作而被帶入該內(nèi)存模塊。
6.根據(jù)權(quán)利要求5所述的內(nèi)存模塊,其中當(dāng)該常規(guī)內(nèi)存單元中的數(shù)據(jù)由于更換方案被無效化,該不可分割操作邏輯單元無效化該不可分割操作標簽單元中所有與該無效化數(shù)據(jù)的位址相合的不可分割操作標簽。
7.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中該不可分割操作邏輯單元記錄該載入鎖定操作做為該不可分割操作標簽單元中的該不可分割操作標簽,該不可分割操作邏輯單元分配該不可分割操作標簽單元中的該不可分割操作標簽以記錄該載入鎖定操作的一關(guān)鍵資訊然后設(shè)定該不可分割操作標簽為有效;該關(guān)鍵資訊包括該載入鎖定操作的一辨識碼和/或該載入鎖定操作存取的一位址。
8.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中當(dāng)一第三條件為真時,該不可分割操作邏輯單元記錄該載入鎖定操作做為該不可分割操作標簽單元中的該不可分割操作標簽并傳回一成功狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊;當(dāng)該第三條件不為真時,該不可分割操作邏輯單元傳回一失敗狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊。
9.根據(jù)權(quán)利要求8所述的內(nèi)存模塊,其中該第三條件為該不可分割操作標簽單元具有足夠的空間儲存該不可分割操作標簽。
10.根據(jù)權(quán)利要求8所述的內(nèi)存模塊,其中該數(shù)據(jù)處理引擎執(zhí)行的一指令發(fā)布該載入鎖定操作,且該數(shù)據(jù)處理引擎重復(fù)執(zhí)行該指令以響應(yīng)該失敗狀態(tài)。
11.根據(jù)權(quán)利要求1所述的內(nèi)存模塊,其中該多層內(nèi)存結(jié)構(gòu)包括多個內(nèi)存模塊且部分所述內(nèi)存模塊包括一不可分割操作標簽單元與一不可分割操作邏輯單元;當(dāng)所述內(nèi)存模塊中的一特定內(nèi)存模塊包括該不可分割操作標簽單元與該不可分割操作邏輯單元時,所述內(nèi)存模塊的所有上層內(nèi)存模塊亦包括該不可分割操作標簽單元與該不可分割操作邏輯單元; 當(dāng)該特定內(nèi)存模塊不包括該不可分割操作標簽單元與該不可分割操作邏輯單元時,所述內(nèi)存模塊的所有下層內(nèi)存模塊亦不包括該不可分割操作標簽單元與該不可分割操作邏輯單兀。
12.一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的內(nèi)存模塊,包括 一常規(guī)內(nèi)存單元,儲存該內(nèi)存模塊的數(shù)據(jù);一不可分割操作標簽單元,儲存對應(yīng)所述不可分割操作的多個不可分割操作標簽;以及一不可分割操作邏輯單元,耦接至該常規(guī)內(nèi)存單元與該不可分割操作標簽單元,其中該不可分割操作邏輯單元接收來自一數(shù)據(jù)處理引擎或一上層內(nèi)存模塊的所述不可分割操作之其一的一儲存條件操作;當(dāng)一第一條件為真時,該不可分割操作邏輯單元無效化該不可分割操作標簽單元中所有與該儲存條件操作存取的內(nèi)存位址相合的不可分割操作標簽、 執(zhí)行該儲存條件操作的儲存操作,并傳回一成功狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊;當(dāng)一第二條件為真時,該不可分割操作邏輯單元禁止該儲存條件操作的儲存操作并傳回一失敗狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊;當(dāng)一第三條件為真時,該不可分割操作邏輯單元轉(zhuǎn)送該儲存條件操作至一下層內(nèi)存模塊并傳回該下層內(nèi)存模塊傳回的狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊。
13.根據(jù)權(quán)利要求12所述的內(nèi)存模塊,其中該上層內(nèi)存模塊連接至該內(nèi)存模塊靠近該數(shù)據(jù)處理引擎的一側(cè),而該下層內(nèi)存模塊連接至該內(nèi)存模塊遠離該數(shù)據(jù)處理引擎的一側(cè)。
14.根據(jù)權(quán)利要求12所述的內(nèi)存模塊,其中該第一條件為在該不可分割操作標簽單元中有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且該儲存條件操作存取的數(shù)據(jù)儲存于該內(nèi)存模塊中;該第二條件為在該不可分割操作標簽單元中沒有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊;該第三條件為在該不可分割操作標簽單元中有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且該儲存條件操作存取的數(shù)據(jù)未儲存于該內(nèi)存模塊中。
15.根據(jù)權(quán)利要求12所述的內(nèi)存模塊,其中該第一條件為該儲存條件操作的一可高速緩存性關(guān)聯(lián)到該內(nèi)存模塊,且在該不可分割操作標簽單元中有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊;該第二條件為該儲存條件操作的該可高速緩存性關(guān)聯(lián)到該內(nèi)存模塊,且在該不可分割操作標簽單元中沒有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊;該第三條件為該儲存條件操作的該可高速緩存性不允許該內(nèi)存模塊保持被該儲存條件操作存取的一數(shù)據(jù)副本。
16.根據(jù)權(quán)利要求12所述的內(nèi)存模塊,其中該第一條件為在該不可分割操作標簽單元中有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊;該第二條件為在該不可分割操作標簽單元中沒有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且該儲存條件操作存取的數(shù)據(jù)儲存于該內(nèi)存模塊中;該第三條件為在該不可分割操作標簽單元中沒有不可分割操作標簽具有與該儲存條件操作的關(guān)鍵資訊相同的關(guān)鍵資訊,且該儲存條件操作存取的數(shù)據(jù)未儲存于該內(nèi)存模塊中。
17.根據(jù)權(quán)利要求12所述的內(nèi)存模塊,其中該數(shù)據(jù)處理引擎所執(zhí)行的一儲存或分支條件指令發(fā)布的該儲存條件操作,且該數(shù)據(jù)處理引擎執(zhí)行另一位于該儲存或分支條件指令指定的一目標位址的指令以響應(yīng)該失敗狀態(tài)。
18.一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的方法,該方法被該多層內(nèi)存結(jié)構(gòu)的一內(nèi)存模塊所執(zhí)行,該方法包括利用該內(nèi)存模塊接收來自一數(shù)據(jù)處理引擎或一上層內(nèi)存模塊的所述不可分割操作之其一的一載入鎖定操作;當(dāng)一第一條件為真時,利用該內(nèi)存模塊記錄該載入鎖定操作做為該內(nèi)存模塊中的一不可分割操作標簽;以及當(dāng)一第二條件為真時,利用該內(nèi)存模塊轉(zhuǎn)送該載入鎖定操作至一下層內(nèi)存模塊。
19.一種用于處理多層內(nèi)存結(jié)構(gòu)中多個不可分割操作的方法,該方法被該多層內(nèi)存結(jié)構(gòu)的一內(nèi)存模塊所執(zhí)行,該方法包括利用該內(nèi)存模塊接收來自一數(shù)據(jù)處理引擎或一上層內(nèi)存模塊的所述不可分割操作之其一的一儲存條件操作;當(dāng)一第一條件為真時,利用該內(nèi)存模塊無效化該內(nèi)存模塊中所有與該儲存條件操作存取的內(nèi)存位址相合的不可分割操作標簽、執(zhí)行該儲存條件操作的儲存操作,并傳回一成功狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊;當(dāng)一第二條件為真時,利用該內(nèi)存模塊禁止該儲存條件操作的儲存操作并傳回一失敗狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊;以及當(dāng)一第三條件為真時,該內(nèi)存模塊轉(zhuǎn)送該儲存條件操作至一下層內(nèi)存模塊并傳回該下層內(nèi)存模塊傳回的狀態(tài)至該數(shù)據(jù)處理引擎或該上層內(nèi)存模塊。
全文摘要
一種用于處理多層內(nèi)存結(jié)構(gòu)中不可分割操作的內(nèi)存模塊及方法。內(nèi)存模塊接收來自數(shù)據(jù)處理引擎或上層內(nèi)存模塊不可分割操作的載入操作和儲存操作。內(nèi)存模塊根據(jù)預(yù)設(shè)條件(例如可高速緩存性或數(shù)據(jù)命中的有無)記錄載入操作和/或轉(zhuǎn)送載入操作至下層內(nèi)存模塊。另外,內(nèi)存模塊根據(jù)預(yù)設(shè)條件(例如可高速緩存性、數(shù)據(jù)命中或是內(nèi)存模塊中有無記錄相合的載入操作)執(zhí)行、禁止或轉(zhuǎn)送儲存操作至下層內(nèi)存模塊。內(nèi)存模塊及其方法為所有分享多層內(nèi)存結(jié)構(gòu)的數(shù)據(jù)處理引擎確保不可分割操作執(zhí)行的正確性、一致性和有效性。
文檔編號G06F12/08GK102567223SQ20111010686
公開日2012年7月11日 申請日期2011年4月27日 優(yōu)先權(quán)日2010年12月22日
發(fā)明者溫尚志, 賴吉昌 申請人:晶心科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1