(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、実施形態について図面を参照しつつ説明する。
図1は、メモリ共有化システム100を示す図である。
メモリ共有化システム100は、SOC2(System-on-a-chip)と、SOC2に接続する共有メモリ11および外部入出力装置3とを備える。外部入出力装置3は、例えばSATA31(Serial ATA)、WiFi32(Wireless Fidelity)、I/F33(Interface)、 ASIC34(Application Specific Integrated Circuit)、USB35(Universal Serial Bus)、EtherNet36である。
【0011】
SOC2は、メモリコントローラ21、調停器22、CPU23、バスコントローラ24、および内部バス25を備える。
バスコントローラ24には外部入出力装置3が接続する。バスコントローラ24は、外部入出力装置3と内部バス25とでデータ通信を行うとき、データの中継や必要に応じてデータの規格の変換を行い、データの入出力タイミングをコントロールする。
【0012】
メモリコントローラ21は、CPU23および外部入出力装置3による共有メモリ11へのアクセスを制御する。
メモリ共有化システム100では、共有メモリ11は、CPU23および外部入出力装置3に共有される。外部入出力装置3は、バスコントローラ24、内部バス25、調停器22、メモリコントローラ21を介して共有メモリ11にアクセスする。CPU23は、調停器22およびメモリコントローラ21を介して共有メモリ11にアクセスする。
【0013】
調停器22は、CPU23および外部入出力装置3(後述するファンクション34(
図2))からの共有メモリ11へのアクセス要求を調停する。具体的に、調停器22は、予め設定された優先順序等の規則に従って各外部入出力装置3に一定間隔で所定のデータ転送時間を与える、すなわち各外部入出力装置3に内部バス25の使用権を割り当てる。
【0014】
図2は、ASIC34等の外部入出力装置3の内部構成を示す図である。
外部入出力装置3は、ブリッジ31、調停器32,33、通信測定器5(51,52)、ファンクション34、および内部バス35を備える。
【0015】
各ファンクション34は、調停器32,33、ブリッジ31、バスコントローラ24等を介して共有メモリ11にアクセスし、調停器32,33に調停されながらデータ信号の送受信を行う。具体的に、各ファンクション34は、所定の演算を行い、共有メモリ11に対して書き込み動作および読み込み動作を行う。
【0016】
内部バス35は、各ファンクション34の入出力信号を伝達する。調停器32、33は、SOC2の調停器22と同様、各ファンクション34に内部バス35の使用権を割り当てる。各調停器32,33、22には、予め内部バス35、25を使用させるファンクション34の優先順序等が設定されている。各調停器32,33には通信測定器5(51,52)が接続する。
【0017】
外部入出力装置3は、上位の調停器32に下位の調停器33が複数接続し、下位の各調停器33にファンクション34が複数接続するツリー構造となっている。
通信測定器5は、各ファンクション34の通信時間を測定し、該通信時間が、設定された該ファンクション34の基準時間以上か否かを、外部からアクセス可能な結果記憶器512(
図3)に格納する。
【0018】
これにより、本実施形態では、結果記憶器512を参照することで、各ファンクション34の通信時間が各ファンクション34に対応する基準時間以内か否かを把握でき、各ファンクション34の能力を十分に発揮できるように調停器32の設定が行われているか否かを確認できる。ファンクション34の通信時間が基準時間以上になっており、調停器32の設定が、ファンクション34の能力が十分には発揮できないようになっている場合、調停器32を再度設定すればよい。
【0019】
図3は、ファンクション34の共有メモリ11への書き込み動作時において、調停器33に入出力する各信号のタイミングチャートである。
Addr1は、ファンクション34から出力される信号であり、共有メモリ11における書き込みしたいアドレスを示すアドレス信号である。Cmd1は、ファンクション34から出力される信号であり、ファンクション34の要求が、書き込み動作なのか読み込み動作なのかを示すコマンド信号である。Cacpt1は、メモリコントローラ21から出力される信号であり、アドレス信号およびコマンド信号を受領したことを通知する受領信号である。WDataは、ファンクション34から出力される信号であり、書き込みしたい内容の書き込みデータ信号である。WDlastは、ファンクション34から出力される信号であり、書き込みデータ信号WDataの最終を通知する通知信号である。WDacptは、メモリコントローラ21から出力される信号であり、書き込みデータ信号の受領信号である。
【0020】
図4は、通信測定器5の構成を示すブロック図である。
通信測定器5は、コマンド検知回路501、コマンド受領検知回路502、起動信号生成回路503、タイマー504、書き込みデータ受領検知回路505、最終書き込みデータ通知検知回路506、読み込みデータ受領検知回路507、最終読み込みデータ通知検知回路508、終了信号生成回路509、基準時間記憶器510、比較器511、および結果記憶器512を備える。
【0021】
以下、各要素501〜512について、ファンクション34が書き込み動作を行う際の機能を説明する。なお、要素507、508については、ファンクション34が読み込み動作を行う際の各要素の説明を行う際に説明する。
【0022】
コマンド検知回路501は、コマンド信号Cmd1を検知すると、検知信号C1を出力する。
コマンド受領検知回路502は、コマンド信号Cmd1の受領信号Cacpt1を検知すると、検知信号C2を出力する。
【0023】
起動信号生成回路503は、コマンド信号Cmd1および受領信号Cacpt1を検知した信号C1、C2に基づいてタイマー504の起動信号S1を生成する。
書き込みデータ受領検知回路505は、書き込みデータ信号WDataの受領信号WDacptを検知すると、検知信号W1を出力する。
【0024】
最終書き込みデータ通知検知回路506は、書き込みデータ信号WDataの最終を通知する最終通知信号WDlastを検知すると、検知信号W2を出力する。
終了信号生成回路509は、書き込みデータ信号WDataの受領信号WDacpt1および書き込みデータ信号WDataの最終通知信号WDlastを検知した信号W1、W2に基づいてタイマー504の停止信号E1を生成する。
【0025】
タイマー504は、起動信号S1により計時を開始するとともに停止信号E1で計時を停止し、ファンクション34の書き込み動作時の通信時間の計測値T1を出力する。
基準時間記憶器510は、外部(CPU23)からアクセス可能なレジスタであり、各ファンクション34毎の書き込み動作時の通信時間の基準時間T2を外部からの入力により記憶する。
【0026】
比較器511は、ファンクション34の通信時間の計測値T1と基準時間T2とを比較し、計測値T1が基準時間T2以内か否かの判定結果RT1を結果記憶器512に記憶させる。また、比較器511は、タイマーをクリアする信号CL1を出力する。
【0027】
結果記憶器512は、外部(CPU23)からアクセス可能なレジスタであり、計測値T1が基準時間T2以内か否かの判定結果RT1を記憶する。外部から結果記憶器512の判定結果RT1を確認することで、計測値T1が基準時間T2以内であれば、想定通りの時間内にファンクション34の書き込み動作が完了していることが分かり、計測値T1が基準時間T2以上であれば、想定通りの時間内にファンクション34の書き込み動作が完了していないことが分かる。
【0028】
以下、ファンクション34による共有メモリ11に対する読み込み動作時の通信測定器5の各要素の説明を簡略に行う。
図5は、ファンクション34による共有メモリ11に対する読み込み動作時において、調停器33に入出力する各信号のタイミングチャートである。
【0029】
Addr2は、共有メモリ11における読み込みしたいアドレスを示すアドレス信号である。Cmd2は、ファンクション34の要求が書き込み動作なのか読み込み動作なのかを示すコマンド信号である。Cacpt2は、アドレス信号およびコマンド信号の受領信号である。RDataは、メモリコントローラ21から出力される信号であり、共有メモリ11を読み込んだ読み込みデータ信号である。Respは、メモリコントローラ21から出力される信号であり、読み込みデータ信号RDataがイネーブル状態かディセーブル状態かの通知信号である。RDlastは、メモリコントローラ21から出力される信号であり、読み込みデータ信号RDataの最終を通知する通知信号である。RDacptは、ファンクション34から出力される信号であり、読み込みデータ信号RDataの受領信号である。
【0030】
図6は、ファンクション34による読み込み動作時の通信測定器5の各要素の作用を説明するためのブロック図である。
コマンド検知回路501は、コマンド信号Cmd2を検知すると、検知信号C3を出力する。
コマンド受領検知回路502は、コマンド信号Cmd2の受領信号Cacpt2を検知すると、検知信号C4を出力する。
【0031】
起動信号生成回路503は、コマンド信号Cmd2および受領信号Cacpt2を検知した信号C3、C4に基づいてタイマー504の起動信号S2を生成する。
読み込みデータ受領検知回路507は、読み込みデータ信号RDataの有効無効データの通知信号Respおよび読み込みデータ信号RDataの受領信号RDacptを検知すると、検知信号R1を出力する。
【0032】
最終読み込みデータ通知検知回路508は、読み込みデータ信号RDataの最終通知信号RDlastを検知すると、検知信号R2を出力する。
終了信号生成回路509は、信号R1、R2に基づいてタイマー504の停止信号E2を生成する。
【0033】
タイマー504は、起動信号S1により計時を開始するとともに停止信号E1で計時を停止し、ファンクション34の読み込み動作時の通信時間の計測値T3を出力する。
基準時間記憶器510は、各ファンクション34毎の読み込み動作時の通信時間の基準時間T4を外部からの入力により記憶する。
【0034】
比較器511は、計測値T3と基準時間T4とを比較し、計測値T3が基準時間T4以内か否かの判定結果RT2を結果記憶器512に記憶させるとともに、タイマーをクリアする信号CL2を出力する。
【0035】
外部から結果記憶器512の判定結果RT2を確認することで、計測値T3が基準時間T4以内であれば、想定通りの時間内にファンクション34の読み込み動作が完了していることが分かり、計測値T3が基準時間T4以上であれば、想定通りの時間内にファンクション34の読み込み動作が完了していないことが分かる。
【0036】
以下、調停設定結果を結果記憶器512に格納する通信測定器5による調停設定結果格納処理を
図7のフローチャートを参照して簡略に説明する。
通信測定器5は、共有メモリ11に対する要求が書き込み動作または読み込み動作であることを示すコマンド信号Cmd1, Cmd2および該信号Cmd1, Cmd2の受領信号Cacpt1, Cacpt2を検知すると(Act1:Yes)、タイマー504を起動させる(Act2)。
【0037】
通信測定器5は、書き込みデータ信号WDataの受領信号WDacptおよび書き込みデータ信号WDataの最終通知信号WDlastを検知すると(Act3:Yes)、タイマー504を停止させる(Act4)。ファンクション34の要求が読み込み動作の場合、通信測定器5は、読み込みデータ信号RDataの有効無効データの通知信号Resp、読み込みデータ信号RDataの受領信号RDacpt、および読み込みデータ信号RDataの最終通知信号RDlastを検知すると(Act3:Yes)、タイマー504を停止させる(Act4)。
このようにして通信測定器5は、ファンクション34の書き込み動作時または読み込み動作時の通信時間の計測値T1、T3を取得する。
【0038】
続いて通信測定器5は、通信時間の計測値T1、T3が、設定された該ファンクション34の基準時間T2,T4以上か否かを判定する(Act5)。
そして、通信測定器5は、判定結果RT1,RT2を、外部からアクセス可能な結果記憶器512に格納する(Act6)。
【0039】
これにより、外部から結果記憶器512の判定結果RT1,RT2を確認することで、想定通りの時間内に書き込み動作または読み込み動作が完了しているかが分かり、調停器32の設定が適切であるか否かが分かる。
【0040】
(変形例)
所定の演算を行う複数のファンクションと、各ファンクションの入出力信号を伝達するバスと、各ファンクションに前記バスの使用権を割り当てる調停器と、各ファンクションの通信時間を測定し、該通信時間が、設定された該ファンクションの基準時間以上か否かを、外部からアクセス可能な結果記憶器に格納する通信測定器と、を備える回路は、外部入出力装置3であってもよいし、メモリ共有化システム100であってもよい。
【0041】
前記実施形態における各処理の順序は、前記実施形態で例示した順序と異なっていてもよい。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。