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

用于事件的安全排隊(duì)的方法和系統(tǒng)的制作方法

文檔序號:6496365閱讀:206來源:國知局
用于事件的安全排隊(duì)的方法和系統(tǒng)的制作方法
【專利摘要】用于促進(jìn)在第一處理單元中執(zhí)行的用戶級應(yīng)用程序?yàn)榈诙幚韱卧踩貙ぷ骰蛉蝿?wù)進(jìn)行排隊(duì),而不執(zhí)行任何環(huán)變換的方法和系統(tǒng)。例如,在本發(fā)明的一個(gè)實(shí)施例中,第一處理單元執(zhí)行一個(gè)或多個(gè)用戶級應(yīng)用程序,其中每個(gè)用戶級應(yīng)用程序具有將卸載到第二處理單元的任務(wù)。在本發(fā)明的一個(gè)實(shí)施例中,第一處理單元用信號通知第二處理單元處理來自每個(gè)用戶級應(yīng)用程序的任務(wù),而不執(zhí)行任何環(huán)變換。
【專利說明】用于事件的安全排隊(duì)的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及系統(tǒng),更具體但并非排他地,涉及用于從一個(gè)處理單元到另一個(gè)處理單元的事件安全排隊(duì)而不使用任何環(huán)變換的方法和系統(tǒng)。
【背景技術(shù)】
[0002]系統(tǒng)可以有多個(gè)處理單元或設(shè)備。處理單元可以卸載任務(wù)或事件給在系統(tǒng)中的另一處理單元。然而,處理單元需要采用環(huán)變換來對將要卸載到另一處理單元的任務(wù)進(jìn)行排隊(duì)。例如,在現(xiàn)有技術(shù)圖1 100中,在環(huán)3 140中執(zhí)行的用戶級應(yīng)用程序需要通過環(huán)2 130和環(huán)I 120變換到在環(huán)O 110中的內(nèi)核模式,以對將要卸載到另一處理單元的任務(wù)進(jìn)行排隊(duì)。
【專利附圖】

【附圖說明】
[0003]通過以下對主題的詳細(xì)描述,本發(fā)明的實(shí)施例的特征和優(yōu)點(diǎn)將會(huì)變得明顯,其中:
[0004]圖1示出了等級保護(hù)域或環(huán)的現(xiàn)有技術(shù)框圖;
[0005]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的事件的安全排隊(duì)的框圖;
[0006]圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的事件的安全排隊(duì)的框圖;
[0007]圖4A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的實(shí)現(xiàn)本文公開的方法的系統(tǒng);以及
[0008]圖4B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的實(shí)現(xiàn)本文公開的方法的系統(tǒng)。
【具體實(shí)施方式】
[0009]本文所描述的本發(fā)明的實(shí)施例在附圖中以示例的方式而不是限制的方式示出。為了解釋的簡單和清晰,在圖中示出的元件不一定按照比例畫出。例如,為了清晰,相對于其他元件增大了一些元件的尺寸。進(jìn)一步地,在圖之間,參考數(shù)字在認(rèn)為合適的地方重復(fù)以指示對應(yīng)的或類似的元件。在本發(fā)明說明書中引用的“一個(gè)實(shí)施例”或“實(shí)施例”意思是結(jié)合實(shí)施例描述的特定的特征、結(jié)構(gòu)或特性至少包括在本發(fā)明的一個(gè)實(shí)施例中。因此,在說明書各處出現(xiàn)的短語“在一個(gè)實(shí)施例中”不一定全指同一個(gè)實(shí)施例。
[0010]本發(fā)明的實(shí)施例提供一種方法和系統(tǒng),用以促進(jìn)在第一處理單元中執(zhí)行的用戶級應(yīng)用程序?yàn)榈诙幚韱卧踩嘏抨?duì)工作或任務(wù),而不執(zhí)行任何環(huán)變換。例如,在本發(fā)明的一個(gè)實(shí)施例中,第一處理單元執(zhí)行一個(gè)或多個(gè)用戶級應(yīng)用程序,其中每個(gè)用戶級應(yīng)用程序均具有將要卸載到第二處理單元的任務(wù)。在本發(fā)明的一個(gè)實(shí)施例中,第一處理單元用信號通知第二處理單元來處理來自每個(gè)用戶級應(yīng)用程序的任務(wù),而不執(zhí)行任何環(huán)變換。
[0011]第一和第二處理單元包括,但不限于,中央處理單元(CPU)、圖形處理單元(GPU)、數(shù)字信號處理器(DSP)和任何其他的處理單元。例如,在本發(fā)明的一個(gè)實(shí)施例中,第一處理單元是CPU而第二處理單元是GPU。
[0012]在本發(fā)明的一個(gè)實(shí)施例中,用戶級軟件線程在CPU上執(zhí)行,用信號通知GPU:它有任務(wù)將要卸載到GPU,而不帶來到操作系統(tǒng)(OS)內(nèi)核級別的環(huán)變換的開銷。在本發(fā)明的一個(gè)實(shí)施例中,通過避免CPU的到OS內(nèi)核級別的環(huán)變換,CPU不打開安全漏洞,同時(shí)通過信號通知GPU它有任務(wù)將要卸載到所述GPU。
[0013]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的事件的安全排隊(duì)的框圖200。為了解釋的清晰,圖2示出了 CPU,其對將要由GPU 260執(zhí)行的事件進(jìn)行排隊(duì)。在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)事件指示了將要由GPU 260執(zhí)行的工作或任務(wù)。
[0014]在本發(fā)明的一個(gè)實(shí)施例中,CPU具有等級保護(hù)域或者環(huán),其提供到系統(tǒng)中的資源的不同級別的安全訪問。例如,在本發(fā)明的一個(gè)實(shí)施例中,CPU具有監(jiān)督級別或者環(huán)O 250、用戶級或環(huán)3 210、以及為了圖示清晰而沒有在圖2中展示的其他環(huán)。相關(guān)領(lǐng)域中普通的技術(shù)人員將會(huì)容易地理解等級保護(hù)環(huán)的工作,在此將不對其進(jìn)行描述。
[0015]在本發(fā)明的一個(gè)實(shí)施例中,CPU在環(huán)3 210中執(zhí)行一個(gè)或多個(gè)用戶級應(yīng)用程序,其示出為:應(yīng)用程序(App.) I 220、App.2 230和App.N 240。所述App.N 240示出在本發(fā)明的一個(gè)實(shí)施例中,可能有任何數(shù)量的可在CPU上執(zhí)行的用戶級應(yīng)用。
[0016]在本發(fā)明的一個(gè)實(shí)施例中,在CPU上執(zhí)行的每個(gè)用戶級的應(yīng)用程序具有指示器,其指示它有任務(wù)將要被卸載到GPU 260。在本發(fā)明的一個(gè)實(shí)施例中,通過對任務(wù)的標(biāo)識進(jìn)行排隊(duì)到可被GPU 260訪問的隊(duì)列里而卸載任務(wù)。
[0017]為了解釋的清晰,假定App.1 220和App.N 240中的每個(gè)具有一個(gè)或多個(gè)任務(wù)或工作將要被卸載到GPU 260。在本發(fā)明的一個(gè)實(shí)施例中,App.1 220和App.N 240各自具有映射的門鈴指示器225和映射的門鈴指示器245。在本發(fā)明的一個(gè)實(shí)施例中,映射的門鈴指示器225和映射的門鈴指示器245是在App.1 220和App.N 240各自的虛擬地址空間中。
[0018]在本發(fā)明的一個(gè)實(shí)施例中,GPU 260具有與CPU通信的邏輯。在本發(fā)明的一個(gè)實(shí)施例中,所述邏輯具有門鈴指示器270、272、274和276。每個(gè)門鈴指示器270、272、274和276各自與在CPU上執(zhí)行的用戶級應(yīng)用程序的映射的門鈴指示器相關(guān)聯(lián)。
[0019]例如,在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)App.1 220具有將要卸載到GPU 260的任務(wù)時(shí),App.1 220寫入或設(shè)定映射的門鈴指示器225。映射的門鈴指示器225與GPU 260中的門鈴指示器272相關(guān)聯(lián)。當(dāng)設(shè)定了映射的門鈴指示器225時(shí),GPU 260的邏輯設(shè)定門鈴指示器272,作為對設(shè)定映射的門鈴指示器225的響應(yīng)。
[0020]相似地,在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)App.N 240具有將要卸載到GPU260的任務(wù)時(shí),App.N 240寫入或設(shè)定映射的門鈴指示器245。映射的門鈴指示器245與GPU 260中的門鈴指示器276相關(guān)聯(lián)。當(dāng)設(shè)定了映射的門鈴指示器245時(shí),GPU 260的邏輯設(shè)定門鈴指示器276,作為對設(shè)定映射的門鈴指示器245的響應(yīng)。假定App.2 230沒有將要卸載到GPU260的任何任務(wù),則不寫入它的映射的門鈴指示器。
[0021]在本發(fā)明的一個(gè)實(shí)施例中,在GPU 260中的邏輯具有門鈴選擇器280。門鈴選擇器280選擇已設(shè)定的門鈴指示器270、272、274和276中的一個(gè)。假定門鈴指示器270和274被其他應(yīng)用程序設(shè)定,為了解釋的清晰而沒有在圖2中示出所述其他應(yīng)用程序。在選擇了門鈴指示器270、272、274和276中的一個(gè)之后,門鈴選擇器280為GPU 260產(chǎn)生中斷290。
[0022]在本發(fā)明的一個(gè)實(shí)施例中,中斷290指示GPU 260:存在將要執(zhí)行的與選擇的門鈴指示器相關(guān)聯(lián)的任務(wù),GPU 260進(jìn)行處理所述任務(wù)。例如,在本發(fā)明的一個(gè)實(shí)施例中,門鈴選擇器280選擇門鈴272并且產(chǎn)生中斷290以通知GPU 260。在本發(fā)明的一個(gè)實(shí)施例中,App.1 220的標(biāo)識被寫入寄存器中以允許GPU 260處理從App.1 220卸載的任務(wù)。在本發(fā)明的一個(gè)實(shí)施例中,GPU使用App.1 220的標(biāo)識來判定需要執(zhí)行哪個(gè)任務(wù)。
[0023]在本發(fā)明的一個(gè)實(shí)施例中,在與選擇的門鈴相關(guān)聯(lián)的應(yīng)用程序的標(biāo)識被寫入寄存器之后,選擇的門鈴的設(shè)定被清除或者復(fù)位。例如,在本發(fā)明的一個(gè)實(shí)施例中,在App.1 220的標(biāo)識被寫入寄存器之后,門鈴272被清除或復(fù)位,并且生成了中斷290。在本發(fā)明的一個(gè)實(shí)施例中,這使得門鈴選擇器280可以僅僅選擇已經(jīng)被設(shè)定的門鈴。
[0024]在本發(fā)明的一個(gè)實(shí)施例中,門鈴選擇器280使用確??缭接脩艏夁M(jìn)程的公平的規(guī)則來檢查門鈴。在本發(fā)明的一個(gè)實(shí)施例中,這防止了惡意軟件造成拒絕服務(wù)攻擊。
[0025]例如,在本發(fā)明的一個(gè)實(shí)施例中,門鈴選擇器280基于門鈴選擇器的優(yōu)先級,在門鈴指示器270、272、274和276之間選擇一個(gè)門鈴指示器。例如,在本發(fā)明的一個(gè)實(shí)施例中,門鈴指示器270、272、274和276中的每個(gè)設(shè)定有優(yōu)先級。門鈴選擇器280檢查門鈴指示器270、272、274和276的優(yōu)先級,并且基于優(yōu)先級選擇一個(gè)門鈴指示器。在本發(fā)明的一個(gè)實(shí)施例中,門鈴指示器的優(yōu)先級基于但不限于系統(tǒng)的可用資源、完成時(shí)間、執(zhí)行時(shí)間、以及被CPU用以分類卸載的任務(wù)的任何其他因素。
[0026]在本發(fā)明的一個(gè)實(shí)施例的另一個(gè)示例中,門鈴選擇器280基于最近最少使用的標(biāo)準(zhǔn),在門鈴指示器270、272、274和276中選擇一個(gè)門鈴指示器。例如,在本發(fā)明的一個(gè)實(shí)施例中,門鈴選擇器280檢查門鈴指示器270、272、274和276中的哪個(gè)是最近最少使用(LRU)的,并且選擇LRU門鈴指示器。
[0027]在本發(fā)明的其他實(shí)施例中,門鈴選擇器280使用其他標(biāo)準(zhǔn)來保證門鈴指示器270、272、274和276的公平選擇。相關(guān)領(lǐng)域中的普通技術(shù)人員將會(huì)容易理解如何選擇其他標(biāo)準(zhǔn),并且這些其他標(biāo)準(zhǔn)可以被使用而不影響本發(fā)明的工作。
[0028]在本發(fā)明的一個(gè)實(shí)施例中,在CPU和GPU 260之間的通信允許異步的信號通知已經(jīng)為GPU 260的處理而對任務(wù)進(jìn)行了排隊(duì)。在CPU和GPU 260之間的信號通知不需要環(huán)變換,并且它提供安全方式來通過信號通知GPU260而不打開任何安全漏洞。
[0029]圖2中的圖示不是為了進(jìn)行限制。例如,在本發(fā)明的另一個(gè)實(shí)施例中,GPU 260向CPU卸載任務(wù)并且為CPU對任務(wù)進(jìn)行排隊(duì)。在本發(fā)明的又一個(gè)實(shí)施例中,除了 CPU和GPU之外的另一類型的處理單元可以使用相同的邏輯和方法來用信號通知處理單元。在本發(fā)明的一個(gè)實(shí)施例中,門鈴選擇器280和門鈴指示器270、272、274和276不需要是GPU 260的一部分,并且可以實(shí)施為GPU 260之外的邏輯。
[0030]圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的事件的安全排隊(duì)的框圖300。為了解釋的清晰,參考圖2來討論圖3。在本發(fā)明的一個(gè)實(shí)施例中,門鈴指示器270、272、274和276實(shí)施為存儲在門鈴存儲器352中的門鈴陣列的一部分。圖3示出了在本發(fā)明的一個(gè)實(shí)施例中用于三十個(gè)公共門鈴的邏輯,但是它的目的不是為了限制。相關(guān)領(lǐng)域中的普通技術(shù)人員將會(huì)容易理解如何應(yīng)用本發(fā)明的工作用于其他數(shù)量的公共門鈴。
[0031]在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)用戶級應(yīng)用程序?qū)懭胨挠成涞拈T鈴指示器時(shí),在GPU 260的邏輯中的各自的門鈴指示器根據(jù)使用公共門鈴寫入數(shù)據(jù)[9:0]信號而被設(shè)定。公共門鈴寫入數(shù)據(jù)[9:0]信號連接到5到32行解碼邏輯330和5到32位解碼邏輯340。
[0032]5到32行解碼邏輯330和5到32位解碼邏輯340與具有兩個(gè)讀取端口的門鈴存儲器352連接。在本發(fā)明的一個(gè)實(shí)施例中,門鈴存儲器352存儲三十二個(gè)32位字,其代表了三十二個(gè)門鈴指示器的陣列。公共門寫入數(shù)據(jù)[9:0]信號使用5位作為用于5到32行解碼邏輯330的行地址,和另外5位作為用于5到32位解碼邏輯340的位地址。
[0033]每個(gè)門鈴指示器與具有一個(gè)或多個(gè)將要排隊(duì)的任務(wù)的應(yīng)用程序相關(guān)聯(lián)。在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)應(yīng)用程序在應(yīng)用程序的初始化過程中被分配有應(yīng)用程序標(biāo)識(APP_ID)。
[0034]邏輯具有與在門鈴存儲器352中的每個(gè)門鈴指示器相關(guān)聯(lián)的對應(yīng)的門使能存儲器322。在本發(fā)明的一個(gè)實(shí)施例中,門鈴使能存儲器322存儲三十二個(gè)32位字。在本發(fā)明的一個(gè)實(shí)施例中,門鈴使能存儲器322針對門鈴存儲器352中的三十二個(gè)門鈴指示器中的每個(gè)具有各自的門鈴使能信號。在本發(fā)明的一個(gè)實(shí)施例中,門鈴使能存儲器322防止無效門鈴由不受信任的軟件設(shè)定。
[0035]在本發(fā)明的一個(gè)實(shí)施例中,在門鈴使能存儲器322中的各自的門鈴使能信號是經(jīng)由公共門鈴使能寫入信號310設(shè)定的。在本發(fā)明的一個(gè)實(shí)施例中,公共門鈴使能寫入信號310具有與5到32行解碼邏輯320耦合的5個(gè)行地址信號用來選擇門鈴使能存儲器322的期望行,并且邏輯在選擇的期望行中寫入或存儲期望的設(shè)置。
[0036]在本發(fā)明的一個(gè)實(shí)施例中,門鈴存儲器352具有32個(gè)輸入信號,示出為wdata[31:0] 350。門鈴存儲器352的每個(gè)輸入信號耦合到AND門和OR門。例如,在本發(fā)明的一個(gè)實(shí)施例中,門鈴存儲器352的wdata[31]信號耦合到AND門346和OR門342。門鈴存儲器352的wdata [O]信號耦合到AND門348和OR門344。門鈴存儲器352的每個(gè)其他輸入信號耦合到AND門和OR門,但是為了解釋的清晰,沒有在圖3中展示。
[0037]在本發(fā)明的一個(gè)實(shí)施例中,經(jīng)由5到32行解碼邏輯320選擇的讀取端口 324來讀取門鈴使能存儲器322。讀取端口 324的輸出耦合到門鈴存儲器352的每個(gè)輸入信號的每個(gè)AND門。通過這樣做,與門鈴存儲器352中每個(gè)門鈴相關(guān)聯(lián)的門鈴使能信號控制門鈴存儲器352的每個(gè)輸入信號的訪問。
[0038]例如,在本發(fā)明的一個(gè)實(shí)施例中,AND門346的第一輸入耦合到讀取端口 324的輸出。當(dāng)由5到32行解碼邏輯330選擇特定的門鈴指示器時(shí),僅當(dāng)讀取端口 324的輸出是斷言的或啟用的時(shí),可以設(shè)定wdata [31]信號的位設(shè)定。
[0039]AND門346的第二輸入耦合到各自一個(gè)clear_bit[31:0]信號,即來自位32位最近最少訪問(LRA)的搜尋邏輯360的clear_bit[31]信號。在本發(fā)明的一個(gè)實(shí)施例中,clear_bit[31:0]信號可以被設(shè)定為邏輯零,以清除在門鈴存儲器352中的門鈴指示器的各自設(shè)定。例如,當(dāng)clear_bit[31]被設(shè)定為邏輯零時(shí),AND 346的輸出被設(shè)定為邏輯零,并且它清除選擇的門鈴指示器的值。
[0040]在本發(fā)明的一個(gè)實(shí)施例中,AND門346的第三輸入耦合到OR門342的輸出。OR門342的第一輸入耦合到門鈴存儲器352的讀取端口 I 354的輸出。OR門342的第二輸入耦合到5到32位解碼邏輯340的輸出。為了設(shè)定特定的門鈴,公共門鈴寫入數(shù)據(jù)[9:0]提供特定門鈴的行和位地址。5到32位解碼邏輯340和5到32行解碼邏輯330相應(yīng)地解碼公共門鈴寫入數(shù)據(jù)[9:0]以設(shè)定特定的門鈴。AND門和OR門耦合到門鈴存儲器352其他每個(gè)輸入的工作,類似于AND門346和OR門342,并且將不會(huì)在這里描述。
[0041]在本發(fā)明的一個(gè)實(shí)施例中,門鈴存儲器352耦合到三十二個(gè)32到I OR門,如OR門372和374所示出的。三十二個(gè)32到I OR門中每個(gè)的輸出耦合到行32位LRA搜尋邏輯370。每個(gè)OR門使用門鈴存儲器352的特定行的32位作為其輸入。當(dāng)門鈴存儲器352的特定行的一個(gè)或多個(gè)位被設(shè)定時(shí),OR門的輸出被斷言。
[0042]行32位LRA搜尋邏輯370使用每個(gè)OR門的輸出來判定門鈴存儲器352的特定行是否已經(jīng)被斷言。在本發(fā)明的一個(gè)實(shí)施例中,行32位LRA搜尋邏輯370選擇LRA行,并且以LRA行的地址設(shè)定讀取端口 O 356。讀取端口 O 356的輸出耦合到位32位LRA搜尋邏輯360。位32位LRA搜尋邏輯360選擇在LRA行中具有最高優(yōu)先級的門鈴位,并且將與選擇的門鈴位相關(guān)聯(lián)的APP_ID排隊(duì)到先進(jìn)先出(FIFO)隊(duì)列380。APP_ID 382被寫入公共門鈴矢量寄存器,其可以被處理單元訪問以處理卸載的任務(wù)。
[0043]當(dāng)FIFO隊(duì)列380是空的時(shí),F(xiàn)IFO空信號384被設(shè)定。經(jīng)由逆變器390,中斷信號386耦合到FIFO空信號384。當(dāng)FIFO隊(duì)列380不是空的時(shí),F(xiàn)IFO空信號384解除斷言,而中斷信號386被斷言。中斷信號386指示有任務(wù)將要被處理或者執(zhí)行。當(dāng)FIFO隊(duì)列380是滿的時(shí),輪詢仲裁器,即行32位LRA搜尋邏輯370和位32位LRA搜尋邏輯360,停止對任務(wù)排隊(duì)以防止任何可能的溢出。
[0044]在本發(fā)明的一個(gè)實(shí)施例中,門鈴指示器被分配作為最后一級高速緩存等級的一部分,其可以作為高速緩存客戶端而被CPU和GPU訪問。當(dāng)門鈴頁面或者高速緩存存儲器線被分配給GPU時(shí),高速緩存存儲器線的排他所有權(quán)被傳送給GPU。按照包容高速緩存等級的高速緩存一致性協(xié)議(修改的、排他的、共享的、無效的一MESI規(guī)則),更新門鈴高速緩存存儲器線的用戶級應(yīng)用程序必須通過使GPU的所有權(quán)無效來將所有權(quán)傳送回CPU。所有權(quán)傳送被GPU用作讀取更新內(nèi)容的觸發(fā)機(jī)制,并判定用戶級應(yīng)用程序是否已經(jīng)提交任何工作或任務(wù)。
[0045]這一機(jī)制允許單個(gè)門鈴被分配給一個(gè)用戶級應(yīng)用程序和多個(gè)用戶級應(yīng)用程序。在多個(gè)用戶級應(yīng)用程序被分配給單個(gè)門鈴指示的情況下,每個(gè)用戶級應(yīng)用程序競爭以設(shè)定門鈴指示器,并且門鈴指示器的成功設(shè)定是經(jīng)由在可高速緩存的存儲器空間上的原子操作進(jìn)行的。
[0046]圖4A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于實(shí)現(xiàn)本文公開的方法的系統(tǒng)400。系統(tǒng)400包括但不限于,臺式計(jì)算機(jī)、平板計(jì)算機(jī)、膝上計(jì)算機(jī)、上網(wǎng)本、筆記本計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、服務(wù)器、工作站、蜂窩電話、移動(dòng)計(jì)算設(shè)備、智能電話、互聯(lián)網(wǎng)家電或者任何其他類型的計(jì)算設(shè)備。在另一個(gè)實(shí)施例中,用來實(shí)現(xiàn)本文公開的方法的系統(tǒng)400可以是片上系統(tǒng)(SOC)系統(tǒng)。
[0047]處理器410具有處理核心412,用來執(zhí)行系統(tǒng)400的指令。處理核心412包括但不限于,用來取得指令的預(yù)取邏輯、用來解碼指令的解碼邏輯、用來執(zhí)行指令的執(zhí)行邏輯,等等。處理器410具有高速緩存存儲器416,用來高速緩存系統(tǒng)400的指令和/或數(shù)據(jù)。在本發(fā)明的另一個(gè)實(shí)施例中,高速緩存存儲器416包括但不限于,一級、二級和三級高速緩存存儲器或者在處理器410內(nèi)的任何其他配置的高速緩存存儲器。
[0048]存儲器控制中心(MCH)414執(zhí)行以下功能:其使得處理器410能夠訪問存儲器430并與存儲器430通信,所述存儲器430包括易失性存儲器432和/或非易失性存儲器434。易失性存儲器432包括但不限于,同步動(dòng)態(tài)隨機(jī)訪問存儲器(SDRAM)、動(dòng)態(tài)隨機(jī)訪問存儲器(DRAM),RAMBUS動(dòng)態(tài)隨機(jī)訪問存儲器(RDRAM)和/或任何其他類型的隨機(jī)訪問存儲器設(shè)備。非易失性存儲器434包括但不限于,NAND閃存、相變存儲器(PCM)、只讀存儲器(ROM)、電可擦可編程只讀存儲器(EEPROM)、或者任何其他類型的非易失性存儲器設(shè)備。
[0049]存儲器430存儲將要被處理器410執(zhí)行的信息和指令。當(dāng)處理器410正在執(zhí)行指令時(shí),存儲器430還可以存儲臨時(shí)變量或者其他中間信息。芯片組420經(jīng)由點(diǎn)對點(diǎn)(PtP)接口 417和422與處理器410連接。芯片組420使得處理器410能夠連接到系統(tǒng)400中的其他模塊。在本發(fā)明的一個(gè)實(shí)施例中,接口 417和422按照PtP通信協(xié)議操作,例如Intel?快速通道互聯(lián)(QPI)等等。芯片組420連接到GPU或者顯示設(shè)備440上,其包括但不限于液晶顯示器(IXD)、陰極射線管(CRT)顯示器或者任何其他形式的虛擬顯示設(shè)備。
[0050]此外,芯片組420連接到互連各種模塊474、480、482、484和486的一個(gè)或多個(gè)總線450和460。如果在總線速度或者通信協(xié)議中有不匹配,則總線450和460可以經(jīng)由總線橋472互連在一起。芯片組420與非易失性存儲器480、大規(guī)模存儲設(shè)備482、鍵盤/鼠標(biāo)484和網(wǎng)絡(luò)接口 486耦合,但并不局限于此。大規(guī)模存儲設(shè)備482包括,但不限于固態(tài)驅(qū)動(dòng)、硬盤驅(qū)動(dòng)、通用串行總線閃存驅(qū)動(dòng)、或者任何其他形式的計(jì)算機(jī)數(shù)據(jù)存儲介質(zhì)。使用任何類型的已知網(wǎng)絡(luò)接口標(biāo)準(zhǔn)實(shí)現(xiàn)網(wǎng)絡(luò)接口 486,包括,但不限于以太網(wǎng)接口、通用串行總線(USB)接口、外部設(shè)備互連(PCI)快速接口、無線接口和/或任何其他合適類型的接口。無線接口根據(jù)但不限于以下協(xié)議進(jìn)行操作=IEEE 802.11標(biāo)準(zhǔn)及其相關(guān)家族、家用電力線AV(HPAV)、超寬帶(UWB)、藍(lán)牙、WiMax或者任何形式的無線通信協(xié)議。
[0051]盡管在圖4中示出的模塊被描繪成系統(tǒng)400內(nèi)的分離框,但這些框中的一些執(zhí)行的功能可以被集成在單個(gè)半導(dǎo)體電路內(nèi),或者可以使用兩個(gè)或更多個(gè)分離的集成電路實(shí)現(xiàn)。在本發(fā)明的另一個(gè)實(shí)施例中,系統(tǒng)400可以包括不止一個(gè)處理器/處理核心。
[0052]圖4B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的實(shí)現(xiàn)本文所公開的方法的系統(tǒng)490。系統(tǒng)490是系統(tǒng)400的變 型,其中GPU 492與處理器410集成在一起。在本發(fā)明的一個(gè)實(shí)施例中,GPU 492耦合到顯示器494。在系統(tǒng)490中的其他部件與在系統(tǒng)400中的部件相似,將不在此進(jìn)行描述。
[0053]本文公開的方法可以用硬件、軟件、固件或者其任何其他組合實(shí)現(xiàn)。盡管描述了公開主題的實(shí)施例的示例,但相關(guān)領(lǐng)域的普通技術(shù)人員將會(huì)容易地明白可以替代地使用實(shí)現(xiàn)所公開主題的許多其他方法。在前面的描述中,已經(jīng)描述了所公開主題的各方面。為了解釋的目的,陳述了特定數(shù)字、系統(tǒng)和配置,是為了提供對主題的透徹理解。然而,對受益于本公開的相關(guān)領(lǐng)域的普通技術(shù)人員來說顯然的是,可以不采用特定的細(xì)節(jié)來實(shí)踐本主題。在其他例子中,省略、簡化、合并或者分解熟知的特征、部件或者模塊是為了不模糊所公開的主題。
[0054]本文所使用的術(shù)語“可操作的”的意思是當(dāng)設(shè)備或者系統(tǒng)處于斷電狀態(tài)時(shí),設(shè)備、系統(tǒng)、協(xié)議等能夠操作或者適用于操作其期望的功能。所公開主題的各種實(shí)施例可以用硬件、固件、軟件或者其組合實(shí)現(xiàn),并且可以參考或結(jié)合程序代碼進(jìn)行描述,例如指令、函數(shù)、程序、數(shù)據(jù)結(jié)構(gòu)、邏輯、應(yīng)用程序、設(shè)計(jì)表現(xiàn)或者用于仿真、模擬和直到設(shè)計(jì)的格式,當(dāng)被機(jī)器訪問時(shí)會(huì)造成機(jī)器執(zhí)行任務(wù)、定義摘要數(shù)據(jù)類型或者低級別硬件上下文、或者產(chǎn)生結(jié)果。
[0055]在附圖中展示的技術(shù)可以使用在一個(gè)或多個(gè)計(jì)算設(shè)備中(例如通用計(jì)算機(jī)或者計(jì)算設(shè)備)存儲和執(zhí)行的代碼和 數(shù)據(jù)實(shí)現(xiàn)。這樣的計(jì)算設(shè)備使用機(jī)器可讀介質(zhì)來(在內(nèi)部和通過網(wǎng)絡(luò)與其他計(jì)算設(shè)備)存儲并通信代碼和數(shù)據(jù),所述機(jī)器可讀介質(zhì)例如是機(jī)器可讀存儲器介質(zhì)(例如磁盤;光盤;隨機(jī)訪問存儲器;只讀存儲器;閃存設(shè)備;相變存儲器)和機(jī)器可讀通信介質(zhì)(例如,電、光、聲或者其他形式的傳播信號一例如載波、紅外信號、數(shù)字信號
-rf* ) O
[0056]盡管已經(jīng)參考解釋性的實(shí)施例描述了所公開的主題,但本說明書目的不應(yīng)解釋為限制的含義。對主題的示出的實(shí)施例和其它實(shí)施例的各種修改對于所公開主題所屬于的領(lǐng)域中的技術(shù)人員而言是明顯的,并且這些修改被視落入所公開主題的范圍內(nèi)。
【權(quán)利要求】
1.一種裝置,包括: 第一處理單兀,用于: 執(zhí)行一個(gè)或多個(gè)用戶級應(yīng)用程序,其中每個(gè)用戶級應(yīng)用程序?qū)⑿遁d任務(wù)到第二處理單元;以及 用信號通知所述第二處理單元處理來自每個(gè)用戶級應(yīng)用程序的任務(wù),而不執(zhí)行任何環(huán)變換。
2.如權(quán)利要求1所述的裝置,其中每個(gè)用戶級應(yīng)用程序具有第一指示器,其中所述第一處理單元用信號通知所述第二處理單元處理來自每個(gè)用戶級應(yīng)用程序的任務(wù)而不執(zhí)行任何環(huán)變換用于: 響應(yīng)于每個(gè)用戶級應(yīng)用程序具有待卸載到所述第二處理單元的任務(wù),設(shè)定每個(gè)用戶級應(yīng)用程序的所述第一指示器。
3.如權(quán)利要求2所述的裝置,進(jìn)一步包括: 邏輯,用于: 基于每個(gè)用戶級應(yīng)用程序的每個(gè)對應(yīng)的第一指示器,設(shè)定多個(gè)第二指示器中的每一個(gè); 選擇所述多個(gè)第 二指示器中的一個(gè); 判定與所選擇的第二指示器相關(guān)聯(lián)的所述用戶級應(yīng)用程序的標(biāo)識(ID);以及 將所述用戶級應(yīng)用程序的所述ID存儲到先進(jìn)先出(FIFO)隊(duì)列。
4.如權(quán)利要求3所述的裝置,其中所述邏輯進(jìn)一步用于: 為所述第二處理單元產(chǎn)生中斷,其中所述中斷用于指示所述FIFO隊(duì)列不是空的。
5.如權(quán)利要求4所述的裝置,其中所述邏輯進(jìn)一步用于: 響應(yīng)于將所述用戶級應(yīng)用程序的所述ID存儲到所述FIFO隊(duì)列,清除所選擇的第二指示器。
6.如權(quán)利要求3所述的裝置,其中用于選擇所述多個(gè)第二指示器中的一個(gè)的邏輯用于:基于所述多個(gè)第二指示器的優(yōu)先級,來選擇所述多個(gè)第二指示器中的一個(gè)。
7.如權(quán)利要求3所述的裝置,其中用于選擇所述多個(gè)第二指示器中的一個(gè)的邏輯用于:基于最近最少使用(LSU)標(biāo)準(zhǔn),來選擇所述多個(gè)第二指示器中的一個(gè)。
8.如權(quán)利要求3所述的裝置,其中所述邏輯進(jìn)一步用于斷言與所選擇的第二指示器相關(guān)聯(lián)的使能信號,并且其中用于選擇所述多個(gè)第二指示器中的一個(gè)的邏輯用于:響應(yīng)于與所選擇的第二指示器相關(guān)聯(lián)的所述使能信號的斷言,來選擇所述多個(gè)第二指示器中的一個(gè)。
9.如權(quán)利要求1所述的裝置,其中所述第一處理單元是中央處理單元,并且其中所述第二處理單元是圖形處理單元。
10.如權(quán)利要求3所述的裝置,其中所述多個(gè)第二指示器是公共門鈴,其中每個(gè)第一指示器是在與每個(gè)各自公共門鈴相關(guān)聯(lián)的每個(gè)用戶級應(yīng)用程序的虛擬地址空間中的映射的門鈴。
11.如權(quán)利要求10所述的裝置,其中所述公共門鈴是最后一級高速緩存存儲器等級的一部分,能作為高速緩存存儲器客戶端而被所述第一處理單元和所述第二處理單元訪問。
12.如權(quán)利要求1所述的裝置,其中用信號通知所述第二處理單元處理來自每個(gè)用戶級應(yīng)用程序的任務(wù),而不執(zhí)行任何環(huán)變換的第一處理器用于:用信號通知所述第二處理單元處理來自每個(gè)用戶級應(yīng)用程序的任務(wù),同時(shí)保持每個(gè)用戶級應(yīng)用程序的特權(quán)級別。
13.一種裝置,包括: 第一處理模塊,用于: 執(zhí)行一個(gè)或多個(gè)用戶級線程來為第二處理模塊的事件進(jìn)行排隊(duì);以及 繞過每個(gè)用戶級線程的監(jiān)督級別驗(yàn)證,用信號通知所述第二處理模塊執(zhí)行所述事件。
14.如權(quán)利要求13所述的裝置,其中每個(gè)用戶級線程具有第一指示器,并且其中繞過每個(gè)用戶級線程的所述監(jiān)督級別驗(yàn)證,用信號通知所述第二處理模塊執(zhí)行所述事件的第一處理模塊用于: 響應(yīng)于每個(gè)用戶級線程具有待為所述第二處理模塊排隊(duì)的事件,設(shè)定每個(gè)用戶級線程的所述第一指示器。
15.如權(quán)利要求14所述的裝置,進(jìn)一步包括: 邏輯,用于: 基于每個(gè)用戶級線程的每個(gè)對應(yīng)的第一指示器,設(shè)定多個(gè)第二指示器中的每一個(gè); 選擇所述多個(gè)第二指示器中的一個(gè); 判定與所選擇的第二指示器相關(guān)聯(lián)的所述用戶級線程的標(biāo)識(ID);以及 將與所選擇的第二指示器相關(guān)聯(lián)的所述用戶級線程的所述ID存儲到隊(duì)列。
16.如權(quán)利要求15所述的裝置,其中所述邏輯進(jìn)一步用于: 為所述第二處理模塊產(chǎn)生中斷,其中所述中斷用于指示所述隊(duì)列不是空的。
17.如權(quán)利要求15所述的裝置,其中所述邏輯進(jìn)一步用于: 響應(yīng)于將所述用戶級線程的所述ID存儲到所述隊(duì)列,清除所選擇的第二指示器。
18.如權(quán)利要求15所述的裝置,其中用于選擇所述多個(gè)第二指示器中的一個(gè)的邏輯用于:基于所述多個(gè)第二指示器的優(yōu)先級或者最近最少使用(LSU)標(biāo)準(zhǔn)中的一個(gè),來選擇所述多個(gè)第二指示器中的一個(gè)。
19.如權(quán)利要求15所述的裝置,其中所述邏輯進(jìn)一步用于斷言與所選擇的第二指示器相關(guān)聯(lián)的使能信號,并且其中用于選擇所述多個(gè)第二指示器中的一個(gè)的邏輯用于:響應(yīng)于與所選擇的第二指示器相關(guān)聯(lián)的所述使能信號的斷言,來選擇所述多個(gè)第二指示器中的一個(gè)。
20.如權(quán)利要求15所述的裝置,其中所述多個(gè)第二指示器是公共門鈴,其中每個(gè)第一指示器是在與每個(gè)各自公共門鈴相關(guān)聯(lián)的每個(gè)用戶級線程的虛擬地址空間中的映射的門Tl。
21.如權(quán)利要求15所述的裝置,其中所述公共門鈴是最后一級高速緩存存儲器等級的一部分,能作為高速緩存存儲器客戶端而被所述第一處理模塊和所述第二處理模塊訪問。
22.—種方法,包括: 在第一處理單元中執(zhí)行一個(gè)或多個(gè)用戶級應(yīng)用程序,其中每個(gè)用戶級應(yīng)用程序?qū)⑿遁d任務(wù)到第二處理單元;以及 用信號通知所述第二處理單 元處理來自每個(gè)用戶級應(yīng)用程序的任務(wù),同時(shí)維持每個(gè)用戶級應(yīng)用程序的特權(quán)等級。
23.如權(quán)利要求22所述的方法,其中每個(gè)用戶級應(yīng)用程序具有第一指示器,其中用信號通知所述第二處理單元處理來自每個(gè)用戶級應(yīng)用程序的所述任務(wù),同時(shí)維持每個(gè)用戶級應(yīng)用程序的特權(quán)等級包括: 響應(yīng)于每個(gè)用戶級應(yīng)用程序卸載任務(wù)到所述第二處理單元,設(shè)定每個(gè)用戶級應(yīng)用程序的所述第一指示器。
24.如權(quán)利要求23所述的方法,進(jìn)一步包括: 基于每個(gè)用戶級應(yīng)用程序的每個(gè)對應(yīng)的第一指示器,設(shè)定多個(gè)第二指示器中的每一個(gè); 選擇所述多個(gè)第二指示器中的一個(gè); 判定與所選擇的第二指示器相關(guān)聯(lián)的所述用戶級應(yīng)用程序的標(biāo)識(ID);以及 將所述用戶級應(yīng)用程序的所述ID存儲到先進(jìn)先出(FIFO)隊(duì)列。
25.如權(quán)利要求24所述的方法,進(jìn)一步包括: 為所述第二處理單元產(chǎn)生中斷,其中所述中斷用于指示所述FIFO隊(duì)列不是空的;以及 響應(yīng)于將所述用戶級應(yīng)用程序的所述ID存儲到所述FIFO隊(duì)列,清除所選擇的第二指示器。
26.如權(quán)利要求24所述的方法,其中選擇所述多個(gè)第二指示器中的一個(gè)包括:基于所述多個(gè)第二指示器的優(yōu)先級或者最近最少使用(LSU)標(biāo)準(zhǔn)中的一個(gè),來選擇所述多個(gè)第二指示器中的一個(gè)。
27.如權(quán)利要求24所述的方法,進(jìn)一步包括:斷言與所選擇的第二指示器相關(guān)聯(lián)的使能信號,并且其中選擇所述多個(gè)第二指示器中的一個(gè)包括:響應(yīng)于與所選擇的第二指示器相關(guān)聯(lián)的所述使能信號的斷言,來選擇所述多個(gè)第二指示器中的一個(gè)。
【文檔編號】G06F9/06GK103765380SQ201280042605
【公開日】2014年4月30日 申請日期:2012年6月29日 優(yōu)先權(quán)日:2011年7月1日
【發(fā)明者】R·L·法雷爾, A-R·阿德-塔巴塔巴伊, A·科克 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1