JP3403614B2 - 動的な資源利用機能を備えたデータ処理システム - Google Patents

動的な資源利用機能を備えたデータ処理システム

Info

Publication number
JP3403614B2
JP3403614B2 JP15667797A JP15667797A JP3403614B2 JP 3403614 B2 JP3403614 B2 JP 3403614B2 JP 15667797 A JP15667797 A JP 15667797A JP 15667797 A JP15667797 A JP 15667797A JP 3403614 B2 JP3403614 B2 JP 3403614B2
Authority
JP
Japan
Prior art keywords
data
function
data processing
processing system
memory
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 - Fee Related
Application number
JP15667797A
Other languages
English (en)
Other versions
JPH113209A (ja
Inventor
俊介 笛木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP15667797A priority Critical patent/JP3403614B2/ja
Priority to US08/995,154 priority patent/US6009483A/en
Priority to EP97310616A priority patent/EP0884676B1/en
Priority to DE69733251T priority patent/DE69733251T2/de
Publication of JPH113209A publication Critical patent/JPH113209A/ja
Application granted granted Critical
Publication of JP3403614B2 publication Critical patent/JP3403614B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばプログラム
的に内部機能を設定することが可能なデバイス、および
そのようなデバイスを用いたコンピュータやデータ処理
装置に係り、更に詳しくは動的に内部機能の設定・変更
を可能にすることにより、フレキシブルな動作や処理を
実行することができるデバイス、コンピュータおよびデ
ータ処理装置を有するデータ処理システムに関する。
【0002】近年のコンピュータ産業の成功の原因は、
メインフレームからパーソナルコンピュータへのダウン
サイジングにある。これは単価あたりのプロセッサパワ
ーの飛躍的な増大によってもたらされたものである。現
行のプロセッサアーキテクチャは、基本的に決められた
命令長を持つ命令語で記述されたプログラムを処理する
構成になっており、処理の高速化はもっぱら実行サイク
ルの短縮によって成し遂げられてきた。
【0003】しかしながら、このような方法では動作ク
ロックがますます高速となり、最近のプロセッサにおけ
るように数 100MHz の動作クロックを使用する場合に
は、クロック遅延の観点からチップ面積の縮小を図るた
めに、最近のプロセス技術に依存することが必要とな
り、コンピュータ開発に要する時間も費用も飛躍的に増
大している。このため新しいコンピュータパラダイム、
すなわち基本構成の出現が求められている。
【0004】
【従来の技術】本来あらゆるアルゴリズムに対して同一
のプロセッサアーキテクチャを用いて処理を実行するこ
とは便宜的手段であって、アルゴリズム、すなわち必要
な処理に適合したアーキテクチャで処理を実行すること
ができれば、動作クロックのみを高速化するという従来
の方法に依存せずに、高速な処理が可能になると考えら
れる。
【0005】このような考え方に適合するアーキテクチ
ャとして、次世代のマイクロプロセッサのアーキテクチ
ャの1つとされているVLIW(ベリーロングインスト
ラクションワード)アーキテクチャがある。このような
アーキテクチャは、一部の超並列コンピュータや、AS
IC製品などで採用されつつある。
【0006】図38はVLIWアーキテクチャの構成例
の説明図である。同図において、このアーキテクチャは
並列に実行できる命令の数を決めるn個のイッシュース
ロット101、イッシュースロットに1対1に対応する
n個のファンクションユニット、例えばALU102、
レジスタファイル103、およびファンクションユニッ
ト102によるレジスタファイル103へのデータのリ
ード/ライトを制御するリードライトクロスバー104
から構成されている。
【0007】このようなVLIWアーキテクチャでは、
クロックサイクル毎に複数の命令が発行され、この複数
の命令はn個のイッシュースロット101によって並列
に実行される。この時、複数の命令としては前もって同
時実行できる命令が選択されているものとし、複数の命
令はコンパイラで静的に1つのベリーロングインストラ
クション(VLI)とされるため、スケジュール用の回
路が不必要である。またリードライトクロスバー104
を用いるため、ファンクションユニット102毎にレジ
スタファイル103に接続される必要はないというよう
な特徴を持っている。
【0008】
【発明が解決しようとする課題】このようにVLIWア
ーキテクチャは、従来のプロセッサアーキテクチャより
命令長の自由度が高く、並列処理も可能となったが、対
象のアルゴリズムをあらかじめ用意された命令語に置き
換えたり、処理の実行時においてはデータバス幅の制限
があるために、本来の処理能力を十分に引き出せないと
いう問題点があった。そのためファンクションユニット
の構成やレジスタファイルとの接続の自由度を上げるた
めの回路要素が必要となり、プログラマブルロジックア
レイ(PLA)や、フィールドプログラマブルゲートア
レイ(FPGA)など、プログラム的に機能をインプリ
メントできる回路要素の使用が注目されている。
【0009】しかしながらこのようなPLAやFPGA
では、論理回路や配線の自由度は高いが、機能を記憶す
るための領域や、配線の結合を選択するための領域が必
要となり、ASICに比較して集積度が劣ってしまうと
いう欠点があり、ALUなどの主要部分には適用困難で
あるという問題点があり、またこれらは最小限の論理セ
ルとそれらを接続する配線リソースで構成され、動作前
に一度だけ機能が設定されるという方法で利用されるた
めに、動作的に機能設定や機能変更を行うことが困難で
あるという問題点があった。
【0010】本発明の課題は、上述の問題点に鑑み、例
えばプログラムによって外部から内部機能の設定・変更
が可能なデバイスを利用して、動的に内部機能の設定・
変更を行うことよって、そのようなデバイスの動作、お
よびそのようなデバイスを使用したコンピュータ、デー
タ処理装置における処理を高速化することである。
【0011】
【課題を解決するための手段】図1は本発明の原理構成
ブロック図である。同図は外部から、例えばプログラム
によって内部機能の設定・変更が可能なデバイス、該デ
バイスが使用されたコンピュータ、およびデータ処理装
置における動的な資源利用機能を実現するための原理構
成ブロック図である。
【0012】図1においてデバイス、コンピュータ、ま
たはデータ処理装置1の外部に機能データ設定手段2お
よび実行状態スタック手段3が備えられ、デバイス、コ
ンピュータ、またはデータ処理装置1の内部に内部資源
管理手段4が備えられる。
【0013】機能データ設定手段2は、デバイスの内部
機能設定・変更のためのデータを記憶し、その記憶され
たデータの設定をデバイス、コンピュータまたはデータ
処理装置1側に指示するものであり、例えば機能データ
設定部である。
【0014】実行状態スタック手段3は、デバイスの内
部機能の実行途中の状態を示すデータを記憶するもので
あり、例えば実行状態スタック部である。内部資源管理
手段4は、機能データ設定手段2からの指示に従ってデ
バイスの内部機能の設定・変更を行うと共に、実行状態
スタック手段3との間で内部機能の実行途中の状態を示
すデータを退避・復帰させるものであり、例えば内部資
源管理部である。
【0015】本発明において機能データ設定手段2は、
例えばメモリ内でアドレスで指定されるデータとしてデ
バイスの内部機能設定・変更のためのデータを記憶する
か、またはメモリアレイの行および/または列に対する
ビット列のデータとして機能設定・変更のためのデータ
を記憶する機能データ記憶手段、例えば機能データ選択
メモリと、機能データ記憶手段におけるデータ記憶を制
御するメモリ制御手段、例えばメモリコントロール部と
を備えている。
【0016】また実行状態スタック手段3は、内部機能
の実行途中の状態を示すデータとして、例えばデータの
退避要求発生時点における内部機能としての回路の動作
状態などを示す要求発生状態情報と、デバイス内におけ
る回路の位置を示す復帰先領域情報と、回路構成を示す
データとしての復帰させるデータとを記憶する退避デー
タ記憶手段、例えばスタックメモリと、退避データ記憶
手段におけるデータ記憶を制御するスタックメモリ制御
手段、例えばスタックメモリコントロール部とを備えて
いる。
【0017】更に内部資源管理手段4は、例えばデバイ
ス内部の論理セルの集合のそれぞれに対して論理セル集
合の動作状態を示すフラグを格納する1つ以上のフラグ
格納手段、例えばフラグレジスタと、フラグ格納手段に
1対1に対応してフラグの書き込み、読み出しを行うフ
ラグ書き込みおよび読み出し手段と、フラグ格納手段に
格納されているフラグ内容の読み出し、または更新のタ
イミングを指示する監視時間発生手段とを備えている。
【0018】本発明においては、外部から内部機能の設
定・変更が可能なデバイス、そのようなデバイスが使用
されたコンピュータおよびデータ処理装置において、動
的な資源利用機能を用いた動作、または処理が実行され
る。例えば機能データ設定手段2によってコンピュータ
側に機能Aが設定され、その機能Aの処理がコンピュー
タ側で実行され、その処理結果は実行状態スタック手段
3に記憶される。
【0019】その後機能Bがコンピュータ側に設定さ
れ、その処理結果は同様に実行状態スタック手段3に記
憶される。そして機能データ設定手段2によってコンピ
ュータ側に機能Cが設定されるが、この機能Cにおいて
は機能Aと機能Bとの処理結果が使用されるものとす
る。そのため実行状態スタック手段3からコンピュータ
側に機能Aと機能Bとの処理結果が与えられ、機能Cの
処理が実行される。
【0020】以上のように本発明によれば、外部から例
えばプログラム的に内部機能設定・変更が可能なデバイ
スを用いたコンピュータなどにおいて、動的な資源利用
機能を活用した処理が実行される。
【0021】
【発明の実施の形態】図2は本発明の動的な資源利用機
能を用いたデバイス、コンピュータおよびデータ処理装
置の基本構成を示すブロック図である。同図においてデ
バイス(コンピュータまたはデータ処理装置)11の内
部に内部資源管理部14、外部に機能データ設定部1
2、および実行状態スタック部13が備えられる。
【0022】機能データ設定部12は、前述のPLA,
FPGA,ASICやプログラマブルロジックデバイス
(PLD)などのデバイス(これらのデバイスを使用し
たコンピュータまたはデータ処理装置)11の内部に構
築される内部機能の一部、または全部に関するデータを
記憶し、例えばコンピュータの中央処理装置(CPU)
などからの指示に対応して、記憶しているデータをデバ
イス(コンピュータまたはデータ処理装置)11側に設
定するための指示を与えるものである。
【0023】実行状態スタック部13は、デバイス(コ
ンピュータまたはデータ処理装置)11の内部に構築さ
れる内部機能としての回路の一部、または全部の実行途
中の状態を示すデータを記憶するものであり、CPUな
どからの指示に従って内部資源管理部14との間で、こ
れらのデータの退避および復帰を行う。
【0024】内部資源管理部14は、デバイス(コンピ
ュータまたはデータ処理装置)11の内部に設けられ、
内部機能が設定される論理セルを管理し、機能データ設
定部12の指示に従ってこれらの機能を設定し、論理セ
ルの入・出力値などのデータを実行状態スタック部13
との間で退避・復帰するものである。
【0025】図3は、図2の基本構成ブロック図におけ
る動作の説明図である。同図(a) において、例えばコン
ピュータのCPUから機能データ設定部12に対して、
#1としてデバイス、コンピュータまたはデータ処理装
置で利用される機能データが送り込まれるか、すでに機
能データ設定部12の内部に記憶されている機能データ
を利用すべきことを示す指示が与えられる。
【0026】機能データ設定部12では、その指示に対
応してデバイス(コンピュータまたはデータ処理装置)
11の内部の内部資源管理部14に対して、#2で論理
セルへの機能設定の指示を与える。これに対して内部資
源管理部14は、デバイス、コンピュータまたはデータ
処理装置の内部の論理セルの機能を設定する。
【0027】内部資源管理部14は、機能データ設定部
12からの指示に対応して論理セルへの機能設定を行う
が、全ての機能を設定できない場合には機能設定の結果
を#3で機能データ設定部12に通知し、その結果は更
に機能データ設定部12から#4でCPUに連絡され
る。
【0028】図3(b) において、例えばコンピュータの
CPUは(a) において論理セルに設定された機能の処理
実行を待ち、#5で実行状態スタック部13に指示を出
し、内部機能の処理途中のデータの退避を#6によって
実行状態スタック部13から内部資源管理部14に要求
させ、#7で処理途中のデータが実行状態スタック部1
3に退避され、データの退避完了が実行状態スタック部
13からCPUに通知される。
【0029】図3(c) においてCPUは、#9で継続し
て処理が実行されるべき論理セルに対する機能データ設
定を機能データ設定部12に対して指示し、内部資源管
理部14が#10でその指示を受け、論理セルに対して
機能を設定し、#11で処理設定の完了を機能データ設
定部12に通知し、更にその結果は#12でCPUに通
知される。
【0030】図3(d) において、CPUは#13で実行
状態スタック部13に指示を出し、実行状態スタック部
13は記憶されているデータのうち、デバイス側に復帰
させるべきデータを#14で内部資源管理部14に引き
渡し、内部資源管理部14は復帰させるべきデータを用
いて処理が継続されるように論理セルへの機能設定を行
い、その機能設定完了は#15で実行状態スタック部に
通知され、#16で更にCPUに通知される。
【0031】図4は本発明におけるデバイス内部の機能
設定、すなわち機能設定可能領域への機能配置の繰り返
しとしてのリコンフィグレーションの説明図である。同
図においてまずデバイス、コンピュータまたはデータ処
理装置の機能配置可能領域の一部に、機能Aの配置がコ
ンフィグレートされ、その機能Aの論理が実行される。
そしてその結果はスタックへのプッシュとして実行状態
スタック部13に退避される。次に機能Bの配置がデバ
イス、コンピュータまたはデータ処理装置の機能設定可
能領域にコンフィグレートされ、機能Bの論理が実行さ
れ、その結果は再びプッシュスタックとして実行状態ス
タック部13にスタックされる。最後に機能Cの配置が
機能設定可能領域にコンフィグレートされ、また実行状
態スタック部13に記憶されている機能Aの処理結果と
機能Bの処理結果がポップされ、これらの結果を用いて
機能Cの論理が実行される。
【0032】図5は機能データ設定部の第1の実施例の
構成を示すブロック図である。同図において機能データ
設定部12は、機能データを記憶する機能データ選択メ
モリ16、機能データ選択メモリ16におけるデータ記
憶を制御するメモリコントロール部17、および例えば
コンピュータのCPUなどと通信するための外部I/O
コントロール部18から構成されている。機能データ選
択メモリ16は、指定されたデバイスに対応して最小単
位の機能データ毎、例えばメモリ内の1つのアドレスに
対応するデータ毎に機能データを記憶するものである。
【0033】図6は機能データ設定部12の第2の実施
例の構成ブロック図である。同図において機能データ選
択メモリ19では、図5における機能データ選択メモリ
16と異なって、メモリへのアクセス方法としてメモリ
アレイの行方向、または列方向の指定が可能な形式で、
機能データが格納される。すなわち行、または列番号
と、その行、または列のビットの内容が指定される形式
で、機能データが記憶される。
【0034】図7は図5、または図6における動作の説
明図である。同図において、例えばコンピュータのCP
Uなどからの指示は、#1で外部I/Oコントロール部
18を経て、#2でメモリコントロール部17に与えら
れる。メモリコントロール部17は、デバイスの指定に
対応して最小単位の機能データ毎、例えばアドレスに対
応する機能データの形式、またはメモリアレイの行、ま
たは列に対するビットの列としての機能データを、機能
データ選択メモリ16、または19に#3で格納する。
【0035】機能データ選択メモリ16、または19
は、デバイス、コンピュータまたはデータ処理装置への
そのデータの書き込み指示が与えられた場合には、その
指示を#4によって実行する。これに対してデバイス側
からの読み出しが指示された場合には、#5によってそ
のデータは機能データ選択メモリ16、または19に格
納され、CPU側へのデータ転送が必要な場合には、#
6でそのデータがメモリコントロール部17に送られ、
#7、#8で外部I/Oコントロール部18を経てCP
Uへのデータ転送が行われる。
【0036】図8は図5における機能データ選択メモリ
16への機能データ格納形式の説明図である。機能デー
タ選択メモリ16においては、機能データがデバイスの
指定に対応して最小単位の機能データ毎に格納される。
この最小単位の機能データは、例えば図8に示すよう
に、アドレスによってメモリの場所が指定されて格納さ
れるデータである。本実施例ではデバイス側で許される
最小単位のデータの変更によってデバイスの内部機能の
動的設定を行えるものとする。
【0037】図9は図6における機能データ選択メモリ
19におけるデータ格納方法の説明図である。機能デー
タ選択メモリ19においては、機能データを格納するメ
モリに対するアクセスが、メモリアレイの行方向、また
は列方向の指定によって可能となる。すなわち行、また
は列の番号と、その行、または列のビットの内容指定と
して、機能データが記述される。
【0038】図10は機能データ設定部の第3の実施例
の構成を示すブロック図である。同図を図6の実施例と
比較すると、論理セルライブラリデータ格納メモリ20
が追加されている点のみが異なっている。この論理セル
ライブラリデータ格納メモリはデバイス、コンピュータ
またはデータ処理装置11側で頻繁に利用される回路の
データ、例えば8ビットレジスタ、32ビット加算器な
どのようにある程度まとまった機能を持つ論理セル集合
のデータを、ライブラリデータとしてあらかじめ記憶し
ておくものである。このライブラリデータ格納メモリ2
0は同一の論理回路のデータは重複して持たないものと
する。
【0039】図11は図10の機能データ設定部12の
第3の実施例の動作の説明図である。同図において、図
7におけると同様の動作については、その説明を省略す
る。図7と異なる動作としては、ライブラリデータのメ
モリ20への格納、およびデバイス側への設定と、メモ
リ20に格納されているライブラリデータのCPU側へ
の読み出しとがある。
【0040】ライブラリデータの格納のためには、#1
でのCPUからデバイス側で頻繁に使用されるライブラ
リデータの格納指示が、外部I/Oコントロール部18
を経て#2でメモリコントロール部17に与えられ、#
3で登録されるべきライブラリデータがライブラリデー
タ格納メモリ20に格納される。このデータ登録におい
ては、同一の論理回路の機能データは重複して格納され
ないように処理が実行される。デバイス側へのデータ設
定の場合には、必要なライブラリデータが#7で内部資
源管理部14に送られる。
【0041】一方ライブラリデータ格納メモリ20に格
納されているライブラリデータをCPU側に読み出す場
合には、CPU側からデータ登録時と同様に指示が与え
られ、格納されているデータは、#4〜#6でメモリコ
ントロール部17、外部I/Oコントロール部18を経
由してCPU側に送られる。
【0042】図12は論理セルのライブラリデータの説
明図である。論理セルのライブラリとは、前述のように
PLD,FPGA,ASICなどのデバイスの内部での
論理セルの配置と配線によってある程度の機能を実行す
ることが可能な単位を示し、論理セルのライブラリデー
タは、そのデバイスの表示のためのデータ形式に従った
コードとして、論理セルライブラリデータ格納メモリ2
0に格納される。
【0043】図13は機能データ設定部12の第4の実
施例の構成を示すブロック図である。同図を図10に示
した第3の実施例と比較すると、機能データ選択メモリ
19と論理セルライブラリデータ格納メモリ20のそれ
ぞれに対して、データ圧縮・拡張部21が備えられてい
る点のみが異なっている。このデータ圧縮・拡張部21
は、機能データ選択メモリ19と論理セルライブラリデ
ータ格納メモリ20のそれぞれに対するデータの入出力
時においてデータの圧縮・拡張を行うものであり、その
動作はメモリコントロール部17によって制御される。
図14は図13の機能データ設定部の第4の実施例の動
作説明図である。同図(a) において、機能データ設定メ
モリ19へのデータ格納、および論理セルライブラリデ
ータ格納メモリ20へのデータ登録は、前述と同様にC
PU側から#1および#2で、外部I/Oコントロール
部を経て、メモリコントロール部17に指示される。デ
ータの格納時には、メモリコントロール部17からの#
3の指示により、データ圧縮・拡張部がビットレベルの
データ圧縮を行い、メモリアレイの行、または列に対応
するビット列のデータは機能データ選択メモリ19に、
また論理セルのライブラリデータはライブラリデータ格
納メモリ20に格納される。
【0044】例えばデバイス側の要求により、格納され
ているデータをデバイス側に送る時には、デバイス側か
らの#5の要求に対して#6で機能データ選択メモリ1
9から読み出されたデータが、また#7ではライブラリ
データ格納メモリ20から読み出されたデータが、ビッ
トレベルの拡張が行われた後、復元されたデータとして
デバイス側に送られる。
【0045】図14(b) において、CPU側から機能デ
ータ選択メモリ19、または論理セルライブラリデータ
格納メモリ20の内容を参照する場合には、#8,#9
でメモリコントロール部17にその指示が送られ、その
指示は#10または#11でメモリ19、または20に
伝えられる。メモリ19、またはメモリ20から読み出
されたデータに対しては、データ圧縮・拡張部21によ
ってビットレベルの拡張が行われ、復元されたデータが
#12、または#13でメモリコントロール部17に送
られ、#14,#15でCPU側に送られる。
【0046】図15はデータ圧縮・拡張の例の説明図で
ある。コンピュータのCPU側、またはデバイス側から
機能データ設定部12に送られるデータは、図15の最
も左側に示すようにヘッダとコードエリアとで構成され
ており、ヘッダにはライブラリ化すべきデータを認識す
るコードが格納されている。このコードはLibCd =0
でライブラリ化しないことを、1でライブラリ化すべき
ことを意味する。
【0047】データ圧縮の場合には、送られたデータの
うち上から1番目のデータから読み込みが行われ、デー
タ圧縮後にデバイス内部と同様の空間を持つ、すなわち
メモリアレイの行、または列の単位に対応するビット列
のデータを格納する機能データ選択メモリ19に格納さ
れる。その後ライブラリデータ格納メモリ20に格納す
べきデータであるか否かが、ヘッダの内容によって判断
される。ここでは上から2番目のデータに対してライブ
ラリ化すべきことが指定されており、そのコードエリア
の内容、すなわちLibrary1data code がライブラリデ
ータ格納メモリ20に格納される。この格納にあたりL
ibrary1data code のデータ量が先頭の数量エリア(C
NT)に記憶される。
【0048】そして機能データ選択メモリ19に格納さ
れたコードエリアの内容がLibrary1pointer とされ、
実際にデータが格納されているアドレスを指し示すよう
に書き換えられる。同様にして上から4番目のデータが
機能データ選択メモリ19に格納された後、そのコード
エリアの内容が以前に設定されたライブラリデータの格
納場所を示すアドレスに書き換えられる。以上によって
機能データ選択メモリ19の内部でのデータの格納量を
減らすことができる。
【0049】データ拡張の場合には、圧縮と逆に機能デ
ータ選択メモリ19の上から1番目のデータからデータ
読み出しが行われ、データ拡張が実行されるが、2番目
のデータがライブラリ化されていることが判定され、L
ibrary1pointer の内容によりライブラリデータ格納メ
モリ20上でポインタによって指示されるアドレスの内
容が参照される。そこでは先頭の数量エリアCNTの内
容からLibrary1datacode 分の必要なデータが読み出
され、以下同様な処理が繰り返されてデータの拡張がな
される。このような動作を行うための回路は、VHDL
などのハードウェア記述言語によって、FPGAなどの
デバイスに対応して作り込まれる。
【0050】図16は機能データ設定部の第5の実施例
の構成ブロック図である。同図を図5の第1の実施例と
比較すると、メモリコントロール部17の代わりにDM
Aデータ転送用メモリコントロール部22が備えられて
いる点のみが異なっている。このDMAデータ転送用メ
モリコントロール部22は、CPU側からの指示に対応
して、機能データ選択メモリ16に対するデータの転送
をDMA方式によって実行するものである。
【0051】図17は図16におけるデータのDMA転
送動作の説明図である。同図において、CPU側から#
1でDMAデータ書き込み指示が発行されると、外部I
/Oコントロール部18を経て#2でメモリコントロー
ル部22に対して、機能データ選択メモリ16における
データの格納開始アドレスとデータの転送個数が送ら
れ、続いて指定された個数のデータが送られる。そして
そのデータは#3で機能データ選択メモリ16に格納さ
れる。
【0052】これに対してCPU側からDMAデータ読
み出し指示が発行されると、前述と同様に#1,#2で
メモリコントロール部22に対してデータの読み出し開
始アドレスと転送個数が送られ、これに対応して指定個
数分のデータが#4で機能データ選択メモリ16から読
み出され、メモリコントロール部22、外部I/Oコン
トロール部18を経由して、#5,#6でCPU側に転
送される。
【0053】図18は実行状態スタック部13の第1の
実施例の構成ブロック図である。同図において実行状態
スタック部13は、データ退避要求がデバイス側で起こ
った場合の回路などの状態を示す要求発生状態情報の格
納領域23、退避データの復帰先となるデバイス内の位
置を示す復帰先の格納領域24、回路の構造などを示す
復帰データの格納領域25からなるスタックメモリと、
このメモリを制御するスタックメモリコントロール部2
6、例えばコンピュータのCPUとの間でのデータ入出
力を制御する外部I/Oコントロール部27から構成さ
れている。
【0054】図19は実行状態スタック部の第2の実施
例の構成ブロック図である。同図を図18の第1の実施
例と比較すると、スタックメモリコントロール部26に
対して、データの圧縮・拡張を行うためのデータ圧縮・
拡張部29が備えられている点のみが異なっている。
【0055】図20は図18の実行状態スタック部の第
1の実施例の動作説明図である。実行状態スタック部1
3の動作としては、CPUなどが実行状態スタック部に
スタックされているデバイス側の内部機能の実行状態の
途中データを参照する場合と、デバイス側からの要求に
応じて内部機能の実行途中の状態のデータの退避および
復帰を行う場合とがある。
【0056】前述の場合の動作を図20(a) に示す。C
PUなどからのデータ参照の指示は、#1で外部I/O
コントロール部27を経て、#2で内部システムバス2
8に伝えられる。この指示に対応して要求発生状態情報
の参照の時は#3,#4によって、また復帰先のデータ
の参照の時は#5,#6によって、復帰データの参照の
時には#7,#8によって内部システムバス28にデー
タが返却され、返却されたデータは#9,#10で外部
I/Oコントロール部27を経由して、CPU側に送ら
れる。
【0057】後者の場合のデータ退避の動作が図20
(b) に示されている。デバイス、コンピュータまたはデ
ータ処理装置11の内部の内部資源管理部14からのデ
ータ退避指示が、#11でスタックメモリコントロール
部26に伝えられ、メモリコントロール部26が#12
で内部システムバス28を経由して#13,#14,#
15で要求発生状態情報、復帰先、復帰データの格納を
行う。退避されるデータの書き込み、読み出しは、例え
ば先入れ、後出し(FILO)方式で行われる。
【0058】後者の場合のデータ復帰の動作が図20
(c) に示されている。内部資源管理部14側からのデー
タ復帰指示が#16でスタックメモリコントロール部2
6に与えられ、スタックメモリコントロール部26は#
17で内部システムバス28を経由して指示を与え、#
18,#19,#20で要求発生状態情報、復帰先、復
帰データの読み出しを行い、内部システムバス28を経
由して#21でメモリコントロール部26にそのデータ
が送られ、#22で復帰データがデバイス側に送られ
る。
【0059】図21は図19の実行状態スタック部の第
2の実施例におけるデータの退避と復帰動作の説明図で
ある。同図においては図20と異なり、スタックメモリ
へのデータ格納にあたってはデータ圧縮・拡張部29に
よってデータの圧縮が、またデータの読み出し時にはデ
ータの拡張が行われる点が異なっている。
【0060】図21(a) はCPUなどによるデータ参照
動作の説明図であり、その動作は図20におけると類似
しているが、データの拡張が必要となるために、データ
参照の指示は#2で外部I/Oコントロール部27から
スタックメモリコントロール部26に伝えられ、スタッ
クメモリコントロール部26によって読み出されたデー
タに対して、データ圧縮・拡張部29によってビットベ
ルのデータの拡張が行われた後に、復元されたデータが
#8,#9で外部I/Oコントロール部27を経由して
CPU側に送られる点が異なっている。
【0061】図21(b) はデバイス側からのデータ退避
の要求に対応するデータ退避動作の説明図である。図2
0(b) における動作と同様の動作が行われるが、退避さ
れるデータに対してはデータ圧縮・拡張部29によって
ビットレベルの圧縮が行われ、圧縮されたデータがスタ
ックメモリに格納される点が異なっている。
【0062】図21(c) はデータ復帰動作の説明図であ
る。その動作は図20(c) における動作と類似している
が、#20で読み出されたデータに対してデータ圧縮・
拡張部29によってビットレベルの拡張が行われた後
に、#21でデバイス側に送られる点のみが異なってい
る。
【0063】図22は実行状態スタック部に退避され、
必要に応じてデバイス側への復帰が行われる、デバイス
内部機能の実行途中の状態を示すデータの説明図であ
る。このデータは前述のように退避要求が起こった時の
状態を示す要求発生状態情報、デバイス内でそのデータ
が復帰されるべき位置を示す復帰先、および回路構造な
どを示す復帰データの3種類である。これらはそれぞれ
前述の領域23,24およひ25に格納される。図22
で要求発生状態情報はデバイスの内部機能としての回路
の結線のレベルのデータであり、復帰先はデバイス内で
その回路が置かれていた位置を表すデータであり、復帰
データは内部機能としての回路そのものの構造などを示
す機能データである。
【0064】実行状態スタック部13に退避されたデー
タのうちで不要になったデータはスタックメモリコント
ロール部26の制御によって削除される。このデータ削
除は、例えばデバイス側に設定された回路の動作終了を
契機として、処理の終了を示す信号(要求発生状態情報
の一部)の入力によって実行される。
【0065】図23は、このデータ削除動作の説明図で
ある。同図において、入力信号C1が“1”になって3
クロック後にs3=0となり、ここでこの回路の役割が
終了し、格納されていたデータが削除対象とされるもの
とすると、不要となるデータが格納されていた領域に、
他の必要なデータが上書きされる。この動作はデータ書
き込み用のアドレスを変更することで実行される。
【0066】図24は内部資源管理部を含むデバイスの
第1の実施例の構成を示すブロック図である。同図にお
いて内部資源管理部14はデバイス内部で動的に機能設
定が可能な論理セルの集合、一般に複数個の論理セル集
合31に対する機能データの入出力を行うための論理セ
ルコンフィグレーション回路32、論理セル集合31の
それぞれに対して備えられ、対応する論理セル集合31
の動作状態を示す一般には複数のフラグ、例えば使用/
未使用を示すフラグを格納するフラグレジスタ33、各
フラグレジスタ33に対するフラグの設定・解除を行う
フラグ書き込みおよび読み取り部34、実行状態スタッ
ク部13との間で各フラグレジスタ33のフラグの内容
を入出力するためのフラグデータ入出力部35、および
例えば設定された間隔でフラグレジスタ33の内容を更
新するための割り込みを発生する監視時間発生部36に
よって構成される。フラグレジスタ33は、例えばフリ
ップフロップで構成され、論理セル集合31が複数存在
する時には、そのフラグレジスタは例えばカスケード接
続される。
【0067】図25は内部資源管理部を含むデバイスの
第1の実施例における内部資源管理部の動作説明図であ
る。同図において、まず機能データ設定部12からの機
能データ設定指示に対応して、論理セルコンフィグレー
ション回路32は各論理セル集合31に対して機能デー
タを設定する。
【0068】それぞれの論理セル集合31に対するフラ
グレジスタ33の内容は、監視時間発生部36が発生す
る割り込みとしてのサンプリングクロックに同期して各
フラグレジスタ33から出力され、そのデータは例えば
フラグデータ入出力部35を介して実行状態スタック部
13に送られ、実行状態スタック部13によって参照さ
れる。前述のようにフラグレジスタ33は、例えばフリ
ップフロップによって構成され、図25の一番下に示す
ように、それぞれのサンプリングクロックに同期して、
各フラグレジスタ33の内容は連続的に(シフトレジス
タにおけると同様に)読み出される。
【0069】図26は内部資源管理部を含むデバイスの
第2の実施例の構成ブロック図である。同図を図24で
説明した第1の実施例と比較すると、それぞれの論理セ
ル集合31に対応するフラグレジスタ33とフラグデー
タ入出力部35が存在せず、それぞれの論理セル集合3
1に対応するフラグ書き込みおよび読み取り部34と内
部システムバス37によって接続されたメモリテーブル
38と、そのメモリテーブルに対する書き込みおよび読
み出しを行うメモリテーブル書き込みおよび読み取り部
39とが備えられている点が異なっている。メモリテー
ブル38は、図24において論理セル集合31のそれぞ
れに対応して備えられているフラグレジスタ33に相当
するものであり、各論理セル集合の動作状態、例えば使
用/未使用を示すフラグを一括して格納するテーブルで
ある。メモリテーブル書き込みおよび読み取り部39は
図24のフラグデータ入出力部35に対応するものであ
り、フラグの内容のデータを実行状態スタック部13と
の間で入出力するものである。監視時間発生部36は、
図24におけると同様にメモリテーブル38の内容、す
なわちフラグデータを設定された間隔で読み出し、ある
いは更新するための割り込みを発生するものである。
【0070】図27は図26における内部資源管理部の
動作説明図である。同図において、機能データ設定部1
2からの指示による各論理セル集合31への機能データ
設定は、図25におけると同様に行われる。
【0071】例えば監視時間発生部36から、設定され
た間隔でフラグの内容を更新するための割り込み信号が
#1でメモリテーブルの書き込みおよび読み取り部39
に与えられると、#2でメモリテーブル38に対してフ
ラグ更新の指示が与えられる。メモリテーブル38はこ
の指示に対応して、#3で内部システムバス37を介し
て、各論理セル集合31に対応するフラグ書き込みおよ
び読み取り部34から#4でフラグデータに対応する各
論理セル集合31の動作状態を示すデータを獲得し、こ
れによってデバイス内部の資源利用状態を得ることがで
きる。
【0072】図28は図26におけるメモリテーブル3
8の具体的構成例を示すブロック図である。同図におい
てメモリテーブル38はデュアルポートメモリ41と、
アドレスカウンタ42によって構成される。各論理セル
集合31に対応するフラグ書き込みおよび読み取り部3
4に対しては、データ信号dの各ビットがそれぞれ接続
され、アドレスカウンタ42からのアドレス信号aと信
号ASとによるデコードにより、フラグ内容を示すデー
タの書き込みまたは読み取り対象となる論理セル集合が
指定されるものとする。メモリテーブル書き込みおよび
読み取り部39からの指示に対応してアドレスカウンタ
42からアドレスが発行され、デコードされた論理セル
集合31の動作状態を示すデータが、フラグ書き込みお
よび読み取り部34に接続されたデータバスを経由して
デュアルポートメモリ41に書き込まれる。
【0073】図29は、図2の基本構成に対応する、本
発明の動的な資源利用機能を用いたデバイスの具体例の
構成ブロック図である。同図において、内部機能を動的
に設定・変更できるデバイスが、リコンフィギュラブル
ファンクション ユニット(RFU)54の内部に含
まれているものとして、この具体例について説明する。
【0074】図29の具体例は上位にあるプロセッサと
のインタフェースとして、パーソナルコンピュータ用イ
ンタフェースの基準規格であるPCIインタフェースを
持つ回路であり、システムコントローラ50、非同期ク
ロック信号発生部(ASYCLK)51、システムメモ
リ52、ローカルメモリ53、およびリコンフィギュラ
ブル ファンクション ユニット(RFU)54を備え
ている。システムメモリ52、ローカルメモリ53、お
よびRFU54は1つのグループとしてバンクAとバン
クBを構成し、バンクAとバンクBのRFU54は複数
の信号線によって相互に接続されている。
【0075】PLS BUS(プラスティック ウェア
バス)55はシステム(ボード)固有のローカルバスで
ある。この具体例における信号としてはメモリ空間に対
応するアドレス信号20本、機能設定用のデータやメモ
リデータを表すデータ信号32本、メモリデコードのた
めのメモリチップセレクト(MCS)信号4本、メモリ
の出力に対するアウトットイネーブル(OE)信号4
本、メモリへのデータの書き込み、読み出しを指示する
リード/ライト(Rd/Wr)信号4本、システムコン
トローラ50とRFU54との間での指示のやり取りを
するためのRFU信号7本、PCIインタフェースにお
けるクロック、例えば33MHzに同期するファンダメンタ
ルクロック(FCLK)信号1本、ボードシステム全体
のリセット、例えばRFUの初期化をするためのシステ
ムリセット(/Sreset)信号1本を持っている。
【0076】ここで/Sreset の先頭の“/”は負論理
で有効となる信号を意味する。MCS信号、OE信号、
Rd/Wr信号、RFU信号はバンクAとバンクBの両
方に独立して供給される。図29に示されているその他
の信号の正式名称と、その意味を以下に説明する。
【0077】ASYCLK:asynchronous clock: 非同
期クロック信号 OrgCLK:original clock: ボード固有の基本クロ
ック信号 OrgCLK/2:origianl clock: ボード固有の基本
クロックの1/2の周波数の信号 laddr : local address: ローカルメモリをアクセスす
るためのアドレス信号 ldata : local data: ローカルメモリをアクセスするた
めのデータ信号 iodata : input-output data: RFU間でのデータ通信
用の信号 EFU:extended function unit: RFU間での通信で
自由に使える信号/Reset:reset: デバイスのリセット
信号入力端子 図30は図29のシステムコントローラの詳細構成を示
すブロック図である。同図において、システムコントロ
ーラはPCIインタフェースを持つPCIコントローラ
60、図3の外部I/Oコントロール部18に相当する
I/Oコントローラ61、図中に点線で示される機能デ
ータ設定部12の動作のための主要な回路であるシステ
ムコンフィギュラブルロジック(SysConf)62、同じ
く点線で示される実行状態スタック部13の動作のため
の主要な回路であるシステムスタック(SysStack)6
3、RFU54に実現されたデバイスによって実行され
る処理用のワークメモリとして用いられるローカルメモ
リ53の制御のためのローカルメモリコントローラ(L
Mcntl) 64、アドレスカウンタ65、アドレスカウン
タ65のカウント値の初期値を格納するイニシャライズ
レジスタ(Init Reg)66、アドレスが一時的に格納
されるメモリ67、入力されるデータ、出力されるデー
タがそれぞれ一時的に格納されるメモリ68,69など
から構成されており、このコントローラは例えばデバイ
スとしてのFPGAの内部に作られる。
【0078】図30のシステムコントローラにおいて使
用される信号の正式名称とその意味を以下に示す。 sysconf din : sysconf data in: Sys Conf よりデー
タ入力ゲートを有効にするとき使用する信号 sysconf din : sysconf data in: Sys Conf よりデー
タ入力ゲートを有効にするとき使用する信号 sysconf dout : sysconf data out: Sys Conf よりデ
ータ出力ゲートを有効にするとき使用する信号 sysconf rdc : sysconf read clock:Sys Conf よりF
IFO内の次のデータを出力させる信号 sysconf adr : sysconf address: Sys Conf よりFI
FOからのアドレス入力ゲートを有効にするとき使用す
る信号 sysconf adc : sysconf address counter: Sys Conf
よりアドレスカウンタのアドレス入力ゲートを有効にす
るとき使用する信号 sysconf adcst: sysconf address counter start: Sys
Confよりアドレスカウンタの動作を有効にするとき使
用する信号 FifoAddr : fifo address:アドレスの意味づけで使用す
るデータがあるfifoと接続する信号線 FifoSel : fifo select signal: アドレスの意味づけで
使用するデータがあるfifoの制御をする信号 なお、ここでアドレスの意味づけで使用するデータと
は、PCIバスの規格ではユーザは32ビットのデータ
バスの利用しか許されず、あるデータはアドレス、ある
データはその内容のデータと識別する必要があるため、
“アドレスとして使用されるデータ”を意味する。ま
た、FifoSel 信号としては、 sysconf rdc,sysstack
rdc などの信号に対応して発生したデータ読み込みのた
めのパルス信号がそのまま伝達される。
【0079】図31は図29のシステムメモリ52の構
成ブロック図である。同図においてシステムメモリは、
前述の機能データ選択メモリ16、または19に対応す
るスタティックランダムアクセスメモリ(SRAM)
71、および要求発生状態情報格納領域23、復帰先格
納領域24、および復帰データ格納領域25によって構
成されるスタックメモリに対応するSRAM72から
構成されている。
【0080】図32はFPGAデバイス1個、例えばX
C6216を対象とするRFUに対する信号入出力の説
明図である。また図33は図24で説明した内部資源管
理部を含むデバイスの構成に対応する信号入出力の説明
図である。これらの図を用いて各信号に対応する動作を
説明する。なお図33においては図24と異なり、論理
セルコンフィグレーション回路32とフラグデータ入出
力部35とは1つのブロックとして合体した形式で示さ
れている。
【0081】図32、図33において論理セルコンフィ
グレーション回路32と、フラグデータ入出力部35に
対して、回路の初期化を行うためのPCIリセット(R
ST)信号が入力することにより、初期化が行われる。
MCS3はこのデバイスを選択することを示すチップセ
レクト信号である。Rd/Wr3信号はデータの読み出
しか書き込みかを示す信号であり、例えば読み出しの時
には1、書き込みの時には0のレベルとなる。/OE3
信号は内部データの読み出しの場合に0のレベルになる
アウトプットイネーブル信号である。
【0082】addr,data はアドレスバス信号と、データ
バス信号であり、デバイスの仕様に対応したアドレス空
間を持っている。例えば論理セルコンフィグレーション
回路32に対しては0x00000から0x7ffff
のアドレスが利用され、フラグデータ入出力部35に対
しては0x80000から0xfffffのアドレスが
利用される。
【0083】フラグ書き込みおよび読み取り部34は、
監視時間発生部36からサンプリングクロックに対応し
て、フラグの読み取りおよび書き込みを行う。監視時間
発生部36に接続されている信号のうち、FCLKは前
述のように例えば33MHzのクロックである。またFCL
Kとは非同期なクロックであり、図29のASYCLK
51から供給されるOrgCLKは 100MHz,OrgC
LK/2は50MHzである。/Sreset 信号は監視時間発
生部36の初期化のために用いられる。
【0084】laddr, ldata, およびRFU信号の一部は
ローカルメモリ53のアクセスに利用されるものであ
り、前述のようにローカルメモリはRFUに実現された
処理機能が利用するワークメモリであるため、その詳細
な説明は省略する。
【0085】図34は機能データ選択メモリへのデータ
格納と、リコンフィギュラブル ファンクション ユニ
ット(RFU)への機能設定、すなわちコンフィグレー
ションの説明図であり、図35はこれらの処理のタイミ
ングチャートである。図34において、機能データ選択
メモリに格納されるべきデータは、システムコントロー
ラ50からAの経路を経て、システムメモリ52の内部
のSRAM71に格納される。これを実行するのは図
30におけるSysConf 62である。RFU54への機
能データ設定、すなわちコンフィグレーションはBの経
路によって行われる。これを実行するのも、SysConf
62である。
【0086】図35(a) は機能データ選択メモリへのデ
ータ格納のタイミングチャートである。同図でPCI
COMのコマンドに対応して sysconf adr, sysconf
dinが有効とされ、 sysconf rdc によって取り込むべ
きデータが格納されているメモリの該当領域(Fifo)が
選択され、/AMSC0で書き込むべきメモリが選択さ
れ、ARd /Wr0でそのメモリが書き込み状態とされ
てデータの書き込みが行われる。メモリに格納すべきデ
ータは、回路を動作させるための全てを対象とするデー
タである場合もあれば、一部である場合もあるが、この
ような一連の動作を繰り返すことで必要なデータの機能
データ選択メモリへの格納が行われる。
【0087】図35(b) はシステムメモリ52からRF
U54への機能データ設定、すなわちコンフィグレーシ
ョンの動作タイミングチャートである。この動作はRF
U54からシステムコントローラ50に入力されるAR
FU信号に対応するRFU COMのコマンドによって開
始される。まず sysconf adc によって図30のアドレ
スカウンタ65のアドレスが有効とされ、/AMCS
0,/AOE0,ARd/Wr0の信号を用いてシステ
ムメモリ52からデータが読み出された、/AMCS
3,/AOE3,ARd/Wr3の信号を用いてRFU
54へのデータ書き込みが行われる。1つのデータの書
き込みが完了すると、 sysconf adcst の信号によって
アドレスカウンタ65のカウント値がインクリメントさ
れる。このような動作を繰り返すことにより、RFUへ
のコンフィグレーションが実行される。
【0088】図36はリコンフィギュラブル ファンク
ション ユニット(RFU)から実行状態スタック部へ
のデータの退避と復帰の説明図、図37はこれらの処理
の動作タイミングチャートである。図36においてデー
タの退避はCの経路によって、RFU54からシステム
メモリ52の内部のSRAM72へのデータ格納とし
て実行され、データの復帰は逆にDの経路によって行わ
れる。これを実行するのはシステムコントローラの内部
のSysStack63である。
【0089】図37(a) はデータ退避のタイミングチャ
ートである。同図においてRFU COMのコマンドに対
応して、sysstack adc 信号によってアドレスカウンタ
65のアドレスが有効とされ、/AMCS3,/AOE
3,ARd/Wr3の信号によってRFU54の内部状
態データが読み出され、/AMCS1,/AOE1,
ARd/Wr1の信号によってシステムメモリ52の内
部のSRAM72へのデータの書き込みが行われる。
1つのデータの書き込みが完了すると、sysstack adcs
t 信号によってアドレスカウンタ65のカウント値がイ
ンクリメントされ、このような動作を繰り返すことで該
当するデータの退避が実行される。
【0090】図37(b) はデータ復帰のタイミングチャ
ートである。同図においてRFU COMのコマンドの受
け付けに続いて、sysstack adc 信号によってアドレス
カウンタ65のアドレスが有効とされ、/AMCS1,
/AOE1,ARd/Wr1信号によってシステムメモ
リ52からのデータの読み出しが行われ、/AMCS
3,/AOE3,ARd/Wr3信号によってRFU5
4へのデータの書き込みが行われる。1つのデータの書
き込みが完了すると、前述と同様にアドレスカウンタ6
5のカウント値がインクリメントされ、同様の動作を繰
り返すことにより該当するデータの復帰が行われる。
【0091】
【発明の効果】以上詳細に説明したように、本発明によ
れば内部機能設定・変更が可能なデバイスや、そのよう
なデバイスを使用したデータ処理装置などにおいて、内
部機能を動的に設定・変更することによって、また内部
機能の実行の途中結果を一時的に退避して必要に応じて
復帰させることにより、時系列的に必要となる回路機能
を次々とデバイス内部やデータ処理装置の内部に設定し
て処理を実行することができ、時系列的に必要となるす
べての回路機能を同時にデバイス内部やデータ処理装置
の内部に設定する場合に比べて容量オーバーになるとい
うような問題が解消される。また処理すべきアルゴリズ
ムにあったデータバスの幅などを自由に設定することが
可能になり、更に並列に処理を実行することによって、
システムクロックを高速にすることのみに頼ることなく
処理を高速にすることができ、コンピュータなどのデー
タ処理装置の基本構成の革新にとって寄与するところが
大きい。
【図面の簡単な説明】
【図1】本発明の動的な資源利用機能を用いたデバイ
ス、コンピュータおよびデータ処理装置の原理構成を示
すブロック図である。
【図2】本発明の動的な資源利用機能を用いたデバイ
ス、コンピュータおよびデータ処理装置の基本構成を示
すブロック図である。
【図3】図2の基本構成ブロック図における動作を説明
する図である。
【図4】本発明におけるデバイス内部の機能設定の繰り
返しとしてのリコンフィグレーションを説明する図であ
る。
【図5】機能データ設定部の第1の実施例の構成を示す
ブロック図である。
【図6】機能データ設定部の第2の実施例の構成を示す
ブロック図である。
【図7】機能データ設定部の第1、第2の実施例におけ
る動作を説明する図である。
【図8】図5におる機能データ選択メモリへのデータ格
納形式を説明する図である。
【図9】図6における機能データ選択メモリへのデータ
格納形式を説明する図である。
【図10】機能データ設定部の第3の実施例の構成を示
すブロック図である。
【図11】図10の機能データ設定部の動作を説明する
図である。
【図12】論理セルのライブラリデータを説明する図で
ある。
【図13】機能データ設定部の第4の実施例の構成を示
すブロック図である。
【図14】図13の機能データ設定部の動作を説明する
図である。
【図15】データ圧縮・拡張の例を説明する図である。
【図16】機能データ設定部の第5の実施例の構成を示
すブロック図である。
【図17】図16の機能データ設定部におけるデータの
DMA転送動作を説明する図である。
【図18】実行状態スタック部の第1の実施例の構成を
示すブロック図である。
【図19】実行状態スタック部の第2の実施例の構成を
示すブロック図である。
【図20】図18の実行状態スタック部の動作を説明す
る図である。
【図21】図19の実行状態スタック部におけるデータ
の退避と復帰の動作を説明する図である。
【図22】デバイス内部機能の実行途中の状態を示すデ
ータを説明する図である。
【図23】実行状態スタック部に退避されているデータ
の削除動作を説明する図である。
【図24】内部資源管理部を含むデバイスの第1の実施
例の構成を示すブロック図である。
【図25】図24における内部資源管理部の動作を説明
する図である。
【図26】内部資源管理部を含むデバイスの第2の実施
例の構成を示すブロック図である。
【図27】図26における内部資源管理部の動作を説明
する図である。
【図28】図26におけるメモリテーブルの具体的構成
例を示すブロック図である。
【図29】図2の基本構成に対応する動的な資源利用機
能を用いたデバイスの具体例の構成を示すブロック図で
ある。
【図30】図29のシステムコントローラの詳細構成を
示すブロック図である。
【図31】図29のシステムメモリの構成を示すブロッ
ク図である。
【図32】FPGAデバイス1個を対象とするRFUに
対する信号入出力を説明する図である。
【図33】図24の内部資源管理部を含むデバイスの構
成に対応する信号入出力を説明する図である。
【図34】機能データ設定部へのデータ格納とRFUへ
のコンフィグレーションの説明図である。
【図35】機能データ設定部へのデータ格納とRFUへ
のコンフィグレーションの動作タイミングチャートであ
る。
【図36】RFUから実行状態スタック部へのデータの
退避と復帰の説明図である。
【図37】実行状態スタック部へのデータの退避とRF
Uへのデータ復帰の動作タイミングチャートである。
【図38】従来技術としてのVLIWアーキテクチャの
構成例を説明する図である。
【符号の説明】
1 デバイス、コンピュータまたはデータ処理装置 2 機能データ設定手段 3 実行状態スタック手段 4 内部資源管理手段 11 デバイス、コンピュータまたはデータ処理装置 12 機能データ設定部 13 実行状態スタック部 14 内部資源管理部 16,19 機能データ選択メモリ 17 メモリコントロール部 18 外部I/Oコントロール部 20 論理セルライブラリデータ格納メモリ 21 データ圧縮・拡張部 22 DMAデータ転送用メモリコントロール部 23 要求発生状態情報格納領域 24 復帰先格納領域 25 復帰データ格納領域 26 スタックメモリコントロール部 27 外部I/Oコントロール部 28 内部システムバス 29 データ圧縮・拡張部 31 論理セル集合 32 論理セルコンフィグレーション回路 33 フラグレジスタ 34 フラグ書き込みおよび読み取り部 35 フラグデータ入出力部 36 監視時間発生部 37 内部システムバス 38 メモリテーブル 39 メモリテーブル書き込みおよび読み取り部 50 システムコントローラ 52 システムメモリ 54 リコンフィグレーション ファンクション ユニ
ット(RFU) 62 システムコンフィギュラブルロジック(SysCon
f) 63 システムスタック(SysStack) 71,72 スタティックランダムアクセスメモリ(S
RAM)
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 H03K 19/173

Claims (21)

    (57)【特許請求の範囲】
  1. 【請求項1】 外部から内部機能の設定・変更が可能な
    データ処理装置を有するデータ処理システムにおいて、 前記データ処理装置の外部に設けられ、該データ処理装
    置の内部機能設定・変更のためのデータを読み書きし記
    憶する機能データ設定手段と、 該データ処理装置の外部に設けられ、その内部機能の実
    行途中の状態を示すデータを記憶する実行状態スタック
    手段と、 前記データ処理装置側に設けられ、その内部機能の設定
    ・変更を行うと共に、前記実行途中の状態を示すデータ
    を前記実行状態スタック手段との間で退避、復帰させる
    内部資源管理手段とを備えることを特徴とする動的な資
    源利用機能を備えたデータ処理システム。
  2. 【請求項2】 前記データ処理装置は、デバイスあるい
    はそのデバイスを有するコンピュータからなることを特
    徴とする請求項1記載の動的な資源利用機能を備えたデ
    ータ処理システム。
  3. 【請求項3】 前記機能データ設定手段が、 前記デバイスの内部機能設定・変更のためのデータを、
    該デバイスに対応する最小単位の機能データ毎に記憶す
    る機能データ記憶手段と、 該機能データ記憶手段におけるデータ記憶を制御するメ
    モリ制御手段とを備えることを特徴とする請求項2記載
    の動的な資源利用機能を備えたデータ処理システム。
  4. 【請求項4】 前記最小単位の機能データが、メモリ内
    で1つのアドレスによって指定されるデータであること
    を特徴とする請求項3記載の動的な資源利用機能を備え
    たデータ処理システム。
  5. 【請求項5】 前記デバイス内部の機能設定・変更のた
    めのデータとして、論理セルのライブラリデータを記憶
    する論理セルライブラリデータ記憶手段を更に備え、 前記メモリ制御手段が該論理セルライブラリデータ記憶
    手段におけるデータ記憶をも制御することを特徴とする
    請求項3、または4のいずれか1項に記載の動的な資源
    利用機能を備えたデータ処理システム。
  6. 【請求項6】 前記論理セルライブラリデータの論理セ
    ルライブラリデータ記憶手段への書き込みにあたっては
    データの圧縮を行い、読み出しにあたってはデータの拡
    張を行うデータ圧縮・拡張手段を更に備え、 前記メモリ制御手段が該データ圧縮・拡張手段に対する
    制御をも行うことを特徴とする請求項5記載の動的な資
    源利用機能を備えたデータ処理システム。
  7. 【請求項7】 前記論理セルライブラリデータ記憶手段
    が、同一の論理回路に対するデータを重複して記憶しな
    いことを特徴とする請求項5、または6のいずれか1項
    に記載の動的な資源利用機能を備えたデータ処理システ
    ム。
  8. 【請求項8】 前記メモリ制御手段が、前記機能データ
    記憶手段に対するデータ転送方式としてDMA転送方式
    を実行することを特徴とする請求項3記載の動的な資源
    利用機能を備えたデータ処理システム。
  9. 【請求項9】 前記機能データ設定手段が、前記デバイ
    スの内部機能設定・変更のためのデータとして、メモリ
    アレイの行/または列に対するビット列のデータを記憶
    する機能データ記憶手段と、 該機能データ記憶手段におけるデータ記憶を制御するメ
    モリ制御手段とを備えることを特徴とする請求項1記載
    の動的な資源利用機能を備えたデータ処理システム。
  10. 【請求項10】 前記デバイス内部の機能設定・変更の
    ためのデータとして、論理セルのライブラリデータを記
    憶する論理セルライブラリデータ記憶手段を更に備え、 前記メモリ制御手段が該論理セルライブラリデータ記憶
    手段におけるデータ記憶をも制御することを特徴とする
    請求項9記載の動的な資源利用機能を備えたデータ処理
    システム。
  11. 【請求項11】 前記論理セルライブラリデータの論理
    セルライブラリデータ記憶手段への書き込みにあたって
    はデータの圧縮を行い、読み出しにあたっては、データ
    の拡張を行うデータ圧縮・拡張手段を更に備え、 前記メモリ制御手段が該データ圧縮・拡張手段に対する
    制御をも行うことを特徴とする請求項10記載の動的な
    資源利用機能を備えたデータ処理システム。
  12. 【請求項12】 前記論理セルライブラリデータ記憶手
    段が、同一の論理回路に対するデータを重複して記憶し
    ないことを特徴とする請求項10、または11のいずれ
    か1項に記載の動的な資源利用機能を備えたデータ処理
    システム。
  13. 【請求項13】 前記メモリ制御手段が、前記機能デー
    タ記憶手段に対するデータ転送方式としてDMA転送方
    式を実行することを特徴とする請求項9記載の動的な資
    源利用機能を備えたデータ処理システム。
  14. 【請求項14】 前記実行状態スタック手段が、 前記内部機能の実行途中の状態を示すデータとして、該
    データの退避要求の発生時点における前記内部機能とし
    ての回路の動作状態を示す要求発生状態情報と、デバイ
    ス内における該回路の位置を示す復帰先領域情報と、該
    回路構成を示すデータとしての復帰させるデータとを記
    憶する退避データ記憶手段と、 該退避データ記憶手段におけるデータ記憶を制御するス
    タックメモリ制御手段とを備えることを特徴とする請求
    項1記載の動的な資源利用機能を備えたデータ処理シス
    テム。
  15. 【請求項15】 前記スタックメモリ制御手段が、前記
    退避データ記憶手段におけるデータ記憶を先入れ後出し
    (FILO)方式で制御することを特徴とする請求項1
    4記載の動的な資源利用機能を備えたデータ処理システ
    ム。
  16. 【請求項16】 前記退避データ記憶手段へのデータの
    書き込みにあたってはデータの圧縮を行い、読み出しに
    あたってはデータの拡張を行うデータ圧縮・拡張手段を
    更に備え、 前記スタックメモリ制御手段が該データ圧縮・拡張手段
    に対する制御をも行うことを特徴とする請求項14記載
    の動的な資源利用機能を備えたデータ処理システム。
  17. 【請求項17】 前記スタックメモリ制御手段が、前記
    要求発生状態情報の内容に対応して、前記退避データ記
    憶手段に既に記憶されている、前記内部機能の実行途中
    の状態を示すデータを削除することを特徴とする請求項
    14記載の動的な資源利用機能を備えたデータ処理シス
    テム。
  18. 【請求項18】 前記内部資源管理手段が、 前記デバイス内部の論理セルの集合のそれぞれに対応し
    て、該論理セル集合の動作状態を示すフラグを格納する
    1つ以上のフラグ格納手段と、 該フラグ格納手段に1対1に対応して、フラグの書き込
    み、読み出しを行うフラグ書き込みおよび読み出し手段
    と、 該フラグ格納手段に格納されているフラグ内容の読み出
    し、または更新のタイミングを指示する監視時間発生手
    段とを備えることを特徴とする請求項1記載の動的な資
    源利用機能を備えたデータ処理システム。
  19. 【請求項19】 前記1つ以上のフラグ格納手段がそれ
    ぞれフリップフロップで構成されることと、 前記デバイス内部に前記論理セル集合が複数存在する
    時、複数のフリップフロップが継続接続されることを特
    徴とする請求項18記載の動的な資源利用機能を備えた
    データ処理システム。
  20. 【請求項20】 前記内部資源管理手段が、 前記デバイス内部の論理セル集合のそれぞれに対応する
    位置に、 該論理セルの動作状態を示すフラグを格納するフラグ格
    納テーブル手段と、 該フラグ格納テーブル手段に対するフラグの書き込み、
    読み出しを行うフラグ書き込みおよび読み出し手段と、 該フラグ格納テーブル手段に格納されているフラグ内容
    の読み出し、または更新のタイミングを指示する監視時
    間発生手段とを備えることを特徴とする請求項1記載の
    動的な資源利用機能を備えたデータ処理システム。
  21. 【請求項21】 外部から内部機能の設定・変更が可能
    なデバイス、該デバイスが使用されたコンピュータおよ
    びデータ処理装置において、 デバイス、コンピュータ、またはデータ処理装置の外部
    に該デバイスの内部機能の設定・変更のためのデータを
    記憶し、デバイス、コンピュータ、またはデータ処理装
    置側に該記憶されたデータの設定を指示する機能データ
    設定手段を備えると共に、 デバイス、コンピュータまたはデータ処理装置側に、デ
    バイスの内部機能の設定・変更を行う内部資源管理手段
    を備えることを特徴とする動的な資源利用機能を備えた
    データ処理システム。
JP15667797A 1997-06-13 1997-06-13 動的な資源利用機能を備えたデータ処理システム Expired - Fee Related JP3403614B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP15667797A JP3403614B2 (ja) 1997-06-13 1997-06-13 動的な資源利用機能を備えたデータ処理システム
US08/995,154 US6009483A (en) 1997-06-13 1997-12-19 System for dynamically setting and modifying internal functions externally of a data processing apparatus by storing and restoring a state in progress of internal functions being executed
EP97310616A EP0884676B1 (en) 1997-06-13 1997-12-24 Data processing system for dynamically utilizing resources
DE69733251T DE69733251T2 (de) 1997-06-13 1997-12-24 Datenverarbeitungssystem zur dynamischen Verwendung von Betriebsmitteln

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15667797A JP3403614B2 (ja) 1997-06-13 1997-06-13 動的な資源利用機能を備えたデータ処理システム

Publications (2)

Publication Number Publication Date
JPH113209A JPH113209A (ja) 1999-01-06
JP3403614B2 true JP3403614B2 (ja) 2003-05-06

Family

ID=15632914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15667797A Expired - Fee Related JP3403614B2 (ja) 1997-06-13 1997-06-13 動的な資源利用機能を備えたデータ処理システム

Country Status (4)

Country Link
US (1) US6009483A (ja)
EP (1) EP0884676B1 (ja)
JP (1) JP3403614B2 (ja)
DE (1) DE69733251T2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110995B2 (en) * 2002-02-27 2006-09-19 International Business Machines Corporation Apparatus and method for generating graphic presentation of estimated time of completion of a server request
US8719807B2 (en) * 2006-12-28 2014-05-06 Intel Corporation Handling precompiled binaries in a hardware accelerated software transactional memory system
US7973555B1 (en) * 2008-05-28 2011-07-05 Xilinx, Inc. Configuration interface to stacked FPGA

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791603A (en) * 1986-07-18 1988-12-13 Honeywell Inc. Dynamically reconfigurable array logic
US4831573A (en) * 1987-03-06 1989-05-16 Altera Corporation Programmable integrated circuit micro-sequencer device
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5361373A (en) * 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
FR2704669B1 (fr) * 1993-04-29 1995-06-30 France Telecom Systeme a reseau neuronal pour le traitement de signaux, notamment pour l'analyse et la synthese d'images.
US5548723A (en) * 1993-12-17 1996-08-20 Taligent, Inc. Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
JP3365581B2 (ja) * 1994-07-29 2003-01-14 富士通株式会社 自己修復機能付き情報処理装置
US5778439A (en) * 1995-08-18 1998-07-07 Xilinx, Inc. Programmable logic device with hierarchical confiquration and state storage
US5745734A (en) * 1995-09-29 1998-04-28 International Business Machines Corporation Method and system for programming a gate array using a compressed configuration bit stream
US5726584A (en) * 1996-03-18 1998-03-10 Xilinx, Inc. Virtual high density programmable integrated circuit having addressable shared memory cells
US5844422A (en) * 1996-11-13 1998-12-01 Xilinx, Inc. State saving and restoration in reprogrammable FPGAs

Also Published As

Publication number Publication date
DE69733251T2 (de) 2005-11-10
EP0884676A3 (en) 2000-06-07
EP0884676A2 (en) 1998-12-16
JPH113209A (ja) 1999-01-06
DE69733251D1 (de) 2005-06-16
US6009483A (en) 1999-12-28
EP0884676B1 (en) 2005-05-11

Similar Documents

Publication Publication Date Title
US6588006B1 (en) Programmable ASIC
US6952752B2 (en) File memory device and information processing apparatus using the same
US7617383B2 (en) Circular register arrays of a computer
JP3921367B2 (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
US4584642A (en) Logic simulation apparatus
US7436726B1 (en) Circuit for and method of reading data in an asynchronous FIFO including a backup address circuit for re-reading data
US7624209B1 (en) Method of and circuit for enabling variable latency data transfers
CN101313290A (zh) 对仅m×n位外围设备执行n位写入访问
JP3403614B2 (ja) 動的な資源利用機能を備えたデータ処理システム
JPH02100737A (ja) データ転送制御装置
US6230238B1 (en) Method and apparatus for accessing misaligned data from memory in an efficient manner
Huang et al. Dynamically swappable hardware design in partially reconfigurable systems
US6665766B1 (en) Adaptable configuration interface for a programmable logic device
US7356454B2 (en) Method and apparatus for emulation of logic circuits
US7673095B2 (en) FIFO memory architecture and method for the management of the same
Bunyk et al. Design of an RSFQ microprocessor
US11106851B1 (en) Serialization in electronic design automation flows
WO2002091205A1 (en) Method and apparatus for general purpose computing
JPH0642140B2 (ja) 縮小及び拡大制御方式
JPH0721154A (ja) ベクトル処理装置
JP3424430B2 (ja) プロセッサ
JP2518912B2 (ja) 並列デ―タ処理装置
Rajan et al. ATM switch design: Parametric high-level modeling and formal verification
Hahanov et al. Logic associative multiprocessor for information analysis
JPH06324862A (ja) 演算用記憶装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080229

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090228

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090228

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090228

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100228

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 8

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 11

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees