TWI787542B - 電子系統及用於切換資料之方法 - Google Patents

電子系統及用於切換資料之方法 Download PDF

Info

Publication number
TWI787542B
TWI787542B TW108131334A TW108131334A TWI787542B TW I787542 B TWI787542 B TW I787542B TW 108131334 A TW108131334 A TW 108131334A TW 108131334 A TW108131334 A TW 108131334A TW I787542 B TWI787542 B TW I787542B
Authority
TW
Taiwan
Prior art keywords
switching
data
blocks
stage
stages
Prior art date
Application number
TW108131334A
Other languages
English (en)
Other versions
TW202018501A (zh
Inventor
葛雷高里 麥可 索爾森
Original Assignee
美商葛如克公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商葛如克公司 filed Critical 美商葛如克公司
Publication of TW202018501A publication Critical patent/TW202018501A/zh
Application granted granted Critical
Publication of TWI787542B publication Critical patent/TWI787542B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data position reversal, e.g. bit reversal, byte swapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Electronic Switches (AREA)
  • Circuits Of Receivers In General (AREA)
  • Credit Cards Or The Like (AREA)
  • Oscillators With Electromechanical Resonators (AREA)

Abstract

本發明之實施例係關於包含一資料置換電路之開關矩陣電路。在一實施例中,該開關矩陣包括沿一第一軸線組態之複數個相鄰切換區塊,其中該複數個相鄰切換區塊各沿一第二軸線接收資料及開關控制設置。該開關矩陣包含一置換電路,其在各切換區塊中包括跨越複數個相鄰切換區塊之複數個切換級及不跨越至相鄰切換區塊之至少一個切換級。該置換電路以一第一型樣接收資料且以一第二型樣輸出該資料。由該等切換級執行之該資料置換係基於沿該第二軸線接收之在該等相鄰切換區塊中之該等特定開關控制設置。

Description

電子系統及用於切換資料之方法
本發明係關於資料切換,且特定言之,本發明係關於一種並排式開關矩陣資料置換電路。
在諸多資料處理電路中,需要改變各種資料流之順序。例如,對於表示一值矩陣之資料位元,可期望執行一矩陣轉置以藉此改變一資料流中資料值之配置。具有有限資料型樣置換需求之典型系統可使用客製電路來執行有限次此等置換。然而,在其中可能需要諸多此等資料型樣置換之一動態系統中,使一電路能夠接收任何輸入資料型樣且輸出系統可能需要之各種不同型樣將係有益的。其中此一特徵非常有利之一實例應用係在一人工智慧處理器中。
本發明之實施例係關於包含一資料置換電路之開關矩陣電路。在一實施例中,該開關矩陣包括沿一第一軸線組態之複數個相鄰切換區塊,其中該複數個相鄰切換區塊各沿一第二軸線接收資料及開關控制設置。該開關矩陣包含一置換電路,其在各切換區塊中包括跨越複數個相鄰切換區塊之複數個切換級及不跨越至相鄰切換區塊之至少一個切換級。該置換電路以一第一型樣接收資料且以一第二型樣輸出該資料。由該等切換 級執行之該資料置換係基於沿該第二軸線接收於該等相鄰切換區塊中之該等特定開關控制設置。
以下詳細描述及附圖提供本發明之性質及優點之一較好理解。
100:開關矩陣
100B:開關矩陣
101:切換區塊
102:切換區塊
103:切換區塊
104:切換區塊
105:切換區塊
110:置換電路
110B:置換電路
111A:切換級
111B:切換級
111C:切換級
111D:切換級
112:切換級
112A:組件
112B:組件
112C:組件/切換級
112D:組件/切換級
113:切換級
113A:組件
113B:組件
113C:組件
113D:組件
114:切換級
114A:組件
114B:組件
114C:組件
114D:組件
115:級
115A:級/組件
115B:級/組件
115C:級/組件
115D:級/組件
116A:級
116B:級
116C:級
116D:級
117:切換級
118:級
122:切換級
123:切換級
131:切換區塊
132:切換區塊
133:切換區塊
134:切換區塊
140:群組
141:群組
142:群組
150:中間切換級
150B:中間切換級
200:資料處理器
201:記憶體
202:資料
203:開關控制設置
210:開關矩陣
211:切換區塊/切換級
212:切換區塊/切換級
213:切換區塊/切換級
214:切換區塊/切換級
221:切換級
222:切換級
223:切換級
224:切換級
225:切換級
226:切換級
227:切換級
230:切換級
231:切換級
232:切換級
233:切換級
234:切換級
235:切換級
236:切換級
240:切換區塊
250:外部電腦系統
251:資料置換/編譯器或其他軟體機構
252:編譯器
280:切換級
290:其他處理電路
301:切換區塊
302:切換區塊
303:切換區塊
304:切換區塊
310:群組
311:群組
312:群組
313:群組
314:群組
501:多工器
502:多工器
800:記憶體
801:線
802:線
803:線
804:線
805:線
808:匯流排接收器電路(「切斷」)
809:匯流排傳輸器電路(「接通」)
811:切換區塊
812:切換區塊
813:切換區塊
814:切換區塊
815:切換區塊
817:延遲電路
818A:延遲電路
818B:延遲電路
818C:延遲電路
820:置換電路
821:置換電路
822:置換電路
823:置換電路
824:置換電路
827:切換級
828:切換級
829:切換級
830:匯流排線
831:匯流排線
832:匯流排線
833:匯流排線
840:匯流排傳輸器電路(「接通」)
843:匯流排傳輸器電路(「接通」)
845:匯流排接收器電路(「切斷」)
848:匯流排接收器電路(「切斷」)
850:切換區塊
851:正反器
852:正反器
853:正反器
854:正反器
855:正反器
856:正反器
860:切換區塊
861:正反器
862:正反器
863:正反器
864:正反器
865:正反器
866:正反器
870:切換區塊
872:正反器
873:正反器
874:正反器
875:正反器
876:正反器
880:切換區塊
882:正反器
883:正反器
884:正反器
885:正反器
886:正反器
891:匯流排
892:匯流排
893:匯流排
894:匯流排
895:匯流排
896:匯流排
900:機器學習處理器
910:向量處理器(V×M)
911:記憶體
912:記憶體
913:開關矩陣(S×M)
914:開關矩陣(S×M)
915:資料格式及呈現控制器(NIM)
916:資料格式及呈現控制器(NIM)
917:矩陣乘法單元(M×M)
918:矩陣乘法單元(M×M)
920:指令控制單元(ICU)
921:外部通信電路(PCIe)
922:晶片控制單元(CCU)
923:晶片間(C2C)電路
924:晶片間(C2C)電路
1001:步驟
1002:步驟
1003:步驟
1004:步驟
1005:步驟
1006:步驟
1007:步驟
8000:切換區塊0
8001:切換區塊1
8002:切換區塊2
8003:切換區塊3
Ctrl:開關控制設置
圖1A繪示根據一實施例之包含一置換電路之一開關矩陣。
圖1B繪示根據另一實施例之包含一置換電路之一開關矩陣。
圖2繪示根據一實施例之一處理器中之一實例開關矩陣及置換電路。
圖3繪示根據一實施例之一實例分佈式置換電路。
圖4繪示根據一實施例之一實例N×N切換級。
圖5繪示用於各種實施例中之一實例2×2開關。
圖6繪示根據各種實施例之混洗及及不混洗。
圖7繪示根據一實施例之一置換電路中之切換級之一組態。
圖8A繪示根據一實施例之一分佈式置換電路中之沿兩個軸線之資料傳送。
圖8B繪示根據一實施例之在一分佈式置換電路中使用一匯流排用於混洗及不混洗。
圖8C繪示根據一實施例之同步切換區塊。
圖9繪示根據一實施例之一實例機器學習處理器。
圖10繪示根據一實施例之切換資料之一方法。
在以下描述中,為了解釋,闡述諸多實例及具體細節以提供本發明之一透徹理解。此等實例及細節不應被解釋為申請專利範圍之元件或整個主張標的之不當限制。熟習技術者將基於不同請求項之語言來明白,主張標的可單獨或組合包含此等實例中之一些或所有特徵,且可進一步包含本文中所描述之特徵及技術之修改及等效物。
圖1A繪示根據一實施例之包含一置換電路110之一開關矩陣100。本發明之特徵及優點包含一開關矩陣100,其可接收具有一第一型樣之資料且基於開關控制設置來以各種其他型樣輸出資料。參考圖1A,開關矩陣100包括複數個相鄰切換區塊(「圖塊」)101至105。切換區塊101至105沿一第一軸線(例如沿垂直軸線V,如圖1A中所繪示)彼此相鄰組態。例如,可在切換區塊101至105中沿一第二軸線(例如沿正交於垂直軸線之水平軸線H,如圖1中所繪示)自系統之其他功能區塊接收待置換(或重新型樣化)之輸入資料及開關控制設置(「Ctrl」)。切換區塊101至105可包含用於操縱開關矩陣輸入與開關矩陣輸出之間的資料流的各種切換電路。例如,在一些實施例中,切換區塊101至105係彼此複製及相鄰配置之實質上相同電路。本發明之實施例包含一置換電路110,其可跨(例如)切換區塊101至105分佈以接收資料且以一不同型樣輸出資料。例如,輸入資料之置換可基於沿第二軸線接收之特定開關控制設置。儘管以下揭示內容聚焦於置換電路,但應瞭解,切換區塊可具有用於(例如)操縱資料之其他電路。
置換電路110包括跨越複數個相鄰區塊之複數個切換級及不跨越至相鄰區塊之至少一個切換級。置換電路110係用於置換跨越一或 多個切換區塊之資料之一實例構件。例如,切換區塊101包含切換級111A,其接收資料且在區塊101內切換資料。類似地,切換區塊102至104分別包含切換級111B至111D,其等不跨越至其他切換區塊。切換區塊111A至111D之輸出耦合至跨越至依次更多相鄰區塊之依次遞增切換級之輸入。例如,切換級111A及111B之輸出耦合至切換級112之輸入,切換級112具有(例如)區塊101中之組件112A及區塊102中之組件112B。因此,在此實例中,切換級112跨越兩個區塊101及102。類似地,切換級111C及111D之輸出耦合至一切換級117之輸入,切換級117具有(例如)區塊103中之組件112C及區塊104中之112D。因此,切換級112C至112D跨越兩個區塊103及104。在此實例中,切換級113具有耦合至來自切換級112及117之輸出之輸入。切換級113具有區塊101至104中之組件113A至113D,且切換級113因此跨越(例如)四個區塊101至104。例如,切換級112及113具有依次遞增輸入及輸出,且可因此指稱依次遞增切換級。
切換區塊113之輸出耦合至跨越至依次更少相鄰區塊之依次遞減切換級之輸入。例如,切換級114包含區塊101至104中之組件114A至114D。級114具有耦合至級113之輸出之輸入。在一實施例中,一中間切換級150可經組態於依次遞增級與依次遞減級之間(例如級113與114之間)以提供下文將更詳細描述之一額外切換層。級114之輸出耦合至級115之輸入,級115具有區塊101及102中之組件115A至115B。類似地,級114之輸出耦合至級118之輸入,級118具有區塊103及104中之組件115C至115D。在此實例中,各切換區塊101至104包含不跨越至其他切換區塊之一額外切換級(例如級116A至116D)。因此,級116A至116B具有耦合至級115A至115B之輸出之輸入且級116C至116D具有耦合至級115C至115D之 輸出之輸入。在此實例中,級116A至116D包括最終切換級,且產生具有不同於輸入資料之一型樣之輸出資料,其中輸出型樣係基於由用於組態置換電路110之不同切換區塊101至104接收之開關控制設置(Ctrl)。如圖1A中所繪示,開關矩陣100可包含額外切換區塊作為(例如)一置換電路之部分。另外,各種實施例可使用不同數目個串聯切換級。
圖1B繪示根據另一實施例之包含一置換電路110B之一開關矩陣100B。在此實例中,複數個切換區塊131至134經組態為群組140至142,且使用中間切換級150B來耦合在一起。中間級150B可係組態於各切換區塊中之兩個跨越切換級(例如切換級122與123)之間。在此實例中,一個中間切換級150B經組態於各切換區塊中之依次遞增級122與依次遞減級123之間。在一實例實施例中,一置換電路可包含M個群組之N個切換區塊,其中M及N係(例如)整數。在一以下實例實施例中,320個位元組之資料可由5個群組(M=5)之4個切換區塊(N=4)處理,切換區塊各處理16個位元組。例如,在該情況中,5個群組之4個切換區塊總共包含5×5個中間切換級,其等經並聯組態以將來自各群組之64個位元組的輸出選擇性耦合至各群組的64位元組輸入。儘管在此實例中繪示跨越多個切換群組的級,且下文將繪示經組態於遞增級與遞減級之間的其他級,但應瞭解,跨越多個切換群組的一或多個級可係組態於其他位置中。
圖1A及圖1B中所繪示之一切換矩陣可用於將以一型樣在輸入上接收的資料置換成輸出上的不同型樣。在一實施例中,複數個相鄰切換區塊各接收具有預定數目個位元之資料值(例如1位元組資料值)。因此,置換電路以一第一型樣接收資料值,且以一第二型樣輸出資料值。例如,可期望將一資料值自一陣列、矩陣或其他資料型樣中之一位置移動至 該陣列、矩陣,或資料型樣中之另一位置。例如,本發明之特徵及優點允許將資料值移動至一型樣內的新位置。
圖2繪示根據一實施例之一處理器中之一實例開關矩陣及置換電路。在此實例中,一開關矩陣210係包含於一資料處理器200中。資料處理器200可包含記憶體201、開關矩陣210,及各種其他處理電路290。本發明之特徵及優點包含將開關控制設置203儲存於記憶體201中用於置換資料202,在此實例中,資料202亦可係儲存於記憶體201中。可在開關矩陣210中自記憶體201接收所儲存之開關控制設置203。例如,開關控制設置203可直接自記憶體201傳送至切換區塊211至214,以控制切換級221至227、230至236及280中之開關組態來產生輸入資料之一預定置換(或變換)。開關控制設置可進一步由其他群組之切換區塊240接收,以控制類似開關組態。例如,一第一組預儲存開關控制設置可(例如)組態置換電路以對資料執行一第一置換,且一第二組預儲存開關控制設置可(例如)組態置換電路以對資料執行不同於第一置換之一第二置換。有利地,在此實例中,可無需控制邏輯來產生開關控制設置。如下文將更詳細描述,各種實施例之另一優點係開關控制設置可沿一單一軸線(例如水平軸線)被傳送至各種切換區塊211至214。因此,沿另一軸線(例如垂直軸線)運行之區塊之間的通信線可留給資料,以藉此(例如)提高處理器之效率。例如,在資料跨兩個軸線流動時,沿一軸線發送控制信號資訊減少沿一軸線流動,其可(例如)顯著提高用於移動資料之系統的頻寬。在一些實施例中,本發明之特徵及優點可包含在各時脈週期上發送新資料置換開關控制設置,以對在(例如)各時脈週期上於資料置換電路中接收的相同或不同資料組執行不同資料置換。
在此實例中,由切換級211至214中之各輸入切換級221至224接收N個資料線。此處,切換級221至224係N×N,切換級225至226係2N×2N,且切換級227係4N×4N。切換級230可為4N×4N,切換級231至232可為2N×2N,且切換級233至236可為N×N,使得各切換區塊211至214輸出基於(例如)儲存開關控制設置203所置換之資料之N個資料路線。在下文將更詳細描述之一實施例中,各切換區塊處理N=16B(16個位元組)之資料。在此實例中,M個群組之切換區塊211至214可包含於一置換電路中。例如,在各群組中,複數個M×M切換級(例如5×5)可組態於4N×4N切換級227與4N×4N切換級230之間以將各群組中之4N×4N級之輸出選擇性耦合至(例如)相同或其他群組中之4N×4N輸入。
圖2進一步繪示本發明之另一態樣。在此實例中,資料置換251可在軟體中外部指定且映射至開關控制設置。例如,一外部電腦系統250可包含用於產生可執行操作之一編譯器或其他軟體機構251。不同置換P1、P2、...、PN可映射至不同開關控制設置SW1至SWN(例如SW1[開關控制設置]、SW2[開關控制設置]、...、SWN[開關控制設置])。由編譯器252產生之操作(諸如資料操作)可與特定置換及開關控制設置相關聯。例如,可在對應資料組上指定不同資料置換。因此,例如,當在一特定資料組上調用一操作時,可將儲存於記憶體201中之一組對應開關控制設置發送至開關矩陣210中之切換區塊以對指定資料執行指定資料置換。
在本發明之以下部分中,為了繪示而展示16×16、32×32、64×64及5×5之切換級。應瞭解,此等具體值不限制本發明之申請專利範圍或教示,且一般技術者應瞭解,其他實施方案及實施例係在本發 明之範疇內。因此,以下實例僅供繪示。
圖3繪示根據一實施例之一實例分佈式置換電路。在此實例中,在四個切換區塊301至304中接收四個16B資料線,切換區塊301至304各包含輸入及輸出上之一16×16切換級。切換區塊301至304形成總共5個群組310至314之一群組。因此,在此實例中,置換電路可將320個輸入之任何者上所接收之資料位元組切換至320個輸出之任何者。在各切換級中,16×16切換級之輸出耦合至各跨越兩個相鄰區塊之32×32切換級之輸入。32×32切換級之輸出耦合至跨越四個區塊301至304之一64×64切換級之輸入。5×5開關之一中間級耦合至64×64級之輸出以將不同群組之64×64級選擇性耦合在一起。在一實施例中,各切換區塊301至304包含相同數目個5×5中間切換級(例如各切換區塊中4個),使得5×5輸入及輸出之總數(例如,5個輸入及輸出/開關×4個開關/區塊×4個區塊/群組×5個群組=400個輸入及輸出)超過置換電路之資料線之總數(例如,16個輸入/區塊×4個區塊/群組×5個群組=320個輸入及輸出),因此,在此實例中,可能未使用一些區塊中之一些5×5開關。5×5中間切換級輸出耦合至不同群組中之64×64級之輸入。各群組中之64×64切換級之輸出耦合至兩個32×32級之輸入,例如群組310中所繪示之跨越區塊301/302及303/304。兩個32×32級輸出耦合至各區塊301至304上之16×16級之輸入以產生跨置換電路之所有區塊及所有群組之置換資料輸出。
圖4繪示根據一實施例之一實例N×N切換級。此實例繪示包括串聯組態之複數個依次遞增切換級之一16×16切換級。在此實例中,輸入接收於並聯組態之2×2切換級上,接著接收於並聯組態之4×4切換級、並聯組態之8×8切換級及提供16B輸出之一16×16切換級上。更明確 言之,16個位元組之資料(d0至d15)由八(8)個2×2切換電路接收,2×2切換電路經並聯組態以各接收兩個不同位元組之資料。2×2切換電路之輸出耦合至複數個並聯組態之4×4切換電路之輸入。在此實例中,不同2×2切換電路之輸出經混洗且接著耦合至4×4切換電路。類似地,4×4切換電路之輸出經混洗且耦合至兩個並聯組態之8×8切換電路之輸入。最後,8×8切換電路之輸出經混洗且耦合至一16×16切換電路。16×16切換電路產生16位元組輸出。上文所繪示之一N×N切換級可為上文所描述之一切換區塊中之第一非跨越級。另外,例如,上文所繪示之一N×N級可反向運行為各切換區塊中之一非跨越16B輸出級以產生一置換輸出。
圖4進一步繪示用於切換電路之開關控制。1個2×2切換電路可接收1個控制位元。因此,2×2切換電路一起接收8個控制位元。類似地,4×4切換電路接收8個控制位元,8×8切換電路接收8個控制位元,且16×16切換電路接收8個控制位元。例如,控制位元之邏輯值可包括上文所提及之一些開關控制設置。
圖5繪示用於各種實施例中之一實例2×2切換電路。在此實例中,使用兩個多工器501及502來實施一2×2切換電路。各多工器接收兩個輸入d0及d1。一控制位元(「Ctrl」)之值判定哪個輸入耦合至兩個輸出x0及x1。例如,在一第一狀態中,d0耦合至x0且d1耦合至x1,及在一第二狀態中,d0耦合至x1且d1耦合至x0。
圖6繪示根據各種實施例之混洗及不混洗。各種實施例可混洗及不混洗資料於切換級之間。圖6繪示兩個群組之四個線a0至a3及b0至b3之混洗及不混洗。混洗涉及將來自一群組之一線插入於另一群組之各線之間,如圖6中所展示。不混洗涉及將相鄰線分成不同群組,如圖6中所 展示。例如,如下文將繪示,本發明之實施例可使用跨越於切換區塊之間的一匯流排來混洗或不混洗跨越多個區塊之切換級。
圖7繪示根據一實施例之一置換電路中之切換級之一組態。在此實例中,當切換級增加至中間切換級時,混洗串聯耦合之切換級,及當切換級減少至置換電路之輸出時,不混洗串聯耦合之切換級。更明確言之,置換電路之輸入處之16×16級之輸出經混洗且接著耦合至32×32級之輸入,32×32級輸出經混洗且接著耦合至64×64級之輸入,且5個群組之各者中之64×64級輸出經混洗且接著耦合至64個5×5級之輸入。相反地,5×5中間級輸出不混洗且接著耦合至跨所有5個群組之64×64級之輸入,64×64級輸出不混洗且接著耦合至32×32級之輸入,且32×32級輸出不混洗且接著在置換電路之輸出處耦合至跨所有5個群組之各切換區塊中之16×16級之輸入。
圖8A繪示根據一實施例之一分佈式置換電路中沿兩個軸線的資料傳送。本發明之一些實施例的特徵及優點包含跨多個圖塊(或切換區塊)分佈之一置換電路(其在沿一軸線(例如此處為水平軸線)組態之一資料匯流排上接收開關控制設置及輸入資料)且經由沿另一軸線(例如此處為垂直軸線)組態的另一資料匯流排來傳送置換電路之切換級中的中間資料於圖塊之間。例如,如圖8A中所繪示,例如,資料及開關控制設置可經由包括線801至805之一水平匯流排而自記憶體800傳輸至切換區塊811至815。例如,如針對切換區塊811所繪示,輸入資料及開關控制設置可使用一匯流排接收器電路(「切斷」)808而自各線801至805擷取且輸入至各切換區塊中之置換電路組件820至824(例如各區塊811至814中之置換電路之開始處的16×16級)。例如,置換電路820至824之輸出(例如各區塊811 至814中之置換電路之末端處的16×16級)使用一匯流排傳輸器電路(「接通」)(如切換區塊811中以809繪示)耦合回至一水平匯流排上。
在此實例中,另一匯流排係沿一第二軸線(例如此處為垂直軸線)組態,且包括線830至833。例如,垂直匯流排可包含用於在一方向上(例如,沿自圖8A中之佈局之頂部至底部的方向「向南」)流動之資料的線830至831,及用於在相反方向上(例如,沿自圖8A中之佈局之底部至頂部的方向「向北」)流動之資料的其他線832至833。例如,跨越多個相鄰區塊之置換電路中的切換級可經由向北及/或向南匯流排線830至833的任一者或兩者於相鄰切換區塊之間發送及接收資料。例如,若切換區塊811至814中之置換電路820至823如上文所描述般形成一切換群組,則置換電路820至823可使用用於向南匯流排之一匯流排傳輸器電路(「接通」)840或用於向北匯流排之匯流排傳輸器電路(「接通」)843來將資料耦合至其他切換區塊中之其他置換電路(例如,在32級與64級之間),例如,如針對置換電路820所繪示。類似地,一切換區塊中之置換電路級可(例如)使用用於向南匯流排之匯流排接收器電路(「切斷」)845或用於向北匯流排之匯流排接收器電路(「切斷」)848來自其他切換區塊中的置換電路接收資料。各切換區塊811至815可包含用於使資料接通(「接通」)或使資料切斷(「切斷」)各向南匯流排線830至831及各向北匯流排線832至833的電路。因此,各切換區塊811至814中的置換電路可使用匯流排線830至833在不同區塊中的不同切換級(例如16×16、32×32、64×64、5×5等等)之間移動資料,以執行本文中所描述的資料置換。
圖8B繪示根據一實施例之在一分佈式置換電路中使用一匯流排用於混洗及不混洗。在此實例中,使用跨相鄰組態之切換區塊運行之 一資料匯流排來實施跨越多個切換區塊之切換級之間的資料之混洗及不混洗。例如,在各切換區塊850、860、870及880之輸入處將一16×16級之輸出混洗至跨越多個切換區塊之一32×32切換級之輸入需要移動資料於相鄰切換區塊之間。特定言之,需要耦合至區塊860中之32×32之輸入的區塊850中之16×16切換級之一半輸出可耦合至正反器851且經由匯流排891來傳送至區塊860。例如,區塊850中之16×16切換級之另一半輸出可耦合至駐留於區塊850中之32×32之輸入。因此,在此實例中,可使用匯流排891之8個位元組之向南匯流排線。類似地,需要耦合至區塊850中之32×32之輸入的區塊860中之16×16切換級之一半輸出可耦合至正反器861且經由匯流排891來傳送至區塊850。例如,區塊860中之16×16切換級之另一半輸出可耦合至駐留於區塊860中之32×32之輸入。因此,可使用匯流排891之8個位元組之向北匯流排線。類似地,匯流排891可用於使區塊870及880中之16×16切換級之輸出與跨越區塊870及880之32×32混洗。例如,在一實施例中,可隔離切換區塊之間的匯流排之不同區段(例如,藉由一多工器),且可同時使用用於垂直移動資料於區塊850與860之間的相同匯流排線來垂直移動資料於區塊870與880之間。因此,使用垂直匯流排891來執行混洗資料於相鄰切換區塊之間。
同樣地,例如,切換區塊850/860及870/880中之32×32切換級使用匯流排892及正反器852、862、872及882來將輸出混洗至跨越區塊850、860、870及880之一64×64級之輸入。例如,在此實例中,可使用32個2×2開關來實施64×64切換級。切換區塊850、860、870及880中之64×64切換級使用匯流排893及正反器853、863、873及883(及其他區塊群組中之類似組件(未展示))來將輸出混洗至跨越區塊850、860、870及 880(及其他切換區塊群組)之64個5×5切換級之輸入。
在中間切換級之依次遞減側上,跨越區塊850、860、870及880(及其他切換區塊群組)之64個5×5切換級之輸出使用匯流排894及正反器854、864、874及884來不混洗至跨越切換區塊850、860、870及880之64×64切換級之輸入。類似地,例如,切換區塊850、860、870及880中之64×64切換級使用匯流排895及正反器855、865、875及885來將輸出不混洗至跨越區塊850/860及870/880之兩個32×32級之輸入。最後,例如,切換區塊850/860及870/880中之32×32切換級使用匯流排896及正反器856、866、876及886來將輸出不混洗至區塊850、860、870及880中之四個16×16級之輸入。例如,匯流排891至896可沿開關矩陣之一軸線形成一單一多線匯流排,且此一多線匯流排可(例如)為用於移動資料於一切換區塊中之一或多個切換級之輸出與其他切換區塊中之一或多個切換級之間的構件。在圖8B所展示之實例中,繪示性展示用於經由匯流排891至896來移動資料於切換區塊之間的正反器電路。應瞭解,可使用各種實際電路連接來實施上述技術。
圖8C繪示根據一實施例之同步切換區塊。在此實例中,一時脈耦合於相鄰切換區塊之間且相鄰切換區塊在時脈之不同週期上操作。例如,切換區塊0 8000可在週期「i」上接收一時脈(「Clk_i」),且時脈在下一週期(「i+1」)上耦合至切換區塊1 8001。因此,切換區塊1 8001在「i+1」週期上接收時脈。類似地,時脈在下一週期(「i+2」)上耦合於切換區塊1 8001與切換區塊2 8002之間。因此,切換區塊2 8002在「i+2」週期上接收時脈。最後,在此繪示性實例中,時脈在下一週期(「i+3」)上耦合於切換區塊2 8002與切換區塊3 8003之間。因此,切換 區塊3 8003在「i+3」週期上接收時脈。
在一些實施例中,可沿某些資料流路徑延遲移動於切換級之間的資料以使跨不同時脈週期上操作之切換區塊所接收之資料時間對準。例如,區塊0中之切換級828之一輸出處之資料可產生於區塊1中之切換級829之一輸出處之資料之前的一週期,因為(例如)區塊1在區塊0之後的一週期操作。因此,若來自不同切換區塊中之切換級之資料組合於一單一切換區塊中,則需要使資料時間對準至相同時脈週期中。在此實例中,在相同於區塊之間的時脈分配之方向上(例如,在圖8C中垂直向上)移動之資料之時間提前於其他區塊中所產生之資料。因此,無需時間對準(例如,向上行進於相鄰區塊之間的時間可等於相鄰區塊之間的時間延遲)。然而,對於在區塊之間的時脈分配之相反方向上(例如,垂直向下)移動之資料,各相鄰區塊之間的延遲可加倍(例如每區塊+2個週期:1個週期延遲產生一結果及1個週期延遲將結果向下移動至下一相鄰區塊)。
在一實施例中,延遲電路可用於使切換區塊之間的資料時間對準。例如,來自切換區塊1中之切換級829之一輸出的資料可耦合至切換區塊0中之一切換級827且與來自區塊0中之切換級828之一輸出的資料組合。然而,級829之輸出處之資料可產生於級828之輸出處之資料之後的1個時脈週期。另外,來自級829之資料要花費另一時脈週期來經由向南匯流排到達區塊0。因此,來自級829之資料比來自級828之資料晚2個週期。本發明之實施例包含組態於複數個切換級之資料流路徑中以使跨切換區塊所接收之資料時間對準之延遲電路。在此實例中,一延遲電路817組態於耦合至切換級828之輸出之資料流路徑中以使來自級828之資料與來自切換區塊1之資料時間對準。延遲817可具有(例如)使區塊0及1中之 資料時間對準之一兩(2)週期延遲。在此實例中,將延遲817放置於切換級827之輸入處。然而,應瞭解,延遲電路可沿資料路徑放置於其他位置中(例如,在諸如級828之一切換級之輸出處)。類似實例延遲電路818A至818C用於延遲與來自區塊1、2及3之資料(例如,在一64×64切換級中)組合之區塊0中之資料。然而,需要額外延遲,因為區塊2及3由依次延遲時脈週期時控。為使區塊0中之資料與區塊2組合,需要一四(4)週期延遲,且為使區塊0中之資料與區塊3組合,需要一六(6)週期延遲(例如,一延遲用於區塊之間的各時脈週期延遲且一延遲用於區塊之間的各資料傳送)。在此實例中,來自區塊0中之切換級827之資料可在延遲電路818A中延遲6個週期以與來自區塊3之資料組合,來自區塊1之資料在延遲電路818B中延遲4個週期以與來自區塊3之資料組合,且來自區塊2之資料在延遲電路818C中延遲2個週期以與來自區塊3之資料組合。類似地,在上述各種實施例中,延遲電路可跨一置換電路中之多個資料流路徑定位以使資料時間對準。
圖9繪示根據一實施例之一實例機器學習處理器。機器學習處理器900(亦指稱人工智慧(AI)處理器)可包含記憶體及算術單元,其等經最佳化以使輸入資料與用於機器學習應用(例如訓練或推斷)之權重組(例如,經訓練或在訓練)相乘及相加。例如,機器學習處理器900包含用於對向量(即,一維值陣列)執行操作之一向量處理器(V×M)910。系統之其他元件對稱配置於V×M 910之兩側上以最佳化處理速度。例如,V×M 910相鄰於記憶體911及912、包含用於控制資料之路由及置換之上述置換電路之開關矩陣(S×M)913及914。處理器900進一步包含資料格式及呈現控制器(NIM)915及916及矩陣乘法單元(M×M)917及918。例如,一指令 控制單元(ICU)920控制跨區塊910至918之資料流動及操作執行。機器學習處理器900包含諸如晶片間(C2C)電路923至924及一外部通信電路(PCIe)921之通信電路。例如,處理器900可進一步包含用於控制啟動操作、時脈重設及其他低階設置操作之一晶片控制單元(CCU)922。
圖10繪示根據一實施例之切換資料之一方法。此實例繪示可由一積體電路執行以(例如)執行一資料置換之一方法。在1001中,在一開關矩陣之複數個相鄰切換區塊(例如矩形圖塊)中以一第一型樣沿一第一軸線接收資料。例如,切換區塊可為沿一半導體晶粒之一軸線彼此相鄰佈置之積體電路區塊。例如,區塊可實質上為沿晶粒之一軸線彼此相鄰堆疊之一區塊之副本。在1002中,在相鄰切換區塊中沿第一軸線接收開關控制設置。例如,可沿正交(垂直)於佈置區塊所沿之軸線的晶粒之一軸線接收資料及開關控制設置。在1003中,在不跨越至其他切換區塊之各切換區塊之切換級中執行一初始切換操作。初始切換操作可路由輸入資料通過(例如)使用開關控制設置所預組態之一N×N切換級,諸如16×16。在1004中,在逐步跨越至更多切換區塊之依次遞增切換級中連續執行額外切換操作。在1005中,在逐步跨越至更少切換區塊之依次遞減切換級中連續執行進一步切換操作。例如,在一實例實施例中,跨越多個區塊之切換級可沿正交於接收資料所沿之軸線的軸線耦合資料於切換區塊之間。例如,如上文所繪示,方法可包含針對跨越多個切換區塊之切換級,使來自依次遞增及/或減少切換級之一者之輸出的資料耦合至及/或脫離沿區塊並排配置之軸線運行於切換區塊之間的一匯流排。在1006中,例如,在不跨越至其他切換區塊之各切換區塊之切換級中執行一最終切換操作。在1007中,輸出具有不同於輸入上所接收之第一型樣之一第二型樣的置換資料。
上述步驟1003至1006可執行一資料置換,其中特定置換係基於步驟1002中所接收之切換控制設置。例如,在一實施例中,方法包含將軟體中之指定置換映射至切換控制設置及使開關控制設置與操作及特定資料組相關聯。例如,方法可包含將預定開關控制設置儲存於記憶體中及將所儲存之開關控制設置發送至包括上文所提及之切換級之一置換電路以組態切換級對不同資料組執行不同置換。在一實施例中,可發送一組開關控制設置以組態切換級且可在不改變開關控制設置之情況下對多個資料組執行對應置換(例如,對多組矩陣資料執行多次轉置)。相反地,例如,可藉由改變開關控制設置且將相同資料重新載入至置換電路中來依多種不同方式置換相同資料組。
以上描述結合可如何實施特定實施例之態樣的實例來繪示本發明之各種實施例。以上實例不應被視為唯一實施例,而是用於繪示由以下申請專利範圍界定之特定實施例之靈活性及優點。基於以上揭示內容及以下申請專利範圍,可在不背離由申請專利範圍界定之本發明之範疇的情況下採用其他配置、實施例、實施方案及等效物。
100:開關矩陣
101:切換區塊
102:切換區塊
103:切換區塊
104:切換區塊
105:切換區塊
110:置換電路
111A:切換級
111B:切換級
111C:切換級
111D:切換級
112:切換級
112A:組件
112B:組件
112C:組件/切換級
112D:組件/切換級
113:切換級
113A:組件
113B:組件
113C:組件
113D:組件
114:切換級
114A:組件
114B:組件
114C:組件
114D:組件
115:級
115A:級/組件
115B:級/組件
115C:級/組件
115D:級/組件
116A:級
116B:級
116C:級
116D:級
117:切換級
118:級
150:中間切換級
Ctrl:開關控制設置

Claims (23)

  1. 一種電子系統,其包含一開關矩陣,該開關矩陣包括:複數個相鄰切換區塊,其等係沿一第一軸線組態,其中該複數個相鄰切換區塊各沿一第二軸線來接收資料及開關控制設置;一置換電路(permutation circuit),其包括用於各切換區塊之跨越(spanning)沿該第一軸複數個相鄰切換區塊之複數個切換級及不跨越至相鄰切換區塊之至少一個切換級,該複數個切換級之各者接收沿該第二軸之該等開關控制設置,該等開關控制設置指定用於該切換級從複數個輸入至複數個輸出之一資料流,及其中該置換電路基於該等開關控制設置來以一第一型樣(pattern)接收資料且以一第二型樣輸出該資料;及複數個切換群組,該複數個切換群組之各者包括複數個相鄰切換區塊,且其中至少一個切換級跨越該複數個切換群組,其中至少一個中間切換級經組態於各切換區塊中之複數個依次遞增切換級與複數個依次遞減切換級之間。
  2. 如請求項1之電子系統,其中自一記憶體接收該等開關控制設置,第一複數個該等開關控制設置組態該置換電路以對該資料執行一第一置換,且第二複數個該等開關控制設置組態該置換電路以對該資料執行一第二置換。
  3. 如請求項2之電子系統,其中在對應複數個資料組上指定複數個資料置換,且其中該複數個資料置換經映射至該等開關控制設置,且被儲存於 該記憶體中。
  4. 如請求項1之電子系統,其中對於各切換區塊,不跨越至相鄰切換區塊之該至少一個切換級以該第一型樣接收該資料,其中經耦合至該至少一個切換級之輸出的該複數個依次遞增切換級跨越至依次更多相鄰切換區塊,其中經耦合至該複數個依次遞增切換級之輸出的該複數個依次遞減切換級跨越至依次更少相鄰切換區塊,且其中對於各切換區塊,不跨越至相鄰切換區塊之一第二切換級經耦合至該複數個依次遞減切換級之輸出,以產生呈該第二型樣之該資料。
  5. 如請求項4之電子系統,其中該至少一個中間切換級具有耦合至該等依次遞增切換級之一最後級的輸出之輸入,且具有耦合至該等依次遞減切換級之一第一級的輸入之輸出。
  6. 如請求項4之電子系統,其中該至少一個切換級及該等依次遞增切換級之輸出係混洗於該等依次遞增切換級之間,且其中該等依次遞減切換級之該等輸出係不混洗於該等依次遞減切換級之間。
  7. 如請求項6之電子系統,其中經由經組態以沿該第一軸線移動資料之一匯流排來執行該混洗及該不混洗。
  8. 如請求項1之電子系統,其中:對於各切換區塊,不跨越之該至少一個切換級包括各切換區塊中之 一第一切換級,其中各切換區塊中之該第一切換級以該第一型樣接收該資料,且跨越該複數個相鄰切換區塊之該複數個切換級包括:各切換區塊中之數個第二切換級,其等經耦合至該等第一切換級之輸出,該等第二切換級跨越第一複數個相鄰切換區塊;及一第三切換級,其經耦合至該等第二切換級之輸出,該第三切換級跨越第二複數個相鄰切換區塊,其中該第二複數大於該第一複數。
  9. 如請求項8之電子系統,其中跨越該複數個相鄰切換區塊之該複數個切換級進一步包括:一第四切換級,其經耦合至該第三切換級之輸出,該第四切換級跨越該第二複數個相鄰切換區塊;及各切換區塊中之數個第五切換級,其等經耦合至該第四切換級之輸出,該第五切換級跨越該第一複數個相鄰切換區塊,其中對於各切換區塊,不跨越之該至少一個切換級進一步包括各切換區塊中不跨越至相鄰切換區塊之一第六切換級,其中該第六切換級之輸入經耦合至該等第五切換級之輸出,及其中該第六複數個切換級以該第二型樣輸出資料。
  10. 如請求項9之電子系統,其中該第一複數個相鄰切換區塊係兩個切換區塊,且該第二複數個相鄰切換區塊係四個切換區塊。
  11. 如請求項9之電子系統,進一步包括經耦合於該第三切換級與該第四切換級之間之一第七切換級,該第七切換級跨越各包括該第一切換級、該第二切換級、該第三切換級、該第四切換級、該第五切換級及該第六切換級的複數個切換群組。
  12. 如請求項8之電子系統,其中各相鄰切換區塊接收N個資料線,其中各切換區塊中之該第一切換級係N×N,各切換區塊中之該第二切換級係2N×2N,且各切換區塊中之該第三切換級係4N×4N,且N為一大於零之整數。
  13. 如請求項1之電子系統,進一步包括沿該第一軸線組態之一或多個資料匯流排,其中跨越多個相鄰切換區塊的切換級經由該一或多個資料匯流排在切換區塊之間發送及接收資料。
  14. 如請求項13之電子系統,其中該一或多個資料匯流排包括一第一匯流排及一第二匯流排,其中該第一匯流排經組態以在沿該第一軸線之一第一方向上移動資料,且該第二匯流排經組態以在沿該第一軸線之一第二方向上移動資料,該第二方向係與該第一方向相反。
  15. 如請求項1之電子系統,其中該複數個相鄰切換區塊之各者接收具有預定數目個位元之資料值,且其中該置換電路以一第一型樣接收該等資料值且以一第二型樣輸出該等資料值。
  16. 如請求項1之電子系統,進一步包括複數個延遲電路,其中該等延遲電路經組態於複數個切換級之資料流路徑中,以使跨切換區塊之資料時間對準。
  17. 如請求項16之電子系統,其中該等延遲電路使在一特定切換級之一輸入處自其他切換區塊接收之資料對準。
  18. 一種用於切換資料之方法,該方法包括:在一切換矩陣中接收資料及開關控制設置,該切換矩陣包括沿一第一軸線組態之複數個相鄰切換區塊,其中該複數個相鄰切換區塊各沿一第二軸線接收該資料及該等開關控制設置,且其中資料係沿該第一軸線耦合於該等切換區塊之間;基於該等開關控制設置,以一第一型樣在一置換電路中接收資料,且以一第二型樣自該置換電路輸出該資料,其中對於各切換區塊,複數個切換級跨越至沿該第一軸之複數個相鄰切換區塊,且至少一個切換級不跨越至相鄰切換區塊,及其中該複數個切換級之各者接收沿該第二軸之該等開關控制設置,該等開關控制設置指定用於該切換級從複數個輸入至複數個輸出之一資料流;及其中該置換電路包括複數個切換群組,該複數個切換群組之各者包括複數個相鄰切換區塊,且其中至少一個切換級跨越該複數個切換群組,其中至少一個中間切換級經組態於各切換區塊中之複數個依次遞增切換級與複數個依次遞減切換級之間。
  19. 如請求項18之方法,進一步包括透過經組態於各切換區塊中之至少兩個跨越切換級之間之一中間切換級來將複數個切換群組耦合在一起,該複數個切換群組之各者包括複數個該等相鄰切換區塊,該中間切換級跨越該等切換群組之各者中之該等相鄰切換區塊。
  20. 如請求項18之方法,其中自一記憶體接收該等開關控制設置,其中第一複數個該等開關控制設置組態該置換電路以對該資料執行一第一置換,且其中第二複數個該等開關控制設置組態該置換電路以對該資料執行一第二置換。
  21. 如請求項18之方法,進一步包括在第一複數個切換級之間混洗資料,及在第二複數個切換級之間不混洗資料。
  22. 如請求項18之方法,其中該複數個相鄰切換區塊之各者接收具有預定數目個位元之資料值,且其中該置換電路以一第一型樣接收該等資料值,且以一第二型樣輸出該等資料值。
  23. 如請求項18之方法,進一步包括沿跨切換區塊之一或多個資料路徑延遲資料,以使該資料時間對準。
TW108131334A 2018-08-30 2019-08-30 電子系統及用於切換資料之方法 TWI787542B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/117,763 US10754621B2 (en) 2018-08-30 2018-08-30 Tiled switch matrix data permutation circuit
US16/117,763 2018-08-30

Publications (2)

Publication Number Publication Date
TW202018501A TW202018501A (zh) 2020-05-16
TWI787542B true TWI787542B (zh) 2022-12-21

Family

ID=67902697

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108131334A TWI787542B (zh) 2018-08-30 2019-08-30 電子系統及用於切換資料之方法

Country Status (4)

Country Link
US (3) US10754621B2 (zh)
EP (1) EP3844884B1 (zh)
TW (1) TWI787542B (zh)
WO (1) WO2020047093A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11114138B2 (en) 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
US10754621B2 (en) * 2018-08-30 2020-08-25 Groq, Inc. Tiled switch matrix data permutation circuit
US11301546B2 (en) 2018-11-19 2022-04-12 Groq, Inc. Spatial locality transform of matrices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670856A (en) * 1985-03-07 1987-06-02 Matsushita Electric Industrial Co., Ltd. Data storage apparatus
US5541914A (en) * 1994-01-19 1996-07-30 Krishnamoorthy; Ashok V. Packet-switched self-routing multistage interconnection network having contention-free fanout, low-loss routing, and fanin buffering to efficiently realize arbitrarily low packet loss
US6243808B1 (en) * 1999-03-08 2001-06-05 Chameleon Systems, Inc. Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups
TW200926033A (en) * 2007-07-18 2009-06-16 Steven Kays Adaptive electronic design
US8089959B2 (en) * 2006-05-30 2012-01-03 Ted Henryk Szymanski Method and apparatus to schedule packets through a crossbar switch with delay guarantees
US20120240185A1 (en) * 2000-09-25 2012-09-20 Harsh Kapoor Systems and methods for processing data flows
US20130010636A1 (en) * 2011-07-05 2013-01-10 Plx Technology, Inc. Three dimensional fat tree networks
TW201810538A (zh) * 2012-07-18 2018-03-16 半導體能源研究所股份有限公司 記憶元件以及可程式邏輯裝置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046181B2 (en) * 2001-11-21 2006-05-16 Analog Devices, Inc. 2n-1 Shuffling network
US6795003B2 (en) * 2003-01-30 2004-09-21 Broadcom Corporation Hardware-efficient implementation of dynamic element matching in sigma-delta DAC's
US8285766B2 (en) * 2007-05-23 2012-10-09 The Trustees Of Princeton University Microprocessor shifter circuits utilizing butterfly and inverse butterfly routing circuits, and control circuits therefor
US10754621B2 (en) * 2018-08-30 2020-08-25 Groq, Inc. Tiled switch matrix data permutation circuit

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670856A (en) * 1985-03-07 1987-06-02 Matsushita Electric Industrial Co., Ltd. Data storage apparatus
US5541914A (en) * 1994-01-19 1996-07-30 Krishnamoorthy; Ashok V. Packet-switched self-routing multistage interconnection network having contention-free fanout, low-loss routing, and fanin buffering to efficiently realize arbitrarily low packet loss
US6243808B1 (en) * 1999-03-08 2001-06-05 Chameleon Systems, Inc. Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups
US20120240185A1 (en) * 2000-09-25 2012-09-20 Harsh Kapoor Systems and methods for processing data flows
US8089959B2 (en) * 2006-05-30 2012-01-03 Ted Henryk Szymanski Method and apparatus to schedule packets through a crossbar switch with delay guarantees
TW200926033A (en) * 2007-07-18 2009-06-16 Steven Kays Adaptive electronic design
US20130010636A1 (en) * 2011-07-05 2013-01-10 Plx Technology, Inc. Three dimensional fat tree networks
TW201810538A (zh) * 2012-07-18 2018-03-16 半導體能源研究所股份有限公司 記憶元件以及可程式邏輯裝置

Also Published As

Publication number Publication date
US20220236954A1 (en) 2022-07-28
TW202018501A (zh) 2020-05-16
US11307827B2 (en) 2022-04-19
US20200348911A1 (en) 2020-11-05
EP3844884B1 (en) 2023-07-26
US10754621B2 (en) 2020-08-25
US20200073638A1 (en) 2020-03-05
EP3844884A1 (en) 2021-07-07
WO2020047093A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
TWI787542B (zh) 電子系統及用於切換資料之方法
US7873056B2 (en) Switch device, switching method and switch control program
US8451831B2 (en) System and method for implementing a multistage network using a two-dimensional array of tiles
US5323386A (en) Expandable high speed serial data switch
CA2636833A1 (en) Large-scale packet switch
WO1986002511A1 (en) Load balancing for packet switching nodes
US7675909B2 (en) Method and apparatus for horizontally slicing a multi-stage switch fabric
US20040103264A1 (en) Array-type processor
JPH02135939A (ja) データ通信方法及びネットワーク
WO1991005375A1 (en) Method and apparaus for simulating an interconnection network
CN113114220B (zh) 一种具有重映射功能的芯片系统及芯片重映射配置系统
JP3987782B2 (ja) アレイ型プロセッサ
US10303473B2 (en) Vector permutation circuit and vector processor
US7065076B1 (en) Modular scalable switching networks
EP0142332B1 (en) Interconnection networks
US5396231A (en) Modular communications interconnection
US4685128A (en) Method and network for transmitting addressed signal samples from any network input to an addressed network output
US20070220236A1 (en) Reconfigurable computing device
JP2008160522A (ja) 多段スイッチの制御回路
Lai Performing permutations on interconnection networks by regularly changing switch states
US5822316A (en) ATM switch address generating circuit
Hironaka et al. Demonstration of flow-in-cloud: A multi-fpga system
JPH0865318A (ja) 非同期転送モード・データ・セル・ルーティング装置
CN107733816B (zh) 一种新型的严格无阻塞交换网络
Salisbury et al. Distributed, dynamic control of circuit-switched banyan networks