JPS63233438A - Memory controller - Google Patents

Memory controller

Info

Publication number
JPS63233438A
JPS63233438A JP9676087A JP9676087A JPS63233438A JP S63233438 A JPS63233438 A JP S63233438A JP 9676087 A JP9676087 A JP 9676087A JP 9676087 A JP9676087 A JP 9676087A JP S63233438 A JPS63233438 A JP S63233438A
Authority
JP
Japan
Prior art keywords
memory
signal
interrupt
instruction
bank
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
JP9676087A
Other languages
Japanese (ja)
Other versions
JPH0241771B2 (en
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
Publication of JPS63233438A publication Critical patent/JPS63233438A/en
Publication of JPH0241771B2 publication Critical patent/JPH0241771B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To eliminate non-interchangeability between processors different in return address generating method by providing the titled device with a circuit for controlling the reading/writing operation of a memory. CONSTITUTION:A memory 20 corresponds to a specific interruption vector in a main memory 25 and a memory 21 corresponds to the memory 20. A specific interruption vector address decoder 1 outputs a '0' signal to a signal line 35 when a specific interruption vector address is selected, and in other cases, outputs an '1' signal. A memory selecting circuit 2 outputs a BANK signal 30 on the basis of a SELECT signal. If the BANK signal is '0' when the specific interruption vector is selected, the contents of the memory 20 are read out and the memory 20 becomes writable. When the BANK signal is '1', the contents of the memory 20 are read out and the memory 21 becomes writable. When the specific interruption vector is not selected, data are read out/written from/in a main memory 25.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、既存のマイクロプロセッサとオブジェクト・
コードの互換性があり、割り込み処理のリターンアドレ
スの発生方法に違いのあるマイクロフロセッサを使用し
たシステムにおいて、その非互換性を解消するためのメ
モリ制御−1装置に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention is applicable to existing microprocessors and objects.
The present invention relates to a memory control device for resolving incompatibility in a system using a microprocessor that has compatible codes but differs in the method of generating a return address for interrupt processing.

[従来の技術] 従来、既存のマイクロプロセッサとオブジェクト・コー
ドでの互換性のあるマイクロプロセッサにおいて、同じ
割り込み処理におけるリターンアドレスの発生方法が異
なっているものがあった。
[Prior Art] Conventionally, there have been microprocessors that are compatible with existing microprocessors in terms of object code, but have different methods of generating return addresses in the same interrupt processing.

[発明が解決しようとする問題点」 しかし、割り込み処理のリターンアドレスの発生方法の
違いにより、それぞれのマイクロプロセッサにおいて、
同じソフトウェアで異なった動作を起こすという問題点
を宥していた。
[Problem to be solved by the invention] However, due to differences in the way return addresses for interrupt processing are generated, each microprocessor has
This solved the problem of the same software performing different operations.

そこで、本発明は従来のこのような問題点を解決するた
めに、リターンアドレスの発生方法の違う割り込みが発
生しても、各々のマイクロプロセッサで同じ動作をさせ
ることを目的とする。
SUMMARY OF THE INVENTION In order to solve these conventional problems, it is an object of the present invention to allow each microprocessor to perform the same operation even if an interrupt occurs with a different return address generation method.

E問題点を解決するための手段1 」:記問題点を解決するために、本発明では、既存のマ
イクロプロセッサを割り込み処理のリターンアドレス発
生方法の違う割り込みのベクタが書かれているメモリに
対して、リード・ライト動作を制御し、第1図のように
ライト時には、そのメモリに書き込まれ(データの流れ
3.6)リード時には、メモリが切り替えられて他方の
メモリが読み出され(データの流れ4,5.)る機能を
もつ回路又は、ライト時に、第2図のようにメモリを切
り替えて他のメモリに書き込み、リード時には、そのメ
モリが読み出せる機能をもつ回路と、その回路を制御し
、リターンアドレスを修正する機能のあるプログラム、
を有することを特徴とする。
``Means for Solving Problem 1'': In order to solve the problem described above, in the present invention, an existing microprocessor is configured to handle the memory in which the interrupt vector is written, which has a different return address generation method for interrupt processing. As shown in Figure 1, when writing, data is written to the memory (data flow 3.6), and when reading, the memory is switched and the other memory is read (data flow 3.6). Flow 4, 5.) When writing, switch the memory and write to another memory as shown in Figure 2, and when reading, use a circuit that has the function to read that memory and control that circuit. and a program that has the function of modifying the return address,
It is characterized by having the following.

[作用] 上記のように構成された装置を、コンピュータに付加す
ることにより、上記別メモリに、リターンアドレス修正
ルーチンの先頭アドレスを書き込んでおけば、目的の割
り込み発生時にはマイクロプロセッサが参照する値を、
処理ルーチンの先頭にすることができる。処理ルーチン
内でリターンアドレスを既存のマイクロプロセッサにお
ける同じ割り込みで発生するリターンアドレスに等しく
なるように修正する。そして、別メモリをリードするこ
とにより、本来の割り込み処理ルーチンの先頭アドレス
を得ることができるので、そこに制御を移すことにより
、既存のマイクロプロセッサを用いたシステムと同様な
動作を得ることができる。
[Operation] By adding the device configured as described above to a computer, if the start address of the return address correction routine is written in the separate memory mentioned above, the value referenced by the microprocessor can be set when the desired interrupt occurs. ,
Can be placed at the beginning of a processing routine. Modify the return address in the processing routine so that it is equal to the return address generated by the same interrupt in the existing microprocessor. By reading another memory, the start address of the original interrupt processing routine can be obtained, so by transferring control there, it is possible to obtain the same operation as a system using an existing microprocessor. .

[実施例] 以下に本発明の実施例を示す、第3図は、本発明を実現
するためのメモリ制御回路の実施例である。第3図にお
いて、lは、特別割り込みベクタ用アドレステコ−1回
路であり、特別割り込みベクタのアドレスが選択された
時に、信号35にOを出力し、それ以外のアドレスが選
択された時、1を出力する。2は、メモリセレクト回路
であり、ソフトウェアからのセレクト信号(図示せず)
により、BANK信号30を決定する。特別割り込みベ
クタとは、既存のマイクロプロセッサと、割り込み処理
からのリターンアドレスの発生方法の違う割り込みの割
り込みベクタである。
[Embodiment] An embodiment of the present invention will be shown below. FIG. 3 is an embodiment of a memory control circuit for realizing the present invention. In FIG. 3, l is a special interrupt vector address lever 1 circuit, which outputs O to the signal 35 when the address of the special interrupt vector is selected, and outputs 1 to the signal 35 when any other address is selected. Output. 2 is a memory select circuit, which receives a select signal (not shown) from software.
Accordingly, the BANK signal 30 is determined. A special interrupt vector is an interrupt vector for an interrupt in which the method of generating a return address from interrupt processing is different from existing microprocessors.

第4図に、メモリマツプを示す。この図で、メモリ20
は、特別割り込みベクタ、メモリ21はメモリ20に対
応した動作上問題のない別のメモリである。また、MR
Nは、メモリ・リード信号。
FIG. 4 shows a memory map. In this diagram, memory 20
is a special interrupt vector, and memory 21 is another memory that corresponds to memory 20 and has no operational problems. Also, MR
N is a memory read signal.

MWNは、メモリ・ライト信号、MROは、メインメモ
リ25に対するメモリ・リード信号、MRlは、メモリ
21に対するメモリ・リード信号、MWOは、メインメ
モリ25に対するメモリーライト信号、MWIはメモリ
21に対するメモリ・ライト信号である。
MWN is a memory write signal, MRO is a memory read signal for the main memory 25, MRl is a memory read signal for the memory 21, MWO is a memory write signal for the main memory 25, and MWI is a memory write signal for the memory 21. It's a signal.

この回路は、BANK信号30が0のときイ言号31は
1、信号36は信号35と等しくなり、信号35が0の
とき、ゲート42とゲート43が聞き、信号35が1の
とき、ゲー)41とゲート43が開く、またBANK信
号35が1のとさ、信号36は1、信号31は信号35
と等しくなり、信号が0のとき、ゲート41とゲート4
4が開き、信号35が1のとき、ゲート41とゲート4
3が開く、これにより、特別割り込みベクタが選択され
たとき、BANK信号30が0ならば、メモリ21が読
み出され、メモリ20に書き込むことができ、BANK
信号30が1ならば、メモリ20が読み出され、メモリ
21に書き込むことができる。また、特別割り込みベク
タが選択されない時は、読み書きは、メインメモリ25
に対して行われる。
In this circuit, when the BANK signal 30 is 0, the signal 31 is 1, the signal 36 is equal to the signal 35, when the signal 35 is 0, the gate 42 and the gate 43 listen, and when the signal 35 is 1, the gate 42 and the gate 43 listen. ) 41 and gate 43 are open, and BANK signal 35 is 1, signal 36 is 1, and signal 31 is 35.
and when the signal is 0, gate 41 and gate 4
4 is open and signal 35 is 1, gate 41 and gate 4
3 is open, so that when the special interrupt vector is selected, if the BANK signal 30 is 0, the memory 21 can be read and written to the memory 20, and the BANK
If signal 30 is 1, memory 20 can be read and memory 21 can be written. Also, when a special interrupt vector is not selected, reading and writing are performed using the main memory 25.
It is done for.

既存のプロセッサを、プロセッサ0.プロセッサOと、
オブジェクトコード上で互換性があり、割り込み処理か
らのリターンアドレスの発生力の異なるプロセッサを、
プロセッサlとする。
Processor 0. processor O;
Processors that are compatible in object code and differ in the ability to generate return addresses from interrupt processing,
Let the processor be l.

第5図において、プロセッサ0では、命令51において
、d゛別割込みが発生した時、その処理からのリターン
アドレスは、次の命令52になっておりプロセッサlは
、命令51において発生した、特別割り込みの、処理か
らのリターンアドレスが命令51になっているとする。
In FIG. 5, in processor 0, when a special interrupt d occurs at instruction 51, the return address from that processing is the next instruction 52, and processor l handles the special interrupt that occurred at instruction 51. Assume that the return address from processing is instruction 51.

これでは、プロセッサ1では、命令51においてループ
してしまい、プロセッサOとまったく違う動作になって
しまう、そこで、命令51において発生した割り込みの
、割り込みベクタを、ベクタ53のようにリターンアド
レス処理ルーチンにしておき、リターンアドレス処理ル
ーチン内において1割り込み処理からのリターンアドレ
スを命令52に修正を行ない1本来の割り込み処理ルー
チンに処理を移せば(矢印54)、処理後のリターンア
ドレスは命令52になるので、プロセッサ0とプロセッ
サ2は見かけ上同じ動作をしたことになる。そこで、こ
の回路を用いたシステムにおいて、起動時にBANK信
号35を1にしてメモリ21に、リターンアドレス修正
ルーチンの先頭アドレスを書き込み、BAMK信号35
を0にする。(100)このようにしておくことにより
、特別割り込みベクタについては、リード時には、リタ
ーンアドレス修正ルーチンの先頭アドレスが読み出され
、ライト時には、メモリ20にデータが書き込まれる。
In this case, processor 1 would end up in a loop at instruction 51, resulting in a completely different operation from processor O.Therefore, the interrupt vector for the interrupt that occurred at instruction 51 would be set to the return address processing routine like vector 53. Then, in the return address processing routine, if you modify the return address from interrupt processing 1 to instruction 52 and move the processing to the original interrupt processing routine 1 (arrow 54), the return address after processing will be instruction 52. , processor 0 and processor 2 apparently perform the same operation. Therefore, in a system using this circuit, the BANK signal 35 is set to 1 at startup, the start address of the return address correction routine is written in the memory 21, and the BAMK signal 35 is set to 1.
Set to 0. (100) By doing this, for the special interrupt vector, when reading, the start address of the return address correction routine is read, and when writing, data is written to the memory 20.

そこで、アプリケーション・プログラム等を実行する。Then, an application program or the like is executed.

(101)実行中に、特別割り込みが発生すると、特別
割り込みベクタが参照されるが、この時読み出されるの
は、メモリ21であり、(102)リターンアドレス修
正ルーチンの先頭アドレスを指しているので、特別割り
込みの処理ルーチンではなくて、リターンアドレス修正
ルーチンに制御が移される。(103) リターンアドレス修正ルーチンにおいては、リターンア
ドレスが等しくなるように、リターンアドレスを書き替
えておき、BANK信号35を1にして、メモリ20を
読み出す、これにより、本来の割り込み処理の先頭アド
レスを得ることができる。そしてBANK信号をOにし
、(104)本来の割り込み処理ルーチンに制御を移す
、(106)これにより、見かけ上同じ動作をされるこ
とが可能になる。すなわち、割り込み処理からのリター
ンアドレスの発生方法の違いによる非互換性は解消され
る。
(101) When a special interrupt occurs during execution, the special interrupt vector is referred to, but what is read at this time is the memory 21, and (102) it points to the start address of the return address correction routine, so Control is transferred to the return address modification routine rather than the special interrupt handling routine. (103) In the return address correction routine, the return addresses are rewritten so that they are equal, the BANK signal 35 is set to 1, and the memory 20 is read. This changes the original start address of the interrupt processing. Obtainable. Then, the BANK signal is set to O, (104) control is transferred to the original interrupt handling routine, (106), and this makes it possible to apparently perform the same operation. That is, incompatibilities due to differences in the method of generating return addresses from interrupt processing are resolved.

次に、80286CPUと80860PUの場合を具体
例として説明する。80286CPUは、8086CP
Uとオブジェクトコード上では互換性があるが、0除算
割り込み処理のリターンアドレスの発生法が違うマイク
ロプロセッサである。
Next, the case of 80286 CPU and 80860 PU will be explained as a specific example. 80286 CPU is 8086CP
It is a microprocessor that is compatible with U in terms of object code, but the method of generating the return address for divide-by-zero interrupt processing is different.

そのため0除算割り込みが発生した場合、その割り込み
処理、リターンアドレスが異なることによる非互換性が
発生している。
Therefore, when a divide-by-0 interrupt occurs, incompatibility occurs due to differences in the interrupt processing and return address.

この非互換性を解消するために、第7図のような回路を
用いる。この回路は、アドレスバスAB2〜AB23が
すべてOの時に信号35に0を出力し、それ以外の時は
、信号35に1を出力する。
In order to eliminate this incompatibility, a circuit as shown in FIG. 7 is used. This circuit outputs 0 to signal 35 when address buses AB2 to AB23 are all O, and outputs 1 to signal 35 at other times.

0除算割り込みベクタは、メモリアドレスのOH−3H
に格納されているので、0除算割り込みベクタが選択さ
れた時には、信号35にOが出力され、それ以外のアド
レスが選択された時には、信号35に1が出力される。
The division by 0 interrupt vector is the memory address OH-3H.
Therefore, when the 0-divided interrupt vector is selected, O is output to the signal 35, and when any other address is selected, 1 is output to the signal 35.

また、メモリセレクト回路では、アドレスバスABON
AB3がすべて1で、アドレスバスAB4〜AB7がす
べて0の時で、IOW信号が0から1になる時のDBO
がB A N K 信号30として出力される、すなわ
ち、I10ポートOFHに0を出力するとBANK信号
30にはOが出力され、I10ボー1− OF Hニ1
を出力するとBANK信号30に1が出力される。この
時のメモリマー2プを第9図に示す。
In addition, in the memory select circuit, the address bus ABON
DBO when AB3 is all 1, address buses AB4 to AB7 are all 0, and the IOW signal changes from 0 to 1.
is output as the BANK signal 30, that is, when 0 is output to the I10 port OFH, O is output to the BANK signal 30, and the I10 port OFH
When the BANK signal 30 is outputted, 1 is outputted to the BANK signal 30. The memory map at this time is shown in FIG.

第8図に、この時のメモリマツプを示す、この図で、メ
モリ61は80286CPtlのメインメモリ、メモリ
62は、メインメモリ61上にある0除算割り込みベク
タの書かれるメモリ、イモリ63は、メモリ61に対応
した動作上問題のないバンクメモリである。また、第7
図において、MW)は、メインメモリ61に対するメモ
リ・リード信号、MHIはバンクメモリ63に対するメ
モリ・リード信号、MWOは、メインメモリ61に対す
るメモリ・ライト信号、MWIは、バンクメモリ63に
対するメモリ・ライト・信号である。
FIG. 8 shows the memory map at this time. In this figure, memory 61 is the main memory of the 80286CPtl, memory 62 is the memory on the main memory 61 where the divide-by-zero interrupt vector is written, and newt 63 is the memory 61. It is a compatible bank memory with no operational problems. Also, the seventh
In the figure, MW) is a memory read signal for the main memory 61, MHI is a memory read signal for the bank memory 63, MWO is a memory write signal for the main memory 61, and MWI is a memory write signal for the bank memory 63. It's a signal.

前述したように、第7図の回路では、0除算割り込みベ
クタが選択された時、BANK信号30がOの時は、メ
モリ・リードに関しては、バンクメモリ63の内容が読
み出され、メモリ・ライトに関しては、メインメモリ6
1のO除算側り込みへ/y )) 62 ニ書、!’込
thル、 tり、 B AN K4B@3・30が1の
時は、メモリリードに関しては、メイ 。
As mentioned above, in the circuit of FIG. 7, when the divide-by-0 interrupt vector is selected and the BANK signal 30 is O, the contents of the bank memory 63 are read out for memory read, and the contents of the bank memory 63 are read out for memory write. Regarding main memory 6
To the O division side of 1/y )) 62 D book,! When BAN K4B@3.30 is 1, there is no memory read.

ンメモリ61のO除算側り込みベクタ62の内容が読み
出され、メモリ・ライI・に関しては、バンクメモリ6
3に書き込まれる。仮に、 DIV  DX、BX という命令において、BX=0であったとすると、80
286CPU、8086CPU共にO除算側り込みを発
生するが、その処理ルーチンからのリターンアドレスは
、80286CPUは割り込みを起こした命令を指して
いるが、80860PUでは1割り込みを起こした命令
の次の命令を指している。もしBX=0のまま、割り込
み処理ルーチンからリターンされると802860PU
では、再び0除算割り込みを発生し、プログラムがスト
ップしてしまう、ところが、8086CPUにおいては
、処理は割り込みを起こした命令の次の命令に移ってい
るのでその後の処理を続行する、というような非互換性
が発生しています、そこで、80286CPUは0除算
割り込みが発生すると、O除算側り込みベクタを読み出
し、そのベクタの示すアドレスに制御を移す、そこで、
システムブート時に、I10ボー1− OF Hに0を
出力しておけば、80286CPUが読み出すO除算側
り込みベクタは、バンクメモリ63の値にすることがで
きる。
The contents of the O division side input vector 62 of the bank memory 61 are read out, and regarding the memory line I, the contents of the bank memory 6
Written in 3. If BX=0 in the command DIV DX, BX, then 80
Both the 286 CPU and 8086 CPU generate O division side interrupts, but the return address from the processing routine for the 80286 CPU points to the instruction that caused the interrupt, but for the 80860 PU it points to the next instruction after the instruction that caused the interrupt. ing. If the interrupt handling routine returns with BX = 0, 802860 PU
In this case, a divide-by-zero interrupt is generated again and the program stops.However, in the 8086 CPU, processing has moved on to the next instruction after the instruction that caused the interrupt, so the subsequent processing continues. Compatibility has occurred. Therefore, when a divide-by-0 interrupt occurs, the 80286 CPU reads the divide-by-O side interrupt vector and transfers control to the address indicated by that vector.
If 0 is output to the I10 baud 1-OF H at the time of system boot, the O division side input vector read by the 80286 CPU can be set to the value of the bank memory 63.

次に、リターンアト1/ス修iEルーチンの例の説明を
する。このルーチンのリスリストをPI3表に示す。
Next, an example of the return at 1/s repair iE routine will be explained. A list of this routine is shown in Table PI3.

このリターンアドレス修正ルーチンは、割り込みが入っ
てくると、まず、アプリケーションプログラムの0除算
割り込み処理ルーチンへの分岐用にスタックエリアを4
バイト確保する。(201)次に、各レジスタの退避を
行なう、(202)そして、エラーを起こした命令の先
頭アドレスは1割り込み処理のリターンアドレスになっ
ているので、そのアドレスを、セグメントは、DSレジ
スタに、オフセットは、SILレジスタに入れる。(2
03) そして命令コードのプリフィックス部分をスキップさせ
る。(204)ブリフィックス部分は、2進コードでは
、0O1xxllObとなっているのでこの部分だけス
キップさせる。(205)次に、割り込みを起こした命
令が、除算命令かどうかを確認する。この場合は、0除
算命令は、2進コードで00xxxllObとなってい
るので割り込みを起こした命令がこうなっているかを確
認する。(206)もし、O除算命令でなければ、例え
ばINTO命令ならば、リターンアドレスを修正しない
まま、アプリケ−シュンの割り込み処理ルーチンに、制
御をわたす、(207)除算命令であれば、その命令長
を求める。まず、命令の2バイト目を見て、コードが2
進コードで、00xxxllObとなっていれば、メモ
リオペランド命令であるのでこの場合は、4バイト命令
When an interrupt occurs, this return address modification routine first creates a stack area of 4 for branching to the application program's divide-by-zero interrupt handling routine.
Secure a part-time job. (201) Next, save each register. (202) Then, since the start address of the instruction that caused the error is the return address of 1 interrupt processing, that address is stored in the DS register as a segment. The offset is placed in the SIL register. (2
03) Then, skip the prefix part of the instruction code. (204) Since the bfix part is 0O1xxllOb in binary code, only this part is skipped. (205) Next, it is checked whether the instruction that caused the interrupt is a division instruction. In this case, the divide-by-zero instruction has a binary code of 00xxxllOb, so it is checked whether the instruction that caused the interrupt is like this. (206) If it is not an O division instruction, for example an INTO instruction, control is passed to the interrupt processing routine of the application without modifying the return address. (207) If it is a division instruction, the instruction length is seek. First, look at the second byte of the instruction and see if the code is 2.
If the hex code is 00xxxllOb, it is a memory operand instruction, so in this case, it is a 4-byte instruction.

7.6ビツ目が11又は00の場合は、2バイト命令、
7.6ビツI・目が01なら3バイト命令。
7. If the 6th bit is 11 or 00, a 2-byte instruction,
7.6-bit I/If the eye is 01, it is a 3-byte instruction.

7.6ビツト目が10なら4バイト命令なので、このこ
とにより、割り込みを起こした命令の次の命令の先頭が
わかる。(20B)これを、リターンアドレスが書き込
まれているエリアに書き込めば(209)リターンアド
レスが修正されたことになる。
7. If the 6th bit is 10, it is a 4-byte instruction, so this indicates the beginning of the instruction following the instruction that caused the interrupt. (20B) If this is written in the area where the return address has been written (209), the return address has been corrected.

そして、メインメモリ62の0除算割り込みベクタ62
に書き込まれているアプリケーションの0除算割り込み
処理ルーチンのスタートアドレスをスタックエリアに分
岐用に確保したエリアに書き込む、(210) そして、レジスタをもどしく211)リターン命令を実
行すると、アプリケーションのO除算側り込み処理ルー
チンに処理を移すことができる。
Then, the divide-by-zero interrupt vector 62 in the main memory 62
Writes the start address of the application's divide-by-zero interrupt processing routine written in the stack area into the area reserved for branching (210).Then, when the register is restored and the return instruction is executed (211), the divide-by-0 side of the application processing can be transferred to the import processing routine.

そして、そのルーチンからのリターアドレスは、0除算
割り込みを起こした命令の次の命令になり80286C
PUで8086CPUと同様な動作をさせることが可能
になる。
The return address from that routine is the next instruction after the instruction that caused the divide-by-zero interrupt.80286C
It becomes possible to operate the PU in a manner similar to that of the 8086 CPU.

これまで説明した例では、別メモリとして、バンクメモ
リを用いた例を示したが、別メモリとして(、士、I1
0メモリ、システムの動作上問題のないメインメモリ上
のメモリ等、どのようなメモリを用いてもよい。
In the example explained so far, an example was shown in which bank memory was used as the separate memory.
Any memory may be used, such as 0 memory, memory on the main memory that does not cause any problem in system operation.

X ぶA淵ぶA        −−Φ A                        
                   、Ω一  A また、80286CPUにあって、8086CPUにな
い割り込み、例えば、セグメントオーバランエラー割り
込みについて、この割り込みは、MOV  AX:  
[BX] というような、メモリアクセス命令においてBX=OF
FFFHとなるような、セグメントを超えて、メモリア
クセスしようとした場合、80286CPUで発生する
割り込みである。この割り込みは、8086CPUでは
発生しない、そこで、この場合にも、本発明を用いリタ
ーンアドレス修正ルーチン内で80860PUと同様な
処理を行い、リターンアドレスを割り込みを起こした命
令の次にして、リターンすることにり、80286CP
Uで、8086CPUと同様な動作をさせることが可能
になり、この割り込みによる非互換性は、この発明を用
いることにより解消できる。
X Bu A Deep A --Φ A
, Ω1 A Also, regarding an interrupt that exists in the 80286 CPU but not in the 8086 CPU, for example, a segment overrun error interrupt, this interrupt is MOV AX:
[BX] In a memory access instruction such as
This is an interrupt that occurs in the 80286 CPU when an attempt is made to access memory beyond a segment that results in FFFH. This interrupt does not occur in the 8086 CPU, so in this case as well, the present invention is used to perform the same processing as in the 80860 PU in the return address correction routine, set the return address next to the instruction that caused the interrupt, and then return. Niri, 80286CP
It becomes possible to operate the CPU in a manner similar to that of the 8086 CPU, and this incompatibility due to interrupts can be resolved by using the present invention.

[発明の効果] 本発明は1以上説明したように、メモリのリード・ライ
ト動作制御回路と、その回路を制御し、リターンアドレ
スを修正するプログラムを付加することにより、既存の
マイクロプロセ、すと、オブジェクト・コードで互換性
のあるマイロプロセッサを用いたシステムにおいて、同
じ割り込み処理のリターンアドレスの発生方法が異なる
ことによる、非互換性を解消することができる。
[Effects of the Invention] As explained above, the present invention adds a memory read/write operation control circuit and a program that controls the circuit and corrects the return address, thereby improving the efficiency of existing microprocessors. , in a system using microprocessors with compatible object codes, it is possible to eliminate incompatibilities caused by different methods of generating return addresses for the same interrupt processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図、第2図は、メモリ・リード・ライト制御回路の
動作概念図、第3図は、本発明を実施する回路の一例を
示す回路図、第4図は、その時のメモリマツプを示す図
、第5図は、割り込み動作の動作図、WS6図は、上記
実施例のフローチャートである。 ff57図は、本発明を実施する具体的な回路図、。 ff18図は、その時のメモリマツプを示す図、第9図
は、第7図の回路のタイミングチャートを示す図。 3・・・特別割り込みベクタへのライト時のデータの流
れ 4・・・特別割り込みベクタよりのリード時のデータの
流れ 5・・・別メモリよりのリード時のデータの流れ6・・
・別メモリへのライト時のデータの流れ以   上 出願人  セイコーエブンン株式会社 第1図 第2図 第3図 第4図 第6図 第7図 第8図
1 and 2 are operational conceptual diagrams of a memory read/write control circuit, FIG. 3 is a circuit diagram showing an example of a circuit implementing the present invention, and FIG. 4 is a diagram showing a memory map at that time. , FIG. 5 is an operational diagram of the interrupt operation, and FIG. WS6 is a flowchart of the above embodiment. Figure ff57 is a specific circuit diagram for implementing the present invention. ff FIG. 18 is a diagram showing a memory map at that time, and FIG. 9 is a diagram showing a timing chart of the circuit of FIG. 7. 3... Data flow when writing to the special interrupt vector 4... Data flow when reading from the special interrupt vector 5... Data flow when reading from another memory 6...
・Flow of data when writing to another memory Applicant Seiko Even Co., Ltd. Figure 1 Figure 2 Figure 3 Figure 4 Figure 6 Figure 7 Figure 8

Claims (1)

【特許請求の範囲】[Claims] 既存のマイクロプロセッサとオブジェクト・コードの互
換性があり、割り込み処理のリターンアドレスの発生方
法が違うマイクロプロセッサを使用したシステムにおい
て、メモリのリード・ライト動作を制御する回路と、リ
ターンアドレス修正プログラムを有することを特徴とす
るメモリ制御装置。
In a system that uses a microprocessor that is compatible with existing microprocessors in object code and has a different method of generating return addresses for interrupt processing, it has a circuit that controls memory read/write operations and a return address correction program. A memory control device characterized by:
JP9676087A 1986-10-03 1987-04-20 Memory controller Granted JPS63233438A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23570486 1986-10-03
JP61-235704 1986-10-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP1106433A Division JP2569801B2 (en) 1989-04-26 1989-04-26 Information processing device
JP1106432A Division JP2576899B2 (en) 1989-04-26 1989-04-26 Information processing device

Publications (2)

Publication Number Publication Date
JPS63233438A true JPS63233438A (en) 1988-09-29
JPH0241771B2 JPH0241771B2 (en) 1990-09-19

Family

ID=16989991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9676087A Granted JPS63233438A (en) 1986-10-03 1987-04-20 Memory controller

Country Status (1)

Country Link
JP (1) JPS63233438A (en)

Also Published As

Publication number Publication date
JPH0241771B2 (en) 1990-09-19

Similar Documents

Publication Publication Date Title
JP3439033B2 (en) Interrupt control device and processor
JP2875842B2 (en) Programmable controller
US5864701A (en) Apparatus and method for managing interrupt delay associated with mask flag transition
JP4465081B2 (en) Efficient sub-instruction emulation in VLIW processor
JPS63233438A (en) Memory controller
JPS62249231A (en) Microprogram control processing system
JPH03204030A (en) Processor for computor
JP2569801B2 (en) Information processing device
JP2552738B2 (en) Data processing device
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JPH0954694A (en) Pipeline processor and its processing method
JPH05242009A (en) Direct memory access device
JPS59218569A (en) Microcomputer
JP2576899B2 (en) Information processing device
JP2883489B2 (en) Instruction processing unit
JPS6325372B2 (en)
JPS61241836A (en) Storage device
JPH0381827A (en) Reentrant program system
JPH0212332A (en) System for processing program including plural same instructions
JPS6116114B2 (en)
JPS63174138A (en) Data processor
JPH05241828A (en) Command processor
JPS63216134A (en) Central processing unit
JPH04262449A (en) Data transfer system
JPS63317857A (en) Memory access circuit

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: 20070919

Year of fee payment: 17