JP3900499B2 - 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 - Google Patents
再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 Download PDFInfo
- Publication number
- JP3900499B2 JP3900499B2 JP2004311995A JP2004311995A JP3900499B2 JP 3900499 B2 JP3900499 B2 JP 3900499B2 JP 2004311995 A JP2004311995 A JP 2004311995A JP 2004311995 A JP2004311995 A JP 2004311995A JP 3900499 B2 JP3900499 B2 JP 3900499B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- coprocessor
- instruction
- function
- fpga
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000001133 acceleration Effects 0.000 title description 4
- 230000006870 function Effects 0.000 claims description 77
- 230000004044 response Effects 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 102100036912 Desmin Human genes 0.000 description 1
- 101000928044 Homo sapiens Desmin Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Description
204 コプロセッサ
206 PLB(プロセッサ・ローカル・バス)
208 プログラミング・インターフェース
210 FPGA(書換え可能ゲート・アレイ)
212 PLBインターフェース
214 APU(補助処理装置)インターフェース
216 メモリ
218 プログラミング・チャネル
220 コンフィギュレーション・ビット・ストリーム
222 例外処理サブルーチン
702 プロセッサ
704 コプロセッサ
706 SRI(共用資源インターフェース)
708 プロセッサ
710 コプロセッサ
711 SRI(共用資源インターフェース)
712 プロセッサ
714 コプロセッサ
716 SRI(共用資源インターフェース)
718 SRM(共用資源マネージャ)
Claims (19)
- プロセッサに結合されたコプロセッサ中のFPGAを動的にプログラムする方法であって、
(a)前記プロセッサがアプリケーションの実行を開始させるステップと、
(b)前記コプロセッサが前記アプリケーションのための関数の実行を求める命令を、命令フロー・レベルにおいて前記プロセッサと前記コプロセッサとを密結合するAPUインターフェースを介して前記プロセッサから受け取るステップと、
(c)前記コプロセッサ中の前記FPGAが前記関数用のロジックでプログラムされていないと判定するステップと、
(d)前記プロセッサが、前記プロセッサと前記コプロセッサとを結合するローカル・バスに結合されたメモリから前記関数用のコンフィギュレーション・ビット・ストリームをフェッチするステップと、
(e)前記ローカル・バスに結合されたプログラミング・チャネルを介して、前記FPGAを前記コンフィギュレーション・ビット・ストリームでプログラムするステップと
を含む方法。 - 前記受け取るステップ(b)が、
(b1)前記プロセッサと前記コプロセッサとの間の前記APUインターフェースが前記命令を受け取るステップを含む、請求項1に記載の方法。 - 前記判定するステップ(c)が、
(c1)前記APUインターフェースが誤ったコミットを発行したと判定するステップを含む、請求項2に記載の方法。 - 前記フェッチするステップ(d)が、
(d1)前記プロセッサが例外処理サブルーチンを開始させるステップと、
(d2)前記プロセッサの前記例外処理サブルーチンが前記関数用の前記コンフィギュレーション・ビット・ストリームをフェッチするステップと
を含む、請求項1に記載の方法。 - 前記開始させるステップ(d1)が、
(d1i)前記コプロセッサが誤ったコミットを発行したと判定するステップと、
(d1ii)前記プロセッサが、前記誤ったコミットに応答して前記例外処理サブルーチンに分岐するステップと
を含む、請求項4に記載の方法。 - 前記フェッチするステップ(d2)が、
(d2i)前記例外処理サブルーチンが関数識別子をデコードするステップと、
(d2ii)前記関数の所有権を要求し、前記所有権を譲り受けるステップと、
(d2iii)メモリから前記関数用の前記コンフィギュレーション・ビット・ストリームをフェッチするステップと、
(d2iv)前記コンフィギュレーション・ビット・ストリームの例外タイプおよびコプロセッサ命令タイプを識別するステップと、
(d2v)前記コンフィギュレーション・ビット・ストリームを前記コプロセッサに送るステップと
を含む、請求項4に記載の方法。 - 前記プログラムするステップ(e)が、
(e1)前記プロセッサの例外処理サブルーチンが前記ローカル・バスに結合された前記プログラミング・チャネルを介して一連のロードおよびストア命令を実行して、前記FPGAを前記コンフィギュレーション・ビット・ストリームでプログラムするステップを含む、請求項1に記載の方法。 - (f)前記コプロセッサが前記命令の再発行版を受け取るステップをさらに含む、請求項1に記載の方法。
- プロセッサに結合されたコプロセッサ中のFPGAを動的にプログラムする方法であって、
(a)前記プロセッサがアプリケーションの実行を開始させるステップと、
(b)前記コプロセッサが前記アプリケーションのための関数の実行を求める命令を、命令フロー・レベルにおいて前記プロセッサと前記コプロセッサとを密結合するAPUインターフェースを介して前記プロセッサから受け取るステップと、
(c)前記コプロセッサ中の前記FPGAが前記関数用のロジックでプログラムされていないとき、誤ったコミットを発行するステップと、
(d)前記プロセッサが、前記誤ったコミットに応答して例外処理サブルーチンを開始させるステップと、
(e)前記例外処理サブルーチンが前記プロセッサと前記コプロセッサとを結合するローカル・バスに結合されたメモリから前記関数用のコンフィギュレーション・ビット・ストリームをフェッチするステップと、
(f)前記例外処理サブルーチンが前記ローカル・バスに結合されたプログラミング・チャネルを介して一連のロードおよびストア命令を実行して、前記FPGAを前記コンフィギュレーション・ビット・ストリームでプログラムするステップと
を含む方法。 - プロセッサに結合されたコプロセッサ中のFPGAを動的にプログラムするためのプログラム命令を記録したコンピュータ読取り可能な媒体であって、
(a)前記プロセッサがアプリケーションの実行を開始させるための命令と、
(b)前記コプロセッサが前記アプリケーションのための関数の実行を求める命令を、命令フロー・レベルにおいて前記プロセッサと前記コプロセッサとを密結合するAPUインターフェースを介して前記プロセッサから受け取るための命令と、
(c)前記コプロセッサ中の前記FPGAが前記関数用のロジックでプログラムされていないと判定するための命令と、
(d)前記プロセッサが、前記プロセッサと前記コプロセッサとを結合するローカル・バスに結合されたメモリから前記関数用のコンフィギュレーション・ビット・ストリームをフェッチする命令と、
(e)前記ローカル・バスに結合されたプログラミング・チャネルを介して、前記FPGAを前記コンフィギュレーション・ビット・ストリームでプログラムするための命令と
を含む、媒体。 - 前記命令(b)が、
(b1)前記プロセッサと前記コプロセッサとの間の前記APUインターフェースが前記命令を受け取るための命令を含む、請求項10に記載の媒体。 - 前記判定するための命令(c)が、
(c1)前記APUインターフェースが誤ったコミットを発行したと判定するための命令を含む、請求項11に記載の媒体。 - 前記フェッチするための命令(d)が、
(d1)前記プロセッサが例外処理サブルーチンを開始させるための命令と、
(d2)前記プロセッサの前記例外処理サブルーチンが前記関数用の前記コンフィギュレーション・ビット・ストリームをフェッチするための命令と
を含む、請求項10に記載の媒体。 - 前記開始するための命令(d1)が、
(d1i)前記コプロセッサが誤ったコミットを発行したと判定するための命令と、
(d1ii)前記プロセッサが、前記誤ったコミットに応答して前記例外処理サブルーチンに分岐するための命令と
を含む、請求項13に記載の媒体。 - 前記フェッチするための命令(d2)が、
(d2i)前記例外処理サブルーチンが関数識別子をデコードするための命令と、
(d2ii)前記関数の所有権を要求し、前記所有権を譲り受けるための命令と、
(d2iii)メモリから前記関数用の前記コンフィギュレーション・ビット・ストリームをフェッチするための命令と、
(d2iv)前記コンフィギュレーション・ビット・ストリームのために例外タイプおよびコプロセッサ命令タイプを識別するための命令と、
(d2v)前記コンフィギュレーション・ビット・ストリームを前記コプロセッサに送るための命令と
を含む、請求項13に記載の媒体。 - 前記プログラムするための命令(e)が、
(e1)前記プロセッサの例外処理サブルーチンが前記ローカル・バスに結合された前記プログラミング・チャネルを介して一連のロードおよびストア命令を実行して、前記FPGAを前記コンフィギュレーション・ビット・ストリームでプログラムするための命令を含む、請求項10に記載の媒体。 - (f)前記コプロセッサが前記命令の再発行版を受け取るための命令をさらに含む、請求項10に記載の媒体。
- プロセッサに結合されたコプロセッサ中のFPGAを動的にプログラムするためのプログラム命令を記録したコンピュータ読取り可能な媒体であって、
前記プログラム命令が、
(a)前記プロセッサがアプリケーションの実行を開始させるための命令と、
(b)前記コプロセッサが前記アプリケーションのための関数の実行を求める命令を、命令フロー・レベルにおいて前記プロセッサと前記コプロセッサとを密結合するAPUインターフェースを介して前記プロセッサから受け取るための命令と、
(c)前記コプロセッサ中の前記FPGAが前記関数用のロジックでプログラムされていないとき、誤ったコミットを発行するための命令と、
(d)前記プロセッサが前記誤ったコミットに応答して例外処理サブルーチンを開始させるための命令と、
(e)前記例外処理サブルーチンが前記プロセッサと前記コプロセッサとを結合するローカル・バスに結合されたメモリから前記関数用のコンフィギュレーション・ビット・ストリームをフェッチするための命令と、
(f)前記例外処理サブルーチンがローカル・バスに結合されたプログラミング・チャネルを介して一連のロードおよびストア命令を実行して、前記FPGAを前記コンフィギュレーション・ビット・ストリームでプログラムするための命令と
を含む、媒体。 - アプリケーションを実行するためのプロセッサと、
前記プロセッサに結合され、少なくとも1つのFPGAを含む少なくとも1つのコプロセッサと、
前記プロセッサおよび前記少なくとも1つのコプロセッサを結合するローカル・バスに結合され、少なくとも1つの関数用のコンフィギュレーション・ビット・ストリームを含むメモリとを含むシステムであって、
命令フロー・レベルにおいて前記プロセッサと前記コプロセッサとを密結合するAPUインターフェースと、
前記ローカル・バスに結合されたプログラミング・チャネルと、を有し、
前記プロセッサが、前記アプリケーションの実行中に前記アプリケーションのための前記関数の実行を求める命令を、前記APUインターフェースを介して前記少なくとも1つのコプロセッサに発行し、
各々の前記コプロセッサが、当該コプロセッサ中の全ての前記FPGAが前記関数用のロジックでプログラムされていないと判定し、
前記判定に応じて、前記プロセッサが、コプロセッサとFPGAとを選択し、
前記メモリから前記少なくとも1つの前記関数用のコンフィギュレーション・ビット・ストリームをフェッチし、
前記プログラミング・チャネルを介して、前記選択されたFPGAを前記少なくとも1つのコンフィギュレーション・ビット・ストリームでプログラムする、システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004311995A JP3900499B2 (ja) | 2004-10-27 | 2004-10-27 | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004311995A JP3900499B2 (ja) | 2004-10-27 | 2004-10-27 | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006215592A JP2006215592A (ja) | 2006-08-17 |
JP3900499B2 true JP3900499B2 (ja) | 2007-04-04 |
Family
ID=36978808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004311995A Expired - Lifetime JP3900499B2 (ja) | 2004-10-27 | 2004-10-27 | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3900499B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781340B1 (ko) * | 2006-09-18 | 2007-11-30 | 삼성전자주식회사 | 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법 |
JP5035344B2 (ja) | 2007-08-15 | 2012-09-26 | 富士通株式会社 | 動的再構成プログラム、該プログラムを記録した記録媒体、動的再構成装置および動的再構成方法 |
JPWO2012035699A1 (ja) * | 2010-09-15 | 2014-01-20 | 日本電気株式会社 | 情報処理装置、情報処理方法、設計支援システム、及びプログラム |
JP6228381B2 (ja) * | 2012-04-30 | 2017-11-08 | 株式会社半導体エネルギー研究所 | 半導体装置 |
JP6740719B2 (ja) | 2016-06-03 | 2020-08-19 | 富士通株式会社 | 情報処理装置、情報処理方法、およびプログラム |
-
2004
- 2004-10-27 JP JP2004311995A patent/JP3900499B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
Also Published As
Publication number | Publication date |
---|---|
JP2006215592A (ja) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7584345B2 (en) | System for using FPGA technology with a microprocessor for reconfigurable, instruction level hardware acceleration | |
JP5801372B2 (ja) | システム管理モードのためのプロセッサにおける状態記憶の提供 | |
TWI847670B (zh) | 使用矩陣乘法指令的設備 | |
KR102496402B1 (ko) | 사용자-레벨 포크 및 조인 프로세서, 방법, 시스템, 및 명령어 | |
US20060179277A1 (en) | System and method for instruction line buffer holding a branch target buffer | |
GB2514882A (en) | Instruction emulation processors, methods, and systems | |
US20140281398A1 (en) | Instruction emulation processors, methods, and systems | |
JP5710434B2 (ja) | アシスト・ハードウエア・スレッドの拡張可能な状態追跡のための方法、情報処理システム、およびプロセッサ | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
US9715403B2 (en) | Optimized extended context management for virtual machines | |
US8756405B2 (en) | Selective routing of local memory accesses and device thereof | |
US11941409B2 (en) | Methods, systems, and apparatuses for a multiprocessor boot flow for a faster boot process | |
US20150268985A1 (en) | Low Latency Data Delivery | |
JP3900499B2 (ja) | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 | |
US9817763B2 (en) | Method of establishing pre-fetch control information from an executable code and an associated NVM controller, a device, a processor system and computer program products | |
JPH07311740A (ja) | コンピュータ | |
JP2009296195A (ja) | 複数のcpuコアを備えたfpgaを用いた暗号装置 | |
US20030182540A1 (en) | Method for limiting physical resource usage in a virtual tag allocation environment of a microprocessor | |
US7877533B2 (en) | Bus system, bus slave and bus control method | |
JP2022520914A (ja) | メモリ組込み自己テストコントローラを用いる読み出し専用メモリのテスト | |
US20180349137A1 (en) | Reconfiguring a processor without a system reset | |
JP3206394B2 (ja) | 5段パイプライン構造のプログラマブルコントローラ | |
JP2003029966A (ja) | データ処理装置 | |
JPH0218733B2 (ja) | ||
JPH02128242A (ja) | バス制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061013 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20061013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061013 |
|
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: 20061219 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20061220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3900499 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140112 Year of fee payment: 7 |