JPH07109589B2 - Instruction processing method - Google Patents

Instruction processing method

Info

Publication number
JPH07109589B2
JPH07109589B2 JP60165177A JP16517785A JPH07109589B2 JP H07109589 B2 JPH07109589 B2 JP H07109589B2 JP 60165177 A JP60165177 A JP 60165177A JP 16517785 A JP16517785 A JP 16517785A JP H07109589 B2 JPH07109589 B2 JP H07109589B2
Authority
JP
Japan
Prior art keywords
instruction code
instruction
code group
model
storage means
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 - Lifetime
Application number
JP60165177A
Other languages
Japanese (ja)
Other versions
JPS6225334A (en
Inventor
ゆかり 三沢
重達 香取
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP60165177A priority Critical patent/JPH07109589B2/en
Publication of JPS6225334A publication Critical patent/JPS6225334A/en
Publication of JPH07109589B2 publication Critical patent/JPH07109589B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、命令コードを解読する解読回路の制御により
各種のデータ処理を実行する演算処理装置を単一半導体
基盤上に集積した情報処理装置の命令処理方式に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Industrial field of use] The present invention relates to an information processing apparatus in which an arithmetic processing unit for executing various data processing by controlling a decoding circuit for decoding an instruction code is integrated on a single semiconductor substrate. Command processing method.

〔従来の技術〕[Conventional technology]

最近、パーソナルコピュータ、オフィスコンピュータ等
の情報処理機器が、企業内ではもちろろん、一般家庭で
も多く利用されている。これら情報処理機器は、利用範
囲が広く、これに伴うソフトウェアも増え続け、今では
膨大な数となっている。
Recently, information processing devices such as personal computers and office computers are widely used not only in companies but also in general households. These information processing devices have a wide range of use, and the software accompanying them has been increasing, and the number is now huge.

ソフトウェアの増大と平行して、情報処理機器も利用者
の要求とともに、高性能化、高速処理化が進んでいる。
Along with the increase in software, information processing equipment is also being improved in performance and speed along with user demand.

しかし、次々と新しい機種が製品化されているため、最
新機種として製品化された情報処理機器もすぐに旧式化
しているというのが現状である。
However, since new models are being commercialized one after another, it is the current situation that the information processing devices commercialized as the latest models are soon obsolete.

従来の機種(以下、下位機種と記す)には、多くのソフ
トウェアが用意されているが下位機種の命令コードは、
最新の機種(以下、上位機種と記す)の命令コードとは
全く異る。最新の上位機種のソフトウェアと従来の下位
機種のソフトウェアとの互換性が問題になっている。
A lot of software is prepared for the conventional model (hereinafter referred to as the lower model), but the instruction code of the lower model is
It is completely different from the instruction code of the latest model (hereinafter referred to as upper model). The compatibility between the latest high-end model software and the conventional low-end model software has become a problem.

第8図は、従来の情報処理機器の構成図である。CPU801
は上位機種の命令セットを実行するマイコンである。メ
モリ802には、実行されるプログラムや処理データが格
納されており、バスでCPU801や入出力装置803と結合さ
れている。
FIG. 8 is a block diagram of a conventional information processing device. CPU801
Is a microcomputer that executes the instruction set of the higher model. The memory 802 stores programs to be executed and processing data, and is connected to the CPU 801 and the input / output device 803 by a bus.

上記の様な構成の機器で下位機種用のソフトウェアを実
行してもCPU801は上位機種の命令コードとして解釈し正
しい処理を行うことは不可能である。
Even if the software for the lower model is executed by the device having the above-mentioned configuration, the CPU 801 cannot interpret the instruction code of the higher model and perform the correct processing.

また、この膨大の数の従来の下位機種用のソフトウェア
が上位機種に使用できないという理由で無視することも
不可能である。そこで、今まで上位機種上で下位機種用
のソフトウェアを使用する方法として、第1に下位機種
用ソフトウェアのソースプログラムを上位機種用に書き
直して上位機種上で用いる方法、第2に上位機種用の命
令で全く新しいソフトウェアを作るという方法があっ
た。
It is also impossible to ignore this huge number of conventional software for lower-class models because it cannot be used for higher-class models. So, as the method of using the software for the lower model on the higher model so far, firstly, the source program of the software for the lower model is rewritten for the higher model and used on the higher model, and second, for the upper model. There was a way to create completely new software with instructions.

しかし、第1の方法には、現在使われているすべての下
位機種用のソフトウェアを上位機種用に書き直すために
大変な時間を費してしまうという問題がある。また、第
2の方法には、従来のソフトウェアと同じだけのソフト
ウェアを新たに作成するために今までと同じ、または、
それ以上の工数と費用がかかってしまうという問題があ
る。つまり、上記の2つの方法は、下位機種用のソフト
ウェアが膨大な数となってしまった今では用いることが
不可能である。そこで従来は、第9図の様な構成の情報
装置900が考えられた。
However, the first method has a problem in that it takes a lot of time to rewrite software for all lower models currently used for higher models. In addition, the second method is the same as before so as to newly create as much software as conventional software, or
There is a problem that it takes more man-hours and costs. In other words, the above two methods cannot be used now that the number of softwares for low-end models has become huge. Therefore, conventionally, an information device 900 having a configuration as shown in FIG. 9 has been considered.

次に第9図を参照しながら情報処理装置900の構成と動
作を説明する。
Next, the configuration and operation of the information processing apparatus 900 will be described with reference to FIG.

第9図は、上位機種の命令セットを実行するマイコン90
1と下位機種の命令セットを実行するマイコン902の両方
を搭載させた情報処理装置900のブロック図である。第
9図において、上位機種の命令セットを実行するマイコ
ン901と下位機種の命令セットを実行するマイコン902
は、エミュレーション制御装置903に接続されている。
上位機種用のソフトウェアを実行させる時は、エミュレ
ーション制御装置903の制御でアドレスバス905、データ
バス906が上位機種の命令セットを実行するマイコン901
に接続され、メモリ904の中の上位機種用のプログラム
を実行する。下位機種用のソフトウェアを実行させると
きは、エミュレーション制御装置903の制御でアドレス
バス905、データバス906が下位機種の命令セットを実行
するマイコン902に接続され、メモリ904の中の下位機種
用のプログラムを実行する。この様にして、下位機種
用、上位機種用両方のソフトウェアを実行できる。
FIG. 9 shows a microcomputer 90 that executes the instruction set of a higher model.
1 is a block diagram of an information processing apparatus 900 equipped with both 1 and a microcomputer 902 that executes a lower model instruction set. FIG. In FIG. 9, a microcomputer 901 that executes the instruction set of the higher model and a microcomputer 902 that executes the instruction set of the lower model
Are connected to the emulation controller 903.
When executing software for higher-level models, the address bus 905 and data bus 906 under the control of the emulation control unit 903 execute a microcomputer 901 that executes the instruction set of the higher-level model.
And executes the program for the higher-level model in the memory 904. When executing the software for the lower model, the address bus 905 and the data bus 906 are connected to the microcomputer 902 that executes the instruction set of the lower model under the control of the emulation controller 903, and the program for the lower model in the memory 904 is executed. To execute. In this way, it is possible to execute software for both lower and upper models.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

上述した従来の情報処理装置は、上位機種の命令コード
実行用と、下位機種の命令コード実行用の2つのマイコ
ンを搭載しており、情報処理装置のシステム規模が大き
くなってしまうという欠点がある。それに伴い、価格が
高価になってしまうという欠点もある。また、マイコン
を2つ搭載するということは、下位機種の命令コード実
行用のマイコンを使っているときは、もう1つの上位機
種の命令コード実行用のマイコンは使われておらず、上
位機種の命令コード実行用のマイコンを使っているとき
は、もう1つの下位機種の命令コード実行用のマイコン
は使われていないというように、常に片方のマイコンし
か使われていないため、ハードウェアが無駄になってし
まうという欠点がある。
The above-described conventional information processing apparatus is equipped with two microcomputers, one for executing the instruction code of the higher-order model and the other for executing the instruction code of the lower-order model, which has the drawback of increasing the system scale of the information processing apparatus. . Along with that, there is a drawback that the price becomes expensive. In addition, the fact that two microcomputers are installed means that when a microcomputer for executing instruction code of a lower model is used, another microcomputer for executing instruction code of a higher model is not used, When using the instruction code execution microcomputer, the other subordinate model instruction code execution microcomputer is not used, so only one of the microcomputers is used at any one time, so the hardware is wasted. It has the drawback of becoming

〔問題点を解決するための手段〕[Means for solving problems]

本発明に基づく情報処理装置は、プログラム記憶手段内
に格納される第1の命令コード群を解読する解読回路の
制御により、各種のデータ処理を実行する演算処理装置
を単一半導体基板上に集積した半導体集積回路において
複数の第1の命令コード群と第2の命令コード群を蓄え
る待を行列記憶手段と、プログラム記憶手段内の第1の
命令コード群と第2の命令コード群を待ち行列記憶手段
へ送出する命令読み出し手段と、第1の命令コード群を
実行する実行手段と、第2の命令コード群から第1の命
令コード群を生成する命令コード変換記憶手段を有し、
命令読み出し手段によるプログラム記憶手段内の第1の
命令コード群と第2の命令コード群の待ち行列記憶手段
への格納処理と命令コード変換記憶手段による第2の命
令コードから第1の命令コードへの変換処理と実行手段
による第1の命令コードの実行処理を並列に実行するこ
とを特徴とする。
An information processing apparatus according to the present invention integrates an arithmetic processing unit that executes various data processes on a single semiconductor substrate by controlling a decoding circuit that decodes a first instruction code group stored in a program storage unit. In the semiconductor integrated circuit, a queue storing means for storing a plurality of first instruction code groups and a plurality of second instruction code groups and a queue for storing the first instruction code groups and second instruction code groups in the program storage means An instruction read means for sending to the storage means, an execution means for executing the first instruction code group, and an instruction code conversion storage means for generating the first instruction code group from the second instruction code group,
Storing processing of the first instruction code group and the second instruction code group in the program storage means by the instruction reading means to the queue storage means and the second instruction code to the first instruction code by the instruction code conversion storage means The conversion processing and the execution processing of the first instruction code by the execution means are executed in parallel.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be described with reference to the drawings.

第1図は、本発明に関する情報処理装置の構成図であ
る。情報処理装置100には2つのモードがあり、1つは
上位機種用の命令として実行するモード(以下ネイティ
ブモードと記す)と他方は、下位機種用の命令として処
理するモード(以下エミュレーションモードと記す)で
ある。第1図の情報処理装置100のマイクロコンピュー
タ101は、下位機種の命令セットを実行する機能(以下
エミュレーション機能と記す)と本来の命令セットを実
行する機能の両方を備えている。マイクロコンピュータ
101は実行ユニット102、入出力装置103、命令コードセ
レクタ104、コード変換メモリ105、QUEUE106、フェッチ
ユニット107から構成される。QUEUE106は、複数の命令
を蓄えておくことができ、読み出されるときは、書き込
まれた順に1命令ずつ内部データバース111へ送出す
る。QUEUE106からは、QUEUE106の状態信号であるQRDY信
号109とQFULL信号110が送出されている。QRDY信号109
は、実行ユニット102とフェッチユニット107に送出され
ており、QUEUE106の中に処理する命令コードが、あるか
ないかを示している。処理する命令コードがある場合
は、アクティブレベル“1"となる。QFULL信号110は、フ
ェッチユニット107に送出されており、QUEUE106の中
に、まだ、命令コードを書き込める余裕があるかないか
を示している。QUEUE106がいっぱいで、命令コードを書
き込むことができない場合、アクティブレベル“1"とな
る。QUEUE106を用いない場合、情報処理装置は第4図の
様に動作し、実行ユニット102は、命令コードの実行を
終えるまでメモリ108から次の命令コードを読み出すこ
とができないため、情報処理装置内では、常に、フェッ
チまたは実行の一方の処理しか行うことができない。と
こいがQUEUE106があると、実行ユニット102が命令コー
ドの実行をしていても、フェッチユニット107の指示で
メモリ108からフェッチが行われ、QUEUE106に蓄えられ
る。QRDY信号109がアクティブレベル“1"であればQUEUE
106からは命令コードが次々と送出されるため、前の命
令コードが実行ユニット102に取り込まれると、次の命
令はすでにQUEUEから内部データバス111に送出されてい
る。そのため、第5図の様に、フェッチと実行が平行し
て行われ、第4図のQUEUEがない場合に比べて処理時間
が短縮される。
FIG. 1 is a block diagram of an information processing apparatus according to the present invention. The information processing apparatus 100 has two modes. One is a mode for executing an instruction for a higher model (hereinafter referred to as a native mode) and the other is a mode for processing as an instruction for a lower model (hereinafter referred to as an emulation mode). ). The microcomputer 101 of the information processing apparatus 100 shown in FIG. 1 has both a function of executing an instruction set of a lower model (hereinafter referred to as an emulation function) and a function of executing an original instruction set. Microcomputer
101 includes an execution unit 102, an input / output device 103, an instruction code selector 104, a code conversion memory 105, a QUEUE 106, and a fetch unit 107. The QUEUE 106 can store a plurality of instructions, and when read out, the instructions are sent to the internal database 111 one instruction at a time in the written order. From the QUEUE 106, a QRDY signal 109 and a QFULL signal 110, which are status signals of the QUEUE 106, are transmitted. QRDY signal 109
Has been sent to the execution unit 102 and the fetch unit 107, and indicates whether or not there is an instruction code to be processed in the QUEUE 106. If there is an instruction code to process, it becomes active level "1". The QFULL signal 110 has been sent to the fetch unit 107 and indicates whether or not there is still room in the QUEUE 106 to write the instruction code. If the QUEUE 106 is full and the instruction code cannot be written, the active level becomes "1". If the QUEUE 106 is not used, the information processing apparatus operates as shown in FIG. 4, and the execution unit 102 cannot read the next instruction code from the memory 108 until the execution of the instruction code is completed. , At any given time, only one of fetch and execute can be performed. If there is QUEUE 106, even if execution unit 102 is executing the instruction code, it is fetched from memory 108 by the instruction of fetch unit 107 and stored in QUEUE 106. QUEUE if QRDY signal 109 is active level "1"
Since the instruction codes are sequentially sent from 106, when the previous instruction code is fetched by the execution unit 102, the next instruction has already been sent from the QUEUE to the internal data bus 111. Therefore, as shown in FIG. 5, fetch and execution are performed in parallel, and the processing time is shortened as compared with the case in which there is no QUEUE in FIG.

フェッチユニット107は、QUEUE106からのQRDY信号109お
よびQFULL110を受けて、メモリ108からQUEUE106への命
令の書き込みを制御する。QFULL信号110がインアクティ
ブレベル“0"で、QRDY信号109がアクティブレベル“1"
の場合、QUEUE106にはまだ命令を書き込む余裕があり、
QFULL信号110がインアクティブレベル“0"で、QRDY信号
109もインアクティブレベル“0"の場合、QUEUE106には
処理する命令が入っていないため、フェッチユニット10
7からは、アドレス情報が内部アドレス113上に送出さ
れ、外部アドレスバス114を介してメモリ108に受け取ら
れる。するとメモリ108から命令コードが送出され、外
部データバス112を経てQUEUE106に書き込まれ、蓄えら
れる。QUEUE106がいっぱいになると、QFULL信号110がア
クティブルベル“1"となり、フェッチユニット107は、
アドレス情報の送出をしなくなる。QFULL信号110がイン
アクティブレベル“0"になると再びメモリ108からQUEUE
106へ命令コードの書き込みが行われる。
The fetch unit 107 receives the QRDY signal 109 and the QFULL 110 from the QUEUE 106 and controls the writing of the instruction from the memory 108 to the QUEUE 106. QFULL signal 110 is inactive level "0", QRDY signal 109 is active level "1"
If so, QUEUE106 still has room to write instructions,
QFULL signal 110 is inactive level “0”, QRDY signal
If 109 is also the inactive level “0”, the QUEUE 106 does not contain the instruction to process, so the fetch unit 10
Address information is transmitted from 7 to the internal address 113 and received by the memory 108 via the external address bus 114. Then, the instruction code is sent from the memory 108, written in the QUEUE 106 via the external data bus 112, and stored. When QUEUE 106 becomes full, QFULL signal 110 becomes active level 1 and fetch unit 107
Stop sending address information. When QFULL signal 110 becomes inactive level “0”, QUEUE from memory 108 again
The instruction code is written to 106.

コード変換メモリ105には、下位機種の命令コードを上
位機種の命令コードに変換するコード変換テーブルが格
納されている。
The code conversion memory 105 stores a code conversion table that converts an instruction code of a lower model into an instruction code of a higher model.

命令コードセレクタ104は、内部データバス111上の命令
コードか、コード変換メモリ105内の変換された命令コ
ードかを選択し、実行ユニット102へ送出する。
The instruction code selector 104 selects either the instruction code on the internal data bus 111 or the converted instruction code in the code conversion memory 105, and sends it to the execution unit 102.

メモリ108には、マイクロコンピュータ101がネイティブ
モードで実行するプログラム、エミュレーションモード
で実行するプログラム、処理データが納められている。
The memory 108 stores a program executed by the microcomputer 101 in a native mode, a program executed in an emulation mode, and processing data.

実行ユニット102内には、プログラム・カウンタ(以下P
Cと記す)115、プログラム・ステータス・ワード(以下
PSWと記す)116、レジスタ群117が含まれている。
In the execution unit 102, a program counter (P
115), program status word (below)
A PSW) 116 and a register group 117 are included.

PSW116には、ネイティブモード、エミュレーションモー
ドを設定するモード設定フリップフロップ118が設置さ
れている。他にZフラグ、キャリーフラグ等も含まれて
いるが本図中には図示していない。このモード設定フリ
ップ・フロップ118が“1"の場合、シングルチップマイ
コン101はネイティブモードとなり、フェッチした命令
コードを上位機種用の命令コードとして解釈、実行す
る。また、モード設定フリップフロップ118が“0"の場
合、シングルチップマイコン101は、エミュレーション
モードとなり、フェッチした命令コードを下位機種用の
命令コードとして処理する。
The PSW 116 is provided with a mode setting flip-flop 118 that sets the native mode and the emulation mode. Besides, a Z flag, a carry flag and the like are also included, but they are not shown in the figure. When the mode setting flip-flop 118 is "1", the single-chip microcomputer 101 is in the native mode, and the fetched instruction code is interpreted and executed as the instruction code for the higher model. When the mode setting flip-flop 118 is "0", the single chip microcomputer 101 enters the emulation mode and processes the fetched instruction code as an instruction code for a lower model.

以下に実行ユニット102が実行する命令処理を第2図の
フローチャートを参照しながら説明する。MOVは、転送
命令で、レジスタ・レジスタ間、レジスタ・メモリ間で
のデータの転送、又は、レジスタへの直接データ転送、
メモリへの直接データ転送を行う、ADDは、加算命令
で、レジスタプラスレジスタ、レジスタプラスメモリ、
メモリプラスレジスタ、レジスタプラスデータ、メモリ
プラスデータの処理を行い、計算結果をレジスタまたは
メモリに格納する。SUBは、減算命令で、レジスタマイ
ナスレジスタ、レジスタマイナスメモリ、メモリマイナ
スレジスタ、レジスタマイナスデータ、メモリマイナス
データの処理を行い、計算結果をレジスタまたは、メモ
リに格納する。INA,nは、入出力命令で、第2オパラン
ドで指定している入出力装置103のアドレスnに格納し
てあるデータをアキュムレータAに転送する。OUTA,n
は、入出力命令で、第2オペランドで指定している入出
力装置103のアドレスnにアキュムレータAの内容を転
送する、INTは、割込命令で、INTが実行されるとPC115
とPSW116をスタック領域に退避し、所定割込みベクタへ
分岐する。そして、PSW116内のモード設定フリップフロ
ップ118を強制的にセットし、ネイティブモードとな
る。RET1命令は、主プログラムへの復帰命令で、この命
令を実行すると、スタック領域に退避されている割込命
令前のPC,PSWの情報をリストアし、再び主プログラムに
戻る。
The instruction processing executed by the execution unit 102 will be described below with reference to the flowchart of FIG. MOV is a transfer instruction that transfers data between registers and registers, between registers and memory, or directly transfers data to registers.
ADD, which directly transfers data to the memory, is an add instruction, register plus register, register plus memory,
The memory plus register, the register plus data, and the memory plus data are processed, and the calculation result is stored in the register or the memory. SUB is a subtraction instruction, processes register minus register, register minus memory, memory minus register, register minus data, memory minus data, and stores the calculation result in the register or memory. INA, n is an input / output instruction that transfers the data stored in the address n of the input / output device 103 designated by the second operand to the accumulator A. OUTA, n
Is an input / output instruction, and transfers the contents of the accumulator A to the address n of the input / output device 103 specified by the second operand. INT is an interrupt instruction.
And PSW116 are saved in the stack area and branched to a predetermined interrupt vector. Then, the mode setting flip-flop 118 in the PSW 116 is forcibly set to enter the native mode. The RET1 instruction is a return instruction to the main program, and when this instruction is executed, the information of PC and PSW before the interrupt instruction saved in the stack area is restored, and it returns to the main program again.

次に情報処理装置100の動作を説明する。この情報処理
装置100はQUEUE106を用いているため、実行ユニット102
が命令コードの実行をしていても、フェッチユニット10
7の指示でメモリ108からのフェッチが行われ、QUEUE106
に蓄えられる。QRDY信号109がアクティブレベル“1"で
あれば、QUEUE106からは、命令コードが次々と送出され
るため、前の命令コードが実行ユニット102に取り込ま
れると次の命令はすでにQUEUE106から内部データバス11
1に送出されている。ここまでは、ネイティブ・モード
にもエミュレーションモードにも共通の動作である。続
く動作は、ネイティブモードとエミュレーションモード
とに分けて説明する。
Next, the operation of the information processing device 100 will be described. This information processing apparatus 100 uses the QUEUE 106, so the execution unit 102
Is executing the instruction code, the fetch unit 10
Fetching from the memory 108 is performed according to the instruction of 7, and QUEUE106
Stored in. If the QRDY signal 109 is the active level "1", the instruction code is sent from the QUEUE 106 one after another. Therefore, when the previous instruction code is fetched by the execution unit 102, the next instruction is already sent from the QUEUE 106 to the internal data bus 11.
Has been sent to 1. Up to this point, the operation is common to both the native mode and the emulation mode. The subsequent operation will be described separately in the native mode and the emulation mode.

まず最初にネイティブモードの場合を説明する。内部デ
ータバス111上の命令コードは、上位機種の命令コード
である。実行ユニット102はネイティブモードで動作し
ているため、命令コードセレクタ104は内部データバス1
11上の命令コードを選択し、実行ユニット102に出力す
る。実行ユニット102は、この命令コードをデコードし
て、第2図で説明した各命令を処理する。このときは、
すでに次の命令コードが内部データバス111上に出力さ
れており、前の命令コードの処理が終わるのを待ってい
る。この様に第5図に示す通り、命令コードのフェッ
チ、命令コードの実行が平行して行われるため、第4図
のQUEUEがない場合に比べ処理時間が短縮される。
First, the case of the native mode will be described. The instruction code on the internal data bus 111 is the instruction code of the higher model. Since the execution unit 102 is operating in the native mode, the instruction code selector 104 uses the internal data bus 1
11 Select the instruction code above and output it to the execution unit 102. The execution unit 102 decodes this instruction code and processes each instruction described in FIG. At this time,
The next instruction code has already been output on the internal data bus 111 and is waiting for the processing of the previous instruction code to finish. Thus, as shown in FIG. 5, the instruction code is fetched and the instruction code is executed in parallel, so that the processing time is shortened as compared with the case without the QUEUE in FIG.

次に、エミュレーションモードの場合を説明する。内部
データバス111上の命令コードは、下位機種の命令コー
ドである。下位機種の命令コードは、コード変換メモリ
105に送られ、コード変換メモリ105内のコード変換テー
ブルによって上位機種の命令コードに変換される。すな
わち、コード変換メモリ105は、下位機種用MOV命令の命
令コードが入力すると、下位機種用MOV命令と同じ処理
を行う上位機種用MOV命令の命令コードに変換し、同様
に下位機種用ADD命令の命令コードが入力すると、下位
機種用ADD命令と同じ処理を行う上位機種用ADD命令の命
令コードに変換する。実行ユニット102がエミュレーシ
ョンモードで動作しているため、命令コードセレクタ10
4は、コード変換メモリ105の命令コードを選択し、上位
機種命令に変換された命令コードを実行ユニット102に
出力する。実行ユニット102はこの命令コードをデコー
ドしてMOVであれば転送をADDであれば加算をSUBであれ
ば、減算を実行する。命令コードを変換した後の実行ユ
ニット102の動作は第2図で説明したものと同様であ
る。そして、このときはすでに次の命令コードがコード
変換されている。以上の様に、第7図に示す通り、命令
コードのフェッチ、命令コードの変換、命令コードの実
行が平行して行われるため、第6図のQUEUEがない場合
に比べ、処理時間が短縮される。
Next, the case of the emulation mode will be described. The instruction code on the internal data bus 111 is an instruction code of a lower model. The instruction code of the lower model is the code conversion memory.
It is sent to 105 and converted into the instruction code of the higher model by the code conversion table in the code conversion memory 105. That is, the code conversion memory 105, when the instruction code of the MOV instruction for the lower model is input, converts it to the instruction code of the MOV instruction for the upper model that performs the same processing as the MOV instruction for the lower model, and similarly, the ADD instruction for the lower model is converted. When the instruction code is input, it is converted to the instruction code of the ADD instruction for the upper model that performs the same processing as the ADD instruction for the lower model. Because the execution unit 102 is operating in emulation mode, the instruction code selector 10
Reference numeral 4 selects the instruction code of the code conversion memory 105, and outputs the instruction code converted to the higher model instruction to the execution unit 102. The execution unit 102 decodes this instruction code and executes transfer if MOV, addition if ADD, and subtraction if SUB. The operation of the execution unit 102 after converting the instruction code is the same as that described with reference to FIG. At this time, the following instruction code has already been converted. As described above, as shown in FIG. 7, the instruction code is fetched, the instruction code is converted, and the instruction code is executed in parallel, so that the processing time is shortened as compared with the case without the QUEUE in FIG. It

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明は下位機種の命令セットを実
行する機能と上位機種の命令セットを実行する機能を備
えているため、下位機種用と上位機種用の両方のソフト
ウェアを実行できるという利点がある。
As described above, the present invention has the function of executing the instruction set of the lower model and the function of executing the instruction set of the higher model, and therefore has the advantage of being able to execute both the software for the lower model and the software for the higher model. is there.

また、本発明に関する情報処理装置には、命令コード変
換メモリを用いているため、2つのマイコンを搭載する
ことなく上位機種の命令セットを実行する機能をもった
マイコンだけで下位機種の命令も処理できるので、今ま
での下位機種用のマイコンと上位機種用のマイコンの2
つを使っていた情報処理装置に比べ小型化でき、また、
低コスト化も可能であるという利点もある。
Further, since the information processing apparatus according to the present invention uses the instruction code conversion memory, only the microcomputer having the function of executing the instruction set of the higher model without installing two microcomputers can process the instructions of the lower model. Because it can be done, it is possible to use 2 of the microcomputer for the lower model and the microcomputer for the higher model until now.
Can be made smaller than the information processing device that used
There is also an advantage that the cost can be reduced.

さらに、本発明に関する情報処理装置には、QUEUEを用
いているため、1命令の処理が終わるたびにメモリから
命令コードを読み出すのではなく、命令コードのフェッ
チ、命令コードの実行が平行して行われるため、プログ
ラム処理速度が速いという利点がある。
Further, since the information processing apparatus according to the present invention uses QUEUE, the instruction code is fetched and the instruction code is executed in parallel instead of reading the instruction code from the memory each time one instruction is processed. Therefore, there is an advantage that the program processing speed is fast.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明における情報処理装置の構成図、第2図
はネイティブモード時のフローチャート、第3図はエミ
ュレーションモード時のフローチャート、第4図はQUEU
Eを用いないときのタイムチャート、第5図はQUEUEを用
いたときのタイムチャート、第6図は本発明における情
報処理装置においてQUEUEを用いない場合のタイムチャ
ート、第7図は本発明における情報処理装置においてQU
EUEを用いる場合のタイムチャート、第8図は従来のエ
ミュレーション機能の付加されていない上位機種の構成
図、第9図は従来の下位機種用エミュレーション機能付
の上位機種の構成図である。 102……実行ユニット、103……入出力装置、104……命
令コードセレクタ、105……コード変換メモリ、106……
QUEUE、107……フェッチユニット、108……メモリ、109
……QRDY信号、110……QFULL信号、111……内部データ
バス、112……外部データバス、113……内部アドレスバ
ス、114……外部アドレスバス、115……PC、116……PS
W、117……レジスタ、118……モード設定フリップフロ
ップ、801……CPU、802……メモリ、803……入出力装
置、901……上位機種用マイコン、902……下位機種用マ
イコン、903……エミュレーション制御装置、904……メ
モリ、905……アドレスバス、906……データバス。
FIG. 1 is a block diagram of an information processing apparatus according to the present invention, FIG. 2 is a flowchart in a native mode, FIG. 3 is a flowchart in an emulation mode, and FIG. 4 is QUEU.
Time chart when E is not used, FIG. 5 is a time chart when QUEUE is used, FIG. 6 is a time chart when QUEUE is not used in the information processing apparatus according to the present invention, and FIG. 7 is information according to the present invention. QU in processing equipment
FIG. 8 is a block diagram of a higher-order model to which the conventional emulation function is not added, and FIG. 9 is a block diagram of a higher-order model with a conventional lower-model emulation function. 102 ... Execution unit, 103 ... Input / output device, 104 ... Instruction code selector, 105 ... Code conversion memory, 106 ...
QUEUE, 107 …… Fetch unit, 108 …… Memory, 109
…… QRDY signal, 110 …… QFULL signal, 111 …… Internal data bus, 112 …… External data bus, 113 …… Internal address bus, 114 …… External address bus, 115 …… PC, 116 …… PS
W, 117 ... Register, 118 ... Mode setting flip-flop, 801 ... CPU, 802 ... Memory, 803 ... I / O device, 901 ... High-end model microcomputer, 902 ... Low-end model microcomputer, 903 ... … Emulation controller, 904 …… Memory, 905 …… Address bus, 906 …… Data bus.

フロントページの続き (56)参考文献 特開 昭59−8058(JP,A) 特開 昭59−99552(JP,A) 特開 昭51−32146(JP,A) 特開 昭54−30752(JP,A) 日経エレクトロニクス,1984年4月23日 号,日経マグロウヒル社,P.100−105Continuation of the front page (56) References JP 59-8058 (JP, A) JP 59-99552 (JP, A) JP 51-32146 (JP, A) JP 54-30752 (JP , A) Nikkei Electronics, April 23, 1984, Nikkei McGraw-Hill, P. 100-105

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】プログラム記憶手段内に格納される上位機
種用の第1の命令コード群を解読する解読回路の制御に
より、各種のデータ処理を実行する演算処理装置を単一
半導体基板上に集積した半導体集積回路において、複数
の前記上位機種用の第1の命令コード群と下位機種用の
第2の命令コード群を蓄える記憶手段と、前記プログラ
ム記憶手段内の前記第1の命令コード群と前記第2の命
令コード群を前記記憶手段へ送出する命令読み出し手段
と、前記第1の命令コード群を実行する実行手段と、前
記第2の命令コード群から前記第1の命令コード群を生
成する命令コード変換手段と、前記記憶手段から送出さ
れた命令コード群が前記上位機種用の第1の命令コード
群である場合は該上位機種用の第1の命令コード群を選
択し、前記記憶手段から出力された命令コード群が前記
第2の命令コード群である場合は、前記第2の命令コー
ドを前記命令コード変換手段により生成された前記第1
の命令コード群を選択し前記実行手段に送出する選択手
段とを含み、前記プログラム記憶手段内の命令コード群
が前記第2の命令コード群である場合は、前記命令読み
出し手段による前記プログラム記憶手段内の前記第2の
命令コード群の前記記憶手段への格納処理と、前記命令
コード変換手段による前記第2の命令コードから前記第
1の命令コードへの変換処理と、前記実行手段による前
記第1の命令コードの実行処理とを並列に実行し、前記
プログラム記憶手段内の命令コード群が前記第1の命令
コード群である場合は、前記命令読み出し手段による前
記プログラム記憶手段内の前記第1の命令コード群の前
記記憶手段への格納処理と、前記実行手段による前記第
1の命令コードの実行処理とを並列に実行することを特
徴とする命令処理方式。
1. An arithmetic processing unit for executing various data processing is integrated on a single semiconductor substrate under the control of a decoding circuit for decoding a first instruction code group for a higher model stored in a program storage means. In the semiconductor integrated circuit described above, storage means for storing a plurality of first instruction code groups for the higher-order model and second instruction code groups for the lower-order model, and the first instruction code group in the program storage means. Instruction reading means for sending the second instruction code group to the storage means, execution means for executing the first instruction code group, and generation of the first instruction code group from the second instruction code group. If the instruction code conversion means for executing the instruction code conversion means and the instruction code group sent from the storage means are the first instruction code group for the higher-order model, the first instruction code group for the higher-order model is selected and stored. hand When the output instruction code group is the second instruction code group from the generated by the instruction code conversion means said second instruction code first
Selecting means for selecting and sending the instruction code group to the executing means, and when the instruction code group in the program storing means is the second instruction code group, the program storing means by the instruction reading means. Processing of storing the second instruction code group in the storage means, conversion processing of the second instruction code to the first instruction code by the instruction code conversion means, and the first processing by the execution means. If the instruction code group in the program storage means is the first instruction code group, the first instruction code in the program storage means by the instruction reading means is executed in parallel. Instruction processing for storing the instruction code group of 1) in the storage means and the execution processing of the first instruction code by the execution means in parallel. Formula.
JP60165177A 1985-07-25 1985-07-25 Instruction processing method Expired - Lifetime JPH07109589B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60165177A JPH07109589B2 (en) 1985-07-25 1985-07-25 Instruction processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60165177A JPH07109589B2 (en) 1985-07-25 1985-07-25 Instruction processing method

Publications (2)

Publication Number Publication Date
JPS6225334A JPS6225334A (en) 1987-02-03
JPH07109589B2 true JPH07109589B2 (en) 1995-11-22

Family

ID=15807313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60165177A Expired - Lifetime JPH07109589B2 (en) 1985-07-25 1985-07-25 Instruction processing method

Country Status (1)

Country Link
JP (1) JPH07109589B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0687755B2 (en) * 1989-12-22 1994-11-09 辻製油株式会社 Method for producing artificial feed with improved seawater resistance
JP2839730B2 (en) * 1991-02-25 1998-12-16 株式会社東芝 Emulation device and semiconductor device
GB2290395B (en) 1994-06-10 1997-05-28 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5758140A (en) * 1996-01-25 1998-05-26 International Business Machines Corporation Method and system for emulating instructions by performing an operation directly using special-purpose register contents

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS548415B2 (en) * 1974-09-11 1979-04-16
GB2002553A (en) * 1977-08-10 1979-02-21 Itek Corp High speed, real-time computer emulator
JPS598058A (en) * 1982-07-02 1984-01-17 Matsushita Electric Ind Co Ltd Microprocessor
JPS5999552A (en) * 1982-11-30 1984-06-08 Matsushita Electric Ind Co Ltd Microcomputer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経エレクトロニクス,1984年4月23日号,日経マグロウヒル社,P.100−105

Also Published As

Publication number Publication date
JPS6225334A (en) 1987-02-03

Similar Documents

Publication Publication Date Title
CA2074633C (en) Real-time, concurrent, multifunction digital signal processor subsystem for personal computers
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
JP2644780B2 (en) Parallel computer with processing request function
US4715013A (en) Coprocessor instruction format
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
JPH08505965A (en) Context switching device and method
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5021991A (en) Coprocessor instruction format
JPH1078889A (en) Microcomputer
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
EP0123337A2 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
JPH07287682A (en) Computer system
US8464016B2 (en) Method and device for switching over in a memory for a control device
US4914578A (en) Method and apparatus for interrupting a coprocessor
JPH03171231A (en) Micro computer system
JPH07109589B2 (en) Instruction processing method
US4994961A (en) Coprocessor instruction format
JP2826309B2 (en) Information processing device
JP2002014809A (en) Microprocessor and assembler and its method and recording medium with its program recorded
JPS62151938A (en) Instruction processing system
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0635800A (en) Microprocessor and data processing system using it
JPH0363822A (en) Computer control system