JP2019506695A - 再構成可能アルゴリズムによるパイプラインコアおよびアルゴリズムマッチングパイプラインコンパイラを有するプロセッサ - Google Patents
再構成可能アルゴリズムによるパイプラインコアおよびアルゴリズムマッチングパイプラインコンパイラを有するプロセッサ Download PDFInfo
- Publication number
- JP2019506695A JP2019506695A JP2018558111A JP2018558111A JP2019506695A JP 2019506695 A JP2019506695 A JP 2019506695A JP 2018558111 A JP2018558111 A JP 2018558111A JP 2018558111 A JP2018558111 A JP 2018558111A JP 2019506695 A JP2019506695 A JP 2019506695A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- reconfigurable
- core
- algorithm
- icat
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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/7889—Reconfigurable logic implemented as a co-processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
本出願は、その全体が参照により本明細書に組み込まれる、2016年1月26日に出願されたProcessor With Reconfigurable Algorithmic Pipelined Core And Algorithmic Matching Pipelined Compilerと題する米国仮出願第62/287,265号の優先権を主張する。
アルゴリズムマッチングパイプラインコンパイラすなわちAMPCとは、従来の非再構成可能プロセッサ用のハイレベルプログラミング言語で書かれたコードを受け入れることが可能なコンパイラであり、AMPCは、RAPCまたはフィールドプログラマブルゲートアレイなどの再構成可能なコアまたはプロセッサにおいて利用可能なパイプライン化から利益を受けることができるハイレベルプログラミング言語で書かれたコードを識別し、再構成可能なコアまたはプロセッサを使用するための命令を提供する前に、再構成可能なコアまたはプロセッサを構成するように非再構成可能プロセッサに命令する、非再構成可能プロセッサ用のコードを出力する。再使用可能(または、再構成可能)アルゴリズムによるパイプラインコア(または、コンピュータ)すなわちRAPCとは、セットアップデータによって決定されるような数学関数の様々な組合せとともに連結または動作することができるオペランドデータ用の4つの入力を有する、整数計算および浮動小数点計算などの複数の演算のいずれかをプログラムするためのセットアップインターフェースと、ステータスデータとともに結果データとして出力される48ビットのアキュムレータとを含むDSP、関数を実行するために使用できるルックアップテーブル、ループカウンタ、および定数レジスタをプログラムするためのセットアップインターフェースと、メモリのブロックとを有するLDP、ならびにMBSを備える、パイプライン構造を有する再構成可能な処理コアとして定義される。MBSとは、アルゴリズムの処理中に中央プロセッサまたは周辺プロセッサからのこれ以上の介入なしにアルゴリズムを完了するために、必要に応じて、あるRAPCから別のRAPCに、かつ入力/出力コントローラおよび/または割込み生成器との間で、データおよび結果をルーティングする、再構成可能なプログラマブル回路として定義される。
int noise_threshold = 3;
int live_video_pixel = 0;
int black_video_pixel = 0;
boolean motion_detected = false;
int live_red_pixel = 0;
int live_green_pixel = 0;
int live_blue_pixel = 0;
int frame_delayed_pixel;
int frame_delayed_red_pixel = 0;
int frame_delayed_green_pixel = 0;
int frarne_delayed_blue_pixel = 0;
int red_mask =255; // 16進数の0000FF、2進数の000000000000000011111111は、ビット0〜7を抽出する
int green_mask = 65,280; // 16進数の00FF00、2進数の000000001111111100000000は、ビット8〜15を抽出する
int green_divisor =256
int blue_mask =16,711,680; // 16進数のFF0000、2進数の111111110000000000000000は、ビット23〜16を抽出する
int blue_divisor =65,536
// live_video_pixelから赤色、緑色、および青色のピクセルを抽出するためのプロシージャ
void extract_live_red_green_blue(int live_video_pixel)
{
live_red_pixel = (live_video_pixel); // ライブビデオから赤色のピクセルを抽出する
live_red_pixel = live_red_pixel & red_mask
live_red_pixel = (live_red_pixel / red_divisor)
live green pixel = (live_video_pixel); // ライブビデオから緑色のピクセルを抽出する
live_green_pixel = live_green_pixel & green_mask
live_green_pixel = (live_green_pixel / green_divisor)
live blue pixel = (live_video_pixel); // ライブビデオから青色のピクセルを抽出する
live_blue_pixel = live_blue_pixel & blue_mask
live_blue_pixel = (live_blue_pixel / blue_divisor)
}
// delayed_frame_video_pixelから赤色、緑色、および青色のピクセルを抽出するためのプロシージャ
void extract_delayed_red_green_blue(int frame_delayed_video_pixel);
{
frame_delayed_red_pixel = (live_video_pixel); // 赤色のピクセルを抽出する
frame_delayed_red_pixel = (frame_delayed_red_pixel & red_mask);
frame_delayed_red_pixel = (frame_delayed_red_pixel / red_divisor);
frame_delayed_green_pixel = (live_video_pixel); // 緑色のピクセルを抽出する
frame_delayed_green_pixel = (frame_delayed_green_pixel & green_mask);
frame_delayed_green_pixel = (frame_delayed_green_pixel / green_divisor);
frame_delayed_blue_pixel = (frame_delayed_video_pixel); // 青色のピクセルを抽出する
frame_delayed_blue_pixel = (frame_delayed_blue_pixel & blue_mask)
frame_delayed_blue_pixel = (frame_delayed_blue_pixel / blue_divisor)
}
// 動き検出アルゴリズムのためのプロシージャ
boolean motion_detected detect_motion();
{
motion_detect = false; // 動きを検出するための準備をする
result_red_pixel = (frame_delayed_red_pixel - live_red_pixel); // 赤色のピクセルを減じる
if(result_red_pixel > noise_threshold) // red_resultが雑音しきい値よりも大きいかどうかをテストする
{
motion_detected = true; // 赤色のピクセル上で動きが検出された
} // if(result_red_pixel > noise_threshold)の終わり
result_green_pixel = frame_delayed_green_pixel - live_green_pixel; // 緑色のピクセルを減じる
if(result_green_pixel > noise_threshold) // green_resultが雑音しきい値よりも大きいかどうかをテストする
{
motion_detected = true; // 緑色のピクセル上で動きが検出された
} // if(result_green_pixel > noise_threshold)の終わり
result_blue_pixel = frame_delayed_green_pixel - live_green_pixel; // 緑色のピクセルを減じる
if(result_blue_pixel > noise_threshold) // blue_resultが雑音しきい値よりも大きいかどうかをテストする
{
motion_detected = true;
} // if(result_blue_pixel > noise_threshold)の終わり
return motion_detected; // 青色のピクセル上で動きが検出された
} // 動き検出アルゴリズムの終わり
// ビデオの1フレームのためのプロシージャ(ビデオのフレームごとに実行される)
do // フレームごとにすべてのピクセルを処理する(hd = フレーム当り777,600ピクセル)
// (ピクセルごとに31個の命令が実行される)
{
if(pixel_clock = true); // pixel_clockはライブビデオストリームに由来し、hd = 46.656MHzである
{ // ライブビデオおよび遅延したビデオピクセルから赤色、緑色、および青色のピクセルを抽出する
frame_delayed_pixel = delay_buffer_output_pixel; // フレーム遅延したビデオピクセルを得る
live_video_pixel = live_video_input_pixel; // ライブビデオピクセルを得る
extract_live_red_green_blue(int live_video_pixel); // ライブカラーピクセルを抽出する(9命令/ピクセル)
extract_delayed_red_green_blue(int frame_delayed_pixel); // 遅延したカラーピクセルを抽出する(9命令/ピクセル)
} // if(pixel_clock = true)の終わり
motion_detect = detect_motion(); // 動きを検出するための関数を呼び出す(11命令/ピクセル)
if(motion_detect = true); // motion_detectがビデオ出力1および2の処理をスワップする
{
output1; // 動いているビデオだけが表示される。動いていないビデオは黒色である。
output2; // 動いていないビデオだけが表示される。動いているビデオは黒色である。
} // if(motion_detect = true)の終わり
if(motion_detect = false); // motion_detectがビデオ出力1および2の処理をスワップする
{
output1; // 動いていないビデオだけが表示される。動いているビデオは黒色である。
output2; // 動いているビデオだけが表示される。動いていないビデオは黒色である。
} // if motion_detect = false)の終わり
until(end_of_frame = true); // end_of_frameはビデオストリームの中の信号である
101 メイン処理システム
102 並列処理リソース
103〜106 制御レジスタ
107 数理プロセッサ
108 論理プロセッサ
109 マトリックスルーティング
110 デジタル信号プロセッサ(DSP)
111 論理決定プロセッサ(LDP)
112 出力デバイス
113 デバイス
Claims (23)
- 再使用可能アルゴリズムによるパイプラインコアであって、
処理ユニットと、
再構成可能なフィールドプログラマブルゲートのアレイであって、前記フィールドプログラマブルゲートが、アルゴリズムマッチングパイプラインコンパイラによってプログラムされ、その結果、前記アルゴリズムマッチングパイプラインコンパイラが、前記処理ユニットによって並列処理を有しない標準的なプロセッサ上での動作用に設計されたソースコードを処理するためにプリコンパイルし、前記処理ユニットおよび前記アルゴリズムマッチングパイプラインコンパイラが、前記フィールドプログラマブルゲートをパイプラインの並列プロセッサとして動作するように構成する、再構成可能なフィールドプログラマブルゲートのアレイと
を備える、コア。 - 前記アルゴリズムマッチングパイプラインコンパイラがプリコンパイラである、請求項1に記載のコア。
- 前記プリコンパイラが、前記コア用ではなくあるタイプの従来型非再構成可能プロセッサ用に書かれたハイレベル標準ソフトウェア言語をプリコンパイルするように構成され、前記プリコンパイラが、前記ハイレベル標準ソフトウェア言語がそのために書かれた前記タイプの従来型非再構成可能プロセッサを利用して、再構成可能なフィールドプログラマブルゲートの前記アレイを構成するための機械コードを生成することによって、前記コア用の機械コードを生成する、請求項2に記載のコア。
- 前記ハイレベル標準ソフトウェア言語がCまたはC++である、請求項3に記載のコア。
- 前記コアが、特定の計算のために必要とされるアルゴリズムを処理するように、前記プリコンパイラからの出力に基づいて構成されるコンピュータのプールを備え、前記フィールドプログラマブルゲートが、前記処理ユニットからのこれ以上のオーバーヘッドなしにタスクを完了するように構成される、請求項2に記載のコア。
- インテリジェントバスコントローラまたは論理プロセッサをさらに備え、前記インテリジェントバスコントローラまたは論理プロセッサが、前記コアによって処理される論理関数のすべてを実行する、請求項5に記載のコア。
- 論理プロセッサおよびマスタバススイッチをさらに備え、前記論理プロセッサが、前記マスタバススイッチの制御のための再構成可能な論理関数を備える、請求項5に記載のコア。
- デジタル信号プロセッサをさらに備え、前記デジタル信号プロセッサが、数学計算を実行するための再構成可能な数理プロセッサを備える、請求項7に記載のコア。
- 前記マスタバススイッチが、前記プリコンパイラおよび前記処理ユニットによって再構成可能にプログラマブルな回路を備えるマトリックスバスルータまたはマトリックスバススイッチであり、その結果、データおよび結果が、アルゴリズムの前記処理中に中央プロセッサまたは周辺プロセッサからのこれ以上の介入なしに、前記アルゴリズムを完了するために前記コアから別のコアにルーティングされ、算術処理ユニットの内および外へデータおよび結果を導くための中央プロセッサまたは周辺プロセッサによる介入を必要とする静的な非再構成可能ハードウェアと比較して、パイプライン化することによってオーバーヘッドを低減する、請求項8に記載のコア。
- 前記論理プロセッサが論理決定および反復ループを処理し、アルゴリズムを学習するために結果メモリが前記論理プロセッサによって提供される、請求項9に記載のコア。
- 請求項1に記載の複数の前記コアを備え、
前記複数のコアのうちの1つまたは複数のデジタル信号プロセッサを使用して数学演算のすべてを処理するステップと、
前記複数のコアのうちの1つまたは複数の前記論理プロセッサのうちの1つまたは複数を使用して前記論理関数のすべてを処理するステップと
を備える、システム。 - コアのプールとして前記複数のコアを構成するステップをさらに備え、コアの前記プールの各々が、ハードウェアのいかなる変更も伴わずプログラミングによって単独で再構成可能である、請求項11に記載のシステム。
- 前記構成するステップが、算術処理ユニットの内および外へデータおよび結果を導くための中央プロセッサまたは周辺プロセッサからのこれ以上の介入なしに、アルゴリズムを並行して処理するように前記複数のコアのすべてを構成する、請求項12に記載のシステム。
- 前記アルゴリズムマッチングパイプラインコンパイラがプリコンパイラであり、前記複数のコアの各々の前記論理プロセッサが、定数または学習値のためのルックアップテーブルおよびレジスタとして前記プリコンパイラによって構成されるメモリブロックを使用する、請求項13に記載のシステム。
- 前記論理プロセッサによって前記ルックアップテーブルをセットアップするステップをさらに備え、前記ルックアップテーブルがnビットのルックアップテーブルであり、前記nビットのルックアップテーブルが、nビットのブール論理関数を真理値表として符号化するために使用される、請求項14に記載のシステム。
- 前記複数のコアのうちの1つまたは複数のための前記アルゴリズムマッチングパイプラインコンパイラを使用して、従来の非再構成可能かつ非パイプラインの汎用コンピュータプロセッサ用に書かれたハイレベル標準ソフトウェア言語から機械コードを生成するステップをさらに備える、請求項11に記載のシステム。
- 前記ハイレベル標準ソフトウェア言語が、あるタイプの従来型非再構成可能プロセッサ用に書かれ、機械コードを前記生成するステップは、前記アルゴリズムマッチングパイプラインコンパイラが、プリコンパイラとして、前記複数のコアの各々の再構成可能なフィールドプログラマブルゲートの前記アレイを構成するための機械コードを生成するために、前記タイプの従来型非再構成可能プロセッサを利用するステップを備える、請求項16に記載のシステム。
- 前記システムが、前記ハイレベル標準ソフトウェア言語がそのために書かれた前記タイプの従来型非再構成可能プロセッサとしての少なくとも1つのプロセッサを備え、前記ハイレベル標準ソフトウェア言語がそのために書かれた前記タイプの従来型非再構成可能プロセッサとしての前記少なくとも1つのプロセッサが、前記複数のコアの各々の再構成可能なフィールドプログラマブルゲートの前記アレイを構成するための前記機械コードを生成する、請求項17に記載のシステム。
- 前記複数のコアの各々が、前記ハイレベル標準ソフトウェア言語がそのために書かれた前記タイプの従来型非再構成可能プロセッサとしての前記少なくとも1つのプロセッサによるさらなる介入なしに、複雑な数理的および論理的なアルゴリズムを独立に解決するように構成される、請求項18に記載のシステム。
- 前記システムに値を入力することをさらに備え、前記システムが、さらなる介入なしに前記システムのマスタバススイッチに解を出力する、請求項19に記載のシステム。
- 前記複数のコアが2000個のコアを備える、請求項20に記載のシステム。
- 前記システムが500MHzのクロック速度を用いて毎秒360兆個の命令を動作させる、請求項21に記載のシステム。
- 前記システムがデータの入力に対するレイテンシを有するが、前記レイテンシが引き起こされた後、前記システムが各コアからの各クロックにおいて計算を実行するとともに結果を出力するように構成されるようにパイプラインがオーバーヘッドを低減する、請求項22に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662287265P | 2016-01-26 | 2016-01-26 | |
US62/287,265 | 2016-01-26 | ||
PCT/US2017/015143 WO2017132385A1 (en) | 2016-01-26 | 2017-01-26 | Processor with reconfigurable algorithmic pipelined core and algorithmic matching pipelined compiler |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019506695A true JP2019506695A (ja) | 2019-03-07 |
JP7015249B2 JP7015249B2 (ja) | 2022-02-02 |
Family
ID=59359078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018558111A Active JP7015249B2 (ja) | 2016-01-26 | 2017-01-26 | 再構成可能アルゴリズムによるパイプラインコアおよびアルゴリズムマッチングパイプラインコンパイラを有するプロセッサ |
Country Status (17)
Country | Link |
---|---|
US (3) | US20170212739A1 (ja) |
EP (1) | EP3408737A4 (ja) |
JP (1) | JP7015249B2 (ja) |
KR (1) | KR20180132044A (ja) |
CN (1) | CN108885543A (ja) |
AU (1) | AU2017211781B2 (ja) |
BR (1) | BR112018015276A2 (ja) |
CA (1) | CA3012781C (ja) |
CL (1) | CL2018002025A1 (ja) |
CO (1) | CO2018008835A2 (ja) |
IL (1) | IL279302B2 (ja) |
MX (1) | MX2018009255A (ja) |
MY (1) | MY191841A (ja) |
PH (1) | PH12018501591A1 (ja) |
RU (1) | RU2018130817A (ja) |
SG (1) | SG11201806395SA (ja) |
WO (1) | WO2017132385A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6901042B2 (ja) * | 2018-04-03 | 2021-07-14 | 日本電気株式会社 | 心不全増悪度判定システム及び心不全増悪度判定方法 |
CN108958852A (zh) * | 2018-07-16 | 2018-12-07 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga异构平台的系统优化方法 |
JP7123676B2 (ja) * | 2018-07-20 | 2022-08-23 | オムロンヘルスケア株式会社 | 生体データ測定システム及び生体データ測定方法 |
US20210401332A1 (en) * | 2018-11-15 | 2021-12-30 | My-Vitality Sàrl | Self-monitoring and care assistant for achieving glycemic goals |
KR101996842B1 (ko) * | 2018-12-26 | 2019-07-08 | (주)자람테크놀로지 | 사용자 정의 명령어 셋을 지원하는 하드웨어 고속 연산 결합형 risc-v 기반 연산 장치 및 그 방법 |
US11080227B2 (en) * | 2019-08-08 | 2021-08-03 | SambaNova Systems, Inc. | Compiler flow logic for reconfigurable architectures |
US20210076985A1 (en) * | 2019-09-13 | 2021-03-18 | DePuy Synthes Products, Inc. | Feature-based joint range of motion capturing system and related methods |
CN113222126B (zh) * | 2020-01-21 | 2022-01-28 | 上海商汤智能科技有限公司 | 数据处理装置、人工智能芯片 |
CN111444159B (zh) * | 2020-03-03 | 2024-05-03 | 中国平安人寿保险股份有限公司 | 精算数据处理方法、装置、电子设备及存储介质 |
KR20210151525A (ko) * | 2020-06-05 | 2021-12-14 | 삼성전자주식회사 | 생체정보 추정 장치 및 방법 |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
CN111813526A (zh) * | 2020-07-10 | 2020-10-23 | 深圳致星科技有限公司 | 用于联邦学习的异构处理系统、处理器及任务处理方法 |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
US20220233093A1 (en) * | 2021-01-22 | 2022-07-28 | AsthmaTek, Inc. | Systems and methods to provide a physician interface that enables a physician to assess asthma of a subject and provide therapeutic feedback |
TWI768818B (zh) * | 2021-04-08 | 2022-06-21 | 緯創資通股份有限公司 | 混合式體溫量測系統及其方法 |
EP4105827B1 (en) * | 2021-06-14 | 2024-03-13 | Tata Consultancy Services Limited | Method and system for personalized eye blink detection |
CN113703843B (zh) * | 2021-09-24 | 2024-04-12 | 中国人民解放军军事科学院军事医学研究院 | 一种寄存器数据处理方法、装置及存储器 |
CN117311247B (zh) * | 2023-11-30 | 2024-03-26 | 山东盛泰矿业科技有限公司 | 一种用于地下采矿的控制装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002508102A (ja) * | 1997-06-27 | 2002-03-12 | カメレオン・システムズ・インコーポレーテッド | 高水準プログラミング言語をコンパイルするための方法 |
JP2006065786A (ja) * | 2004-08-30 | 2006-03-09 | Sanyo Electric Co Ltd | 処理装置 |
JP2014016894A (ja) * | 2012-07-10 | 2014-01-30 | Renesas Electronics Corp | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4291372A (en) * | 1979-06-27 | 1981-09-22 | Burroughs Corporation | Microprocessor system with specialized instruction format |
US5684980A (en) | 1992-07-29 | 1997-11-04 | Virtual Computer Corporation | FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions |
US20060081971A1 (en) * | 1997-09-30 | 2006-04-20 | Jeng Jye Shau | Signal transfer methods for integrated circuits |
US6718457B2 (en) * | 1998-12-03 | 2004-04-06 | Sun Microsystems, Inc. | Multiple-thread processor for threaded software applications |
TW463175B (en) * | 2000-03-01 | 2001-11-11 | Winbond Electronics Corp | Memory processing method and system |
US7000213B2 (en) * | 2001-01-26 | 2006-02-14 | Northwestern University | Method and apparatus for automatically generating hardware from algorithms described in MATLAB |
US20030066057A1 (en) * | 2001-02-23 | 2003-04-03 | Rudusky Daryl | System, method and article of manufacture for collaborative hardware design |
AU2004290281A1 (en) * | 2003-05-23 | 2005-05-26 | Washington University | Intelligent data storage and processing using FPGA devices |
US7818725B1 (en) * | 2005-04-28 | 2010-10-19 | Massachusetts Institute Of Technology | Mapping communication in a parallel processing environment |
US7843215B2 (en) * | 2007-03-09 | 2010-11-30 | Quadric, Inc. | Reconfigurable array to compute digital algorithms |
US8214814B2 (en) * | 2008-06-24 | 2012-07-03 | International Business Machines Corporation | Sharing compiler optimizations in a multi-node system |
US20130212366A1 (en) * | 2012-02-09 | 2013-08-15 | Altera Corporation | Configuring a programmable device using high-level language |
US9218289B2 (en) * | 2012-08-06 | 2015-12-22 | Qualcomm Incorporated | Multi-core compute cache coherency with a release consistency memory ordering model |
-
2017
- 2017-01-26 WO PCT/US2017/015143 patent/WO2017132385A1/en active Application Filing
- 2017-01-26 AU AU2017211781A patent/AU2017211781B2/en active Active
- 2017-01-26 RU RU2018130817A patent/RU2018130817A/ru unknown
- 2017-01-26 MY MYPI2018702593A patent/MY191841A/en unknown
- 2017-01-26 BR BR112018015276A patent/BR112018015276A2/pt not_active Application Discontinuation
- 2017-01-26 KR KR1020187024664A patent/KR20180132044A/ko not_active Application Discontinuation
- 2017-01-26 US US15/416,972 patent/US20170212739A1/en not_active Abandoned
- 2017-01-26 SG SG11201806395SA patent/SG11201806395SA/en unknown
- 2017-01-26 CN CN201780020270.0A patent/CN108885543A/zh active Pending
- 2017-01-26 JP JP2018558111A patent/JP7015249B2/ja active Active
- 2017-01-26 EP EP17744897.4A patent/EP3408737A4/en active Pending
- 2017-01-26 CA CA3012781A patent/CA3012781C/en active Active
- 2017-01-26 MX MX2018009255A patent/MX2018009255A/es unknown
-
2018
- 2018-03-13 US US15/919,885 patent/US10515041B2/en active Active
- 2018-07-26 PH PH12018501591A patent/PH12018501591A1/en unknown
- 2018-07-26 CL CL2018002025A patent/CL2018002025A1/es unknown
- 2018-08-24 CO CONC2018/0008835A patent/CO2018008835A2/es unknown
-
2019
- 2019-11-06 US US16/675,876 patent/US10970245B2/en active Active
-
2020
- 2020-12-08 IL IL279302A patent/IL279302B2/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002508102A (ja) * | 1997-06-27 | 2002-03-12 | カメレオン・システムズ・インコーポレーテッド | 高水準プログラミング言語をコンパイルするための方法 |
JP2006065786A (ja) * | 2004-08-30 | 2006-03-09 | Sanyo Electric Co Ltd | 処理装置 |
JP2014016894A (ja) * | 2012-07-10 | 2014-01-30 | Renesas Electronics Corp | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム |
Non-Patent Citations (2)
Title |
---|
J.R.HAUSER ET AL.: "Garp: a MIPS processor with a reconfigurable coprocessor", PUBLISHED IN: PROCEEDINGS. THE 5TH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACH, JPN6020049513, 18 April 1997 (1997-04-18), pages 12 - 21, XP010247463, ISSN: 0004413680, DOI: 10.1109/FPGA.1997.624600 * |
M.WEINHARDT ET AL.: "Pipeline vectorization for reconfigurable systems", PUBLISHED IN: SEVENTH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (CAT. NO, JPN6020049509, 23 April 1999 (1999-04-23), pages 1 - 11, ISSN: 0004413679 * |
Also Published As
Publication number | Publication date |
---|---|
US20200142851A1 (en) | 2020-05-07 |
JP7015249B2 (ja) | 2022-02-02 |
PH12018501591A1 (en) | 2019-04-08 |
US20180246834A1 (en) | 2018-08-30 |
MX2018009255A (es) | 2019-03-18 |
CL2018002025A1 (es) | 2019-02-08 |
MY191841A (en) | 2022-07-18 |
CA3012781C (en) | 2022-08-30 |
AU2017211781B2 (en) | 2021-04-22 |
CN108885543A (zh) | 2018-11-23 |
AU2017211781A1 (en) | 2018-09-13 |
RU2018130817A (ru) | 2020-02-27 |
EP3408737A1 (en) | 2018-12-05 |
EP3408737A4 (en) | 2019-09-11 |
CO2018008835A2 (es) | 2018-11-13 |
US10970245B2 (en) | 2021-04-06 |
SG11201806395SA (en) | 2018-08-30 |
BR112018015276A2 (pt) | 2018-12-18 |
RU2018130817A3 (ja) | 2020-04-16 |
IL279302B2 (en) | 2023-06-01 |
US20170212739A1 (en) | 2017-07-27 |
CA3012781A1 (en) | 2017-08-03 |
WO2017132385A1 (en) | 2017-08-03 |
IL279302A (en) | 2021-01-31 |
US10515041B2 (en) | 2019-12-24 |
KR20180132044A (ko) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970245B2 (en) | Processor with reconfigurable pipelined core and algorithmic compiler | |
US20190102179A1 (en) | Processors and methods for privileged configuration in a spatial array | |
JP7183197B2 (ja) | 高スループットプロセッサ | |
Nicol | A coarse grain reconfigurable array (CGRA) for statically scheduled data flow computing | |
CN111566616B (zh) | 多处理器系统的编程流程 | |
EP2601577B1 (en) | A method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system | |
Gokhale et al. | FPGA computing in a data parallel C | |
Stitt | Are field-programmable gate arrays ready for the mainstream? | |
Paul et al. | Resource-awareness on heterogeneous MPSoCs for image processing | |
Jesshope et al. | Design of SIMD microprocessor array | |
Giefers et al. | An FPGA-based reconfigurable mesh many-core | |
Shah et al. | DPU-v2: Energy-efficient execution of irregular directed acyclic graphs | |
KHALILI MAYBODI | A Data-Flow Threads Co-processor for MPSoC FPGA Clusters | |
Chu | Reconfigurable computing systems cost/benefit analysis model | |
Janßen | Hardware/Software virtualization in complex embedded systems | |
WO2021014017A1 (en) | A reconfigurable architecture, for example a coarse-grained reconfigurable architecture as well as a corresponding method of operating such a reconfigurable architecture | |
Chickerur et al. | Reconfigurable Computing: A Review | |
Döbrich | Performance Improvement of Adaptive Processors | |
Cardoso | Data-driven array architectures: a rebirth? | |
Rivera et al. | Scheduling methodology for conditional execution of kernels onto multicontext reconfigurable architectures | |
Jedermann | Master Seminar Application-specific Computing Features in Processors | |
CEA et al. | ARCHITECTURES AND TECHNOLOGIES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191015 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211210 |
|
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: 20211224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220121 |