(57)【特許請求の範囲】
【請求項１】
少なくとも、アプリケーションプログラムとの間でデータの送受を行うトランザクションレイヤと、上記トランザクションレイヤとの間でデータの送受を行うリンクレイヤと、上記リンクレイヤ上の論理的信号を電気信号に変換してバスに伝送する物理レイヤとからなるレイヤ構造で情報処理を行う情報処理装置において、
上記トランザクションレイヤの情報処理を行うトランザクションレイヤ処理手段と、
上記トランザクションレイヤと上記リンクレイヤとの間での情報処理に使用するレジスタを備え、トランザクションレジスタへの外部からの書き込みがあった場合、当該トランザクションレジスタのアドレスを上記レジスタにセットして上記トランザクションレイヤ処理手段に通知するリンクレイヤ処理手段とを有し、
上記トランザクションレイヤ処理手段は、上記トランザクションレジスタのアドレスを上記レジスタに指定して上記トランザクションレジスタの値を書き換える情報処理装置。
【請求項２】
上記トランザクションレイヤ処理手段は、上記リンクレイヤ処理手段に対して、少なくとも上記トランザクションレジスタの値の変化と保持をビット単位で指定する請求項１記載の情報処理装置。
【請求項３】
上記トランザクションレイヤ処理手段は、上記リンクレイヤ処理手段に対して、少なくとも上記トランザクションレジスタの値の書き換え／書き込み無視をビット単位で指定する請求項１記載の情報処理装置。
【請求項４】
上記リンクレイヤ処理手段は、上記トランザクションレジスタの設定項目毎にアドレスを対応付ける請求項１記載の情報処理装置。
【請求項５】
上記トランザクションレイヤ、リンクレイヤ及び物理レイヤは、ＩＥＥＥ１３９４規格に対応するものである請求項１記載の情報処理装置。
【請求項６】
少なくとも、アプリケーションプログラムとの間でデータの送受を行うトランザクションレイヤと、上記トランザクションレイヤとの間でデータの送受を行うリンクレイヤと、上記リンクレイヤ上の論理的信号を電気信号に変換してバスに伝送する物理レイヤとからなるレイヤ構造で情報処理を行う情報処理方法において、
上記トランザクションレイヤと上記リンクレイヤとの間での情報処理に使用されるレジスタを用意し、上記リンクレイヤは、トランザクションレジスタへの外部からの書き込みがあった場合、当該トランザクションレジスタのアドレスを上記レジスタにセットして上記トランザクションレイヤに通知し、上記トランザクションレイヤは、上記トランザクションレジスタのアドレスを上記レジスタに指定して上記トランザクションレジスタの値を書き換える情報処理方法。
【請求項７】
上記トランザクションレイヤは、上記リンクレイヤに対して、少なくとも上記トランザクションレジスタの値の変化と保持をビット単位で指定する請求項６記載の情報処理方法。
【請求項８】
上記トランザクションレイヤは、上記リンクレイヤに対して、少なくとも上記トランザクションレジスタの値の書き換え／書き込み無視をビット単位で指定する請求項６記載の情報処理方法。
【請求項９】
上記リンクレイヤは、上記トランザクションレジスタの設定項目毎にアドレスを対応付ける請求項６記載の情報処理方法。
【請求項１０】
上記トランザクションレイヤ、リンクレイヤ及び物理レイヤは、ＩＥＥＥ１３９４規格に対応するものである請求項６記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び方法に関し、例えばいわゆるＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４準拠のディジタルシリアルバスに対してデータの送受信を行う情報処理装置及び方法に関する。
【０００２】
【従来の技術】
近年は、例えばディジタルビデオ機器や家庭用のパーソナルコンピュータなど、ＩＥＥＥ１３９４準拠のディジタルシリアルインターフェイスを備えた機器が増え、それら機器間でのディジタルデータの送受信が可能となっている。
【０００３】
ここで、ＩＥＥＥ１３９４規格について簡単に説明する。
【０００４】
ＩＥＥＥ１３９４規格とは、ＩＥＥＥ（Institute of Electrical and Electronics Engineers：米国電気電子技術者協会）による規格であり、ディジタルビデオレコーダ等の家庭用電子機器同士の接続やこれら電子機器とコンピュータとの間の接続といったマルチメディア用途に向くものとして注目されている。
【０００５】
ＩＥＥＥ１３９４規格では、基本的に２組のツイストペア線を用いて伝送が行われる。その伝送方法は、１方向の伝送にツイストペア線を２組とも使う、いわゆる半２重の通信である。この通信法には、ＤＳコーディングと呼ばれる通信方法が採用されており、これは、ツイストペア線の片側にデータを、他方にストローブと呼ばれる信号を送り、２つの信号の排他的論理和をとることで、受信側でクロックを再現するというものである。
【０００６】
ＩＥＥＥ１３９４規格のデータレートは、９８．３０４Ｍｂｐｓ（Ｓ１００）、１９６．６０８Ｍｂｐｓ（Ｓ２００）、３９３．２１６Ｍｂｐｓ（Ｓ４００）の３種類が定義されており、高速のレートに対応した機器はそれより遅いレートのノード（機器）をサポートしなければならない、いわゆる上位互換性が定められている。各ノードは、最大２７個までのポートを持つことが許されており、各ノードのポートをＩＥＥＥ１３９４シリアルバスを介して接続することで最大６３台までのノードをネットワーク化することができる。また、異なる２つのＩＥＥＥ１３９４シリアルバスにそれぞれ接続された１組のノードを、これら２つの異なるＩＥＥＥ１３９４シリアルバス間の橋渡しを行うブリッジとして使用し、当該ブリッジを使用して複数（２つ以上）のバスの間でデータの伝送を行うようなネットワーク構成も可能となされている。すなわち、１つのＩＥＥＥ１３９４バスに接続できる機器（ノード）の数は、最大で６３個に制限されているが、複数のバスをブリッジを用いて連結し、バスとブリッジからなるネットワークを構成することにより、更に多くのノードを接続することが可能になされている。
【０００７】
ＩＥＥＥ１３９４規格では、その接続時にバスの初期化処理が行われ、複数のノードの接続を行うとツリー構造が自動的に内部にて構成される。その後、各ノードのアドレスが自動的に割り振られる。ＩＥＥＥ１３９４規格上では、１台のノードが送信した信号を他のノードが中継することで、ネットワーク内の全てのノードに同じ内容の信号を伝えることが可能である。したがって、無秩序な送受信を防止するために、各ノードは送信を開始する前にバスの使用権を調停する必要がある。バスの使用権を得るためには、先ずバスが開放されるのを待ち、ツリー上の親機に対してバス使用権の要求信号を送る。そして、要求を受けた親機は、さらなる親機に信号を中継し、要求信号は最終的には最上位の親機である制御ノードにまで達する。制御ノードは、要求信号を受けると使用許可信号を返し、許可を受けたノード（被制御ノード）は通信を行うことが可能となる。但し、このとき複数のノードから同時に要求信号が出された場合には、１台にのみ許可信号が与えられ、他の要求は拒否される。
【０００８】
このように、ＩＥＥＥ１３９４規格上は、バスの使用権を奪い合いながら、複数のノードが１つのバスを時分割多重で使用している。
【０００９】
次に、ＩＥＥＥ１３９４規格では、アドレスとして、ＩＥＥＥ１２１２  ＣＳＲ（Control and Status Register Architecture）で規定されている６４ビットの固定的に割り振られたアドレス空間を利用する。この６４ビットのうち、上位１６ビットはノードＩＤ（node_ID）、６４ｋのノードアドレス空間を提供する。また、ＩＥＥＥ１３９４シリアルバスでは、バス同士を識別するためにノードＩＤの上位１０ビットをバスＩＤ（bus_ID）とし、下位６ビットをノードを識別するためのフィジカルＩＤ（physical_ID）とする。
【００１０】
ＩＥＥＥ１３９４シリアルバスのレイヤ構造は、トランザクションレイヤ（Transaction Layer）、リンクレイヤ（Link Layer）、物理レイヤ（Physical Layer）からなる。トランザクションレイヤは、アプリケーションから指示されたデータや命令を下位のリンクレイヤに伝える。当該トランザクションレイヤでは、ＩＥＥＥ１２１２のＣＳＲ（Control and Status Register）で要求されているリード（Read）／ライト（Write）／ロック（Lock）の操作を実行するために、要求（Request）と応答（Response）サービスのプロトコルを使用する。リンクレイヤはトランザクションレイヤとのデータのやり取りを行う。また、リンクレイヤはアドレス割り当て、データチェック、データのフレーム分けなどを行う。物理レイヤは、リンクレイヤが使っている論理的な信号を電気信号に変換する。
【００１１】
より詳細に説明すると、上記トランザクションレイヤには、リード、ライト、ロックの３つの種類のトランザクションがある。リードトランザクションでは、イニシエータ機器がターゲット機器の特定アドレスのＩＥＥＥ１２１２空間を読み取る。リードトランザクションにはクワドレット単位（Quadlet、ＩＥＥＥ１３９４における４バイト毎のデータ単位）単位の読み込みとブロック（ＩＥＥＥ１３９４における１クワドレット以上）読み込みとがある。ライトトランザクションは、イニシエータ機器がターゲット機器の特定ＩＥＥＥ１２１２アドレスにデータを書き込む。ライトトランザクションには、クワドレット単位の書き込みとブロックの書き込みがある。ロックトランザクションは、イニシエータ機器からターゲット機器にデータ転送し、そのデータとターゲット機器の指定されたアドレスのデータを組み合わせて処理（スワップなど）を行い、ターゲット機器の指定されたアドレスのデータを更新する。
【００１２】
また、上記リンクレイヤは、半２重のデータパケット配信サービスを提供する。ここで、ＩＥＥＥ１３９４規格では、リアルタイム性を保証する同期通信、すなわちアイソクロナス通信（isochronous data transfer）を定義してある。また、ＩＥＥＥ１３９４規格には、この同期通信に対して、非同期通信、すなわちアシンクロナス通信（asynchronous data transfer）も定義されている。ＩＥＥＥ１３９４規格では、データをパケット化して転送することが行われ、このパケットを転送するプロセスをサブアクション（subaction）と呼んでいる。
【００１３】
サブアクションには、上記パケットをアイソクロナス通信にて転送するアイソクロナスサブアクション（isochronous subaction）と上記アシンクロナス通信にて転送する（asynchronous subaction）がある。アイソクロナスサブアクションは、特定のノードにパケットを転送するのではなく、チャネルアドレスを使用してバス全体に送信する。一方、アシンクロナスサブアクションでは、指定したノードに対して様々な量のデータとトランザクションレイヤの情報を示す数バイトのヘッダ情報を送り、その応答を受ける。
【００１４】
さらにサブアクションは、アービトレーションシーケンス（Aebitration Sequence）とデータパケット転送（Data Packet Transmission）とアクノリッジメント（acknowledgment）の３つの部分に分けられる。アービトレーションシーケンスでは、パケットを送信したいノードが、物理レイヤにバスの制御権を得るように要求する。アービトレーションは、最終的に一つのノードに制御権を与え、制御権を得たノードは、データパケットを送信することが可能となる。データパケット転送では、実際にデータパケット転送が行われる。ここで、アシンクロナス通信の場合、送信ノードは、スピードコード（Speed Code）を含むデータプリフィックス（data_prefix）、送信側と受信側のアドレス、トランザクションコード（Transaction Code：TCODE）、トランザクションラベル（Transaction Label）、リトライコード（Retry Code）、データ、１つか２つのＣＲＣ（Cyclic Redundancy Check）、パケット・ターミネーション（Packet Termination、data_prefixかdata_endのどちらか）等を送出する。なお、トランザクションコードは、主要なパケットのパケットタイプを定義し、ＩＥＥＥ１３９４規格では、当該トランザクションコードの値によって、アイソクロナスパケットとアシンクロナスパケットを区別する。アクノリッジメントでは、受信側から、操作が行われたことを送信側に応答する。アシンクロナスパケットの場合、受信側のノードはパケットの受信状況（成功や失敗など）を示すコードを送信側のノードに返す。なお、アクノリッジメントで転送されるデータも一種のデータパケットである。
【００１５】
また、全てのアシンクロナスサブアクションでは、通常、サブアクションギャップと呼ばれる期間だけ、バスをアイドル状態にする。ＩＥＥＥ１３９４シリアルバスでは、一定時間以上のアイドル状態が確認された場合、データ転送を希望するノードがアービトレーション（Arbitration）を開始する。なお、アービトレーションとは、各ノードがバスを使用する権利を得るための調停のことである。このサブアクションギャップに対して、アクノリッジギャップもあり、このアクノリッジギャップは、送信側のノードが送信したデータパケットとそのパケットに対する応答パケット（アクノリッジ）の間のギャップを指す。アクノリッジギャップの長さはバスの状況により変化する。なお、アクノリッジギャップは、サブアクションギャップの長さよりも十分短くなるように規定されている。これは、接続された他のノードがアクノリッジを受信する前にアービトレーションを始めないことを確実にするためである。
【００１６】
【発明が解決しようとする課題】
ところで、ＩＥＥＥ１３９５規格において、オートトランザクション機能（自動応答機能）を持つ従来のリンクＩＣでは、オートトランザクション機能が特定のレジスタ（アドレス）に限定されており、したがって、バスリセット値／コマンドリセット値（それぞれバスリセット／コマンドリセット検出時に設定する値）を予め指定する必要があり、後で変更することができない。
【００１７】
このため、使用する際の都合により、例えば、オートトランザクションに対応させたいレジスタを変更することができないという問題や、対応しているレジスタに対してはその応答仕様を変更することができないという問題、レジスタの仕様がそれぞれ異なるため応答の評価が大変であるといった問題がある。
【００１８】
そこで、本発明はこのような状況に鑑みてなされたものであり、オートトランザクション機能を備えたリンクＩＣにおいて、例えば、オートトランザクションに対応させたいレジスタを変更することができ、対応しているレジスタに対してはその応答仕様を変更することができ、応答の評価を容易に実現可能とする、情報処理装置及び方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明の情報処理装置は、少なくとも、アプリケーションプログラムとの間でデータの送受を行うトランザクションレイヤと、上記トランザクションレイヤとの間でデータの送受を行うリンクレイヤと、上記リンクレイヤ上の論理的信号を電気信号に変換してバスに伝送する物理レイヤとからなるレイヤ構造で情報処理を行う情報処理装置において、上記トランザクションレイヤの情報処理を行うトランザクションレイヤ処理手段と、上記トランザクションレイヤと上記リンクレイヤとの間での情報処理に使用するレジスタを備え、トランザクションレジスタへの外部からの書き込みがあった場合、当該トランザクションレジスタのアドレスを上記レジスタにセットして上記トランザクションレイヤ処理手段に通知するリンクレイヤ処理手段とを有し、上記トランザクションレイヤ処理手段は、上記トランザクションレジスタのアドレスを上記レジスタに指定して上記トランザクションレジスタの値を書き換えることにより、上述した課題を解決する。
【００２０】
本発明の情報処理方法は、少なくとも、アプリケーションプログラムとの間でデータの送受を行うトランザクションレイヤと、上記トランザクションレイヤとの間でデータの送受を行うリンクレイヤと、上記リンクレイヤ上の論理的信号を電気信号に変換してバスに伝送する物理レイヤとからなるレイヤ構造で情報処理を行う情報処理方法において、上記トランザクションレイヤと上記リンクレイヤとの間での情報処理に使用されるレジスタを用意し、上記リンクレイヤは、トランザクションレジスタへの外部からの書き込みがあった場合、当該トランザクションレジスタのアドレスを上記レジスタにセットして上記トランザクションレイヤに通知し、上記トランザクションレイヤは、上記トランザクションレジスタのアドレスを上記レジスタに指定して上記トランザクションレジスタの値を書き換えることにより、上述した課題を解決する。
【００２１】
【発明の実施の形態】
本発明の好ましい実施の形態について、図面を参照しながら説明する。
【００２２】
図１には、ＩＥＥＥ１３９４規格に対応する機器（以下、１３９４機器１とする）の概略的な構成を示す。
【００２３】
この図１において、１３９４機器１は、当該１３９４機器の各種の機能を制御するマイクロコンピュータ（マイコン）２を有しており、当該マイクロコンピュータ２がＩＥＥＥ１３９４規格のおけるトランザクションレイヤに相当する処理を行う。このマイクロコンピュータ２は、ＩＥＥＥ１３９４規格のリンクレイヤ及び物理レイヤに相当する処理を行うためのＩＣ（以下、１３９４ＩＣ３とする）に接続されている。この１３９４ＩＣ３は、端子６を介してＩＥＥＥ１３９４バスに接続されている。また、上記１３９４ＩＣ３は、ＩＥＥＥ１３９４規格におけるリンクレイヤに相当する処理を行うＬＩＮＫ−ＩＣ４と、物理レイヤに相当する処理を行うＰＨＹ−ＩＣ５とからなる。
【００２４】
ここで、ＬＩＮＫ−ＩＣ４に、オートトランザクション機能を持たせる場合には、どのレジスタ（アドレス）に機能を持たせるか、レジスタの初期値はどうするか、バスリセット値（バスリセット検出時に設定する値）をどうするか（固定値か前の値を保持するかのビット毎の指定）、コマンドリセット値（コマンドリセット検出時に設定する値）をどうするか（固定値か前の値を保持するかのビット毎の指定）、外部からのライトトランザクション、ロックトランザクションを受けるか受けないか、外部からのライトトランザクションに対するレジスタの動きをどうするか（書き込みを受けるか無視するかのビット毎の指定）、外部からのロックトランザクションに対するレジスタの動きをどうするか（書き込みを受けるか無視するかのビット毎の指定）、制御コマンドからの（レジスタの読み出し／書き換え）トランザクションに対する応答はどうするか、といったことを決める必要がある。
【００２５】
これらを予めレジスタ毎に指定しておくのは、対応するレジスタを変更できないことや、多くのレジスタを用意する場合それぞれ動きが違うので実装が大変であること、それぞれのレジスタで動きが違うので評価が大変であること、後で変更することができないこと、などの問題があるためできない。
【００２６】
そこで、本発明実施の形態では、特にレジスタアドレスや応答仕様を固定せず、マイクロコンピュータ２側からの指定により上記の各設定を行うことが可能となる汎用的なオートレスポンス用インターフェイスを提供する。
【００２７】
本実施の形態では、上記マイクロコンピュータ２とのインターフェイスとして、レジスタアドレス（オフセットアドレス）と、リード／ライト／ロックトランザクションに対する対応／非対応の設定ビット（Read／Write／Lock）と、レジスタの初期設定値としてイニシャルバリュー（Initial Value）と、バスリセット検出時にバスリセットバリュー（BusReset Value：バスリセット検出時に設定する値）への書き換えを行うかどうかのビット毎の指定（BusReset Change Disable（Unchanged）と、バスリセット検出時に設定する値としてバスリセットバリュー（BusReset Value）と、コマンドリセット検出時にコマンドリセットバリュー（CommandReset Value：コマンドリセット検出時に設定する値）への書き換えを行うかどうかのビット毎の指定（CommandReset）と、コマンドリセット検出時に設定する値としてコマンドリセットバリュー（CommandReset Value）、ライト／ロックトランザクションによる書き換えを行うかどうかのビット毎の指定（Write／Lock Disable（Ignored））と、そのレジスタへのライト／ロックトランザクションによる書き換えが行われたことをマイクロコンピュータに伝えるレジスタ（Interrupt（IC→マイコン））とを用意している。
【００２８】
以下に、本実施の形態にて使用する各項目について詳細に説明する。
【００２９】
オフセットアドレスは、対象となるレジスタのアドレス（オフセットアドレス）である。
【００３０】
Read／Write／Lockはこのアドレスに対する各トランザクションへの対応／非対応を示す設定ビットである。このビットの”１”は当該ビットがセットされているトランザクションに対応している。このアドレスへの当該トランザクションを受けた場合には、状態に適した応答パケット（Response Packet）を返す。また当該ビットが”０”の場合は、このアドレスへの当該トランザクションに対しては”Type_Error”を返す。なお、マイクロコンピュータ２からのセルフトランザクションに対してはこのビットの値に依らずに応答する。
【００３１】
Initial Valueはレジスタの初期値である。
【００３２】
BusReset Change Disable（Unchanged）はバスリセット検出時の各レジスタのBusReset Valueへの書き換えの可／不可を示すビットである。このビットがセットされているレジスタ上の当該ビットはBusReset Valueの値に依らずバスリセット検出時にも変化しない（前の値を保つ）。
【００３３】
BusReset Valueは、バスリセット検出時には当該レジスタを書き換える値である。但し、BusReset Change Disableが”１”のビットは”Unchanged”で前の値を保持する。
【００３４】
CommandResetは、コマンドリセット検出時の各レジスタのCommandReset Valueへの書き換えの可／不可を示すビットである。
【００３５】
Change Disable（Unchanged）では、このビットがセットされているレジスタ上の当該ビットはコマンドリセットバリューの値に依らずコマンドリセット検出時にも変化しない（前の値を保つ）。
【００３６】
CommandReset Valueは、コマンドリセット検出時には当該レジスタを書き換える値である。但し、CommandReset Change Disableが”１”のビットは”Unchanged”で前の値を保持する。
【００３７】
Write／Lock Disable（Ignored）はライト／ロックトランザクションでの書き換え可／不可を示すビットである。このビットが”１”の場合はライト／ロックトランザクションで当該ビットの書き換えを行う。このビットが”０”の場合は書き換え不可で、当該ビットへのライト／ロックは無視する。なお、マイクロコンピュータ２からのセルフトランザクションに対してはこのビットの値に依らず書き換える。
【００３８】
Interrupt（IC→マイコン）は、レジスタの書き換え（ライト／ロック）が実行されたことをマイクロコンピュータ側に伝えるためのものである。ライト／ロックトランザクションを受けた（Write／Lock Disableにより無視された）場合も含む。
【００３９】
なお、Lock Transaction（Compare & Swap）に対してはArg Value／Data Valueのチェックを行うので、Write／Lock Transaction Disableの値に依らず、ロック失敗（Arg Value≠Old Value）の場合には書き換えは行われない。また、マイクロコンピュータからのセルフトランザクションに対してはこれらの設定に依らず応答する（Write／Lockではレジスタの書き換えも行う）。
【００４０】
また、本実施の形態では、マイクロコンピュータ２からＬＩＮＫ−ＩＣ４へとアクセスするためのインターフェイスとして、上記の各設定情報をそれぞれ独立のレジスタとして用意する場合（図２）と、少数のレジスタのみ用意してアクセスの順序でどの情報を設定するかを指定する場合（図３）とを考えている。
【００４１】
すなわち、マイクロコンピュータ２は、図２中のＬＩＮＫ−ＩＣ→マイコン  セルフトランザクションインターフェイス１０を用いて各種レジスタへのアクセスを行い（Read／Write／Lock）、図２中のマイコン→ＬＩＮＫ−ＩＣ  汎用オートトランザクションレジスタインターフェイス１１を用いて汎用オートトランザクションレジスタの各種設定を行い、図２中のＬＩＮＫ−ＩＣ→マイコン  汎用オートトランザクションレジスタインターフェイス１２を用いて汎用オートレスポンスレジスタからの通知を受ける。
【００４２】
また、マイクロコンピュータ２は、図３中のマイコン→ＬＩＮＫ−ＩＣ  汎用オートトランザクションレジスタインターフェイス１３を用いて汎用オートトランザクションレジスタの各種設定を行い（セルフトランザクションで共用）、図３中のＬＩＮＫ−ＩＣ→マイコン  汎用オートトランザクションレジスタインターフェイス１４を用いて汎用オートレスポンスレジスタからの通知を知る。
【００４３】
さらに、本実施の形態では、ＬＩＮＫ−ＩＣ４の持つレジスタ領域に自由にオートトランザクション用レジスタを設定するにあたって、図４の（Ａ）に示すようにＬＩＮＫ−ＩＣ４にページ（Page）を持たせ、図４の（Ｂ）に示すようにその各ページ（Page）に一つのレジスタアドレスを振り分けるようにする。なお、この図４の例は、６４のアドレスを持つ例を示しており、アドレスとしてはクワドレット単位で任意の値を指定できる。なお、図４中のＣＳＲ（Control and Status Register）、SerialBus（シリアルバス）、ConfigROM（コンフィグレーションＲＯＭ）の例については後述する。
【００４４】
ここで、図２の例では、ＬＩＮＫ−ＩＣのマイクロコンピュータインターフェイスレジスタに各データを設定後、何らかのトリガ（例えば図４に示したようなPageの番号のデータの書き込みなど）によって、図５、図６に示すように、設定データをオートトランザクション設定レジスタに書き込む。なお、図５はマイコン→ＩＣの場合のレジスタインターフェイス仕様を、図６はＩＣ→マイコンの場合のレジスタインターフェイス仕様を示している。
【００４５】
また、図３の例では、ロードデータを設定後、何らかのトリガ（例えばロード番号の書き込み）により、図７に示すように、設定されたデータを指定のページの指定の項目にあたるレジスタに書き込む。
【００４６】
さらに、実動作中にマイクロコンピュータ２がレジスタの値を読み出し／書き換えたい場合は、セルフトランザクションを用いる。これは、図８に示すように、セルフトランザクション用のレジスタに読み書きしたいアドレスを指定し、トリガを与える（リード／ライト／ロックフラグの書き込み）ことにより実行される。
【００４７】
次に、図９には、バスリセット／コマンドリセット／外部からのロックトランザクションを受けたときのレジスタの値の変化の具体例を示す。すなわち、Initial Valueが「１０１０１０１０」であったとすると、バスリセット検出時には「００００１１１０」となり、コマンドリセット検出時には「００１１１０１１」となり、ロックトランザクションにより「０１１１０１０１」に変化する。
【００４８】
例えば、オートトランザクションに指定されたレジスタ宛に外部からの書き込みがあった場合、（ライト／ロックトランザクション）に対して、ＬＩＮＫ−ＩＣ４はそのレジスタが割り当てられているページに対応する通知ビット（前記の図ではInterrupt_1/2レジスタ）をセットする。このときのマイクロコンピュータ２は、このInterruptレジスタを常時／定期的に調べることにより、オートトランザクション指定のレジスタに外部からの書き込みがあったことを知ることができる。したがって、マイクロコンピュータ２は、そのビットをクリアし、必要な処理があればそれを行う。
【００４９】
本実施の形態によれば、これらのインターフェイスの採用により、例えば実動作中にセットの状態変更のためバスリセット／コマンドリセット／外部からの書き込みトランザクションを受けた時の挙動を変更する必要が出てきたような場合にも対応できる。
【００５０】
次に、ＩＥＥＥ１３９４の場合の、これらのレジスタの具体例を図１０〜図２２に示す。なお、各図中の斜線で示す部分が本実施の形態にかかる部分である。
【００５１】
図１０には、ＣＳＲ（Control and Status Register）のオフセットアドレス「００００」（State Clear）、「０００４」（State Set）の具体例を示している。なお、図中のＣ／Ｉ，Ｃ／ＳはState ClearでのEffect／State SetでのEffectであり、図中のLost、Dreq、Stateの１→０はセットされてもすぐにクリアされる。ここでは、二つのアドレスで一つのレジスタへのアクセスを行う（クリアする場合にはState Clear、セットする場合にはState Set、Read Valueは両アドレスで同一である）。オフセットアドレスの「００００」（State Clear）への書き込みを受けた場合、それぞれ”１”のビットをクリアする。また、オフセットアドレスの「０００４」（State Set）への書き込みがあった場合にはそれぞれ”１”のビットをセットする。次に、図１１にはオフセットアドレス「０００８」（Node Ids）の具体例を、図１２にはオフセットアドレス「０００Ｃ」（Reset Start）の具体例を、図１３にはオフセットアドレス「００１８」〜「００１Ｃ」（Split Timeout Hi, Split Timeout Lo）の具体例を、図１４にはＣＳＲ（Serial Bus Dependent）のオフセットアドレス「０２００」（Cycle Time）の具体例を、図１５にはオフセットアドレス「０２０４」（Bus Time）の具体例を、図１６にはオフセットアドレス「０２１０」（Busy Timeout）の具体例を、図１７にはオフセットアドレス「０２１Ｃ」（Bus Manager ID）の具体例を、図１８にはオフセットアドレス「０２２０」（BandWidth Available）の具体例を、図１９にはオフセットアドレス「０２２４」〜「０２２８」（Channel Available）の具体例を示す。また、図２０にはCconfigROM（コンフィグレーションＲＯＭ）のオフセットアドレス「０４００」以降の具体例を、図２１と図２２にはCconfigROM（Initial Value）のオフセットアドレス「０４００」以降の具体例を示す。
【００５２】
【発明の効果】
以上の説明で明らかなように、本発明の情報処理装置及び方法は、トランザクションレイヤとリンクレイヤとの間での情報処理に使用されるレジスタを用意し、リンクレイヤ手段が、トランザクションレジスタへの外部からの書き込みがあった場合、当該トランザクションレジスタのアドレスをレジスタにセットしてトランザクションレイヤ処理手段に通知し、トランザクションレイヤ処理手段が、トランザクションレジスタのアドレスをレジスタに指定してトランザクションレジスタの値を書き換えることにより、例えば、ＩＥＥＥ１３９４規格におけるオートトランザクションに対応させたいレジスタを変更することができ、また、対応しているレジスタに対してはその応答仕様を変更することができ、応答の評価を容易に実現可能となる。
【図面の簡単な説明】
【図１】ＩＥＥＥ１３９４規格に対応する機器の概略的な構成を示すブロック回路図である。
【図２】マイクロコンピュータからＬＩＮＫ−ＩＣへとアクセスするためのインターフェイスとして各設定情報をそれぞれ独立のレジスタとして用意する場合の例を示す図である。
【図３】マイクロコンピュータからＬＩＮＫ−ＩＣへとアクセスするためのインターフェイスとして各設定情報を少数のレジスタのみ用意してアクセスの順序でどの情報を設定するかを指定する場合の例を示す図である。
【図４】ＬＩＮＫ−ＩＣ４の持つレジスタ領域に自由にオートトランザクション用レジスタを設定する際に、ＬＩＮＫ−ＩＣにページ（Page）を持たせる場合の説明に用いる図である。
【図５】マイコン→ＩＣの場合のレジスタインターフェイス仕様を示す図である。
【図６】図６はＩＣ→マイコンの場合のレジスタインターフェイス仕様を示す図である。
【図７】ロードデータを設定後、設定されたデータを指定のページの指定の項目にあたるレジスタを示す図である。
【図８】セルフトランザクション用のレジスタを示す図である。
【図９】バスリセット／コマンドリセット／外部からのロックトランザクションを受けたときのレジスタの値の変化の具体例の説明に用いる図である。
【図１０】ＣＳＲのオフセットアドレス「００００」、「０００４」の具体例を示す図である。
【図１１】オフセットアドレス「０００８」（Node Ids）の具体例を示す図である。
【図１２】オフセットアドレス「０００Ｃ」（Reset Start）の具体例を示す図である。
【図１３】オフセットアドレス「００１８」〜「００１Ｃ」（Split Timeout Hi, Split Timeout Lo）の具体例を示す図である。
【図１４】ＣＳＲ（Serial Bus Dependent）のオフセットアドレス「０２００」（Cycle Time）の具体例を示す図である。
【図１５】オフセットアドレス「０２０４」（Bus Time）の具体例を示す図である。
【図１６】オフセットアドレス「０２１０」（Busy Timeout）の具体例を示す図である。
【図１７】オフセットアドレス「０２１Ｃ」（Bus Manager ID）の具体例を示す図である。
【図１８】オフセットアドレス「０２２０」（BandWidth Available）の具体例を示す図である。
【図１９】オフセットアドレス「０２２４」〜「０２２８」（Channel Available）の具体例を示す図である。
【図２０】  CconfigROMのオフセットアドレス「０４００」以降の具体例を示す図である。
【図２１】  CconfigROM（Initial Value）のオフセットアドレス「０４００」〜「０４４Ｃ」までの具体例を示す図である。
【図２２】  CconfigROM（Initial Value）のオフセットアドレス「０４５０」〜「０４９Ｃ」までの具体例を示す図である。
【符号の説明】
１  １３９４機器、  ２  マイクロコンピュータ、  ３  １３９４ＩＣ、  ４ＬＩＮＫ−ＩＣ、  ５  ＰＨＹ−ＩＣ
【図１】
0004244474.tif 000002
【図２】
0004244474.tif 000003
【図３】
0004244474.tif 000004
【図４】
0004244474.tif 000005
【図５】
0004244474.tif 000006
【図６】
0004244474.tif 000007
【図７】
0004244474.tif 000008
【図８】
0004244474.tif 000009
【図９】
0004244474.tif 000010
【図１０】
0004244474.tif 000011
【図１１】
0004244474.tif 000012
【図１２】
0004244474.tif 000013
【図１３】
0004244474.tif 000014
【図１４】
0004244474.tif 000015
【図１５】
0004244474.tif 000016
【図１６】
0004244474.tif 000017
【図１７】
0004244474.tif 000018
【図１８】
0004244474.tif 000019
【図１９】
0004244474.tif 000020
【図２０】
0004244474.tif 000021
【図２１】
0004244474.tif 000022
【図２２】
0004244474.tif 000023