Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS629940B2 - - Google Patents
[go: Go Back, main page]

JPS629940B2 - - Google Patents

Info

Publication number
JPS629940B2
JPS629940B2 JP55153243A JP15324380A JPS629940B2 JP S629940 B2 JPS629940 B2 JP S629940B2 JP 55153243 A JP55153243 A JP 55153243A JP 15324380 A JP15324380 A JP 15324380A JP S629940 B2 JPS629940 B2 JP S629940B2
Authority
JP
Japan
Prior art keywords
instruction
interrupt
storage device
microprocessor
execution
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.)
Expired
Application number
JP55153243A
Other languages
Japanese (ja)
Other versions
JPS5776639A (en
Inventor
Toshio Yanagi
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP55153243A priority Critical patent/JPS5776639A/en
Publication of JPS5776639A publication Critical patent/JPS5776639A/en
Publication of JPS629940B2 publication Critical patent/JPS629940B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 本発明は禁止不可能な割込みを含むマイクロプ
ロセツサの個々の命令を独立に実行させてその状
態を監視することのできるマイクロコンピユータ
エミユレータに関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a microcomputer emulator that is capable of independently executing individual instructions of a microprocessor, including non-disableable interrupts, and monitoring the status thereof.

一般にマイクロコンピユータシステムのソフト
ウエアが有する機能の完成度を確認する場合、こ
れに用意された特別のソフトウエアを用いてマイ
クロプロセツサの個々の命令を実行させ、その状
態を監視することによつて行われる。この種の処
理に供されるのがマイクロコンピユータエミユレ
ータであり、従来より種々方式が提唱されてい
る。
Generally, when checking the completeness of the functions of the software of a microcomputer system, it is necessary to use special software prepared for this system to execute individual instructions of the microprocessor and monitor its status. It will be done. Microcomputer emulators are used for this type of processing, and various systems have been proposed in the past.

ところがマイクロコンピユータシステムにあつ
ては、禁止不可能な割込みを含むマイクロプロセ
ツサを構成するものも数多く、このようなマイク
ロプロセツサを対象としてエミユレーシヨンを行
うことが甚だ困難であつた。例えば禁止不可能な
割込みの実行によつて、プログラムがその飛先か
ら復帰できなくなつたり、あるいはHALT命令に
よつてシステムの動作が停止する等の不具合が生
じ易かつた。特に上記マイクロプロセツサにハー
ドウエアによる禁止不可能な割込みとその実行プ
ロセスが含まれる場合、その制御が非常に困難と
なる。この為、禁止不可能な割込みに対する要求
に対してプログラムを正しく追随させることが難
しかつた。
However, in microcomputer systems, many microprocessors include interrupts that cannot be inhibited, and it has been extremely difficult to emulate such microprocessors. For example, problems such as execution of an interrupt that cannot be inhibited may cause the program to be unable to return from its jump destination, or a HALT instruction may cause system operation to stop, are likely to occur. In particular, when the microprocessor includes interrupts and their execution processes that cannot be inhibited by hardware, it becomes extremely difficult to control them. For this reason, it has been difficult to cause the program to correctly follow requests for interrupts that cannot be inhibited.

本発明はこのような事情を考慮してなされたも
ので、その目的とするところは、ハードウエア等
により発生される禁止不可能な割込み処理を含む
マイクロプロセツサに対しても正しく追随してそ
の状態を把握することのできる実用性の高いマイ
クロコンピユータエミユレータを提供することに
ある。
The present invention has been made in consideration of these circumstances, and its purpose is to correctly follow and handle interrupt processing that cannot be inhibited by hardware or the like. An object of the present invention is to provide a highly practical microcomputer emulator that can grasp the status.

即ち本発明は、従来、目的とする命令を個々に
単独に実行させていたのに代え、上記目的とする
命令とその後に挿入されるノーオペレーシヨン命
令とを対にして実行させ、上記ノーオペレーシヨ
ン命令の実行サイクル時にのみ禁止不可能な割込
みを発生させることによつて上述した目的を効果
的に達成したハードウエア的手法によるマイクロ
コンピユータエミユレータを提供することにあ
る。
That is, instead of the conventional method of executing the target instructions individually, the present invention executes the target instruction and the no-operation instruction inserted thereafter as a pair. It is an object of the present invention to provide a microcomputer emulator using a hardware method that effectively achieves the above-mentioned object by generating a non-disableable interrupt only during the execution cycle of an instruction.

以下、図面を参照して本発明の一実施例につき
説明する。
Hereinafter, one embodiment of the present invention will be described with reference to the drawings.

第1図は実施例に係るエミユレータの概略構成
図で、第2図はその動作タイミングを示すタイミ
ングチヤートである。マイクロプロセツサ1は、
制御記憶装置2あるいは実行命令記憶装置3から
データバス4を介して入力されるプログラムに従
つて作動する。これらの記憶装置2,3は、目的
とする命令プログラムあるいは割込処理プログラ
ムをそれぞれ記憶したもので、これらの記憶装置
2,3から所定のシーケンスに従つて読出される
プログラムは、バス遮断回路5,6を各別に介し
て出力制御されたのち、前記バス4を介してマイ
クロプロセツサ1に読込まれる。一方、マシンサ
イクルカウンタ7はマイクロプロセツサ1のマシ
ンサイクルをカウントしており、この出力によつ
てバス切換えフリツプフロツプ8が駆動される。
つまり定められたマシンサイクルを経過すること
によりフリツプフロツプ8がセツトされる。カウ
ンタ7はフリツプフロツプ8を1度セツトする
と、以後マシンサイクルのカウントを行うことが
ない。このフリツプフロツプ8は前記記憶装置
2,3を選択的に付勢、つまり切換え制御して択
一的に動作対象とするもので、フリツプフロツプ
8の出力は適宜反転制御されてゲート回路9a,
9bおよび前記バス遮断回路5,6にそれぞれ加
えられている。ゲート回路9a,9bは相互に反
転動作して択一的にゲート開成し、前記マイクロ
プロセツサ1から発せられる制御信号を記憶装置
2,3に各別に導いている。この制御信号を受け
て記憶装置2,3から命令プログラムや割込みプ
ログラムが読出され、バス4を介してマイクロプ
ロセツサ1に入力されてその実行が行われる。
FIG. 1 is a schematic configuration diagram of an emulator according to an embodiment, and FIG. 2 is a timing chart showing its operation timing. Microprocessor 1 is
It operates according to a program input from the control storage device 2 or the execution instruction storage device 3 via the data bus 4. These storage devices 2 and 3 each store a target instruction program or an interrupt processing program, and the programs read from these storage devices 2 and 3 according to a predetermined sequence are sent to the bus cutoff circuit 5. , 6, and then read into the microprocessor 1 via the bus 4. On the other hand, a machine cycle counter 7 counts machine cycles of the microprocessor 1, and a bus switching flip-flop 8 is driven by this output.
That is, the flip-flop 8 is set after a predetermined machine cycle has elapsed. Once the counter 7 sets the flip-flop 8, it will no longer count machine cycles. This flip-flop 8 selectively energizes the storage devices 2 and 3, that is, controls the switching so that they are selectively operated.The output of the flip-flop 8 is appropriately inverted, and the gate circuits 9a,
9b and the bus cutoff circuits 5 and 6, respectively. The gate circuits 9a and 9b perform mutually inverted operations to selectively open the gates, and guide control signals issued from the microprocessor 1 to the storage devices 2 and 3, respectively. In response to this control signal, instruction programs and interrupt programs are read from the storage devices 2 and 3, and input to the microprocessor 1 via the bus 4 for execution.

ところで、マシンサイクルを示すクロツクを入
力して作動するプロセツサステータス検出回路1
0は、前記マイクロプロセツサ1のステータスモ
ードを監視しており、命令の実行サイクル等の判
断を行つて各種の制御信号を発している。その制
御信号の1つである割込み許可信号、つまり目的
とする命令に対する割込み許可期間を示す信号
を、前記フリツプフロツプ8の出力によつてゲー
ト制御されるゲート回路11を介して割込み信号
選択回路12に与えている。このゲート回路11
を介して与えられる信号によつて全ての割込み要
求信号の遮断が制御され、例えば論理“1”の期
間のみ、禁止不可能な割込みを含めて目的とする
実行プログラムに対してマイクロプロセツサ1が
開放される。前記選択回路12はこのような制御
の下で、前記ステータス検出回路10が発する禁
止不可能な割込み要求信号と、前記記憶装置3に
ある命令を実行している際、所定のハードウエア
等から入力される割込み要求信号とを選択的に入
力し、これをマイクロプロセツサ1に与えてい
る。つまり選択回路12は、所定の割込み要求信
号を受けてマイクロプロセツサ1に対して割込み
要求信号を発することになる。また前記プロセツ
サステータス検出回路10はマイクロプロセツサ
1のステータスモードを検出してゲート回路1
3,14をそれぞれ制御している。この制御信号
は、前記記憶装置3に収納された命令を実行した
のち、次の命令コードを読出すマシンサイクル期
間に発せられるもので、この信号が前記マシンサ
イクル・クロツクを入力するゲート回路13を介
してフリツプフロツプ8に加えられ、これによつ
てフリツプフロツプ8がリセツトされる。
By the way, the processor status detection circuit 1 operates by inputting a clock indicating a machine cycle.
0 monitors the status mode of the microprocessor 1, determines the execution cycle of instructions, etc., and issues various control signals. An interrupt permission signal that is one of the control signals, that is, a signal indicating the interrupt permission period for the target instruction, is sent to the interrupt signal selection circuit 12 via the gate circuit 11 gate-controlled by the output of the flip-flop 8. giving. This gate circuit 11
The interruption of all interrupt request signals is controlled by the signal given through the signal, and for example, only during the period of logic "1", the microprocessor 1 can interrupt the target execution program, including interrupts that cannot be inhibited. It will be released. Under such control, the selection circuit 12 receives a non-prohibitable interrupt request signal issued by the status detection circuit 10 and an input from predetermined hardware etc. when executing an instruction in the storage device 3. The microprocessor 1 is selectively input with an interrupt request signal to be sent to the microprocessor 1. That is, the selection circuit 12 receives a predetermined interrupt request signal and issues an interrupt request signal to the microprocessor 1. Further, the processor status detection circuit 10 detects the status mode of the microprocessor 1 and outputs the gate circuit 1.
3 and 14, respectively. This control signal is issued during the machine cycle period when the next instruction code is read after executing the instruction stored in the storage device 3, and this signal triggers the gate circuit 13 which inputs the machine cycle clock. is applied to the flip-flop 8 via the flip-flop 8, thereby resetting the flip-flop 8.

しかして、ゲート回路14を介して生成された
信号は、NOP命令記憶装置15に入力され、こ
れによつてこの記憶装置15からバス4に強制的
にノーオペレーシヨン命令が出力されている。こ
のノーオペレーシヨン命令が目的とする命令の実
行のあとに挿入され、同命令と対を為して処理さ
れることになる。尚、図中破線で囲む記憶装置3
とその周辺回路(バス遮断回路6およびゲート回
路10)は、外部からの割込み要求信号と共に、
エミユレートの対象となるターゲツトプログラム
の為に設けられたものである。
The signal generated via the gate circuit 14 is input to the NOP instruction storage device 15, whereby a no-operation instruction is forcibly output from the storage device 15 to the bus 4. This no-operation instruction is inserted after the execution of the target instruction, and is processed as a pair with the same instruction. In addition, the storage device 3 surrounded by a broken line in the figure
and its peripheral circuits (bus cutoff circuit 6 and gate circuit 10), along with an external interrupt request signal,
It is provided for the target program to be emulated.

さて、このように構成されたシステムにおい
て、記憶装置3には実行の対象となる命令が収納
され、また記憶装置2には目的とする命令の実行
に至る迄の全てのシーケンスと、制御プログラム
に復帰してからの処理シーケンスとを指示する命
令が収納されている。マイクロプロセツサ1はこ
れらの記憶装置2,3から供給される命令を選択
的に実行することで目的とする機能を果してい
る。
Now, in a system configured in this way, the storage device 3 stores instructions to be executed, and the storage device 2 stores all the sequences up to the execution of the target instructions and the control program. Contains instructions for instructing the processing sequence after returning. The microprocessor 1 performs its intended function by selectively executing instructions supplied from these storage devices 2 and 3.

即ち、マイクロプロセツサ1は、その初期段階
において記憶装置2に対してその実行を行う。一
方、記憶装置3に格納された一命令を実行する場
合、先ずプロセツサ1はカウンタ7に対して信号
を送り、その後、予め定められたマシンサイクル
経過後にフリツプフロツプ8に対して信号を出力
させ、同フリツプフロツプ8をセツトする。この
フリツプフロツプ8のセツトによつて、記憶装置
2に代えて記憶装置3がその実行の対象となる。
これによつてマイクロプロセツサ1は記憶装置3
の命令プログラムを1ステツプ実行することにな
る。しかるのち、マイクロプロセツサ1が次の命
令プログラムを記憶装置3から得、これを実行せ
んとするとき、その直前にマイクロプロセツサ1
のステータスモードを検出してステータス検出回
路10が作動し、これによつてゲート回路11を
介して割込み許可期間制御信号が発せられて記憶
装置3の実行に対する割込みが禁止される。また
このとき同時にバス遮断回路6が付勢され、記憶
装置3から読出される命令コードが何であつて
も、そのデータバス4への出力が阻止される。そ
して、これに代えてNOP命令記憶装置15から
ノーオペレーシヨン命令がデータバス4上に読出
されて、マイクロプロセツサ1は、このノーオペ
レーシヨン命令を実行することになる。即ち、マ
イクロプロセツサ1は記憶装置3に記憶された1
つの命令プログラムを実行する都度、次に無条件
にノーオペレーシヨン命令を実行することにな
る。尚、この記憶装置15から読出されるノーオ
ペレーシヨン命令は、プロセツサ1に対して等価
的にノーオペレーシヨン機能を果すものであれば
よく、従つてこの範囲であればマイクロプロセツ
サ1が有するどのような命令を用いても良い。
That is, the microprocessor 1 performs the execution on the storage device 2 at its initial stage. On the other hand, when executing one instruction stored in the storage device 3, the processor 1 first sends a signal to the counter 7, and then, after a predetermined machine cycle has elapsed, causes the flip-flop 8 to output a signal. Set flip-flop 8. By setting the flip-flop 8, the storage device 3 instead of the storage device 2 becomes the target of execution.
This allows the microprocessor 1 to access the storage device 3.
The instruction program will be executed in one step. Thereafter, when the microprocessor 1 obtains the next instruction program from the storage device 3 and is about to execute it, the microprocessor 1
The status detection circuit 10 is activated by detecting the status mode, whereby an interrupt permission period control signal is issued via the gate circuit 11 and interrupts to the execution of the storage device 3 are prohibited. At the same time, the bus cutoff circuit 6 is activated, and whatever instruction code is read from the storage device 3, its output to the data bus 4 is blocked. Then, instead of this, a no-operation instruction is read out from the NOP instruction storage device 15 onto the data bus 4, and the microprocessor 1 executes this no-operation instruction. That is, the microprocessor 1 uses the 1 stored in the storage device 3.
Every time one instruction program is executed, the next no-operation instruction is executed unconditionally. Note that the no-operation instruction read from the storage device 15 may be one that equivalently performs a no-operation function for the processor 1. Therefore, within this range, any instruction that the microprocessor 1 has You may also use instructions like this.

しかして上記ノーオペレーシヨン命令の実行開
始から僅かに遅れた時点で、ステータス検出回路
10からの信号により、割込み信号選択回路12
を介してマイクロプロセツサ1に禁止不可能な割
込み要求が発せられる。この禁止不可能な割込み
要求は、上記記憶装置3に格納された命令の実行
から、記憶装置2の制御プログラムへの復帰を行
わしめるものである。そして、この禁止不可能な
割込み要求発生によつて前記フリツプフロツプ8
がリセツトされ、以後プロセツサ1が実行対象と
する命令供給源は記憶装置2となる。そして、前
記記憶装置15から読出されたノーオペレーシヨ
ン命令の実行サイクル中に生じた禁止不可能な割
込みによつて元の制御プログラムに復帰する。以
後これを順次繰返して実行し、記憶装置3に格納
された目的とする命令を1ステツプずつ実行する
ことになる。
However, at a slight delay from the start of execution of the no-operation instruction, the interrupt signal selection circuit 12 receives a signal from the status detection circuit 10.
A non-forbidden interrupt request is issued to the microprocessor 1 via the microprocessor 1. This non-prohibitable interrupt request causes execution of the instructions stored in the storage device 3 to return to the control program in the storage device 2. Then, due to the generation of this non-prohibitable interrupt request, the flip-flop 8
is reset, and from now on the storage device 2 becomes the instruction source that the processor 1 executes. Then, by a non-prohibitable interrupt occurring during the execution cycle of the no-operation instruction read from the storage device 15, the original control program is returned to. Thereafter, this process is repeated in sequence, and the target instructions stored in the storage device 3 are executed one step at a time.

尚、記憶装置3の実行サイクル時に発せられる
割込みは、選択回路12によつてプロセツサ1に
入力され、割込み応答サイクルに移行する。従つ
てステータス検出回路10はこれを次の命令の実
行サイクルとは判断せず、ゲート制御信号は割込
み応答サイクル後の次の実行サイクルまで出力さ
れない。この結果ノーオペレーシヨン命令の無条
件挿入は割込み処理ルーチンの最初の命令に対し
て行われることになる。この場合、記憶装置2の
制御プログラムは全く独立しているから、特に工
夫を講じる必要はない。
Incidentally, an interrupt issued during an execution cycle of the storage device 3 is inputted to the processor 1 by the selection circuit 12, and the process proceeds to an interrupt response cycle. Therefore, the status detection circuit 10 does not determine that this is the next instruction execution cycle, and the gate control signal is not output until the next execution cycle after the interrupt response cycle. As a result, the no-operation instruction is unconditionally inserted into the first instruction of the interrupt processing routine. In this case, since the control programs of the storage device 2 are completely independent, there is no need to take any special measures.

かくしてこのように、目的とする命令を実行す
る都度強制的にノーオペレーシヨン命令を挿入
し、このノーオペレーシヨン命令の実行サイクル
時に禁止不可能な割込みを発生させて制御プログ
ラムに復帰させることにより、実行命令記憶装置
3が発生する割込みがどのような種類であろうと
も、略完全に近いシングルステツプ動作によりエ
ミユレーシヨンを実行することが可能となる。従
つて、従来システムのように制御が複雑化・困難
化する不具合も生じない。
Thus, by forcibly inserting a no-operation instruction each time a target instruction is executed, and generating a non-prohibitable interrupt during the execution cycle of this no-operation instruction to return to the control program, Regardless of the type of interrupt generated by the execution instruction storage device 3, emulation can be executed by a nearly perfect single step operation. Therefore, the problem of complicated and difficult control as in conventional systems does not occur.

次に上記エミユレーシヨン動作を第2図に示す
タイミングに基づいて整理する。第2図において
aはマイクロプロセツサ1の命令の実行単位を示
す便宜上のクロツク信号であり、その基本単位は
Aで示される。ここでは命令の実行に2単位Bを
要する命令を例示する。また第2図においてbは
禁止不可能な割込み要求信号、cは全ての割込み
を阻止する割込み遮断信号を示している。この信
号は論理“1”により目的とする実行プログラム
に対して開放される。またdは目的とする命令プ
ログラムを収納した記憶装置3と制御プログラム
を収納した記憶装置2とをマイクロプロセツサ1
に対して選択的に切換制御する信号であり、eは
マイクロプロセツサ1の記憶装置2,3に対する
読出し信号である。そして、fは、上記eに示さ
れる読出し信号に応動してデータバス4上にノー
オペレーシヨン命令を強制的に出力する為の信号
である。
Next, the above emulation operation will be summarized based on the timing shown in FIG. In FIG. 2, a is a clock signal for convenience indicating the execution unit of instructions of the microprocessor 1, and the basic unit is indicated by A. Here, an example of an instruction that requires two units B to execute is illustrated. In FIG. 2, b indicates an interrupt request signal that cannot be inhibited, and c indicates an interrupt cutoff signal that blocks all interrupts. This signal is opened to the target execution program by logic "1". Further, d connects the storage device 3 storing the target instruction program and the storage device 2 storing the control program to the microprocessor 1.
e is a signal for selectively controlling switching between the microprocessor 1 and the memory devices 2 and 3 of the microprocessor 1. Further, f is a signal for forcibly outputting a no-operation command onto the data bus 4 in response to the read signal shown in e above.

しかして今、1つの目的とする命令の実行サイ
クルBが終了し、マイクロプロセツサ1から記憶
装置2,3に対して読出し信号が発せられると、
割込み遮断信号cは論理“0”にリセツトされ
る。尚、この割込み遮断(許可)信号cの出力タ
イミングは、記憶装置切換信号dの出力タイミン
グEと同時に制御プログラムの指令により行わ
れ、一般的には命令の実行単位をカウントするカ
ウンタの出力タイミングにより規定される。そし
て、これによつてノーオペレーシヨン命令の強制
的挿入を促す信号fが出力され、マイクロプロセ
ツサ1のデータバス4上に上記ノーオペレーシヨ
ン命令が乗せられる。しかるのち、前記タイミン
グCから一定の時間を経て、禁止不可能な割込み
要求信号bが発せられる。この要求信号bはマイ
クロプロセツサ1に対して発せられることは勿論
のことであるが、同時にこの信号bによつてマイ
クロプロセツサ1の内部割込み制御フリツプフロ
ツプが割込み禁止の状態に設定される。マイクロ
プロセツサ1は上記信号bの発生によりタイミン
グDに示される期間より禁止不可能な割込み処理
を実行することになる。尚、この割込み処理は、
外部からの割込みに対するものではなく、エミユ
レータ内部での要求に対するものである。しかし
て、この時点では、エミユレータの内部的には、
他の割込みに対して禁止の状態となつており、例
え1つの命令実行サイクルBが終了してから信号
cの期間中に記憶装置3の実行に対する割込みが
発せられたとしても上記タイミングD以降の実行
サイクルには何ら変化を生じない。
However, now, when the execution cycle B of one target instruction is completed and a read signal is issued from the microprocessor 1 to the storage devices 2 and 3,
The interrupt cutoff signal c is reset to logic "0". Note that the output timing of this interrupt cutoff (permission) signal c is performed according to the command of the control program at the same time as the output timing E of the storage device switching signal d, and is generally determined by the output timing of a counter that counts the execution unit of the instruction. stipulated. As a result, a signal f for forcibly inserting a no-operation instruction is output, and the no-operation instruction is placed on the data bus 4 of the microprocessor 1. Thereafter, after a certain period of time has elapsed from the timing C, the interrupt request signal b, which cannot be inhibited, is issued. This request signal b is of course issued to the microprocessor 1, but at the same time, the internal interrupt control flip-flop of the microprocessor 1 is set to an interrupt-disabled state. The microprocessor 1 executes a non-prohibitable interrupt process from the period indicated by the timing D due to the generation of the signal b. Note that this interrupt processing is
This is not for external interrupts, but for requests inside the emulator. However, at this point, internally in the emulator,
Other interrupts are prohibited, and even if an interrupt for the execution of the storage device 3 is issued during the period of signal c after one instruction execution cycle B is completed, the interrupt for the execution of the storage device 3 after the above timing D is disabled. No changes occur to the execution cycle.

ところで、1つの命令の実行サイクル時Bに割
込み要求信号bが発生した場合、読出し信号eが
上述したタイミングCで発生しなくなる。これは
記憶装置3の実行に対する割込みbが期間Bの例
えば期間Fで発生することにより、プロセツサ1
が割込み応答サイクルへ移行する為である。この
応答サイクルが終了した次の実行サイクルにおい
て信号eがタイミングCで発せられることにな
る。前記タイミングDに示す処理プログラムの実
行が終了した時点で始めて読出し信号eが発せら
れることになる。従つて、目的とする命令群の実
行中に禁止不可能な割込みが発生したとしても、
その処理ルーチンの最初の命令を実行する以前に
再び割込みが発生することになる。これに対して
は先に述べたように制御プログラムにおいて対処
する必要がないことは当然のことである。
By the way, if the interrupt request signal b is generated during the execution cycle B of one instruction, the read signal e is no longer generated at the timing C mentioned above. This is because interrupt b to the execution of the storage device 3 occurs in period F of period B, so that the processor 1
This is because the process moves to the interrupt response cycle. In the next execution cycle after this response cycle ends, the signal e will be issued at timing C. The read signal e is not issued until the execution of the processing program shown at the timing D is completed. Therefore, even if an interrupt that cannot be disabled occurs during the execution of the target set of instructions,
An interrupt will occur again before the first instruction of the processing routine is executed. It goes without saying that there is no need to deal with this in the control program as described above.

かくしてこのようにノーオペレーシヨン命令を
1つの目的とする命令の実行の都度挿入し、これ
らを対として実行させて、ノーオペレーシヨン命
令の実行サイクル時に禁止不可能な割込みを発生
させるようにすることによつて、特に禁止不可能
な割込み要求に対する処理を含むマイクロプロセ
ツサであつても、その単独実行(シングルステツ
プ)によるエミユレーシヨンが可能となる。また
既に明らかなように目的とする命令群を収納した
記憶装置上に制御プログラムが存在しなくても、
上述した実行制御が可能である。従つて、種々の
マイクロコンピユータシステムのマイクロプログ
ラムを対象とするエミユレーシヨンを効果的に且
つ簡易に行い得、その実用性が非常に高い等の絶
大なる効果を奏する。
In this way, a no-operation instruction is inserted each time an instruction with a single purpose is executed, and these are executed as a pair, so that an interrupt that cannot be inhibited is generated during the execution cycle of the no-operation instruction. As a result, even if the microprocessor includes processing for interrupt requests that cannot be prohibited, it is possible to emulate it by executing it alone (single step). Also, as is already clear, even if the control program does not exist on the storage device that stores the target instruction group,
The execution control described above is possible. Therefore, it is possible to effectively and easily emulate microprograms of various microcomputer systems, and it has great effects such as being highly practical.

尚、本発明は上記実施例に限定されるものでは
ない。例えばノーオペレーシヨン命令の形態につ
いては、実質的にノーオペレーシヨン機能を果す
命令であれば適宜採用できる。また1命令実行サ
イクルが2単位時間と規定されるものでもない。
要するに本発明は、その要旨を逸脱しない範囲で
種々変形して実施することができる。
Note that the present invention is not limited to the above embodiments. For example, the form of the no-operation command may be appropriately adopted as long as the command substantially performs a no-operation function. Furthermore, one instruction execution cycle is not defined as two units of time.
In short, the present invention can be implemented with various modifications without departing from the gist thereof.

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

第1図は本発明の一実施例に係るエミユレータ
の基本的な概略構成図、第2図はその動作タイミ
ングを説明する為の図である。 1…マイクロプロセツサ、2…制御記憶装置、
3…実行命令記憶装置、4…データバス、5,6
…バス遮断回路、7…マシンサイクルカウンタ、
8…切換フリツプフロツプ、9a,9b,11,
13,14…ゲート回路、10…プロセツサステ
ータス検出回路、12…割込み信号選択回路、1
5…ノーオペレーシヨン命令記憶装置。
FIG. 1 is a basic schematic configuration diagram of an emulator according to an embodiment of the present invention, and FIG. 2 is a diagram for explaining its operation timing. 1... Microprocessor, 2... Control storage device,
3... Execution instruction storage device, 4... Data bus, 5, 6
...bus cutoff circuit, 7...machine cycle counter,
8...Switching flip-flop, 9a, 9b, 11,
13, 14...Gate circuit, 10...Processor status detection circuit, 12...Interrupt signal selection circuit, 1
5...No-operation instruction storage device.

Claims (1)

【特許請求の範囲】[Claims] 1 禁止不可能な割込み手段を有するマイクロプ
ロセツサを対象とするマイクロコンピユータエミ
ユレータにおいて、上記マイクロプロセツサの目
的とする命令の実行後にノーオペレーシヨン命令
を挿入する手段と、このノーオペレーシヨン命令
の実行サイクル時に禁止不可能な割込みを発生さ
せると共に他の割込みの発生を禁止する手段と、
上記禁止不可能な割込みの実行処理を前記目的と
する命令を収納した記憶装置とは別の記憶装置を
対象として行わせる手段とを具備し、前記目的と
する命令の実行を前記ノーオペレーシヨン命令と
対を為して行い、このノーオペレーシヨン命令の
実行サイクル時のみに割込みを発生させることを
特徴とするマイクロコンピユータエミユレータ。
1. In a microcomputer emulator for a microprocessor having a non-prohibitable interrupt means, a means for inserting a no-operation instruction after execution of the intended instruction of the microprocessor, and a means for inserting the no-operation instruction. means for generating a non-prohibitable interrupt and prohibiting the generation of other interrupts during an execution cycle;
means for causing the execution process of the non-prohibitable interrupt to be executed in a storage device other than the storage device storing the target instruction, and the execution process of the target instruction is executed by the no-operation instruction. A microcomputer emulator is characterized in that an interrupt is generated only during the execution cycle of this no-operation instruction.
JP55153243A 1980-10-31 1980-10-31 Microcomputer emulator Granted JPS5776639A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55153243A JPS5776639A (en) 1980-10-31 1980-10-31 Microcomputer emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55153243A JPS5776639A (en) 1980-10-31 1980-10-31 Microcomputer emulator

Publications (2)

Publication Number Publication Date
JPS5776639A JPS5776639A (en) 1982-05-13
JPS629940B2 true JPS629940B2 (en) 1987-03-03

Family

ID=15558182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55153243A Granted JPS5776639A (en) 1980-10-31 1980-10-31 Microcomputer emulator

Country Status (1)

Country Link
JP (1) JPS5776639A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62183253U (en) * 1986-05-12 1987-11-20

Also Published As

Publication number Publication date
JPS5776639A (en) 1982-05-13

Similar Documents

Publication Publication Date Title
US8170859B1 (en) Methods, apparatuses and computer program products for simulating arbitrary unmodified code
US5619704A (en) Asynchronous interrupt inhibit method and apparatus for avoiding interrupt of an inseparable operation
US20020144235A1 (en) Debugging embedded systems
KR100238917B1 (en) Microprocessor device and its operation management method
JPS6120145A (en) Operation analyzer of microprocessor
KR920003044B1 (en) Control system for guest execution of virtual computer system
JPS629940B2 (en)
US7457986B2 (en) Apparatus and method for using variable end state delay to optimize JTAG transactions
JPS586971B2 (en) arithmetic processing unit
JPH0646380B2 (en) Information processing equipment
CN101154211A (en) Embedded system and operation method thereof
JPS59133655A (en) Address stop control circuit
JPS5916054A (en) Microprocessor
JPH0573296A (en) Microcomputer
JP2624798B2 (en) Processing unit debugging mechanism
KR950005523B1 (en) Step Run Processing Method of Programmable Logic Controller
JPS62130427A (en) Memory read/write system
JPH01274253A (en) Software break system
JPH06103110A (en) Breakpoint setting system
JPS62197834A (en) Microprogram controller
JPS6198455A (en) Device simulation system
JPH01240941A (en) Information processor
JPH07271608A (en) Interruption generating circuit
JPS5930146A (en) Microprogram debugging device
JPH01154252A (en) Program debug back-up device for parallel processors