JPH0214328A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0214328A
JPH0214328A JP10643289A JP10643289A JPH0214328A JP H0214328 A JPH0214328 A JP H0214328A JP 10643289 A JP10643289 A JP 10643289A JP 10643289 A JP10643289 A JP 10643289A JP H0214328 A JPH0214328 A JP H0214328A
Authority
JP
Japan
Prior art keywords
memory
interrupt
return address
signal
address
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.)
Granted
Application number
JP10643289A
Other languages
English (en)
Other versions
JP2576899B2 (ja
Inventor
Miki Nagano
幹 長野
Shunsaku Miyazawa
俊作 宮澤
Yoshiji Kimura
佳司 木村
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP1106432A priority Critical patent/JP2576899B2/ja
Publication of JPH0214328A publication Critical patent/JPH0214328A/ja
Application granted granted Critical
Publication of JP2576899B2 publication Critical patent/JP2576899B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、既存のマイクロプロセッサとオブジェクト・
コードの互換性があり、割り込み処理のリターンアドレ
スの発生方法に違いのあるマイクロプロセッサを使用し
たシステムにおいて、その非互換性を解消するためのメ
モリ制御装置に関する。
〔従来の技術〕
従来、既存のマイクロプロセッサとオブジェクト・コー
ドでの互換性のあるマイクロプロセッサにおいて、同じ
割り込み処理におけるリターンアドレスの発生方法が異
なっているものがあった。
〔発明が解決しようとする課題〕
しかし、割り込み処理のリターンアドレスの発生方法の
違いにより、それぞれのマイクロプロセッサにおいて、
同じソフトウェアで異なった動作を起こすという問題点
を有していた。
そこで、本発明は従来のこのような問題点を解決するた
めに、リターンアドレスの9発生方法の違う割り込みが
発生しても、各々のマイクロプロセッサで同じ動作をさ
せることを目的とする。
〔課題を解決するための手段〕
上記問題点を解決するために、本発明では、既存のマイ
クロプロセッサを割り込み処理のリターンアドレス発生
方法の違う割り込みのベクタが書かれているメモリに対
して、リード・ライト動作を制御し、第1図のようにラ
イト時には、そのメモリに書き込まれ(データの流れ3
.6)リード時には、メモリが切り替えられて他方のメ
モリが読み出され(データの流れ4.5、)る機能をも
つ回路又は、ライト時に、第2図のようにメモリを切り
替えて他のメモリに書き込み、リード時には、そのメモ
リが読み出せる機能をもつ回路と、その回路を制御し、
リターンアドレスを修正する機能のあることを特徴とす
る。
〔作 用〕
上記のように構成された装置を、コンピュータに付加す
ることにより、上記別メモリに、リターンアドレス修正
ルーチンの先頭アドレスを書き込んでおけば、目的の割
り込み発生時にはマイクロプロセッサが参照する値を、
処理ルーチンの先頭にすることができる。処理ルーチン
内でリターンアドレスを既存のマイクロプロセッサにお
ける同じ割り込みで発生するリターンアドレスに等しく
なるように修正する。そして、別メモリをリードするこ
とにより、本来の割り込み処理ルーチンの先頭アドレス
を得ることができるので、そこに制御を移すことにより
、既存のマイクロプロセッサを用いたシステムと同様な
動作を得ることができる。
〔実 施 例〕
以下に本発明の実施例を示す。第3図は、本発明を実現
するためのメモリ制御回路の実施例である。第3図にお
いて、1は、特別割り込みベクタ用アドレステコード回
路下あり、特別割り込みベクタのアドレスが選択された
時に、信号35に0を出力し、それ以外のアドレスが選
択された時、1を出力する。2は、メモリセレクト回路
であり、ソフトウェアからのセレクト信号(図示せず)
により、BANK信号30を決定する。特別割り込みベ
クタとは、既存のマイクロプロセッサと、割り込み処理
からのリターンアドレスの発生方法の違う割り込みの割
り込みベクタである。
第4図に、メモリマツプを示す。この図で、メモリ20
は、特別割り込みベクタ、メモリ21はメモリ20に対
応した動作上問題のない別のメモリである。また、MR
Nは、メモリ・リード信号、MWNは、メモリ・ライト
信号、MROは、メインメモリ25に対するメモリ・リ
ード信号、MRlは、メモリ21に対するメモリ・リー
ド信号、MWOは、メインメモリ25に対するメモリー
ライト信号、MWlはメモリ21に対するメモリ・ライ
ト信号である。
この回路は、BANK信号30が0のとき信号31は1
、信号36は信号35と等しくなり、信号35がOのと
き、ゲート42とゲート43が開き、信号35が1のと
き、ゲート41とゲート43が開く。またBANK信号
35が1のとき、信号36は1、信号31ば信号35と
等しくなり、信号が0のとき、ゲート41とゲート44
が開き、信号35が1のとき、ゲート41とゲート43
が開く。これにより、特別割り込みベクタが選択された
とき、BANK信号30が0ならば、メモリ21が読み
出され、メモリ20に書き込むことができ、BANK信
号30が1ならば、メモリ20が読み出され、メモリ2
1に書き込むことができる。また、特別割り込みベクタ
が選択されない時は、読み書きは、メインメモリ25に
対して行われる。
既存のプロセッサを、プロセッサ0、プロセッサ0と、
オブジェクトコード上で互換性があり、割り込み処理か
らのリターンアドレスの発生力の異なるプロセッサを、
プロセッサ1とする。
第5図において、プロセッサ0では、命令51において
、特別割り込みが発生した時、その処理からのリターン
アドレスは、次の命令52になっておりプロセッサ1は
、命令51において発生した、特別割り込みの、処理か
らのリターンアドレスが命令51になっているとする。
これでは、プロセッサ1では、命令51においてループ
してしまい、プロセッサ0とまったく違う動作になって
しまう、そこで、命令51において発生した割り込みの
、割り込みベクタを、ベクタ53のようにリターンアド
レス処理ルーチンにしておき、リターンアドレス処理ル
ーチン内において、割り込み処理からのリターンアドレ
スを命令52に修正を行ない、本来の割り込み処理ルー
チンに処理を移せば(矢印54)、処理後のリターンア
ドレスは命令52になるので、プロセッサ0とプロセッ
サ2は見かけ上同じ動作をしたことになる。そこで、こ
の回路を用いたシステムにおいて、起動時にBANK信
号35を1にしてメモリ21に、リターンアドレス修正
ルーチンの先頭アドレスを書き込み、BANK信号35
を0にする。(/O0)このようにしておくことにより
、特別割り込みベクタについては、リード時には、リタ
ーンアドレス修正ルーチンの先頭アドレスが読み出され
、ライト時には、メモリ20にデータが書き込まれる。
そこで、アプリケーション・プログラム等を実行する。
(/O1)実行中に、特別割り込みが発生すると、特別
割り込みベクタが参照されるが、この時読み出されるの
は、メモリ21であり、(/O2)リターンアドレス修
正ルーチンの先頭アドレスを指しているので、特別割り
込みの処理ルーチンではなくて、リターンアドレス修正
ルーチンに制御が移される。(/O3) リターンアドレス修正ルーチンにおいては、リターンア
ドレスが等しくなるように、リターンアドレスを書き替
えておき、BANK信号35を1にして、メモリ20を
読み出す。これにより、本来の割り込み処理の先頭アド
レスを得ることができる。そしてBANK信号を0にし
、(/O4)本来の割り込み処理ルーチンに制御を移す
。(/O6)これにより、見かけ上同じ動作をされるこ
とが可能になる。すなわち、割り込み処理からのリター
ンアドレスの発生方法の違いによる非互換性は解消され
る。
次に、80286CPUと8086CPUの場合を具体
例として説明する。80286CPUは、8086CP
Uとオブジェクトコード上では互換性があるが、0除算
割り込み処理のリターンアドレスの発生法が違うマイク
ロプロセッサである。
そのため0除算割り込みが発生した場合、その割り込み
処理、リターンアドレスが異なることによる非互換性が
発生している。
この非互換性を解消するために、第7図のような回路を
用いる。この回路は、アドレスバスAB2〜A323が
すべてOの時に信号35に0を出力し、それ以外の時は
、信号35に1を出力する。
0除算割り込みベクタは、メモリアドレスのOH−3H
に格納されているので、0除算割り込みベクタが選択さ
れた時には、信号35に0が出力され、それ以外のアド
レスが選択された時には、信号35に1が出力される。
また、メモリセレクト回路では、アドレスバスABO〜
AB3がすべて1で、アドレスバスAB4〜AB7がす
べて0の時で、IOW信号が0から1になる時のDBO
がBANK信号30として出力される、すなわち、I/
Oボー、トOFHに0を出力するとBANK信号30に
は0が出力され、I/OポートOFをiこ1を出力する
とBANK信号30に1が出力される。この時のメモリ
マツプを第9図に示す。
第8図に、この時のメモリマツプを示す、この図で、メ
モリ61は80286CPUのメインメモリ、メモリ6
2は、メインメモリ61上にある0除算割り込みベクタ
の書かれるメモリ、メモリ63は、メモリ61に対応し
た動作上問題のないバンクメモリである。また、第7図
において、MROは、メインメモリ61に対するメモリ
・リード信号、MHIはバンクメモリ63に対するメモ
リ・リード信号、MWOは、メインメモリ61に対する
メモーリ・ライト信号、MWIは、バンクメモリ63に
対するメモリ・ライト信号である。
前述したように、第7図の回路では、0除算割り込みベ
クタが選択された時、BANK信号30が0の時は、メ
モリ・リードに関しては、バンクメモリ63の内容が読
み出され、メモリ・ライトに関しては、メインメモリ6
1の0除算割り込みベクタ62に書き込まれる。また、
BANK信号30が1の時は、メモリリードに関しては
、メインメモリ61の0除算割り込みベクタ62の内容
が読み出され、メモリ・ライトに関しては、バンクメモ
リ63に書き込まれる。仮に、 DIV  DXSBX という命令において、BX−0であったとすると、80
286CPU、8086CPU共に0除算割り込みを発
生するが、その処理ルーチンからのリターンアドレスは
、80286CPUは割り込みを起こした命令を指して
いるが、8086CPUでは、割り込みを起こした命令
の次の命令を指している。もしBX−0のまま、割り込
み処理ルーチンからリターンされると80286CPU
では、再び0除算割り込みを発生し、プログラムがスト
ップしてしまう。ところが、8086CPUにおいては
、処理は割り込みを起こした命令の次の命令に移ってい
るのでその後の処理を続行する、というような非互換性
が発生しています。そこで、80286CPUは0除算
割り込みが発生すると、0除算割り込みベクタを読み出
し、そのベクタの示すアドレスに制御を移す、そこで、
システムブート時に、I/Oポート0FHJ、:Oを出
力しておけば、80286CPUが読み出す0除算割り
込みベクタは、バンクメモリ6°3の値にすることがで
きる。
次に、リターンアドレス修正ルーチンの例の説明をする
。このルーチンのリスリストを第1表に示す。
このリターンアドレス修正ルーチンは、割り込みが入っ
てくると、まず、アプリケーションプログラムのO除算
側り込み処理ルーチンへの分岐用にスタックエリアを4
バイト確保する。(201)次に、各レジスタの退避を
行なう。(202)そして、エラーを起こした命令の先
頭アドレスは、割り込み処理のリターンアドレスになっ
ているので、そのアドレスを、セグメントは、DSレジ
スタに、オフセットは、SILレジスタに入れる。 (
20B) そして命令コードのブリフィックス部分をスキップさせ
る。(204)プリフィックス部分は、2進コードでは
、001XX1/Obとなっているのでこの部分だけス
キップさせる。(205)次に、割り込みを起こした命
令が、除算命令かどうかを確認する。この場合は、0除
算命令は、2進コードで00xxxllObとなってい
るので割り込みを起こした命令がこうなっているかを確
認する。(206)もし、0除算命令でなければ、例え
ばINTO命令ならば、リターンアドレスを修正しない
まま、アプリケーションの割り込み処理ルーチンに、制
御をわたす。(207)除算命令であれば、その命令長
を求める。まず、命令の2バイト目を見て、コードが2
進コードで、00xxxllObとなっていれば、メモ
リオペランド命令であるのでこの場合は、4バイト命令
、7.6ビツト目が11又は00の場合は、2バイト命
令、7.6ビツト目が01なら3バイト命令、7.6ビ
ツト目が/Oなら4バイト命令なので、このことにより
、割り込みを起こした命令の次の命令の先頭がわかる。
(208)これを、リターンアドレスが書き込まれてい
るエリアに書き込めば(209)リターンアドレスが修
正されたことになる。
そして、メインメモリ62の0除算割り込みベクタ62
に書き込まれているアプリケーションの0除算割り込み
処理ルーチンのスタートアドレスをスタックエリアに分
岐用に確保したエリアに書き込む。(2/O) そして、レジスタをもどしく211)リターン命令を実
行すると、アプリケーションの0除算割り込み処理ルー
チンに処理を移すことができる。
そして、そのルーチンからのリターンアドレスは、O除
算側り込みを起こした命令の次の命令になり80286
CPUで8086CPUと同様な動作をさせることが可
能になる。
これまで説明した例では、別メモリとして、バンクメモ
リを用いた例を示したが、別メモリとしては、I/Oメ
モリ、システムの動作上問題のないメインメモリ上のメ
モリ等、どのようなメモリを用いてもよい。
呻   Δ 私  2 呻 f 、α 、==、α 舎・UフQフθつVつθフ〉 0コココココ0 〉αQQQQE ℃ ψツー U−燭 ℃αN− I:E=  閃 −ロー+1(J 一〉 〉ロ E ℃ に Φ ト 弄 呻 瞼 に 初 隠 区 ぐに Φ−幅− 一一ムムaΦ 〉 閃 ロ ロ 01− 一 Q ロ、 ロ、 α ・− ℃ 一℃ αη +01 〉℃ム − QロεNロe:εN中 ・−−Q−ε閃Q −11− メ $4P q争 小   【1v +4    %/  1/ や 9 イ≧ Δ Δ 7都 W台 \ム シ −L :LI シ [F] ’rt、o  [F] トヘトト 、′Xへ へ へ X +。
e  +o >>”oc Oo ロ 口 E −一εE閃υ 〉フΦ〉− No(:CLOO ・町 ε 1)・−1ε − ・・−’o>− 一 ロ 1コ 0 Φ X−El− Φに 1伽 S に 募Δ 概2 簸ト。
o’t−呻 Q、X← へ偽ム m 区 心 ・\C中 トへ− コもト ド1コ ト全日 コ v−I  +c: 一一ン〉ψ1−〉 閃ロロフo@Jロ ーCJXEαα−E ミ − 〉 句 Φ ロ g++ ε リ 、α = Q:I:I。
Q ユ 1 ε 叩〉−αニー Φ0コooυ ul:o  ニ a − ψ J:f ψ  ψ  ψ  〉  ユ ΦココOE u  Q  Q  E  − また、80286CPUにあって、8086CPUにな
い割り込み、例えば、セグメントオーバランエラー割り
込みについて、この割り込みは、tvlOV   AX
:  [BXコ というような、メモリアクセス命令においてBX−OF
FFFHとなるような、セグメントを超えて、メモリア
クセスしようとした場合、80286CPUで発生する
割り込みである。この割り込みは、8086CPUでは
発生しない。そこで、この場合にも、本発明を用いリタ
ーンアドレス修正ルーチン内で8086CPUと同様な
処理を行い、リターンアドレスを割り込みを起こした命
令の次にして、リターンすることにより、80286C
PUで、8086CPUと同様な動作をさせることが可
能になり、この割り込みによる非互換性は、この発明を
用いることにより解消できる。
〔発明の効果〕
本発明は、以上説明したように、メモリのリード・ライ
ト動作制御回路と、その回路を制御し、リターンアドレ
スを修正するプログラムを付加することにより、既存の
マイクロプロセッサと、オブジェクト・コードで互換性
のあるマイクロプロセッサを用いたシステムにおいて、
同じ割り込み処理のリターンアドレスの発生方法が異な
ることによる、非互換性を解消することができる。
【図面の簡単な説明】
第1図、第2図は、メモリ・リード・ライト制御回路の
動作概念図。第3図は、本発明を実施する回路の一例を
示す回路図。第4図は、その時のメモリマツプを示す図
。第5図は、割り込み動作の動作図。第6図は、上記実
施例のフローチャートである。 第7図は、本発明を実施する具体的な回路図。 第8図は、その時のメモリマツプを示す図。第9図は、
第7図の回路のタイミングチャートを示す図。 3・・・特別割り込みベクタへのライト時のデータの流
れ ・特別割り込みベクタよりのリード時 のデータの流れ ・別メモリよりのリード時のデータの 流れ 6・・・別メモリへのライト時のデータの流れ 5 ・ ・ 4 ・ 以上 出願人 セイコーエプソン株式会社 代理人 弁理士 鈴 木 喜三部(他1名)第2図 第3図 第4図 第6図 第7図 第8図

Claims (1)

    【特許請求の範囲】
  1. 所定の割り込み処理を検知する検知手段と、該検知手段
    よりの結果に応じて、アクセスするI/Oメモリを切り
    換える切り換え手段と、該切り換え手段により切り換え
    られたI/Oメモリをアクセスして前記割り込み処理の
    リターンアドレスを修正するリターンアドレス修正手段
    と、を有することを特徴とする情報処理装置。
JP1106432A 1989-04-26 1989-04-26 情報処理装置 Expired - Lifetime JP2576899B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1106432A JP2576899B2 (ja) 1989-04-26 1989-04-26 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1106432A JP2576899B2 (ja) 1989-04-26 1989-04-26 情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9676087A Division JPS63233438A (ja) 1986-10-03 1987-04-20 情報処理装置

Publications (2)

Publication Number Publication Date
JPH0214328A true JPH0214328A (ja) 1990-01-18
JP2576899B2 JP2576899B2 (ja) 1997-01-29

Family

ID=14433496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1106432A Expired - Lifetime JP2576899B2 (ja) 1989-04-26 1989-04-26 情報処理装置

Country Status (1)

Country Link
JP (1) JP2576899B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6261149A (ja) * 1985-09-11 1987-03-17 Panafacom Ltd 割り込み制御方式
JPS638841A (ja) * 1986-06-27 1988-01-14 Nec Corp 割込み受取り装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6261149A (ja) * 1985-09-11 1987-03-17 Panafacom Ltd 割り込み制御方式
JPS638841A (ja) * 1986-06-27 1988-01-14 Nec Corp 割込み受取り装置

Also Published As

Publication number Publication date
JP2576899B2 (ja) 1997-01-29

Similar Documents

Publication Publication Date Title
TWI808869B (zh) 硬體處理器及處理器
JPH0283735A (ja) 命令先取り装置
EP0690371A1 (en) Fetch and store buffer for supporting out of order execution in a data processing system
JPH0414385B2 (ja)
US4799186A (en) Electronic circuit constituting an improved high-speed stable memory with memory zones protect from overlap
IE61306B1 (en) Method and device to execute two instruction sequences in an order determined in advance
JPS5943447A (ja) デ−タ処理装置
JP2569801B2 (ja) 情報処理装置
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
CN115079994B (zh) 异步缓存装置、处理器及计算机设备
JPH0241771B2 (ja)
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP2619425B2 (ja) シーケンスコントローラ
JP2576899B2 (ja) 情報処理装置
JPS6226728B2 (ja)
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JPS62254237A (ja) インタプリタ方式の分岐命令実行方式
JPH05210500A (ja) データ処理装置
JPH03269628A (ja) 例外処理方式
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH03168845A (ja) 命令実行制御方式
JPS62278639A (ja) 情報処理装置
WO1985001368A1 (en) Prefetch validation
JPS61294550A (ja) 電子計算機におけるデ−タ読取書込制御方式
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071107

Year of fee payment: 11