(57)【要約】【課題】ＣＰＵとそれ以外の機能ブロックを有するコンピュータシステムにおいて、各機能ブロック個別の機能動作／機能停止および初期化機能を実現し、各機能ブロックが異常状態に陥ってもシステム全体が異常状態に陥らないシステムを実現する。【解決手段】各機能ブロック１２０，１３０，１４０を個別に機能動作／機能停止および初期化制御する制御信号生成回路１０６を設け、ＣＰＵ１０１を用いたソフトウェア制御により各機能ブロック１２０，１３０，１４０の動作毎に機能停止／初期化および機能動作の処理を行うことで、各機能ブロック１２０，１３０，１４０のリフレッシュを行う。リフレッシュ動作を行うことで各機能ブロック１２０，１３０，１４０の使用時には常に初期状態からスタートできるので、あるタイミングにおいて異常状態に陥っていても次の使用時には通常状態からのスタートとなる。【選択図】        図１
2004355495.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、前記ＣＰＵによって動作が制御されて特定の機能を実行する少なくとも一つの機能ブロックと、前記ＣＰＵと前記少なくとも一つの機能ブロックとを接続するバスと、前記各機能ブロックに対して前記各機能ブロックを動作させる機能動作信号と前記各機能ブロックを停止させる機能停止信号を与える制御信号生成回路とを備え、
前記各機能ブロックは、主機能回路と、前記主機能回路の動作を規定する制御データを保持する制御レジスタと、前記制御レジスタと前記主機能回路との間に設けられて前記制御レジスタの保持データと前記制御レジスタの初期データとを選択的に前記主機能回路に入力するレジスタ信号制御回路とを有するコンピュータシステム。
【請求項２】
前記制御信号生成回路は、前記バスに接続されて前記ＣＰＵから前記バスに出力される前記各機能ブロックの機能動作命令もしくは機能停止命令をそれぞれ受け取り、前記各機能ブロックの機能動作命令もしくは機能停止命令に対応して前記各機能ブロックに対して機能動作信号もしくは機能停止信号を与えるようにしている請求項１記載のコンピュータシステム。
【請求項３】
前記ＣＰＵは、前記各機能ブロックの機能停止命令を前記バスに出力したときに、前記各機能ブロックの動作を規定する制御データを前記バスに併せて出力し、
前記制御レジスタは前記ＣＰＵから出力される前記制御データを格納し、
前記レジスタ信号制御回路は、前記制御信号生成回路より前記機能停止信号が与えられたときに前記制御レジスタの初期データを前記主機能回路に与え、前記制御信号生成回路より前記機能動作信号が与えられたときに前記制御レジスタの保持データを前記主機能回路に与え、
前記主機能回路は前記制御信号生成回路より前記機能停止信号が与えられたときに停止し初期化されて前記制御レジスタの初期データが設定され、前記制御信号生成回路より前記機能動作信号が与えられたときに前記制御レジスタの保持データを基に動作する請求項２記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵと、ＣＰＵ以外の少なくとも一つの機能ブロックとを有するコンピュータシステムに関するもので、特に、ＣＰＵを用いたソフトウェア制御により各機能ブロックの機能動作／機能停止および初期化を行うことができるコンピュータシステムに関するものである。
【０００２】
【従来の技術】
従来、ＣＰＵと、ＣＰＵ以外の少なくとも一つの機能ブロックとを有するコンピュータシステムにおいては、ＣＰＵが双方向バスを介して、各機能ブロックの様々な制御を行っている。
【０００３】
図３に従来のコンピュータシステムの構成の一例を示す。図３において、３０１はＣＰＵ（中央処理装置）、３０２は機能ブロックの一つである通信ブロック、３０３は他の機能ブロック、３０４はさらに他の機能ブロック、３０５は双方向のバス（データ、アドレスｅｔｃ）、３０６は外部リセット信号が入力される外部リセット端子である。
【０００４】
例えば、通信ブロック３０２を制御して他の機器（図示せず）との通信を実現する場合は、ＣＰＵ３０１より通信ブロック３０２に対してバス３０５を介して送信データや送信命令等の命令を送信する。通信ブロック３０２は、ＣＰＵ３０１からの命令をもとに、他の機器と通信を始める。その他の機能ブロック３０３，３０４に関しても、ＣＰＵ３０１が命令を送信してその命令をもとにそれぞれの機能ブロック３０３，３０４に応じた動作をする。
【０００５】
これらＣＰＵ３０１と通信ブロック３０２および機能ブロック３０３，３０４とを有するコンピュータシステムに外部よりノイズ等が混入し、通常ではありえない状態にコンピュータシステムが陥り、コンピュータシステムが動作不可能な状態になった場合には、外部リセット端子３０６にリセット信号を入れることでＣＰＵ３０１や通信ブロック３０２、機能ブロック３０３，３０４を一斉にリセットしシステム全体の初期化を行うか、異常の発生した機能ブロックに対してＣＰＵ３０１を用いてソフトウェア的に初期状態に戻せる部分（レジスタ等）のみを初期化して正常状態にもどす制御を行う。
【０００６】
外部リセット端子３０６は、ハードウェアリセットとも呼ばれ、電源立ち上げ時にも使用される。この外部リセット端子３０６に外部リセット信号を入れることで、ＣＰＵ３０１およびそれ以外の全ての機能ブロックに対してハードウェアリセットをかけることが可能である。
【０００７】
このようなコンピュータシステムに異常が起きた際の制御方法としては、上記方法以外に異常の起きたブロックのみを初期化する制御方法を用いているものもある（例えば、特許文献１参照）。
【０００８】
【特許文献１】
特開平５−２６５５９６号公報
【０００９】
【発明が解決しようとする課題】
ＣＰＵとそれ以外の少なくとも一つの機能ブロックを有する、昨今のコンピュータシステムにおいては、外部からの影響等によりシステム全体が異常状態に陥ることのないシステムが求められてきている。
【００１０】
ＣＰＵとそれ以外の少なくとも一つの機能ブロックを有するコンピュータシステムにおいて、外部からの影響等によりＣＰＵ以外の機能ブロックに異常状態が発生した場合の制御方法として、従来技術では、以下のような方法が使用されている。コンピュータシステムの異常状態を監視し、異常状態が発生したと検出した場合に、機能ブロックをソフトウェアにて制御しソフトウェア的にリセットをかけるか、コンピュータシステム全体にハードウェア的にリセットをかけ、コンピュータシステム全体を初期状態に戻すか、異常状態にある機能ブロックに個別にソフトウェアリセットをかけ、その機能ブロックのみを初期状態に戻し復帰する手段を行っていた。
【００１１】
しかしながら、上記のような復旧手段は、異常状態を監視し異常状態が発生したと検出した場合にのみ機能する手段である。そのため、異常状態の検出ができなかった場合には、システムを復旧する手段としてはシステム全体にハードウェア的にリセットをかけ、システム全体を初期状態に戻すしかない。
【００１２】
したがって、本発明の目的は、ＣＰＵとそれ以外の少なくとも一つの機能ブロックを有するシステムにおいて、システム全体の安定性を確保することができるコンピュータシステムを提供することである。
【００１３】
【課題を解決するための手段】
本発明のコンピュータシステムは、ＣＰＵとそれ以外の少なくとも一つの機能ブロックを有するシステムにおいて、ＣＰＵを用いたソフトウェア制御により各機能ブロック毎に、機能動作および機能停止を制御可能とし、各機能ブロックを機能停止させたときに、その機能ブロックを初期化する構成を採用する。
【００１４】
その結果、ＣＰＵを用いたソフトウェア制御により各機能ブロックの動作開始時にその機能ブロックのみを機能停止および初期化のリフレッシュ動作することが可能である。
【００１５】
したがって、各機能ブロックの使用開始時にその機能ブロックを初期状態にリフレッシュした状態で動作させることができる。その結果、例えばある機能ブロックが外部からのノイズ等により通常状態ではなりえない状態に陥ったとしても、その機能ブロックの使用時にはこのリフレッシュ動作により初期状態にリフレッシュされるため、システム全体の安定性を確保することが可能となる。
【００１６】
本発明のコンピュータシステムは、ＣＰＵと、ＣＰＵによって動作が制御されて特定の機能を実行する少なくとも一つの機能ブロックと、ＣＰＵと少なくとも一つの機能ブロックとを接続するバスと、各機能ブロックに対して各機能ブロックを動作させる機能動作信号と各機能ブロックを停止させる機能停止信号を与える制御信号生成回路とを備えている。
【００１７】
各機能ブロックは、主機能回路と、主機能回路の動作を規定する制御データを保持する制御レジスタと、制御レジスタと主機能回路との間に設けられて制御レジスタの保持データと制御レジスタの初期データとを選択的に主機能回路に入力するレジスタ信号制御回路とを有する。
【００１８】
上記の制御信号生成回路は、例えば、バスに接続されてＣＰＵからバスに出力される各機能ブロックの機能動作命令もしくは機能停止命令をそれぞれ受け取り、各機能ブロックの機能動作命令もしくは機能停止命令に対応して各機能ブロックに対して機能動作信号もしくは機能停止信号を与えるようにしている。
【００１９】
また、ＣＰＵは、例えば各機能ブロックの機能停止命令をバスに出力したときに、各機能ブロックの動作を規定する制御データをバスに併せて出力し、制御レジスタはＣＰＵから出力される制御データを格納するように構成されている。
【００２０】
また、レジスタ信号制御回路は、例えば制御信号生成回路より機能停止信号が与えられたときに制御レジスタの初期データを主機能回路に与え、制御信号生成回路より機能動作信号が与えられたときに制御レジスタの保持データを主機能回路に与える。
【００２１】
さらに、主機能回路は、例えば制御信号生成回路より機能停止信号が与えられたときに停止し初期化されて制御レジスタの初期データが設定され、制御信号生成回路より機能動作信号が与えられたときに制御レジスタの保持データを基に動作する。
【００２２】
【発明の実施の形態】
図１は、本発明のＣＰＵとそれ以外の少なくとも一つの機能ブロックとを有するコンピュータシステムにおいて、ＣＰＵを用いたソフトウェア制御により、機能ブロックを初期化および動作制御する方法を示すブロック図である。
【００２３】
本発明の実施の形態のコンピュータシステムは、ＣＰＵ１０１と、ＣＰＵ１０１によって動作が制御されて各々特定の機能を実行する機能ブロック１２０、１３０、１４０、・・・と、各機能ブロック１２０、１３０、１４０、・・・に対して各機能ブロック１２０、１３０、１４０、・・・を動作させる機能動作信号と各機能ブロックを停止させる機能停止信号を与える制御信号生成回路１０６と、双方向のバス１０５とから構成される。ＣＰＵ１０１と機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・と、制御信号生成回路１０６とは、バス１０５により結ばれている。
【００２４】
例えば、機能ブロック１２０は、論理回路などで構成される主機能回路１２５と、主機能回路１２５の動作を規定する制御データを保持する制御レジスタ１２４と、制御レジスタ１２４と主機能回路１２５との間に設けられて制御レジスタ１２４の保持データと制御レジスタの初期データとを選択的に主機能回路１２５に入力するレジスタ信号制御回路１２６とを有する。他の機能ブロック１３０、１４０なども同様の構成である。
【００２５】
また、制御信号生成回路１０６は、バス１０５に接続されてＣＰＵ１０１からバス１０５に出力される各機能ブロック１２０、１３０、１４０、・・・の機能動作命令もしくは機能停止命令をそれぞれ受け取り、各機能ブロック１２０、１３０、１４０、・・・の機能動作命令もしくは機能停止命令に対応して各機能ブロック１２０、１３０、１４０、・・・に対して機能動作信号もしくは機能停止信号を与える。
【００２６】
また、ＣＰＵ１０１は、各機能ブロック１２０、１３０、１４０、・・・の機能停止命令をバス１０５に出力したときに、各機能ブロック１２０、１３０、１４０、・・・の動作を規定する制御データをバス１０５に併せて出力し、制御レジスタ１２４はＣＰＵ１０１から出力される制御データを格納するように構成されている。
【００２７】
また、レジスタ信号制御回路１２６は、制御信号生成回路１０６より機能停止信号が与えられたときに制御レジスタの初期データを主機能回路１２５に与え、制御信号生成回路１０６より機能動作信号が与えられたときに制御レジスタ１２４の保持データを主機能回路１２５に与える。
【００２８】
さらに、主機能回路１２５は、制御信号生成回路１０６より機能停止信号が与えられたときに停止し初期化されて制御レジスタの初期データが設定され、制御信号生成回路１０６より機能動作信号が与えられたときに制御レジスタ１２４の保持データを基に動作する。
【００２９】
以下、実施の形態をさらに具体的に説明する。
【００３０】
制御信号生成回路１０６は、ＣＰＵ１０１よりバス１０５を介して各機能ブロック１２０，１３０，１４０に対する動作命令（Ｅｎａｂｌｅ）／停止命令（Ｄｉｓｅｎａｂｌｅ）を受けると、制御信号１０７の信号線を介して機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・のうちどれかまたはいくつかに動作（Ｅｎａｂｌｅ）／停止（Ｄｉｓｅｎａｂｌｅ）のための機能動作信号もしく機能停止信号を送る。
【００３１】
機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・は、外部リセット端子１０８から入力されるハードウェアリセット信号１０９が供給されるリセット入力端子１２１、リセット入力端子１３１、リセット入力端子１４１、・・・とは別に、回路の動作（Ｅｎａｂｌｅ）／停止（Ｄｉｓｅｎａｂｌｅ）が選択できる動作制御端子１２２、動作制御端子１３２、動作制御端子１４２、・・・を装備している。
【００３２】
機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・は、それぞれの動作制御端子１２２、動作制御端子１３２、動作制御端子１４２、・・・より機能停止信号（動作停止命令）を受けると動作を停止し、機能動作信号（動作開始命令）を受けると動作開始するように構成されている。
【００３３】
機能ブロックＡ１２０を例にとると、動作制御端子１２０は、内部動作制御信号１２３の信号線を介して制御レジスタ１２４以外の主機能回路１２５とレジスタ信号制御回路１２６とに接続され、主機能回路１２５の動作（Ｅｎａｂｌｅ）／停止（Ｄｉｓｅｎａｂｌｅ）の制御を行う以外に、停止時は主機能回路１２５の初期化も行われる。
【００３４】
停止時において、制御レジスタ１２４は動作可能であり、次に動作する際の設定値を設定保存することが可能である。その際、内部動作制御信号１２３がレジスタ信号制御回路１２６を制御することにより、主機能回路１２５に対して、レジスタ信号制御回路から初期値を与える構成になっている。これによって、上記したように、主機能回路１２５が初期化される。
【００３５】
その他の機能ブロック１３０、機能ブロック１４０、・・・に関しても同様な構成となっている。
【００３６】
例えば、機能ブロック１２０を使用する場合、まずＣＰＵ１０１は、制御信号生成回路１０６に対して機能ブロック１２０の停止命令を送る。
【００３７】
制御信号生成回路１０６は、ＣＰＵ１０１より機能ブロック１２０の停止（Ｄｉｓｅｎａｂｌｅ）命令を受けると、制御信号１０７として機能ブロックＡ１２０に停止（Ｄｉｓｅｎａｂｌｅ）の信号を送る。
【００３８】
停止（Ｄｉｓｅｎａｂｌｅ）信号を受け取った機能ブロック１２０は、主機能回路１２５の停止および初期化（リフレッシュ）を行う、これと同時に、ＣＰＵ１０１は、機能ブロック１２０の制御レジスタ１２４に機能ブロック１２０の動作に必要な設定値を設定する。この際、制御レジスタ１２４と主機能回路１２５とはレジスタ信号制御回路１２６により分離され、制御レジスタ１２４の設定値が主機能回路１２５に影響を及ぼさない。これらの動作完了後に、ＣＰＵ１０１は、制御信号生成回路１０６に機能ブロック１２０の動作命令を送る。
【００３９】
動作（Ｅｎａｂｌｅ）命令を受け取った機能ブロック１２０は、制御レジスタ１２４に設定された値で、主機能回路１２５の動作を行う。
【００４０】
上記の動作を各機能ブロック１２０、１３０、１４０、・・・の動作時に毎回行うことで常にリフレッシュされた状態でコンピュータシステム全体が動作し、ある機能ブロックが外部からのノイズ等により通常状態ではなりえない状態に陥ったとしてもその機能ブロック使用時にはこのリフレッシュ動作により初期状態にリフレッシュされる。そのため、コンピュータシステム全体の安定性を確保することが可能となる。
【００４１】
また、それぞれの機能ブロック１２０、１３０、１４０、・・・において動作（Ｅｎａｂｌｅ）／停止（Ｄｉｓｅｎａｂｌｅ）が選択できることから、異常状態におちいった機能ブロックを容易にコンピュータシステムから切り離し、コンピュータシステム全体への影響を避けることも可能である。
【００４２】
さらに、それぞれの機能ブロック１２０、１３０、１４０、・・・において、動作（Ｅｎａｂｌｅ）／停止（Ｄｉｓｅｎａｂｌｅ）が選択できることから、ある機能ブロックを使用しない場合は、その機能ブロックを停止（Ｄｉｓｅｎａｂｌｅ）状態にすることで、コンピュータシステム全体の消費電力を下げることも可能となる。
【００４３】
以下に図１および図２を用いて、本発明の実施の形態を、より具体的に説明する。図２には本発明の実施例として機能ブロック１２０および制御信号生成回路１０６の具体的な構成を示す。なお、以下の説明は、実施の形態における一例であり、これ以外に種々の応用例が考えられることは容易に理解できる。
【００４４】
実施例における機能ブロック１２０は、ＡＮＤゲート１２７と、他の任意の回路構成の論理回路（例えばフリップフロップなど）によって構成されており、動作制御端子１２２からの制御信号が主機能回路１２５内の各論理回路のリセット端子に入力されるようになっている。レジスタ信号制御回路１２６は、セレクタで構成されており、内部動作制御信号１２３のレベルに応じて制御レジスタ１２４の保持値を出力するか、制御レジスタ１２４の初期値を出力するかが選択される。
【００４５】
機能ブロック１２０をシリアル通信ブロックと仮定すると、シリアル通信時ＣＰＵ１０１は、まずバス１０５を介して制御信号生成回路１０６にシリアル通信ブロック停止命令“０”を書き込む。すると、制御信号生成回路１０６は、制御信号１０７として“Ｌ”を出力し、その信号が、シリアル通信ブロックである機能ブロック１２０に伝えられる。伝えられた信号は、動作制御端子１２２から内部動作制御信号１２３としてＡＮＤゲートＡ１２７に伝わり、シリアル通信ブロックの主機能回路１２５内に構成される論理回路のリセット端子に入力され、主機能回路１２５の動作停止および初期化、すなわち機能ブロック１２０の動作停止および初期化を行う。
【００４６】
同時に、内部動作制御信号１２３がレジスタ信号制御回路１２６に入力され、レジスタ信号制御回路１２６から機能ブロック１２０の主機能回路１２５へは、制御レジスタ１２４の初期値が入力される。
【００４７】
シリアル通信ブロックで機能ブロック１２０が停止されたら、ＣＰＵ１０１は、シリアル通信ブロックである機能ブロック１２０を動作させるための送信データ／通信設定等を機能ブロック１２０内の制御レジスタ１２４に書き込む。この時点で機能ブロック１２０の主機能回路１２５へは、制御レジスタ１２４の初期値が入力される。
【００４８】
ＣＰＵ１０１により機能ブロック１２０の停止と初期化、制御レジスタ１２４への命令の書き込みが行われたら、上記とは逆にバス１０５を介して制御信号生成回路１０６に機能ブロック（シリアル通信ブロック）１２０の動作命令“１”を書き込む。すると、制御信号生成回路１０６は、制御信号１０７として“Ｈ”を出力し、その信号が、機能ブロック（シリアル通信ブロック）１２０に伝えられる。伝えられた信号は、動作制御端子１２２から内部動作制御信号１２３としてＡＮＤゲート１２７に伝わり、機能ブロック１２０の主機能回路１２５内に構成される論理回路のリセット端子のリセット状態を解除し、機能ブロック１２０の主機能回路１２５の動作を行わせる。
【００４９】
同時に、内部動作制御信号１２３は、レジスタ信号制御回路１２６に入力されレジスタ信号制御回路１２６から機能ブロック１２０主機能回路１２５へは、制御レジスタ１２４に設定された送信データ／通信設定等が入力される。
【００５０】
上記例はシリアル通信ブロックについて説明しているが、その他の機能ブロックに関しても同様である。
【００５１】
上記動作を、各機能ブロックの動作開始毎に行い、毎回各機能ブロックのリフレッシュを行うことで、コンピュータシステム全体が異常状態に陥ることを回避する。
【００５２】
さらに、機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・の異常がコンピュータシステム全体に悪影響を及ぼしている場合などは、上述の制御信号１０７を用いて機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・を常時停止状態に置くことで、コンピュータシステムからの切り離しを行うことができる。
【００５３】
また、正常状態にあっても、ある動作状態において機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・を使用しない場合は、上述の制御信号１０７を用いて機能ブロック１２０、機能ブロック１３０、機能ブロック１４０、・・・を常時停止状態に置くことで、機能ブロック１２０、機能ブロック１３０、機能ブロック１４０・・・を停止でき、コンピュータシステム全体の消費電力の低減を図ることが可能である。
【００５４】
【発明の効果】
上記に述べたように、本発明によれば、外部からの影響によりある機能ブロックが異常状態に陥ってもその機能ブロック使用毎にその機能ブロックのみ初期化処理されるため、システム全体が異常状態に陥ることを回避することができる。
【００５５】
さらに、異常状態に陥った場合システム全体を初期化するのではなく、異常状態にある機能ブロックのみを個別に停止し初期化することが可能である。また、機能ブロックを個別に停止／動作の選択が可能なことから異常状態に陥った機能ブロックを停止しコンピュータシステムから切り離すことも容易にできる。また、使用しない機能ブロックを停止し、コンピュータシステム全体の消費電力を下げることも可能になる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるコンピュータシステムの構成を示すブロック図である。
【図２】図１中の機能ブロックおよび制御信号生成回路の詳細構成の一例を示すブロック図である。
【図３】従来のコンピュータシステムの構成を示すブロック図である。
【符号の説明】
１０１    ＣＰＵ
１０５    バス
１０６    制御信号生成回路
１０７    制御信号
１０８    外部リセット端子
１０９    ハードウェアリセット信号
１２０    機能ブロック
１２１    リセット入力端子
１２２    動作制御端子
１２３    内部動作制御信号
１２４    制御レジスタ
１２５    主機能回路
１２６    レジスタ信号制御回路
１２７    ＡＮＤゲート
１３０    機能ブロック
１３１    リセット入力端子
１３２    動作制御端子
１４０    機能ブロック
１４１    リセット入力端子
１４２    動作制御端子
３０１    ＣＰＵ
３０２    通信ブロック
３０３    機能ブロック
３０４    機能ブロック
３０５    バス
３０６    外部リセット端子
【図１】
2004355495.tif 000003
【図２】
2004355495.tif 000004
【図３】
2004355495.tif 000005