[發(fā)明專利]用于多線程處理的使用信號量的方法和設(shè)備有效
| 申請?zhí)枺?/td> | 201110460725.5 | 申請日: | 2004-12-23 |
| 公開(公告)號: | CN102622271A | 公開(公告)日: | 2012-08-01 |
| 發(fā)明(設(shè)計)人: | 江宏;T·A·皮亞扎 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/52 |
| 代理公司: | 上海專利商標事務(wù)所有限公司 31100 | 代理人: | 姬利永 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 多線程 處理 使用 信號量 方法 設(shè)備 | ||
本發(fā)明專利申請是國際申請日為2004年12月23日、中國國家階段申請?zhí)枮?00480039052.4、題為“基于行為模型的多線程體系結(jié)構(gòu)”的專利申請的分案申請。
技術(shù)領(lǐng)域
本發(fā)明涉及用于多線程處理的技術(shù)和體系結(jié)構(gòu),尤其涉及用于多線程處理的使用信號量的技術(shù)和體系結(jié)構(gòu)。
背景
“信號量”(也稱為“臨界段”或“互斥信號”)是一種允許其中多個進程競爭共享資源(例如,存儲器、文件)的操作的協(xié)調(diào)或同步的硬件和軟件構(gòu)造。一般而言,信號量是儲存在操作系統(tǒng)存儲器的指定位置中進程可檢查和改變的值。基于信號量的值,進程可訪問共享資源,或等待一段時間并再次檢查信號量。
常規(guī)計算機系統(tǒng)中的信號量通常使用對原子“測試與置位”或相似類型的指令(例如,鎖定、位測試、位測試與置位、位測試與復位)的硬件支持而被實現(xiàn)為軟件例程。使用該信號量實現(xiàn),可通過共享(例如,全局)數(shù)據(jù)以及一個或多個信號量來建立生產(chǎn)者-消費者通信關(guān)系。信號量允許由試圖修改數(shù)據(jù)的多個進程中選中的一個來修改共享數(shù)據(jù),這提供了數(shù)據(jù)一致性。
該信號量構(gòu)造是“被動的”,因為線程必須執(zhí)行輪詢操作來獲取信號量。輪詢需求消耗了以別的方式可用于其它目的的處理器和系統(tǒng)資源。因此,傳統(tǒng)的信號量會導致效率低下。
附圖簡述
在附圖的各圖中作為示例而非局限示出了本發(fā)明,附圖中,相同的參考標號引用相同的元素。
圖1是大量的多線程處理器體系結(jié)構(gòu)的一個實施例的框圖。
圖2是線程調(diào)度和信號量初始化操作的協(xié)調(diào)的一個實施例的流程圖。
圖3a-3d是其中可使用信號量來同步線程執(zhí)行的從屬關(guān)系的概念圖示。
詳細描述
在以下描述中,為解釋起見,陳述了眾多具體細節(jié)以提供對本發(fā)明的全面理解。然而,本領(lǐng)域的技術(shù)人員可以清楚,本發(fā)明可不采用這些具體細節(jié)來實施。在其它情況下,以框圖形式示出了結(jié)構(gòu)和設(shè)備以避免模糊本發(fā)明。
對主動信號量的示例使用的綜述
此處所描述的是其中多個并行被動指令線程(后文稱為“線程”)使用“主動”信號量來協(xié)調(diào)對共享資源的訪問的體系結(jié)構(gòu)和相關(guān)聯(lián)的方法。該信號量被稱為主動的是因為信號量實體向執(zhí)行和/或控制電路發(fā)送消息以使線程狀態(tài)改變。例如,線程可由線程調(diào)度器響應(yīng)于未決從屬關(guān)系而置于睡眠(或不活動)模式,這可由信號量來指示。對應(yīng)于該從屬關(guān)系的線程狀態(tài)變量用于指示該線程處于睡眠模式中。
當解決了從屬關(guān)系時,向控制電路(例如,線程調(diào)度器)傳遞一消息,以使該從屬關(guān)系變量被清除。響應(yīng)于所清除的從屬關(guān)系變量,該線程被置于活動(或喚醒)狀態(tài)中。執(zhí)行可在活動狀態(tài)的線程上繼續(xù)。
繼續(xù)上述示例,如果線程試圖獲取信號量卻無法獲得,則該線程被置于不活動狀態(tài)。由于線程是不活動的,因此它無法輪詢該信號量以確定由該信號量指示的從屬關(guān)系何時被解決,這是現(xiàn)有技術(shù)中所需要的。該線程保留在不活動狀態(tài),直到接收(例如,從信號量實體)到指示從屬關(guān)系被解決的消息。響應(yīng)于該消息,線程被置于活動狀態(tài)中,這允許執(zhí)行繼續(xù)。
圖1是大量多線程處理器體系結(jié)構(gòu)的一個實施例的框圖。如此處所使用的,標簽“大量多線程”體系結(jié)構(gòu)指的是包括可支持多線程執(zhí)行的多個處理器的體系結(jié)構(gòu)。在一個實施例中,每一處理器可支持一個或多個線程。單個處理器上的多線程通過允許在其它線程處于非活動狀態(tài)的同時執(zhí)行活動線程來實現(xiàn)高執(zhí)行效率。在信號量上待決的非活動狀態(tài)中的線程不會消耗/浪費處理器資源。盡管描述是針對大量多線程體系結(jié)構(gòu)的,但是信號量構(gòu)造和相關(guān)聯(lián)的方法適用于任何多線程體系結(jié)構(gòu),而無論支持的線程數(shù)是多少。
大量多線程系統(tǒng)100包括儲存要在執(zhí)行期間由一個或多個處理核心使用的數(shù)據(jù)和指令的存儲器分層結(jié)構(gòu)110。存儲器分層結(jié)構(gòu)110可以包括本領(lǐng)域中已知的任何方式的動態(tài)隨機存取存儲器(DRAM)、一級或多級指令高速緩存、一級或多級數(shù)據(jù)高速緩存、以及一級或多級共享指令和數(shù)據(jù)高速緩存。線程分派器120與存儲器分層結(jié)構(gòu)110耦合,它接收諸如與新線程相關(guān)聯(lián)的指令指針以及數(shù)據(jù)和/或數(shù)據(jù)指針等信息。線程分派器120也經(jīng)由消息總線125與處理核心耦合。在一個實施例中,線程分派器120負責管理處理核心的線程資源。在接收新待決線程之后,線程分派器120選擇具有執(zhí)行該待決線程的資源的一個處理核心,并將該線程分派到所選擇的處理核心。在處理核心上完成現(xiàn)有線程之后,通知線程分派器120,從而使得該處理核心上的線程資源可用于將來的待決線程。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110460725.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:條形碼成像器
- 下一篇:用于控制觸摸屏終端中的屏幕顯示的設(shè)備和方法
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實現(xiàn)方法
- 基于計算機多線程多核顯微鏡細胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 讀數(shù)方法、電子裝置、計算機設(shè)備及存儲介質(zhì)
- 一種基于云平臺多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì)





