JPH1091429A - Information processing device - Google Patents
Information processing deviceInfo
- Publication number
- JPH1091429A JPH1091429A JP6813697A JP6813697A JPH1091429A JP H1091429 A JPH1091429 A JP H1091429A JP 6813697 A JP6813697 A JP 6813697A JP 6813697 A JP6813697 A JP 6813697A JP H1091429 A JPH1091429 A JP H1091429A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- architecture
- information processing
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】 複数の命令アーキテクチャをサポートするプ
ロセッサで、マイクロ命令や命令語の制御記憶や命令記
憶内での重複格納を排除する。
【解決手段】 処理対象命令のアーキテクチャモードを
保持するモードレジスタ、命令アーキテクチャモード毎
に、それぞれ命令処理に必要なセットアップデータを生
成する複数のセットアップデータ生成部(DS)、それ
ぞれ命令の実行順序を定めたシーケンスコード列を格納
する複数のシーケンス記憶(SS)を設ける。モードレ
ジスタにより、一つのDSを選択し、処理対象命令のセ
ットアップデータを得、該セットアップデータの一部を
SSアドレスとして一つのSSに入力して、当該SSか
ら該命令のシーケンスコード列を読み出し、該コード列
を制御記憶や命令記憶のアドレスとして目的のマイクロ
命令群や命令語群を得る。
(57) Abstract: A processor that supports a plurality of instruction architectures, and eliminates the control storage of microinstructions and instruction words and the redundant storage in instruction storage. A mode register for holding an architecture mode of an instruction to be processed, a plurality of setup data generation units (DS) for generating setup data required for instruction processing for each instruction architecture mode, and an execution order of each instruction are determined. A plurality of sequence memories (SS) for storing the sequence code sequences provided are provided. With the mode register, one DS is selected, setup data of the instruction to be processed is obtained, a part of the setup data is input to one SS as an SS address, and a sequence code sequence of the instruction is read from the SS, Using the code string as an address for control storage or instruction storage, a target microinstruction group or instruction word group is obtained.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、マイクロコード制
御あるいはハードウェアロジックにて命令処理を行う情
報処理装置に係わり、特に異なる命令アーキテクチャを
併せ持つマルチ命令アーキテクチャプロセッサに好適な
マイクロ命令や命令の読出し及び実行機構に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus for performing instruction processing by microcode control or hardware logic, and more particularly to reading and reading microinstructions and instructions suitable for a multi-instruction architecture processor having different instruction architectures. Regarding the execution mechanism.
【0002】[0002]
【従来の技術】従来のマイクロコードで命令処理を実現
している情報処理装置では、命令制御ユニットにて、主
記憶などから命令を読出し、解読した後、制御記憶に予
め格納されている該命令の処理機能を実現するマイクロ
命令(マイクロ命令データ)をマイクロコードの処理手
順に従い、順次一定手順で読み出し、該マイクロ命令を
制御記憶データレジスタに一旦セットし、該制御記憶デ
ータレジスタからマイクロ命令の実行を司る実行ユニッ
トに送出し、該実行ユニットに於いて該マイクロ命令の
複数のフィールドで指定された複数の動作を行なう方式
が一般的である。2. Description of the Related Art In a conventional information processing apparatus which implements instruction processing by microcode, an instruction control unit reads and decodes an instruction from a main memory or the like, and then stores the instruction stored in a control memory in advance. The microinstruction (microinstruction data) that realizes the processing function of (1) is sequentially read out according to a microcode processing procedure in a fixed procedure, the microinstruction is temporarily set in the control storage data register, and the microinstruction is executed from the control storage data register. Is generally sent to an execution unit that performs the operations described above, and the execution unit performs a plurality of operations specified by a plurality of fields of the microinstruction.
【0003】又、従来のマイクロコードで命令処理を実
現せずにハードウェアロジックにて命令処理を実現して
いる情報処理装置では、命令制御ユニットにて、主記憶
などに格納されている複数の命令で構成されたプログラ
ムコードの処理手順に従い、予め定められた手順で該プ
ログラムコードを構成している命令語を順次読み出し、
解読し、該解読された命令語の実行に必要なパラメータ
群を生成した上で、命令の実行を司る実行ユニットに送
出し、該実行ユニットに於いて前記パラメータ群で指定
された複数の動作を行なう方法が一般的である。In an information processing apparatus in which instruction processing is implemented by hardware logic without implementing instruction processing by conventional microcode, an instruction control unit stores a plurality of instructions stored in a main memory or the like. According to the processing procedure of the program code composed of instructions, sequentially read the instruction words constituting the program code in a predetermined procedure,
After decoding and generating a parameter group necessary for execution of the decoded instruction word, the command group is sent to an execution unit that is responsible for executing the instruction, and the execution unit executes a plurality of operations specified by the parameter group. This is generally done.
【0004】初めに、従来のマイクロコードで命令処理
を実現している情報処理装置のマイクロ命令読み出し実
行機構及びマルチ命令アーキテクチャプロセッサに適用
した場合の問題点について説明する。First, a description will be given of a problem in a case where the present invention is applied to a micro-instruction read-out execution mechanism and a multi-instruction architecture processor of an information processing apparatus which realizes conventional instruction processing using microcode.
【0005】図2は、従来のマイクロコードで命令処理
を実現している情報処理装置において、特に主記憶(以
下、MSという)200、命令制御ユニット(以下、I
Uという)210、制御記憶アドレスレジスタ(以下、
CSARという)250、制御記憶(以下、CSとい
う)260、制御記憶データレジスタ(以下、CSDR
という)270及び実行ユニット280(以下、EUと
いう)の関係を示すブロック図である。FIG. 2 shows a conventional information processing apparatus which implements instruction processing by using microcode, in particular, a main memory (hereinafter, referred to as MS) 200 and an instruction control unit (hereinafter, referred to as I).
U) 210, a control storage address register (hereinafter, referred to as a U)
CSAR) 250, control storage (hereinafter, referred to as CS) 260, control storage data register (hereinafter, CSDR)
FIG. 2 is a block diagram showing a relationship between the execution unit 270 and an execution unit 280 (hereinafter, referred to as EU).
【0006】MS200は命令群を格納している。IU
210は、該MS200から命令の読み出しを行ない、
該命令の解読を行なった後、該命令に対応する先頭のC
Sのマイクロ命令アドレス(以下、IUセットアップア
ドレスという)を作成してCSAR250に送出する。
なお、IU210の命令の読出し元はバッファ記憶ある
いは命令バッファ等であってもよい。CSAR250は
IU250から送られるIUセットアップアドレスを受
取り、セットした後、該セットされたCSの先頭アドレ
スを用いてCS260に対し読み出し要求を出す。CS
260は、該アドレスを用いて目的とするマイクロ命令
(マイクロ命令データ)を読み出し、CSDR270に
送出する。CSDR270は、CS260から送出され
たマイクロ命令をセットし、EU280に送出すると共
に、該マイクロ命令内の次に実行すべきマイクロ命令ア
ドレスを保持しているブランチアドレスフィールド(以
下、BAフィールドという)のデータをCSAR250
に送出する。CSAR250は、該マイクロ命令内のB
Aフィールドのデータをセットし、CS260に対する
読み出し要求の発行動作に戻る。以下、これの繰返しに
より、MS200から読み出されたそれぞれの命令語の
機能を実現するCS260内の複数のマイクロ命令から
構成されるマイクロコードが順次実行される。[0006] The MS 200 stores a group of instructions. IU
210 reads an instruction from the MS 200;
After decoding the instruction, the first C corresponding to the instruction is read.
A micro instruction address of S (hereinafter referred to as an IU setup address) is created and sent to the CSAR 250.
Note that the instruction read source of the IU 210 may be a buffer storage or an instruction buffer. CSAR 250 receives and sets the IU setup address sent from IU 250, and issues a read request to CS 260 using the set CS start address. CS
260 reads out the intended microinstruction (microinstruction data) using the address and sends it to the CSDR 270. The CSDR 270 sets the microinstruction sent from the CS260, sends it to the EU 280, and stores data in a branch address field (hereinafter, referred to as a BA field) holding a microinstruction address to be executed next in the microinstruction. CSAR250
To send to. CSAR 250 uses B in the microinstruction
The data in the A field is set, and the process returns to the operation of issuing a read request to the CS 260. Hereinafter, by repeating this, microcodes composed of a plurality of microinstructions in the CS 260 realizing the functions of the respective instruction words read from the MS 200 are sequentially executed.
【0007】一連の複数のマイクロ命令から構成される
マイクロコードの実行の終了は、マイクロコードを構成
する最後のマイクロ命令の動作終了フィールド(以下、
EOPフィールドという)の値をオンに設定することで
実現される。[0007] The end of the execution of a microcode composed of a series of a plurality of microinstructions is determined by an operation end field (hereinafter, referred to as an end field) of the last microinstruction constituting the microcode.
This is realized by setting the value of the EOP field to ON.
【0008】CS260から、マイクロ命令のEOPフ
ィールドの値がオンであるマイクロ命令が読み出される
と、CSDR270は、該マイクロ命令内の次に実行す
べきマイクロ命令アドレスを保持しているBAフィール
ドのデータをCSAR250に送出せず、前記EOPフ
ィールドの値をIU210に送出する。IU210は、
オンであるEOPフィールドの値を受け取ると、次命令
の読み出しを行い、その解読を行なった後、該命令に対
応する先頭のCSのマイクロ命令アドレス(IUセット
アップアドレス)を作成してCSAR250に送出し、
次命令のマイクロコードの実行を起動する。When a microinstruction whose EOP field value is on is read from CS 260, CSDR 270 reads the data in the BA field holding the next microinstruction address to be executed in the microinstruction. The value of the EOP field is sent to the IU 210 without sending it to the CSAR 250. IU 210
When the value of the EOP field which is ON is received, the next instruction is read, and after decoding, the micro instruction address (IU setup address) of the first CS corresponding to the instruction is created and transmitted to the CSAR 250. ,
Invokes the microcode execution of the next instruction.
【0009】図3は、IU210内の命令レジスタと命
令解読器とセットアップデータ生成器の構成を示したも
のである。IU210は、命令語の読み出し要求を主記
憶等に対して行ない、該読み出された命令語を命令レジ
スタ(以降、IRという)211にセットした後、命令
解読器(以降、IDECという)212に送出する。I
DEC212は、該命令語の命令コードを解読して、該
命令コードや命令フォーマット、他の命令解読結果をセ
ットアップデータ生成器(以降、DSという)213に
送出する。DS213は、該命令語の命令解読結果を元
にセットアップデータを生成し、EU280及びCSA
R250に送出する。該DS213からCSAR250
に送出されるIUセットアップデータは、実行の対象と
なる命令の先頭マイクロ命令アドレスであり、また、該
DS213からEU280に送出されるIUセットアッ
プデータは、実行の対象となる命令のオペランドアドレ
スやオペランドデータ及びマイクロコードの実行に必要
な制御情報などである。FIG. 3 shows the configuration of an instruction register, an instruction decoder, and a setup data generator in the IU 210. The IU 210 issues a read request for the instruction word to the main memory or the like, sets the read instruction word in an instruction register (hereinafter, referred to as IR) 211, and then sends it to an instruction decoder (hereinafter, referred to as IDEC) 212. Send out. I
The DEC 212 decodes the instruction code of the instruction word, and sends the instruction code, the instruction format, and the result of decoding other instructions to a setup data generator (hereinafter, referred to as DS) 213. The DS 213 generates the setup data based on the command decoding result of the command, and the EU 213 and the CSA
Send to R250. DS213 to CSAR250
Is the head microinstruction address of the instruction to be executed, and the IU setup data transmitted from the DS 213 to the EU 280 is the operand address or operand data of the instruction to be executed. And control information necessary for executing the microcode.
【0010】DS213は一般的には各命令コードをア
ドレスパラメータとする記憶装置で構成され、当該プロ
セッサ(情報処理装置)の命令アーキテクチャでサポー
トされているそれぞれの命令語に対応したIUセットア
ップデータ群を予め記憶装置内に格納しておき、前記I
Uセットアップデータの生成は、該記憶装置を読み出す
ことで行われる。The DS 213 generally includes a storage device using each instruction code as an address parameter, and stores an IU setup data group corresponding to each instruction word supported by the instruction architecture of the processor (information processing device). It is stored in a storage device in advance, and the I
Generation of the U setup data is performed by reading the storage device.
【0011】図4は、従来のこの種マイクロコードで命
令処理を実現している情報処理装置での複数のマイクロ
命令から構成されるマイクロコードの実行手順と複数の
マイクロ命令のつながりを示した図である。FIG. 4 is a diagram showing a connection between a procedure of executing microcode composed of a plurality of microinstructions and a plurality of microinstructions in a conventional information processing apparatus which implements instruction processing with this kind of microcode. It is.
【0012】図2および図3で説明したように、IU2
10は、命令の読み出し、その解読を行なった後、該命
令の先頭マイクロ命令アドレスに対応するIUセットア
ップアドレスを作成し、CSAR250に送出してセッ
トする。該CSAR250にセットされたIUセットア
ップアドレスを用いて、CS260から第1マイクロ命
令が読み出され、CSDR270にセットされる。該第
1マイクロ命令のBAフィールドは、次に実行すべき第
2マイクロ命令のCSアドレスを保持している。該第1
マイクロ命令のBAフィールドをCSAR250に送出
してセットし、該BAフィールドのアドレスを用いて第
2マイクロ命令をCS260から読み出す。ここで、第
2マイクロ命令以降のマイクロ命令のCS260からの
読み出しには、前記IUセットアップアドレスは使用さ
れない。前記第1マイクロ命令のBAフィールドを用い
てCS260から読み出され、CSDR270にセット
された第2マイクロ命令のBAフィールドは、同様に、
次に実行すべき第3マイクロ命令のCSアドレスを保持
しており、該第2マイクロ命令のBAフィールドをCS
AR250に送出してセットし、第3マイクロ命令をC
S260から読み出す。As described with reference to FIGS. 2 and 3, IU2
10 reads and decodes the instruction, creates an IU setup address corresponding to the head microinstruction address of the instruction, and sends it to the CSAR 250 for setting. Using the IU setup address set in the CSAR 250, the first microinstruction is read from the CS 260 and set in the CSDR 270. The BA field of the first microinstruction holds the CS address of the second microinstruction to be executed next. The first
The BA field of the microinstruction is sent to the CSAR 250 for setting, and the second microinstruction is read from the CS 260 using the address of the BA field. Here, the IU setup address is not used for reading micro instructions from the CS 260 after the second micro instruction. The BA field of the second microinstruction, read from CS 260 using the BA field of the first microinstruction and set in CSDR 270, is
It holds the CS address of the third microinstruction to be executed next, and sets the BA field of the second microinstruction to CS
It is sent to AR250 and set, and the third microinstruction is set to C
Read from S260.
【0013】以上の動作を繰り返して、第nマイクロ命
令がCS260から読み出され、CSDR270にセッ
トされたとする。該CSDR270にセットされた第n
マイクロ命令のBAフィールドは、次に実行すべき第n
+1のマイクロ命令のCSのアドレスを保持しており、
該第nマイクロ命令のBAフィールドをCSAR250
に送出してセットし、第n+1マイクロ命令をCS26
0から読み出し、CSDR270にセットする。図3の
例では、該第n+1マイクロ命令は、一連の複数のマイ
クロ命令から構成されるマイクロコード処理手順の最後
のマイクロ命令である。この最後のマイクロ命令のEO
Pフィールドの値はオンが設定されているので、CSD
R270は、該マイクロ命令の次に実行すべきマイクロ
命令アドレスを保持しているBAフィールドをCSAR
250には送出せず、前記オンであるEOPフィールド
の値をIU210に送出し、IU210の次命令の読み
出しと解読動作を起動する。It is assumed that the above operation is repeated and the n-th micro instruction is read from CS 260 and set in CSDR 270. The n-th set in the CSDR 270
The BA field of the microinstruction contains the nth
Holds the CS address of the +1 microinstruction,
The BA field of the n-th microinstruction is stored in CSAR 250
, And sets the (n + 1) th micro instruction to CS26.
Read from 0 and set to CSDR 270. In the example of FIG. 3, the (n + 1) th microinstruction is the last microinstruction of the microcode processing procedure composed of a series of a plurality of microinstructions. EO of this last microinstruction
Since the value of the P field is set to ON, the CSD
R270 stores a BA field holding a microinstruction address to be executed next to the microinstruction in CSAR.
The value of the EOP field, which is ON, is transmitted to the IU 210 instead of being transmitted to the IU 210, and the operation of reading and decoding the next instruction of the IU 210 is started.
【0014】図5は、従来のマイクロコードで命令処理
を実現している情報処理装置において、1つの命令機能
が複数のマイクロ命令から構成されるマイクロコード処
理手順で構成される場合の個々のマイクロ命令のCS内
での記述例を示した図である。FIG. 5 shows a conventional information processing apparatus which implements instruction processing by using microcode. In the information processing apparatus, each instruction function is constituted by a microcode processing procedure comprising a plurality of microinstructions. FIG. 9 is a diagram illustrating an example of a description of an instruction in a CS.
【0015】図5の(1)は、主記憶の2つの記憶領域
間のデータ移動を行なう機能を持つ命令Aを、複数のマ
イクロ命令機能の組合せで実現した場合の記述例であ
る。なお、最初のアドレスaaはIUのセットアップで
指定されるものである。FIG. 5A shows an example of a description in the case where the instruction A having a function of moving data between two storage areas of the main memory is realized by a combination of a plurality of microinstruction functions. The first address aa is specified in the setup of the IU.
【0016】アドレスaa : マイクロ命令BOP
は、IUからセットアップされる命令実行の開始に必要
な命令語のオペランドのパラメータをEU内のハードウ
ェアに設定させる。本例では、データの移動元及び移動
先の主記憶内の記憶領域アドレスとデータの長さが、I
Uセットアップデータである命令語のオペランドのパラ
メータとしてEU内のハードウェアに設定される。その
後、アドレスabに分岐する。Address aa: Micro instruction BOP
Causes the hardware in the EU to set the operand parameter of the instruction word required to start the instruction execution set up from the IU. In this example, the address of the storage area in the main memory at the source and destination of the data and the length of the data are I
It is set in hardware in the EU as a parameter of an operand of an instruction word that is U setup data. Thereafter, the process branches to the address ab.
【0017】アドレスab : マイクロ命令CCは、
EU内のハードウェアであるカウンタをクリアする。そ
の後、アドレスacに分岐する。Address ab: The micro instruction CC is
Clear the counter, which is hardware in the EU. Thereafter, the process branches to the address ac.
【0018】アドレスac : マイクロ命令Lは、ア
ドレスaaのマイクロ命令BOPでEU内のハードウェ
アにセットアップされたデータの主記憶内の移動元記憶
領域アドレスを用いて、指定された記憶データをEU内
のハードウェアレジスタにロードする。その後、アドレ
スadに分岐する。Address ac: The micro-instruction L transfers specified storage data in the EU using the source storage area address in the main storage of data set up in hardware in the EU by the micro-instruction BOP at the address aa. Load the hardware registers of Thereafter, the process branches to the address ad.
【0019】アドレスad : マイクロ命令STは、
アドレスaaのマイクロ命令BOPによりEU内のハー
ドウェアにセットアップされたデータの主記憶内の移動
先記憶領域アドレスを用いて、EU内のハードウェアレ
ジスタにアドレスacのマイクロ命令Lでロードされた
データを、該指定された主記憶内の記憶領域にストアす
る。その後、アドレスaeに分岐する。Address ad: The micro instruction ST is
Using the destination storage area address in the main memory of the data set up in the hardware in the EU by the microinstruction BOP at the address aa, the data loaded by the microinstruction L at the address ac into the hardware register in the EU is used. , In the designated main storage area. Thereafter, the process branches to the address ae.
【0020】アドレスae : マイクロ命令MCは、
EU内のハードウェアである転送済みデータ長を保持し
ているカウンタを、アドレスadのマイクロ命令STで
ストアされたデータ長の値を用いて更新する。その後、
アドレスafに分岐する。Address ae: The micro instruction MC is
The counter holding the transferred data length, which is hardware in the EU, is updated using the value of the data length stored by the microinstruction ST at the address ad. afterwards,
Branch to address af.
【0021】アドレスaf : マイクロ命令TCは、
アドレスaeのマイクロ命令MCで更新されたEU内の
ハードウェアである転送済みデータ長を保持しているカ
ウンタとアドレスaaのマイクロ命令BOPでEU内の
ハードウェアレジスタに設定された命令語のオペランド
で指定されたデータの長さとを比較する。その後、アド
レスagに分岐する。Address af: The micro instruction TC is
A counter holding the transferred data length, which is the hardware in the EU updated by the microinstruction MC at the address ae, and the operand of the instruction word set in the hardware register in the EU by the microinstruction BOP at the address aa Compares with the specified data length. Thereafter, the process branches to the address ag.
【0022】アドレスag : マイクロ命令BCは、
アドレスafのマイクロ命令TCでの比較の結果を調
べ、該比較結果が一致であればアドレスakに分岐し、
不一致であれば通常の実行順であるアドレスahに分岐
する。Address ag: The micro instruction BC is
The result of the comparison at the micro-instruction TC at the address af is checked, and if the comparison result matches, the process branches to the address ak,
If they do not match, branch to address ah, which is the normal order of execution.
【0023】アドレスah : マイクロ命令MAは、
アドレスacのマイクロ命令Lで使用したところのEU
内のハードウェアに保持されているデータの主記憶内の
移動元記憶領域アドレスを次の主記憶内の移動元記憶領
域アドレスに更新する。その後、アドレスaiに分岐す
る。Address ah: The micro instruction MA is
EU used in microinstruction L at address ac
Update the source storage area address in the main storage of the data held in the hardware in the next to the source storage area address in the next main storage. Thereafter, the process branches to the address ai.
【0024】アドレスai : マイクロ命令MAは、
アドレスadのマイクロ命令STで使用したところのE
U内のハードウェアに保持されているデータの主記憶内
の移動先記憶領域アドレスを次の主記憶内の移動先記憶
領域アドレスに更新する。その後、アドレスajに分岐
する。Address ai: The microinstruction MA is
E used in micro instruction ST of address ad
The destination storage area address in the main storage of the data held in the hardware in U is updated to the next destination storage area address in the main storage. Thereafter, the process branches to the address aj.
【0025】アドレスaj : マイクロ命令BCは、
このステップでは、無条件にアドレスacに分岐させる
用途に使用される。したがって、アドレスacに分岐
し、その後、アドレスagのマイクロ命令BCで一致が
検出されるまで、アドレスac〜ajをループする。Address aj: The micro instruction BC is
This step is used for unconditionally branching to the address ac. Therefore, the process branches to the address ac, and then loops through the addresses ac to aj until a match is detected in the microinstruction BC at the address ag.
【0026】アドレスak : マイクロ命令EOP
は、現在実行している命令機能を構成する複数のマイク
ロ命令の処理手順の実行の終了を示し、現在実行してい
る命令の次の命令の実行の開始に必要なオペランドのパ
ラメータをEU内のハードウェアにセットアップさせる
ため、IUからEUに対するセットアップ動作を起動す
る。このステップでのマイクロ命令での分岐動作は無
い。Address ak: Micro instruction EOP
Indicates the end of the execution of the processing procedure of a plurality of microinstructions constituting the currently executed instruction function, and sets the parameter of the operand necessary for starting the execution of the instruction following the currently executed instruction in the EU. In order to have the hardware set up, the IU initiates a setup operation for the EU. There is no branch operation by the microinstruction in this step.
【0027】図5の(2)は、主記憶の2つの記憶領域
間のデータ排他的論理和を行う機能を持つ命令Bを、複
数のマイクロ命令機能の組合せで実現した場合の記述例
である。ここでも、最初のアドレスbaはIUのセット
アップアドレスで指定される。FIG. 5B shows a description example in the case where the instruction B having the function of performing a data exclusive OR between two storage areas of the main storage is realized by a combination of a plurality of microinstruction functions. . Again, the first address ba is specified by the IU setup address.
【0028】アドレスba : マイクロ命令BOP
は、IUからセットアップされる命令実行の開始に必要
な命令語のオペランドのパラメータをEU内のハードウ
ェアに設定させる。本例では、第1データの読み出し元
と第2データの読み出し元及び格納先の主記憶内の記憶
領域アドレスとデータの長さが、IUセットアップデー
タである命令語のオペランドのパラメータとしてEU内
のハードウェアに設定される。その後、アドレスbbに
分岐する。Address ba: micro instruction BOP
Causes the hardware in the EU to set the operand parameter of the instruction word required to start the instruction execution set up from the IU. In this example, the address of the storage area in the main memory of the read source of the first data and the read source and the storage destination of the second data and the length of the data are the parameters of the operand of the instruction word which is the IU setup data in the EU. Set in hardware. Thereafter, the process branches to the address bb.
【0029】アドレスbb : マイクロ命令CCは、
EU内のハードウェアであるカウンタをクリアする。そ
の後、アドレスbcに分岐する。Address bb: The micro instruction CC is
Clear the counter, which is hardware in the EU. Thereafter, the process branches to the address bc.
【0030】アドレスbc : マイクロ命令Lは、ア
ドレスbaのマイクロ命令BOPでEU内のハードウェ
アにセットアップされた第1データの主記憶内の読み出
し元記憶領域アドレスを用いて、指定された記憶データ
(第1データ)をEU内のハードウェアレジスタにロー
ドする。その後、アドレスbdに分岐する。Address bc: The micro-instruction L is the designated storage data (using the read-source storage area address in the main memory of the first data set up in the hardware in the EU by the micro-instruction BOP at the address ba). First data) is loaded into a hardware register in the EU. Thereafter, the process branches to the address bd.
【0031】アドレスbd : マイクロ命令Lは、ア
ドレスbaのマイクロ命令BOPでEU内のハードウェ
アに設定された第2データの読み出し元及び格納先の記
憶領域アドレスを用いて、指定された記憶データ(第2
データ)をEU内のハードウェアレジスタにロードす
る。その後、アドレスbeに分岐する。Address bd: The micro-instruction L is the storage data (specified by the micro-instruction BOP of the address ba) using the storage area address of the read source and the storage destination of the second data set in the hardware in the EU in the micro instruction BOP of the address ba. Second
Data) into a hardware register in the EU. Thereafter, the process branches to the address be.
【0032】アドレスbe : マイクロ命令XRは、
アドレスbcのマイクロ命令LでEU内のハードウェア
レジスタにロードされた第1データとアドレスbdのマ
イクロ命令LでEU内のハードウェアレジスタにロード
された第2データの排他的論理和をとり、結果をEU内
のハードウェアレジスタに置く。その後、アドレスbf
に分岐する。Address be: The micro instruction XR is
The exclusive OR of the first data loaded into the hardware register in the EU with the microinstruction L at the address bc and the second data loaded into the hardware register in the EU with the microinstruction L at the address bd is obtained. In a hardware register in the EU. Then, the address bf
Branch to
【0033】アドレスbf : マイクロ命令STは、
アドレスbaのマイクロ命令BOPでEU内のハードウ
ェアにセットアップされた第2データの主記憶内の読み
出し元及び格納先の記憶領域アドレスを用いて、アドレ
スbeのマイクロ命令XRで得られEU内のハードウェ
アレジスタに置かれた排他的論理和の結果を、主記憶内
の該指定された記憶領域にストアする。Address bf: The micro instruction ST is
Using the storage area addresses of the read source and the storage destination in the main memory of the second data set up in the hardware in the EU by the microinstruction BOP at the address ba, the hardware in the EU obtained by the microinstruction XR at the address be The result of the exclusive OR placed in the wear register is stored in the specified storage area in the main storage.
【0034】その後、アドレスbgに分岐する。Thereafter, the flow branches to the address bg.
【0035】アドレスbg : マイクロ命令MCは、
EU内のハードウェアである処理済みデータ長を保持し
ているカウンタをアドレスbfのマイクロ命令STでス
トアされたデータ長の値を用いて更新する。その後、ア
ドレスbhに分岐する。Address bg: The micro instruction MC is
The counter holding the processed data length, which is hardware in the EU, is updated using the value of the data length stored by the microinstruction ST at the address bf. Thereafter, the process branches to the address bh.
【0036】アドレスbh : マイクロ命令TCは、
アドレスbgのマイクロ命令MCで更新されたEU内の
ハードウェアである処理済みデータ長を保持しているカ
ウンタと、アドレスbaのマイクロ命令BOPでEU内
のハードウェアにセットアップされたデータの長さとを
比較する。その後、アドレスbiに分岐する。Address bh: The micro instruction TC is
The counter holding the processed data length, which is the hardware in the EU updated by the microinstruction MC at the address bg, and the length of the data set up in the hardware in the EU by the microinstruction BOP at the address ba Compare. Thereafter, the process branches to the address bi.
【0037】アドレスbi : マイクロ命令BCは、
アドレスbhのマイクロ命令TCでの比較の結果を調
べ、該比較結果が一致であればアドレスbmに分岐し、
不一致であれば通常の実行順番であるアドレスbcに分
岐する。Address bi: The micro instruction BC is
The result of the comparison at the microinstruction TC of the address bh is checked, and if the comparison result matches, the process branches to the address bm,
If they do not match, branch to address bc, which is the normal execution order.
【0038】アドレスbj : マイクロ命令MAは、
アドレスbcのマイクロ命令Lで使用したEU内のハー
ドウェアに保持されている第1データの主記憶内の読み
出し元記憶領域アドレスを、次の読み出し元記憶領域ア
ドレスに更新する。その後、アドレスbkに分岐する。Address bj: The micro instruction MA is
The read source storage area address in the main storage of the first data held in the hardware in the EU used by the microinstruction L at the address bc is updated to the next read source storage area address. Thereafter, the process branches to the address bk.
【0039】アドレスbk : マイクロ命令MAは、
アドレスbdのマイクロ命令L及びアドレスbfのマイ
クロ命令STで使用したEU内のハードウェアに保持さ
れている主記憶内の第2データの読み出し元及び格納先
の記憶領域アドレスを、次の読み出し元及び格納先記憶
領域アドレスに更新する。その後、アドレスblに分岐
する。Address bk: The micro instruction MA is
The storage area addresses of the read source and the storage destination of the second data in the main memory held in the hardware in the EU used in the microinstruction L of the address bd and the microinstruction ST of the address bf are changed to the next read source and Update to the storage destination storage area address. Thereafter, the process branches to the address bl.
【0040】アドレスbl : マイクロ命令BCは、
このステップでは無条件にアドレスbcに分岐させる用
途に使用される。したがって、アドレスbcに分岐し、
その後、アドレスbiのマイクロ命令BCで一致が検出
されるまで、アドレスbc〜blをループする。Address bl: The micro instruction BC is
This step is used for unconditionally branching to the address bc. Therefore, branch to address bc,
Thereafter, the address bc to bl are looped until a match is detected by the microinstruction BC at the address bi.
【0041】アドレスbm : マイクロ命令EOP
は、現在実行している命令機能を構成する複数のマイク
ロ命令の処理手順の実行の終了を示し、現在実行してい
る命令の次の命令の実行の開始に必要なオペランドのパ
ラメータをEU内のハードウェアにセットアップさせる
ため、IUからのセットアップ動作を起動する。このス
テップでのマイクロ命令での分岐動作は無い。Address bm: Micro instruction EOP
Indicates the end of the execution of the processing procedure of a plurality of microinstructions constituting the currently executed instruction function, and sets the parameter of the operand necessary for starting the execution of the instruction following the currently executed instruction in the EU. The setup operation from the IU is started to make the hardware set up. There is no branch operation by the microinstruction in this step.
【0042】以上述べた如く、従来技術のマイクロコー
ドで命令処理を実現している情報処理装置においては、
命令機能を複数のマイクロ命令の複数の機能を組み合わ
せて実現した場合、同一マイクロ命令を異なるCSアド
レス上に複数個格納しておく必要があった。例えば、図
5に示すごとく、記憶領域間のデータ移動を行なう機能
を持つ命令Aと記憶領域間のデータの排他的論理和を行
なう機能を持つ命令Bを、それぞれ複数のマイクロ命令
機能の組合せで実現した場合、BOP,CC,ST,M
C,TC,EOPなるマイクロ命令は2ヵ所で使用さ
れ、Lなるマイクロ命令は3ヵ所で使用され、そして、
BCとMAなるマイクロ命令は4ヵ所で使用される。つ
まり、10種類のマイクロ命令が22ヵ所の異なるCS
アドレス上に重複して格納されている。As described above, in the information processing apparatus which realizes the instruction processing by the microcode of the prior art,
When an instruction function is realized by combining a plurality of functions of a plurality of micro-instructions, it is necessary to store a plurality of the same micro-instructions on different CS addresses. For example, as shown in FIG. 5, an instruction A having a function of performing data movement between storage areas and an instruction B having a function of performing an exclusive OR of data between storage areas are each combined with a plurality of microinstruction functions. If realized, BOP, CC, ST, M
The microinstructions C, TC, and EOP are used in two places, the microinstruction L is used in three places, and
The micro-instructions BC and MA are used in four places. In other words, 10 types of micro-instructions have 22 different CSs
The address is duplicated and stored.
【0043】情報処理装置の命令語が通常、数百命令か
らなることを考慮すると、同一マイクロ命令を異なるC
Sアドレス上に重複して格納することは、マイクロ命令
の種類数と比較して極めて大容量のCSが要求されると
いう結果をもたらす。Considering that the instruction word of the information processing apparatus usually consists of several hundred instructions, the same microinstruction can be replaced by a different C instruction.
Duplicate storage on the S address results in the requirement of a very large CS as compared to the number of microinstruction types.
【0044】この大容量のCSの設置の要求は、情報処
理装置が使用するマイクロ命令の語長が、通常の情報処
理装置が使用する機械語レベルの命令語長と比較して極
めて長いため、物理的なCSのサイズの増大を招くこと
になり、この物理的なCSのサイズの増大は、複数のメ
モリチップを用いてCSを構成せざるを得ないという結
果をもたらし、CSを複数のメモリチップを用いて構成
する事は、情報処理装置のハードウェアによるCSに対
するアクセス時間の増大に直結し、このCSに対するア
クセス時間の増大は、マイクロコード制御で命令処理を
行なう情報処理装置の性能を向上を図る上で無視しえな
い重要な問題である。The requirement for installing a large-capacity CS is that the word length of a microinstruction used by an information processing device is much longer than the instruction word length at the machine language level used by a normal information processing device. This causes an increase in the size of the physical CS, and this increase in the size of the physical CS results in the necessity of configuring the CS using a plurality of memory chips, and the The configuration using chips directly leads to an increase in the access time to the CS by the hardware of the information processing device, and the increase in the access time to the CS improves the performance of the information processing device that performs instruction processing under microcode control. This is an important issue that cannot be ignored when planning.
【0045】更に、単一プロセッサで複数の命令アーキ
テクチャを持つマイクロコードで命令処理を実現する情
報処理装置を実現する場合には、前記の極めて大容量の
CSが要求されるという問題が数倍のレンジで問題化
し、プロセッサのチップ面積の物理的制約から現実とし
て単一プロセッサで複数の命令アーキテクチャを持つマ
イクロコードで命令処理を実現する情報処理装置の実用
化を阻んでおり、これは無視し得ない非常に重大な技術
的障壁であった。Further, in the case of realizing an information processing device which realizes instruction processing by microcode having a plurality of instruction architectures with a single processor, the problem that the above-mentioned extremely large capacity CS is required is several times. In reality, the physical limitations on the chip area of the processor have hindered the practical application of information processing equipment that implements instruction processing using microcode with multiple instruction architectures on a single processor, which can be ignored. There were no very serious technical barriers.
【0046】次に、従来のハードウェアロジックにて命
令処理を実現している情報処理装置の命令読出し実行機
構及びマルチ命令アーキテクチャプロセッサに適用した
場合の問題点について説明する。Next, a description will be given of a problem in the case where the present invention is applied to a multi-instruction architecture processor and an instruction reading and executing mechanism of an information processing apparatus which implements instruction processing by conventional hardware logic.
【0047】図9は、従来のハードウェアロジックにて
命令処理を実現する情報処理装置における命令の読出し
及び解読それに命令語の実行に必要なパラメータ群を生
成するIUの構成例を示したブロック図である。FIG. 9 is a block diagram showing an example of the configuration of an IU for reading and decoding instructions and generating a parameter group necessary for executing an instruction word in an information processing apparatus which implements instruction processing by conventional hardware logic. It is.
【0048】図9において、IU910は、命令語の読
み出し要求を主記憶等に行い、該読み出された命令語を
IR911にセットした後、IDEC912に送出す
る。IDEC912は、該命令語の命令コードを解読し
て、該命令コードや命令フォーマット、他の命令解読結
果をDS913に送出する。DS913は、該命令の命
令解読結果を元にセットアップデータを生成し、EUに
送出する。該DS913からEUに送出されるIUセッ
トアップデータは、実行の対象となる命令のオペランド
アドレスやオペランドデータ及び命令の実行に必要な命
令実行タイプや命令実行手順の指定などである。In FIG. 9, the IU 910 makes a request to read an instruction word in the main memory or the like, sets the read instruction word in the IR 911, and sends it to the IDEC 912. The IDEC 912 decodes the instruction code of the instruction word, and sends the instruction code, the instruction format, and other instruction decryption results to the DS 913. The DS 913 generates setup data based on the command decoding result of the command, and sends the setup data to the EU. The IU setup data sent from the DS 913 to the EU includes the operand address and operand data of the instruction to be executed, and the designation of the instruction execution type and instruction execution procedure required for the execution of the instruction.
【0049】DS913は、一般的には各命令語の命令
コードをアドレスパラメータとする記憶装置で構成され
るか又は各命令語の命令コードを入力データとするエン
コード論理回路から成るエンコーダで構成される。各命
令語の命令コードをアドレスパラメータとする記憶装置
で構成される場合、当該命令プロセッサ(情報処理装
置)の命令アーキテクチャでサポートされているそれぞ
れの命令語に対応したIUセットアップデータ群を予め
記憶装置内に格納しておき、前記IUセットアップデー
タの生成は、該記憶装置を読み出すことで行われる。ま
た、各命令語の命令コードを入力データとするエンコー
ド論理回路から成るエンコーダで構成される場合、当該
命令プロセッサの命令アーキテクチャでサポートされて
いるそれぞれの命令語に対応したIUセットアップデー
タ群を出力するようエンコード論理回路を構成してお
き、前記IUセットアップデータの生成は、前記エンコ
ーダの出力をそのままIUセットアップデータとして使
用することで行われる。The DS 913 is generally constituted by a storage device using an instruction code of each instruction word as an address parameter or by an encoder comprising an encoding logic circuit using the instruction code of each instruction word as input data. . In the case of a storage device having an instruction code of each instruction word as an address parameter, an IU setup data group corresponding to each instruction word supported by the instruction architecture of the instruction processor (information processing device) is stored in advance in the storage device. The IU setup data is generated by reading out the storage device. In the case where the encoder is constituted by an encoder composed of an encoding logic circuit using the instruction code of each instruction word as input data, an IU setup data group corresponding to each instruction word supported by the instruction architecture of the instruction processor is output. The encoding logic circuit is configured as described above, and the generation of the IU setup data is performed by directly using the output of the encoder as the IU setup data.
【0050】図10は、情報処理装置が単一な命令アー
キテクチャの命令処理を行う場合の情報処理装置とその
上で動作するオペレーティングシステムとアプリケーシ
ョンプログラムの構成とそれぞれの関係を示した図であ
る。図10において、情報処理装置である命令プロセッ
サ(以降、IPという)1010の上では、IPが基本
的にサポートしている命令アーキテクチャから成るオペ
レーティングシステム(以降、OSという)1020と
このOS1020の制御の元で前述の命令アーキテクチ
ャから成る任意の数のアプリケーションプログラム(以
降、APGMという)1030が動作している。これ
が、情報処理装置の基本的な運用形態の構成である。FIG. 10 is a diagram showing the relationship between the configuration of an information processing apparatus, an operating system operating thereon, and an application program when the information processing apparatus performs instruction processing of a single instruction architecture. In FIG. 10, on an instruction processor (hereinafter, referred to as IP) 1010, which is an information processing apparatus, an operating system (hereinafter, referred to as OS) 1020 having an instruction architecture basically supported by IP and control of the OS 1020 An arbitrary number of application programs (hereinafter, referred to as APGM) 1030 having the above-described instruction architecture are operating. This is the configuration of the basic operation mode of the information processing apparatus.
【0051】図11は、情報処理装置の上で動作するO
SとAPGMが、IPが基本的にサポートしている命令
アーキテクチャとは異なる複数の命令アーキテクチャを
持つ場合の、IPとその上で動作するOSとAPGMの
構成とそれぞれの関係を示した図である。FIG. 11 shows an O operating on the information processing apparatus.
FIG. 6 is a diagram illustrating the relationship between an IP, an OS operating on the IP, and the configuration of an APGM when S and the APGM have a plurality of instruction architectures different from the instruction architecture basically supported by the IP; .
【0052】一般的に、単一のIP上で複数の異なる命
令アーキテクチャを持つ命令を使用するOSを動作させ
る方法として仮想計算機(以降、VMという)と呼ばれ
る手法が用いられる。VMを単一のIP上で実現する為
に、仮想計算機制御プログラム(以降、ハイパバイザ又
はVMCPという)と呼ばれるプログラムをIP上で動
作させ、このハイパバイザの制御の下で複数の異なる命
令アーキテクチャを持つVMを生成し、更に、この各々
のVMの上で異なる命令アーキテクチャの命令を使用す
る独立したOSを動作させる。従ってハイパバイザに
は、単一のIPのハ−ドウェア資源を各々のVMに共用
させて使用させる機能及び異なる命令アーキテクチャの
命令を実行する機能が付加されている。Generally, a method called a virtual machine (hereinafter referred to as a VM) is used as a method of operating an OS using instructions having a plurality of different instruction architectures on a single IP. In order to implement a VM on a single IP, a program called a virtual machine control program (hereinafter referred to as a hypervisor or a VMCP) is operated on the IP, and a VM having a plurality of different instruction architectures under the control of the hypervisor. And run an independent OS using instructions of different instruction architectures on each of the VMs. Therefore, the hypervisor is provided with a function of sharing a single IP hardware resource with each VM and using the same, and a function of executing instructions of different instruction architectures.
【0053】図11において、IP1140の上では、
IPが基本的にサポートしている命令アーキテクチャの
タイプがaから成るハイパバイザ1130が動作してお
り、このハイパバイザ1130の上では、命令アーキテ
クチャのタイプがaであるOSa1120と命令アーキ
テクチャのタイプがbであるOSb1121及び命令ア
ーキテクチャのタイプがcであるスタンドアロンタイプ
のアプリケーションプログラム群であるAPGM群c1
125が動作している。また、OSa1120の上で
は、命令アーキテクチャのタイプがaであるAPGM群
a1110が動作し、OSb1111の上では、命令ア
ーキテクチャのタイプがbであるAPGM群ba111
1が動作している。In FIG. 11, on the IP 1140,
The hypervisor 1130 whose instruction architecture type basically supported by the IP consists of a is operating. On this hypervisor 1130, the OSa 1120 whose instruction architecture type is a and the instruction architecture type are b. The OSb 1121 and an APGM group c1 which is a stand-alone type application program group whose instruction architecture type is c
125 is operating. On the OSa 1120, the APGM group a1110 whose instruction architecture type is a operates, and on the OSb1111, the APGM group ba111 whose instruction architecture type is b.
1 is working.
【0054】ハイパバイザ1130の上で、命令アーキ
テクチャのタイプがaであるOSa1120とAPGM
群a1110が動作する場合は、OSa1120とAP
GM群a1110が発行する殆どの命令は、IP111
10によって直接実行が可能であり、直接実行が不可能
なものは割り込み処理とハードウェア資源に影響を及ぼ
す一部の命令である。直接実行が不可能な前記の処理
は、割り込みの1つの形態であるインターセプションな
る手段を用いて制御をハイパバイザ1130に渡し、ハ
イパバイザ1130のシミュレーション機能によってシ
ミュレートされる事で実現される。On the hypervisor 1130, the OSa 1120 whose instruction architecture type is a and the APGM
When the group a1110 operates, the OSa1120 and the AP
Most of the instructions issued by the GM group a1110 are IP111
10 are directly executable, but not directly executable are some instructions that affect interrupt handling and hardware resources. The above-described processing that cannot be directly executed is realized by passing control to the hypervisor 1130 using a means of interception, which is a form of interrupt, and simulating the control by the simulation function of the hypervisor 1130.
【0055】ハイパバイザ1130の上で、命令アーキ
テクチャのタイプがbであるOSb1121とAPGM
群b1111が動作する場合は、OSb1121とAP
GM群b1111が発行する全ての命令と割り込みのI
P1140による直接実行は不可能であり、直接実行が
不可能な前記の処理は、インターセプションなる手段を
用いて制御をハイパバイザ1130に渡し、ハイパバイ
ザ1130のシミュレーション機能によってシミュレー
トされる事で実現される。同様に、ハイパバイザ113
0の上で、命令アーキテクチャのタイプがcであるAP
GM群c1125が動作する場合も、APGM群c11
25が発行する全ての命令と割り込みのIP1140に
よる直接実行は不可能であり、インターセプションなる
手段を用いて制御をハイパバイザ1130に渡し、ハイ
パバイザ1130のシミュレーション機能によってシミ
ュレートされる事で実現される。On the hypervisor 1130, the OSb 1121 whose instruction architecture type is b and the APGM
When the group b1111 operates, the OSb1121 and the AP
All instructions issued by GM group b1111 and I of interrupt
The above-described processing that cannot be directly executed by P1140 and cannot be directly executed is realized by passing control to the hypervisor 1130 by using a means of interception and simulating by the simulation function of the hypervisor 1130. . Similarly, the hypervisor 113
0, the AP whose instruction architecture type is c
When the GM group c1125 operates, the APGM group c11
It is impossible to directly execute all instructions and interrupts issued by the IP 25 by the IP 1140, and control is passed to the hypervisor 1130 using a means of interception, and the control is simulated by the simulation function of the hypervisor 1130.
【0056】次に、図12と図13を用いて、従来のハ
ードウエァロジックにて命令処理を実現している情報処
理装置において、ハイパバイザのシミュレータ又はイン
タプリタが異なる命令アーキテクチャの命令を実行する
場合の実現方法と構成を説明する。Next, referring to FIG. 12 and FIG. 13, in a conventional information processing apparatus which implements instruction processing by hardware logic, a simulator or interpreter of a hypervisor executes instructions of different instruction architectures. An implementation method and configuration will be described.
【0057】図12は、命令アーキテクチャbのプログ
ラムを命令アーキテクチャaのみをサポートしているI
Pで実行する場合、インタープリタなる手段を使って実
行するときの各機能モジュールの構成と各々の機能モジ
ュールの役割を示した図である。FIG. 12 shows a program of the instruction architecture b supporting only the instruction architecture a.
FIG. 4 is a diagram illustrating a configuration of each functional module and a role of each functional module when the processing is executed by using an interpreter when executed by P.
【0058】図12に於いて、命令アーキテクチャbの
命令又は命令列でプログラミングされた処理手順121
0は、実行時に、実行に即した最小単位である命令アー
キテクチャbの命令又は命令ステップに分割されてイン
タプリタ1220に入力され、この入力された命令アー
キテクチャbの命令又は命令ステップは、インタプリタ
1220によって、命令アーキテクチャaの命令又は命
令列とに翻訳される。インタプリタ1220には、命令
アーキテクチャaの命令列で構成された翻訳手順が格納
されている。In FIG. 12, a processing procedure 121 programmed with an instruction or instruction sequence of the instruction architecture b.
At the time of execution, 0 is divided into instructions or instruction steps of the instruction architecture b, which is the minimum unit suitable for execution, and input to the interpreter 1220. The input instructions or instruction steps of the instruction architecture b are interpreted by the interpreter 1220. It is translated into an instruction or instruction sequence of the instruction architecture a. The interpreter 1220 stores a translation procedure composed of an instruction sequence of the instruction architecture a.
【0059】インタプリタ1220で翻訳された命令ア
ーキテクチャaの命令又は命令列は、インタープリタ1
220から出力されたオブジェクトコードであり、デー
タセット1240に格納され、命令アーキテクチャbの
命令又は命令ステップがオペランドとする命令アーキテ
クチャbのデータ群は、命令アーキテクチャaのデータ
群に翻訳されて、データセット1250に格納される。
インタプリタ1220は更に、この翻訳時にデータセッ
ト1230に対し、命令アーキテクチャbの命令又は命
令ステップに対応するリンケージパラメータ群と命令ア
ーキテクチャbに対応したデータ群を出力する。更に、
インタプリタ1220は、データセット1230に格納
されている命令アーキテクチャbの命令又は命令ステッ
プに対応するリンケージパラメータ群と命令アーキテク
チャbに対応したデータ群を参照しながら、この命令ア
ーキテクチャbに対応したデータ群を命令アーキテクチ
ャaに対応したデータ群に翻訳してデータセット125
0に格納する。The instruction or instruction sequence of the instruction architecture a translated by the interpreter 1220 is
The object code output from the instruction architecture 220 is stored in the data set 1240, and the data group of the instruction architecture b as an operand of the instruction or the instruction step of the instruction architecture b is translated into the data group of the instruction architecture a, and the data set 1250.
The interpreter 1220 further outputs, to the data set 1230, a linkage parameter group corresponding to an instruction or an instruction step of the instruction architecture b and a data group corresponding to the instruction architecture b during the translation. Furthermore,
The interpreter 1220 refers to the linkage parameter group corresponding to the instruction or the instruction step of the instruction architecture b stored in the data set 1230 and the data group corresponding to the instruction architecture b, and converts the data group corresponding to the instruction architecture b. The data set 125 is translated into a data group corresponding to the instruction architecture a.
Store to 0.
【0060】次に、命令の実行制御は、インタプリタ1
220からデータセット1240に格納されているオブ
ジェクトコードに移され、IP1260は、データセッ
ト1240とデータセット1250を参照しながら、前
記オブジェクトコードの処理手順に従い所定の命令処理
を実行する。オブジェクトコードの処理手順に従った命
令処理の実行を終了すると、命令の実行制御は、データ
セット1240に格納されているオブジェクトコードか
らインタプリタ1220に移され、データセット125
0に格納された処理の結果である命令アーキテクチャa
に対応したデータ群を命令アーキテクチャbに対応した
データ群に前記リンケージパラメータ群を参照しながら
逆翻訳し、処理手順1210の切り出された命令アーキ
テクチャbの命令又は命令ステップの結果オペランドと
する。Next, the execution of the instruction is controlled by the interpreter 1.
The data is transferred from 220 to the object code stored in the data set 1240, and the IP 1260 executes predetermined instruction processing according to the processing procedure of the object code while referring to the data set 1240 and the data set 1250. When the execution of the instruction processing according to the processing procedure of the object code is completed, the execution control of the instruction is transferred from the object code stored in the data set 1240 to the interpreter 1220, and the execution of the data set 125 is started.
Instruction architecture a which is the result of the process stored in
Is translated into a data group corresponding to the instruction architecture b while referring to the linkage parameter group, and is used as a result operand of the instruction or instruction step of the instruction architecture b cut out in the processing procedure 1210.
【0061】図13は、命令アーキテクチャbのプログ
ラムを命令アーキテクチャaのみをサポートしているI
Pで実行する場合、シミュレータなる手段を使って実行
するときの各機能モジュールの構成と各々の機能モジュ
ールの役割を示した図である。FIG. 13 shows a program of the instruction architecture b supporting only the instruction architecture a.
FIG. 4 is a diagram illustrating a configuration of each functional module and a role of each functional module when the processing is performed by using a means serving as a simulator when the processing is performed in P;
【0062】図13に於いて、命令アーキテクチャbの
命令又は命令列でプログラミングされた処理手順131
0は、実行時に、実行に即した最小単位である命令アー
キテクチャbの命令としてシミュレータ1320に入力
され、この入力された命令アーキテクチャbの命令は、
シミュレータ1320によって、命令アーキテクチャa
の命令又は命令列とに翻訳される。シミュレータ132
0には、命令アーキテクチャaの命令列で構成された翻
訳手順が格納されている。この翻訳された命令アーキテ
クチャaの命令又は命令列は、シミュレータ1320に
予め組み込まれたオブジェクトコードである。In FIG. 13, a processing procedure 131 programmed by an instruction or an instruction sequence of the instruction architecture b.
At the time of execution, 0 is input to the simulator 1320 as an instruction of the instruction architecture b which is the minimum unit suitable for the execution, and the input instruction of the instruction architecture b is
Simulator 1320 provides instruction architecture a
And a sequence of instructions. Simulator 132
0 stores a translation procedure composed of an instruction sequence of the instruction architecture a. The translated instruction or instruction sequence of the instruction architecture a is an object code previously incorporated in the simulator 1320.
【0063】シミュレータ1320は、その処理手順を
実行する段階でデータセット1330に対し、命令アー
キテクチャbの命令に対応するリンケージパラメータ群
と命令アーキテクチャbに対応したデータ群を出力す
る。更に、シミュレータ1320は、データセット13
30に格納されている命令アーキテクチャbの命令に対
応するリンケージパラメータ群と命令アーキテクチャb
に対応したデータ群を参照しながら、この命令アーキテ
クチャbに対応したデータ群を命令アーキテクチャaに
対応したデータ群に変換してデータセット1340に格
納する。Simulator 1320 outputs a linkage parameter group corresponding to the instruction of instruction architecture b and a data group corresponding to the instruction architecture b to data set 1330 at the stage of executing the processing procedure. Further, the simulator 1320 includes the data set 13
And a linkage parameter group corresponding to the instruction of the instruction architecture b stored in the instruction architecture b.
The data group corresponding to the instruction architecture b is converted into a data group corresponding to the instruction architecture a and stored in the data set 1340 while referring to the data group corresponding to the instruction architecture b.
【0064】次に、IP1360は、シミュレータ13
20に置かれている処理手順に従い、データセット13
40を参照しながら所定の命令処理を実行する。Next, the IP 1360
According to the processing procedure located in the data set 20,
A predetermined instruction process is executed with reference to 40.
【0065】オブジェクトコードの処理手順に従ったシ
ミュレータ1320の命令処理の実行の後半の部分、シ
ミュレータ1320は、データセット1340に格納さ
れている処理の結果である命令アーキテクチャaに対応
したデータ群を命令アーキテクチャbに対応したデータ
群に前記リンケージパラメータ群を参照しながら逆変換
し、処理手順1310の切り出された命令アーキテクチ
ャbの命令の結果オペランドとする。In the latter half of the execution of the instruction processing of the simulator 1320 in accordance with the processing procedure of the object code, the simulator 1320 executes the instruction processing of a data group corresponding to the instruction architecture a, which is the result of the processing stored in the data set 1340. Inverse conversion is performed on the data group corresponding to the architecture b while referring to the linkage parameter group, and the result is used as a result operand of the instruction of the instruction architecture b extracted in the processing procedure 1310.
【0066】尚、前記のシミュレータの機能が、ハイパ
バイザとは独立して、IP1360が直接実行できるス
タイルでインプリメントされた場合をエミュレータとも
呼ぶが、このエミュレータの構成及び機能は、前記のシ
ミュレータとほぼ同様の構成を持つ。A case where the function of the simulator is implemented in a style in which IP1360 can be directly executed independently of the hypervisor is also called an emulator. The configuration and function of this emulator are almost the same as those of the simulator described above. With the configuration.
【0067】図14は、従来のハードウェアロジックに
て命令処理を実現している情報処理装置が、異なる命令
アーキテクチャの命令処理を実現するために、前記シミ
ュレータ又はエミュレータ処理手順で、複数の命令の複
数の機能を組み合わせで異なる命令アーキテクチャの1
つの命令機能を実行する場合の個々の命令の記憶装置内
での記述例を示したものである。FIG. 14 shows a conventional information processing apparatus that implements instruction processing by hardware logic, in order to implement instruction processing of different instruction architectures, in the simulator or emulator processing procedure. Different instruction architecture 1 by combining multiple functions
3 shows an example of description of individual instructions in a storage device when executing one instruction function.
【0068】図14において、(1)は、主記憶の2つ
の記憶領域間のデータ移動を行なう機能を持つ命令アー
キテクチャbの命令Aを、命令アーキテクチャaの複数
の命令機能の組合せで実現した場合の例であり、(2)
は、主記憶の2つの記憶領域間のデータの排他的論理和
を行なう機能を持つ命令アーキテクチャbの命令Bを、
命令アーキテクチャaの複数の命令機能の組合せで実現
した場合の例である。In FIG. 14, (1) shows a case where the instruction A of the instruction architecture b having a function of moving data between two storage areas of the main storage is realized by a combination of a plurality of instruction functions of the instruction architecture a. And (2)
Is an instruction B of the instruction architecture b having a function of performing an exclusive OR operation on data between two storage areas of the main storage,
This is an example in the case of being realized by a combination of a plurality of instruction functions of the instruction architecture a.
【0069】図14の(1)および(2)における、命
令アーキテクチャaの個々の命令機能とその役割は、図
5(1)および(2)におけるマイクロ命令のそれと同
様であるので、説明は省略する。例えば、命令アーキテ
クチャaの命令BOPは、図5のマイクロ命令BOPと
基本的に同様であり、IUからセットアップされる命令
アーキテクチャbの命令Aの命令実行の開始に必要な命
令語のオペランドのパラメータをEU内のハードウェア
に設定させる。その他の命令も同様である。The individual instruction functions of the instruction architecture a in (1) and (2) of FIG. 14 and their roles are the same as those of the microinstructions in FIGS. 5 (1) and (2), and therefore description thereof is omitted. I do. For example, the instruction BOP of the instruction architecture a is basically the same as the micro-instruction BOP of FIG. 5, and the parameter of the operand of the instruction word necessary to start the instruction execution of the instruction A of the instruction architecture b set up from the IU. Let the hardware in the EU be set. The other instructions are the same.
【0070】図14に示すごとく、従来のハードウェア
ロジックで命令処理を実現している情報処理装置におい
ては、異なる命令アーキテクチャの命令機能を、基本的
にサポートしている複数の命令の機能を組み合わせて実
現した場合、複数の同一命令を異なる主記憶アドレス上
に複数個格納しておく必要があった。例えば、図14に
おいて、、記憶領域間のデータ移動を行なう機能を持つ
命令アーキテクチャbの命令Aと記憶領域間のデータの
排他的論理和を行なう機能を持つ命令アーキテクチャb
の命令Bを、複数の命令アーキテクチャaの命令機能の
組合せで実現した場合、BOP,CC,ST,MC,T
C,EOPなる命令アーキテクチャaの命令は2ヵ所で
使用され、Lなる命令アーキテクチャaの命令は3ヵ所
で使用され、そしてBCとMAなる命令アーキテクチャ
aの命令は4ヵ所で使用される。つまり、10種類の命
令アーキテクチャaの命令が22ヵ所の異なる主記憶ア
ドレス上に重複して格納されており、情報処理装置のシ
ミュレータ又はエミュレータを構成する命令語が通常、
数百命令からなることを考慮すると、命令アーキテクチ
ャaの命令の種類数と比較して極めて大容量の主記憶が
要求されるという結果をもたらしていた。As shown in FIG. 14, in an information processing apparatus in which instruction processing is realized by conventional hardware logic, instruction functions of different instruction architectures are combined with the functions of a plurality of instructions basically supporting the instruction functions. In such a case, it is necessary to store a plurality of identical instructions at different main memory addresses. For example, in FIG. 14, an instruction architecture b having an exclusive OR of an instruction A of the instruction architecture b having a function of moving data between storage areas and data between the storage areas.
Is realized by a combination of instruction functions of a plurality of instruction architectures a, BOP, CC, ST, MC, T
Instructions of the instruction architecture a of C and EOP are used at two places, instructions of the instruction architecture a of L are used at three places, and instructions of the instruction architecture a of BC and MA are used at four places. That is, instructions of 10 types of instruction architecture a are stored redundantly on 22 different main memory addresses, and the instruction words constituting the simulator or emulator of the information processing apparatus are usually
Considering that it consists of several hundred instructions, the result is that a very large main memory is required compared to the number of instruction types of the instruction architecture a.
【0071】ハードウェアロジックで命令処理を実現し
ている情報処理装置にシミュレータ又はエミュレータを
組み込むとき、異なる命令アーキテクチャの命令機能
を、複数の基本的にサポートしている複数の命令の機能
を組み合わせて実現するが、この大容量の主記憶の設置
の必要性は、情報処理装置が使用する基本命令アーキテ
クチャaで構成されるシミュレータ又はエミュレータの
命令語の数が、情報処理装置が直接実行できる機械語レ
ベルの命令語の数と比較して極めて多い事から、物理的
な主記憶のサイズの増大を招くことになり、この物理的
な主記憶のサイズの増大は、多数のメモリチップを用い
て主記憶を構成せざるを得ない結果をもたらし、主記憶
を多数のメモリチップを用いて構成する事は、情報処理
装置の主記憶に対するアクセス時間の増大に直結し、こ
の主記憶に対するアクセス時間の増大は、シミュレータ
又はエミュレータ制御で異なる命令アーキテクチャの命
令処理を実現する情報処理装置の性能を向上を図る上で
無視しえない重要な問題であった。When a simulator or emulator is incorporated in an information processing apparatus that implements instruction processing by hardware logic, instruction functions of different instruction architectures are combined by combining the functions of a plurality of basically supported instructions. However, the necessity of installing the large-capacity main memory is based on the fact that the number of instruction words of the simulator or emulator constituted by the basic instruction architecture a used by the information processing device is a machine language that the information processing device can directly execute. Since the number of instructions is extremely large compared to the number of instructions at the level, the size of the physical main memory is increased, and this increase in the size of the physical main memory is performed by using a large number of memory chips. The result is that the memory must be configured, and configuring the main memory using a large number of memory chips is not suitable for the main memory of the information processing apparatus. This increase in access time to the main memory is directly associated with an increase in access time, and this increase in access time to the main memory is an important problem that cannot be ignored in improving the performance of an information processing apparatus that realizes instruction processing of different instruction architectures under simulator or emulator control. Met.
【0072】更に、ハードウェアロジックで命令処理を
実現している情報処理装置が、単一プロセッサで複数の
命令アーキテクチャをサポートするためにシミュレータ
又はエミュレータを用いて異なる命令アーキテクチャの
命令処理を行う情報処理装置を実現するに当たり、前記
の問題が数倍のレンジで顕在化し、プロセッサのチップ
面積の物理的制約から、現実として単一プロセッサで複
数の命令アーキテクチャをサポートするためにシミュレ
ータ又はエミュレータで命令処理を実現する情報処理装
置の実用化を阻んでおり、これも無視し得ない非常に重
大な技術的障壁であった。Further, an information processing apparatus which realizes instruction processing by hardware logic executes an instruction processing of a different instruction architecture using a simulator or emulator in order to support a plurality of instruction architectures with a single processor. In realizing the device, the above-mentioned problem is manifested in a range of several times, and due to the physical limitation of the chip area of the processor, in order to support a plurality of instruction architectures with a single processor, instruction processing is actually performed by a simulator or emulator. This has prevented practical use of the information processing device to be realized, and this was also a very serious technical barrier that cannot be ignored.
【0073】[0073]
【発明が解決しようとする課題】以上述べた如く、従来
のマイクロコードで命令処理を実現している情報処理装
置は、制御記憶(CS)に予め格納されているマイクロ
命令をマイクロコードの処理手順に従い、順次一定手順
で読み出し、該マイクロ命令を制御記憶データレジスタ
に一旦セットし、該制御記憶データレジスタからマイク
ロ命令の実行を司る実行ユニットに順次送出し、該実行
ユニットに於いて該マイクロ命令の複数のフィールドで
指定された複数の動作を行なう方式が一般的であった。
そして、CSアドレスの生成からマイクロ命令の読み出
し及び該マイクロ命令の実行の繰返しは、それぞれのマ
イクロ命令の一部が次に実行すべきマイクロ命令のアド
レスを指定する構造とすることで実現していた。As described above, a conventional information processing apparatus which implements instruction processing by microcode uses a microinstruction stored in a control storage (CS) in a microcode processing procedure. , The microinstruction is temporarily set in the control storage data register, and is sequentially transmitted from the control storage data register to the execution unit that is responsible for executing the microinstruction. A method of performing a plurality of operations specified by a plurality of fields has been common.
Then, the generation of the CS address, the reading of the microinstruction and the repetition of the execution of the microinstruction have been realized by a structure in which a part of each microinstruction specifies the address of the microinstruction to be executed next. .
【0074】かかる従来のマイクロコードで命令処理を
実現している情報処理装置においては、該情報処理装置
が使用する機械語レベルの命令機能を実現する為に、複
数のマイクロ命令の複数の機能を組み合わせでマイクロ
コード処理手順をプログラミングした時、同一マイクロ
命令を異なるCSアドレス上に複数個格納しておく必要
があった。即ち、マイクロ命令の種類数に比較して極め
て多い数のマイクロ命令をCS内に重複して格納してお
く必要があり、その結果、大容量のCSが要求される問
題があった。In the conventional information processing apparatus which realizes instruction processing by using microcode, a plurality of functions of a plurality of microinstructions are implemented in order to realize an instruction function at a machine language level used by the information processing apparatus. When the microcode processing procedure was programmed in combination, it was necessary to store a plurality of the same microinstructions on different CS addresses. That is, it is necessary to store a large number of micro-instructions in duplicate in the CS as compared with the number of types of micro-instructions. As a result, there is a problem that a large-capacity CS is required.
【0075】その上、該マイクロコードで命令処理を実
現している情報処理装置が使用するマイクロ命令の語長
が、通常のマイクロコードで命令処理を実現している情
報処理装置が使用する機械語レベルの命令語長と比較し
て極めて長いのが一般的である為、この大容量のCSの
設置の要求は、物理的なCS論理回路サイズの増大を招
くことになり、この物理的なCSのサイズの増大は、、
複数のメモリチップを用いてCSを構成せざるを得ない
という結果をもたらし、CSを複数のメモリチップを用
いて構成する事は、該マイクロコードで命令処理を実現
している情報処理装置のハードウェアによるCSに対す
るアクセス時間の増大に直結し、このCSに対するアク
セス時間の増大は、かかるマイクロコード制御で命令処
理を行なう方式の情報処理装置の性能を確保する上で無
視しえない、重大な問題であると共に、複数の命令アー
キテクチャをサポートするプロセッサを実現する上で、
実現不可能とも言える重大な問題があった。In addition, the word length of the microinstruction used by the information processing apparatus that realizes the instruction processing by the microcode is the machine language used by the information processing apparatus that realizes the instruction processing by the ordinary microcode. Since the instruction word length is generally extremely long compared to the instruction word length of the level, the requirement for installing a large-capacity CS leads to an increase in the size of a physical CS logic circuit, and this physical CS The increase in the size of
The CS has to be constructed using a plurality of memory chips, and the construction of the CS using a plurality of memory chips requires a hardware of an information processing apparatus that realizes instruction processing by the microcode. The increase in the access time to the CS by the hardware is directly associated with the increase in the access time to the CS, and the increase in the access time to the CS is a serious problem that cannot be ignored in securing the performance of the information processing apparatus that performs the instruction processing under the microcode control. And to achieve a processor that supports multiple instruction architectures,
There was a serious problem that could not be realized.
【0076】更に、前記の物理的なCS論理回路サイズ
の大幅な増大は、マイクロコードで命令処理を実現して
いる情報処理装置を構成する最も重要な部品である大規
模集積回路のチップ面積の増大につながり、これはマイ
クロコードで命令処理を実現している情報処理装置の製
造コストが増加するという、工業製品を製造する上での
工業的問題が存在し、この工業的問題も無視しえない、
重大な問題であった。Further, the large increase in the physical CS logic circuit size is caused by the chip area of a large-scale integrated circuit, which is the most important component of an information processing apparatus that implements instruction processing by microcode. There is an industrial problem in the manufacture of industrial products that increases the manufacturing cost of information processing devices that implement instruction processing with microcode, and this industrial problem can be ignored. Absent,
It was a serious problem.
【0077】次に、従来のハードウェアロジックで命令
処理を実現している情報処理装置は、主記憶に予め格納
されているシミュレータ又はエミュレータの処理手順に
従い、順次一定手順で読み出し、該シミュレータ又はエ
ミュレータを構成している命令群を命令の実行を司る実
行ユニットに順次送出し、該実行ユニットに於いて該命
令群で指定された処理手順の動作を行なう方式が一般的
であった。そして、命令アドレスの生成から命令の読み
出し及び該命令の実行の繰返しは、通常の情報処理装置
で用いられる命令アドレス更新制御手順により実現して
いた。Next, the information processing apparatus which realizes the instruction processing by the conventional hardware logic reads out sequentially according to a predetermined procedure according to the processing procedure of the simulator or emulator stored in the main memory in advance. Has been generally sent to an execution unit that is responsible for executing the instruction, and the execution unit performs the operation of the processing procedure specified by the instruction group. The generation of the instruction address, the reading of the instruction, and the repetition of the execution of the instruction have been realized by an instruction address update control procedure used in a normal information processing apparatus.
【0078】かかる従来のハードウェアロジックで命令
処理を実現している情報処理装置においては、該情報処
理装置が使用する機械語レベルの命令機能を実現する為
に、複数の命令の複数の機能を組み合わせでシミュレー
タ又はエミュレータ処理手順をプログラミングした時、
同一命令を異なる主記憶アドレス上に複数個格納してお
く必要があった。即ち、命令の種類数に比較して極めて
多い数の命令を主記憶内に重複して格納しておく必要が
あり、その結果、シミュレータ又はエミュレータ処理手
順用の大容量の主記憶が要求される問題があった。In such an information processing apparatus that implements instruction processing by hardware logic, a plurality of functions of a plurality of instructions are implemented in order to implement an instruction function at a machine language level used by the information processing apparatus. When the simulator or emulator processing procedure is programmed in combination,
It was necessary to store a plurality of the same instructions at different main memory addresses. That is, an extremely large number of instructions must be stored in the main memory in duplicate as compared with the number of instruction types, and as a result, a large-capacity main memory for a simulator or emulator processing procedure is required. There was a problem.
【0079】その上、該ハードウェアロジックで命令処
理を実現している情報処理装置にシミュレータ又はエミ
ュレータを組み込むとき、異なる命令アーキテクチャの
命令機能を、複数の基本となるハードウェアでサポート
している複数の命令を組み合わせて実現するが、情報処
理装置が使用する基本となるハードウェアでサポートし
ている複数の命令アーキテクチャで構成されるシミュレ
ータ又はエミュレータの命令語の数が、情報処理装置が
直接実行できる機械語レベルの命令語の数と比較して極
めて多い事から、この大容量の主記憶の設置の要求は、
物理的な主記憶のサイズの増大を招くことになり、この
物理的な主記憶のサイズの増大は、多数のメモリチップ
を用いて主記憶を構成せざるを得ない結果をもたらし、
この主記憶を多数のメモリチップを用いて構成する事
は、情報処理装置の主記憶に対するアクセス時間の増大
に直結し、この主記憶に対するアクセス時間の増大は、
かかるハードウェアロジックで命令処理を行なう方式の
情報処理装置の性能を確保する上で無視しえない、重大
な問題であると共に、複数の命令アーキテクチャをサポ
ートするプロセッサを実現する上で、実現不可能とも言
える重大な問題があった。In addition, when a simulator or emulator is incorporated in an information processing apparatus that realizes instruction processing by the hardware logic, a plurality of basic hardware supports instruction functions of different instruction architectures. And the number of instruction words of a simulator or emulator composed of a plurality of instruction architectures supported by the underlying hardware used by the information processing device can be directly executed by the information processing device. Since the number of instruction words at the machine language level is extremely large, the requirement for installing this large-capacity main memory is as follows:
This leads to an increase in the size of the physical main storage, and this increase in the size of the physical main storage results in the necessity of configuring the main storage using a large number of memory chips,
The configuration of the main memory using a large number of memory chips directly leads to an increase in the access time to the main memory of the information processing apparatus.
This is a serious problem that cannot be ignored in securing the performance of an information processing apparatus that performs instruction processing using such hardware logic, and is not feasible in realizing a processor that supports a plurality of instruction architectures. There was a serious problem that could be said.
【0080】更に、前記の物理的な主記憶サイズの大幅
な増大は、基本的にサポートしている命令で命令処理を
実現している情報処理装置を構成する最も重要な部品で
あるメモリチップ数の増加につながり、これは、情報処
理装置の製造コストが増加するという工業製品を製造す
る上での工業的問題が存在し、この工業的問題も無視し
えない、重大な問題であった。Further, the large increase in the size of the physical main memory is caused by the number of memory chips, which are the most important components of an information processing apparatus that implements instruction processing with basically supported instructions. This is a serious problem that cannot be ignored because there is an industrial problem in manufacturing an industrial product that increases the manufacturing cost of the information processing device.
【0081】本発明の目的は、マイクロコードで命令処
理を実現している情報処理装置に於いて、マイクロ命令
の一部が次に実行すべきマイクロ命令のアドレスを指定
する構造を改めるとともに、機械語レベルの命令機能を
実現する為に複数のマイクロ命令の複数の機能を組み合
わせて、マイクロコード処理手順を情報処理装置に組み
込んだ時、同一マイクロ命令を異なるCSアドレス上に
複数個格納しておく必要性を撤廃する事により、複数の
命令アーキテクチャをサポートするマイクロコードで命
令処理を実行するプロセッサ、即ち、マルチ命令アーキ
テクチャプロセッサを実現可能とし、更に、かかるマル
チ命令アーキテクチャプロセッサのハードウェアの命令
処理性能を大幅に向上させ、且つ、工業的コストを抑え
ることにある。An object of the present invention is to provide an information processing apparatus which implements instruction processing by microcode, in which a structure in which a part of the microinstruction specifies an address of a microinstruction to be executed next is improved, and When the microcode processing procedure is incorporated into an information processing device by combining a plurality of functions of a plurality of microinstructions to realize a word level instruction function, a plurality of the same microinstructions are stored on different CS addresses. By eliminating the need, a processor that executes instruction processing with microcode that supports a plurality of instruction architectures, that is, a multi-instruction architecture processor can be realized, and further, the instruction processing performance of the hardware of the multi-instruction architecture processor And to reduce industrial costs.
【0082】本発明の更なる目的は、ハードウェアロジ
ックで命令処理を実現している情報処理装置に於いて、
ハードウェアが基本的にサポートしている命令アーキテ
クチャの命令データの一部が、次に実行すべき該命令の
アドレスを指定する構造を改めるとともに、異なる命令
アーキテクチャの機械語レベルの命令機能を実現する為
に、ハードウェアが基本的にサポートしている命令アー
キテクチャの複数の命令の機能を組み合わせてシミュレ
ータ又はエミュレータとしてその処理手順を情報処理装
置に組み込んだ時、同一命令を異なる主記憶アドレス上
に複数個格納しておく必要性を撤廃する事により、複数
の命令アーキテクチャをサポート出来るプロセッサを実
現可能とし、複数の命令アーキテクチャをサポートする
ハードウェアロジックで命令処理を実行するプロセッ
サ、即ち、マルチ命令アーキテクチャプロセッサを実現
可能とし、更に、かかるマルチ命令アーキテクチャプロ
セッサのハードウェアの命令処理性能を大幅に向上さ
せ、且つ、工業的コストを抑えることにある。A further object of the present invention is to provide an information processing apparatus which implements instruction processing by hardware logic.
A part of the instruction data of the instruction architecture basically supported by the hardware revises the structure for specifying the address of the next instruction to be executed, and realizes the machine language level instruction function of a different instruction architecture. Therefore, when the processing procedure is incorporated into an information processing device as a simulator or emulator by combining the functions of a plurality of instructions of the instruction architecture basically supported by the hardware, the same instruction is stored in different main memory addresses. A processor that can support a plurality of instruction architectures can be realized by eliminating the necessity of storing individual instructions, and a processor that executes instruction processing with hardware logic that supports a plurality of instruction architectures, that is, a multi-instruction architecture processor Can be realized, and That the multi-instruction significantly increases hardware instruction processing performance architecture processor, and is to suppress the industrial costs.
【0083】[0083]
【課題を解決するための手段】本発明は基本的に、命令
の読み出しと解読を行う命令制御ユニットと、命令を実
行する実行ユニットを具備してなる情報処理装置におい
て、処理対象の命令のアーキテクチャモードを保持する
命令アーキテクチャモードレジスタと、命令のアーキテ
クチャモード毎に、それぞれ命令処理に必要なセットア
ップデータを生成する複数のセットアップデータ生成部
と、命令のアーキテクチャモード毎に、それぞれ命令の
実行順序を定めたシーケンスコード列を格納する複数の
シーケンス記憶と、実行すべき命令語群を、重複を排し
て格納する命令記憶とを設ける。命令処理を行う際、前
記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、処理対象命令の
解読結果を、前記選択されたセットアップデータ生成部
の入力として、当該命令の処理に必要なセットアップデ
ータを得、前記得られたセットアップデータの少なくと
も一部を、前記複数のシーケンス記憶の中の一つのシー
ケンス記憶の先頭読み出しアドレスとして、当該シーケ
ンス記憶から処理対象命令の実行順序を定めたシーケン
スコード列を読み出し、前記読み出されたシーケンスコ
ード列を前記命令記憶の読み出しアドレス列として、該
命令記憶から処理対象命令に対応する命令語群を読み出
し、前記実行ユニットへ送出する。SUMMARY OF THE INVENTION The present invention basically provides an information processing apparatus including an instruction control unit for reading and decoding instructions and an execution unit for executing instructions, and an architecture of an instruction to be processed. An instruction architecture mode register for holding a mode, a plurality of setup data generators for generating setup data required for instruction processing for each instruction architecture mode, and an instruction execution order for each instruction architecture mode There are provided a plurality of sequence memories for storing the sequence code sequence and an instruction memory for storing the instruction word group to be executed without duplication. When performing the instruction processing, one of the plurality of setup data generators is selected according to the output value of the instruction architecture mode register, and the decoding result of the instruction to be processed is determined by the selected setup data. As an input of a generation unit, setup data necessary for processing the instruction is obtained, and at least a part of the obtained setup data is set as a head read address of one of the plurality of sequence memories, and A sequence code sequence that defines the execution order of the processing target instruction is read from the storage, and the read sequence code sequence is set as a read address sequence of the instruction storage, and a command word group corresponding to the processing target instruction is read from the instruction storage. , To the execution unit.
【0084】これにより、命令アーキテクチャモードレ
ジスタの値を変えるだけで、同一の命令コードを持つ命
令に対して異なる動作仕様要持つ命令処理を実行させる
ことができ、同一のハードウェア資源を用いて複数のア
ーキテクチャの異なる命令を動的に切り替えて実行する
マルチ命令アーキテクチャプロセッサが容易に実現可能
になる。As a result, by changing the value of the instruction architecture mode register, it is possible to execute instructions having different operation specifications for instructions having the same instruction code. A multi-instruction architecture processor that dynamically switches and executes instructions having different architectures can be easily realized.
【0085】ここで、マイクロコード制御で命令処理を
行う情報処理装置においては、各マイクロ命令を重複し
ないように制御記憶に格納し、各シーケンス記憶には、
命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて前記制御記憶に格納されているマイクロ命令の
実行順序を定めたシーケンスコード列を格納しておけば
よい。Here, in an information processing apparatus which performs instruction processing under microcode control, each microinstruction is stored in a control storage so as not to be duplicated, and each sequence storage is stored in a sequence storage.
For each architecture mode of the instruction, a sequence code sequence that defines the execution order of the microinstructions stored in the control storage according to the type of the instruction may be stored.
【0086】また、ハードウェアロジック制御で命令処
理を行う情報処理装置においては、命令記憶に特定の命
令アーキテクチャ(情報処理装置が基本的にサポートし
ている命令アーキテクチャ)を持つ命令語のみを格納
し、各シーケンス記憶には、異なる命令のアーキテクチ
ャ毎に、それぞれ命令の種類に応じて前記命令記憶に格
納されている命令語の実行順序を定めたシーケンスコー
ド列を格納しておけばよい。Further, in an information processing apparatus that performs instruction processing under hardware logic control, only instruction words having a specific instruction architecture (an instruction architecture basically supported by the information processing apparatus) are stored in the instruction storage. In each sequence storage, a sequence code sequence that determines the execution order of the instruction words stored in the instruction storage according to the type of instruction may be stored for each instruction architecture.
【0087】[0087]
【発明の実施の形態】以下、本発明の情報処理装置の実
施例を図面を用いて詳細に説明する。図1は、本発明の
マイクロコード制御で命令処理を行なう情報処理装置の
一実施例を示すブロック図で、特に、マイクロ命令の読
出し及び実行に関係する部分の全体的構成を示したもの
である。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the information processing apparatus according to the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of an information processing apparatus for performing an instruction process under microcode control according to the present invention. In particular, FIG. 1 shows an entire configuration of a portion related to reading and execution of a microinstruction. .
【0088】図1において、100は主記憶(MS)、
110は命令制御ユニット(IU)、120は複数のシ
ーケンス記憶アドレスレジスタ(以下、SSARとい
う)からなるSSAR群、130はアドレス加算器、1
40は複数のシーケンス記憶(以下、SSという)から
なるSS群、150は制御記憶アドレスレジスタ(CS
AR)、160は制御記憶(CS)、170は制御記憶
データレジスタ(CSDR)、180は実行ユニット
(EU)である。図2の従来の構成とは、SSAR群1
20、アドレス加算器130、SS群140を付加した
点が異なり、更に、IU110は複数のセットアップデ
ータ生成器(DS)のDS群113を具備している点が
異なる。In FIG. 1, 100 is a main memory (MS),
110 is an instruction control unit (IU), 120 is an SSAR group composed of a plurality of sequence storage address registers (hereinafter, referred to as SSARs), 130 is an address adder,
Reference numeral 40 denotes an SS group including a plurality of sequence storages (hereinafter, referred to as SS), and 150 denotes a control storage address register (CS).
AR), 160 is a control storage (CS), 170 is a control storage data register (CSDR), and 180 is an execution unit (EU). The conventional configuration shown in FIG.
20; an address adder 130; and an SS group 140. The IU 110 further includes a plurality of setup data generators (DS).
【0089】なお、本発明の情報処理装置では、更に命
令のアーキテクチャモードを保持する命令アーキテクチ
ャモードレジスタを具備するが、図1では省略してあ
る。また、図1では、IU110の命令読み出しはMS
から行うとしたが、バッファ記憶あるいは命令バッファ
等であってもよい。The information processing apparatus according to the present invention further includes an instruction architecture mode register for holding an instruction architecture mode, but is omitted in FIG. Also, in FIG. 1, the instruction reading of the IU 110 is performed by MS
However, it may be a buffer storage or an instruction buffer.
【0090】IU110は、図3に示したように、命令
レジスタ(IR)と命令解読器(IDEC)及びセット
アップデータ生成器(DS)などを内蔵しているが、D
Sは異なる命令アーキテクチャ毎に複数具備している。
図1では、これをDS群113で示す。該IU110
は、命令語の読み出し要求を主記憶100に対して送出
し、該読み出された命令語をIRにセットし、該セット
された命令語をIDECに送出する。IDECは、該命
令語の命令コードを解読して、その命令解読結果を複数
のDSからなるDS群113に送出する。DS群113
は、前記命令語の命令解読結果を元に、該命令語に対応
する先頭のシーケンスコードを格納しているSS群14
0のアドレス(以下、シーケンスコードアドレスとい
う)を作成し、信号線1001を介してSSAR群12
0に送出する。具体的には、DS群113のDS(i)
は、SS群140のSS(i)に対応するシーケンスコ
ードアドレスを作成し、SSAR(i)に送出する。こ
こで、i=0,1,・・・,nである。更に、DS群1
13は、解読結果によっては、該命令語に対応する先頭
のマイクロ命令のCSアドレスを作成し、信号線12を
介して直接CSAR150に送出する。As shown in FIG. 3, the IU 110 has an instruction register (IR), an instruction decoder (IDEC), a setup data generator (DS), and the like.
A plurality of Ss are provided for different instruction architectures.
In FIG. 1, this is indicated by a DS group 113. The IU110
Sends a command read request to the main memory 100, sets the read command in IR, and sends the set command to IDEC. The IDEC decodes the instruction code of the instruction word, and sends the instruction decryption result to the DS group 113 including a plurality of DSs. DS group 113
Is a group of SSs 14 storing a head sequence code corresponding to the instruction word based on the instruction decoding result of the instruction word.
0 (hereinafter referred to as a sequence code address), and the SSAR group 12
Send to 0. Specifically, DS (i) of the DS group 113
Creates a sequence code address corresponding to SS (i) of the SS group 140 and sends it to SSAR (i). Here, i = 0, 1,..., N. Furthermore, DS group 1
13 creates a CS address of the first microinstruction corresponding to the instruction word depending on the decoding result, and sends it directly to the CSAR 150 via the signal line 12.
【0091】SSAR群120は、IU110のDS群
113に対応して複数のSSARからなり、各SSAR
(i)(i=0,1,・・・,n)は、信号線11を介
して、DS群113のDS(i)から送られて来たSS
(i)のシーケンスコードのアドレスを指定するシーケ
ンスコードアドレスを一旦セットし、信号線13を介し
て、後述のSS群140のSS(i)に対し読み出し要
求を送出すると共に、アドレス加算器130に対して該
シーケンスコードアドレスを送出する。更に、SSAR
群120の各SSAR(i)は、後述するアドレス加算
器130、SS群140のSS(i)、CSDR170
などから、信号線14、信号線15又は信号線20を介
して送られてくるところの、同様のSS(i)のアドレ
スを指定するシーケンスコードアドレスをセットし、信
号線13を介して、SS群140の対応するSS(i)
に読み出し要求を送出すると共に、アドレス加算器13
0に該シーケンスアドレスを送出する役割を有する。The SSAR group 120 includes a plurality of SSARs corresponding to the DS group 113 of the IU 110.
(I) (i = 0, 1,..., N) is the SS transmitted from DS (i) of the DS group 113 via the signal line 11.
A sequence code address designating the address of the sequence code of (i) is set once, a read request is sent to SS (i) of the SS group 140 described later via the signal line 13, and the address adder 130 is sent to the address adder 130. Then, the sequence code address is sent. In addition, SSAR
Each SSAR (i) of the group 120 includes an address adder 130 described later, SS (i) of the SS group 140, and a CSDR 170.
For example, a sequence code address designating the same SS (i) address sent via the signal line 14, the signal line 15, or the signal line 20 is set, and the SS code is set via the signal line 13. Corresponding SS (i) of group 140
To the address adder 13
0 has the role of transmitting the sequence address.
【0092】アドレス加算器130は、SSAR群12
0で共用され、SSAR群120のSSAR(i)から
信号線13を介して送られて来るシーケンスコードアド
レスの値を更新し、信号線14を介して当該SSAR
(i)に送出する役割を有する。これにより、SSAR
群120の各SSAR(i)は、次にこの更新されたシ
ーケンスコードアドレスの値でSS群140のSS
(i)に対して読み出し要求を送出し、同時に、該更新
されたシーケンスコードアドレスをアドレス加算器13
0に送出る。以下、これを繰り返す。The address adder 130 is provided for the SSAR group 12
0, and updates the value of the sequence code address sent from the SSAR (i) of the SSAR group 120 via the signal line 13, and updates the SSAR value via the signal line 14.
(I). With this, SSAR
Each SSAR (i) in group 120 then uses the updated sequence code address value to
(I), and sends the updated sequence code address to the address adder 13 at the same time.
Send to 0. Hereinafter, this is repeated.
【0093】SS群140は、SSAR群120に対応
して複数のSSからなる。SS群140の各SS(i)
(i=0,1,・・・,n)は、それぞれCS160の
マイクロ命令アドレスを指定する複数のシーケンスコー
ドを格納し、SSAR群120の対応するSSAR
(i)からのシーケンスコードアドレスを伴う読み出し
要求により、指定されたシーケンスコードを読み出し、
信号線15を介してSSAR150に送出する。更に、
SS群140の各SS(i)は、それぞれ後述するEO
Pフィールド又はPEOPフィールドの値がオンである
シーケンスコードが読み出されると、該EOP又はPE
OPフィールドの値を信号線19を介してIU110及
びSSAR群120の対応するSSAR(i)に送出す
る。これを受けて、IU110は次命令の読み出し、そ
の解読及びシーケンスコードアドレス等の作成を開始
し、また、当該SSAR(i)はアドレス加算器130
で更新された次のシーケンスコードアドレスをSS群1
40の対応するSS(i)に送出することを抑止する。The SS group 140 is composed of a plurality of SSs corresponding to the SSAR group 120. Each SS (i) of SS group 140
(I = 0, 1,..., N) respectively store a plurality of sequence codes specifying the micro-instruction address of the CS 160, and store the corresponding SSARs of the SSAR group 120.
Reading the designated sequence code by the read request accompanied by the sequence code address from (i),
The signal is sent to the SSAR 150 via the signal line 15. Furthermore,
Each SS (i) of the SS group 140 is EO described later.
When a sequence code in which the value of the P field or PEOP field is ON is read, the EOP or PEOP
The value of the OP field is transmitted to the corresponding SSAR (i) of the IU 110 and the SSAR group 120 via the signal line 19. In response, the IU 110 starts reading the next instruction, decoding it, and creating a sequence code address, etc., and the SSAR (i) is
The next sequence code address updated in
The transmission to the corresponding SS (i) of 40 is suppressed.
【0094】CSAR150は、SS群140の動作中
のSS(i)から送られるシーケンスコードを受取り、
一旦セットした後、該セットされたシーケンスコードを
CS160の読み出しアドレスに用いて、信号線16を
介し、CS160に対し読み出し要求を出す。また、場
合によっては、CSAR150は、IU110内のDS
群113から送られるマイクロ命令アドレスを直接受取
り、一旦セットした後、該セットされたマイクロ命令ア
ドレスを用いて、同様に信号線16を介し、CS160
に対し読み出し要求を出す。CSAR 150 receives the sequence code sent from SS (i) in operation of SS group 140,
Once set, a read request is issued to CS 160 via signal line 16 using the set sequence code as a read address of CS 160. Also, in some cases, the CSAR 150 may use the DS
After directly receiving the microinstruction address sent from the group 113 and once setting it, the CS160 is also transmitted via the signal line 16 using the set microinstruction address.
Issues a read request to.
【0095】CS160は、それぞれ固有の機能の複数
のマイクロ命令を格納し、CSAR150から送られた
シーケンスコードあるいはマイクロ命令アドレスを用い
て目的とするマイクロ命令を読み出し、該読み出したマ
イクロ命令(マイクロ命令データ)を信号17を介して
CSDR170に送出する。The CS 160 stores a plurality of micro-instructions each having a unique function, reads a target micro-instruction using the sequence code or micro-instruction address sent from the CSAR 150, and reads the read micro-instruction (micro-instruction data). ) Is sent to CSDR 170 via signal 17.
【0096】CSDR170は、CS160から前記の
如くの手順で読み出されたマイクロ命令を受取り、一旦
セットした後、該セットされたマイクロ命令を信号線1
8を介して、EU180に送出する。また、CSDR1
70は、必要に応じて、マイクロ命令のBAフィールド
の内容を、信号線20を介してSSAR群120に送る
ことで、SS群140の次に読み出すべきシーケンスコ
ードのアジレスに使用したり、更に、マイクロ命令のE
OPフィールドの内容をIU110に送って、該IU1
10での次命令の読出しを起動したりする役割を有して
いる。なお、破線で示したように、必要によっては、従
来と同様にマイクロ命令のBAフィールドの内容を直接
CS160の読み出しアドレスに使用することもでき
る。The CSDR 170 receives the microinstruction read from the CS 160 according to the above-described procedure, sets the microinstruction once, and then transmits the set microinstruction to the signal line 1.
8 to the EU 180. Also, CSDR1
70 sends the contents of the BA field of the microinstruction to the SSAR group 120 via the signal line 20 as needed, so that the sequence code can be used for the sequence code to be read next to the SS group 140. Micro instruction E
The contents of the OP field are sent to the IU 110,
It has a role to start reading of the next instruction at 10. As indicated by the broken line, if necessary, the contents of the BA field of the microinstruction can be directly used for the read address of the CS 160 as in the conventional case.
【0097】図6は、SS140群の各SSに格納され
る1つのシーケンスコードエントリの形式と内容を示し
た図である。ここで、1つのシーケンスコードエントリ
はコードタイプフィールド601,アドレスフィールド
602,PEOPフィールド603及びEOPフィール
ド604の4つのフィールドから構成される。FIG. 6 is a diagram showing the format and contents of one sequence code entry stored in each SS of the SS 140 group. Here, one sequence code entry is composed of four fields: a code type field 601, an address field 602, a PEOP field 603, and an EOP field 604.
【0098】シーケンスコードエントリのコードタイプ
フィールド601には、該シーケンスコードエントリの
アドレスフィールド602のタイプを指定するフラグが
格納される。更に、本フィールド601には、対応する
CS内のマイクロ命令の種類を認識する情報も格納され
る。[0098] The code type field 601 of the sequence code entry stores a flag designating the type of the address field 602 of the sequence code entry. Further, the field 601 also stores information for recognizing the type of the microinstruction in the corresponding CS.
【0099】アドレスフィールド602には、該シーケ
ンスコードエントリに対応するCS160内のマイクロ
命令のアドレスまたは次に読み出されるべきシーケンス
コードエントリのアドレスが格納される。アドレスフィ
ールド602が、どちらのアドレス情報を保持している
かは、コードタイプフィールド601のフラグで判別さ
れる。アドレスフィールド602が、次に読み出される
べきシーケンスコードエントリのアドレスである場合、
該アドレスフィールド602の内容はSSAR群120
の対応するSSARに送られて、次に読み出されるシー
ケンスコードエントリのアドレスとして使われ、シーケ
ンスコードエントリの読み出し順序が変更される。The address field 602 stores the address of the microinstruction in the CS 160 corresponding to the sequence code entry or the address of the next sequence code entry to be read. Which address information is held in the address field 602 is determined by the flag of the code type field 601. If the address field 602 is the address of the next sequence code entry to be read,
The content of the address field 602 is the SSAR group 120
Is used as an address of a sequence code entry to be read next, and the reading order of the sequence code entries is changed.
【0100】EOPフィールド603には、一連のシー
ケンスコードエントリから構成されるマイクロコード処
理手順の実行の終了を示すフラグが設定される。該EO
Pフィールド603の値がオンであるシーケンスコード
エントリがSS群140の動作中のSS(i)から読み
出されると、オンであるEOPフィールドの値はIU1
10及びSSAR群120の対応するSSAR(i)に
送られる。これを受けて、SSAR群120のSSAR
(i)はSS群140の対応するSS(i)に次のシー
ケンスコードアドレスの送出を抑止する。IU110
は、次命令の読み出しと解読を行い、新たにDS群11
3の当該命令のアーキテクチャに対応するDSを選択
し、該DSにて、当該命令に対応する先頭のシーケンス
コードエントリアドレスを作成して、SSAR群120
の対応するSSARに送出し、次の命令のシーケンスコ
ードの読み出しを起動する。In the EOP field 603, a flag indicating the end of the execution of the microcode processing procedure composed of a series of sequence code entries is set. The EO
When a sequence code entry in which the value of the P field 603 is on is read from the active SS (i) of the SS group 140, the value of the EOP field that is on is IU1
10 and the corresponding SSAR (i) of the SSAR group 120. In response, the SSAR group 120 SSAR
(I) suppresses transmission of the next sequence code address to the corresponding SS (i) of the SS group 140. IU110
Reads and decodes the next instruction, and newly creates a DS group 11
3, a DS corresponding to the architecture of the instruction is selected, and in the DS, a leading sequence code entry address corresponding to the instruction is created, and the SSAR group 120 is created.
To the corresponding SSAR, and starts reading the sequence code of the next instruction.
【0101】PEOPフィールド604には、一連のシ
ーケンスコードエントリから構成されるマイクロコード
の実行の擬似的な終了を示すフラグが設定される。該P
EOPフィールド604の値がオンであるシーケンスコ
ードエントリがSS群140の動作中のSS(i)から
読み出されると、一連のシーケンスコードエントリから
構成されるマイクロコードの実行が終了していなくと
も、該PEOPフィールド604の値は同様にIU11
0やSSAR群120の対応するSSARに送られる。
これを受け取った場合のSSAR(i)、IU110の
動作は前記EOPフィールド603の場合と同様であ
る。In the PEOP field 604, a flag is set which indicates the pseudo end of the execution of the microcode composed of a series of sequence code entries. The P
When the sequence code entry in which the value of the EOP field 604 is ON is read from the operating SS (i) of the SS group 140, the execution of the microcode composed of a series of sequence code entries is not completed. The value of the PEOP field 604 is similarly set to IU11
0 or the corresponding SSAR in the SSAR group 120.
The operation of the SSAR (i) and the IU 110 upon receiving this is the same as in the case of the EOP field 603.
【0102】図7は、図1の構成のうち、UI110の
命令レジスタ(IR)と命令解読器(IDEC)とDS
群,SSAR120群,SS群140及び命令アーキテ
クチャモードレジスタ(以下、IAMRという)などの
マイクロ命令アドレス生成に関係する部分のハードウェ
アの詳細を示すブロック図である。FIG. 7 shows an instruction register (IR), an instruction decoder (IDEC) and a DS
FIG. 3 is a block diagram illustrating details of hardware related to microinstruction address generation, such as a group, an SSAR 120 group, an SS group 140, and an instruction architecture mode register (hereinafter, referred to as IAMR).
【0103】図7において、IR111は主記憶などか
ら読み出された命令語を一時的にバッファしておくレジ
スタであり、信号線701を介して主記憶100など
と、また信号線702を介してIDEC112と接続さ
れている。IDEC112は、IR111から送出され
た命令語を受け取り、該命令語の命令コードを解読し
て、該命令コードや命令フォーマット、その他の命令解
読結果をDS群113に送出するデコーダであり、信号
線702及び信号線703を介して、それぞれIR11
1とDS群113とに接続されている。In FIG. 7, an IR 111 is a register for temporarily buffering an instruction word read from the main memory or the like. The IR 111 is connected to the main memory 100 or the like via a signal line 701 and via a signal line 702. It is connected to IDEC 112. The IDEC 112 is a decoder that receives the command sent from the IR 111, decodes the command code of the command, and sends the command code, the command format, and other command decoding results to the DS group 113. And IR11 via the signal line 703, respectively.
1 and the DS group 113.
【0104】IAMR115は、マイクロコード制御で
命令処理を行なう情報処理装置の命令アーキテクチャを
規定する値を保持するレジスタであり、信号線700を
介して命令アーキテクチャを規定する値が入力され、信
号線704を介して、それぞれEU180とDS群11
3とに接続されている。該IAMR115の値を変える
ことにより、同一命令コードを持つ命令でありながら、
異なる動作仕様を持つ命令処理の実行が可能になる。IAMR 115 is a register for holding a value that defines the instruction architecture of an information processing device that performs instruction processing under microcode control. A value that defines the instruction architecture is input via signal line 700. Via the EU 180 and DS group 11 respectively
3 and is connected to. By changing the value of the IAMR 115, while having the same instruction code,
Instruction processing with different operation specifications can be executed.
【0105】DS群113は、DS(0)113−0,
DS(1)113−1,・・・,DS(n)113−n
からなり、前記IDEC112で解読された命令語の命
令解読結果と前記IAMR115から送出される命令ア
ーキテクチャを規定する値によって、該DS群113の
何れか1つのDSが選択される。DS113−0〜11
3−nは、それぞれの命令アーキテクチャに対応した命
令語の命令解読結果を元に、SS群140の対応するS
Sの該命令語に対応する先頭のシーケンスコードを格納
しているアドレスであるシーケンスコードアドレスある
いは直接CS160のマイクロ命令アドレスを作成す
る。更に、DS113−0〜113−nは、該実行の対
象となる命令語のオペランドアドレスやオペランドデー
タ及びマイクロコードの実行に必要な制御情報を作成す
る。これらDS113−0〜113−nは、信号線70
3,信号線704を介してIDEC112,IAMR1
15と接続され、また、信号線705(図1の12に対
応),信号線706を介してCSAR150,EU18
0と接続され、更に、信号線707−0〜707−n
(図1の11に対応)を介して、それぞれSSAR群1
20の対応するSSARに接続される。The DS group 113 includes DS (0) 113-0,
DS (1) 113-1,..., DS (n) 113-n
Any one DS of the DS group 113 is selected according to an instruction decoding result of the instruction word decoded by the IDEC 112 and a value defining an instruction architecture sent from the IAMR 115. DS113-0 to 11
3-n indicates the corresponding S of the SS group 140 based on the instruction decoding result of the instruction word corresponding to each instruction architecture.
A sequence code address which is an address storing the leading sequence code corresponding to the instruction word of S or a micro instruction address of the CS 160 is created directly. Further, the DSs 113-0 to 113-n create the operand address and operand data of the instruction word to be executed and control information necessary for executing the microcode. These DSs 113-0 to 113-n are connected to the signal line 70.
3, IDEC 112, IAMR1 via signal line 704
15 and the CSAR 150 and the EU 18 via a signal line 705 (corresponding to 12 in FIG. 1) and a signal line 706.
0, and further, the signal lines 707-0 to 707-n
(Corresponding to 11 in FIG. 1) via SSAR group 1
20 corresponding SSARs.
【0106】SSAR群120は、DS群113に対応
して、SSAR(0)120−0,SSAR(1)12
0−1,・・・,SSAR(n)120−nからなり、
それぞれDS群113の対応するDS(0)113−
0,DS(1)113−1,・・・,DS(n)113
−nから送られてきたシーケンスコードアドレスを一旦
セットし、SS群140の対応するSSに読み出し要求
を送出する。各SSAR120−0〜120−nは、信
号線707−0〜707−n(図1の11)を介してD
S群113の対応するDSに接続され、また、信号線7
08−0〜708−n(図1の13に対応)を介してS
S群140の対応するSSに接続される。更に、SSA
R120−0〜120−nには、図1で示したように、
アドレス加算器130との入出力線、SS群140の出
力線、CSDR170の出力線などが接続されるが、図
7では省略してある。The SSAR group 120 includes SSAR (0) 120-0 and SSAR (1) 12 corresponding to the DS group 113.
0-1,..., SSAR (n) 120-n,
DS (0) 113− corresponding to each DS group 113
0, DS (1) 113-1,..., DS (n) 113
Set the sequence code address sent from -n once, and send a read request to the corresponding SS in the SS group 140. Each of the SSARs 120-0 to 120-n is connected to a D line via a signal line 707-0 to 707-n (11 in FIG. 1).
Connected to the corresponding DS of the S group 113, and
08-0 to 708-n (corresponding to 13 in FIG. 1)
It is connected to the corresponding SS of the S group 140. Furthermore, SSA
In R120-0 to 120-n, as shown in FIG.
The input / output lines with the address adder 130, the output lines of the SS group 140, the output lines of the CSDR 170, and the like are connected, but are omitted in FIG.
【0107】SS群140は、DS群113及びSSA
R群120に対応して、同様にSS(0)140−0,
SS(1)140−1,・・・,SS(n)140−n
からなる。これらSS140−0〜140−nのそれぞ
れは、CS160のマイクロ命令アドレスを指定する複
数のシーケンスコードを格納する記憶装置であり、SS
AR120のそれぞれ対応するSSAR(0)120−
0,SSAR(1)120−1,・・・,SSAR
(n)120−nからのシーケンスコードアドレスを伴
う読み出し要求により、指定されたシーケンスコードを
読み出して信号線709(図1の15に対応)に送出す
る。各SS140−0〜140−nは、信号線708−
0〜708−n(図1の13)を介してSSAR群12
0の対応するSSARに接続され、また、信号線709
(図1の15)を介してCSAR150に共通に接続さ
れる。The SS group 140 includes the DS group 113 and the SSA
Similarly for the R group 120, SS (0) 140-0,
SS (1) 140-1,..., SS (n) 140-n
Consists of Each of these SSs 140-0 to 140-n is a storage device for storing a plurality of sequence codes specifying the micro-instruction address of the CS 160.
SSAR (0) 120- corresponding to each of AR 120
0, SSAR (1) 120-1,..., SSAR
(N) In response to a read request accompanied by a sequence code address from 120-n, the designated sequence code is read and transmitted to a signal line 709 (corresponding to 15 in FIG. 1). Each SS 140-0 to 140-n is connected to a signal line 708-
SSAR group 12 through 0-708-n (13 in FIG. 1)
0 and connected to the corresponding SSAR
(15 in FIG. 1) is commonly connected to the CSAR 150.
【0108】次に、図1及び図7を用いて、本マイクロ
コード制御で命令処理を行なう情報処理装置をマルチ命
令アーキテクチャプロセッサとして動作させた場合の、
マイクロ命令の読出し及び実行に関係するDS群、SS
AR群、SS群の選択手順について、その一実施例を説
明する。Next, referring to FIG. 1 and FIG. 7, a case where the information processing apparatus which executes the instruction processing under the present microcode control is operated as a multi-instruction architecture processor will be described.
DS, SS related to reading and execution of microinstruction
An example of a procedure for selecting an AR group and an SS group will be described.
【0109】マルチ命令アーキテクチャプロセッサは、
命令語の処理を開始するに先立ち、命令のアーキテクチ
ャモードの値をIAMR115に信号線700を介して
セットする。この命令アーキテクチャモードは、例えば
プログラム状態語(PSW)に用意しておき、これをI
AMR115に設定すればよい。その後、IU110
は、命令語の読み出し要求を主記憶100等に対して送
出し、該読み出された命令語をIR111にセットし、
該セットされた命令語をIDEC112に送出する。I
DEC112は、命令語の命令コードを解読して、その
命令解読結果をDS(0)113−0,DS(1)11
3−1,・・・,DS(n)113−nから成るDS群
113に送出する。The multi-instruction architecture processor
Prior to starting the processing of the instruction word, the value of the architecture mode of the instruction is set to the IAMR 115 via the signal line 700. This instruction architecture mode is prepared, for example, in a program status word (PSW), and
What is necessary is just to set to AMR115. Then, IU110
Sends an instruction read request to the main memory 100 or the like, sets the read instruction in the IR 111,
The set command is sent to the IDEC 112. I
The DEC 112 decodes the instruction code of the instruction word, and decodes the instruction decoding result into DS (0) 113-0 and DS (1) 11.
3-1 to DS (n) 113-n.
【0110】一方、前記IAMR115に信号線700
を介してセットされた命令語のアーキテクチャモードの
値は、信号線704を介して、EU180へ送られると
ともに、DS(0)113−0,DS(1)113−
1,・・・,DS(n)113−nから成るDS群11
3に送出され、1つのDSが選択される。例えば、IA
MR115にセットされた命令語のアーキテクチャモー
ドの値が“0”であれば、DS(0)113−0が選択
され、前記アーキテクチャモードの値が“1”であれ
ば、DS(1)113−1が選択され、そして、前記ア
ーキテクチャモードの値が“n”であれば、DS(n)
113−nが選択される様に制御される。On the other hand, the signal line 700 is connected to the IAMR 115.
Are sent to the EU 180 via a signal line 704, and the DS (0) 113-0 and DS (1) 113-
DS group 11 consisting of 1,..., DS (n) 113-n
3 and one DS is selected. For example, IA
If the value of the architecture mode of the instruction set in MR 115 is “0”, DS (0) 113-0 is selected, and if the value of the architecture mode is “1”, DS (1) 113- is selected. 1 is selected, and if the value of the architecture mode is "n", DS (n)
113-n is controlled to be selected.
【0111】DS群113を構成しているDS(0)1
13−0,DS(1)113−1,・・・,DS(n)
113−nには、それぞれSSAR群120とSS群1
40におけるSSAR(0)120−0とSS(0)1
40−0,SSAR(1)120−1とSS(1)14
0−1,・・・,SSAR(n)120−nとSS
(n)140−nが対応づけられ、それぞれ異なる命令
アーキテクチャのシーケンスコードアドレスとシーケン
スコードが格納されている。DS (0) 1 forming DS group 113
13-0, DS (1) 113-1,..., DS (n)
113-n include SSAR group 120 and SS group 1 respectively.
SSAR (0) 120-0 and SS (0) 1 at 40
40-0, SSAR (1) 120-1 and SS (1) 14
0-1,..., SSAR (n) 120-n and SS
(N) 140-n are associated with each other, and store sequence code addresses and sequence codes of different instruction architectures.
【0112】DS群113中の選択されたDS(i)1
13−iは、IAMR115の出力である命令語のアー
キテクチャの値とIDEC112から送出される命令解
読結果から、該命令語がシーケンスコードを使用すると
判断した場合、対応するSS(i)140−iにおける
該命令語に対応する先頭のシーケンスコードを格納して
いるアドレス(シーケンスコードアドレス)を信号線7
07−iに出力する。なお、DSが生成するIUセット
アップデータには、シーケンスコードアドレスの他に、
当該命令のオペランドアドレスやオペランドデータ及び
制御情報などがあるが、これらは信号線706を介して
EU180へ送られる。SSAR群120のSSAR
(i)120−iは、前記DS(i)113−iが信号
線707−iに出力したシーケンスコードアドレスを一
旦セットした後、該シーケンスコードアドレスを信号線
708−iを介してSS群140のSS(i)140−
iに送出する。また、SSAR(i)120−iは、シ
ーケンスコードアドレスをアドレス加算器130に送
り、該アドレス加算器130から更新後のシーケンスコ
ードアドレスを受け取る。以下、これを繰り返す。The selected DS (i) 1 in the DS group 113
13-i, when it is determined that the instruction word uses a sequence code from the architecture value of the instruction word output from the IAMR 115 and the instruction decoding result sent from the IDEC 112, the corresponding SS (i) 140-i An address (sequence code address) storing the first sequence code corresponding to the instruction word is assigned to signal line 7.
07-i. The IU setup data generated by the DS includes, in addition to the sequence code address,
There are operand addresses, operand data, control information, and the like of the instruction, which are sent to the EU 180 via the signal line 706. SSAR of SSAR group 120
(I) 120-i sets the sequence code address output from the DS (i) 113-i to the signal line 707-i once, and then sets the sequence code address via the signal line 708-i to the SS group 140-i. SS (i) 140-
to i. The SSAR (i) 120-i sends the sequence code address to the address adder 130, and receives the updated sequence code address from the address adder 130. Hereinafter, this is repeated.
【0113】SS群140のSS(i)140−iは、
前記SSAR(i)120−iからのシーケンスコード
アドレスを用いて目的とするシーケンスコードを読み出
し、信号線709(図1の15)を介してCSAR15
0に送出する。CSAR150は、SS群140のSS
(i)140−iから読み出されたシーケンスコードを
受取り、一旦セットした後、該セットされたシーケンス
コードを用いてCS160に対し読み出し要求を出す。The SS (i) 140-i of the SS group 140 is
The target sequence code is read using the sequence code address from the SSAR (i) 120-i, and the CSAR 15 is read via the signal line 709 (15 in FIG. 1).
Send to 0. CSAR 150 is the SS of SS group 140
(I) Receives the sequence code read from 140-i, sets it once, and issues a read request to CS 160 using the set sequence code.
【0114】一方、前記DS群113中の選択されたD
S(i)113−iは、前記IAMR115の出力であ
る命令語のアーキテクチャモードの値とIDEC112
から送出される命令解読結果から、該命令語はシーケン
スコードを使用しないと判断した場合、信号線707−
iにシーケンスコードアドレスを出力せず、その替わり
に該命令語に対応する先頭のマイクロ命令アドレスを、
信号線705(図1の1002)を介してCSAR15
0に直接送出する。CSAR150は前記マイクロ命令
アドレスを受取り、一旦セットした後、該セットされた
マイクロ命令アドレスを用いてCS160に対し読み出
し要求を出す。この場合、選択されたDS(i)113
−iに対応するSSAR(i)120−iとSS(i)
140−iの動作は抑止される。On the other hand, the selected D in the DS group 113 is selected.
S (i) 113-i is the value of the architecture mode of the instruction word output from the IAMR 115 and the IDEC 112.
When it is determined from the instruction decoding result sent from the terminal that the instruction word does not use the sequence code, the signal line 707-
i does not output the sequence code address, but instead replaces the first microinstruction address corresponding to the instruction word with
CSAR 15 via signal line 705 (1002 in FIG. 1)
Send directly to 0. The CSAR 150 receives the microinstruction address, sets it once, and issues a read request to the CS 160 using the set microinstruction address. In this case, the selected DS (i) 113
-I corresponding to SSAR (i) 120-i and SS (i)
The operation of 140-i is suppressed.
【0115】CS160は、前記CSAR150から送
られたシーケンスコードあるいはマイクロ命令アドレス
を用いて目的とするマイクロ命令を読み出し、CSDR
170に送出する。CSDR170は、CS160から
で読み出されたマイクロ命令(マイクロ命令データ)を
受取り、一旦セットした後で、該セットされたマイクロ
命令をEU180に送出し、また、場合によってはIU
110やSSAR群120のSSAR(i)120−i
に送る。The CS 160 reads a target microinstruction using the sequence code or the microinstruction address sent from the CSAR 150, and reads the CSDR.
Send to 170. The CSDR 170 receives the micro-instruction (micro-instruction data) read from the CS 160, and once sets, sends the set micro-instruction to the EU 180.
SSAR (i) 120-i of 110 or SSAR group 120
Send to
【0116】次に、図8を用いて、本発明のマイクロコ
ード制御で命令処理を行なう情報処理装置のマルチ命令
アーキテクチャプロセッサが、命令語の機能を複数のシ
ーケンスコードと複数のマイクロ命令から構成されるマ
イクロコード処理手順で実現する場合の、個々のマイク
ロ命令のCS内での記述頻度について説明する。Next, referring to FIG. 8, the multi-instruction architecture processor of the information processing apparatus for performing instruction processing under microcode control according to the present invention has a function of an instruction word composed of a plurality of sequence codes and a plurality of microinstructions. The description frequency of each microinstruction in the CS in the case of realizing by a microcode processing procedure will be described.
【0117】図8は、先の図5の命令Aと命令Bについ
て、複数のシーケンスコードと複数のマイクロ命令の複
数の機能を組み合わせて実現した場合の、個々の命令に
対する複数のシーケンスコードと複数のマイクロ命令機
能の組合せ、及び、CS内のマイクロ命令配置を示した
図である。FIG. 8 shows a plurality of sequence codes and a plurality of instructions corresponding to individual instructions when the instructions A and B in FIG. 5 are realized by combining a plurality of functions of a plurality of sequence codes and a plurality of microinstructions. FIG. 3 is a diagram showing a combination of the microinstruction functions of FIG.
【0118】図8において、(1)は、記憶領域間のデ
ータ移動を行なう機能を持つ命令Aを、複数のシーケン
スコードと複数のマイクロ命令機能の組合せで実現した
場合のプログラミング順序を示した例である。これは、
図5の(1)で示した命令と同じ機能を持つ。(2)
は、記憶領域間のデータの排他的論理和を行なう機能を
持つ命令Bを、同じく複数のシーケンスコードと複数の
マイクロ命令機能の組合せで実現した場合のプログラミ
ング順序を示した例である。これは、図5の(2)で示
した命令と同じ機能を持つ。(3)は、前記命令Aと命
令Bで使用される複数のマイクロ命令のCS上での配置
状況を示した図である。In FIG. 8, (1) shows an example showing a programming order when an instruction A having a function of moving data between storage areas is realized by a combination of a plurality of sequence codes and a plurality of microinstruction functions. It is. this is,
It has the same function as the instruction shown in (1) of FIG. (2)
Is an example showing a programming order when an instruction B having a function of performing an exclusive OR of data between storage areas is realized by a combination of a plurality of sequence codes and a plurality of microinstruction functions. This has the same function as the instruction shown in (2) of FIG. (3) is a diagram showing an arrangement state of a plurality of micro-instructions used in the instructions A and B on the CS.
【0119】図8の(1)及び(2)についての個々の
マイクロ命令機能とその役割は、図5の(1)及び
(2)の説明で既に説明したので、ここでは省略する。The individual micro-instruction functions and their roles for (1) and (2) in FIG. 8 have already been described in the description of (1) and (2) in FIG. 5 and will not be repeated here.
【0120】図8の(1)に示すように、命令Aを実行
するに当たってのマイクロコード処理手順は、SS群1
40の例えばSS(i)140−iの中にシーケンスコ
ードアドレスaから始まる連続した領域に格納される複
数のシーケンスコードとして記述しておく。この場合、
該マイクロコード処理手順は、DS(i)113−iで
先頭のシーケンスコードアドレスaを生成し、SS
(i)140−iよりシーケンスコードを該シーケンス
コードアドレスaの上昇方向に逐次取り出し、該シーケ
ンスコードが指定するマイクロ命令アドレスで示される
マイクロ命令を、図8の(3)に示すCS160内のマ
イクロ命令配置から逐次取り出し、該取り出されたマイ
クロ命令をEU180によって逐次実行することによっ
て実現される。As shown in FIG. 8A, the microcode processing procedure for executing the instruction A is as follows:
For example, in SS (i) 140-i of 40, a plurality of sequence codes stored in a continuous area starting from a sequence code address a are described. in this case,
In the microcode processing procedure, the first sequence code address a is generated by DS (i) 113-i,
(I) The sequence code is sequentially extracted from 140-i in the ascending direction of the sequence code address a, and the microinstruction indicated by the microinstruction address designated by the sequence code is read from the micro instruction in the CS 160 shown in (3) of FIG. This is realized by sequentially fetching from the instruction arrangement and sequentially executing the fetched microinstructions by the EU 180.
【0121】同様に、図8の(2)に示すように、命令
Bを実行するに当たってのマイクロコード処理手順は、
SS群140の例えばSS(i)140−iの中にシー
ケンスコードアドレスbから始まる連続した領域に格納
される複数のシーケンスコードとして記述しておく。こ
の場合、該マイクロコード処理手順は、DS(i)11
3−iで先頭のシーケンスコードアドレスbを生成し、
SS(i)140−iよりシーケンスコードを該シーケ
ンスコードアドレスbの上昇方向に逐次取り出し、該シ
ーケンスコードが指定するマイクロ命令アドレスで示さ
れるマイクロ命令を、同様に図8の(3)に示すCS1
60内のマイクロ命令配置から逐次取り出し、該取り出
されたマイクロ命令をEU180によって逐次実行する
ことによって実現される。Similarly, as shown in FIG. 8B, the microcode processing procedure for executing the instruction B is as follows.
For example, in the SS group 140, for example, SS (i) 140-i is described as a plurality of sequence codes stored in a continuous area starting from the sequence code address b. In this case, the microcode processing procedure is DS (i) 11
In 3-i, a leading sequence code address b is generated,
A sequence code is sequentially extracted from the SS (i) 140-i in the ascending direction of the sequence code address b, and the microinstruction indicated by the microinstruction address designated by the sequence code is similarly CS1 shown in (3) of FIG.
This is realized by sequentially fetching the micro-instructions from the micro-instruction arrangement in 60 and sequentially executing the fetched micro-instructions by the EU 180.
【0122】図8に示すように、SS群140を用いる
ことにより、命令Aと命令Bで使用されるマイクロ命令
はCS160内に10個格納しておけば良い。即ち、マ
イクロ命令の種類数に比較して極めて多い数のマイクロ
命令を、重複してCS内に格納しておく必要がなくな
る。なお、その代わりに、SS群内にシーケンスコード
を格納する必要があるが、シーケンスコードのフィール
ド数は、マイクロ命令のフィールド数に比べて格段に少
なく、CSの容量の減少メリットに比べれば、SS群を
使用するデメリットは左程問題ではない。一般に、同一
命令コードを持つ命令に対し、異なる動作仕様を持つ命
令処理を実行させる場合には、SS群にそれぞれ異なる
組合せと実行順序のシーケンスコード列を格納しておけ
ばよい。SS群に格納するのはシーケンスコード列だけ
であり、SS群は小型且つ高速にできる。As shown in FIG. 8, by using the SS group 140, ten micro-instructions used in the instructions A and B may be stored in the CS 160. That is, there is no need to store a large number of microinstructions in the CS redundantly in comparison with the number of types of microinstructions. Instead, it is necessary to store the sequence code in the SS group. However, the number of fields of the sequence code is much smaller than the number of fields of the microinstruction. The disadvantages of using groups are not as much of a problem. In general, in order to execute instruction processing having different operation specifications for instructions having the same instruction code, sequence groups of different combinations and execution orders may be stored in the SS groups. Only the sequence code string is stored in the SS group, and the SS group can be reduced in size and speed.
【0123】以上、実施例の説明では、シーケンスコー
ドによってマイクロ命令のアドレスを指定する場合を例
示したが、図1に破線で示したように、従来のマイクロ
命令内のブランチアドレスフィールドを用いてマイクロ
命令のアドレスを指定する方式と併用するようにしても
良いことは云うまでもない。In the above description of the embodiment, the case where the address of the microinstruction is designated by the sequence code has been exemplified. However, as shown by the broken line in FIG. 1, the microaddress is designated by using the branch address field in the conventional microinstruction. It goes without saying that it may be used in combination with the method of designating the address of the instruction.
【0124】次に、本発明によるハードウェアロジック
制御で命令処理を行なう情報処理装置の実施例を説明す
る。Next, a description will be given of an embodiment of an information processing apparatus for performing an instruction process under hardware logic control according to the present invention.
【0125】図15は、シミュレータ又はエミュレータ
制御で異なる命令アーキテクチャを持つ命令の命令処理
をハードウェアロジック制御で行なう本発明の情報処理
装置の一実施例を示すブロック図で、特に、命令の読出
し及び実行に関係する部分の全体的構成を示したもので
ある。FIG. 15 is a block diagram showing an embodiment of an information processing apparatus according to the present invention which executes instruction processing of an instruction having a different instruction architecture under the control of a simulator or an emulator under the control of hardware logic. In particular, FIG. It shows the overall configuration of the part related to execution.
【0126】図15において、1500は主記憶(M
S)、1510は情報処理装置が基本的にサポートして
いるアーキテクチャの命令の読出し及び実行に関係する
命令制御ユニット(IU)、1520は複数のシーケン
スアドレスレジスタ(SSAR)から成るSSAR群、
1530はアドレス加算器、1540は複数のシーケン
ス記憶(SS)から成るSS群、1560は命令記憶
(IS)、1570は命令修飾変換ユニット(IM
U)、1580は実行ユニット(EU)、1590はレ
ジスタ・ファイル群である。In FIG. 15, 1500 is the main memory (M
S) and 1510 are an instruction control unit (IU) related to reading and execution of an instruction of an architecture basically supported by the information processing device, 1520 is an SSAR group including a plurality of sequence address registers (SSAR),
Reference numeral 1530 denotes an address adder, 1540 denotes an SS group including a plurality of sequence stores (SS), 1560 denotes an instruction store (IS), and 1570 denotes an instruction modification conversion unit (IM).
U) and 1580 are execution units (EU), and 1590 is a group of register files.
【0127】MS1500は、1つ又は複数の命令アー
キテクチャからなるプログラム群を格納しておく記憶装
置であり、信号線15001を介してそれぞれIU15
10、SS群1540及びIS1560に接続されてい
る。さらに、MS1500は信号線15008を介して
EU1580に接続されている。さらに、MS1500
は信号線15008を介してEU1580に接続されて
いる。The MS 1500 is a storage device for storing a group of programs having one or more instruction architectures.
10, SS group 1540 and IS 1560. Further, MS 1500 is connected to EU 1580 via signal line 15008. In addition, MS1500
Is connected to the EU 1580 via a signal line 15008.
【0128】IU1510は、基本的に図9に示したと
ころのIRとIDEC及びDSとから成るが、DSは異
なる命令アーキテクチャ毎に複数具備している。図15
では、これをDS群1513で示す。IU1510は、
命令語の読み出し要求を主記憶1500に対して送出
し、該読み出された命令語をIRにセットし、IDEC
に送出する。IDEC1612は、命令語の命令コード
を解読して、その命令解読結果を複数のDSから成るD
S群1513に送出する。DS群1513は、命令語の
命令解読結果を元に該命令語に対応するセットアップデ
ータを生成する装置であるが、該セットアップデータに
は当該命令語に対応する先頭のシーケンスコードを格納
しているSS群1540のシーケンスコードアドレスが
含まれる。IU1510は、信号線15002,150
09を介してそれぞれSSAR群1520及びIMU1
570に接続され、更に信号線15010を介してEU
1580に接続されている。The IU 1510 basically includes the IR, IDEC, and DS shown in FIG. 9, but a plurality of DSs are provided for different instruction architectures. FIG.
Then, this is indicated by DS group 1513. IU1510
A command read request is sent to the main memory 1500, the read command is set in the IR, and the IDEC is read.
To send to. IDEC 1612 decodes the instruction code of the instruction word, and outputs the instruction decryption result to a D
It is sent to the S group 1513. The DS group 1513 is a device that generates setup data corresponding to the instruction word based on the instruction decoding result of the instruction word, and the setup data stores a leading sequence code corresponding to the instruction word. A sequence code address of the SS group 1540 is included. IU 1510 is connected to signal lines 15002, 150
09 respectively via SSAR group 1520 and IMU1
570 and the EU via a signal line 15010.
1580.
【0129】SSAR群1520は、IU1510のD
S群1513に対応して複数のSSARからなる。該S
SAR群1520は信号線15003を介して、それぞ
れSS群1540及びアドレス加算器1530に接続さ
れている。[0129] The SSAR group 1520 is the DU of the IU 1510.
It comprises a plurality of SSARs corresponding to the S group 1513. The S
The SAR group 1520 is connected to the SS group 1540 and the address adder 1530 via a signal line 15003, respectively.
【0130】アドレス加算器1530は、信号線150
03及び信号線15012を介してSSAR群1520
に接続されている。該アドレス加算器130は、SSA
R群120で共用され、SSAR群120のあるSSA
Rから信号線15003を介して送られて来るシーケン
スコードアドレスの値を更新し、信号線15012を介
して当該SSARに返送する役割を有する。これによ
り、SSAR群120の各SSARは、次にこの更新さ
れたシーケンスコードアドレスの値でSS群140の該
当SSに対して読み出し要求を送出し、同時に、該更新
されたシーケンスコードアドレスをアドレス加算器13
0に送出する。The address adder 1530 is connected to the signal line 150
03 and the SSAR group 1520 via the signal line 15012
It is connected to the. The address adder 130 has an SSA
SSA with SSAR group 120 shared by R group 120
It has the role of updating the value of the sequence code address sent from R via the signal line 15003 and returning it to the SSAR via the signal line 15012. As a result, each SSAR in the SSAR group 120 next sends a read request to the corresponding SS in the SS group 140 with the updated sequence code address value, and at the same time, adds the updated sequence code address to the address. Table 13
Send to 0.
【0131】SS群1540は、SSAR群1520に
対応して複数のSSからなる。該SS群1540は、I
S1560に格納されている情報処理装置が基本的にサ
ポートしている命令アーキテクチャの命令群のそれぞれ
の命令アドレスを指定する複数のシーケンスコードを格
納する記憶装置であり、SSAR群1520からのシー
ケンスコードアドレスを伴なった読み出し要求により、
指定されたシーケンスコードを読み出す。該SS群15
40は、信号線15004を介してIS1560に接続
され、また、信号線15005を介してIMU1570
に接続されている。The SS group 1540 includes a plurality of SSs corresponding to the SSAR group 1520. The SS group 1540
S1560 is a storage device for storing a plurality of sequence codes specifying respective instruction addresses of an instruction group of an instruction architecture which is basically supported by the information processing device, and includes a sequence code address from the SSAR group 1520. Read request with
Reads the specified sequence code. SS group 15
40 is connected to IS 1560 via signal line 15004 and IMU 1570 via signal line 15005
It is connected to the.
【0132】IS1560は、情報処理装置が基本的に
サポートしている命令アーキテクチャの命令群(命令語
群)を格納している記憶装置であり、前記SS群154
0から送られてきたシーケンスコードアドレスを命令ア
ドレスとして目的とする命令語を読み出す。該IS15
60は、信号線15006を介してIMU1570に接
続され、さらに信号線15007を介してIU1510
に接続される。The IS 1560 is a storage device that stores an instruction group (instruction word group) of an instruction architecture basically supported by the information processing apparatus.
The target instruction word is read using the sequence code address sent from 0 as the instruction address. The IS15
60 is connected to IMU 1570 via signal line 15006, and further connected to IU 1510 via signal line 15007.
Connected to.
【0133】IMU1570は、命令で指定された機能
をEU1580で実際に実行できるような命令語データ
を生成する命令修飾変換ユニットであり、IS1560
から読み出された命令語データを信号線15006を介
して受取り、SS群1540から信号線15005を介
して送られてくるシーケンスコードやIU1509から
信号線15010を介して送られてくるセットアップデ
ータの内容に基づいて、前記命令語データの任意のフィ
ールドのデータの修飾そして変換を行う。該IMU15
70は、信号線15007を介してIU1510に接続
され、修飾結果をIU1510に送る。The IMU 1570 is an instruction modification conversion unit that generates instruction data so that the EU 1580 can actually execute the function specified by the instruction.
The command code data read from the I / O unit is received via the signal line 15006, and the contents of the sequence code transmitted from the SS group 1540 via the signal line 15005 and the setup data transmitted from the IU 1509 via the signal line 15010 And modifies and converts data in an arbitrary field of the command data. The IMU15
70 is connected to the IU 1510 via the signal line 15007, and sends the modification result to the IU 1510.
【0134】EU1580は、IU1510から送られ
た命令の実行条件を含むIUセットアップデータから該
命令を実行する演算実行ユニットであり、この演算実行
に使用されるオペランドデータは、主記憶1500やレ
ジスタファイル群1590をアクセスして得る。レジス
タファイル群1590は、IP内に用意されているレジ
スタ群であり、命令語で指定できるオペランド用レジス
タとハードウェアが一時的に使用するテンポラリレジス
タとからなり、信号線15011を介してEU1580
に接続されている。An EU 1580 is an operation execution unit that executes an instruction from IU setup data including an execution condition of the instruction sent from the IU 1510. Operand data used for the execution of the operation includes a main storage 1500 and a register file group. Access and get 1590. The register file group 1590 is a register group prepared in the IP, and includes an operand register that can be specified by an instruction word and a temporary register temporarily used by hardware.
It is connected to the.
【0135】図16は、図15の構成のうち、情報処理
装置が基本的にサポートしているアーキテクチャの命令
語の読出し及び実行に関係するIU1510のIR15
11、IDEC1512、DS群1513、SSAR群
1520、SS群1540及びIAMR1600からな
る部分のハードウェアの詳細を示すブロック図である。FIG. 16 shows the IR 15 of the IU 1510 relating to the reading and execution of the instruction word of the architecture basically supported by the information processing apparatus, out of the configuration of FIG.
FIG. 11 is a block diagram showing details of hardware of a part including 11, IDEC 1512, DS group 1513, SSAR group 1520, SS group 1540, and IAMR 1600.
【0136】図16において、IR1511は、信号線
15001を介して主記憶1500と接続され、MS1
500から読み出された命令列が格納される。該IR1
511は、信号線16011を介してIDEC1512
と接続され、IDEC1512は信号線16012を介
してそれぞれDS(0)1513−0,DS(1)15
13−1,・・・,DS(n)1513−nのDS群1
513と接続されている。一方、IAMR1600に
は、信号線16001を介して前記MS1500から読
み出された命令列の命令アーキテクチャを規定する値が
入力される。該IAMR1600は信号線16002を
介して、それぞれEU1580とDS(0)1513−
0,DS(1)1513−1,・・・,DS(n)15
13−nのDS群1513と接続されている。In FIG. 16, IR 1511 is connected to main memory 1500 via signal line 15001, and IR 1511
The instruction sequence read out from 500 is stored. The IR1
Reference numeral 511 denotes an IDEC 1512 via a signal line 16011.
And IDEC 1512 are connected via signal line 16012 to DS (0) 1513-0 and DS (1) 15 respectively.
13-1,..., DS group 1 of DS (n) 1513-n
513. On the other hand, a value defining the instruction architecture of the instruction sequence read from the MS 1500 is input to the IAMR 1600 via the signal line 16001. The IAMR 1600 is connected to the EU 1580 and DS (0) 1513- via a signal line 16002, respectively.
0, DS (1) 1513-1,..., DS (n) 15
13-n DS group 1513.
【0137】DS(0)1513−0,DS(1)15
13−1,・・・,DS(n)1513−nからなるD
S群1513は、前記IR1511で解読された命令語
の命令解読結果と前記IAMR1600から送出される
命令アーキテクチャを規定する値によって、何れかの1
つのDSが選択される。それぞれのDSは、それぞれの
命令アーキテクチャに対応した命令語の命令解読結果を
元に該命令語のセットアップデータを生成はするが、こ
のセットアップデータには当該命令語に対応する先頭の
シーケンスコードを格納しているそれぞれの対応したS
S群1640の中の1つのSSに対応するアドレスであ
るシーケンスコードアドレスが含まれる。DS群151
3は、それぞれ信号線15009,15010を介して
IMU1570、EU1580に接続され、更に、該D
S群1513を形成するDS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
は、信号線15002−0、信号線15002−1,・
・・,信号線15002−nを介して、それぞれSSA
R群1520を形成するSSAR(0)1520−0、
SSAR(1)1520−1,・・・,SSAR(n)
1520−nと接続されている。DS (0) 1513-0, DS (1) 15
13-1,..., DS (n) 1513-n
The S group 1513 stores one of the ones according to the instruction decoding result of the instruction word decoded by the IR 1511 and the value defining the instruction architecture sent from the IAMR 1600.
DSs are selected. Each DS generates the setup data of the instruction word based on the instruction decoding result of the instruction word corresponding to the instruction architecture. The setup data stores the leading sequence code corresponding to the instruction word. Each corresponding S
A sequence code address which is an address corresponding to one SS in the S group 1640 is included. DS group 151
3 are connected to IMU 1570 and EU 1580 via signal lines 15009 and 15010, respectively.
DS (0) 1513-0, DS forming S group 1513
(1) 1513-1,..., DS (n) 1513-n
Are the signal lines 15002-0, 15002-1,.
.., SSA via signal line 15002-n
SSAR (0) 1520-0 forming R group 1520;
SSAR (1) 1520-1,..., SSAR (n)
1520-n.
【0138】SSAR群1520を形成しているSSA
R(0)1520−0、SSAR(1)1520−1,
・・・,SSAR(n)1520−nは、信号線150
02−0、信号線15002−1,・・・,信号線15
002−nを介して、それぞれDS(0)1513−
0、DS(1)1513−1,・・・,DS(n)15
13−nから送られて来たシーケンスコードアドレスを
一旦セットし、SS群1540を形成しているSS
(0)1540−0,SS(1)1540−1,・・
・,SS(n)1540−nに対し読み出し要求を出す
役割を持つアドレスレジスタである。SSAR(0)1
520−0,SSAR(1)1520−1,・・・,S
SAR(n)1520−nは、それぞれ信号線1500
3−0,信号線15003−1,・・・,信号線150
03−nを介してSS(0)1540−0、SS(1)
1540−1,・・・,SS(n)1540−nに接続
されている。SSA forming SSAR group 1520
R (0) 1520-0, SSAR (1) 1520-1,
, SSAR (n) 1520-n is connected to the signal line 150.
.., Signal line 15
002-n via DS (0) 1513-
0, DS (1) 1513-1,..., DS (n) 15
13-n, the sequence code address sent from SS-n is set once, and the SS forming the SS group 1540 is set.
(0) 1540-0, SS (1) 1540-1, ...
., SS (n) 1540-n is an address register that has a role of issuing a read request. SSAR (0) 1
520-0, SSAR (1) 1520-1,..., S
The SAR (n) 1520-n is connected to the signal line 1500
3-0, signal line 15003-1, ..., signal line 150
SS (0) 1540-0, SS (1) via 03-n
, SS (n) 1540-n.
【0139】SS群1540を形成しているSS(0)
1540−0、SS(1)1540−1,・・・,SS
(n)1540−nのそれぞれは、IS1560に格納
されているところの情報処理装置が基本的にサポートし
ている命令アーキテクチャの命令語の命令アドレスを指
定する複数のシーケンスコードを格納する記憶装置であ
り、SSAR群1520を形成しているSSAR(0)
1520−0、SSAR(1)1520−1,・・・,
SSAR(n)1520−nからのシーケンスコードア
ドレスを伴う読み出し要求により、指定されたシーケン
スコードを読み出してIS1560に送出する。該SS
(0)1540−0、SS(1)1540−1,・・
・,SS(n)1540−nのそれぞれは、信号線15
004,15005を介してIS1560,IMU15
70に接続されている。SS (0) forming SS group 1540
1540-0, SS (1) 1540-1,..., SS
(N) Each of 1540-n is a storage device for storing a plurality of sequence codes specifying instruction addresses of instruction words of an instruction architecture which is basically supported by the information processing device and stored in IS1560. Yes, SSAR (0) forming SSAR group 1520
1520-0, SSAR (1) 1520-1,...
In response to a read request with a sequence code address from SSAR (n) 1520-n, the specified sequence code is read and sent to IS 1560. The SS
(0) 1540-0, SS (1) 1540-1, ...
, SS (n) 1540-n are connected to the signal line 15
IS1560, IMU15 via 004, 15005
70.
【0140】図17は、SS群1540内に格納される
一つのシーケンスコードのエントリの形式と内容を説明
した図である。1つのシーケンスコードエントリはコー
ドタイプフィールド1701、アドレスフィールド17
02、PEOPフィールド1703、PEOPフィール
ド1704及び修飾パラメータフィールド1705の5
つのフィールドから構成される。FIG. 17 is a diagram for explaining the format and contents of one sequence code entry stored in the SS group 1540. One sequence code entry has a code type field 1701, an address field 17
02, the PEOP field 1703, the PEOP field 1704, and the modification parameter field 1705-5
It consists of two fields.
【0141】シーケンスコードエントリのコードタイプ
フィールド1701には、該シーケンスコードエントリ
のアドレスフィールド1702の内容を規定するフラグ
が格納される。更に、このフィールド1701には、I
S1560内の対応する命令語の種類を認識する情報も
格納される。In the code type field 1701 of the sequence code entry, a flag defining the contents of the address field 1702 of the sequence code entry is stored. Further, this field 1701 contains
Information for recognizing the type of the corresponding command word in S1560 is also stored.
【0142】アドレスフィールド1702には、該シー
ケンスコードエントリに対応するIS1560内の命令
語のアドレスまたは次に読み出されるべきシーケンスコ
ードエントリのアドレスが格納される。このアドレスフ
ィールドが、前記のどちらのアドレス情報を保持してい
るかは、コードタイプフィールドのフラグで判別され、
該アドレスフィールドが、次に読み出されるべきシーケ
ンスコードエントリのアドレスである場合、該アドレス
フィールドの内容は次に読み出されるシーケンスコード
エントリのアドレスとして使用される。これは、シーケ
ンスコードエントリの読み出し順序の変更に使用され
る。The address field 1702 stores the address of the instruction word in the IS 1560 corresponding to the sequence code entry or the address of the sequence code entry to be read next. Which of the above address information the address field holds is determined by the flag of the code type field,
If the address field is the address of the next sequence code entry to be read, the contents of the address field are used as the address of the next sequence code entry. This is used to change the reading order of the sequence code entry.
【0143】前記EOPフィールド1703には、一連
のシーケンスコードエントリから構成されるシミュレー
タ又はエミュレータの処理手順の終了を示すフラグが設
定される。即ち、シーケンスコードエントリのEOPフ
ィールドの値がオンであるシーケンスコードエントリが
読み出されると、オンであるEOPフィールドの値は即
座にIU1510に送られ(図15では、この経路は省
略してある)、IU群1510は、異なる命令アーキテ
クチャを持つ命令語の読み出しと解読を行ない、該命令
に対応する先頭のSS群1540のシーケンスコードエ
ントリアドレスを作成してSSAR群1520に送出
し、次の命令のシーケンスコードの読み出しを起動す
る。In the EOP field 1703, a flag indicating the end of the processing procedure of the simulator or emulator composed of a series of sequence code entries is set. That is, when a sequence code entry in which the value of the EOP field of the sequence code entry is ON is read, the value of the EOP field which is ON is immediately sent to the IU 1510 (in FIG. 15, this path is omitted). The IU group 1510 reads and decodes instruction words having different instruction architectures, creates a sequence code entry address of the first SS group 1540 corresponding to the instruction, sends it to the SSAR group 1520, and sends the next instruction sequence. Activate code reading.
【0144】PEOPフィールド1704には、一連の
シーケンスコードエントリから構成されるシミュレータ
又はエミュレータの処理手順の擬似的な終了を示すフラ
グが設定される。即ち、シーケンスコードエントリのP
EOPフィールドの値がオンであるシーケンスコードエ
ントリが読み出されると、一連のシーケンスコードエン
トリから構成されるシミュレータ又はエミュレータの処
理手順が終了していなくとも、該PEOPフィールドの
値は即座にIU群1510に送られ、IU群1510
は、異なる命令アーキテクチャを持つ次命令の読み出し
と解読を行ない、該命令に対応する先頭のSS群154
0のシーケンスコードエントリアドレスを作成しSSA
R群1520に送出し、次命令のシーケンスコードの読
み出しを起動する。In the PEOP field 1704, a flag is set which indicates a pseudo end of the processing procedure of the simulator or emulator which is composed of a series of sequence code entries. That is, the P of the sequence code entry
When a sequence code entry in which the value of the EOP field is ON is read, the value of the PEOP field is immediately stored in the IU group 1510 even if the processing procedure of the simulator or emulator composed of a series of sequence code entries has not been completed. Sent, IU group 1510
Reads and decodes the next instruction having a different instruction architecture, and reads the first SS group 154 corresponding to the instruction.
Create a sequence code entry address of SSA
It is sent to the R group 1520 to start reading the sequence code of the next instruction.
【0145】修飾パラメータフィールド1705には、
該シーケンスコードエントリのアドレスフィールドで指
定されるIS1560内から読み出された命令語を修飾
したり変更したりする際に使用される修飾パラメータが
格納される。この修飾パラメータは、信号線15005
を介してIMU1570に送出され、IS1560から
読み出された命令語データの任意のフィールドのデータ
の修飾そして変換に使用される。In the modification parameter field 1705,
A modification parameter used to modify or change an instruction read from the IS 1560 specified by the address field of the sequence code entry is stored. This modification parameter is the signal line 15005
And is used to modify and convert data in any field of the command data read from the IS 1560.
【0146】次に、図15及び図16を用いて、シミュ
レータ又はエミュレータ処理手順で異なる命令アーキテ
クチャを持つ命令の命令処理が、本発明の情報処理装置
でどのように行われるか説明する。Next, with reference to FIGS. 15 and 16, how the instruction processing of an instruction having a different instruction architecture in the simulator or emulator processing procedure is performed in the information processing apparatus of the present invention will be described.
【0147】図15、図16において、情報処理装置は
命令語の処理を開始するに先立ち、処理対象の命令アー
キテクチャモードの値をIAMR1600に信号線16
001を介してセットする。その後、IU1510は命
令語の読み出し要求を主記憶1500に対して送出し、
その読み出された命令語をIR1511にセットし、該
セットされた命令語をIDEC1512に送出し、該I
DEC1512は、該命令語の命令コードを解読して、
その命令解読結果をDS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
から成るDS群1513に送出する。In FIG. 15 and FIG. 16, the information processing apparatus sets the value of the instruction architecture mode to be processed to the IAMR 1600 on the signal line 16 before starting the processing of the instruction word.
Set via 001. After that, the IU 1510 sends a command word read request to the main memory 1500,
The read instruction is set in the IR 1511, the set instruction is sent to the IDEC 1512, and the I
The DEC 1512 decodes the instruction code of the instruction word,
DS (0) 1513-0, DS
(1) 1513-1,..., DS (n) 1513-n
To the DS group 1513 consisting of
【0148】前記IAMR1600に対し信号線160
01を介してセットされた命令語の命令アーキテクチャ
モードの値は、信号線16002を介してEU1580
に送られるとともに、DS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
から成るDS群1513に送出されて、前記IAMR1
600の命令アーキテクチャモードの値に対応した1つ
のDSが選択される。例えば、IAMR1600にセッ
トされた命令語の命令アーキテクチャモードの値が’
0’であれば、DS(0)1513−0が選択され、前
記命令アーキテクチャモードの値が’1’であれば、D
S(1)1513−1が選択され、そして、前記命令ア
ーキテクチャモードの値が’n’であれば、DS(n)
1513−nが選択される様に制御される。A signal line 160 is connected to the IAMR 1600.
01, the value of the instruction architecture mode of the instruction word set via EU1580 via signal line 16002
And DS (0) 1513-0, DS
(1) 1513-1,..., DS (n) 1513-n
Is transmitted to the DS group 1513 comprising the IAMR1
One DS corresponding to the value of the instruction architecture mode of 600 is selected. For example, if the value of the instruction architecture mode of the instruction word set in the IAMR 1600 is'
If 0, DS (0) 1513-0 is selected, and if the value of the instruction architecture mode is '1', D (0) 1513-0 is selected.
S (1) 1513-1 is selected, and if the value of the instruction architecture mode is 'n', DS (n)
1513-n is controlled to be selected.
【0149】DS群1513を構成しているDS(0)
1513−0,DS(1)1513−1,・・・,DS
(n)1513−nには、それぞれSSAR(0)15
20−0とSS(0)1540−0,SSAR(1)1
520−1とSS(1)1540−1,・・・,SSA
R(n)1520−nとSS(n)1540−nが対応
づけられており、それぞれのDSとSSには、異なる命
令アーキテクチャのシーケンスコードアドレスとシーケ
ンスコードが格納されている。DS (0) constituting DS group 1513
1513-0, DS (1) 1513-1,..., DS
(N) 1513-n has SSAR (0) 15
20-0 and SS (0) 1540-0, SSAR (1) 1
520-1, SS (1) 1540-1, ..., SSA
R (n) 1520-n and SS (n) 1540-n are associated with each other, and the respective DS and SS store sequence code addresses and sequence codes of different instruction architectures.
【0150】DS群1513の中から選択された目的の
DS(i)1513−iの出力であるシーケンスコード
アドレスは、SSAR群1520の対応する1つのSS
AR(i)1520−iにセットされ、SS群1540
を構成している前記DS(i)1513−iに対応する
1つのSS(i)1540−iに入力されて、目的とす
るシーケンスコードが読み出される。該読み出されたシ
ーケンスコードのコードタイプやアドレスフィールドは
信号線15004を介してIS1560へ、また、修飾
パラメータフィールドは信号線15005を介してIM
U1570に送出される。The sequence code address, which is the output of the target DS (i) 1513-i selected from the DS group 1513, corresponds to one corresponding SS in the SSAR group 1520.
AR (i) 1520-i and SS group 1540
Is input to one SS (i) 1540-i corresponding to the DS (i) 1513-i, and a target sequence code is read. The code type and address field of the read sequence code are sent to IS 1560 via signal line 15004, and the modification parameter field is sent to IM 1500 via signal line 15005.
It is sent to U1570.
【0151】IS1560は、前記SS(i)1540
−iから送られたシーケンスコードを命令アドレスとし
て目的とする命令語を読み出し、IMU1570に該読
み出した命令データを送出する。The IS 1560 is based on the SS (i) 1540
The target instruction word is read using the sequence code sent from -i as the instruction address, and the read instruction data is sent to the IMU 1570.
【0152】IMU1570は、IS1560で読み出
された命令データを受取り、SS(i)1540−iか
ら送られてくるシーケンスコード(修飾パラメータ)の
内容に基づいて、当該命令データの任意のフィールドの
データを修飾そして変換して、EU1580で実行可能
なフォーマットの命令語データ、すなわち、当該情報処
理装置が基本的にサポートしている命令アーキテクチャ
のフォーマットの命令語データを生成し、この命令語デ
ータを信号線15007を介してIU1510に送出す
る。IMU 1570 receives the instruction data read by IS 1560 and, based on the contents of the sequence code (modification parameter) sent from SS (i) 1540-i, stores the data in an arbitrary field of the instruction data. To generate instruction data in a format executable by EU 1580, that is, instruction data in a format of an instruction architecture basically supported by the information processing apparatus, and convert the instruction data into a signal. Send to IU 1510 via line 15007.
【0153】IU1510は、前記IMU1570から
の命令語データを受け取ると、あたかもMS1500か
ら読み出されたと同様に該命令語をIR1511にセッ
トし、該セットされた命令語をIDEC1512に送出
し、該IDEC1512は、該命令語の命令コードを解
読して、その命令解読結果をDS群1513に送出し、
該DS群1513のDS(i)1513−iは、前記命
令語の命令解読結果を元に、今度は該命令語に対応する
命令の実行パラメータである、該命令の実行の対象とな
る命令のオペランドアドレスやオペランドデータ及び命
令の実行に必要な命令実行タイプや命令実行手順の指定
などのIUセットアップデータを生成し、信号線150
10を介してEU1580に送出する。When the IU 1510 receives the command data from the IMU 1570, the IU 1510 sets the command in the IR 1511 as if it were read from the MS 1500, sends the set command to the IDEC 1512, and , Decodes the instruction code of the instruction word, and sends the instruction decryption result to the DS group 1513,
DS (i) 1513-i of the DS group 1513 is an execution parameter of an instruction corresponding to the instruction word, which is an execution parameter of the instruction corresponding to the instruction word, based on the instruction decoding result of the instruction word. It generates IU setup data such as operand address, operand data, and designation of an instruction execution type and an instruction execution procedure required for the execution of the instruction.
10 to the EU 1580.
【0154】一方、MS1500から読み出された命令
について、DS群1513を構成しているDS(0)1
513−0,DS(1)1513−1,・・・,DS
(n)1513−nが、前記IAMR1615の出力で
ある命令アーキテクチャモードの値とIDEC1512
から送出される命令解読結果とから、該命令はシーケン
スコードを使用せずに実行可能と判断した場合、選択さ
れたDSは、シーケンスコードアドレスを出力せず、そ
のかわりに、その命令に対応する情報処理装置が基本的
にサポートしている命令アーキテクチャそのものの命令
データを信号線1509を介してIMU1570に送出
する。該IMU1570は、前記情報処理装置が基本的
にサポートしている命令アーキテクチャの命令語データ
を受取り、該命令データの任意のフィールドのデータを
修飾そして変換して、実際にEU1580で該命令で指
定された機能を実行可能なフォーマットの命令語データ
を生成し、この命令語データをIU1510に送出す
る。この場合、選択されたDSに対応するSSARとS
Sの選択動作は抑止される。また、命令によっては、選
択されたDSは命令データをIMR1570へ送出せず
に、直ちにIUセットアップデータを生成してEU15
80に送出する。On the other hand, for the instruction read from MS 1500, DS (0) 1 forming DS group 1513
513-0, DS (1) 1513-1,..., DS
(N) 1513-n is the value of the instruction architecture mode which is the output of the IAMR 1615 and the IDEC 1512
When it is determined from the instruction decoding result sent from the above that the instruction can be executed without using the sequence code, the selected DS does not output the sequence code address, and instead, the selected DS does not output the sequence code address. The instruction data of the instruction architecture itself, which is basically supported by the information processing apparatus, is transmitted to the IMU 1570 via the signal line 1509. The IMU 1570 receives instruction word data of an instruction architecture basically supported by the information processing apparatus, modifies and converts data in an arbitrary field of the instruction data, and is actually specified by the instruction in the EU 1580. Command data in a format capable of executing the specified function, and sends the command data to the IU 1510. In this case, the SSAR and S corresponding to the selected DS
The selection operation of S is suppressed. Also, depending on the command, the selected DS does not send the command data to the IMR 1570, but immediately generates the IU setup data and
80.
【0155】以上、図16では、IR1511とIDE
C1512は1組としたが、これらを2組用意して、M
S1500からの命令語とIMU1570からの命令語
とで使い分けてもよい。更に、IMU1570からの命
令語についてはあらかじめ固有のDSを割り当てるよう
にしてもよい。これにより、DS群1513を形成して
いる各DSの構成を簡単化できる。As described above, in FIG.
C1512 is one set, but two sets are prepared and M
The command from S1500 and the command from IMU 1570 may be used separately. Furthermore, a unique DS may be assigned in advance to the instruction word from the IMU 1570. Accordingly, the configuration of each DS forming the DS group 1513 can be simplified.
【0156】図18は、本発明の情報処理装置が、シミ
ュレータ又はエミュレータ処理手順で異なる命令アーキ
テクチャを持つ命令の命令処理を行なう際に、該情報処
理装置が基本的にサポートしている命令アーキテクチャ
の命令を組み合わせて1つの異なる命令アーキテクチャ
の命令機能を実現した場合の、個々の命令に対応するシ
ーケンスコードと命令のIS内での記述例を示した図で
ある。FIG. 18 is a diagram showing an instruction architecture basically supported by the information processing apparatus when the information processing apparatus of the present invention performs instruction processing of instructions having different instruction architectures in a simulator or emulator processing procedure. FIG. 9 is a diagram illustrating a sequence code corresponding to each instruction and a description example of the instruction in the IS when an instruction function of one different instruction architecture is realized by combining instructions.
【0157】図18において、(1)は、記憶領域間の
データ移動を行なう機能を持つ命令アーキテクチャbの
命令Aを、複数のシーケンスコードと情報処理装置が基
本的にサポートしている命令アーキテクチャaの命令の
組合せで実現した場合のプログラミング順序を示したフ
ローチャートの例である。この命令Aは、図14の
(1)で示した命令と同じ機能を持つ。(2)は、記憶
領域間のデータの排他的論理和を行なう機能を持つ命令
アーキテクチャbの命令Bを、複数のシーケンスコード
と情報処理装置が基本的にサポートしている命令アーキ
テクチャaの命令の組合せで実現した場合のプログラミ
ング順序を示したフローチャートの例である。これは、
図14の(2)で示した命令と同じ機能を持つ。(3)
は、前記命令アーキテクチャbの命令Aと命令Bで使用
される命令アーキテクチャaの命令のIS上での配置状
況を示した図である。In FIG. 18, (1) shows an instruction architecture a in which an instruction architecture b having a function of moving data between storage areas is basically supported by a plurality of sequence codes and an information processing apparatus. 5 is an example of a flowchart showing a programming order in the case of being realized by a combination of instructions. This instruction A has the same function as the instruction shown in (1) of FIG. (2) is an instruction B of an instruction architecture b having a function of performing an exclusive OR of data between storage areas, which is a combination of a plurality of sequence codes and an instruction of an instruction architecture a basically supported by the information processing apparatus. 6 is an example of a flowchart showing a programming order when the combination is realized. this is,
It has the same function as the instruction shown in (2) of FIG. (3)
FIG. 4 is a diagram showing an arrangement state of instructions of the instruction architecture a used in the instruction A and the instruction B of the instruction architecture b on the IS.
【0158】例えば、命令アーキテクチャbの命令Aを
実行するに当たってのシミュレータ又はエミュレータ処
理手順は、SS群1540の中の1つのSSにシーケン
スコードアドレスaから始まる連続した領域に格納され
る複数のシーケンスコードとして記述され、それぞれの
シーケンスコードは、該当SSからシーケンスコードア
ドレスが増加する方向に逐次取り出され、IS1560
内の該シーケンスコードが指定す命令アドレスで指定さ
れる位置から命令アーキテクチャaの命令語が逐次取り
出される。図15で説明したように、この取り出された
命令アーキテクチャaの命令語をIMU1570に送出
し、該IMU1570で命令アーキテクチャbの命令A
の命令情報を用いて前記命令アーキテクチャaの命令デ
ータの所定のフィールドのデータを修飾そして変換し、
この命令語データをIU1510に送出し、IU群15
10からIUセットアップデータとしてEU1580に
送出する。命令アーキテクチャbの命令Bについても同
様である。For example, a simulator or emulator processing procedure for executing the instruction A of the instruction architecture b includes a plurality of sequence codes stored in a continuous area starting from the sequence code address a in one SS in the SS group 1540. And each sequence code is sequentially taken out from the corresponding SS in the direction in which the sequence code address increases, and
The instruction words of the instruction architecture a are sequentially extracted from the position specified by the instruction address specified by the sequence code. As described with reference to FIG. 15, the extracted instruction word of the instruction architecture a is transmitted to the IMU 1570, and the IMU 1570 executes the instruction A of the instruction architecture b.
Modifying and converting data in a predetermined field of the instruction data of the instruction architecture a using the instruction information of
This command data is sent to the IU 1510, and the IU group 15
10 to the EU 1580 as IU setup data. The same applies to the instruction B of the instruction architecture b.
【0159】図18に示すように、本例においては、異
なる命令アーキテクチャを持つ命令Aと命令Bをシミュ
レータ又はエミュレータ処理手順で処理を行なう際、情
報処理装置が基本的にサポートしているアーキテクチャ
の命令をIS1560内に10個格納しておけば良い。As shown in FIG. 18, in the present example, when processing instructions A and B having different instruction architectures in a simulator or emulator processing procedure, the information processing apparatus basically supports the architectures. What is necessary is just to store ten instructions in IS1560.
【0160】以上、本発明の情報処理装置が、シミュレ
ータ又はエミュレータ処理手順で異なる命令アーキテク
チャを持つ命令の命令処理を行なう場合のシミュレータ
又はエミュレータ処理手順の命令のIS内での記述頻度
の具体例とシーケンスコードのプログラミング順序の一
実施例を説明した。As described above, when the information processing apparatus of the present invention performs instruction processing of instructions having different instruction architectures in the simulator or emulator processing procedure, a specific example of the description frequency of the instruction of the simulator or emulator processing procedure in the IS will be described. One embodiment of the sequence of programming the sequence codes has been described.
【0161】次に、IMU1570に入力されるパラメ
ータと出力されるパラメータ及びIMU1570内での
命令の修飾変換操作について説明する。Next, the parameters to be input to and output from the IMU 1570 and the modification conversion operation of the instruction in the IMU 1570 will be described.
【0162】図15に示すように、IMU1570に入
力されるパラメータとしては、IU1510から信号線
15009を介して送られてくる、情報処理装置の基本
命令アーキテクチャとは異なる命令アーキテクチャを持
つ命令をシミュレーション又はエミュレーションするた
めの異なる命令アーキテクチャを持つ命令に関する命令
語データ、あるいは、情報処理装置の基本命令アーキテ
クチャと同じ命令アーキテクチャを持つ命令の場合のシ
ミュレーション又はエミュレーションする必要がない命
令に関する命令語データ、SS群1540から信号線1
5005を介して送られてくるシーケンスコードのうち
修飾パラメータフィールドの内容データ、更に、IS1
560から読み出され信号線15006を介して送られ
てくる情報処理装置が基本的にサポートしている命令ア
ーキテクチャの命令語データのパラメータ群がある。I
MU1570から出力されるパラメータとしては、IM
U1570に入力された情報処理装置の基本命令アーキ
テクチャと同じ命令アーキテクチャを持つ命令語を、実
際にIU群1510で解読し、EU1580で実行でき
るように、入力された命令語のデータを修飾そして変換
した結果の命令語データのパラメータがある。As shown in FIG. 15, as parameters input to IMU 1570, an instruction sent from IU 1510 via signal line 15009 and having an instruction architecture different from the basic instruction architecture of the information processing apparatus is simulated or processed. Instruction group data relating to an instruction having a different instruction architecture for emulation, or instruction group data relating to an instruction which does not need to be simulated or emulated in the case of an instruction having the same instruction architecture as the basic instruction architecture of the information processing apparatus, SS group 1540 From signal line 1
The content data of the modification parameter field in the sequence code sent via the
There is a parameter group of instruction word data of an instruction architecture which is basically supported by the information processing device read from the 560 and transmitted via the signal line 15006. I
The parameters output from MU 1570 include IM
The instruction word having the same instruction architecture as the basic instruction architecture of the information processing device input to U1570 is actually decoded by the IU group 1510, and the data of the input instruction word is modified and converted so that it can be executed by the EU1580. There is a parameter for the resulting command data.
【0163】まず、IU1510から送られてくる命令
語の種類は、前述の情報処理装置の基本命令アーキテク
チャとは異なる命令アーキテクチャを持つ命令語データ
そのものであり、前記のシミュレーション又はエミュレ
ーションが必要である。次に、IU1510から送られ
てくる命令語の種類は、情報処理装置の基本命令アーキ
テクチャと同じ命令アーキテクチャを持つ命令であっ
て、シミュレーション又はエミュレーションする必要が
なく、命令語データは、前述の情報処理装置の基本命令
アーキテクチャと同じ命令アーキテクチャを持つ命令語
データそのものである。シミュレーション又はエミュレ
ーションを行うために、IS1560から読み出された
命令語データは、、前述の情報処理装置の基本命令アー
キテクチャと同じ命令アーキテクチャを持つ命令語デー
タそのものである。First, the type of instruction sent from the IU 1510 is instruction data itself having an instruction architecture different from the basic instruction architecture of the information processing apparatus, and the above-described simulation or emulation is required. Next, the type of instruction sent from the IU 1510 is an instruction having the same instruction architecture as the basic instruction architecture of the information processing apparatus, and does not need to be simulated or emulated. The instruction word data itself has the same instruction architecture as the basic instruction architecture of the device. The instruction data read from the IS 1560 for performing the simulation or the emulation is the instruction data itself having the same instruction architecture as the basic instruction architecture of the information processing apparatus described above.
【0164】SS群1540から送られてくるシーケン
スコードのうち修飾パラメータフィールドのデータは、
前述のIS1560から送られてくる命令語データを修
飾あるいは変換する際の入力データである。この入力デ
ータとは、IU1510から送られてくる異なる命令ア
ーキテクチャを持つ命令語データを、ビット単位に抽出
するパラメータとして使用され、以下に示す修飾パラメ
ータ群から構成される。Data of the modification parameter field in the sequence code sent from SS group 1540 is
This is input data for modifying or converting the command word data sent from the IS1560. The input data is used as a parameter for extracting, in bit units, instruction data having a different instruction architecture sent from the IU 1510, and is composed of the following modification parameter groups.
【0165】即ち、異なる命令アーキテクチャを持つ命
令語データをソースオペランドとして、以下のパラメー
タが生成される。 修飾パラメータ1:抽出すべきビット位置を指定するパ
ラメータ。 修飾パラメータ2:抽出すべきビット幅を指定するパラ
メータ。 修飾パラメータ3:抽出すべきビット数を指定するパラ
メータ。 修飾パラメータ4:抽出したビットデータあるいはビッ
トデータ群に対する演算操作を指定するパラメータ。 修飾パラメータ5:演算操作後のビットデータあるいは
ビットデータ群の編集を指定するパラメータ。 修飾パラメータ6:編集操作後のビットデータを挿入す
べきビット位置を指定するパラメータ。 修飾パラメータ7:編集操作後のビットデータを挿入す
べきビット幅を指定するパラメータ。 修飾パラメータ8:編集操作後のビットデータを挿入す
べきビット数を指定するパラメータ。That is, the following parameters are generated using instruction word data having different instruction architectures as source operands. Modification parameter 1: A parameter that specifies a bit position to be extracted. Modification parameter 2: A parameter that specifies the bit width to be extracted. Modification parameter 3: A parameter that specifies the number of bits to be extracted. Modification parameter 4: A parameter that specifies an operation for the extracted bit data or bit data group. Modification parameter 5: A parameter for designating editing of bit data or a group of bit data after an arithmetic operation. Modification parameter 6: A parameter that specifies the bit position where the bit data after the editing operation is to be inserted. Modification parameter 7: A parameter for specifying the bit width into which the bit data after the editing operation is to be inserted. Modification parameter 8: A parameter that specifies the number of bits into which the bit data after the editing operation is to be inserted.
【0166】更に、この入力データは、前述のIS15
60から送られる同一の命令アーキテクチャを持つ命令
語データを、ビット単位に抽出するパラメータとしても
使用され、以下に示す修飾パラメータ群から構成され
る。即ち、同一の命令アーキテクチャを持つ命令語デー
タをソースオペランドとして、以下のパラメータが生成
される。 修飾パラメータ11:抽出すべきビット位置を指定する
パラメータ。 修飾パラメータ12:抽出すべきビット幅を指定するパ
ラメータ。 修飾パラメータ13:抽出すべきビット数を指定するパ
ラメータ。 修飾パラメータ14:抽出したビットデータあるいはビ
ットデータ群に対する演算操作を指定するパラメータ。 修飾パラメータ15:演算操作後のビットデータに’
0’あるいは’1’の固定値の挿入を指定するパラメー
タ。 修飾パラメータ16:演算操作後のビットデータあるい
はビットデータ群の編集を指定するパラメータ。 修飾パラメータ17:編集操作後のビットデータを挿入
すべきビット位置を指定するパラメータ。 修飾パラメータ18:編集操作後のビットデータを挿入
すべきビット幅を指定するパラメータ。 修飾パラメータ19:編集操作後のビットデータを挿入
すべきビット数を指定するパラメータ。 IMU1570は、前記修飾パラメータ群を用いて、次
のような手順で命令の修飾変換操作を実行する。なお、
修飾変換操作手順を開始する前に、IU1510からの
異なる命令アーキテクチャを持つ命令に関する命令語デ
ータ、SS群1540からの修飾パラメータ及びIS1
560からの該情報処理装置が基本的にサポートしてい
る命令アーキテクチャの命令語データは、IMU157
0内に既に入力されているとする。Further, the input data is based on the above-mentioned IS15
The instruction word data having the same instruction architecture sent from 60 is also used as a parameter for extracting in bit units, and is composed of the following modification parameter groups. That is, the following parameters are generated using instruction word data having the same instruction architecture as a source operand. Modification parameter 11: A parameter that specifies a bit position to be extracted. Modification parameter 12: A parameter that specifies the bit width to be extracted. Modification parameter 13: A parameter that specifies the number of bits to be extracted. Modification parameter 14: A parameter for specifying an operation for the extracted bit data or bit data group. Modification parameter 15: Bit data after operation
Parameter that specifies the insertion of a fixed value of '0' or '1'. Modification parameter 16: A parameter for designating editing of bit data or a group of bit data after an arithmetic operation. Modification parameter 17: A parameter that specifies the bit position where the bit data after the editing operation is to be inserted. Modification parameter 18: A parameter for specifying the bit width into which the bit data after the editing operation is to be inserted. Modification parameter 19: A parameter for specifying the number of bits into which the bit data after the editing operation is to be inserted. The IMU 1570 executes a command modification conversion operation in the following procedure using the modification parameter group. In addition,
Before starting the qualification conversion operation procedure, the instruction data for the instruction having a different instruction architecture from the IU 1510, the qualification parameter from the SS group 1540, and the IS1
The instruction word data of the instruction architecture from 560, which is basically supported by the information processing apparatus, is IMU157
It is assumed that the value has already been input within 0.
【0167】ステップ1:修飾パラメータ1、修飾パラ
メータ2及び修飾パラメータ3の指定に基づき、IU1
510から入力された異なる命令アーキテクチャを持つ
命令に関する命令語のビットデータを抽出して、所定の
機能毎に定められている1つ又は複数のグループにグル
ープ化し、グループ化された1つ又は複数のデータをこ
のステップの出力とする。ステップ2:修飾パラメータ
4の指定に基づき、ステップ1の出力に対し、所定の演
算操作を施し、演算操作を施された1つ又は複数のデー
タをこのステップの出力とする。ステップ3:修飾パラ
メータ5の指定に基づき、ステップ2の出力に対し、所
定の編集操作を施し、この編集操作を施されたことによ
ってフォーマット変換された1つ又は複数のデータをこ
のステップの出力とする。ステップ4:修飾パラメータ
6、修飾パラメータ7及び修飾パラメータ8の指定に基
づき、ステップ3の出力に対し、所定の機能毎に定めら
れている1つ又は複数のグループに再度グループ化し、
グループ化された1つ又は複数のデータをこのステップ
の出力とする。ステップ5:修飾パラメータ11、修飾
パラメータ12及び修飾パラメータ13の指定に基づ
き、IS1560から入力された同一の命令アーキテク
チャを持つ命令語のビットデータを抽出して、所定の機
能毎に定められている1つ又は複数のグループにグルー
プ化し、グループ化された1つ又は複数のデータをこの
ステップの出力とする。ステップ6:修飾パラメータ1
4の指定に基づき、ステップ4の出力とステップ5の出
力を入力オペランドとし、所定の演算操作を施し、この
演算操作を施された1つ又は複数のデータをこのステッ
プの出力とする。ステップ7:修飾パラメータ15の指
定に基づき、ステップ6の出力に対し、必要であれば’
0’あるいは’1’の固定値の挿入する操作を施し、こ
の操作を施された1つ又は複数のデータをこのステップ
の出力とする。Step 1: Based on the designation of the modification parameter 1, the modification parameter 2 and the modification parameter 3, the IU1
Bit data of an instruction word related to an instruction having a different instruction architecture input from 510 is extracted, grouped into one or more groups defined for each predetermined function, and one or more grouped Let the data be the output of this step. Step 2: Based on the designation of the modification parameter 4, a predetermined operation is performed on the output of step 1, and one or a plurality of data on which the operation is performed is set as the output of this step. Step 3: A predetermined editing operation is performed on the output of step 2 based on the designation of the modification parameter 5, and one or a plurality of data that has been format-converted by performing the editing operation is output as the output of this step. I do. Step 4: On the basis of the specification of the decoration parameters 6, the decoration parameters 7, and the decoration parameters 8, the output of the step 3 is re-grouped into one or a plurality of groups defined for each predetermined function,
One or more grouped data is output from this step. Step 5: Based on the specification of the modification parameter 11, the modification parameter 12, and the modification parameter 13, extract the bit data of the instruction word having the same instruction architecture input from the IS 1560, and determine the bit data for each predetermined function. One or a plurality of data is grouped into one or a plurality of groups, and one or a plurality of the grouped data is output as the output of this step. Step 6: Modification parameter 1
Based on the designation of 4, the output of step 4 and the output of step 5 are used as input operands, a predetermined operation is performed, and one or a plurality of data subjected to this operation is output as this step. Step 7: Based on the specification of the qualifying parameter 15, the output of step 6 may be performed as necessary, if necessary.
An operation of inserting a fixed value of 0 'or' 1 'is performed, and one or a plurality of data subjected to this operation is output as the output of this step.
【0168】ステップ8:修飾パラメータ16の指定に
基づき、ステップ7の出力に対し、所定の編集操作を施
し、この編集操作を施されたことによってフォーマット
変換された1つ又は複数のデータをこのステップの出力
とする。 ステップ9:修飾パラメータ17、修飾パラメータ18
及び修飾パラメータ19の指定に基づき、ステップ8の
出力に対し、所定の機能毎に定められている1つ又は複
数のグループに再度グループ化し、グループ化された1
つ又は複数のデータをこのステップの出力とする。この
ステップ9の出力が、IMU1570によって修飾及び
変換された結果の命令語データであり、情報処理装置の
基本命令アーキテクチャと同じ命令アーキテクチャを持
つ命令語としてIU1510に送出される。Step 8: A predetermined editing operation is performed on the output of step 7 based on the designation of the modification parameter 16, and one or a plurality of data that has been format-converted by the execution of this editing operation is output to this step. Output. Step 9: decoration parameter 17, decoration parameter 18
Based on the specification of the modification parameter 19, the output of step 8 is re-grouped into one or more groups defined for each predetermined function, and the grouped 1
One or more data are output from this step. The output of step 9 is the command data modified and converted by the IMU 1570 and sent to the IU 1510 as a command having the same command architecture as the basic command architecture of the information processing device.
【0169】次に、本発明の情報処理装置を半導体チッ
プ中に実装する場合の種々の実施例を図19乃至図25
に示す。Next, various embodiments in which the information processing apparatus of the present invention is mounted in a semiconductor chip will be described with reference to FIGS.
Shown in
【0170】図19は、図1に示した本発明のマイクロ
コ−ド制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第1の実施例を示すブロック図であ
る。図19において、IU110は、図7に示したよう
に命令レジスタ(IR)と命令解読器(IDEC)及び
セットアップデ−タ生成器(DS)などを内蔵している
が、これらを同一半導体チップ中に実装する。これを図
19では区画19−0で示す。また、論理回路からなる
SSAR群120と記憶回路素子からなるSS群140
及び論理回路からなるCSAR150とアドレス加算器
130を同一半導体チップ中に実装する。これを図19
では区画19−1で示す。同様に、記憶回路素子からな
るCS160と論理回路からなるCSDR170を同一
半導体チップ中に実装する。これを図19では区画19
−2で示す。FIG. 19 is a block diagram showing a first embodiment in which the information processing apparatus of the present invention shown in FIG. 1 for executing command processing under microcode control is mounted in a semiconductor chip. In FIG. 19, the IU 110 includes an instruction register (IR), an instruction decoder (IDEC), a setup data generator (DS), etc., as shown in FIG. To be implemented. This is shown by section 19-0 in FIG. Also, an SSAR group 120 composed of logic circuits and an SS group 140 composed of storage circuit elements are provided.
In addition, the CSAR 150 including the logic circuit and the address adder 130 are mounted on the same semiconductor chip. This is shown in FIG.
In FIG. Similarly, the CS 160 composed of a memory circuit element and the CSDR 170 composed of a logic circuit are mounted on the same semiconductor chip. This is shown in FIG.
Indicated by -2.
【0171】この様に実装することで、図19の区画1
9−0と区画19−1及び区画19−2の内部で閉じる
信号線に対する入出力端子を駆動する駆動回路を除去で
き、その結果、チップ内相互の信号伝送遅れを低減でき
る。更に、入出力端子を駆動する駆動回路を前記19−
0,19−1及び19−2の3つの区画を接続する信号
線にのみ付加すればよいので、情報処理装置の消費電力
を低減出来る。更に、入出力端子を経由しないことによ
り、物理的な入出力端子の数で制限されていた信号線の
数の制限を除去することが出来ると共に情報処理装置を
構成しているそれぞれの機能ブロックのグルーピングを
信号線が少なくなる様に区画を決定することにより、駆
動回路を必要とする入出力端子を経由する信号線の数を
容易に低減できる。By mounting as described above, the section 1 in FIG.
It is possible to eliminate a drive circuit for driving an input / output terminal for a signal line closed inside 9-0 and the sections 19-1 and 19-2, and as a result, it is possible to reduce a signal transmission delay between chips. Further, a drive circuit for driving the input / output terminals is provided in the 19-
The power consumption of the information processing apparatus can be reduced because it is necessary to add only to the signal lines connecting the three sections 0, 19-1, and 19-2. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0172】図20は、図1に示した本発明のマイクロ
コード制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第2の実施例を示すブロック図であ
る。図20においては、論理回路と記憶回路素子からな
るIU110、論理回路からなるSSAR群120、記
憶回路素子からなるSS群140、論理回路からなるC
SAR150とアドレス加算器130、記憶回路素子か
らなるCS160と論理回路からなるCSDR170の
すべてを、同一半導体チップ中に実装する。これを図2
0では区画20−1で示す。FIG. 20 is a block diagram showing a second embodiment in which the information processing apparatus of the present invention shown in FIG. 1 for performing instruction processing under microcode control is mounted in a semiconductor chip. In FIG. 20, an IU 110 including a logic circuit and a storage circuit element, an SSAR group 120 including a logic circuit, an SS group 140 including a storage circuit element, and a C including a logic circuit
The SAR 150, the address adder 130, the CS 160 including storage circuit elements, and the CSDR 170 including logic circuits are all mounted on the same semiconductor chip. Figure 2
A value of 0 indicates the section 20-1.
【0173】この様に実装することで、前記7つの機能
ブロック間をの相互に接続する信号線を広いデータ幅を
維持したまま結線出来、図20の区画20−1の内部で
閉じる信号線に対する入出力端子を駆動する駆動回路を
除去でき、その結果チップ内相互の信号伝送遅れを低減
できる。更に入出力端子を駆動する駆動回路をEU13
0を接続する信号線にのみ付加することで、情報処理装
置の消費電力を低減出来る。更に、入出力端子を経由し
ないことにより、物理的な入出力端子の数で制限されて
いた信号線の数の制限を除去することが出来ると共に情
報処理装置を構成しているそれぞれの機能ブロックのグ
ルーピングを信号線が少なくなる様に区画を決定するこ
とにより、駆動回路を必要とする入出力端子を経由する
信号線の数を容易に低減できる。By mounting in this manner, the signal lines interconnecting the seven functional blocks can be connected while maintaining a wide data width, and the signal lines to be closed inside the section 20-1 in FIG. The drive circuit for driving the input / output terminals can be eliminated, and as a result, the signal transmission delay between chips can be reduced. Further, a drive circuit for driving the input / output terminals is provided by EU13
The power consumption of the information processing apparatus can be reduced by adding only 0 to the signal line connecting the 0. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0174】図21は、図1に示した本発明のマイクロ
コード制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第3の実施例を示すブロック図であ
る。図21において、論理回路と記憶回路素子からなる
IU110、論理回路からなるSSAR群120、記憶
回路素子からなるSS群140、論理回路からなるCS
AR150とアドレス加算器130を同一半導体チップ
中に実装する。これを図21では区画21−1で示す。
同様に、記憶回路素子からなるCS160と論理回路か
らなるCSDR170を同一半導体チップ中に実装す
る。これを図21では区画21−2で示す。FIG. 21 is a block diagram showing a third embodiment in which the information processing apparatus of the present invention shown in FIG. 1 for performing instruction processing under microcode control is mounted in a semiconductor chip. In FIG. 21, an IU 110 including a logic circuit and a storage circuit element, an SSAR group 120 including a logic circuit, an SS group 140 including a storage circuit element, and a CS including a logic circuit
The AR 150 and the address adder 130 are mounted on the same semiconductor chip. This is indicated by section 21-1 in FIG.
Similarly, the CS 160 composed of a memory circuit element and the CSDR 170 composed of a logic circuit are mounted on the same semiconductor chip. This is indicated by section 21-2 in FIG.
【0175】この様に実装することで、図19の場合の
区画21−1及び区画21−2の内部で閉じる信号線に
対する入出力端子を駆動する駆動回路を除去でき、その
結果チップ内相互の信号伝送遅れを低減できる。更に入
出力端子を駆動する駆動回路を前記の2つの区画を接続
する信号線にのみ付加すればよいので、情報処理装置の
消費電力を低減出来る。更に、入出力端子を経由しない
ことにより、物理的な入出力端子の数で制限されていた
信号線の数の制限を除去することが出来ると共に情報処
理装置を構成しているそれぞれの機能ブロックのグルー
ピングを信号線が少なくなる様に区画を決定することに
より、駆動回路を必要とする入出力端子を経由する信号
線の数を容易に低減できる。By mounting as described above, the drive circuit for driving the input / output terminals for the signal lines closed inside the sections 21-1 and 21-2 in the case of FIG. 19 can be eliminated. Signal transmission delay can be reduced. Furthermore, since a driving circuit for driving the input / output terminals only needs to be added to the signal line connecting the two sections, the power consumption of the information processing device can be reduced. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0176】図22は、図15に示した本発明のシミュ
レータ又はエミュレータ制御で異なる命令アーキテクチ
ャを持つ命令の命令処理をハードウェアロジック制御で
行なう情報処理装置を半導体チップ中に実装する第1の
実施例を示すブロック図である。図22において、命令
レジスタ(IR)および命令解読器の論理回路とデータ
生成群(DS群)の記憶回路素子からなるIU151
0、論理回路からなるSSAR群1520、記憶回路素
子からなるSS群1540、論理回路からなるIS15
60とアドレス加算器1530とIMU1570を同一
半導体チップ中に実装する。これを図22では区画22
−1で示す。同様に、記憶回路素子からなるレジスタフ
ァイル群1590と論理回路からなるEU1580を同
一半導体チップ中に実装する。これを図22では区画2
2−2示す。FIG. 22 shows a first embodiment in which an information processing apparatus which executes instruction processing of instructions having different instruction architectures under the control of the simulator or emulator of the present invention shown in FIG. 15 by hardware logic control is mounted in a semiconductor chip. It is a block diagram showing an example. In FIG. 22, an IU 151 comprising a logic circuit of an instruction register (IR) and an instruction decoder and a storage circuit element of a data generation group (DS group)
0, SSAR group 1520 composed of logic circuits, SS group 1540 composed of storage circuit elements, IS15 composed of logic circuits
60, the address adder 1530 and the IMU 1570 are mounted on the same semiconductor chip. This is shown in FIG.
Indicated by -1. Similarly, a register file group 1590 composed of storage circuit elements and an EU 1580 composed of logic circuits are mounted on the same semiconductor chip. This is shown in FIG.
2-2 is shown.
【0177】この様に実装することで、図22の区画2
2−1及び区画22−2の内部で閉じる信号線に対する
入出力端子を駆動する駆動回路を除去でき、その結果チ
ップ内相互の信号伝送遅れを低減できる。更に入出力端
子を駆動する駆動回路を前記22−1と22−2の2つ
の区画を接続する信号線にのみ付加すればよいので、情
報処理装置の消費電力を低減出来る。更に、入出力端子
を経由しないことにより、物理的な入出力端子の数で制
限されていた信号線の数の制限を除去することが出来る
と共に情報処理装置を構成しているそれぞれの機能ブロ
ックのグルーピングを信号線が少なくなる様に区画を決
定することにより、駆動回路を必要とする入出力端子を
経由する信号線の数を容易に低減できる。By mounting as described above, the section 2 in FIG.
A drive circuit for driving an input / output terminal for a signal line closed inside the section 2-1 and the section 22-2 can be eliminated, and as a result, a signal transmission delay between chips can be reduced. Further, since a driving circuit for driving the input / output terminals only needs to be added to the signal line connecting the two sections 22-1 and 22-2, the power consumption of the information processing apparatus can be reduced. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0178】図23は、本発明のシミュレータ又はエミ
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御行なう情報処理装
置を半導体チップ中に実装する第2の実施例を示すブロ
ック図で、これは、特に図16に示した構成を半導体チ
ップ化する一実施例を示したものである。図23におい
て、論理回路からなるIR1511とIDEC1512
を同一半導体チップ中に実装する。これを図23では区
画23−1で示す。更に、記憶回路素子からなるDS
(0)1513−0とSS(0)1540−0及び論理
回路からなるSSAR(0)1520−0を同一半導体
チップ中に実装する。これを図23では区画23−2で
示す。同様に、記憶回路素子からなるDS(1)151
3−1とSS(1)1540−1及び論理回路からなる
SSAR(1)1520−1を同一半導体チップ中に実
装し(図23の区画23−3)、以下同様にして、記憶
回路素子からなるDS(n)1513−nとSS(n)
1540−n及び論理回路からなるSSAR(n)15
20−nを同一半導体チップ中に実装する(図23の区
画23−4)。FIG. 23 is a block diagram showing a second embodiment in which an information processing apparatus for performing hardware logic control of instructions having different instruction architectures under the control of a simulator or emulator of the present invention is mounted in a semiconductor chip. This particularly shows an embodiment in which the configuration shown in FIG. 16 is formed into a semiconductor chip. In FIG. 23, IR1511 and IDEC1512 each composed of a logic circuit
Are mounted in the same semiconductor chip. This is indicated by section 23-1 in FIG. Further, a DS comprising a storage circuit element
(0) 1513-0, SS (0) 1540-0 and SSAR (0) 1520-0 composed of a logic circuit are mounted on the same semiconductor chip. This is indicated by section 23-2 in FIG. Similarly, DS (1) 151 composed of a storage circuit element
3-1 and SSAR (1) 1520-1 comprising SS (1) 1540-1 and a logic circuit are mounted on the same semiconductor chip (section 23-3 in FIG. 23), and thereafter, similarly, from the storage circuit element. DS (n) 1513-n and SS (n)
SSAR (n) 15 comprising 1540-n and logic circuit
20-n are mounted in the same semiconductor chip (section 23-4 in FIG. 23).
【0179】この様に実装することで、図23において
は、区画23−1、区画23−2、区画23−3及び区
画23−4の内部で閉じる信号線に対する入出力端子を
駆動する駆動回路を除去でき、その結果チップ内相互の
信号伝送遅れを低減できる。更に入出力端子を駆動する
駆動回路を前記の2つの区画を接続する信号線にのみ付
加すればよいので、情報処理装置の消費電力を低減出来
る。更に、入出力端子を経由しないことにより、物理的
な入出力端子の数で制限されていた信号線の数の制限を
除去することが出来ると共に情報処理装置を構成してい
るそれぞれの機能ブロックのグルーピングを信号線が少
なくなる様に区画を決定することにより、駆動回路を必
要とする入出力端子を経由する信号線の数を容易に低減
できる。By mounting as described above, in FIG. 23, a drive circuit for driving an input / output terminal for a signal line closed inside the sections 23-1, 23-2, 23-3 and 23-4. , And as a result, the signal transmission delay between chips can be reduced. Furthermore, since a driving circuit for driving the input / output terminals only needs to be added to the signal line connecting the two sections, the power consumption of the information processing device can be reduced. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0180】図24は、本発明のシミュレータ又はエミ
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御で行なう情報処理
装置を半導体チップ中に実装する第3の実施例のブロッ
ク図で、図23と同様に、特に図16に示した構成を半
導体チップ化する他の実施例を示す。図24において
は、論理回路からなるIR1511とIDEC1512
を同一半導体チップ中に実装する(図24の区画24−
1)。同様に、記憶回路素子からなるDS(0)151
3−0とDS(1)1513−1及びDS(n)151
3−n及び論理回路からなるSSAR(0)1650−
0とSSAR(1)1650−1とSSAR(n)16
50−nを同一半導体チップ中に実装する(図24の区
画24−2)。同様に、記憶回路素子からなるSS
(0)1540−0とSS(1)1540−1及びSS
(n)1540−nを同一半導体チップ中に実装する
(図24の区画24−3)。FIG. 24 is a block diagram of a third embodiment of the present invention in which an information processing apparatus which executes instruction processing of instructions having different instruction architectures under the control of a simulator or emulator under the control of hardware logic is mounted in a semiconductor chip. 23 shows another embodiment in which the configuration shown in FIG. 16 is formed into a semiconductor chip. In FIG. 24, IR1511 and IDEC1512, which are composed of logic circuits,
Are mounted in the same semiconductor chip (section 24-- in FIG. 24).
1). Similarly, DS (0) 151 composed of a storage circuit element
3-0 and DS (1) 1513-1 and DS (n) 151
SSAR (0) 1650 comprising 3-n and logic circuit
0 and SSAR (1) 1650-1 and SSAR (n) 16
50-n are mounted in the same semiconductor chip (section 24-2 in FIG. 24). Similarly, the SS composed of the storage circuit element
(0) 1540-0 and SS (1) 1540-1 and SS
(N) 1540-n is mounted in the same semiconductor chip (section 24-3 in FIG. 24).
【0181】この様に実装することで、図24において
は、区画24−1、区画24−2及び区画24−3の内
部で閉じる信号線に対する入出力端子を駆動する駆動回
路を除去でき、その結果チップ内相互の信号伝送遅れを
低減できる。更に入出力端子を駆動する駆動回路を前記
の2つの区画を接続する信号線にのみ付加すればよいの
で、情報処理装置の消費電力を低減出来る。更に、入出
力端子を経由しないことにより、物理的な入出力端子の
数で制限されていた信号線の数の制限を除去することが
出来ると共に情報処理装置を構成しているそれぞれの機
能ブロックのグルーピングを信号線が少なくなる様に区
画を決定することにより、駆動回路を必要とする入出力
端子を経由する信号線の数を容易に低減できる。By mounting as described above, in FIG. 24, a drive circuit for driving an input / output terminal for a signal line closed inside the sections 24-1, 24-2 and 24-3 can be eliminated. As a result, a signal transmission delay between chips can be reduced. Furthermore, since a driving circuit for driving the input / output terminals only needs to be added to the signal line connecting the two sections, the power consumption of the information processing device can be reduced. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0182】図25は、本発明のシミュレータ又はエミ
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御で行なう情報処理
装置を半導体チップ中に実装する第4図の実施例のブロ
ック図で、図23及び図24と同様に、図16に示した
構成を半導体チップ化更にする更に他の実施例を示す。
図25において、論理回路からなるIR1511とID
EC1512を同一半導体チップ中に実装する(図25
の区画25−1)。同様に、記憶回路素子からなるIA
MR1600、DS(0)1513−0とDS(1)1
513−1及びDS(n)1513−nを同一半導体チ
ップ中に実装する(図25の区画25−2)。同様に、
論理回路からなるSSAR(0)1520−0とSSA
R(1)1520−1とSSAR(n)1520−n及
び記憶回路素子からなるSS(0)1540−0とSS
(1)1540−1及びSS(n)1540−nを同一
半導体チップ中に実装する(図25の区画25−3)。FIG. 25 is a block diagram of the embodiment of FIG. 4 in which an information processing apparatus which executes instruction processing of instructions having different instruction architectures under the control of a simulator or emulator under the control of hardware logic is implemented in a semiconductor chip. Then, as in FIGS. 23 and 24, there is shown still another embodiment in which the configuration shown in FIG. 16 is further integrated into a semiconductor chip.
In FIG. 25, IR1511 composed of a logic circuit and ID
The EC 1512 is mounted on the same semiconductor chip (FIG. 25)
Section 25-1). Similarly, an IA comprising a storage circuit element
MR1600, DS (0) 1513-0 and DS (1) 1
513-1 and DS (n) 1513-n are mounted on the same semiconductor chip (section 25-2 in FIG. 25). Similarly,
SSAR (0) 1520-0 consisting of a logic circuit and SSA
R (1) 1520-1 and SSAR (n) 1520-n and SS (0) 1540-0 and SS composed of storage circuit elements
(1) Mount 1540-1 and SS (n) 1540-n in the same semiconductor chip (section 25-3 in FIG. 25).
【0183】この様に実装することで、図25において
は、区画25−1、区画25−2及び区画25−3の内
部で閉じる信号線に対する入出力端子を駆動する駆動回
路を除去でき、その結果チップ内相互の信号伝送遅れを
低減できる。更に入出力端子を駆動する駆動回路を前記
の2つの区画を接続する信号線にのみ付加すればよいの
で、情報処理装置の消費電力を低減出来る。更に、入出
力端子を経由しないことにより、物理的な入出力端子の
数で制限されていた信号線の数の制限を除去することが
出来ると共に情報処理装置を構成しているそれぞれの機
能ブロックのグルーピングを信号線が少なくなる様に区
画を決定することにより、駆動回路を必要とする入出力
端子を経由する信号線の数を容易に低減できる。By mounting as described above, in FIG. 25, the drive circuit for driving the input / output terminals for the signal lines closed inside the sections 25-1, 25-2, and 25-3 can be eliminated. As a result, a signal transmission delay between chips can be reduced. Furthermore, since a driving circuit for driving the input / output terminals only needs to be added to the signal line connecting the two sections, the power consumption of the information processing device can be reduced. Further, by not passing through the input / output terminals, the limitation on the number of signal lines, which was limited by the number of physical input / output terminals, can be removed, and the function blocks of the respective information blocks constituting the information processing apparatus can be removed. By determining the grouping so that the number of signal lines is reduced, the number of signal lines passing through input / output terminals requiring a driving circuit can be easily reduced.
【0184】なお、図19乃至図21の実施例において
は、命令制御ユニット(IU)と実行ユニット(EU)
と命令アーキテクチャモードレジスタ(IAMR)は、
演算及び制御を司る電子回路として電磁波又は磁気又は
電子もしくは電磁波又は磁気又は電子のそれぞれの組み
合わせによる加工と化学的処理の組み合わせによる加工
で半導体チップ中に実装し、制御記憶(CS)とシーケ
ンス記憶(SS)は、データの記憶を司る為に誘電体の
特性を使用した記憶素子又は電子回路の結線を使用した
記憶素子として電磁波又は磁気又は電子もしくは電磁波
又は磁気又は電子の組み合わせによる加工と科学的処理
の組み合わせによる加工で半導体チップ中に実装し、セ
ットアップデータ生成部(DS)は、前記演算及び制御
を司る電子回路とデータの記憶を司る為に誘電体の特性
を使用した記憶素子又は電子回路の結線を使用した記憶
素子の双方に用いられる加工で半導体チップ中に実装す
ればよい。In the embodiment shown in FIGS. 19 to 21, the instruction control unit (IU) and the execution unit (EU)
And the instruction architecture mode register (IAMR)
As an electronic circuit for performing arithmetic and control, the semiconductor device is mounted in a semiconductor chip by processing using electromagnetic waves or magnetism or electrons or processing using a combination of electromagnetic waves or magnetism or electrons, and processing using a combination of chemical processing, control storage (CS) and sequence storage ( SS) is processing and scientific processing by electromagnetic waves or magnetism or electrons or a combination of electromagnetic waves or magnetism or electrons as storage elements using dielectric properties or storage elements using connection of electronic circuits to control data storage. A setup data generation unit (DS) is provided with an electronic circuit for controlling the operation and control and a storage element or an electronic circuit using characteristics of a dielectric material for managing data storage. What is necessary is just to mount in a semiconductor chip by the process used for both of the memory elements using the connection.
【0185】また、図22乃至図25の実施例において
は、同様に、命令制御ユニット(IU)の命令読出部と
命令バッファレジスタと命令解読部と実行ユニット(E
U)と命令アーキテクチャモードレジスタ(IAMR)
と命令修飾ユニットは、演算及び制御を司る電子回路と
して電磁波又は磁気又は電子もしくは電磁波又は磁気又
は電子のそれぞれの組み合わせによる加工と化学的処理
の組み合わせによる加工で半導体チップ中に実装し、命
令記憶(IS)とシーケンス記憶(SS)は、データの
記憶を司る為に誘電体の特性を使用した記憶素子又は電
子回路の結線を使用した記憶素子として電磁波又は磁気
又は電子もしくは電磁波又は磁気又は電子の組み合わせ
による加工と科学的処理の組み合わせによる加工で半導
体チップ中に実装し、セットアップデータ生成部(D
S)は、演算及び制御を司る電子回路とデータの記憶を
司る為に誘電体の特性を使用した記憶素子又は電子回路
の結線を使用した記憶素子の双方に用いられる加工で半
導体チップ中に実装すればよい。Similarly, in the embodiments shown in FIGS. 22 to 25, the instruction reading unit, instruction buffer register, instruction decoding unit and execution unit (E) of the instruction control unit (IU) are used.
U) and Instruction Architecture Mode Register (IAMR)
And the command modification unit are mounted in a semiconductor chip by processing by electromagnetic wave or magnetic or electronic or a combination of each of electromagnetic wave or magnetic or electronic and processing by a combination of chemical processing as an electronic circuit for controlling and controlling, and storing the instruction ( IS) and sequence storage (SS) are electromagnetic waves or magnetism or electrons or a combination of electromagnetic waves or magnetism or electrons as storage elements using characteristics of a dielectric substance or storage elements using connection of electronic circuits to control data storage. Is mounted in a semiconductor chip by processing using a combination of processing and scientific processing, and the setup data generation unit (D
S) is implemented in a semiconductor chip by processing used for both an electronic circuit that controls arithmetic and control and a storage element that uses characteristics of a dielectric to control data storage or a storage element that uses connection of an electronic circuit. do it.
【0186】[0186]
【発明の効果】本発明によるマイクロコード制御で命令
処理を行う情報処理装置においては、命令アーキテクチ
ャモードレジスタの命令アーキテクチャモードを変える
ことにより、同一の命令コードを持つ命令に対して、異
なる動作仕様を持つ命令処理を実行せしめることを可能
になる。According to the information processing apparatus of the present invention which performs instruction processing under microcode control, by changing the instruction architecture mode of the instruction architecture mode register, different operation specifications can be applied to instructions having the same instruction code. It becomes possible to execute the instruction processing which has.
【0187】また、制御記憶(CS)に着目した場合、
それぞれのシーケンス記憶(SS)に、マイクロコード
処理手順としてのマイクロ命令アドレスの組合せとその
実行順序をシーケンスコード列として格納することによ
り、情報処理装置の機械語レベルの命令機能を実現する
為に複数のマイクロ命令の複数の機能を組み合わせてマ
イクロコードを組み込む時、同一マイクロ命令を異なる
CSアドレス上に複数個格納しておく必要性を無くすこ
とが可能となる。その結果、マイクロコードで命令処理
を実現している情報処理装置のハードウェアの命令処理
性能を大幅に向上出来る。また、複数の命令アーキテク
チャをサポートするマイクロコード制御マルチ命令アー
キテクチャプロセッサが容易に実現可能となる。When attention is paid to the control storage (CS),
By storing a combination of microinstruction addresses as a microcode processing procedure and an execution order as a sequence code sequence in each sequence storage (SS), a plurality of instructions are provided to realize a machine language level instruction function of the information processing apparatus. When the microcode is incorporated by combining a plurality of functions of the microinstruction, the necessity of storing a plurality of the same microinstruction on different CS addresses can be eliminated. As a result, it is possible to greatly improve the instruction processing performance of the hardware of the information processing apparatus that realizes the instruction processing by the microcode. Further, a microcode-controlled multi-instruction architecture processor that supports a plurality of instruction architectures can be easily realized.
【0188】更に、マイクロ命令の種類数に比較して極
めて多い数のマイクロ命令をCS内に格納しておく必要
が無くなり、集積回路内の物理的なCS論理回路サイズ
を縮小出来る。この集積回路内の物理的なCSのサイズ
の縮小は、マイクロコードで命令処理を実現している情
報処理装置のハードウェアによるCSに対するアクセス
時間の短縮につながり、マイクロコード制御で命令処理
を行なう情報処理装置の性能を大幅に向上出来ると共
に、前記の集積回路内の物理的なCS論理回路サイズの
縮小は、マイクロコードで命令処理を実現している情報
処理装置を構成する最も重要な部品である大規模集積回
路のチップ面積の縮小につながり、これは情報処理装置
の製造コストを大幅に減少させるという工業製品を製造
する上での工業的効果が存在し、そして工業的コストを
抑えたマルチ命令アーキテクチャプロセッサを提供する
ことが出来る。Further, it is not necessary to store a very large number of micro-instructions in the CS as compared with the number of types of the micro-instructions, and the physical CS logic circuit size in the integrated circuit can be reduced. The reduction in the size of the physical CS in the integrated circuit leads to a reduction in the access time to the CS by the hardware of the information processing apparatus that realizes the instruction processing by the microcode, and the information for performing the instruction processing by the microcode control. The performance of the processing device can be greatly improved, and the reduction in the size of the physical CS logic circuit in the integrated circuit is the most important component of the information processing device that realizes the instruction processing by microcode. This leads to a reduction in the chip area of large-scale integrated circuits, which has the industrial effect in manufacturing industrial products that greatly reduces the manufacturing cost of information processing equipment, and multi-instructions that reduce industrial cost. An architecture processor can be provided.
【0189】また、本発明によるハードウェアロジック
制御で命令処理を行う情報処理装置においては、同様
に、命令アーキテクチャモードレジスタの命令アーキテ
クチャモードを変えることにより、同一の命令コードを
持つ命令に対して、異なる動作仕様を持つ命令処理を実
行せしめることを可能にする。Further, in the information processing apparatus for performing the instruction processing under the hardware logic control according to the present invention, similarly, by changing the instruction architecture mode of the instruction architecture mode register, the instruction having the same instruction code can be executed. It is possible to execute instruction processing having different operation specifications.
【0190】また、命令記憶(IS)に着目した場合、
それぞれのシーケンス記憶(SS)に、第2の命令アー
キテクチャを持つ命令の処理手順としての第1の命令ア
ーキテクチャ(情報処理装置が基本的にサポートしてい
る命令アーキテクチャ)を持つ命令アドレスの組合せと
その実行順序をシーケンスコード列として格納すること
により、情報処理装置の機械語レベルの命令機能を実現
する為に複数の第1の命令アーキテクチャを持つ命令の
複数の機能を組み合わせて第2の命令アーキテクチャを
持つ命令を組み込む時、同一の第1の命令アーキテクチ
ャを持つ命令を命令記憶の異なる記憶アドレス上に複数
個格納しておく必要性を無くすことが可能となる。その
結果、第1の命令アーキテクチャを持つ命令の組み合わ
せで第2の命令アーキテクチャを持つ命令の命令処理を
実現している情報処理装置のハードウェアの命令処理性
能を大幅に向上出来る。また、複数の命令アーキテクチ
ャをサポートするハードウェアロジック制御のマルチ命
令アーキテクチャプロセッサが容易に実現可能となる。When focusing on instruction storage (IS),
A combination of an instruction address having a first instruction architecture (an instruction architecture basically supported by an information processing apparatus) as a processing procedure of an instruction having a second instruction architecture is stored in each sequence memory (SS). By storing the execution order as a sequence code sequence, the second instruction architecture is implemented by combining a plurality of functions of instructions having a plurality of first instruction architectures in order to realize a machine language level instruction function of the information processing apparatus. When incorporating an instruction having the same instruction architecture, it is possible to eliminate the need to store a plurality of instructions having the same first instruction architecture at different storage addresses of instruction storage. As a result, the instruction processing performance of the hardware of the information processing apparatus that realizes the instruction processing of the instruction having the second instruction architecture with the combination of the instructions having the first instruction architecture can be significantly improved. Also, a hardware logic controlled multi-instruction architecture processor that supports a plurality of instruction architectures can be easily realized.
【0191】更に、第1の命令アーキテクチャを持つ命
令の種類数に比較して極めて多い数の第1の命令アーキ
テクチャを持つ命令を命令記憶内に格納しておく必要が
無くなり、集積回路内の物理的な命令記憶回路サイズを
縮小出来る。この集積回路内の物理的な命令記憶のサイ
ズの縮小は、第1の命令アーキテクチャを持つ命令の組
み合わせで第2の命令アーキテクチャを持つ命令の命令
処理を実現している情報処理装置のハードウェアによる
命令記憶に対するアクセス時間の短縮につながり、ハー
ドウェアロジック制御で命令処理を行なう情報処理装置
の性能を大幅に向上出来ると共に、前記の集積回路内の
物理的な命令記憶回路サイズの縮小は、第1の命令アー
キテクチャを持つ命令の組み合わせで第2の命令アーキ
テクチャを持つ命令の命令処理を実現している情報処理
装置を構成する最も重要な部品である大規模集積回路の
チップ面積の縮小につながり、これは情報処理装置の製
造コストを大幅に減少させるという工業製品を製造する
上での工業的効果が存在し、そして工業的コストを抑え
たマルチ命令アーキテクチャプロセッサを提供すること
が出来る。Furthermore, there is no need to store in the instruction storage a very large number of instructions having the first instruction architecture as compared with the number of types of instructions having the first instruction architecture. Instruction memory circuit size can be reduced. The size of the physical instruction storage in the integrated circuit is reduced by the hardware of the information processing apparatus that realizes the instruction processing of the instruction having the second instruction architecture by the combination of the instructions having the first instruction architecture. This leads to a reduction in the access time to the instruction storage, greatly improving the performance of the information processing apparatus that performs the instruction processing under the hardware logic control, and reducing the physical instruction storage circuit size in the integrated circuit. This leads to a reduction in the chip area of a large-scale integrated circuit, which is the most important component of an information processing device that realizes instruction processing of an instruction having a second instruction architecture by a combination of instructions having the same instruction architecture. Has an industrial effect in manufacturing industrial products that significantly reduces the cost of manufacturing information processing equipment. It is possible to provide a multi-instruction architecture processor with reduced industrial costs Te.
【0192】更に、前記命令制御ユニットと実行ユニッ
トと命令アーキテクチャモードレジスタそしてハードウ
ェアロジック制御で第1の命令アーキテクチャを持つ命
令処理を行う情報処理装置における命令修飾変換ユニッ
トは、演算及び制御を司る電子的な論理回路として半導
体チップ中に実装し、前記制御記憶そして命令記憶とシ
ーケンス記憶は、データの記憶を司る電子的な記憶素子
又は電子回路の結線を使用した記憶素子として前述の電
子的な論理回路と同一の半導体チップ中に実装し、前記
セットアップデータ生成部は、前記演算及び制御を司る
電子回路とデータの記憶を司る記憶素子又は電子回路の
結線を使用した記憶素子を同一の半導体チップ中に実装
し、命令制御ユニットと実行ユニットと命令アーキテク
チャモードレジスタと制御記憶そして命令記憶とシーケ
ンス記憶及びセットアップデータ生成部を同一の半導体
チップ中に実装する事で、記憶素子チップと論理回路チ
ップのチップ間を渡る為に生ずる電気信号の時間的遅れ
を削減することが可能となる。その結果、ある命令アー
キテクチャを持つ命令の組み合わせで別の命令アーキテ
クチャを持つ命令処理を実現している情報処理装置のハ
ードウェアの命令処理性能を大幅に向上出来る。Further, the instruction control unit, the execution unit, the instruction architecture mode register, and the instruction modification / conversion unit in the information processing apparatus which performs the instruction processing having the first instruction architecture by the hardware logic control are provided by an electronic control unit which performs operations and controls. The control memory, the instruction memory, and the sequence memory are implemented in a semiconductor chip as a general logic circuit, and the electronic memory described above is used as an electronic memory element for controlling data storage or a memory element using connection of an electronic circuit. The setup data generation unit is mounted in the same semiconductor chip as the circuit, and the electronic circuit that performs the arithmetic and control and the storage element that stores the data or the storage element that uses the connection of the electronic circuit are stored in the same semiconductor chip. Instruction control unit, execution unit and instruction architecture mode register By mounting the control unit, control storage, instruction storage, sequence storage, and setup data generation unit in the same semiconductor chip, the time delay of an electric signal generated between the storage element chip and the logic circuit chip can be reduced. It becomes possible. As a result, the instruction processing performance of the hardware of the information processing apparatus that realizes the processing of instructions having a different instruction architecture by a combination of instructions having a certain instruction architecture can be significantly improved.
【0193】更に、前述の如くに記憶素子と論理回路か
らなる構成要素を同一の半導体チップ中に実装する事
で、記憶素子チップと論理回路チップのチップ間の電気
信号を送受する入出力端子を除去することが可能とな
る。その結果、チップ上に実装できる物理的な入出力端
子の数の制限を除去することが出来る。その結果、記憶
素子と論理回路間の電気信号のデータ幅を大幅に拡張す
ることが出来、マイクロコードで命令処理を実現してい
る情報処理装置、そしてある命令アーキテクチャを持つ
命令の組み合わせで別の命令アーキテクチャを持つ命令
の命令処理を実現している情報処理装置のハードウェア
の命令処理性能を大幅に向上出来る。Further, as described above, the components comprising the storage element and the logic circuit are mounted on the same semiconductor chip, so that the input / output terminals for transmitting and receiving the electric signals between the storage element chip and the logic circuit chip are provided. It can be removed. As a result, the limitation on the number of physical input / output terminals that can be mounted on a chip can be eliminated. As a result, the data width of the electric signal between the storage element and the logic circuit can be greatly expanded, and the information processing device that realizes the instruction processing by the microcode, and another by the combination of the instructions having a certain instruction architecture. The instruction processing performance of the hardware of the information processing apparatus that realizes the instruction processing of the instruction having the instruction architecture can be greatly improved.
【0194】更に、前述の如くに記憶素子と論理回路か
らなる構成要素を同一の半導体チップ中に実装する事
で、記憶素子チップと論理回路チップのチップ間を渡る
電気信号を増幅する回路とその回路で消費される電力と
発熱を大幅に削減することが可能となる。その結果、マ
イクロコードで命令処理を実現している情報処理装置、
そしてある命令アーキテクチャを持つ命令の組み合わせ
で別の命令アーキテクチャを持つ命令ので命令処理を実
現している情報処理装置の消費される電力と発熱を大幅
に削減出来る。Further, as described above, by mounting the components comprising the storage element and the logic circuit on the same semiconductor chip, a circuit for amplifying an electric signal passing between the storage element chip and the logic circuit chip and the circuit for amplifying the electric signal are provided. The power consumed by the circuit and the heat generation can be significantly reduced. As a result, an information processing device that realizes instruction processing with microcode,
The power consumption and the heat generation of the information processing apparatus that realizes the instruction processing can be significantly reduced because the instructions having a certain instruction architecture are combined with another instruction architecture.
【図1】本発明の情報処理装置におけるマイクロ命令読
出し実行機構の一実施例を示すブロック図である。FIG. 1 is a block diagram showing an embodiment of a micro-instruction reading and executing mechanism in an information processing apparatus according to the present invention.
【図2】従来技術である情報処理装置のマイクロ命令読
出し実行機構の一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of a micro-instruction reading and executing mechanism of an information processing apparatus according to the related art.
【図3】従来技術である情報処理装置の命令制御ユニッ
トの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a command control unit of an information processing apparatus according to the related art.
【図4】従来技術である複数のマイクロ命令から構成さ
れるマイクロコード実行手順と複数のマイクロ命令のつ
ながりを示した図である。FIG. 4 is a diagram showing a connection between a microcode execution procedure composed of a plurality of microinstructions and a plurality of microinstructions according to the related art.
【図5】従来技術における命令機能を実現する上でのマ
イクロ命令機能の組合せとプログラミング順序の一例を
示す図である。FIG. 5 is a diagram showing an example of a combination of microinstruction functions and a programming order for realizing an instruction function in the related art.
【図6】本発明におけるシーケンス記憶内に格納される
1つのシーケンスコードエントリの形式と内容の例を示
した図である。FIG. 6 is a diagram showing an example of the format and content of one sequence code entry stored in a sequence storage according to the present invention.
【図7】本発明の情報処理装置における主要部の詳細構
成を示すブロック図である。FIG. 7 is a block diagram showing a detailed configuration of a main part in the information processing apparatus of the present invention.
【図8】本発明における命令機能を実現する上でのシー
ケンスコードとマイクロ命令機能の組合せとプログラミ
ング順序の一例を示した図である。FIG. 8 is a diagram showing an example of a combination of a sequence code and a microinstruction function and a programming order for realizing the instruction function in the present invention.
【図9】従来技術である情報処理装置の命令制御ユニッ
トの構成例を示す図である。FIG. 9 is a diagram illustrating a configuration example of a command control unit of an information processing apparatus according to the related art.
【図10】従来技術である情報処理装置とその上で動作
するオペレーティングシステムとアプリケーションプロ
グラムの構成と関係を示した図である。FIG. 10 is a diagram illustrating a configuration and a relationship between an information processing apparatus according to the related art, an operating system operating on the information processing apparatus, and an application program.
【図11】従来技術である情報処理装置が複数の異なる
命令アーキテクチャを持つ命令処理を行なう場合の情報
処理装置とオペレーティングシステムとアプリケーショ
ンプログラムの構成と関係を示した図である。FIG. 11 is a diagram illustrating the relationship between the configuration of an information processing apparatus, an operating system, and an application program when an information processing apparatus according to the related art performs instruction processing having a plurality of different instruction architectures.
【図12】従来技術である異なる命令アーキテクチャプ
ログラムをインタープリタなる手段で実行するときの機
能資源の構成と機能資源の役割を示した図である。FIG. 12 is a diagram showing a configuration of functional resources and a role of the functional resources when a different instruction architecture program according to the prior art is executed by means of an interpreter.
【図13】従来技術である異なる命令アーキテクチャプ
ログラムをシミュレータ又はエミュレータなる手段で実
行するときの機能資源の構成と機能資源の役割を示した
図である。FIG. 13 is a diagram showing a configuration of functional resources and a role of the functional resources when a different instruction architecture program according to the prior art is executed by means of a simulator or emulator.
【図14】従来技術における命令機能を実現する上での
命令機能の組合せとプログラミング順序の一例を示す図
である。FIG. 14 is a diagram showing an example of a combination of instruction functions and a programming order for realizing the instruction functions in the related art.
【図15】本発明のハードロジック制御で命令処理を行
なう情報処理装置における命令読出し実行機構の一実施
例を示すブロック図である。FIG. 15 is a block diagram showing an embodiment of an instruction reading and executing mechanism in the information processing apparatus which performs instruction processing under hard logic control according to the present invention.
【図16】図15の情報処理装置における主要部の詳細
構成を示した図である。FIG. 16 is a diagram showing a detailed configuration of a main part in the information processing apparatus of FIG. 15;
【図17】本発明における命令機能を実現する上でのシ
ーケンスコードと命令機能の組合せとプログラミング順
序の一例を示した図である。FIG. 17 is a diagram showing an example of a combination of a sequence code and an instruction function and a programming order for implementing the instruction function in the present invention.
【図18】本発明におけるシーケンス記憶内に格納され
る1つのシーケンスコードエントリの形式と内容の例を
示した図である。FIG. 18 is a diagram showing an example of the format and content of one sequence code entry stored in the sequence storage according to the present invention.
【図19】本発明におけるマイクロコ−ド制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する実
施例を示すブロック図である。FIG. 19 is a block diagram showing an embodiment in which an information processing device for performing instruction processing under microcode control according to the present invention is mounted in a semiconductor chip.
【図20】本発明におけるマイクロコ−ド制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する他
の実施例を示すブロック図である。FIG. 20 is a block diagram showing another embodiment in which an information processing apparatus for performing instruction processing under microcode control according to the present invention is mounted in a semiconductor chip.
【図21】本発明におけるマイクロコ−ド制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する更
に他の実施例を示すブロック図である。FIG. 21 is a block diagram showing still another embodiment in which an information processing apparatus for performing instruction processing under microcode control according to the present invention is mounted in a semiconductor chip.
【図22】本発明におけるハードロジック制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する実
施例を示すブロック図である。FIG. 22 is a block diagram showing an embodiment in which an information processing device for performing instruction processing under hard logic control according to the present invention is mounted in a semiconductor chip.
【図23】本発明におけるハードロジック制御で命令処
理を行なう情報処理装置の命令読出し実行機構を半導体
チップ中に実装する実施例を示すブロック図である。FIG. 23 is a block diagram showing an embodiment in which an instruction reading and executing mechanism of an information processing device that performs instruction processing under hard logic control according to the present invention is mounted in a semiconductor chip.
【図24】本発明におけるハードロジック制御で命令処
理を行なう情報処理装置の命令読出し実行機構を半導体
チップ中に実装する他の実施例を示すブロック図であ
る。FIG. 24 is a block diagram showing another embodiment in which the instruction reading and executing mechanism of the information processing apparatus for performing the instruction processing by the hard logic control according to the present invention is mounted in a semiconductor chip.
【図25】本発明における情報処理装置の命令読出し実
行機構を半導体チップ中に実装する更に他の実施例を示
すブロック図である。FIG. 25 is a block diagram showing still another embodiment in which the instruction reading and executing mechanism of the information processing apparatus according to the present invention is mounted in a semiconductor chip.
100,1500 主記憶 110,1510 命令制御ユニット 120,1520 シーケンス記憶アドレスレジスタ群 130,1530 アドレス加算器 140,1540 シーケンス記憶群 150 制御記憶アドレスレジスタ 160 制御記憶 170 制御記憶データレジスタ 180,1580 実行ユニット 111,1511 命令レジスタ 112,1512 命令解読器 113,1513 セットアップデータ生成器群 115,1615 命令アーキテクチャモードレジスタ 1560 命令記憶 1570 命令修飾変換ユニット 100, 1500 Main storage 110, 1510 Instruction control unit 120, 1520 Sequence storage address register group 130, 1530 Address adder 140, 1540 Sequence storage group 150 Control storage address register 160 Control storage 170 Control storage data register 180, 1580 Execution unit 111 , 1511 Instruction register 112, 1512 Instruction decoder 113, 1513 Setup data generator group 115, 1615 Instruction architecture mode register 1560 Instruction storage 1570 Instruction modification conversion unit
Claims (9)
ニットと、命令を実行する実行ユニットを具備してなる
情報処理装置において、 処理対象の命令のアーキテクチャモードを保持する命令
アーキテクチャモードレジスタと、 命令のアーキテクチャモード毎に、それぞれ命令処理に
必要なセットアップデータを生成する複数のセットアッ
プデータ生成部と、 命令のアーキテクチャモード毎に、それぞれ命令の実行
順序を定めたシーケンスコード列を格納する複数のシー
ケンス記憶と、 実行すべき命令語群を、重複を排して格納する命令記憶
とを設け、 前記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、処理対象命令の
解読結果を、前記選択されたセットアップデータ生成部
の入力として、当該命令の処理に必要なセットアップデ
ータを得、 前記得られたセットアップデータの少なくとも一部を、
前記複数のシーケンス記憶の中の一つのシーケンス記憶
の先頭読み出しアドレスとして、当該シーケンス記憶か
ら処理対象命令の実行順序を定めたシーケンスコード列
を読み出し、 前記読み出されたシーケンスコード列を前記命令記憶の
読み出しアドレス列として、該命令記憶から処理対象命
令に対応する命令語群を読み出し、前記実行ユニットへ
送出することにより、 複数のアーキテクチャの異なる命令を実行可能としたこ
とを特徴とする情報処理装置。1. An information processing apparatus comprising: an instruction control unit that reads and decodes an instruction; and an execution unit that executes the instruction. An instruction architecture mode register that holds an architecture mode of an instruction to be processed; A plurality of setup data generating units for respectively generating setup data required for instruction processing for each architecture mode; and a plurality of sequence storages for storing a sequence code sequence defining an execution order of instructions for each instruction architecture mode. And an instruction storage for storing a group of instruction words to be executed without duplication, wherein one setup data generation unit is selected from the plurality of setup data generation units by an output value of the instruction architecture mode register. And decode the result of the instruction to be processed. As input setup data generation unit that is, to give the set-up data necessary for the processing of the instruction, at least a portion of the resulting set-up data,
As a head read address of one of the sequence memories out of the plurality of sequence memories, a sequence code string that determines the execution order of the processing target instruction is read from the sequence memory, and the read sequence code string is stored in the instruction memory. An information processing apparatus, wherein an instruction group corresponding to a processing target instruction is read from the instruction storage as a read address string and sent to the execution unit, so that instructions having different architectures can be executed.
前記命令アーキテクチャモードレジスタの命令アーキテ
クチャモードを変えることにより、同一の命令コードを
持つ命令に対して、異なる動作仕様を持つ命令処理を実
行せしめることを特徴とする情報処理装置。2. The information processing apparatus according to claim 1, wherein
An information processing apparatus, wherein instruction processing having different operation specifications is executed for instructions having the same instruction code by changing the instruction architecture mode of the instruction architecture mode register.
ニットと、命令の実行を制御するための複数のマイクロ
命令を格納する制御記憶と、マイクロ命令を実行する実
行ユニットを備え、マイクロコード制御で命令処理を行
う情報処理装置において、 処理対象の命令のアーキテクチャモードを保持する命令
アーキテクチャモードレジスタと、 命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて異なるシーケンスコードアドレスを含む命令処
理のセットアップデータを生成する複数のセットアップ
データ生成部と、 命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて前記制御記憶に格納されているマイクロ命令の
実行順序を定めたシーケンスコード列を格納する複数の
シーケンス記憶とを設け、 前記命令アーキテクチャモードレジスタの出力によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、 処理対象命令の解読結果を、前記選択されたセットアッ
プデータ生成部の入力として、当該命令に対応するセッ
トアップデータを得、 前記得られたセットアップデータ中のシーケンスコード
アドレスを、前記複数のシーケンス記憶の中の一つのシ
ーケンス記憶の入力として、当該シーケンス記憶から前
記シーケンスコードアドレスを先頭にシーケンスコード
を順次読み出し、 前記読み出されたシーケンスコードを前記制御記憶の読
み出しアドレスに用いて、前記制御記憶からマイクロ命
令を順次読み出して実行ユニットに送出することを特徴
とする情報処理装置。3. An instruction control unit for reading and decoding an instruction, a control storage for storing a plurality of micro-instructions for controlling execution of the instruction, and an execution unit for executing the micro-instruction. In an information processing apparatus that performs instruction processing, an instruction architecture mode register that holds an architecture mode of an instruction to be processed, and instruction processing setup data including, for each instruction architecture mode, a sequence code address that differs according to the type of instruction. And a plurality of sequences for storing, for each architecture mode of the instruction, a sequence code sequence that defines the execution order of the microinstructions stored in the control storage according to the type of the instruction. Memory and the instruction architecture One of the setup data generators is selected from the plurality of setup data generators according to the output of the key mode register, and the decoding result of the instruction to be processed is input to the selected setup data generator, and A corresponding set-up data is obtained, a sequence code address in the obtained set-up data is set as an input of one of the plurality of sequence stores, and the sequence code is read from the sequence store with the sequence code address as a head. An information processing apparatus comprising: sequentially reading micro-instructions from the control storage using the read sequence code as a read address of the control storage, and transmitting the micro-instructions to an execution unit.
前記複数のセットアップデータ生成部の各々は、命令処
理のセットアップデータとして、前記命令の種類に応じ
て異なるシーケンスコードアドレスに加えてマイクロ命
令アドレスを生成する機能を有し、 前記選択されたセットアップデータ生成部は、解読され
た命令の種類によって、マイクロ命令アドレスを送出す
る条件が成立した場合、当該マイクロ命令アドレスを前
記制御記憶の入力として、該制御記憶から直接マイクロ
命令を読み出すことを特徴とする情報処理装置。4. The information processing apparatus according to claim 2,
Each of the plurality of setup data generation units has a function of generating a microinstruction address in addition to a different sequence code address according to the type of the instruction as setup data for instruction processing, The unit reads the microinstruction directly from the control storage using the microinstruction address as an input to the control storage when a condition for transmitting the microinstruction address is satisfied according to the type of the decoded instruction. Processing equipment.
格納する主記憶と、命令の読み出しと解読を行う命令制
御ユニットと、特定の命令アーキテクチャを持つ命令語
(以下、第1の命令アーキテクチャの命令語という)の
みを格納する命令記憶と、命令語を修飾する命令修飾ユ
ニットと、第1の命令アーキテクチャの命令語を実行す
る実行ユニットを具備してなる情報処理装置において、 処理対象の命令のアーキテクチャモードを保持する命令
アーキテクチャモードレジスタと、 命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じたセットアップデータを生成する複数のセットア
ップデータ生成部と、 命令のアーキテクチャモード毎に、それぞれ命令の実行
順序を定めたシーケンスコード列を格納する複数のシー
ケンス記憶を設け、 前記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、 前記主記憶から読み出された処理対象命令の解読結果
を、前記選択されたセットアップデータ生成部の入力と
して、当該命令の処理に必要なセットアップデータを
得、 前記得られたセットアップデータに少なくとも一部を、
前記複数のシーケンス記憶の中の一つのシーケンス記憶
の先頭読み出しアドレスとして、当該シーケンス記憶か
ら処理対象命令の実行順序を定めたシーケンスコードを
順次読み出し、 前記読み出されたシーケンスコードの少なくとも一部を
前記命令記憶の読み出しアドレスとして、該命令記憶か
ら処理対象命令に対応する前記第1のアーキテクチャの
命令語を順次読み出し、 前記読み出された命令語に対して前記命令修飾ユニット
修飾及び変換操作を行い、前記実行ユニットに送出する
ことを特徴とする情報処理装置。5. A main memory for storing an instruction having an arbitrary instruction architecture, an instruction control unit for reading and decoding instructions, and an instruction having a specific instruction architecture (hereinafter referred to as an instruction word of a first instruction architecture). ), An instruction modification unit for modifying the instruction word, and an execution unit for executing the instruction word of the first instruction architecture. An instruction architecture mode register that holds the instruction, a plurality of setup data generators that generate setup data corresponding to the instruction type for each instruction architecture mode, and an instruction execution order for each instruction architecture mode Multiple sequence memories for storing Selecting one setup data generation unit from the plurality of setup data generation units according to an output value of the instruction architecture mode register; and determining a decoding result of the processing target instruction read from the main storage by the selection. Obtained setup data required for processing the command as an input of the setup data generation unit, at least a part of the obtained setup data,
As a head read address of one of the plurality of sequence storages, a sequence code that determines an execution order of a processing target instruction is sequentially read from the sequence storage, and at least a part of the read sequence code is read. As a read address of the instruction storage, sequentially read the instruction words of the first architecture corresponding to the instruction to be processed from the instruction storage, perform the instruction modification unit modification and the conversion operation on the read instruction words, An information processing apparatus for transmitting the information to the execution unit.
前記選択されたセットアップデータ生成部は、処理対象
命令が第1のアーキテクチャを持つ命令以外の場合に、
生成したセットアップデータの一部をシーケンス記憶の
先頭読み出しアドレスとして当該シーケンス記憶に送出
し、処理対象命令が第1のアーキテクチャを持つ命令の
場合には、生成したセットアップデータをそのまま命令
修飾ユニットに送出することを特徴とする情報処理装
置。6. The information processing apparatus according to claim 5, wherein
The selected setup data generating unit, when the instruction to be processed is not an instruction having the first architecture,
A part of the generated setup data is sent to the sequence storage as a head read address of the sequence storage. If the processing target instruction is an instruction having the first architecture, the generated setup data is sent to the instruction modification unit as it is. An information processing apparatus characterized by the above-mentioned.
命令制御ユニット、命令アーキテクチャモードレジス
タ、セッフアップデータ生成部群、シーケンス記憶群及
び命令記憶の全部あるいはその所望の組み合せごとに一
つの半導体チップで実装したことを特徴とする情報処理
装置。7. The information processing apparatus according to claim 1, wherein
An information processing apparatus, wherein all of the instruction control unit, the instruction architecture mode register, the setup data generation unit group, the sequence storage group, and the instruction storage or a desired combination thereof are mounted on one semiconductor chip.
において、命令制御ユニット、命令アーキテクチャモー
ドレジスタ、セッフアップデータ生成部群、シーケンス
記憶群及び制御記憶の全部あるいはその所望の組み合せ
ごとに一つの半導体チップで実装したことを特徴とする
情報処理装置。8. The information processing apparatus according to claim 3, wherein one of the instruction control unit, the instruction architecture mode register, the set-up data generation unit group, the sequence storage group, and the control storage is provided for each or a desired combination thereof. An information processing device mounted on a semiconductor chip.
において、命令制御ユニット、命令アーキテクチャモー
ドレジスタ、セットアップデータ生成部群、シーケンス
記憶群、命令記憶及び命令修飾変換ユニットの全部ある
いはその所望の組み合せごとに一つの半導体チップで実
装したことを特徴とする情報処理装置。9. The information processing apparatus according to claim 5, wherein all of the instruction control unit, the instruction architecture mode register, the setup data generation unit group, the sequence storage group, the instruction storage and the instruction modification conversion unit, or a desired combination thereof. An information processing apparatus, wherein each of the information processing apparatuses is mounted on one semiconductor chip.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6813697A JPH1091429A (en) | 1996-07-26 | 1997-03-21 | Information processing device |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19744996 | 1996-07-26 | ||
| JP8-197449 | 1996-07-26 | ||
| JP6813697A JPH1091429A (en) | 1996-07-26 | 1997-03-21 | Information processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1091429A true JPH1091429A (en) | 1998-04-10 |
Family
ID=26409366
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6813697A Pending JPH1091429A (en) | 1996-07-26 | 1997-03-21 | Information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1091429A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008171428A (en) * | 2007-01-09 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | Method and apparatus for selecting an architecture level at which a processor appears to conform |
-
1997
- 1997-03-21 JP JP6813697A patent/JPH1091429A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008171428A (en) * | 2007-01-09 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | Method and apparatus for selecting an architecture level at which a processor appears to conform |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5826054A (en) | Compressed Instruction format for use in a VLIW processor | |
| US5787302A (en) | Software for producing instructions in a compressed format for a VLIW processor | |
| KR100300001B1 (en) | Dynamic conversion between different instruction codes by recombination of instruction elements | |
| US8583895B2 (en) | Compressed instruction format for use in a VLIW processor | |
| US5852741A (en) | VLIW processor which processes compressed instruction format | |
| JP2005182659A (en) | Vliw type dsp and its operation method | |
| US7139899B2 (en) | Selected register decode values for pipeline stage register addressing | |
| CN100380315C (en) | Device and method providing multiple instruction sets and multiple decoding modes | |
| EP0843848B1 (en) | Vliw processor which processes compressed instruction format | |
| US5862398A (en) | Compiler generating swizzled instructions usable in a simplified cache layout | |
| US11093243B2 (en) | Vector interleaving in a data processing apparatus | |
| JPH1091429A (en) | Information processing device | |
| EP0862111B1 (en) | Dynamic conversion between different instruction codes by recombination of instruction elements | |
| WO2025210335A1 (en) | Vector cryptographic processing | |
| GB2640130A (en) | Vector cryptographic processing | |
| JP2812501B2 (en) | Pipeline control method | |
| TW202439170A (en) | Technique for efficient multiplication of vectors of complex numbers | |
| GB2617829A (en) | Technique for handling data elements stored in an array storage | |
| CN119137578A (en) | Techniques for manipulating data elements stored in an array storage device | |
| JPH07191845A (en) | Immediate data transfer device | |
| JPS6153754B2 (en) | ||
| JPH02148328A (en) | System for prefetching operand data | |
| JPS62256135A (en) | Processing system for translation test instruction | |
| JPH09185505A (en) | Information processing device | |
| JPH04107633A (en) | Microprogram controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Effective date: 20040203 Free format text: JAPANESE INTERMEDIATE CODE: A02 |