JP6708552B2 - パイプライン化構成可能プロセッサ - Google Patents
パイプライン化構成可能プロセッサ Download PDFInfo
- Publication number
- JP6708552B2 JP6708552B2 JP2016551066A JP2016551066A JP6708552B2 JP 6708552 B2 JP6708552 B2 JP 6708552B2 JP 2016551066 A JP2016551066 A JP 2016551066A JP 2016551066 A JP2016551066 A JP 2016551066A JP 6708552 B2 JP6708552 B2 JP 6708552B2
- Authority
- JP
- Japan
- Prior art keywords
- configurable
- thread
- processing circuit
- configuration
- circuit according
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
- G06F15/7878—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for pipeline reconfiguration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
- G06F15/7875—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for multiple contexts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
- G06F15/7892—Reconfigurable logic embedded in CPU, e.g. reconfigurable unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1546—Non-blocking multistage, e.g. Clos using pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1553—Interconnection of ATM switching modules, e.g. ATM switching fabrics
- H04L49/1569—Clos switching fabrics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
構成可能処理回路の一例を図1に示す。この回路は、構成可能ルーティングネットワーク(この例では、2つのルーティングネットワーク111,112として実装される)を備える。回路は、幾つかの構成可能実行ユニット(115,116)も含む。回路は、パイプライン化されており、図において点線102により表されている。図示の例において、パイプラインは、図の下側に沿って数字で示すように、8つのステージから構成される。パイプラインセクション間の境界は、最大クロック速度に対応できるように、いずれかのパイプラインセクションにおいて要する最長時間を制限するよう適切に選択される。
各レジスタストアは、別個の値を記憶する複数の位置を含む。回路は、レジスタストアアドレスを用いて位置を選択してもよい。本発明の一実施例において、スレッドは、各レジスタストア内の位置の別個の組みにアクセスする。これは、レジスタストアに対する読み出しアドレス及び書き込みアドレスの一部が(適切なパイプラインステージにおける)スレッド番号並びにゼロ以上の構成インスタンスビットに基づくことを確保することによって実装できる。この実施例において、スレッドは、他のスレッドと関連付けられたレジスタストア内に保持された値にアクセスすることはできない。
ルーティングネットワークは、基本的に、複数の入力を複数の出力に接続するスイッチである。入力は、単一の出力又は複数の出力に接続させることができる。ルーティングネットワークは、好ましくは、そのスイッチングの少なくとも一部が構成インスタンスからのビットによってクロックサイクル毎に設定できるように、構成可能である。
実行ユニットは、これらに限定はされないが、算出演算、論理演算若しくはシフト演算、又は、メモリの読み出し若しくは書き込み動作を含む一連の動作を実行することが可能となるようにデザインできる。実行ユニットは、そのデータ入力からのビット(例えばスレッドの制御値)に加えて構成インスタンスからのビットを使用でき、それにより特定のスレッドに対してどの動作を実行するかを決定できる。幾つかの実行ユニットは、他の実行ユニットとは異なる固有の能力を有してもよい。例えば、他の実行ユニットが実行できない動作を実行することが可能であってもよい。実行ユニットの数及び能力は、特定の用途に適合するように変更することができる。
命令が完了するのにかかる時間は、あるレジスタストアの読み出しとそれに対応するレジスタストアの書き込みとの間のパイプラインステージの最大数(「p」で示す)、及び、プロセッサのクロック周波数(「f」で示す)によって決まる。そして、1命令当たりのレイテンシは、p/fとなる。しかしながら、パイプラインは、クロックサイクル毎に、p以上の異なるスレッドからの命令を処理することができる。スレッドは、連続的に循環し、クロックサイクル毎に1つずつ、パイプラインに発行される。
オンチップメモリには、1組の構成インスタンスがある。本発明の一実施例において、その構成インスタンスメモリには外部プロセッサによってアクセスしうる。個々の構成インスタンスは、構成インスタンスメモリに書き込むことによってロードできる。構成メモリが同じクロックサイクルで読み出し及び書き込みできる場合には、スレッドは、構成インスタンスがロードされている間も、パイプライン内を進行し続けることができる。パイプライン内のいずれかのスレッドにより使用されている構成インスタンスは、ロードされないようにすべきである。これは、使用中の全ての構成インスタンス識別子を監視するオペレーティングシステム又は何らかの追加ハードウェアによって実現できる。
Claims (31)
- 複数のスレッドを同時に取り扱うことが可能な構成可能処理回路であって、
スレッドデータストアと、
複数の構成可能実行ユニットと、
前記スレッドデータストアを前記実行ユニットに接続する構成可能ルーティングネットワークと、
構成インスタンスを記憶し、該構成インスタンスのそれぞれがルーティングネットワークの構成及び前記複数の実行ユニットのうち1つ以上の構成を規定している、構成データストアと、
前記実行ユニット、前記ルーティングネットワーク及び前記スレッドデータストアから形成されるとともに複数のパイプラインセクションを備え、該複数のパイプラインセクションが、各クロックサイクルにおいて各スレッドが一つのパイプラインセクションから次のパイプラインセクションに伝播するように構成されている、パイプラインとを備え、
(i)各スレッドを構成インスタンスと関連付け、
(ii)各クロックサイクルにおいて、前記複数のパイプラインセクションのそれぞれを、そのクロックサイクル中にそのパイプラインセクション内を伝播する各スレッドと関連付けられた構成インスタンスに従うように構成し、
(iii)前記スレッドデータストア内のどの位置から読み出すか、及び、前記スレッドデータストア内のどの位置に前記実行ユニットが書き込むかを、前記構成インスタンスに基づき選択するように構成された回路。 - 各構成インスタンスを構成識別子と関連付けるように構成された、請求項1に記載の構成可能処理回路。
- スレッドと関連付けられた構成識別子を、該スレッドと協調して前記パイプライン内を伝播させるように構成された、請求項2に記載の構成可能処理回路。
- 前記構成データストアが、複数のメモリを備え、
前記構成インスタンスを前記複数のメモリに亘って分割して、各メモリが特定のパイプラインセクションに適用可能な前記構成インスタンスの部分を記憶するように構成された、請求項1〜3のいずれか一項に記載の構成可能処理回路。 - 各パイプラインセクションが、それに適用可能な前記構成インスタンスの部分を記憶する前記メモリにアクセスすることにより構成インスタンスにアクセスするように構成されている、請求項4に記載の構成可能処理回路。
- 前記パイプラインの各セクションが、スレッドと関連付けられた前記構成識別子を使用して、前記構成データストア内のそのスレッドと関連付けられた前記構成インスタンスにアクセスするように構成されている、請求項2、3、請求項2に従属する請求項4又は5のいずれか一項に記載の構成可能処理回路。
- 前記複数のスレッドが独立している、請求項1〜6のいずれか一項に記載の構成可能処理回路。
- 2つ以上のスレッドを同一の構成識別子と関連付けるように構成された、請求項1〜7のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、複数のネットワーク入力及び複数のネットワーク出力を備え、各ネットワーク入力をネットワーク出力に接続するように構成可能である、請求項1〜8のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、任意のネットワーク入力を任意のネットワーク出力に接続することが可能である、請求項9に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、任意のネットワーク入力を前記ネットワーク出力のうちの任意の1つ以上に接続することが可能である、請求項9又は10に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークの出力が、前記実行ユニットの入力に接続されている、請求項1〜11のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、マルチステージスイッチを備える、請求項1〜12のいずれか一項に記載の構成可能処理回路。
- 前記マルチステージスイッチが、各ステージに1つ以上のスイッチを備え、各スイッチが、複数のスイッチ入力及び複数のスイッチ出力を有し、各スイッチ入力をスイッチ出力に接続するように構成可能である、請求項13に記載の構成可能処理回路。
- 前記マルチステージスイッチの各ステージにおけるスイッチが、同じ数のスイッチ入力及びスイッチ出力を備える、請求項14に記載の構成可能処理回路。
- 前記マルチステージスイッチの1つのステージに備えられた前記スイッチが、他のステージに備えられた前記スイッチとは異なる数のスイッチ入力及びスイッチ出力を備える、請求項14に記載の構成可能処理回路。
- 1つのパイプラインセクションが、前記マルチステージスイッチの1つ以上のステージに備えられた前記スイッチから形成されている、請求項13〜16のいずれか一項に記載の構成可能処理回路。
- 前記マルチステージスイッチの内側ステージにおけるスイッチから形成されたパイプラインセクションが、該マルチステージスイッチにおける、前記マルチステージスイッチの外側ステージに備えられたスイッチから形成されたパイプラインセクションとは異なる数のステージからのスイッチを備える、請求項17に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、Closネットワークを備える、請求項1〜18のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、1つ以上のクロスバースイッチを備える、請求項1〜19のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、非ブロッキングである、請求項1〜20のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、完全に構成可能である、請求項1〜21のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、部分的に構成可能である、請求項1〜21のいずれか一項に記載の構成可能処理回路。
- 各実行ユニットのために専用のオンチップメモリを備える、請求項1〜23のいずれか一項に記載の構成可能処理回路。
- 前記スレッドデータストア内に記憶されたデータが有効であることをチェックするチェックユニットを備える、請求項1〜24のいずれか一項に記載の構成可能処理回路。
- 前記スレッドデータストア内の位置が、2つの有効ビットと関連付けられている、請求項1〜25のいずれか一項に記載の構成可能処理回路。
- 前記構成可能ルーティングネットワークが、前記スレッドデータストアから読み出されたデータを運ぶためのマルチプルビットワイドであるデータ経路を備える、請求項1〜26のいずれか一項に記載の構成可能処理回路。
- 2つの構成可能ルーティングネットワークを備え、前記構成可能ルーティングネットワークの一方が、他方よりも広いデータ経路を備える、請求項1〜27のいずれか一項に記載の構成可能処理回路。
- フラクチャブル実行ユニットを備える、請求項1〜28のいずれか一項に記載の構成可能処理回路。
- 動的再構成が可能な、請求項1〜29のいずれか一項に記載の構成可能処理回路。
- スレッドデータストアと、複数の構成可能実行ユニットと、前記スレッドデータストアを前記実行ユニットに接続する構成可能ルーティングネットワークと、前記実行ユニット、前記ルーティングネットワーク及び前記スレッドデータストアから形成され、複数のパイプラインセクションを備えるパイプラインとを備える構成可能処理回路において、複数のスレッドを同時に取り扱う方法であって、
各スレッドを、前記ルーティングネットワークの構成と、前記複数の実行ユニットのうちの1つ以上の構成と、前記データストア内のどの位置から読み出すか、及び、前記データストア内のどの位置に前記実行ユニットが書き込むかと、を規定する構成インスタンスと関連付けることと、
各クロックサイクルで、各スレッドを、一つのパイプラインセクションから次のパイプラインセクションに伝播させることと、
各クロックサイクルにおいて、前記複数のパイプラインセクションのそれぞれを、そのクロックサイクル中にそのパイプラインセクション内を伝播する各スレッドと関連付けられた前記構成インスタンスに応じるように構成することと
を含む方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1319279.4A GB2519813B (en) | 2013-10-31 | 2013-10-31 | Pipelined configurable processor |
| GB1319279.4 | 2013-10-31 | ||
| PCT/GB2014/053200 WO2015063466A1 (en) | 2013-10-31 | 2014-10-28 | Pipelined configurable processor |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2016535913A JP2016535913A (ja) | 2016-11-17 |
| JP2016535913A5 JP2016535913A5 (ja) | 2017-12-14 |
| JP6708552B2 true JP6708552B2 (ja) | 2020-06-10 |
Family
ID=49767493
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016551066A Active JP6708552B2 (ja) | 2013-10-31 | 2014-10-28 | パイプライン化構成可能プロセッサ |
Country Status (7)
| Country | Link |
|---|---|
| US (3) | US9658985B2 (ja) |
| EP (1) | EP3063651A1 (ja) |
| JP (1) | JP6708552B2 (ja) |
| KR (1) | KR20160105774A (ja) |
| CN (1) | CN105830054B (ja) |
| GB (2) | GB2526018B (ja) |
| WO (1) | WO2015063466A1 (ja) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2526018B (en) * | 2013-10-31 | 2018-11-14 | Silicon Tailor Ltd | Multistage switch |
| JP6816380B2 (ja) * | 2016-04-15 | 2021-01-20 | オムロン株式会社 | 画像処理装置、画像処理方法、情報処理プログラム、および記録媒体 |
| CN107962560B (zh) * | 2016-10-18 | 2020-08-07 | 珠海格力智能装备有限公司 | 机器人及其控制方法和装置 |
| CN107953330A (zh) * | 2016-10-18 | 2018-04-24 | 珠海格力智能装备有限公司 | 机器人及其控制方法和装置 |
| US11055807B2 (en) * | 2017-06-12 | 2021-07-06 | Apple Inc. | Method and system for a transactional based display pipeline to interface with graphics processing units |
| US11093251B2 (en) | 2017-10-31 | 2021-08-17 | Micron Technology, Inc. | System having a hybrid threading processor, a hybrid threading fabric having configurable computing elements, and a hybrid interconnection network |
| EP3704595A4 (en) * | 2017-10-31 | 2021-12-22 | Micron Technology, Inc. | SYSTEM WITH A HYBRID THREADING PROCESSOR, HYBRID THREADING MATRIX WITH CONFIGURABLE COMPUTER ELEMENTS AND HYBRID CONNECTION NETWORK |
| CN111919203B (zh) * | 2018-03-31 | 2024-12-10 | 美光科技公司 | 使用重入队列的多线程自调度可重新配置计算架构的循环执行控制 |
| US11003451B2 (en) | 2018-03-31 | 2021-05-11 | Micron Technology, Inc. | Execution control of a multi-threaded, self-scheduling reconfigurable computing fabric |
| KR102504080B1 (ko) * | 2018-03-31 | 2023-02-28 | 마이크론 테크놀로지, 인크. | 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭 |
| CN111919205B (zh) * | 2018-03-31 | 2024-04-12 | 美光科技公司 | 多线程自调度可重新配置计算架构的循环线程顺序执行控制 |
| CN111971652B (zh) | 2018-03-31 | 2024-06-04 | 美光科技公司 | 多线程自调度可重新配置计算架构的条件分支控制 |
| EP3776243B1 (en) * | 2018-03-31 | 2025-01-01 | Micron Technology, Inc. | Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric |
| EP3776236A1 (en) * | 2018-03-31 | 2021-02-17 | Micron Technology, Inc. | Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric |
| WO2019191740A1 (en) | 2018-03-31 | 2019-10-03 | Micron Technology, Inc. | Multiple types of thread identifiers for a multi-threaded, self-scheduling reconfigurable computing fabric |
| US11119972B2 (en) * | 2018-05-07 | 2021-09-14 | Micron Technology, Inc. | Multi-threaded, self-scheduling processor |
| US11074213B2 (en) * | 2019-06-29 | 2021-07-27 | Intel Corporation | Apparatuses, methods, and systems for vector processor architecture having an array of identical circuit blocks |
| US11573834B2 (en) | 2019-08-22 | 2023-02-07 | Micron Technology, Inc. | Computational partition for a multi-threaded, self-scheduling reconfigurable computing fabric |
| US11150900B2 (en) | 2019-08-28 | 2021-10-19 | Micron Technology, Inc. | Execution or write mask generation for data selection in a multi-threaded, self-scheduling reconfigurable computing fabric |
| US11886377B2 (en) | 2019-09-10 | 2024-01-30 | Cornami, Inc. | Reconfigurable arithmetic engine circuit |
| DE102020131666A1 (de) * | 2020-05-05 | 2021-11-11 | Intel Corporation | Skalierbare Multiplikationsbeschleunigung dünnbesetzter Matrizen unter Verwendung systolischer Arrays mit Rückkopplungseingaben |
| EP4113312A1 (en) * | 2021-06-28 | 2023-01-04 | Google LLC | Control of machine-learning systems |
| US11709796B2 (en) * | 2021-08-16 | 2023-07-25 | Micron Technology, Inc. | Data input/output operations during loop execution in a reconfigurable compute fabric |
| KR102571234B1 (ko) | 2023-02-21 | 2023-08-25 | 메티스엑스 주식회사 | 매니코어 시스템의 스레드 관리 방법 및 장치 |
| CN116450570B (zh) * | 2023-06-19 | 2023-10-17 | 先进能源科学与技术广东省实验室 | 基于fpga的32位risc-v处理器及电子设备 |
Family Cites Families (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
| US6349346B1 (en) | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
| US6693456B2 (en) * | 2000-08-04 | 2004-02-17 | Leopard Logic Inc. | Interconnection network for a field programmable gate array |
| US6759869B1 (en) * | 2002-06-05 | 2004-07-06 | Xilinx, Inc. | Large crossbar switch implemented in FPGA |
| US6925643B2 (en) * | 2002-10-11 | 2005-08-02 | Sandbridge Technologies, Inc. | Method and apparatus for thread-based memory access in a multithreaded processor |
| US7149996B1 (en) * | 2003-07-11 | 2006-12-12 | Xilinx, Inc. | Reconfigurable multi-stage crossbar |
| DE602004017879D1 (de) | 2003-08-28 | 2009-01-02 | Mips Tech Inc | Integrierter mechanismus zum suspendieren und endznem prozessor |
| US7263599B2 (en) * | 2004-02-06 | 2007-08-28 | Infineon Technologies | Thread ID in a multithreaded processor |
| JP4484756B2 (ja) * | 2004-06-21 | 2010-06-16 | 三洋電機株式会社 | リコンフィギュラブル回路および処理装置 |
| US7873776B2 (en) * | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
| US7224184B1 (en) * | 2004-11-05 | 2007-05-29 | Xilinx, Inc. | High bandwidth reconfigurable on-chip network for reconfigurable systems |
| US7276933B1 (en) | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
| US7926055B2 (en) * | 2005-04-12 | 2011-04-12 | Panasonic Corporation | Processor capable of reconfiguring a logical circuit |
| CN101546255A (zh) * | 2005-04-12 | 2009-09-30 | 松下电器产业株式会社 | 处理器 |
| JP6059413B2 (ja) * | 2005-04-28 | 2017-01-11 | クアルコム,インコーポレイテッド | 再構成可能命令セル・アレイ |
| US7768301B2 (en) * | 2006-01-17 | 2010-08-03 | Abound Logic, S.A.S. | Reconfigurable integrated circuits with scalable architecture including a plurality of special function elements |
| US8868888B2 (en) | 2007-09-06 | 2014-10-21 | Qualcomm Incorporated | System and method of executing instructions in a multi-stage data processing pipeline |
| US8344755B2 (en) * | 2007-09-06 | 2013-01-01 | Tabula, Inc. | Configuration context switcher |
| US7902862B2 (en) * | 2007-09-14 | 2011-03-08 | Agate Logic, Inc. | High-bandwidth interconnect network for an integrated circuit |
| US8006073B1 (en) * | 2007-09-28 | 2011-08-23 | Oracle America, Inc. | Simultaneous speculative threading light mode |
| US8078833B2 (en) * | 2008-05-29 | 2011-12-13 | Axis Semiconductor, Inc. | Microprocessor with highly configurable pipeline and executional unit internal hierarchal structures, optimizable for different types of computational functions |
| JP2010146102A (ja) * | 2008-12-16 | 2010-07-01 | Sanyo Electric Co Ltd | 演算処理装置および記憶領域割当方法 |
| US8126002B2 (en) * | 2009-03-31 | 2012-02-28 | Juniper Networks, Inc. | Methods and apparatus related to a shared memory buffer for variable-sized cells |
| US8352669B2 (en) * | 2009-04-27 | 2013-01-08 | Lsi Corporation | Buffered crossbar switch system |
| US8006075B2 (en) * | 2009-05-21 | 2011-08-23 | Oracle America, Inc. | Dynamically allocated store queue for a multithreaded processor |
| WO2011125174A1 (ja) * | 2010-04-06 | 2011-10-13 | トヨタ自動車株式会社 | 動的再構成プロセッサ及びその動作方法 |
| US20110276760A1 (en) * | 2010-05-06 | 2011-11-10 | Chou Yuan C | Non-committing store instructions |
| US7982497B1 (en) | 2010-06-21 | 2011-07-19 | Xilinx, Inc. | Multiplexer-based interconnection network |
| WO2012154586A1 (en) * | 2011-05-06 | 2012-11-15 | Xcelemor, Inc. | Computing system with hardware reconfiguration mechanism and method of operation thereof |
| US9166928B2 (en) * | 2011-09-30 | 2015-10-20 | The Hong Kong University Of Science And Technology | Scalable 3-stage crossbar switch |
| GB2526018B (en) * | 2013-10-31 | 2018-11-14 | Silicon Tailor Ltd | Multistage switch |
-
2013
- 2013-10-31 GB GB1513909.0A patent/GB2526018B/en active Active
- 2013-10-31 GB GB1319279.4A patent/GB2519813B/en active Active
-
2014
- 2014-10-28 EP EP14796852.3A patent/EP3063651A1/en not_active Ceased
- 2014-10-28 CN CN201480070217.8A patent/CN105830054B/zh active Active
- 2014-10-28 KR KR1020167014326A patent/KR20160105774A/ko not_active Ceased
- 2014-10-28 JP JP2016551066A patent/JP6708552B2/ja active Active
- 2014-10-28 US US15/033,459 patent/US9658985B2/en active Active
- 2014-10-28 WO PCT/GB2014/053200 patent/WO2015063466A1/en not_active Ceased
-
2017
- 2017-05-19 US US15/600,508 patent/US10275390B2/en active Active
-
2019
- 2019-03-26 US US16/364,366 patent/US20200026685A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US10275390B2 (en) | 2019-04-30 |
| GB201319279D0 (en) | 2013-12-18 |
| US20160259757A1 (en) | 2016-09-08 |
| GB201513909D0 (en) | 2015-09-23 |
| CN105830054B (zh) | 2019-03-08 |
| CN105830054A (zh) | 2016-08-03 |
| GB2519813B (en) | 2016-03-30 |
| WO2015063466A1 (en) | 2015-05-07 |
| GB2526018B (en) | 2018-11-14 |
| US9658985B2 (en) | 2017-05-23 |
| GB2526018A (en) | 2015-11-11 |
| WO2015063466A4 (en) | 2015-07-30 |
| US20200026685A1 (en) | 2020-01-23 |
| GB2519813A (en) | 2015-05-06 |
| US20180089140A1 (en) | 2018-03-29 |
| KR20160105774A (ko) | 2016-09-07 |
| EP3063651A1 (en) | 2016-09-07 |
| JP2016535913A (ja) | 2016-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6708552B2 (ja) | パイプライン化構成可能プロセッサ | |
| KR102782658B1 (ko) | 이종 처리 시스템을 위한 데이터 흐름 그래프 프로그래밍 환경 | |
| US11157428B1 (en) | Architecture and programming in a parallel processing environment with a tiled processor having a direct memory access controller | |
| US5933855A (en) | Shared, reconfigurable memory architectures for digital signal processing | |
| JP4391935B2 (ja) | 散在しているプロセッサと通信要素を備える処理システム | |
| US11334504B2 (en) | Hybrid architecture for signal processing and signal processing accelerator | |
| CN113811859A (zh) | 控制流屏障以及可重构数据处理器 | |
| JPS63147258A (ja) | マルチノード再構成可能パイプラインコンピュータ | |
| US10114795B2 (en) | Processor in non-volatile storage memory | |
| CN100392635C (zh) | 配置安排在条带中的多个处理元件方法和可重新配置装置 | |
| US20060015701A1 (en) | Arithmetic node including general digital signal processing functions for an adaptive computing machine | |
| WO2007002408A2 (en) | Computer processor pipeline with shadow registers for context switching, and method | |
| US9553590B1 (en) | Configuring programmable integrated circuit device resources as processing elements | |
| JP2005539292A (ja) | 信号伝播を終了させる機構を有するプログラマブルパイプラインファブリック | |
| US20170147513A1 (en) | Multiple processor access to shared program memory | |
| US8607029B2 (en) | Dynamic reconfigurable circuit with a plurality of processing elements, data network, configuration memory, and immediate value network | |
| US8041925B2 (en) | Switch coupled function blocks with additional direct coupling and internal data passing from input to output to facilitate more switched inputs to second block | |
| GB2555363A (en) | Multistage switch | |
| WO2021014017A1 (en) | A reconfigurable architecture, for example a coarse-grained reconfigurable architecture as well as a corresponding method of operating such a reconfigurable architecture | |
| US9081901B2 (en) | Means of control for reconfigurable computers | |
| Amano et al. | A dynamically adaptive switching fabric on a multicontext reconfigurable device | |
| Bindal | Special Topics | |
| Hendry | The Effects of Caching on Reconfigurable Adaptive Computing Systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171030 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171030 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181030 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181205 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190304 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190507 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191030 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200228 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20200324 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200428 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200521 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6708552 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |