JPH04127326A - Information processor and instruction generating method - Google Patents

Information processor and instruction generating method

Info

Publication number
JPH04127326A
JPH04127326A JP24931890A JP24931890A JPH04127326A JP H04127326 A JPH04127326 A JP H04127326A JP 24931890 A JP24931890 A JP 24931890A JP 24931890 A JP24931890 A JP 24931890A JP H04127326 A JPH04127326 A JP H04127326A
Authority
JP
Japan
Prior art keywords
instruction
execution
queue
instructions
queue section
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
Application number
JP24931890A
Other languages
Japanese (ja)
Inventor
Keisuke Toyama
圭介 十山
Yuji Onishi
裕二 大西
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24931890A priority Critical patent/JPH04127326A/en
Publication of JPH04127326A publication Critical patent/JPH04127326A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To decrease the number of instructions to be executed and to shorten the execution time by providing an instruction scheduler for detecting a non- execution instruction in the case an instruction in an instruction queue part is the non-execution instruction, eliminating it from the execution object, and replacing it with an instruction continued from this instruction. CONSTITUTION:Before one instruction is executed in its execution preparation stage, that is, in a stage that it goes into an instruction queue 104, an instruction scheduler 105 for eliminating its instruction as a non-execution instruction from the instruction queue 104 and replacing it with an instruction placed subsequently to its instruction is provided. In such a state, when there is designation for converting itself to non-execution in an instruction word, its instruction is detected by a detector 106, and the instruction scheduler 105 eliminates the instruction concerned from an execution object. Also, the instructions after the next instruction of the instruction to be eliminated are shifted successively to the front of the queue by one stage each in the instruction queue part 104. In such a way, it does not occur that the instruction eliminated from the execution object as an ineffective instruction is executed, and it does not occur that a burden is imposed on the execution time of a program.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は情報処理装置での命令実行に係わるものであり
、特に、アーキテクチャ上の制約から、データが存在す
る主記憶内の位置によって実行時にそのデータを参照す
るのに必要となる実行命令数が異なるような場合に、実
行すべき命令数を減少させて実行時間を短縮させるため
に、広く適用できる装置および該2置での対象になる命
令の命令生成方法に関するものである。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to instruction execution in an information processing device, and in particular, due to architectural constraints, data is In order to reduce the number of instructions to be executed and shorten the execution time when the number of execution instructions required to refer to the data is different, it is a device that can be widely applied and is targeted at the two locations. The present invention relates to a method for generating instructions.

[従来の技術] 命令処理を複数の段階に分け、連続して実行される複数
の命令のそれぞれ異なる段階を同時に実行してパイプラ
イン処理する計算機システムにおいては、現在実行中の
命令(現命令)の実行時点でその命令に引き続く命令(
この命令のことを次命令と呼ぶことにする。次命令は一
般には複数個の場合がある)は命令実行器において、そ
の解釈段階にある。現命令が分岐を生じない通常の命令
であって制御を変更しない場合は、現命令の実行と次命
令の解釈とがオーバラップし、パイプラインがうまく流
れるが、現命令が分岐命令等であり制御を変更する命令
である場合には、既に解釈段階にある次命令を実行して
はならない。そのためには、 l)分岐を生じる命令においては次命令の先行制御を実
施しない 2)このような分岐命令の直後に無効命令(NOP命令
)を挿入してやる という方法をとればよい。しかし、上記(1)の方法の
場合には、その時点で命令のオーバラップが実行ができ
なくなりパイプラインが乱れる。上記(2)の方法の場
合のNOP命令挿入ではパイプラインは乱れないが、無
駄なNOP命令を実行するので、オーバ・ラップ実行の
効果がなくなるという問題が出る。
[Prior Art] In a computer system that divides instruction processing into multiple stages and performs pipeline processing by simultaneously executing different stages of a plurality of consecutively executed instructions, the instruction currently being executed (current instruction) At the time of execution, the instruction following that instruction (
This command will be called the next command. The next instruction (generally there may be a plurality of instructions) is in its interpretation stage in the instruction executor. If the current instruction is a normal instruction that does not cause a branch and does not change control, the execution of the current instruction and the interpretation of the next instruction will overlap and the pipeline will flow smoothly, but if the current instruction is a branch instruction etc. If the instruction changes control, the next instruction, which is already in the interpretation stage, must not be executed. To this end, the following methods may be used: 1) Preemptive control of the next instruction is not performed for an instruction that causes a branch; 2) An invalid instruction (NOP instruction) is inserted immediately after such a branch instruction. However, in the case of method (1) above, the overlapping instructions cannot be executed at that point, and the pipeline becomes disordered. Although the pipeline is not disrupted by inserting a NOP instruction in the case of method (2) above, a problem arises in that the effect of overlap execution is lost because a useless NOP instruction is executed.

この問題を解決しようとするものが、RISCプロセッ
サにおける遅延分岐命令とその直後の命令の有効利用で
ある。これは、分岐命令は必ず次命令(この場合、分岐
命令の直後に置かれている命令)を実行しくすなわち分
岐の効果が次命令の実行終了まで遅延される)、この分
岐命令に伴って実行される次命令が位置する部分(遅延
スロットと呼ばれる)にソフトウェアによって、現命令
の前に実行されるように配置されている命令や分岐のタ
ーゲットとなる命令を移動させて上記パイプラインの乱
れを最小限にしようとするものである2この技術につい
ては日経エレクトロニクス誌1983年1月17日号、
135頁〜136頁に記載されている。
An attempt to solve this problem is to make effective use of a delayed branch instruction and the instruction immediately following it in a RISC processor. This means that a branch instruction always executes the next instruction (in this case, the instruction placed immediately after the branch instruction), and the effect of the branch is delayed until the end of execution of the next instruction. The software moves an instruction that is placed to be executed before the current instruction or an instruction that is the target of a branch to the area where the next instruction to be executed is located (called a delay slot) to avoid the above pipeline disturbance. 2 This technology is described in the January 17, 1983 issue of Nikkei Electronics Magazine,
It is described on pages 135-136.

分岐命令が無条件分岐である場合はこれで良いが、条件
分岐である場合には、条件の成立不成立によって実行さ
れるバスが異なるので実行結果を保証するために、ソフ
トウェアによって配置された遅延スロットの命令を実行
したり、実行しなかったりすることが必要になる。
This is fine if the branch instruction is an unconditional branch, but if it is a conditional branch, the bus to be executed differs depending on whether the condition is met or not, so a delay slot placed by software is required to guarantee the execution result. It is necessary to execute or not execute the command.

HP(ヒユーレットバラカード)社のプレシジョンアー
キテクチャにおいては、命令(現命令)がその次に配置
された命令(次命令)を無効化(nullify)する
。すなわちその効果をN○Pとすることを現命令の命令
語内のフィールドで指定する機能がある。これによって
条件分岐命令等においても必要な場合にだけ遅延スロッ
トにある命令の無効化を行なうことによって、条件分岐
の一方のパスでは命令のパイプライン実行の効果を得る
ことができきる。この技術については日経エレクトロニ
クス誌1986年6月16日号、221頁〜222頁に
記載されている。
In the precision architecture of HP (Heuret Barracard), an instruction (current instruction) nullifies the next instruction (next instruction). That is, there is a function for specifying that the effect is N○P in a field in the instruction word of the current instruction. As a result, even in conditional branch instructions, by invalidating the instruction in the delay slot only when necessary, the effect of pipeline execution of instructions can be obtained in one path of the conditional branch. This technique is described in the June 16, 1986 issue of Nikkei Electronics, pages 221-222.

一方、これらのRISCアーキテクチャでは、上記のよ
うな命令のパイプライン実行を実現する際の負担を軽減
したり、命令解釈時の処理速度を向上させるために、す
べての命令語が固定長になるように設計されている。そ
のために主記憶の全空間をアドレス付けするにはl命令
のフィールドでは不十分である・という事態が発生する
。例えば、命令語長が32ビツトであり、アドレス付は
可能な主記憶空間が2置番地あるような場合、命令語の
一部分であるアドレス付は用のフィールドは32ビット
未満であり、このフィールドで基準点からのオフセット
を指定するときに、2 Ifのオフセットは表現し切れ
ない。基準点の値を再設定する方法もあるが、コンパイ
ラ作製にとっては負担となる。
On the other hand, in these RISC architectures, all instruction words are made to have a fixed length in order to reduce the burden of implementing pipeline execution of instructions as described above and to improve processing speed when interpreting instructions. It is designed to. Therefore, a situation arises in which the field of the l instruction is insufficient to address the entire space of the main memory. For example, if the instruction word length is 32 bits and there are 2 addresses in the main memory space where addressing is possible, the field for addressing that is part of the instruction word is less than 32 bits, and this field When specifying an offset from the reference point, an offset of 2 If cannot be fully expressed. Although there is a method to reset the value of the reference point, it is a burden for compiler creation.

これに対処するため、そのようなアーキテクチャをもつ
計算機では、レジスタの左部分へ値をロードしたり加算
する(すなわち、命令語のフィールドには32ビット未
満の値を記述し、命令実行時にこの値を何ビットか左シ
フトして32ビツト値としてレジスタにロードしたり加
算する)という命令を用意しており、アドレスのオフセ
ットや即値の左部分をロードしたのち、別の命令によっ
て残りの右部分を利用するということを行なう。
To deal with this, computers with such architectures load or add values to the left part of the register (i.e. write a value of less than 32 bits in the instruction word field, and store this value when the instruction is executed). There is an instruction to shift the value to the left by several bits and load or add it to a register as a 32-bit value. After loading the offset of the address or the left part of the immediate value, another instruction is used to load the left part of the immediate value. Just use it.

[発明が解決しようとする課題] 上記従来技術においては、1命令のフィールドではすべ
てのアドレスのオフセットや即値を表現し切れないとい
う点について、次が課題となる。
[Problems to be Solved by the Invention] In the above-mentioned conventional technology, the following problem arises in that the fields of one instruction cannot express all address offsets and immediate values.

1命令で表現しきれないアドレス値や即値を利用するに
は、2命令以上の命令の組合せが必要である。この命令
の組合せはアセンブルの段階までに決定されなければな
らないので、例えば外部変数のようにコンパイルもしく
はアセンブルの段階ではそのアドレス値が決定できない
ものについては、結果的にその外部変数のアドレス値が
1命令で十分表現できる範囲のものであっても、まず左
部分としてOをロードして必要な基準点を得た後それを
利用するといったように常に2命令(もしくはそれ以上
)の命令の組合せを使用して表現することが必要になり
、命令数、実行時間ともに増加する。これをソフトウェ
アで解決するため、アーキテクチユラル サポート フ
ォア プログラミング ランゲージズ アンド オペレ
ーティングシステムズ 第2回国際カンファレンス予講
集1987年、119頁〜120頁においては1命令で
表現可能な大きさに収まるよう小さなサイズの外部変数
を別個・に配置するようにリンケージエディタに指示す
ることを仮定してコンパイルする方式が提案されている
To use address values and immediate values that cannot be expressed with one instruction, a combination of two or more instructions is required. This combination of instructions must be determined by the assembly stage, so for example, for external variables whose address values cannot be determined at the compilation or assembly stage, the address value of the external variable will end up being 1. Even if the range can be sufficiently expressed by instructions, it is always necessary to combine two (or more) instructions, such as first loading O as the left part, obtaining the necessary reference point, and then using it. This increases the number of instructions and the execution time. In order to solve this problem with software, Architectural Support for Programming Languages and Operating Systems, 2nd International Conference Preliminary Lectures, 1987, pp. 119-120, has developed a small size that can be expressed in one instruction. A compiling method has been proposed that assumes that the linkage editor is instructed to place external variables separately.

上記アドレス値や即値が1命令で十分に表現可能であっ
た場合には次命令を無効化することによって不要な命令
の効果をNOPとすることが考えられるが、上記従来技
術においては次命令を無効化するか否かは、現命令の実
行時にならないと決定できず、また無効化された命令は
NOP命令として実行されてしまうので、無効化だけに
よっては実行命令数の減少は図れない。さらに、無効化
の指定もアセンブルの段階で行なうことが必要であり、
実行時に実行命令数を最少とするには不十分な方法とな
っている。
If the above address value or immediate value can be sufficiently expressed with one instruction, it is possible to make the effect of the unnecessary instruction NOP by invalidating the next instruction, but in the above conventional technology, the next instruction is Whether or not to invalidate an instruction cannot be determined until the current instruction is executed, and since an invalidated instruction is executed as a NOP instruction, it is not possible to reduce the number of executed instructions by invalidating it alone. Furthermore, it is necessary to specify invalidation at the assembly stage.
This is an insufficient method to minimize the number of executed instructions during execution.

[課題を解決するための手段] 上記の問題点を解決するためには、1つの命令がその実
行準備段階にあって実行される以前、すなわち命令キュ
ーに入った段階で、その命令を非実行命令として命令キ
ューから削除し、その命令の次に配置されている命令(
次命令)で置き換えるようにすればよい。
[Means for solving the problem] In order to solve the above problem, it is necessary to de-execute an instruction when it is in the execution preparation stage and before it is executed, that is, when it is in the instruction queue. Remove it as an instruction from the instruction queue, and delete the instruction placed next to that instruction (
You can replace it with the following command).

そのために命令スケジューラを設ける。For this purpose, an instruction scheduler is provided.

命令語には、自分自身を実行するか否かの識別記号を与
え、これによって直前の命令ではなく当該命令語自身を
、自身を実行/非実行とするための制御情報とする。こ
の識別記号は命令語内のそれ専用のフィールドであって
もよいし、既存フィールドの特定の場合を利用すること
も可能である。
An identification symbol indicating whether or not to execute the instruction word itself is given to the instruction word, thereby making the instruction word itself, rather than the immediately preceding instruction, the control information for executing/not executing the instruction word itself. This identification symbol may be a dedicated field within the instruction word, or it is also possible to use a specific case of an existing field.

専用のフィールドとする場合には、例えば、リンケージ
エディタによりそのための命令の生成をする。さらに、
この識別記号の値から当該命令が非実行であることを検
出する検出器を命令スケジューラに置く。
If the field is to be dedicated, for example, a linkage editor may be used to generate an instruction therefor. moreover,
A detector is installed in the instruction scheduler to detect that the instruction is not executed based on the value of this identification symbol.

また、命令スケジューラは命令キュー部を制御する。命
令スケジューラにおいては命令語の指示によって、当該
命令を実行対象から削除し、命令実行器には送らず当該
命令の次命令で置き変える処理を行なう。さらに、命令
キュー部の中で非実行とされた命令の次から続く命令を
順次、命令キュー部の中で前方に移動させて、さらに続
く命令を主記憶から命令キュー部に入力するようにする
The instruction scheduler also controls the instruction queue section. In the instruction scheduler, according to the instructions of the instruction word, the instruction is deleted from the execution target, and the instruction is replaced with the next instruction without being sent to the instruction executor. Furthermore, the instructions that follow the instruction that is not executed in the instruction queue section are sequentially moved forward in the instruction queue section, and the subsequent instructions are input from the main memory to the instruction queue section. .

命令キュー部は少なくとも、現命令、次命令、次命令の
次の命令を保持するために、3エントリ分以上の段階の
深さを持つことが必要である。
The instruction queue section needs to have a stage depth of three entries or more in order to hold at least the current instruction, the next instruction, and the next instruction after the next instruction.

[作用コ 命令語は、タイミング℃で1つが実行され、次のタイミ
ングt+1で次の命令が実行されるよう制御され、タイ
ミング毎に命令キュー部の内容が1つずつ前方にシフト
される。
[The operation command words are controlled so that one instruction is executed at timing ℃, and the next instruction is executed at the next timing t+1, and the contents of the instruction queue section are shifted forward one by one at each timing.

命令語に自分自身を非実行化する指定があると、その指
示は検出器によって検出される。これによって、命令ス
ケジューラは当該命令を実行対象から削除する。タイミ
ングもで上記の削除指示が与えられると、しからし+1
での命令−キューのシフト時に、命令スケジューラでは
前記削除指示に従って、命令キュー部の中の削除すべき
当該命令の位置を得て当該命令を命令キュー部から削除
するよう、命令キュー部内で削除すべき当該命令の次命
令以下の命令を順次、キューの前方へ一段ずつシフトす
ることによって実現する。
If the instruction word specifies that it should not execute itself, the detector detects that instruction. As a result, the instruction scheduler deletes the instruction from the execution targets. If the above deletion instruction is given at the right time, Shirashi +1
When the instruction-queue is shifted, the instruction scheduler obtains the position of the instruction to be deleted in the instruction queue section according to the deletion instruction, and deletes the instruction in the instruction queue section so that the instruction is deleted from the instruction queue section. This is achieved by sequentially shifting the instructions following the instruction to be executed one step at a time to the front of the queue.

シフト動作の結果、キューの最終エントリに空きができ
るので、主記憶から次に配置されている命令を読み込み
、命令キュー部の最終エントリとして格納する。
As a result of the shift operation, a space is created in the final entry of the queue, so the next placed instruction is read from the main memory and stored as the final entry of the instruction queue section.

以上の動作によって、命令キュー部のシフト動作に伴っ
て、実行不要な命令が命令キュー部の中で「解釈」段階
以前に検出され、非実行命令であるとしてキューの中か
ら削除される。その結果、この命令は命令実行器に送ら
れないので、実行せずにすむ。
Through the above-described operation, as the instruction queue section shifts, an instruction that does not need to be executed is detected in the instruction queue section before the "interpretation" stage, and is deleted from the queue as a non-executable instruction. As a result, this instruction is not sent to the instruction executor and therefore does not need to be executed.

[実施例コ 以下、図面を用いて本発明の一実施例を詳細に説明する
。第1図は本発明の装置の基本的構成を示すものであり
、命令実行器101、主記憶装置102、命令先行制御
器103からなる。命令先行制御器はさらに、命令キュ
ー部104と、命令スケジューラ105とからなる。本
実施例では主記憶装置として、いわゆるキャッシュメモ
リを含んだ装置を考える。また、本実施例では命令キュ
ー部は深さ4段(104−1、l 04−2.104−
3.104−・4)であるとする。命令実行器は命令先
行制御器から供給される命令を順次実行するためのもの
であり、従来のパイプライン処理の命令実行器でよく、
その構成についての詳細な図面及び説明は省略する。
[Example 1] Hereinafter, an example of the present invention will be described in detail using the drawings. FIG. 1 shows the basic configuration of the apparatus of the present invention, which includes an instruction executor 101, a main memory 102, and an instruction advance controller 103. The instruction advance controller further includes an instruction queue section 104 and an instruction scheduler 105. In this embodiment, a device including a so-called cache memory is considered as the main storage device. In addition, in this embodiment, the instruction queue section has a depth of 4 stages (104-1, l04-2, 104-
3.104-・4). The instruction executor is for sequentially executing instructions supplied from the instruction advance controller, and may be a conventional pipeline processing instruction executor.
Detailed drawings and explanations regarding the configuration will be omitted.

命令先行制御器は、主記憶装置内に格納されている命令
語を読み込んで、命令先行制御器内にある命令キュー部
に送りこみ、さらに命令実行器に与える機能をもつ。な
お、主記憶装置からの命令の読み込みに関する構成等は
従来のものと同様であるので説明は省略する。
The instruction advance controller has a function of reading an instruction word stored in the main memory, sending it to an instruction queue section in the instruction advance controller, and further providing it to the instruction executor. Note that the configuration related to reading instructions from the main memory is the same as that of the conventional system, and therefore a description thereof will be omitted.

命令スケジューラは、第1選択回路107、第2選択回
路108、命令検出器106とキュー前進器109とか
らなる。
The instruction scheduler includes a first selection circuit 107, a second selection circuit 108, an instruction detector 106, and a queue advancer 109.

本計算機でのプログラムにおける実行命令列は主記憶装
置102に配置しておく。プログラム起動時には、最初
に実行する命令の番地を命令スケジューラに与えて起動
する。起動後、命令スケジューラの指示によりキューの
深さだけの命令語が主記憶装置から命令キュー部に読み
込まれ、命令キュー部の先頭位置から命令語が順次、命
令実行器に送られて実行される。この実施例では、命令
実行器は1つの命令の実行を大きく分けて「解釈」「演
算」、「結果の格納」という3段階で行なうものであり
、現在、先頭キュー位置にある1つの命令(現命令)が
その「演算j段階にあるとすると、先頭の次のキュー位
置にある命令語は、現命令が分岐命令等であっても常に
実行されるよう、命令実行器に送られ、「解釈」段階に
あるようにされる。すなわち、タイミングtて命令キュ
ー部の先頭にある現命令が演算段階であるとき、先頭の
次にある次命令はその解釈段階にある。次のタイミング
t+1、すなわち現命令の結果格納時に、前記の次命令
が命令キュー部の先頭に送られ、新たな現命令として命
令キュー部の先頭から命令実行器に送られ、「演算」段
階となるようにする。
A sequence of instructions to be executed in a program for this computer is stored in the main storage device 102. When starting a program, the address of the first instruction to be executed is given to the instruction scheduler. After startup, as many instructions as the depth of the queue is read from the main memory into the instruction queue section according to instructions from the instruction scheduler, and instructions are sequentially sent to the instruction executor from the beginning of the instruction queue section for execution. . In this embodiment, the instruction executor executes one instruction in three stages: "interpretation,""operation," and "result storage," and currently executes one instruction ( Assuming that the current instruction (current instruction) is in its "operation j stage," the instruction word at the queue position next to the head is sent to the instruction executor so that it is always executed even if the current instruction is a branch instruction, etc. be at the "interpretation" stage. That is, when the current instruction at the head of the instruction queue section is in the calculation stage at timing t, the next instruction after the head is in the interpretation stage. At the next timing t+1, that is, when the result of the current instruction is stored, the next instruction is sent to the head of the instruction queue section, and is sent as a new current instruction from the beginning of the instruction queue section to the instruction executor, and then enters the "operation" stage. I will make it happen.

これによって命令のパイプライン実行がなされる。This performs pipeline execution of instructions.

命令キュー部から命令語が1つ命令実行器に送られると
、次命令は先頭位置に、次命令の次の命令は次命令の位
置にと、命令キュー部内で順次先送りがなされ、パイプ
ラインの流れを保つ。これはキュー前進器109によっ
てキュー前進操作を実施することによって行われる。命
令語が1つ実行器に送られると、上記のように命令キュ
ーが1つ先送りされ、その結果空いた命令キュー部の終
端に、その次に命令実行器に送られるべき命令語が主記
憶装置から読み込まれる。命令キューの前進と主記憶装
置からの読み出しとは並行して実施することも可能であ
る。
When one instruction word is sent from the instruction queue section to the instruction executor, the next instruction is forwarded to the start position, the instruction after the next instruction is forwarded to the next instruction position, and so on in the instruction queue section, and the pipeline progresses. Keep the flow. This is done by performing a cue advance operation by cue advancer 109. When one instruction word is sent to the executor, the instruction queue is advanced by one as described above, and the next instruction word to be sent to the instruction executor is stored in the main memory at the end of the empty instruction queue section. Read from device. It is also possible to advance the instruction queue and read from main memory in parallel.

本計算機の命令語は、すべての実行命令が32ビツトの
固定長であるものとする。主記憶装置内の1語(データ
である)を命令実行器101内の所定のレジスタに読み
込む命令は次の形式をしている。(第2図(a))これ
をアセンブリ形式で記述すると次のようになる。
It is assumed that all executed instructions of this computer have a fixed length of 32 bits. An instruction to read one word (data) in the main memory into a predetermined register in the instruction executor 101 has the following format. (Fig. 2(a)) If this is written in assembly format, it will be as follows.

LD    し reg    breg    :o
ffsetここで、命令の種別を表わす命令コード部分
201 (ここではLD)には8ビツト、値を読み込む
べきレジスタ指定部分202(ここではtreg、しは
ターゲットの意味である)には4ビツト、主記憶内の番
地を指定するときの基準となるべき値(基準番地の値)
をもつペースレジスタ指定部分203 (ここではbr
eg)には4ビツト、をそれぞれ使用するものとする。
LD reg breg :o
ffset Here, the instruction code part 201 (here LD) representing the type of instruction has 8 bits, the register specification part 202 (here treg, meaning target) into which the value should be read has 4 bits, and the main Value that should be the standard when specifying an address in memory (value of standard address)
The pace register specification part 203 (here, br
It is assumed that 4 bits are used for each of eg).

上記命令LDは、bregで指定されるペースレジスタ
に置数されている基準番地の値にオフセット値を加算し
て得られた値の番地で主記憶装置をアクセスして、主記
憶装置から読み出された内容をt regで指定される
レジスタに格納する命令である。そうすると、基準番地
からの隔たりを表わすオフセット値部204(ここでは
Roffset部分)には16ビツトしか使用できない
ことになる。番地付けすべき主記憶が65535番地を
超えである(本例では32ビツトで表現可能なたけある
ものとする)場合には、この命令だけでは、それを参照
することはできない。このため、本計算機は表現できな
い上位桁16ビツト分をレジスタに代入する命令をもつ
ものとする。(第2図(b))これをアセンブリ形式で
記述すると次のようになる。
The above instruction LD accesses the main memory at the address of the value obtained by adding the offset value to the value of the reference address stored in the pace register specified by breg, and reads from the main memory. This is an instruction to store the specified contents in the register specified by t reg. In this case, only 16 bits can be used in the offset value section 204 (here, the Roffset section) representing the distance from the reference address. If the main memory to be addressed exceeds 65,535 addresses (in this example, it is assumed to be as large as can be expressed in 32 bits), it cannot be referenced by this instruction alone. For this reason, this computer is assumed to have an instruction to substitute the 16 bits of the upper digits that cannot be expressed into a register. (Fig. 2(b)) This is described in assembly format as follows.

AIU    treg    sreg    ti
mmここで、205のAIUは本命令の種別を表わす命
令コード(8ビツト)、206のしregは結果値用の
レジスタ番号(4ビツト)、207のSregは操作対
象となる値のレジスタ番号(4ビツト)208の# i
 mmは即値(16ビツト)である。この命令は、ti
mmで表現される値を左に16ビツトシフトして32ビ
ツト値を生成し、それをs regで指定されるレジス
タの値に加算してt regで指定されるレジスタに代
入するものである。このAIU命令を用いると、上記s
regで示されるレジスタをレジスタR5とし、レジス
タR5で示される基準番地から100000番地隔たっ
た点にある変数の参照の命令系列は、レジスタR1を上
記tregで示される作業用レジスタ、R2を上記LD
命令における結果を代入すべきレジスタとして、 AIU  RI  R5100000/6553LD 
 R2R1100000%65536のように表わせる
。ここで、/は整数除算、%は整数剰余界をそれぞれ表
わし、上記の場合、100000/65536=1.1
00000%65536=34464となるものとする
AIU treg sreg ti
mm Here, AIU 205 is the instruction code (8 bits) that represents the type of this instruction, reg 206 is the register number (4 bits) for the result value, and Sreg 207 is the register number (4 bits) of the value to be operated. 4 bits) #i of 208
mm is an immediate value (16 bits). This command is
The value expressed in mm is shifted 16 bits to the left to generate a 32-bit value, which is added to the value of the register specified by s reg and assigned to the register specified by t reg. Using this AIU instruction, the above s
The register indicated by reg is set to register R5, and the instruction sequence for referencing a variable located at a point 100,000 addresses away from the reference address indicated by register R5 sets register R1 to the working register indicated by treg, and sets R2 to the above LD.
As a register to which the result of an instruction is assigned, AIU RI R5100000/6553LD
It can be expressed as R2R1100000%65536. Here, / represents integer division, % represents integer remainder bound, and in the above case, 100000/65536=1.1
It is assumed that 00000%65536=34464.

上記の例のA、 I U命令では、値1を左に16ビツ
トシフトして、その値にレジスタR5の基準番地の値を
加算して、その結果の番地を新たな基準番地(R1)と
して主記憶装置をアクセスし、主記憶装置から読みださ
れた内容をレジスタR2に格納することとなる。
In the A and IU instructions in the above example, the value 1 is shifted to the left by 16 bits, the value of the reference address of register R5 is added to that value, and the resulting address is set as the new reference address (R1) as the main address. The storage device is accessed and the contents read from the main storage device are stored in register R2.

(第1例) 今、プログラム片x=y−z+g+1 Hについて考え
る。X、y、Zは局所的な変数であって16ビツトオフ
セツトで表現できるものであり、gは非局所的な変数で
ありペースレジスタR5からのオフセットは16ビツト
で表現可能変数である、とそれぞれ仮定する。これに対
する目的コードを考えると、gは非局所的な変数である
のでコンパイル時にはそのオフセットは既知ではない。
(First example) Now, consider the program piece x=y−z+g+1H. X, y, and Z are local variables that can be expressed using 16-bit offsets, and g is a non-local variable and the offset from pace register R5 is a variable that can be expressed using 16-bit offsets. Assume each. Considering the target code for this, since g is a non-local variable, its offset is not known at compile time.

そこで、実際にはR5からのオフセットは16ビツトで
表現可能であると仮定すると、この場合でも、目的コー
ドでは以下■〜■の命令系列として示すように■■の2
命令の組合せとして出力しなければならない。
Therefore, assuming that the offset from R5 can actually be expressed in 16 bits, even in this case, in the objective code, as shown below as the instruction sequence from ■ to ■,
Must be output as a combination of instructions.

■ LD  R2y ■  LD   R3z ■  SUB   R2R3 ■ AIU   RI   R5g/65536■ L
D  R3R1g%65536 ■ ADD   R2R3 ■ ADI   R231 ■ ST   R2x ここで、アセンブリ形式での変数名はX!3’lZにつ
いては各々に対するペースレジスタ中のベース値とオフ
セットの対を表わすものとし、gについてはペースレジ
スタR5中のベース値からのオフセットを表わすものと
する。また、SUBは第1オペランドと第2オペランド
の差を第1オペランドに格納する、ADDは同じく和に
ついて行なう、ADIは第1オペランドに第2オペラン
ドの即値を加算した値を第1オペランドに格納する、S
Tは第1オペランドの値を第2オペランドに格納する、
という命令であるものとする。また、レジスタR1には
レジスタR5に格納されている値と等しい値が格納され
ているものと仮定する。
■ LD R2y ■ LD R3z ■ SUB R2R3 ■ AIU RI R5g/65536 ■ L
D R3R1g%65536 ■ ADD R2R3 ■ ADI R231 ■ ST R2x Here, the variable name in assembly format is X! Let 3'lZ represent the base value and offset pair in the pace register for each, and let g represent the offset from the base value in pace register R5. In addition, SUB stores the difference between the first and second operands in the first operand, ADD similarly performs the sum, and ADI stores the value obtained by adding the immediate value of the second operand to the first operand in the first operand. , S
T stores the value of the first operand in the second operand,
The command shall be: Further, it is assumed that the register R1 stores a value equal to the value stored in the register R5.

これが現在、第3図に示すように命令キュー301部(
第1図104)に入っており現命令が■であるとする。
This is currently the instruction queue 301 section (
104) in FIG. 1 and the current instruction is ■.

キューの深さは4であるとしている。したがって第3図
(a)に示すように■〜■が命令キュー部内にあること
になる。
The depth of the queue is assumed to be 4. Therefore, as shown in FIG. 3(a), ① to ② are in the instruction queue section.

現時点でタイミングをしとする。命令キューの先頭(第
1エントリ)である現命令■のLD (302)は現在
「演算」段階として実行中であり、このとき次の位置(
第2エントリ)にある次命令■のLD (303)は、
命令実行器によって現在「解釈゛」段階である。ここで
第4エントリにある■のAIU命令305に注目すると
、前記の仮定により、gのオフセットはR1から16ビ
ツト以内であるので、■の命令のオフセット部は○であ
る。この値Oが306−2で送られ、検出器307(第
1図106)によって、命令語の命令コードAIUとオ
フセット部の値0との組合せで、第4エントリの本命令
が実行する必要のない命令であることを検出する。この
機能を実現するための回路は、本例でA、IUの命令コ
ードのビットパターンが’11001100’ である
とすると、第4図(a)に示すようなもので実現できる
。本例では第3、第4エントリに対してそれぞれ1つず
つの計2つ(第4図402と403)の上記回路で検出
器106を構成する。
I'll take the timing at this point. The LD (302) of the current instruction ■, which is the head (first entry) of the instruction queue, is currently being executed in the "operation" stage, and at this time, the next position (
The LD (303) of the next instruction ■ in the second entry) is
It is currently in the "interpretation" stage by the instruction executor. If we pay attention to the AIU instruction 305 (■) in the fourth entry, based on the above assumption, the offset of g is within 16 bits from R1, so the offset part of the instruction (■) is ○. This value O is sent in 306-2, and the detector 307 (106 in FIG. 1) detects the value that the main instruction in the fourth entry needs to execute in combination with the instruction code AIU of the instruction word and the value 0 in the offset part. Detects that the instruction does not exist. A circuit for realizing this function can be realized as shown in FIG. 4(a), assuming that the bit pattern of the instruction code of A and IU in this example is '11001100'. In this example, the detector 106 is composed of two circuits (402 and 403 in FIG. 4), one each for the third and fourth entries.

この非実行指令401が第1選択回路107に伝えられ
る。第1図に示したように、第1選択回路は、第4図(
b)404に示すように、主記憶装置からの、命令キュ
ー部104に次に保持されるべき命令語から連続する2
命令を読み込むためのデータ線(405,406)と本
キューの第4エントリの命令を読み込むためのデータ線
407とを入力とし、非実行指令線408からの非実行
指令の有無に応じてこれら入力された3命令のうちの2
つを命令キュー部の第4、第3エントリにそれぞれ送る
。本例の場合、現時点タイミングtでは405からは■
、406からは■の命令がそれぞれ送られる。第1図に
示した第2選択回路lO8は第4図(b)409に示す
ように、命令キ二一部の第3、第4エントリからの命令
をデータ線410と411とを介して入力とし、非実行
指令線412からの非実行指令の有無に応じて、これら
入力された2命令のうちの1つを命令キュー部の第2エ
ントリに送る。それぞれの非実行指令とそれぞれの選択
回路から送出されるべき出力との組合せは第5図(a)
、(b)に示すとおりであり、非実行指令が検出されな
い時は命令キューを1段先送りし、主記憶装置から次の
命令を読み込むように作動する。
This non-execution command 401 is transmitted to the first selection circuit 107. As shown in FIG. 1, the first selection circuit is configured as shown in FIG.
b) As shown at 404, two consecutive instruction words from the main memory to be held next in the instruction queue unit 104
The data lines (405, 406) for reading instructions and the data line 407 for reading the instruction of the fourth entry of this queue are input, and these inputs are performed depending on the presence or absence of a non-execution command from the non-execution command line 408. 2 out of 3 instructions given
One is sent to the fourth and third entries of the instruction queue section, respectively. In this example, at the current timing t, from 405
, 406 respectively send the command (■). The second selection circuit lO8 shown in FIG. Then, depending on the presence or absence of a non-execution command from the non-execution command line 412, one of these input two commands is sent to the second entry of the command queue section. The combination of each non-execution command and the output to be sent from each selection circuit is shown in FIG. 5(a).
, (b), and when a non-execution command is not detected, the instruction queue is advanced one step and the next instruction is read from the main memory.

本例においては、第4エントリに非実行命令が検出され
た場合、第5図(a)の下段(*)の場合が選択される
。タイミングしからし+1への移行時に、第4エントリ
には主記憶装置からの命令(406からのもの)、第3
エントリにも主記憶装置からの命令(405からのもの
)がそれぞれ送られる。すなわち、tの時点で第4エン
トリにあった命令を削除・するよう、それ以降の命令を
命令キュー部に順に1つずつ先送りしたことになる。
In this example, when a non-executable instruction is detected in the fourth entry, the case shown in the lower row (*) of FIG. 5(a) is selected. When transitioning to timing +1, the fourth entry contains the instruction from the main memory (from 406), the third entry
Instructions from the main memory (from 405) are also sent to each entry. That is, so as to delete the instruction that was in the fourth entry at time t, subsequent instructions are sequentially advanced to the instruction queue section one by one.

(第3図(b)に示す) 以上の動作が命令スケジューラによって実施される。こ
の時点で命令キュー部の中の■の命令はまだ実行対象で
はなかったので、命令実行器に送られてはおらず、この
不要なAIU命令が削除されたことになる。
(As shown in FIG. 3(b)) The above operations are performed by the instruction scheduler. At this point, the instruction marked ■ in the instruction queue section was not yet to be executed, so it was not sent to the instruction executor, and this unnecessary AIU instruction was deleted.

キューの第3エントリに非実行命令が検出された場合は
第2選択回路によって、第4エントリの命令が第2エン
トリへ、主記憶装置からはそれぞれ第4、第3エントリ
へとLからt+1へのタイミング移行に伴ってキューの
内容がシフトされ、第3エントリの命令が命令キューか
ら削除されたことになる。
If a non-executable instruction is detected in the third entry of the queue, the second selection circuit selects the instruction in the fourth entry to the second entry, and from the main memory to the fourth and third entries, respectively, from L to t+1. The contents of the queue are shifted with the timing shift of , and the third entry instruction is deleted from the instruction queue.

(第2例) 以上は非実行命令を検出するのにAIU命令のオフセッ
トフィールドという、命令語の特定フィールドの特定の
値を使用する例であるが、特定フィールドの特定値のか
わりに命令キュー内での非実行化を指示する独立したフ
ィールドを設け、これを設定する方式も考えられる。A
IU命令について第6図のように命令コード601、t
regレジスタ指定部602、s regレジスタ指定
部603、:E i m m即値指定部604、非実行
指定部605と命令語の形式を決め、本命令の実行/非
実行を非実行指定部605の1ビツトで指定するように
し、このフィールド値をリンケージエディタによって設
定するものとする。すなわち、ワンケージエディタは再
配置等に加え実行/非実行の指定も行うものとする。第
1例と同じ状況のとき、外部変数gを再配置したリンケ
ージエディタによってgのオフセットが16ビツト以内
であることがわかる。
(Second example) The above is an example of using a specific value of a specific field of an instruction word, called the offset field of an AIU instruction, to detect a non-executable instruction. It is also conceivable to provide an independent field that instructs non-execution of the program and set this field. A
Regarding the IU instruction, the instruction code 601, t as shown in FIG.
reg register specification section 602, s reg register specification section 603, :E im m immediate value specification section 604, and non-execution specification section 605 determine the format of the instruction word, and the execution/non-execution of this instruction is determined by the non-execution specification section 605. It is assumed that the field value is specified using 1 bit, and the value of this field is set by the linkage editor. That is, the one-cage editor is assumed to perform execution/non-execution designation in addition to relocation and the like. In the same situation as in the first example, the linkage editor that rearranged the external variable g shows that the offset of g is within 16 bits.

リンケージエディタの処理において、再配置の対称であ
るこの命令語を、さらに実行/非実行の指定対象でもあ
るとする。リンケージエディタには実行/非実行の指定
対象であるこの命令(AIU命令)において、即値指定
部604がOを持つことを認識する機能と、即値指定部
604が値○の場合に非実行指定ビット605をONと
する機能とを新たに保持させる。この処理の流れを第7
図に示す。本例の場合、■のAIU命令でのgの再配置
処理で、二のgのオフセットが16ビツト以内すなわち
、本AIU命令の即値指定部604が値Oであることが
第7図701で検出されるので、第7図702で非実行
指定ビット605がONと設定され、gが16ビツトで
指定回であると指定される。さらに、このAIU命令に
続くLD命令のオペランドのペースレジスタフィールド
bregを本AIU命令のソースオペランドであるレジ
スタs regフィールドの値に変更する機能をリンケ
ージエディタに保持させる(第7図703)。本例では
、■のAIt、’命令の次のLD命令■において、R1
レジスタとなっているbregフィールドにAIU命令
■のsregフィールドの値レジスタR5が代入される
。すなわち、LD命令■ではペースレジスタとしてレジ
スタR1ではなくレジスタR5が指定される。
In the process of the linkage editor, this instruction word, which is the object of relocation, is also the object of execution/non-execution designation. The linkage editor has a function that recognizes that the immediate value specification section 604 has O in this instruction (AIU instruction) that is the target of execution/non-execution, and a function that recognizes that the immediate value specification section 604 has the value ○, a non-execution specification bit. 605 is newly retained. This process flow is explained in the seventh section.
As shown in the figure. In this example, in the relocation process of g in the AIU instruction (■), the offset of the second g is within 16 bits, that is, the immediate value specification part 604 of this AIU instruction is found to be the value O, as shown in FIG. 7 701. Therefore, at 702 in FIG. 7, the non-execution designation bit 605 is set to ON, and g is 16 bits, which designates the designated time. Further, the linkage editor has a function of changing the pace register field breg of the operand of the LD instruction following this AIU instruction to the value of the register s reg field which is the source operand of this AIU instruction (703 in FIG. 7). In this example, in the LD instruction ■ following the AIt, 'instruction in ■, R1
The value register R5 of the sreg field of the AIU instruction (2) is assigned to the breg field, which is a register. That is, in the LD instruction ■, register R5 is designated as the pace register instead of register R1.

命令キュー中の命令に対して、この非実行指定ビットに
よって、当該命令が実行する必要のないものであること
を検出器で検出する。この検出器は第3図307に示す
ものと同様であるが、1ビツトの0N−OFFによって
作動する検出装置で実現される。この後、第1例と同様
に、選択回路からの出力が決定されて、キュー前進操作
が実施されることによって、命令■が命令キュー部から
削除されて、主記憶内の命令■が第4エントリへと読み
込まれる。
With respect to the instruction in the instruction queue, the detector detects that the instruction does not need to be executed based on this non-execution designation bit. This detector is similar to that shown in FIG. 3 307, but is implemented with a detection device activated by a 1-bit ON-OFF. After this, as in the first example, the output from the selection circuit is determined and the queue advance operation is performed, so that the instruction ■ is deleted from the instruction queue section and the instruction ■ in the main memory is moved to the fourth loaded into the entry.

本例の場合、非実行とされたATU命令に続くLD命令
■のベースレジスタフィールドbregが、■のAIU
命令を実行しなかった場合の正しいベースであるレジス
タR5に置き換えられているので、第1例のようにR1
とR5とを等しい内容に保っておく必要がなくなる。
In this example, the base register field breg of the LD instruction ■ following the ATU instruction that was determined to be non-executable is
Since it is replaced with register R5, which is the correct base when the instruction is not executed, R1
There is no need to maintain the same contents in R5 and R5.

[発明の効果] 命令キューの中で、無効命令として実行対象から削除さ
れた命令はNOP命令としても実行されることがないの
で、プログラムの実行時間に負担をかけない。また、外
部変数の参照のように、アセンブル時点では確定するこ
とのできないアドレスであっても、それを複数の命令系
列によって表現しておき、実行時に実際のアドレスが決
定された段階で、その範囲に応じて余分な上位部分のロ
ード命令を非実行化することによって最少の命令数で参
照することができ、高速実行が可能となる。
[Effects of the Invention] An instruction deleted from the execution target as an invalid instruction in the instruction queue is not executed even as a NOP instruction, so there is no burden on the program execution time. In addition, even if the address cannot be determined at the time of assembly, such as a reference to an external variable, it can be expressed by multiple instruction sequences, and once the actual address is determined during execution, the range By non-executing unnecessary load instructions in the upper part according to the number of instructions, reference can be made with a minimum number of instructions, and high-speed execution is possible.

さらに、目的コードのレベルでは命令語の削除が生じな
いので、アドレス計算をしなおすこともなく、サイズの
小さな外部変数だけをリンケージエディタが別個に配置
する必要もないので、データの配置についての制約がゆ
るくなり、コンパイラに負担をかけないですむ。
Furthermore, since instruction words are not deleted at the target code level, there is no need to recalculate addresses, and there is no need for the linkage editor to separately place only small external variables, so there are no restrictions on data placement. This makes the process easier, and there is no need to put a burden on the compiler.

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

第1図は本発明の情報処理装置の基本的構成を示すブロ
ック図である。第2図は命令語のフォーマットを示す図
である。第3図は命令キューと非実行命令の検出器との
関係を示す図である。第4図(a)は検出器の構成例を
示す図であり、第4図(b)は本発明の情報処理装置の
具体的構成を示すブロック図である。第5図は選択回路
の入出力関係の表を示す図である。第6図はリンケージ
エディタによって生成された非実行指定ビットを持つ命
令フォーマットを示す図である。第7図はリンケージエ
ディタにより非実行指定ビットを持つ命令を生成するた
めの生成処理の流れ図である。 Ol・・・・・・命令実行器 o2・・・・・・主記憶装置 03・・・・・・命令先行制御器 04.301・・・・・・命令キュー部05・・・・・
・命令スケジューラ 06.307・・・・・・命令検出器 07.404・・・・・・第1選択回路08.409・
・・・・・第2選択回路09・・・・・・キュー前進器
FIG. 1 is a block diagram showing the basic configuration of an information processing apparatus according to the present invention. FIG. 2 is a diagram showing the format of a command word. FIG. 3 is a diagram showing the relationship between an instruction queue and a non-executable instruction detector. FIG. 4(a) is a diagram showing an example of the configuration of a detector, and FIG. 4(b) is a block diagram showing a specific configuration of the information processing apparatus of the present invention. FIG. 5 is a diagram showing a table of input/output relationships of the selection circuit. FIG. 6 is a diagram showing an instruction format with a non-execution designation bit generated by the linkage editor. FIG. 7 is a flow chart of generation processing for generating an instruction having a non-execution designation bit by the linkage editor. Ol...Instruction executor o2...Main memory 03...Instruction advance controller 04.301...Instruction queue section 05...
-Instruction scheduler 06.307...Instruction detector 07.404...First selection circuit 08.409-
...Second selection circuit 09...Cue advance device

Claims (1)

【特許請求の範囲】 1、主記憶装置と、 命令キュー部と、上記主記憶装置から命令を読み出し上
記命令キュー部に格納し、該命令キュー部の内容の順序
関係を制御する命令先行制御器と、 上記命令キュー部に記憶された内容を命令語として解釈
実行する命令実行器とを備え、 上記命令キュー部内の命令を上記命令実行器でパイプラ
イン実行する情報処理装置において、上記命令先行制御
器が 上記命令キュー部内にある命令が非実行命令であること
を検出する検出手段と、検出された非実行命令を実行対
象から削除し、該命令に引き続く命令で置換する制御手
段からなる命令スケジューラを備えたことを特徴とする
情報処理装置。 2、上記検出手段は複数のフィールドからなる命令語に
おける特定のパターンを検出するよう構成され、該特定
のパターンが検出されたとき非実行命令であるとするこ
とを特徴とする特許請求の範囲第1項記載の情報処理装
置。 3、上記命令語に非実行命令であるか否かを指示するよ
う他のフィールドとは独立したフィールドを設け、上記
検出手段は該独立したフィールドの内容を検出するよう
構成した特許請求の範囲第2項記載の情報処理装置。 4、上記検出手段を、上記命令キュー部の段数に応じて
複数個備える特許請求の範囲第1項記載の情報処理装置
。 5、外部変数の再配置処理で生成された命令が実行/非
実行の判断対象の命令か否かを検査し、判断対象の命令
のとき、実行か非実行かの判断をし、その判断結果を命
令中の他のフィールドとは独立したフィールドにセット
するようにして命令の生成をする命令生成方法。 6、上記命令の生成をリンケージエディタにより行う特
許請求の範囲第5項記載の命令生成方法。
[Scope of Claims] 1. A main memory device, an instruction queue section, and an instruction advance controller that reads instructions from the main memory device, stores them in the instruction queue section, and controls the order of the contents of the instruction queue section. and an instruction executor that interprets and executes the contents stored in the instruction queue section as an instruction word, and executes the instructions in the instruction queue section in a pipeline with the instruction executor, the instruction advance control as described above. an instruction scheduler comprising a detection means for detecting that an instruction in the instruction queue section is a non-executable instruction; and a control means for deleting the detected non-executable instruction from the execution target and replacing it with an instruction following the instruction. An information processing device comprising: 2. The detection means is configured to detect a specific pattern in an instruction word consisting of a plurality of fields, and when the specific pattern is detected, it is determined that the instruction is a non-executable instruction. The information processing device according to item 1. 3. A field independent from other fields is provided in the instruction word to indicate whether or not it is a non-executable instruction, and the detection means is configured to detect the contents of the independent field. The information processing device according to item 2. 4. The information processing apparatus according to claim 1, further comprising a plurality of the detection means according to the number of stages of the instruction queue section. 5. Check whether the instruction generated by the external variable relocation process is an instruction to be determined as execution/non-execution, and if it is an instruction to be determined, determine whether to execute or not to execute, and check the determination result. An instruction generation method that generates an instruction by setting the field in a field independent of other fields in the instruction. 6. The instruction generation method according to claim 5, wherein the instruction is generated by a linkage editor.
JP24931890A 1990-09-19 1990-09-19 Information processor and instruction generating method Pending JPH04127326A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24931890A JPH04127326A (en) 1990-09-19 1990-09-19 Information processor and instruction generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24931890A JPH04127326A (en) 1990-09-19 1990-09-19 Information processor and instruction generating method

Publications (1)

Publication Number Publication Date
JPH04127326A true JPH04127326A (en) 1992-04-28

Family

ID=17191215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24931890A Pending JPH04127326A (en) 1990-09-19 1990-09-19 Information processor and instruction generating method

Country Status (1)

Country Link
JP (1) JPH04127326A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236267A (en) * 1993-01-08 1994-08-23 Internatl Business Mach Corp <Ibm> Method and system for enhancement of dispatch efficiency of instruction device in superscalar processor system
US8718332B2 (en) 2009-09-28 2014-05-06 Dainippon Screen Mfg. Co., Ltd. Apparatus and method for analyzing the performance level of overprinting

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236267A (en) * 1993-01-08 1994-08-23 Internatl Business Mach Corp <Ibm> Method and system for enhancement of dispatch efficiency of instruction device in superscalar processor system
US8718332B2 (en) 2009-09-28 2014-05-06 Dainippon Screen Mfg. Co., Ltd. Apparatus and method for analyzing the performance level of overprinting

Similar Documents

Publication Publication Date Title
US6615333B1 (en) Data processing device, method of executing a program and method of compiling
JP2746549B2 (en) Computer system and operation method thereof
JP3093624B2 (en) Method and apparatus for handling speculative exceptions
US6148439A (en) Nested loop data prefetching using inner loop splitting and next outer loop referencing
JP2560988B2 (en) Information processing apparatus and processing method
JPS6125169B2 (en)
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH04127326A (en) Information processor and instruction generating method
JP2001306334A (en) Emulation device
JP2694799B2 (en) Information processing device
JPH06149569A (en) Register number changing device
JP2685713B2 (en) Data processing device
JP3954159B2 (en) Synchronous RAM access control circuit, data processor and control method thereof
JP3490191B2 (en) calculator
JPH0954694A (en) Pipeline processor and its processing method
JP2927102B2 (en) Instruction string switching method and arithmetic processor using the same
JPH04365133A (en) Preload instruction executing device and program correcting device
JP3168657B2 (en) Branch instruction control circuit
JP2591325B2 (en) Branch control device
JP3493110B2 (en) High-speed branch processing unit
JPS6125168B2 (en)
JP2569867B2 (en) Effective Address Precalculation Pipeline Microprocessor
JPH0248733A (en) Information processor
JPS60178539A (en) By-pass control system of information processor
JPS6220032A (en) Information processor