專利名稱:微處理器結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微處理器結(jié)構(gòu),且明確地說(shuō)涉及包含SIMD處理器陣列 的處理器的結(jié)構(gòu)。
技術(shù)背景附圖的圖1說(shuō)明先前考慮的微處理器結(jié)構(gòu),其包含單指令多數(shù)據(jù) (SIMD)處理器陣列。所述處理器包含串行處理器10,其可操作以處 理非并行指令,例如獲取指令以及執(zhí)行分支和計(jì)算。所述結(jié)構(gòu)還包含處 理元件20的SIMD陣列19,所述處理元件20由陣列控制器12控制。 陣列控制器12由串行處理器IO控制。串行處理器IO從指令高速緩沖存儲(chǔ)器(未圖示)接收指令流。串行 處理器IO接著執(zhí)行檢索到的串行指令。串行處理器10向陣列控制器12 發(fā)出SIMD指令,陣列控制器12對(duì)接收到的SIMD指令進(jìn)行解碼并區(qū)分 優(yōu)先次序,且將適當(dāng)?shù)目刂菩盘?hào)發(fā)送到處理元件(PE) 20的SIMD陣列 19。 SIMD陣列19以已知方式操作,使得所有處理元件對(duì)特定于PE 20 的數(shù)據(jù)實(shí)行相同指令。如圖1所說(shuō)明,SIMD陣列19包括經(jīng)布置以并行操作的處理器元件 (PE)20的陣列。SIMD陣列19中的每一PE 20含有算術(shù)邏輯單元(ALU) 22、寄存器文件24、 PE存儲(chǔ)器26和輸入/輸出(I/O)單元26。 SIMD 陣列19以同步方式操作,其中每一PE20與其它PE在相同時(shí)間執(zhí)行相 同指令,但使用特定于個(gè)別PE的數(shù)據(jù)。PE中的這些執(zhí)行單元中的每一 者執(zhí)行特定任務(wù)ALU22執(zhí)行算術(shù)功能,寄存器文件24存儲(chǔ)供ALU22 使用并用于與內(nèi)部PE存儲(chǔ)器26進(jìn)行傳遞的數(shù)據(jù),且I/O單元26處置 PE存儲(chǔ)器26與外部存儲(chǔ)器(未圖示)之間的數(shù)據(jù)傳遞。PE數(shù)據(jù)存儲(chǔ)在 PE存儲(chǔ)器26中并使用寄存器文件24傳遞到ALU 22。陣列控制器12
向陣列19發(fā)出指令,所述指令促使在I/0單元28、 PE存儲(chǔ)器26、寄存 器文件24與ALU 22之間傳遞數(shù)據(jù),且陣列控制器12還發(fā)出對(duì)ALU 22 中的數(shù)據(jù)進(jìn)行操作的指令。先前考慮的結(jié)構(gòu)存在一些缺點(diǎn)。指令保存在待由PE執(zhí)行的一個(gè)隊(duì) 列中,這可導(dǎo)致處理過(guò)程中產(chǎn)生較大延遲。并且,在任一個(gè)指令的執(zhí)行 期間,僅占用每一PE 20的一個(gè)執(zhí)行單元。舉例來(lái)說(shuō),如果指令是將兩 個(gè)數(shù)字相乘,那么僅每一PE 20的ALU 22在工作?;蛘撸绻噶钍?從外部存儲(chǔ)器獲取數(shù)據(jù)項(xiàng),那么僅每一 PE 20的I/O 28在工作。因此,需要提供可克服這些缺點(diǎn)的技術(shù)。 發(fā)明內(nèi)容根據(jù)本發(fā)明的一個(gè)方面,提供一種微處理器結(jié)構(gòu),其包括 多個(gè)處理元件,其布置在執(zhí)行單元的單指令多數(shù)據(jù)SIMD陣列中,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;串行處理器,其包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;以及指令控制器,其可操作以接收多個(gè)指令,并依據(jù)接收到的指令的指令類型將接收到的指令分配到SIMD陣列和串行處理器的執(zhí)行單元, 其中串行處理器的執(zhí)行單元可操作以并行地處理各自的指令。 根據(jù)本發(fā)明的另一方面,提供一種微處理器結(jié)構(gòu),其包括 多個(gè)處理元件,其布置在單指令多數(shù)據(jù)SIMD陣列中,其中每一處理元件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;以及指令控制器,其可操作以接收多個(gè)指令,并依據(jù)接收到的指令的指令類型將接收到的指令分配到處理元件的執(zhí)行單元,其中每一處理元件的執(zhí)行單元可操作以并行地處理各自的指令。 根據(jù)本發(fā)明的另一方面,提供一種微處理器結(jié)構(gòu),其包括 多個(gè)處理元件,^i^執(zhí)行單元的單指令多數(shù)據(jù)SIMD陣列中;
以及串行處理器,其包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操 作以處理特定指令類型的指令,其中串行處理器的執(zhí)行單元中的一者是可操作以存儲(chǔ)用于由串行處 理器的執(zhí)行單元中的至少另一者處理的數(shù)據(jù)的寄存器單元,且其中所述寄存器單元包含多組寄存器,所述組與各自的處理線程相 關(guān)聯(lián)。根據(jù)本發(fā)明的另一方面,提供一種在處理器的執(zhí)行單元中執(zhí)行指令 的方法,所述處理器包含處理元件的單指令多數(shù)據(jù)陣列,所述執(zhí)行單元 可操作以處理各自指令類型的指令,所述方法包括接收指令流;依據(jù)指令類型將接收到的指令分配到執(zhí)行單元,使得執(zhí)行單元可操 作以彼此并行地處理各自的指令。
圖1是先前考慮的SIMD處理器結(jié)構(gòu)的示意方框圖;圖2和3是說(shuō)明體現(xiàn)本發(fā)明的各個(gè)結(jié)構(gòu)的主要元件的示意方框圖;圖4是圖2和3的結(jié)構(gòu)的一部分的示意方框圖;和 圖5是說(shuō)明本發(fā)明實(shí)施例中的指令流動(dòng)的流動(dòng)圖。
具體實(shí)施方式
圖2是說(shuō)明體現(xiàn)本發(fā)明的結(jié)構(gòu)的主要元件的示意方框圖。圖2的結(jié) 構(gòu)包含串行處理器10、并行處理器15和指令控制器14。指令控制器14 操作以獲取指令,對(duì)指令進(jìn)行解碼,并將指令分配到串行處理器IO且分 配到并行處理器15,如下文將詳細(xì)描述。并行處理器包含PE20的陣列 19,和多個(gè)子控制器。為了清楚起見(jiàn),圖2中僅說(shuō)明單一PE。將容易了 解,SIMD陣列19可包含任何數(shù)目的PE20。在圖2的示范性實(shí)施例中, 子控制器以陣列控制器16、加載/存儲(chǔ)控制器18和1/0控制器16為代表。 從指令控制器將指令引導(dǎo)到并行處理器15中的子控制器或引導(dǎo)到串行處理器10。在圖2所示的實(shí)例中,SIMD陣列19的每一PE20包括算術(shù)邏輯單 元(ALU) 22、寄存器文件(Reg) 24和I/O單元(I/O) 26。 PE中的這 些執(zhí)行單元中的每一者(ALU 22、寄存器文件24和I/0 28)執(zhí)行各自 的任務(wù)ALU22執(zhí)行算術(shù)功能,寄存器文件24存儲(chǔ)供ALU22使用并 用于與內(nèi)部PE存儲(chǔ)器26進(jìn)行傳遞的數(shù)據(jù),且I/O單元28處置內(nèi)部PE 存儲(chǔ)器26與外部存儲(chǔ)器(未圖示)之間的數(shù)據(jù)傳遞。指令控制器14從高速緩沖存儲(chǔ)器(未圖示)接收指令,并將其分類 為以下類別待由串行處理器10執(zhí)行的指令;待由SIMD陣列19中的每一PE20的ALU22執(zhí)行的指令;以及 待由SIMD陣列19中的每一PE 20的寄存器文件24執(zhí)行的指令; 待由SIMD陣列19中的每一PE20的I/O單元28執(zhí)行的指令。 指令控制器14接著根據(jù)指令的執(zhí)行位置將指令引導(dǎo)到陣列控制器 16、加載/存儲(chǔ)控制器17、 1/0控制器18或串行處理器10。陣列控制器 16、加載/存儲(chǔ)控制器17和I/O控制器18每一者將其接收到的指令組進(jìn) 行分類,并將所述指令組轉(zhuǎn)送到SIMD陣列中的PE的適當(dāng)執(zhí)行單元。圖3說(shuō)明本發(fā)明的一般實(shí)施例,其同樣包含指令控制器14、串行處 理器10和并行處理器15。圖3中,并行處理器包含處理元件(PE) 36 的SIMD陣列19。同樣,為了清楚起見(jiàn),圖3中僅說(shuō)明單一PE。將容 易了解,SIMD陣列19可包含任何數(shù)目的PE20。每一PE包含許多執(zhí)行 單元(所述實(shí)例中為N個(gè))37、 38、 39。每一執(zhí)行單元執(zhí)行PE中的特 定任務(wù),但同一任務(wù)可由一個(gè)以上執(zhí)行單元執(zhí)行。在圖3的實(shí)施例中, 并行處理器15還包含N個(gè)子控制器30、 32...34,所述子控制器從指令 控制器接收各自的指令類型。圖3中的子控制器的數(shù)目對(duì)應(yīng)于SIMD陣 列19的每一 PE 36中的執(zhí)行單元的數(shù)目。圖3說(shuō)明一般t亶況;—握于單元的特錢例包含—ALU、浮點(diǎn)單元
(FPU)、乘法累積單元(MAC)、 I/O控制和寄存器存儲(chǔ)裝置。將容易 了解,在本發(fā)明一實(shí)施例中,可在PE中提供其它執(zhí)行單元。
串行處理器10也包括多個(gè)執(zhí)行單元。執(zhí)行單元101、 102... 10N以 與SIMD陣列中的PE中的那些執(zhí)行單元類似的方式操作。串行處理器 包含控制器10a,其將指令分配到適當(dāng)?shù)膱?zhí)行單元。控制器10a可以是 單一控制器,或者可由對(duì)應(yīng)于串行處理器中的各自執(zhí)行單元的多個(gè)子控 制器提供。
指令由指令控制器接收,并分配到串行處理器IO,或依據(jù)指令的類 型而分配到子控制器30、 32、 24中的一者。每一子控制器將其接收到的 指令進(jìn)行分類,并將所述指令傳遞到SIMD陣列中的PE 36的適當(dāng)部分 以用于處理。
在一個(gè)實(shí)例中, 一個(gè)子控制器可將指令轉(zhuǎn)發(fā)到一個(gè)以上執(zhí)行單元。 這將具有節(jié)省IC上的空間的優(yōu)點(diǎn),可能的代價(jià)是性能的微小損失。
圖4說(shuō)明用于包含執(zhí)行單元的處理元件中的寄存器文件42,所述執(zhí) 行單元對(duì)存儲(chǔ)在寄存器文件中的數(shù)據(jù)進(jìn)行操作,并能夠處理多個(gè)指令線 程。寄存器文件也可用于串行處理器10中。此寄存器文件體現(xiàn)本發(fā)明的 另一方面。并行處理器15可處理預(yù)定的最大數(shù)目的指令流(線程)。寄 存器文件42具有用于每一此類線程的一組寄存器。因此,對(duì)于能夠處理 A個(gè)線程的并行處理器來(lái)說(shuō),寄存器文件42包括A組寄存器。每一組 包含預(yù)定數(shù)目x個(gè)寄存器。提供x個(gè)寄存器用于存儲(chǔ)個(gè)別的寄存器數(shù)據(jù) 項(xiàng)。在一個(gè)可能的實(shí)例中,每一組中提供128個(gè)寄存器。經(jīng)由解多路復(fù) 用器44來(lái)存取寄存器文件42,使用定址單元40將所述解多路復(fù)用器44 定址。定址單元40接收線程ID和寄存器地址作為輸入,以便為多路復(fù) 用器產(chǎn)生全部的寄存器地址。以此方式,數(shù)據(jù)48可經(jīng)由解多路復(fù)用器 44從寄存器42傳遞作為輸出信號(hào)50。這種擴(kuò)充的寄存器存儲(chǔ)裝置可實(shí) 現(xiàn)所處理線程的快速切換,而不需要輸出和存儲(chǔ)現(xiàn)有的寄存器值以及輸 入用于下一線程的新寄存器值。體現(xiàn)本發(fā)明的這一方面的寄存器文件實(shí)
現(xiàn)多任務(wù)處理。這種增強(qiáng)的寄存器文件是有利的,因?yàn)檩^長(zhǎng)的寄存器所 使用的硅面積小于寄存器文件增加的倍數(shù)。舉例來(lái)說(shuō),對(duì)于使寄存器文 件大小加倍,硅面積增加不到兩倍。這是由于以下事實(shí)的緣故存在與 寄存器文件的容量無(wú)關(guān)的固定量的面積被使用。
圖5展示本發(fā)明實(shí)施例中可如何分配指令流的實(shí)例。在所示實(shí)例中, 三個(gè)不同指令線程A、 B和C (其各含有許多單獨(dú)指令)排成隊(duì)列以便
供應(yīng)到串行處理器IO或并行處理器15。例如,線程A含有指令A(yù)p A2、 A3和A4。舉例來(lái)說(shuō),圖5中展示參看圖2描述的三個(gè)控制器16、 17、 18和串行處理器10:除了串行處理器10外,還有陣列控制器16、加載 /存儲(chǔ)控制器17和I/O控制器18。為了清楚起見(jiàn),僅展示SIMD陣列19 中的多個(gè)PE的一個(gè)PE 20。將來(lái)自每一線程的指令輸入到指令控制器 14。指令控制器14根據(jù)指令將在何處被執(zhí)行而將指令分配到控制器16、 17、 18中的每一者或串行處理器10。在圖5所示的實(shí)例中,指令C3、 B3和A4是算術(shù)指令,且因此將在ALU中執(zhí)行。因此將這些指令分配到 陣列控制器16,因?yàn)殛嚵锌刂破?6控制對(duì)ALU22的指令供應(yīng)。將待在 I/O部分28中執(zhí)行的指令發(fā)送到I/O控制器18,且將待在寄存器文件24 中執(zhí)行的指令發(fā)送到加載/存儲(chǔ)控制器17。每一控制器接著可將其自身的 接收到的指令隊(duì)列區(qū)分優(yōu)先次序。類似地,將指令Q傳遞到串行處理器。 考慮(例如)圖5所示的線程C的指令。指令C3表示將對(duì)使用I/0
指令d和C2檢索到的操作數(shù)執(zhí)行的算術(shù)指令。因此,指令C3必須保存
在ALU隊(duì)列中,直到I/O指令d和C2已完成為止。
在此情況下,陣列控制器不是首先將指令C3發(fā)送到PE,而是能夠 發(fā)送來(lái)自其它指令流的其它ALU指令。這種優(yōu)先次序區(qū)分反過(guò)來(lái)也適 用。舉例來(lái)說(shuō),在執(zhí)行完相關(guān)指令流中的ALU指令之后可能必須執(zhí)行 1/0或存儲(chǔ)器(寄存器文件)操作。在此情況下,當(dāng)完成其它流的ALU 指令時(shí)可執(zhí)行所述其它流的I/O指令。
舉例來(lái)說(shuō),如果指令B3與指令B,和B》無(wú)關(guān),那么其可在線程B中 無(wú)序地處理。
這種優(yōu)先次序區(qū)分使PE20的每一執(zhí)行單元(ALU、存儲(chǔ)器或I/0) 能夠操作并持續(xù)最大的時(shí)間量。這種方案克服了先前考慮的系統(tǒng)的缺點(diǎn), 即,PE的執(zhí)行單元在其它單元處于使用中的有效時(shí)段內(nèi)不被使用。因而, 本發(fā)明實(shí)施例能夠通過(guò)如上文所述方法調(diào)度和引導(dǎo)來(lái)自指令流的個(gè)別指 令而提供SIMD環(huán)境中的高效的多線程能力。
權(quán)利要求
1. 一種微處理器結(jié)構(gòu),其包括多個(gè)處理元件,其布置在執(zhí)行單元的單指令多數(shù)據(jù)SIMD陣列中; 串行處理器,其包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;以及指令控制器,其可操作以接收多個(gè)指令,并依據(jù)所述接收到的指令的指令類型將所述接收到的指令分配到所述SIMD陣列和串行處理器的執(zhí)行單元,其中所述串行處理器的執(zhí)行單元可操作以并行地處理各自的指令。
2. 根據(jù)權(quán)利要求1所述的微處理器結(jié)構(gòu),其中每一處理元件包含多個(gè)執(zhí)行單元,所述處理元件中的每一者的執(zhí)行單元可操作以彼此并行地 處理各自的指令。
3. —種微處理器結(jié)構(gòu),其包括多個(gè)處理元件,其布置在單指令多數(shù)據(jù)SIMD陣列中,其中每一處理元件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;以及指令控制器,其可操作以接收多個(gè)指令,并依據(jù)所述接收到的指 令的指令類型將所述接收到的指令分配到所述處理元件的所述執(zhí)行單 元,其中每一處理元件的所述執(zhí)行單元可操作以并行地處理各自的指令。
4. 根據(jù)前述權(quán)利要求中任一權(quán)利要求所述的結(jié)構(gòu),其中所述指令類 型包含數(shù)據(jù)處理和數(shù)據(jù)移動(dòng)指令。
5. 根據(jù)前述權(quán)利要求中任一權(quán)利要求所述的結(jié)構(gòu),其中所述指令控 制器可操作以接收與各自的處理線程相關(guān)的多個(gè)指令流,并將來(lái)自至少 兩個(gè)不同指令流的指令分配到所述執(zhí)行元件以對(duì)其進(jìn)行并行處理。
6. 根據(jù)權(quán)利要求1到4中任一權(quán)利要求所述的結(jié)構(gòu),其中所述指令控制器可操作以接收與各自的處理線程相關(guān)的多個(gè)指令流,并且指令經(jīng) 分配以使得分配到所述執(zhí)行單元的連續(xù)指令來(lái)自不同的指令流。
7. —種微處理器結(jié)構(gòu),其包括-多個(gè)處理元件,其布置在執(zhí)行單元的單指令多數(shù)據(jù)SIMD陣列中;以及串行處理器,其包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可 操作以處理特定指令類型的指令,其中所述串行處理器的所述執(zhí)行單元中的一者是可操作以存儲(chǔ)用 于由所述串行處理器的所述執(zhí)行單元中的至少另一者處理的數(shù)據(jù)的寄 存器單元,且其中所述寄存器單元包含多組寄存器,所述組與各自的處理線程 相關(guān)聯(lián)。
8. 根據(jù)權(quán)利要求7所述的結(jié)構(gòu),其中每一處理元件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令,且其 中每一處理元件的一個(gè)執(zhí)行單元是可操作以存儲(chǔ)用于由相關(guān)的所述處理 元件的執(zhí)行單元中的至少另一者處理的數(shù)據(jù)的寄存器單元,其中所述寄存器單元包含多組寄存器,所述組與各自的處理線程 相關(guān)聯(lián)。
9. 根據(jù)權(quán)利要求7或8所述的結(jié)構(gòu),其中所述串行處理器包含多個(gè) 執(zhí)行單元,且其中所述結(jié)構(gòu)進(jìn)一步包括指令控制器,所述指令控制器可 操作以接收多個(gè)指令,并依據(jù)所述接收到的指令的指令類型將所述接收 到的指令分配到所述執(zhí)行單元,所述執(zhí)行單元可操作以并行地處理各自 的指令。
10. 根據(jù)權(quán)利要求7、 8或9所述的結(jié)構(gòu),其中每一處理元件包含多 個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指 令,且其中所述結(jié)構(gòu)進(jìn)一步包括指令控制器,所述指令控制器可操作以 接收多個(gè)指令,并依據(jù)所述接收到的指令的指令類型將所述接收到的指 令分配到所述處理元件的所述執(zhí)行單元,每一處理元件的執(zhí)行單元可操 作以并行地處理各自的指令。
11. 一種微處理器結(jié)構(gòu),其包括多個(gè)處理元件,其布置在單指令多數(shù)據(jù)SIMD陣列中,其中每一 處理元件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的一者是可操作以存儲(chǔ) 用于由相關(guān)的所述處理元件的所述執(zhí)行單元中的至少另一者處理的數(shù) 據(jù)的寄存器單元,其中所述寄存器單元包含多組寄存器,所述組與各自的處理線程 相關(guān)聯(lián)。
12. 根據(jù)權(quán)利要求11所述的結(jié)構(gòu),其中每一處理元件包含多個(gè)執(zhí)行 單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令,且 其中所述結(jié)構(gòu)進(jìn)一步包括指令控制器,所述指令控制器可操作以接收多 個(gè)指令,并依據(jù)所述接收到的指令的指令類型將所述接收到的指令分配 到所述處理元件的所述執(zhí)行單元,每一處理元件的執(zhí)行單元可操作以并 行地處理各自的指令。
13. 根據(jù)權(quán)利要求9、 10、 12或13所述的結(jié)構(gòu),其中所述指令類型 包含數(shù)據(jù)處理和數(shù)據(jù)移動(dòng)指令。
14. 根據(jù)權(quán)利要求10、 12、 13或14所述的結(jié)構(gòu),其中所述指令控制 器可操作以接收與各自的處理線程相關(guān)的多個(gè)指令流,并將來(lái)自至少兩 個(gè)不同指令流的指令分配到所述處理元件的所述執(zhí)行元件以對(duì)其進(jìn)行并 行處理。
15. 根據(jù)權(quán)利要求10、 12、 13或14所述的結(jié)構(gòu),其中所述指令控制 器可操作以接收與各自的處理線程相關(guān)的多個(gè)指令流,并且指令被分配 到所述處理元件,以使得分配到所述執(zhí)行單元的連續(xù)指令來(lái)自不同的指 令流。
16. 根據(jù)權(quán)利要求7到15中任一權(quán)利要求所述的結(jié)構(gòu),其中所述或 每一寄存器單元包含用于存取存儲(chǔ)在相關(guān)的所述寄存器單元的寄存器中 的數(shù)據(jù)的定址單元,所述定址單元可操作以接收寄存器地址和線程指示 符,并依據(jù)接收到的寄存器地址和線程指示符信息來(lái)存取所述寄存器單 元的所述寄存器。
17. —種在處理器的執(zhí)行單元中執(zhí)行指令的方法,所述處理器包含布置在執(zhí)行單元的單指令多數(shù)據(jù)SIMD陣列中的多個(gè)處理元件,和包含多個(gè)執(zhí)行單元的串行處理器,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令,所述方法包括 接收指令流;依據(jù)所述指令類型將所述接收到的指令分配到所述執(zhí)行單元,使 得所述執(zhí)行單元彼此并行地處理各自的指令。
18. 根據(jù)權(quán)利要求17所述的方法,其中每一處理元件包含多個(gè)執(zhí)行 單元,所述處理元件中的每一者的執(zhí)行單元可操作以彼此并行地處理各 自的指令。
19. 一種在處理器的執(zhí)行單元中執(zhí)行指令的方法,所述處理器包含布 置在單指令多數(shù)據(jù)SIMD陣列中的多個(gè)處理元件,其中每一處理元件包 含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型 的指令,所述方法包括接收指令流;依據(jù)所述指令類型將所述接收到的指令分配到所述執(zhí)行單元,使 得所述執(zhí)行單元彼此并行地處理各自的指令。
20. 根據(jù)權(quán)利要求17到19中任一權(quán)利要求所述的方法,其中所述指 令類型包含數(shù)據(jù)處理和數(shù)據(jù)移動(dòng)指令。
21. 根據(jù)權(quán)利要求17到20中任一權(quán)利要求所述的方法,其中所述指 令流與各自的處理線程相關(guān),且將指令從至少兩個(gè)不同的處理線程分配 到所述執(zhí)行元件以對(duì)其進(jìn)行并行處理。
22. 根據(jù)權(quán)利要求17到21中任一權(quán)利要求所述的方法,其中所述指 令流與各自的處理線程相關(guān),且指令經(jīng)分配以使得分配到所述執(zhí)行單元的連續(xù)指令來(lái)自不同的處理線程。
23. 根據(jù)權(quán)利要求17到22中任一權(quán)利要求所述的方法,其中所述處 理元件中的每一者包含多個(gè)執(zhí)行單元。
24. 根據(jù)權(quán)利要求17到23中任一權(quán)利要求所述的方法,其中所述處 理器進(jìn)一步包括串行處理器,所述串行處理器包含多個(gè)執(zhí)行單元。
25. 根據(jù)權(quán)利要求17到24中任一權(quán)利要求所述的方法,其中所述指 令流包含來(lái)自多個(gè)處理線程的指令。
26. 根據(jù)權(quán)利要求25所述的方法,其中所述指令經(jīng)分配以使得所述 執(zhí)行單元中的至少兩者彼此并行地處理來(lái)自不同處理線程的指令。
27. —種存取微處理器結(jié)構(gòu)中的寄存器的方法,所述微處理器結(jié)構(gòu)包 括布置在執(zhí)行單元的單指令多數(shù)據(jù)SIMD陣列中的多個(gè)處理元件,和包 含多個(gè)執(zhí)行單元的串行處理器,其中所述串行處理器的執(zhí)行單元中的一 者是可操作以存儲(chǔ)用于由所述串行處理器的執(zhí)行單元中的至少另一者處 理的數(shù)據(jù)的寄存器單元,所述寄存器單元包含多組寄存器,所述組與各 自的處理線程相關(guān)聯(lián),所述方法包括接收存取請(qǐng)求,所述存取請(qǐng)求包含線程識(shí)別符和寄存器識(shí)別符;以及.依據(jù)所述接收到的線程識(shí)別符和寄存器識(shí)別符來(lái)存取所述寄存器 中的一者。
28. 根據(jù)權(quán)利要求27所述的方法,其中每一處理元件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令,且 其中每一處理元件的一個(gè)執(zhí)行單元是可操作以存儲(chǔ)用于由相關(guān)的所述處理元件的執(zhí)行單元中的至少另一者處理的數(shù)據(jù)的寄存器單元,每一寄存 器單元包含多組寄存器,所述組與各自處理的線程相關(guān)聯(lián),其中存取所 述寄存器中的一者包含存取處理元件的執(zhí)行單元的寄存器。
29. 根據(jù)權(quán)利要求28或29所述的方法,其中所述串行處理器包含多 個(gè)執(zhí)行單元,所述方法進(jìn)一步包括 接收指令流;依據(jù)所述指令類型將所述接收到的指令分配到所述執(zhí)行單元,使 得所述執(zhí)行單元彼此并行地處理各自的指令。
30. 根據(jù)權(quán)利要求27、 28或29所述的方法,其中每一處理元件包含 多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的 指令。
31. —種存取微處理器結(jié)構(gòu)中的寄存器的方法,所述微處理器結(jié)構(gòu)包 括布置在單指令多數(shù)據(jù)SIMD陣列中的多個(gè)處理元件,其中每一處理元 件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的一者是可操作以存儲(chǔ)用于由相 關(guān)的所述處理元件的執(zhí)行單元中的至少另一者處理的數(shù)據(jù)的寄存器單 元,其中所述寄存器單元包含多組寄存器,所述組與各自的處理線程相 關(guān)聯(lián),所述方法包括接收存取請(qǐng)求,所述存取請(qǐng)求包含線程識(shí)別符和寄存器識(shí)別符;以及依據(jù)所述接收到的線程識(shí)別符和寄存器識(shí)別符存取所述寄存器中 的一者。
32. 根據(jù)權(quán)利要求31所述的結(jié)構(gòu),其中每一處理元件包含多個(gè)執(zhí)行 單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令,所 述方法進(jìn)一步包括依據(jù)所述接收到的指令的指令類型將所述接收到的指令分配到所 述處理元件的所述執(zhí)行單元,使得每一處理元件的執(zhí)行單元并行地處 理各自的指令。
33. 根據(jù)權(quán)利要求27到31中任一權(quán)利要求所述的方法,其中所述指 令類型包含數(shù)據(jù)處理和數(shù)據(jù)移動(dòng)指令。
全文摘要
一種微處理器結(jié)構(gòu)包括多個(gè)處理元件,其布置在單指令多數(shù)據(jù)SIMD陣列中,其中每一處理元件包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;串行處理器,其包含多個(gè)執(zhí)行單元,所述執(zhí)行單元中的每一者可操作以處理特定指令類型的指令;以及指令控制器,其可操作以接收多個(gè)指令,并依據(jù)接收到的指令的指令類型將所述接收到的指令分配到所述執(zhí)行單元。所述串行處理器的執(zhí)行單元可操作以并行地處理各自的指令。
文檔編號(hào)G06F15/80GK101124569SQ200680003622
公開(kāi)日2008年2月13日 申請(qǐng)日期2006年2月7日 優(yōu)先權(quán)日2005年2月25日
發(fā)明者里昂·大衛(wèi)·瓦爾德曼 申請(qǐng)人:ClearSpeed科技公司