(57)【特許請求の範囲】
【請求項１】
所定の処理を実行する処理手段に設けられ、当該処理手段の処理中のデータを記憶する第１〜第ｎ（ｎは２以上の整数）のレジスタと、
第１〜第ｎのサブレジスタと、
第１〜第ｎのレジスタごとに記憶させるためのブート用データを記憶したメモリを設けた制御部と、
前記制御部から出力されるモード信号に基づき、各第１〜第ｎのサブレジスタの出力と前記処理手段の処理中のデータとを選択的に各第１〜第ｎのレジスタの入力端子に入力する第１〜第ｎのモードセレクタと、
前記制御部から出力される入力制御信号に基づき、前記制御部から順次入力される、第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力するように制御する第１の入力セレクタと、
前記制御部から出力される入力制御信号に基づき、各第１〜第ｎ−１のサブレジスタから順次入力される各ブート用データを各第２〜第ｎのサブレジスタに順次出力するように制御する第２〜第ｎの入力セレクタと、を備え、
前記制御部は、
ブートモード時に、第１〜第ｎの入力セレクタへ入力制御信号を出力し当該第１〜第ｎの入力セレクタを制御して、当該制御部の出力を第１のサブレジスタの入力端子に入力すると共に第１〜第ｎのサブレジスタをデイジーチェーン接続し、当該制御部のメモリから第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力して第１〜第ｎのサブレジスタにブート用データを記憶するとともに、第１〜第ｎのモードセレクタへモード信号を出力し当該第１〜第ｎのモードセレクタを制御して、各第１〜第ｎのサブレジスタの出力を各第１〜第ｎのレジスタの入力端子に入力し、第１〜第ｎのサブレジスタに記憶されているブート用データを第１〜第ｎのレジスタにそれぞれ記憶するブートシステム。
【請求項２】
所定の処理を実行する処理手段に設けられ、当該処理手段の処理中のデータを記憶する第１〜第ｎ（ｎは２以上の整数）のレジスタと、第１〜第ｎのサブレジスタと、第１〜第ｎのレジスタごとに記憶させるためのブート用データを記憶したメモリを設けた制御部と、前記制御部から出力されるモード信号に基づき、各第１〜第ｎのサブレジスタの出力と前記処理手段の処理中のデータとを選択的に各第１〜第ｎのレジスタの入力端子に入力する第１〜第ｎのモードセレクタと、前記制御部から出力される入力制御信号に基づき、前記制御部から順次入力される、第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力するように制御する第１の入力セレクタと、前記制御部から出力される入力制御信号に基づき、各第１〜第ｎ−１のサブレジスタから順次入力される各ブート用データを各第２〜第ｎのサブレジスタに順次出力するように制御する第２〜第ｎの入力セレクタと、を備えたブートシステムのブート方法であって、
前記制御部が、第１〜第ｎの入力セレクタへ入力制御信号を出力し当該第１〜第ｎの入力セレクタを制御して、当該制御部の出力を第１のサブレジスタの入力端子に入力すると共に第１〜第ｎのサブレジスタをデイジーチェーン接続し、当該制御部のメモリから第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力して第１〜第ｎのサブレジスタにブート用データを記憶するステップと、
前記制御部が、第１〜第ｎのモードセレクタへモード信号を出力し当該第１〜第ｎのモードセレクタを制御して、各第１〜第ｎのサブレジスタの出力を各第１〜第ｎのレジスタの入力端子に入力し、第１〜第ｎのサブレジスタに記憶されているブート用データを第１〜第ｎのレジスタにそれぞれ記憶するステップと、を有するブートシステムのブート方法。
【請求項３】
所定の処理を実行する処理手段に設けられ、当該処理手段の処理中のデータを記憶する第１〜第ｎ（ｎは２以上の整数）のレジスタと、
第１〜第ｎのサブレジスタと、
第１〜第ｎのレジスタごとに記憶させるためのブート用データを記憶したメモリを設けた制御部と、
前記制御部から出力された制御信号に基づき、各第１〜第ｎのサブレジスタの出力と前記処理手段の処理中のデータとを選択的に各第１〜第ｎのレジスタの入力端子に入力する第１〜第ｎのモードセレクタと、
前記制御部から出力される入力制御信号に基づき、前記制御部から順次入力される、第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力するように制御する第１の入力セレクタと、
前記制御部から出力される入力制御信号に基づき、各第１〜第ｎ−１のサブレジスタから順次入力される各ブート用データを各第２〜第ｎのサブレジスタに順次出力するように制御する第２〜第ｎの入力セレクタと、を備え、
前記制御部は、
ブートモード時に、第１〜第ｎの入力セレクタへ入力制御信号を出力し当該第１〜第ｎの入力セレクタを制御して、当該制御部の出力を第１のサブレジスタの入力端子に入力すると共に第１〜第ｎのサブレジスタをデイジーチェーン接続し、当該制御部のメモリから第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力して第１〜第ｎのサブレジスタにブート用データを記憶するとともに、第１〜第ｎのモードセレクタへモード信号を出力し当該第１〜第ｎのモードセレクタを制御して、各第１〜第ｎのサブレジスタの出力を各第１〜第ｎのレジスタの入力端子に入力し、第１〜第ｎのサブレジスタに記憶されているブート用データを第１〜第ｎのレジスタにそれぞれ記憶するデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータなどのデータ処理装置におけるブートシステム、及びブート方法、及びこのブート方法を用いたデータ処理装置に関するものである。
【背景技術】
【０００２】
従来、マイクロコンピュータなどのように所要のプログラムに基づいて動作制御されるデータ処理装置では、電源投入にともなってデータ処理装置を初期起動状態とするブートプログラムが実行されている（例えば、特許文献１参照。）。このようにデータ処理装置を初期起動状態とすることを単に「ブート」と呼ぶ。
【０００３】
データ処理装置では、ブートにともなってブートプログラムのコードを逐次実行していくことにより、データ処理装置に設けているレジスタなどのデータ記憶手段に所要のデータを記憶させているものであり、全ての所要のデータ記憶手段に所要のデータが記憶されることによりブートが完了する。
【特許文献１】特開平１０−１１６１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記したようにブートプログラムに基づいてブートする場合には、ブートプログラムの変更によって初期起動状態を変更することができるという高い汎用性を有している一方で、ブートプログラムコードの逐次実行に多大な時間を要するために、データ処理装置が使用できるようになるまでの時間が長くなり、その間、利用者は待機しなければならないという問題があった。
【０００５】
本発明者はこのような現状に鑑み、短時間でブートを完了可能なシステムを開発すべく研究を行い、本発明をなすに至ったものである。
【課題を解決するための手段】
【０００６】
請求項１に記載のブートシステムでは、所定の処理を実行する処理手段に設けられ、当該処理手段の処理中のデータを記憶する第１〜第ｎ（ｎは２以上の整数）のレジスタと、第１〜第ｎのサブレジスタと、第１〜第ｎのレジスタごとに記憶させるためのブート用データを記憶したメモリを設けた制御部と、前記制御部から出力されるモード信号に基づき、各第１〜第ｎのサブレジスタの出力と前記処理手段の処理中のデータとを選択的に各第１〜第ｎのレジスタの入力端子に入力する第１〜第ｎのモードセレクタと、前記制御部から出力される入力制御信号に基づき、前記制御部から順次入力される、第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力するように制御する第１の入力セレクタと、前記制御部から出力される入力制御信号に基づき、各第１〜第ｎ−１のサブレジスタの出力から順次入力される各ブート用データを各第２〜第ｎのサブレジスタに順次出力するように制御する第２〜第ｎの入力セレクタと、を備え、前記制御部は、ブートモード時に、第１〜第ｎの入力セレクタへ入力制御信号を出力し当該第１〜第ｎの入力セレクタを制御して、当該制御部の出力を第１のサブレジスタの入力端子に入力すると共に第１〜第ｎのサブレジスタをデイジーチェーン接続し、当該制御部のメモリから第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力して第１〜第ｎのサブレジスタにブート用データを記憶するとともに、第１〜第ｎのモードセレクタへモード信号を出力し当該第１〜第ｎのモードセレクタを制御して、各第１〜第ｎのサブレジスタの出力を各第１〜第ｎのレジスタの入力端子に入力し、第１〜第ｎのサブレジスタに記憶されているブート用データを第１〜第ｎのレジスタにそれぞれ記憶することとした。 
【０００８】
また、請求項２に記載のブートシステムのブート方法は、所定の処理を実行する処理手段に設けられ、当該処理手段の処理中のデータを記憶する第１〜第ｎ（ｎは２以上の整数）のレジスタと、第１〜第ｎのサブレジスタと、第１〜第ｎのレジスタごとに記憶させるためのブート用データを記憶したメモリを設けた制御部と、前記制御部から出力されるモード信号に基づき、各第１〜第ｎのサブレジスタの出力と前記処理手段の処理中のデータとを選択的に各第１〜第ｎのレジスタの入力端子に入力する第１〜第ｎのモードセレクタと、前記制御部から出力される入力制御信号に基づき、前記制御部から順次入力される、第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力するように制御する第１の入力セレクタと、前記制御部から出力される入力制御信号に基づき、各第１〜第ｎ−１のサブレジスタから順次入力される各ブート用データを各第２〜第ｎのサブレジスタに順次出力するように制御する第２〜第ｎの入力セレクタと、を備えたブートシステムのブート方法であって、前記制御部が、第１〜第ｎの入力セレクタへ入力制御信号を出力し当該第１〜第ｎの入力セレクタを制御して、当該制御部の出力を第１のサブレジスタの入力端子に入力すると共に第１〜第ｎのサブレジスタをデイジーチェーン接続し、当該制御部のメモリから第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力して第１〜第ｎのサブレジスタにブート用データを記憶するステップと、前記制御部が、第１〜第ｎのモードセレクタへモード信号を出力し当該第１〜第ｎのモードセレクタを制御して、各第１〜第ｎのサブレジスタの出力を各第１〜第ｎのレジスタの入力端子に入力し、第１〜第ｎのサブレジスタに記憶されているブート用データを第１〜第ｎのレジスタにそれぞれ記憶するステップと、を有することとした。 
【０００９】
請求項３に記載のデータ処理装置では、所定の処理を実行する処理手段に設けられ、当該処理手段の処理中のデータを記憶する第１〜第ｎ（ｎは２以上の整数）のレジスタと、第１〜第ｎのサブレジスタと、第１〜第ｎのレジスタごとに記憶させるためのブート用データを記憶したメモリを設けた制御部と、前記制御部から出力された制御信号に基づき、各第１〜第ｎのサブレジスタの出力と前記処理手段の処理中のデータとを選択的に各第１〜第ｎのレジスタの入力端子に入力する第１〜第ｎのモードセレクタと、前記制御部から出力される入力制御信号に基づき、前記制御部から順次入力される、第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力するように制御する第１の入力セレクタと、前記制御部から出力される入力制御信号に基づき、各第１〜第ｎ−１のサブレジスタから順次入力される各ブート用データを各第２〜第ｎのサブレジスタに順次出力するように制御する第２〜第ｎの入力セレクタと、を備え、前記制御部は、ブートモード時に、第１〜第ｎの入力セレクタへ入力制御信号を出力し当該第１〜第ｎの入力セレクタを制御して、当該制御部の出力を第１のサブレジスタの入力端子に入力すると共に第１〜第ｎのサブレジスタをデイジーチェーン接続し、当該制御部のメモリから第ｎ〜第１のブート用データを第１のサブレジスタへ順次出力して第１〜第ｎのサブレジスタにブート用データを記憶するとともに、第１〜第ｎのモードセレクタへモード信号を出力し当該第１〜第ｎのモードセレクタを制御して、各第１〜第ｎのサブレジスタの出力を各第１〜第ｎのレジスタの入力端子に入力し、第１〜第ｎのサブレジスタに記憶されているブート用データを第１〜第ｎのレジスタにそれぞれ記憶することとした。 
【発明の効果】
【００１１】
本発明によれば、各第１〜第ｎのサブレジスタから各第１〜第ｎのレジスタにブート用データを記憶させることによりブートを行うことによって、短時間でブートを完了させることができる。しかも、各第１〜第ｎのサブレジスタを互いにデイジーチェーン接続して、制御部に記憶していたブート用データを順次転送することによって、転送するブート用データをあらかじめ調整しておくことにより所望の起動状態とすることができ、汎用性を向上させることもできる。
【発明を実施するための最良の形態】
【００２０】
本発明のブートシステム及びブート方法、及びこのブート方法を用いたデータ処理装置では、所要の処理を実行するように構成された処理手段において、これらの処理手段に設けられているレジスタなどのデータ記憶手段にあらかじめブート用データを記憶させるブートを行う場合に、データ記憶手段ごとに設けたブート用データ記憶手段にブート用データを記憶させておき、ブート時にブート用データ記憶手段からデータ記憶手段にブート用データを記憶させるようにしているものである。
【００２１】
すわわち、従来のようにブートプログラムの実行に基づいてデータ記憶手段にブート用データを記憶させていくのではなく、あらかじめ用意しておいたブート用データをデータ記憶手段にダイレクトに入力することによりブートを行うものである。
【００２２】
このとき、ブート用データはデータ記憶手段ごとに設けたブート用データ記憶手段に保持して、ブートにともなってブート用データ記憶手段からデータ記憶手段にブート用データを記憶させることにより、極めて短時間でブートを完了することができる。
【００２３】
このブート方法をデータ処理装置に用いた場合には、データ処理装置を極めて短時間で起動させることができ、いわゆるインスタントオン機能を実現することができる。
【００２４】
また、ブート用データ記憶手段は常に固定のブート用データを記憶しているだけでなく、ブート用データ記憶手段を互いにデイジーチェーン接続していわゆるシフトレジスタを構成することにより、ブートにともなってブート用データを順次転送して所定のブート用データ記憶手段に所定のブート用データを記憶させることができる。
【００２５】
このようにブートにともなって所要のブート用データをブート用データ記憶手段に順次転送するように構成していることによって、ブート用データ記憶手段に記憶させるブート用データ自体を調整することができるので、ブート用データを調整することによりブート完了時の処理手段の状態を調整することができ、汎用性を向上させることができる。
【００２６】
さらに、ブート用データ記憶手段は、処理手段におけるデータの処理中にデータ記憶手段に記憶したデータを記憶するようにした場合には、再ブートが生じた際に、ブート用データ記憶手段に記憶されたデータをブート用データとして用いることによって再ブート前の状態に速やかに復帰することができる。
【００２７】
また、データ記憶手段に記憶したデータをブート用データ記憶手段にさせた後、このブート用データ記憶手段を上記したデータの順次転送にともなって外部に取り出すことにより、デバッグなどを行うこともできる。
【００２８】
以下において図面に基づいて本発明の実施形態を詳説する。図１は、本実施形態のデータ処理装置Ａの要部を示した回路図である。データ処理装置Ａはマイクロプロセッサの場合だけでなく、レジスタなどの所要のデータ記憶手段を有してブートが必要となっている装置であれば何であってもよい。
【００２９】
本実施形態のデータ処理装置Ａには、データ記憶手段としてフリップフロップからなる第１レジスタR1、第２レジスタR2、・・・、第ｎレジスタRnが設けられている。これらのレジスタR1,R2〜Rnにはそれぞれ所要のクロック信号が入力され、このクロック信号に基づいてそれぞれ動作するようにしている。
【００３０】
そして、各レジスタR1,R2〜Rnごとに、そのレジスタR1,R2〜Rnに記憶させるブート用データを一時的に記憶する第１サブレジスタr1、第２サブレジスタr2、・・・、第ｎサブレジスタrnを設けている。本実施形態では、サブレジスタr1,r2〜rnはフリップフロップであって、ブート用データを一時的に記憶しているだけであるが、恒常的に記憶するように構成してもよく、恒常的にブート用データを記憶させる場合には、レジスタではなく他のデータ記憶手段を用いてもよい。
【００３１】
これらのサブレジスタr1,r2〜rnの出力端子は、後述するようにモード信号smによるモードの選択に基づいて、各レジスタR1,R2〜Rnに入力するデータを切り換える第１モードセレクタM1、第２モードセレクタM2、・・・、第ｎモードセレクタMnを介して各レジスタR1,R2〜Rnの入力端子と接続し、各サブレジスタr1,r2〜rnに記憶したデータを各レジスタR1,R2〜Rnにそれぞれ記憶させることができるようにしている。
【００３２】
さらに、各レジスタR1,R2〜Rnの出力端子は、それぞれ第１入力切換セレクタS1、第２入力切換セレクタS2、・・・、第ｎ入力切換セレクタSnを介して各サブレジスタr1,r2〜rnの入力端子と接続し、各レジスタR1,R2〜Rnに記憶されたデータを各サブレジスタr1,r2〜rnにそれぞれ記憶させることができるようにしている。
【００３３】
そのうえ、各サブレジスタr1,r2〜rnの出力端子は、各入力切換セレクタS1,S2〜Snを介して他のいずれか一つのサブレジスタr1,r2〜rnの入力端子に接続することにより、各サブレジスタr1,r2〜rnを互いにデイジーチェーン接続してシフトレジスタを構成するようにしている。特に、本実施形態では、第１入力切換セレクタS1を介して第１サブレジスタr1の入力端子をデータ処理装置Ａに設けた制御部Ｃに接続するとともに、第ｎサブレジスタrnの出力端子を制御部Ｃに接続している。
【００３４】
そして、各サブレジスタr1,r2〜rnは、データ処理装置Ａに設けた制御部Ｃから出力される制御クロック信号scに基づいて動作するようにしている。
【００３５】
制御部Ｃは、さらに各モードセレクタM1,M2〜Mnを制御するモード信号smと、各入力切換セレクタS1,S2〜Snを制御する入力制御信号ssとを出力するようにしている。
【００３６】
制御部Ｃでは、データ処理装置Ａをブートするブートモードの場合には、各レジスタR1,R2〜Rnに、各サブレジスタr1,r2〜rnに記憶されたブート用データを記憶させるように各モードセレクタM1,M2〜Mnを制御するモード信号smを出力し、ブートモード以外の通常モードの場合では、各レジスタR1,R2〜Rnには所要のデータを記憶させるように各モードセレクタM1,M2〜Mnを制御するモード信号smを出力している。
【００３７】
また、制御部Ｃでは、各レジスタR1,R2〜Rnに記憶されているデータを各サブレジスタr1,r2〜rnに記憶させる場合には、各サブレジスタr1,r2〜rnに各レジスタR1,R2〜Rnのデータを記憶させるように各入力切換セレクタS1,S2〜Snを制御する入力制御信号ssを出力し、それ以外の場合には、デイジーチェーン接続により接続された他のサブレジスタr1,r2〜rnに記憶されたデータを記憶させるように各入力切換セレクタS1,S2〜Snを制御する入力制御信号ssを出力している。
【００３８】
上記のように構成したデータ処理装置Ａにおいてブート行う場合には、次のようにしている。
【００３９】
まず、ブートの開始にともなって、制御部Ｃは、各サブレジスタr1,r2〜rnを互いにデイジーチェーン接続するように各入力切換セレクタS1,S2〜Snを制御する入力制御信号ssを出力するとともに、制御部Ｃは、所要の制御クロック信号scを出力しながら、制御部Ｃの図示しないメモリにあらかじめ記憶していたブート用データをデータ信号sdとして出力しながら順次転送する。
【００４０】
このとき、制御部Ｃは、モード信号smとしてブートモードの信号を出力してもよいが、各レジスタR1,R2〜Rnに正しくないブート用データが入力されることを防止するために、本実施形態では、モード信号smとしては通常モードの場合の信号を出力して、各サブレジスタr1,r2〜rnのデータが各レジスタR1,R2〜Rnに記憶されることを防止している。
【００４１】
ブート用データの順次転送によって第ｎサブレジスタrnにまでブート用データが入力されると、制御部Ｃは、モード信号smとしてブートモードの信号を出力することにより、各レジスタR1,R2〜Rnに、各サブレジスタr1,r2〜rnに記憶されているブート用データを同時に記憶させている。
【００４２】
その後、制御部Ｃは、モード信号smとして通常モードの信号を出力してブートを終了するようにしている。
【００４３】
このように、各サブレジスタr1,r2〜rnから各レジスタR1,R2〜Rnにブート用データを記憶させることによりブートを行うことによって、短時間でブートを完了させることができる。
【００４４】
しかも、各サブレジスタr1,r2〜rnを互いにデイジーチェーン接続して、制御部Ｃに記憶していたブート用データを順次転送することによって、転送するブート用データをあらかじめ調整しておくことにより所望の起動状態とすることができ、汎用性を向上させることもできる。
【００４５】
また、データ処理装置Ａでは、ブート後に通常モードに切り替わると、各レジスタR1,R2〜Rnに記憶されているデータを各サブレジスタr1,r2〜rnに記憶させるように制御部Ｃが出力する入力制御信号ssを切り換えるようにしている。
【００４６】
このように各サブレジスタr1,r2〜rnに各レジスタR1,R2〜Rnに記憶されているデータを記憶させることによって、急遽再ブートが必要となった場合には、ブート用データの各サブレジスタr1,r2〜rnへの再読込を行うことなく、各サブレジスタr1,r2〜rnに記憶されているデータを各レジスタR1,R2〜Rnに記憶させることによって、極めて短時間で所要の状態への再ブートを行うことができる。
【００４７】
すなわち、各サブレジスタr1,r2〜rnは各レジスタR1,R2〜Rnのバックアップとして機能させることができるので、各サブレジスタr1,r2〜rnの利用効率を向上させることができる。
【００４８】
さらに、必要に応じて、各レジスタR1,R2〜Rnから各サブレジスタr1,r2〜rnに記憶させたデータを、各サブレジスタr1,r2〜rnをデイジーチェーン接続し、順次転送することによって制御部Ｃに取り出すことができる。
【００４９】
このように、各レジスタR1,R2〜Rnにおける所定のタイミングでのデータの状態情報、すなわち、各レジスタR1,R2〜Rnのスナップショット情報を取得することができるので、デバッグ作業を容易に行うことができる。
【００５０】
特に、このようなスナップショット情報の取得では、各サブレジスタr1,r2〜rnに記憶されるデータが、タイミング的に一つ前のタイミングでの各レジスタR1,R2〜Rnのデータであるために、あるデータ状態でエラーが発生してデータ処理装置Ａが停止した場合に、各サブレジスタr1,r2〜rnにはエラー発生前の状態が保存されていることになるので、デバッグ作業を極めて容易に、かつて適正に行うことができる。
【図面の簡単な説明】
【００５１】
【図１】本発明に係るデータ処理装置の要部の回路図である。
【符号の説明】
【００５２】
Ａ  データ処理装置
Ｃ  制御部
R1  第１レジスタ
R2  第２レジスタ
Rn  第ｎレジスタ
r1  第１サブレジスタ
r2  第２サブレジスタ
rn  第ｎサブレジスタ
M1  第１モードセレクタ
M2  第２モードセレクタ
Mn  第ｎモードセレクタ
S1  第１入力切換セレクタ
S2  第２入力切換セレクタ
Sn  第ｎ入力切換セレクタ
sc  制御クロック信号
sd  データ信号
sm  モード信号
ss  入力制御信号
【図１】
0004311287.tif 000002