(57)【要約】【課題】レジスタアクセス制御回路で，共通アドレスの複数レジスタからのリードアクセスを１回のアクセスで実行できる回路を提供する。【解決手段】  レジスタアクセス制御回路１は，同一仕様の複数レジスタ１０に共通アドレスでデータがライトされた場合に，バス制御回路１１が共通アドレスのリードアクセスを受け付けて，アドレス比較器１２が共通アドレスと判定すると，リードデータ比較器１３は，各レジスタ１０のデータを取り出して比較し，データが一致している場合に，リードデータ出力器１４が，一致したデータをリードデータとして出力する。データが一致していない場合に，エラー出力器１５がエラーの割り込みを出力する。【選択図】  図１
2011096163.tif 000002
【特許請求の範囲】
【請求項１】
共通アドレスへのリードアクセスを受け付けて，複数のレジスタの各々から，１つの共通アドレスを指定して書き込まれたデータを取り出す処理過程と，
前記共通アドレスへのリードアクセスにより前記レジスタの各々から取り出したデータを比較する処理過程と，
前記レジスタの各々から取り出したデータが一致する場合に，前記レジスタから取り出したデータをリードデータとして出力する処理過程とを備える
レジスタアクセス制御方法。
【請求項２】
前記レジスタから取り出したデータが一致しない場合に，前記リードアクセスのエラーを示す割り込みを出力する処理過程を備える
請求項１に記載のレジスタアクセス制御方法。
【請求項３】
共通アドレスが付与された複数のレジスタと，
共通アドレスを指定したリードアクセスを受けて，前記複数のレジスタ各々から，前記共通アドレスを指定して書き込まれたデータを取り出すデータ取り出し器と，
前記複数のレジスタ各々から取り出したデータを比較するデータ比較器と，
前記取り出したデータが一致する場合に，複数のレジスタから取り出したデータをリードデータとして出力するリードデータ出力器とを備える
レジスタアクセス制御回路。
【請求項４】
前記取り出したデータが一致しない場合に，前記リードアクセスのエラーを示す割り込みを出力するエラー出力器を備える
請求項３に記載のレジスタアクセス制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，複数のレジスタに対するアクセス制御を行うレジスタアクセス制御方法および制御回路に関する。
【背景技術】
【０００２】
図４は，複数レジスタに対するアクセス制御が実行されるシステムの構成例を示す図である。
【０００３】
図４に示すシステム１００は，複数のＣＰＵが搭載されているシステムボード１１０，入出力（Ｉ／Ｏ）を制御するＬＳＩを搭載したＩ／Ｏボード１２０，システムボード１１０のＣＰＵとＩ／Ｏボード１２０との通信制御を行うクロスバチップを搭載したクロスバボード１３０，およびシステム１００を管理するファームウェアを搭載したシステムマネジメントボード１４０を備える。
【０００４】
システム１００の立ち上げ操作として，システムマネジメントボード１４０は，Ｉ２Ｃバスによって，システムボード１１０，Ｉ／Ｏボード１２０およびクロスバボード１３０の各チップのレジスタへアクセスを行う。
【０００５】
このアクセス制御の一例は，まずアクセス対象のチップ，例えばシステムボード１１０の上位にあるＩ２Ｃのマルチプレクサ（Ｍｕｌｔｉｐｌｅｘｅｒ）１１５のスレーブ・アドレス（Ｓｌａｖｅ  Ａｄｄｅｒｓｓ）とチャネルとを指定して，システムマネジメントボード１４０とアクセスしたいチップが搭載されているボード，例えばクロスバボード１３０との接続を行なう。次に，アクセス対象のチップのスレーブ・アドレスとチップ内部のレジスタアドレスとを指定して，目的のレジスタへのライトアクセスまたはリードアクセスを行う。
【０００６】
さらに，システムマネジメントボード１４０は目的のレジスタのライトアクセスの後，同じレジスタへリードアクセスを行い，ライトしたデータとリードしたデータとが一致することを確認した後，次のステップへと進むように制御を行う。
【０００７】
ここで，Ｉ２Ｃバスのような低速バスを使用するシステム１００では，アクセスの効率化を図って，システム立ち上げ操作の所要時間を短縮することが要求される。
【０００８】
そのため，従来技術として，同じ仕様のレジスタに共通アドレスを割り振って，複数のレジスタへの共通アドレスのライトアクセスを行えるようにしたライトアクセス制御が知られている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１３２４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以下に，従来の複数レジスタに対するリードアクセスの制御例を説明する。
【００１１】
図５は，図４に示すようなシステム１００に搭載されるチップ９の構成例を示す図である。
【００１２】
チップ９は，同一仕様の複数のレジスタ９０（９０＿０，９０＿１，９０＿２，９０＿３）を備える。レジスタ９０＿０，９０＿１，９０＿２，９０＿３には，アドレス０ｘ００００，０ｘ０１００，０ｘ０２００，０ｘ０３００がそれぞれ割り振られている。
【００１３】
チップ９が備える複数のレジスタ９０＿０，９０＿１，９０＿２，９０＿３のデータは，図６および図７に示すような処理によってライトまたはリードされる。
【００１４】
まず，ライト制御として，システムマネジメントボード１４０が，チップ９に対して，レジスタ９０＿０，９０＿１，９０＿２，９０＿３の各アドレスへのライト（ｗｒｉｔｅ）アクセスをそれぞれ行って（図６：ステップＳ９００），チップ９が，ライトアクセス対象のアドレスに対応するレジスタ，すなわちレジスタ９０＿０，９０＿１，９０＿２，９０＿３のいずれか１つにデータをライトする（ステップＳ９０１）。
【００１５】
すなわち，システムマネジメントボード１４０がアドレス０ｘ００００へのライトアクセスを行うと，チップ９が，ライトアクセス対象であるアドレス０ｘ００００に対応するレジスタ９０＿０にデータをライトする。同様に，システムマネジメントボード１４０が，アドレス０ｘ０１００へのライトアクセスを行うと，チップ９が，アドレス０ｘ０１００に対応するレジスタ９０＿１にデータをライトする。また，アドレス０ｘ０２００，０ｘ０３００へのライトアクセスの場合も，アドレス０ｘ０１００へのライトアクセスと同様に，チップ９が，各アドレスに対応するレジスタ９０にデータをライトする。
【００１６】
したがって，レジスタ９０＿０，９０＿１，９０＿２，９０＿３へ同じデータをライトする場合も，各レジスタへのライトアクセスを繰り返すことになる。
【００１７】
次に，リード制御として，システムマネジメントボード１４０が，アドレス０ｘ００００へリード（ｒｅａｄ）アクセスを行う（ステップＳ９０２）。このリードアクセスを受けて，チップ９が，アドレス０ｘ００００に対応するレジスタ９０＿０のデータをリードする（ステップＳ９０３）。
【００１８】
そして，システムマネジメントボード１４０が，レジスタ９０＿０にライトされたデータとレジスタ９０＿０からリードしたデータとを比較する（ステップＳ９０４）。レジスタ９０＿０にライトしたデータとレジスタ９０＿０からリードしたデータとが一致すれば（ステップＳ９０５のＹｅｓ），システムマネジメントボード１４０が，次のアドレス０ｘ０１００へリード（ｒｅａｄ）アクセスを行う（ステップＳ９０６）。一方，レジスタ９０＿０へライトしたデータとレジスタ９０＿０からリードしたデータとが一致しなければ（ステップＳ９０５のＮｏ），ステップＳ９１８の処理へ進む。
【００１９】
次に，チップ９が，アドレス０ｘ０１００のリードアクセスを受けて，アドレス０ｘ０１００に対応するレジスタ９０＿１のデータをリードする（ステップＳ９０７）。
【００２０】
システムマネジメントボード１４０が，レジスタ９０＿１にライトしたデータとレジスタ９０＿１からリードしたデータとを比較して（ステップＳ９０８），レジスタ９０＿１にライトしたデータとレジスタ９０＿１からリードしたデータとが一致すれば（ステップＳ９０９のＹｅｓ），さらに，次のアドレス０ｘ０２００へリードアクセスを行う（ステップＳ９１０）。一方，レジスタ９０＿１にライトしたデータとレジスタ９０＿１からリードしたデータとが一致しなければ（ステップＳ９０９のＮｏ），同様に，図７に示すステップＳ９１８の処理へ進む。
【００２１】
そして，チップ９は，アドレス０ｘ０２００のリードアクセスを受けて，アドレス０ｘ０２００に対応するレジスタ９０＿２のデータをリードする（図７：ステップＳ９１１）。
【００２２】
システムマネジメントボード１４０が，レジスタ９０＿２にライトしたデータとレジスタ９０＿２からリードしたデータとを比較して（ステップＳ９１２），レジスタ９０＿２にライトしたデータとレジスタ９０＿２からリードしたデータとが一致すれば（ステップＳ９１３のＹｅｓ），さらに，次のアドレス０ｘ０３００へリードアクセスを行う（ステップＳ９１４）。一方，レジスタ９０＿２にライトしたデータとレジスタ９０＿２からリードしたデータとが一致しなければ（ステップＳ９１３のＮｏ），同様に，ステップＳ９１８の処理へ進む。
【００２３】
さらに，チップ９は，アドレス０ｘ０３００のリードアクセスを受けて，アドレス０ｘ０３００に対応するレジスタ９０＿３のデータをリードする（ステップＳ９１５）。
【００２４】
システムマネジメントボード１４０が，レジスタ９０＿３にライトしたデータとレジスタ９０＿３からリードしたデータとを比較して（ステップＳ９１６），レジスタ９０＿３にライトしたデータとレジスタ９０＿３からリードしたデータとが一致すれば（ステップＳ９１７のＹｅｓ），他のレジスタに対する次のレジスタアクセス制御を行う。
【００２５】
一方，システムマネジメントボード１４０が，レジスタ９０＿３にライトしたデータとレジスタ９０＿３からリードしたデータとが一致しなければ（ステップＳ９１７のＮｏ），ステップＳ９１８の処理へ進む。
【００２６】
システムマネジメントボード１４０は，Ｓ９１８の処理として，アクセスのリトライ回数が規定回数未満であるかを判定して（ステップＳ９１８），リトライ回数が規定回数未満であれば（ステップＳ９１８のＹｅｓ），ステップＳ９００の処理へ戻り，複数のアドレス９０各々へのライトアクセスを行う。一方，リトライ回数が規定回数未満でなければ（ステップＳ９１８のＮｏ），エラー処理へ進む。
【００２７】
以上の説明のとおり，複数のレジスタへライトしたデータをリードする場合であっても，各レジスタへのリードアクセスを繰り返す必要があり，さらに，リードアクセスの都度にリードアクセスによりリードしたデータとライトデータとを比較する必要があった。そのため，リード制御時間がかかるという問題があった。
【００２８】
本願発明の目的は，複数のレジスタへ同一のデータがライトされている場合に，１回のリードアクセスで書き込まれているデータをリードできるようにして，リードアクセスの時間を短縮できるレジスタアクセス制御方法および回路を提供することである。
【課題を解決するための手段】
【００２９】
本願に開示されるレジスタアクセス制御方法は，共通アドレスへのリードアクセスを受け付けて，複数のレジスタの各々から，１つの共通アドレスを指定して書き込まれたデータを取り出す処理過程と，前記共通アドレスへのリードアクセスにより前記レジスタの各々から取り出したデータを比較する処理過程と，前記レジスタの各々から取り出したデータが一致する場合に，前記レジスタから取り出したデータをリードデータとして出力する処理過程とを備える。
【００３０】
前記のレジスタアクセス制御方法によれば，レジスタアクセス制御回路における，複数のレジスタに割り当てられた１つの共通アドレスによって書き込まれたデータへのリードアクセスで，１つのリードアクセスで複数のレジスタ各々からデータを取り出し，取り出したデータが全て一致しているときに，取り出したデータをリードデータとして出力し，取り出したデータが１つでも一致していないときに，エラーの割り込み信号を出力するという制御を行う。
【発明の効果】
【００３１】
前記のレジスタアクセス制御方法によれば，レジスタアクセス制御回路で，複数のレジスタ各々に書き込まれた同一データの読み出しを１回のリードアクセスで行うことができ，リードアクセスの時間を短縮することができる。よって，システムの立ち上げ時間を短縮することができる。
【図面の簡単な説明】
【００３２】
【図１】レジスタアクセス制御回路の実施の一形態における構成例を示す図である。
【図２】レジスタアクセス制御回路の実施の一形態における制御の流れを示す図である。
【図３】レジスタアクセス制御回路のライトアクセス制御のため処理部の構成例を示す図である。
【図４】複数レジスタに対するアクセス制御が実行されるシステムの構成例を示す図である。
【図５】複数レジスタに対するリードアクセス制御を行うレジスタアクセス制御回路の構成例を示す図である。
【図６】複数レジスタに対するリードアクセス制御の流れを説明する図である。
【図７】複数レジスタに対するリードアクセス制御の流れを説明する図である。
【発明を実施するための形態】
【００３３】
図１は，本発明にかかるレジスタアクセス制御回路１の実施の一形態における構成例を示す図である。本形態において，レジスタアクセス制御回路１に，４つのレジスタが搭載されているとする。
【００３４】
図１のレジスタアクセス制御回路１は，各ボードに搭載される回路である。例えば，レジスタアクセス制御回路１は，図４に示すような構成のシステムの各ボード上のチップに搭載される。
【００３５】
レジスタアクセス制御回路（チップ）１は，リードデータ制御に関する処理回路として，複数のレジスタ１０＿０，１０＿１，１０＿２，１０＿３，バス制御回路１１，アドレス比較器１２，リードデータ比較器１３，リードデータ出力器１４，エラー出力器１５，およびデータ選択器１６を備える。
【００３６】
レジスタ１０＿０，１０＿１，１０＿２，１０＿３は，同一仕様のレジスタであって，各レジスタには個別のアドレスと共に，全レジスタに共通する１つの共通アドレスが割り振られる。
【００３７】
Ｉ２Ｃバス制御回路１１は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３のリードアクセスまたはライトアクセスを受け付けて，レジスタ１０＿０，１０＿１，１０＿２，１０＿３のデータのリードまたはライトを制御する。
【００３８】
アドレス比較器１２は，ライトアクセス対象またはリードアクセス対象のレジスタのアドレス，つまりレジスタ１０＿０，１０＿１，１０＿２，１０＿３の個別アドレスまたは共通アドレスを特定する。
【００３９】
アドレス比較器１２は，一例として，４つのレジスタ１０に共通して割り振られたアドレス０ｘＡ０００を保持するレジスタ１２ａと，レジスタ１０＿０，１０＿１，１０＿２，１０＿３それぞれに対応して，個別に割り振られた個別のアドレス０ｘ００００，０ｘ０１００，０ｘ０２００，０ｘ０３００を保持するレジスタ１２ｂ，１２ｃ，１２ｄ，１２ｅと，選択回路１２ｆ，１２ｇ，１２ｈ，１２ｉ，１２ｊと，デコーダ１２ｋとを備える。
【００４０】
選択回路１２ｆ，１２ｇ，１２ｈ，１２ｉ，１２ｊは，それぞれ，対応するレジスタ１２ａ，１２ｂ，１２ｃ，１２ｄ，１２ｅが保持するアドレスと,Ｉ２Ｃバス制御回路１１から入力されたアドレスとを比較して，これらのアドレスが一致するときに，対応するレジスタのアドレスを示すセレクト信号を出力する。
【００４１】
より具体的には，選択回路１２ｆは，Ｉ２Ｃバス制御回路１１からのアドレスと，対応するレジスタ１２ａに保持する共通アドレス０ｘ０Ａ００とを比較して，２つのアドレスが一致する場合に，リードアクセス対象である共通アドレス０ｘ０Ａ００を示すセレクト信号を出力する。選択回路１２ｆが出力したセレクト信号は，リードデータ比較器１３とリードデータ出力器１４への入力となる。
【００４２】
また，選択回路１２ｇは，Ｉ２Ｃバス制御回路１１からのアドレスと，対応するレジスタ１２ｂに保持するレジスタ１０＿０の個別アドレス０ｘ００００とを比較して，２つのアドレスが一致する場合に，リードアクセス対象であるレジスタ１０＿０のアドレス０ｘ００００を示すセレクト信号を出力する。選択回路１２ｈ，１２ｉ，１２ｊも，それぞれ，選択回路１２ｇと同様に動作する。選択回路１２ｈ，１２ｉ，１２ｊは，それぞれ，Ｉ２Ｃバス制御回路１１からのアドレスと，自回路に対応するレジスタ１２（１２ｃ，１２ｄ，１２ｅ）で保持するアドレスとが一致する場合に，リードアクセス対象が自レジスタ１０（１０＿１，１０＿２，１０＿３）であることを示すアドレス（０ｘ０１００，０ｘ０２００，０ｘ０３００）を示すセレクト信号を出力する。
【００４３】
選択回路１２ｇ，１２ｈ，１２ｉ，１２ｊが出力したセレクト信号は，データ選択器１６への入力となる。
【００４４】
デコーダ１２ｋは，Ｉ２Ｃバス制御回路１１から入力されたアドレス信号をデコードして，デコードしたアドレスを選択回路１２ｆ，１２ｇ，１２ｈ，１２ｉ，１２ｊへ出力する。
【００４５】
リードデータ比較器１３は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３各々に書き込まれたデータを比較する。
【００４６】
リードデータ比較器１３は，一例として，データ比較回路１３ａとエラー信号回路１３ｂとを備える。
【００４７】
データ比較回路１３ａは，レジスタ１０＿０，１０＿１，１０＿２，１０＿３各々に書き込まれたデータを比較して，４つのデータが全て一致する場合のみ，４つのレジスタに書き込まれたデータの一致を示すセレクト信号を出力する。
【００４８】
データ比較回路１３ａが出力したセレクト信号は，エラー信号回路１３ｂとリードデータ出力器１４への入力となる。
【００４９】
エラー信号回路１３ｂは，データ比較回路１３ａがセレクト信号を出力しない場合にエラー信号を出力する。すなわち，エラー信号回路１３ｂは，２入力ＡＮＤゲートであり，選択回路１２ｆのセレクト信号と，データ比較回路１３ａから出力される信号の反転信号との入力がある場合に，４つのレジスタ１０＿０，１０＿１，１０＿２，１０＿３に書き込まれたデータが不一致であることを示すエラー信号を出力する。
【００５０】
エラー信号回路１３ｂが出力したエラー信号は，エラー出力器１５への入力となる。
【００５１】
リードデータ出力器１４は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３各々から取り出したデータが全て一致することを，リードデータ比較器１３の出力が示している場合に，レジスタ１０＿０から取り出したデータをリードデータとして出力する。また，リードデータ出力器１４は，リードアクセス対象がレジスタ１０＿０〜１０＿３の個別アドレスである場合に，リードアクセス対象の個別アドレスに対応するレジスタ１０のデータをリードデータとして出力する。
【００５２】
リードデータ出力器１４は，一例として，共通アドレスデータ取得回路１４ａとデータ選択回路１４ｂとデータ出力回路１４ｃとを備える。
【００５３】
共通アドレスデータ取得回路１４ａは，３入力ＡＮＤゲートであり，リードデータ比較器１３のデータ比較回路１３ａのセレクト信号とアドレス比較器１２の選択回路１２ｆのセレクト信号との入力がある場合に，レジスタ１０＿０に書き込まれたデータを出力する。
【００５４】
データ選択回路１４ｂは，２入力ＯＲゲートであり，共通アドレスデータ取得回路１４ａが出力したデータ（すなわちレジスタ１０＿０に書き込まれたデータ）またはデータ選択器１６が出力したデータのいずれかを，データ出力回路１４ｃへ出力する。
【００５５】
データ出力回路１４ｃは，Ｉ２Ｃバス制御回路１１が出力したリードタイミングで，データ選択回路１４ｂが出力したデータを，リードデータとしてＩ２Ｃバス制御回路１１へ出力する。
【００５６】
エラー出力器１５は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３から取り出したデータが１つでも一致しない場合に，リードアクセスのエラーを示す割り込み信号を出力する。エラー出力器１５は，一例として，２入力ＡＮＤゲートであり，リードデータ比較器１３のエラー信号回路１３ｂのエラー信号と，Ｉ２Ｃバス制御回路１１が出力したリードタイミングとの入力がある場合に割り込み信号を出力する。
【００５７】
データ選択器１６は，リードアクセス対象がレジスタ１０＿０，１０＿１，１０＿２，１０＿３の個別アドレスである場合に，アドレス比較器１２からの個別アドレスを示すセレクト信号に応じてレジスタ１０＿０，１０＿１，１０＿２，１０＿３を選択し，選択したレジスタに書き込まれたデータをリードデータ出力器１４へ出力する。
【００５８】
データ選択器１６は，一例として，比較回路１６ａ，１６ｂ，１６ｃ，１６ｄと，選択回路１６ｅとを備える。
【００５９】
比較回路１６ａは，アドレス比較器１２の選択回路１２ｇのセレクト信号が対応するレジスタ１０＿０のアドレスと一致すると，レジスタ１０＿０に書き込まれたデータを取り出して，選択回路１６ｅへ出力する。比較回路１６ｂ，１６ｃ，１６ｄは，比較回路１６ａと同様に，それぞれ，アドレス比較器１２の選択回路１２ｈ，１２ｉ，１２ｊのセレクト信号が対応するレジスタ１０のアドレスと一致すると，自回路に対応するレジスタ１０＿１，１０＿２，１０＿３に書き込まれたデータを取り出して，選択回路１６ｅへ出力する。
【００６０】
選択回路１６ｅは，比較回路１６ａ，１６ｂ，１６ｃ，１６ｄのいずれかからのデータを入力してリードデータ出力器１４へ出力する。
【００６１】
図２は，レジスタアクセス制御回路（チップ）１の実施の一形態における，ライトアクセス制御に関連する処理回路の構成例を示す図である。
【００６２】
レジスタアクセス制御回路（チップ）１は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３，アドレス比較器１２，およびデータ書き込み器１８を備える。
【００６３】
レジスタ１０＿０，１０＿１，１０＿２，１０＿３およびアドレス比較器１２は，図１に示す同一番号を付与したレジスタ１０＿０，１０＿１，１０＿２，１０＿３およびアドレス比較器１２と同一のものである。
【００６４】
データ書き込み器１８は，ライトデータ選択回路１８ａ，１８ｂ，１８ｃ，１８ｄと書き込み回路１８ｅ，１８ｆ，１８ｇ，１８ｈとを備える。
【００６５】
ライトアクセス制御において，アドレス比較器１２の選択回路１２ｆが出力したセレクト信号がライトデータ選択回路１８ａ，１８ｂ，１８ｃ，１８ｄへの入力となる。また，選択回路１２ｇが出力したセレクト信号がライトデータ選択回路１８ａへの入力となり，選択回路１２ｈが出力したセレクト信号がライトデータ選択回路１８ｂへの入力となり，選択回路１２ｉが出力したセレクト信号がライトデータ選択回路１８ｃへの入力となり，選択回路１２ｊが出力したセレクト信号がライトデータ選択回路１８ｄへの入力となる。
【００６６】
ライトデータ選択回路１８ａ，１８ｂ，１８ｃ，１８ｄは，それぞれ，選択回路１２ｆが出力する，ライトアクセス対象である共通アドレスを示すセレクト信号，または，選択回路１２ｇ，１２ｈ，１２ｉ，１２ｊそれぞれが出力する，ライトアクセス対象であるレジスタの個別アドレスを示すセレクト信号のいずれかのアドレスに対するライトデータとして，Ｉ２Ｃバス制御回路１１から受け付けたデータを，各回路が対応する書き込み回路１８ｅ，１８ｆ，１８ｇ，１８ｈへ出力する。
【００６７】
書き込み回路１８ｅ，１８ｆ，１８ｇ，１８ｈは，それぞれ，対応するライトデータ選択回路１８ａ，１８ｂ，１８ｃ，１８ｄからのライトデータを，レジスタ１０＿０，１０＿１，１０＿２，１０＿３へ書き込む。
【００６８】
図３に，図４に示すシステム１００を構成するボード上に搭載されたレジスタアクセス制御回路（チップ）１の制御の流れを示す。
【００６９】
システムマネジメントボード１４０が，レジスタ１０＿０，１０＿１，１０＿２，１０＿３の共通アドレス０ｘＡ０００へのライト（ｗｒｉｔｅ）アクセスを行う（ステップＳ１）。
【００７０】
レジスタアクセス制御回路１は，このライト（ｗｒｉｔｅ）アクセスを受け付けて，共通アドレス０ｘＡ０００を割り振ったレジスタ１０＿０，１０＿１，１０＿２，１０＿３へライトデータを書き込む（ステップＳ２）。
【００７１】
具体的には，図２に示すように，アドレス比較器１２の選択回路１２ｆが，Ｉ２Ｃバス制御回路１１から受け付けたアドレスとアドレス比較器１２に保持した共通アドレス０ｘＡ０００とを比較し，２つのアドレスが一致して，データ書き込み器１８のライトデータ選択回路１８ａ，１８ｂ，１８ｃ，１８ｄへ，共通アドレスを示すセレクト信号を出力する。
【００７２】
ライトデータ選択回路１８ａ，１８ｂ，１８ｃ，１８ｄは，それぞれ，入力した選択回路１２ｆのセレクト信号を入力すると，書き込み回路１８ｅ，１８ｆ，１８ｇ，１８ｈへライト信号を出力する。
【００７３】
そして，書き込み回路１８ｅは，ライトデータ選択回路１８ａからのライト信号の入力がある場合に，Ｉ２Ｃバス制御回路１１から出力されるライトタイミングで，受け付けたライトデータを，対応するレジスタ１０＿０へ書き込む。他の書き込み回路１８ｆ，１８ｇ，１８ｈも，書き込み回路１８ｅと同様に動作して，受け付けたライトデータを，対応するレジスタ１０へ書き込む。
【００７４】
これにより，レジスタアクセス制御回路１は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３に共通して割り振られた１つの共通アドレス０ｘＡ０００への１回のライトアクセスを受け付けるだけで，ライトデータを複数のレジスタ１０＿０，１０＿１，１０＿２，１０＿３各々へ一度にライトする。
【００７５】
その後，システムマネジメントボード１４０が，レジスタ１０＿０，１０＿１，１０＿２，１０＿３の共通アドレス０ｘＡ０００へのリード（ｒｅａｄ）アクセスを行う（ステップＳ３）。
【００７６】
レジスタアクセス制御回路１のＩ２Ｃバス制御回路１１が，共通アドレス０ｘＡ０００のリード（ｒｅａｄ）アクセスを受け付けると，アドレス比較器１２が，Ｉ２ｃバス制御回路１１からアドレスを受け付け，レジスタ１０＿０，１０＿１，１０＿２，１０＿３の共通アドレス０ｘＡ０００と特定する（ステップＳ４）。具体的には，アドレス比較器１２の選択回路１２ｆが，Ｉ２Ｃバス制御回路１１から受け付けたアドレスと，レジスタ１２ａに保持する共通アドレス０ｘ０Ａ０００とが一致して，共通アドレス０ｘＡ０００を示すセレクト信号を出力する。
【００７７】
そして，リードデータ比較器１３は，レジスタ１０＿０，１０＿１，１０＿２，１０＿３に書き込まれたデータを取り出し，取り出したデータ同士を比較して（ステップＳ５），取り出したデータが一致しているかを判定する（ステップＳ６）。具体的には，リードデータ比較器１３のデータ比較回路１３ａが，レジスタ１０＿０，１０＿１，１０＿２，１０＿３から取り出したデータが全て一致する場合に，全レジスタ１０に書き込まれたデータの一致を示すセレクト信号を出力する。
【００７８】
そして，リードデータ出力器１４は，リードアクセスのアドレスが共通アドレス０ｘＡ０００である場合に，リードデータ比較器１３による比較結果を受け，各レジスタ１０＿０，１０＿１，１０＿２，１０＿３から取り出したデータが一致することを示している場合に（ステップＳ６のＹｅｓ），レジスタ１０＿０のデータをリードデータとして出力する（ステップＳ７）。具体的には，リードデータ出力器１４の共通アドレスデータ取得回路１４ａが，データ比較回路１３ａのセレクト信号の入力があると，レジスタ１０＿０に書き込まれたデータを取り出して，データ選択回路１４ｂへ出力する。
【００７９】
一方，リードデータ比較器１３の出力が，レジスタ１０＿０，１０＿１，１０＿２，１０＿３から取り出したデータが一致していないことを示している場合に（ステップＳ６のＮｏ），エラー出力器１５が，リードアクセスのエラーを示す割り込み信号を出力する（ステップＳ８）。具体的には，エラー信号回路１３ｂが，アドレス比較器１２の選択回路１２ｆのセレクト信号がある場合に，データ比較回路１３ａの出力するセレクト信号の反転信号の入力があると，エラー信号を出力する。
【００８０】
システムマネジメントボード１４０側では，レジスタアクセス制御回路１からリードデータが送信された場合に，送信されたリードデータを受信して，ステップＳ１の処理のライトデータと，レジスタアクセス制御回路１から受信したリードデータとを比較する（ステップＳ１０）。ライトデータとリードデータとが一致する場合には（ステップＳ１１のＹｅｓ），次のレジスタアクセスが実行される。一方，ライトデータとリードデータとが一致していない場合には（ステップＳ１１のＮｏ），レジスタアクセスのリトライ回数が規定回数未満であるかを判定する（ステップＳ１２）。リトライ回数が規定回数未満であれば（ステップＳ１２のＹｅｓ），ステップＳ１の処理へ戻り，ライトアクセスを実行し，リトライ回数が規定回数未満でなければ（ステップＳ１２のＮｏ），エラー処理を実行する。
【００８１】
また，レジスタアクセス制御回路１から割り込み信号が出力された場合も（ステップＳ８），レジスタアクセスのリトライ回数が規定回数未満であるかを判定し（ステップＳ１２），判定結果に従って，ライトアクセス処理（ステップＳ１）またはエラー処理を実行する。
【００８２】
なお，レジスタアクセス制御回路１のＩ２Ｃバス制御回路１１が，各レジスタに割り振られた個別アドレスのリード（ｒｅａｄ）アクセスを受け付けた場合には，アドレス比較器１２の選択回路１２ｇ，１２ｈ，１２ｉ，１２ｊのいずれかが，Ｉ２Ｃバス制御回路１１から受け付けたアドレスと，自回路に対応するレジスタの個別アドレスと一致する場合に，その個別アドレスを示すセレクト信号を出力する。
【００８３】
そして，データ選択器１６の比較回路１６ａ〜１６ｄは，セレクト信号の入力があると，入力したセレクト信号と自回路に対応するレジスタ１０のアドレスと比較して，２つのアドレスが一致する場合に，対応するレジスタ１０に書き込まれたデータを比較回路１６ｂへ出力する。そして，比較回路１６ｂが，入力したデータをリードデータ出力器１４へ出力する。
【００８４】
例えば，レジスタアクセス制御回路１のＩ２Ｃバス制御回路１１が受け付けたアドレスが，レジスタ１０＿０の個別アドレス０ｘ０１００である場合に，アドレス比較器１２の選択回路１２ｇが，受け付けたアドレスと，レジスタ１０＿０の個別アドレスと一致するので，個別アドレス０ｘ０１００を示すセレクト信号を比較回路１６ａへ出力する。すると，比較回路１６ａが，入力したセレクト信号と，対応するレジスタ１０＿０の個別アドレス０ｘ０１００と比較して２つのアドレスが一致するので，レジスタ１０＿０に書き込まれたデータを比較回路１６ｂへ出力する。
【００８５】
以上の実施の形態に示したように，レジスタアクセス制御回路１は，同一仕様の複数のレジスタへのライトアクセスとリードアクセスとを１回のアクセスで行えるため，アクセス効率を向上させることができる。その結果，レジスタアクセス制御回路１を備えるボードで構成されたシステムの立ち上げ時間を短縮することが可能となる。
【００８６】
以上の説明では，主として本願発明者によってなされた発明を，その背景となった技術分野であるレジスタアクセス制御に適用した場合について説明したが，本願発明はこれに限定されるものではなく，その記述の主旨の範囲において種々の変形が可能であることは当然である。
【符号の説明】
【００８７】
１  レジスタアクセス制御回路
１０＿０，１０＿１，１０＿２，１０＿３  レジスタ
１１  Ｉ２Ｃバス制御回路
１２  アドレス比較器
１３  リードデータ比較器
１４  リードデータ出力器
１５  エラー出力器
１６  データ選択器
１８  データ書き込み器
【図１】
2011096163.tif 000003
【図２】
2011096163.tif 000004
【図３】
2011096163.tif 000005
【図４】
2011096163.tif 000006
【図５】
2011096163.tif 000007
【図６】
2011096163.tif 000008
【図７】
2011096163.tif 000009