新四季網

提供用戶級多線程操作的方法和系統的製作方法

2023-04-26 04:21:16

專利名稱:提供用戶級多線程操作的方法和系統的製作方法
技術領域:
本發明的實施例涉及計算機系統領域。具體來說,本發明的這些實施例涉及用於提供用戶級多線程操作的方法和系統。
背景技術:
多線程操作是程序或作業系統一次執行多於一個指令序列的能力。對程序或系統服務的每個用戶請求(其中用戶也可以是另一個程序)是作為具有各自身份的線程來被持續跟蹤的。當程序代表對該線程的初始請求而工作並由其他請求中斷時,代表該線程的工 作的狀態被持續跟蹤,直到該工作完成為止。計算機處理的類型包括單指令流單數據流,這是包括單指令流的常規串行馮·諾伊曼計算機。第二種處理類型是單指令流多數據流處理(SMD)。該處理方案可以包括多個算術邏輯處理器和單個控制處理器。每個算術邏輯處理器在鎖定步驟中對數據執行操作,並由控制處理器對其同步。第三種類型是多指令流單數據流(MISD)處理,這包括通過執行不同指令流的處理器的線性陣列處理相同的數據流。第四種處理類型是多指令流多數據流(MIMD)處理,它使用多個處理器,每個處理器執行各自的指令流以處理饋送到每個處理器的數據流。MMD處理器可以具有多個指令處理單元、多個指令定序器以及由此具有多個數據流。今天的多線程微處理器採用的編程模型與傳統共享存儲器的多處理器相同多個線程被編程為好像它們運行在獨立的CPU上一樣。線程之間的通信通過主存儲器來執行,並且線程創建/摧毀/調度由作業系統執行。多線程操作不是以程式設計師可以直接訪問線程的結構可視方式提供的。

發明內容
根據第一實施例,本發明提供了一種在處理器中用於提供用戶級多線程的設備,包括第一資源,用於為將由第一非特權用戶指令創建的第一共享資源的線程(shred)保存每個共享資源的線程的應用狀態;包括所述第一資源的副本的第二資源,所述第二資源用於為將由第二非特權用戶指令創建的第二共享資源的線程保存每個共享資源的線程的應用狀態;和至少可由所述第一共享資源的線程通過第三非特權用戶指令直接訪問以及所述第二共享資源的線程通過第四非特權用戶指令直接訪問的共享的資源,用於在所述第一共享資源的線程和所述第二共享資源的線程之間提供通信。


結合附圖根據下文的詳細說明,將更全面地理解和認識本發明的實施例,其中圖I圖示根據本發明一個實施例利用本發明方法和設備的示範計算機系統的框圖;圖2圖示根據本發明一個實施例的示範晶片級多處理器;圖3圖示根據本發明一個實施例的示範同時多線程處理器;圖4圖示根據本發明一個實施例的示範非對稱多處理器;圖5圖示根據本發明一個實施例用於提供用戶級多線程操作的示範執行環境;圖6圖示根據本發明一個實施例的Shred與共享存儲器的線程之間的示範關係;以及圖7圖示根據本發明一個實施例的用戶級多線程操作的示範過程的流程圖。
具體實施例方式公開一種用於提供用戶級多線程操作的方法和系統。根據本發明技術的方法包括接收編程指令以通過指令集體系結構(ISA)來執行一個或多個共享資源的線程(Shred)。通過ISA來配置一個或多個指令指針;並且利用微處理器同時執行這一個或多個Shred,其中該微處理器包括多個指令定序器。在下文描述中,出於解釋的目的提出特定的術語。但是,對於本領域技術人員來說,顯然這些特定的細節並非是必不可少的。下文詳細描述中的一些部分是依據對計算機存儲器內的數據位進行操作的算法和符號表示來給出的。這些算法描述和表示是數據處理領域的技術人員向本領域的其他技術人員最有效地表達其工作內容的方式。在本文中以及一般來說,算法被構想為是促成期望結果的獨立操作序列。這些操作是需要以物理方式操縱物理量的那些操作。通常但不一定,這些量採用能夠被存儲、傳送、組合、比較和以其他方式操縱的電信號或磁信號的形式。以位、值、元素、符號、字符、術語、數字等提及這些信號時常被證明是方便的,主要是因為常用。但是切記,所有這些和相似的術語均與適合的物理量相關聯,並且僅僅是應用於這些量的便於使用的標號。除非明確說明,否則從上面的討論中來看顯然會意識到,整個說明書中,使用諸如「處理」、「計算」、「演算」、「確定」、「顯示」等術語的討論涉及計算機系統或類似電子計算裝置的動作和/或處理,這些裝置把在計算機系統的寄存器和存儲器中的表示成物理(如電子)量的數據處理和/或轉換成在計算機系統的存儲器、寄存器或其它此類信息存儲、傳輸、或顯示裝置內的同樣表示成物理量的其它數據。所提出的本發明實施例還涉及一種用於執行本文的操作的設備。該設備可以是針對所需目的專門設計的,或它可以包括由計算機中存儲的電腦程式選擇性激活或重新配置的通用計算機。此類電腦程式可以存儲在計算機可讀存儲介質中,例如但不限於包括軟盤、光碟、CD-ROM和磁光碟的任何類型的磁碟、只讀存儲器(ROM)、隨機存取存儲器(RAM)、EPROM、EEPR0M、磁卡或光卡、或適於存儲電子指令的任何類型的介質,並且它們均耦合到計算機系統總線。本文提出的算法和顯示並不固有地與任何特定的計算機或其他設備相關。多種通用系統可以結合根據本發明原理的程序來使用,或構造更專用的設備來執行所必需的方法可能證明是便利的。根據下文描述,將明了用於各種此類系統的必需的結構。此外,本發明的一個實施例不是參考任何特定的程式語言來描述的。將認識到,可以使用多種程式語言來實施本文所描述的本發明實施例的原理。在本說明書中所用的「用戶」描述用戶級軟體,如應用程式、非特權代碼和相似的軟體。用戶級軟體與作業系統或相似的特權軟體是不同的。根據本發明的一個實施例,以下描述適用於如上所述的MMD處理器。圖I圖示根據本發明一個實施例利用本發明方法和設備的示範計算機系統100的框圖。計算機系統包括處理器105。晶片組110為系統100提供存儲和I/O功能。更具體地來說,晶片組110包括圖形和存儲器控制器集線器(GMCH) 115。GMCH 115作為與處理器105通信的主控制器,還作為主存儲器120的控制器。根據本發明一個實施例,處理器105使多線程操作能夠擴展到用戶級。GMCH 115還提供至與之耦合的高級圖形埠(AGP)控制器125的接口。晶片組110還包括執行大量I/O功能的I/O控制器集線器(ICH) 135。ICH135耦合到系統管理總線(SM總線)140。ICH 135耦合到外設組件互連(PCI)總線155。超級1/0( 「SID」)控制器170耦合到ICH 135,以提供至諸如鍵盤和滑鼠175的輸入裝置的連接性。通用I/O(GPIO)總線195耦合到ICH 135。如圖所示,USB埠 200耦合到ICH 135。可以在該總線上將如印表機、掃描儀、遊戲杆等的USB設備添加到系統配置。集成驅動器電子部件(IDE)總線205耦合到ICH 135,以將IDE驅動器210連接到計算機系統。在邏輯上來說,ICH 135看上去像是單個物理組件內的多個PCI設備。包括在處理器105中的是指令集體系結構。指令集體系結構(ISA)是諸如處理器105的微處理器的一種抽象模型,它由狀態單元(寄存器)和對那些狀態單元操作的指令組成。指令集體系結構通過為程式設計師和微處理器設計人員提供微處理器行為的抽象規範而作為軟體與硬體之間的分界。矽晶片上可提供的電晶體數量上的發展已經能夠將多線程操作引入到通用微處理器。多線程操作可採用兩種不同的方式來實施晶片級多處理器(CMP)和同時多線程處理器(SMT),二者都可以用作處理器105。
圖2圖示根據本發明一個實施例的示範晶片級多處理器。在如處理器200的晶片級多處理器中,多個CPU核210-213被集成到單個矽晶片200上。CPU核210-213的每一個都能夠完成一個獨立線程220-223的執行,即使一些資源(如高速緩存)可能為CPU核210-213中的一個以上所共享。圖3圖示根據本發明一個實施例的示範同時多線程處理器300。處理器105可以是如處理器300的同時多線程處理器。在同時多線程處理器300中,單個CPU核310能夠完成多個線程的執行。CPU核310通過以極精細的粒度共享CPU資源使得對於軟體來說看上去像是存在兩個或兩個以上處理器(常常基於逐個時鐘來確定哪個線程利用每個資源來處理)。圖4圖示根據本發明一個實施例的示範非對稱多處理器400。處理器105可以是如多處理器400的非對稱多處理器。構建晶片級多處理器400、其中CPU核410-427具有不同的微體系結構但是具有相同的ISA,這是可能的。例如,可以將小量的高性能CPU核410-411與大量的低功率CPU核420-427集成。這種類型的設計可以實現高合計吞吐量以及高標量性能。這兩種類型的CPU核可以對於軟體來說像是常規共享存儲器的線程或Shred或二者的某種組合。指令集體系結構(ISA)是諸如處理器105的微處理器的一種抽象模型,它由狀態單元(寄存器)和對那些狀態單元操作的指令組成。ISA通過為程式設計師和微處理器設計人員提供微處理器行為的抽象規範而作為軟體與硬體之間的分界。本發明的編程模型使應用程式能夠直接控制多個非對稱CPU核。共享存儲器的編程模型現有技術的多線程微處理器採用與現有技術的共享存儲器的多處理器系統相同的編程模型。該編程模型如下文所述。微處理器向作業系統提供執行的多個線程。作業系統使用這些線程來並發運行多個應用(「進程」),和/或並發運行來自單個應用的多個線程(「多線程」)。在這兩種情況中,對於軟體來說線程看上去像是獨立的CPU。主存儲器為所有線程所共享,線程之間的通信經由主存儲器來完成。CPU內的硬體資源也可以被共享,但是微體系結構將這種共享對軟體隱藏。雖然傳統的共享存儲器的多處理器編程模型廣泛地被多種作業系統和應用程式 所理解和支持,但是這種模型具有多個缺點。它們是I)線程之間的通信通過主存儲器來完成,因此極慢。緩存可以緩解一些等待時間,但是通常必須將高速緩存行從一個CPU核傳給另一個,以便利於共享。2)線程之間的同步使用基於存儲器的信號量(semaphore)來完成,因此極慢。3)創建、摧毀、掛起和恢復線程需要作業系統介入,因此極慢。4)微處理器供應商無法提供最有效的多線程操作方法,因為CPU多線程操作中的改進被上面描述的存儲器等待時間以及作業系統等待時間所抵消。多線程操作體系結構擴展出於有關現有技術系統的上述原因,本發明的方法和系統通過多線程操作體系結構擴展將處理器體系結構擴展為包括結構可視的多線程操作。提供在單個處理單元內的多個同時執行的線程、多個指令指針以及某種應用狀態(寄存器)的多個副本。執行的多個線程不同於現有的共享存儲器的線程,它們稱為Shred或共享資源的線程。本發明的多線程操作體系結構擴展(它的一個示例在下文稱為「MAX」 )包括現有體系結構功能,另外還支持多個同時的Shred,它們均具有自己的指令指針、通用寄存器、FP寄存器、分支寄存器、預測寄存器和某些應用寄存器。創建非特權指令以創建並摧毀Shred。除共享的存儲器外,Shred之間的通信還通過共享的寄存器來完成。對信號量的需求將減少,因為本發明的多線程操作體系結構擴展會保證對共享的寄存器的原子訪問。此外,本發明的多線程操作體系結構擴展可以結合32位體系結構、如Intel .公司的32位體系結構,或64位體系結構、如Intel 公司的64位體系結構,或甚至16位體系結構來使用。根據本發明一個實施例,下表中示出常規共享存儲器的多處理器線程與Shred之間的比較。
權利要求
1.ー種在處理器中用於提供用戶級多線程的設備,包括 第一資源,用於為將由第一非特權用戶指令創建的第一共享資源的線程(shred)保存每個共享資源的線程的應用狀態; 包括所述第一資源的副本的第二資源,所述第二資源用於為將由第二非特權用戶指令創建的第二共享資源的線程保存每個共享資源的線程的應用狀態;和 至少可由所述第一共享資源的線程通過第三非特權用戶指令直接訪問以及所述第二共享資源的線程通過第四非特權用戶指令直接訪問的共享的資源,用於在所述第一共享資源的線程和所述第二共享資源的線程之間提供通信。
全文摘要
本發明的名稱是「提供用戶級多線程操作的方法和系統」。公開一種用於提供用戶級多線程操作的方法和系統。根據本發明技術的方法包括接收編程指令以通過指令集體系結構(ISA)來執行一個或多個共享資源的線程(Shred)。通過ISA來配置一個或多個指令指針;並利用微處理器同時執行這一個或多個Shred,其中該微處理器包括多個指令定序器。
文檔編號G06F9/48GK102779024SQ20121010528
公開日2012年11月14日 申請日期2005年3月31日 優先權日2004年3月31日
發明者E·T·格羅喬夫斯基, H·王, J·D·科林斯, J·P·沈, J·P·赫爾德, P·H·王, P·坎杜, R·萊維亞坦, T·-F·魏 申請人:英特爾公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀