(57)【特許請求の範囲】
【請求項１】
複数の外部入出力装置が前記複数の外部入出力装置の外部にある共有のメモリに対してデータ信号を入出力するメモリ共有化システムにおける外部入出力装置であって、
所定の演算を行う複数のファンクションと、
各ファンクションの入出力信号を伝達するバスと、
前記メモリと前記複数のファンクションとの間にある複数の調停器であって、前記調停器毎に複数の前記ファンクションが接続し、前記各調停器は、それぞれ、当該調停器に接続する前記各ファンクションによる前記メモリに対する動作時に前記各ファンクションに前記バスの使用権を割り当てる複数の調停器と、
前記メモリに対する前記各ファンクションの動作開始から動作終了までにかかる通信時間が、前記メモリへの動作毎に設定されている基準通信時間以上か否かを比較する比較器と、
前記比較器による比較結果を記憶する外部からアクセス可能な結果記憶器と
を備える外部入出力装置。
【請求項２】
請求項１に記載の装置において、
前記調停器毎に、前記比較器および前記結果記憶器を備える通信測定器があり、
前記通信測定器は、前記通信測定器に対応する前記調停器が前記使用権を割り当てる前記ファンクションの前記通信時間を測定し、前記比較器により前記通信時間が前記基準通信時間以上か否かを比較する外部入出力装置。
【請求項３】
請求項１に記載の装置において、
前記比較器は、前記ファンクションの前記メモリに対する書き込み動作にかかる第１通信時間が、前記メモリへの前記ファンクションの書き込み動作の通信時間の設定値である第１基準通信時間以上か否かを判定する外部入出力装置。
【請求項４】
請求項３に記載の装置において、
前記調停器毎に、前記比較器および前記結果記憶器を備える通信測定器があり、
前記通信測定器は、
計時を行うタイマーと、
前記ファンクションの要求が、前記メモリに対する書き込み動作であることを示すコマンド信号および前記コマンド信号の受領信号に基づいて前記タイマーの起動信号を生成する起動信号生成回路と、
書き込みデータ信号の最終を通知する通知信号、および前記書き込みデータ信号の受領信号に基づいて前記タイマーの計時を終了させる終了信号を生成する終了信号生成回路と、を備え、
前記比較器は、前記タイマーが計時する前記ファンクションの前記第１通信時間が前記第１基準通信時間以上か否かを判定し、判定結果を前記結果記憶器に格納する外部入出力装置。
【請求項５】
請求項１に記載の装置において、
前記比較器は、前記ファンクションの前記メモリに対する読み込み動作にかかる第２通信時間が、前記メモリへの読み込み動作にかかる通信時間の設定値である第２基準通信時間以上か否かを判定する外部入出力装置。
【請求項６】
請求項５に記載の装置において、
前記調停器毎に、前記比較器および前記結果記憶器を備える通信測定器があり、
前記通信測定器は、
計時を行うタイマーと、前記ファンクションの要求が、前記メモリの読み込み動作であることを示すコマンド信号および前記コマンド信号の受領信号に基づいて前記タイマーの起動信号を生成する起動信号生成回路と、
最終の読み込みデータ信号を通知する通知信号、前記読み込みデータ信号の有効無効を通知する通知信号、および前記読み込みデータ信号の受領信号に基づいて前記タイマーの計時を終了させる終了信号を生成する終了信号生成回路と、を備え、
前記比較器は、前記タイマーが計時する前記ファンクションの前記第２通信時間が前記第２基準通信時間以上か否かを判定し、判定結果を前記結果記憶器に格納する外部入出力装置。
【請求項７】
請求項２、請求項４、および請求項６のいずれかに記載の装置において、
前記通信測定器は、前記基準通信時間を記憶し外部からアクセス可能な基準時間記憶器を備える外部入出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この明細書に記載の実施形態は、調停器の設定が適切かどうかを確認可能にする技術に関する。
【背景技術】
【０００２】
ＡＳＩＣ(Application Specific Integrated Circuit)、ＦＰＧＡ(Field Programmable Gate Array)、ＤＲＰ(Dynamically Reconfigurable Processor)等のシステムでは、ＣＰＵ(Central Processing Unit)の制御下で単一の機能を実現するための複数の回路（ファンクション）が搭載されているものがある。このような構成を備えるシステムにおいて、ＣＰＵおよび回路内の複数のファンクションの作業用メモリを共有化し、コスト削減やボードにおけるメモリの専有面積の削減を図ったものがある。
【０００３】
該システムでは、メモリに繋がるバスに同時に複数のファンクションがデータを送信すると信号の識別ができなくなり、情報の伝達を正確に行えなくなる。このような事態を防ぐため、該システムでは、メモリと各ファンクションとの間に調停器が設けられている。調停器は、予め設定された優先順序等の規則に従って各ファンクションに一定間隔で所定のデータ転送時間を与える、すなわち各ファンクションにバスの使用権を割り当てる調停を行う（調停器として例えば特許文献１）。
【０００４】
該システムでは、各規格バスの処理帯域や各ファンクションの処理帯域を考慮して予め調停器の設定（各ファンクションの優先順序等の設定等）を行う必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３５３２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
該システムでは、メモリの共有化、ファンクション同士の競合等により調停器の設定が難しいにもかかわらず、該設定が、各ファンクションの処理が要求スペック内となる適切なものになっているかどうかを確認する仕組みがない。
【０００７】
この明細書は、調停器の設定が適切かどうかを確認可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一般に、実施形態によれば、外部入出力装置は、複数の外部入出力装置が複数の外部入出力装置の外部にある共有のメモリに対してデータ信号を入出力するメモリ共有化システムにおける外部入出力装置であって、複数のファンクションと、バスと、複数の調停器と、比較器と、果記憶器とを備える。複数のファンクションは、所定の演算を行う。バスは、各ファンクションの入出力信号を伝達する。複数の調停器は、メモリと複数のファンクションとの間にある複数の調停器であって、調停器毎に複数のファンクションが接続し、各調停器は、それぞれ、当該調停器に接続する各ファンクションによるメモリに対する動作時に各ファンクションにバスの使用権を割り当てる。比較器は、メモリに対する各ファンクションの動作開始から動作終了までにかかる通信時間が、メモリへの動作毎に設定されている基準通信時間以上か否かを比較する。結果記憶器は、比較器による比較結果を記憶する外部からアクセス可能である。
【図面の簡単な説明】
【０００９】
【図１】メモリ共有化システムを示す図である。
【図２】ＡＳＩＣ等の外部入出力装置の内部構成を示す図ある。
【図３】ファンクションの共有メモリへの書き込み動作時において、調停器に入出力する各信号のタイミングチャートである。
【図４】通信測定器の構成を示すブロック図である。
【図５】ファンクションによる共有メモリに対する読み込み動作時において、調停器に入出力する各信号のタイミングチャートである。
【図６】読み込み動作時の通信測定器の各要素の作用を説明するためのブロック図ある。
【図７】通信測定器による調停設定結果格納処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、実施形態について図面を参照しつつ説明する。
図１は、メモリ共有化システム１００を示す図である。
メモリ共有化システム１００は、ＳＯＣ２(System-on-a-chip)と、ＳＯＣ２に接続する共有メモリ１１および外部入出力装置３とを備える。外部入出力装置３は、例えばＳＡＴＡ３１（Serial ATA）、ＷｉＦｉ３２(Wireless Fidelity）、Ｉ／Ｆ３３(Interface)、 ＡＳＩＣ３４(Application Specific Integrated Circuit)、ＵＳＢ３５(Universal Serial Bus)、ＥｔｈｅｒＮｅｔ３６である。
【００１１】
ＳＯＣ２は、メモリコントローラ２１、調停器２２、ＣＰＵ２３、バスコントローラ２４、および内部バス２５を備える。
バスコントローラ２４には外部入出力装置３が接続する。バスコントローラ２４は、外部入出力装置３と内部バス２５とでデータ通信を行うとき、データの中継や必要に応じてデータの規格の変換を行い、データの入出力タイミングをコントロールする。
【００１２】
メモリコントローラ２１は、ＣＰＵ２３および外部入出力装置３による共有メモリ１１へのアクセスを制御する。
メモリ共有化システム１００では、共有メモリ１１は、ＣＰＵ２３および外部入出力装置３に共有される。外部入出力装置３は、バスコントローラ２４、内部バス２５、調停器２２、メモリコントローラ２１を介して共有メモリ１１にアクセスする。ＣＰＵ２３は、調停器２２およびメモリコントローラ２１を介して共有メモリ１１にアクセスする。
【００１３】
調停器２２は、ＣＰＵ２３および外部入出力装置３（後述するファンクション３４（図２））からの共有メモリ１１へのアクセス要求を調停する。具体的に、調停器２２は、予め設定された優先順序等の規則に従って各外部入出力装置３に一定間隔で所定のデータ転送時間を与える、すなわち各外部入出力装置３に内部バス２５の使用権を割り当てる。
【００１４】
図２は、ＡＳＩＣ３４等の外部入出力装置３の内部構成を示す図である。
外部入出力装置３は、ブリッジ３１、調停器３２，３３、通信測定器５（５１，５２）、ファンクション３４、および内部バス３５を備える。
【００１５】
各ファンクション３４は、調停器３２，３３、ブリッジ３１、バスコントローラ２４等を介して共有メモリ１１にアクセスし、調停器３２，３３に調停されながらデータ信号の送受信を行う。具体的に、各ファンクション３４は、所定の演算を行い、共有メモリ１１に対して書き込み動作および読み込み動作を行う。
【００１６】
内部バス３５は、各ファンクション３４の入出力信号を伝達する。調停器３２、３３は、ＳＯＣ２の調停器２２と同様、各ファンクション３４に内部バス３５の使用権を割り当てる。各調停器３２，３３、２２には、予め内部バス３５、２５を使用させるファンクション３４の優先順序等が設定されている。各調停器３２，３３には通信測定器５（５１，５２）が接続する。
【００１７】
外部入出力装置３は、上位の調停器３２に下位の調停器３３が複数接続し、下位の各調停器３３にファンクション３４が複数接続するツリー構造となっている。
通信測定器５は、各ファンクション３４の通信時間を測定し、該通信時間が、設定された該ファンクション３４の基準時間以上か否かを、外部からアクセス可能な結果記憶器５１２（図３）に格納する。
【００１８】
これにより、本実施形態では、結果記憶器５１２を参照することで、各ファンクション３４の通信時間が各ファンクション３４に対応する基準時間以内か否かを把握でき、各ファンクション３４の能力を十分に発揮できるように調停器３２の設定が行われているか否かを確認できる。ファンクション３４の通信時間が基準時間以上になっており、調停器３２の設定が、ファンクション３４の能力が十分には発揮できないようになっている場合、調停器３２を再度設定すればよい。
【００１９】
図３は、ファンクション３４の共有メモリ１１への書き込み動作時において、調停器３３に入出力する各信号のタイミングチャートである。
Addr1は、ファンクション３４から出力される信号であり、共有メモリ１１における書き込みしたいアドレスを示すアドレス信号である。Cmd1は、ファンクション３４から出力される信号であり、ファンクション３４の要求が、書き込み動作なのか読み込み動作なのかを示すコマンド信号である。Cacpt1は、メモリコントローラ２１から出力される信号であり、アドレス信号およびコマンド信号を受領したことを通知する受領信号である。WDataは、ファンクション３４から出力される信号であり、書き込みしたい内容の書き込みデータ信号である。WDlastは、ファンクション３４から出力される信号であり、書き込みデータ信号WDataの最終を通知する通知信号である。WDacptは、メモリコントローラ２１から出力される信号であり、書き込みデータ信号の受領信号である。
【００２０】
図４は、通信測定器５の構成を示すブロック図である。
通信測定器５は、コマンド検知回路５０１、コマンド受領検知回路５０２、起動信号生成回路５０３、タイマー５０４、書き込みデータ受領検知回路５０５、最終書き込みデータ通知検知回路５０６、読み込みデータ受領検知回路５０７、最終読み込みデータ通知検知回路５０８、終了信号生成回路５０９、基準時間記憶器５１０、比較器５１１、および結果記憶器５１２を備える。
【００２１】
以下、各要素５０１〜５１２について、ファンクション３４が書き込み動作を行う際の機能を説明する。なお、要素５０７、５０８については、ファンクション３４が読み込み動作を行う際の各要素の説明を行う際に説明する。
【００２２】
コマンド検知回路５０１は、コマンド信号Cmd1を検知すると、検知信号Ｃ１を出力する。
コマンド受領検知回路５０２は、コマンド信号Cmd1の受領信号Cacpt1を検知すると、検知信号Ｃ２を出力する。
【００２３】
起動信号生成回路５０３は、コマンド信号Cmd1および受領信号Cacpt1を検知した信号Ｃ１、Ｃ２に基づいてタイマー５０４の起動信号Ｓ１を生成する。
書き込みデータ受領検知回路５０５は、書き込みデータ信号WDataの受領信号WDacptを検知すると、検知信号Ｗ１を出力する。
【００２４】
最終書き込みデータ通知検知回路５０６は、書き込みデータ信号WDataの最終を通知する最終通知信号WDlastを検知すると、検知信号Ｗ２を出力する。
終了信号生成回路５０９は、書き込みデータ信号WDataの受領信号WDacpt1および書き込みデータ信号WDataの最終通知信号WDlastを検知した信号Ｗ１、Ｗ２に基づいてタイマー５０４の停止信号Ｅ１を生成する。
【００２５】
タイマー５０４は、起動信号Ｓ１により計時を開始するとともに停止信号Ｅ１で計時を停止し、ファンクション３４の書き込み動作時の通信時間の計測値Ｔ１を出力する。
基準時間記憶器５１０は、外部（ＣＰＵ２３）からアクセス可能なレジスタであり、各ファンクション３４毎の書き込み動作時の通信時間の基準時間Ｔ２を外部からの入力により記憶する。
【００２６】
比較器５１１は、ファンクション３４の通信時間の計測値Ｔ１と基準時間Ｔ２とを比較し、計測値Ｔ１が基準時間Ｔ２以内か否かの判定結果ＲＴ１を結果記憶器５１２に記憶させる。また、比較器５１１は、タイマーをクリアする信号ＣＬ１を出力する。
【００２７】
結果記憶器５１２は、外部（ＣＰＵ２３）からアクセス可能なレジスタであり、計測値Ｔ１が基準時間Ｔ２以内か否かの判定結果ＲＴ１を記憶する。外部から結果記憶器５１２の判定結果ＲＴ１を確認することで、計測値Ｔ１が基準時間Ｔ２以内であれば、想定通りの時間内にファンクション３４の書き込み動作が完了していることが分かり、計測値Ｔ１が基準時間Ｔ２以上であれば、想定通りの時間内にファンクション３４の書き込み動作が完了していないことが分かる。
【００２８】
以下、ファンクション３４による共有メモリ１１に対する読み込み動作時の通信測定器５の各要素の説明を簡略に行う。
図５は、ファンクション３４による共有メモリ１１に対する読み込み動作時において、調停器３３に入出力する各信号のタイミングチャートである。
【００２９】
Addr2は、共有メモリ１１における読み込みしたいアドレスを示すアドレス信号である。Cmd2は、ファンクション３４の要求が書き込み動作なのか読み込み動作なのかを示すコマンド信号である。Cacpt2は、アドレス信号およびコマンド信号の受領信号である。RDataは、メモリコントローラ２１から出力される信号であり、共有メモリ１１を読み込んだ読み込みデータ信号である。Respは、メモリコントローラ２１から出力される信号であり、読み込みデータ信号RDataがイネーブル状態かディセーブル状態かの通知信号である。RDlastは、メモリコントローラ２１から出力される信号であり、読み込みデータ信号RDataの最終を通知する通知信号である。RDacptは、ファンクション３４から出力される信号であり、読み込みデータ信号RDataの受領信号である。
【００３０】
図６は、ファンクション３４による読み込み動作時の通信測定器５の各要素の作用を説明するためのブロック図である。
コマンド検知回路５０１は、コマンド信号Cmd2を検知すると、検知信号Ｃ３を出力する。
コマンド受領検知回路５０２は、コマンド信号Cmd2の受領信号Cacpt2を検知すると、検知信号Ｃ４を出力する。
【００３１】
起動信号生成回路５０３は、コマンド信号Cmd2および受領信号Cacpt2を検知した信号Ｃ３、Ｃ４に基づいてタイマー５０４の起動信号Ｓ２を生成する。
読み込みデータ受領検知回路５０７は、読み込みデータ信号RDataの有効無効データの通知信号Respおよび読み込みデータ信号RDataの受領信号RDacptを検知すると、検知信号Ｒ１を出力する。
【００３２】
最終読み込みデータ通知検知回路５０８は、読み込みデータ信号RDataの最終通知信号RDlastを検知すると、検知信号Ｒ２を出力する。
終了信号生成回路５０９は、信号Ｒ１、Ｒ２に基づいてタイマー５０４の停止信号Ｅ２を生成する。
【００３３】
タイマー５０４は、起動信号Ｓ１により計時を開始するとともに停止信号Ｅ１で計時を停止し、ファンクション３４の読み込み動作時の通信時間の計測値Ｔ３を出力する。
基準時間記憶器５１０は、各ファンクション３４毎の読み込み動作時の通信時間の基準時間Ｔ４を外部からの入力により記憶する。
【００３４】
比較器５１１は、計測値Ｔ３と基準時間Ｔ４とを比較し、計測値Ｔ３が基準時間Ｔ４以内か否かの判定結果ＲＴ２を結果記憶器５１２に記憶させるとともに、タイマーをクリアする信号ＣＬ２を出力する。
【００３５】
外部から結果記憶器５１２の判定結果ＲＴ２を確認することで、計測値Ｔ３が基準時間Ｔ４以内であれば、想定通りの時間内にファンクション３４の読み込み動作が完了していることが分かり、計測値Ｔ３が基準時間Ｔ４以上であれば、想定通りの時間内にファンクション３４の読み込み動作が完了していないことが分かる。
【００３６】
以下、調停設定結果を結果記憶器５１２に格納する通信測定器５による調停設定結果格納処理を図７のフローチャートを参照して簡略に説明する。
通信測定器５は、共有メモリ１１に対する要求が書き込み動作または読み込み動作であることを示すコマンド信号Cmd1, Cmd2および該信号Cmd1, Cmd2の受領信号Cacpt1, Cacpt2を検知すると（Ａｃｔ１：Ｙｅｓ）、タイマー５０４を起動させる（Ａｃｔ２）。
【００３７】
通信測定器５は、書き込みデータ信号WDataの受領信号WDacptおよび書き込みデータ信号WDataの最終通知信号WDlastを検知すると（Ａｃｔ３：Ｙｅｓ）、タイマー５０４を停止させる（Ａｃｔ４）。ファンクション３４の要求が読み込み動作の場合、通信測定器５は、読み込みデータ信号RDataの有効無効データの通知信号Resp、読み込みデータ信号RDataの受領信号RDacpt、および読み込みデータ信号RDataの最終通知信号RDlastを検知すると（Ａｃｔ３：Ｙｅｓ）、タイマー５０４を停止させる（Ａｃｔ４）。
このようにして通信測定器５は、ファンクション３４の書き込み動作時または読み込み動作時の通信時間の計測値Ｔ１、Ｔ３を取得する。
【００３８】
続いて通信測定器５は、通信時間の計測値Ｔ１、Ｔ３が、設定された該ファンクション３４の基準時間Ｔ２，Ｔ４以上か否かを判定する（Ａｃｔ５）。
そして、通信測定器５は、判定結果ＲＴ１，ＲＴ２を、外部からアクセス可能な結果記憶器５１２に格納する（Ａｃｔ６）。
【００３９】
これにより、外部から結果記憶器５１２の判定結果ＲＴ１，ＲＴ２を確認することで、想定通りの時間内に書き込み動作または読み込み動作が完了しているかが分かり、調停器３２の設定が適切であるか否かが分かる。
【００４０】
（変形例）
所定の演算を行う複数のファンクションと、各ファンクションの入出力信号を伝達するバスと、各ファンクションに前記バスの使用権を割り当てる調停器と、各ファンクションの通信時間を測定し、該通信時間が、設定された該ファンクションの基準時間以上か否かを、外部からアクセス可能な結果記憶器に格納する通信測定器と、を備える回路は、外部入出力装置３であってもよいし、メモリ共有化システム１００であってもよい。
【００４１】
前記実施形態における各処理の順序は、前記実施形態で例示した順序と異なっていてもよい。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【００４２】
３…外部入出力装置（回路）、５…通信測定器、３３…調停器、３４…ファンクション、３５…バス、１００…メモリ共有化システム（回路）。
【図１】
0006259046.tif 000002
【図２】
0006259046.tif 000003
【図３】
0006259046.tif 000004
【図４】
0006259046.tif 000005
【図５】
0006259046.tif 000006
【図６】
0006259046.tif 000007
【図７】
0006259046.tif 000008