用于管理并行高速緩存層級的指令的制作方法

            文檔序號:6351191閱讀:159來源:國知局

            專利名稱::用于管理并行高速緩存層級的指令的制作方法
            技術(shù)領(lǐng)域
            :本發(fā)明的實(shí)施例總體上涉及多線程處理,以及,更具體地,涉及一組能夠使應(yīng)用軟件對并行線程處理器中的并行高速緩存層級(cachehierarchy)進(jìn)行管理的指令。
            背景技術(shù)
            :傳統(tǒng)的高速緩存策略技術(shù)試圖通過確定加載和存儲的操作模式,來努力預(yù)測應(yīng)該對哪些數(shù)據(jù)進(jìn)行高速緩存和/或清除。然而,在高度多線程并行處理器中,要對模式進(jìn)行確定則是極端困難的。例如,可以同時執(zhí)行超過10000個線程,而這使得模式檢測是非常困難的。此外,高度多線程并行處理器,諸如圖形處理單元(GPU),與諸如CPU(中央處理器)內(nèi)核的串行處理器相比,其每一個線程僅具有相對較小的高速緩存容量。相應(yīng)地,本
            技術(shù)領(lǐng)域
            需要的是能夠有效地利用多線程并行處理器中有限的高速緩存容量的高速緩存管理技術(shù)。
            發(fā)明內(nèi)容本發(fā)明的實(shí)施例提供了使并行多線程應(yīng)用軟件能夠協(xié)調(diào)并發(fā)的線程以有效地利用工作集(working-set)容量有限的高速緩存的指令。本發(fā)明的實(shí)施例提供了針對加載/存儲存儲器訪問指令的顯式高速緩存行為修飾符(modifier)。該修飾符可以使程序員和/或編譯器能夠?qū)σ韵滦袨橹付ǜ咚倬彺娴膬?yōu)化針對特定的加載/存儲存儲器指令的易失和非高速緩存行為、工作集行為以及流行為。本發(fā)明的一個實(shí)施例提供了一種用于管理處理單元中的并行高速緩存層級的方法。該方法包括從調(diào)度單元接收指令,其中所述指令包括加載指令或存儲指令;確定該指令包括高速緩存操作修飾符,所述修飾符識別用于在所述并行高速緩存層級的一個或多個級別上對與指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存的策略;以及執(zhí)行所述指令,并且基于所述高速緩存操作修飾符對與所述指令相關(guān)聯(lián)的所述數(shù)據(jù)進(jìn)行高速緩存。有利地,本發(fā)明的實(shí)施例允許程序員和/或編譯器來指定在哪個高速緩存級別上對數(shù)據(jù)進(jìn)行高速緩存。這使得程序的執(zhí)行以及數(shù)據(jù)的訪問更加有效率。為了詳細(xì)地理解本發(fā)明的上述特征,對于以上簡要說明的發(fā)明,可以參照實(shí)施例進(jìn)行更為具體的描述,其中一些實(shí)施例示出于附圖中。然而,應(yīng)注意的是,附圖中示出的只是本發(fā)明的代表性實(shí)施例,因此不應(yīng)被認(rèn)為是對本發(fā)明的范圍的限制,本發(fā)明可以適用于其他同等有效的實(shí)施例。圖I為示出了被配置以實(shí)現(xiàn)本發(fā)明一個或多個方面的計算機(jī)系統(tǒng)的框圖。圖2為根據(jù)本發(fā)明的一個實(shí)施例,用于圖I的計算機(jī)系統(tǒng)的并行處理子系統(tǒng)的框圖。圖3A為根據(jù)本發(fā)明的一個實(shí)施例,圖2中一個PPU內(nèi)的GPC的框圖。圖3B為根據(jù)本發(fā)明的一個實(shí)施例,圖2中一個PPU內(nèi)的分區(qū)單元的框圖。圖3C為根據(jù)本發(fā)明的一個實(shí)施例,圖3A中SPM的一部分的框圖。圖4為根據(jù)本發(fā)明的一個實(shí)施例,圖2中的一個或多個PI3U可經(jīng)配置以實(shí)現(xiàn)的圖形處理管線的示意圖。圖5為根據(jù)本發(fā)明的一個實(shí)施例,示出了并行線程處理器中的并行高速緩存層級的示意圖。圖6為根據(jù)本發(fā)明一個實(shí)施例,用于處理加載存儲器訪問指令的方法步驟的流程圖。圖7為根據(jù)本發(fā)明的一個實(shí)施例,用于處理存儲存儲器訪問指令的方法步驟的流程圖。具體實(shí)施例方式在下面的說明中,將闡述大量的細(xì)節(jié)以提供對本發(fā)明更為徹底的理解。然而,顯而易見地是,對于本領(lǐng)域技術(shù)人員來說缺少這些細(xì)節(jié)的一個或多個也可以實(shí)施本發(fā)明。在其他實(shí)例中,沒有描述公知的特征,以免對本發(fā)明造成混淆。系統(tǒng)概述圖I的框圖示出被配置為實(shí)現(xiàn)本發(fā)明一個或多個方面的計算機(jī)系統(tǒng)100。計算機(jī)系統(tǒng)100包括中央處理器(CPU)102以及經(jīng)由互連路徑進(jìn)行通信的系統(tǒng)存儲器104,該互連路徑可包括存儲器橋105。存儲器橋105,其可能是例如北橋芯片,其經(jīng)由總線或者其它的通信路徑106(例如超傳輸鏈路)與I/O(輸入/輸出)橋107相連。I/O橋107,其例如可能是南橋芯片,從一個或多個用戶輸入設(shè)備108(例如,鍵盤,鼠標(biāo))接收用戶輸入,并且將該輸入經(jīng)由路徑106和存儲器橋105轉(zhuǎn)發(fā)給CPU102。并行處理子系統(tǒng)112經(jīng)由總線或者其它的通信路徑113(例如,PCIExpress,加速圖形端口,或者超傳輸鏈路)耦合至存儲器橋105;在一個實(shí)施例中,并行處理子系統(tǒng)112為圖形子系統(tǒng),其向顯示設(shè)備110(例如,傳統(tǒng)的基于CRT或者IXD的監(jiān)視器)傳送像素。系統(tǒng)磁盤114也連接到I/O橋107。開關(guān)116提供了在I/O橋107及其他諸如網(wǎng)絡(luò)接口卡118的組件與不同的外插卡(add-incard)120和121之間的連接。其它的組件(未明確的示出),包括USB或者其它的端口連接、CD驅(qū)動器、DVD驅(qū)動器、膠片錄制設(shè)備等等,也可以連接到I/O橋107??梢允褂萌魏芜m宜的協(xié)議,諸如PCI(外圍組件互連)、PCI-Express、AGP(加速圖形端口)、超傳輸或者任何其它的總線或者點(diǎn)對點(diǎn)通信協(xié)議來實(shí)現(xiàn)圖I中將各組件互連的通信路徑,并且不同設(shè)備之間的連接也可使用現(xiàn)有技術(shù)中已知的不同的協(xié)議。在一個實(shí)施例中,并行處理子系統(tǒng)112結(jié)合了被優(yōu)化用于圖形和視頻處理的電路,包括例如視頻輸出電路,并且構(gòu)成了圖形處理單元(GPU)。在另一個實(shí)施例中,并行處理子系統(tǒng)112結(jié)合了被優(yōu)化用于通用處理的電路,同時保留了底層(underlying)的計算架構(gòu),在這里將對其進(jìn)行更為詳細(xì)地描述。在另一實(shí)施例中,可將并行處理子系統(tǒng)112與一個或多個其它的系統(tǒng)元件,諸如存儲器橋105、CPU102以及I/O橋107集成,來形成片上系統(tǒng)(SoC)??梢岳斫獾皆谶@里所顯示的系統(tǒng)是說明性的,并且可對其進(jìn)行變化和修改??筛鶕?jù)需要修改連接拓?fù)浣Y(jié)構(gòu),包括橋的數(shù)量和布置、CPU102的數(shù)量以及并行處理子系統(tǒng)112的數(shù)量。例如,在一些實(shí)施例中,系統(tǒng)存儲器104直接地,而不是通過橋來連接到CPU102,并且其它的設(shè)備經(jīng)由存儲器橋105以及CPU102與系統(tǒng)存儲器104進(jìn)行通信。在其它可供選擇的拓?fù)浣Y(jié)構(gòu)中,并行處理子系統(tǒng)112連接到I/O橋107,或者直接連接到CPU102,而不是連接到存儲器橋105。但在其它的實(shí)施例中,可將I/O橋107以及存儲器橋105集成到單一的芯片中。大量的實(shí)施例可以包括兩個或更多的CPU102以及兩個或更多的并行處理系統(tǒng)112。在這里所顯示的具體的組件是可選擇的;例如,可支持任何數(shù)量的外插卡或者外圍設(shè)備。在一些實(shí)施例中,刪除了開關(guān)116,并且網(wǎng)絡(luò)適配器118和外插卡120、121直接連接到I/O橋107。圖2示出了根據(jù)本發(fā)明一個實(shí)施例的并行處理子系統(tǒng)112。如同所顯示的,并行處理子系統(tǒng)112包括一個或多個并行處理單元(PPU)202,其每一個都耦合到本地并行處理(PP)存儲器204。通常,并行處理子系統(tǒng)包括U個PPU,其中U彡I(此處,相似對象的多個實(shí)體使用標(biāo)識該對象的參考數(shù)字以及根據(jù)需要結(jié)合標(biāo)識該實(shí)體的帶有括號的數(shù)字來表示)??梢允褂靡粋€或多個諸如可編程處理器、專用集成電路(ASIC)或者存儲器器件的集成電路設(shè)備來實(shí)現(xiàn),或者以任何其它技術(shù)上可行的方式來實(shí)現(xiàn)。再次參考圖1,在一些實(shí)施例中,并行處理子系統(tǒng)112中的一些或者所有的PPU202,都是具有渲染管線的圖形處理器,可以被配置為執(zhí)行與下述各項相關(guān)的各種任務(wù)從圖形數(shù)據(jù)中生成像素數(shù)據(jù),所述圖形數(shù)據(jù)是由CPU102和/或系統(tǒng)存儲器104經(jīng)由存儲器橋105以及總線113所提供的;與本地并行處理存儲器204(其能被作為包括了例如傳統(tǒng)幀緩沖區(qū)的圖形存儲器來使用)交互來存儲并更新像素數(shù)據(jù);將像素數(shù)據(jù)輸送到顯示設(shè)備110,等等。在一些實(shí)施例中,并行處理子系統(tǒng)112可以包括一個或多個作為圖形處理器來操作的PPU202,以及一個或多個被用于通用計算的其他PPU202。PI3U可以是相同的或者是不同的,并且每個PPU可具有其自己專用的并行處理存儲器裝置或者非專用的并行處理存儲器裝置。一個或多個PPU202可以向顯示設(shè)備110輸出數(shù)據(jù),或者每一個PPU202都可以向一個或多個顯示設(shè)備110輸出數(shù)據(jù)。操作時,CPU102是計算機(jī)系統(tǒng)100的主處理器,其控制并且協(xié)調(diào)其他系統(tǒng)組件的操作。具體地,CPU102發(fā)出控制PPU202操作的命令。在一些實(shí)施例中,CPU102對于每一個PPU202都將命令流寫入到入棧緩沖區(qū)(pushbuffer)中(未明確地在圖I或者圖2中示出),該入棧緩沖區(qū)可位于系統(tǒng)存儲器104、并行處理存儲器204、或者可為CPU102和PPU202訪問的另外的存儲位置中。PPU202從入棧緩沖區(qū)中讀取命令流,然后相對于CPU102的操作異步地執(zhí)行命令?,F(xiàn)在返回參考圖2,每一個PPU202都包括1/0(輸入/輸出)單元205,該單元經(jīng)由通信路徑113與計算機(jī)系統(tǒng)100其余的部分相互通信,該通信路徑113連接到存儲器橋105(或者在另一個替代實(shí)施例中,直接連接到CPU102)。PPU202與計算機(jī)系統(tǒng)100其余部分的連接也可以改變。在一些實(shí)施例中,可將并行處理子系統(tǒng)112實(shí)現(xiàn)為外插卡,該卡可以被插入到計算機(jī)系統(tǒng)100的擴(kuò)展槽中。在其它的實(shí)施例中,可以將PPU202與諸如存儲器橋105或I/O橋107的總線橋一起集成到單一芯片上。但在其它的實(shí)施例中,可將PPU202的某些或者所有的元件與CPU102一起集成到單個芯片上。在一個實(shí)施例中,通信路徑113是PCI-EXPRESS鏈路,其中對于每個PPU202都分配了專用通道(lane),如同現(xiàn)有技術(shù)中所已知的。也可以使用其它的通信路徑。I/O單元205生成用于在通信路徑113上傳輸?shù)臄?shù)據(jù)包(或者其它的信號),以及從通信路徑113上接收所有輸入進(jìn)來的數(shù)據(jù)包(或者其它的信號),將輸入的數(shù)據(jù)包引導(dǎo)到PPU202的適當(dāng)?shù)慕M件。例如,可將與處理任務(wù)相關(guān)的命令引導(dǎo)到主機(jī)接口206,而可將與存儲器操作相關(guān)的命令(例如,對并行處理存儲器204的讀或者寫)引導(dǎo)到存儲器交叉開關(guān)單元210。主機(jī)接口206讀取每個入棧緩沖區(qū)并且將由入棧緩沖區(qū)指定的工作輸出給前端212。每一個PPU202都有利地實(shí)現(xiàn)了高度的并行處理構(gòu)架。如同所詳細(xì)顯示地,PPU202(0)包括了處理集群陣列230,該處理集群陣列230包括C個通用處理集群(GPC)208,其中OI。每個GPC208都能夠并發(fā)地執(zhí)行大量的(例如數(shù)百或者數(shù)千個)線程,其中每個線程都是程序的實(shí)例。在不同的應(yīng)用程序中,不同的GPC208可被分配用于處理不同類型的程序或者用于執(zhí)行不同類型的計算。例如,在圖形應(yīng)用程序中,第一組GPC208可被分配用于執(zhí)行曲面細(xì)分(tessellation)操作以及用于對曲面片生成基元拓?fù)洌⑶业诙MGPC208可被分配用于執(zhí)行曲面細(xì)分著色以對于基元拓?fù)涞那嫫瑓?shù)進(jìn)行評價并確定頂點(diǎn)位置及每個頂點(diǎn)的其他屬性。GPC208的分配可依據(jù)每個類型的程序或計算產(chǎn)生的工作量而不同。GPC208經(jīng)由工作分布單元200接收所要執(zhí)行的處理任務(wù),工作分布單元200從前端單元212接收定義處理任務(wù)的命令。處理任務(wù)包括將要處理的數(shù)據(jù)索引,例如表面(曲面片)數(shù)據(jù)、基元數(shù)據(jù)、頂點(diǎn)數(shù)據(jù)和/或像素數(shù)據(jù),以及定義了如何對該數(shù)據(jù)進(jìn)行處理(例如,將要執(zhí)行什么程序)的狀態(tài)參數(shù)和命令。可將工作分布單元200配置為獲取與任務(wù)相對應(yīng)的索引,或者工作分布單元200可以從前端212接收索引。前端212確保,在由入棧緩沖區(qū)所指定的處理開始之前,GPC208被配置成為有效的狀態(tài)。當(dāng)PPU202用于圖形處理時,例如,將對于每個曲面片的處理工作量分成近似相等規(guī)模的任務(wù),以使得可以將曲面細(xì)分處理分布給多個GPC208。可將工作分布單元200配置為以能夠為多個GPC208提供任務(wù)進(jìn)行處理的頻率來生成任務(wù)。相反地,在傳統(tǒng)的系統(tǒng)中,典型地是由單一的處理引擎來執(zhí)行處理,而同時其他處理引擎則是保持空閑,在開始它們的處理任務(wù)之前等待單個的處理引擎完成其任務(wù)。在本發(fā)明的一些實(shí)施例中,GPC208的各部分被配置為執(zhí)行不同類型的處理。例如,第一部分可被配置為執(zhí)行頂點(diǎn)著色(vertexshading)和拓?fù)渖?,第二部分可被配置為?zhí)行細(xì)分曲面和幾何著色,第三部分可被配置為在屏幕空間中執(zhí)行像素著色以生成渲染后的圖像。由GPC208生成的中間數(shù)據(jù)可被存儲在緩沖區(qū)中,以允許在GPC208之間對該中間數(shù)據(jù)進(jìn)行傳輸,以用于進(jìn)一步的處理。存儲器接口214包括D個分區(qū)單元215,其每一個都直接地耦合到并行處理存儲器204的一部分,其中DSI。如同所顯示的,分區(qū)單元215的數(shù)量通常都等于DRAM220的數(shù)量。在其它的實(shí)施例中,分區(qū)單元215的數(shù)量可以不等于存儲設(shè)備的數(shù)量。本領(lǐng)域技術(shù)人員將會理解DRAM220可被替換為其它適宜的存儲設(shè)備并且可以是通常的常規(guī)設(shè)計。因此省略了詳細(xì)的說明??煽鏒RAM220來存儲渲染對象,例如幀緩沖器或者紋理映射,允許分區(qū)單元215并行地寫入每個渲染對象的一部分,以有效地使用并行處理存儲器204的可用帶寬。任何一個GPC208都可以對將要寫入到并行處理存儲器204中任何一個DRAM220的數(shù)據(jù)進(jìn)行處理。交叉開關(guān)單元210被配置為將每個GPC208的輸出路由給任一分區(qū)單元215的輸入或者路由至另一個GPC208,用于進(jìn)一步的處理。GPC208與存儲器接口214通過交叉開關(guān)單元210進(jìn)行通信,以對不同的外部儲存器設(shè)備進(jìn)行讀取或?qū)懭?。在一個實(shí)施例中,交叉開關(guān)單元210具有到存儲器接口214的連接以與I/O單元205進(jìn)行通信,以及到本地并行處理存儲器204的連接,從而使在不同的GPC208之中的處理內(nèi)核能夠與系統(tǒng)存儲器104或者其它的對于PPU202來說非本地的存儲器進(jìn)行通信。在圖2所顯示的實(shí)施例中,交叉開關(guān)單元210直接與I/O單元205相連。交叉開關(guān)單元210可以使用虛擬信道,以分離GPC208和分區(qū)單元215之間的業(yè)務(wù)流。在另一方面,GPC208可以被編程用來執(zhí)行與各式各樣的應(yīng)用程序相關(guān)的處理任務(wù),包括但不限于,線性和非線性數(shù)據(jù)變換、視頻和/或音頻數(shù)據(jù)的過濾、建模操作(例如,應(yīng)用物理定律來確定對象位置、速率及其他屬性)、圖像渲染操作(例如,細(xì)分曲面著色、頂點(diǎn)著色、幾何著色和/或像素著色程序)等等。PPU202可以將來自系統(tǒng)存儲器104和/或本地并行處理存儲器204的數(shù)據(jù)傳送給內(nèi)部的(片上)存儲器,處理該數(shù)據(jù),并且將結(jié)果數(shù)據(jù)寫回到系統(tǒng)存儲器104和/或本地并行處理存儲器204,其中這樣的數(shù)據(jù)可以由其它的系統(tǒng)組件訪問,包括CPU102或者另一個并行處理子系統(tǒng)112。PPU202可擁有任何容量(amount)的本地并行處理存儲器204,包括不設(shè)置本地存儲器,并且可以任何組合形式來使用本地存儲器和系統(tǒng)存儲器。例如,在統(tǒng)一(unified)存儲器架構(gòu)(UMA)實(shí)施例中,PI3U202可以是圖形處理器。在這樣的實(shí)施例中,將幾乎沒有或者沒有提供專用的圖形(并行處理)存儲器,并且PPU202將獨(dú)占地或者是幾乎獨(dú)占地使用系統(tǒng)存儲器。在UMA實(shí)施例中,可將PPU202集成到橋式芯片或者處理器芯片中,或者作為具有高速鏈路(例如,PCI-EXPRESS)的分立芯片加以提供,該高速鏈路經(jīng)由橋式芯片或者其它的通信方式將PPU202連接到系統(tǒng)存儲器。如上所述,并行處理子系統(tǒng)112中可包括許任意數(shù)量的PPU202。例如,多個PPU202可以被設(shè)置在單個外插卡上,或者多個外插卡可以連接到通信路徑113,或者PPU202中的一個或多個可以被集成到橋式芯片中。多PPU系統(tǒng)中的PPU202可以是彼此相同或者不同的。例如,不同的PPU202可能具有不同數(shù)量的處理內(nèi)核、不同容量的本地并行處理存儲器等等。在具有多個PPU202時,可以并行地進(jìn)行操作這些PPU,以高于采用單個PPU202可能達(dá)到的吞吐量來對數(shù)據(jù)進(jìn)行處理。可以用各式各樣的配置和形式因素來實(shí)現(xiàn)包含一個或多個PPU202的系統(tǒng),包括桌上型電腦、膝上型電腦、或者手持個人電腦、服務(wù)器、工作站、游戲控制臺、嵌入式系統(tǒng)等等,。處理集群陣列(ProcessingClusterArray)概述圖3A是根據(jù)本發(fā)明一個實(shí)施例的、圖2的一個PPU202中GPC208的框圖。每個GPC208可被配置為并行地執(zhí)行大量的線程,其中術(shù)語“線程”指的是對一組特定的輸入數(shù)據(jù)所執(zhí)行的特定程序的實(shí)例。在一些實(shí)施例中,采用單指令多數(shù)據(jù)(SIMD)指令發(fā)送技術(shù)來支持大量線程的并行執(zhí)行,而不必提供多個獨(dú)立的指令單元。在其它的實(shí)施例中,采用單指令多線程(SMT)技術(shù),使用被配置為發(fā)送指令到每一個GPC208內(nèi)一組處理引擎的公共指令單元,來支持大量通常同步化線程的并行執(zhí)行。與所有的處理引擎一般都執(zhí)行相同指令的SMD執(zhí)行方式不同,SIMT執(zhí)行通過給定線程程序允許不同的線程更加容易地跟蹤離散型的執(zhí)行路徑。本領(lǐng)域技術(shù)人員將會理解到SMD處理機(jī)制相當(dāng)于SMT處理機(jī)制的功能子集。經(jīng)由管線管理器305可方便地控制GPC208的操作,該管線管理器305向流多處理器(SPM)310分布處理任務(wù)。管線管理器305也可被配置為,通過為SPM310所輸出的經(jīng)處理數(shù)據(jù)指定目的地,來控制工作分布交叉開關(guān)330。在一個實(shí)施例中,每個GPC208都包括M個SPM310,其中M彡I,每個SPM310都被配置為處理一個或多個線程組。而且,每個SPM310有利地包括相同的一組可被管線化的功能執(zhí)行單元(例如,算術(shù)邏輯單元,以及加載-存儲單元,如在圖3C中所示的Exec單元302和LSU303),允許在前一個指令結(jié)束之前發(fā)送新的指令,如現(xiàn)有技術(shù)中所知的??商帷⒐┕δ軋?zhí)行單元的任何組合。在一個實(shí)施例中,功能單元支持多種運(yùn)算,包括整數(shù)和浮點(diǎn)算法(例如,加法和乘法)、比較運(yùn)算、布爾運(yùn)算(AND和、OR或、XOR異或)、位移以及不同代數(shù)函數(shù)的計算(例如,平面內(nèi)插、三角、指數(shù)、以及對數(shù)函數(shù),等等);并且相同功能單元硬件可均衡地用于(beleveragedto)執(zhí)行不同運(yùn)算。傳送到特定GPC208的指令序列形成線程,如之前本文所定義的,并且在此將跨SPM310中并行處理引擎(沒有示出)所并發(fā)執(zhí)行的一定數(shù)量的線程的集合稱為“卷繞包(warp)”或“線程組”。如同在此所使用的,“線程組”指的是針對不同的輸入數(shù)據(jù),并發(fā)執(zhí)行相同程序的一組線程,其中該組中有一個線程被分配給SPM310中的不同的處理引擎。線程組可以包括比SPM310中的處理引擎數(shù)量更少的線程,而在這樣情況下,在該線程組正在被執(zhí)行的周期內(nèi),一些處理引擎將會處于空閑狀態(tài)。線程組同樣可以包括比SPM310中的處理引擎數(shù)量更多的線程,而在這樣情況下,處理將在連續(xù)的時鐘脈沖周期上發(fā)生。因為每個SPM310可以并發(fā)支持多達(dá)G個線程組,于是在任何給定的時間在GPC208中可以允許執(zhí)行多達(dá)G*M個線程組。此外,在SPM310中可有多個相關(guān)的線程組同時處于激活狀態(tài)(處于執(zhí)行的不同階段)。在此將該線程組的集合稱為“協(xié)作線程陣列”(“CTA”)或者“線程陣列”。特定CTA的大小等于m*k,其中k是在線程組中并發(fā)執(zhí)行線程的數(shù)量,并且k一般是SPM310中并行處理引擎數(shù)量的整數(shù)倍數(shù),并且m是SPM310中同時處于激活狀態(tài)的線程組的數(shù)量。CTA的大小通常是由程序員以及CTA可用的硬件資源的諸如存儲器或者寄存器的容量來決定的。每個SPM310都包括LI高速緩存(沒有示出)或者使用SPM310之外的相應(yīng)的LI高速緩存中用于執(zhí)行加載和存儲操作的空間。而且每個SPM310都可以訪問分區(qū)單元215內(nèi)的L2高速緩存,該高速緩存由所有的GPC208所共享,并且可用于在線程之間傳送數(shù)據(jù)。最后,SPM310還可以訪問片外“全局”存儲器,其可包括例如并行處理存儲器204和/或系統(tǒng)存儲器104。將要理解到的是PPU202之外的任何存儲器都可作為全局存儲器來使用。此外,可將LI.5高速緩存335包括在GPC208之內(nèi),其被配置為據(jù)SPM310的請求經(jīng)由存儲器接口214來接收并且保持從存儲器中所獲取的數(shù)據(jù),其包括指令、一致性(uniform)數(shù)據(jù)以及常數(shù)數(shù)據(jù),并且將所請求的數(shù)據(jù)提供給SPM310。在GPC208中具有多個SPM310的實(shí)施例有利于共享被緩存在LI.5高速緩存335中的共同指令和數(shù)據(jù)。每個GPC208都可包括存儲器管理單元(MMU)328,其被配置為將虛擬地址映射為物理地址。在其他的實(shí)施例中,MMU328可以位于存儲器接口214內(nèi)。MMU328包括一組頁表項目(PTE)以及可選地包括高速緩存線索引(cachelineindex),該組PTE被用于將虛擬地址映射到像素塊(tile)的物理地址。MMU328可包括地址轉(zhuǎn)換后備緩沖區(qū)(TLB)或者高速緩存,其可以位于多處理器SPM310或者LI高速緩存或者GPC208之中。對物理地址進(jìn)行處理,來分散表面數(shù)據(jù)訪問位置,以允許在分區(qū)單元之間交錯的高效請求。高速緩存線索引可用來確定對于高速緩存線的請求是否命中或失敗。在圖形以及計算應(yīng)用程序中,可對GPC208進(jìn)行配置使得每個SPM310都耦合到紋理單元315,以執(zhí)行紋理映射操作,例如確定紋理采樣位置、讀取紋理數(shù)據(jù)以及過濾紋理數(shù)據(jù)。根據(jù)需要,從內(nèi)部的紋理LI高速緩存(沒有示出)中讀取紋理數(shù)據(jù),或者在一些實(shí)施例中從SPM310中的LI高速緩存讀取紋理數(shù)據(jù),以及從L2高速緩存、并行處理存儲器204或者系統(tǒng)存儲器104中取得紋理數(shù)據(jù)。每個SPM310都向工作分布交叉開關(guān)330輸出處理后的任務(wù),以便向另一個GPC208提供該處理后的任務(wù)用于進(jìn)一步的處理,或者經(jīng)由交叉開關(guān)單元210將該處理后的任務(wù)存入L2高速緩存、并行處理存儲器204或者系統(tǒng)存儲器104中。PreROP(pre-rasteroperations,預(yù)光柵操作)325被配置為從SPM310接收數(shù)據(jù),將數(shù)據(jù)引向分區(qū)單元215中的ROP單元,并且執(zhí)行對色彩混合的優(yōu)化、組織像素色彩數(shù)據(jù)、以及執(zhí)行地址轉(zhuǎn)換。應(yīng)該予以理解的是,在此所描述的內(nèi)核架構(gòu)是說明性的而且是可變化以及修改的。可在GPC208中包括任何數(shù)量的處理單元,例如SPM310或者紋理單元315、PreROP325。此外,雖然僅顯示了一個GPC208,但是PPU202可包括任何數(shù)量的GPC208,其最好在功能上彼此相類似,以便執(zhí)行行為將不會依賴于是哪個GPC208接收了特定的處理任務(wù)。此外,每個GPC208都最好使用單獨(dú)且不同的處理單元、LI高速緩存等,獨(dú)立于其它的GPC208進(jìn)行操作。圖3B是根據(jù)本發(fā)明的一個實(shí)施例的、在圖2中的一個PPU202之內(nèi)的分區(qū)單元215的框圖。如所顯示的,分區(qū)單元215包括L2高速緩存350、幀緩沖區(qū)(FB)DRAM接口355以及光柵操作單元(R0P)360。L2高速緩存350是讀/寫高速緩存,其被配置為對從交叉開關(guān)單元210和ROP360所接收的操作進(jìn)行加載和存儲。由L2高速緩存350將讀取失敗以及緊急回寫請求輸出給FBDRAM接口355以用于處理。還將臟的更新(Dirtyupdate)發(fā)送給FB355用于伺機(jī)處理。FB355與DRAM220直接對接,輸出讀和寫請求并且接收從DRAM220讀取的數(shù)據(jù)。在圖形應(yīng)用程序中,ROP360是處理單元,其執(zhí)行光柵操作并且輸出作為處理后圖形數(shù)據(jù)的像素數(shù)據(jù)用于在圖形存儲器中存儲,其中光柵操作例如模板(stencil)、z測試、混合等等。在本發(fā)明的一些實(shí)施例中,ROP360被包括在每個GPC208而非分區(qū)單元215中,并且將像素讀和寫請求而不是像素片段數(shù)據(jù)通過交叉開關(guān)單元210進(jìn)行傳輸。可在顯示設(shè)備110上顯示處理后的圖形數(shù)據(jù),或者對該圖形數(shù)據(jù)進(jìn)行路由以用于由CPU102或又并行處理子系統(tǒng)112中的一個處理實(shí)體來進(jìn)行進(jìn)一步的處理。每個分區(qū)單元215都包括ROP360以便分布光柵操作的處理。在一些實(shí)施例中,可將ROP360配置為對被寫入存儲器中z數(shù)據(jù)或者色彩數(shù)據(jù)進(jìn)行壓縮,以及對從存儲器中讀取出來的z數(shù)據(jù)或者色彩數(shù)據(jù)進(jìn)行解壓縮。本領(lǐng)域技術(shù)人員將會理解在圖1、2、3A和3B中描述的架構(gòu)不以任何方式對本發(fā)明的范圍進(jìn)行限制,而且在此教導(dǎo)的技術(shù)可在任何被適當(dāng)設(shè)置的處理單元上實(shí)現(xiàn),該處理單元包括但并非限制,一個或多個CPU、一個或多個多內(nèi)核CPU、一個或多個PPU202、一個或多個GPC208、一個或多個圖形或者特殊用途處理單元等等,均不脫離本發(fā)明的范圍。在本發(fā)明的實(shí)施例中,使用PPU202或者其它計算系統(tǒng)的處理器來采用線程陣列執(zhí)行通用計算是可取的。在線程陣列中的每個線程都分配有唯一的線程標(biāo)識符(“線程ID”),線程在其執(zhí)行期間可對該線程標(biāo)識符進(jìn)行訪問。線程ID可被定義為一維的或多維的數(shù)值,控制線程處理行為各個方面。例如,線程ID可能被用來確定線程將對輸入數(shù)據(jù)集的哪個部分進(jìn)行處理,和/或確定線程將要生成或者寫入輸出數(shù)據(jù)集哪個部分。每一線程的指令序列都可以包括至少一個指令,該指令定義了代表性線程和線程陣列中一個或多個其它線程之間的協(xié)作行為。例如,每一線程的指令序列可能包括下列指令在序列中的特定點(diǎn)處掛起代表性線程的操作的執(zhí)行直到一個或多個其他線程到達(dá)該特定點(diǎn)時為止的指令,指示代表性線程將數(shù)據(jù)存儲在一個或多個其他線程有權(quán)訪問的共享存儲器中的指令,,指示代表性線程自動讀取和更新存儲在共享存儲器中的數(shù)據(jù)的指令,一個或多個其他線程基于其線程ID有權(quán)訪問所述共享存儲器,等等。CTA程序還可以包括計算將從中讀取數(shù)據(jù)的共享存儲器中的地址的指令,其中地址為線程ID的函數(shù)。通過定義適宜的函數(shù)并提供同步技術(shù),可以用可預(yù)測的方式,由CTA的一個線程將數(shù)據(jù)寫入到共享存儲器中給定的位置,以及由同一個CTA中不同的線程從該位置讀取出數(shù)據(jù)。從而,線程之間任何期望模式的數(shù)據(jù)共享都可以得到支持,并且在CTA中任何的線程都可以與同一CTA中的任何其他線程共享數(shù)據(jù)。如果需要的話,可由CTA程序來決定在CTA的線程之中數(shù)據(jù)共享的程度;如此,可以理解到在特定的使用了CTA的應(yīng)用程序中,CTA的線程彼此之間可能或者可能不實(shí)際地共享數(shù)據(jù),這取決于CTA程序,并且在此對術(shù)語“CTA”和“線程陣列”以相同的含義進(jìn)行使用。圖3C是根據(jù)本發(fā)明的一個實(shí)施例,圖3A中SPM310的框圖。SPM310包括指令LI高速緩存370,其被配置為經(jīng)由LI.5高速緩存335從存儲器接收指令和常數(shù)。warp調(diào)度器和指令單元312從指令LI高速緩存器370接收指令和常數(shù),并且根據(jù)該指令和常數(shù)對本地寄存器文件304和SPM310功能單元進(jìn)行控制。SPM310功能單元包括N個exec(執(zhí)行或者處理)單元302和P個加載-存儲單元(LSU)303。SPM310提供了具有不同訪問級別(level)的片上(內(nèi)部的)數(shù)據(jù)存儲。專用寄存器(沒有顯示)對于LSU303來說是可讀取的而不是可寫入的,并且其用于存儲定義了每個CTA線程“位置”的參數(shù)。在一個實(shí)施例中,專用寄存器對于每個CTA線程(或者對于SPM310中每個exec單元302)都包括一個存儲線程ID的寄存器;每個線程ID寄存器僅可由一個相應(yīng)的exec單元302進(jìn)行訪問。專用寄存器還可包括輔助寄存器,其可由所有的CTA線程(或者由所有的LSU303)進(jìn)行讀取,該輔助寄存器存儲了CTA標(biāo)識符、CTA維度(dimension)、CTA所屬的柵格(grid)的維度以及CTA所屬的柵格的標(biāo)識符。在初始化期間響應(yīng)于經(jīng)由前端212從設(shè)備驅(qū)動器103接收的命令,來對專用寄存器進(jìn)行寫操作,并且該專用寄存器在CTA執(zhí)行期間不會變化。參數(shù)存儲器(未被顯示)存儲了運(yùn)行時(runtime)參數(shù)(常數(shù)),可以由任何的CTA線程(或者任何的LSU303)對該參數(shù)進(jìn)行讀取而非寫入。在一個實(shí)施例中,設(shè)備驅(qū)動器103在引導(dǎo)SPM310開始對使用這些參數(shù)的CTA的執(zhí)行之前,將參數(shù)提供給參數(shù)存儲器。在任何CTA(或者SPM310中的任何exec單元302)中的任何CTA線程可以通過存儲器接口214來訪問全局存儲器??稍贚I高速緩存320中存儲全局存儲器的一部分。本地寄存器文件304被每個CTA線程用作臨時空間(scratchspace);每個寄存器都被分配用于一個線程的排他性使用,并且任何本地寄存器文件304中的數(shù)據(jù)僅對于該寄存器被分配給的CTA線程可訪問??梢詫⒈镜丶拇嫫魑募?04實(shí)現(xiàn)為在物理上或者邏輯上被劃分成P個通道的寄存器文件,每個通道都具有一定數(shù)量的條目(entry)(其中每個條目都可能存儲,例如32比特的字符)。對N個exec單元302和P個加載-存儲單元LSU303中的每一個都分配一個通道,并且可以使用用于執(zhí)行同一個程序的不同線程的數(shù)據(jù)來填充不同通道中的相應(yīng)條目,以有助于SIMD的執(zhí)行??梢詫⑼ǖ赖牟煌糠址峙浣oG個并發(fā)線程組中不同的線程組,以便本地寄存器文件304中給定的條目僅對特定的線程是可訪問的。在一個實(shí)施例中,在本地寄存器文件304中的某些條目被保留用于存儲線程標(biāo)識符,其實(shí)現(xiàn)了一個專用寄存器。共享存儲器306對于所有的CTA線程(在單一的CTA之內(nèi))都是可訪問的;共享存儲器306中的任何位置對于在同一個CTA中(或者對于SPM310中的任何處理引擎)的任何CTA線程來說都是可訪問的。共享存儲器306可以被實(shí)現(xiàn)為具有互連的共享寄存器文件或者共享片上高速緩存存儲器,該互連允許任何處理引擎從共享存儲器中的任何位置讀取或?qū)懭?。在其它的?shí)施例中,共享狀態(tài)空間可以映射到片外(off-chip)存儲器的每個CTA區(qū)域,并且可以在LI高速緩存320中進(jìn)行高速緩存??蓪?shù)存儲器實(shí)現(xiàn)為在實(shí)現(xiàn)了共享存儲器306的同一個共享寄存器文件或者共享高速緩存存儲器中的指定部分,或者LSU303僅能進(jìn)行只讀訪問的單獨(dú)的共享寄存器文件或片上高速緩存存儲器。在一個實(shí)施例中,也可以將實(shí)現(xiàn)了參數(shù)存儲器的區(qū)域用于存儲CTAID和柵格ID,以及CTA維度和柵格的維度,由此實(shí)現(xiàn)了部分的專用寄存器。SPM310中的每個LSU303都耦合到統(tǒng)一地址映射單元352,該統(tǒng)一地址映射單元將在統(tǒng)一的存儲器空間中所指定的為加載和存儲指令而提供的地址轉(zhuǎn)換為每個不同存儲器空間中的地址。從而,指令可用來訪問任何由統(tǒng)一的存儲器空間中的地址所指定的本地的、共享的、或者全局的存儲器空間。每個SPM310中的LI高速緩存320都可用于對私有的每個線程的本地數(shù)據(jù)以及每個應(yīng)用程序的全局?jǐn)?shù)據(jù)進(jìn)行高速緩存。在一些實(shí)施例中,可在LI高速緩存320中對每個CTA的共享數(shù)據(jù)進(jìn)行高速緩存。LSU303經(jīng)由存儲器和高速緩存的互連380耦合到一致性LI高速緩存375、共享存儲器306以及LI高速緩存320。一致性LI高速緩存375被配置為經(jīng)由LI.5高速緩存335從存儲器接收只讀數(shù)據(jù)和常數(shù)。圖4是根據(jù)本發(fā)明的一個實(shí)施例的圖形處理管線400的示意圖,可由圖2中的一個或多個PPU202配置實(shí)現(xiàn)。例如,一個SPM310可被配置為執(zhí)行頂點(diǎn)處理單元415的功能、幾何處理單元425以及片段處理單元460中的一個或多個的功能。還可以由GPC208中的其它處理引擎以及相應(yīng)的分區(qū)單元215來執(zhí)行數(shù)據(jù)匯編器410、基元匯編器420、光柵化器455以及光柵操作單元465的功能。另一方面,可使用針對于一個或多個功能的專用處理單元來實(shí)現(xiàn)圖形處理管線400。數(shù)據(jù)匯編器410處理單元為高階表面、基元等等采集頂點(diǎn)數(shù)據(jù),并且向頂點(diǎn)處理單元415輸出包括了頂點(diǎn)屬性的頂點(diǎn)數(shù)據(jù)。頂點(diǎn)處理單元415為可編程執(zhí)行單元,其被配置為執(zhí)行頂點(diǎn)著色程序,從而根據(jù)頂點(diǎn)著色程序的指定來光照(lighting)和變換(transforming)頂點(diǎn)數(shù)據(jù)。例如,可對頂點(diǎn)處理單元415進(jìn)行編程以將頂點(diǎn)數(shù)據(jù)從對基于對象的坐標(biāo)表示(對象空間)變換到諸如世界空間或者規(guī)格化設(shè)備坐標(biāo)(NDC)空間的替代基礎(chǔ)坐標(biāo)系統(tǒng)。頂點(diǎn)處理單元415可以通過數(shù)據(jù)匯編器410讀取存儲在LI高速緩存320、并行處理存儲器204或者系統(tǒng)存儲器104中的數(shù)據(jù)來供頂點(diǎn)數(shù)據(jù)處理之用。基元匯編器420從頂點(diǎn)處理單元415接收頂點(diǎn)屬性,根據(jù)需要讀取所存儲的頂點(diǎn)屬性,并且構(gòu)建圖形基元用于由幾何處理單元425進(jìn)行處理。圖形基元包括三角形、線段、點(diǎn)等等。幾何處理單元425是可編程執(zhí)行單元,其被配置為執(zhí)行幾何著色程序,依據(jù)幾何著色程序的指定對從基元匯編器420接收的圖形基元進(jìn)行變換。例如,可對幾何處理單元425進(jìn)行編程,以將圖形基元細(xì)分成為一個或多個新的圖形基元和計算參數(shù),例如平面方程系數(shù),其用于對新的圖形基元進(jìn)行光柵化。在一些實(shí)施例中,幾何處理單元425也可以添加或者刪除幾何流中的元素。幾何處理單元425向視圖縮放、剔除(cull)以及裁剪(clip)單元450輸出指定新的圖形基元的參數(shù)和頂點(diǎn)。幾何處理單元425可以讀取存儲在并行處理存儲器204或者系統(tǒng)存儲器104中的數(shù)據(jù)用于在處理幾何數(shù)據(jù)中使用。視圖縮放、剔除以及裁剪單元450執(zhí)行裁剪、剔除以及視圖縮放,并且將處理后的圖形基元輸出到光柵化器455。光柵化器455對新的圖形基元進(jìn)行掃描轉(zhuǎn)換并且將片段和覆蓋(coverage)數(shù)據(jù)輸出給片段處理單元460。此外,可將光柵化器455配置為執(zhí)行z剔除及其他基于z的最佳化。片段處理單元460是可編程執(zhí)行單元,其被配置為執(zhí)行片段著色程序,依據(jù)片段著色程序的指定,來對從光柵化器455接收的片段進(jìn)行變換。例如,可對片段處理單元460編程以執(zhí)行例如透視校正、紋理映射、著色、混合等諸如此類的操作,以生成輸出到光柵操作單元465的著色后的片段。片段處理單元460可以讀取存儲在并行處理存儲器204或者系統(tǒng)存儲器104中的數(shù)據(jù)用于在處理片段數(shù)據(jù)中使用。取決于所編程的采樣率,可在像素、樣本或者其它粒度上對片段進(jìn)行著色。光柵操作單元465是處理單元,其執(zhí)行模板(stencil)、z測試、混合等諸如此類的光柵操作并且輸出像素數(shù)據(jù)作為處理后的圖形數(shù)據(jù)用于存儲在圖形存儲器中的??蓪⑻幚砗蟮膱D形數(shù)據(jù)存儲在圖形存儲器,例如并行處理存儲器204和/或系統(tǒng)存儲器104中,以用于在顯示設(shè)備110上進(jìn)行顯示,或者用于進(jìn)一步的由CPU102或并行處理子系統(tǒng)112進(jìn)行處理。在本發(fā)明的一些實(shí)施例中,可將光柵操作單元465配置為對寫入到存儲器中的z數(shù)據(jù)或者色彩數(shù)據(jù)進(jìn)行壓縮,以及對從存儲器中讀取出來的z數(shù)據(jù)或者色彩數(shù)據(jù)進(jìn)行解壓縮。雖然結(jié)合圖1、2、3A、3B和3C中的系統(tǒng)對方法步驟進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員將理解到任何配置為以任意順序執(zhí)行該方法步驟的系統(tǒng)都在本發(fā)明的范圍之內(nèi)。用于管理并行高速緩存層級的指令圖5是根據(jù)本發(fā)明一個實(shí)施例的示意圖,示出了在并行線程處理器中的并行高速緩存層級。如所顯示的,PPU502包括一個或多個SPM510。PPU502耦合到PPU存儲器526,該P(yáng)PU存儲器526可以包括DRAM。PPU502也耦合到橋506。橋506耦合到CPU504和系統(tǒng)存儲器508。在一種實(shí)現(xiàn)方式中,PI3U502經(jīng)由PCI-Express鏈路和橋506耦合到CPU504和系統(tǒng)存儲器508。如圖5所示,每個SPM510均包括指令LI高速緩存512、常數(shù)LI高速緩存514、數(shù)據(jù)LI高速緩存516和/或一致性LI高速緩存518。PPU也包括耦合到每個SPM510的LI.5高速緩存520。L2高速緩存互連耦合到每個SPM510、LI.5高速緩存520和L2高速緩存524中。L2高速緩存524耦合到PPU存儲器526。在一個實(shí)施例中,每個PPU502都相當(dāng)于圖2中所顯示的PPU202,并且每個SPM510都相當(dāng)于在圖3C中所顯示的SPM310。例如,如同在圖3C中所顯示的,指令LI高速緩存512相當(dāng)于指令LI高速緩存370,數(shù)據(jù)LI高速緩存516相當(dāng)于LI高速緩存320,并且一致性LI高速緩存518相當(dāng)于一致性LI高速緩存375。LI.5高速緩存520可以相當(dāng)于在圖3A中所顯示的LI.5高速緩存335。L2高速緩存524可以相當(dāng)于如在圖3B中所顯示的L2高速緩存350。在圖5所舉例說明的示意圖中,僅僅顯示了并行線程處理器架構(gòu)中并行高速緩存層級的一種實(shí)現(xiàn)方式,具有被稱為流多處理器(SPM)510的數(shù)量可擴(kuò)展的線程處理器。在一個實(shí)施例中,warp調(diào)度器和指令單元312也被包括在SPM510中,從并行線程向并行執(zhí)行單元302和并行加載-存儲單元303提供指令,如同在圖3C中所描述的。在圖5所示的實(shí)施例中,每個SPM510都包括多個不同的LI高速緩存L1指令高速緩存512、L1常數(shù)高速緩存514、L1數(shù)據(jù)高速緩存516以及一致性數(shù)據(jù)LI高速緩存518。SPM510和LI高速緩存經(jīng)由高速緩存互連網(wǎng)絡(luò)522來共享統(tǒng)一的L2高速緩存524。在一些實(shí)施例中,在LI高速緩存和L2高速緩存之間提供了輔助的高速緩存層,即,LI.5高速緩存520。L2高速緩存524訪問PPUDRAM存儲器526,經(jīng)由PCIe接口來訪問系統(tǒng)存儲器508,以及可選地,經(jīng)由PCIe接口訪問輔助的對等設(shè)備存儲器。對等(peer)設(shè)備存儲器的實(shí)例是與附屬于同一PCIe網(wǎng)絡(luò)的另一個PPU的DRAM存儲器。SPM加載-存儲單元(LSU)303(在圖3C中所顯示的)執(zhí)行存儲器訪問指令,包括如下所列的加載、存儲和高速緩存控制指令I(lǐng)d{.cop}.szrd,[ra+offset];//從存儲器加載ldu.szrd,[ra+offset];//經(jīng)由一致性高速緩存加載st{.cop}.sz[ra+offset],rb;//存儲到存儲器中cctl.cache.op{rd,}[ra+offset];//高速緩存控制操作如同在此所使用的,術(shù)語“加載(load)”描述了從存儲器讀取并返回值的指令,而術(shù)語“存儲(store)”描述了將值寫到存儲器中的指令。一些指令,例如原子和鎖操作,會修改存儲器并返回值,并且應(yīng)該被看作兼?zhèn)浼虞d和存儲的語義,因此,同時遵循加載和存儲的規(guī)則。下面對加載指令和存儲指令“高速緩存操作”(.cop)加以描述。下面還對高速緩存控制指令cctl加以描述。用于加載和存儲指令的高速緩存操作加載和存儲指令在由地址操作數(shù)所指定的有效地址上對存儲器進(jìn)行讀取或者寫入。.sz后綴指定了將要讀取或者寫入存儲器中的字節(jié)大小,并且SPM指令集架構(gòu)(ISA)可以支持1、2、4-、8和16個字節(jié)的大小用于加載/存儲指令。有效存儲器地址是寄存器ra加上立即數(shù)offset(偏移)的字節(jié)總和。ld{.cop}.szrd,[ra+offset]-J/從存儲器加載rdst{.cop}.sz[ra+offset],rb-J/將rb存儲到存儲器中在一些實(shí)施例中,SPM510使用32比特的地址,以及使用指定有后綴.e的64比特的擴(kuò)充地址,實(shí)現(xiàn)了兩個版本的存儲器存取指令(即,指令I(lǐng)d.e和st.e)。加載指令高速緩存操作Id.cop加載指令具有可選的由.cop所指定的高速緩存操作,編譯程序和/或程序員可以用來優(yōu)化對全局存儲器空間和對本地每個線程的專用存儲器空間進(jìn)行訪問的高速緩存使用。依賴于由系統(tǒng)軟件和PPU存儲器管理單元(MMU)頁表(pagetable)所提供的虛擬地址到物理地址的映射,全局的和本地的存儲器訪問可以映射到PPU(DRAM)存儲器526、系統(tǒng)存儲器508和PCIe設(shè)備存儲器。在一種實(shí)現(xiàn)方案中,對共享存儲器RAM的訪問忽略了高速緩存操作,但是對共享存儲器空間進(jìn)行高速緩存的實(shí)現(xiàn)方案則可以使用高速緩存操作。關(guān)于加載指令I(lǐng)d{.cop}和Id.e{.cop}的可選高速緩存操作是.ca在所有級別(level)上進(jìn)行高速緩存,有可能被再次訪問(缺省值).eg在全局級別上進(jìn)行高速緩存(在L2和之下的級別,非LI上進(jìn)行高速緩存).CS高速緩存流,有可能被訪問一次,繞過高速緩存或者提前回收(evict).Iu最后使用如果地址是每個線程的本地地址,并且高速緩存線被完全地覆蓋(由warp的線程來訪問在高速緩存線中的所有數(shù)據(jù)),則加載然后使該線無效并且取消任何待定的臟回寫,否則加載并且將高速緩存線標(biāo)記為回收優(yōu)先?!op的編碼與.CS的相同。.Cv如果地址是在系統(tǒng)存儲器中,則以易失(volatile)的方式進(jìn)行高速緩存;認(rèn)為高速緩存的系統(tǒng)存儲器線失去時效時,再次獲取。缺省的Id指令高速緩存操作是Id.ca,其在所有級別(LI和L2)上用正常的回收策略來分配高速緩存線。在一個實(shí)施例中,當(dāng)應(yīng)用程序希望多次訪問同一個高速緩存線,并且希望其訪問命中在LI高速緩存的工作集中的時候,應(yīng)用程序可以使用這個指令。全局?jǐn)?shù)據(jù)在L2高速緩存級別中是連貫的(coherent),但是在一種實(shí)現(xiàn)方案中,在每個SPM中的多個LI高速緩存對于全局?jǐn)?shù)據(jù)來說并非彼此連貫。如果一個線程經(jīng)由一個LI高速緩存存儲到全局存儲器,并且在不同的SPM中的第二個線程使用Id.ca經(jīng)由第二個LI高速緩存來加載那個地址,那么第二個線程可能得到的是失去時效的LI高速緩存數(shù)據(jù),而不是由第一個線程所存儲的數(shù)據(jù)。由此,驅(qū)動器將會使全局LI高速緩存線在并行線程的從屬柵格之間無效。如同下面所要詳細(xì)描述的,程序還可以使用高速緩存控制指令cctl來使LI高速緩存線無效。隨后由第二個柵格程序正確地獲取由第一個柵格程序所進(jìn)行的存儲,該第二個柵格程序發(fā)布被高速緩存在LI高速緩存中的缺省的Id.ca加載。這個指令支持可選的實(shí)現(xiàn)方案,其提供了在多個LI高速緩存中的高速緩存連貫性。可供選擇地,程序可以利用如下所述的Id.eg加載高速緩存全局操作,來繞過LI高速緩存級別,以避免讀取失去時效的LI數(shù)據(jù)。在一個實(shí)施例中,指令I(lǐng)d.Cg僅用于全局的高速緩存加載,繞過LI高速緩存并且僅在全局的(L2高速緩存)級別上進(jìn)行高速緩存。當(dāng)應(yīng)用程序希望讀取一次地址時,并且在相對較小的LI高速緩存中減少工作集的擾動的時候,其可以使用這個指令。這個指令使不同SPM中的線程之間能夠通信。該Id.cs加載高速緩存流操作,使用回收-優(yōu)先策略在LI和L2中分配全局線,以限制由臨時性流數(shù)據(jù)導(dǎo)致的高速緩存污染,該臨時性流數(shù)據(jù)可被訪問一次或兩次。在另一個實(shí)施例中,流數(shù)據(jù)可以經(jīng)由小的流高速緩存或者與每個高速緩存相鄰的先入先出(FIFO)來繞過LI和L2高速緩存,以便流數(shù)據(jù)不會干擾LI或者L2的工作集。當(dāng)將Id.cs用于本地窗口地址時,其執(zhí)行如下所述的Id.Iu操作。該Id.Iu加載最后使用操作,當(dāng)被應(yīng)用于本地每線程私有的地址的時候,如果本地LI高速緩存線被完全覆蓋(該高速緩存線中的所有數(shù)據(jù)被warp的線程讀取),則該操作在加載之后將該線無效(即,如果自在先的存儲起該線是臟的,則丟棄和取消該線的任何待定的臟的回寫)。當(dāng)要恢復(fù)溢出的寄存器以及彈出功能堆棧幀時,編譯器和/或程序員可以使用Id.Iu以避免對不會被再次使用的線進(jìn)行不必要的回寫。Id.Iu指令具有與Id.cs相同的高速緩存操作.cop編碼,并且Id.Iu指令執(zhí)行在全局地址上的加載高速緩存流操作。該Id.CV加載高速緩存易失操作被應(yīng)用于全局的系統(tǒng)存儲器地址,其使匹配的L2線無效(即,丟棄)并且對于每個新的加載進(jìn)行線的重新獲取,以允許線程程序輪詢由CPU寫入的系統(tǒng)存儲器的位置。如表I所示,應(yīng)用于PPUDRAM地址的Id.cv與Id.cs相同,回收-優(yōu)先。LD.cop[全局地址丨LD.cop[本地地址].copLIL2DRAML2SvsMem.copLIL2.ca*回收-正?;厥?正?;厥?正常.ca*回收-正?;厥?正常.eg不-緩存[I]回收-正?;厥?正常.eg回收-優(yōu)先回收-正常cs回收-優(yōu)先回收-優(yōu)先回收-優(yōu)先.Iu最后使用[2]回收-優(yōu)先.CV不-緩存[I]回收-優(yōu)先獲取易失的[3].CV回收-優(yōu)先回收-優(yōu)先表I*指示缺省值。[I]在Id.eg或者Id.cv之前,LI使匹配的線無效。在這個實(shí)現(xiàn)方案中,LI不是連貫的-其沒有對全局的寫進(jìn)行監(jiān)聽,所以匹配的LI線可能會失去時效。在Id.eg或者Id.cv之后,在LI中沒有留下記錄。[2]只有在線被完全覆蓋(其所有數(shù)據(jù)均由warp的線程讀取)的時候,LI將會返回本地的每線程的數(shù)據(jù),然后使線無效并且取消待定的臟的回寫取消;否則,其將返回該線并且以回收-優(yōu)先的方式加以保留。[3]應(yīng)用于系統(tǒng)存儲器的加載易失高速緩存Id.cv使匹配的L2線無效并且對于每個新的加載進(jìn)行線的重新獲取,以允許線程程序輪詢由CPU寫入的SysMem位置。L2可以將爆發(fā)的加載合并(coalesce)到同一個SysMem地址。應(yīng)用于巾貞緩沖DRAM地址的Id.cv與Id.CS相同,回收-優(yōu)先。存儲指令高速緩存操作St.cop與上述加載指令類似,存儲指令具有可選的由.cop所指定的高速緩存操作,編譯器和程序員可以用其來優(yōu)化對全局存儲器空間和本地每個線程的專用存儲器空間進(jìn)行訪問的高速緩存使用。關(guān)于存儲指令st{.cop}和st.e.{.cop}的可選高速緩存操作是.wb回寫全部連貫的級別(缺省值).eg在全局級別進(jìn)行高速緩存(在L2和以下的級別,而非LI上進(jìn)行高速緩存).eg高速緩存流,有可能被寫入一次(繞過高速緩存或者提前回收.wt高速緩存透寫(write-through)(對于在系統(tǒng)存儲器中的地址)在一個實(shí)施例中,當(dāng)將共享存儲器實(shí)現(xiàn)為RAM的時候,忽略對共享存儲器的高速緩存操作。與那些用于全局存儲器的高速緩存操作相比,對于本地存儲器的高速緩存操作可以具有不同的含義。缺省的st通用存儲高速緩存操作是存儲回寫(write-back)st.wb,其利用正常的回收策略回寫連貫高速緩存級別的高速緩存線。,利用回寫將被存儲到本地每線程的存儲器中的數(shù)據(jù)在LI高速緩存和L2高速緩存中進(jìn)行高速緩存。然而,在一個實(shí)施例中,由于對于全局?jǐn)?shù)據(jù)來說多個LI高速緩存是不連貫的,因此不對LI中的全局存儲數(shù)據(jù)進(jìn)行高速緩存。全局存儲繞過了LI高速緩存并且將任何匹配的LI高速緩存線丟棄,而不考慮.cop高速緩存操作。其它的實(shí)施例可提供全局連貫的LI高速緩存,并且st.wb可以從LI高速緩存中回寫臟的全局儲存數(shù)據(jù)。在表2所示的一個實(shí)施例中,如果一個線程繞過其LI高速緩存器存儲到全局存儲器,并且在不同的SPM中的第二個線程隨后利用Id.ca經(jīng)由不同的LI高速緩存來加載那個地址,那么第二個線程可能命中失去時效的LI高速緩存數(shù)據(jù),而不是從L2或者存儲器得到由第一個線程所存儲的數(shù)據(jù)。相應(yīng)地,驅(qū)動器必須使線程陣列的附屬柵格之間的全局LI高速緩存線無效。然后由第一格柵程序進(jìn)行的存儲會在LI高速緩存中得到正確地忽略,并被發(fā)布了缺省Id.ca加載的第二柵格程序所獲取。該高速緩存操作st.eg全局高速緩存,僅全局性地用于對全局儲存數(shù)據(jù)進(jìn)行高速緩存,繞過LI高速緩存,以及僅在L2高速緩存中進(jìn)行高速緩存。在表2所顯示的一種實(shí)現(xiàn)方案中,st.eg高速緩存全局策略還可用于針對全局?jǐn)?shù)據(jù)的st.wb指令,但是針對本地存儲器的st.eg使用LI高速緩存,并且將本地LI線標(biāo)記為回收-優(yōu)先。該st.cs存儲高速緩存流操作,利用回收-優(yōu)先策略在L2高速緩存(和LI高速緩存,如果是本地的話)中分配高速緩存線,以限制由流輸出數(shù)據(jù)導(dǎo)致的高速緩存污染;全局流數(shù)據(jù)繞過LI。自程序發(fā)布一次流寫入后,st.cs的另一個實(shí)現(xiàn)方案將使流數(shù)據(jù)經(jīng)由小的流高速緩存或者與每個高速緩存相鄰接的先入先出(FIFO)來繞過LI和L2高速緩存,以使流數(shù)據(jù)不會對LI高速緩存或者L2高速緩存的工作集形成干擾。該st.wt存儲透寫操作,被應(yīng)用于全局系統(tǒng)存儲器地址,其將對L2高速緩存進(jìn)行透寫操作,以允許CPU程序利用St.Wt來輪詢由PPU所寫入的系統(tǒng)存儲器位置。在一個實(shí)現(xiàn)方案中,不在系統(tǒng)存儲器中的地址使用正常的L2回寫。存儲指令高速緩存操作的一個實(shí)施例采用在表2中所示的高速緩存操作策略。權(quán)利要求1.一種用于管理處理單元中的并行高速緩存層級的方法,該方法包括從調(diào)度器單元接收指令,其中所述指令包括加載指令或者存儲指令;確定所述指令包括高速緩存操作修飾符,所述修飾符識別用于在所述并行高速緩存層級的一個或多個級別上對與所述指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存的策略;以及執(zhí)行所述指令,并且基于所述高速緩存操作修飾符對與所述指令相關(guān)聯(lián)的所述數(shù)據(jù)進(jìn)行高速緩存。2.如權(quán)利要求I的方法,其中所述指令進(jìn)一步地與識別存儲器區(qū)域的地址相關(guān)聯(lián),其中用于對數(shù)據(jù)進(jìn)行高速緩存的所述策略以所述存儲器區(qū)域為基礎(chǔ)。3.如權(quán)利要求2的方法,其中如果所述地址位于本地存儲器區(qū)域之中,則對所述數(shù)據(jù)進(jìn)行高速緩存,并且如果所述地址位于全局區(qū)域中,則不對所述數(shù)據(jù)進(jìn)行高速緩存。4.如權(quán)利要求I的方法,其中所述并行高速緩存層級包括LI高速緩存級別以及L2高速緩存級別。5.如權(quán)利要求4的方法,其中包括在所述處理單元中的每個處理器都包括位于所述LI高速緩存級別上的不同的LI高速緩存,所述L2高速緩存級別包括每個處理器經(jīng)配置均可對其進(jìn)行訪問的至少一個L2高速緩存。6.如權(quán)利要求4的方法,其中實(shí)現(xiàn)所述高速緩存操作修飾符,以使得對與所述指令相關(guān)聯(lián)的所述數(shù)據(jù)在LI高速緩存級別和L2高速緩存級別上進(jìn)行高速緩存。7.如權(quán)利要求6的方法,其中利用回收-優(yōu)先的回收策略,對與所述指令相關(guān)聯(lián)的所述數(shù)據(jù)在所述LI高速緩存級別和所述L2高速緩存級別的每一者上進(jìn)行高速緩存。8.如權(quán)利要求4的方法,其中實(shí)現(xiàn)所述高速緩存操作修飾符,以在加載指令之后,無效和丟棄被高速緩存在所述LI高速緩存中的所述數(shù)據(jù)。9.如權(quán)利要求4的方法,其中實(shí)現(xiàn)所述高速緩存操作修飾符,以使得對與所述指令相關(guān)聯(lián)的所述數(shù)據(jù)在所述L2高速緩存級別上進(jìn)行高速緩存,而非在所述LI高速緩存級別上進(jìn)行聞速緩存。10.如權(quán)利要求9的方法,其中利用回收-優(yōu)先的回收策略,對與所述指令相關(guān)的所述數(shù)據(jù)在所述L2高速緩存級別上進(jìn)行高速緩存。11.如權(quán)利要求I的方法,其中實(shí)現(xiàn)所述高速緩存操作修飾符,以使得利用回寫策略或者透寫策略,對與存儲指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存。12.如權(quán)利要求I的方法,其中實(shí)現(xiàn)所述高速緩存操作修飾符,以使得利用易失性始終獲取策略,對與加載指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存。13.一種用于管理并行高速緩存層級的系統(tǒng),該系統(tǒng)包括處理器,其被配置為接收指令,其中所述指令包括加載指令或者存儲指令,確定所述指令包括高速緩存操作修飾符,所述修飾符識別用于在所述并行高速緩存層級的一個或多個級別上對與所述指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存的策略,以及執(zhí)行所述指令,并且基于所述高速緩存操作修飾符對與所述指令相關(guān)聯(lián)的所述數(shù)據(jù)進(jìn)行高速緩存。14.如權(quán)利要求13的系統(tǒng),其中實(shí)現(xiàn)所述高速緩存操作修飾符,以使得利用回寫策略或者透寫策略,對與存儲指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存。15.如權(quán)利要求13的系統(tǒng),其中實(shí)現(xiàn)所述高速緩存操作修飾符,以使得利用易失性始終獲取策略,對與加載指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存。全文摘要一種用于管理處理單元中的并行高速緩存層級的方法。該方法包括從調(diào)度器單元接收指令,其中該指令包括加載指令或存儲指令;確定該指令包括高速緩存操作修飾符,該修飾符識別用于在并行高速緩存層級的一個或多個級別上對與指令相關(guān)的數(shù)據(jù)進(jìn)行高速緩存的策略;以及執(zhí)行該指令,并且基于該高速緩存操作修飾符對與該指令相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行高速緩存。文檔編號G06F9/30GK102713837SQ201080053153公開日2012年10月3日申請日期2010年9月23日優(yōu)先權(quán)日2009年9月23日發(fā)明者布雷特·W·庫恩,約翰·R·尼科爾斯,邁克爾·C·希巴儂申請人:輝達(dá)公司
            網(wǎng)友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品