(57)【要約】【課題】  ＤＭＡ転送を用いてＣＡＮモジュールの受信メッセージの信頼性をさらに確保するとともに、高速なデータ読出が可能な情報処理装置を提供する。【解決手段】  ＣＡＮモジュール２５は、ＣＡＮバス１５からメッセージを受信してメッセージボックス４５のメッセージボックスユニットに格納する。メッセージボックスユニットから受信要求信号がＤＭＡＣ／ＩＦ４０に出力される。ＤＭＡＣ／ＩＦ４０は、転送要求信号とともに７ビットの要求アドレスを出力する。ＤＭＡＣ３０は、転送要求信号および７ビットの要求アドレスに基づいてＣＡＮモジュール２５の選択されたメッセージボックスユニットおよびメモリ３５をアクセスして選択されたメッセージボックスユニットに格納されたメッセージをメモリ３５に転送する。【選択図】        図１
2006302128.tif 000002
【特許請求の範囲】
【請求項１】
主記憶メモリと、
システム用のＣＰＵと、
前記主記憶メモリおよび前記ＣＰＵと接続された高速度のシステムバスと、
少なくとも１つのメッセージを受信して一時的に格納するメッセージボックスと、
前記ＣＰＵとは独立に動作し、前記メッセージボックスに受信されたメッセージを転送するために前記主記憶メモリにアクセス可能なメモリアクセス制御回路と、
前記メッセージボックスと接続され、前記メッセージが伝送される低速度のバスとを備え、
前記メッセージボックスは、前記メッセージを受信した際には、メッセージ受信要求指示を出力し、
前記メモリアクセス制御回路は、前記メッセージ受信要求指示に応答して受信した前記メッセージボックスに格納されたメッセージを前記主記憶メモリに対して転送するように前記メッセージボックスおよび前記主記憶メモリに対してアクセスする、情報処理装置。
【請求項２】
前記メッセージボックスは、ｎ個のメッセージを受信してそれぞれ一時的に格納するｎ個のメッセージボックスユニットを含み、
メモリアクセス制御回路は、
ｎ個のメッセージの受信状況に応じて前記メッセージボックスの前記ｎ個のメッセージボックスユニットから格納状況に応じて出力されるｎ個のメッセージ受信要求指示信号を受けるインターフェース部と、
前記インターフェース部で受信される前記ｎ個の受信要求指示信号に基づいて前記複数のメッセージボックスユニットの選択された一つのメッセージボックスユニットに対して前記受信したメッセージを前記主記憶メモリの転送用の前記選択されたメッセージボックスに対応するメモリ領域に転送するように前記メッセージボックスおよび前記主記憶メモリに対してアクセスするアクセス部とを含み、
前記インターフェース部は、前記ｎ個のメッセージ受信要求指示信号に基づいて前記複数のメッセージボックスユニットにそれぞれ対応付けられ、前記複数のメッセージボックスユニットのうちの選択されたメッセージボックスユニットを示すｐ（２p≧ｎ＞２p-1）ビットのアドレスに変換して前記アクセス部に出力する、請求項１記載の情報処理装置。
【請求項３】
前記インターフェース部は、
指示に応答してカウントアップするｐビットのラウンドロビンカウンタと、
前記ラウンドロビンカウンタから出力されたカウントアップされたｐビットのアドレスを受けて、ｎ個のメッセージ要求指示信号の中から１個のメッセージ要求指示信号を選択するセレクタと、
前記ラウンドロビンカウンタから出力されたｐビットのアドレスを保持するとともに前記アクセス部に出力するレジスタとを含む、請求項２記載の情報処理装置。
【請求項４】
前記インターフェース部は、前記ｎ個のメッセージ要求指示信号に基づいて優先順位の高いｐビットのアドレスを生成するプライオリティエンコーダを含む、請求項２記載の情報処理装置。
【請求項５】
前記インターフェース部は、
指示に応答してカウントアップ信号を出力するカウンタを含み、前記カウントアップ信号に応答して格納されている複数のｐビットのアドレスを順番に一つずつ出力するレジスタ部と、
前記レジスタ部から出力されるｐビットのアドレスを受けて、ｎ個のメッセージ要求指示信号の中から１個のメッセージ要求指示信号を選択するセレクタと、
前記レジスタ部から出力されたｐビットのアドレスを保持するとともに前記アクセス部に出力するレジスタとを含む、請求項２記載の情報処理装置。
【請求項６】
前記メモリアクセス制御回路は、前記ＣＰＵが前記主記憶メモリに転送されたメッセージのアクセスの可否を判断するセマフォ値を格納するセマフォ格納部を含み、
前記セマフォ格納部のセマフォ値は、前記メッセージボックスに格納されたメッセージが前記主記憶メモリに対して転送された場合に前記ＣＰＵのアクセスの許可を示す第１の値に設定され、
前記ＣＰＵが前記主記憶メモリに転送された受信したメッセージをアクセスした場合に、前記セマフォ格納部の前記セマフォ値は、前記ＣＰＵのアクセスの不許可を示す第２の値に設定される、請求項１記載の情報処理装置。
【請求項７】
前記メモリアクセス制御回路は、前記メッセージボックスに格納されたメッセージが前記主記憶メモリに対して転送された場合には、前記メッセージボックスに格納されたメッセージをクリアする指示を出力する、請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のデータ転送制御に関し、特にダイレクトメモリアクセス（Direct Memory Access）制御方式に関するものである。
【背景技術】
【０００２】
従来、中央処理装置と、主記憶装置と、Ｉ／Ｏ機器とがバスを介して接続された情報処理装置において、Ｉ／Ｏ機器との間でデータ転送が発生した場合、中央処理装置が、Ｉ／Ｏ機器に対して指示を出して、バスを介してＩ／Ｏ機器からの情報を主記憶装置に転送する処理を行なっていた。
【０００３】
このような場合、中央処理装置（ＣＰＵ）は、常に配下のＩ／Ｏ機器を監視して、そのデータ転送動作が完了するまで待機しておかなければならず、ＣＰＵの負荷が大きくなるとともにシステム全体の性能が低下してしまう可能性がある。そこで、近年においては、データ転送制御に関し、Ｉ／Ｏ機器からＣＰＵを介さず直接主記憶装置にアクセスしてデータを転送するダイレクトメモリアクセス制御方式（以下、単にＤＭＡとも称する）が採用されてきた。
【０００４】
特許文献１〜３には、主記憶装置へのデータ転送において、高効率またシステム全体の性能を向上するＤＭＡを採用した情報処理装置が開示されている。
【０００５】
一方で、Ｉ／Ｏ機器の１つとしてＣＡＮ（Controller Area Network）モジュールが注目されている。ＣＡＮモジュールは、主に車載機器等で用いられており信頼性と安全性が高い情報データ通信が可能な点が特徴となっている。
【０００６】
従来のＣＡＮモジュールは、ＣＡＮモジュール内に設けられたメモリであるメッセージボックスにバスを介して受信されたメッセージが格納される構成が一般的であった。
【０００７】
したがって、ＣＰＵは、ＣＡＮモジュールにメッセージの受信が確認された場合には、割込通知により、ＣＰＵからメッセージボックスに直接アクセスする方式が採用されていた。メッセージ情報は、一度ＣＰＵからのアクセスにより読出が行なわれれば削除されるものであるためＣＡＮモジュール内のメモリから主記憶装置に転送する構成は採用されていなかった。
【特許文献１】特開２０００−１４８６６１号公報
【特許文献２】特開平１１−０８５６８３号公報
【特許文献３】特開平６−１６１９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記したように、ＣＰＵは、ＣＡＮモジュール内のメモリに直接アクセスする方式を採用していたため、ＣＰＵからの読出が行なわれなかった場合には次の受信メッセージによりメッセージボックスのオーバーライトが生じるという問題があった。
【０００９】
また、ＣＡＮモジュールからＣＰＵまでのアクセスには、低速の周辺バス経由で受信メッセージの読出が行なわれていたため読出が非常に遅いという問題もあった。
【００１０】
本発明は、上記のような問題を解決するためになされたものであって、ＤＭＡ転送を用いてＣＡＮモジュールの受信メッセージの信頼性をさらに確保するとともに、高速なデータ読出が可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明にかかる情報処理装置は、主記憶メモリと、システム用のＣＰＵと、主記憶メモリおよびＣＰＵと接続された高速度のシステムバスと、少なくとも１つのメッセージを受信して一時的に格納するメッセージボックスと、ＣＰＵとは独立に動作し、メッセージボックスに受信されたメッセージを転送するために主記憶メモリにアクセス可能なメモリアクセス制御回路と、メッセージボックスと接続され、メッセージが伝送される低速度のバスとを備える。メッセージボックスは、メッセージを受信した際には、メッセージ受信要求指示を出力する。メモリアクセス制御回路は、メッセージ受信要求指示に応答して受信したメッセージボックスに格納されたメッセージを主記憶メモリに対して転送するようにメッセージボックスおよび主記憶メモリに対してアクセスする。
【発明の効果】
【００１２】
本発明にかかる情報処理装置のメッセージボックスは、メッセージを受信した際には、メッセージ受信要求指示を出力し、メモリアクセス制御回路は、メッセージ受信要求指示に応答して受信したメッセージを主記憶メモリに対して転送する。したがって、メッセージボックスに格納されたメッセージを主記憶メモリに退避させることができるためＣＰＵにアクセスされない場合にオーバーライトが生じる問題を回避し、メッセージの信頼性を確保することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰返さない。
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１に従う情報処理装置の概略ブロック図である。
【００１５】
図１を参照して、本発明の実施の形態に従う情報処理装置は、中央処理装置１と、主記憶装置であるメモリ３５と、中央処理装置およびメモリ３５とを接続する高速バスであるＣＰＵバス５と、ＣＰＵバス５と接続されＤＭＡ転送を実行するためのＤＭＡＣユニット３０と、低速の外部機器とのデータ転送等に用いられる周辺バス１０と、周辺バス１０とＣＰＵバス５との接続を制御するバスコントローラ（ＢＳＣ）２０と、極めて低速でメッセージ情報が伝達されるＣＡＮバス１５と、周辺バス１０を介してＣＰＵバス５と接続されるとともにＣＡＮバス１５からのメッセージ情報を受信して格納するＣＡＮモジュール２５とを備える。また、ＣＡＮモジュール２５からの受信要求信号等を受信して、ＤＭＡ転送を行なうための制御信号等をＤＭＡＣユニット３０に出力するＤＭＡＣインターフェイス（ＤＭＡＣ／ＩＦ）４０をさらに備える。
【００１６】
ＣＡＮモジュール２５とＤＭＡＣ／ＩＦ４０とは信号線を用いて直接接続され、ＤＭＡＣユニット３０とＤＭＡＣ／ＩＦも信号線を用いて直接接続された構成となっている。
【００１７】
ＣＡＮモジュール２５は、メモリであるメッセージ情報が格納されるメッセージボックス４５を含み、図示しないがメッセージボックス４５は、９６のメッセージを各々格納可能な９６個のメッセージボックスユニットで構成されているものとする。このメッセージボックスユニットには、それぞれのメッセージボックスユニットの識別となるＩＤアドレスが割当てられており、ＣＡＮバス１５を介して受信されるメッセージ情報に含まれるＩＤアドレスとを比較して一致したＩＤアドレスに対応するメッセージボックスユニットに対してメッセージが受信されるように構成されている。
【００１８】
また、９６個のメッセージボックスユニットには、それぞれ受信完了フラグが対応付けられている。上述したようにＣＡＮバス１５を介して伝送されたメッセージ情報を受信した際には、ＩＤアドレスの認証が行なわれて、９６のメッセージボックスユニットのうちの対応するメッセージボックスユニットにメッセージが格納される。その際に対応する受信完了フラグがたとえば「１」に設定されるものとする。また、未格納状態のメッセージボックスユニットの受信完了フラグはたとえば「０」に設定されているものとする。このフラグを示す値はこれに限られず、たとえばその反対の値に設定することも可能である。
【００１９】
そして、ＣＡＮモジュール２５において、メッセージボックス４５のメッセージボックスユニットにメッセージが格納された際には、当該受信完了フラグが「１」に設定されてそれに基づいて受信要求信号がＤＭＡＣ／ＩＦ４０に出力される。各メッセージボックスユニットに対応して受信要求信号が出力されるため９６ビットの受信要求信号がＤＭＡＣ／ＩＦ４０に出力される。なお、後述するがＤＭＡＣ／ＩＦ４０からは、９６ビットの要求クリア信号がＣＡＮモジュール２５に出力される。この要求クリア信号に基づいて対応するメッセージボックスユニットが格納しているメッセージがクリアされる。
【００２０】
ＤＭＡＣ／ＩＦ４０は、ＣＡＮモジュール２５から伝達された受信要求信号を受けて、これに基づいて転送要求信号をＤＭＡＣユニット３０に出力する。また、ＤＭＡＣ／ＩＦは、受信要求信号が出力された対応するメッセージボックスユニットに対応するＩＤアドレスを生成して要求アドレスとしてＤＭＡＣユニット３０に出力する。なお、後述するがＤＭＡＣ／ＩＦ４０は、ＤＭＡＣユニット３０からの受付完了信号の入力を受けて要求クリア信号をＣＡＮモジュール２５に出力する。
【００２１】
ＤＭＡＣユニット３０は、ＤＭＡＣ／ＩＦ４０から受けた転送要求信号および７ビットの要求アドレスに基づいて転送動作を開始する。具体的には、ＤＭＡＣユニット３０は、７ビットの要求アドレスに基づいてＣＡＮモジュール２５のメッセージボックス２５のＩＤアドレスと一致するメッセージボックスユニットにアクセスし、当該メッセージボックスユニットに格納されたメッセージの転送動作を開始する。その際には、バスコントローラ２０を制御して周辺バス１０およびＣＰＵバス５を介してＣＡＮモジュール２５からＤＭＡＣユニット３０に転送されるように制御する。そして、ＤＭＡＣユニット３０は、ＤＭＡＣユニット３０に転送されてきたメッセージボックスユニットのメッセージをメモリ３５に直接アクセスすることによりデータ書込を行なう。メモリ３５は、メッセージボックス４５のための所定の記憶領域を有している。また、当該所定の記憶領域に、各メッセージボックスユニットのメッセージがそれぞれ格納される。
【００２２】
メモリ３５の所定の記憶領域に書込まれたメッセージボックスユニットのメッセージは、ＣＰＵ１に読み出される（アクセス）されるまでデータ保持された状態を維持する。ＣＰＵ１がアクセスした後は、メッセージは不要であるためメモリ３５からクリアされる。
【００２３】
ＣＰＵ１は、メモリ３５に格納されたメッセージボックスユニットのメッセージをアクセス可能かどうかの判断をＤＭＡＣユニット３０の後述するセマフォ格納部４６をアクセスして、そこに書込まれた情報に基づいて判断する。
【００２４】
セマフォ格納部４６は、９６ビットのセマフォ値を有する。９６ビットのセマフォ値は、９６個のメッセージボックスユニットにそれぞれ対応している。ＣＰＵ１は、このセマフォ格納部４６の対応するセマフォ値を判断することにより、上記のメモリ３５の所定の記憶領域に書込まれたメッセージボックスユニットのメッセージにアクセスするかどうかを判断する。また、当該セマフォ値は、ＤＭＡＣユニット３０がメモリ３５に対して書込可能かどうかの判断情報ともなる。
【００２５】
具体的には、セマフォ値が「０」の場合には、ＤＭＡＣユニット３０がメモリ３５に対して書込可能状態であり、ＣＰＵ１は、読出不能状態とされる。一方、セマフォ値が「１」の場合には、読出が未だ完了していないことを示すためＤＭＡＣ／ＩＦは、次の受信完了ビットのスキャンを再開する。
【００２６】
また、ＤＭＡＣユニット３０は、メモリ３５への転送動作が完了した後は、受付完了信号をＤＭＡＣ／ＩＦ４０に出力する。ＤＭＡＣ／ＩＦ４０は、ＤＭＡＣユニット３０からの受付完了信号に応答して、要求クリア信号をＣＡＮモジュール２５に出力する。ＣＡＮモジュール２５は、ＤＭＡＣ／ＩＦ４０からの要求クリア信号を受けて選択されたメッセージボックスユニットに対応した受信完了フラグを「０」にクリアする。
【００２７】
図２は、本発明の実施の形態１に従うＣＡＮモジュール２５およびＤＭＡＣ／ＩＦ４０との関係を説明する概念図である。
【００２８】
図２を参照して、本発明の実施の形態１に従うＤＭＡＣ／ＩＦ４０は、７ビットのアドレスをカウントアップして生成するラウンドロビンカウンタ１０１と、ラウンドロビンカウンタ１０１で生成された７ビットのアドレスに基づいて９６ビットの受信要求信号の対応する１ビットの受信要求信号を選択するセレクタ１００と、セレクタ１００の選択動作に基づいて選択された受信要求信号の入力を受ける制御回路１０３と、ラウンドロビンカウンタ１０１によりカウントアップされた７ビットのアドレスを保持する受信アドレスレジスタ１０４と、受信アドレスレジスタ１０４からの７ビットのアドレスをデコードして９６ビットの要求クリア信号として出力するデコーダ１０２とを含む。
【００２９】
制御回路１０３は、セレクタ１００からの選択された受信要求信号に応答してＤＭＡＣユニット３０に対して転送要求信号を出力する。また、制御回路１０３は、セレクタ１００から入力された受信要求信号に応答して受信アドレスレジスタ１０４に保持された７ビットのアドレスを要求アドレスとしてＤＭＡＣユニット３０に出力するように制御する。また、制御回路１０３は、ＤＭＡＣユニット３０からの受付完了信号に応答して受信アドレスレジスタ１０４に保持された７ビットのアドレスをデコーダ１０２に出力するように制御する。デコーダ１０２は、受信アドレスレジスタ１０４から受けた７ビットのアドレスに基づいてデコードして要求クリア信号をメモリ４５に出力する。たとえば、９６ビットのうちの１本の指示信号線に対応する要求クリア信号が「１」に設定されて、メッセージボックス４５の選択されたメッセージボックスユニットの受信完了フラグが「０」に設定される。これにより、当該メッセージボックスユニットは、ＣＡＮバス１５を介してメッセージの受信可能状態となる。
【００３０】
図３は、本発明の実施の形態１に従うＤＭＡＣユニット３０の概略ブロック図である。
【００３１】
図３を参照して、本発明の実施の形態１に従うＤＭＡＣユニット３０は、制御部５５と、セマフォ格納部５０と、転送制御部６０とを含む。
【００３２】
制御部５５は、ＤＭＡＣ／ＩＦ４０からの転送要求信号および要求アドレスを受けて、ＤＭＡ転送のための起動情報であるＤＭＡ転送起動情報をＣＡＮモジュール２５に出力する。このＤＭＡ転送起動情報は、ＤＭＡ転送のためのトリガ等の信号およびアドレスを含んでおり、ＣＡＮモジュール２５は、当該ＤＭＡ転送起動情報を受けて、選択されたメッセージボックスユニットのメッセージを周辺バス１０およびＣＰＵバス５を介してＤＭＡＣユニット３０に出力する。
【００３３】
転送制御部６０は、ＣＡＮモジュール２５からのメッセージを受けて、さらにＣＰＵバスを介してメモリ３５に書込まれるように出力する。
【００３４】
セマフォ格納部５０は、上述したように９６個のメモリセルボックスユニットにそれぞれ対応する９６個のセマフォ値を有する。ＣＰＵ１は、セマフォ格納部４６にアクセスし、セマフォチェックを実行する。具体的には、ＣＰＵ１は、チェックしたセマフォ値に対応するメモリセルボックスユニットのメッセージをメモリ３５に対してアクセス可能かどうかを判断する。上述したように、セマフォ値が「０」の場合には、有効なメッセージは無しとされる。一方、セマフォ値が「１」の場合には、ＣＰＵ１は読出可能な状態とされる。そして、ＣＰＵ１は、チェックしたセマフォ値に対応するメモリセルボックスユニットのメッセージをメモリ３５に対してアクセスした場合には、当該セマフォ値をクリアする。すなわち、セマフォ値を「１」から「０」に設定する（セマフォクリア）。
【００３５】
また、制御部５５は、セマフォ格納部５０に格納されているセマフォ値をチェックする。具体的には、セマフォ値に対応するメモリ３５の所定の記憶領域にメッセージボックスユニットのメッセージの書込が可能であるかどうかを判断する（セマフォチェック）。既にＣＰＵ１によりメッセージが読まれた後かどうかを確認するためである。たとえば、セマフォ値が「０」の場合には、制御部５５は、メモリ３５の所定の記憶領域に対して書込可能状態であると判断する。一方、セマフォ値が「１」の場合には制御部５５は、メモリの所定の記憶領域に対して書込不能状態であると判断する。制御部５５は、このセマフォ値のチェックに基づいてＤＭＡ転送起動情報を出力するかどうかを判断する。仮にセマフォ値が「１」の場合には、転送を開始せずＤＭＡＣ／ＩＦ４０によるスキャンを再開する。
【００３６】
一方、制御部５５は、仮にセマフォ値が「０」の場合に転送要求信号が入力された場合には、ＤＭＡ転送起動情報を出力するとともに、ＣＡＮモジュール２５から転送されるメッセージについて転送制御部６０を制御してメモリ３５へ出力する。転送制御部６０は、メモリ３５への転送が完了したことを制御部５５に通知し、制御部５５は、それを受けて格納したメッセージについて対応するメッセージボックスユニットのセマフォ値を「１」に設定する（セマフォセット）。これにより、メモリ３５へ転送されたメッセージはセマフォ格納部４６によりロックされるためオーバーライトされることがなく、従来のＣＡＮモジュールで実行していた受信されたメッセージ読出後のオーバーライトフラグの確認を実行する必要がなくなる。
【００３７】
図４は、本発明の実施の形態１に従うメッセージボックスユニットに格納されたメッセージのデータ転送について説明するフローチャート図である。
【００３８】
図４を参照して、本発明の実施の形態１に従うデータ転送について説明する。
【００３９】
ＣＡＮバス１５を介してメッセージが伝送される（スタート）（ステップＳ０）。ＣＡＮモジュール２５のメモリ４５において、メッセージが受信される（ステップＳ１）。次にメッセージボックス４５のＩＤアドレスが一致するメッセージボックスユニットに格納される。これに応答してメッセージボックスユニットに対応する受信完了フラグが「１」に設定される（ステップＳ２）。これにより、受信完了フラグが「１」に設定されたメッセージボックスユニットからＤＭＡＣ／ＩＦ４０に受信要求信号が出力される（受信要求指示）（ステップＳ３）。
【００４０】
ＤＭＡＣ／ＩＦ４０は、ＣＡＮモジュール２５から受信要求信号を受信する。セレクタ１００は、上述したようにラウンドロビンカウンタ１０１から出力されたアドレスに基づいて選択された受信要求信号を制御回路１０３に出力する。制御回路１０３は、セレクタ１００により選択された受信要求信号を受けて転送要求信号をＤＭＡＣユニット３０に出力するとともに、受信アドレスレジスタ１０４に指示して７ビットの要求アドレスを出力する（転送要求指示）（ステップＳ４）。
【００４１】
ＤＭＡＣユニット３０は、転送要求信号および要求アドレスを受けてＤＭＡ転送を開始する（ステップＳ５）。具体的には、制御部５５は、まず、セマフォ格納部５０のセマフォ値をチェックして、セマフォ値が「０」であるかどうかを判断する（セマフォチェック）。セマフォ値が「１」であるならば、上述したように対応する所定の記憶領域にメッセージを書込むことはできないからである。
【００４２】
制御部５５は、セマフォ値が「０」であると判断した場合には、ＤＭＡ転送起動情報をＣＡＮモジュール２５に出力する。ＤＭＡ転送起動情報に含まれるアドレスに基づいて選択されたメッセージボックスユニットから周辺バス１０およびＣＰＵバス５を介してＤＭＡＣユニット３０の転送制御部６０に送られる。そして、転送制御部６０を介してメモリ３５の所定の記憶領域にメッセージが格納される。
【００４３】
これによりＤＭＡ転送が完了する（ステップＳ６）。転送制御部６０は、ＤＭＡ転送の完了を制御部５５に通知する。制御部５５は、転送制御部６０からの転送完了の通知に応答してセマフォ格納部５０の対応するセマフォ値を「１」に設定する（セマフォセット）（ステップＳ７）。
【００４４】
そして、制御部５５は、受付完了信号をＤＭＡＣ／ＩＦ４０に出力する（受付完了指示）（ステップＳ８）。ＤＭＡＣ／ＩＦ４０の制御回路１０３は、ＤＭＡＣユニット３０からの受付完了信号に応答して受信アドレスレジスタ１０４を制御して保持しているアドレスをデコーダ１０２に出力するように指示する。
【００４５】
デコーダ１０２は、受信アドレスレジスタ１０４から出力されたアドレス信号に基づいて要求クリア信号を生成して指示信号線を介してメッセージボックス４５に出力する（要求クリア指示）（ステップＳ９）。
【００４６】
メッセージボックス４５は、ＤＭＡＣ／ＩＦ４０から出力された要求クリア信号に応答して対応する受信完了フラグを「０」に設定する（ステップＳ１０）。
【００４７】
これにより、また再びＣＡＮバス１５を介して新たなメッセージの受信が可能となる（ステップＳ１１）。
【００４８】
本発明の実施の形態１の構成においては、ＣＡＮモジュール２５に格納されたメッセージボックスユニットの情報を主記憶メモリであるメモリ３５に一旦退避させることによりダブルバッファとし、ＣＡＮバス１５を介して伝達される新たなメッセージにより上書きされて前のメッセージが消去されることなく、データの保全が可能である。また主記憶メモリであるメモリ３５に退避させることにより、ＣＰＵ１が主記憶メモリ３５をアクセスすることによってメッセージ情報を取得可能であるため高速なアクセスであるデータ読出が可能である。
【００４９】
本発明の実施の形態１に従うＣＡＮモジュール２５の受信要求信号は、ここではたとえば９６ビットとして説明しているが、受信要求信号と要求クリア信号との信号線すなわちいわゆるハンドシェイク信号線を準備する必要があるため合計１９２本のハンドシェイク信号線が必要となる。
【００５０】
これは、ポート／面積増加に繋がり、ＣＡＮモジュール２５とＤＭＡＣユニット３０とを別チップに配置する場合にポートネックが生じる可能性がある。
【００５１】
そこで、ラウンドロビンカウンタを用いたＤＭＡＣ／ＩＦ４０により受信要求信号あるいは要求クリア信号に応答してメッセージボックスユニットの対応するアドレスを７ビットとしてＤＭＡＣユニット３０に出力するため信号線は７本に削減することが可能となる。
【００５２】
また、本発明の実施の形態１においてはラウンドロビンカウンタを用いて一定時間ずつ順番にアドレスを出力する構成であるため、処理の優先順位は平等に扱うことが可能である。
【００５３】
（実施の形態２）
図５は、本発明の実施の形態２に従うＤＭＡＣ／ＩＦ４０♯を説明する図である。
【００５４】
図５を参照して、本発明の実施の形態２に従うＤＭＡＣ／ＩＦ４０♯は、ラウンドロビンカウンタを用いた構成ではなくプライオリティエンコーダ部１１０を設けた構成である。
【００５５】
具体的には、図２で説明したＤＭＡＣ／ＩＦ４０と比較して、セレクタ１００およびラウンドロビンカウンタ１０１の代わりにプライオリティエンコーダ部１１０を設けた構成である。
【００５６】
プライオリティエンコーダ部１１０は、９６ビットの受信要求信号を受けて優先順位に基づく優先されたアドレスを生成して受信アドレスレジスタ１０４に出力する。受信アドレスレジスタ１０４は、プライオリティエンコーダ部１１０から出力されたアドレスを受けて保持する。また、プライオリティエンコーダ部１１０は、メッセージボックスユニットからの受信要求信号に応答して制御回路１０３に通知する。制御回路１０３は、プライオリティエンコーダ部１１０からの受信通知に応答して転送要求信号をＤＭＡＣユニット３０に出力する。また、制御回路１０３は、転送要求信号とともに受信アドレスレジスタ１０４を制御して７ビットのアドレスをＤＭＡＣユニット３０に出力する。
【００５７】
制御回路１０３の動作については図２で説明したのと同様であるのでその詳細な説明は繰返さない。
【００５８】
本例においては、プライオリティエンコーダ部１１０を用いて優先順位の付されたアドレスに対応する受信要求信号の受信があった場合には、そのメッセージを優先して転送動作を実行することにより、予め定まっているメッセージボックスユニットの優先順位を考慮して転送動作を実行することが可能である。
【００５９】
図６は、本発明の実施の形態２の変形例に従うＤＭＡＣ／ＩＦ４０♯ａを説明する図である。
【００６０】
図６を参照して、本発明の実施の形態２の変形例に従うＤＭＡＣ／ＩＦ４０♯ａは、ラウンドロビンカウンタ１０１の代わりにレジスタ部１０５を設けた構成である。レジスタ部１０５は、カウンタを含み所定のタイミングでカウントアップするカウンタ値に基づいて予めレジスタ部１０５に格納された複数の７ビットのアドレスを所定の順番に従ってセレクタ１００および受信アドレスレジスタ１０４に出力する。
【００６１】
したがって、レジスタ部１０５で格納されているアドレスに対応するメッセージボックスユニットのみがセレクタ１００を通過して上述したＤＭＡ転送が実行される。その他の格納されていないメッセージボックスユニットについては、ＣＡＮモジュールが、その他のメッセージボックスユニットのメッセージの受信を確認した場合には、割込通知をＣＰＵ１に通知して、ＣＰＵ１からメッセージボックスユニットに直接アクセスするようにする。
【００６２】
本構成のように、予めメッセージボックスユニットについてＤＭＡ転送を実行するメッセージボックスユニットを指定しておくことにより、すべてのメッセージボックスユニットについて、上述したＤＭＡ転送を用いてダブルバッファ化する必要がなく、無駄にスキャンする必要がなくまた効率的にメッセージの転送を実行することが可能となる。
【００６３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態１に従う情報処理装置の概略ブロック図である。
【図２】本発明の実施の形態１に従うＣＡＮモジュール２５およびＤＭＡＣ／ＩＦ４０との関係を説明する概念図である。
【図３】本発明の実施の形態１に従うＤＭＡＣユニット３０の概略ブロック図である。
【図４】本発明の実施の形態１に従うメッセージボックスユニットに格納されたメッセージのデータ転送について説明するフローチャート図である。
【図５】本発明の実施の形態２に従うＤＭＡＣ／ＩＦ４０♯を説明する図である。
【図６】本発明の実施の形態２の変形例に従うＤＭＡＣ／ＩＦ４０♯ａを説明する図である。
【符号の説明】
【００６５】
１  ＣＰＵ、５  ＣＰＵバス、１０  周辺バス、１５  ＣＡＮバス、２０  ＢＳＣ、２５  ＣＡＮモジュール、３０  ＤＡＭＣユニット、３５  メモリ、４０  ＤＭＡＣ／ＩＦ、４５  メッセージボックスユニット、５０  セマフォ格納部、５５  制御部、６０  転送制御部、１００  セレクタ、１０１  ラウンドロビンカウンタ、１０２  デコーダ、１０３  制御回路、１０４  受信アドレスレジスタ。
【図１】
2006302128.tif 000003
【図２】
2006302128.tif 000004
【図３】
2006302128.tif 000005
【図４】
2006302128.tif 000006
【図５】
2006302128.tif 000007
【図６】
2006302128.tif 000008