JP2006155321A - バス接続デバイス - Google Patents
バス接続デバイス Download PDFInfo
- Publication number
- JP2006155321A JP2006155321A JP2004346322A JP2004346322A JP2006155321A JP 2006155321 A JP2006155321 A JP 2006155321A JP 2004346322 A JP2004346322 A JP 2004346322A JP 2004346322 A JP2004346322 A JP 2004346322A JP 2006155321 A JP2006155321 A JP 2006155321A
- Authority
- JP
- Japan
- Prior art keywords
- initialization
- bus
- information
- boot
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ブート処理を柔軟に実行できるバス接続デバイスを提供する。
【解決手段】バス接続デバイスが、初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつバスから書き替え可能なアドレス記憶部と、初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつバスから書き替え可能な初期化開始可否記憶部とを有し、記憶される初期化開始可否情報が初期化開始可であるときに、記憶されるバス上のアドレスから初期化処理の情報を入手し、初期化処理を実行する。
【選択図】図1
【解決手段】バス接続デバイスが、初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつバスから書き替え可能なアドレス記憶部と、初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつバスから書き替え可能な初期化開始可否記憶部とを有し、記憶される初期化開始可否情報が初期化開始可であるときに、記憶されるバス上のアドレスから初期化処理の情報を入手し、初期化処理を実行する。
【選択図】図1
Description
本発明は、PCIバス等のバスに接続されるバス接続デバイスに関する。
PCIバス等のバスに接続され、種々の機能を営むバス接続デバイス(一例として、PCIボード)が用いられている。バス接続デバイスは、CPU(Central Processing Unit)を有し、使用時には初期化処理される。この初期化処理は、初期化コードを読み込むことで実行されるものであり、通例、ブート処理と呼ばれる。
なお、ブートドライブに設定されていない記憶装置を用いてコンピュータのブート処理を行う技術が公開されている(特許文献1参照)。
特開2003−114800号公報
なお、ブートドライブに設定されていない記憶装置を用いてコンピュータのブート処理を行う技術が公開されている(特許文献1参照)。
しかしながら、特許文献1記載の技術はコンピュータ自体のブート処理のためのものであり、バス接続デバイスのブート処理を実行する上で必ずしも有用とは言い難い。
上記に鑑み、本発明はブート処理を柔軟に実行できるバス接続デバイスを提供することを目的とする。
上記に鑑み、本発明はブート処理を柔軟に実行できるバス接続デバイスを提供することを目的とする。
上記目的を達成するために、本発明に係るバス接続デバイスは、初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつ前記バスから書き替え可能なアドレス記憶部と、前記初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつ前記バスから書き替え可能な初期化開始可否記憶部と、前記記憶される初期化開始可否情報が初期化開始可であるときに、前記記憶されるバス上のアドレスから初期化処理の情報を入手する初期化情報入手部と、前記入手される初期化処理の情報に基づいて、初期化処理を実行する初期化実行部と、を具備することを特徴とする。
本発明によれば、ブート処理を柔軟に実行できるバス接続デバイスを提供できる。
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
図1は本発明の一実施形態に係るPCIバス接続システム10を表すブロック図である。
PCIバス接続システム10は,PCIバス11に接続されるPCIホストデバイス12,ブート情報格納部13、PCIデバイス14から構成され、全体としてコンピュータシステムとして機能する。
図1は本発明の一実施形態に係るPCIバス接続システム10を表すブロック図である。
PCIバス接続システム10は,PCIバス11に接続されるPCIホストデバイス12,ブート情報格納部13、PCIデバイス14から構成され、全体としてコンピュータシステムとして機能する。
PCIバス(Peripheral Component Interconnect Bus)11は、コンピュータの情報の伝送路の一種である。なお、PCIバス仕様では、PCIのアドレス空間を定義済みのヘッダ部分と、PCIデバイス14等が自由に定義可能なデバイス固有領域とに区分される。
PCIホストデバイス12は、CPU(Central Processing Unit)、周辺機器等を有し、それ自体で一種のコンピュータを構成する。
PCIホストデバイス12は、CPU(Central Processing Unit)、周辺機器等を有し、それ自体で一種のコンピュータを構成する。
ブート情報格納部13は、PCIデバイス14のブート処理用のブートコードを記憶する記憶装置であり、例えば、磁気ディスク(HD(Hard Disk)等)、半導体メモリ(ROM、RAM等)、光ディスク(CD(Compact Disk)、DVD(Digital Versatile Disk)等)、光磁気ディスク(MO-DISK: Magneto Optical disk)を用いることができる。PCIバス11を介して、記憶するブートコードをPCIデバイス14に出力できれば、その種別は問われない。
ブートコードは、PCIデバイス14の初期化処理(ブート処理)のためのデータ(初期化処理の情報)であり、例えば、プログラム、制御情報(一例として、制御用のレジスタのデータ)を含めることができる。後述のCPU220がこのブートコードで動作することで、PCIデバイス14が初期化される。
ブートコードは、PCIデバイス14の初期化処理(ブート処理)のためのデータ(初期化処理の情報)であり、例えば、プログラム、制御情報(一例として、制御用のレジスタのデータ)を含めることができる。後述のCPU220がこのブートコードで動作することで、PCIデバイス14が初期化される。
PCIデバイス14は、PCIバス11に接続される周辺機器一般、例えば、PCIボード(又は、その一部(例えば、半導体チップ))であり、ホストバス210、およびこれに接続されるCPU(Central Processing Unit)220、RAM(Random Access Memory)230、RAMコントローラ240、ブート先指定レジスタ250、リセットスイッチ260、PCIバスコントローラ270を有する。
ホストバス210は、PCIデバイス14内での情報の伝送路である。
CPU220は、PCIデバイス14全体を統括的に制御する制御装置であり、初期化実行部として機能する。
RAM230は、CPU220の主記憶装置であり、PCIデバイス14の動作中にブートコードを記憶しておくことができ、初期化情報記憶部として機能する。RAM230を用いることでブート処理をより速やかに行える。RAM230がPCIデバイス14の停止中に記憶内容を保持しない揮発性の記憶装置であっても、PCIデバイス14をパワーオンリセット(ホットスタート)するときには、RAM230を用いることができる。なお、RAM230がPCIデバイス14の停止中に記憶内容を保持する不揮発性の記憶装置であれば、PCIデバイス14のパワーオフリセット(コールドスタート)時にも利用可能となる。
RAMコントローラ240は、RAM230の動作を制御するものであり、その詳細は後述する。
CPU220は、PCIデバイス14全体を統括的に制御する制御装置であり、初期化実行部として機能する。
RAM230は、CPU220の主記憶装置であり、PCIデバイス14の動作中にブートコードを記憶しておくことができ、初期化情報記憶部として機能する。RAM230を用いることでブート処理をより速やかに行える。RAM230がPCIデバイス14の停止中に記憶内容を保持しない揮発性の記憶装置であっても、PCIデバイス14をパワーオンリセット(ホットスタート)するときには、RAM230を用いることができる。なお、RAM230がPCIデバイス14の停止中に記憶内容を保持する不揮発性の記憶装置であれば、PCIデバイス14のパワーオフリセット(コールドスタート)時にも利用可能となる。
RAMコントローラ240は、RAM230の動作を制御するものであり、その詳細は後述する。
ブート先指定レジスタ250は、ブート処理に用いるブート先をブート情報格納部13とRAM230のいずれにするかを表すブート先切替情報を記憶するものであり、入手先選択情報記憶部として機能する。
初期化時には、ブート先指定レジスタ250はPCIバスコントローラ270(最終的には、PCIバス11上のデバイス(ブート情報格納部13))をブートデバイスとして指定する。また、ブート完了時(ブートコードがRAM230に記憶されたとき)には、ブート先指定レジスタ250はRAM230をブートデバイスとして指定する。RAM230にブートコードが記憶されているときには、RAM230をブートデバイスとすることでブート処理が促進される。
初期化時には、ブート先指定レジスタ250はPCIバスコントローラ270(最終的には、PCIバス11上のデバイス(ブート情報格納部13))をブートデバイスとして指定する。また、ブート完了時(ブートコードがRAM230に記憶されたとき)には、ブート先指定レジスタ250はRAM230をブートデバイスとして指定する。RAM230にブートコードが記憶されているときには、RAM230をブートデバイスとすることでブート処理が促進される。
ブート先指定レジスタ250の記憶内容はリセットスイッチ260によって書き替え可能である。即ち、リセットスイッチ260によってパワーオフリセット(コールドスタート)するときには、ブート先指定レジスタ250は初期化され、PCIバスコントローラ270(最終的には、ブート情報格納部13)をブートデバイスとして指定する。但し、リセットスイッチ260によってパワーオンリセット(ホットスタート)するときには、ブート先指定レジスタ250は初期化されず、RAM230がブートデバイスとして指定された状態が保持される。これらの処置は、RAM230が揮発性の記憶装置である場合に対応するためのものである。
ブート先指定レジスタ250によって、後述のオフセットアドレスレジスタ243およびベースアドレスレジスタ244が切り換えられる。
ブート先指定レジスタ250によって、後述のオフセットアドレスレジスタ243およびベースアドレスレジスタ244が切り換えられる。
リセットスイッチ260は、PCIデバイス14のリセット(初期化処理(ブート処理)の開始を指示するための入力装置であり、初期化開始指示入力部として機能する。
このとき、リセットとしてパワーオンリセットとパワーオフリセットとを選択できる。パワーオンリセットは、いわゆるホットスタートであり、PCIデバイス14の動作状態を完全には解除せずに初期化が行われる。また、パワーオフリセットは、いわゆるコールドスタートであり、PCIデバイス14の動作状態を解除(一旦停止状態とする)してから初期化が行われる(あるいは完全な停止状態からの初期化処理)。
このとき、リセットとしてパワーオンリセットとパワーオフリセットとを選択できる。パワーオンリセットは、いわゆるホットスタートであり、PCIデバイス14の動作状態を完全には解除せずに初期化が行われる。また、パワーオフリセットは、いわゆるコールドスタートであり、PCIデバイス14の動作状態を解除(一旦停止状態とする)してから初期化が行われる(あるいは完全な停止状態からの初期化処理)。
このパワーオン/パワーオフ・リセットのいずれが選択されるかに応じて、ブート先としてRAM230、PCIバスコントローラ270(最終的には、ブート情報格納部13)がそれぞれ選択される。即ち、前述のように、パワーオンリセットではブート先指定レジスタ250が初期化されずRAM230が指定され、パワーオフリセットではブート先指定レジスタ250が初期化されてPCIバス11上のデバイス(ブート情報格納部13)が指定される。
PCIバスコントローラ270は、PCIデバイス14のPCIバス11への接続を制御するものであり、その詳細は後述する。
(RAMコントローラ240の詳細)
RAMコントローラ240は、RAMアクセス制御回路241,デコーダ242、オフセットアドレスレジスタ243(243a,243b),ベースアドレスレジスタ244(244a,244b)を有する。
RAMアクセス制御回路241は,RAM230に接続され、RAM230からのデータの読み出し、書き込みを制御するものであり、第2の初期化情報入手部として機能する。また、RAMアクセス制御回路241は,RAM230上でのアドレスとホストバス210上でのアドレス間でのアドレス変換を行う。
デコーダ242は、RAM230でのデータ形式と、ホストバス210でのデータ形式とを変換する。
RAMコントローラ240は、RAMアクセス制御回路241,デコーダ242、オフセットアドレスレジスタ243(243a,243b),ベースアドレスレジスタ244(244a,244b)を有する。
RAMアクセス制御回路241は,RAM230に接続され、RAM230からのデータの読み出し、書き込みを制御するものであり、第2の初期化情報入手部として機能する。また、RAMアクセス制御回路241は,RAM230上でのアドレスとホストバス210上でのアドレス間でのアドレス変換を行う。
デコーダ242は、RAM230でのデータ形式と、ホストバス210でのデータ形式とを変換する。
オフセットアドレスレジスタ243は,RAM230のオフセットアドレスを記憶するレジスタであり、オフセットアドレス切り換え部として機能する。オフセットアドレスレジスタ243は,通常時でのオフセットアドレスを記憶する通常時オフセットアドレスレジスタ243aと、RAM230でのブート時のオフセットアドレスを記憶するブート時オフセットアドレスレジスタ243bとを有し、これらをブート先指定レジスタ250によって切り替えることができる。
RAM230によるブート処理では、RAM230上でブートコードが記憶された領域の先頭のアドレスをオフセットアドレスとする。また、通常時のオフセットアドレスとして、例えば、“0”(RAM230の先頭番地)を用いることができる。なお、これはオフセットアドレスを用いないことと実質的に同じである。
RAM230でのブート時と、通常時とでRAM230のオフセットアドレスを切替えることで、RAM230のアドレス空間をより有効に用いることができる。
RAM230でのブート時と、通常時とでRAM230のオフセットアドレスを切替えることで、RAM230のアドレス空間をより有効に用いることができる。
ベースアドレスレジスタ244は、RAM230のオフセットアドレスに対応するホストバス210上でのアドレスを記憶するレジスタである。ベースアドレスレジスタ244は、通常時のベースアドレスを記憶する通常時ベースアドレスレジスタ244aと、RAM230でのブート時のベースアドレスを記憶するブート時ベースアドレスレジスタ244bとを有し、これらをブート先指定レジスタ250によって切り替えることができる。
通常時オフセットアドレスレジスタ243aと通常時ベースアドレスレジスタ244a、およびブート時オフセットアドレスレジスタ243bとブート時ベースアドレスレジスタ244bはそれぞれ、互いに対応し、RAM230のアドレスそのもの、あるいはホストバス210から見たRAM230のアドレスを表している。
(PCIバスコントローラ270の詳細)
PCIバスコントローラ270は、デコーダ271、アドレス変換部272,ホストバスアクセス制御回路273,デコーダ274、アドレス変換部275,PCIバスアクセス制御回路276,コンフィグレーションレジスタ277を有する。
PCIバスコントローラ270は、デコーダ271、アドレス変換部272,ホストバスアクセス制御回路273,デコーダ274、アドレス変換部275,PCIバスアクセス制御回路276,コンフィグレーションレジスタ277を有する。
デコーダ271は,PCIバス11に接続され、PCIバス11でのデータ形式をホストバス210でのデータ形式へと変換する。
アドレス変換部272は,PCIバス11上でのアドレスからホストバス210上でのアドレスへのアドレス変換を行う。
ホストバスアクセス制御回路273は,ホストバス210に接続され、ホストバス210へのデータの出力を制御する。
アドレス変換部272は,PCIバス11上でのアドレスからホストバス210上でのアドレスへのアドレス変換を行う。
ホストバスアクセス制御回路273は,ホストバス210に接続され、ホストバス210へのデータの出力を制御する。
デコーダ274は,ホストバス210に接続され、ホストバス210でのデータ形式をPCIバス11でのデータ形式へと変換する。
アドレス変換部275は,ホストバス210上でのアドレスからPCIバス11上でのアドレスへのアドレス変換を行う。またアドレス変換部275は,後述のブートベースアドレスレジスタ277aで指定されたアドレスをPCIバス上のアドレスに変換する。
PCIバスアクセス制御回路276は,PCIバス11に接続され、PCIバス11へのデータの出力を制御するものであり、第1の初期化情報入手部として機能する。
アドレス変換部275は,ホストバス210上でのアドレスからPCIバス11上でのアドレスへのアドレス変換を行う。またアドレス変換部275は,後述のブートベースアドレスレジスタ277aで指定されたアドレスをPCIバス上のアドレスに変換する。
PCIバスアクセス制御回路276は,PCIバス11に接続され、PCIバス11へのデータの出力を制御するものであり、第1の初期化情報入手部として機能する。
コンフィグレーションレジスタ277は、PCIバスコントローラ270の動作を規定するパラメータを記憶するレジスタであり、ブートベースアドレスレジスタ277a、バスマスタイネーブルレジスタ277b、ブートイネーブルレジスタ277cを含む。なお、これらのレジスタのアドレスはPCIバス11でのアドレス空間のデバイス固有領域に配置される。
なお、コンフィグレーションレジスタ277の記憶内容は、PCIデバイス14の停止時でも保持される。
なお、コンフィグレーションレジスタ277の記憶内容は、PCIデバイス14の停止時でも保持される。
ブートベースアドレスレジスタ277aは、アドレス記憶部として機能する。即ち、ブートベースアドレスレジスタ277aは、ブートコードが格納されている領域のPCIバスアドレス(ブート情報格納部13のPCIバス11上でのアドレス)を記憶するものであり、PCIバス11経由でPCIホストデバイス12等によって書き換え可能である。ブート情報格納部13を適宜に設定、変更することを可能とするためである。
バスマスタイネーブルレジスタ277bは、PCIバスアクセス制御回路276によるPCIバス11への出力の許可/禁止を制御するための情報を記憶するものであり、PCIバス11経由でPCIホストデバイス12等によって書き換え可能である。PCIホストデバイス12がPCIバスコントローラ270によるPCIバス11のアクセスを制御するためである。
ブートイネーブルレジスタ277cは、初期化開始可否記憶部として機能する。即ち、ブートイネーブルレジスタ277cは、PCIバスアクセス制御回路276によるブート処理の許可/禁止を制御するための情報を記憶するものであり、PCIバス11経由でPCIホストデバイス12等によって書き換え可能である。PCIホストデバイス12がPCIバスコントローラ270によるブート処理の開始を制御するためである。
(PCIデバイス14のブート処理)
PCIデバイス14のブート処理を説明する。
図2は、PCIデバイス14のブート処理の手順の一例を表すフロー図である。以下、本図に従ってPCIデバイス14のブート処理の手順を説明する。
A.PCIホストデバイス12からのブートの指示
PCIホストデバイス12からブートの指示があった場合につき説明する。
なお、ブート処理開始前、ブート情報格納部13にブートコードが格納され、ブートイネーブルレジスタ277cは「ブート禁止」に設定されているものとする。即ち、PCIバスアクセス制御回路276のPCIバス11へのアクセスによるブート動作が禁止された状態にある。なお、バスマスタイネーブルレジスタ277bは、「アクセス許可」、「アクセス禁止」のいずれであっても差し支えない。
PCIデバイス14のブート処理を説明する。
図2は、PCIデバイス14のブート処理の手順の一例を表すフロー図である。以下、本図に従ってPCIデバイス14のブート処理の手順を説明する。
A.PCIホストデバイス12からのブートの指示
PCIホストデバイス12からブートの指示があった場合につき説明する。
なお、ブート処理開始前、ブート情報格納部13にブートコードが格納され、ブートイネーブルレジスタ277cは「ブート禁止」に設定されているものとする。即ち、PCIバスアクセス制御回路276のPCIバス11へのアクセスによるブート動作が禁止された状態にある。なお、バスマスタイネーブルレジスタ277bは、「アクセス許可」、「アクセス禁止」のいずれであっても差し支えない。
(1)ブート開始の設定(ステップS11)
PCIホストデバイス12は、ブートベースアドレスレジスタ277aにブートコードが格納されている領域のPCIバスアドレス(ブート情報格納部13のアドレス)を記憶させ、ブートイネーブルレジスタ277cを「ブート許可」に設定する。また、バスマスタイネーブルレジスタ277bが「アクセス禁止」状態であれば、「アクセス許可」に設定を変更する。
PCIホストデバイス12は、ブートベースアドレスレジスタ277aにブートコードが格納されている領域のPCIバスアドレス(ブート情報格納部13のアドレス)を記憶させ、ブートイネーブルレジスタ277cを「ブート許可」に設定する。また、バスマスタイネーブルレジスタ277bが「アクセス禁止」状態であれば、「アクセス許可」に設定を変更する。
(2)PCIからのブート処理(ステップS12)
ブートイネーブルレジスタ277cが「ブート許可」状態となったことから、PCIバスアクセス制御回路276は、ブート処理を開始する。このとき、バスマスタイネーブルレジスタ277bが「アクセス許可」状態であることから、PCIバスアクセス制御回路276はPCIバス11を用いてブートベースアドレスレジスタ277aに記憶されたアドレスからのブート処理を開始する。
ブートイネーブルレジスタ277cが「ブート許可」状態となったことから、PCIバスアクセス制御回路276は、ブート処理を開始する。このとき、バスマスタイネーブルレジスタ277bが「アクセス許可」状態であることから、PCIバスアクセス制御回路276はPCIバス11を用いてブートベースアドレスレジスタ277aに記憶されたアドレスからのブート処理を開始する。
PCIバスアクセス制御回路276がPCIバス11を用いてブート情報格納部13にアクセスすることで、ブート情報格納部13に格納されたブートコードがPCIバス11経由でデコーダ271に入力される。デコーダ271に入力されたブートコードはデコーダ271でデータ変換され、アドレス変換部272でアドレス変換され、ホストバスアクセス制御回路273を経由して、ホストバス210に出力される。その後、CPU220がブートコードに基づいて動作することで、PCIデバイス14が初期化される。
(3)ブート終了処理(ステップS13)
ブート完了後、PCIデバイス14上のRAM230にブートコードが記憶される。また、PCIデバイス14のブート先指定レジスタ250が書き換えられ、RAM230がブート先に指定される。この結果、RAM230を用いた速やかなブート処理が可能となる。
さらに、RAM230に記憶されたブートコードの先頭番地の値が、ブート時オフセットアドレスレジスタ243bに記憶される。RAM230をブートコード用の領域と、通常動作時用の領域とに区分することが容易となる。
ブート完了後、PCIデバイス14上のRAM230にブートコードが記憶される。また、PCIデバイス14のブート先指定レジスタ250が書き換えられ、RAM230がブート先に指定される。この結果、RAM230を用いた速やかなブート処理が可能となる。
さらに、RAM230に記憶されたブートコードの先頭番地の値が、ブート時オフセットアドレスレジスタ243bに記憶される。RAM230をブートコード用の領域と、通常動作時用の領域とに区分することが容易となる。
B.PCIデバイス14自身からのブートの指示
PCIデバイス14自身からのブートの指示があったときは、それがパワーオンリセット、パワーオフリセットのいずれであるかに応じて、RAM230とブート情報格納部13とでブートデバイスが切り換えられる(ステップS14〜S17)
(1)パワーオンリセット(ホットスタート)
リセットスイッチ260への入力によりパワーオンリセットを開始できる。このとき、ブート先指定レジスタ250が初期化されないことから、ブートデバイスはRAM230となる。その結果、RAM230を用いて、CPU220がブート処理を行う。
PCIデバイス14自身からのブートの指示があったときは、それがパワーオンリセット、パワーオフリセットのいずれであるかに応じて、RAM230とブート情報格納部13とでブートデバイスが切り換えられる(ステップS14〜S17)
(1)パワーオンリセット(ホットスタート)
リセットスイッチ260への入力によりパワーオンリセットを開始できる。このとき、ブート先指定レジスタ250が初期化されないことから、ブートデバイスはRAM230となる。その結果、RAM230を用いて、CPU220がブート処理を行う。
このとき、ブート時オフセットアドレスレジスタ243bに記憶されたアドレスを用いて、RAMコントローラ240はRAM230のブートアドレスの先頭をマッピングする。RAM230がブートコード用の領域にマッピングされることで、ブート処理が速やかに行われる。
なお、通常動作時は、通常時オフセットアドレスレジスタ243aに記憶されたアドレス(例えば、RAM230の先頭番地)を用いて、RAMコントローラ240はRAM230にアクセスする。
なお、通常動作時は、通常時オフセットアドレスレジスタ243aに記憶されたアドレス(例えば、RAM230の先頭番地)を用いて、RAMコントローラ240はRAM230にアクセスする。
(2)パワーオフリセット(コールドトスタート)
リセットスイッチ260への入力によりパワーオフリセットを開始できる。このとき、ブート先指定レジスタ250が初期化され、ブートデバイスはPCIバス11上のデバイス(ブート情報格納部13)となる。その結果、ブート情報格納部13を用いて、CPU220がブート処理を行う。コンフィグレーションレジスタ277の記憶内容は、PCIデバイス14の停止時にも保持されるからである。
リセットスイッチ260への入力によりパワーオフリセットを開始できる。このとき、ブート先指定レジスタ250が初期化され、ブートデバイスはPCIバス11上のデバイス(ブート情報格納部13)となる。その結果、ブート情報格納部13を用いて、CPU220がブート処理を行う。コンフィグレーションレジスタ277の記憶内容は、PCIデバイス14の停止時にも保持されるからである。
(参考例)
図3は本発明の参考例に係るバス接続システム50を表すブロック図である。
バス接続システム50のPCIデバイス54はROM630およびROMコントローラ640を有し、ROM630からのブート処理が可能である。
また、PCIデバイス54はブート先設定ピン660を有し、ブート先をPCIバスコントローラに指定できる。ブート先がPCIバスコントローラ670として指定されるとPCIバスコントローラ670は、ブートアドレスレジスタ679に記憶された固定アドレス(ブート情報格納部53のアドレス)からブートコードを入手して、ブート処理を実行できる。
図3は本発明の参考例に係るバス接続システム50を表すブロック図である。
バス接続システム50のPCIデバイス54はROM630およびROMコントローラ640を有し、ROM630からのブート処理が可能である。
また、PCIデバイス54はブート先設定ピン660を有し、ブート先をPCIバスコントローラに指定できる。ブート先がPCIバスコントローラ670として指定されるとPCIバスコントローラ670は、ブートアドレスレジスタ679に記憶された固定アドレス(ブート情報格納部53のアドレス)からブートコードを入手して、ブート処理を実行できる。
(バス接続システム10の特徴)
以下、バス接続システム10とバス接続システム50とを比較して、バス接続システム10の特徴を説明する。
(1)バス接続システム10では、ブートベースアドレスレジスタ277aとブートイネーブルレジスタ277cを有し、PCIホストデバイス12からのブートアドレス指定が適宜に可能である。バス接続システム10を管理するPCIホストデバイス12がPCIデバイス14にブートアドレスを指定し、ブートを許可することによって、PCIデバイス14のプラグアンドプレイを実現できる。
これに対して、バス接続システム50では、ブートアドレスが固定されていることから、PCIホストデバイス52がPCIデバイス54を自動的に認識し、コンフィグレーションするプラグアンドプレイに対応することが困難となる。
以下、バス接続システム10とバス接続システム50とを比較して、バス接続システム10の特徴を説明する。
(1)バス接続システム10では、ブートベースアドレスレジスタ277aとブートイネーブルレジスタ277cを有し、PCIホストデバイス12からのブートアドレス指定が適宜に可能である。バス接続システム10を管理するPCIホストデバイス12がPCIデバイス14にブートアドレスを指定し、ブートを許可することによって、PCIデバイス14のプラグアンドプレイを実現できる。
これに対して、バス接続システム50では、ブートアドレスが固定されていることから、PCIホストデバイス52がPCIデバイス54を自動的に認識し、コンフィグレーションするプラグアンドプレイに対応することが困難となる。
(2)バス接続システム10は、CPU220およびPCIホストデバイス12からリード・ライト可能なブート先指定レジスタ250を有し、パワーオンリセット時にブート先指定レジスタ250の記憶内容を保持している。この結果、RAM230が揮発性である場合でも、RAM230からのリブートが容易となる。
一般に、PCIバス11からのリードは低速であり、ホストバス210に接続されたRAM230からのリードの方は高速である。PCIバス11でのアドレスは、非キャッシュ領域にマッピングされていることから、PCIバス11からのリードはターンアラウンドタイムが大きいからである。
このため、ブートコードをRAM230に退避しておき、RAM230からブートすることで、リブートを高速に行うことができる。パワーオンリセット時であれば、RAM230が揮発性であっても、RAM230上のデータが維持されるからである。
ブート先指定レジスタ250の記憶内容は、CPU220から変更できる。またパワーオフリセットにより、ブート先指定レジスタ250の記憶内容を初期化することで、リブート時のデバイスを変更できる(リブート前に設定したブートデバイスの指定が解除される)。
一般に、PCIバス11からのリードは低速であり、ホストバス210に接続されたRAM230からのリードの方は高速である。PCIバス11でのアドレスは、非キャッシュ領域にマッピングされていることから、PCIバス11からのリードはターンアラウンドタイムが大きいからである。
このため、ブートコードをRAM230に退避しておき、RAM230からブートすることで、リブートを高速に行うことができる。パワーオンリセット時であれば、RAM230が揮発性であっても、RAM230上のデータが維持されるからである。
ブート先指定レジスタ250の記憶内容は、CPU220から変更できる。またパワーオフリセットにより、ブート先指定レジスタ250の記憶内容を初期化することで、リブート時のデバイスを変更できる(リブート前に設定したブートデバイスの指定が解除される)。
これに対して、バス接続システム50では、ブート先指定レジスタ650は、ブート先設定ピン660で設定され、リブート時にブートデバイスを変更することは困難となる。
(3)バス接続システム10は、RAMコントローラ240内にオフセットアドレスレジスタ243を有する。ブート先指定レジスタ250によってRAM230がブートデバイスとして指定された場合には、RAM230へのアクセスに際して、ブート時オフセットアドレスレジスタ243bに記憶されたオフセットを追加したアドレスが用いられる。このため、RAM230上にブート用のメモリ空間を備えることが容易となる。
即ち、ブート時には、オフセットを追加したRAM230上のアドレスにアクセスすることにより、ブートプログラムとその他のプログラムの領域の重なりが回避される。その結果、バス接続システム10では、両者を別の領域に区別して配置することが容易となる。
即ち、ブート時には、オフセットを追加したRAM230上のアドレスにアクセスすることにより、ブートプログラムとその他のプログラムの領域の重なりが回避される。その結果、バス接続システム10では、両者を別の領域に区別して配置することが容易となる。
これに対して、バス接続システム50では、オフセット機構がないので、ブートアドレスがROM630の先頭番地からとなる。このため、先頭番地近傍のアドレスに配置されるプログラムと、ブートコードとで、アドレスが競合する。即ち、バス接続システム50では、通常動作時のコードと、リブート用のコードが共通の領域に配置される可能性があり、この両者が重ならないようにコード上の考慮が必要となる。たとえば、割り込み発生時のエントリの領域を避ける必要が生じる。
(その他の実施形態)
本発明の実施形態は上記の実施形態に限られず拡張、変更可能であり、拡張、変更した実施形態も本発明の技術的範囲に含まれる。
例えば、上記実施形態ではPCIバスを例として説明したが、PCIバス以外のバスであっても本発明を適用することができる。
本発明の実施形態は上記の実施形態に限られず拡張、変更可能であり、拡張、変更した実施形態も本発明の技術的範囲に含まれる。
例えば、上記実施形態ではPCIバスを例として説明したが、PCIバス以外のバスであっても本発明を適用することができる。
10…バス接続システム、11…PCIバス、12…PCIホストデバイス、13…ブート情報格納部、14…PCIデバイス、210…ホストバス、220…CPU、230…RAM、240…コントローラ、241…アクセス制御回路、242…デコーダ、243…オフセットアドレスレジスタ、243a…通常時オフセットアドレスレジスタ、243b…ブート時オフセットアドレスレジスタ、244…ベースアドレスレジスタ、244a…通常時ベースアドレスレジスタ、244b…ブート時ベースアドレスレジスタ、250…ブート先指定レジスタ、260…リセットスイッチ、270…PCIバスコントローラ、271…デコーダ、272…アドレス変換部、273…ホストバスアクセス制御回路、274…デコーダ、275…アドレス変換部、276…PCIバスアクセス制御回路、277…コンフィグレーションレジスタ、277a…ブートベースアドレスレジスタ、277b…バスマスタイネーブルレジスタ、277c…ブートイネーブルレジスタ
Claims (6)
- 初期化処理の情報が格納されるバス上でのアドレスが記憶され、かつ前記バスから書き替え可能なアドレス記憶部と、
前記初期化処理の開始可否を表す初期化開始可否情報を記憶し、かつ前記バスから書き替え可能な初期化開始可否記憶部と、
前記記憶される初期化開始可否情報が初期化開始可であるときに、前記記憶されるバス上のアドレスから初期化処理の情報を入手する初期化情報入手部と、
前記入手される初期化処理の情報に基づいて、初期化処理を実行する初期化実行部と、
を具備することを特徴とするバス接続デバイス。 - 前記入手される初期化処理の情報が書き込まれる初期化情報記憶部と、
前記初期化処理の情報の入手先を前記バス上と、前記初期化情報記憶部との何れであるかを表す入手先選択情報を記憶する入手先選択情報記憶部と、をさらに具備し、
前記記憶される入手先選択情報に基づいて、前記初期化情報入手部が前記初期化処理の情報を入手する
ことを特徴とする請求項1記載のバス接続デバイス。 - 前記バス接続デバイスの初期化処理の開始指示を入力する初期化開始指示入力部をさらに具備し、
前記入力される初期化処理の開始指示に基づいて、前記初期化情報入手部が前記初期化処理の情報を入手する
ことを特徴とする請求項2記載のバス接続デバイス。 - 前記初期化開始指示入力部が、前記バス接続デバイスの動作状態からの初期化処理の開始指示を入力する第1の初期化開始指示入力部と、前記バス接続デバイスの停止状態からの初期化処理の開始指示を入力する第2の初期化開始指示入力部と、を有し、
前記入力される初期化処理の開始指示が動作状態、停止状態のいずれであるかに基づいて、前記記憶される入手先選択情報が切り換えられる
ことを特徴とする請求項2記載のバス接続デバイス。 - 前記初期化情報入手部が、前記バス上から初期化処理の情報を入手する第1の初期化情報入手部と、前記初期化情報記憶部から初期化処理の情報を入手する第2の初期化情報入手部とを有する
ことを特徴とする請求項2記載のバス接続デバイス。 - 前記記憶される入手先選択情報に対応して、前記初期化情報記憶部でのオフセットアドレスを切り換えるオフセットアドレス切り換え部、をさらに具備する
ことを特徴とする請求項2記載のバス接続デバイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004346322A JP2006155321A (ja) | 2004-11-30 | 2004-11-30 | バス接続デバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004346322A JP2006155321A (ja) | 2004-11-30 | 2004-11-30 | バス接続デバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006155321A true JP2006155321A (ja) | 2006-06-15 |
Family
ID=36633539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004346322A Pending JP2006155321A (ja) | 2004-11-30 | 2004-11-30 | バス接続デバイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006155321A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009176232A (ja) * | 2008-01-28 | 2009-08-06 | Fujitsu Ltd | 起動装置、起動方法、及び、起動プログラム |
JP2012190128A (ja) * | 2011-03-09 | 2012-10-04 | Nec Corp | ハードウェア構成縮退時の高速立ち上げ方法、高速立ち上げ装置及び高速立ち上げプログラム |
JP2016177333A (ja) * | 2015-03-18 | 2016-10-06 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001350710A (ja) * | 2000-06-09 | 2001-12-21 | Nec Kofu Ltd | 情報処理装置 |
JP2001353144A (ja) * | 2000-06-13 | 2001-12-25 | Shimadzu Corp | 透視撮影台 |
JP2003114800A (ja) * | 2001-10-04 | 2003-04-18 | Ricoh Co Ltd | ブート仲介プログラム、ブート方法及び記憶装置 |
-
2004
- 2004-11-30 JP JP2004346322A patent/JP2006155321A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001350710A (ja) * | 2000-06-09 | 2001-12-21 | Nec Kofu Ltd | 情報処理装置 |
JP2001353144A (ja) * | 2000-06-13 | 2001-12-25 | Shimadzu Corp | 透視撮影台 |
JP2003114800A (ja) * | 2001-10-04 | 2003-04-18 | Ricoh Co Ltd | ブート仲介プログラム、ブート方法及び記憶装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009176232A (ja) * | 2008-01-28 | 2009-08-06 | Fujitsu Ltd | 起動装置、起動方法、及び、起動プログラム |
JP2012190128A (ja) * | 2011-03-09 | 2012-10-04 | Nec Corp | ハードウェア構成縮退時の高速立ち上げ方法、高速立ち上げ装置及び高速立ち上げプログラム |
JP2016177333A (ja) * | 2015-03-18 | 2016-10-06 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5783809B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP2008016020A (ja) | Biosの実行を加速化する方法 | |
US20110307690A1 (en) | System and method for rapid boot of secondary operating system | |
EP2040192A1 (en) | Information processing device, integrated circuit, method, and program | |
JP2010282252A (ja) | プログラム、制御方法、並びに制御装置 | |
EP1634168A1 (en) | Booting from non-volatile memory | |
KR101913968B1 (ko) | 마이크로 컴퓨터 | |
JP2011107925A (ja) | プログラム、制御方法、並びに制御装置 | |
JP5506418B2 (ja) | プログラム、制御方法、並びに制御装置 | |
JP2006155321A (ja) | バス接続デバイス | |
JP5609333B2 (ja) | 起動処理方法、情報処理装置、起動処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4036747B2 (ja) | 情報処理装置 | |
JP4597032B2 (ja) | コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム | |
JP5051881B2 (ja) | 通信制御装置、画像形成装置、通信制御方法及び通信制御プログラム | |
JP3702233B2 (ja) | 情報処理システムおよびプログラム実行モード制御方法 | |
JP2006127407A (ja) | 半導体集積回路 | |
JP2006505846A (ja) | 永続的システムメモリへのbiosの格納 | |
JP5823000B2 (ja) | マイクロコンピュータ | |
JP4026383B2 (ja) | 情報処理システム、情報処理端末、外部記憶装置、情報処理端末制御用プログラム及び外部記憶装置制御用プログラム | |
JP2009301319A (ja) | マルチプロセッサシステム | |
JP2006126987A (ja) | 画像処理装置 | |
TWI282054B (en) | Method for establishing and accessing file system in host protected area of hard disc under extensible firmware interface architecture | |
GB2304209A (en) | Starting up a processor system | |
JP2005173830A (ja) | コンピュータシステム及びプログラム | |
JP2023076096A (ja) | 情報処理装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070827 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110712 |