(57)【要約】【課題】異なるアクセス要求に対するＲＡＳコマンド及びＣＡＳコマンドの各々の出力タイミングを最適に設定できるコマンド制御システムを提供する。【解決手段】コマンド制御システムは、基準時点から始まるサイクル周期Ｔ１である第１サイクル期間（例えばＴ１３）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されている場合、基準時点から後に連続する一定数のサイクル周期Ｔ１である第２サイクル期間（例えばＴ１３〜Ｔ１７）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かに基づいて、第１サイクル期間（Ｔ１３）で、第２ＲＡＳコマンド（例えばＡＣＴ２１）を記憶装置に出力するか否かを決定する。【選択図】図２
2020057110.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置にアクセスするための第１アクセス要求及び第２アクセス要求を受け取り、サイクル周期が繰り返されるクロック信号に基づいて、前記第１アクセス要求に対する第１ＲＡＳコマンド及び第１ＣＡＳコマンドの各々の出力タイミングを設定し、前記第２アクセス要求に対する第２ＲＡＳコマンド及び第２ＣＡＳコマンドの各々の出力タイミングを設定する設定部と、
前記第１ＣＡＳコマンドの出力タイミングと前記第２ＲＡＳコマンドの出力タイミングとを調停する調停部と、を備え、
前記第２ＲＡＳコマンドのコマンド長は、前記サイクル周期を複数倍した長さであり、
前記調停部は、
基準時点から始まる前記サイクル周期である第１サイクル期間に、前記第２ＲＡＳコマンドの出力タイミングが設定されている場合、前記基準時点から後に連続する一定数の前記サイクル周期である第２サイクル期間に、前記第１ＣＡＳコマンドの出力タイミングが設定されているか否かに基づいて、前記第１サイクル期間で、前記第２ＲＡＳコマンドを前記記憶装置に出力するか否かを決定する、
コマンド制御システム。
【請求項２】
前記設定部は、
前記第１サイクル期間に、前記第２ＲＡＳコマンドの出力タイミングが設定されているか否かを表す第１情報と、
前記第２サイクル期間に、前記第１ＣＡＳコマンドの出力タイミングが設定されているか否かを表す第２情報と、を前記調停部に出力する、
請求項１に記載のコマンド制御システム。
【請求項３】
前記一定数は、前記第２ＲＡＳコマンドの前記コマンド長の取り得る最大の長さを前記サイクル周期で割った値よりも１大きい数である、
請求項１又は２に記載のコマンド制御システム。
【請求項４】
前記第２サイクル期間のうち、前記第１ＣＡＳコマンドの出力タイミングが設定された前記サイクル周期を第３サイクル期間とし、
前記調停部は、
前記第１サイクル期間に前記第２ＲＡＳコマンドの出力タイミングが設定されている場合において、前記第２サイクル期間における前記第３サイクル期間の位置に基づいて、前記第１サイクル期間で、前記第２ＲＡＳコマンドを前記記憶装置に出力するか否かを決定する
請求項１〜３の何れか１項に記載のコマンド制御システム。
【請求項５】
前記第２ＲＡＳコマンドのコマンド長を前記サイクル周期のｍ倍（ｍは２以上の自然数）とし、
前記調停部は、
前記第１サイクル期間に前記第２ＲＡＳコマンドの出力タイミングが設定されており、かつ、前記第２サイクル期間のうち、前記基準時点の側から数えてｍ番目までのサイクル周期のうちの少なくとも１つのサイクル周期に、前記第１ＣＡＳコマンドの出力タイミングが設定されている場合は、前記第２ＲＡＳコマンドの出力タイミングを、前記第１サイクル期間から、前記少なくとも１つのサイクル周期のうちの最後のサイクル周期に出力タイミングが設定された前記第１ＣＡＳコマンドの出力終了時点から始まるサイクル周期である第４サイクル期間に変更する、
請求項１〜４の何れか１項に記載のコマンド制御システム。
【請求項６】
前記第２ＲＡＳコマンドのコマンド長を前記サイクル周期のｍ倍（ｍは２以上の自然数）とし、
前記調停部は、
前記第１サイクル期間に前記第２ＲＡＳコマンドの出力タイミングが設定されており、かつ、前記第２サイクル期間のうち、前記基準時点の側から数えてｍ番目までのサイクル周期のうちの少なくとも１つのサイクル周期に、前記第１ＣＡＳコマンドの出力タイミングが設定されている場合は、前記少なくとも１つのサイクル周期に設定された前記第１ＣＡＳコマンドの出力タイミングを、前記第２ＲＡＳコマンドの出力終了時点以降の前記サイクル周期に変更する、
請求項１〜４の何れか１項に記載のコマンド制御システム。
【請求項７】
前記第２ＲＡＳコマンドのコマンド長を前記サイクル周期のｍ倍（ｍは２以上の自然数）とし、
前記調停部は、
前記第１サイクル期間に前記第２ＲＡＳコマンドの出力タイミングが設定されており、かつ、前記第２サイクル期間のうち、前記基準時点の側から数えてｍ番目までのサイクル周期に、前記第１ＣＡＳコマンドの出力タイミングが設定されていない場合は、前記第１サイクル期間で、前記第２ＲＡＳコマンドを前記記憶装置に出力する、
請求項１〜６の何れか１項に記載のコマンド制御システム。
【請求項８】
前記調停部は、第１優先モードと第２優先モードとを選択的に切り替える切替部を有し、
前記第１優先モードでは、
前記調停部は、前記第１ＣＡＳコマンドの出力タイミングと前記第２ＲＡＳコマンドの出力タイミングとを調停する場合、前記第１ＣＡＳコマンドの出力タイミングは変更せず、前記第２ＲＡＳコマンドの出力タイミングを、前記設定部で設定された前記サイクル周期から、前記第１ＣＡＳコマンドの出力終了時点から始まる前記サイクル周期に変更し、
前記第２優先モードでは、
前記調停部は、前記第１ＣＡＳコマンドの出力タイミングと前記第２ＲＡＳコマンドの出力タイミングとを調停する場合、前記第２ＲＡＳコマンドの出力タイミングは変更せず、前記第１ＣＡＳコマンドの出力タイミングを、前記設定部で設定された前記サイクル周期から、前記第２ＲＡＳコマンドの出力終了時点から始まる前記サイクル周期に変更する、
請求項１〜７の何れか１項に記載のコマンド制御システム。
【請求項９】
請求項１〜８の何れかに記載のコマンド制御システムと、
前記コマンド制御システムを搭載した車両本体と、を備える、
車両。
【請求項１０】
記憶装置にアクセスするための第１アクセス要求及び第２アクセス要求を受け取り、サイクル周期が繰り返されるクロック信号に基づいて、前記第１アクセス要求に対する第１ＲＡＳコマンド及び第１ＣＡＳコマンドの各々の出力タイミングを設定し、前記第２アクセス要求に対する第２ＲＡＳコマンド及び第２ＣＡＳコマンドの各々の出力タイミングを設定する設定処理と、
前記第１ＣＡＳコマンドの出力タイミングと前記第２ＲＡＳコマンドの出力タイミングとを調停する調停処理と、を備え、
前記第２ＲＡＳコマンドのコマンド長は、前記サイクル周期を複数倍した長さであり、
前記調停処理では、
基準時点から始まる第１サイクル期間に、前記第２ＲＡＳコマンドの出力タイミングが設定されている場合、前記基準時点から後に連続する一定数のサイクル周期である第２サイクル期間に、前記第１ＣＡＳコマンドの出力タイミングが設定されているか否かに基づいて、前記第１サイクル期間に、前記第２ＲＡＳコマンドを前記記憶装置に出力するか否かを決定する、
コマンド制御方法。
【請求項１１】
請求項１０に記載のコマンド制御方法を少なくとも１つのプロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にコマンド制御システム、車両、コマンド制御方法及びプログラムに関し、より詳細には、記憶装置にＲＡＳ（Row Address Strobe）コマンド及びＣＡＳ（Column Address Strobe）コマンドを出力するコマンド制御システム、このコマンド制御システムを搭載した車両、コマンド制御方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１は、ＬＰＤＤＲ４（Low Power Double Data Rate 4）規格に準拠したメモリコントローラを開示する。このメモリコントローラは、ＬＰＤＤＲ４規格に基づいて、メモリに対してデータの書き込み及び読み出しを行う。ＬＰＤＤＲ４規格では、メモリコントローラからメモリに出力されるコマンド（アクティベイトコマンド、ライトコマンド及びリードコマンド）は、１つのコマンドを出力するのに４サイクル期間（１サイクル周期の４倍の期間）必要とする。プリチャージコマンドは出力するのに２サイクル期間（１サイクル周期の２倍の期間）必要とする。以降、アクティベイトコマンド及びプリチャージコマンドは、ＲＡＳコマンドと呼ぶ。ライトコマンド及びリードコマンドは、ＣＡＳコマンドと呼ぶ。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−９７６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のメモリコントローラでは、或るアクセス要求に対して出力タイミングが設定された２つのＣＡＳコマンドの間の間隔（例えば４サイクル期間）に、別のアクセス要求に対するＲＡＳコマンドの出力タイミングが設定される場合がある。この場合、上記のＲＡＳコマンドの出力タイミングは、上記の２つのＣＡＳコマンドの間の４サイクル期間のうちの１番目以外（例えば２番目）のサイクル周期に設定される場合がある。この場合は、ＲＡＳコマンドは、上記の２つのＣＡＳコマンドのうちの後側のＣＡＳコマンドと干渉する。このように、コマンド長が１サイクル周期の複数倍の長さである場合は、異なるアクセス要求のコマンド間で干渉が生じる場合がある。
【０００５】
本開示は、上記事由に鑑みて、互いに異なるアクセス要求に対するＲＡＳコマンド及びＣＡＳコマンドの各々の出力タイミングを互いに干渉することなく設定できるコマンド制御システム、コマンド制御システムを搭載した車両、コマンド制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一態様に係るコマンド制御システムは、設定部と、調停部と、を備えている。前記設定部は、記憶装置にアクセスするための第１アクセス要求及び第２アクセス要求を受け取る。前記設定部は、サイクル周期が繰り返されるクロック信号に基づいて、前記第１アクセス要求に対する第１ＲＡＳコマンド及び第１ＣＡＳコマンドの各々の出力タイミングを設定する。前記設定部は、前記第２アクセス要求に対する第２ＲＡＳコマンド及び第２ＣＡＳコマンドの各々の出力タイミングを設定する。前記調停部は、前記第１ＣＡＳコマンドの出力タイミングと前記第２ＲＡＳコマンドの出力タイミングとを調停する。前記第２ＲＡＳコマンドのコマンド長は、前記サイクル周期を複数倍した長さである。前記調停部は、基準時点から始まる前記サイクル周期である第１サイクル期間に、前記第２ＲＡＳコマンドの出力タイミングが設定されている場合、前記基準時点から後に連続する一定数の前記サイクル周期である第２サイクル期間に、前記第１ＣＡＳコマンドの出力タイミングが設定されているか否かに基づいて、前記第１サイクル期間で、前記第２ＲＡＳコマンドを前記記憶装置に出力するか否かを決定する。
【０００７】
本開示の一態様に係る車両は、前記コマンド制御システムと、車両本体と、備えている。前記車両本体は、前記コマンド制御システムを搭載している。
【０００８】
本開示の一態様に係るコマンド制御方法は、設定処理と、調停処理と、を備えている。前記設定処理では、記憶装置にアクセスするための第１アクセス要求及び第２アクセス要求を受け取る。前記設定処理では、サイクル周期が繰り返されるクロック信号に基づいて、前記第１アクセス要求に対する第１ＲＡＳコマンド及び第１ＣＡＳコマンドの各々の出力タイミングを設定する。前記設定処理では、前記第２アクセス要求に対する第２ＲＡＳコマンド及び第２ＣＡＳコマンドの各々の出力タイミングを設定する。前記調停処理では、前記第１ＣＡＳコマンドの出力タイミングと前記第２ＲＡＳコマンドの出力タイミングとを調停する。前記第２ＲＡＳコマンドのコマンド長は、前記サイクル周期を複数倍した長さである。前記調停処理では、基準時点から始まる第１サイクル期間に、前記第２ＲＡＳコマンドの出力タイミングが設定されている場合、前記基準時点から後に連続する一定数のサイクル周期である第２サイクル期間に、前記第１ＣＡＳコマンドの出力タイミングが設定されているか否かに基づいて、前記第１サイクル期間に、前記第２ＲＡＳコマンドを前記記憶装置に出力するか否かを決定する。
【０００９】
本開示の一態様に係るプログラムは、前記コマンド制御方法を少なくとも１つのプロセッサに実行させるためのプログラムである。
【発明の効果】
【００１０】
本開示は、互いに異なるアクセス要求に対するＲＡＳコマンド及びＣＡＳコマンドの各々の出力タイミングを互いに干渉することなく設定できる、という利点がある。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施形態に係るコマンド制御システムの構成図である。
【図２】図２Ａは、第１ＣＡＳコマンドを優先する場合のコマンドの出力タイミングの設定の仕方を説明する説明図である。図２Ｂは、第２ＲＡＳコマンドと第１ＣＡＳコマンドとが干渉しない場合のコマンドの出力タイミングの設定の仕方を説明する説明図である。
【図３】図３は、調停部本体の動作を説明するフローチャートである。
【図４】図４は、変形例２に係るコマンド制御システムにおける、第２ＲＡＳコマンドを優先する場合のコマンドの出力タイミングの設定の仕方を説明する説明図である。
【図５】図５は、変形例２に係るコマンド制御システムの調停部本体の動作を説明するフローチャートである。
【図６】図６は、変形例３に係るコマンド制御システムの構成図である。
【発明を実施するための形態】
【００１２】
（実施形態）
図１に示すように、本実施形態に係るコマンド制御システム１は、アクセス要求に応じて、記憶装置２にコマンドを出力することで、記憶装置２に対してデータの書き込み及び読み込みを行うシステムである。本実施形態で使用されるコマンドは、クロック信号ＣＬ１のサイクル周期Ｔ１（図２Ａ参照）の複数倍（例えば４倍）のコマンド長を有するコマンド（すなわちマルチサイクルのコマンド）である。
【００１３】
なお、本実施形態では、上記のコマンド長はサイクル周期Ｔ１の４倍であるが、４倍に限定せず、２倍以上であれば何倍であってもよい。クロック信号ＣＬ１は、コマンド制御システム１の動作のタイミングを規定する信号であり、一定のサイクル周期Ｔ１を繰り返す信号である。
【００１４】
コマンド制御システム１は、例えば車載用又は携帯端末用の記憶装置を制御する制御装置として使用可能である。より詳細には、コマンド制御システム１は、車両用の記憶装置を制御する場合、車両に搭載された各種のセンサの検出値を処理する処理部が用いる記憶装置を制御する制御装置として使用可能である。
【００１５】
コマンド制御システム１は、図１に示すように、記憶装置２と、変換部３と、調停部４とを備えている。記憶装置２、変換部３及び調停部４は、クロック信号によって同期して動作する。
【００１６】
記憶装置２は、コマンドによって、データの読み込み及び書き込みの制御が可能な記憶装置である。記憶装置２は、複数のバンク５を有する。複数のバンク５は、互いに同時に（併行して）アクセス可能な記憶領域である。アクセスとは、データの読み出し又は書き込みを行うことである。記憶装置２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）であり、ＬＰＤＤＲ４（Low Power Double Data Rate4）規格に準拠したＤＲＡＭであってもよい。
【００１７】
各バンク５は、バンク番号を有する。各バンク５は、バンク番号が指定されることで特定可能である。各バンク５は、複数のメモリセルを有する。メモリセルは、データを記憶する記憶素子である。複数のメモリセルは、マトリクス状のメモリセル配列で配置されている。各メモリセルは、メモリセル配列の行（rowとも言う）及び列（columnとも言う）が指定されることで特定可能である。
【００１８】
変換部３は、外部からのアクセス要求を受け取り、そのアクセス要求を、記憶装置２を制御するためのコマンドに変換する。すなわち、変換部３は、受け取ったアクセス要求に対するコマンドを設定する。より詳細には、変換部３は、受け取ったアクセス要求に対し、そのアクセス要求を実行するために必要な一連のコマンドの出力タイミングを設定する。コマンドの出力タイミングは、調停部４から記憶装置２にコマンドを出力するタイミングであり、クロック信号上でのコマンドの前端の位置（すなわちコマンドの出力開始時点の位置）である。
【００１９】
変換部３は、受信部７と、設定部８とを備えている。
【００２０】
受信部７は、外部からのアクセス要求を受信する回路である。受信部７は、１つ以上（図１では複数）のマスタ１１と、バス１２を介して接続されている。受信部７は、複数のマスタ１１からバス１２を介してアクセス要求を受信する。アクセス要求は、読み出し要求又は書き込み要求である。読み出し要求は、記憶装置２からのデータの読み出しを指示する要求である。書き込み要求は、記憶装置２へのデータの書き込みを指示する要求である。
【００２１】
マスタ１１は、例えば、外部の装置を制御するプロセッサ（例えばＣＰＵ（Central Processing Unit）、又は、各種の処理を行う処理回路（映像処理回路など）である。
【００２２】
アクセス要求は、各種の情報を含む。各種の情報は、例えば、バンク番号情報と、行アドレス及び列アドレスの情報と、転送サイズ、優先度情報とを含む。または、各種の情報は例えば論理的なアドレス情報と転送サイズを含み、変換部３にて、例えば、バンク番号情報と、行アドレス及び列アドレスの情報と、優先度情報とに変換してもよい。バンク番号情報は、アクセス要求の対象となるバンク５のバンク番号である。行アドレス及び列アドレスの情報は、アクセス要求の対象となるメモリセルの行アドレス及び列アドレスの情報である。なお、アクセス要求が書き込み要求である場合は、マスタ１１から、アクセス要求と共に記憶装置２に書き込まれるデータが送信される。優先度情報は、アクセス要求を実行する際の優先度を示す情報である。転送サイズは、記憶装置２に書き込みまたは読み出しするデータのサイズを示す情報である。変換部３は、複数のアクセス要求を受信した場合、優先度が高い順にアクセス要求を処理する。
【００２３】
設定部８は、受信部７で受信されたアクセス要求に対し、アクセス要求に含まれる各種の情報に基づいて、バンク５毎に、アクセス要求を実行するための一連のコマンドの出力タイミングを設定する。
【００２４】
コマンドは、例えばＤＲＡＭの場合は、ＲＡＳ（Row Address Strobe）コマンド及びＣＡＳ（Column Address Strobe）コマンドである。ＲＡＳコマンドは、アクティベイトコマンド及びプリチャージコマンドの総称である。ＣＡＳコマンドは、ライトコマンド及びリードコマンドの総称である。アクティベイトコマンドは、記憶装置２において、アクセスするバンク５を開くためのコマンドである。プリチャージコマンドは、記憶装置２において、アクセスしたバンク５を閉じるためのコマンドである。ライトコマンドは、記憶装置２へのデータの書き込みを指示するコマンドである。リードコマンドは、記憶装置２からのデータの読み出しを指示するコマンドである。
【００２５】
なお、同じバンク５に出力される時系列的に隣合うコマンドの出力タイミングは、記憶装置２がＤＲＡＭである場合は、ＤＲＡＭの規定に従って、予め決められた間隔（例えば８サイクル期間（１サイクル周期Ｔ１の８倍の期間））確保される。しかし、互いに異なるバンク５に出力されるＲＡＳコマンドとＣＡＳコマンドの出力タイミングの間には、上記の規定は無いため、異なるバンク５に対して設定されるコマンドの出力タイミングは互いに干渉する場合がある。この干渉を調停するために、調停部４が備えられている。
【００２６】
調停部４は、設定部８で設定された出力タイミングを調停し、調停した出力タイミングでコマンドを記憶装置２に出力する回路である。なお、調停とは、互いに干渉する２つのコマンドの出力タイミングを、優先順位を付けて互いに干渉しないように調整することである。
【００２７】
調停部４は、調停部本体１５と、出力部１６とを有する。
【００２８】
調停部本体１５は、設定部８で設定された出力タイミングを調停する回路である。より詳細には、互いに異なるバンク５にアクセスする２つのアクセス要求を第１アクセス要求及び第２アクセス要求とする。調停部本体１５は、設定部８での出力タイミングの設定の結果、第１アクセス要求に対するコマンド（例えばＣＡＳコマンド）の出力タイミングと、第２アクセス要求に対するコマンド（例えばＲＡＳコマンド）の出力タイミングとが干渉する場合、それらコマンドの出力タイミングを調停する。
【００２９】
さらに詳細には、調停部本体１５は、上記の調停の際、ＣＡＳコマンドの出力タイミングを、ＲＡＳコマンドのタイミングよりも優先する。すなわち、調停部本体１５は、ＣＡＳコマンドの出力タイミングは変更せず、ＲＡＳコマンドの出力タイミングをＣＡＳコマンドの出力終了時点以降のサイクル周期Ｔ１（例えば出力終了時点から始まるサイクル周期Ｔ１）に変更する。
【００３０】
出力部１６は、設定部８で設定された出力タイミングで、コマンドを記憶装置２に出力する。ただし、出力部１６は、調停部本体１５で出力タイミングが調停されたコマンドに対しては、調停された出力タイミングで記憶装置２に出力する。出力部１６は、コマンドを記憶装置２に出力する際、コマンドの種類に応じて予め決められたコマンド長（例えば４サイクル期間）で、コマンドを記憶装置２に出力する。
【００３１】
なお、変換部３及び調停部４は、例えば、ＣＰＵ及びメモリを主構成とするマイクロコンピュータで構成されている。言い換えれば、変換部３及び調停部４は、ＣＰＵ及びメモリを有するコンピュータで実現されており、ＣＰＵがメモリに格納されているプログラムを実行することにより、コンピュータが変換部３及び調停部４として機能する。プログラムは、メモリに予め記録されているが、インターネット等の電気通信回線を通じて、又はメモリカード等の記録媒体に記録されて、提供されてもよい。
【００３２】
図２Ａ及び図２Ｂを参照して、設定部８及び調停部４の各々の処理について詳しく説明する。
【００３３】
図２Ａは、第１アクセス要求を実行するための一連のコマンド（アクティベイトコマンドＡＣＴ１１，リードコマンドＲＤ１２，…，リードコマンドＲＤ１５）の出力タイミングｔ１１，ｔ１２，…が設定された状態を示す。また、図２Ａは、第２アクセス要求を実行するための一連のコマンドのうちの先頭のコマンド（アクティベイトコマンドＡＣＴ２１）の出力タイミングｔ２１が設定された状態を示す。
【００３４】
なお、コマンドＡＣＴ１１，ＲＤ１２，…の出力タイミングｔ１１，ｔ１２，…は、クロック信号ＣＬ１上でのコマンドＡＣＴ１１，ＲＤ１２，…の例えば前端の位置であり、１サイクル周期Ｔ１の例えば開始時点に設定される。なお、本実施形態では、出力タイミングは、１サイクル周期Ｔ１の開始時点に設定されるが、終了時点でも中間時点に設定されてもよい。
【００３５】
第１アクセス要求及び第２アクセス要求は、互いに異なるバンク５にアクセスするアクセス要求である。第１アクセス要求及び第２アクセス要求は、例えば読み出し要求である。第１アクセス要求を実行するための一連のコマンドは、アクティベイトコマンドＡＣＴ１１、複数（例えば４つ）のリードコマンドＲＤ１２，ＲＤ１３，ＲＤ１４及びＲＤ１５である。これらコマンドＡＣＴ１１，ＲＤ１２，…の出力タイミングｔ１１，ｔ１２，…は、その順で互いに間隔を空けて並んでいる。ＬＰＤＤＲ４の場合、隣合う２つのリードコマンド（例えばリードコマンドＲＤ１２，ＲＤ１３の出力タイミングｔ１２，１３の間隔ｔＣＣＤは、例えば、８サイクル期間である。アクティベイトコマンドＡＣＴ１１、リードコマンドＲＤ１２〜ＲＤ１５の各々のコマンド長は、４サイクル期間（１サイクル周期Ｔ１の４倍の期間）の長さである。したがって、リードコマンド（例えばＲＤ１２）の出力終了時点から次のリードコマンド（例えばＲＤ１３）の出力開始時点との間隔Ｗ１は、４サイクル期間の長さである。
【００３６】
図２Ａにおいて、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１が、設定部８によって、間隔Ｗ１内の４つのサイクル周期Ｔ１１〜Ｔ１４のうち、時系列順に数えて２番目から４番目のサイクル周期Ｔ１２〜Ｔ１４の何れか１つのサイクル周期（例えば３番目のサイクル周期Ｔ１３）の開始時点に設定された場合を想定する。この場合は、アクティベイトコマンドＡＣＴ２１は、コマンド長が４サイクル期間であるため、その次のリードコマンドＲＤ１３と干渉する。このため、この場合は、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１は、調停部本体１５によって、次のリードコマンドＲＤ１３の出力終了時点から始まるサイクル周期Ｔ１９の開始時点に変更される。これにより、アクティベイトコマンドＡＣＴ２１は、２つのリードコマンドＲＤ１３，ＲＤ１４の間の間隔Ｗ３に丁度嵌り、２つのリードコマンドＲＤ１３，ＲＤ１４と干渉しない。したがって、リードコマンドＲＤ１３の出力タイミングｔ１３は遅延されない。
【００３７】
なお、図２Ａにおいて、サイクル周期Ｔ１１，Ｔ１２，…は、サイクル周期Ｔ１を、どの時点から始まるサイクル周期であるかで区別したサイクル周期である。
【００３８】
また、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１が、設定部８によって、間隔Ｗ１のうちの１番目のサイクル周期Ｔ１１の開始時点に設定された場合は、図２Ｂに示すように、アクティベイトコマンドＡＣＴ２１は、間隔Ｗ１に丁度嵌り、その次のリードコマンドＲＤ１３と干渉しない。このため、この場合は、アクティベイトコマンドＡＣＴ２１は、その出力タイミングｔ２１は変更されず、１番目のサイクル周期Ｔ１１の開始時点に設定される。
【００３９】
また、複数のリードコマンドＲＤ１１〜ＲＤ１４の何れか１つのリードコマンド（例えばＲＤ１３）の出力開始時点（出力タイミング）ｔ１３から出力終了時点までの間の期間を期間Ｗ２とする。アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１が、期間Ｗ２内の４つのサイクル周期Ｔ１５〜Ｔ１８の何れか１つのサイクル周期（例えばＴ１６）の開始時点に設定された場合は、出力タイミングｔ２１は、リードコマンドＲＤ１３と干渉する。このため、この場合は、図２Ａに示すように、出力タイミングｔ２１は、サイクル周期Ｔ１６から、リードコマンドＲＤ１３の出力終了時点から始まるサイクル周期Ｔ１９の開始時点に変更される。
【００４０】
調停部４の出力部１６は、各コマンドを、設定部８で設定された出力タイミングで、かつ予め決められたコマンド長で、記憶装置２に出力する。その際、出力部１６は、調停部本体１５で出力タイミングが変更されたコマンドに対しては、調停部本体１５で変更された出力タイミングで、記憶装置２に出力する。
【００４１】
上記のように、設定部８による出力タイミングの設定の結果、アクティベイトコマンドＡＣＴ２１とリードコマンドＲＤ１３とが干渉する場合は、リードコマンドＲＤ１３の出力タイミングｔ１３が、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１よりも優先される。すなわち、リードコマンドＲＤ１３の出力タイミングｔ１３は、変更されず、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１が、リードコマンドＲＤ１３の出力終了時点から始まるサイクル周期Ｔ１９に変更される。これにより、第１アクセス要求に対する一連のコマンドに含まれるリードコマンドＤＲ１１，ＲＤ１２，…で読み出されるデータＤＴ１１，ＤＴ１２，…（図２Ａ参照）の間に間隔（バブルとも呼ぶ）が発生することが抑制される。なお、各データＤＴ１１，ＤＴ１２，…はそれぞれ、リードコマンドＲＤ１１，ＲＤ１２，…で読み出されたデータである。
【００４２】
なお、図２Ａ及び図２Ｂの例では、アクティベイトコマンドＡＣＴ２１とリードコマンドＲＤ１３とが干渉する場合を例示したが、アクティベイトコマンドＡＣＴ２１は、ＲＡＳコマンドの一例であり、リードコマンドＲＤ１３はＣＡＳコマンドの一例である。本実施形態では、ＲＡＳコマンドとＣＡＳコマンドとが干渉する場合は、ＣＡＳコマンドの出力タイミングがＲＡＳコマンドの出力タイミングよりも優先される。すなわち、ＲＡＳコマンドの出力タイミングが、設定部８で設定されたサイクル周期Ｔ１から、ＣＡＳコマンドの出力タイミングの出力終了時点から始まるサイクル周期Ｔ１に変更される。
【００４３】
図１を参照して、図２Ａ及び図２Ｂで説明した動作を実現するための設定部８の処理について詳しく説明する。
【００４４】
設定部８は、上記の通り、バンク５毎にバンク５に出力される一連のコマンドの出力タイミングを設定する。以下の説明では、例えば、第１アクセス要求に対する一連のコマンドの出力タイミングが設定され、その後に、第２アクセス要求に対する一連のコマンドの出力タイミングが設定される場合を想定する。第１アクセス要求及び第２アクセス要求は、互いに異なるバンク５にアクセスするアクセス要求である。第１アクセス要求に対する上記の一連のコマンドに含まれるＲＡＳコマンド及びＣＡＳコマンドをそれぞれ、第１ＲＡＳコマンド及び第１ＣＡＳコマンドとも記載する。第２アクセス要求に対する上記の一連のコマンドに含まれるＲＡＳコマンド及びＣＡＳコマンドをそれぞれ第２ＲＡＳコマンド及び第２ＣＡＳコマンドとも記載する。
【００４５】
設定部８は、図１に示すように、クロック信号ＣＬ１のサイクル周期Ｔ１毎に、第１情報Ｊ１と、第２情報Ｊ２と、を調停部４に出力する。設定部８は、第１情報Ｊ１及び第２情報Ｊ２を調停部４に例えばパラレル伝送で出力する。
【００４６】
第１情報Ｊ１は、第２ＲＡＳコマンドの出力タイミングに関する情報である。より詳細には、第１情報Ｊ１は、現時点（基準時点）から始まるサイクル周期Ｔ１（第１サイクル期間）に、第２ＲＡＳコマンドの出力タイミングが設定されているか否かを示す情報である。第２情報Ｊ２は、第１ＣＡＳコマンドの出力期間に関する情報である。
【００４７】
なお、第１ＣＡＳコマンドの出力期間に関する情報には、第１ＣＡＳコマンドの出力タイミングの情報も含まれる。より詳細には、第２情報Ｊ２は、現時点（基準時点）から後に連続する一定数のサイクル周期Ｔ１の各々に、第１ＣＡＳコマンドの出力期間の一部が設定されているか否かを表す情報である。なお、現時点とは、設定部８が処理している時点である。なお、設定部８は、クロック信号ＣＬ１の各サイクル周期Ｔ１の例えば開始時点に同期して動作している。第１ＣＡＳコマンドの出力期間とは、第１ＣＡＳコマンドの出力開始時点から出力終了時点までの期間である。出力期間の先頭が出力タイミングである。
【００４８】
なお、設定部８は、設定部８が設定した第２ＲＡＳコマンドの出力タイミングと、第２ＲＡＳコマンドのコマンド長に基づいて、第１情報Ｊ１を生成する。また、設定部８は、設定部８が設定した第１ＣＡＳコマンドの出力タイミングと、第１ＣＡＳコマンドのコマンド長とに基づいて、第２情報Ｊ２を生成する。
【００４９】
上記の一定数のサイクル周期Ｔ１の「一定数」は、例えば、第２ＲＡＳコマンドのコマンド長の取り得る最大の長さをサイクル周期Ｔ１で割った値よりも１大きい数である。具体的には、本実施形態では、第２ＲＡＳコマンドのコマンド長は４サイクル期間（１サイクル周期Ｔ１の４倍の期間）であるため、上記の一定数は、５である。したがって、第２情報Ｊ２は、現時点から後に連続する５つのサイクル周期Ｔ１の各々に、第１ＣＡＳコマンドの出力期間が設定されているか否かを表す情報である。
【００５０】
第２情報Ｊ２は、５つの情報（第１から第５世代情報Ｊ２１〜Ｊ２５）を有する。５つの情報Ｊ２１〜２５は、に例えばパラレル伝送で設定部８から変換部３に出力される。第１世代情報Ｊ２１は、上記の５つのサイクル周期Ｔ１のうちの１番目のサイクル周期（すなわち現時点から始まるサイクル周期）Ｔ１に、第１ＣＡＳコマンドの出力期間の一部が設定されているか否かを表す情報である。同様に、第２世代情報Ｊ２２、第３世代情報Ｊ２３、第４世代情報Ｊ２４及び第５世代情報Ｊ２５はそれぞれ、２番目、３番目、４番目及び５番目のサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力期間の一部が設定されているか否かを表す情報である。
【００５１】
第１ＣＡＳコマンドの出力期間の先頭は、第１ＣＡＳコマンドの出力タイミングを表す。したがって、１番目から５番目までのサイクル周期Ｔ１のうちの何番目のサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力期間の先頭が設定されているかで、第１ＣＡＳコマンドの出力タイミングが何番目のサイクル周期Ｔ１に設定されているかが分かる。
【００５２】
【表１】
2020057110.tif 000003
【００５３】
表１は、第１情報Ｊ１及び第２情報Ｊ２の一例を示す。より詳細には、表１は、図２Ａの５つのサイクル周期Ｔ１１〜Ｔ１５の各サイクル周期（の開始時点）が現時点となる場合の第１情報Ｊ１及び第２情報Ｊ２の例を示す。表１の最上段のＴ１１〜Ｔ１５は、現時点のサイクル周期を示す。現時点のサイクル周期とは、調停部本体１５が処理している時点のサイクル周期であり、現時点から始まるサイクル周期である。各サイクル周期Ｔ１１〜Ｔ１５の下段（２段目）に、その現時点のサイクル周期Ｔ１で設定部８から調停部４に出力される第１情報Ｊ１の内容が示されている。そして、更に第１情報Ｊ１の下段（３段目から７段目）に、その現時点のサイクル周期Ｔ１で設定部８から調停部４に出力される第２情報Ｊ２の内容（すなわち第１から第５世代情報Ｊ２１〜Ｊ２５の内容）が示されている。
【００５４】
表１中の２段目（第１情報Ｊ１の内容を示す段）の「ＮＯＰ」は、ＲＡＳコマンドの出力タイミングが設定されていないことを示す。「ＡＣＴ」は、アクティベイトコマンド（すなわち第２ＲＡＳコマンド）の出力タイミングが設定されていることを示す。表１中の３段目から７段目までの各段の「ＮＯＰ」は、ＣＡＳコマンドの出力期間が設定されていないことを示す。「ＲＤ」は、リードコマンド（すなわち第１ＣＡＳコマンド）の出力期間が設定されていることを示す。表１の第２情報Ｊ２の内容を表す各段（３段目から７段目までの各段）において、「ＮＯＰ」の下段の「ＲＤ」は、リードコマンドの出力期間の先頭を表し、リードコマンドの出力タイミング（出力開始時点）を表す。また、「ＮＯＰ」の上段の「ＲＤ」は、リードコマンドの出力期間の後尾を表し、リードコマンドの出力終了時点を表す。
【００５５】
表１に示すように、現時点が例えばサイクル周期Ｔ１１（の開始時点）であるときは、設定部８から調停部４に出力される第１情報Ｊ１の内容は「ＮＯＰ」であり、第２情報Ｊ２の内容は、第１世代情報Ｊ２１から第４世代情報Ｊ２４までが「ＮＯＰ」で第５世代情報Ｊ２５が「ＲＤ」である。この場合、第１情報Ｊ１の内容から、サイクル周期Ｔ１１には第２ＲＡＳコマンドの出力タイミングが設定されていないことが分かる。第２情報Ｊ２の第１から第５世代情報Ｊ２１〜Ｊ２５の内容から、現時点のサイクル周期Ｔ１１から数えて１番目から４番目のサイクル周期Ｔ１１〜Ｔ１４の各々には、ＣＡＳコマンドの出力期間の一部は設定されておらず、５番目のサイクル周期Ｔ１５に、リードコマンドの出力期間の先頭（すなわち出力タイミング）が設定されていることが分かる。
【００５６】
次に、図２Ａ及び図２Ｂで説明した動作を実現するための調停部４の処理について説明する。以下の説明では、第１サイクル期間とは、現時点から始まるサイクル周期Ｔ１である。第２サイクル期間とは、現時点から後に連続する一定数（例えば５つ）のサイクル周期Ｔ１である。第３サイクル期間とは、第２サイクル期間において第１ＣＡＳコマンドの出力タイミングが設定されたサイクル周期Ｔ１である。例えば図２Ａにおいて、サイクル周期Ｔ１１が第１サイクル期間である場合は、第２サイクル期間は、５つのサイクル周期Ｔ１１〜Ｔ１５である。第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）がサイクル周期Ｔ１５に設定されている場合は、サイクル周期Ｔ１５が第３サイクル期間である。
【００５７】
調停部４の調停部本体１５は、設定部８から出力された第１情報Ｊ１及び第２情報Ｊ２に基づいて、第１ＣＡＳコマンドの出力タイミングと第２ＲＡＳコマンドの出力タイミングとを調停する。その際、調停部本体１５は、第２情報Ｊ２から、第２サイクル期間における第３サイクル期間の位置の情報を取得し、その位置に基づいて、第１サイクル期間で、第２ＲＡＳコマンドを記憶装置２に出力するか否かを決定する。そして、調停部４の出力部１６は、調停後のコマンドの出力タイミングに基づいて、第１アクセス要求に対する一連のコマンド、及び第２アクセス要求に対する一連のコマンドを記憶装置２に出力する。
【００５８】
なお、調停部４は、上記のように第２サイクル期間における第３サイクル期間の位置の情報を用いることで、第１サイクル期間から第３サイクル期間までのサイクル周期Ｔ１の個数を把握できる。これにより、調停部４は、最適な調停（例えばＣＡＳコマンド優先の調停）を実行でき、これにより、第２ＲＡＳコマンドの次に続く第１ＣＡＳコマンドの出力タイミングを遅延させずに、第２ＲＡＳコマンドを記憶装置２に出力できる。
【００５９】
なお、「調停後のコマンドの出力タイミング」とは、調停部４で出力タイミングが調停されたコマンドに対しては、調停部４で調停された出力タイミングであり、調停部４で出力タイミングが調停されていないコマンドに対しては、設定部８で設定された出力タイミングである。
【００６０】
より詳細には、調停部本体１５は、各サイクル周期Ｔ１で図３のフローチャートに従って調停を行う。図３のフローチャートは、現時点のサイクル周期Ｔ１で実行される処理を示す。図３に示すように、調停部本体１５は、第１情報Ｊ１に基づいて、現時点から始まるサイクル周期Ｔ１（第１サイクル期間）に、第２ＲＡＳコマンドの出力タイミングが設定されているか否かを判定する（Ｓ１）。この判定の結果、第２ＲＡＳコマンドの出力タイミングが設定されていない場合（Ｓ１：Ｎｏ）は、調停部本体１５は調停を行わず、調停部本体１５の処理は終了する。この場合は、出力部１６は、設定部８で設定された出力タイミングで、第１アクセス要求に対するコマンドを記憶装置２に出力する。なお、ステップＳ１の判定結果が否定（Ｎｏ）になるのは、第１情報Ｊ１の内容がＮＯＰである場合である。すなわち表１のサイクル周期Ｔ１１，Ｔ１２，Ｔ１４，Ｔ１５の場合である。
【００６１】
他方、ステップＳ１の判定の結果が、第２ＲＡＳコマンドの出力タイミングが設定されている場合（Ｓ１：Ｙｅｓ）は、調停部本体１５の処理はステップＳ２に進む。このようにステップＳ１の判定結果が肯定（Ｙｅｓ）になるのは、第１情報Ｊ１の内容が例えば「ＡＣＴ」である場合（表１のサイクル周期Ｔ１３の場合）である。
【００６２】
ステップＳ２では、調停部本体１５は、第２情報Ｊ２に基づいて、現時点から後に連続する一定数（例えば５つ）のサイクル周期Ｔ１である第２サイクル周期のうち、現時点のサイクル周期Ｔ１（第１サイクル期間）から数えて４番目までの４つのサイクル周期Ｔ１の何れか１つのサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力タイミングが設定されているか否かを判定する。この判定結果が否定の場合（Ｓ２：Ｎｏ）は、調停部本体１５の処理がステップＳ３に進む。
【００６３】
ステップＳ３では、調停部本体１５は、設定部８による出力タイミングの設定の通り、１番目のサイクル周期Ｔ１（第１サイクル期間）の開始時点に、第２ＲＡＳコマンドの出力タイミングｔ２１を設定する。これにより、第２ＲＡＳコマンドは、第１サイクル期間で出力される。この場合は、第１サイクル期間から数えて４番目までの４つのサイクル周期Ｔ１には、第１ＣＡＳコマンドの出力期間が設定されていない。このため、第１サイクル期間（１番目のサイクル周期Ｔ１）に第２ＲＡＳコマンドの出力タイミングを設定しても、第２ＲＡＳコマンドのコマンド長は４サイクル期間であるため、第２ＲＡＳコマンドと第１ＣＡＳコマンドとは干渉しない。このため、１番目のサイクル周期Ｔ１に第２ＲＡＳコマンドの出力タイミングが設定される。そして、調停部本体１５の処理が終了する。この場合は、調停部本体１５は、調停を行わないため、出力部１６は、設定部８で設定された出力タイミングで、第２アクセス要求に対するコマンドを記憶装置２に出力する。
【００６４】
なお、ステップＳ２の判定結果が否定（Ｎｏ）になるのは、第２情報Ｊ２の内容が例えば表１のサイクル周期Ｔ１１の第２情報Ｊ２のようになる場合である。この場合は、例えば図２Ｂの場合である。図２Ｂに示すように、サイクル周期Ｔ１１が第１サイクル期間である場合は、５つのサイクル周期Ｔ１１〜Ｔ１５が第２サイクル期間となる。そして、第２サイクル期間のうちの１番目から４番目までの４つサイクル周期Ｔ１１〜Ｔ１４の各々には、第１ＣＡＳコマンドの出力タイミングが設定されていない（すなわち第１ＣＡＳコマンドの出力期間の一部が設定されていない）。このため、この場合は、ステップＳ３の処理が行われて、１番目のサイクル周期Ｔ１１（第１サイクル期間）に第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定される。
【００６５】
他方、ステップＳ２の判定結果が肯定の場合（Ｓ２：Ｙｅｓ）、すなわち第２ＲＡＳコマンドとその次の第１ＣＡＳコマンドとが干渉する場合は、調停部本体１５の処理がステップＳ４に進む。ステップＳ４では、調停部本体１５は、第２ＲＡＳコマンドを、第１ＣＡＳコマンドの後ろに回す。すなわち、調停部本体１５は、第１ＣＡＳコマンドの出力タイミングは変更せず、第２ＲＡＳコマンドの出力タイミングを第１ＣＡＳコマンドの出力終了時点から始まるサイクル周期Ｔ１（第４サイクル期間）の開始時点に変更する。
【００６６】
なお、ステップＳ２の判定結果が肯定（Ｙｅｓ）になるのは、第２情報Ｊ２の内容が例えば表１のサイクル周期Ｔ１２〜Ｔ１５の第２情報Ｊ２の内容のようになる場合である。例えば表１のサイクル周期Ｔ１３の場合は、例えば図２Ａの場合である。図２Ａに示すように、サイクル周期Ｔ１３が第１サイクル期間である場合は、５つのサイクル周期Ｔ１３〜Ｔ１７が第２サイクル期間となる。そして、第２サイクル期間のうちの３番目のサイクル周期Ｔ１５に、第１ＣＡＳコマンドの出力タイミングが設定されている。すなわち、第２サイクル期間のうちの３番目から５番目のサイクル周期Ｔ１５〜Ｔ１７には、第１ＣＡＳコマンドの出力期間が設定されている。このため、この場合は、ステップＳ４の処理が行われる。これにより、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）は、第１サイクル期間Ｔ１３から、第１ＣＡＳコマンド（例えばＲＤ１３）の出力終了時点から始まるサイクル周期Ｔ１９に変更される。
【００６７】
これにより、第２ＲＡＳコマンド（例えばＡＣＴ２１）によって、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が遅れることを抑制できる。そして、調停部本体１５の処理が終了する。この場合は、出力部１６は、調停後のコマンドの出力タイミングで、各コマンドを記憶装置２に出力する。
【００６８】
このように、調停部本体１５は、現時点から始まるサイクル周期Ｔ１（第１サイクル期間）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミングｔ２１が設定されている場合（Ｓ１：Ｙｅｓ）、現時点から後に連続する一定数のサイクル周期Ｔ１（第２サイクル期間）に、第１ＣＡＳコマンドの出力期間が設定されているか否かを判定する（Ｓ２）。そして、調停部本体１５は、その判定結果に基づいて、第１サイクル期間で、第２ＲＡＳコマンドを記憶装置２に出力するか否かを決定する（Ｓ３，Ｓ４）。このため、調停部本体１５は、第２ＲＡＳコマンドのコマンド長がサイクル周期Ｔ１の複数倍の長さであっても、第２ＲＡＳコマンドと第１ＣＡＳコマンドとを干渉しないように、最適なコマンド調停を行うことができる。すなわち、互いに異なるアクセス要求に対する第２ＲＡＳコマンド及び第１ＣＡＳコマンドの各々の出力タイミングを互いに干渉することなく設定できる。
【００６９】
（変形例）
上記の実施形態は、本開示の様々な実施形態の一つに過ぎない。上記の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。さらに、上記の実施形態に係る態様は、単体のコマンド制御システム１で具現化されることに限らない。例えば、コマンド制御システム１を備える車両、コマンド制御方法、及びプログラムで、上記の実施形態に係る態様が具現化されてもよい。
【００７０】
なお、上記の車両は、コマンド制御システムと、コマンド制御システムを搭載した車両本体と、を備えている。
【００７１】
また、上記のコマンド制御方法は、設定処理と、調停処理と、を備える。調停処理では、記憶装置２にアクセスするための第１アクセス要求及び第２アクセス要求を受け取る。調停処理では、サイクル周期Ｔ１が繰り返されるクロック信号ＣＬ１に基づいて、第１アクセス要求に対する第１ＲＡＳコマンド及び第１ＣＡＳコマンドの各々の出力タイミングを設定する。調停処理では、第２アクセス要求に対する第２ＲＡＳコマンド及び第２ＣＡＳコマンドの各々の出力タイミングを設定する。設定処理では、第１ＣＡＳコマンドの出力タイミングと第２ＲＡＳコマンドの出力タイミングとを調停する。第２ＲＡＳコマンドのコマンド長は、サイクル周期Ｔ１を複数倍した長さである。調停処理では、基準時点から始まる第１サイクル期間に、第２ＲＡＳコマンドの出力タイミングが設定されている場合、基準時点から後に連続する一定数のサイクル周期Ｔ１である第２サイクル期間に、第１ＣＡＳコマンドの出力タイミングが設定されているか否かに基づいて、第１サイクル期間に、第２ＲＡＳコマンドを記憶装置２に出力するか否かを決定する。
【００７２】
また、上記のプログラムは、上記のコマンド制御方法を少なくとも１つのプロセッサに実行させるためのプログラムである。
【００７３】
以下に説明する変形例は、適宜組み合わせて適用可能である。
【００７４】
（変形例１）
上記の実施形態では、図３のステップＳ２では、現時点のサイクル周期（１番目のサイクル周期）Ｔ１から数えて４番目までのサイクル周期Ｔ１のうちの「何れか１つ」のサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力タイミングが設定されているか否かを判定した。ただし、ステップＳ２で、第１サイクル期間（１番目のサイクル周期Ｔ１）から数えて４番目までのサイクル周期Ｔ１のうちの「少なくとも１つ」のサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力タイミングが設定されているか否かを判定してもよい。この場合は、その判定結果が肯定の場合（Ｓ２：Ｙｅｓ）、ステップＳ４では、第２ＲＡＳコマンドの出力タイミングは、第１サイクル期間から第４サイクル期間に変更される。第４サイクル期間は、上記の少なくとも１つのサイクル周期Ｔ１のうちの最後のサイクル周期Ｔ１に出力タイミングが設定された第１ＣＡＳコマンドの出力終了時点から始まるサイクル周期Ｔ１である。
【００７５】
なお、上記の最後のサイクル周期Ｔ１とは、上記の「少なくとも１つ」のサイクル周期Ｔ１が１つのサイクル周期Ｔ１である場合は、その１つのサイクル周期Ｔ１を意味し、上記の「少なくとも１つ」のサイクル周期Ｔ１が複数のサイクル周期Ｔ１である場合は、その複数のサイクル周期Ｔ１のうちの一番最後のサイクル周期Ｔ１を意味する。
【００７６】
すなわち、上記の「少なくとも１つ」のサイクル周期Ｔ１が１つのサイクル周期Ｔ１である場合は、本変形例での動作は、実施形態１の図３のフロ−チャートと同じ動作となる。また、上記の「少なくとも１つ」のサイクル周期Ｔ１が複数のサイクル周期Ｔ１である場合は、上記の１番目から４番目のサイクル周期Ｔ１のうちの複数のサイクル周期Ｔ１に第１ＣＡＳコマンドの出力タイミングが設定された場合である。すなわち、複数の第１ＣＡＳコマンドが設定されている場合である。この場合は、第２ＲＡＳコマンドの出力タイミングは、それら複数の第１ＣＡＳコマンドの後ろに回される。すなわち、第２ＲＡＳコマンドの出力タイミングは、それら複数の第１ＣＡＳコマンドのうちの一番最後の第１ＣＡＳコマンドの出力終了時点から始まるサイクル周期Ｔ１に変更される。上記の最後のサイクル周期Ｔ１とは、上記の一番最後の第１ＣＡＳコマンドの出力タイミングが設定されたサイクル周期Ｔ１である。
【００７７】
（変形例２）
上記の実施形態では、図２Ａに示すように、調停部４は、リードコマンドＲＤ１３（すなわち第１ＣＡＳコマンド）の出力タイミングｔ１３とアクティベイトコマンドＡＣＴ２１（すなわち第２ＲＡＳコマンド）の出力タイミングｔ２１とを調停する場合、リードコマンドＲＤ１３を優先する調停を行う。すなわち、調停部４は、リードコマンドＲＤ１３の出力タイミングｔ１３は変更せず、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１をリードコマンドＲＤ１３の出力終了時点から始まるサイクル周期Ｔ１９の開始時点に変更する。
【００７８】
この変形例では、調停部４は、リードコマンドＲＤ１３の出力タイミングｔ１３とアクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１とを調停する場合、アクティベイトコマンドＡＣＴ２１を優先する調停を行う。すなわち、設定部８によって、２つのリードコマンドＲＤ１２，ＲＤ１３との間のサイクル周期Ｔ１１〜Ｔ１５のうち、サイクル周期Ｔ１３にアクティベイトコマンドＡＣＴ２１の出力タイミングが設定され、サイクル周期Ｔ１５にリードコマンドＲＤ１３の出力タイミングｔ１３が設定された場合を想定する（図２Ａ参照）。この場合は、図４に示すように、調停部４は、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１は変更せず、リードコマンドＲＤ１３の出力タイミングｔ１３をアクティベイトコマンドＡＣＴ２１の出力終了時点から始まるサイクル周期Ｔ１７の開始時点に変更する。
【００７９】
より詳細には、調停部本体１５は、各サイクル周期Ｔ１で図５のフローチャートに従って調停を行う。図５のフローチャートは、現時点のサイクル周期Ｔ１で実行される処理を示す。
【００８０】
図５のステップＳ１〜Ｓ３，Ｓ５のうち、ステップＳ１〜Ｓ３は図３のステップＳ１〜Ｓ３と同じであるため、説明は省略し、ステップＳ５について説明する。
【００８１】
図５のステップＳ２の判定結果が肯定の場合（Ｓ２：Ｙｅｓ）、すなわち第２ＲＡＳコマンドとその次の第１ＣＡＳコマンドとが干渉する場合は、調停部本体１５の処理がステップＳ５に進む。ステップＳ５では、調停部本体１５は、第１ＣＡＳコマンドを、第２ＲＡＳコマンドの後ろに回す。すなわち、調停部本体１５は、第２ＲＡＳコマンドの出力タイミングは変更せず、第１ＣＡＳコマンドの出力タイミングを、設定部８で設定されたサイクル周期Ｔ１の開始時点から、第２ＲＡＳコマンドの出力終了時点から始まるサイクル周期Ｔ１の開始時点に変更する。
【００８２】
なお、ステップＳ２の判定結果が肯定（Ｙｅｓ）になるのは、第２情報Ｊ２の内容が例えば表１のサイクル周期Ｔ１２〜Ｔ１５の第２情報Ｊ２の内容のようになる場合である。例えば表１のサイクル周期Ｔ１３の場合は、例えば図４の場合である。図４に示すように、サイクル周期Ｔ１３が第１サイクル期間である場合は、５つのサイクル周期Ｔ１３〜Ｔ１７が第２サイクル期間となる。そして、第２サイクル期間のうちの３番目から５番目のサイクル周期Ｔ１５〜Ｔ１７には、第１ＣＡＳコマンドの出力期間が設定されている。このため、この場合は、ステップＳ５の処理が行われて、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）は、設定部８で設定されたサイクル周期Ｔ１５から、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力終了時点から始まるサイクル周期Ｔ１７に変更される。
【００８３】
これにより、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が遅れることを抑制できる。すなわち、ＲＡＳコマンド優先という観点で最適なコマンド調整を行うことができる。そして、調停部本体１５の処理が終了する。この場合は、出力部１６は、調停後のコマンドの出力タイミングで、各コマンドを記憶装置２に出力する。
【００８４】
なお、この変形例では、ステップＳ２では、現時点のサイクル周期（１番目のサイクル周期）Ｔ１から数えて４番目までのサイクル周期Ｔ１のうちの「何れか１つ」のサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力タイミングが設定されている否かを判定した。そして、この判定結果が肯定の場合（Ｓ２：Ｙｅｓ）、第１ＣＡＳコマンドの出力タイミングを、第２ＲＡＳコマンドの出力終了時点から始まるサイクル周期Ｔ１に変更した（Ｓ５）。
【００８５】
ただし、ステップＳ２で、現時点のサイクル周期Ｔ１から数えて４番目までのサイクル周期Ｔ１のうちの「少なくとも１つ」のサイクル周期Ｔ１に、第１ＣＡＳコマンドの出力タイミングが設定されているか否かを判定してもよい。この場合は、その判定結果が肯定の場合（Ｓ２：Ｙｅｓ）は、ステップＳ５では、上記の少なくとも１つのサイクル周期Ｔ１に設定された第１ＣＡＳコマンドの出力タイミングは、第２ＲＡＳコマンドの出力終了時点以降のサイクル周期Ｔ１に変更される。
【００８６】
（変形例３）
上記の実施形態において、図６に示すように、調停部４は、切替部１７を更に備えてもよい。切替部１７は、調停部本体１５の調停処理を、外部からの制御信号ＳＳ１で第１優先モードと第２優先モードとを選択的に切り替える。
【００８７】
第１優先モードは、ＣＡＳ優先モードである。すなわち、第１優先モードでは、調停部本体１５は、上記の実施形態の場合（例えば図２Ａ参照）と同様に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミングｔ１３と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミングｔ２１とを調停する。
【００８８】
図２Ａの例では、第１ＣＡＳコマンドの例としてリードコマンドＲＤ１３が示され、第２ＲＡＳコマンドの例としてアクティベイトコマンドＡＣＴ２１が示されている。設定部８によって、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１はサイクル周期Ｔ１３の開始時点に設定され、リードコマンドＲＤ１３の出力タイミングｔ１３はサイクル周期Ｔ１５に設定されている。
【００８９】
この場合、第１優先モードでは、調停部本体１５は、リードコマンドＲＤ１３の出力タイミングｔ１３は変更せず、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１を、設定部８で設定されたサイクル周期Ｔ１３から、リードコマンドＲＤ１３の出力終了時点から始まるサイクル周期Ｔ１９の開始時点に変更する。このように、アクティベイトコマンドＡＣＴ２１（すなわち第２ＲＡＳコマンド）は、リードコマンドＲＤ１３（すなわち第１ＣＡＳコマンド）の後ろに回される。
【００９０】
第２優先モードは、ＲＡＳ優先モードである。すなわち、第２優先モードでは、調停部本体１５は、図４に示すように、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミングｔ１３と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミングｔ２１とを調停する。
【００９１】
図４の例では、第１ＣＡＳコマンドの例としてリードコマンドＲＤ１３が示され、第２ＲＡＳコマンドの例としてアクティベイトコマンドＡＣＴ２１が示されている。設定部８によって、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１はサイクル周期Ｔ１３の開始時点に設定され、リードコマンドＲＤ１３の出力タイミングｔ１３はサイクル周期Ｔ１５に設定されている。
【００９２】
この場合、第２優先モードでは、調停部本体１５は、アクティベイトコマンドＡＣＴ２１の出力タイミングｔ２１は変更せず、リードコマンドＲＤ１３の出力タイミングｔ１３を、設定部８で設定されたサイクル周期Ｔ１５の開始時点から、アクティベイトコマンドＡＣＴ２１の出力終了時点から始まるサイクル周期Ｔ１７の開始時点に変更する。このように、リードコマンドＲＤ１３（すなわち第１ＣＡＳコマンド）は、アクティベイトコマンドＡＣＴ２１（すなわち第２ＲＡＳコマンド）の後ろに回される。
【００９３】
この変形例によれば、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）とを調停する場合、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）及び第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）のうちのどちらを優先するかを選択的に切り替えることができる。
【００９４】
（まとめ）
第１の態様に係るコマンド制御システム（１）は、設定部（８）と、調停部（４）と、を備えている。設定部（８）は、記憶装置（２）にアクセスするための第１アクセス要求及び第２アクセス要求を受け取る。設定部（８）は、サイクル周期（Ｔ１）が繰り返されるクロック信号（ＣＬ１）に基づいて、第１アクセス要求に対する第１ＲＡＳコマンド（例えばＡＣＴ１１）及び第１ＣＡＳコマンド（例えばＲＤ１３）の各々の出力タイミングを設定する。設定部（８）は、第２アクセス要求に対する第２ＲＡＳコマンド（例えばＡＣＴ２１）及び第２ＣＡＳコマンドの各々の出力タイミングを設定する。調停部（４）は、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）とを調停する。第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長は、サイクル周期（Ｔ１）を複数倍した長さである。調停部（４）は、基準時点から始まるサイクル周期（Ｔ１）である第１サイクル期間（例えばＴ１３）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されている場合、基準時点から後に連続する一定数のサイクル周期（Ｔ１）である第２サイクル期間（例えばＴ１３〜Ｔ１７）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かに基づいて、第１サイクル期間（Ｔ１３）で、第２ＲＡＳコマンド（例えばＡＣＴ２１）を記憶装置（２）に出力するか否かを決定する。
【００９５】
この構成によれば、調停部（４）は、基準時点から始まるサイクル周期（Ｔ１）である第１サイクル期間（例えばＴ１３）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されている場合、基準時点から後に連続する一定数のサイクル周期（Ｔ１）である第２サイクル期間（例えばＴ１３〜Ｔ１７）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かを判断できる。したがって、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長がサイクル周期（Ｔ１）を複数倍した長さであっても、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力によって、第２ＲＡＳコマンド（例えばＡＣＴ２１）の次に出力される第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が遅れることを抑制できる。
【００９６】
第２の態様に係るコマンド制御システム（１）では、第１の態様において、設定部（８）は、第１情報（Ｊ１）と、第２情報（Ｊ２）と、を調停部（４）に出力する。第１情報（Ｊ１）は、第１サイクル期間（例えばＴ１１）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されているか否かを表す。第２情報（Ｊ２）は、第２サイクル期間（例えばＴ１１〜Ｔ１５）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かを表す。
【００９７】
この構成によれば、第１サイクル期間（例えばＴ１１）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）を出力するか否かを調停部（４）が決定するために必要な情報である第１情報（Ｊ１）及び第２情報（Ｊ２）を、設定部（８）から調停部（４）に出力できる。これにより、調停部（４）は、上記の決定を適切に行うことができる。
【００９８】
第３の態様に係るコマンド制御システム（１）では、第１又は第２の態様において、一定数は、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長の取り得る最大の長さをサイクル周期（Ｔ１）で割った値よりも１大きい数である。
【００９９】
この構成によれば、調停部（４）は、基準時点から、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長の取り得る最大の長さよりも１サイクル周期（Ｔ１）先まで、各サイクル周期（Ｔ１）に第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かを判断できる。
【０１００】
第４の態様に係るコマンド制御システム（１）では、第１〜第３の態様のうちの何れか１つの態様において、第２サイクル期間（例えばＴ１１〜Ｔ１５）のうち、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されたサイクル周期（Ｔ１）を第３サイクル期間（例えばＴ１３）とする。調停部（４）は、第１サイクル期間（例えばＴ１１）に第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されている場合において、第２サイクル期間（例えばＴ１１〜Ｔ１５）における第３サイクル期間（例えばＴ１３）の位置に基づいて、第１サイクル期間（例えばＴ１１）で、第２ＲＡＳコマンド（例えばＡＣＴ２１）を記憶装置（２）に出力するか否かを決定する。
【０１０１】
この構成によれば、調停部（４）は、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）と第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）との間のサイクル周期（Ｔ１）の個数を正確に判断できる。これにより、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力による第１ＣＡＳコマンド（例えばＲＤ１３）の出力の遅れをより一層抑制できる。
【０１０２】
第５の態様に係るコマンド制御システム（１）では、第１〜第４の態様のうちの何れか１つの態様において、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長をサイクル周期（Ｔ１）のｍ倍（ｍは２以上の自然数）とする。調停部（４）は、第１サイクル期間（例えばＴ１３）に第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されており、かつ、第２サイクル期間（例えばＴ１３〜Ｔ１７）のうち、基準時点の側から数えてｍ番目までのサイクル周期（Ｔ１）のうちの少なくとも１つのサイクル周期（Ｔ１）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されている場合は、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）を、第１サイクル期間（例えばＴ１３）から、少なくとも１つのサイクル周期（Ｔ１）のうちの最後のサイクル周期（Ｔ１５）に出力タイミングが設定された第１ＣＡＳコマンド（例えばＲＤ１３）の出力終了時点から始まるサイクル周期（Ｔ１）である第４サイクル期間（Ｔ１９）に変更する。
【０１０３】
この構成によれば、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）と第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）とを調停する場合、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）を遅らせずに、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）と第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）とを調停できる。
【０１０４】
第６の態様に係るコマンド制御システム（１）では、第１〜第４の態様のうちの何れか１つの態様において、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長をサイクル周期（Ｔ１）のｍ倍（ｍは２以上の自然数）とする。調停部（４）は、第１サイクル期間（例えばＴ１３）に第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されており、かつ、第２サイクル期間（例えばＴ１３〜Ｔ１７）のうち、基準時点の側から数えてｍ番目までのサイクル周期（例えばＴ１３〜Ｔ１７）のうちの少なくとも１つのサイクル周期（例えばＴ１３）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されている場合は、少なくとも１つのサイクル周期（例えばＴ１３）に設定された第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）を、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力終了時点以降のサイクル周期（例えばＴ１７）に変更する。
【０１０５】
この構成によれば、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）と第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）とを調停する場合、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）を遅らせずに、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）と第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）とを調停できる。
【０１０６】
第７の態様に係るコマンド制御システム（１）では、第１〜第６の態様のうちの何れか１つの態様において、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長をサイクル周期（Ｔ１）のｍ倍（ｍは２以上の自然数）とする。調停部（４）は、第１サイクル期間（例えばＴ１１）に第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されており、かつ、第２サイクル期間（例えばＴ１１〜Ｔ１５）のうち、基準時点の側から数えてｍ番目までのサイクル周期（例えばＴ１１〜Ｔ１４）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されていない場合は、第１サイクル期間（例えばＴ１１）で、第２ＲＡＳコマンド（例えばＡＣＴ２１）を記憶装置（２）に出力する。
【０１０７】
この構成によれば、第２ＲＡＳコマンド（例えばＡＣＴ２１）とその次に出力される第１ＣＡＳコマンド（例えばＲＤ１３）との両方を遅らせずに、第２ＲＡＳコマンド（例えばＡＣＴ２１）を記憶装置（２）に出力できる。
【０１０８】
第８の態様に係るコマンド制御システム（１）では、第１〜第７の態様のうちの何れか１つの態様において、調停部（４）は、第１優先モードと第２優先モードとを選択的に切り替える切替部（１７）機能を有する。第１優先モードでは、調停部（４）は、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）とを調停する場合、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）は変更せず、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）を、設定部（８）で設定されたサイクル周期（例えばＴ１３）から、第１ＣＡＳコマンド（例えばＲＤ１３）の出力終了時点から始まるサイクル周期（Ｔ１９）に変更する。第２優先モードでは、調停部（４）は、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）とを調停する場合、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）は変更せず、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）を、設定部（８）で設定されたサイクル周期（例えばＴ１５）から、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力終了時点から始まるサイクル周期（例えばＴ１７）に変更する。
【０１０９】
この構成によれば、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）とを調停する場合、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）及び第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）のうちのどちらを優先するかを選択的に切り替えることができる。
【０１１０】
第９の態様に係る車両は、第１〜第８の態様の何れかの態様のコマンド制御システム（１）と、車両本体と、備えている。車両本体は、コマンド制御システムを搭載している。
【０１１１】
この構成によれば、コマンド制御システム（１）を搭載した車両を提供できる。
【０１１２】
第１０の態様に係る機器制御方法は、設定処理と、調停処理と、を備えている。設定処理では、記憶装置（２）にアクセスするための第１アクセス要求及び第２アクセス要求を受け取る。設定処理では、サイクル周期（Ｔ１）が繰り返されるクロック信号（ＣＬ１）に基づいて、第１アクセス要求に対する第１ＲＡＳコマンド（例えばＡＣＴ１１）及び第１ＣＡＳコマンド（例えばＲＤ１３）の各々の出力タイミングを設定する。設定処理では、第２アクセス要求に対する第２ＲＡＳコマンド（例えばＡＣＴ２１）及び第２ＣＡＳコマンドの各々の出力タイミングを設定する。調停処理では、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）と第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）とを調停する。第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長は、サイクル周期（Ｔ１）を複数倍した長さである。調停処理では、基準時点から始まる第１サイクル期間（例えばＴ１３）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されている場合、基準時点から後に連続する一定数のサイクル周期（Ｔ１）である第２サイクル期間（例えばＴ１３〜Ｔ１７）に、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かに基づいて、第１サイクル期間（例えばＴ１３）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）を記憶装置（２）に出力するか否かを決定する。
【０１１３】
この構成によれば、調停処理では、基準時点から始まる第１サイクル期間（例えばＴ１３）に、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力タイミング（例えばｔ２１）が設定されている場合、基準時点から後に連続する一定数のサイクル周期である第２サイクル期間（例えばＴ１３〜Ｔ１７）まで、第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が設定されているか否かを判断できる。したがって、第２ＲＡＳコマンド（例えばＡＣＴ２１）のコマンド長がサイクル周期（Ｔ１）を複数倍した長さであっても、第２ＲＡＳコマンド（例えばＡＣＴ２１）の出力によって、次に出力される第１ＣＡＳコマンド（例えばＲＤ１３）の出力タイミング（例えばｔ１３）が遅れることを抑制できる。
【０１１４】
第１１の態様に係るプログラムは、第１０の態様に係るコマンド制御方法を少なくとも１つのプロセッサに実行させるためのプログラムである。
【０１１５】
この構成によれば、上記のコマンド制御方法を少なくとも１つのプロセッサに実行させるためのプログラムを提供できる。
【符号の説明】
【０１１６】
１  コマンド制御システム
２  記憶装置
４  調停部
８  設定部
１７  切替部
ＡＣＴ１１  アクティベイトコマンド（第１ＲＡＳコマンド）
ＡＣＴ２１  アクティベイトコマンド（第２ＲＡＳコマンド）
ＣＬ１  クロック信号
Ｊ１  第１情報
Ｊ２  第２情報
ＲＤ１３  リードコマンド（第１ＣＡＳコマンド）
ｔ２１，ｔ１３  出力タイミング
Ｔ１，Ｔ１３〜Ｔ１７  サイクル周期
【図１】
2020057110.tif 000004
【図２】
2020057110.tif 000005
【図３】
2020057110.tif 000006
【図４】
2020057110.tif 000007
【図５】
2020057110.tif 000008
【図６】
2020057110.tif 000009