(57)【要約】【課題】システム構成が大規模でかつリアルタイムに演算処理を必要とする場合でも、そのリアルタイム処理の際に稼動する演算器の稼働率をさらに向上することができ、演算資源を有効に活用することができるリアルタイム処理システムを提供する。【解決手段】複数のプロセッサ１５０やシーケンサ１１０、１３０においては、それらの演算処理の際に、同じ演算器１７２、１７４、１７６を共用し、さらに、制御レジスタ群２００からのプロセッサやシーケンサの性能等の情報を基に、演算器アービタ制御装置３００、４００、５００により、演算器毎に対応させたアービタ１７１、１７３、１７５をリアルタイムで制御して、アービタ内の優先順位を変更することで、演算器１７２、１７４、１７６の共有とリアルタイム処理を実現する。【選択図】図２
2006195598.tif 000002
【特許請求の範囲】
【請求項１】
ステートの状態遷移を制御するステートマシーンと、前記ステートをその状態遷移に従って解読するステート解読装置と、前記ステート解読装置の出力に従って演算を実行する演算器と、前記演算器の出力を一時保存する汎用レジスタを有するシーケンサ群と、オペレーションシステムやアプリケーションを実行するためのプログラムを搭載している命令メモリと、前記命令メモリからの出力を解読する命令解読装置と、前記命令解読装置の出力に従って演算を実行する演算器と、前記演算器の出力を一時保存する汎用レジスタを有するプロセッサ群とを備えたリアルタイム処理システムであって、前記シーケンサ群の演算処理時に用いる演算器と前記プロセッサ群の演算処理時に用いる演算器とを共用し、前記演算器ごとに対応させて配置したアービタと、前記アービタの判定結果に従って、前記シーケンサ群および前記プロセッサ群での演算処理時の前記演算器へのアクセス状態を制御する制御装置とを設けたことを特徴とするリアルタイム処理システム。
【請求項２】
請求項１に記載のリアルタイム処理システムであって、前記シーケンサ群と前記プロセッサ群のそれぞれの性能特性に関する情報を設定する制御レジスタ群と、前記制御レジスタ群からの情報を基に、リアルタイムで前記アービタの優先順位を制御するアービタ制御装置とを設けたことを特徴とするリアルタイム処理システム。
【請求項３】
リアルタイムで演算処理を実現するためのプロセッサ群と、前記リアルタイムで演算処理を実現するためのシーケンサ群と、前記リアルタイムで演算処理を実現するためのデータ処理装置群と、前記プロセッサ群と前記シーケンサ群とデータ処理装置群とからアクセス可能な共有資源と、前記共有資源へのアクセスを調停するアービタとを備えたリアルタイム処理システムであって、前記プロセッサ群と前記シーケンサ群と前記データ処理装置群のそれぞれの性能特性に関する情報を設定する制御レジスタ群と、前記制御レジスタ群の情報を基に、リアルタイムで前記アービタの優先順位を制御するアービタ制御装置とを設けたことを特徴とするリアルタイム処理システム。
【請求項４】
請求項２に記載のリアルタイム処理システムであって、前記制御レジスタ群内部に、前記シーケンサ群および前記プロセッサ群のそれぞれの必要性能と、実力性能と、性能保証期間とに関する情報を持たせ、前記アービタ制御装置内部に、前記シーケンサ群および前記プロセッサ群および前記データ処理装置群のそれぞれの前記演算器の使用時間、Ｗａｉｔ可能時間に関する情報と、前記アービタの判定結果に基づきＷａｉｔ時間をカウントするカウンタ機能と、前記性能保証期間をカウントするカウンタ機能を持たせ、前記アービタ制御装置により、前記アービタの優先順位をリアルタイムで制御する手段を設けたことを特徴とするリアルタイム処理システム。
【請求項５】
請求項３に記載のリアルタイム処理システムであって、前記制御レジスタ群内部に、前記シーケンサ群および前記プロセッサ群および前記データ処理装置群のそれぞれの必要性能と、実力性能と、性能保証期間とに関する情報を持たせ、前記アービタ制御装置内部に、前記シーケンサ群および前記プロセッサ群および前記データ処理装置群のそれぞれの前記演算器の使用時間、Ｗａｉｔ可能時間に関する情報と、前記アービタの判定結果に基づきＷａｉｔ時間をカウントするカウンタ機能と、前記性能保証期間をカウントするカウンタ機能を持たせ、前記アービタ制御装置により、前記アービタの優先順位をリアルタイムで制御する手段を設けたことを特徴とするリアルタイム処理システム。
【請求項６】
請求項４または請求項５に記載のリアルタイム処理システムであって、前記Ｗａｉｔ可能時間と、前記実力性能と、前記必要性能とから、前記リアルタイム処理を実現できるかどうかの判定結果を通知する手段を設けたことを特徴とするリアルタイム処理システム。
【請求項７】
請求項２に記載のリアルタイム処理システムであって、前記シーケンサ群および前記プロセッサ群において、前記演算器を使用しない場合の演算器のスルーパスを設けたことを特徴とするリアルタイム処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算器等の資源を用いて演算処理をリアルタイムに実行するリアルタイム処理システムに関するものである。
【背景技術】
【０００２】
従来のリアルタイム処理システム（例えば、特許文献１を参照）においては、プロセッサの処理を効率化するために複数の演算器を並列に配置し、複数の演算を同時に実行することで演算の効率を上げ、リアルタイム処理を実現していた。それらの演算器は種類が同じでも異なっていてもかまわない。リアルタイム処理を必要とする大規模システムＬＳＩの場合には、処理別にこのようなプロセッサおよびシーケンサを複数配置することでリアルタイム処理を実現している。
【０００３】
以上のような従来のリアルタイム処理システムを以下に説明する。
図９は従来のリアルタイム処理システムの構成例を示すブロック図である。このリアルタイム処理システム９００は、シーケンサ（１）９１０と、シーケンサ（２）９３０と、プロセッサ（１）９５０から構成される。シーケンサ（１）９１０およびシーケンサ（２）９３０およびプロセッサ（１）９５０の処理については、特に規定するものはないが、例えば、映像・音声のリアルタイム処理を実現するシステムにおいては、画像圧縮データ復号用、画像出力用、音声圧縮データ復号用などに、それぞれ最適なシーケンサまたはプロセッサが配置されていると考えても良い。
【０００４】
シーケンサおよびプロセッサは大きく分けて、制御装置と演算装置とデータ記憶装置に分かれ、制御装置からの指令に従って、演算装置が演算を行ない、データ記憶装置に演算結果が記憶される。例えば、シーケンサ（１）９１０は、制御装置９１１と演算装置９１４とデータ記憶装置である汎用レジスタ９１８から構成され、シーケンサ（２）９３０は、制御装置９３１と演算装置９３４とデータ記憶装置である汎用レジスタ９３８から構成され、プロセッサ（２）９５０は、制御装置９５１と演算装置９５４とデータ記憶装置である汎用レジスタ９５８から構成されている。
【０００５】
通常、制御装置は制御手順を示す装置と制御手順により演算器を制御する部分から構成される。例えば、制御装置９１１は、制御手順を示すステートマシーン９１２からの出力信号９２０をステート解読装置９１３が解読し、演算装置９１４を制御するための出力信号９２１を生成する。制御装置９３１は、制御手順を示すステートマシーン９３２からの出力信号９４０をステート解読装置９３３が解読し、演算装置９３４を制御するための出力信号９４１を生成する。制御装置９５１は、制御手順を示す命令メモリ９５２からの出力信号９６０を命令解読装置９５３が解読し、演算装置９５４を制御するための出力信号９６１を生成する。
【０００６】
演算装置は複数の演算器から構成され、演算器については同じであっても異なっていても構わない。演算装置９１４は、演算器（１）９１５と演算器（２）９１６と演算器（３）９１７からなり、制御装置９１１の出力信号９２１に従って、汎用レジスタ９１８のデータをデータ線９２２から読み出し、演算を行ない、汎用レジスタ９１８にデータ線９２２を通してデータを書き込む。演算装置９３４は、演算器（１）９３５と演算器（２）９３６と演算器（３）９３７からなり、制御装置９３１の出力信号９４１に従って、汎用レジスタ９３８のデータをデータ線９４２から読み出し、演算を行ない、汎用レジスタ９３８にデータ線９４２を通してデータを書き込む。演算装置９５４は、演算器（１）９５５と演算器（２）９５６と演算器（３）９５７からなり、制御装置９５１の出力信号９６１に従って、汎用レジスタ９５８のデータをデータ線９６２から読み出し、演算を行ない、汎用レジスタ９５８にデータ線９６２を通してデータを書き込む。
【特許文献１】特許第３５７３７５５号公報の第１図
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上のような従来のリアルタイム処理システムでは、リアルタイム処理を実現するために複数のシーケンサやプロセッサを配置し、それぞれのシーケンサやプロセッサ毎に種類の異なる複数の演算器を並列に配置しているが、それぞれのシーケンサやプロセッサにおける演算器は演算の種類に応じて配置されている場合もあるため、常にすべての演算器を並列に実行できるわけではなく、演算器の稼働率も１００％ではない。
【０００８】
さらに、シーケンサやプロセッサ間で、同じ種類の演算器を持つことも多いため、演算資源を有効に活用できていないという問題があった。
本発明は、上記従来の問題点を解決するもので、システム構成が大規模でかつリアルタイムに演算処理を必要とする場合でも、そのリアルタイム処理の際に稼動する演算器の稼働率をさらに向上することができ、演算資源を有効に活用することができるリアルタイム処理システムを提供する。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の請求項１に記載のリアルタイム処理システムは、ステートの状態遷移を制御するステートマシーンと、前記ステートをその状態遷移に従って解読するステート解読装置と、前記ステート解読装置の出力に従って演算を実行する演算器と、前記演算器の出力を一時保存する汎用レジスタを有するシーケンサ群と、オペレーションシステムやアプリケーションを実行するためのプログラムを搭載している命令メモリと、前記命令メモリからの出力を解読する命令解読装置と、前記命令解読装置の出力に従って演算を実行する演算器と、前記演算器の出力を一時保存する汎用レジスタを有するプロセッサ群とを備えたリアルタイム処理システムであって、前記シーケンサ群の演算処理時に用いる演算器と前記プロセッサ群の演算処理時に用いる演算器とを共用し、前記演算器ごとに対応させて配置したアービタと、前記アービタの判定結果に従って、前記シーケンサ群および前記プロセッサ群での演算処理時の前記演算器へのアクセス状態を制御する制御装置とを設けたことを特徴とする。
【００１０】
以上により、シーケンサやプロセッサのリアルタイム処理の際に、それぞれ必要とする演算器を、シーケンサやプロセッサ間で共有することができる。
また、本発明の請求項２に記載のリアルタイム処理システムは、請求項１に記載のリアルタイム処理システムであって、前記シーケンサ群と前記プロセッサ群のそれぞれの性能特性に関する情報を設定する制御レジスタ群と、前記制御レジスタ群からの情報を基に、リアルタイムで前記アービタの優先順位を制御するアービタ制御装置とを設けたことを特徴とする。
【００１１】
以上により、シーケンサやプロセッサのリアルタイム処理の際に、それぞれで共有する演算器へのアクセスを、アービタにより制御レジスタの情報に基づく優先順位に従ってリアルタイムに制御することができる。
【００１２】
また、本発明の請求項３に記載のリアルタイム処理システムは、リアルタイムで演算処理を実現するためのプロセッサ群と、前記リアルタイムで演算処理を実現するためのシーケンサ群と、前記リアルタイムで演算処理を実現するためのデータ処理装置群と、前記プロセッサ群と前記シーケンサ群とデータ処理装置群とからアクセス可能な共有資源と、前記共有資源へのアクセスを調停するアービタとを備えたリアルタイム処理システムであって、前記プロセッサ群と前記シーケンサ群と前記データ処理装置群のそれぞれの性能特性に関する情報を設定する制御レジスタ群と、前記制御レジスタ群の情報を基に、リアルタイムで前記アービタの優先順位を制御するアービタ制御装置とを設けたことを特徴とする。
【００１３】
以上により、シーケンサやプロセッサやデータ処理装置のリアルタイム処理の際に、それぞれの共有資源毎に、それらに対するアクセスを、アービタにより制御レジスタの情報に基づく性能に従ってリアルタイムに制御することができる。
【００１４】
また、本発明の請求項４に記載のリアルタイム処理システムは、請求項２に記載のリアルタイム処理システムであって、前記制御レジスタ群内部に、前記シーケンサ群および前記プロセッサ群のそれぞれの必要性能と、実力性能と、性能保証期間とに関する情報を持たせ、前記アービタ制御装置内部に、前記シーケンサ群および前記プロセッサ群および前記データ処理装置群のそれぞれの前記演算器の使用時間、Ｗａｉｔ可能時間に関する情報と、前記アービタの判定結果に基づきＷａｉｔ時間をカウントするカウンタ機能と、前記性能保証期間をカウントするカウンタ機能を持たせ、前記アービタ制御装置により、前記アービタの優先順位をリアルタイムで制御する手段を設けたことを特徴とする。
【００１５】
以上により、シーケンサやプロセッサのリアルタイム処理の際に、それぞれで共有する演算器へのアクセスを、アービタにより、シーケンサやプロセッサの実力性能や要求性能に応じて設定した演算器毎のＷａｉｔ時間に従って、リアルタイムで制御することができる。
【００１６】
また、本発明の請求項５に記載のリアルタイム処理システムは、請求項３に記載のリアルタイム処理システムであって、前記制御レジスタ群内部に、前記シーケンサ群および前記プロセッサ群および前記データ処理装置群のそれぞれの必要性能と、実力性能と、性能保証期間とに関する情報を持たせ、前記アービタ制御装置内部に、前記シーケンサ群および前記プロセッサ群および前記データ処理装置群のそれぞれの前記演算器の使用時間、Ｗａｉｔ可能時間に関する情報と、前記アービタの判定結果に基づきＷａｉｔ時間をカウントするカウンタ機能と、前記性能保証期間をカウントするカウンタ機能を持たせ、前記アービタ制御装置により、前記アービタの優先順位をリアルタイムで制御する手段を設けたことを特徴とする。
【００１７】
以上により、シーケンサやプロセッサやデータ処理装置のリアルタイム処理の際に、それぞれの共有資源毎に、それらに対するアクセスを、アービタにより、シーケンサやプロセッサの実力性能や要求性能に応じて設定した演算器毎のＷａｉｔ時間に従って、リアルタイムで制御することができる。
【００１８】
また、本発明の請求項６に記載のリアルタイム処理システムは、請求項４または請求項５に記載のリアルタイム処理システムであって、前記Ｗａｉｔ可能時間と、前記実力性能と、前記必要性能とから、前記リアルタイム処理を実現できるかどうかの判定結果を通知する手段を設けたことを特徴とする。
【００１９】
以上により、リアルタイム処理を実現できるかどうかの判定結果の通知に従って、Ｗａｉｔ可能時間を設定する際に、その設定値が正しいかどうかを容易に判定することができる。
【００２０】
また、本発明の請求項７に記載のリアルタイム処理システムは、請求項２に記載のリアルタイム処理システムであって、前記シーケンサ群および前記プロセッサ群において、前記演算器を使用しない場合の演算器のスルーパスを設けたことを特徴とする。
【００２１】
以上により、演算器のスルーパスを設け、シーケンサやプロセッサによるリアルタイム処理の際に演算器を使用しない場合は、スルーパスにより演算器をパスさせることができる。
【発明の効果】
【００２２】
以上のように本発明によれば、シーケンサやプロセッサのリアルタイム処理の際に、それぞれ必要とする演算器を、シーケンサやプロセッサ間で共有することができる。
また、シーケンサやプロセッサのリアルタイム処理の際に、それぞれで共有する演算器へのアクセスを、アービタにより制御レジスタの情報に基づく優先順位に従ってリアルタイムに制御することができる。
【００２３】
また、シーケンサやプロセッサやデータ処理装置のリアルタイム処理の際に、それぞれの共有資源毎に、それらに対するアクセスを、アービタにより制御レジスタの情報に基づく性能に従ってリアルタイムに制御することができる。
【００２４】
また、シーケンサやプロセッサのリアルタイム処理の際に、それぞれで共有する演算器へのアクセスを、アービタにより、シーケンサやプロセッサの実力性能や要求性能に応じて設定した演算器毎のＷａｉｔ時間に従って、リアルタイムで制御することができるとともに、さらにシーケンサやプロセッサやデータ処理装置のリアルタイム処理の際に、それぞれの共有資源毎に、それらに対するアクセスを、アービタにより、シーケンサやプロセッサの実力性能や要求性能に応じて設定した演算器毎のＷａｉｔ時間に従って、リアルタイムで制御することができる。
【００２５】
また、リアルタイム処理を実現できるかどうかの判定結果の通知に従って、Ｗａｉｔ可能時間を設定する際に、その設定値が正しいかどうかを容易に判定することができる。Ｗａｉｔ可能時間を動的に変更したい場合は特に有効となってくる。
【００２６】
また、演算器のスルーパスを設け、シーケンサやプロセッサによるリアルタイム処理の際に演算器を使用しない場合は、スルーパスにより演算器をパスさせることができる。
以上の結果、システム構成が大規模でかつリアルタイムに演算処理を必要とする場合でも、そのリアルタイム処理の際に稼動する演算器の稼働率をさらに向上することができ、演算資源を有効に活用することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を示すリアルタイム処理システムについて、図面を参照しながら具体的に説明する。なお、図面において同一部分または相当部分には同一の符号を付してその説明は繰り返さない。
（実施の形態１）
本発明の実施の形態１のリアルタイム処理システムを説明する。
【００２８】
図１は本実施の形態１のリアルタイム処理システムの構成を示すブロック図である。この場合、アクセス頻度の低い演算器は共有し、アクセスが集中的に発生する演算器はアービタを設けずに専用バス接続として占有させる。このリアルタイム処理システム１００は、シーケンサ（１）１１０と、シーケンサ（２）１３０と、プロセッサ（１）１５０から構成される。なお、シーケンサ、プロセッサの配置については特に規定するものではない。
【００２９】
シーケンサおよびプロセッサは大きく分けて、制御装置と演算装置とデータ記憶装置に分かれ、制御装置からの指令に従って、演算装置が演算を行ない、データ記憶装置に演算結果が記憶される。シーケンサ（１）１１０は、制御装置１１１と演算装置１７０とデータ記憶装置である汎用レジスタ１１４から構成される。シーケンサ（２）１３０は、制御装置１３１と演算装置１７０とデータ記憶装置である汎用レジスタ１３４から構成される。プロセッサ（１）１５０は、制御装置１５１と演算装置１７０とデータ記憶装置である汎用レジスタ１５４から構成される。図１の構成においては、シーケンサ（１）１１０と、シーケンサ（２）１３０と、プロセッサ（１）１５０との間で、演算装置１７０が共有されている。なお、シーケンサ、プロセッサ内部の構成については、特に規定するものではない。
【００３０】
制御装置は制御手順を示す装置と制御手順により演算器を制御する装置から構成される。制御装置１１１は、制御手順を示すステートマシーン１１２からの出力信号１２０をステート解読装置１１３が解読し、演算装置１７０を制御するための出力信号１２１を生成する。制御装置１３１は、制御手順を示すステートマシーン１３２からの出力信号１４０をステート解読装置１３３が解読し、演算装置１７０を制御するための出力信号１４１を生成する。制御装置１５１は、制御手順を示す命令メモリ１５２からの出力信号１６０を命令解読装置１５３が解読し、演算装置１７０を制御するための出力信号１６１を生成する。
【００３１】
演算装置１７０は、演算器（１）１７２と演算器（１）１７２用のアービタ１７１と、演算器（２）１７４と演算器（２）１７４用のアービタ１７３と、演算器（３）１７６と演算器（３）１７６用のアービタ１７５から構成される。なお、演算器の数とアービタの数については特に規定するものではなく、また、特定のシーケンサもしくはプロセッサが演算器を占有する構成の場合は、アービタを持たない演算器が存在しても良い。
【００３２】
演算装置１７０は、制御装置１１１の出力信号１２１および制御装置１３１の出力信号１４１および制御装置１５１の出力信号１６１に従って、演算を行う。演算装置１７０内のそれぞれの演算器がどの制御装置の指令に従って動作するかは、アービタが調停する。アービタによる調停で演算器を確保できた制御装置のみが演算を実行することができる。その場合は、演算器を専用で持っていた場合と同じ動作となり、シーケンサ（１）１１０の場合は、汎用レジスタ１１４のデータをデータ線１２３から読み出し、演算を行ない、汎用レジスタ１１４にデータ線１２３を通してデータを書き込み、シーケンサ（２）１３０の場合は、汎用レジスタ１３４のデータをデータ線１４３から読み出し、演算を行ない、汎用レジスタ１３４にデータ線１４３を通してデータを書き込み、プロセッサ（１）１５０の場合は、汎用レジスタ１５４のデータをデータ線１６３から読み出し、演算を行ない、汎用レジスタ１５４にデータ線１６３を通してデータを書き込む。
【００３３】
アービタでの調停に負けて演算器を確保できなかった制御装置に対しては、信号線１２２と、信号線１４２と、信号線１６２を通して、制御装置を停止するように命令が伝わる。それぞれの制御装置は停止命令に従って、制御を停止し、その後、アービタの調停により演算器を確保できた時点で、制御を再開する。なお、制御装置とアービタ間の通信については、例えば、制御装置がｒｅｑｕｅｓｔを出し、アービタがａｃｋを返すというようなハンドシェーク方式の通信方法であってもかまわない。
【００３４】
このように本実施の形態１によれば、演算器毎にアービタを備え、アービタの調停に従って制御装置の動作を規定することができるので、シーケンサやプロセッサの演算器を共有でき、演算器を有効に利用することができる。
（実施の形態２）
本発明の実施の形態２のリアルタイム処理システムを説明する。
【００３５】
図２は本実施の形態２のリアルタイム処理システムの全体構成を示すブロック図である。図２の構成では、演算器を共有しながらリアルタイム処理を実現するために、シーケンサやプロセッサの性能等を示す制御レジスタ群と、演算器用のアービタをリアルタイムで制御するための演算器用アービタ制御装置を用いている。制御レジスタ群２００には、シーケンサ（１）１１０と、シーケンサ（２）１３０と、プロセッサ（１）１５０の性能等に関する情報が設定されている。
【００３６】
演算器（１）アービタ制御装置３００は、信号線３８０から性能等に関する情報を入手して、信号線３９０を用いて演算器（１）１７２用のアービタ１７１と通信しながら、アービタ１７１のアービタ優先順位をリアルタイムで制御する。演算器（２）アービタ制御装置４００は、信号線４８０から性能等に関する情報を入手して、信号線４９０を用いて演算器（２）１７４用のアービタ１７３と通信しながら、アービタ１７３のアービタ優先順位をリアルタイムで制御する。演算器（３）アービタ制御装置５００は、信号線５８０から性能等に関する情報を入手して、信号線５９０を用いて演算器（３）１７６用のアービタ１７５と通信しながら、アービタ１７５のアービタ優先順位をリアルタイムで制御する。
【００３７】
次に、制御レジスタ群２００と演算器用アービタ制御装置３００、４００、５００の動作を詳しく説明する。
本実施の形態２のリアルタイム処理システムにおけるアービタの周辺構成を図３に示す。なお、図３は演算器（１）１７２のアービタ１７１を制御する演算器（１）アービタ制御装置３００を例にとって示したものであり、演算器（２）アービタ制御装置４００と、演算器（３）アービタ制御装置５００も構成としては同じ構成になると考えてかまわない。ここでは、共通の演算器を共有し、かつ性能レジスタはプログラムで制御可とする。Ｗａｉｔ時間＝０となった場合にアービタを強制的に切り替える。
【００３８】
制御レジスタ群２００は、シーケンサ（１）１１０の性能等を保持する制御レジスタ（１）２２０と、シーケンサ（２）１３０の性能等を保持する制御レジスタ（２）２４０と、プロセッサ（１）１５０の性能等を保持する制御レジスタ（３）２６０から構成される。
【００３９】
次に性能等を示す制御レジスタの内容について説明する。
制御レジスタ（１）２２０は、シーケンサ（１）１１０に必要な必要性能２２１と、実力性能２２２と、性能を保証すべき期間である性能保証期間２２３を保持する。制御レジスタ（２）２４０は、シーケンサ（２）１３０に必要な必要性能２４１と、実力性能２４２と、性能を保証すべき期間である性能保証期間２４３を保持する。制御レジスタ（３）２６０は、プロセッサ（１）１５０に必要な必要性能２６１と、実力性能２６２と、性能を保証すべき期間である性能保証期間２６３を保持する。なお、ここで定義する実力性能は演算器を占有した場合の性能である。
【００４０】
演算器（１）アービタ制御装置３００は、シーケンサ（１）１１０の性能を保証するためのアービタ制御装置（１）３２０と、シーケンサ（２）１３０の性能を保証するためのアービタ制御装置（２）３４０と、プロセッサ（１）１５０の性能を保証するためのアービタ制御装置（３）３６０から構成される。
【００４１】
アービタ制御装置は大きく分けて、シーケンサやプロセッサが演算器（１）１７２を使用する時間と、演算器をアクセスした場合の競合によるＷａｉｔ可能時間と、Ｗａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタと、性能保証期間をカウントするデクリメントカウンタから構成される。
【００４２】
なお、Ｗａｉｔ可能時間を保持するレジスタと、Ｗａｉｔ時間デクリメントカウンタについては、競合した際にどのシーケンサやプロセッサによりＷａｉｔがかかったかを区別するため、それらの要因毎に設けている。また、使用時間というのは、性能保証期間内に発生するシーケンサやプロセッサ毎の演算器の使用時間を示しているものとする。
【００４３】
アービタ制御装置（１）３２０は、シーケンサ（１）１１０による演算器（１）１７２の使用時間３２１と、シーケンサ（２）１３０が原因でＷａｉｔがかかり演算器（１）１７２の使用を時間待ちする場合のＷａｉｔ可能時間３２２と、実際にシーケンサ（２）１３０が原因で発生したＷａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタ３２４と、プロセッサ（１）１５０が原因でＷａｉｔがかかり演算器（１）１７２の使用を時間待ちする場合のＷａｉｔ可能時間３２３と、実際にプロセッサ（１）１５０が原因で発生したＷａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタ３２５と、シーケンサ（１）１１０における性能保証期間２２３をカウントするデクリメントカウンタ３２６から構成される。なお、使用時間３２１と、Ｗａｉｔ可能時間３２２と、Ｗａｉｔ可能時間３２３については、ソフト的に設定可能で、初期化時に設定することを基本とするが、動作中に設定し直してもかまわない。
【００４４】
動作としては、まず、デクリメントカウンタ３２６には性能保証期間２２３の値が信号線３８０Ｂを通してダウンロードされ、Ｗａｉｔ時間デクリメントカウンタ３２４にはＷａｉｔ可能時間３２２の値が信号線３３０を通してダウンロードされ、Ｗａｉｔ時間デクリメントカウンタ３２５にはＷａｉｔ可能時間３２３の値が信号線３３１を通してダウンロードされる。
【００４５】
デクリメントカウンタ３２６は、ダウンロード後からデクリメントし続ける。デクリメントカウンタ３２６が“０”になる度に、信号線３８０Ａを通してダウンロード要求が発生し、前述のデクリメントカウンタ３２６へのダウンロードが行われ、また、信号線３３２を通してのダウンロード要求も発生し、前述のＷａｉｔ時間デクリメントカウンタ３２４へのダウンロードとＷａｉｔ時間デクリメントカウンタ３２５へのダウンロードが行われる。
【００４６】
Ｗａｉｔ時間デクリメントカウンタ３２４は、アービタ１７１から信号線３９０Ｂを通して、シーケンサ（２）１３０が要因でＷａｉｔが発生しているという通知を受ける度にデクリメントし、カウントが“０”になった時点で、信号線３９０Ａを通して、シーケンサ（１）１１０の優先順位をシーケンサ（２）１３０より高く設定するように、アービタ１７１に通知する。
【００４７】
また、Ｗａｉｔ時間デクリメントカウンタ３２５は、アービタ１７１から信号線３９０Ｄを通して、プロセッサ（１）１５０が要因でＷａｉｔが発生しているという通知を受ける度にデクリメントし、カウントが“０”になった時点で、信号線３９０Ｃを通して、シーケンサ（１）１１０の優先順位をプロセッサ（１）１５０より高く設定するように、アービタ１７１に通知する。
【００４８】
アービタ制御装置（２）３４０は、シーケンサ（２）１３０による演算器（１）１７２の使用時間３４１と、シーケンサ（１）１１０が原因でＷａｉｔがかかり演算器（１）１７２の使用を時間待ちする場合のＷａｉｔ可能時間３４２と、実際にシーケンサ（１）１１０が原因で発生したＷａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタ３４４と、プロセッサ（１）１５０が原因でＷａｉｔがかかり演算器（１）１７２の使用を時間待ちする場合のＷａｉｔ可能時間３４３と、実際にプロセッサ（１）１５０が原因で発生したＷａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタ３４５と、シーケンサ（２）１３０における性能保証期間２４３をカウントするデクリメントカウンタ３４６から構成される。なお、使用時間３４１と、Ｗａｉｔ可能時間３４２と、Ｗａｉｔ可能時間３４３については、ソフト的に設定可能で、初期化時に設定することを基本とするが、動作中に設定し直してもかまわない。
【００４９】
動作としては、まず、デクリメントカウンタ３４６には性能保証期間２４３の値が信号線３８０Ｄを通してダウンロードされ、Ｗａｉｔ時間デクリメントカウンタ３４４にはＷａｉｔ可能時間３４２の値が信号線３５０を通してダウンロードされ、Ｗａｉｔ時間デクリメントカウンタ３４５にはＷａｉｔ可能時間３４３の値が信号線３５１を通してダウンロードされる。
【００５０】
デクリメントカウンタ３４６は、ダウンロード後からデクリメントし続ける。デクリメントカウンタ３４６が“０”になる度に、信号線３８０Ｃを通してダウンロード要求が発生し、前述のデクリメントカウンタ３４６へのダウンロードが行われ、また、信号線３５２を通してのダウンロード要求も発生し、前述のＷａｉｔ時間デクリメントカウンタ３４４へのダウンロードとＷａｉｔ時間デクリメントカウンタ３４５へのダウンロードが行われる。
【００５１】
Ｗａｉｔ時間デクリメントカウンタ３４４は、アービタ１７１から信号線３９０Ｆを通して、シーケンサ（１）１１０が要因でＷａｉｔが発生しているという通知を受ける度にデクリメントし、カウントが“０”になった時点で、信号線３９０Ｅを通して、シーケンサ（２）１３０の優先順位をシーケンサ（１）１１０より高く設定するように、アービタ１７１に通知する。
【００５２】
また、Ｗａｉｔ時間デクリメントカウンタ３４５は、アービタ１７１から信号線３９０Ｈを通して、プロセッサ（１）１５０が要因でＷａｉｔが発生しているという通知を受ける度にデクリメントし、カウントが“０”になった時点で、信号線３９０Ｇを通して、シーケンサ（２）１３０の優先順位をプロセッサ（１）１５０より高く設定するように、アービタ１７１に通知する。
【００５３】
アービタ制御装置（３）３６０は、プロセッサ（１）１５０による演算器（１）１７２の使用時間３６１と、シーケンサ（１）１１０が原因でＷａｉｔがかかり演算器（１）１７２の使用を時間待ちする場合のＷａｉｔ可能時間３６２と、実際にシーケンサ（１）１１０が原因で発生したＷａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタ３６４と、シーケンサ（２）１３０が原因でＷａｉｔがかかり演算器（１）１７２の使用を時間待ちする場合のＷａｉｔ可能時間３６３と、実際にシーケンサ（２）１３０が原因で発生したＷａｉｔ時間をカウントするＷａｉｔ時間デクリメントカウンタ３６５と、プロセッサ（１）１５０における性能保証期間２６３をカウントするデクリメントカウンタ３６６から構成される。なお、使用時間３６１と、Ｗａｉｔ可能時間３６２と、Ｗａｉｔ可能時間３６３については、ソフト的に設定可能で、初期化時に設定することを基本とするが、動作中に設定し直してもかまわない。
【００５４】
動作としては、まず、デクリメントカウンタ３６６には性能保証期間２６３の値が信号線３８０Ｆを通してダウンロードされ、Ｗａｉｔ時間デクリメントカウンタ３６４にはＷａｉｔ可能時間３６２の値が信号線３７０を通してダウンロードされ、Ｗａｉｔ時間デクリメントカウンタ３６５にはＷａｉｔ可能時間３６３の値が信号線３７１を通してダウンロードされる。
【００５５】
デクリメントカウンタ３６６は、ダウンロード後からデクリメントし続ける。デクリメントカウンタ３６６が“０”になる度に、信号線３８０Ｅを通してダウンロード要求が発生し、前述のデクリメントカウンタ３６６へのダウンロードが行われ、また、信号線３７２を通してのダウンロード要求も発生し、前述のＷａｉｔ時間デクリメントカウンタ３６４へのダウンロードとＷａｉｔ時間デクリメントカウンタ３６５へのダウンロードが行われる。
【００５６】
Ｗａｉｔ時間デクリメントカウンタ３６４は、アービタ１７１から信号線３９０Ｊを通して、シーケンサ（１）１１０が要因でＷａｉｔが発生しているという通知を受ける度にデクリメントし、カウントが“０”になった時点で、信号線３９０Ｉを通して、プロセッサ（１）１５０の優先順位をシーケンサ（１）１１０より高く設定するように、アービタ１７１に通知する。
【００５７】
また、Ｗａｉｔ時間デクリメントカウンタ３６５は、アービタ１７１から信号線３９０Ｌを通して、シーケンサ（２）１３０が要因でＷａｉｔが発生しているという通知を受ける度にデクリメントし、カウントが“０”になった時点で、信号線３９０Ｋを通して、プロセッサ（１）１５０の優先順位をシーケンサ（２）１３０より高く設定するように、アービタ１７１に通知する。
【００５８】
次に、本実施の形態２のリアルタイム処理システムにおけるＷａｉｔ可能時間の設定例の説明図（表）を図４に示す。数字の単位はＣＬＫ（動作タイミングの基準となるクロック）とする。ここでは、演算器毎の使用時間と、シーケンサ毎のＷａｉｔ可能時間と、実力性能とＷａｉｔ時間の総和と、必要性能と、判定結果が表されている。
【００５９】
図３に示すアービタ制御装置（１）３２０において、演算器（１）１７２の使用時間３２１は、図４に示すシーケンサ（１）１１０における使用時間６００のうちで演算器（１）の欄に対応し、３５０ＣＬＫとなり、シーケンサ（２）１３０が原因でのＷａｉｔ可能時間３２２は、図４に示すシーケンサ（１）１１０におけるシーケンサ（２）要因によるＷａｉｔ可能時間６０１のうちで演算器（１）の欄に対応し、５０ＣＬＫとなり、プロセッサ（１）１５０が原因でのＷａｉｔ可能時間３２３は、図４に示すシーケンサ（１）１１０におけるプロセッサ（１）要因によるＷａｉｔ可能時間６０２のうちで演算器（１）の欄に対応し、５０ＣＬＫとなる。
【００６０】
図３に示すアービタ制御装置（２）３４０において、演算器（１）１７２の使用時間３４１は、図４に示すシーケンサ（２）１３０における使用時間６１０のうちで演算器（１）の欄に対応し、５０ＣＬＫとなり、シーケンサ（１）１１０が原因でのＷａｉｔ可能時間３４２は、図４に示すシーケンサ（２）１３０におけるシーケンサ（１）要因によるＷａｉｔ可能時間６１１のうちで演算器（１）の欄に対応し、５０ＣＬＫとなり、プロセッサ（１）１５０が原因でのＷａｉｔ可能時間３４３は、図４に示すシーケンサ（２）１３０におけるプロセッサ（１）要因によるＷａｉｔ可能時間６１２のうちで演算器（１）の欄に対応し、５０ＣＬＫとなる。
【００６１】
図３に示すアービタ制御装置（３）３６０において、演算器（１）１７２の使用時間３６１は、図４に示すプロセッサ（１）１５０における使用時間６２０のうちで演算器（１）の欄に対応し、５０ＣＬＫとなり、シーケンサ（１）１１０が原因でのＷａｉｔ可能時間３６２は、図４に示すプロセッサ（１）１５０におけるシーケンサ（１）要因によるＷａｉｔ可能時間６２１のうちで演算器（１）の欄に対応し、５０ＣＬＫとなり、シーケンサ（２）１３０が原因でのＷａｉｔ可能時間３６３は、図４に示すプロセッサ（１）１５０におけるシーケンサ（２）要因によるＷａｉｔ可能時間６２２のうちで演算器（１）の欄に対応し、３０ＣＬＫとなる。
【００６２】
なお、演算器（２）１７４および演算器（３）１７６についてのアービタ周辺構成図がないが、考え方としては、演算器（１）１７２の場合と同じと考えてよい。
また、各Ｗａｉｔ可能時間の設定については、シーケンサ（１）１１０とシーケンサ（２）１３０とプロセッサ（１）１５０による演算器へのアクセスが、全て競合した場合を想定して設定を行う。但し、アクセスパターンが事前にわかっており、競合になりえないアクセスについては考慮から外しても良い。さらに、Ｗａｉｔ可能時間の設定については、Ｗａｉｔ可能時間と実力性能との合計が、必要性能以内に収まるように設定しないといけない。仮に、前記条件を満たす解が全く得られない場合は、演算器を追加して再度検討を行う必要がある。
【００６３】
また、演算器が多数有り処理が分散するシステムでは特に有効であり、処理がある種の演算器に集中し、必要性能を満たさなくなった場合は、専用バスの演算器を設けることで性能を保証する。
【００６４】
次に、本実施の形態２のリアルタイム処理システムにおけるリアルタイムアービタのタイミングチャートを図５に示す。なお、図５は、図４で設定した値を用いた場合に対応したタイミングチャートであり、演算器（１）１７２のアービタ１７１および演算器（１）アービタ制御装置３００の動作を示したものである。単位はＣＬＫであり、表示としては１０ＣＬＫ単位で示している。また、図中のＡはシーケンサ（１）１１０を示し、Ｂはシーケンサ（２）１３０を示し、Ｃはプロセッサ（１）１５０を示す。性能保証期間６６１は簡略化のために、図３でのシーケンサ（１）１１０における性能保証期間２２３と、シーケンサ（２）１３０における性能保証期間２４３と、プロセッサ（１）１５０における性能保証期間２６３とで、共通の値を用い７００ＣＬＫとしている。また、アービタ優先順位６６２は演算器（１）１７２のアービタ１７１内部の優先順位を示す。初期設定時の優先順位については特に規定はないが、図５においては、シーケンサ（１）＞シーケンサ（２）＞プロセッサ（１）の順に設定している。また、演算器占有時間６６３は、演算器（１）１７２をシーケンサおよびプロセッサが占有している時間を示し、例えば、５０（Ａ）と記載されている場合は、演算器（１）１７２を５０ＣＬＫ間だけシーケンサ（１）１１０が占有していることを示す。また、図５におけるタイミングチャートは、シーケンサ（１）１１０とシーケンサ（２）１３０とプロセッサ（１）１５０の演算器（１）１７２へのアクセスが、全て競合するというワーストケースでのタイミングチャートである。
【００６５】
以下、図５に示したタイミングチャートに従って、本実施の形態２のリアルタイム処理システムの動作について説明する。
時刻６５０において、Ｗａｉｔ時間デクリメントカウンタ３２４、３２５、３４４、３４５、３６４、３６５は全て、それぞれに対応したＷａｉｔ可能時間がダウンロードされて初期化される。時刻６５０においては、アービタの優先順位６６２がシーケンサ（１）＞シーケンサ（２）＞プロセッサ（１）となっているため、演算器占有時間６６３を見ればわかるように、最初の５０ＣＬＫはシーケンサ（１）１１０が演算器（１）１７２を占有する。そのため、シーケンサ（２）１３０とプロセッサ（１）１５０は、シーケンサ（１）１１０が原因で５０ＣＬＫ期間のＷａｉｔ（６７０）が発生する。そのため、この間、Ｗａｉｔ時間デクリメントカウンタ３４４とＷａｉｔ時間デクリメントカウンタ３６４は、アービタ１７１からの通知に従いデクリメントを続ける。
【００６６】
時刻６５１において、Ｗａｉｔ時間デクリメントカウンタ３４４と３６４は“０”となり、シーケンサ（２）１３０とプロセッサ（１）１５０は、シーケンサ（１）１１０が原因でのＷａｉｔ時間はこれ以上許容できなくなる。そのため、Ｗａｉｔ時間デクリメントカウンタ３４４と３６４からの通知を受けて、アービタ１７１内のアービタ優先順位６６２がシーケンサ（２）＞プロセッサ（１）＞シーケンサ（１）に変更される。アービタ優先順位６６２がシーケンサ（２）＞プロセッサ（１）＞シーケンサ（１）となっているため、演算器占有時間６６３を見ればわかるように、次の３０ＣＬＫはシーケンサ（２）１３０が演算器（１）１７２を占有する。そのため、シーケンサ（１）１１０とプロセッサ（１）１５０は、シーケンサ（２）１３０が原因で３０ＣＬＫ期間のＷａｉｔ（６７１）が発生する。そのため、この間、Ｗａｉｔ時間デクリメントカウンタ３２４とＷａｉｔ時間デクリメントカウンタ３６５は、アービタ１７１からの通知に従いデクリメントを続ける。
【００６７】
時刻６５２において、Ｗａｉｔ時間デクリメントカウンタ３６５は“０”となり、プロセッサ（１）１５０はシーケンサ（２）１３０が原因でのＷａｉｔ時間はこれ以上許容できなくなる。そのため、Ｗａｉｔ時間デクリメントカウンタ３６５からの通知を受けて、アービタ１７１内のアービタ優先順位６６２がプロセッサ（１）＞シーケンサ（２）＞シーケンサ（１）に変更される。アービタ優先順位６６２がプロセッサ（１）＞シーケンサ（２）＞シーケンサ（１）となっているため、演算器占有時間６６３を見ればわかるように、次の５０ＣＬＫはプロセッサ（１）１５０が演算器（１）１７２を占有する。そのため、シーケンサ（１）１１０とシーケンサ（２）１３０は、プロセッサ（１）１５０が原因で５０ＣＬＫ期間のＷａｉｔ（６７２）が発生する。そのため、この間、Ｗａｉｔ時間デクリメントカウンタ３２５とＷａｉｔ時間デクリメントカウンタ３４５は、アービタ１７１からの通知に従いデクリメントを続ける。
【００６８】
時刻６５３において、Ｗａｉｔ時間デクリメントカウンタ３２５とＷａｉｔ時間デクリメントカウンタ３４５は“０”となり、シーケンサ（１）１１０とシーケンサ（２）１３０はプロセッサ（１）１５０が原因でのＷａｉｔ時間はこれ以上許容できなくなる。そのため、Ｗａｉｔ時間デクリメントカウンタ３２５とＷａｉｔ時間デクリメントカウンタ３４５からの通知を受けて、アービタ１７１内のアービタ優先順位６６２がシーケンサ（２）＞シーケンサ（１）＞プロセッサ（１）に変更される。なお、今回の場合は時刻６５３の時点でプロセッサ（１）１５０の演算器（１）１７２へのアクセスは完了する。アービタ優先順位６６２がシーケンサ（２）＞シーケンサ（１）＞プロセッサ（１）となっているため、演算器占有時間６６３を見ればわかるように、次の２０ＣＬＫはシーケンサ（２）１３０が演算器（１）１７２を占有する。そのため、シーケンサ（１）１１０は、シーケンサ（２）１３０が原因で２０ＣＬＫ期間のＷａｉｔ（６７３）が発生する。そのため、この間、Ｗａｉｔデクリメントカウンタ３２４は、アービタ１７１からの通知に従いデクリメントを続ける。
【００６９】
時刻６５４において、Ｗａｉｔ時間デクリメントカウンタ３２４は“０”となり、シーケンサ（１）１１０はシーケンサ（２）１３０が原因でのＷａｉｔ時間はこれ以上許容できなくなる。そのため、Ｗａｉｔ時間デクリメントカウンタ３２４からの通知を受けて、アービタ１７１内のアービタ優先順位６６２がシーケンサ（１）＞シーケンサ（２）＞プロセッサ（１）に変更される。なお、今回の場合は時刻６５４の時点でシーケンサ（２）１３０の演算器（１）１７２へのアクセスは完了する。アービタ優先順位６６２がシーケンサ（１）＞シーケンサ（２）＞プロセッサ（１）となっているため、演算器占有時間６６３を見ればわかるように、次の３００ＣＬＫはシーケンサ（１）１１０が演算器（１）１７２を占有する。
【００７０】
時刻６５５において、シーケンサ（１）１１０とシーケンサ（２）１３０とプロセッサ（１）１５０による演算器（１）１７２へのアクセスは完了する。
時刻６５６において、性能保証期間６６１である７００ＣＬＫ経過したので、ｗａｉｔ時間デクリメントカウンタが再度ダウンロードされ、前述の動作が繰り返される。図５におけるタイミングチャートを見てわかるように、シーケンサ（１）１１０とシーケンサ（２）１３０とプロセッサ（１）１５０において、図４において想定していたＷａｉｔ可能時間と同じＷａｉｔ時間を発生していることがわかる。今回は、演算器（１）１７２へのアクセスが全て競合するというワーストケースを想定していたが、それ以外の場合はＷａｉｔ可能時間≧実際のＷａｉｔ時間となることは言うまでもない。
【００７１】
以上のように本実施の形態２によれば、ソフト的に設定したＷａｉｔ可能時間に従い、アービタをリアルタイムで制御することができるので、演算器を有効利用しつつ、リアルタイム処理も実現することができる。
（実施の形態３）
本発明の実施の形態３のリアルタイム処理システムを説明する。
【００７２】
図６は本実施の形態３のリアルタイム処理システムの構成を示すブロック図である。このシステムは大きく分けて、プロセッサ（１）７００とプロセッサ（２）７０１とシーケンサ（１）７０２とデータ処理装置（１）７０３と、共有資源（１）７３３とアービタ７３２から構成される共有装置（１）７３１と、共有資源（２）７４３とアービタ７４２から構成される共有装置（２）７４１と、シーケンサやプロセッサやデータ処理装置の性能等を示す制御レジスタ群７２０と、共有資源用のアービタをリアルタイムで制御するためのアービタ制御装置７３０、７４０とから構成される。なお、プロセッサやシーケンサやデータ処理装置の数と、共有資源の数については特に規定するものではない。
【００７３】
プロセッサ（１）７００とプロセッサ（２）７０１とシーケンサ（１）７０２とデータ処理装置（１）７０３から、共有資源（１）７３３と共有資源（２）７４３へのアクセスは、信号線７１０を通して行われる。このように共有資源へのアクセスを行うと、アービタ７３２とアービタ７４２が調停を行ない、共有資源へのアクセスが可能かどうか信号線７１０を通して、プロセッサやシーケンサやデータ処理装置に通知される。
【００７４】
アービタ制御装置７３０は制御レジスタ群７２０から信号線７３６を通して性能等に関する情報を入手して、信号線７３５を用いて、共有資源（１）７３３用のアービタ７３２と通信しながら、アービタ７３２のアービタ優先順位をリアルタイムで制御する。アービタ制御装置７４０は制御レジスタ群７２０から信号線７４６を通して性能等に関する情報を入手して、信号線７４５を用いて、共有資源（２）７４３用のアービタ７４２と通信しながら、アービタ７４２のアービタ優先順位をリアルタイムで制御する。
【００７５】
なお、図６における制御レジスタ群７２０とアービタ制御装置７３０、７４０は、構成的には、実施の形態２のリアルタイム処理システムでの制御レジスタ群と演算器アービタ制御装置と同じ構成をしているものとする。
【００７６】
このように本実施の形態３によれば、シーケンサやプロセッサやデータ処理装置の実力性能や要求性能に応じて、共有資源毎のＷａｉｔ時間を設定し、その情報に応じて共有資源毎に存在するアービタをリアルタイムで制御することで、資源を有効利用しつつ、リアルタイム処理も実現することもできる。
（実施の形態４）
本発明の実施の形態４のリアルタイム処理システムを説明する。
【００７７】
図７は本実施の形態４のリアルタイム処理システムの全体構成を示すブロック図であり、実施の形態２の構成に加算器７６０と比較判定器７８０が追加された構成になっている。なお、図７における説明は、シーケンサ（１）１１０の性能評価用のものとして説明しているが、シーケンサ（２）１３０とプロセッサ（１）１５０用にも同様の回路があると考えて良い。
【００７８】
シーケンサ（１）１１０で用いる演算器（１）１７２でのＷａｉｔ可能時間３２２の出力信号７５１とＷａｉｔ可能時間３２３の出力信号７５０と、演算器（２）１７４でのＷａｉｔ可能時間４２２の出力信号７５３とＷａｉｔ可能時間４２３の出力信号７５２と、演算器（３）１７６でのＷａｉｔ可能時間５２２の出力信号７５５とＷａｉｔ可能時間５２３の出力信号７５４と、実力性能２２２の出力信号７５６が加算器７６０に入力され、加算結果が信号線７７１を通じて出力される。この加算結果はＷａｉｔ可能時間を考慮した場合の性能ということになる。
【００７９】
信号線７７１と、シーケンサ（１）１１０の必要性能２２１の出力信号７７０が比較判定器７８０に入力され、比較結果が信号線７８１を通じて出力され、プロセッサもしくはＣＰＵへ通知される。この比較結果はＷａｉｔ可能時間が正しく設定されているかを判定するものであり、シーケンサ（１）１１０とシーケンサ（２）１３０とプロセッサ（１）１５０の比較判定結果を見れば、Ｗａｉｔ可能時間が正しく設定されているかどうか、リアルタイム処理が破綻していないかどうか判定できる。
【００８０】
以上のように本実施の形態４によれば、リアルタイム処理を実現できるかどうかの判定
結果を通知する手段を持つことで、Ｗａｉｔ可能時間を設定する際に、設定値が正しいかどうかを容易に判定することができる。このことは、Ｗａｉｔ可能時間を動的に変更したい場合は特に有効となる。
（実施の形態５）
本発明の実施の形態５のリアルタイム処理システムを説明する。
【００８１】
図８は本実施の形態５のリアルタイム処理システムの全体構成を示すブロック図である。なお、図８は、実施の形態１の構成にスルーパスがついた構成になっているが、実施の形態２にスルーパスがついた構成でもかまわない。また、スルーパスの場所としても演算器を通過しない構成なら場所を規定するものでもない。
【００８２】
図８に示すリアルタイム処理システムでは、汎用レジスタ内のレジスタでコピーが発生した場合用に、汎用レジスタ１１４においては、汎用レジスタ１１４の出力信号８００と演算装置１７０からの出力信号１２３をセレクタ８１０でセレクトし、信号線８０１を通して汎用レジスタ１１４に書き込むようにしており、汎用レジスタ１３４においては、汎用レジスタ１３４の出力信号８２０と演算装置１７０からの出力信号１４３をセレクタ８３０でセレクトし、信号線８２１を通して汎用レジスタ１３４に書き込むようにしており、汎用レジスタ１５４においては、汎用レジスタ１５４の出力信号８４０と演算装置１７０からの出力信号１６３をセレクタ８５０でセレクトし、信号線８４１を通して汎用レジスタ１５４に書き込むようにしている。
【００８３】
演算器をシーケンサやプロセッサ間で共有していないシステムの場合は、従来汎用レジスタ内のコピーについても演算器を通してコピーすることが多かったが、演算器を共有するシステムではコピーの際に演算器を通してコピーするような場合は、演算器の有効利用がさまたげられる。
【００８４】
以上のように本実施の形態５によれば、演算器のスルーパスを設けることで、演算器を有効利用することができ、さらに、実施の形態１や実施の形態２を実現しやすくすることができる。
【産業上の利用可能性】
【００８５】
本発明のリアルタイム処理システムは、システム構成が大規模でかつリアルタイムに演算処理を必要とする場合でも、そのリアルタイム処理の際に稼動する演算器の稼働率をさらに向上することができ、演算資源を有効に活用することができるもので、演算器等の資源を共有しながらリアルタイム処理を実現するシステム、例えば、ＭＰＥＧ  ＡＶデコーダやデジタルＴＶやＤＶＤ関係のＬＳＩなどに適用可能である。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施の形態１のリアルタイム処理システムの全体構成を示すブロック図
【図２】本発明の実施の形態２のリアルタイム処理システムの全体構成を示すブロック図
【図３】同実施の形態２のリアルタイム処理システムにおけるアービタ周辺構成を示すブロック図
【図４】同実施の形態２のリアルタイム処理システムにおけるｗａｉｔ可能時間設定例の説明図
【図５】同実施の形態２のリアルタイム処理システムにおけるリアルタイムアービタの動作を示すタイミングチャート
【図６】本発明の実施の形態３のリアルタイム処理システムの全体構成を示すブロック図
【図７】本発明の実施の形態４のリアルタイム処理システムの全体構成を示すブロック図
【図８】本発明の実施の形態５のリアルタイム処理システムの全体構成を示すブロック図
【図９】従来の一般的なリアルタイム処理システムの全体構成を示すブロック図
【符号の説明】
【００８７】
１００    リアルタイム処理システム
１１０    シーケンサ
１１１    制御装置
１１２    ステートマシーン
１１３    ステート解読装置
１１４    汎用レジスタ
１２０〜１２３    信号線
１３０    シーケンサ
１３１    制御装置
１３２    ステートマシーン
１３３    ステート解読装置
１３４    汎用レジスタ
１４０〜１４３    信号線
１５０    プロセッサ
１５１    制御装置
１５２    命令メモリ
１５３    命令解読装置
１５４    汎用レジスタ
１６０〜１６３    信号線
１７０    演算装置
１７１、１７３、１７５    アービタ
１７２、１７４、１７６    演算器
２００    制御レジスタ群
２２０〜２２３    制御レジスタ
２４０〜２４３    制御レジスタ
２６０〜２６３    制御レジスタ
３００    演算器アービタ制御装置
３２０    アービタ制御装置
３２１〜３２３    制御レジスタ
３２４〜３２６    カウンタ
３３０〜３３２    信号線
３４０    アービタ制御装置
３４１〜３４３    制御レジスタ
３４４〜３４６    カウンタ
３５０〜３５２    信号線
３６０    アービタ制御装置
３６１〜３６３    制御レジスタ
３６４〜３６６    カウンタ
３７０〜３７２    信号線
３８０    信号線
３８０Ａ〜３８０Ｆ    信号線
３９０    信号線
３９０Ａ〜３９０Ｌ    信号線
４００    演算器アービタ制御装置
４２０    アービタ制御装置
４２２、４２３    制御レジスタ
４８０    信号線
４９０    信号線
５００    演算器アービタ制御装置
５２０    アービタ制御装置
５２２、５２３    制御レジスタ
５８０    信号線
５９０    信号線
６００    使用時間
６０１、６０２    Ｗａｉｔ可能時間
６１０    使用時間
６１１、６１２    Ｗａｉｔ可能時間
６２０    使用時間
６２１、６２２    Ｗａｉｔ可能時間
６５０〜６５６    時刻
６６０    時刻
６６１    性能保証期間
６６２    アービタ優先順位
６６３    演算器占有時間
７００    プロセッサ
７０１    プロセッサ
７０２    シーケンサ
７０３    データ処理装置
７１０    信号線
７２０    制御レジスタ群
７３０    アービタ制御装置
７３１    資源共有装置
７３２    アービタ
７３３    共有資源
７３５、７３６    信号線
７４０    アービタ制御装置
７４１    資源共有装置
７４２    アービタ
７４３    共有資源
７４５、７４６    信号線
７５０〜７５６    信号線
７６０    加算器
７７０、７７１    信号線
７８０    比較判定器
７８１    信号線
８００、８０１    信号線
８１０    セレクタ
８２０、８２１    信号線
８３０    セレクタ
８４０、８４１    信号線
８５０    セレクタ
９００    リアルタイム処理システム
９１０    シーケンサ
９１１    制御装置
９１２    ステートマシーン
９１３    ステート解読装置
９１４    演算装置
９１５〜９１７    演算器
９１８    汎用レジスタ
９２０〜９２２    信号線
９３０    シーケンサ
９３１    制御装置
９３２    ステートマシーン
９３３    ステート解読装置
９３４    演算装置
９３５〜９３７    演算器
９３８    汎用レジスタ
９４０〜９４２    信号線
９５０    シーケンサ
９５１    制御装置
９５２    ステートマシーン
９５３    ステート解読装置
９５４    演算装置
９５５〜９５７    演算器
９５８    汎用レジスタ
９６０〜９６２    信号線
【図１】
2006195598.tif 000003
【図２】
2006195598.tif 000004
【図３】
2006195598.tif 000005
【図４】
2006195598.tif 000006
【図５】
2006195598.tif 000007
【図６】
2006195598.tif 000008
【図７】
2006195598.tif 000009
【図８】
2006195598.tif 000010
【図９】
2006195598.tif 000011