JPH08161176A - リスタート処理方法 - Google Patents

リスタート処理方法

Info

Publication number
JPH08161176A
JPH08161176A JP6300480A JP30048094A JPH08161176A JP H08161176 A JPH08161176 A JP H08161176A JP 6300480 A JP6300480 A JP 6300480A JP 30048094 A JP30048094 A JP 30048094A JP H08161176 A JPH08161176 A JP H08161176A
Authority
JP
Japan
Prior art keywords
instruction
entry
instruction cache
program
power
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
Application number
JP6300480A
Other languages
English (en)
Inventor
Nobuo Akeura
伸夫 明浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6300480A priority Critical patent/JPH08161176A/ja
Publication of JPH08161176A publication Critical patent/JPH08161176A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 ソフトウェア障害時におけるオペレーティン
グシステムの高速な再立ち上げ処理を行うために、該再
立ち上げ処理の命令列を命令キャッシュ上に常駐させ
る。 【構成】 命令キャッシュ102の各エントリ103に
入れ換え禁止ビット104を設ける。パワーオンの処理
時に、設定制御部105が、エントリ103の入れ換え
禁止ビット104を“1”に設定する。次いで、禁止ビ
ット104が“1”に設定されたエントリ103に、ク
イックリスタート処理の命令列を書き込み、ユーザ領域
を初期化し、診断する。パワーオンの間、クイックリス
タート処理の命令列が命令キャッシュ102に常駐さ
れ、ソフトウェア障害が発生したとき、命令キャッシュ
から該命令列を読み出し、リスタートする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、クイックリスタート処
理のための命令列を命令キャッシュ内に常駐することに
よりリスタート処理を高速に行うリスタート処理方法に
関する。
【0002】
【従来の技術】コンピュータシステムの信頼性はますま
す重要になってきている。これに応えるべく、近年サー
バステーションといった小型コンピュータの分野でも、
フォールトトレラントコンピュータや複数のコンピュー
タ装置によるホットスタンバイ構成のコンピュータシス
テムが次々と発表されている。
【0003】これらのシステムは、主にハードウェア構
成の冗長化により、耐故障性を向上させたものであり、
確かにハード故障に対するノーダウン性は実現されてい
る。しかし、ソフトウェア障害(主にオペレーティング
システムのパニック)に対しては、ほとんどのシステム
において何ら対策されていないのが実情であり、せいぜ
いクイックリスタートによるオペレーティングシステム
の再立ち上げがサポートされている程度である。これは
ソフト障害の原因のほとんどがオペレーティングシステ
ムの潜在バグによるため、抜本的な対策がシステム稼働
中には採れない(オペレーティングシステムの入れ換え
が必要な)ことに起因している。
【0004】ここでいうクイックリスタートとは、一旦
システムにパワーオン相当のリセットをかけ、主記憶上
のユーザ領域のみ初期化して、オペレーティングシステ
ムを再度立ち上げるものである。パワーオン処理との大
きな相違は、主記憶上のオペレーティングシステム常駐
領域の初期化とハードディスクなど外部記憶装置からの
オペレーティングシステム再ロードを実施しないことに
ある。これにより仕様上は、オペレーティングシステム
のパニック回復時間が短縮される。なお、この種の関連
する技術としては、例えば特開平5−120231号公
報に記載のリスタート処理方法がある。
【0005】
【発明が解決しようとする課題】しかし、上記した処理
は、通常ROMに格納されているIPLプログラムによ
って実施される。リセット実行時に、このIPLプログ
ラムが命令キャッシュに存在する確率はほとんどない。
これは命令キャッシュの全エントリがオペレーティング
システムやユーザプログラムの命令によってほぼ占有さ
れているからである。
【0006】従って、クイックリスタート処理を実施す
る命令列は、命令キャッシュミスヒット状態で実行され
ることになる。このためIPLプログラム格納元のRO
Mに、連続して命令フェッチのためのリードアクセスが
発生することになる。一般に、このROMとマイクロプ
ロセッサ間のデータ転送幅(バス幅)は、ROMチップ
の仕様上1バイトである。このため”クイック”といっ
ても実際は、命令フェッチのために膨大な時間を要する
ことになる。この結果、クイックリスタート処理による
コンピュータシステムのダウン時間、すなわちパニック
回復時間を短縮することができない。
【0007】本発明の目的は、ソフトウェア障害時にお
けるオペレーティングシステムの高速な再立ち上げ処理
を行うために、該再立ち上げ処理の命令列を命令キャッ
シュ上に常駐させ、命令キャッシュヒット状態で該命令
列を実行するリスタート処理方法を提供することにあ
る。
【0008】
【課題を解決するための手段】前記目的を達成するため
に、本発明では、命令キャッシュを内蔵したマイクロプ
ロセッサと、OSプログラムを格納した外部記憶装置
と、OS常駐領域とユーザ領域を持つ主記憶装置と、I
PLプログラムを格納したROMとを備え、パワーオン
時に該IPLプログラムを起動して、OSプログラムを
該主記憶装置にロードしてシステムを立ち上げ、システ
ム動作中にソフトウェア障害が発生したとき、該OSプ
ログラムはシステムをリセットし、該IPLプログラム
を起動して、ユーザ領域を初期化し、診断した後にシス
テムをリスタートさせるマイクロコンピュータシステム
におけるリスタート処理方法において、前記命令キャッ
シュの各エントリに、エントリの入れ換え禁止ビットを
設け、前記パワーオン時に所定エントリの入れ換え禁止
ビットをセットし、前記システムをリスタートするため
の命令列を該所定エントリに書き込み、パワーオンの
間、該命令列を前記命令キャッシュ中に常駐させること
を特徴としている。
【0009】
【作用】内蔵命令キャッシュの各エントリに入れ換え禁
止ビットを設ける。マイクロプロセッサがパワーオンさ
れると、各エントリの入れ換え禁止ビットがゼロクリア
される。パワーオン処理時に、入れ換え禁止ビット設定
制御部は、エントリの入れ換え禁止ビットをセットす
る。入れ換え禁止ビットがセットされたエントリに、ク
イックリスタート処理の命令列を書き込み、ユーザ領域
のメモリを初期化し、診断する。パワーオンの間、クイ
ックリスタート処理の命令列が命令キャッシュに常駐
し、ソフトウェア障害が発生したとき、命令キャッシュ
から該命令列を読み出し、システムがリスタート処理さ
れる。
【0010】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。図1は、本発明の実施例1の構成を示
す。図において、101は、マイクロプロセッサ、10
2は、マイクロプロセッサ内部に設けられた命令キャッ
シュ、103は、命令キャッシュのエントリ、104
は、エントリ入れ換え禁止ビット、105は、エントリ
入れ換え禁止ビットの設定制御部、106は、マイクロ
プロセッサ内部にある命令キャッシュ制御部である。な
お、マイクロプロセッサ101には、命令キャッシュ制
御に係る構成要素のみを示し、他の構成要素は図から省
略されている。
【0011】また、107は主記憶装置(DRAMで構
成)であり、OS(オペレーティングシステム)常駐領
域108とユーザ領域109からなる。110はIPL
プログラムが格納されたROMであり、パワーオン処理
(A)格納領域111とクイックリスタート処理(B)
格納領域112からなる。113はOSプログラムなど
が格納された外部記憶装置である。
【0012】図2は、本発明のパワーオン時の処理フロ
ーチャートである。マイクロプロセッサ101がパワー
オンされると、ステップ201でパワーオンかリセット
かを判定する。一般に、マイクロプロセッサはパワーオ
ンとリセット時の命令実行アドレスが同一、またはその
近傍にあることが多いので、要因判定を行ってその処理
を切り替えている。
【0013】マイクロプロセッサ101がパワーオンさ
れると、命令キャッシュ102の各エントリ103の入
れ換え禁止ビット104がゼロクリアされる。この状態
ではすべての命令キャッシュエントリ103は、命令キ
ャッシュ制御部106によって入れ換え可能な状態とな
る。
【0014】パワーオンである場合、ROM110内の
パワーオン処理(A)格納領域111が読み出されて以
下の処理が実行される。ステップ202では、まずオペ
レーティングシステム(OS)が常駐する主記憶装置1
07のOS常駐領域108の初期化と診断を行う。次い
で、ステップ203では、OSプログラムをハードディ
スクなど外部記憶装置113から、主記憶装置107の
OS常駐領域108にローディングする。これを一般に
IPLと呼ぶ。
【0015】続いて、ステップ204では、命令キャッ
シュエントリ103の入れ換えを禁止するための命令を
実行する。この命令を実行すると、エントリ入れ換え禁
止ビットの設定制御部105は、オペランドとしてプロ
グラムが指定したアドレスに該当するエントリ103の
入れ換え禁止ビット104に“1”を設定する。
【0016】この設定が終了すると、ステップ205で
は、ステップ204によって入れ換え禁止ビット104
が“1”に設定されたエントリ103に、クイックリス
タート処理(B)格納領域112が格納され、該領域1
12の命令列が実行されて、主記憶装置107のユーザ
領域109が初期化され、診断される。そして、このク
イックリスタート処理(B)格納領域112は、入れ換
えを禁止されているので、パワーオン中は、命令キャッ
シュ102内部に常駐されることになる。
【0017】ステップ205が完了すると、すなわち全
主記憶領域の初期化と診断が完了すると、ステップ20
2でロードしたOSの先頭アドレスに分岐して、パワー
オン処理が終了する。そして、OSおよびユーザプログ
ラムの命令列が実行され始めても、設定制御部105に
よって設定された命令キャッシュ入れ換え禁止ビット1
04は、次のパワーオフ・オンまで保持される。
【0018】図3は、命令キャッシュ制御部によって実
行される、本発明の命令キャッシュ制御の処理フローチ
ャートである。命令キャッシュ102内に実行すべき命
令があるか否かを検索する(ステップ301)。命令キ
ャッシュ102内にあれば(ステップ302)、命令キ
ャッシュ制御部106は該当するエントリから命令を取
り出し、命令を実行する(ステップ303)。
【0019】ステップ302で、該当するエントリがな
い場合は、主記憶領域107またはROM領域110か
ら命令を読み出す(ステップ304)。次いで、命令キ
ャッシュ制御部106は、命令キャッシュ102内の空
きエントリを検索する(ステップ305)。判定の結
果、空いているエントリがあれば(ステップ306)、
該空きエントリに、ステップ304で読み出した命令を
格納し(ステップ310)、ステップ301に戻る。ス
テップ301でフェッチ対象のアドレスを検索するが、
既にステップ310によって命令キャッシュ102に
は、フェッチ対象のアドレスに対するエントリが形成さ
れているので(ステップ302)、ステップ303によ
って命令が改めて命令キャッシュ102から取り出され
る。
【0020】判定の結果、空きエントリがない場合は
(ステップ306)、入れ換え候補となるエントリを選
び出す(ステップ307)。次いで、ステップ308で
は、この選択されたエントリの入れ換え禁止ビット10
4に“1”が設定されているか否かの判定を行う。禁止
ビット104が“1”に設定されていなければ(ステッ
プ309)、このエントリを空きエントリとして、前述
したと同様に該空きエントリにステップ304で読み出
した命令を格納する(ステップ310)。
【0021】判定の結果、禁止ビットが“1”に設定さ
れているときは(ステップ309)、ステップ307に
戻り、次の入れ換え候補となるエントリを検索する。以
下、前述したと同様に処理される。
【0022】このように、一度、設定制御部105によ
って、入れ換え禁止を設定されたエントリ103は、次
のパワーオフ及びパワーオンによって禁止ビット104
がクリアされるまで、命令キャッシュエントリの入れ換
え対象とならない。従って、パワーオン中、禁止ビット
104が“1”に設定されたエントリは、常に命令キャ
ッシュ102にヒットする(つまり常駐する)ことにな
り、該エントリに入っている命令列によるクイックリス
タート処理は、高速な実行(つまり、命令キャッシュミ
スヒットによる無駄な読み出し動作のない命令実行)が
保証されることになる。
【0023】なお、上記した設定制御部105による命
令キャッシュエントリ入れ換え禁止は、複数のエントリ
に設定することができるので、複数のキャッシュエント
リにまたがる容量を持つ処理のすべての命令列を命令キ
ャッシュに常駐させることも可能である。
【0024】次に、上記した状態において、OSパニッ
クなどソフトウェア障害が発生した場合について、本発
明の動作を説明する。OSパニックなどソフトウェア障
害が発生すると、OSはマイクロプロセッサ101に対
して、クイックリスタートのためのリセットを発行す
る。ステップ201で、リセットが判定されると、ユー
ザ領域109のみを初期化・診断し(ステップ20
5)、OSを再度立ち上げるクイックリスタート処理に
入る。
【0025】このとき、ステップ205を実行する領域
112の全命令列は、命令キャッシュ102内部に常駐
しているので、必ず命令キャッシュにヒットし、実行さ
れる。これにより、ROM110の格納領域112に対
して、無駄な命令フェッチ動作を行うことなく、高速に
クイックリスタート処理が実行される。
【0026】図4は、本発明の実施例2の構成を示す。
この実施例では、命令キャッシュがn−wayセットア
ソシエイティブキャッシュで構成されている。すなわ
ち、マイクロプロセッサ101には、セットアソシエイ
ティブ命令キャッシュ102a、102b、102c、
102d(4−way構成)が設けられている。他の構
成は実施例1のものと同様である。
【0027】各命令キャッシュ102a〜102dの各
エントリ単位に、入れ換え禁止ビット104が設けられ
ている。命令キャッシュ制御部106の制御動作は、前
述した図3の処理フローチャートに従って行われる。た
だし、ステップ301、305、307における、エン
トリの検索、選択は、命令キャッシュ102aから順に
102dまで行う点が異なる。
【0028】
【発明の効果】以上、説明したように、本発明によれ
ば、処理時間をできるだけ短縮したい処理の命令列が、
パワーオン以後、命令キャッシュ内に常駐しているの
で、命令フェッチによる無駄な動作を回避することがで
き、これによりソフトウェア障害が発生したときのリス
タート処理を高速化することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例1の構成を示す。
【図2】本発明のパワーオン時の処理フローチャートで
ある。
【図3】本発明の命令キャッシュ制御の処理フローチャ
ートである。
【図4】本発明の実施例2の構成を示す。
【符号の説明】
101 マイクロプロセッサ 102 命令キャッシュ 103 命令キャッシュのエントリ 104 エントリ入れ換え禁止ビット 105 設定制御部 106 命令キャッシュ制御部 107 主記憶装置 108 OS(オペレーティングシステム)常駐領域 109 ユーザ領域 110 ROM 111 パワーオン処理(A)格納領域 112 クイックリスタート処理(B)格納領域 113 外部記憶装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 命令キャッシュを内蔵したマイクロプロ
    セッサと、OSプログラムを格納した外部記憶装置と、
    OS常駐領域とユーザ領域を持つ主記憶装置と、IPL
    プログラムを格納したROMとを備え、パワーオン時に
    該IPLプログラムを起動して、OSプログラムを該主
    記憶装置にロードしてシステムを立ち上げ、システム動
    作中にソフトウェア障害が発生したとき、該OSプログ
    ラムはシステムをリセットし、該IPLプログラムを起
    動して、ユーザ領域を初期化し、診断した後にシステム
    をリスタートさせるマイクロコンピュータシステムにお
    けるリスタート処理方法において、前記命令キャッシュ
    の各エントリに、エントリの入れ換え禁止ビットを設
    け、前記パワーオン時に所定エントリの入れ換え禁止ビ
    ットをセットし、前記システムをリスタートするための
    命令列を該所定エントリに書き込み、パワーオンの間、
    該命令列を前記命令キャッシュ中に常駐させることを特
    徴とするリスタート処理方法。
JP6300480A 1994-12-05 1994-12-05 リスタート処理方法 Pending JPH08161176A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6300480A JPH08161176A (ja) 1994-12-05 1994-12-05 リスタート処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6300480A JPH08161176A (ja) 1994-12-05 1994-12-05 リスタート処理方法

Publications (1)

Publication Number Publication Date
JPH08161176A true JPH08161176A (ja) 1996-06-21

Family

ID=17885315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6300480A Pending JPH08161176A (ja) 1994-12-05 1994-12-05 リスタート処理方法

Country Status (1)

Country Link
JP (1) JPH08161176A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184703A (ja) * 1997-12-19 1999-07-09 Nec Corp 情報処理装置及びそのブート方法
WO2005103892A3 (en) * 2004-04-16 2006-06-08 Eastman Kodak Co Initialization of electronic device
US7136965B2 (en) 2000-08-07 2006-11-14 Nec Corporation Microcomputer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184703A (ja) * 1997-12-19 1999-07-09 Nec Corp 情報処理装置及びそのブート方法
US6226740B1 (en) 1997-12-19 2001-05-01 Nec Corporation Information processing apparatus and method that uses first and second power supplies for reducing booting time
US7136965B2 (en) 2000-08-07 2006-11-14 Nec Corporation Microcomputer
WO2005103892A3 (en) * 2004-04-16 2006-06-08 Eastman Kodak Co Initialization of electronic device
CN100410881C (zh) * 2004-04-16 2008-08-13 伊斯曼柯达公司 电子装置和控制方法

Similar Documents

Publication Publication Date Title
US8412981B2 (en) Core sparing on multi-core platforms
US6981104B2 (en) Method for conducting checkpointing within a writeback cache
JP5526626B2 (ja) 演算処理装置およびアドレス変換方法
US7698594B2 (en) Reconfigurable processor and reconfiguration method executed by the reconfigurable processor
US6049672A (en) Microprocessor with circuits, systems, and methods for operating with patch micro-operation codes and patch microinstruction codes stored in multi-purpose memory structure
US6351789B1 (en) Built-in self-test circuit and method for validating an associative data array
US5950012A (en) Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes
US5317752A (en) Fault-tolerant computer system with auto-restart after power-fall
US8977820B2 (en) Handling of hard errors in a cache of a data processing apparatus
US7840845B2 (en) Method and system for setting a breakpoint
US8296518B2 (en) Arithmetic processing apparatus and method
US8166338B2 (en) Reliable exception handling in a computer system
JPH0583932B2 (ja)
US8601240B2 (en) Selectively defering load instructions after encountering a store instruction with an unknown destination address during speculative execution
JPH0239254A (ja) データ処理システム及びそのキヤツシユ記憶システム
EP0128155A4 (en) DATA PROCESSOR WITH VIRTUAL MACHINE.
WO1984002407A1 (en) Data processor version validation
EP0127640A4 (en) DATA PROCESSOR WITH VIRTUAL MEMORY.
KR100491761B1 (ko) 실패 로드 검사 명령어를 처리하기 위한 메커니즘
JP5482197B2 (ja) 演算処理装置、情報処理装置及びキャッシュメモリ制御方法
US6108776A (en) Globally or selectively disabling branch history table operations during sensitive portion of millicode routine in millimode supporting computer
JP4181500B2 (ja) ブロッキングなく、キャッシュ参照間に直面するビットエラーを修正する方法および装置
JP3234816B2 (ja) ブランチ・ヒストリ・テーブル・ディセーブルを有するミリモード・システム
US6282635B1 (en) Method and apparatus for controlling an instruction pipeline in a data processing system
JPH08161176A (ja) リスタート処理方法