JPH02236725A - Information processor - Google Patents

Information processor

Info

Publication number
JPH02236725A
JPH02236725A JP1059376A JP5937689A JPH02236725A JP H02236725 A JPH02236725 A JP H02236725A JP 1059376 A JP1059376 A JP 1059376A JP 5937689 A JP5937689 A JP 5937689A JP H02236725 A JPH02236725 A JP H02236725A
Authority
JP
Japan
Prior art keywords
instruction
type
register
program
microinstruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1059376A
Other languages
Japanese (ja)
Other versions
JP2536615B2 (en
Inventor
Tetsuyoshi Senda
千田 哲秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP1059376A priority Critical patent/JP2536615B2/en
Publication of JPH02236725A publication Critical patent/JPH02236725A/en
Application granted granted Critical
Publication of JP2536615B2 publication Critical patent/JP2536615B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To measure the number of steps of an execution instruction correctly by setting a register simultaneously with the start of the execution of an instruction program to realize a second class instruction, and resetting the register when an instruction representing the completion of the execution of the instruction program is executed. CONSTITUTION:The title device is constituted of a main storage 1, an instruction fetch circuit 2, a memory 3 for instruction analysis, a control memory circuit 4, a step counter 5, and the register 6. The register 6 is set to '1' simultaneously with the start of the execution of the instruction program to realize the second class instruction, and is reset to '0' when the instruction Ad representing the completion of the execution of the instruction program is executed. Since the register 6 holds '1' while the instruction program is executed, no count-up of the step counter 5 is performed even when a decode signal (d) goes to '1'. Thereby, it is possible to count the number of steps of a software instruction at every execution of the final step of the instruction program to realize the second class instruction.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラムにより制御される情報処
理装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device controlled by a microprogram.

〔従来の技術〕[Conventional technology]

従来、この種の情報処理装置では、処理性能の向上をは
かるために、マイクロプログラムを構成するマイクロ命
令が1ステップで実行する機能を多くして並列処理性を
高めた、ビット構成の大きないわゆる水平型マイクロ命
令化が顕著である。
Conventionally, in order to improve processing performance, this type of information processing device has a so-called horizontal processor with a large bit configuration, in which the microinstructions that make up the microprogram execute more functions in one step to improve parallel processing performance. The shift to type microinstructions is noticeable.

特に、基本演算命令など使用頻度の高いものについては
、上記の水平型マイクロ命令の特徴が最大限に生かせる
ようにハードウエアの構造も最適化されるので、マイク
ロプログラムステップ数がきわめて少な《実現される。
In particular, for frequently used instructions such as basic arithmetic instructions, the hardware structure is optimized to take full advantage of the features of the horizontal microinstructions mentioned above, so the number of microprogram steps is extremely small. Ru.

しかるに、他の多くの命令、例えば各種制御命令や主記
憶上でのデータ操作を繰り返すようなリスト処理命令な
どではシーケンシャルな処理が多《、このような機能に
対して高度に水平化されたマイクロ命令を使用しても、
lステップで実行する機能の並列度が高くないので、マ
イクロ命令の未使用フィールドが多《なり、マイクロプ
ログラムを格納する制御記憶のワード方向の利用効率が
悪いという欠点があった.この欠点を克服するために、
マイクロプログラムで実現される基本演算命令から構成
される命令プログラムにより、その他の各種制御命令な
どを実現する方式がとられる。この方式を用いた情報処
理装置を第3図を用いて説明する。第3図による情報処
理装置は、主記憶1、命令フェッチ回路2、命令解析用
メモリ3、制御記憶回路4、ステンプカウンタ(STC
)5から構成されている.主記憶1は、所定の処理を行
なうソフトウエアプログラム格納部11と、第1種の命
令で記述された複数の命令プログラム群格納部12とを
有する。
However, many other instructions, such as various control instructions and list processing instructions that repeat data operations in main memory, often involve sequential processing (a highly horizontal microprocessor is required for such functions). Even if you use the command
Since the degree of parallelism of the functions executed in l steps is not high, there are many unused fields of microinstructions, which has the disadvantage that the word-wise utilization of the control memory that stores the microprograms is poor. To overcome this drawback,
A method is adopted in which various other control instructions are realized by an instruction program consisting of basic operation instructions realized by a microprogram. An information processing apparatus using this method will be explained with reference to FIG. The information processing device shown in FIG.
) It consists of 5. The main memory 1 includes a software program storage section 11 that performs predetermined processing, and a plurality of instruction program group storage sections 12 that are written using first type instructions.

制御記憶回路4にはマイクロプログラムが格納されてお
り、制御記憶4lからマイクロ命令レジスタ(RD)4
4に読み出したマイクロ命令をデコーダ45でデコード
した信号により、第1種の命令で定義された機能を実現
するため、各種の演算処理を制御する。
A microprogram is stored in the control memory circuit 4, and a microinstruction register (RD) 4 is stored from the control memory 4l.
The signal obtained by decoding the microinstruction read out in step 4 by the decoder 45 controls various arithmetic processing in order to realize the function defined by the first type of instruction.

主記憶1上の格納部11のソフトウェアプログラムは命
令アドレスレジスタ(JAR)21に示されたアドレス
によって主記憶1から読み出され、命令バッファレジス
タ(IBR)22に格納される。命令の取り出しはプリ
フェッチと称して、実際にその命令を実行するタイミン
グには命令バッファレジスタ22にすでに到着済みであ
るように先取りされているのが一般的である。
The software program in the storage section 11 on the main memory 1 is read out from the main memory 1 according to the address indicated in the instruction address register (JAR) 21 and stored in the instruction buffer register (IBR) 22. The fetching of an instruction is called prefetching, and is generally fetched in advance so that the instruction has already arrived at the instruction buffer register 22 by the time the instruction is actually executed.

はじめに、第1種の命令すなわち制御記憶41上のマイ
クロプログラムで実現される命令について説明する。第
1種の命令は水平型マイクロ命令の並列処理の効果が十
分に発揮できる基本命令であり、一般にソフトウェアプ
ログラムに使用される頻度が格段に高いものである。命
令バンファレジスタ22に格納された命令の命令コード
部222は命令解析用メモリ3に供給されて、該当命令
の処理のマイクロプログラム制御に必要な初期値として
情報a,b,cをここから読み出してくる。
First, the first type of instructions, that is, the instructions implemented by the microprogram on the control memory 41, will be explained. The first type of instruction is a basic instruction that can fully take advantage of the parallel processing effect of horizontal microinstructions, and is generally used much more frequently in software programs. The instruction code section 222 of the instruction stored in the instruction buffer register 22 is supplied to the instruction analysis memory 3, from which information a, b, and c are read out as initial values necessary for microprogram control of the processing of the corresponding instruction. It's coming.

情報bはこの命令が第1種,第2種のいずれであるかを
示す情報であり、マイクロ命令シーケンサ(SEQ)4
2に提供される。第1種の命令であれば、マイクロ命令
シーケンサ(SEQ)42は、情報aを当該命令の処理
を実現するマイクロプログラムの先頭番地として制御記
憶41の読出しを行ない、読み出されたマイクロ命令は
一旦マイクロ命令レジスタ44に格納された上でデコー
ダ45に供給される。デコーダ45によりデコードした
出力信号dにより演算を制御する。
Information b is information indicating whether this instruction is type 1 or type 2, and is information that indicates whether this instruction is type 1 or type 2.
2. If it is the first type of instruction, the microinstruction sequencer (SEQ) 42 reads the control memory 41 using information a as the starting address of the microprogram that implements the processing of the instruction, and the read microinstruction is temporarily After being stored in the microinstruction register 44, it is supplied to the decoder 45. The calculation is controlled by the output signal d decoded by the decoder 45.

なお、マイクロ命令レジスタ44に格納されたマイクロ
命令には次のマイクロ命令を読み出すアドレスの決定方
法あるいはアドレスそのものの情報が含まれており、こ
れはマイクロ命令シーケンサ42に供給されて次のマイ
クロ命令を読み出し、以下逐次的に目的のマイクロプロ
グラムを実行していく。
Note that the microinstruction stored in the microinstruction register 44 includes information on how to determine the address from which to read the next microinstruction or information on the address itself, and this is supplied to the microinstruction sequencer 42 to read the next microinstruction. The target microprogram is then executed sequentially.

次に、第2種の命令すなわち第1種の命令からなるソフ
トウェアプログラムで実現される命令について説明する
。第2種の命令は、マイクロプログラムで実現しようと
すると、水平型マイクロ命令の並列処理の効果がそれほ
ど発揮できないものであり、むしろ垂直型のマイクロ命
令に近い使い方になるものである。
Next, instructions realized by a software program consisting of the second type of instructions, that is, the first type of instructions, will be explained. When the second type of instruction is attempted to be realized by a microprogram, the parallel processing effect of the horizontal type microinstruction cannot be exhibited as much, and the usage is rather similar to that of the vertical type microinstruction.

第2種の命令であることが命令解析用メモリ3の出力情
報bによってマイクロ命令シーケンサ(SEQ)42に
伝えられると、制御記憶41からのマイクロ命令レジス
タ44へのマイクロ命令の読出しは停止し、マイクロ命
令レジスタ44にはノーオペレーション(NOP)のマ
イクロ命令が格納されて演算動作が一時中断される。同
時に情報bは分岐アドレス生成回路23に提供されてお
り、第2種の命令であれば、情報Cを当該命令の処理を
する命令プログラムの開始番地として命令アドレスレジ
スタ21に格納し、同時にこのアドレスによって主記憶
1の格納部l2の命令プログラム群から命令を読み出す
動作を起動し、この命令プログラムの第1命令が命令バ
ッファレジスタ22に格納される。さらに情報bは、は
じめの第2種の命令の命令カウンタ25の値(命令のア
ドレス)を命令カウンタ待機レジスタ(ICR)26へ
格納することを指示する。
When the output information b of the instruction analysis memory 3 informs the microinstruction sequencer (SEQ) 42 that it is a second type instruction, the reading of the microinstruction from the control memory 41 to the microinstruction register 44 is stopped. A no-operation (NOP) microinstruction is stored in the microinstruction register 44, and the arithmetic operation is temporarily suspended. At the same time, information b is provided to the branch address generation circuit 23, and if it is a second type instruction, information C is stored in the instruction address register 21 as the start address of the instruction program that processes the instruction, and at the same time this address is starts the operation of reading an instruction from the instruction program group in the storage section l2 of the main memory 1, and the first instruction of this instruction program is stored in the instruction buffer register 22. Furthermore, information b instructs to store the value of the instruction counter 25 (instruction address) of the first type 2 instruction into the instruction counter standby register (ICR) 26.

ここで第2図を用いて第1種,第2種の命令について説
明する。この図では、第1種の命令をAn,第2種の命
令をBnで示している。ここまでの説明で、第2種の命
令B1によって、これを実行するための命令プログラム
Aa−Ab−eAc→Adの最初の命令Aaが命令バフ
ファレジスタ22に格納されていることになる。Aaは
第1種の命令であるので、さきに第3図を参照しながら
説明した通りに制御記憶41上のマイクロプログラムに
よって実現される。以下、Ab−*Acも同様である。
Here, the first type and second type instructions will be explained using FIG. In this figure, the first type of instruction is shown as An, and the second type of instruction is shown as Bn. In the explanation so far, the first instruction Aa of the instruction program Aa-Ab-eAc→Ad for executing the second type instruction B1 is stored in the instruction buffer register 22. Since Aa is a type 1 instruction, it is realized by the microprogram in the control memory 41 as described above with reference to FIG. The same applies to Ab-*Ac below.

Adは第1種の命令であるが、第2種の命令B1を実現
するための命令プログラムの最後の命令であり、元のソ
フトウェアプログラムシーケンス上で81の次の命令A
3に戻るための役割を果たす。
Although Ad is a first type instruction, it is the last instruction of the instruction program for realizing the second type instruction B1, and is the next instruction A of 81 on the original software program sequence.
It plays a role in returning to 3.

ここで、再び第3図を参照しながら命令Adの動作を説
明する,命令Adは命令カウンタ待避レジスタ26に保
存される番地をベースにした相対分岐命令として定義さ
れる。命令カウンタ待避レジスタ26には第2図の命令
B1の命令カウンタ値が保存されているので、前記相対
分岐命令の変位として命令B1の命令語長を設定するこ
とにより、分岐アドレス生成回路23において命令シー
ケンス上命令81の次の命令すなわち命令A3の命令ア
ドレスが生成されて命令アドレスレジスタ21に格納さ
れ、同時にこのアドレスによって主記憶1のソフトウェ
アプログラム格納部11から命令を読み出す動作を起動
し、この命令が命令バンファレジスタ22に格納される
。A3は第1種の命令であるので、さきに説明したよう
に制御記憶41上のマイクロプログラムによって実現さ
れ、以下逐次的にソフトウェアプログラム上の命令を実
行していく。
Here, the operation of instruction Ad will be explained with reference to FIG. 3 again. Instruction Ad is defined as a relative branch instruction based on the address stored in the instruction counter save register 26. Since the instruction counter value of instruction B1 in FIG. 2 is stored in the instruction counter save register 26, by setting the instruction word length of instruction B1 as the displacement of the relative branch instruction, the instruction The instruction address of the next instruction after instruction 81 in the sequence, that is, instruction A3, is generated and stored in the instruction address register 21, and at the same time, this address starts the operation of reading the instruction from the software program storage section 11 of the main memory 1, and this instruction is stored in the instruction buffer register 22. Since A3 is the first type of instruction, it is realized by the microprogram on the control memory 41 as described above, and the instructions on the software program are subsequently executed sequentially.

ところで、情報処理装置の性能を評価する指標として、
単位時間当たりの実行命令数が広く用いられている。単
位時間当たりの実行命令数は、各命令の実行に要する時
間にその命令の出現頻度をかけた値の和(すなわち平均
命令実行時間)の逆数として理論的に求められるが、実
際は各命令の出現頻度の見積りが困難であり、また命令
やオペランドがキャッシュメモリ中に存在する確率など
のパラメータの見積りも必要である。
By the way, as an index for evaluating the performance of an information processing device,
The number of instructions executed per unit time is widely used. The number of instructions executed per unit time is theoretically determined as the reciprocal of the sum of the time required to execute each instruction multiplied by the frequency of occurrence of that instruction (i.e., the average instruction execution time), but in reality, the number of instructions executed per unit time It is difficult to estimate the frequency, and it is also necessary to estimate parameters such as the probability that an instruction or operand exists in the cache memory.

そこで、このように理論的に平均命令実行時間を計算す
ることにより単位時間当たりの実行命令数を求める代わ
りに、単位時間当たりの実行命令数を実測する方法が用
いられる。この方法では、実行命令ステップ数を測定す
る手段、例えばソフトウェア命令を1ステップ実行する
度に1ずつ加算または減算するステップカウンタと呼ば
れるカウンタなどを設け、タイマにより計測した実時間
で、このステフプカウンタの値を割算することにより単
位時間当たりの実行命令数を求める。
Therefore, instead of calculating the number of instructions executed per unit time by theoretically calculating the average instruction execution time as described above, a method of actually measuring the number of instructions executed per unit time is used. In this method, a means for measuring the number of executed instruction steps, such as a counter called a step counter that increments or subtracts by 1 each time a software instruction is executed, is provided, and this step counter is measured in real time measured by a timer. Find the number of instructions executed per unit time by dividing the value of .

第3図のステンプカウンタ5がそれに相当する.第1種
命令を実現するためのマイクロ命令プログラムの最後の
ステップには必ずステップカウンタ更新マイクロ命令を
記述しておく。第1種命令を実現するためのマイクロ命
令プログラムの最後のステップを実行するときに、ステ
ンプカウンタ更新マイクロ命令が制御記憶41からマイ
クロ命令レジスタ44に読み出されると、その内容はデ
コーダ45によりデコードされ、デコード信号dがrl
Jになる.デコード信号dがrlJになったことにより
、ステップカウンタ5が1カウントアップする。以上に
より、第1種命令を実現するためのマイクロ命令プログ
ラムの最後のステップを実行する度にステソプカウンタ
5が1カウントアンプすることになり、実行したソフト
ウェア命令のステップ数が計測できる。
The stamp counter 5 in Figure 3 corresponds to this. A step counter update microinstruction is always written in the last step of a microinstruction program for implementing a type 1 instruction. When the step counter update microinstruction is read from the control memory 41 to the microinstruction register 44 when executing the last step of the microinstruction program for realizing a type 1 instruction, its contents are decoded by the decoder 45. , the decoded signal d is rl
Become J. Since the decode signal d becomes rlJ, the step counter 5 counts up by one. As described above, the step counter 5 increments one count each time the last step of the microinstruction program for implementing a type 1 instruction is executed, and the number of steps of the executed software instruction can be measured.

なお第3図において、43はマイクロアドレスレジスタ
である。
In FIG. 3, 43 is a micro address register.

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

第1種の命令で構成する命令プログラムにより第2種の
命令を実現する情報処理装置では、第1種の命令,第2
種の命令にかかわらず、1命令実行する度にステンプカ
ウンタ5を1ずつ更新しなくてはならない。ところが、
従来の装置では命令プログラム実行中には、命令プログ
ラムを構成する第1種命令の実行にともなってステップ
カウンタが余計に更新されてしまうため、実行命令ステ
ップ数が正確に計測できないという問題があった。
In an information processing device that realizes a second type of instruction by an instruction program configured with first type of instructions, the first type of instruction, the second type of instruction,
Regardless of the type of instruction, the step counter 5 must be updated by 1 every time one instruction is executed. However,
In conventional devices, during the execution of an instruction program, the step counter is updated unnecessarily as the type 1 instructions that make up the instruction program are executed, so there has been a problem that the number of executed instruction steps cannot be accurately measured. .

〔課題を解決するための手段〕[Means to solve the problem]

このような課題を解決するために本発明は、制御記憶上
のマイクロプログラムで実現される第1種の命令、およ
び第1種の命令で構成される命令プログラムにより実現
される第2種の命令を格納する主記憶と、第2種の命令
を実現するための命令プログラムの開始によりセットさ
れ、命令プログラムの終了によりリセットされるレジス
タと、このレジスタがリセット状態である場合のみ、ソ
フトウェア命令を1ステップ実行する度に1ずつ加算ま
たは減算される命令計数手段とを設けるようにしたもの
である。
In order to solve such problems, the present invention provides first type instructions realized by a microprogram on a control memory, and second type instructions realized by an instruction program composed of the first type instructions. A register that is set at the start of an instruction program to implement the second type of instruction and reset at the end of the instruction program, and a register that stores the software instruction 1 only when this register is in the reset state. An instruction counting means is provided which adds or subtracts one each time a step is executed.

〔作用〕[Effect]

本発明による情報処理装置は、第2種の命令を実現する
ための命令プログラムの実行開始と同時にレジスタをセ
ットし、命令プログラム実行終了を示す命令の実行時に
レジスタをリセットする。
The information processing device according to the present invention sets the register at the same time as the execution of the instruction program for realizing the second type of instruction starts, and resets the register at the time of execution of the instruction indicating the end of the instruction program execution.

〔実施例〕〔Example〕

第1図は、本発明による情報処理装置の一実施例を示す
系統図である。本実施例は、主記憶1、命令フエツチ回
路2、命令解析用メモリ3、制御記憶回路4、ステンプ
カウンタ5、レジスタ6から構成され、第1図において
第3図と同一部分又は相当部分には同一符号が付してあ
る。
FIG. 1 is a system diagram showing an embodiment of an information processing apparatus according to the present invention. This embodiment is composed of a main memory 1, an instruction fetch circuit 2, an instruction analysis memory 3, a control memory circuit 4, a stump counter 5, and a register 6. are given the same reference numerals.

はじめに、第1種の命令すなわち制御記憶41上のマイ
クロプログラムで実現される命令について説明する。第
1種の命令は水平型マイクロ命令の並列処理の効果が十
分に発揮できる基本命令であり、一般にソフトウエアプ
ログラムに使用される頻度が格段に高いものである。命
令バッファレジスタ22に格納された命令の命令コード
部222は命令解析用メモリ3に供給されて、該当命令
の処理のマイクロプログラム制御に必要な初期値として
情報a,b,cをここから読み出してくる。
First, the first type of instructions, that is, the instructions implemented by the microprogram on the control memory 41, will be explained. The first type of instructions are basic instructions that can fully take advantage of the parallel processing effect of horizontal microinstructions, and are generally used much more frequently in software programs. The instruction code part 222 of the instruction stored in the instruction buffer register 22 is supplied to the instruction analysis memory 3, and information a, b, and c are read from there as initial values necessary for microprogram control of the processing of the corresponding instruction. come.

情報bはこの命令が第1種のときに「0」となり、第2
種のときに「1」となる情報であり、マイクロ命令シー
ケンサ42に提供される。第1種の命令であればマイク
ロ命令シーケンサ42は情報aを当該命令の処理を実現
するマイクロプログラムの先頭番地として制御記憶41
の読出しを行ない、読み出されたマイクロ命令は一旦マ
イクロ命令レジスタ44に格納された上で各演算回路に
提供される。なお、このマイクロ命令には次の命令マイ
クロ命令を読み出すアドレスの決定方法あるいはアドレ
スそのものの情報が含まれており、これはマイクロ命令
シーケンサ42に供給されて次のマイクロ命令を読み出
し、以下逐次的に目的のマイクロプログラムを実行して
いく。
Information b becomes “0” when this instruction is the first type, and
This information is “1” when the instruction is a seed, and is provided to the microinstruction sequencer 42. If the instruction is of the first type, the microinstruction sequencer 42 stores information a in the control memory 41 as the starting address of the microprogram that implements the processing of the instruction.
The read microinstructions are once stored in the microinstruction register 44 and then provided to each arithmetic circuit. Note that this microinstruction includes information on the address itself or how to determine the address from which to read the next instruction microinstruction, and this is supplied to the microinstruction sequencer 42 to read out the next microinstruction, and thereafter sequentially. Executes the desired microprogram.

次に、第2種の命令すなわち第1種の命令からなるソフ
トウェアプログラムで実現される命令について説明する
。第2種の命令は、マイクロプログラムで実現しようと
すると、水平型マイクロ命令の並列処理の効果をそれほ
ど発揮できないものであり、むしろ垂直型のマイクロ命
令に近い使い方になるものである。
Next, instructions realized by a software program consisting of the second type of instructions, that is, the first type of instructions, will be explained. When the second type of instruction is realized by a microprogram, the parallel processing effect of the horizontal microinstruction cannot be exhibited as much, and the usage is rather similar to that of the vertical microinstruction.

第2種の命令であることが命令解析用メモリ3の出力情
報bによってマイクロ命令シーケンサ42に伝えられる
と、制御記憶41からマイクロ命令レジスタ44へのマ
イクロ命令の読出しは停止し、マイクロ命令レジスタ4
4にはノーオペレーション(NOP)のマイクロ命令が
格納されて、マイクロ命令により制御される演算動作が
一時中断される。同時に情報bは分岐アドレス生成回路
23に提供されており、第2種の命令であれば、情報C
を当該命令の処理をする命令プログラムの開始番地とし
て命令アドレスレジスタ21に格納し、同時にこのアド
レスによって主記憶1の命令プログラム群格納分割12
から命令を読み出す動作を起動し、この命令プログラム
の第1命令が命令バフファレジスタ22に格納される.
さらに、情報bは、はじめの第2種の命令の命令カウン
タ25の値(命令のアドレス)を命令カウンタ待避レジ
スタ26へ格納することを指示するとともに、レジスタ
6を「1」にセットする。
When the output information b of the instruction analysis memory 3 informs the microinstruction sequencer 42 that it is a second type instruction, the reading of the microinstruction from the control memory 41 to the microinstruction register 44 is stopped, and the microinstruction register 44 stops reading the microinstruction from the control memory 41.
4 stores a no-operation (NOP) microinstruction, and the arithmetic operation controlled by the microinstruction is temporarily suspended. At the same time, information b is provided to the branch address generation circuit 23, and if it is a second type instruction, information C is provided.
is stored in the instruction address register 21 as the start address of the instruction program that processes the instruction, and at the same time, the instruction program group storage division 12 of the main memory 1 is stored using this address.
The first instruction of this instruction program is stored in the instruction buffer register 22.
Further, information b instructs to store the value of the instruction counter 25 (instruction address) of the first type 2 instruction in the instruction counter save register 26, and sets the register 6 to "1".

ここで、第2図を用いて第1種.第2種の命令について
説明する。この図では、第1種の命令をAn,第2種の
命令をBnで示している。ここまでの説明で、第2種の
命令B1によって、これを実行するための命令プログラ
ムA a −* A b −* A c−Adの最初の
命令Aaが命令バッファ22に格納されていることにな
る。Aaは第1種の命令であるので、さきに第1図を参
照しながら説明した通りに制御記憶41上のマイクロプ
ログラムによって実現される。以下、Ab−+Acも同
様である.Adは第1種の命令であるが、第2種の命令
B1を実現するための命令プログラムの最後の命令であ
り、元のソフトウェアプログラムシーケンス上で81の
次の命令A3に戻るための役割を果たす。
Here, using Figure 2, type 1. The second type of command will be explained. In this figure, the first type of instruction is shown as An, and the second type of instruction is shown as Bn. In the explanation so far, the first instruction Aa of the instruction program A a -* A b -* A c-Ad for executing this is stored in the instruction buffer 22 by the second type of instruction B1. Become. Since Aa is a type 1 instruction, it is realized by the microprogram in the control memory 41 as described above with reference to FIG. The same applies to Ab-+Ac below. Although Ad is a first type instruction, it is the last instruction of the instruction program for realizing the second type instruction B1, and plays the role of returning to the next instruction A3 of 81 on the original software program sequence. Fulfill.

ここで、再び第1図を参照しながら命令Adの動作を説
明する。命令Adは命令カウンタ待避レジスタ26に保
存される番地をベースにした相対分岐命令として定義さ
れる。まず、命令解析用メモリ3の出力Cによりレジス
タ6が「0」にリセフトされる。Adは第1種のメモリ
であるので、さきに説明したように制御記憶4l上のマ
イクロプログラムによって命令カウンタ待避レジスタ2
6に保持された第2図の命令B1の命令カウンタ値に、
前記相対分岐命令の変位として命令B1の命令語長を加
算することにより、分岐アドレス生成回路23において
、命令シーケンス上命令B1の次の命令すなわち命令A
3の命令アドレスが生成される。生成された命令アドレ
スは命令アドレスレジスタ21に格納され、同時にこの
アドレスによって主記憶1のソフトウェアプログラム格
納部11から命令を読み出す動作を起動し、この命令が
命令バッファレジスタ22に格納される.以下逐次的に
ソフトウェアプログラム上の命令を実行していく.本実
施例は命令解析用メモリ3の出力によりレジスタ6のリ
セットを行なっているが、本発明はこれに限定すること
なく、例えばマイクロ命令によりレジスタ6のリセット
を行なってもかまわない. 以上の説明は、第2種の命令を実現するための命令プロ
グラムの実行開始と同時にレジスタ6をrlJにセット
し、命令プログラムの実行終了を示す命令Adの実行時
にレジスタ6をrOJにリセットすることを除き、第3
図の従来装置の説明とまったく同じである. ここで、本実施例においてステップカウンタ5がいかに
更新されるかを説明する.まず、第2種の命令を実現す
るための命令プログラムを実行していない場合のステッ
プカウンタ5の更新を説明する。予め第1種命令を実現
するためのマイクロ命令プログラムの最後のステップに
は必ずステンプカウンタ更新マイクロ命令を記述してお
く.第1種命令を実現するためのマイクロ命令プログラ
ムの最後のステップを実行するときに、ステンプカウン
タ更新マイクロ命令が制御記憶41からマイクロ命令レ
ジスタ44に読み出されると、その内容はデコーダ45
によりデコードされ、デコード信号dが「1」になる。
Here, the operation of the instruction Ad will be explained with reference to FIG. 1 again. Instruction Ad is defined as a relative branch instruction based on the address stored in the instruction counter save register 26. First, the register 6 is reset to "0" by the output C of the instruction analysis memory 3. Since Ad is the first type of memory, the instruction counter save register 2 is saved by the microprogram on the control memory 4l as explained earlier.
The instruction counter value of instruction B1 in FIG. 2, which is held at 6, is
By adding the instruction word length of instruction B1 as the displacement of the relative branch instruction, the branch address generation circuit 23 calculates the instruction next to instruction B1 in the instruction sequence, that is, instruction A.
3 instruction addresses are generated. The generated instruction address is stored in the instruction address register 21, and at the same time, this address starts the operation of reading an instruction from the software program storage section 11 of the main memory 1, and this instruction is stored in the instruction buffer register 22. The instructions on the software program are then executed sequentially. In this embodiment, the register 6 is reset by the output of the instruction analysis memory 3, but the present invention is not limited to this, and the register 6 may be reset by, for example, a microinstruction. In the above explanation, register 6 is set to rlJ at the same time as the execution of the instruction program for implementing the second type of instruction starts, and register 6 is reset to rOJ when the instruction Ad indicating the end of execution of the instruction program is executed. except for the third
This is exactly the same as the explanation for the conventional device shown in the figure. Here, how the step counter 5 is updated in this embodiment will be explained. First, updating of the step counter 5 when the instruction program for realizing the second type of instruction is not executed will be explained. Be sure to write the step counter update microinstruction in advance in the last step of the microinstruction program to implement the type 1 instruction. When the stump counter update microinstruction is read from the control memory 41 to the microinstruction register 44 when executing the last step of the microinstruction program for realizing a type 1 instruction, its contents are transferred to the decoder 45.
The decoded signal d becomes "1".

デコード信号dとレジスタ6の保持する値の否定との論
理積信号がステンプカウンタ5のカウントアンプ信号と
なっている。命令プログラムを実行していない場合はレ
ジスタ6はrOJを保持するため、デコード信号が「1
」になったことにより、ステップカウンタ5が1カウン
トアップする.以上により、第1種命令を実現するため
のマイクロ命令プログラムの最後のステップを実行する
度にステンプカウンタ5が1カウントアップすることに
なり、実行したソフトウェア命令のステップ数を計測す
ることができる。
The AND signal of the decode signal d and the negation of the value held in the register 6 serves as the count amplifier signal of the step counter 5. When the instruction program is not executed, register 6 holds rOJ, so the decode signal is "1".
”, the step counter 5 increments by one. As described above, the step counter 5 counts up by 1 each time the last step of the microinstruction program for realizing a type 1 instruction is executed, and the number of executed software instruction steps can be measured. .

次に、第2種の命令を実行する場合のステップカウンタ
5の更新を説明する.第2種の命令の実行によりレジス
タ6が「1」にセットされ、命令プログラムへの分岐が
行なわれることについては既に説明した通りである。命
令プログラム実行中に、命令プログラムを構成する第1
種命令のマイクロ命令プログラムの最後のステップを実
行すると、ステップカウンタ更新マイクロ命令が制御記
憶41からマイクロ命令レジスタ44に読み出され、そ
の内容はデコーダ45によりデコードされ、デコード信
号dが「1」になる。デコード信号dとレジスタ6の保
持する値の否定との論理積信号がステップカウンタ50
カウントアップ信号となっている.命令プログラムを実
行中はレジスタ6は「1」を保持するため、デコード信
号dが「1」になっても、ステップカウンタ5はカウン
トアップしない。以上により、第2種命令を実現するた
めの命令プログラム実行中はステップカウンタ6のカウ
ントアップを抑止できる。
Next, updating of the step counter 5 when executing the second type of instruction will be explained. As already explained, register 6 is set to "1" by execution of the second type of instruction, and branching to the instruction program is performed. During execution of the instruction program, the first
When the last step of the microinstruction program of the seed instruction is executed, the step counter update microinstruction is read from the control memory 41 to the microinstruction register 44, its contents are decoded by the decoder 45, and the decode signal d becomes "1". Become. An AND signal of the decode signal d and the negation of the value held in the register 6 is output to the step counter 50.
This is a count up signal. Since the register 6 holds "1" while the instruction program is being executed, the step counter 5 does not count up even if the decode signal d becomes "1". As described above, it is possible to prevent the step counter 6 from counting up during the execution of the instruction program for realizing the second type instruction.

命令プログラム終了時には命令プログラムの最後の命令
でレジスタ6のリセットが行なわれ、元のソフトウェア
プログラムへの復帰が行なわれるのは既に説明した通り
である.その元のソフトウェアプログラムへの復帰を指
示する命令を実現するマイクロプログラム中でステップ
カウンタ更新マイクロ命令を実行することにより、次の
ようにステップカウンタ5の更新ができる。ステンプカ
ウンタ更新マイクロ命令が制御記憶41からマイクロ命
令レジスタ44に読み出されると、その内容はデコーダ
45によりデコードされ、デコード信号dが「1」にな
る。デコード信号dとレジスタ6の保持する値の否定と
の論理積信号がステップカウンタ5のカウントアップ信
号となっている。
As already explained, when the instruction program ends, the register 6 is reset by the last instruction of the instruction program, and the original software program is returned. By executing a step counter update microinstruction in a microprogram that implements an instruction to return to the original software program, the step counter 5 can be updated as follows. When the step counter update microinstruction is read from the control memory 41 to the microinstruction register 44, its contents are decoded by the decoder 45, and the decode signal d becomes "1". An AND signal of the decode signal d and the negation of the value held in the register 6 serves as a count-up signal for the step counter 5.

レジスタ6は既にリセットされているため「0」を保持
し、デコード信号dが「1」になったことにより、ステ
ンプカウンタ5が1カウントアンプする.以上により、
第2種命令を実現するための命令プログラムの最後のス
テップを実行する度にステップカウンタ5が1カウント
アップすることになり、ソフトウェア命令のステップ数
を正しく計測することができる。
Since the register 6 has already been reset, it holds "0", and when the decode signal d becomes "1", the step counter 5 amplifies one count. Due to the above,
Each time the last step of the instruction program for realizing the second type instruction is executed, the step counter 5 counts up by one, so that the number of steps of the software instruction can be accurately measured.

なお、上記実施例では、ステ7プカウンタ5をカウント
アップする場合について示したが、本発明はこれに限ら
ず、ステンプカウンタ5に所定の初期値をセットしてカ
ウントダウンするようにしてもよい. 〔発明の効果〕 以上説明したように本発明は、第2種の命令を実現する
ための命令プログラムの実行開始と同時にレジスタをセ
ットし、命令プログラム実行終了を示す命令の実行時に
レジスタをリセットするようにしたことにより、第2種
命令を実現するための命令プログラム実行中はステフプ
カウンタのカウントアップを抑止できるので、水平型マ
イクロ命令の並列処理の効果が十分に発揮できる基本的
な命令である第1種の命令から,なる命令プログラムの
実行により第2種の命令を実現する情報処理装置におい
ても正しく実行命令ステップ数の測定ができる効果があ
り、ソフトウェアの性能解析、デバッグなどに有効であ
る。
In the above embodiment, the step counter 5 is counted up, but the present invention is not limited to this, and the step counter 5 may be set to a predetermined initial value and then counted down. [Effects of the Invention] As explained above, the present invention sets a register at the same time as the execution of an instruction program for realizing the second type of instruction starts, and resets the register at the time of execution of an instruction indicating the end of execution of the instruction program. By doing this, it is possible to suppress the count up of the step counter during the execution of the instruction program to implement the type 2 instruction, so it is possible to prevent the step counter from counting up during the execution of the instruction program to realize the type 2 instruction. It is also effective in accurately measuring the number of executed instruction steps in an information processing device that realizes a second type of instruction by executing an instruction program from a certain type 1 instruction, and is effective for software performance analysis and debugging. be.

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

第1図は本発明による情報処理装置の一実施例を示す系
統図、第2図は第1種命令,第2種命令を説明するため
の説明図、第3図は従来の情報処理装置を示す系統図で
ある. 1・・・主記憶、2・・・命令フェフチ回路、3・・・
命令解析用メモリ、4・・・制御記憶回路、5・・・ス
テップカウンタ、6・・・レジスタ、11・・・ソフト
ウェアプログラム格納部、12・・・命令プログラム群
格納部、21・・・命令アドレスレジスタ、22・・・
命令バンファレジスタ、23・・・分岐アドレス生成回
路、24・・・逐次アドレス生成回路、25・・・命令
カウンタ、26・・・命令カウンタ待避レジスタ、41
・・・制御記憶、42・・・マイクロ命令シーケンサ、
43・・・マイクロアドレスレジスタ、44・・・マイ
クロ命令レジスタ、45・・・デコーダ、221・・・
命令のオペランド部、222・・・命令の命令コード部
。 特許出願人   日本電気株式会社
FIG. 1 is a system diagram showing an embodiment of an information processing device according to the present invention, FIG. 2 is an explanatory diagram for explaining type 1 instructions and type 2 instructions, and FIG. 3 is a diagram showing a conventional information processing device. This is a system diagram shown. 1... Main memory, 2... Instruction fetish circuit, 3...
Memory for instruction analysis, 4... Control storage circuit, 5... Step counter, 6... Register, 11... Software program storage section, 12... Instruction program group storage section, 21... Instruction Address register, 22...
Instruction buffer register, 23... Branch address generation circuit, 24... Sequential address generation circuit, 25... Instruction counter, 26... Instruction counter save register, 41
...control memory, 42...microinstruction sequencer,
43...Micro address register, 44...Micro instruction register, 45...Decoder, 221...
Operand part of the instruction, 222... Instruction code part of the instruction. Patent applicant: NEC Corporation

Claims (1)

【特許請求の範囲】 制御記憶に格納されたマイクロプログラムにより制御さ
れる情報処理装置において、 制御記憶上のマイクロプログラムで実現される第1種の
命令、および前記第1種の命令で構成される命令プログ
ラムにより実現される第2種の命令を格納する主記憶と
、 前記第2種の命令を実現するための前記命令プログラム
の開始によりセットされ、前記命令プログラムの終了に
よりリセットされるレジスタと、前記レジスタがリセッ
ト状態である場合のみ、ソフトウェア命令を1ステップ
実行する度に1ずつ加算または減算される命令計数手段
とを備えたことを特徴とする情報処理装置。
[Scope of Claims] An information processing device controlled by a microprogram stored in a control memory, comprising: a first type of instruction realized by a microprogram on the control memory; and the first type of instruction. a main memory for storing a second type of instruction realized by an instruction program; a register that is set at the start of the instruction program for realizing the second type of instruction and reset at the end of the instruction program; An information processing apparatus comprising: an instruction counting means that adds or subtracts one by one each time a software instruction is executed one step only when the register is in a reset state.
JP1059376A 1989-03-10 1989-03-10 Information processing device Expired - Lifetime JP2536615B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1059376A JP2536615B2 (en) 1989-03-10 1989-03-10 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1059376A JP2536615B2 (en) 1989-03-10 1989-03-10 Information processing device

Publications (2)

Publication Number Publication Date
JPH02236725A true JPH02236725A (en) 1990-09-19
JP2536615B2 JP2536615B2 (en) 1996-09-18

Family

ID=13111502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1059376A Expired - Lifetime JP2536615B2 (en) 1989-03-10 1989-03-10 Information processing device

Country Status (1)

Country Link
JP (1) JP2536615B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520071A (en) * 1991-07-15 1993-01-29 Nec Ibaraki Ltd Register information protecting circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57209550A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Calculating system for run step
JPH01134627A (en) * 1987-11-20 1989-05-26 Nec Corp Instruction extending system for microprocessor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57209550A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Calculating system for run step
JPH01134627A (en) * 1987-11-20 1989-05-26 Nec Corp Instruction extending system for microprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520071A (en) * 1991-07-15 1993-01-29 Nec Ibaraki Ltd Register information protecting circuit

Also Published As

Publication number Publication date
JP2536615B2 (en) 1996-09-18

Similar Documents

Publication Publication Date Title
US6694427B1 (en) Method system and apparatus for instruction tracing with out of order processors
KR101404824B1 (en) Control of timestamp counter (TSC) offsets for multiple cores and threads
KR100303712B1 (en) Method and apparatus for an address pipeline in a pipelined machine
TW201823972A (en) Vector generation instruction
JPH01310441A (en) Data processor
US6681321B1 (en) Method system and apparatus for instruction execution tracing with out of order processors
JPH03233630A (en) Information processor
US20080222400A1 (en) Power Consumption of a Microprocessor Employing Speculative Performance Counting
CN107870780A (en) Data processing equipment and method
KR100983135B1 (en) Processor and method for grouping and executing dependency instructions of packets
CN120066586A (en) Data processing method, device, electronic equipment and storage medium
JPH02236725A (en) Information processor
JP2008299729A (en) Processor
JP2004078599A (en) Simulation method and system for instruction scheduling
US6880072B1 (en) Pipelined processor and method using a profile register storing the return from exception address of an executed instruction supplied by an exception program counter chain for code profiling
JP7481328B2 (en) Apparatus and data processing method for transactional memory - Patents.com
US11144238B1 (en) Background processing during remote memory access
JP2758624B2 (en) Speed control method of micro program
JPH1173301A (en) Information processing device
CN118642759A (en) Instruction execution method, device, computer equipment, readable storage medium and program product
JPS62219128A (en) Data processor
JPH01310440A (en) Data processor
JPH05233288A (en) Information processor
JPH04102921A (en) Information processor
JPH04130925A (en) Information processor