JP2003347930A - プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法 - Google Patents
プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法Info
- Publication number
- JP2003347930A JP2003347930A JP2002153586A JP2002153586A JP2003347930A JP 2003347930 A JP2003347930 A JP 2003347930A JP 2002153586 A JP2002153586 A JP 2002153586A JP 2002153586 A JP2002153586 A JP 2002153586A JP 2003347930 A JP2003347930 A JP 2003347930A
- Authority
- JP
- Japan
- Prior art keywords
- slot
- hardware logic
- hardware
- logic
- slots
- 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
Abstract
を含むさまざまなアプリケーションを高速に処理するこ
とができるプログラマブル論理回路及びコンピュータシ
ステム並びにキャッシュ方法の提供。 【解決手段】書き換え可能領域が個別にアクセス可能な
複数のスロット10に略等分割され、スロットの入出力
段に、スロットに書き込むハードウェアロジックと外部
のハードウェアやソフトウェアとの調停を行うスロット
入力制御部11及びスロット出力制御部12と、ハード
ウェアロジックの割り込み制御を可能とする割り込み制
御部13と、各々のスロットの状態を示すステータス1
4とを備えるものであり、制御部で調停を取りながら、
各々のスロットにソフトウェアによって管理されるハー
ドウェアロジックを書き込むことにより、ソフトウェア
の実行中に必要となる処理をハード上で高速に処理する
ことができる。
Description
理回路に関し、特に、小型化及び高速化を同時に達成可
能なプログラマブル論理回路及び該論理回路を含むコン
ピュータシステム並びにキャッシュ方法に関する。
方法としては、大別して2つの方法がある。第1の方法
は、図8に示すように、複数のCPU2を設け、それら
を並列に動作させるマルチプロセッサ方式であり、第2
の方法は、図9に示すように、CPU2の動作を支援す
ることにより、高速化を達成するものである。
型のスーパーコンピュータや高性能なサーバー等が挙げ
られる。また最近では、JAVA(R)プロセッサを搭
載するケースや、DSP(Digital Signaling Processo
r)を搭載するケースなど、特定のアプリケーションに
特化して性能を向上させることができるようなマルチプ
ロセッサシステムも提案されている。
ては、コプロセッサを搭載する構成やASIC(Applic
ation Specific Integrated Circuit)を搭載する構成
等がある。
演算を高速に行うFPU(Floating-point Processing
Unit)がある。このFPUを用いることにより、CPU
がハードで浮動小数点演算を行えず、ソフトウェアで処
理しなければならない場合に高速化が可能になる。他の
例としては、行列の演算を高速に行うためのベクトルコ
プロセッサがある。これは、行列演算などの規則的な演
算を高速に行うためのハードウェアを備えているもので
ある。このようなコプロセッサを用いることにより、科
学技術計算などで規則的な演算が大量に出てくる場合
に、CPUだけで処理するよりも高速に処理することが
可能になる。
化した機能の一部または全部をハードウェアで構成する
ことにより、高速動作を可能にするものであり、その代
表例としてゲートアレイが知られている。組み込み型の
システムでは、ASICを搭載することより高速でかつ
小型のシステム構築が可能になるが、このASICは、
アプリケーションに特化した機能を持つために、さまざ
まなアプリケーションに対応することができないという
欠点がある。
eld Programmable Gate Array)やPLD(Programmabl
e logic device)等の書き換え可能な領域を備えるデバ
イス(以下、これらを総称してプログラマブル論理回路
と呼ぶ。)の開発が行われている(例えば、米国特許第
4,700,187号)。このプログラマブル論理回路
は、図10に示すように、LUT(LookUp Table)8a
とフリップフロップ8bとで構成される基本セル8を配
列したものであり、LUT8aを書き換えることにより
内部のハードウェアロジックを変更することが出来る。
従って、アプリケーションに応じてハードウェアロジッ
クを書き換えることができることから、特殊な用途やサ
イクルの短い機器等の制御デバイスとして利用されてい
る。
ステムの高速化を図るには、多くのハードウェアを使用
すればよい。例えば、図8のマルチプロセッサシステム
では、CPU2の個数を増やすほど、全体のパフォーマ
ンスは向上する。また、図9のコプロセッサやASIC
を搭載するシステムでは、より多くのCPU2の仕事を
肩代わりすることができるようなハードウェアを構成す
れば、全体のパフォーマンスは向上する。しかしなが
ら、このような方法ではシステムを構成する部品数が増
えるため、システムの高価格化と大規模化を招いてしま
う。また、これらのシステムでは、ハードウェアが提供
する機能が限定的なものであるために、さまざまなアプ
リケーションに対応できる機能を提供することができな
い。
路では、アプリケーションで必要となる複数の処理の回
路情報を予めメモリに格納しておき、必要に応じてメモ
リから読み出して書き換え可能領域に書き込むことによ
り、その時点で必要となる回路を生成することが可能で
ある。従って、この方法では、回路規模の小さなプログ
ラマブル論理回路を用いて、その回路規模以上の回路を
実現することができ、コンピュータシステムの小型化と
低コスト化を実現することが可能となる。しかしなが
ら、単一の書き換え可能領域からなるプログラマブル論
理回路では、ある時間で見た場合には一つのアプリケー
ションに特化しており、マルチタスクで動作するコンピ
ュータに比べて高速化に限界がある。
複数のプログラマブル論理回路を並設し、各々を独立し
て駆動させる構成とすることも可能であるが、この構成
ではマルチプロセッサシステムと同様にシステムの高価
格化と大規模化を招き、また、プログラマブル論理回路
同士を結ぶ配線が複雑になるために結果として処理が遅
くなってしまう。
のであって、その主たる目的は、限られたハードウェア
を活用し、マルチタスクを含むさまざまなアプリケーシ
ョンを高速に処理することができるプログラマブル論理
回路及びコンピュータシステム並びにキャッシュ方法を
提供することにある。
め、本発明のプログラマブル論理回路は、所定のデータ
サイズの複数のスロットに分割された書き換え可能なロ
ジック部を備え、各々の前記スロットが独立して書き換
え可能に制御されるものである。
略等しいデータサイズに分割されていることが好まし
い。
入出力段に、前記スロットに書き込まれたハードウェア
ロジックと外部のハードウェア又はソフトウェアとの調
停を行う制御手段を備える構成とすることができる。
出力段に、前記スロットに書き込まれたハードウェアロ
ジックからの割り込み信号をプロセッサに通知する割り
込み制御手段を備える構成とすることもできる。
び前記制御手段に、ハードウェアロジックが書き込まれ
ていない前記スロット、又は、書き換えが行われている
前記スロットを論理的に切り離す手段を備える構成とす
ることもできる。
上記スロットのデータサイズに適合して構成されている
ものであり、前記ハードウェアロジックは一定のアドレ
ス空間を持ち、ソフトウェアからアクセス可能に構成さ
れることが好ましい。
ックは、データ又はファイルの形でソフトウェアから参
照可能に管理され、該ソフトウェアにより前記スロット
に定義されることが好ましい。
上記プログラマブル論理回路と、プロセッサと、メモリ
とを少なくとも備えるものである。
の前記スロットに対応して割り当てられ、アドレスによ
り、上記ハードウェアロジックが個別にアクセス可能と
されることが好ましい。
タシステムに、前記ハードウェアロジックと前記スロッ
トの容量又は該スロットに割り当てられたアドレス空間
とを比較する手段を備え、該手段により、前記ハードウ
ェアロジックが前記スロットの容量又は該スロットに割
り当てられたアドレス空間よりも大きい場合に、複数の
前記スロットに対して前記ハードウェアロジックの書き
込みが行われる構成とすることができる。
ットに挿入されている前記ハードウェアロジックの履歴
情報を記憶する手段と、該履歴情報を参照して追い出し
可能なスロットを選択する手段とを備え、該手段によ
り、新たなハードウェアロジックと前記スロットに書き
込まれている前記ハードウェアロジックとの書き換えが
行われる構成とすることもできる。
方法は、プログラマブル論理回路の書き換え可能なロジ
ック部を略等しいデータサイズの複数のスロットに分割
し、スロット番号を前記スロットに対して割り当て、前
記スロット番号に対応する前記ロジック部の領域に対し
て、データ又はファイルの形でソフトウェアから参照さ
れるハードウェアロジックを順次書き込むものである。
しいデータサイズに分割された複数のスロットに、ソフ
トウェアの管理下に置かれたハードウェアロジックが、
調停手段、割り込み手段、切り離し手段によって制御さ
れて、必要に応じて書き込まれるため、アプリケーショ
ンで必要な処理をハード上で高速に処理することができ
る。
ロジックの登録情報や使用情報等の履歴情報を参照し
て、新たなハードウェアロジックと既に書き込まれてい
るハードウェアロジックとが比較され、優先順位の低い
ハードウェアロジックが順次追い出されるため、ハード
ウェア資源を有効に利用することができ、スロット不足
による処理の遅延を防止することができる。
回路は、好ましい一実施の形態において、書き換え可能
領域が個別にアクセス可能な複数のスロットに略等分割
され、スロットの入出力段に、スロットに書き込むハー
ドウェアロジックと外部のハードウェアやソフトウェア
との調停を行うスロット入力制御部及びスロット出力制
御部と、ハードウェアロジックの割り込み制御を可能と
する割り込み制御部と、各々のスロットの状態を示すス
テータスとを備えるものであり、この制御部で調停を取
りながら、各々のスロットにソフトウェアによって管理
されるハードウェアロジックを書き込むことにより、ソ
フトウェアの実行中に必要となる処理をハード上で高速
に処理することができ、システム全体の規模を大きくす
ることなく、様々なアプリケーションに対応することが
できる汎用的なコンピュータシステムを提供することが
できる。
詳細に説明すべく、本発明の一実施例に係るプログラマ
ブル論理回路及びコンピュータシステム並びにキャッシ
ュ方法について、図1乃至図7を参照して説明する。図
1は、プログラマブル論理回路を含むコンピュータシス
テムの基本構成を示す図であり、図2は、各々のスロッ
トの入出力インターフェース構成を示す図である。又、
図3は、ハードウェアロジックの管理形態を示す図であ
り、図4は、アドレス空間の分割例を示す図である。
又、図5は、ハードウェアロジックのリプレースの様子
を示す図であり、図6及び図7は、ハードウェアロジッ
クの書き換え処理の手順を示すフロー図である。
る。
ュがある。キャッシュは、ソフトウェアのプログラムや
データを高速にアクセスできる場所(例えば、キャッシ
ュメモリ)に置くことにより、高速化を図る技術であ
る。本発明の基本的な考え方は、プログラムやデータで
はなく、ハードウェアの機能をキャッシュする方法を提
案するものである。
明する。本発明の一実施例に係るコンピュータシステム
は、書き換え可能領域を含むプログラマブル論理回路1
と、CPU等のプロセッサ2と、メモリ3とがPCI等
のバス4によって接続され、プログラマブル論理回路1
には、所定のデータサイズ(データ幅)、数量に分割さ
れた複数のスロット10からなる書き換え可能領域と、
各々のスロット10に書き込まれたハードウェアロジッ
クと外部のハードウェアやソフトウェアとの調停を行う
スロット入力制御部11及びスロット出力制御部12
と、ハードウェアロジックの割り込み制御を行う割り込
み制御部13と、各々のスロット10の状態を示すステ
ータス14とを備えている。
ステムの基本的な構成であり、プロセッサ2やメモリ3
が複数接続されていてもよく、コプロセッサ等のCPU
の動作を支援する回路が接続されていてもよい。また、
図ではプログラマブル論理回路1とCPU2とメモリ3
とを別IC(LSI)として記載しているが、実際の構
成では、これらが一つのシステムLSI内に含まれる場
合もある。以下では、便宜的にプログラマブル論理回路
1をCPU2及びメモリ3と切り離して説明するが、プ
ログラマブル論理回路1には、書き換え可能な領域に入
出力制御部や割り込み制御部を備えた構造、更にプロセ
ッサ2やメモリ3等を含むコンピュータシステム全体の
いずれの構造も含まれるものとする。
として、複数のプログラマブル論理回路1を設けるので
はなく、1つのプログラマブル論理回路1の書き換え可
能領域を複数のスロット10という単位に分割すること
を特徴としている。このスロット10は、図2に示すよ
うなインターフェース信号によって機能する独立した領
域であり、各々のスロット10には自由にハードウェア
機能を定義することができる。
御部11を介して入力される入力側インターフェース信
号(Address、Data_in、Control_in)と、スロット出力
制御部12又は割り込み制御部13に出力される出力側
インターフェース信号(Data_out、Control_out、Inter
rupt)とがあり、各々は以下に示す役割を果たす。
ロット共通のビット数)からなり、このAddress信号に
より、スロット10内部に埋め込まれる論理にCPU2
又はソフトウェアがアクセスすることができる、 ・Data_in:スロット10内部の論理に対する入力デー
タであり、例えば、32ビット等の共通のビット数を持
つ、 ・Control_in:1ビット又は複数ビットからなり、スロ
ットを制御するための制御信号である。例えば、Adores
s信号と同期してスロット内部の論理に対して、ReadやW
riteを行う、 ・Data_out:スロット10外部に対して演算結果などを
出力するパスであり、例えば、32ビット等の共通のビ
ット数を持つ、 ・Control_out:スロット10内部の論理が外部の論理
に対して要求等を通知するための出力信号である、 ・(Interrupt):オプションとして設けられるもので、
CPU2又はソフトウェアに、演算の終了通知などを行
うための割り込み信号である。
している例を示しているが、分割数や各々のスロット1
0のデータサイズ(データ幅)は任意であり、スロット
10に書き込まれるハードウェアロジックのデータ幅や
マルチタスクで処理する論理の数、コンピュータシステ
ム全体の規模や性能等を勘案して設定することができ
る。但し、スロット10のデータ幅が各々異なる場合、
ハードウェアロジックのデータ幅を考慮して書き込むべ
きスロット10を選択しなければならず、ハードウェア
ロジックの書き換えが煩雑になる可能性があるため、本
発明のプログラマブル論理回路1を汎用性の高いシステ
ムとするためには、スロット10は略等しいデータサイ
ズに等分割することが好ましい。
ードウェアロジックを書き込むが、このハードウェアロ
ジックは、図3に示すように、ファイル又はデータの形
としてソフトウェア5の管理下に置き、ソフトウェア5
の実行中にスロット10への定義・リプレースが出来る
ようにする。
アドレスやデータ幅を持つため、ハードウェアロジック
6によっては空間やデータ幅が足りない場合もある。そ
の場合には、複数のスロット10を使用することにより
解決することができる。例えば、スロットが32ビット
のデータ幅を持ち、64ビットのハードウェアロジック
6を入れたい場合には2つのスロット10を使用すれば
よい。
そのデータサイズ(データ幅)は任意であるが、データ
幅が大きすぎると一度に多くのスロット10を占有する
ことになり、他のハードウェアロジック6の処理に支障
をきたす場合もある。また、各々のハードウェアロジッ
ク6のデータサイズが違いすぎると、他のハードウェア
ロジック6との入れ替えができない場合も生じる。従っ
て、各々のハードウェアロジック6はスロット10の容
量を考慮して構成されることが好ましい。
可能な部分であり、メモリ3へのアクセスやCPU2等
のプロセッサとのアクセスは独自に行うことができるよ
うにする必要がある。そこで、プロセッサ2から個別に
アクセスすることが出来るようにするために、例えば、
図4に示すように、アドレスの空間を分割し、アドレス
(Slot1 offset等)を用いて個別制御が出来るようにし
ている。
ロジック6が個別に動作を行うので、外部のハードウェ
アやソフトウェアとの調停を行う必要がある。そこで、
プログラマブル論理回路1内にスロット入力制御部1
1、スロット出力制御部12等の調停ロジックを設け、
これにより外部のハードウェアやソフトウェア等との全
体の調整を行う。また、指定された処理の終了通知や内
部ステータスの変化などを通知するため、各スロット1
0からの割り込み要求を受け付け、CPU2へ割り込み
を通知する割り込み制御部13を搭載している。なお、
このスロット入力制御部11、スロット出力制御部1
2、割り込み制御部13は、書き換え可能領域にプログ
ラマブルに形成しても、書き換え可能領域外部に固定ロ
ジックとして形成してもよい。
え可能であるが、あるスロットが書き換えを行っている
間は、他のスロットは動作している必要がある。このた
め、各スロット及びその調停ロジック(スロット入力制
御部11及びスロット出力制御部12)には、書き換え
中のスロット10を論理的に切り離すロジック(図示せ
ず)を搭載している。
は、ハードウェアのキャッシュであるので、不必要にな
ったハードウェアロジック6の追い出しが必要である。
そこで、本発明では、各ハードウェアロジック6がどの
スロット10に入り、いつ使用されたか等の履歴をと
り、その履歴情報から追い出すべきハードロジックを選
択できるようにしている。
スロット(1)に音楽プレーヤー、スロット(2)にペ
イントツール、スロット(3)にゲーム1のハードウェ
アロジック6が書き込まれおり、各々のハードウェアロ
ジック6が図の塗りつぶし領域で使用されているとする
と、スロット(1)の音楽プレーヤーのハードウェアロ
ジック6は一旦使用された後、使用されない状態が続い
ているため、スロット(1)から追い出しても問題ない
と考えられる。そこで、新たなハードウェアロジック6
が要求された時点(図の矢印の時点)で音楽プレーヤー
を追い出し、代わりにゲーム2をリプレースしている。
まれたハードウェアロジック6の書き込み時期、使用頻
度、不使用期間等の履歴情報と、スロット10の残数や
処理が予定されている論理数等を勘案して、使用される
可能性の低いハードウェアロジックを適宜追い出すこと
により、スロット10の空きを確保し、次のハードウェ
アロジック6の書き込みに対して待ち時間が生じないよ
うにして処理の遅延を防止している。
をキャッシュするために、書き換え可能な領域を汎用的
なデータサイズ、数量のスロット10に分割し、各々の
スロット10に書き込まれたハードウェアロジック6と
外部のハードウェア又はソフトウェアとの調停を行うた
めのスロット入力制御部11、スロット出力制御部1
2、割り込み制御部13、切り離しロジックを設けるこ
とにより、ソフトウェアの管理下に置かれたハードウェ
アロジック6を、必要に応じてスロット10に書き込ん
で機能させることができるため、複数のプログラマブル
論理回路を設ける場合のようにシステム全体の規模を拡
大することなく、高速処理を実現することができる。
ドウェアロジック6の使用状況を監視し、履歴情報を参
照して、ハードウェアロジックをスロット10から追い
出しているため、次のハードウェアロジック6を書き込
むべきスロット10がなく処理が滞るという問題を防止
し、システム全体としての処理の高速化を図っている。
1にハードウェアロジック6を書き込む手順について具
体的に説明する。
述したようにハードウェアをキャッシュするものであ
り、アプリケーション側からの要求(例えば、関数コー
ル)が送信されてから、この要求に対応するハードウェ
アロジック6を空きスロット10に書き込んでハード上
で処理し、その処理結果をアプリケーションに返送す
る。そこで、アプリケーションとプログラマブル論理回
路1とを仲介する手段が必要となるが、ここでは、この
制御をハードマクロライブラリ管理部により行ってい
る。
ロット10に入れるハードウェアロジック6をライブラ
リとして持ち、アプリケーション側からの要求により、
必要なハードウェアロジック6をスロット10に挿入
し、動作させるソフトウェアであり、このソフトウェア
がCPU2やプログラマブル論理回路部1のスロット入
力制御部11やスロット出力制御部12、ステータス1
4にアクセスしてハードウェアロジック6の書き換え制
御を行う。
イブラリ管理部とプログラマブル論理回路部1とで行わ
れる処理を図6及び図7に基づいて説明する。まず、図
6に示すように、アプリケーション(例えば、画像処理
プログラム)の動作において、画像処理関数等の演算が
必要になった場合、アプリケーションはハードマクロラ
イブラリ管理部に対して関数コールを行う。この関数コ
ールに対して、ハードマクロライブラリ管理部では、ハ
ードウェアロジック6の登録情報を参照して、この関数
の演算を行うハードウェアロジック6が既にスロット1
0に挿入されているか否かを調査する。
スロット10に挿入されていない場合は、ハードマクロ
ライブラリ管理部は、プログラマブル論理回路1のステ
ータス14にアクセスして各々のスロット10の状態を
調べ、スロット10に空きがあるか否かを確認する。
は、新たなハードウェアロジック6を書き込むことがで
きないため、関数の演算ができずに処理が滞ってしまう
が、本発明のプログラマブル論理回路1では、各々のス
ロット10に書き込まれているハードウェアロジックの
履歴情報を参照して、使用されていないハードウェアロ
ジックが適宜追い出されるため、スロット10の空きを
確保することができ、処理が滞るという問題を回避して
いる。
認したら、ハードマクロライブラリ管理部は、ライブラ
リの中から対応するハードウェアロジック6を取り出
し、スロット入力制御部11を介して図2に示す入力イ
ンターフェース信号により、該スロット10に書き込み
を開始する。その際、ハードウェアロジック6とスロッ
ト10の容量とが比較され、例えば、ハードウェアロジ
ック6のデータ幅がスロット10のデータ幅より大きい
場合は、複数のスロット10に対して書き込みを行う。
また、書き込み中は他のスロット10の動作に支障が生
じないように、スロット10及び調停ロジック(スロッ
ト入力制御部11及びスロット出力制御部12)に設け
た切り離しロジックにより、書き込み中のスロット10
を論理的に切り離す。そして、スロット出力制御部12
は、スロット10への書き込みが終了したら書き込み終
了信号をハードマクロライブラリ管理部に送出する。
スロット入力制御部11を介してスロット10のContro
l inに制御信号を送り処理の起動を命令すると共に、Da
ta inに関数の演算に必要なデータを送る。そして、プ
ログラマブル論理回路1では、ハードウェアロジック6
により関数の演算を行い、演算が終了したらData outか
らハードマクロライブラリ管理部に演算結果を送ると共
に、interruptから割り込み制御部13を介してCPU
2に割り込み信号を送り、演算が終了したことを通知す
る。そして、ハードマクロライブラリ管理部はその演算
結果をアプリケーションに送って一連の処理が終了す
る。
ウェアロジック6がスロット10に挿入されていない場
合の手順であるが、関数を演算するハードウェアロジッ
ク6が既にスロット10に挿入されている場合には、図
7に示すように、ハードマクロライブラリ管理部は、ス
テータス14にスロット10の空き状態を確認すること
なく、スロット入力制御部11を介してスロット10の
Control inに制御信号を送り処理の起動を命令すると共
に、Data inに関数の演算に必要なデータを送る。
ハードウェアロジックにより関数の演算を行い、演算が
終了したらData outからハードマクロライブラリ管理部
に演算結果を送ると共に、interruptから割り込み制御
部13を介してCPU2に割り込み信号を送り、演算が
終了したことを通知する。そして、ハードマクロライブ
ラリ管理部はその演算結果をアプリケーションに送って
一連の処理が終了する。
回路1では、アプリケーションから関数コールがあった
場合に、自動的に、該関数の演算を行うハードウェアロ
ジック6がスロット10に挿入されているか、スロット
10に空きがあるかが調査され、挿入されていない場合
に該ハードウェアロジック6がスロット10に書き込ま
れ、ハード上で演算を行って演算結果が返送されるた
め、関数コールに対して迅速かつ円滑な処理を行うこと
ができる。
マブル論理回路及びコンピュータシステム並びにキャッ
シュ方法によれば、下記記載の効果を奏する。
模を大きくすることなく、マルチタスクを含む処理を高
速に行うことができることができる。
ロットに分割し、ソフトウェアで管理されたハードウェ
アロジックを必要に応じてスロットに書き込んで処理を
行うため、書き換え可能領域を効率的に利用することが
できるからである。また、スロット入力制御部やスロッ
ト出力制御部等の調停手段や割り込み制御部を用いて外
部のハードウェアやソフトウェアと調停するため、相互
の処理を円滑に実行することができるからである。
ログラマブル論理回路を構築することができるというこ
とである。
ロットに分割するに際して、スロットのデータ幅や分割
数を一般的なハードウェアロジックに合わせて設定し、
また、スロットよりも大きなハードウェアロジックを書
き込む場合は、複数のスロットに書き込むことができる
ため、どのようなハードウェアロジックにも対応するこ
とができるからである。
を防止し、演算要求に対して迅速に対応することができ
るということである。
たハードウェアロジックの履歴情報を参照して、使用さ
れていないハードウェアロジックの追い出しを行ってい
るため、スロットの占有を防止し、書き込み待ちの発生
を防止することができるからである。
の基本構成を示すブロック図である。
路を構成するスロットのインターフェース構成を示す図
である。
の管理形態を示す図である。
路のスロットに対するアドレス空間の分割例を示す図で
ある。
図である。
路にハードウェアロジックを書き込む手順を示すフロー
図である。
路にハードウェアロジックを書き込む手順を示すフロー
図である。
示す図である。
す図である。
示す図である。
Claims (18)
- 【請求項1】所定のデータサイズの複数のスロットに分
割された書き換え可能なロジック部を備え、各々の前記
スロットが独立して書き換え可能に制御されることを特
徴とするプログラマブル論理回路。 - 【請求項2】前記複数のスロットが略等しいデータサイ
ズに分割されていることを特徴とする請求項1記載のプ
ログラマブル論理回路。 - 【請求項3】前記スロットの入出力段に、前記スロット
に書き込まれたハードウェアロジックと外部のハードウ
ェア又はソフトウェアとの調停を行う制御手段を備える
ことを特徴とする請求項1又は2に記載のプログラマブ
ル論理回路。 - 【請求項4】前記スロットの出力段に、前記スロットに
書き込まれたハードウェアロジックからの割り込み信号
をプロセッサに通知する割り込み制御手段を備えること
を特徴とする請求項1乃至3のいずれか一に記載のプロ
グラマブル論理回路。 - 【請求項5】前記スロット及び前記制御手段に、ハード
ウェアロジックが書き込まれていない前記スロット、又
は、書き換えが行われている前記スロットを論理的に切
り離す手段を備えることを特徴とする請求項3又は4に
記載のプログラマブル論理回路。 - 【請求項6】請求項1乃至5のいずれか一に記載の前記
スロットのデータサイズに適合して構成されていること
を特徴とするハードウェアロジック。 - 【請求項7】前記ハードウェアロジックは所定のアドレ
ス空間を持ち、ソフトウェアからアクセス可能に構成さ
れることを特徴とする請求項6記載のハードウェアロジ
ック。 - 【請求項8】前記ハードウェアロジックは、データ又は
ファイルの形でソフトウェアから参照可能に管理され、
該ソフトウェアにより前記スロットに定義されることを
特徴とする請求項6又は7に記載のハードウェアロジッ
ク。 - 【請求項9】請求項1乃至5のいずれか一に記載のプロ
グラマブル論理回路と、プロセッサと、メモリとを少な
くとも備えることを特徴とするコンピュータシステム。 - 【請求項10】アドレス空間が、各々の前記スロットに
対応して割り当てられ、アドレスにより、請求項7又は
8に記載のハードウェアロジックが個別にアクセス可能
とされることを特徴とする請求項9記載のコンピュータ
システム。 - 【請求項11】前記コンピュータシステムに、前記ハー
ドウェアロジックと前記スロットの容量又は該スロット
に割り当てられたアドレス空間とを比較する手段を備
え、該手段により、前記ハードウェアロジックが前記ス
ロットの容量又は該スロットに割り当てられたアドレス
空間よりも大きい場合に、複数の前記スロットに対して
前記ハードウェアロジックの書き込みが行われることを
特徴とする請求項9又は10に記載のコンピュータシス
テム。 - 【請求項12】各々の前記スロットに挿入されている前
記ハードウェアロジックの履歴情報を記憶する手段と、
該履歴情報を参照して追い出し可能なスロットを選択す
る手段とを備え、該手段により、新たなハードウェアロ
ジックと前記スロットに書き込まれている前記ハードウ
ェアロジックとの書き換えが行われることを特徴とする
請求項9乃至11のいずれか一に記載のコンピュータシ
ステム。 - 【請求項13】プログラマブル論理回路の書き換え可能
なロジック部を略等しいデータサイズの複数のスロット
に分割し、スロット番号を前記スロットに対して割り当
て、前記スロット番号に対応する前記ロジック部の領域
に対して、データ又はファイルの形でソフトウェアから
参照されるハードウェアロジックを順次書き込むことを
特徴とするハードウェアのキャッシュ方法。 - 【請求項14】前記ハードウェアロジックと前記スロッ
トの容量又は該スロットに割り当てられたアドレス空間
とを比較し、前記ハードウェアロジックが、前記スロッ
トの容量又は該スロットに割り当てられたアドレス空間
よりも大きい場合に、複数の前記スロットに対して前記
ハードウェアロジックを書き込むことを特徴とする請求
項13記載のキャッシュ方法。 - 【請求項15】前記スロットの入出力段に設けた制御手
段により、前記スロットに書き込まれたハードウェアロ
ジックと外部のハードウェア又はソフトウェアとの調停
を行うことを特徴とする請求項13又は14に記載のキ
ャッシュ方法。 - 【請求項16】前記ハードウェアロジックの割り込み信
号を前記スロットに設けた割り込みポートに割り付け、
前記スロットの出力段に設けた割り込み制御手段によ
り、該割り込み制御手段が設定する優先順位に従ってプ
ロセッサに割り込みを通知することを特徴とする請求項
13乃至15のいずれか一に記載のキャッシュ方法。 - 【請求項17】前記スロット及び前記制御手段に設けた
切り離し手段により、ハードウェアロジックが書き込ま
れていない前記スロット、又は、書き換えが行われてい
る前記スロットを論理的に分離することを特徴とする請
求項13乃至16のいずれか一に記載のキャッシュ方
法。 - 【請求項18】前記スロットの個数以上のハードウェア
ロジックを挿入する場合に、各々の前記スロットに挿入
されている前記ハードウェアロジックの履歴情報を参照
して、使用する可能性の低いスロットを選択し、該選択
されたハードウェアロジックの追い出しを行うことを特
徴とする請求項13乃至17のいずれか一に記載のキャ
ッシュ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002153586A JP3952856B2 (ja) | 2002-05-28 | 2002-05-28 | キャッシュ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002153586A JP3952856B2 (ja) | 2002-05-28 | 2002-05-28 | キャッシュ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003347930A true JP2003347930A (ja) | 2003-12-05 |
JP3952856B2 JP3952856B2 (ja) | 2007-08-01 |
Family
ID=29770587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002153586A Expired - Fee Related JP3952856B2 (ja) | 2002-05-28 | 2002-05-28 | キャッシュ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3952856B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065786A (ja) * | 2004-08-30 | 2006-03-09 | Sanyo Electric Co Ltd | 処理装置 |
JP2007179358A (ja) * | 2005-12-28 | 2007-07-12 | Nec Corp | 情報処理装置及び再構成デバイスの利用方法 |
JP2007183726A (ja) * | 2006-01-05 | 2007-07-19 | Nec Corp | データ処理装置及びデータ処理方法 |
JP2010224942A (ja) * | 2009-03-24 | 2010-10-07 | Olympus Corp | プロセッシング・エレメント及び分散処理ユニット |
JP2011175535A (ja) * | 2010-02-25 | 2011-09-08 | Nec Corp | メモリデバイス管理方法及び装置 |
JP2013251889A (ja) * | 2012-04-30 | 2013-12-12 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
JP2018018198A (ja) * | 2016-07-26 | 2018-02-01 | 富士通株式会社 | プログラマブルロジックデバイスの制御プログラム、制御方法及び情報処理装置 |
CN115118481A (zh) * | 2022-06-22 | 2022-09-27 | 深圳星云智联科技有限公司 | 一种主机信息采集方法、装置、设备及介质 |
-
2002
- 2002-05-28 JP JP2002153586A patent/JP3952856B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065786A (ja) * | 2004-08-30 | 2006-03-09 | Sanyo Electric Co Ltd | 処理装置 |
JP2007179358A (ja) * | 2005-12-28 | 2007-07-12 | Nec Corp | 情報処理装置及び再構成デバイスの利用方法 |
JP2007183726A (ja) * | 2006-01-05 | 2007-07-19 | Nec Corp | データ処理装置及びデータ処理方法 |
JP2010224942A (ja) * | 2009-03-24 | 2010-10-07 | Olympus Corp | プロセッシング・エレメント及び分散処理ユニット |
JP2011175535A (ja) * | 2010-02-25 | 2011-09-08 | Nec Corp | メモリデバイス管理方法及び装置 |
JP2013251889A (ja) * | 2012-04-30 | 2013-12-12 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
JP2019088012A (ja) * | 2012-04-30 | 2019-06-06 | 株式会社半導体エネルギー研究所 | 半導体装置の動作方法 |
JP2018018198A (ja) * | 2016-07-26 | 2018-02-01 | 富士通株式会社 | プログラマブルロジックデバイスの制御プログラム、制御方法及び情報処理装置 |
CN115118481A (zh) * | 2022-06-22 | 2022-09-27 | 深圳星云智联科技有限公司 | 一种主机信息采集方法、装置、设备及介质 |
CN115118481B (zh) * | 2022-06-22 | 2023-11-21 | 深圳星云智联科技有限公司 | 一种主机信息采集方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
JP3952856B2 (ja) | 2007-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7487302B2 (en) | Service layer architecture for memory access system and method | |
JP7313381B2 (ja) | ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング | |
US5649230A (en) | System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching | |
EP0870226B1 (en) | Risc microprocessor architecture | |
US20090182987A1 (en) | Processing Unit Incorporating Multirate Execution Unit | |
US11012075B2 (en) | Electronic system including FPGA and operation method thereof | |
WO2007002408A2 (en) | Computer processor pipeline with shadow registers for context switching, and method | |
JP2002503845A (ja) | タスク切り替えによるゼロオーバヘッドコンピュータ割り込み | |
US9886278B2 (en) | Computing architecture and method for processing data | |
US9304775B1 (en) | Dispatching of instructions for execution by heterogeneous processing engines | |
JP7470685B2 (ja) | 集積回路中の算出ユニットをプログラムおよび制御すること | |
JP3952856B2 (ja) | キャッシュ方法 | |
US7315935B1 (en) | Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots | |
US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
JP4088763B2 (ja) | コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法 | |
US6604163B1 (en) | Interconnection of digital signal processor with program memory and external devices using a shared bus interface | |
TWI249130B (en) | Semiconductor device | |
US20240086201A1 (en) | Input channel processing for triggered-instruction processing element | |
JP3874104B2 (ja) | プログラム処理装置及びプログラム処理方法 | |
JP2004048228A (ja) | プログラマブル論理回路及びコンピュータシステム並びに回路の初期化方法 | |
US20030061439A1 (en) | Distributed executing units of logic integrated circuits connected to & executes on data in local data storage | |
JP2002278753A (ja) | データ処理システム | |
KR100631396B1 (ko) | 반도체장치 | |
Biedermann et al. | Virtualizable Architecture for embedded MPSoC | |
JPH03168832A (ja) | 分散型マイクロプログラム制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061225 |
|
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: 20070410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070423 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |