欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置制造方法

文檔序號:6544635閱讀:182來源:國知局
共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,包括如下步驟:上報正在使用的進程編號,并在需要產(chǎn)生新的進程時,發(fā)送進程編號請求到進程監(jiān)測單元;得到當(dāng)前可用進程編號,并選擇一個作為當(dāng)前進程編號;形成請求隊列,逐一將當(dāng)前進程編號發(fā)送到發(fā)出進程編號請求的物理線程;更新當(dāng)前進程編號;接收所述進程監(jiān)測單元發(fā)送的當(dāng)前進程編號,并將其作為正在產(chǎn)生的進程編號,產(chǎn)生新進程。本發(fā)明還涉及一種實現(xiàn)上述方法的裝置。實施本發(fā)明的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置,具有以下有益效果:產(chǎn)生新進程編號開銷較小、處理器內(nèi)在映射效率較高,性能較好。
【專利說明】共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多線程處理器,更具體地說,涉及一種共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置。
【背景技術(shù)】
[0002]在處理器領(lǐng)域,MMU (Memory Management Unit,內(nèi)存管理單兀)是處理器中用于管理虛擬存儲器和物理存儲器之間映射的電路,其用于將線性地址映射為物理地址,提供硬件機制的內(nèi)存訪問授權(quán)。多線程處理器具有多個物理線程(或硬件指令管道),每個物理線程在其上有軟件線程運行時,均需要為其做出相應(yīng)的存儲器映射。所以,多個物理線程將分別對應(yīng)不同的存儲器區(qū)域。對于現(xiàn)有技術(shù)而言,在多線程處理器中,處理器中MMU映射頁有以下形式:基于線程的頁映射,該基于線程的頁映射的MMU結(jié)構(gòu)如圖1所示,這種結(jié)構(gòu)硬件電路龐大(芯片面積大),此外,在有空閑線程(物理線程)時,由于其他正在運行的線程無法使用其頁映射,造到資源浪費;現(xiàn)有技術(shù)中另一種MMU映射是線程間共享的頁映射,線程間共享的頁映射的MMU結(jié)構(gòu)如圖2所示,這種結(jié)構(gòu)可最大化利用映射頁資源,線程動態(tài)分配映射頁,不論多少個線程在運行,所有的映射頁都能被有效利用;這種結(jié)構(gòu)可大大減少硬件電路,減少芯片面積。但是這種結(jié)構(gòu)面臨軟件對進程ID (以下簡稱PID)管理問題:軟件為線程中的進程分配不同的PID,進程通過PID來標識MMU中屬于自己的映射頁。由于線程間共享MMU映射頁,且PID是循環(huán)的數(shù)值,這樣就可能出現(xiàn)不同線程下的進程同時使用相同的PID的情況。這種情況造成進程使用其他線程下進程的映射頁,這種錯誤對于此進程來說是極其致命的。雖然可以在軟件上對其進行改進,使得多個物理線程之間不會使用重復(fù)的PID,但是,這樣做的后果是使得軟件的開銷變得極大,其處理性能受到較大的限制。

【發(fā)明內(nèi)容】

[0003]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述芯片面積較大、操作系統(tǒng)軟件開銷較大、性能受到限制的缺陷,提供一種芯片體積較小、操作系統(tǒng)軟件開銷較小、性能較好的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置。
[0004]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,包括如下步驟:
A)運行在多個物理線程上的軟件線程分別上報其正在使用的進程編號,并在需要產(chǎn)生新的進程時,發(fā)送進程編號請求到進程監(jiān)測單元;
B)依據(jù)各線程上報的進程編號數(shù)據(jù),進程監(jiān)測單元由設(shè)定的進程編號中選擇未被使用的進程編號作為當(dāng)前可用編號,并按照設(shè)定的規(guī)則選擇一個作為當(dāng)前進程編號;
C)在所述多個物理 線程中存在進程請求的情況下,按照物理線程的編號順序形成請求隊列,逐一將當(dāng)前進程編號發(fā)送到發(fā)出請求的物理線程;一個當(dāng)前進程編號被發(fā)送后,按照設(shè)定規(guī)則在所述可用編號中選擇一個新的當(dāng)前編號;
D)發(fā)送進程編號的物理線程接收所述進程監(jiān)測單元發(fā)送的當(dāng)前進程編號,并將其作為正在產(chǎn)生的進程編號,產(chǎn)生新進程。
[0005]更進一步地,所述步驟A)中,物理線程上報的進程編號包括在其上運行的所有進程的編號;所述進程編號請求中包括該物理線程的編號。
[0006]更進一步地,所述步驟B)進一步包括:
BI)進程監(jiān)測單元按照上報的物理線程的編號,依次取得其上正在運行的進程編號;B2)在允許使用的全部進程編號中除去由上述各物理線程上報的進程編號,剩下的即為當(dāng)前可用的進程編號;選擇當(dāng)前可用的進程編號中最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去。
[0007]更進一步地,所述步驟C)中進一步包括:
Cl)判斷一個物理線程是否發(fā)送進程編號請求,如是執(zhí)行步驟C2);否則,跳轉(zhuǎn)到步驟
C4);
C2)發(fā)送當(dāng)前進程編號到該物理線程;
C3)由所述當(dāng)前可用的進程編號中選擇最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去;
C4)是否完成所有物理線程的編號請求判斷,如是,退出;否則,進入下一個物理線程并跳轉(zhuǎn)到步驟Cl)。
[0008]更進一步地,一個所述物理線程分別通過不同的數(shù)據(jù)線傳輸數(shù)據(jù)到所述進程監(jiān)測單元和接收來自所述進程監(jiān)測單元的進程編號;多個物理線程分別通過不同的數(shù)據(jù)線與所述進程監(jiān)測單元連接。
[0009]本發(fā)明還涉及一種實現(xiàn)上述方法的裝置,包括:
上報及請求單元:用于將運行在多個物理線程上的軟件線程分別上報其正在使用的進程編號,并在需要產(chǎn)生新的進程時,發(fā)送進程編號請求到進程監(jiān)測單元;
當(dāng)前進程編號取得單元:用于依據(jù)各線程上報的進程編號數(shù)據(jù),進程監(jiān)測單元由設(shè)定的進程編號中選擇未被使用的進程編號作為當(dāng)前可用編號,并按照設(shè)定的規(guī)則選擇一個作為當(dāng)前進程編號;
請求處理單元:用于在所述多個物理線程中存在進程請求的情況下,按照物理線程的編號順序形成請求隊列,逐一將當(dāng)前進程編號發(fā)送到發(fā)出請求的物里線程;一個當(dāng)前進程編號被發(fā)送后,按照設(shè)定規(guī)則在所述可用編號中選擇一個新的當(dāng)前編號;
編號接收單元:用于在發(fā)送進程編號的物理線程接收所述進程監(jiān)測單元發(fā)送的當(dāng)前進程編號,并將其作為正在產(chǎn)生的進程編號,產(chǎn)生新進程。
[0010]更進一步地,所述上報及請求單元中,其上報的進程編號包括在其上運行的所有進程的編號;其發(fā)送的所述進程編號請求中包括該物理線程的編號。
[0011]更進一步地,所述當(dāng)前進程編號取得單元進一步包括:
運行進程編號取得模塊:用于使進程監(jiān)測單元按照上報的物理線程的編號,依次取得其上正在運行的進程編號;
當(dāng)前進程編號產(chǎn)生模塊:用于在允許使用的全部進程編號中除去由上述各物理線程上報的進程編號,剩下的即為當(dāng)前可用的進程編號;選擇當(dāng)前可用的進程編號中最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去。
[0012]更進一步地,所述請求處理單元中進一步包括: 請求判斷模塊:用于判斷一個物理線程是否發(fā)送進程編號請求,如是調(diào)用當(dāng)前進程編號發(fā)送模塊;否則,調(diào)用物理線程判斷模塊;
當(dāng)前進程編號發(fā)送模塊:用于發(fā)送當(dāng)前進程編號到該物理線程;
當(dāng)前進程編號更新模塊:用于由所述當(dāng)前可用的進程編號中選擇最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去;
物理線程判斷模塊:用于是否完成所有物理線程的編號請求判斷,如是,退出;否則,進入下一個物理線程并調(diào)用請求判斷模塊。
[0013]更進一步地,一個所述物理線程分別通過不同的數(shù)據(jù)線傳輸數(shù)據(jù)到所述進程監(jiān)測單元和接收來自所述進程監(jiān)測單元的進程編號;多個物理線程分別通過不同的數(shù)據(jù)線與所述進程監(jiān)測單元連接。
[0014]實施本發(fā)明的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置,具有以下有益效果:由于設(shè)置了專用的進程監(jiān)測單元,且各物理線程分別與上述進程監(jiān)測單元連接,同時,在各物理線程上運行的軟件線程分別將正在使用和即將產(chǎn)生的進程上報到上述進程監(jiān)測單元,由該進程監(jiān)測單元同一分配進程編號,因此,進程編號不會重復(fù),且各軟件線程的開銷較小、處理器效率較高,性能較好。
【專利附圖】

【附圖說明】
[0015]圖1是現(xiàn)有技術(shù)中一種MMU映射頁結(jié)構(gòu)形式;
圖2是現(xiàn)有技術(shù)中另一種MMU映射頁的結(jié)構(gòu)形式;
圖3是本發(fā)明共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置實施例的MMU映射頁的結(jié)構(gòu)形式;
圖4是所述實施例中產(chǎn)生進程號的方法流程圖;
圖5是所述實施例中裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0016]下面將結(jié)合附圖對本發(fā)明實施例作進一步說明。
[0017]如圖4所示,在本發(fā)明共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法及裝置實施例中,其通過對產(chǎn)生新進程編號的控制或協(xié)調(diào),使得內(nèi)存映射頁面的共享得到有效的協(xié)調(diào)或控制。其產(chǎn)生新的進程編號的方法包括如下步驟:
步驟Sll軟件線程上報正在使用的進程編號,并發(fā)送新進程編號請求:在本步驟中,運行在物理線程上的軟件線程上報其正在使用的進程編號到進程監(jiān)測單元,如果該軟件線程將產(chǎn)生新的進程,還需要發(fā)送線程編號請求到該進程監(jiān)測單元。在本實施例中,與一般的多線程處理器不同的是設(shè)置有用于統(tǒng)一管理該處理器上多個物理線程上執(zhí)行進程的進程編號的進程監(jiān)測單元,如圖3所示,該進程監(jiān)測單元分別與該處理器多個物理線程通過不同的數(shù)據(jù)線連接,一個物理線程上傳數(shù)據(jù)或請求到該進程監(jiān)測單元的數(shù)據(jù)線與接收由該進程監(jiān)測單元發(fā)出數(shù)據(jù)的數(shù)據(jù)線是不同的或分開的。這樣,使得該進程監(jiān)測單元接收或發(fā)送數(shù)據(jù)變得較為簡單,即只要將數(shù)據(jù)傳輸?shù)皆O(shè)定的數(shù)據(jù)線或數(shù)據(jù)接口上,就能實現(xiàn)正確的發(fā)送或接收。此外,值得一提的是,在本步驟中,由于數(shù)據(jù)線的是固定的或設(shè)定的,線程發(fā)送的請求或數(shù)據(jù)的形式也比較簡單,不需要特別地攜帶線程地址或編號,該進程監(jiān)測單元也能夠判斷發(fā)送的線程。在本步驟中,物理線程將當(dāng)前正在其上運行的進程標號收集起來,并以數(shù)據(jù)的形式發(fā)送到上述進程監(jiān)測單元。如果一個進程已經(jīng)運行完成,其當(dāng)前自然不會處于運行過程中,因此其編號也不會在上報的數(shù)據(jù)中出現(xiàn)。當(dāng)一個物理線程上,如果在一個操作周期上并沒有產(chǎn)生或?qū)a(chǎn)生新的進程,該物理線程也僅僅是將上述運行的進程編號上報,并不做其他動作;但是,當(dāng)其在一個操作周期上產(chǎn)生或?qū)a(chǎn)生新的進程時,將發(fā)送進程編號請求到上述進程監(jiān)測單元,要求進程監(jiān)測單元下發(fā)進程編號,以便產(chǎn)生新的進程。由于每個物理線程都執(zhí)行這樣的操作,所以,每個物理線程新產(chǎn)生的進程編號實際上都是來自進程監(jiān)測單元的。這種方法可以使得同時運行的進程編號不重復(fù)且不需要物理線程或其上運行的軟件線程額外的開銷,因而其開銷較小、處理器的效率較高。在一些情況下,上述物理線程發(fā)送到進程監(jiān)測單元的進程編號請求中也可以帶有該物理線程的編號或地址,這樣使得該進程監(jiān)測單元可以直接明確進程編號的發(fā)送目的或可以對進程編號的發(fā)送目的進行驗證,保證發(fā)送的準確,從而避免出錯。
[0018]步驟S12得到當(dāng)前可用編號并選擇當(dāng)前進程編號:在本步驟中,上述進程監(jiān)測單元依據(jù)各線程上報的進程編號數(shù)據(jù),由設(shè)定的進程編號中選擇未被使用的進程編號作為當(dāng)前可用編號,并按照設(shè)定的規(guī)則選擇一個作為當(dāng)前進程編號。一般來講,在一個處理器中,可以使用的進程編號是有限的,通常是事先規(guī)定的一組數(shù)或編碼;而且,由于進程在處理器中不斷地被建立,也不斷地完成運行,所以,這組事先設(shè)定的數(shù)或編碼實際上是被循環(huán)使用的。也就是說,在處理器運行的某一時刻,其可用的進程編號實際上就是上述事先設(shè)定的數(shù)字或編碼中當(dāng)前未被使用的。因此,在本步驟中,只要收集到當(dāng)前正在使用的進程編號,在事先設(shè)定的這組數(shù)字或編碼中將其除去,剩下的就是當(dāng)前可以使用的進程編號。得到可用的進程編號后,在其中選擇一個作為當(dāng)前進程編號,以便一接收到進程編號請求就將其發(fā)送到發(fā)出請求的線程,以節(jié)省時間。選擇的規(guī)則也是實現(xiàn)設(shè)置的,例如,可以在上述可用進程編號中選擇一個數(shù)值最小的或最大的。值得一提的是,該當(dāng)前進程編號選擇后,也就由可用進程編號中去除,不再將其視為可用的進程編號,這樣雖然占用了一個進程編號,但是,其效果也是明顯的,即可以節(jié)省申請進程編號的時間。
[0019]步驟S13形成請求隊列:在本實施例中,由于是多線程處理器,其必然具有多個線程,這些線程都可能發(fā)出進程編號請求。由于在處理器中,所有的操作都是按照時鐘的節(jié)拍來進行的,一個操作周期實際上就是時鐘周期或時鐘周期的倍數(shù)。這樣,當(dāng)多個線程在一個操作周期上發(fā)出進程編號請求時,其請求幾乎是同時發(fā)出來的,這樣,在進程檢測單元如何處理這些請求就是一個問題。在本步驟中,將這些線程發(fā)送的進程編號請求按照線程的編號形成一個隊列,進程監(jiān)測單元逐個處理該隊列中的請求,使得各線程并行發(fā)出的請求可以在進程監(jiān)測單元中處理。值得一提的是,不管在同一時間內(nèi)發(fā)出請求的線程有多少,都是按照這種方式將其排列的。也就是說,即使只有一個請求,也按照上述形成隊列的方法進行處理,不同的是該隊列中只有一個請求。
[0020]步驟S14依次發(fā)送當(dāng)前進程編號到請求隊列中的物理線程并更新當(dāng)前進程編號:在本步驟中,對上述步驟形成隊列進行處理,按照隊列的排列,首先處理其排列在第一位的請求,將當(dāng)前進程編號發(fā)送到產(chǎn)生該請求的物理線程,之后,由于當(dāng)前進程編號已經(jīng)分配出去,也就是已經(jīng)使用,所以需要更新當(dāng)前進程編號,以便于分配給下一個發(fā)出請求的線程。即使是在隊列的最后,也需要更新。在本實施例中,更新當(dāng)前進程編號就是由當(dāng)前可用的進程編號中按照設(shè)定的規(guī)則,選擇一個并將其由可有進程編號中去除。在本實施例中,該設(shè)定規(guī)則同樣可以是選擇其中最下或最大一個。值得一提的是,在本步驟中,上述步驟可能執(zhí)行一次,也可能執(zhí)行多次,直到上述對列中的所有請求都被處理。也就是說,在本步驟中,需要對是否完成所有線程發(fā)出的請求做出判斷,如果已經(jīng)完成,則線程檢測單元等待下一操作周期的到來;如果沒有完成,則返回。開始處理下一線程的請求,同樣地,下一線程的請求的處理方式與上述步驟相同,不同的只是發(fā)送當(dāng)前進程編號的目的地是不同的。
[0021]步驟S15接收到進程編號的線程將其作為正在產(chǎn)生的進程編號,形成進程:在本步驟中,發(fā)出進程編號請求的線程收到來自進程監(jiān)測單元的進程編號,將其作為正在產(chǎn)生或已經(jīng)產(chǎn)生的進程的編號,形成進程并運行,
通過上述方法中對進程編號的管理,使得多個線程中的進程編號不會重復(fù),即使其產(chǎn)生的時間相同;同樣地,各線程也不會花費額外的開銷來處理或協(xié)調(diào)重復(fù)的進程編號問題。在保證存儲器映射頁面不重復(fù)的情況下,節(jié)省了線程的開銷,提高了處理器的效率。
[0022]如圖5所示,在本發(fā)明中,還涉及一種實現(xiàn)上述方法的裝置,包括上報及請求單元
11、當(dāng)前進程編號取得單元12、請求處理單元13和編號接收單元14。其中,上報及請求單元11用于將運行在多個物理線程上的軟件線程分別上報其正在使用的進程編號,并在需要產(chǎn)生新的進程時,發(fā)送進程編號請求到進程監(jiān)測單元;當(dāng)前進程編號取得單元12用于依據(jù)各線程上報的進程編號數(shù)據(jù),進程監(jiān)測單元由設(shè)定的進程編號中選擇未被使用的進程編號作為當(dāng)前可用編號,并按照設(shè)定的規(guī)則選擇一個作為當(dāng)前進程編號;請求處理單元13用于在所述多個物理線程中存在進程請求的情況下,按照物理線程的編號順序形成請求隊列,逐一將當(dāng)前進程編號發(fā)送到發(fā)出請求的物里線程;一個當(dāng)前進程編號被發(fā)送后,按照設(shè)定規(guī)則在所述可用編號中選擇一個新的當(dāng)前編號;編號接收單元14用于在發(fā)送進程編號的物理線程接收所述進程監(jiān)測單元發(fā)送的當(dāng)前進程編號,并將其作為正在產(chǎn)生的進程編號,產(chǎn)生新進程。
[0023]在本實施例中,一個所述物理線程分別通過不同的數(shù)據(jù)線傳輸數(shù)據(jù)到所述進程監(jiān)測單元和接收來自所述進程監(jiān)測單元的進程編號;多個物理線程分別通過不同的數(shù)據(jù)線與所述進程監(jiān)測單元連接。上報及請求單元11上報的進程編號包括在其上運行的所有進程的編號;其發(fā)送的所述進程編號請求中包括該物理線程的編號。
[0024]當(dāng)前進程編號取得單元12進一步包括運行進程編號取得模塊121和當(dāng)前進程編號產(chǎn)生模塊122。其中,運行進程編號取得模塊121用于使進程監(jiān)測單元按照上報的物理線程的編號,依次取得其上正在運行的進程編號;當(dāng)前進程編號產(chǎn)生模塊122用于在允許使用的全部進程編號中除去由上述各物理線程上報的進程編號,剩下的即為當(dāng)前可用的進程編號;選擇當(dāng)前可用的進程編號中最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去。
[0025]請求處理單元13中進一步包括請求判斷模塊131、當(dāng)前進程編號發(fā)送模塊132、當(dāng)前進程編號更新模塊133和物理線程判斷模塊134。其中,請求判斷模塊131用于判斷一個物理線程是否發(fā)送進程編號請求,如是調(diào)用當(dāng)前進程編號發(fā)送模塊132 ;否則,調(diào)用物理線程判斷模塊134 ;當(dāng)前進程編號發(fā)送模塊132用于發(fā)送當(dāng)前進程編號到該物理線程;當(dāng)前進程編號更新模塊133用于由所述當(dāng)前可用的進程編號中選擇最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去;物理線程判斷模塊134用于是否完成所有物理線程的編號請求判斷,如是,退出;否則,進入下一個物理線程并調(diào)用請求判斷模塊。
[0026]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
【權(quán)利要求】
1.一種共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,其特征在于,包括如下步驟: A)運行在多個物理線程上的軟件線程分別上報其正在使用的進程編號,并在需要產(chǎn)生新的進程時,發(fā)送進程編號請求到進程監(jiān)測單元; B)依據(jù)各線程上報的進程編號數(shù)據(jù),進程監(jiān)測單元由設(shè)定的進程編號中選擇未被使用的進程編號作為當(dāng)前可用編號,并按照設(shè)定的規(guī)則選擇一個作為當(dāng)前進程編號; C)在所述多個物理線程中存在進程請求的情況下,按照物理線程的編號順序形成請求隊列,逐一將當(dāng)前進程編號發(fā)送到發(fā)出進程編號請求的物理線程;一個當(dāng)前進程編號被發(fā)送后,按照設(shè)定規(guī)則在所述可用編號中選擇一個新的當(dāng)前編號; D)發(fā)送進程編號請求的物理線程接收所述進程監(jiān)測單元發(fā)送的當(dāng)前進程編號,并將其作為正在產(chǎn)生的進程編號,產(chǎn)生新進程。
2.根據(jù)權(quán)利要求1所述的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,其特征在于,所述步驟A)中,物理線程上報的進程編號包括在其上運行的所有進程的編號;所述進程編號請求中包括該物理線程的編號。
3.根據(jù)權(quán)利要求2所述的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,其特征在于,所述步驟B)進一步包括: BI)進程監(jiān)測單元 按照上報的物理線程的編號,依次取得其上正在運行的進程編號;B2)在允許使用的全部進程編號中除去由上述各物理線程上報的進程編號,剩下的即為當(dāng)前可用的進程編號;選擇當(dāng)前可用的進程編號中最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去。
4.根據(jù)權(quán)利要求3所述的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,其特征在于,所述步驟C)中進一步包括: Cl)判斷一個物理線程是否發(fā)送進程編號請求,如是執(zhí)行步驟C2);否則,跳轉(zhuǎn)到步驟C4); C2)發(fā)送當(dāng)前進程編號到該物理線程; C3)由所述當(dāng)前可用的進程編號中選擇最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去; C4)是否完成所有物理線程的編號請求判斷,如是,退出;否則,進入下一個物理線程并跳轉(zhuǎn)到步驟Cl)。
5.根據(jù)權(quán)利要求4所述的共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的方法,其特征在于,一個所述物理線程分別通過不同的數(shù)據(jù)線傳輸數(shù)據(jù)到所述進程監(jiān)測單元和接收來自所述進程監(jiān)測單元的進程編號;多個物理線程分別通過不同的數(shù)據(jù)線與所述進程監(jiān)測單元連接。
6.一種共享內(nèi)存映射頁的處理器系統(tǒng)產(chǎn)生進程號的裝置,其特征在于,包括: 上報及請求單元:用于將運行在多個物理線程上的軟件線程分別上報其正在使用的進程編號,并在需要產(chǎn)生新的進程時,發(fā)送進程編號請求到進程監(jiān)測單元; 當(dāng)前進程編號取得單元:用于依據(jù)各線程上報的進程編號數(shù)據(jù),進程監(jiān)測單元由設(shè)定的進程編號中選擇未被使用的進程編號作為當(dāng)前可用編號,并按照設(shè)定的規(guī)則選擇一個作為當(dāng)前進程編號;請求處理單元:用于在所述多個物理線程中存在進程編號請求的情況下,按照物理線程的編號順序形成請求隊列,逐一將當(dāng)前進程編號發(fā)送到發(fā)出請求的物里線程;一個當(dāng)前進程編號被發(fā)送后,按照設(shè)定規(guī)則在所述可用編號中選擇一個新的當(dāng)前編號; 編號接收單元:用于在發(fā)送進程編號請求的物理線程接收所述進程監(jiān)測單元發(fā)送的當(dāng)前進程編號,并將其作為正在產(chǎn)生的進程編號,產(chǎn)生新進程。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述上報及請求單元中,其上報的進程編號包括在其上運行的所有進程的編號;其發(fā)送的所述進程編號請求中包括該物理線程的編號。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述當(dāng)前進程編號取得單元進一步包括: 運行進程編號取得模塊:用于使進程監(jiān)測單元按照上報的物理線程的編號,依次取得其上正在運行的進程編號; 當(dāng)前進程編號產(chǎn)生模塊:用于在允許使用的全部進程編號中除去由上述各物理線程上報的進程編號,剩下的即為當(dāng)前可用的進程編號;選擇當(dāng)前可用的進程編號中最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述請求處理單元中進一步包括: 請求判斷模塊:用于判斷一個物理線程是否發(fā)送進程編號請求,如是調(diào)用當(dāng)前進程編號發(fā)送模塊;否則,調(diào)用物理線程判斷模塊; 當(dāng)前進程編號發(fā)送模塊:用于發(fā)送當(dāng)前進程編號到該物理線程; 當(dāng)前進程編號更新模塊:用于由所述當(dāng)前可用的進程編號中選擇最小一個作為當(dāng)前進程編號并將其由所述當(dāng)前可用的進程編號除去; 物理線程判斷模塊:用于是否完成所有物理線程的編號請求判斷,如是,退出;否則,進入下一個物理線程并調(diào)用請求判斷模塊。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,一個所述物理線程分別通過不同的數(shù)據(jù)線傳輸數(shù)據(jù)到所述進程監(jiān)測單元和接收來自所述進程監(jiān)測單元的進程編號;多個物理線程分別通過不同的數(shù)據(jù)線與所述進程監(jiān)測單元連接。
【文檔編號】G06F9/46GK103995739SQ201410166051
【公開日】2014年8月20日 申請日期:2014年4月24日 優(yōu)先權(quán)日:2014年4月24日
【發(fā)明者】張耀文, 陳奇, 江鋒, 劉波 申請人:深圳中微電科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
壶关县| 沂南县| 台南市| 保亭| 四子王旗| 沙坪坝区| 米林县| 石泉县| 临江市| 巧家县| 阿拉善右旗| 锡林郭勒盟| 仁化县| 嘉鱼县| 太康县| 衡山县| 景德镇市| 临武县| 寻乌县| 迁安市| 北碚区| 富锦市| 南溪县| 柳河县| 岱山县| 正阳县| 大埔县| 陆丰市| 琼中| 灵山县| 温泉县| 宣武区| 民和| 津市市| 米林县| 大厂| 临洮县| 佛学| 西城区| 报价| 鄢陵县|