JPH06187140A - 処理装置 - Google Patents

処理装置

Info

Publication number
JPH06187140A
JPH06187140A JP33587492A JP33587492A JPH06187140A JP H06187140 A JPH06187140 A JP H06187140A JP 33587492 A JP33587492 A JP 33587492A JP 33587492 A JP33587492 A JP 33587492A JP H06187140 A JPH06187140 A JP H06187140A
Authority
JP
Japan
Prior art keywords
address
program
interrupt
rom
data
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
JP33587492A
Other languages
English (en)
Inventor
Masataka Saito
政隆 斉藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP33587492A priority Critical patent/JPH06187140A/ja
Publication of JPH06187140A publication Critical patent/JPH06187140A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 ROM2に格納されたプログラムを実行させ
ることにより処理を行う処理装置において、このROM
2に格納された元のプログラムを一部修正して実行した
いときに、修正プログラムルーチンを実行させて修正さ
れたプログラムによる処理を行うことを可能とする。 【構成】 アプリケーションプログラムを格納したRO
M2の他に、変更するプログラムルーチンと変更すべき
元のプログラムの割込アドレスを格納したバッテリバッ
クアップメモリ(BBM)101と、元のプログラム動
作中に設定された番地で割込信号を発生させるための割
込信号発生部120を有する。そして、割込信号発生部
120はあらかじめ割込アドレスを読み出しておき、元
のプログラム動作中、常時元のプログラムのアドレスと
比較する。これらが一致した場合には割込コードをデー
タバス5に出力するとともに、ROM2からのデータバ
ス5へのデータ出力を禁止する。この、割込信号発生部
が発生した割込コードをを検出すると、BBM101に
格納された変更ルーチンを読み出し、実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムを格納した
ROMを有する処理装置に関し、具体的にはROMに格
納したプログラムを部分的に修正することが可能なよう
に構成された処理装置に関する。
【0002】
【従来の技術】近年、あらゆる装置が電化され、しかも
より高機能が求められるようになるにしたがって、CP
Uに代表される制御部を持ち、ROMに記録されたプロ
グラムに従って動作されるような構成を持つものがます
ます増加している。これは、ワンチップマイコンと呼ば
れるCPUが比較的安価に入手できることから、ますま
す増加している。
【0003】図2は、一例としてのワンチップマイコン
のブロック図である。図において、ワンチップマイコン
は、CPU1と、ROM2と、RAM3とを有し、これ
らがアドレスバス4とデータバス5とにより相互に接続
されている。
【0004】CPU1はROM2から読み出したプログ
ラムに従って処理を行なう。ROM2はアプリケーショ
ンプログラムすなわち実際に処理をさせたいプログラム
をデータとして格納している。このROM2にはアプリ
ケーションプログラムに加えて装置自体の初期設定プロ
グラムなどその他必要なプログラムを格納している。R
AM3はプログラム動作時に一時的に発生したデータ
や、外部から入力されたデータを一時的に格納しておく
ために用いる。
【0005】例えば、RAM3の1000番地に格納さ
れたデータに1を加算する命令がデータとしてROM2
に格納されている場合、CPU1はこの命令コードから
なるデータを上記のようにしてROM2から読み出し、
プログラム命令として解読する。その結果、CPU1は
RAM3の1000番地に格納されたデータに1を加算
する命令であると判断し、アドレスバス4に1000を
出力することによってRAM3の1000番地に格納さ
れた値をデータバス5を介して読み出し、この値に1を
加算し、再びアドレスバスに1000を出力することに
よってRAM3の1000番地に加算後のデータを書き
込む。
【0006】このように、CPU1は実行する命令をR
OM2により読み出すためにアドレスバス4に実行アド
レスデータを出力すると、ROM2は選択されたアドレ
スにデータとして格納されているプログラムの一命令を
データとしてデータバス5に出力する。CPU1はこの
データを命令として取り込み、解読し、実行する。
【0007】
【発明が解決しようとする課題】しかしながら以上述べ
た処理装置においては、ROM2の内容すなわちプログ
ラムの内容に変更が生じた場合、上記例において例えば
RAM2の1000番地ではなく2000番地に格納さ
れた値に1を加算するようにプログラムを変更したい場
合は、2000番地に格納された値に1を加えるという
プログラムに変更したROMと現状のROMとを交換し
なければならないという課題があった。又、これがワン
チップマイコンである場合には、ROMだけの取り替え
は不可能であり、マイコン全部を取り換える必要があ
る。
【0008】
【課題を解決するための手段】この発明は、以上のよう
な課題を解決するためになされたもので、プログラムを
格納したROMと、アドレスバスに該ROMのアドレス
を出力することにより順次該ROMに格納されたプログ
ラムを動作させるCPUを有する処理装置において、書
き込み及び読み出しの可能な不揮発性メモリと、上記R
OMに格納されたプログラム実行中に上記アドレスバス
の値と所定の割込アドレス値を常時比較し一致したとき
に割込コードを前記データバスに出力する割込信号発生
部と、該割込コードを解読して前記不揮発性メモリに格
納されたプログラムを実行する制御手段とから構成され
るものである。
【0009】
【作用】本発明は以上のように構成されているので、以
下の様な作用をする。まず、あらかじめBBM等の不揮
発性メモリに変更すべき元プログラムのアドレスと、変
更ルーチンを格納しておき、元のプログラムを動作させ
るとCPUは順次アドレスをアドレスバスに発生し、R
OMに格納されたプログラムからなるデータを読み出
し、プログラム命令として解読し、実行する。このとき
に、例えばこの不揮発性メモリにあらかじめ格納された
割込アドレスを読み出しておき、元プログラム動作中、
常時元プログラムのアドレスと比較する。これらが一致
した場合には割込コードをデータバスに出力する。CP
Uは、割込信号発生部が発生した割込コードをを検出す
ると制御プログラムによって、不揮発性メモリに格納さ
れた変更ルーチンからなるデータを読み出し、プログラ
ム命令として解読し、実行する。このように作用するこ
とにより、元のプログラムを変更ルーチンからなるプロ
グラムによって修正し、修正したプログラムとして連続
的に動作させることができる。
【0010】
【実施例】以下本発明の一実施例を図面を用いて説明す
る。図1は本発明にかかる処理装置のブロック図、図3
は本発明に用いるバッテリバックアップメモリのメモリ
マップ、図4はアプリケーションプログラムを動作させ
る前に動作させる初期設定プログラムのフローチャー
ト、図5は割込処理のフローチャート、図6は割込処理
を説明するためのメモリマップである。
【0011】図1において、処理装置はCPU1、RO
M2、RAM3、アドレスバス4及びデータバス5を有
する。これらの構成は従来の処理装置の構成とほぼ同様
であるが、ROM2は、初期設定プログラムやアプリケ
ーションプログラム(以下、元プログラムという)に加
えて、プログラムの修正があるときの割込処理の機能を
設定するプログラムルーチンを有する。
【0012】処理装置は更に、変更するプログラムルー
チン(以下、変更ルーチンという)を格納した不揮発性
メモリ、例えばバッテリバックアップメモリ(以下、B
BMという)101、BBM101に割込プログラムを
書き込んだり、あるいはBBM101に格納されたプロ
グラムを動作させるかさせないか等の設定を行うスイッ
チ群を有する割込プログラム設定部110、元プログラ
ム動作中に設定された番地で割込信号を発生させるため
の割込信号発生部120を有する。
【0013】ここで、本発明の動作の概要を説明すると
以下のようになる。まず、あらかじめBBM2に変更す
べき元プログラムのアドレス(以下、割込アドレスとい
う)と、変更ルーチンを格納しておく。元プログラムを
動作させるとCPU1は順次アドレスをアドレスバス4
に発生し、ROM3に格納されたプログラムからなるデ
ータをデータバス5を通して読み出し、プログラム命令
として解読し、実行する。割込信号発生部120はあら
かじめBBM101に格納された割込アドレスをデータ
バス5を通して読み出しておき、元プログラム動作中、
常時元プログラムのアドレスと比較する。これらが一致
した場合には割込コードをデータバス5に出力するとと
もに、ROM2からのデータバス5へのデータ出力を禁
止する。CPU1は、割込信号発生部が発生した割込コ
ードをを検出すると、BBM101に格納された変更ル
ーチンからなるデータを読み出し、プログラム命令とし
て解読し、実行する。BBM101に格納された変更ル
ーチンが終了すると元プログラムの所定のアドレスに戻
り、元プログラムによる処理を再開する。
【0014】次に各構成の詳細を説明する。BBM10
1は、図3に示す構成からなる。図において、BBM1
01は、所定の番地であるn番地から割り当てられてお
り、そのn番地にはデータライトポインタ301、n+
1番地には割込アドレス302及びn+2番地以降には
変更ルーチンが格納される。そして、変更ルーチンの最
後にはこの変更ルーチンの処理が終了したときの元プロ
グラムへの戻りアドレスからなるジャンプ命令304が
格納されている。尚、BBM101に限らず、書き込み
ができる不揮発性メモリなら、他のものを用いてもよ
い。例えば、EEPROMを用いてもよい。このように
不揮発性メモリとして、EEPROMを用いると後程の
プログラム修正が容易なワンチップマイコンを得ること
ができる。これに対して本実施例のごとくBBMを用い
と、読み出し速度が速いので、プログラムの処理速度を
変えることなく動作する処理装置が得られる。このとき
は、CPU1、ROM2、RAM3、バス4及び5、割
込信号発生回路120をワンチップで構成し、その他の
部分をその外部に設けるよう構成するとよい。
【0015】割込プログラム設定部110は、図1に示
すようにデータスイッチ部111と、割込アドレス設定
スイッチ112と、割込アドレス有効スイッチ113
と、データライトスイッチ114と、これらのスイッチ
の状態を検出するスイッチ検出回路115とから構成さ
れる。データスイッチ部111は、BBM101の所定
のアドレスにデータを書き込むためのデータ値を設定す
るもので、BBM101の各アドレスのビット数に対応
した数設ける。割込アドレス設定スイッチ112は、B
BM101へのデータの書き込みを許可する/しないを
設定する。割込アドレス有効スイッチ113は、BBM
101へ格納された変更ルーチンによるプログラム動作
を行う/行わないを設定する。データライトスイッチ1
14は、データスイッチ部111により設定したデータ
をBBM101へ書き込む/書き込まないを設定する。
【0016】割込信号発生部120は、図1に示すよう
に割込アドレスを格納する検出レジスタ121、検出レ
ジスタ121の割込アドレスのアドレスデータとアドレ
スバス4に出力されたアドレスを比較する比較器122
と、この比較器122の出力とCPU1のメモリリード
端子Rからの出力を組み合せて所定の論理を発生するイ
ンバータ回路123、AND回路124及び125の各
論理回路と、割込コード発生回路126とから構成され
る。検出レジスタ121は、BBM101に格納された
割込アドレス302を読み出し格納するものであり、少
なくともアドレスデータと同じビット数を必要とする。
比較器122は、検出レジスタ121に格納された割込
アドレスの値と、CPU1がROM2に格納された元プ
ログラムを読み出すために出力するアドレス値を比較し
一致した場合に出力Oから論理”1”を出力し、不一致
の場合は論理”0”を出力する。AND回路124は、
CPU1のメモリーリード信号Rと比較器122の出力
信号を入力し、ともに論理”1”の場合のみ割込コード
発生回路126に論理”1”を出力する。割込コード発
生回路126は、入力Eに論理”1”を入力すると割込
コードをデータバス5に出力する。すなわち、CPU1
がROM2の読み取り命令を発生し、かつ、割込アドレ
ス302と実行しようとする元プログラムのROM2内
のアドレスが一致したときに割込コードを発生する。A
ND回路125は、CPU1のメモリーリード信号Rと
比較器122の反転出力信号を入力し、ともに論理”
1”の場合のみROM2に論理”1”を出力する。RO
M2は入力Eに論理”1”が入力したときにアドレスバ
ス4で指定されたアドレスのデータをデータバス5に出
力する。そのため、CPU1がROM2の読み取り命令
を発生したときでも、割込アドレス302と実行しよう
とする元プログラムのROM2内のアドレスが一致した
ときにはROM2のデータはデータバス5に出力されな
いようになる。
【0017】以下、動作をより詳細に説明する。まず、
BBM101への変更ルーチン等の設定について説明す
る。この設定はいくつかの方法がある。最も簡単な設定
方法は、BBM101そのものを取り換えることにより
達成できる。このような場合は、BBM101として、
バッテリバックアップ電源付きのメモリーカードにする
か、これに換えてEEPROMからなるメモリーカード
にすると取り換え作業そのものが容易となる。処理装置
が通信ターミナルや、ディスク装置などと接続可能であ
るときはここを通して変更プログラム等をBBMに設定
することができる。又、キーボード装置と接続可能であ
る機種にあってはキーボード装置から入力することも可
能である。
【0018】しかしながら、以上のような便利な構成を
持たない処理装置にあって図1に示す割込プログラム設
定部110に示すようないくつかのスイッチ群を用意し
ておき、ここから入力、設定することも可能である。こ
れらのスイッチ群はディップスイッチを用いることがで
きる。割込プログラム設定部110は、データスイッチ
部111と、割込アドレス設定スイッチ112と、割込
アドレス有効スイッチ113と、データライトスイッチ
114と、これらのスイッチの状態を検出するスイッチ
検出回路115とから構成される。
【0019】この様な割込プログラム設定部110を用
いた割込プログラムの設定は図4に示す変更設定処理ル
ーチン409により設定される。まず、電源をオンする
と図3に示すBBM101のデータライトポインタ30
1をn+1番地に設定する(ステップ401)。これに
より、n+1番地の読み出し、書き込みのいずれも可能
となる。
【0020】図1に示す割込アドレス設定スイッチ11
2の状態をスイッチ検出回路115から読み取り、オン
であれば割込アドレス302及び変更ルーチンをデータ
スイッチ部111から入力するルーチンへ進む(ステッ
プ402)。
【0021】データライトスイッチ114の状態を読み
取り、オフであればこのスイッチ114の状態を検出し
続けることによりBBM101へのアクセスが禁止され
る(ステップ403)。これにより、データスイッチ部
111の設定を行ってもBBM101へ誤ったデータを
書き込むなどの悪影響がない。一方、オンであればこの
スイッチ114がオフであった間に設定したデータスイ
ッチ部111の設定値をBBM101の値を図3に示す
データライトポインタ301の示すアドレスへ書き込む
(ステップ404)。最初は、データライトポインタ3
01の値がn+1番地に設定されているので、割込アド
レスの値を設定することになる。
【0022】データポインタを次のアドレスに更新し
(ステップ405)、順次変更ルーチンのプログラムコ
ードを入力していき、設定を終了する。
【0023】以上のようにして設定された変更ルーチン
を有する処理装置を動作させるには以下のように行う。
まず、図4に示すように、電源をオンし、上述したステ
ップ401によりデータポインタを設定する。この処理
は、BBM101にデータ書き込みを行わない処理装置
の動作実行時は重要でない。
【0024】ステップ402において図1に示す割込ア
ドレス設定スイッチ112がオフの場合は、割込設定ル
ーチン410により割込処理を行うための初期設定が行
われる。割込アドレス有効スイッチ113の状態をスイ
ッチ検出回路115から読み取り(ステップ406)、
オフであれば検出レジスタ121のデータをクリアする
(ステップ407)。これにより検出レジスタ121の
値とアドレスバス4のデータとが一致することはなくな
るので、BBM101によるプログラム変更がないもの
として処理を行うようになる。一方、オンであればBB
M101に格納されている割込アドレス408読み出
し、検出レジスタ121に設定する。
【0025】その後、ROM2に格納された元プログラ
ムを起動し、処理を開始する。
【0026】以上説明した処理は、プログラムとして例
えばROM2に格納され、アプリケーションプログラム
(元プログラム)起動前に動作する様設定するとよい。
又、OSの一機能として起動するよう構成してもよい。
元プログラム起動前に以上の処理を行うことで、元プロ
グラムへの割込アドレスの設定を行い、このアドレスで
の割込が可能となる。
【0027】次に、元プログラム実行中の変更ルーチン
への割込を説明する。図5はこの割込処理を説明するた
めのフローチャート、図6は割込処理時のスタックエリ
アの内容とそのときのROM番地との対応マップであ
る。
【0028】元プログラム動作中に図1に示す検出レジ
スタ121に格納された割込アドレス302の値と、ア
ドレスバス4に出力されたROM2の読み出しアドレス
が一致すると、割込コード発生回路126は割込コード
を発生するとともに、ROM2からのデータ読み出しを
禁止する。
【0029】CPU1がこの割込コードを検出すると、
図5に示すようにソフトウェア割込処理に移行し、図6
に示すスタックポインタ601で指し示すアドレスをR
OM2の割込番地aの次の番地a+1番地からBBM1
01に格納された変更ルーチンの先頭番地n+2(図3
参照)に変更する。これ以降、変更ルーチン305が実
行される。変更ルーチン305の処理が終了すると、n
+l番地の元プログラムへの戻り命令304が実行され
る。この元プログラムへの戻り命令305は図6に示す
a+n番地へのジャンプ命令であり、これにより元プロ
グラムの変更エリア602の実行は行われなくなる。
【0030】以上、割込が1箇所の場合を例にとったが
以下のようにこの処理装置を変更することにより複数の
割込が可能となる。
【0031】図1に示す検出レジスタ及び比較器を割込
回数分設け、その出力を同様にインバータ回路123及
びAND回路124に入力するよう構成する。BBM1
01の番地構成は、所定番地毎例えば1000番地毎に
割込アドレス、変更ルーチンを配置する。元プログラム
が実行され所定アドレスと設定した割込アドレスが一致
したら割込コードを発生するとともにどの比較器が出力
を出したかを判定し、一致した割込アドレスに続く変更
ルーチンを同様に実行するようにする。変更ルーチンを
上記のような固定長でBBM101に格納するのではな
く、可変長で格納するときは、変更ルーチンの最初のア
ドレスと比較器番号を対応させるテーブルを用意すると
よい。
【0032】
【発明の効果】以上説明したように本発明によれば、R
OMに格納された元プログラムを部分的に変更したい場
合に、割込回路を設けるとともに、書換え可能な不揮発
性メモリに変更するプログラムの変更ルーチンを格納す
る。そして、元プログラムの実行中に所定のアドレスを
検知したら不揮発性メモリに格納された変更ルーチンを
実行するように構成したので、ROMを取り替えること
なく、修正されたプログラムの実行をすることが可能と
なる。
【図面の簡単な説明】
【図1】本発明にかかる処理装置の一実施例のブロック
図。
【図2】従来の処理装置のブロック図。
【図3】BBMの内容を説明するためのメモリマップ
【図4】処理装置を動作させるための初期設定ルーチン
を示すフローチャート
【図5】割込処理のフローチャート
【図6】ROM及びスタックエリアのメモリマップ
【符号の説明】
1 CPU 2 ROM 3 RAM 4 アドレスバス 5 データバス 101 バッテリバックアップメモリ(BBM) 110 割込プログラム設定部 111 データスイッチ部 112 割込アドレス設定スイッチ 113 割込アドレス有効スイッチ 114 データライトスイッチ 115 スイッチ検出回路 120 割込信号発生部 121 検出レジスタ 122 比較器 123 インバータ回路 124 AND回路 125 AND回路 126 割込コード発生回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを格納したROMと、アドレ
    スバスに該ROMのアドレスを出力することにより順次
    該ROMに格納されたプログラムを動作させるCPUを
    有する処理装置において、 書き込み及び読み出しの可能な不揮発性メモリと、 前記ROMに格納されたプログラム実行中に前記アドレ
    スバスの値と所定の割込アドレスの値を常時比較し一致
    したときに割込コードを前記データバスに出力する割込
    信号発生部と、 該割込コードを解読して前記不揮発性メモリに格納され
    たプログラムを実行する制御手段とから構成される処理
    装置。
JP33587492A 1992-12-16 1992-12-16 処理装置 Pending JPH06187140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33587492A JPH06187140A (ja) 1992-12-16 1992-12-16 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33587492A JPH06187140A (ja) 1992-12-16 1992-12-16 処理装置

Publications (1)

Publication Number Publication Date
JPH06187140A true JPH06187140A (ja) 1994-07-08

Family

ID=18293349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33587492A Pending JPH06187140A (ja) 1992-12-16 1992-12-16 処理装置

Country Status (1)

Country Link
JP (1) JPH06187140A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529842A (ja) * 2000-04-04 2003-10-07 モトローラ・インコーポレイテッド データ処理システムへのオーバレイ記憶方法および装置
JP2011088292A (ja) * 2009-10-20 2011-05-06 Fuji Xerox Co Ltd 画像形成装置、制御装置、およびプログラム
CN113010343A (zh) * 2021-02-25 2021-06-22 中车株洲电力机车有限公司 一种高安全性设备编码方法与系统、列车

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003529842A (ja) * 2000-04-04 2003-10-07 モトローラ・インコーポレイテッド データ処理システムへのオーバレイ記憶方法および装置
JP2011088292A (ja) * 2009-10-20 2011-05-06 Fuji Xerox Co Ltd 画像形成装置、制御装置、およびプログラム
CN113010343A (zh) * 2021-02-25 2021-06-22 中车株洲电力机车有限公司 一种高安全性设备编码方法与系统、列车
CN113010343B (zh) * 2021-02-25 2023-07-07 中车株洲电力机车有限公司 一种高安全性设备编码方法与系统、列车

Similar Documents

Publication Publication Date Title
JP4404625B2 (ja) 情報処理装置および該装置用のromイメージ生成装置
JPH0799498B2 (ja) 誤りのあるマイクロ命令を訂正する装置
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JPS61221936A (ja) データ処理装置
JPH06187140A (ja) 処理装置
JPH07248978A (ja) 不揮発性メモリ
JP2001256044A (ja) データ処理装置
JP2008140124A (ja) データ処理装置
JP5195690B2 (ja) 情報処理装置、該装置用のromイメージ生成装置、および転送装置
JP2004126658A (ja) プロセッサシステム
US11650738B2 (en) Integrity check of a memory
RU2272317C1 (ru) Электронная вычислительная машина
JPH1131068A (ja) リセットベクタ切替え方法ならびに同方法を用いた情報処理装置
JP3074238B2 (ja) カメラ
KR20020067144A (ko) 컴퓨터 시스템의 리셋 확인 장치 및 그의 리셋 확인 방법
JP2001256061A (ja) 情報記憶装置
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPS582943A (ja) メモリ拡張代替方式
JP2000010772A (ja) マイクロコンピュータ
JPH0423147A (ja) バンク切り換え方式
JPH01114940A (ja) 信号処理装置
JPH0490032A (ja) マイクロコンピュータ
JPH056280A (ja) 割り込み制御方式
JPS63123137A (ja) アドレス一致信号発生方式
JPH0991130A (ja) ワンチップマイクロコンピュータ