新四季網

用於支持處理器的多模式的設備和方法

2023-05-05 18:55:21

用於支持處理器的多模式的設備和方法
【專利摘要】提供一種用於支持處理器的多模式的設備和方法。所述用於支持多模式的設備可包括:指令分配器,被配置為根據當前執行模式從均包括操作數和操作碼的多個接收的指令之中選擇至少一個指令,並將包括在選擇的至少一個指令中的每個指令中的操作碼傳送到多個功能單元;操作數交換控制器,被配置為基於包括在選擇的至少一個指令中的每個指令中的操作數,產生用於路由以便執行選擇的至少一個指令的交換配置信息;操作數交換器,被配置為基於交換配置信息將功能單元的輸出或寄存器堆的輸出路由至功能單元的輸入或寄存器堆的輸入。
【專利說明】用於支持處理器的多模式的設備和方法
[0001] 本申請要求於2013年4月22日提交到韓國知識產權局的第10-2013-0044429號 韓國專利申請的優先權,該申請的公開內容通過引用全部包含於此。

【技術領域】
[0002] 以下描述涉及一種用於支持處理器的多模式的設備和方法。

【背景技術】
[0003] 包括多個功能單元(FU)的超長指令字(VLIW)處理器在單個時鐘周期內處理由多 個指令構成的長指令字。粗粒度可重構陣列(CGRA)處理器是也能夠在單個周期內處理由 多個指令構成的長指令字,並包括比VLIW處理器的功能單元更多的功能單元的硬體,所述 功能單元以陣列形式彼此直接連接,用於高速執行操作。
[0004] 即使存在數據依賴,CGRA和VLIW處理器也可處理長指令字。然而,在編譯階段執 行數據處理的所有調度,這增加了編譯時間,並會降低對功能單元的利用。
[0005] 單指令多線程(SIMT)處理器是具有多個功能單元並由多個功能單元使用單個指 令的架構,其中,每個功能單元執行單獨的線程。也就是說,SIMT處理器允許多個功能單元 單獨處理相同指令序列中的大量數據(或線程)。
[0006] SMT給需要在相同處理中處理大量數據的海量並行數據處理應用提供益處,但是 當存在數據依賴時,難以進行數據處理。


【發明內容】

[0007] -個或更多個示例性實施例可克服以上缺點和以上未描述的其它缺點。然而,將 理解,一個或更多個示例性實施例不需要克服以上描述的缺點,並且可不克服以上描述的 任何問題。
[0008] 根據示例性實施例的方面,提供一種用於支持包括寄存器堆和多個功能單元的處 理器的多模式的設備,所述設備包括:指令分配器,被配置為根據當前執行模式從均包括操 作數和操作碼的多個接收的指令之中選擇至少一個指令,並將包括在選擇的至少一個指令 中的每個指令中的操作碼傳送到多個功能單元;操作數交換控制器,被配置為基於包括在 選擇的至少一個指令中的每個指令中的操作數,產生用於路由以便執行選擇的至少一個指 令的交換配置信息;操作數交換器,被配置為基於交換配置信息將功能單元的輸出或寄存 器堆的輸出路由至功能單元的輸入或寄存器堆的輸入。
[0009] 指令分配器還可被配置為響應於當前執行模式為單指令多線程(SMT)模式,基 於程序計數器信息從所述多個接收的指令之中選擇一個指令,將包括在選擇的指令中的操 作數傳送到操作數交換控制器的所有輸入埠,並將包括在選擇的指令中的操作碼傳送到 所有的功能單元。
[0010] 指令分配器還可被配置為響應於當前執行模式為超長指令字(VLIW)/粗粒度可 重構陣列(CGRA)模式並且至少兩個指令被選擇,基於包括在所述選擇的至少兩個指令中 的操作數和操作碼,將不同的操作數傳送到操作數交換控制器的每個輸入埠,並將不同 的操作數傳送到每個功能單元。
[0011] 指令分配器還可被配置為響應於當前執行模式為集成模式,從所述多個接收的指 令之中選擇一些指令,將相同的操作數傳送到操作數交換控制器的第一組輸入埠,將不 同的操作數傳送到操作數交換控制器的第二組輸入埠中的每個輸入埠,將相同的操作 碼傳送到第一組功能單元,並將不同的操作碼傳送到第二組功能單元的每個功能單元。
[0012] 操作數交換控制器可被配置為將操作數的邏輯地址轉換為物理地址。
[0013] 操作數交換器可被配置為:將寄存器堆的輸出路由至寄存器堆的輸入;將寄存器 堆的輸出路由至功能單元的輸入;將功能單元的輸出路由至寄存器堆的輸入;或將一個功 能單元的輸出路由至另一功能單元的輸入。
[0014] 操作數交換器可包括至少一個交換級。
[0015] 交換配置信息可包括與所述至少一個交換級相應的至少一條交換級配置信息。
[0016] 每條交換級配置信息被以流水線方式順序輸入到相應的交換級。
[0017] 根據另一示例性實施例的方面,提供一種支持包括寄存器堆和多個功能單元的處 理器的多模式的方法。所述方法包括:根據當前執行模式從均包括操作數和操作碼的多個 接收的指令之中選擇至少一個指令;將包括在選擇的至少一個指令中的每個指令中的操作 碼傳送到所述多個功能單元;基於包括在選擇的至少一個指令中的每個指令中的操作數, 產生用於路由以便執行所述選擇的至少一個指令的交換配置信息;基於交換配置信息將功 能單元的輸出或寄存器堆的輸出路由至功能單元的輸入或寄存器堆的輸入。
[0018] 響應於當前執行模式為單指令多線程(SIMT)模式,一個或更多個指令的選擇可 包括基於程序計數器信息從所述多個接收的指令之中選擇一個指令,操作碼的傳送包括將 包括在選擇的指令中的操作碼傳送到所有的功能單元。
[0019] 響應於當前執行模式為超長指令字(VLIW)/粗粒度可重構陣列(CGRA)模式,所述 至少一個指令的選擇包括基於程序計數器信息從所述多個接收的指令中選擇一個指令,操 作碼的傳送包括將包括在所述選擇的至少一個指令中的操作碼傳送到所有的功能單元。
[0020] 響應於當前執行模式為集成模式,所述至少一個指令的選擇包括從所述多個接收 的指令之中選擇一些指令,操作碼的傳送包括將不同的操作碼傳送到第一組功能單元的每 個功能單元,並將相同的操作碼傳送到第二組功能單元的每個功能單元。
[0021] 交換配置信息的產生可包括將包括在選擇的至少一個指令中的每個指令中的操 作數的邏輯地址轉換為物理地址,並基於物理地址產生交換配置信息。
[0022] 根據另一示例性實施例的一方面,提供一種用於支持包括寄存器堆和多個功能單 元的多模式處理器的設備。所述設備可包括:操作數交換控制器,被配置為接收用於選擇多 模式處理器的模式的模式選擇信號,根據模式選擇信號來接收與選擇的至少一個指令相應 的至少一個操作數,並基於由操作數交換控制器接收的所述選擇的至少一個操作數,產生 用於在寄存器堆和所述多個功能單元之間進行路由的交換配置信息;操作數交換器,被配 置為基於交換配置信息將第一功能單元的輸出或寄存器堆的輸出路由至第二功能單元的 輸入或寄存器堆的輸入。
[0023] 所述設備還可包括指令分配器,被配置為接收模式選擇信號並根據模式選擇信號 將相同的操作碼輸出到所有的功能單元,將不同的操作碼輸出到所有的功能單元,或將相 同的操作碼輸出到第一組功能單元並將不同的操作碼輸出到第二組功能單元的每個功能 單元。
[0024] 響應於模式選擇信號與單指令多線程(SIMT)模式相應,指令分配器可將相同的 操作碼輸出到所有的功能單元,響應於模式選擇信號與超長指令字(VLIW)/粗粒度可重構 陣列(CGRA)模式相應,指令分配器可將不同的操作碼輸出到所有的功能單元;響應於模式 選擇信號與集成模式相應,指令分配器可將相同的操作碼輸出到第一組功能單元並將不同 的操作碼輸出到第二組功能單元中的每個功能單元。
[0025] 根據另一示例性實施例的方面,提供一種多模式處理器,可包括:指令分配器,被 配置接收用於選擇多模式處理器的模式的模式選擇信號,接收均包括操作數和操作碼的多 個指令,並基於模式選擇信號輸出至少一個操作碼和至少一個操作數;操作數交換控制器, 被配置為接收用於選擇多模式處理器的模式的模式選擇信號,以及由指令分配器輸出的所 述至少一個操作數;操作數交換器,被配置為使用來自操作數交換控制器的交換配置信息 來控制接收由指令分配器輸出的所述至少一個操作碼的多個功能單元。
[0026] 基於模式選擇信號,操作數交換器可控制所述多個功能單元均作為單指令多線程 (SMT)處理器運行,均作為超長指令字(VLIW)/粗粒度可重構陣列(CGR)處理器運行,或所 述多個功能單元中的一些作為SMT處理器運行而剩餘的功能單元作為VLIW/CGRA處理器 運行。
[0027] 從詳細描述、附圖和權利要求中,其它特徵和方面將變得清楚。

【專利附圖】

【附圖說明】
[0028] 通過參照附圖對特定示例性實施例進行描述,上述和/或其它方面將變得更加清 楚,在附圖中:
[0029] 圖1是示出根據示例性實施例的用於支持多模式的設備的示圖;
[0030] 圖2是詳細示出圖1的指令分配器的示圖;
[0031] 圖3是示出圖1的操作數交換器的示例的示圖;
[0032] 圖4A是示出根據示例性實施例的交換配置信息的示例的示圖;
[0033] 圖4B是用於解釋將交換級配置信息輸入到交換級的順序的示圖;
[0034] 圖5是示出根據示例性實施例的支持多模式的方法的流程圖。

【具體實施方式】
[0035] 提供以下描述以幫助讀者獲得對這裡描述的方法、設備和/或系統的全面理解。 因此,將向本領域的普通技術人員提出這裡描述的方法、設備和/或系統的各種改變、修改 和等同物。此外,為了更加清晰和簡明,可省略已知功能和結構的描述。
[0036] 貫穿附圖和詳細描述,除非另外描述,否則相同的附圖標號將被理解為表示相同 的元件、特徵和結構。為了清楚、說明和方便,可誇大這些元件的相對大小和描繪。
[0037] 以下描述描述了能夠基於處理器的處理和性能需要在不同模式之間進行切換的 處理器。更具體地講,所述處理器支持例如(i)用於海量數據處理的單指令多線程(SMT) 模式,(ii)利用軟體流水線提高性能的超長指令字(VLIW)模式或粗粒度可重構陣列 (CGRA)模式,(iii)處理器的一部分以SMT模式工作並且處理器的一部分以VLIW/CGRA模 式工作的集成模式。
[0038] 在描述示例性實施例之前,將給出SMT模式、VLTW/CGRA模式和集成模式的概述。
[0039] [SMT 模式]
[0040] 在SMT模式中,系統中的功能單元使用相同的指令,對不同的物理地址空間進行 訪問,並接收相同的操作碼。傳送到系統中的操作數交換(operandswitch)控制器的操作 數相同,因此具有相同的邏輯地址空間。然而,這些操作數具有不同的物理地址空間。寄存 器堆(register file)被劃分為與工作的功能單元的數量相同的數量的段,使得不同的寄存 器段可被分配到每個工作的功能單元,用作功能單元的本地寄存器。操作數交換控制器將 接收的操作數的邏輯地址轉換為物理地址,使得每個功能單元可訪問對應於與由該功能單 元接收的操作碼相關的操作數的本地寄存器,並基於轉換的地址來產生交換配置信息。
[0041] [VLIW/CGRA 模式]
[0042] 在VLIW/CGRA模式中,功能單元使用不同的指令,訪問相同的物理地址空間,並接 收不同的操作碼。傳送到操作數交換控制器的操作數不同,但具有相同的邏輯地址空間,這 使功能單元訪問相同的目標。由於功能單元使用不同的指令,因此,與由該功能單元接收 的操作碼相應的操作數彼此不同,並且每個操作數具有與物理地址空間相同的邏輯地址空 間。
[0043] VLIW處理器在以下方面與CGRA處理器不同。CGRA處理器包括比VLIW處理器的 功能單元更多的功能單元,具有本地寄存器堆,並且可使用網絡,在網絡中,數據可在功能 單元之間直接發送而不需要經過中央寄存器堆。VLIW處理器需要較大的寄存器堆帶寬,這 是因為所有的功能單元訪問中央寄存器堆。如果對中央寄存器堆的訪問受限(例如,特定 功能單元僅被允許訪問特定寄存器堆子集),則並行處理性能會因由例如寄存器堆之間的 數據傳送引起的功能單元的使用效率降低而降低。CGRA處理器/模式可通過使用功能單元 和功能單元之間的本地寄存器的連接來避免這些問題。也就是說,由於可在功能單元之間 發送數據而不需要經過中央寄存器堆,因此更多的指令可用於並行處理,從而提高效率。 [0044][集成模式]
[0045] 集成模式組合SMT模式和VLIW/CGRA模式兩者。在集成模式中,第一組功能單元 接收相同的操作碼而第二組功能單元中的每個接收不同的操作碼。與SIMT模式相應的操 作數具有與物理地址空間不同的邏輯地址空間,而與VLIW/CGRA模式相應的操作數具有與 物理地址空間相同的邏輯地址空間。
[0046] 圖1是示出根據示例性實施例的用於支持上述多模式處理的設備100的示圖。
[0047] 圖1中示出的設備100的示例包括寄存器堆102和八個功能單元(FU) 104,然而, 功能單元104的數量可根據系統性能或使用目的而變化。
[0048] 參照圖1,用於支持多模式處理的設備100可包括指令分配器110、操作數交換控 制器120和操作數交換器130。
[0049] 指令分配器110可接收多個指令106。所述指令可以是均包括操作數(operand)和 操作碼(opcode)的機器指令。操作數可被視為選擇的指定將操縱或操作何種數據的代碼 的一部分。操作碼可被視為選擇的指定將被執行的操作的指令的一部分。指令分配器110 根據當前模式來選擇接收的指令106中的一個或更多個,將包含在選擇的指令中的操作數 傳送到操作數交換控制器120,並將包含在選擇的指令中的操作碼傳送到FU104。
[0050] 在硬體開始工作之前確定當前模式。具體地講,在SMT模式下操作的指令與在 VLIW/CGRA模式下操作的指令不同,因此,當編譯器創建機器碼時已確定了執行模式。可由 最初確定模式的程式設計師來確定執行模式,隨後向編譯器通知所述模式,或者編譯器可分析 程序,確定哪個模式更有效,並基於確定的模式來編譯代碼。一旦確定了執行模式並編譯了 代碼,編譯器就可指示處理器使用合適的處理模式。在一個或更多個示例性實施例中,存在 可被插入編譯的代碼中的用於模式切換的單獨的指令。處理器硬體可讀取插入的指令以便 確定模式。
[0051] 在SIMT模式中,指令分配器110基於程序計數器(PC)信息來選擇接收的指令106 之一,將包含在選擇的指令中的操作數傳送到操作數交換控制器120的所有輸入埠,並 將包含在選擇的指令中的操作碼傳送到所有的FU104。換言之,在SMT模式中,指令分配器 110將相同的操作數傳送到操作數交換控制器120的所有輸入埠和所有的FU104。
[0052] 在VLIW/CGRA模式中,指令分配器110選擇接收的指令106中的多於一個指令, 將不同的操作數傳送到操作數交換控制器120的每個輸入埠,並基於包含在接收的指令 106中的操作數和操作碼將不同的操作碼傳送到FU104中的每個。
[0053] 集成模式組合SMT模式和VLIW/CGRA模式兩者。在集成模式中,指令分配器110 從接收的指令106之中選擇一些指令,將包含在選擇的指令之一中的操作數分配給操作數 交換控制器120的第一組輸入埠,並將包含在一個選擇的指令中的操作碼分配給FU104 的相應的第一組。指令分配器110將包含在選擇的指令的其它指令中的操作數分配給操作 數交換控制器120的第二組輸入埠,並將包含在選擇的指令的其它指令中的操作碼分配 給FU104的相應的第二組。也就是說,在集成模式中,基於包含在從接到的指令之中選擇的 一些指令中的操作數和操作碼,指令分配器110可將相同的操作數傳送到操作數交換控制 器120的第一組輸入埠,將不同的操作數傳送到剩餘輸入埠(S卩,第二組輸入埠)中 的每個,同時將相同的操作碼傳送到第一組FU,並將不同的操作碼傳送到剩餘FU中的每個 (即,與第二組輸入埠相應的第二組FU)。在這種情況下,接收相同的操作數(或相同的 操作碼)的操作數交換控制器120的輸入埠的數量(或功能單元104的數量)可根據使 用目的或系統性能而變化。
[0054] 在集成模式中,SMT模式下的功能單元和VLIW/CGRA模式下的功能單元的使用率 取決於特定應用。優選地,第一組功能單元104在位置上彼此鄰近地被分組,第二組功能單 元104在位置上彼此鄰近地被分組。
[0055] 操作數交換控制器120從指令分配器110接收操作數,將操作數的邏輯地址轉換 為物理地址以允許功能單元或寄存器使用接收的操作數來訪問期望的功能單元或寄存器, 並產生操作數交換器130的交換配置信息SC。操作數交換控制器120可從外部源接收模式 信號108以區分SMT模式、VLIW/CGRA模式和集成模式。
[0056] 在SMT模式中,由於所有功能單元104使用相同的指令,因此傳送到操作數交換 控制器120的輸入埠的操作數全部相同。因此,傳送到輸入埠的操作數具有相同的邏 輯地址空間。然而,由於寄存器堆被劃分以被每個功能單元(或線程)使用,因此傳送到 操作數交換控制器120的輸入埠的操作數具有不同的物理地址空間,並且允許功能單元 104訪問在不同的物理地址空間的寄存器。更具體地講,整個寄存器堆102被劃分為與工作 的功能單元1〇4(或線程)的數量相同的數量的段,並且不同的寄存器段可被分配到每個工 作的功能單元104(或每個線程),用作功能單元(或線程)的本地寄存器。在這種情況下, 操作數交換控制器120可接收一個操作數,將與各個功能單元相應的操作數的邏輯地址轉 換為物理地址,以允許每個功能單元104訪問對應於與由該功能單元104接收的操作碼相 關的操作數的本地寄存器,並基於轉換的地址來產生交換配置信息SC。
[0057] 在VLIW/CGRA模式中,由於所有的功能單元104使用不同的指令,因此傳送到操作 數交換控制器120的輸入埠的操作數彼此不同,並且操作數具有彼此相同的邏輯地址空 間和彼此相同的物理地址空間。因此,每個功能單元104可自由地具有操作數,並且操作數 交換控制器120可接收單獨的操作數,並產生交換配置信息SC以允許每個功能單元104訪 問相關目標。在這種情況下,由於使用相同的地址空間,因此相同的操作數使功能單元訪問 相同的目標。
[0058] 在集成模式中,與SMT模式相應的操作數具有不同的邏輯地址空間和不同的物 理地址空間,而與VLIW/CGRA模式相應的操作數具有相同的邏輯地址空間和相同的物理地 址空間。因此,操作數交換控制器120組合SMT模式和VLIW/CGRA模式,並根據組合的模 式而工作。
[0059] 操作數交換控制器120可將操作數的邏輯地址轉換為物理地址,並基於轉換的物 理地址來產生交換配置信息SC。基於交換配置信息SC :在SMT模式中,允許所有的功能單 元104利用相同的邏輯地址空間(相同的邏輯地址空間,而不同的物理地址空間)來訪問 它們的目標;在VLIW/CGRA模式中,允許所有的功能單元利用各個邏輯地址空間來訪問它 們的目標,在集成模式中,僅允許一些功能單元利用一些邏輯地址空間來訪問它們的目標。
[0060] 操作數交換器130可基於由操作數交換控制器120產生的交換配置信息SC,在功 能單元104和寄存器之間進行路由(route)以允許執行由指令分配器110選擇的指令。例 如,基於交換配置信息SC,操作數交換器130可將寄存器堆的輸出路由至FU的輸入,將FU 的輸出路由至寄存器堆的輸入,將一個FU的輸出路由至另一 FU的輸入,或將一個寄存器堆 的輸出路由至另一寄存器堆的輸入。
[0061] 在一個示例性實施例中,操作數交換器130可包括多個交換級,每個交換級可包 括存儲器裝置,諸如觸發器。稍後將參照圖3對此進行詳細描述。
[0062] 圖2是詳細示出圖1的指令分配器110的示圖。在圖2中示出的示例性實施例中, 操作數交換控制器120具有8個輸入埠,設置8個功能單元來執行操作,一個指令包括一 個操作數和一個操作碼。
[0063] 參照圖2,指令分配器110可包括16個2X1復用器251、252、253、254、255、256、 257、258、261、262、263、264、265、266、267 和 268 以及兩個 8X 1 復用器 230 和 240。指令分 配器110接收8個指令,並產生分別包括與8個指令分離的操作數和操作碼的操作數集210 和操作碼集220。屬於操作數集210的8個操作數211、212、213、214、215、216、217和218 被傳送到連接到操作數交換控制器120的各個輸入埠的8個2 X 1復用器251至258中 的各個復用器的輸入,並且還被傳送到8 X 1復用器230的輸入。8 X 1復用器230接收8個 操作數211至218,基於PC信息來選擇針對特定指令的操作數,並將選擇的操作數傳送到8 個2X 1復用器251至258的輸入。8個2X 1復用器251至258中的每個根據設置的執行 模式108來確定輸出,並將確定的輸出傳送到操作數交換控制器120的相應輸入埠。
[0064] 此外,屬於操作碼集220的8個操作碼221至228被傳送到連接到8個功能單元 104中的各自的8個2 X 1復用器261至268的輸入,並且還被傳送到8 X 1復用器240的輸 入。8X 1復用器240接收8個操作碼221至228,並基於PC信息將特定操作碼傳送到8個 2X 1復用器261至268。8個2X 1復用器261至268中的每個根據設置的執行模式108來 確定輸出,並將確定的輸出傳送到相應的功能單元104。
[0065] 在SMIT模式中,2X1復用器251至258中的每個將從8X1復用器230輸入的操 作數確定為輸出,並將輸出傳送到操作數交換控制器120的8個輸入埠之中的相應的輸 入埠。此外,2 X 1復用器261至268中的每個將從8 X 1復用器240輸入的操作碼確定為 輸出,並將輸出傳送到相應的功能單元。也就是說,操作數交換控制器120的8個輸入埠 接收相同的操作數,功能單元104接收相同的操作碼。
[0066] 在VLIW/CGRA模式中,2 X 1復用器251至258中的每個將從操作數集210直接接收 的操作數確定為輸出,並將輸出傳送到操作數交換控制器120的8個輸入埠之中的相應 的輸入埠 [哪個埠不重要,但需要自始至終保持一致]。此外,2X1復用器261至268 中的每個將從操作碼集220直接輸入的操作碼確定為輸出,並將輸出傳送到相應的功能單 元104。因此,不同的操作數被傳送到操作數交換控制器120的8個輸入埠中的每個,並 且不同的操作碼被傳送到每個功能單元104。
[0067] 在集成模式中,2X 1復用器251至258中的一些復用器將從操作數集210直接輸 入的操作數確定為輸出,並且其餘的2X1復用器將從8X1復用器輸入的操作數確定為它 們的輸出。確定的輸出被傳送到操作數交換控制器120的8個輸入埠之中的各個埠。 此外,2X 1復用器261至268中的一些將從操作碼集220直接輸入的操作碼確定為它們的 輸出,其餘的2X1復用器將從8X1復用器240輸入的操作碼確定為它們的輸出。確定的 輸出被傳送到各個功能單元。也就是說,不同的操作數被傳送到操作數交換控制器120的8 個輸入埠中的一些輸入埠,相同的操作數被傳送到操作數交換控制器120的剩餘的輸 入埠。以相同的方式,不同的操作碼被傳送到8個功能單元中的一些,相同的操作碼被傳 送到剩餘的功能單元。
[0068] 此外,將從操作數集210直接輸入的操作數確定為它們的輸出的2X1復用器的數 量以及將從操作碼集220直接輸入的操作碼確定為它們的輸出的2X 1復用器的數量可根 據系統性能或使用目的而變化。
[0069] 圖3是示出圖1的操作數交換器130的示例的示圖。
[0070] 在圖3中,操作數交換器130包括三個交換級,但是本公開的多方面不限於此,使 得構成交換的交換級的數量可根據系統性能或使用目的而變化。
[0071] 參照圖3,操作數交換器130可包括交換級1、交換級2和交換級3。每個交換級可 包括存儲裝置,諸如觸發器。
[0072] 基於交換配置信息SC,操作數交換器130可將一個寄存器堆的輸出路由至另一寄 存器堆的輸入,將寄存器堆的輸出路由至FU的輸入,將FU的輸出路由至寄存器堆的輸入, 或將一個FU的輸出路由至另一 FU的輸入。
[0073] 在操作數交換器130將FU的輸出路由至FU的輸入的情況下,可建立功能單元之 間的連接而不需要寄存器堆的幫助,因此,操作數交換器130可被用於使VLIW/CGRA模式下 的操作之間的數據傳送開銷最小化。此外,在操作數交換器130將一個寄存器堆的輸出路 由至另一寄存器堆的輸入的情況下,可執行"移動"操作而不需要功能單元104的幫助,因 此操作數交換器130可被用於提高VLIW/CGRA的性能。
[0074] 圖4A是示出根據示例性實施例的交換配置信息SC的示例的示圖,圖4B是解釋將 交換級配置信息輸入到交換級的順序的示圖。圖4A和圖4B中示出的示例假設操作數交換 器130包括三個交換級,這與圖3的示例一樣。
[0075] 參照圖4A,在操作數交換器130包括三個交換級的情況下,每個交換配置信息SC 可被分開產生,在這種情況下,交換配置信息SC可包含交換級1的配置信息SSC1、交換級2 的配置信息SSC2和交換級3的配置信息SSC3。
[0076] 以下,將參照圖3、圖4A和圖4B來描述將配置信息輸入到每個交換級的示例性方 法。
[0077] 參照圖4B,在時間tl,包含在由操作數交換控制器120產生的初始交換配置信息 SCI中的交換級1的配置信息SC1-SSC1被輸入到交換級1。
[0078] 之後,在時間t2,包含在由操作數交換控制器120產生的第二交換配置信息SC2中 的交換級1的配置信息SC2-SSC1被輸入到交換級1,同時,包含在初始交換配置信息SCI中 的交換級2的配置信息SC1-SSC2被輸入到交換級2。
[0079] 在時間t3,包含在由操作數交換控制器120產生的第三交換配置信息SC3中的交 換級1的配置信息SC3-SSC1被輸入到交換級1。同時,包含在第二交換配置信息SC2中的 交換級2的配置信息SC2-SSC2被輸入到交換級2,包含在初始交換配置信息SCI中的交換 級3的配置信息SC1-SSC3被輸入到交換級3。
[0080] 這樣,可以以流水線方式執行交換級配置信息SSC至每個交換級的順序輸入。
[0081] 圖5是示出根據示例性實施例的支持多模式的方法的流程圖。
[0082] 參照圖5,在510,確定當前執行模式的類型。
[0083] 響應於確定當前執行模式為SIMT模式,在522,基於程序計數器信息從多個接收 的指令之中選擇一個指令。在532,將包括在選擇的指令中的操作碼傳送到每個功能單元。 也就是說,在SIMT模式中,將相同的操作碼傳送到所有的功能單元。
[0084] 響應於確定當前執行模式為VLIW/CGRA模式,在524,選擇所有的接收的指令。隨 後,在534,將包括在選擇的指令中的操作碼傳送到各個功能單元,其中,傳送的操作碼彼此 不同。
[0085] 響應於在510確定當前執行模式為集成模式,在526,選擇接收的指令中的一些指 令,在536,將不同的操作碼傳送到一些功能單元,而將相同的操作碼傳送到剩餘的功能單 元。在這種情況下,被傳送不同的操作碼的功能單元的數量可根據系統性能或使用目的而 變化。
[0086] 之後,為了執行在522、524或526中選擇的指令,在540,基於包括在每個選擇的指 令中的操作數來產生用於路由的交換配置信息。
[0087] 例如,可將選擇的操作數的邏輯地址轉換為物理地址,並且可基於轉換的地址來 產生交換配置信息SC。
[0088] 在SMT模式中,由於所有的功能單元使用相同的指令,因此與由各個功能單元接 收的操作碼相應的操作數具有相同的邏輯地址空間。然而,由於寄存器堆被劃分以被每個 功能單元(或線程)使用,因此與由各個功能單元接收的操作碼相應的操作數具有彼此不 同的物理地址空間。也就是說,邏輯地址空間與物理地址空間不同。
[0089] 在VLIW/CGRA模式中,由於所有的功能單元使用不同的指令,因此,與由功能單元 接收的操作碼相應的操作數彼此不同,並且每個操作數具有與物理地址空間相同的邏輯地 址空間。
[0090] 在集成模式中,與SMT模式相應的一些操作數具有與物理地址空間不同的邏輯 地址空間,而與VLIW/CGRA模式相應的剩餘的操作數具有與物理地址空間相同的邏輯地址 空間。
[0091] 因此,在SMT模式和集成模式中,邏輯地址空間需要被轉換為物理地址空間。
[0092] 隨後,在550,基於產生的交換配置信息,將功能單元或寄存器堆路由至另一功能 單元或另一寄存器堆以執行在522、524或526中選擇的指令。
[0093] 本發明的實施例還可被實施為一種多模式處理器,該多模式處理器包括:指令分 配器,被配置接收用於選擇多模式處理器的模式的模式選擇信號,接收多個指令,並基於模 式選擇信號輸出至少一個操作碼和至少一個操作數,所述多個指令均包括操作數和操作 碼;操作數交換控制器,被配置為接收用於選擇多模式處理器的模式的模式選擇信號,以及 由指令分配器輸出的所述至少一個操作數;操作數交換器,被配置為使用來自操作數交換 控制器的交換配置信息來控制接收由指令分配器輸出的所述至少一個操作碼的多個功能 單元。其中,基於模式選擇信號,操作數交換器控制所述多個功能單元均作為單指令多線程 (SMT)處理器運行,均作為超長指令字(VLIW)/粗粒度可重構陣列(CGRA)處理器運行,或 所述多個功能單元中的一些作為SMT處理器運行而剩餘的功能單元作為VLIW/CGRA處理 器運行。
[0094] 當前示例性實施例可被實現為計算機可讀記錄介質中的計算機可讀代碼。本領域 的熟練的電腦程式員可容易地推斷出構成電腦程式的代碼和代碼段。計算機可讀記錄 介質包括存儲計算機可讀數據的所有類型的記錄介質。計算機可讀記錄介質的示例包括 ROM、RAM、CD-ROM、磁帶、軟盤和光學數據存儲器。此外,可以以諧波(諸如網際網路傳輸)的 形式來實現記錄介質。此外,計算機可讀記錄介質可通過網絡被分布到可以以分布方式存 儲和執行計算機可讀代碼的計算機系統。
[〇〇95] 以上已描述了若干示例。然而,將理解,可進行各種修改。例如,如果以不同的順 序執行描述的技術,和/或如果以不同的方式組合和/或由其它組件或它們的等同物代替 或補充在描述的系統、架構、裝置或電路中的組件,則可實現合適的結果。因此,其它實施方 式在權利要求的範圍內。
【權利要求】
1. 一種用於支持包括寄存器堆和多個功能單元的處理器的多模式的設備,所述設備包 括: 指令分配器,被配置為根據當前執行模式從多個接收的指令之中選擇至少一個指令, 並將包括在選擇的所述至少一個指令中的每個指令中的操作碼傳送到多個功能單元,所述 多個接收的指令均包括操作數和操作碼; 操作數交換控制器,被配置為基於包括在選擇的所述至少一個指令中的每個指令中的 操作數,產生用於路由以便執行選擇的所述至少一個指令的交換配置信息; 操作數交換器,被配置為基於交換配置信息將功能單元的輸出或寄存器堆的輸出路由 至功能單元的輸入或寄存器堆的輸入。
2. 如權利要求1所述的設備,其中,指令分配器還被配置為響應於當前執行模式為單 指令多線程(SIMT)模式,基於程序計數器信息從所述多個接收的指令之中選擇一個指令, 將包括在選擇的指令中的操作數傳送到操作數交換控制器的所有輸入埠,並將包括在選 擇的指令中的操作碼傳送到所有的功能單元。
3. 如權利要求1所述的設備,其中,指令分配器還被配置為響應於當前執行模式為超 長指令字(VLIW)/粗粒度可重構陣列(CGRA)模式並且至少兩個指令被選擇,基於包括在選 擇的所述至少兩個指令中的操作數和操作碼,將不同的操作數傳送到操作數交換控制器的 每個輸入埠,並將不同的操作數傳送到每個功能單元。
4. 如權利要求1所述的設備,其中,指令分配器還被配置為響應於當前執行模式為集 成模式,從所述多個接收的指令之中選擇一些指令,將相同的操作數傳送到操作數交換控 制器的第一組輸入埠,將不同的操作數傳送到操作數交換控制器的第二組輸入埠中的 每個輸入埠,將相同的操作碼傳送到第一組功能單元,並將不同的操作碼傳送到第二組 功能單元的每個功能單元。
5. 如權利要求1所述的設備,其中,操作數交換控制器還被配置為將操作數的邏輯地 址轉換為物理地址。
6. 如權利要求1所述的設備,其中,操作數交換器還被配置為: 將寄存器堆的輸出路由至寄存器堆的輸入; 將寄存器堆的輸出路由至功能單元的輸入; 將功能單元的輸出路由至寄存器堆的輸入;或 將一個功能單元的輸出路由至另一功能單元的輸入。
7. 如權利要求1所述的設備,其中,操作數交換器包括至少一個交換級。
8. 如權利要求7所述的設備,其中,交換配置信息包括與所述至少一個交換級相應的 至少一條交換級配置信息。
9. 如權利要求8所述的設備,其中,每條交換級配置信息被以流水線方式順序地輸入 到相應的交換級。
10. -種支持包括寄存器堆和多個功能單元的處理器的多模式的方法,所述方法包 括: 根據當前執行模式從多個接收的指令之中選擇至少一個指令,所述多個接收的指令均 包括操作數和操作碼; 將包括在選擇的所述至少一個指令中的每個指令中的操作碼傳送到所述多個功能單 元; 基於包括在選擇的所述至少一個指令中的每個指令中的操作數,產生用於路由以便執 行選擇的所述至少一個指令的交換配置信息; 基於交換配置信息將功能單元的輸出或寄存器堆的輸出路由至功能單元的輸入或寄 存器堆的輸入。
11. 如權利要求10所述的方法,其中,響應於當前執行模式為單指令多線程(SIMT)模 式,所述至少一個指令的選擇包括基於程序計數器信息從所述多個接收的指令之中選擇一 個指令,操作碼的傳送包括將包括在選擇的所述至少一個指令中的操作碼傳送到所有的功 能單元。
12. 如權利要求10所述的方法,其中,響應於當前執行模式為超長指令字(VLIW)/粗粒 度可重構陣列(CGRA)模式,所述至少一個指令的選擇包括選擇所有的接收的指令,操作碼 的傳送包括將來自選擇的指令的不同的操作碼傳送到每個功能單元。
13. 如權利要求10所述的方法,其中,響應於當前執行模式為集成模式,所述至少一個 指令的選擇包括從所述多個接收的指令之中選擇一些指令,操作碼的傳送包括將不同的操 作碼傳送到第一組功能單元,並將相同的操作碼傳送到第二組功能單元的每個功能單元。
14. 如權利要求10所述的方法,其中,交換配置信息的產生包括將包括在選擇的所述 至少一個指令中的每個指令中的操作數的邏輯地址轉換為物理地址,並基於物理地址產生 交換配置信息。
15. -種用於支持包括寄存器堆和多個功能單元的多模式處理器的設備,所述設備包 括: 操作數交換控制器,被配置為接收用於選擇多模式處理器的模式的模式選擇信號,根 據模式選擇信號來接收與選擇的至少一個指令相應的至少一個操作數,並基於由操作數交 換控制器接收的選擇的所述至少一個操作數,產生用於在寄存器堆和所述多個功能單元之 間進行路由的交換配置信息; 操作數交換器,被配置為基於交換配置信息將第一功能單元的輸出或寄存器堆的輸出 路由至第二功能單元的輸入或寄存器堆的輸入。
16. 如權利要求15所述的設備,還包括指令分配器,被配置為接收模式選擇信號並根 據模式選擇信號將相同的操作碼輸出到所有的功能單元,將不同的操作碼輸出到所有的功 能單元,或將相同的操作碼輸出到第一組功能單元並將不同的操作碼輸出到第二組功能單 元的每個功能單元。
17. 如權利要求16所述的設備,其中,響應於模式選擇信號與單指令多線程(SIMT)模 式相應,指令分配器將相同的操作碼輸出到所有的功能單元, 響應於模式選擇信號與超長指令字(VLIW)/粗粒度可重構陣列(CGRA)模式相應,指令 分配器將不同的操作碼輸出到所有的功能單元; 響應於模式選擇信號與集成模式相應,指令分配器將相同的操作碼輸出到第一組功能 單元並將不同的操作碼輸出到第二組功能單元中的每個功能單元。
18. -種多模式處理器,包括: 指令分配器,被配置接收用於選擇多模式處理器的模式的模式選擇信號,接收多個指 令,並基於模式選擇信號輸出至少一個操作碼和至少一個操作數,所述多個指令均包括操 作數和操作碼; 操作數交換控制器,被配置為接收用於選擇多模式處理器的模式的模式選擇信號,以 及由指令分配器輸出的所述至少一個操作數; 操作數交換器,被配置為使用來自操作數交換控制器的交換配置信息來控制接收由指 令分配器輸出的所述至少一個操作碼的多個功能單元。
19.如權利要求18所述的多模式處理器,其中,基於模式選擇信號,操作數交換器控制 所述多個功能單元均作為單指令多線程(SMT)處理器運行,均作為超長指令字(VLIW)/粗 粒度可重構陣列(CGRA)處理器運行,或所述多個功能單元中的一些作為SMT處理器運行 而剩餘的功能單元作為VLIW/CGRA處理器運行。
【文檔編號】G06F15/80GK104111912SQ201410163684
【公開日】2014年10月22日 申請日期:2014年4月22日 優先權日:2013年4月22日
【發明者】鄭武坰, 柳秀晶, 趙淵坤 申請人:三星電子株式會社

同类文章

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

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