JP5632651B2 - 半導体回路及び設計装置 - Google Patents
半導体回路及び設計装置 Download PDFInfo
- Publication number
- JP5632651B2 JP5632651B2 JP2010115552A JP2010115552A JP5632651B2 JP 5632651 B2 JP5632651 B2 JP 5632651B2 JP 2010115552 A JP2010115552 A JP 2010115552A JP 2010115552 A JP2010115552 A JP 2010115552A JP 5632651 B2 JP5632651 B2 JP 5632651B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- hardware accelerator
- function
- program
- data
- 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
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 or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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 or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
- G06F9/3881—Arrangements for communication of instructions and data
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Description
202 外部メモリ
211 内部バス
212 中央処理装置
213 ハードウェアアクセラレータ
214 内部メモリ
215 メモリコントローラ
216 ハードウェアアクセラレータ開始アドレス記憶部
217 比較器
231 ハードウェア化した関数
232 有限ステートマシン
233 ベースアドレス記憶部
234 第2の加算器
235 第1の加算器
236 セレクタ
Claims (10)
- 半導体回路であって、
データを記憶するためのメモリと、
ハードウェアアクセラレータ開始アドレスを記憶するための第一記憶部と、
プログラムを実行し、前記プログラムの実行中のアドレスを示すプログラムカウンタの値がハードウェアアクセラレータ開始アドレスと等しくなると、前記プログラムの関数の引数のデータとベースアドレスとをスタックポインタに記憶されたメモリのアドレスに書き込み、前記スタックポインタのアドレスを出力する処理装置と、
前記処理装置の前記プログラムカウンタの値が前記ハードウェアアクセラレータ開始アドレスと等しくなると、前記処理装置から前記スタックポインタのアドレスを受信するハードウェアアクセラレータとを有し、
前記ハードウェアアクセラレータは、
第二記憶部と、
前記スタックポインタに記憶された前記メモリのアドレスから前記関数の引数のデータと前記ベースアドレスとを読み出し、前記ベースアドレスを前記第二記憶部に書き出し、前記引数のデータを用いて前記関数を実行する有限ステートマシンとを有する、
ことを特徴とする半導体回路。 - さらに、前記処理装置が出力する前記プログラムカウンタの値と前記ハードウェアアクセラレータ開始アドレスとを比較し、両者が一致すると一致信号を出力する比較器を有し、
前記ハードウェアアクセラレータは、前記比較器が一致信号を出力すると、前記プログラムカウンタの値が前記ハードウェアアクセラレータ開始アドレスになったと判断することを特徴とする請求項1記載の半導体回路。 - 前記ハードウェアアクセラレータは、
前記スタックポインタに記憶された前記メモリのアドレス及びスタック読み出しアドレスを加算し、前記メモリのアドレスを出力する第1の加算器を有し、
前記第1の加算器により出力された前記メモリのアドレスから前記関数の引数のデータを読み出すことを特徴とする請求項1又は2記載の半導体回路。 - 前記ハードウェアアクセラレータは、
前記ベースアドレス及びデータアドレスを加算し、前記メモリのアドレスを出力する第2の加算器を有し、
前記第2の加算器により出力された前記メモリのアドレスそれぞれに対してデータの読み出し又は書き込みを行うことを特徴とする請求項1〜3のいずれか1項に記載の半導体回路。 - 前記ハードウェアアクセラレータは、さらに、
前記第1と第2の加算器の出力を選択するセレクタを有することを特徴とする請求項4に記載の半導体回路。 - 前記ハードウェアアクセラレータ開始アドレスは、
前記処理装置によって処理される前記プログラムの前記関数のアドレスを示すことを特徴とする請求項1〜5のいずれか1項に記載の半導体回路。 - 前記処理装置は、さらに、
前記スタックポインタの前記アドレスの出力のあとに、無限ループ処理またはスリープ命令を実行することを特徴とする請求項1〜6のいずれか1項に記載の半導体回路。 - 前記ハードウェアアクセラレータは、さらに、
前記関数に内部バスの通過を許可するラッパー回路を有することを特徴とする請求項1〜7のいずれか1項に記載の半導体回路。 - 半導体回路の設計装置であって、
前記設計装置は、
処理装置が処理を行うプログラム中の引数を有する関数である第1の関数を、ハードウェアアクセラレータに処理される前記第1の関数の処理完了待ちの処理を行う第2の関数に置き換える第1の変換部と、
前記第1の関数を有するプログラムをコンパイルし、前記処理装置に当該プログラムを処理させるための実行ファイルを生成するコンパイル部と、
前記第1の関数を前記ハードウェアアクセラレータに処理させるために、前記第1の関数の引数をローカル配列化する第2の変換部と、
前記第1の関数をハードウェア化するためにローカル配列化された前記第1の関数を高位合成し、前記ハードウェアアクセラレータの設計データを生成する高位合成部と
を有し、
前記半導体回路は、
データを記憶するためのメモリと、
ハードウェアアクセラレータ開始アドレスを記憶するための第一記憶部と、
プログラムを実行し、前記プログラムの実行中のアドレスを示すプログラムカウンタの値がハードウェアアクセラレータ開始アドレスと等しくなると、前記プログラムの関数の引数のデータとベースアドレスとをスタックポインタに記憶されたメモリのアドレスに書き込み、前記スタックポインタに記憶された前記アドレスを出力する前記処理装置と、
前記処理装置のプログラムカウンタの値が前記ハードウェアアクセラレータ開始アドレスと等しくなると、前記処理装置から前記スタックポインタのアドレスを受信するための前記ハードウェアアクセラレータとを有し、
前記ハードウェアアクセラレータは、
第二記憶部と、
前記スタックポインタに記憶された前記メモリのアドレスから前記関数の引数のデータと前記ベースアドレスとを読み出し、前記ベースアドレスを前記第二記憶部に書き出し、前記引数のデータを用いて前記関数を実行する有限ステートマシンとを有ることを特徴とする設計装置。 - 前記高位合成部は、
前記ハードウェアアクセラレータのレジスタートランスファレベル設計データを生成することを特徴とする請求項9に記載の設計装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010115552A JP5632651B2 (ja) | 2010-05-19 | 2010-05-19 | 半導体回路及び設計装置 |
US13/028,840 US20110289298A1 (en) | 2010-05-19 | 2011-02-16 | Semiconductor circuit and designing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010115552A JP5632651B2 (ja) | 2010-05-19 | 2010-05-19 | 半導体回路及び設計装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011243055A JP2011243055A (ja) | 2011-12-01 |
JP5632651B2 true JP5632651B2 (ja) | 2014-11-26 |
Family
ID=44973443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010115552A Active JP5632651B2 (ja) | 2010-05-19 | 2010-05-19 | 半導体回路及び設計装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110289298A1 (ja) |
JP (1) | JP5632651B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6039282B2 (ja) | 2011-08-05 | 2016-12-07 | キヤノン株式会社 | 放射線発生装置及び放射線撮影装置 |
US9122831B2 (en) | 2012-05-21 | 2015-09-01 | Mitsubishi Electric Corporation | LSI designing apparatus, LSI designing method, and program |
US9703603B1 (en) * | 2016-04-25 | 2017-07-11 | Nxp Usa, Inc. | System and method for executing accelerator call |
WO2022024252A1 (ja) * | 2020-07-29 | 2022-02-03 | 日本電信電話株式会社 | タスク優先度制御システム、タスク優先度制御システムのデータ退避方法、およびプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218711A (en) * | 1989-05-15 | 1993-06-08 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor having program counter registers for its coprocessors |
JPH02306360A (ja) * | 1989-05-19 | 1990-12-19 | Mitsubishi Electric Corp | コプロセッサ及びそれを使用したデータ処理装置 |
US6085307A (en) * | 1996-11-27 | 2000-07-04 | Vlsi Technology, Inc. | Multiple native instruction set master/slave processor arrangement and method thereof |
US6505290B1 (en) * | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6135647A (en) * | 1997-10-23 | 2000-10-24 | Lsi Logic Corporation | System and method for representing a system level RTL design using HDL independent objects and translation to synthesizable RTL code |
US5923892A (en) * | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
US6588008B1 (en) * | 2000-04-11 | 2003-07-01 | International Business Machines Corporation | Assembler tool for processor-coprocessor computer systems |
US7366882B2 (en) * | 2001-05-10 | 2008-04-29 | Zohair Sahraoui | Address calculation unit for an object oriented processor having differentiation circuitry for selectively operating micro-instructions |
JP2003216943A (ja) * | 2002-01-22 | 2003-07-31 | Toshiba Corp | 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法 |
US7805590B2 (en) * | 2006-06-27 | 2010-09-28 | Freescale Semiconductor, Inc. | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence |
US8276120B2 (en) * | 2007-10-30 | 2012-09-25 | Coreworks, S.A. | Reconfigurable coprocessor architecture template for nested loops and programming tool |
-
2010
- 2010-05-19 JP JP2010115552A patent/JP5632651B2/ja active Active
-
2011
- 2011-02-16 US US13/028,840 patent/US20110289298A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110289298A1 (en) | 2011-11-24 |
JP2011243055A (ja) | 2011-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6317065B2 (ja) | 再構成可能プロセッサ及びそのコード変換装置及び方法 | |
US9043806B2 (en) | Information processing device and task switching method | |
GB2474901A (en) | Multiply-accumulate instruction which adds or subtracts based on a predicate value | |
JP2001166947A (ja) | コンパイル処理方式 | |
JP2011086298A (ja) | プログラム・フロー制御 | |
JPWO2012105593A1 (ja) | データフローグラフ処理装置、データフローグラフ処理方法およびデータフローグラフ処理プログラム | |
CN113626038B (zh) | 代码转换方法、装置、设备以及存储介质 | |
JP5632651B2 (ja) | 半導体回路及び設計装置 | |
CN114327776B (zh) | 用于智能合约的调试方法、调试设备和调试系统 | |
JP6494155B2 (ja) | ミニコア基盤の再構成可能プロセッサ、そのためのスケジュール装置及び方法 | |
JP2013512511A (ja) | 複数メモリ特定用途向けデジタル信号プロセッサ | |
JP4580827B2 (ja) | 動作合成装置及び自動動作合成方法 | |
CN110333867B (zh) | 一种多方安全计算数据处理方法、装置及系统 | |
US8117603B2 (en) | Operation synthesis system | |
GB2523205A (en) | Efficient calling of functions on a processor | |
JP5157534B2 (ja) | 動作合成装置、および、プログラム | |
CN105335135A (zh) | 数据处理方法和中心节点 | |
WO2024109312A1 (zh) | 任务调度执行方法、任务调度执行指令的生成方法及装置 | |
US20140013312A1 (en) | Source level debugging apparatus and method for a reconfigurable processor | |
US20240411555A1 (en) | Vector operation method, vector operator, electronic device and storage medium | |
CN111176663A (zh) | 应用程序的数据处理方法、装置、设备及存储介质 | |
JP5382624B2 (ja) | マルチプロセッサ制御装置、その方法及びそのプログラム | |
JP5360506B2 (ja) | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム | |
JP5187944B2 (ja) | コンピュータ使用可能コードを実行する装置及び方法 | |
JP2013161484A (ja) | 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130201 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20130822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140820 |
|
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: 20140911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141010 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5632651 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |