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

帶有一致的和非一致的子系統(tǒng)的存儲(chǔ)器排序的制作方法

文檔序號(hào):9564424閱讀:213來(lái)源:國(guó)知局
帶有一致的和非一致的子系統(tǒng)的存儲(chǔ)器排序的制作方法
【技術(shù)領(lǐng)域】
[0001] 此處所描述的各實(shí)施例一般涉及存儲(chǔ)器排序,更具體而言,涉及帶有一致的和非 一致的子系統(tǒng)的存儲(chǔ)器排序。
【背景技術(shù)】
[0002] 處理設(shè)備可以基于包括存儲(chǔ)器和功能單元的架構(gòu)。處理設(shè)備的處理器核可以將處 理任務(wù)或功能指定到功能單元。例如,處理核可以將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,還可以在它被存 儲(chǔ)在存儲(chǔ)器中之后進(jìn)一步向功能單元發(fā)出對(duì)數(shù)據(jù)執(zhí)行操作的命令。
[0003] 附圖簡(jiǎn)述
[0004] 圖1是示出了根據(jù)一些實(shí)施例的實(shí)現(xiàn)存儲(chǔ)器流模塊以提供存儲(chǔ)器定序或排序的 計(jì)算系統(tǒng)的框圖。
[0005] 圖2是根據(jù)本發(fā)明的一些實(shí)施例的存儲(chǔ)器流模塊的框圖。
[0006] 圖3是根據(jù)一些實(shí)施例的執(zhí)行存儲(chǔ)器操作和非一致的(NOCO)觸發(fā)器的方法的流 程圖。
[0007] 圖4A示出了根據(jù)一些實(shí)施例的存儲(chǔ)器操作和NOCO觸發(fā)器的示例序列。
[0008] 圖4B示出了根據(jù)一些實(shí)施例的存儲(chǔ)器操作和NOCO觸發(fā)器的另一示例序列。
[0009] 圖4C示出了根據(jù)一些實(shí)施例的存儲(chǔ)器操作和NOCO觸發(fā)器的另一示例序列。
[0010] 圖5示出了根據(jù)本發(fā)明的一些實(shí)施例的基于存儲(chǔ)器操作的提升,將依賴關(guān)系添加 到存儲(chǔ)器操作和NOCO觸發(fā)器的序列的方法。
[0011] 圖6示出了根據(jù)本發(fā)明的一些實(shí)施例的檢測(cè)NOCO觸發(fā)器的示例架構(gòu)。
[0012] 圖7示出了根據(jù)一實(shí)施例的包括管理與無(wú)序指令流水線相關(guān)聯(lián)的檢查點(diǎn)的邏輯 電路的處理器的微架構(gòu)的框圖。
[0013] 圖8是根據(jù)一個(gè)實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)的框圖;
[0014] 圖9為根據(jù)另一實(shí)現(xiàn)的的計(jì)算機(jī)系統(tǒng)的框圖。
[0015] 圖10是根據(jù)一實(shí)現(xiàn)的片上系統(tǒng)的框圖。
[0016] 圖11示出了計(jì)算系統(tǒng)的框圖的另一實(shí)現(xiàn)。
[0017] 圖12示出了計(jì)算系統(tǒng)的框圖的另一實(shí)現(xiàn)。
【具體實(shí)施方式】
[0018] 本發(fā)明的各方面涉及帶有一致的和非一致的子系統(tǒng)或部分的處理架構(gòu)中的存儲(chǔ) 器排序技術(shù)。存儲(chǔ)器排序技術(shù)可以被用來(lái)改善處理器、處理設(shè)備或基于處理器的系統(tǒng)的性 能。例如,存儲(chǔ)器排序技術(shù)可以被用來(lái)通過(guò)定義在處理設(shè)備的不同的部件之間的操作(例 如,存儲(chǔ)器讀取事務(wù)和存儲(chǔ)器寫(xiě)入事務(wù))之間實(shí)施的屬性,來(lái)改善處理設(shè)備的性能。處理設(shè) 備可包括處理器核、多個(gè)功能單元以及存儲(chǔ)器。處理器核可以卸載要由功能單元執(zhí)行的任 務(wù)。例如,處理器核可以發(fā)出對(duì)應(yīng)于將指令或命令和數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中的第一操作,并可 以基于存儲(chǔ)在存儲(chǔ)器中的指令或命令,發(fā)出對(duì)應(yīng)于將命令(即,觸發(fā)器)傳輸?shù)焦δ軉卧?對(duì)數(shù)據(jù)執(zhí)行功能或操作的第二操作。處理設(shè)備可包括存儲(chǔ)器流模塊,該存儲(chǔ)器流模塊包括 功能塊,功能塊可以被用來(lái)基于與處理設(shè)備的存儲(chǔ)器相關(guān)聯(lián)的操作,定義與一個(gè)或多個(gè)功 能單元相關(guān)聯(lián)的操作的依賴關(guān)系。
[0019] 處理設(shè)備可包括非一致的子系統(tǒng)或部分和一致的子系統(tǒng)或部分。例如,處理設(shè)備 的存儲(chǔ)器可以是一致的子系統(tǒng)的一部分,而一個(gè)或多個(gè)功能單元可以是非一致的子系統(tǒng)的 一部分。這樣的存儲(chǔ)器可以被稱為一致的存儲(chǔ)器,而這樣的功能單元可以被稱為非一致的 (NOCO)功能單元。NOCO功能單元可以是在處理器核的外面的功能單元。例如,處理器核可 包括功能單元,NOCO功能單元可以在處理器核外部。NOCO功能單元也可以被稱為加速器或 固定功能塊。一致的和非一致的可以是指一致性模型。在某些實(shí)施例中,一致性模型可以 定義存儲(chǔ)器操作的規(guī)則(例如,向存儲(chǔ)器的寫(xiě)入事務(wù)和由功能單元從存儲(chǔ)器檢索數(shù)據(jù)的讀 取事務(wù))。例如,一致的存儲(chǔ)器可以是指由一個(gè)或多個(gè)執(zhí)行或功能單元或處理器讀和/或?qū)?的存儲(chǔ)器,而非一致的功能單元可以是指存儲(chǔ)和一致的存儲(chǔ)器分離的數(shù)據(jù)的分離的副本或 與之相關(guān)聯(lián)的功能單元。這樣的功能單元也可以被稱為加速器。如此,包括一致的存儲(chǔ)器 和一個(gè)或多個(gè)非一致的功能單元兩者的處理設(shè)備可以被稱為一致的和非一致的系統(tǒng)。在某 些實(shí)施例中,與一致的存儲(chǔ)器相關(guān)聯(lián)的操作可以被稱為存儲(chǔ)器操作(例如,對(duì)于一致的存 儲(chǔ)器的讀取或?qū)懭胧聞?wù)),與非一致的功能單元相關(guān)聯(lián)的操作可以被稱為NOCO觸發(fā)器。相 應(yīng)地,由于NOCO功能單元和一致的存儲(chǔ)器正在對(duì)相同數(shù)據(jù)的分開(kāi)地存儲(chǔ)的副本進(jìn)行操作, 因此,使用數(shù)據(jù)執(zhí)行的操作可能要求某些依賴關(guān)系,以便維護(hù)為操作定義的規(guī)則。
[0020] 現(xiàn)代的基于微處理器的產(chǎn)品,包括片上系統(tǒng)(SoC)、客戶端、服務(wù)器以及硬件加速 器,可以使用包括一致的存儲(chǔ)器和非一致的功能單元的處理架構(gòu)。存儲(chǔ)器排序模塊可以被 用來(lái)定義與一致的存儲(chǔ)器相關(guān)聯(lián)的操作和與非一致的功能單元相關(guān)聯(lián)的操作之間的交互。 在某些實(shí)施例中,存儲(chǔ)器排序模塊可以被用來(lái)定義對(duì)于NOCO功能單元的操作(例如,NOCO 觸發(fā)器)和對(duì)于一致的存儲(chǔ)器的操作(例如,存儲(chǔ)器操作)之間的依賴關(guān)系。在某些實(shí)施 例中,NOCO觸發(fā)器可以是NOCO功能單元檢索存儲(chǔ)在一致的存儲(chǔ)器中的命令或指令的命令。 存儲(chǔ)在一致的存儲(chǔ)器中的這樣的命令或指令可以被稱為控制塊(CB)。如此,來(lái)自處理器核 的第一操作(例如,存儲(chǔ)器操作)可以對(duì)應(yīng)于向一致的存儲(chǔ)器寫(xiě)入或讀取控制塊,來(lái)自處理 器核的第二操作(例如,NOCO觸發(fā)器)可以對(duì)應(yīng)于從一致的存儲(chǔ)器讀取和檢索控制塊,以及 要由NOCO功能單元執(zhí)行的隨后的操作。如此,NOCO功能單元的NOCO觸發(fā)器可以取決于一 致的存儲(chǔ)器操作。在某些實(shí)施例中,這樣的依賴關(guān)系可以是指NOCO功能單元的NOCO觸發(fā) 器不由處理核執(zhí)行或向NOCO功能單元傳輸,直到一致的存儲(chǔ)器的特定存儲(chǔ)器操作被完成。
[0021] 如下面進(jìn)一步詳細(xì)描述的,存儲(chǔ)器流模塊可以提供一致的存儲(chǔ)器的存儲(chǔ)器操作的 第一流或序列,和NOCO功能單元的NOCO觸發(fā)器的第二流或序列。在某些實(shí)施例中,NOCO功 能單元的NOCO觸發(fā)器的第二流或序列可以取決于一致的存儲(chǔ)器的存儲(chǔ)器操作的第一流或 序列。例如,在一致的存儲(chǔ)器的較舊的存儲(chǔ)器操作(例如,較早地發(fā)出的讀取事務(wù))被執(zhí)行 完之前,NOCO功能單元的觸發(fā)器可以被限制執(zhí)行。
[0022] -致的存儲(chǔ)器的存儲(chǔ)器操作和NOCO功能單元的觸發(fā)器之間的這樣的排序可以改 善包括一致的子系統(tǒng)和非一致的子系統(tǒng)兩者的處理設(shè)備的總體性能。例如,存儲(chǔ)器流模塊 所使用的一致性模型可以為一致的存儲(chǔ)器創(chuàng)建第一流,其中,第一流可以允許操作的無(wú)序 執(zhí)行(例如,特定事務(wù)可以在較早的事務(wù)之前執(zhí)行),而讓NOCO功能單元的另一流按比較連 續(xù)和有序方式執(zhí)行,也部分地依賴于存儲(chǔ)器操作。這樣的一致性模型可以允許更快地執(zhí)行 存儲(chǔ)器操作,同時(shí)也使用NOCO功能單元。
[0023] 圖1是示出了根據(jù)一些實(shí)施例的實(shí)現(xiàn)用于提供和更新與存儲(chǔ)器120和一個(gè)或多個(gè) NOCO功能單元130相關(guān)聯(lián)的存儲(chǔ)器序列的存儲(chǔ)器流模塊107的計(jì)算系統(tǒng)100的框圖。計(jì)算 系統(tǒng)100利用處理器102形成,該處理器102包括處理核,該處理核可以卸載要由NOCO功 能單元130中的一個(gè)或多個(gè)完成的工作或事務(wù)。簡(jiǎn)而言之,存儲(chǔ)器流模塊107為存儲(chǔ)器120 并為NOCO功能單元130維護(hù)和更新存儲(chǔ)器序列,存儲(chǔ)器序列可以被用來(lái)定義何時(shí)可以執(zhí)行 存儲(chǔ)器120的存儲(chǔ)器操作和/或NOCO功能單元130的NOCO觸發(fā)器。例如,存儲(chǔ)器流模塊 107可以定義并控制存儲(chǔ)器120的存儲(chǔ)器操作以及NOCO功能單元130的NOCO觸發(fā)器的執(zhí) 行的特定順序,以及基于存儲(chǔ)器120的存儲(chǔ)器操作,定義并實(shí)施NOCO功能單元130的NOCO 觸發(fā)器的依賴關(guān)系。在下文中參考圖2 - 6更詳細(xì)地描述了關(guān)于存儲(chǔ)器流模塊107的更多 細(xì)節(jié)。
[0024] 根據(jù)此處所描述的各實(shí)施例,計(jì)算系統(tǒng)100包括諸如處理器102之類的組件來(lái)使 用包括執(zhí)行用于處理數(shù)據(jù)的算法的邏輯的執(zhí)行單元108。系統(tǒng)100代表基于可從美國(guó)加利 福尼亞州圣克拉拉市的英特爾公司獲得的PENTIUM III?、PENTIUM 4?、Xeon?、Itanium、 XScale?和/或StrongARM ?微處理器的處理系統(tǒng),不過(guò)也可使用其它系統(tǒng)(包括具有其它 微處理器的PC、工程工作站、機(jī)頂盒等)。在一個(gè)實(shí)施例中,樣本計(jì)算系統(tǒng)100可執(zhí)行可從 美國(guó)華盛頓州雷蒙德市的微軟公司買到的WINDOWS?操作系統(tǒng)的一個(gè)版本,不過(guò)也可使用 其它操作系統(tǒng)(例如UNIX和Linux)、嵌入式軟件、和/或圖形用戶界面。因此,本發(fā)明的各 實(shí)施例不限于硬件電路和軟件的任何具體組合。
[0025] 實(shí)施例不限于計(jì)算機(jī)系統(tǒng)。本發(fā)明的替代實(shí)施例可用于其他設(shè)備,諸如手持式設(shè) 備和嵌入式應(yīng)用。手持式設(shè)備的一些示例包括,但不僅限于:蜂窩電話、互聯(lián)網(wǎng)協(xié)議設(shè)備、數(shù) 碼相機(jī)、個(gè)人數(shù)字助理(PDA)、手持式PC。嵌入式應(yīng)用可包括,但不僅限于:微控制器、數(shù)字 信號(hào)處理器(DSP)、芯片上系統(tǒng)、網(wǎng)絡(luò)計(jì)算機(jī)(NetPC)、機(jī)頂盒、網(wǎng)絡(luò)中樞、廣域網(wǎng)(WAN)交換 機(jī)、或可執(zhí)行參照至少一個(gè)實(shí)施例的一個(gè)或多個(gè)指令的任何其他系統(tǒng)。
[0026] 在圖1所示出的實(shí)施例中,處理器102包括實(shí)現(xiàn)將執(zhí)行至少一個(gè)指令的算法的一 個(gè)或多個(gè)執(zhí)行單元108。可在單處理器桌面或服務(wù)器系統(tǒng)的情境中描述一個(gè)實(shí)施例,但是可 將替代實(shí)施例包括在多處理器系統(tǒng)中。系統(tǒng)100是"中樞"系統(tǒng)架構(gòu)的示例。計(jì)算機(jī)系統(tǒng) 100包括用于處理數(shù)據(jù)信號(hào)的處理器102。處理器102,作為一個(gè)說(shuō)明性示例,包括,例如,復(fù) 雜指令集計(jì)算機(jī)(CISC)微處理器、精簡(jiǎn)指令集計(jì)算(RISC)微處理器、超長(zhǎng)指令字(VLIW) 微處理器、實(shí)現(xiàn)多個(gè)指令集組合的處理器、基于無(wú)序的處理器、或任意其他處理器設(shè)備(例 如,數(shù)字信號(hào)處理器)。處理器102耦合到在處理器102及系統(tǒng)100中的其他組件(諸如 存儲(chǔ)指令、數(shù)據(jù),或其任何組合的主存儲(chǔ)器120)之間傳輸數(shù)據(jù)信號(hào)的處理器總線110。系 統(tǒng)100的其他組件可包括,但不僅限于,圖形加速器、存儲(chǔ)器控制器中樞、I/O控制器中樞、 無(wú)線收發(fā)器、閃存BIOS、網(wǎng)絡(luò)控制器、音頻控制器、串行擴(kuò)展端口,以及I/O控制器。這些要 素執(zhí)行本領(lǐng)域所熟知的常規(guī)功能。
[0027] 在一個(gè)實(shí)施例中,處理器102包括第一級(jí)(LI)內(nèi)部高速緩存存儲(chǔ)器104。取決于 架構(gòu),處理器102可具有單個(gè)內(nèi)部高速緩存存儲(chǔ)器或多級(jí)內(nèi)部高速緩存存儲(chǔ)器(例如,Ll和 L2)。其他實(shí)施例包括內(nèi)部高速緩存和外部高速緩存的組合,這取決于特定實(shí)現(xiàn)和需求。寄 存器組106將不同類型的數(shù)據(jù)存儲(chǔ)在各種寄存器中,包括,但不限于,整數(shù)寄存器、浮點(diǎn)寄 存器、向量寄存器、分組寄存器、影子寄存器(shadow register)、檢查點(diǎn)寄存器、狀態(tài)寄存 器、配置寄存器,以及指令指針寄存器。
[0028] 執(zhí)行單元108(包括用于執(zhí)行整數(shù)和浮點(diǎn)操作的邏輯)也駐留在處理器102中。 應(yīng)該指出的是,執(zhí)行單元可以或可以不具有浮點(diǎn)單元。在一個(gè)實(shí)施例中,處理器102包括存 儲(chǔ)微代碼的微代碼(μ code) R0M,該微代碼在被執(zhí)行時(shí)將執(zhí)行某些宏指令的算法或處理復(fù) 雜情況。這里,微代碼是潛在地可更新的,以為處理器102處理邏輯缺陷/修補(bǔ)。執(zhí)行單元 108的替代實(shí)施例也可被用于微控制器、嵌入式處理器、圖形設(shè)備、DSP以及其他類型的邏 輯電路。
[0029] 系統(tǒng)100包括主存儲(chǔ)器120。主存儲(chǔ)器120可包括,但不限于,動(dòng)態(tài)隨機(jī)存取存儲(chǔ) 器(DRAM)設(shè)備、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)設(shè)備、閃存設(shè)備或其他存儲(chǔ)器設(shè)備。主存儲(chǔ)器 120存儲(chǔ)將由可由處理器102執(zhí)行的數(shù)據(jù)信號(hào)來(lái)表示的指令和/或數(shù)據(jù)。處理器102通過(guò) 處理器總線110與主存儲(chǔ)器120進(jìn)行通信。諸如存儲(chǔ)器控制器中樞(MCH)之類的系統(tǒng)邏輯 芯片可以耦合到處理器總線110和主存儲(chǔ)器120。MCH可提供至存儲(chǔ)器120的高帶寬存儲(chǔ) 器路徑,用于指令和數(shù)據(jù)存儲(chǔ),以及用于存儲(chǔ)圖形命令、數(shù)據(jù)和紋理。MCH可用于引導(dǎo)處理 器102、主存儲(chǔ)器120以及系統(tǒng)100內(nèi)的其他組件之間的數(shù)據(jù)信號(hào),并在處理器總線110、主 存儲(chǔ)器120、高速緩存存儲(chǔ)器104,以及系統(tǒng)I/O之間橋接該數(shù)據(jù)信號(hào)。MCH可經(jīng)由存儲(chǔ)器 接口耦合至主存儲(chǔ)器120。在一些實(shí)施例中,系統(tǒng)邏輯芯片可以提供用于通過(guò)加速圖形端 口(AGP)互連耦合到圖形控制器的圖形端口。系統(tǒng)100也可以包括I/O控制器中樞(ICH)。 ICH經(jīng)由局部I/O總線提供至一些I/O設(shè)備的直接連接。局部I/O總線是高速I/O總線,用 于將外圍設(shè)備連接至主存儲(chǔ)器120、芯片組以及處理器102。一些示例是音頻控制器、固件 中樞(閃存BIOS)、無(wú)線收發(fā)機(jī)、數(shù)據(jù)存儲(chǔ)、包括用戶輸入和鍵盤(pán)接口的傳統(tǒng)I/O控制器、串 行擴(kuò)展端口(諸如通用串行總線(USB))以及網(wǎng)絡(luò)控制器。數(shù)據(jù)存儲(chǔ)設(shè)備可以包括硬盤(pán)驅(qū) 動(dòng)器、軟盤(pán)驅(qū)動(dòng)器、CD-ROM設(shè)備、閃存設(shè)備、或其他大容量存儲(chǔ)設(shè)備。
[0030] 對(duì)于系統(tǒng)的另一個(gè)實(shí)施例,存儲(chǔ)器流模塊107可以與片上系統(tǒng)一起使用。用于一 個(gè)這樣的系統(tǒng)的存儲(chǔ)器可以是閃存存儲(chǔ)器。閃存存儲(chǔ)器可位于與處理器和其他系統(tǒng)組件相 同的管芯上。此外,諸如存儲(chǔ)器控制器或圖形控制器之類的其他邏輯塊也可位于芯片上系 統(tǒng)上。
[0031] 片上系統(tǒng)的一個(gè)實(shí)施例包括處理器核、一致的存儲(chǔ)器(例如,存儲(chǔ)器120)以及一 個(gè)或多個(gè)非一致的功能單元(例如,N0C0功能單元130)。在某些實(shí)施例中,處理器核可包括 控制存儲(chǔ)器120的存儲(chǔ)器操作以及N0C0功能單元130的N0C0觸發(fā)器的存儲(chǔ)器流模塊107。 例如,在某些實(shí)施例中,處理器核可以將事務(wù)或操作傳輸?shù)揭恢碌拇鎯?chǔ)器120和N0C0功能 單元130。在某些實(shí)施例中,處理器核可以將存儲(chǔ)器操作(例如,讀取或?qū)懭胧聞?wù))傳輸?shù)?一致的存儲(chǔ)器。存儲(chǔ)器操作可以是將指令和命令存儲(chǔ)到存儲(chǔ)器中。這樣的指令和命令可以 被稱為控制塊(CB)。在某些實(shí)施例中,CB可以存儲(chǔ)在一致的存儲(chǔ)器120的預(yù)定義的和特定 區(qū)域。處理器核還可以進(jìn)一步將N0C0觸發(fā)器操作傳輸?shù)絅0C0功能單元130中的一個(gè)。例 如,N0C0觸發(fā)器操作可以通過(guò)由處理器102的處理器核所發(fā)出的存儲(chǔ)器
當(dāng)前第1頁(yè)1 2 3 4 5 6 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1