JP2004040599A - プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法 - Google Patents
プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法 Download PDFInfo
- Publication number
- JP2004040599A JP2004040599A JP2002196689A JP2002196689A JP2004040599A JP 2004040599 A JP2004040599 A JP 2004040599A JP 2002196689 A JP2002196689 A JP 2002196689A JP 2002196689 A JP2002196689 A JP 2002196689A JP 2004040599 A JP2004040599 A JP 2004040599A
- Authority
- JP
- Japan
- Prior art keywords
- operation mode
- circuit data
- circuit
- address information
- programmable logic
- 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.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
【課題】回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができるプログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法の提供。
【解決手段】書き換え可能なプログラムロジック部3と、動作モードの変更を設定する動作モード設定部4と、動作モード設定部から動作モード番号を取得し、アドレス設定部7に記憶された動作モード番号と回路データのアドレス情報との対応データを参照して、取得した動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部5と、取得したアドレス情報を用いて回路データ格納メモリ8にアクセスし、該アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部に再構成する回路データ書き込み部6とを備えるものであり、回路規模を大きくすることなく、動作モードの変更に対して柔軟に対応する。
【選択図】
図1
【解決手段】書き換え可能なプログラムロジック部3と、動作モードの変更を設定する動作モード設定部4と、動作モード設定部から動作モード番号を取得し、アドレス設定部7に記憶された動作モード番号と回路データのアドレス情報との対応データを参照して、取得した動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部5と、取得したアドレス情報を用いて回路データ格納メモリ8にアクセスし、該アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部に再構成する回路データ書き込み部6とを備えるものであり、回路規模を大きくすることなく、動作モードの変更に対して柔軟に対応する。
【選択図】
図1
Description
【0001】
【発明の属する技術分野】
本発明は、再構成可能な領域を含むプログラマブル論理回路及び該回路を備えるコンピュータシステム並びにプログラマブル論理回路おける回路データの再構成方法に関する。
【0002】
【従来の技術】
高速なコンピュータシステムを構成する方法としては、大別して2つの方法がある。第1の方法は、図6に示すように、複数のCPU15を設け、それらを並列に動作させるマルチプロセッサ方式であり、第2の方法は、図7に示すように、CPU15の動作を支援することにより、高速化を達成するものである。
【0003】
マルチプロセッサの代表例としては、並列型のスーパーコンピュータや高性能なサーバー等が挙げられる。また最近では、JAVA(R)プロセッサを搭載するケースや、DSP(Digital Signaling Processor)を搭載するケースなど、特定のアプリケーションに特化して性能を向上させることができるようなマルチプロセッサシステムも提案されている。
【0004】
また、CPU15の動作を支援する構成としては、コプロセッサを搭載する構成やASIC(Application Specific Integrated Circuit)を搭載する構成等がある。
【0005】
コプロセッサの代表例として、浮動小数点演算を高速に行うFPU(Floating−point Processing Unit)がある。このFPUを用いることにより、CPUがハードで浮動小数点演算を行えず、ソフトウェアで処理しなければならない場合に高速化が可能になる。他の例としては、行列の演算を高速に行うためのベクトルコプロセッサがある。これは、行列演算などの規則的な演算を高速に行うためのハードウェアを備えているものである。このようなコプロセッサを用いることにより、科学技術計算などで規則的な演算が大量に出てくる場合に、CPUだけで処理するよりも高速に処理することが可能になる。
【0006】
一方、ASICは、アプリケーションに特化した機能の一部または全部をハードウェアで構成することにより、高速動作を可能にするものであり、その代表例としてゲートアレイが知られている。組み込み型のシステムでは、ASICを搭載することより高速でかつ小型のシステム構築が可能になるが、このASICはアプリケーションに特化した機能を持つために、さまざまなアプリケーションに対応することができないという欠点がある。
【0007】
この欠点を補うため、近年、FPGA(field Programmable Gate Array)やPLD(Programmable logic device)等の書き換え可能な領域を備えるデバイス(以下、これらを総称してプログラマブル論理回路と呼ぶ。)の開発が行われている(例えば、米国特許第4,700,187号)。このプログラマブル論理回路は、LUT(LookUp Table)とフリップフロップとで構成される基本セルを配列したものであり、LUTを書き換えることにより内部の回路データを変更することが出来る。従って、アプリケーションに応じて回路データを書き換えることができることから、特殊な用途やサイクルの短い機器等の制御デバイスとして利用されている。
【0008】
【発明が解決しようとする課題】
しかしながら、上記プログラマブル論理回路は、通常、電源オン時又はリセット時に書き換え可能領域に回路データが書き込まれた後は、固定的な回路構成となる。従って、例えば、デジタルカメラにおける撮像、動画撮影、撮像の液晶モニタ表示、パソコンへの出力、テレビへの出力等の動作形態(以下、これらの動作形態を総称して動作モードと呼ぶ。)を任意に設定できる機器にプログラマブル論理回路を適用する場合には、各々の動作モードに対応する回路データを再構成しなければ、動作モードの変更に対応することができない。
【0009】
複数の動作モードに対応可能とする方法として、複数の動作モードの全てに対応する回路データを予め書き換え可能領域に書き込んでおく方法がある。例えば、図8に示すように、複数の動作モードに対応する回路データ(図では3つの回路データ)を予め回路データ格納メモリ8に記憶しておき、システムの電源オン時又はリセット時に、回路データ格納メモリ8から順次送られる回路データを回路データ書き込み部20で読み込み、プログラムロジック部3に書き込む方法である。このような構成することにより、動作モードが変更された場合であってもプログラムロジック部3に書き込まれたいずれかの回路データを用いて処理を行うことはできるが、この構成では、動作モード数分の回路データを書き込むことができるプログラムロジック部3を設けなければならず、プログラマブル論理回路19の規模が大きくなってしまうという問題がある。
【0010】
また、プログラムロジック部3にそのときに必要とされる回路データのみを書き込んでおき、動作モードの変更に対してプログラムロジック部3を再構成する方法もある。例えば、図9に示すように、プログラマブル論理回路19の外部に制御部21を設けておき、動作モードが変更された場合に、制御部21が回路データ格納メモリ8にアクセスして、変更された動作モードに対応する回路データを回路データ書き込み部20に送り、プログラムロジック部3に書き込む方法である。しかしながら、この構成では外部に制御部21を新たに設けなければならず、コンピュータシステムの構成が複雑になってしまう。
【0011】
また、制御部21はプログラマブル論理回路19と独立した部分であるため、制御部21ではプログラムロジック部2の状態に関係なく、すなわち、プログラマブル論理回路19と調停を行うことなく、変更された動作モードに対応する回路データを回路データ書き込み部20に送る。そのため、プログラムロジック部3内の回路データが動作中の場合などでは新たな回路データを書き込むことできず、コンピュータシステムの処理が停滞してしまうという問題もある。
【0012】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができるプログラマブル論理回路及び該回路を備えたコンピュータシステム並びにプログラマブル論理回路における回路データの再構成方法を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明のプログラマブル論理回路は、再構成可能な領域を有するプログラマブル論理回路において、回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成する機能を備えるものである。
【0014】
本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードに対応する回路データのメモリ上のアドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることができる。
【0015】
また、本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードを特定する動作モード番号を取得し、予め記憶された動作モード番号と回路データのメモリ上のアドレス情報との対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることもできる。
【0016】
また、本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、前記動作モード設定部から変更された前記動作モードに対応する動作モード番号を取得し、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることもできる。
【0017】
また、本発明においては、前記再構成可能な領域は、所定の回路規模の複数のスロットに分割され、各々の前記スロットが独立して書き換え可能に制御される構成とすることもできる。
【0018】
また、本発明のコンピュータシステムは、上記プログラマブル論理回路と、複数の回路データを格納する前記メモリとを少なくとも備えるものである。
【0019】
また、本発明のコンピュータシステムは、上記プログラマブル論理回路と、複数の回路データを格納する前記メモリと、動作モード番号と回路データの前記メモリ上のアドレス情報との対応データを記憶するアドレス設定部とを少なくとも備えるものである。
【0020】
また、本発明の回路データの再構成方法は、再構成可能な領域を含むプログラマブル論理回路を用いた回路データの再構成方法であって、回路の動作モードの設定又は変更に際して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成するものである。
【0021】
本発明においては、予め、メモリに複数の動作モードに対応する複数の回路データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードに対応する回路データの前記メモリ上のアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備える構成とすることができる。
【0022】
また、本発明においては、予め、メモリに複数の動作モードに対応する複数の回路データを記憶すると共に、アドレス設定部に前記動作モードを特定する動作モード番号と前記回路データの前記メモリ上のアドレス情報との対応データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードを特定する動作モード番号を取得するステップと、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する前記回路データのアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備える構成とすることもできる。
【0023】
このように、再構成可能な領域を含むプログラマブル論理回路に、動作モードの変更を設定する動作モード設定部と、回路データを格納するメモリにアクセスして変更された動作モードに対応する回路データのみを読み出し、再構成可能な領域に再構成する回路データ書き込み部とを設けることにより、外部に制御部を設けたり、プログラマブル論理回路の規模を大きくすることなく、動作モードの変更に柔軟に対応することができる。
【0024】
更に、プログラマブル論理回路に、動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、動作モードの変更を検出し、アドレス設定部に記憶された対応データを参照して、変更された動作モードに対応する回路データのアドレス情報を取得するアドレス選択部とを設けることにより、動作モードの変更を少ないビット数の情報で実行することができ、処理の高速化を図ることができる。
【0025】
【発明の実施の形態】
本発明に係るプログラマブル論理回路は、好ましい一実施の形態において、書き換え可能なプログラムロジック部と、動作モードの変更を設定する動作モード設定部と、動作モードを特定する動作モード番号と回路データのアドレス情報との対応データを記憶するアドレス設定部と、動作モード設定部から動作モード番号を取得し、アドレス設定部に記憶された対応データを参照して、取得した動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、取得したアドレス情報を用いて回路データ格納メモリにアクセスし、該アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部に再構成する回路データ書き込み部とを備えるものであり、回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み再構成することができるため、回路規模を大きくすることなく、動作モードの変更に対して柔軟に対応することができる。
【0026】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプログラマブル論理回路及び該回路を用いた動作モードの設定方法について、図1乃至図5を参照して説明する。図1は、本発明の一実施例に係るプログラマブル論理回路の基本構成及び処理の流れを模式的に示す図であり、図2は、動作モードの設定/変更手順を示すフローチャート図である。また、図3は、本実施例に係るプログラマブル論理回路の他の構成を示す図であり、図4及び図5は、先願に係るプログラマブル論理回路の構成及びスロットの入出力インターフェースを示す図である。
【0027】
従来技術において記載したように、プログラマブル論理回路を用いることによって、コンピュータシステムで必要とする回路データを書き換え可能領域に再構成することができるが、プログラム論理回路を複数の動作モードに対応させるためには、動作モード分の回路データを予め回路データ格納メモリに記憶し、その全てをプログラムロジック部に書き込まなければならず、その結果、プログラムロジック部の回路規模が大きくなりプログラマブル論理回路の大型化を招いていた。
【0028】
また、初期状態ではデフォルトで指定された回路データを書き込んでおき、外部に設けたCPU等の制御部を用いて、動作モードが変更された場合に対応する回路データをその都度書き込む方法では、制御部を新たに設けなければならず、コンピュータシステムの構成が複雑となると共に、動作モードに対応する回路データをプログラマブル論理回路に再構成するためには、制御部はその回路データの回路データ格納メモリ上のアドレス(スタートアドレス、エンドアドレス等)を直接指定してアクセスしなければならず、多ビットの情報を用いて処理を実行するために、処理の高速化の妨げになっていた。
【0029】
そこで、本発明では、書き換え可能なプログラムロジック部を備えるプログラマブル論理回路に、動作モードの変更を検出し、変更された動作モードに対応する回路データの回路データ格納メモリ上のアドレス情報を取得し、そのアドレス情報に従って回路データ格納メモリから回路データを読み出してプログラムロジック部に書き込む機能を設けることにより、プログラマブル論理回路の大きくすることなく複数の動作モードに対して柔軟に対応できるようにしている。
【0030】
具体的に説明すると、本実施例のプログラマブル論理回路2は、図1に示すように、書き換え可能な領域からなるプログラムロジック部3と、動作モードの変更を設定する動作モード設定部4と、各々の動作モードに対して付与された番号(以下、動作モード番号と称する。)と回路データの回路データ格納メモリ8上の位置を示すスタートアドレス及びエンドアドレス等のアドレス情報との対応データを記憶するアドレス設定部7と、動作モードが変更された場合に、アドレス設定部7から変更された動作モードに対応する回路データの回路データ格納メモリ8上のアドレス情報を取得するアドレス選択部5と、回路データ格納メモリ8にアクセスし、取得したアドレス情報を用いて所望の回路データを読み込み、プログラムロジック部3に再構成する回路データ書き込み部6とを少なくとも備えている。
【0031】
また、上記プログラマブル論理回路2を備えるコンピュータシステム1には、該アドレス情報で指定される位置に予め複数の回路データが記憶されている回路データ格納メモリ8とを少なくとも備えている。
【0032】
なお、図1の構成は本発明のプログラマブル論理回路2及びコンピュータシステム1の基本的な構成であり、プログラマブル論理回路2内に複数のプログラムロジック部3を備える構成や、外部との調停を行う手段を備える構成としても良い。また、図1ではプログラマブル論理回路2にアドレス設定部7を含む構成としているが、アドレス設定部7をプログラマブル論理回路2とは別に設ける構成とすることもできる。また、コンピュータシステム1として、プログラマブル論理回路2と回路データ格納メモリ8のみを記載しているが、これらに加えてCPU等のプロセッサや他の記憶手段等が接続されていても良い。
【0033】
上記構成のプログラマブル論理回路2では、動作モード設定部4の動作モードが変更されると、アドレス選択部5は、動作モードの変更を検出し、アドレス設定部7に記憶されている動作モード番号と回路データのアドレス情報との対応データを参照して、変更された動作モード番号に対応する回路データのアドレス情報を取得し、回路データ書き込み部6に送る。回路データ書き込み部6では、アドレス情報を用いて回路データ格納メモリ8にアクセスし、アドレス情報で特定されるメモリ領域の回路データのみを読み込み、プログラムロジック部3に書き込む。
【0034】
従って、従来のように、複数の動作モードに対応する回路データの全てを予めプログラムロジック部3に書き込んでおく必要がないため、書き換え可能領域の規模を大きくすることなく、複数の動作モードに対応することができる。また、別途外部に制御部を設ける構成に比べてコンピュータシステム全体の構成を簡略化することができ、動作モードの変更をビット数の少ない動作モード番号を用いて行うことにより、処理の迅速化を図っている。
【0035】
次に、具体的な動作モードの設定/変更手順について、図2のフローチャート図を参照して説明する。
【0036】
本実施例のコンピュータシステム1を動作させるに当たり、予め回路データ格納メモリ8には、コンピュータシステム1で必要となる複数の動作モードに対応する回路データ(図では3つの動作モードに対応する回路データ1〜3)が記憶され、アドレス設定部7には、各々の回路データのスタートアドレスとエンドアドレス等のアドレス情報と動作モード番号(例えば、”01”、”10”、”11”等)との対応データが書き込まれているものとする。
【0037】
まず、ステップS101で、コンピュータシステム1の電源をオン又はリセットすると、ステップS102で、アドレス選択部5は動作モード設定部4からデフォルトで設定された動作モード番号を取得し、ステップS103で、アドレス設定部7の対応データを参照して、動作モード番号に対応した回路データの回路データ格納メモリ8上のスタートアドレス及びエンドアドレス等のアドレス情報を取得し、回路データ書き込み部6に転送する。
【0038】
回路データ書き込み部6では、ステップS104で、転送されたアドレス情報を用いて回路データ格納メモリ8にアクセスし、アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部3に書き込む。その際、回路データ書き込み部6では、単に回路データ格納メモリ8に記憶された回路データを書き込むのではなく、回路データ格納メモリ8にアクセスして、スタートアドレス及びエンドアドレスで特定される領域の回路データのみを書き込むため、外部に制御部を設けなくても動作モードに対応する回路データのみを選択的に書き込むことができる。
【0039】
その後、ステップS105で、外部のハードウェア又はソフトウェアにより動作モード設定部4の動作モードが変更されると、アドレス選択部5は、ステップS106で、動作モード設定部4の設定の変更を検出し、変更された動作モードに対応する動作モード番号を取得する。
【0040】
この動作モード設定部4は、動作モードの設定/変更を常時可能としてもよいが、プログラムロジック部3に書き込まれた回路データが動作中であったり、プログラムロジック部3に回路データを書き込み中である場合には動作モードが変更されるのは好ましくない。そこで、動作モード設定部4にプログラムロジック部3の動作状態や回路データ書き込み部6の書き込み状態を監視する手段を設けておき、動作モードを変更することができる状態のときのみ動作モードの設定/変更を可能とする構成としても良い。
【0041】
次に、アドレス選択部5は、ステップS106で、同様に動作モード番号と回路データのアドレス情報との対応データを記憶したアドレス設定部7から、変更された動作モード番号に対応する回路データのアドレス情報を取得し、取得したアドレス情報を回路データ書き込み部6に転送する。
【0042】
次に、ステップS107で、回路データ書き込み部6は転送されたアドレス情報を用いて回路データ格納メモリ8にアクセスし、スタートアドレス及びエンドアドレスで特定される領域に記憶された回路データを回路データ格納メモリ8から読み出し、読み出した回路データをプログラムロジック部3に再構成する。以後、同様にステップS105からS108を繰り返す。
【0043】
このように、プログラムロジック部3を備えるプログラマブル論理回路2に、動作モードの変更を設定する動作モード設定部4と、動作モードを特定する動作モード番号と回路データの回路データ格納メモリ8上のアドレス情報との対応データを記憶するアドレス設定部7と、動作モード設定部4から動作モード番号を取得し、アドレス設定部7の対応データを参照して、動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部5と、アドレス選択部5からアドレス情報を取得し、回路データ格納メモリ8にアクセスして該アドレス情報で特定される回路データを読み取り、プログラムロジック部3に書き込む回路データ書き込み部6とを設けることにより、外部に制御部を設けたり、プログラムロジック部3の回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができる。
【0044】
本発明は、外部に制御部を設けることなく動作モードの設定/変更に対応する回路データを再構成するものであり、上記説明では、少ないビット数の動作モード番号を用いて動作モードの変更を可能とするためにアドレス設定部7とアドレス選択部5とを設けたが、図3に示すように、動作モード設定部4に変更される動作モードに対応する回路データのアドレス情報を直接送り、動作モード設定部4から回路データ書き込み部6に該アドレス情報を転送する構成とすることもできる。
【0045】
この構成では、動作モードの設定/変更のためのデータが大きくなるというデメリットがあるが、プログラマブル論理回路2自体の構成を簡略化することができる。また、回路データ格納メモリ8に記憶される回路データのアドレスが頻繁に更新されるシステムにおいては、その都度対応データを作成するよりも直接アドレス情報で回路データを指定した方が便利な場合もあり、このようなシステムにおいては有効である。
【0046】
なお、本発明で用いるプログラマブル論理回路2のプログラムロジック部3は一般的に用いられている構造のものを使用すればよいが、動作モードが頻繁に変更される場合(例えば、第1の動作モードを基本とし、第2の動作モードと第3の動作モードとを短時間で切り替えて使用する場合等)、その都度プログラムロジック部3全体を再構成したのでは処理が滞る場合が考えられる。そのような場合には、回路データを効率的に書き込むために、本願出願人の先願(特願2002−153586号)に記載されたプログラマブル論理回路を利用することもできる。
【0047】
上記公報記載のプログラマブル論理回路は、図4に示すように、書き換え可能領域を所定の論理規模、数量のスロット10に分割し、各々のスロット10に、独立してハードウェアロジック(回路データ)を書き換え可能に制御することを特徴とするものであり、分割された各々のスロット10にハードウェアロジックを書き込むにあたり、ファイル又はデータの形としてソフトウェアの管理下に置き、ソフトウェアの実行中にスロット10への定義・リプレースが出来るように構成している。また、このハードウェアロジックは独立に動作可能な部分であり、メモリ16へのアクセスやCPU15等のプロセッサとのアクセスを独自に行うことができるようにするために、アドレスの空間を分割している。
【0048】
また、各ハードウェアロジックが個別に動作を行うので、外部のハードウェアやソフトウェアとの調停を行う必要がある。そこで、プログラマブル論理回路9内にスロット入力制御部11、スロット出力制御部12等の調停ロジックを設け、これにより外部のハードウェアやソフトウェア等との全体の調整を行う。また、指定された処理の終了通知や内部ステータスの変化などを通知するため、各スロット10からの割り込み要求を受け付け、CPU15へ割り込みを通知する割り込み制御部13を搭載している。このスロット入力制御部11、スロット出力制御部12、割り込み制御部13は、書き換え可能領域にプログラマブルに、又は、書き換え可能領域外部に固定ロジックとして形成される。
【0049】
なお、このスロット10は、図5に示すようなスロット入力制御部11を介して入力される入力側インターフェース信号(Address、Data_in、Control_in)と、スロット出力制御部12又は割り込み制御部13に出力される出力側インターフェース信号(Data_out、Control_out、Interrupt)等のインターフェース信号によって機能する独立した領域であり、各々のスロット10には自由にハードウェア機能を定義することができる。
【0050】
このような先願に記載された、書き換え可能な領域を複数のスロットに分割する構成を採用することにより、動作モードが頻繁に切り替わる使用形態においても、効率的に動作モードに対応する回路データをプログラムロジック部3に再構成することができ、本発明のプログラマブル論理回路2の効果を更に高めることができる。
【0051】
【発明の効果】
以上説明したように、本発明のプログラマブル論理回路及び該回路を備えたコンピュータシステム並びにプログラマブル論理回路における回路データの再構成方法によれば、下記記載の効果を奏する。
【0052】
本発明の第1の効果は、システムを複雑化したり回路規模を大きくすることなく、複数の動作モードに対応した回路データを再構成することができるということである。
【0053】
その理由は、書き換え可能なプログラムロジック部を備えるプログラマブル論理回路に、動作モードの変更を設定する動作モード設定部と、動作モードを特定する動作モード番号と回路データの回路データ格納メモリ上のアドレス情報との対応データを記憶するアドレス設定部と、動作モード番号と回路データのアドレス情報との対応データを参照して、変更された動作モードに対応する回路データのアドレス情報を取得するアドレス選択部と、該アドレス情報を参照して回路データ格納メモリにアクセスして所望の回路データのみを読み出し、プログラムロジック部に書き込む回路データ書き込み部とを設け、動作モードの変更に対して変更された動作モードに対応した回路データを自ら読み込み、プログラムロジック部を再構成することができるからである。
【0054】
また、本発明の第2の効果は、頻繁に動作モードが変更される場合であっても、効率的に動作モードに対応する回路データを再構成することができるということである。
【0055】
その理由は、プログラムロジック部として、書き換え可能領域が所定の規模、数量のスロットに分割され、各々のスロットが独立して書き換え可能に制御される先願記載のプログラマブル論理回路を用いるからである。
【図面の簡単な説明】
【図1】本発明の一実施例に係るプログラマブル論理回路の基本構成及び信号の流れを模式的に示す図である。
【図2】本発明の一実施例に係るプログラマブル論理回路を用いた動作モードの設定/変更手順を示すフローチャート図である。
【図3】本発明の一実施例に係るプログラマブル論理回路の他の構成を模式的に示す図である。
【図4】先願(特願2002−153586号)に係るプログラマブル論理回路の構成を示す図である。
【図5】先願に係るプログラマブル論理回路のスロットの入出力インターフェース構成を示す図である。
【図6】従来のマルチプロセッサシステムの基本構成を示す図である。
【図7】従来のプロセッサ支援システムの基本構成を示す図である。
【図8】従来のプログラマブル論理回路の基本構成を示す図である。
【図9】従来のプログラマブル論理回路の基本構成を示す図である。
【符号の説明】
1 コンピュータシステム
2 プログラマブル論理回路
3 プログラムロジック部
4 動作モード設定部
5 アドレス選択部
6 回路データ書き込み部
7 アドレス設定部
8 回路データ格納メモリ
9 先願記載のプログラマブル論理回路
10 スロット
11 スロット入力制御部
12 スロット出力制御部
13 割り込み制御部
14 ステータス
15 CPU
16 メモリ
17 バス
18 コプロセッサ又はASIC
19 従来のプログラマブル論理回路
20 従来の回路データ書き込み部
21 制御部
【発明の属する技術分野】
本発明は、再構成可能な領域を含むプログラマブル論理回路及び該回路を備えるコンピュータシステム並びにプログラマブル論理回路おける回路データの再構成方法に関する。
【0002】
【従来の技術】
高速なコンピュータシステムを構成する方法としては、大別して2つの方法がある。第1の方法は、図6に示すように、複数のCPU15を設け、それらを並列に動作させるマルチプロセッサ方式であり、第2の方法は、図7に示すように、CPU15の動作を支援することにより、高速化を達成するものである。
【0003】
マルチプロセッサの代表例としては、並列型のスーパーコンピュータや高性能なサーバー等が挙げられる。また最近では、JAVA(R)プロセッサを搭載するケースや、DSP(Digital Signaling Processor)を搭載するケースなど、特定のアプリケーションに特化して性能を向上させることができるようなマルチプロセッサシステムも提案されている。
【0004】
また、CPU15の動作を支援する構成としては、コプロセッサを搭載する構成やASIC(Application Specific Integrated Circuit)を搭載する構成等がある。
【0005】
コプロセッサの代表例として、浮動小数点演算を高速に行うFPU(Floating−point Processing Unit)がある。このFPUを用いることにより、CPUがハードで浮動小数点演算を行えず、ソフトウェアで処理しなければならない場合に高速化が可能になる。他の例としては、行列の演算を高速に行うためのベクトルコプロセッサがある。これは、行列演算などの規則的な演算を高速に行うためのハードウェアを備えているものである。このようなコプロセッサを用いることにより、科学技術計算などで規則的な演算が大量に出てくる場合に、CPUだけで処理するよりも高速に処理することが可能になる。
【0006】
一方、ASICは、アプリケーションに特化した機能の一部または全部をハードウェアで構成することにより、高速動作を可能にするものであり、その代表例としてゲートアレイが知られている。組み込み型のシステムでは、ASICを搭載することより高速でかつ小型のシステム構築が可能になるが、このASICはアプリケーションに特化した機能を持つために、さまざまなアプリケーションに対応することができないという欠点がある。
【0007】
この欠点を補うため、近年、FPGA(field Programmable Gate Array)やPLD(Programmable logic device)等の書き換え可能な領域を備えるデバイス(以下、これらを総称してプログラマブル論理回路と呼ぶ。)の開発が行われている(例えば、米国特許第4,700,187号)。このプログラマブル論理回路は、LUT(LookUp Table)とフリップフロップとで構成される基本セルを配列したものであり、LUTを書き換えることにより内部の回路データを変更することが出来る。従って、アプリケーションに応じて回路データを書き換えることができることから、特殊な用途やサイクルの短い機器等の制御デバイスとして利用されている。
【0008】
【発明が解決しようとする課題】
しかしながら、上記プログラマブル論理回路は、通常、電源オン時又はリセット時に書き換え可能領域に回路データが書き込まれた後は、固定的な回路構成となる。従って、例えば、デジタルカメラにおける撮像、動画撮影、撮像の液晶モニタ表示、パソコンへの出力、テレビへの出力等の動作形態(以下、これらの動作形態を総称して動作モードと呼ぶ。)を任意に設定できる機器にプログラマブル論理回路を適用する場合には、各々の動作モードに対応する回路データを再構成しなければ、動作モードの変更に対応することができない。
【0009】
複数の動作モードに対応可能とする方法として、複数の動作モードの全てに対応する回路データを予め書き換え可能領域に書き込んでおく方法がある。例えば、図8に示すように、複数の動作モードに対応する回路データ(図では3つの回路データ)を予め回路データ格納メモリ8に記憶しておき、システムの電源オン時又はリセット時に、回路データ格納メモリ8から順次送られる回路データを回路データ書き込み部20で読み込み、プログラムロジック部3に書き込む方法である。このような構成することにより、動作モードが変更された場合であってもプログラムロジック部3に書き込まれたいずれかの回路データを用いて処理を行うことはできるが、この構成では、動作モード数分の回路データを書き込むことができるプログラムロジック部3を設けなければならず、プログラマブル論理回路19の規模が大きくなってしまうという問題がある。
【0010】
また、プログラムロジック部3にそのときに必要とされる回路データのみを書き込んでおき、動作モードの変更に対してプログラムロジック部3を再構成する方法もある。例えば、図9に示すように、プログラマブル論理回路19の外部に制御部21を設けておき、動作モードが変更された場合に、制御部21が回路データ格納メモリ8にアクセスして、変更された動作モードに対応する回路データを回路データ書き込み部20に送り、プログラムロジック部3に書き込む方法である。しかしながら、この構成では外部に制御部21を新たに設けなければならず、コンピュータシステムの構成が複雑になってしまう。
【0011】
また、制御部21はプログラマブル論理回路19と独立した部分であるため、制御部21ではプログラムロジック部2の状態に関係なく、すなわち、プログラマブル論理回路19と調停を行うことなく、変更された動作モードに対応する回路データを回路データ書き込み部20に送る。そのため、プログラムロジック部3内の回路データが動作中の場合などでは新たな回路データを書き込むことできず、コンピュータシステムの処理が停滞してしまうという問題もある。
【0012】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができるプログラマブル論理回路及び該回路を備えたコンピュータシステム並びにプログラマブル論理回路における回路データの再構成方法を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明のプログラマブル論理回路は、再構成可能な領域を有するプログラマブル論理回路において、回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成する機能を備えるものである。
【0014】
本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードに対応する回路データのメモリ上のアドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることができる。
【0015】
また、本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードを特定する動作モード番号を取得し、予め記憶された動作モード番号と回路データのメモリ上のアドレス情報との対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることもできる。
【0016】
また、本発明においては、動作モードの変更を設定する動作モード設定部と、前記動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、前記動作モード設定部から変更された前記動作モードに対応する動作モード番号を取得し、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備える構成とすることもできる。
【0017】
また、本発明においては、前記再構成可能な領域は、所定の回路規模の複数のスロットに分割され、各々の前記スロットが独立して書き換え可能に制御される構成とすることもできる。
【0018】
また、本発明のコンピュータシステムは、上記プログラマブル論理回路と、複数の回路データを格納する前記メモリとを少なくとも備えるものである。
【0019】
また、本発明のコンピュータシステムは、上記プログラマブル論理回路と、複数の回路データを格納する前記メモリと、動作モード番号と回路データの前記メモリ上のアドレス情報との対応データを記憶するアドレス設定部とを少なくとも備えるものである。
【0020】
また、本発明の回路データの再構成方法は、再構成可能な領域を含むプログラマブル論理回路を用いた回路データの再構成方法であって、回路の動作モードの設定又は変更に際して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成するものである。
【0021】
本発明においては、予め、メモリに複数の動作モードに対応する複数の回路データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードに対応する回路データの前記メモリ上のアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備える構成とすることができる。
【0022】
また、本発明においては、予め、メモリに複数の動作モードに対応する複数の回路データを記憶すると共に、アドレス設定部に前記動作モードを特定する動作モード番号と前記回路データの前記メモリ上のアドレス情報との対応データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードを特定する動作モード番号を取得するステップと、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する前記回路データのアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備える構成とすることもできる。
【0023】
このように、再構成可能な領域を含むプログラマブル論理回路に、動作モードの変更を設定する動作モード設定部と、回路データを格納するメモリにアクセスして変更された動作モードに対応する回路データのみを読み出し、再構成可能な領域に再構成する回路データ書き込み部とを設けることにより、外部に制御部を設けたり、プログラマブル論理回路の規模を大きくすることなく、動作モードの変更に柔軟に対応することができる。
【0024】
更に、プログラマブル論理回路に、動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、動作モードの変更を検出し、アドレス設定部に記憶された対応データを参照して、変更された動作モードに対応する回路データのアドレス情報を取得するアドレス選択部とを設けることにより、動作モードの変更を少ないビット数の情報で実行することができ、処理の高速化を図ることができる。
【0025】
【発明の実施の形態】
本発明に係るプログラマブル論理回路は、好ましい一実施の形態において、書き換え可能なプログラムロジック部と、動作モードの変更を設定する動作モード設定部と、動作モードを特定する動作モード番号と回路データのアドレス情報との対応データを記憶するアドレス設定部と、動作モード設定部から動作モード番号を取得し、アドレス設定部に記憶された対応データを参照して、取得した動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、取得したアドレス情報を用いて回路データ格納メモリにアクセスし、該アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部に再構成する回路データ書き込み部とを備えるものであり、回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み再構成することができるため、回路規模を大きくすることなく、動作モードの変更に対して柔軟に対応することができる。
【0026】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプログラマブル論理回路及び該回路を用いた動作モードの設定方法について、図1乃至図5を参照して説明する。図1は、本発明の一実施例に係るプログラマブル論理回路の基本構成及び処理の流れを模式的に示す図であり、図2は、動作モードの設定/変更手順を示すフローチャート図である。また、図3は、本実施例に係るプログラマブル論理回路の他の構成を示す図であり、図4及び図5は、先願に係るプログラマブル論理回路の構成及びスロットの入出力インターフェースを示す図である。
【0027】
従来技術において記載したように、プログラマブル論理回路を用いることによって、コンピュータシステムで必要とする回路データを書き換え可能領域に再構成することができるが、プログラム論理回路を複数の動作モードに対応させるためには、動作モード分の回路データを予め回路データ格納メモリに記憶し、その全てをプログラムロジック部に書き込まなければならず、その結果、プログラムロジック部の回路規模が大きくなりプログラマブル論理回路の大型化を招いていた。
【0028】
また、初期状態ではデフォルトで指定された回路データを書き込んでおき、外部に設けたCPU等の制御部を用いて、動作モードが変更された場合に対応する回路データをその都度書き込む方法では、制御部を新たに設けなければならず、コンピュータシステムの構成が複雑となると共に、動作モードに対応する回路データをプログラマブル論理回路に再構成するためには、制御部はその回路データの回路データ格納メモリ上のアドレス(スタートアドレス、エンドアドレス等)を直接指定してアクセスしなければならず、多ビットの情報を用いて処理を実行するために、処理の高速化の妨げになっていた。
【0029】
そこで、本発明では、書き換え可能なプログラムロジック部を備えるプログラマブル論理回路に、動作モードの変更を検出し、変更された動作モードに対応する回路データの回路データ格納メモリ上のアドレス情報を取得し、そのアドレス情報に従って回路データ格納メモリから回路データを読み出してプログラムロジック部に書き込む機能を設けることにより、プログラマブル論理回路の大きくすることなく複数の動作モードに対して柔軟に対応できるようにしている。
【0030】
具体的に説明すると、本実施例のプログラマブル論理回路2は、図1に示すように、書き換え可能な領域からなるプログラムロジック部3と、動作モードの変更を設定する動作モード設定部4と、各々の動作モードに対して付与された番号(以下、動作モード番号と称する。)と回路データの回路データ格納メモリ8上の位置を示すスタートアドレス及びエンドアドレス等のアドレス情報との対応データを記憶するアドレス設定部7と、動作モードが変更された場合に、アドレス設定部7から変更された動作モードに対応する回路データの回路データ格納メモリ8上のアドレス情報を取得するアドレス選択部5と、回路データ格納メモリ8にアクセスし、取得したアドレス情報を用いて所望の回路データを読み込み、プログラムロジック部3に再構成する回路データ書き込み部6とを少なくとも備えている。
【0031】
また、上記プログラマブル論理回路2を備えるコンピュータシステム1には、該アドレス情報で指定される位置に予め複数の回路データが記憶されている回路データ格納メモリ8とを少なくとも備えている。
【0032】
なお、図1の構成は本発明のプログラマブル論理回路2及びコンピュータシステム1の基本的な構成であり、プログラマブル論理回路2内に複数のプログラムロジック部3を備える構成や、外部との調停を行う手段を備える構成としても良い。また、図1ではプログラマブル論理回路2にアドレス設定部7を含む構成としているが、アドレス設定部7をプログラマブル論理回路2とは別に設ける構成とすることもできる。また、コンピュータシステム1として、プログラマブル論理回路2と回路データ格納メモリ8のみを記載しているが、これらに加えてCPU等のプロセッサや他の記憶手段等が接続されていても良い。
【0033】
上記構成のプログラマブル論理回路2では、動作モード設定部4の動作モードが変更されると、アドレス選択部5は、動作モードの変更を検出し、アドレス設定部7に記憶されている動作モード番号と回路データのアドレス情報との対応データを参照して、変更された動作モード番号に対応する回路データのアドレス情報を取得し、回路データ書き込み部6に送る。回路データ書き込み部6では、アドレス情報を用いて回路データ格納メモリ8にアクセスし、アドレス情報で特定されるメモリ領域の回路データのみを読み込み、プログラムロジック部3に書き込む。
【0034】
従って、従来のように、複数の動作モードに対応する回路データの全てを予めプログラムロジック部3に書き込んでおく必要がないため、書き換え可能領域の規模を大きくすることなく、複数の動作モードに対応することができる。また、別途外部に制御部を設ける構成に比べてコンピュータシステム全体の構成を簡略化することができ、動作モードの変更をビット数の少ない動作モード番号を用いて行うことにより、処理の迅速化を図っている。
【0035】
次に、具体的な動作モードの設定/変更手順について、図2のフローチャート図を参照して説明する。
【0036】
本実施例のコンピュータシステム1を動作させるに当たり、予め回路データ格納メモリ8には、コンピュータシステム1で必要となる複数の動作モードに対応する回路データ(図では3つの動作モードに対応する回路データ1〜3)が記憶され、アドレス設定部7には、各々の回路データのスタートアドレスとエンドアドレス等のアドレス情報と動作モード番号(例えば、”01”、”10”、”11”等)との対応データが書き込まれているものとする。
【0037】
まず、ステップS101で、コンピュータシステム1の電源をオン又はリセットすると、ステップS102で、アドレス選択部5は動作モード設定部4からデフォルトで設定された動作モード番号を取得し、ステップS103で、アドレス設定部7の対応データを参照して、動作モード番号に対応した回路データの回路データ格納メモリ8上のスタートアドレス及びエンドアドレス等のアドレス情報を取得し、回路データ書き込み部6に転送する。
【0038】
回路データ書き込み部6では、ステップS104で、転送されたアドレス情報を用いて回路データ格納メモリ8にアクセスし、アドレス情報で特定される領域の回路データを読み出し、プログラムロジック部3に書き込む。その際、回路データ書き込み部6では、単に回路データ格納メモリ8に記憶された回路データを書き込むのではなく、回路データ格納メモリ8にアクセスして、スタートアドレス及びエンドアドレスで特定される領域の回路データのみを書き込むため、外部に制御部を設けなくても動作モードに対応する回路データのみを選択的に書き込むことができる。
【0039】
その後、ステップS105で、外部のハードウェア又はソフトウェアにより動作モード設定部4の動作モードが変更されると、アドレス選択部5は、ステップS106で、動作モード設定部4の設定の変更を検出し、変更された動作モードに対応する動作モード番号を取得する。
【0040】
この動作モード設定部4は、動作モードの設定/変更を常時可能としてもよいが、プログラムロジック部3に書き込まれた回路データが動作中であったり、プログラムロジック部3に回路データを書き込み中である場合には動作モードが変更されるのは好ましくない。そこで、動作モード設定部4にプログラムロジック部3の動作状態や回路データ書き込み部6の書き込み状態を監視する手段を設けておき、動作モードを変更することができる状態のときのみ動作モードの設定/変更を可能とする構成としても良い。
【0041】
次に、アドレス選択部5は、ステップS106で、同様に動作モード番号と回路データのアドレス情報との対応データを記憶したアドレス設定部7から、変更された動作モード番号に対応する回路データのアドレス情報を取得し、取得したアドレス情報を回路データ書き込み部6に転送する。
【0042】
次に、ステップS107で、回路データ書き込み部6は転送されたアドレス情報を用いて回路データ格納メモリ8にアクセスし、スタートアドレス及びエンドアドレスで特定される領域に記憶された回路データを回路データ格納メモリ8から読み出し、読み出した回路データをプログラムロジック部3に再構成する。以後、同様にステップS105からS108を繰り返す。
【0043】
このように、プログラムロジック部3を備えるプログラマブル論理回路2に、動作モードの変更を設定する動作モード設定部4と、動作モードを特定する動作モード番号と回路データの回路データ格納メモリ8上のアドレス情報との対応データを記憶するアドレス設定部7と、動作モード設定部4から動作モード番号を取得し、アドレス設定部7の対応データを参照して、動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部5と、アドレス選択部5からアドレス情報を取得し、回路データ格納メモリ8にアクセスして該アドレス情報で特定される回路データを読み取り、プログラムロジック部3に書き込む回路データ書き込み部6とを設けることにより、外部に制御部を設けたり、プログラムロジック部3の回路規模を大きくすることなく、複数の動作モードに柔軟に対応することができる。
【0044】
本発明は、外部に制御部を設けることなく動作モードの設定/変更に対応する回路データを再構成するものであり、上記説明では、少ないビット数の動作モード番号を用いて動作モードの変更を可能とするためにアドレス設定部7とアドレス選択部5とを設けたが、図3に示すように、動作モード設定部4に変更される動作モードに対応する回路データのアドレス情報を直接送り、動作モード設定部4から回路データ書き込み部6に該アドレス情報を転送する構成とすることもできる。
【0045】
この構成では、動作モードの設定/変更のためのデータが大きくなるというデメリットがあるが、プログラマブル論理回路2自体の構成を簡略化することができる。また、回路データ格納メモリ8に記憶される回路データのアドレスが頻繁に更新されるシステムにおいては、その都度対応データを作成するよりも直接アドレス情報で回路データを指定した方が便利な場合もあり、このようなシステムにおいては有効である。
【0046】
なお、本発明で用いるプログラマブル論理回路2のプログラムロジック部3は一般的に用いられている構造のものを使用すればよいが、動作モードが頻繁に変更される場合(例えば、第1の動作モードを基本とし、第2の動作モードと第3の動作モードとを短時間で切り替えて使用する場合等)、その都度プログラムロジック部3全体を再構成したのでは処理が滞る場合が考えられる。そのような場合には、回路データを効率的に書き込むために、本願出願人の先願(特願2002−153586号)に記載されたプログラマブル論理回路を利用することもできる。
【0047】
上記公報記載のプログラマブル論理回路は、図4に示すように、書き換え可能領域を所定の論理規模、数量のスロット10に分割し、各々のスロット10に、独立してハードウェアロジック(回路データ)を書き換え可能に制御することを特徴とするものであり、分割された各々のスロット10にハードウェアロジックを書き込むにあたり、ファイル又はデータの形としてソフトウェアの管理下に置き、ソフトウェアの実行中にスロット10への定義・リプレースが出来るように構成している。また、このハードウェアロジックは独立に動作可能な部分であり、メモリ16へのアクセスやCPU15等のプロセッサとのアクセスを独自に行うことができるようにするために、アドレスの空間を分割している。
【0048】
また、各ハードウェアロジックが個別に動作を行うので、外部のハードウェアやソフトウェアとの調停を行う必要がある。そこで、プログラマブル論理回路9内にスロット入力制御部11、スロット出力制御部12等の調停ロジックを設け、これにより外部のハードウェアやソフトウェア等との全体の調整を行う。また、指定された処理の終了通知や内部ステータスの変化などを通知するため、各スロット10からの割り込み要求を受け付け、CPU15へ割り込みを通知する割り込み制御部13を搭載している。このスロット入力制御部11、スロット出力制御部12、割り込み制御部13は、書き換え可能領域にプログラマブルに、又は、書き換え可能領域外部に固定ロジックとして形成される。
【0049】
なお、このスロット10は、図5に示すようなスロット入力制御部11を介して入力される入力側インターフェース信号(Address、Data_in、Control_in)と、スロット出力制御部12又は割り込み制御部13に出力される出力側インターフェース信号(Data_out、Control_out、Interrupt)等のインターフェース信号によって機能する独立した領域であり、各々のスロット10には自由にハードウェア機能を定義することができる。
【0050】
このような先願に記載された、書き換え可能な領域を複数のスロットに分割する構成を採用することにより、動作モードが頻繁に切り替わる使用形態においても、効率的に動作モードに対応する回路データをプログラムロジック部3に再構成することができ、本発明のプログラマブル論理回路2の効果を更に高めることができる。
【0051】
【発明の効果】
以上説明したように、本発明のプログラマブル論理回路及び該回路を備えたコンピュータシステム並びにプログラマブル論理回路における回路データの再構成方法によれば、下記記載の効果を奏する。
【0052】
本発明の第1の効果は、システムを複雑化したり回路規模を大きくすることなく、複数の動作モードに対応した回路データを再構成することができるということである。
【0053】
その理由は、書き換え可能なプログラムロジック部を備えるプログラマブル論理回路に、動作モードの変更を設定する動作モード設定部と、動作モードを特定する動作モード番号と回路データの回路データ格納メモリ上のアドレス情報との対応データを記憶するアドレス設定部と、動作モード番号と回路データのアドレス情報との対応データを参照して、変更された動作モードに対応する回路データのアドレス情報を取得するアドレス選択部と、該アドレス情報を参照して回路データ格納メモリにアクセスして所望の回路データのみを読み出し、プログラムロジック部に書き込む回路データ書き込み部とを設け、動作モードの変更に対して変更された動作モードに対応した回路データを自ら読み込み、プログラムロジック部を再構成することができるからである。
【0054】
また、本発明の第2の効果は、頻繁に動作モードが変更される場合であっても、効率的に動作モードに対応する回路データを再構成することができるということである。
【0055】
その理由は、プログラムロジック部として、書き換え可能領域が所定の規模、数量のスロットに分割され、各々のスロットが独立して書き換え可能に制御される先願記載のプログラマブル論理回路を用いるからである。
【図面の簡単な説明】
【図1】本発明の一実施例に係るプログラマブル論理回路の基本構成及び信号の流れを模式的に示す図である。
【図2】本発明の一実施例に係るプログラマブル論理回路を用いた動作モードの設定/変更手順を示すフローチャート図である。
【図3】本発明の一実施例に係るプログラマブル論理回路の他の構成を模式的に示す図である。
【図4】先願(特願2002−153586号)に係るプログラマブル論理回路の構成を示す図である。
【図5】先願に係るプログラマブル論理回路のスロットの入出力インターフェース構成を示す図である。
【図6】従来のマルチプロセッサシステムの基本構成を示す図である。
【図7】従来のプロセッサ支援システムの基本構成を示す図である。
【図8】従来のプログラマブル論理回路の基本構成を示す図である。
【図9】従来のプログラマブル論理回路の基本構成を示す図である。
【符号の説明】
1 コンピュータシステム
2 プログラマブル論理回路
3 プログラムロジック部
4 動作モード設定部
5 アドレス選択部
6 回路データ書き込み部
7 アドレス設定部
8 回路データ格納メモリ
9 先願記載のプログラマブル論理回路
10 スロット
11 スロット入力制御部
12 スロット出力制御部
13 割り込み制御部
14 ステータス
15 CPU
16 メモリ
17 バス
18 コプロセッサ又はASIC
19 従来のプログラマブル論理回路
20 従来の回路データ書き込み部
21 制御部
Claims (10)
- 再構成可能な領域を有するプログラマブル論理回路において、
回路の動作モードの設定又は変更に対して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成する機能を備えることを特徴とするプログラマブル論理回路。 - 動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードに対応する回路データのメモリ上のアドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備えることを特徴とする請求項1記載のプログラマブル論理回路。
- 動作モードの変更を設定する動作モード設定部と、前記動作モード設定部から変更された前記動作モードを特定する動作モード番号を取得し、予め記憶された動作モード番号と回路データのメモリ上のアドレス情報との対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備えることを特徴とする請求項1記載のプログラマブル論理回路。
- 動作モードの変更を設定する動作モード設定部と、前記動作モードを特定する動作モード番号と回路データのメモリ上のアドレス情報との対応データを記憶するアドレス設定部と、前記動作モード設定部から変更された前記動作モードに対応する動作モード番号を取得し、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する回路データのアドレス情報を取得するアドレス選択部と、前記アドレス選択部から前記アドレス情報を取得し、前記メモリから該アドレス情報で特定される領域の回路データを読み出し、前記再構成可能な領域に再構成する回路データ書き込み部とを少なくとも備えることを特徴とする請求項1記載のプログラマブル論理回路。
- 前記再構成可能な領域は、所定の回路規模の複数のスロットに分割され、各々の前記スロットが独立して書き換え可能に制御されることを特徴とする請求項1乃至4のいずれか一に記載のプログラマブル論理回路。
- 請求項1、2、4、5に記載のプログラマブル論理回路と、複数の回路データを格納する前記メモリとを少なくとも備えることを特徴とするコンピュータシステム。
- 請求項1、3、5に記載のプログラマブル論理回路と、複数の回路データを格納する前記メモリと、動作モード番号と回路データの前記メモリ上のアドレス情報との対応データを記憶するアドレス設定部とを少なくとも備えることを特徴とするコンピュータシステム。
- 再構成可能な領域を含むプログラマブル論理回路を用いた回路データの再構成方法であって、
回路の動作モードの設定又は変更に際して、設定又は変更された動作モードに対応した回路データを自ら読み込み、該回路データを前記再構成可能な領域に再構成することを特徴とする回路データの再構成方法。 - 予め、メモリに複数の動作モードに対応する複数の回路データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードに対応する回路データの前記メモリ上のアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備えることを特徴とする請求項8記載の回路データの再構成方法。
- 予め、メモリに複数の動作モードに対応する複数の回路データを記憶すると共に、アドレス設定部に前記動作モードを特定する動作モード番号と前記回路データの前記メモリ上のアドレス情報との対応データを記憶するステップと、動作モードの変更を設定するステップと、変更された前記動作モードを特定する動作モード番号を取得するステップと、前記アドレス設定部に記憶された前記対応データを参照して、前記動作モード番号に対応する前記回路データのアドレス情報を取得するステップと、前記メモリから該アドレス情報で特定される領域の回路データを読み出すステップと、読み出した前記回路データを前記再構成可能な領域に再構成するステップとを少なくとも備えることを特徴とする請求項8記載の回路データの再構成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002196689A JP2004040599A (ja) | 2002-07-05 | 2002-07-05 | プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002196689A JP2004040599A (ja) | 2002-07-05 | 2002-07-05 | プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004040599A true JP2004040599A (ja) | 2004-02-05 |
Family
ID=31704654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002196689A Pending JP2004040599A (ja) | 2002-07-05 | 2002-07-05 | プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004040599A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334538A (ja) * | 2006-06-14 | 2007-12-27 | Fuji Xerox Co Ltd | プログラマブルデバイス制御装置、プログラマブル論理回路装置及びプログラマブルデバイスの制御方法 |
-
2002
- 2002-07-05 JP JP2002196689A patent/JP2004040599A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334538A (ja) * | 2006-06-14 | 2007-12-27 | Fuji Xerox Co Ltd | プログラマブルデバイス制御装置、プログラマブル論理回路装置及びプログラマブルデバイスの制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3587095B2 (ja) | 情報処理装置 | |
KR100287355B1 (ko) | 그래픽/영상을 처리하기 위한 스마트 비디오 메모리 및 그 처리 방법 | |
JP4833303B2 (ja) | 動作合成ツールにおける配列変換 | |
US7058945B2 (en) | Information processing method and recording medium therefor capable of enhancing the executing speed of a parallel processing computing device | |
US20040015970A1 (en) | Method and system for data flow control of execution nodes of an adaptive computing engine (ACE) | |
JP2004503855A (ja) | 無線携帯マルチメディア装置をサポートする統合型プロセッサプラットフォーム | |
KR100196333B1 (ko) | 디엠에이 명령의 프리-로딩을 이용한 디엠에이 데이터 전송방법 | |
JP3531225B2 (ja) | データ処理装置 | |
US7720636B1 (en) | Performance monitors (PMs) for measuring performance in a system and providing a record of transactions performed | |
JP2004040599A (ja) | プログラマブル論理回路及びコンピュータシステム並びに回路データの再構成方法 | |
JP2004334429A (ja) | 論理回路及びその論理回路上で実行するプログラム | |
JP4088763B2 (ja) | コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法 | |
JP2003347930A (ja) | プログラマブル論理回路及びコンピュータシステム並びにキャッシュ方法 | |
JPWO2007060932A1 (ja) | 動的再構成論理回路を有するマルチスレッドプロセッサ | |
CN111078301B (zh) | 一种多核心运算装置及其运作方法 | |
JP2022072452A (ja) | 情報処理装置、及びプログラム | |
JP3904072B2 (ja) | プログラマブル論理回路及びコンピュータシステム並びに回路の初期化方法 | |
US8479124B1 (en) | Graphical user interface (GUI) including input files with information that determines representation of subsequent content displayed by the GUI | |
CN117112466B (zh) | 一种数据处理方法、装置、设备、存储介质及分布式集群 | |
JP3874104B2 (ja) | プログラム処理装置及びプログラム処理方法 | |
JP4132516B2 (ja) | フィールド・プログラマブル・ゲートアレイ | |
JP2004070869A (ja) | 演算システム | |
CN115904506B (zh) | 具有硬件流水线的处理器 | |
JP2008129851A (ja) | 演算処理装置 | |
TWI698798B (zh) | 一種多核心運算裝置及其運作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061004 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070214 |