JPH076097A - Rom差し間違い防止方式 - Google Patents

Rom差し間違い防止方式

Info

Publication number
JPH076097A
JPH076097A JP5146371A JP14637193A JPH076097A JP H076097 A JPH076097 A JP H076097A JP 5146371 A JP5146371 A JP 5146371A JP 14637193 A JP14637193 A JP 14637193A JP H076097 A JPH076097 A JP H076097A
Authority
JP
Japan
Prior art keywords
rom
stored
address
code
routine
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.)
Withdrawn
Application number
JP5146371A
Other languages
English (en)
Inventor
Setsu Kato
節 加藤
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.)
N T T DATA TSUSHIN KK
NTT Data Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems Corp
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 N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP5146371A priority Critical patent/JPH076097A/ja
Publication of JPH076097A publication Critical patent/JPH076097A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、複数の交換可能なROMを
有する装置において、ROMが間違った位置に取り付け
られた場合でも、CPUの暴走を防止できるようにする
ことである。 【構成】 起動用のROM1のリセット解除後に最初に
実行されるアドレスFFFF0には、ブートストラップ
ローダが格納されており、そのブートストラップローダ
により指定されるアドレスにはIPLルーチンが格納さ
れ、そのIPLルーチンに続いてROM2〜ROMnの
取り付け間違いをチェックするIDチェックルーチンが
格納されている。また、ROM2〜ROMnのROM1
のブートストラップローダが格納されているアドレスに
対応する位置には、ブートストラップローダが格納さ
れ、そのブートストラップローダにより指定されるアド
レスにはROMが間違った位置に取り付けられているこ
とを報知するエラー処理ルーチンが格納されている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のROMがソケッ
ト等を用いて実装される装置において、ROMの差し間
違いを防止する方式に関する。
【0002】
【従来の技術】パーソナルコンピュータ等で使用される
CPUは、電源が供給されリセット状態が解除される
と、特定のアドレスから命令を実行するようになってい
る。リセット状態が解除されて最初に実行されるアドレ
スには、初期設定ルーチン(以下、IPL(initial pro
gram loader)ルーチンと呼ぶ) への分岐を行う命令が書
き込まれており、CPUはその命令に従ってIPLルー
チンを実行する。そして、IPLルーチンの全てのプロ
グラムが終了して初期設定が完了すると、アプリケーシ
ョンプログラムが実行可能な状態となる。
【0003】ところで、アプリケーションプログラム等
をROMに格納する装置では、プログラムの変更に簡単
に対処できるようにROMをソケットに取り付けて、R
OMを交換可能な構造となっているものがある。このよ
うにROMが交換可能になっていて、複数のROMにプ
ログラムを格納しているものでは、ROM交換時に間違
ったソケットにROMを取り付けてしまう可能性があっ
た。
【0004】
【発明が解決しようとする課題】ROMを間違ったソケ
ットに取りつけてしまうと、設計時にマッピングされて
いるアドレスと異なるアドレスにROMの内容が割り当
てられることになり、メモリ上に本来の命令と異なる命
令が存在したり、命令以外のコードが存在することにな
る。この状態でCPUがROMのプログラムを実行する
と、CPUは間違った命令、あるいは命令以外のコード
を解析して実行し、その結果CPUが暴走してしまうと
いう問題があった。CPUが暴走すると、メモリの内容
が破壊され、特に電源切断時にもそれまでの処理結果を
不揮発性メモリ等に保存しておくような装置では、それ
まで収集したデータが無駄になってしまうという問題点
があった。
【0005】本発明の課題は、複数の交換可能なROM
を有する装置において、ROMが間違った位置に取り付
けられた場合でも、CPUが暴走しないようにすること
である。
【0006】
【課題を解決するための手段】交換可能な複数のROM
とCPUとからなる装置のROM差し間違い防止方式で
あって、請求項1に係る発明では、起動用ROMのリセ
ット解除後にアクセスされるアドレスに対応する他のR
OMのアドレスもしくはそのアドレスの内容により指定
されるアドレスに、ROMが間違って取り付けられてい
ることを報知するエラー処理ルーチンを格納している。
【0007】また、請求項2に係る発明では、ROMの
所定のアドレスにそれぞれのROMに割り当てられてい
るIDコードを格納し、起動用ROMにそれぞれのRO
Mに割り当てられているIDコードとそのIDコードが
格納されているアドレスとを対応させた対応表と、その
対応表に登録されているアドレスで指定されるROMの
内容とそのアドレスに対応させて登録されているROM
のIDコードとが一致するか否かを判別し、IDコード
が不一致のときにはROMが間違って取り付けられてい
ることを報知するIDチェックルーチンとを格納してい
る。
【0008】
【作用】交換可能な複数のROMを有する装置におい
て、ROM交換時に発生するエラーとしては、起動用
のROMを取り付けるべき位置に他のROMを取り付け
てしまう場合と、起動用のROM以外の他のROMど
うしを間違って取り付けてしまう場合の2通りが考えら
れる。
【0009】例えば、のエラーが発生して、本来起動
用ROMが取り付けられるべき位置に他のROMが取り
付けられた場合には、請求項1に係る発明では、間違っ
て取り付けられたROMの起動アドレス(起動用ROM
のリセット解除後にアクセスされるアドレスに対応する
アドレス)に格納されているエラー処理ルーチンが実行
され、ROMが間違って取り付けられていることがユー
ザに報知され、その後CPUの動作が停止される。
【0010】従って、起動用ROMを取り付けるベき位
置に他のROMが間違って取り付けられた場合でも、C
PUの暴走を防止し、かつメモリのデータを保護するこ
とができる。
【0011】また、のエラーが発生して、起動用RO
M以外の他のROMどうしが間違って取り付けられた場
合には、請求項2に係る発明では、起動用ROMのID
チェックルーチンが実行され、対応表に登録されている
アドレスで指定されるそれぞれのROMの内容と対応表
のIDコードとが順に比較され、IDコードの不一致が
検出された時点で、ROMが間違って取り付けられてい
ることがユーザに報知される。
【0012】従って、起動用ROM以外の他のROMど
うしを間違って取り付けられた場合でも、CPUの暴走
を防止し、かつメモリのデータを保護することができ
る。
【0013】
【実施例】以下、本発明の実施例を図面を参照しながら
説明する。図1は、交換可能な複数のROMを内蔵した
装置のブロック図である。この装置は、CPU1と、I
PLルーチン及びアプリケーションプログラムを記憶し
た複数のROM1〜ROMnと、電池等によりバックア
ップされている不揮発性のメモリであるRAM3と、処
理結果あるいはエラーメッセージ等を表示する表示部4
とで構成されている。
【0014】図2は、実施例の装置のROMのメモリマ
ップを示す図である。電源投入時等のリセット解除後に
最初にCPUにより読み込まれるROM1のアドレスF
FFF0には、ブートストラップローダが格納されてお
り、そのブートストラップローダには起動用のIPLル
ーチンのアドレスが格納されている。さらに、IPLル
ーチンの次にはROM2〜ROMnが正しい位置に挿入
されているか否かをチェックするIDチェックルーチン
が格納されている。
【0015】他のROM2〜ROMnのROM1でブー
トストラップローダが格納されているアドレスに対応す
るアドレスには、ROM1と同様にブートストラップロ
ーダが格納されており、そのブートストラップローダに
はエラー処理ルーチンのアドレスが格納されている。こ
のエラー処理ルーチンは、それぞれのROMがROM1
のソケットに間違って差し込まれたときに実行されるエ
ラー処理プログラムであり、詳しくは後述するがROM
が間違って取り付けられていることをメッセージ、ある
いは音などで報知した後、CPU1の動作を停止させ
る。
【0016】次に、図3は、ROM2とROM1との取
り付け位置を間違えた場合の本発明の第1実施例のメモ
リマップを示す図である。起動用ROM1が取り付けら
れるべき位置にROM2が間違って取り付けられると、
図3のメモリマップに示すようにアドレスFFFF0に
ROM2のブートストラップローダが配置され、そのブ
ートストラップローダで指定されるアドレスにエラー処
理ルーチンが配置される。
【0017】この状態で電源が投入されると、最初にア
ドレスFFFF0に格納されているROM2のブートス
トラップローダ実行され、さらにそのブートストラップ
ローダに格納されている命令によりエラー処理ルーチン
が実行される。
【0018】エラー処理ルーチンでは、先ず表示部4を
初期化し(図3、S1)、次にROMが間違って差し込
まれていることを知らせるメッセージを表示する(S
2)。さらに、CPU1の動作を停止させる(S3)。
なお、ROM3〜ROMnにもROM2と同様にアプリ
ケーションプログラムと共にブートストラップローダと
エラー処理ルーチンとが格納されており、それらのRO
MがROM1を挿入すべき位置に間違って挿入される
と、上述したのと同様にエラー処理ルーチンが実行され
て、ROMの差し間違いがあることが報知される。
【0019】以上述べたように、この実施例では、起動
用のROM1以外の他のROM2〜ROMnの起動用R
OM1のアドレスFFFF0に相当するアドレスにブー
トストラップローダを格納し、そのブートストラップロ
ーダによりエラー処理ルーチンが起動されるようにした
ので、起動用のROM1が差し込まれるべき位置に他の
ROMが間違って差し込まれた場合でも、そのROMに
格納されているエラー処理ルーチンが実行されてCPU
の動作が停止される。従って、起動用ROM1が取り付
けられる位置に他のROMが間違って取り付けられて
も、CPUが誤った命令を実行して暴走することがなく
なり、またCPUの暴走によりメモリのデータが破壊さ
れることも防止できる。
【0020】図4(A)は、ROM1に他のROMどう
しの差し間違いを検出するためのIDチェックルーチン
に格納し、ROM2〜nにROM1との差し間違いを検
出するためのエラー処理ルーチンを格納した本発明の第
2実施例のメモリマップと、IDチェックルーチンのフ
ローチャートを示している。また、同図(B)はIDチ
ェックルーチンで参照されるIDコードが格納されてい
るアドレスとIDコードとの対応表を示している。な
お、各ROM1〜ROMnの対応表に登録されているア
ドレスには、それぞれのROMのIDコードが格納され
ている。
【0021】さらに、図5は、ROMkとROMjとが
間違って取り付けられた場合のメモリマップを示してい
る。次に、以上ような構成のROMを有する実施例の装
置の動作を、図4及び図5を参照して説明する。
【0022】この場合、起動用のROM1は正規の位置
に取り付けられているので、最初にアドレスFFFF0
のブートストラップローダが実行され、その後IPLル
ーチンが実行される。
【0023】IPLルーチンが正常に終了すると、次に
IDチェックルーチンが実行される。このIDチェック
ルーチンでは、先ず、n個のROMの内の1つを指定す
るポインタiに初期値として「1」を設定する(図4
(A)、S11)。次に、ポインタiの値がn+1に達
したか否かを判別し、全てのROMのチェックが完了し
たか否かを判断する(S12)。ステップS12の判別
で全てのROMのIDのチェックが完了しているときに
は、そこで処理を終了する。
【0024】ステップS12の判別でチェックしていな
いROMが存在しているときには、ステップS13に進
みROM1に格納されている対応表(図4(B))の項
番iのアドレスで指定されるROMの内容と、対応表に
そのアドレスに対応して登録されているROMのIDコ
ードとが一致するか否かを判別する。
【0025】ここで、対応表には、図4(B)に示すよ
うにそれぞれのROMに割り当てられているIDコード
と、それぞれのROMのIDコードの格納アドレスとが
対応させて記憶されている。例えば、対応表の項番2に
は、ROM2のIDコードとそのIDコードが格納され
ているROM2の格納アドレスとが対応させて記憶され
ており、図示していないが項番iには、ROMiのID
コードとそのIDコードが格納されているROMiの格
納アドレスとが対応させて記憶されている。
【0026】従って、対応表にROM毎に記憶されてい
るアドレスに基づいて該当するROMの内容を読み出
し、その読み出したROMの内容が、対応表のROMの
IDコードと一致するか否かを調べることで、ROMの
取り付け位置が間違っているか否かを判断することがで
きる。
【0027】ステップS13の判別で、対応表で指定さ
れたアドレスから読み出した内容と、対応表のROMの
IDコードとが一致したときには、ステップS14に進
みポインタiを「1」インクリメントして次のROMを
指定し、ステップS12に戻り同様な処理を繰り返す。
【0028】今、ROMkとROMj(k≠j,k<
j)とが間違って取り付けられているとすると、図5に
示すようにメモリマップ上の本来ROMkのIDコード
が格納されているべきアドレスkにROMjのIDコー
ドが格納され、ROMjのIDコードが格納されている
べきアドレスjにROMkのIDコードが格納されてい
る。従って、この場合、上述したステップS13の判別
でIDコードが不一致となるので、ステップS15に進
み表示部4を初期化する。そして、ROMが間違って取
り付けられている旨を示すメッセージを表示部4に表示
した後(S16)、CPU1の動作を停止させる(S1
7)。
【0029】このように、それぞれのROMの所定のア
ドレスに自己のIDコードを格納しておいて、起動用R
OMにそれぞれのROMのIDコードが格納されている
アドレスと、該当するROMのIDコードとを対応させ
た対応表を記憶させておき、IDチェックルーチンで対
応表のアドレスで指定されるROMの内容と、対応表に
記憶されている該当するROMのIDコードとが一致す
るか否かを調べることで、ROMの差し間違いを検出す
ることができる。
【0030】上記のIDチェックルーチンによりROM
の差し間違いが検出された場合には、エラーメッセージ
が表示された後CPU1の動作が停止されるので、CP
U1の暴走を防止できる。
【0031】なお、起動用プログラムが複数の起動用R
OMに分割されて格納される場合には、例えばリセット
解除後に最初にアクセスされる起動ROMにIDチェッ
クルーチンを格納し、2番目以降にアクセスされる起動
用ROMを含む他のROMにそれぞれIDコードとエラ
ー処理ルーチンとを格納すれば、起動用ROMどうしの
差し間違い、あるいは起動用ROMと他のROMとの差
し間違いを同様にして防止することができる。
【0032】
【発明の効果】本発明によれば、ROMが間違って取り
付けられた場合でもCPUが暴走するのを防止できる。
これにより、電源オフ時に不揮発性メモリにデータを保
存しておく装置においても、メモリに記憶されているデ
ータを確実に保護することができる。
【図面の簡単な説明】
【図1】本発明の実施例の装置のブロック構成図であ
る。
【図2】第1実施例のメモリマップを示す図である。
【図3】ROM1とROM2とを間違えて取り付けた場
合のメモリマップとエラー処理ルーチンを示す図であ
る。
【図4】同図(A)は、第2実施例のメモリマップとI
Dチェックルーチンを示す図であり、同図(B)は、I
Dコードの対応表を示す図である。
【図5】ROMkとROMjとを間違って取り付けた場
合のメモリマップを示す図である。
【符号の説明】
1 CPU 3 RAM 4 表示部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 交換可能な複数のROMとCPUとから
    なる装置のROM差し間違い防止方式であって、 起動用ROMのリセット解除後にアクセスされるアドレ
    スに対応する他のROMのアドレスもしくはそのアドレ
    スの内容により指定されるアドレスに、ROMが間違っ
    て取り付けられていることを報知するエラー処理ルーチ
    ンを格納したことを特徴とするROM差し間違い防止方
    式。
  2. 【請求項2】 ROMの所定のアドレスにそれぞれのR
    OMに割り当てられているIDコードを格納し、 起動用ROMに前記各ROMに割り当てられているID
    コードと該IDコードが格納されているアドレスとを対
    応させた対応表と、該対応表のアドレスで指定されるR
    OMの内容と該対応表のIDコードとが一致するか否か
    を判別し、ROMの内容と該IDコードとが不一致のと
    きはROMが間違って取り付けられていることを報知す
    るIDチェックルーチンとを格納したことを特徴とする
    請求項1記載のROM差し間違い防止方式。
  3. 【請求項3】 少なくとも前記IDチェックルーチンが
    格納されているROM以外の他のROMの所定のアドレ
    スに、それぞれのROMに割り当てられているIDコー
    ドを格納したことを特徴とする請求項2記載のROM差
    し間違い防止方式。
JP5146371A 1993-06-17 1993-06-17 Rom差し間違い防止方式 Withdrawn JPH076097A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5146371A JPH076097A (ja) 1993-06-17 1993-06-17 Rom差し間違い防止方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5146371A JPH076097A (ja) 1993-06-17 1993-06-17 Rom差し間違い防止方式

Publications (1)

Publication Number Publication Date
JPH076097A true JPH076097A (ja) 1995-01-10

Family

ID=15406210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5146371A Withdrawn JPH076097A (ja) 1993-06-17 1993-06-17 Rom差し間違い防止方式

Country Status (1)

Country Link
JP (1) JPH076097A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630229A (en) * 1995-10-17 1997-05-20 Billy International, Ltd. Zipperless wetsuit
US5896578A (en) * 1997-03-18 1999-04-27 O'neill, Inc. Zipperless neck entry wetsuit
US5898934A (en) * 1997-03-18 1999-05-04 O'neill, Inc. Neck entry wetsuit
JP2005103067A (ja) * 2003-09-30 2005-04-21 Sankyo Kk 遊技機

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630229A (en) * 1995-10-17 1997-05-20 Billy International, Ltd. Zipperless wetsuit
US5768703A (en) * 1995-10-17 1998-06-23 Billy International, Ltd. Zipperless wetsuit
US5896578A (en) * 1997-03-18 1999-04-27 O'neill, Inc. Zipperless neck entry wetsuit
US5898934A (en) * 1997-03-18 1999-05-04 O'neill, Inc. Neck entry wetsuit
JP2005103067A (ja) * 2003-09-30 2005-04-21 Sankyo Kk 遊技機

Similar Documents

Publication Publication Date Title
US6230285B1 (en) Boot failure recovery
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US5509120A (en) Method and system for detecting computer viruses during power on self test
EP0842468B1 (en) Virus protection in computer systems
EP0417888B1 (en) Loading method and apparatus for computer system
US5410699A (en) Apparatus and method for loading BIOS from a diskette in a personal computer system
EP0419005B1 (en) Loading method and apparatus for computer system
US5634137A (en) Method and apparatus for updating system configuration based on open/closed state of computer housing cover
JP3212007B2 (ja) オペレーティング・システム環境の起動方法およびシステム
US20040255106A1 (en) Recovery of operating system configuration data by firmware of computer system
US20120191960A1 (en) Booting computing devices
JPH06236280A (ja) データ検証強化方法及びその装置
US5951684A (en) Method of booting a computer system with identifying a CD-ROM disk drive of the system and a method of loading a device driver
US20020162052A1 (en) Method for entering system firmware recovery mode using software-detectable buttons
JPH076097A (ja) Rom差し間違い防止方式
CN113849230A (zh) 服务器启动方法、装置、电子设备及可读存储介质
US7844783B2 (en) Method for automatically detecting an attempted invalid access to a memory address by a software application in a mainframe computer
Cisco Memory Maps
Cisco Memory Maps
JPS628831B2 (ja)
TWM400016U (en) Intelligent computer diagnostic system and diagnostic card for computer debugging
JPH0756741A (ja) Ipl装置指定方法
JP2731251B2 (ja) コンピュータシステム
JP2635777B2 (ja) プログラマブル・コントローラ
TWI294080B (en) Loading method of monitoring program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000905