(57)【要約】【課題】ブート処理を柔軟に実行できるバス接続デバイスを提供する。【解決手段】バス接続デバイスが、初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつバスから書き替え可能なアドレス記憶部と、初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつバスから書き替え可能な初期化開始可否記憶部とを有し、記憶される初期化開始可否情報が初期化開始可であるときに、記憶されるバス上のアドレスから初期化処理の情報を入手し、初期化処理を実行する。【選択図】図１
2006155321.tif 000002
【特許請求の範囲】
【請求項１】
初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつ前記バスから書き替え可能なアドレス記憶部と、
前記初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつ前記バスから書き替え可能な初期化開始可否記憶部と、
前記記憶される初期化開始可否情報が初期化開始可であるときに、前記記憶されるバス上のアドレスから初期化処理の情報を入手する初期化情報入手部と、
前記入手される初期化処理の情報に基づいて、初期化処理を実行する初期化実行部と、
を具備することを特徴とするバス接続デバイス。
【請求項２】
前記入手される初期化処理の情報が書き込まれる初期化情報記憶部と、
前記初期化処理の情報の入手先を前記バス上と、前記初期化情報記憶部との何れであるかを表す入手先選択情報を記憶する入手先選択情報記憶部と、をさらに具備し、
前記記憶される入手先選択情報に基づいて、前記初期化情報入手部が前記初期化処理の情報を入手する
ことを特徴とする請求項１記載のバス接続デバイス。
【請求項３】
前記バス接続デバイスの初期化処理の開始指示を入力する初期化開始指示入力部をさらに具備し、
前記入力される初期化処理の開始指示に基づいて、前記初期化情報入手部が前記初期化処理の情報を入手する
ことを特徴とする請求項２記載のバス接続デバイス。
【請求項４】
前記初期化開始指示入力部が、前記バス接続デバイスの動作状態からの初期化処理の開始指示を入力する第１の初期化開始指示入力部と、前記バス接続デバイスの停止状態からの初期化処理の開始指示を入力する第２の初期化開始指示入力部と、を有し、
前記入力される初期化処理の開始指示が動作状態、停止状態のいずれであるかに基づいて、前記記憶される入手先選択情報が切り換えられる
ことを特徴とする請求項２記載のバス接続デバイス。
【請求項５】
前記初期化情報入手部が、前記バス上から初期化処理の情報を入手する第１の初期化情報入手部と、前記初期化情報記憶部から初期化処理の情報を入手する第２の初期化情報入手部とを有する
ことを特徴とする請求項２記載のバス接続デバイス。
【請求項６】
前記記憶される入手先選択情報に対応して、前記初期化情報記憶部でのオフセットアドレスを切り換えるオフセットアドレス切り換え部、をさらに具備する
ことを特徴とする請求項２記載のバス接続デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩバス等のバスに接続されるバス接続デバイスに関する。
【背景技術】
【０００２】
ＰＣＩバス等のバスに接続され、種々の機能を営むバス接続デバイス（一例として、ＰＣＩボード）が用いられている。バス接続デバイスは、ＣＰＵ（Central Processing Unit）を有し、使用時には初期化処理される。この初期化処理は、初期化コードを読み込むことで実行されるものであり、通例、ブート処理と呼ばれる。
なお、ブートドライブに設定されていない記憶装置を用いてコンピュータのブート処理を行う技術が公開されている（特許文献１参照）。
【特許文献１】特開２００３−１１４８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１記載の技術はコンピュータ自体のブート処理のためのものであり、バス接続デバイスのブート処理を実行する上で必ずしも有用とは言い難い。
上記に鑑み、本発明はブート処理を柔軟に実行できるバス接続デバイスを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、本発明に係るバス接続デバイスは、初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつ前記バスから書き替え可能なアドレス記憶部と、前記初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつ前記バスから書き替え可能な初期化開始可否記憶部と、前記記憶される初期化開始可否情報が初期化開始可であるときに、前記記憶されるバス上のアドレスから初期化処理の情報を入手する初期化情報入手部と、前記入手される初期化処理の情報に基づいて、初期化処理を実行する初期化実行部と、を具備することを特徴とする。
【発明の効果】
【０００５】
本発明によれば、ブート処理を柔軟に実行できるバス接続デバイスを提供できる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
図１は本発明の一実施形態に係るＰＣＩバス接続システム１０を表すブロック図である。
ＰＣＩバス接続システム１０は，ＰＣＩバス１１に接続されるＰＣＩホストデバイス１２，ブート情報格納部１３、ＰＣＩデバイス１４から構成され、全体としてコンピュータシステムとして機能する。
【０００７】
ＰＣＩバス（Peripheral Component Interconnect Bus）１１は、コンピュータの情報の伝送路の一種である。なお、ＰＣＩバス仕様では、ＰＣＩのアドレス空間を定義済みのヘッダ部分と、ＰＣＩデバイス１４等が自由に定義可能なデバイス固有領域とに区分される。
ＰＣＩホストデバイス１２は、ＣＰＵ（Central Processing Unit）、周辺機器等を有し、それ自体で一種のコンピュータを構成する。
【０００８】
ブート情報格納部１３は、ＰＣＩデバイス１４のブート処理用のブートコードを記憶する記憶装置であり、例えば、磁気ディスク（ＨＤ(Hard Disk)等）、半導体メモリ（ＲＯＭ、ＲＡＭ等）、光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）等）、光磁気ディスク（MO-DISK: Magneto Optical disk）を用いることができる。ＰＣＩバス１１を介して、記憶するブートコードをＰＣＩデバイス１４に出力できれば、その種別は問われない。
ブートコードは、ＰＣＩデバイス１４の初期化処理（ブート処理）のためのデータ（初期化処理の情報）であり、例えば、プログラム、制御情報（一例として、制御用のレジスタのデータ）を含めることができる。後述のＣＰＵ２２０がこのブートコードで動作することで、ＰＣＩデバイス１４が初期化される。
【０００９】
ＰＣＩデバイス１４は、ＰＣＩバス１１に接続される周辺機器一般、例えば、ＰＣＩボード（又は、その一部（例えば、半導体チップ））であり、ホストバス２１０、およびこれに接続されるＣＰＵ（Central Processing Unit）２２０、ＲＡＭ（Random Access Memory）２３０、ＲＡＭコントローラ２４０、ブート先指定レジスタ２５０、リセットスイッチ２６０、ＰＣＩバスコントローラ２７０を有する。
【００１０】
ホストバス２１０は、ＰＣＩデバイス１４内での情報の伝送路である。
ＣＰＵ２２０は、ＰＣＩデバイス１４全体を統括的に制御する制御装置であり、初期化実行部として機能する。
ＲＡＭ２３０は、ＣＰＵ２２０の主記憶装置であり、ＰＣＩデバイス１４の動作中にブートコードを記憶しておくことができ、初期化情報記憶部として機能する。ＲＡＭ２３０を用いることでブート処理をより速やかに行える。ＲＡＭ２３０がＰＣＩデバイス１４の停止中に記憶内容を保持しない揮発性の記憶装置であっても、ＰＣＩデバイス１４をパワーオンリセット（ホットスタート）するときには、ＲＡＭ２３０を用いることができる。なお、ＲＡＭ２３０がＰＣＩデバイス１４の停止中に記憶内容を保持する不揮発性の記憶装置であれば、ＰＣＩデバイス１４のパワーオフリセット（コールドスタート）時にも利用可能となる。
ＲＡＭコントローラ２４０は、ＲＡＭ２３０の動作を制御するものであり、その詳細は後述する。
【００１１】
ブート先指定レジスタ２５０は、ブート処理に用いるブート先をブート情報格納部１３とＲＡＭ２３０のいずれにするかを表すブート先切替情報を記憶するものであり、入手先選択情報記憶部として機能する。
初期化時には、ブート先指定レジスタ２５０はＰＣＩバスコントローラ２７０（最終的には、ＰＣＩバス１１上のデバイス（ブート情報格納部１３））をブートデバイスとして指定する。また、ブート完了時（ブートコードがＲＡＭ２３０に記憶されたとき）には、ブート先指定レジスタ２５０はＲＡＭ２３０をブートデバイスとして指定する。ＲＡＭ２３０にブートコードが記憶されているときには、ＲＡＭ２３０をブートデバイスとすることでブート処理が促進される。
【００１２】
ブート先指定レジスタ２５０の記憶内容はリセットスイッチ２６０によって書き替え可能である。即ち、リセットスイッチ２６０によってパワーオフリセット（コールドスタート）するときには、ブート先指定レジスタ２５０は初期化され、ＰＣＩバスコントローラ２７０（最終的には、ブート情報格納部１３）をブートデバイスとして指定する。但し、リセットスイッチ２６０によってパワーオンリセット（ホットスタート）するときには、ブート先指定レジスタ２５０は初期化されず、ＲＡＭ２３０がブートデバイスとして指定された状態が保持される。これらの処置は、ＲＡＭ２３０が揮発性の記憶装置である場合に対応するためのものである。
ブート先指定レジスタ２５０によって、後述のオフセットアドレスレジスタ２４３およびベースアドレスレジスタ２４４が切り換えられる。
【００１３】
リセットスイッチ２６０は、ＰＣＩデバイス１４のリセット（初期化処理（ブート処理）の開始を指示するための入力装置であり、初期化開始指示入力部として機能する。
このとき、リセットとしてパワーオンリセットとパワーオフリセットとを選択できる。パワーオンリセットは、いわゆるホットスタートであり、ＰＣＩデバイス１４の動作状態を完全には解除せずに初期化が行われる。また、パワーオフリセットは、いわゆるコールドスタートであり、ＰＣＩデバイス１４の動作状態を解除（一旦停止状態とする）してから初期化が行われる（あるいは完全な停止状態からの初期化処理）。
【００１４】
このパワーオン／パワーオフ・リセットのいずれが選択されるかに応じて、ブート先としてＲＡＭ２３０、ＰＣＩバスコントローラ２７０（最終的には、ブート情報格納部１３）がそれぞれ選択される。即ち、前述のように、パワーオンリセットではブート先指定レジスタ２５０が初期化されずＲＡＭ２３０が指定され、パワーオフリセットではブート先指定レジスタ２５０が初期化されてＰＣＩバス１１上のデバイス（ブート情報格納部１３）が指定される。
【００１５】
ＰＣＩバスコントローラ２７０は、ＰＣＩデバイス１４のＰＣＩバス１１への接続を制御するものであり、その詳細は後述する。
【００１６】
（ＲＡＭコントローラ２４０の詳細）
ＲＡＭコントローラ２４０は、ＲＡＭアクセス制御回路２４１，デコーダ２４２、オフセットアドレスレジスタ２４３（２４３ａ，２４３ｂ），ベースアドレスレジスタ２４４（２４４ａ，２４４ｂ）を有する。
ＲＡＭアクセス制御回路２４１は，ＲＡＭ２３０に接続され、ＲＡＭ２３０からのデータの読み出し、書き込みを制御するものであり、第２の初期化情報入手部として機能する。また、ＲＡＭアクセス制御回路２４１は，ＲＡＭ２３０上でのアドレスとホストバス２１０上でのアドレス間でのアドレス変換を行う。
デコーダ２４２は、ＲＡＭ２３０でのデータ形式と、ホストバス２１０でのデータ形式とを変換する。
【００１７】
オフセットアドレスレジスタ２４３は，ＲＡＭ２３０のオフセットアドレスを記憶するレジスタであり、オフセットアドレス切り換え部として機能する。オフセットアドレスレジスタ２４３は，通常時でのオフセットアドレスを記憶する通常時オフセットアドレスレジスタ２４３ａと、ＲＡＭ２３０でのブート時のオフセットアドレスを記憶するブート時オフセットアドレスレジスタ２４３ｂとを有し、これらをブート先指定レジスタ２５０によって切り替えることができる。
【００１８】
ＲＡＭ２３０によるブート処理では、ＲＡＭ２３０上でブートコードが記憶された領域の先頭のアドレスをオフセットアドレスとする。また、通常時のオフセットアドレスとして、例えば、“０”（ＲＡＭ２３０の先頭番地）を用いることができる。なお、これはオフセットアドレスを用いないことと実質的に同じである。
ＲＡＭ２３０でのブート時と、通常時とでＲＡＭ２３０のオフセットアドレスを切替えることで、ＲＡＭ２３０のアドレス空間をより有効に用いることができる。
【００１９】
ベースアドレスレジスタ２４４は、ＲＡＭ２３０のオフセットアドレスに対応するホストバス２１０上でのアドレスを記憶するレジスタである。ベースアドレスレジスタ２４４は、通常時のベースアドレスを記憶する通常時ベースアドレスレジスタ２４４ａと、ＲＡＭ２３０でのブート時のベースアドレスを記憶するブート時ベースアドレスレジスタ２４４ｂとを有し、これらをブート先指定レジスタ２５０によって切り替えることができる。
【００２０】
通常時オフセットアドレスレジスタ２４３ａと通常時ベースアドレスレジスタ２４４ａ、およびブート時オフセットアドレスレジスタ２４３ｂとブート時ベースアドレスレジスタ２４４ｂはそれぞれ、互いに対応し、ＲＡＭ２３０のアドレスそのもの、あるいはホストバス２１０から見たＲＡＭ２３０のアドレスを表している。
【００２１】
（ＰＣＩバスコントローラ２７０の詳細）
ＰＣＩバスコントローラ２７０は、デコーダ２７１、アドレス変換部２７２，ホストバスアクセス制御回路２７３，デコーダ２７４、アドレス変換部２７５，ＰＣＩバスアクセス制御回路２７６，コンフィグレーションレジスタ２７７を有する。
【００２２】
デコーダ２７１は，ＰＣＩバス１１に接続され、ＰＣＩバス１１でのデータ形式をホストバス２１０でのデータ形式へと変換する。
アドレス変換部２７２は，ＰＣＩバス１１上でのアドレスからホストバス２１０上でのアドレスへのアドレス変換を行う。
ホストバスアクセス制御回路２７３は，ホストバス２１０に接続され、ホストバス２１０へのデータの出力を制御する。
【００２３】
デコーダ２７４は，ホストバス２１０に接続され、ホストバス２１０でのデータ形式をＰＣＩバス１１でのデータ形式へと変換する。
アドレス変換部２７５は，ホストバス２１０上でのアドレスからＰＣＩバス１１上でのアドレスへのアドレス変換を行う。またアドレス変換部２７５は，後述のブートベースアドレスレジスタ２７７ａで指定されたアドレスをＰＣＩバス上のアドレスに変換する。
ＰＣＩバスアクセス制御回路２７６は，ＰＣＩバス１１に接続され、ＰＣＩバス１１へのデータの出力を制御するものであり、第１の初期化情報入手部として機能する。
【００２４】
コンフィグレーションレジスタ２７７は、ＰＣＩバスコントローラ２７０の動作を規定するパラメータを記憶するレジスタであり、ブートベースアドレスレジスタ２７７ａ、バスマスタイネーブルレジスタ２７７ｂ、ブートイネーブルレジスタ２７７ｃを含む。なお、これらのレジスタのアドレスはＰＣＩバス１１でのアドレス空間のデバイス固有領域に配置される。
なお、コンフィグレーションレジスタ２７７の記憶内容は、ＰＣＩデバイス１４の停止時でも保持される。
【００２５】
ブートベースアドレスレジスタ２７７ａは、アドレス記憶部として機能する。即ち、ブートベースアドレスレジスタ２７７ａは、ブートコードが格納されている領域のＰＣＩバスアドレス（ブート情報格納部１３のＰＣＩバス１１上でのアドレス）を記憶するものであり、ＰＣＩバス１１経由でＰＣＩホストデバイス１２等によって書き換え可能である。ブート情報格納部１３を適宜に設定、変更することを可能とするためである。
【００２６】
バスマスタイネーブルレジスタ２７７ｂは、ＰＣＩバスアクセス制御回路２７６によるＰＣＩバス１１への出力の許可／禁止を制御するための情報を記憶するものであり、ＰＣＩバス１１経由でＰＣＩホストデバイス１２等によって書き換え可能である。ＰＣＩホストデバイス１２がＰＣＩバスコントローラ２７０によるＰＣＩバス１１のアクセスを制御するためである。
【００２７】
ブートイネーブルレジスタ２７７ｃは、初期化開始可否記憶部として機能する。即ち、ブートイネーブルレジスタ２７７ｃは、ＰＣＩバスアクセス制御回路２７６によるブート処理の許可／禁止を制御するための情報を記憶するものであり、ＰＣＩバス１１経由でＰＣＩホストデバイス１２等によって書き換え可能である。ＰＣＩホストデバイス１２がＰＣＩバスコントローラ２７０によるブート処理の開始を制御するためである。
【００２８】
（ＰＣＩデバイス１４のブート処理）
ＰＣＩデバイス１４のブート処理を説明する。
図２は、ＰＣＩデバイス１４のブート処理の手順の一例を表すフロー図である。以下、本図に従ってＰＣＩデバイス１４のブート処理の手順を説明する。
Ａ．ＰＣＩホストデバイス１２からのブートの指示
ＰＣＩホストデバイス１２からブートの指示があった場合につき説明する。
なお、ブート処理開始前、ブート情報格納部１３にブートコードが格納され、ブートイネーブルレジスタ２７７ｃは「ブート禁止」に設定されているものとする。即ち、ＰＣＩバスアクセス制御回路２７６のＰＣＩバス１１へのアクセスによるブート動作が禁止された状態にある。なお、バスマスタイネーブルレジスタ２７７ｂは、「アクセス許可」、「アクセス禁止」のいずれであっても差し支えない。
【００２９】
（１）ブート開始の設定（ステップＳ１１）
ＰＣＩホストデバイス１２は、ブートベースアドレスレジスタ２７７ａにブートコードが格納されている領域のＰＣＩバスアドレス（ブート情報格納部１３のアドレス）を記憶させ、ブートイネーブルレジスタ２７７ｃを「ブート許可」に設定する。また、バスマスタイネーブルレジスタ２７７ｂが「アクセス禁止」状態であれば、「アクセス許可」に設定を変更する。
【００３０】
（２）ＰＣＩからのブート処理（ステップＳ１２）
ブートイネーブルレジスタ２７７ｃが「ブート許可」状態となったことから、ＰＣＩバスアクセス制御回路２７６は、ブート処理を開始する。このとき、バスマスタイネーブルレジスタ２７７ｂが「アクセス許可」状態であることから、ＰＣＩバスアクセス制御回路２７６はＰＣＩバス１１を用いてブートベースアドレスレジスタ２７７ａに記憶されたアドレスからのブート処理を開始する。
【００３１】
ＰＣＩバスアクセス制御回路２７６がＰＣＩバス１１を用いてブート情報格納部１３にアクセスすることで、ブート情報格納部１３に格納されたブートコードがＰＣＩバス１１経由でデコーダ２７１に入力される。デコーダ２７１に入力されたブートコードはデコーダ２７１でデータ変換され、アドレス変換部２７２でアドレス変換され、ホストバスアクセス制御回路２７３を経由して、ホストバス２１０に出力される。その後、ＣＰＵ２２０がブートコードに基づいて動作することで、ＰＣＩデバイス１４が初期化される。
【００３２】
（３）ブート終了処理（ステップＳ１３）
ブート完了後、ＰＣＩデバイス１４上のＲＡＭ２３０にブートコードが記憶される。また、ＰＣＩデバイス１４のブート先指定レジスタ２５０が書き換えられ、ＲＡＭ２３０がブート先に指定される。この結果、ＲＡＭ２３０を用いた速やかなブート処理が可能となる。
さらに、ＲＡＭ２３０に記憶されたブートコードの先頭番地の値が、ブート時オフセットアドレスレジスタ２４３ｂに記憶される。ＲＡＭ２３０をブートコード用の領域と、通常動作時用の領域とに区分することが容易となる。
【００３３】
Ｂ．ＰＣＩデバイス１４自身からのブートの指示
ＰＣＩデバイス１４自身からのブートの指示があったときは、それがパワーオンリセット、パワーオフリセットのいずれであるかに応じて、ＲＡＭ２３０とブート情報格納部１３とでブートデバイスが切り換えられる（ステップＳ１４〜Ｓ１７）
（１）パワーオンリセット（ホットスタート）
リセットスイッチ２６０への入力によりパワーオンリセットを開始できる。このとき、ブート先指定レジスタ２５０が初期化されないことから、ブートデバイスはＲＡＭ２３０となる。その結果、ＲＡＭ２３０を用いて、ＣＰＵ２２０がブート処理を行う。
【００３４】
このとき、ブート時オフセットアドレスレジスタ２４３ｂに記憶されたアドレスを用いて、ＲＡＭコントローラ２４０はＲＡＭ２３０のブートアドレスの先頭をマッピングする。ＲＡＭ２３０がブートコード用の領域にマッピングされることで、ブート処理が速やかに行われる。
なお、通常動作時は、通常時オフセットアドレスレジスタ２４３ａに記憶されたアドレス（例えば、ＲＡＭ２３０の先頭番地）を用いて、ＲＡＭコントローラ２４０はＲＡＭ２３０にアクセスする。
【００３５】
（２）パワーオフリセット（コールドトスタート）
リセットスイッチ２６０への入力によりパワーオフリセットを開始できる。このとき、ブート先指定レジスタ２５０が初期化され、ブートデバイスはＰＣＩバス１１上のデバイス（ブート情報格納部１３）となる。その結果、ブート情報格納部１３を用いて、ＣＰＵ２２０がブート処理を行う。コンフィグレーションレジスタ２７７の記憶内容は、ＰＣＩデバイス１４の停止時にも保持されるからである。
【００３６】
（参考例）
図３は本発明の参考例に係るバス接続システム５０を表すブロック図である。
バス接続システム５０のＰＣＩデバイス５４はＲＯＭ６３０およびＲＯＭコントローラ６４０を有し、ＲＯＭ６３０からのブート処理が可能である。
また、ＰＣＩデバイス５４はブート先設定ピン６６０を有し、ブート先をＰＣＩバスコントローラに指定できる。ブート先がＰＣＩバスコントローラ６７０として指定されるとＰＣＩバスコントローラ６７０は、ブートアドレスレジスタ６７９に記憶された固定アドレス（ブート情報格納部５３のアドレス）からブートコードを入手して、ブート処理を実行できる。
【００３７】
（バス接続システム１０の特徴）
以下、バス接続システム１０とバス接続システム５０とを比較して、バス接続システム１０の特徴を説明する。
（１）バス接続システム１０では、ブートベースアドレスレジスタ２７７ａとブートイネーブルレジスタ２７７ｃを有し、ＰＣＩホストデバイス１２からのブートアドレス指定が適宜に可能である。バス接続システム１０を管理するＰＣＩホストデバイス１２がＰＣＩデバイス１４にブートアドレスを指定し、ブートを許可することによって、ＰＣＩデバイス１４のプラグアンドプレイを実現できる。
これに対して、バス接続システム５０では、ブートアドレスが固定されていることから、ＰＣＩホストデバイス５２がＰＣＩデバイス５４を自動的に認識し、コンフィグレーションするプラグアンドプレイに対応することが困難となる。
【００３８】
（２）バス接続システム１０は、ＣＰＵ２２０およびＰＣＩホストデバイス１２からリード・ライト可能なブート先指定レジスタ２５０を有し、パワーオンリセット時にブート先指定レジスタ２５０の記憶内容を保持している。この結果、ＲＡＭ２３０が揮発性である場合でも、ＲＡＭ２３０からのリブートが容易となる。
一般に、ＰＣＩバス１１からのリードは低速であり、ホストバス２１０に接続されたＲＡＭ２３０からのリードの方は高速である。ＰＣＩバス１１でのアドレスは、非キャッシュ領域にマッピングされていることから、ＰＣＩバス１１からのリードはターンアラウンドタイムが大きいからである。
このため、ブートコードをＲＡＭ２３０に退避しておき、ＲＡＭ２３０からブートすることで、リブートを高速に行うことができる。パワーオンリセット時であれば、ＲＡＭ２３０が揮発性であっても、ＲＡＭ２３０上のデータが維持されるからである。
ブート先指定レジスタ２５０の記憶内容は、ＣＰＵ２２０から変更できる。またパワーオフリセットにより、ブート先指定レジスタ２５０の記憶内容を初期化することで、リブート時のデバイスを変更できる（リブート前に設定したブートデバイスの指定が解除される）。
【００３９】
これに対して、バス接続システム５０では、ブート先指定レジスタ６５０は、ブート先設定ピン６６０で設定され、リブート時にブートデバイスを変更することは困難となる。
【００４０】
（３）バス接続システム１０は、ＲＡＭコントローラ２４０内にオフセットアドレスレジスタ２４３を有する。ブート先指定レジスタ２５０によってＲＡＭ２３０がブートデバイスとして指定された場合には、ＲＡＭ２３０へのアクセスに際して、ブート時オフセットアドレスレジスタ２４３ｂに記憶されたオフセットを追加したアドレスが用いられる。このため、ＲＡＭ２３０上にブート用のメモリ空間を備えることが容易となる。
即ち、ブート時には、オフセットを追加したＲＡＭ２３０上のアドレスにアクセスすることにより、ブートプログラムとその他のプログラムの領域の重なりが回避される。その結果、バス接続システム１０では、両者を別の領域に区別して配置することが容易となる。
【００４１】
これに対して、バス接続システム５０では、オフセット機構がないので、ブートアドレスがＲＯＭ６３０の先頭番地からとなる。このため、先頭番地近傍のアドレスに配置されるプログラムと、ブートコードとで、アドレスが競合する。即ち、バス接続システム５０では、通常動作時のコードと、リブート用のコードが共通の領域に配置される可能性があり、この両者が重ならないようにコード上の考慮が必要となる。たとえば、割り込み発生時のエントリの領域を避ける必要が生じる。
【００４２】
（その他の実施形態）
本発明の実施形態は上記の実施形態に限られず拡張、変更可能であり、拡張、変更した実施形態も本発明の技術的範囲に含まれる。
例えば、上記実施形態ではＰＣＩバスを例として説明したが、ＰＣＩバス以外のバスであっても本発明を適用することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態に係るバス接続システムを表すブロック図である。
【図２】ＰＣＩデバイスのブート処理の手順の一例を表すフロー図である。
【図３】本発明の参考例に係るバス接続システムを表すブロック図である。
【符号の説明】
【００４４】
１０…バス接続システム、１１…ＰＣＩバス、１２…ＰＣＩホストデバイス、１３…ブート情報格納部、１４…ＰＣＩデバイス、２１０…ホストバス、２２０…ＣＰＵ、２３０…ＲＡＭ、２４０…コントローラ、２４１…アクセス制御回路、２４２…デコーダ、２４３…オフセットアドレスレジスタ、２４３ａ…通常時オフセットアドレスレジスタ、２４３ｂ…ブート時オフセットアドレスレジスタ、２４４…ベースアドレスレジスタ、２４４ａ…通常時ベースアドレスレジスタ、２４４ｂ…ブート時ベースアドレスレジスタ、２５０…ブート先指定レジスタ、２６０…リセットスイッチ、２７０…ＰＣＩバスコントローラ、２７１…デコーダ、２７２…アドレス変換部、２７３…ホストバスアクセス制御回路、２７４…デコーダ、２７５…アドレス変換部、２７６…ＰＣＩバスアクセス制御回路、２７７…コンフィグレーションレジスタ、２７７ａ…ブートベースアドレスレジスタ、２７７ｂ…バスマスタイネーブルレジスタ、２７７ｃ…ブートイネーブルレジスタ
【図１】
2006155321.tif 000003
【図２】
2006155321.tif 000004
【図３】
2006155321.tif 000005