新四季網

具有基於活動線程號的寄存器分配的多線程微處理器的製作方法

2023-05-24 18:29:46

專利名稱:具有基於活動線程號的寄存器分配的多線程微處理器的製作方法
相關申請的交叉參考本申請要求以下申請的優先權美國臨時專利申請序列號60/315144(代理人摘要號為10559-579P01),於2001年8月27日提交。
背景一般而言,多線程微處理器的硬體實現為每個線程的使用提供了固定數目的資源,比如寄存器、程序計數器等等。根據在微處理器上執行的應用程式內的對應量,不會使用某些線程。因此,未使用的線程資源被浪費,尤其是那些資源所耗用的功率和矽面積。
附圖描述

圖1示出一通信系統的框圖,該通信系統採用了具有多線程微型發動機的處理器來支持多線程的執行。
圖2示出微型發動機(圖1的)的框圖。
圖3示出用於選擇多個「使用中」線程的微型發動機控制和狀態寄存器(CSR)。
圖4示出(圖2的微型發動機的)通用寄存器(GPS)文件的雙庫實現的示意圖,該文件使用所選數目的「使用中」線程為線程分配寄存器。
圖5示出八個「使用中」線程和四個「使用中」線程的線程GPR分配表。
圖6A和6B分別示出按照八個「使用中」線程和四個「使用中」線程的線程GPR分配在GPR文件內的寄存器分區。
詳細描述參照圖1,通信系統10包括處理器12,處理器12耦合到一個或多個I/O設備,比如網絡設備14和16,還包括存儲器系統18。處理器12是多線程的微處理器,因此尤其用於可被分成並行的子任務或函數的任務。在一個實施例中,如圖所示,處理器12包括多個微型發動機20,每個都有多個硬體控制的程序線程22,這些線程可以是同時活動的,並且獨立地對一個任務起作用。在所示示例中,有「n」個微型發動機20,每個微型發動機20都能處理多個程序線程22,下面將更完整地描述。在所述實施例中,所支持的環境線程的最大數目「N」為八,但也可以提供其它最大數。最好是,每個微型發動機20都連接到相鄰的微型發動機並且與之通信。
處理器12還包括處理器24,處理器24幫助加載對處理器12的其它資源的微碼控制,並且執行諸如處理協議和異常這樣的其它通用計算機類型函數。在網絡處理應用中,處理器24還可以為不能被微型發動機20處理的較高層網絡處理任務提供支持。在一個實施例中,處理器24是基於StrongARM(ARM是英國ARM有限公司的商標)內核的結構。處理器(或內核)24具有一作業系統,處理器24通過該作業系統可以調用函數來操作微型發動機20。處理器24可以使用任何被支持的作業系統,最好是實時作業系統。也可以使用其它處理器結構。
微型發動機20各自與共享資源一起操作,共享資源包括存儲器系統18、PCI總線接口26、I/O接口28、哈希單元30和便箋式存儲器32。PCI總線接口26向PCI總線(未示出)提供一接口。I/O接口28負責控制處理器12並將其接入網絡設備14、16。存儲器系統18包括用DRAM控制器36存取的動態隨機存取存儲器(DRAM)34、以及用SRAM控制器40存取的靜態隨機存取存儲器(SRAM)38。儘管未示出,處理器12還會包括用於支持啟動操作的非易失性存儲器。DRAM34和DRAM控制器36一般用於處理大體積的數據,如處理來自網絡分組的有效負載。在網絡實現中,SRAM38和SRAM控制器40用於低等待時間的、快速存取任務,如存取處理器24的查找表、存儲器等等。微型發動機20可以執行到DRAM控制器36或SRAM控制器40的存儲器引用指令。
設備14和16可以是能發送並且/或者接收網絡話務數據的任何網絡設備,比如組幀/MAC設備,例如用於連接到10/100BaseT乙太網、千兆比特乙太網、ATM或其它類型的網絡,或者用於連接到開關結構的設備。例如,在一種布局中,網絡設備14可以是向處理器12發送分組數據的乙太網MAC設備(連接到乙太網網絡,未示出),而設備16可以是從處理器12接收被處理的分組數據的開關結構設備用於發送到開關結構上。在這種實現中,也就是,當處理要被發送到開關結構的話務時,處理器12會擔當入口網絡處理器。或者,處理器12會擔當出口網絡處理器,處理從開關結構接收到的並且指向另一網絡設備的話務,另一網絡設備有網絡設備14,或者耦合到這種設備的網絡。儘管處理器12可以工作在單機模式,支持兩種話務方向,然而可以理解,為了達到較高的性能,可能希望使用兩個專用處理器,一個作為入口處理器,另一個作為出口處理器。這兩個專用處理器各自與設備14和16耦合。此外,各個網絡設備14、16可以包括要被處理器12服務的多個埠。因此,I/O接口28支持一類或多類接口,比如用於物理層(PHY)設備和較高協議層(如鏈路層)之間的分組和單元傳輸的接口、或者用於異步傳輸模式(ATM)、網際網路協議(IP)、乙太網和類似的數據通信應用的話務管理器和開關結構之間的接口。I/O接口28包括分開的接收和發送塊,每個塊都單獨地用於處理器12所支持的特定接口。
處理器12還可以服務其它設備,比如主機和/或PCI外部設備(未示出),它們可以耦合到PC接口26所控制的PCI總線。
通常,作為網絡處理器,處理器12可以接到接收/發送大量數據的任何類型的通信設備或接口。充當網絡處理器的處理器12會從像網絡設備14這樣的網絡設備接收分組數據單元,並且以並行方式處理那些分組數據單元,如下所述。分組數據單元會包括整個網絡分組(如乙太網分組)或者一部分這樣的分組,如一個單元或一個分組段。
處理器12的每個功能性單元都耦合到內部總線結構42。存儲器總線44a、44b分別把存儲器控制器36和40耦合到存儲器系統18的相應存儲器單元DRAM34和SRAM38。I/O接口28分別通過分開的I/O總線46a和46b耦合到設備14和16。
參照圖2,示出一個示例性的微型發動機20。微型發動機(ME)20包括一個控制單元50,控制單元50包括控制存儲器51、控制邏輯(即微控制器)52和環境判優器/事件邏輯53。控制存儲器51用於存儲微程序。微程序可以由處理器24加載。
微控制器52包括每個所支持線程的指令解碼器和程序計數器單元。環境判優器/事件邏輯53從每一個共享資源接收消息(如SRAM事件應答),共享資源如SRAM38、DRAM34或處理器內核24等等。這些消息提供了與所請求的函數是否完成有關的信息。
環境判優器/事件邏輯53對八個線程判優。在一個實施例中,判優是一個循環機制。然而,也可以使用其它判優技術,比如優先級隊列或加權的合理隊列。
微型發動機20還包括執行數據通路54以及耦合到控制單元50的通用寄存器(GPR)文件單元56。數據通路54包括幾個數據通路元件,如圖所示,第一數據通路元件58、第二數據通路元件59和第三數據通路元件60。數據通路元件可以包括例如ALU和乘法器。GPR文件單元56向各個數據通路元件提供操作數。GPR文件單元56的寄存器在程序控制下被專門地讀寫。GPR在用作指令內來源時向數據通路54提供操作數。在用作指令內的目的地時,用數據通路54的結果寫入它們。指令指定了為源或目的地選擇的特定GPR的寄存器號目。控制單元50所提供的指令內的操作碼位選擇了哪個數據通路元件要執行指令所定義的操作。
微型發動機20還包括寫傳輸寄存器文件62和讀傳輸寄存器文件64。寫傳輸寄存器文件62存儲要被寫入微型發動機外部的資源(例如DRAM存儲器或SRAM存儲器)的數據。讀傳輸寄存器文件64用於存儲來自微型發動機20外部的資源的返回數據。在數據到達之後或同時,可以提供來自相應共享資源(如存儲器控制器36、40或內核24)的事件信號64,來警告請求該數據的線程數據可用或者已經被發送。兩個傳輸寄存器文件62、64都連接到數據通路54、GPR文件單元56、以及控制單元50。
微型發動機20內還包括本地存儲器66。本地存儲器66由寄存器68a、68b定址,它也向數據通路54提供操作數。本地存儲器66從數據通路54接收結果作為目的地。微型發動機20還包括本地控制和狀態寄存器(CSR)70,用於存儲本地線程間和全局事件信令信息以及其它信息;以及耦合到傳輸寄存器的CRC單元72,與執行數據通路54並行操作並且為ATM單元執行CRC計算。本地CSR和CRC單元72耦合到傳輸寄存器、數據通路54和GPR文件單元56。
除了向寫傳輸單元62提供輸出以外,數據通路54還可以在線80上向GPR文件56提供輸出。這樣,每個數據通路元件從可以自被執行時返回一個結果值。
微型發動機線程22的功能是由為特定用戶的應用程式被加載(通過內核處理器24)到每個微型發動機的控制存儲器51內的微碼來確定的。例如,在一個示例性線程任務指定中,指定一個線程作為接收調度器線程,指定另一個作為發送調度器線程,把多個線程配置為接收處理線程和發送處理線程,而其它線程任務指定包括發送判優器以及一個或多個內核通信線程。一旦被起動,線程就獨立地執行它的功能。
參照圖3,CSR70包括環境使能寄存器(「CTX_Enable」)90,該寄存器90包括「使用中」環境欄位92,欄位92用於指示使用中的預先選擇的線程或環境數目。「使用中」環境欄位92存儲單個位,該位在被清除時(X=0)指示所有的8個可用線程都在使用中,而當被設定時(X=1)指示僅有預定義數目的線程在使用中,例如4個,更具體地說是線程0、2、4和6。
如圖4所示,GPR文件單元56的GPR可以物理地和邏輯地被包含在兩個庫內,A庫56a和B庫56b。兩個庫內的GPR都包括數據部分100和地址部分102。多路復用器104與每個寄存器地址路徑102耦合,從控制單元50接收線程號104和寄存器號106(來自指令)作為輸入。多路復用器104的輸出受使能信號110控制,該輸出也就是被提供給地址路徑102以選擇寄存器109之一的「地址」形式。使能信號110的狀態通過在CTX_Enable寄存器90的欄位92內設定「In_Use」環境位來確定。
通常,每個線程具有為其分配的固定百分比的寄存器,例如在支持八個線程時為百分之一。如果未使用某些線程,則那些未使用線程專用的寄存器也不被使用。
相反,通過CTX_Enable CSR 90內的「使用中」環境配置信息控制的多路復用器104的使用允許重新劃分寄存器地址內活動線程號/指令(寄存器號)位的位數,以及從而把寄存器重新分配給線程。更具體地說,當欄位92內的位等於「0」時,「使用中」的線程數為8,且使能110控制多路復用器104選擇活動線程號106的所有位以及由當前指令指定的寄存器號108的除最高有效位以外的所有位。相反,當欄位92內的位被設為「1」時,「使用中」的線程數減少一半,且重新分布可用於分配的寄存器數目,使得每線程分配的寄存器數目加倍。
圖5示出32個寄存器的寄存器文件的線程分配。對於8個線程,線程號0到7而言,每個線程分配到總共四個寄存器。對於4個線程,線程號0、2、4和6而言,每個線程分配到總共八個寄存器。
圖6A和6B示出具有32個寄存器的寄存器文件(例如單個庫,寄存器文件56a),這32個寄存器可用於在最大八個所支持線程中間的線程分配和重新分配。在8線程的配置120中,也就是有八個使用中的線程的情況,如圖6A所示,每個線程都分配到四個寄存器。由於使能110為低,因此多路復用器104選擇線程號的二進位表示的所有三個位、以及自指令的寄存器號的二進位表示中除最高有效位以外的所有位(也就是,選擇兩個位(位0和1))。對於4線程的配置122而言,也就是當使能110為高因此有四個線程時,如圖6所示,四個線程的每一個都分配到八個寄存器。多路復用器104選擇線程號的二進位表示的除最低有效位以外的所有位(在該情況下,選擇兩個位,位1和2)、以及自指令的寄存器號的二進位表示的所有位。這樣,寄存器文件內的地址是當前活動的線程號的位與來自指令的寄存器號的位的並置,且通過設定CTX_Enable寄存器90(來自圖3)內的In_Use環境位92來確定對每個起作用的位數。
這樣,GPR被邏輯地細分成相等的區域,使得每個環境都對區域之一有相對存取。區域數目在In_Use環境欄位92內被配置,或為4或為8。這樣,環境有關的寄存器數目實際上與多個不同的物理寄存器相關。通過環境以上述方式作出存取請求,即與寄存器號並置的環境號,來確定要存取的實際寄存器。環境有關的存取是強有力的特徵,它能使八個或四個不同的線程共享相同的代碼圖像,仍然保持分開的數據。這樣,指令指定了環境有關的地址(寄存器號)。對於八個活動的環境而言,指令總是在範圍0-3內指定寄存器。對於四個活動的環境而言,指令總是在範圍0-7內指定寄存器。
回過頭參照圖4所示的表,絕對GPR寄存器號是由寄存器地址路徑(解碼邏輯)實際用來存取指定的環境有關寄存器的寄存器號。例如,根據8個活動的環境,環境(或線程)2的環境有關的線程0為8。
上述線程GPR分配方案可以擴展到不同的線程和寄存器數目(基於2的倍數),例如,把總共128個寄存器從最大數8個「使用中」線程(每個有16個寄存器)重新分配為4個「使用中」的線程(每個有32個寄存器),或者把總共128個寄存器從最大數16個「使用中」線程(每個有8個寄存器)重新分配為8個「使用中」的線程(每個有16個寄存器)。
其它實施例也在所附權利要求的範圍內。
權利要求
1.一種在多線程處理器內分配資源的方法,包括提供由多線程處理器支持的執行線程所用的資源;以及向資源選擇應用配置信息,以便在活動的執行線程中分配資源。
2.如權利要求1所述的方法,其特徵在於,所述資源包括通用寄存器文件內的寄存器。
3.如權利要求1所述的方法,其特徵在於,所述配置信息包括配置位,當被清除時指示所有所支持的執行線程是活動的執行線程,並且當被設定時指示一部分所支持的執行線程是活動的執行線程。
4.如權利要求1所述的方法,其特徵在於,所述配置信息包括配置位,當被清除時指示所有所支持的執行線程是活動的執行線程,並且當被設定時指示所支持的執行線程的一半是活動的執行線程。
5.如權利要求3所述的方法,其特徵在於,所述配置位駐留在控制和狀態寄存器內。
6.如權利要求2所述的方法,其特徵在於,所述通用寄存器文件包括一個地址解碼部分和與所述地址解碼部分耦合的多路復用器,所述多路復用器用於接收一個線程號和寄存器號作為輸入,並且用於根據配置信息選擇線程號和寄存器號的位,以形成對應於一個寄存器的地址。
7.如權利要求6所述的方法,其特徵在於,所述配置信息指示選擇線程號的除最低有效位以外的所有位以及寄存器號的所有位。
8.如權利要求6所述的方法,其特徵在於,所述配置信息指示選擇寄存器號的除最高有效位以外的所有位以及線程號的所有位。
9.如權利要求6所述的方法,其特徵在於,寄存器號的所選位形成線程有關的寄存器號。
10.一種處理器,包括由處理器所支持的執行線程所使用的資源;以及資源選擇器,用於接收配置信息,並且用於根據配置信息在活動的執行線程中分配資源。
11.如權利要求10所述的處理器,其特徵在於,所述資源包括通用寄存器文件內的寄存器。
12.如權利要求10所述的處理器,其特徵在於,所述配置信息包括配置位,當被清除時指示所有所支持的執行線程是活動的執行線程,並且當被設定時指示一部分所支持的執行線程是活動的執行線程。
13.如權利要求10所述的處理器,其特徵在於,所述配置信息包括配置位,當被清除時指示所有所支持的執行線程是活動的執行線程,並且當被設定時指示所支持的執行線程的一半是活動的執行線程。
14.如權利要求12所述的處理器,其特徵在於,所述配置位駐留在控制和狀態寄存器內。
15.如權利要求11所述的處理器,其特徵在於,所述通用寄存器文件包括一個地址解碼部分,資源選擇器是與所述地址解碼部分耦合的多路復用器,所述多路復用器用於接收一個線程號和寄存器號作為輸入,並且用於根據配置信息選擇線程號和寄存器號的位,以形成對應於一個寄存器的地址。
16.如權利要求15所述的處理器,其特徵在於,所述配置信息指示選擇線程號的除最低有效位以外的所有位以及寄存器號的所有位。
17.如權利要求15所述的處理器,其特徵在於,所述配置信息指示選擇寄存器號的除最高有效位以外的所有位以及線程號的所有位。
18.如權利要求15所述的處理器,其特徵在於,寄存器號的所選位形成線程有關的寄存器號。
全文摘要
多線程處理器中的一種機制,用於根據指示多少線程正在使用中的配置信息來分配資源。
文檔編號G06F15/00GK1547695SQ02816773
公開日2004年11月17日 申請日期2002年8月27日 優先權日2001年8月27日
發明者M·羅森布魯斯, C·沃爾裡奇, D·伯恩斯坦恩, M 羅森布魯斯, 鍥, 魎固苟 申請人:英特爾公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀