JPH04127326A - 情報処理装置および命令生成方法 - Google Patents
情報処理装置および命令生成方法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 section
- instructions
- value
- 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
- 238000000034 method Methods 0.000 title claims description 16
- 230000010365 information processing Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は情報処理装置での命令実行に係わるものであり
、特に、アーキテクチャ上の制約から、データが存在す
る主記憶内の位置によって実行時にそのデータを参照す
るのに必要となる実行命令数が異なるような場合に、実
行すべき命令数を減少させて実行時間を短縮させるため
に、広く適用できる装置および該2置での対象になる命
令の命令生成方法に関するものである。
、特に、アーキテクチャ上の制約から、データが存在す
る主記憶内の位置によって実行時にそのデータを参照す
るのに必要となる実行命令数が異なるような場合に、実
行すべき命令数を減少させて実行時間を短縮させるため
に、広く適用できる装置および該2置での対象になる命
令の命令生成方法に関するものである。
[従来の技術]
命令処理を複数の段階に分け、連続して実行される複数
の命令のそれぞれ異なる段階を同時に実行してパイプラ
イン処理する計算機システムにおいては、現在実行中の
命令(現命令)の実行時点でその命令に引き続く命令(
この命令のことを次命令と呼ぶことにする。次命令は一
般には複数個の場合がある)は命令実行器において、そ
の解釈段階にある。現命令が分岐を生じない通常の命令
であって制御を変更しない場合は、現命令の実行と次命
令の解釈とがオーバラップし、パイプラインがうまく流
れるが、現命令が分岐命令等であり制御を変更する命令
である場合には、既に解釈段階にある次命令を実行して
はならない。そのためには、 l)分岐を生じる命令においては次命令の先行制御を実
施しない 2)このような分岐命令の直後に無効命令(NOP命令
)を挿入してやる という方法をとればよい。しかし、上記(1)の方法の
場合には、その時点で命令のオーバラップが実行ができ
なくなりパイプラインが乱れる。上記(2)の方法の場
合のNOP命令挿入ではパイプラインは乱れないが、無
駄なNOP命令を実行するので、オーバ・ラップ実行の
効果がなくなるという問題が出る。
の命令のそれぞれ異なる段階を同時に実行してパイプラ
イン処理する計算機システムにおいては、現在実行中の
命令(現命令)の実行時点でその命令に引き続く命令(
この命令のことを次命令と呼ぶことにする。次命令は一
般には複数個の場合がある)は命令実行器において、そ
の解釈段階にある。現命令が分岐を生じない通常の命令
であって制御を変更しない場合は、現命令の実行と次命
令の解釈とがオーバラップし、パイプラインがうまく流
れるが、現命令が分岐命令等であり制御を変更する命令
である場合には、既に解釈段階にある次命令を実行して
はならない。そのためには、 l)分岐を生じる命令においては次命令の先行制御を実
施しない 2)このような分岐命令の直後に無効命令(NOP命令
)を挿入してやる という方法をとればよい。しかし、上記(1)の方法の
場合には、その時点で命令のオーバラップが実行ができ
なくなりパイプラインが乱れる。上記(2)の方法の場
合のNOP命令挿入ではパイプラインは乱れないが、無
駄なNOP命令を実行するので、オーバ・ラップ実行の
効果がなくなるという問題が出る。
この問題を解決しようとするものが、RISCプロセッ
サにおける遅延分岐命令とその直後の命令の有効利用で
ある。これは、分岐命令は必ず次命令(この場合、分岐
命令の直後に置かれている命令)を実行しくすなわち分
岐の効果が次命令の実行終了まで遅延される)、この分
岐命令に伴って実行される次命令が位置する部分(遅延
スロットと呼ばれる)にソフトウェアによって、現命令
の前に実行されるように配置されている命令や分岐のタ
ーゲットとなる命令を移動させて上記パイプラインの乱
れを最小限にしようとするものである2この技術につい
ては日経エレクトロニクス誌1983年1月17日号、
135頁〜136頁に記載されている。
サにおける遅延分岐命令とその直後の命令の有効利用で
ある。これは、分岐命令は必ず次命令(この場合、分岐
命令の直後に置かれている命令)を実行しくすなわち分
岐の効果が次命令の実行終了まで遅延される)、この分
岐命令に伴って実行される次命令が位置する部分(遅延
スロットと呼ばれる)にソフトウェアによって、現命令
の前に実行されるように配置されている命令や分岐のタ
ーゲットとなる命令を移動させて上記パイプラインの乱
れを最小限にしようとするものである2この技術につい
ては日経エレクトロニクス誌1983年1月17日号、
135頁〜136頁に記載されている。
分岐命令が無条件分岐である場合はこれで良いが、条件
分岐である場合には、条件の成立不成立によって実行さ
れるバスが異なるので実行結果を保証するために、ソフ
トウェアによって配置された遅延スロットの命令を実行
したり、実行しなかったりすることが必要になる。
分岐である場合には、条件の成立不成立によって実行さ
れるバスが異なるので実行結果を保証するために、ソフ
トウェアによって配置された遅延スロットの命令を実行
したり、実行しなかったりすることが必要になる。
HP(ヒユーレットバラカード)社のプレシジョンアー
キテクチャにおいては、命令(現命令)がその次に配置
された命令(次命令)を無効化(nullify)する
。すなわちその効果をN○Pとすることを現命令の命令
語内のフィールドで指定する機能がある。これによって
条件分岐命令等においても必要な場合にだけ遅延スロッ
トにある命令の無効化を行なうことによって、条件分岐
の一方のパスでは命令のパイプライン実行の効果を得る
ことができきる。この技術については日経エレクトロニ
クス誌1986年6月16日号、221頁〜222頁に
記載されている。
キテクチャにおいては、命令(現命令)がその次に配置
された命令(次命令)を無効化(nullify)する
。すなわちその効果をN○Pとすることを現命令の命令
語内のフィールドで指定する機能がある。これによって
条件分岐命令等においても必要な場合にだけ遅延スロッ
トにある命令の無効化を行なうことによって、条件分岐
の一方のパスでは命令のパイプライン実行の効果を得る
ことができきる。この技術については日経エレクトロニ
クス誌1986年6月16日号、221頁〜222頁に
記載されている。
一方、これらのRISCアーキテクチャでは、上記のよ
うな命令のパイプライン実行を実現する際の負担を軽減
したり、命令解釈時の処理速度を向上させるために、す
べての命令語が固定長になるように設計されている。そ
のために主記憶の全空間をアドレス付けするにはl命令
のフィールドでは不十分である・という事態が発生する
。例えば、命令語長が32ビツトであり、アドレス付は
可能な主記憶空間が2置番地あるような場合、命令語の
一部分であるアドレス付は用のフィールドは32ビット
未満であり、このフィールドで基準点からのオフセット
を指定するときに、2 Ifのオフセットは表現し切れ
ない。基準点の値を再設定する方法もあるが、コンパイ
ラ作製にとっては負担となる。
うな命令のパイプライン実行を実現する際の負担を軽減
したり、命令解釈時の処理速度を向上させるために、す
べての命令語が固定長になるように設計されている。そ
のために主記憶の全空間をアドレス付けするにはl命令
のフィールドでは不十分である・という事態が発生する
。例えば、命令語長が32ビツトであり、アドレス付は
可能な主記憶空間が2置番地あるような場合、命令語の
一部分であるアドレス付は用のフィールドは32ビット
未満であり、このフィールドで基準点からのオフセット
を指定するときに、2 Ifのオフセットは表現し切れ
ない。基準点の値を再設定する方法もあるが、コンパイ
ラ作製にとっては負担となる。
これに対処するため、そのようなアーキテクチャをもつ
計算機では、レジスタの左部分へ値をロードしたり加算
する(すなわち、命令語のフィールドには32ビット未
満の値を記述し、命令実行時にこの値を何ビットか左シ
フトして32ビツト値としてレジスタにロードしたり加
算する)という命令を用意しており、アドレスのオフセ
ットや即値の左部分をロードしたのち、別の命令によっ
て残りの右部分を利用するということを行なう。
計算機では、レジスタの左部分へ値をロードしたり加算
する(すなわち、命令語のフィールドには32ビット未
満の値を記述し、命令実行時にこの値を何ビットか左シ
フトして32ビツト値としてレジスタにロードしたり加
算する)という命令を用意しており、アドレスのオフセ
ットや即値の左部分をロードしたのち、別の命令によっ
て残りの右部分を利用するということを行なう。
[発明が解決しようとする課題]
上記従来技術においては、1命令のフィールドではすべ
てのアドレスのオフセットや即値を表現し切れないとい
う点について、次が課題となる。
てのアドレスのオフセットや即値を表現し切れないとい
う点について、次が課題となる。
1命令で表現しきれないアドレス値や即値を利用するに
は、2命令以上の命令の組合せが必要である。この命令
の組合せはアセンブルの段階までに決定されなければな
らないので、例えば外部変数のようにコンパイルもしく
はアセンブルの段階ではそのアドレス値が決定できない
ものについては、結果的にその外部変数のアドレス値が
1命令で十分表現できる範囲のものであっても、まず左
部分としてOをロードして必要な基準点を得た後それを
利用するといったように常に2命令(もしくはそれ以上
)の命令の組合せを使用して表現することが必要になり
、命令数、実行時間ともに増加する。これをソフトウェ
アで解決するため、アーキテクチユラル サポート フ
ォア プログラミング ランゲージズ アンド オペレ
ーティングシステムズ 第2回国際カンファレンス予講
集1987年、119頁〜120頁においては1命令で
表現可能な大きさに収まるよう小さなサイズの外部変数
を別個・に配置するようにリンケージエディタに指示す
ることを仮定してコンパイルする方式が提案されている
。
は、2命令以上の命令の組合せが必要である。この命令
の組合せはアセンブルの段階までに決定されなければな
らないので、例えば外部変数のようにコンパイルもしく
はアセンブルの段階ではそのアドレス値が決定できない
ものについては、結果的にその外部変数のアドレス値が
1命令で十分表現できる範囲のものであっても、まず左
部分としてOをロードして必要な基準点を得た後それを
利用するといったように常に2命令(もしくはそれ以上
)の命令の組合せを使用して表現することが必要になり
、命令数、実行時間ともに増加する。これをソフトウェ
アで解決するため、アーキテクチユラル サポート フ
ォア プログラミング ランゲージズ アンド オペレ
ーティングシステムズ 第2回国際カンファレンス予講
集1987年、119頁〜120頁においては1命令で
表現可能な大きさに収まるよう小さなサイズの外部変数
を別個・に配置するようにリンケージエディタに指示す
ることを仮定してコンパイルする方式が提案されている
。
上記アドレス値や即値が1命令で十分に表現可能であっ
た場合には次命令を無効化することによって不要な命令
の効果をNOPとすることが考えられるが、上記従来技
術においては次命令を無効化するか否かは、現命令の実
行時にならないと決定できず、また無効化された命令は
NOP命令として実行されてしまうので、無効化だけに
よっては実行命令数の減少は図れない。さらに、無効化
の指定もアセンブルの段階で行なうことが必要であり、
実行時に実行命令数を最少とするには不十分な方法とな
っている。
た場合には次命令を無効化することによって不要な命令
の効果をNOPとすることが考えられるが、上記従来技
術においては次命令を無効化するか否かは、現命令の実
行時にならないと決定できず、また無効化された命令は
NOP命令として実行されてしまうので、無効化だけに
よっては実行命令数の減少は図れない。さらに、無効化
の指定もアセンブルの段階で行なうことが必要であり、
実行時に実行命令数を最少とするには不十分な方法とな
っている。
[課題を解決するための手段]
上記の問題点を解決するためには、1つの命令がその実
行準備段階にあって実行される以前、すなわち命令キュ
ーに入った段階で、その命令を非実行命令として命令キ
ューから削除し、その命令の次に配置されている命令(
次命令)で置き換えるようにすればよい。
行準備段階にあって実行される以前、すなわち命令キュ
ーに入った段階で、その命令を非実行命令として命令キ
ューから削除し、その命令の次に配置されている命令(
次命令)で置き換えるようにすればよい。
そのために命令スケジューラを設ける。
命令語には、自分自身を実行するか否かの識別記号を与
え、これによって直前の命令ではなく当該命令語自身を
、自身を実行/非実行とするための制御情報とする。こ
の識別記号は命令語内のそれ専用のフィールドであって
もよいし、既存フィールドの特定の場合を利用すること
も可能である。
え、これによって直前の命令ではなく当該命令語自身を
、自身を実行/非実行とするための制御情報とする。こ
の識別記号は命令語内のそれ専用のフィールドであって
もよいし、既存フィールドの特定の場合を利用すること
も可能である。
専用のフィールドとする場合には、例えば、リンケージ
エディタによりそのための命令の生成をする。さらに、
この識別記号の値から当該命令が非実行であることを検
出する検出器を命令スケジューラに置く。
エディタによりそのための命令の生成をする。さらに、
この識別記号の値から当該命令が非実行であることを検
出する検出器を命令スケジューラに置く。
また、命令スケジューラは命令キュー部を制御する。命
令スケジューラにおいては命令語の指示によって、当該
命令を実行対象から削除し、命令実行器には送らず当該
命令の次命令で置き変える処理を行なう。さらに、命令
キュー部の中で非実行とされた命令の次から続く命令を
順次、命令キュー部の中で前方に移動させて、さらに続
く命令を主記憶から命令キュー部に入力するようにする
。
令スケジューラにおいては命令語の指示によって、当該
命令を実行対象から削除し、命令実行器には送らず当該
命令の次命令で置き変える処理を行なう。さらに、命令
キュー部の中で非実行とされた命令の次から続く命令を
順次、命令キュー部の中で前方に移動させて、さらに続
く命令を主記憶から命令キュー部に入力するようにする
。
命令キュー部は少なくとも、現命令、次命令、次命令の
次の命令を保持するために、3エントリ分以上の段階の
深さを持つことが必要である。
次の命令を保持するために、3エントリ分以上の段階の
深さを持つことが必要である。
[作用コ
命令語は、タイミング℃で1つが実行され、次のタイミ
ングt+1で次の命令が実行されるよう制御され、タイ
ミング毎に命令キュー部の内容が1つずつ前方にシフト
される。
ングt+1で次の命令が実行されるよう制御され、タイ
ミング毎に命令キュー部の内容が1つずつ前方にシフト
される。
命令語に自分自身を非実行化する指定があると、その指
示は検出器によって検出される。これによって、命令ス
ケジューラは当該命令を実行対象から削除する。タイミ
ングもで上記の削除指示が与えられると、しからし+1
での命令−キューのシフト時に、命令スケジューラでは
前記削除指示に従って、命令キュー部の中の削除すべき
当該命令の位置を得て当該命令を命令キュー部から削除
するよう、命令キュー部内で削除すべき当該命令の次命
令以下の命令を順次、キューの前方へ一段ずつシフトす
ることによって実現する。
示は検出器によって検出される。これによって、命令ス
ケジューラは当該命令を実行対象から削除する。タイミ
ングもで上記の削除指示が与えられると、しからし+1
での命令−キューのシフト時に、命令スケジューラでは
前記削除指示に従って、命令キュー部の中の削除すべき
当該命令の位置を得て当該命令を命令キュー部から削除
するよう、命令キュー部内で削除すべき当該命令の次命
令以下の命令を順次、キューの前方へ一段ずつシフトす
ることによって実現する。
シフト動作の結果、キューの最終エントリに空きができ
るので、主記憶から次に配置されている命令を読み込み
、命令キュー部の最終エントリとして格納する。
るので、主記憶から次に配置されている命令を読み込み
、命令キュー部の最終エントリとして格納する。
以上の動作によって、命令キュー部のシフト動作に伴っ
て、実行不要な命令が命令キュー部の中で「解釈」段階
以前に検出され、非実行命令であるとしてキューの中か
ら削除される。その結果、この命令は命令実行器に送ら
れないので、実行せずにすむ。
て、実行不要な命令が命令キュー部の中で「解釈」段階
以前に検出され、非実行命令であるとしてキューの中か
ら削除される。その結果、この命令は命令実行器に送ら
れないので、実行せずにすむ。
[実施例コ
以下、図面を用いて本発明の一実施例を詳細に説明する
。第1図は本発明の装置の基本的構成を示すものであり
、命令実行器101、主記憶装置102、命令先行制御
器103からなる。命令先行制御器はさらに、命令キュ
ー部104と、命令スケジューラ105とからなる。本
実施例では主記憶装置として、いわゆるキャッシュメモ
リを含んだ装置を考える。また、本実施例では命令キュ
ー部は深さ4段(104−1、l 04−2.104−
3.104−・4)であるとする。命令実行器は命令先
行制御器から供給される命令を順次実行するためのもの
であり、従来のパイプライン処理の命令実行器でよく、
その構成についての詳細な図面及び説明は省略する。
。第1図は本発明の装置の基本的構成を示すものであり
、命令実行器101、主記憶装置102、命令先行制御
器103からなる。命令先行制御器はさらに、命令キュ
ー部104と、命令スケジューラ105とからなる。本
実施例では主記憶装置として、いわゆるキャッシュメモ
リを含んだ装置を考える。また、本実施例では命令キュ
ー部は深さ4段(104−1、l 04−2.104−
3.104−・4)であるとする。命令実行器は命令先
行制御器から供給される命令を順次実行するためのもの
であり、従来のパイプライン処理の命令実行器でよく、
その構成についての詳細な図面及び説明は省略する。
命令先行制御器は、主記憶装置内に格納されている命令
語を読み込んで、命令先行制御器内にある命令キュー部
に送りこみ、さらに命令実行器に与える機能をもつ。な
お、主記憶装置からの命令の読み込みに関する構成等は
従来のものと同様であるので説明は省略する。
語を読み込んで、命令先行制御器内にある命令キュー部
に送りこみ、さらに命令実行器に与える機能をもつ。な
お、主記憶装置からの命令の読み込みに関する構成等は
従来のものと同様であるので説明は省略する。
命令スケジューラは、第1選択回路107、第2選択回
路108、命令検出器106とキュー前進器109とか
らなる。
路108、命令検出器106とキュー前進器109とか
らなる。
本計算機でのプログラムにおける実行命令列は主記憶装
置102に配置しておく。プログラム起動時には、最初
に実行する命令の番地を命令スケジューラに与えて起動
する。起動後、命令スケジューラの指示によりキューの
深さだけの命令語が主記憶装置から命令キュー部に読み
込まれ、命令キュー部の先頭位置から命令語が順次、命
令実行器に送られて実行される。この実施例では、命令
実行器は1つの命令の実行を大きく分けて「解釈」「演
算」、「結果の格納」という3段階で行なうものであり
、現在、先頭キュー位置にある1つの命令(現命令)が
その「演算j段階にあるとすると、先頭の次のキュー位
置にある命令語は、現命令が分岐命令等であっても常に
実行されるよう、命令実行器に送られ、「解釈」段階に
あるようにされる。すなわち、タイミングtて命令キュ
ー部の先頭にある現命令が演算段階であるとき、先頭の
次にある次命令はその解釈段階にある。次のタイミング
t+1、すなわち現命令の結果格納時に、前記の次命令
が命令キュー部の先頭に送られ、新たな現命令として命
令キュー部の先頭から命令実行器に送られ、「演算」段
階となるようにする。
置102に配置しておく。プログラム起動時には、最初
に実行する命令の番地を命令スケジューラに与えて起動
する。起動後、命令スケジューラの指示によりキューの
深さだけの命令語が主記憶装置から命令キュー部に読み
込まれ、命令キュー部の先頭位置から命令語が順次、命
令実行器に送られて実行される。この実施例では、命令
実行器は1つの命令の実行を大きく分けて「解釈」「演
算」、「結果の格納」という3段階で行なうものであり
、現在、先頭キュー位置にある1つの命令(現命令)が
その「演算j段階にあるとすると、先頭の次のキュー位
置にある命令語は、現命令が分岐命令等であっても常に
実行されるよう、命令実行器に送られ、「解釈」段階に
あるようにされる。すなわち、タイミングtて命令キュ
ー部の先頭にある現命令が演算段階であるとき、先頭の
次にある次命令はその解釈段階にある。次のタイミング
t+1、すなわち現命令の結果格納時に、前記の次命令
が命令キュー部の先頭に送られ、新たな現命令として命
令キュー部の先頭から命令実行器に送られ、「演算」段
階となるようにする。
これによって命令のパイプライン実行がなされる。
命令キュー部から命令語が1つ命令実行器に送られると
、次命令は先頭位置に、次命令の次の命令は次命令の位
置にと、命令キュー部内で順次先送りがなされ、パイプ
ラインの流れを保つ。これはキュー前進器109によっ
てキュー前進操作を実施することによって行われる。命
令語が1つ実行器に送られると、上記のように命令キュ
ーが1つ先送りされ、その結果空いた命令キュー部の終
端に、その次に命令実行器に送られるべき命令語が主記
憶装置から読み込まれる。命令キューの前進と主記憶装
置からの読み出しとは並行して実施することも可能であ
る。
、次命令は先頭位置に、次命令の次の命令は次命令の位
置にと、命令キュー部内で順次先送りがなされ、パイプ
ラインの流れを保つ。これはキュー前進器109によっ
てキュー前進操作を実施することによって行われる。命
令語が1つ実行器に送られると、上記のように命令キュ
ーが1つ先送りされ、その結果空いた命令キュー部の終
端に、その次に命令実行器に送られるべき命令語が主記
憶装置から読み込まれる。命令キューの前進と主記憶装
置からの読み出しとは並行して実施することも可能であ
る。
本計算機の命令語は、すべての実行命令が32ビツトの
固定長であるものとする。主記憶装置内の1語(データ
である)を命令実行器101内の所定のレジスタに読み
込む命令は次の形式をしている。(第2図(a))これ
をアセンブリ形式で記述すると次のようになる。
固定長であるものとする。主記憶装置内の1語(データ
である)を命令実行器101内の所定のレジスタに読み
込む命令は次の形式をしている。(第2図(a))これ
をアセンブリ形式で記述すると次のようになる。
LD し reg breg :o
ffsetここで、命令の種別を表わす命令コード部分
201 (ここではLD)には8ビツト、値を読み込む
べきレジスタ指定部分202(ここではtreg、しは
ターゲットの意味である)には4ビツト、主記憶内の番
地を指定するときの基準となるべき値(基準番地の値)
をもつペースレジスタ指定部分203 (ここではbr
eg)には4ビツト、をそれぞれ使用するものとする。
ffsetここで、命令の種別を表わす命令コード部分
201 (ここではLD)には8ビツト、値を読み込む
べきレジスタ指定部分202(ここではtreg、しは
ターゲットの意味である)には4ビツト、主記憶内の番
地を指定するときの基準となるべき値(基準番地の値)
をもつペースレジスタ指定部分203 (ここではbr
eg)には4ビツト、をそれぞれ使用するものとする。
上記命令LDは、bregで指定されるペースレジスタ
に置数されている基準番地の値にオフセット値を加算し
て得られた値の番地で主記憶装置をアクセスして、主記
憶装置から読み出された内容をt regで指定される
レジスタに格納する命令である。そうすると、基準番地
からの隔たりを表わすオフセット値部204(ここでは
Roffset部分)には16ビツトしか使用できない
ことになる。番地付けすべき主記憶が65535番地を
超えである(本例では32ビツトで表現可能なたけある
ものとする)場合には、この命令だけでは、それを参照
することはできない。このため、本計算機は表現できな
い上位桁16ビツト分をレジスタに代入する命令をもつ
ものとする。(第2図(b))これをアセンブリ形式で
記述すると次のようになる。
に置数されている基準番地の値にオフセット値を加算し
て得られた値の番地で主記憶装置をアクセスして、主記
憶装置から読み出された内容をt regで指定される
レジスタに格納する命令である。そうすると、基準番地
からの隔たりを表わすオフセット値部204(ここでは
Roffset部分)には16ビツトしか使用できない
ことになる。番地付けすべき主記憶が65535番地を
超えである(本例では32ビツトで表現可能なたけある
ものとする)場合には、この命令だけでは、それを参照
することはできない。このため、本計算機は表現できな
い上位桁16ビツト分をレジスタに代入する命令をもつ
ものとする。(第2図(b))これをアセンブリ形式で
記述すると次のようになる。
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となるものとする
。
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となるものとする
。
上記の例のA、 I U命令では、値1を左に16ビツ
トシフトして、その値にレジスタR5の基準番地の値を
加算して、その結果の番地を新たな基準番地(R1)と
して主記憶装置をアクセスし、主記憶装置から読みださ
れた内容をレジスタR2に格納することとなる。
トシフトして、その値にレジスタR5の基準番地の値を
加算して、その結果の番地を新たな基準番地(R1)と
して主記憶装置をアクセスし、主記憶装置から読みださ
れた内容をレジスタR2に格納することとなる。
(第1例)
今、プログラム片x=y−z+g+1 Hについて考え
る。X、y、Zは局所的な変数であって16ビツトオフ
セツトで表現できるものであり、gは非局所的な変数で
ありペースレジスタR5からのオフセットは16ビツト
で表現可能変数である、とそれぞれ仮定する。これに対
する目的コードを考えると、gは非局所的な変数である
のでコンパイル時にはそのオフセットは既知ではない。
る。X、y、Zは局所的な変数であって16ビツトオフ
セツトで表現できるものであり、gは非局所的な変数で
ありペースレジスタR5からのオフセットは16ビツト
で表現可能変数である、とそれぞれ仮定する。これに対
する目的コードを考えると、gは非局所的な変数である
のでコンパイル時にはそのオフセットは既知ではない。
そこで、実際にはR5からのオフセットは16ビツトで
表現可能であると仮定すると、この場合でも、目的コー
ドでは以下■〜■の命令系列として示すように■■の2
命令の組合せとして出力しなければならない。
表現可能であると仮定すると、この場合でも、目的コー
ドでは以下■〜■の命令系列として示すように■■の2
命令の組合せとして出力しなければならない。
■ 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に格納されている値と等しい値が格納され
ているものと仮定する。
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に格納されている値と等しい値が格納され
ているものと仮定する。
これが現在、第3図に示すように命令キュー301部(
第1図104)に入っており現命令が■であるとする。
第1図104)に入っており現命令が■であるとする。
キューの深さは4であるとしている。したがって第3図
(a)に示すように■〜■が命令キュー部内にあること
になる。
(a)に示すように■〜■が命令キュー部内にあること
になる。
現時点でタイミングをしとする。命令キューの先頭(第
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を構成する。
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を構成する。
この非実行指令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段先送りし、主記憶装置から次の
命令を読み込むように作動する。
る。第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段先送りし、主記憶装置から次の
命令を読み込むように作動する。
本例においては、第4エントリに非実行命令が検出され
た場合、第5図(a)の下段(*)の場合が選択される
。タイミングしからし+1への移行時に、第4エントリ
には主記憶装置からの命令(406からのもの)、第3
エントリにも主記憶装置からの命令(405からのもの
)がそれぞれ送られる。すなわち、tの時点で第4エン
トリにあった命令を削除・するよう、それ以降の命令を
命令キュー部に順に1つずつ先送りしたことになる。
た場合、第5図(a)の下段(*)の場合が選択される
。タイミングしからし+1への移行時に、第4エントリ
には主記憶装置からの命令(406からのもの)、第3
エントリにも主記憶装置からの命令(405からのもの
)がそれぞれ送られる。すなわち、tの時点で第4エン
トリにあった命令を削除・するよう、それ以降の命令を
命令キュー部に順に1つずつ先送りしたことになる。
(第3図(b)に示す)
以上の動作が命令スケジューラによって実施される。こ
の時点で命令キュー部の中の■の命令はまだ実行対象で
はなかったので、命令実行器に送られてはおらず、この
不要なAIU命令が削除されたことになる。
の時点で命令キュー部の中の■の命令はまだ実行対象で
はなかったので、命令実行器に送られてはおらず、この
不要なAIU命令が削除されたことになる。
キューの第3エントリに非実行命令が検出された場合は
第2選択回路によって、第4エントリの命令が第2エン
トリへ、主記憶装置からはそれぞれ第4、第3エントリ
へとLからt+1へのタイミング移行に伴ってキューの
内容がシフトされ、第3エントリの命令が命令キューか
ら削除されたことになる。
第2選択回路によって、第4エントリの命令が第2エン
トリへ、主記憶装置からはそれぞれ第4、第3エントリ
へとLからt+1へのタイミング移行に伴ってキューの
内容がシフトされ、第3エントリの命令が命令キューか
ら削除されたことになる。
(第2例)
以上は非実行命令を検出するのにAIU命令のオフセッ
トフィールドという、命令語の特定フィールドの特定の
値を使用する例であるが、特定フィールドの特定値のか
わりに命令キュー内での非実行化を指示する独立したフ
ィールドを設け、これを設定する方式も考えられる。A
IU命令について第6図のように命令コード601、t
regレジスタ指定部602、s regレジスタ指定
部603、:E i m m即値指定部604、非実行
指定部605と命令語の形式を決め、本命令の実行/非
実行を非実行指定部605の1ビツトで指定するように
し、このフィールド値をリンケージエディタによって設
定するものとする。すなわち、ワンケージエディタは再
配置等に加え実行/非実行の指定も行うものとする。第
1例と同じ状況のとき、外部変数gを再配置したリンケ
ージエディタによってgのオフセットが16ビツト以内
であることがわかる。
トフィールドという、命令語の特定フィールドの特定の
値を使用する例であるが、特定フィールドの特定値のか
わりに命令キュー内での非実行化を指示する独立したフ
ィールドを設け、これを設定する方式も考えられる。A
IU命令について第6図のように命令コード601、t
regレジスタ指定部602、s regレジスタ指定
部603、:E i m m即値指定部604、非実行
指定部605と命令語の形式を決め、本命令の実行/非
実行を非実行指定部605の1ビツトで指定するように
し、このフィールド値をリンケージエディタによって設
定するものとする。すなわち、ワンケージエディタは再
配置等に加え実行/非実行の指定も行うものとする。第
1例と同じ状況のとき、外部変数gを再配置したリンケ
ージエディタによってgのオフセットが16ビツト以内
であることがわかる。
リンケージエディタの処理において、再配置の対称であ
るこの命令語を、さらに実行/非実行の指定対象でもあ
るとする。リンケージエディタには実行/非実行の指定
対象であるこの命令(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が指定される。
るこの命令語を、さらに実行/非実行の指定対象でもあ
るとする。リンケージエディタには実行/非実行の指定
対象であるこの命令(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が指定される。
命令キュー中の命令に対して、この非実行指定ビットに
よって、当該命令が実行する必要のないものであること
を検出器で検出する。この検出器は第3図307に示す
ものと同様であるが、1ビツトの0N−OFFによって
作動する検出装置で実現される。この後、第1例と同様
に、選択回路からの出力が決定されて、キュー前進操作
が実施されることによって、命令■が命令キュー部から
削除されて、主記憶内の命令■が第4エントリへと読み
込まれる。
よって、当該命令が実行する必要のないものであること
を検出器で検出する。この検出器は第3図307に示す
ものと同様であるが、1ビツトの0N−OFFによって
作動する検出装置で実現される。この後、第1例と同様
に、選択回路からの出力が決定されて、キュー前進操作
が実施されることによって、命令■が命令キュー部から
削除されて、主記憶内の命令■が第4エントリへと読み
込まれる。
本例の場合、非実行とされたATU命令に続くLD命令
■のベースレジスタフィールドbregが、■のAIU
命令を実行しなかった場合の正しいベースであるレジス
タR5に置き換えられているので、第1例のようにR1
とR5とを等しい内容に保っておく必要がなくなる。
■のベースレジスタフィールドbregが、■のAIU
命令を実行しなかった場合の正しいベースであるレジス
タR5に置き換えられているので、第1例のようにR1
とR5とを等しい内容に保っておく必要がなくなる。
[発明の効果]
命令キューの中で、無効命令として実行対象から削除さ
れた命令はNOP命令としても実行されることがないの
で、プログラムの実行時間に負担をかけない。また、外
部変数の参照のように、アセンブル時点では確定するこ
とのできないアドレスであっても、それを複数の命令系
列によって表現しておき、実行時に実際のアドレスが決
定された段階で、その範囲に応じて余分な上位部分のロ
ード命令を非実行化することによって最少の命令数で参
照することができ、高速実行が可能となる。
れた命令はNOP命令としても実行されることがないの
で、プログラムの実行時間に負担をかけない。また、外
部変数の参照のように、アセンブル時点では確定するこ
とのできないアドレスであっても、それを複数の命令系
列によって表現しておき、実行時に実際のアドレスが決
定された段階で、その範囲に応じて余分な上位部分のロ
ード命令を非実行化することによって最少の命令数で参
照することができ、高速実行が可能となる。
さらに、目的コードのレベルでは命令語の削除が生じな
いので、アドレス計算をしなおすこともなく、サイズの
小さな外部変数だけをリンケージエディタが別個に配置
する必要もないので、データの配置についての制約がゆ
るくなり、コンパイラに負担をかけないですむ。
いので、アドレス計算をしなおすこともなく、サイズの
小さな外部変数だけをリンケージエディタが別個に配置
する必要もないので、データの配置についての制約がゆ
るくなり、コンパイラに負担をかけないですむ。
第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・・・・・・キュー前進器
ック図である。第2図は命令語のフォーマットを示す図
である。第3図は命令キューと非実行命令の検出器との
関係を示す図である。第4図(a)は検出器の構成例を
示す図であり、第4図(b)は本発明の情報処理装置の
具体的構成を示すブロック図である。第5図は選択回路
の入出力関係の表を示す図である。第6図はリンケージ
エディタによって生成された非実行指定ビットを持つ命
令フォーマットを示す図である。第7図はリンケージエ
ディタにより非実行指定ビットを持つ命令を生成するた
めの生成処理の流れ図である。 Ol・・・・・・命令実行器 o2・・・・・・主記憶装置 03・・・・・・命令先行制御器 04.301・・・・・・命令キュー部05・・・・・
・命令スケジューラ 06.307・・・・・・命令検出器 07.404・・・・・・第1選択回路08.409・
・・・・・第2選択回路09・・・・・・キュー前進器
Claims (1)
- 【特許請求の範囲】 1、主記憶装置と、 命令キュー部と、上記主記憶装置から命令を読み出し上
記命令キュー部に格納し、該命令キュー部の内容の順序
関係を制御する命令先行制御器と、 上記命令キュー部に記憶された内容を命令語として解釈
実行する命令実行器とを備え、 上記命令キュー部内の命令を上記命令実行器でパイプラ
イン実行する情報処理装置において、上記命令先行制御
器が 上記命令キュー部内にある命令が非実行命令であること
を検出する検出手段と、検出された非実行命令を実行対
象から削除し、該命令に引き続く命令で置換する制御手
段からなる命令スケジューラを備えたことを特徴とする
情報処理装置。 2、上記検出手段は複数のフィールドからなる命令語に
おける特定のパターンを検出するよう構成され、該特定
のパターンが検出されたとき非実行命令であるとするこ
とを特徴とする特許請求の範囲第1項記載の情報処理装
置。 3、上記命令語に非実行命令であるか否かを指示するよ
う他のフィールドとは独立したフィールドを設け、上記
検出手段は該独立したフィールドの内容を検出するよう
構成した特許請求の範囲第2項記載の情報処理装置。 4、上記検出手段を、上記命令キュー部の段数に応じて
複数個備える特許請求の範囲第1項記載の情報処理装置
。 5、外部変数の再配置処理で生成された命令が実行/非
実行の判断対象の命令か否かを検査し、判断対象の命令
のとき、実行か非実行かの判断をし、その判断結果を命
令中の他のフィールドとは独立したフィールドにセット
するようにして命令の生成をする命令生成方法。 6、上記命令の生成をリンケージエディタにより行う特
許請求の範囲第5項記載の命令生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24931890A JPH04127326A (ja) | 1990-09-19 | 1990-09-19 | 情報処理装置および命令生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24931890A JPH04127326A (ja) | 1990-09-19 | 1990-09-19 | 情報処理装置および命令生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04127326A true JPH04127326A (ja) | 1992-04-28 |
Family
ID=17191215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24931890A Pending JPH04127326A (ja) | 1990-09-19 | 1990-09-19 | 情報処理装置および命令生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04127326A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236267A (ja) * | 1993-01-08 | 1994-08-23 | Internatl Business Mach Corp <Ibm> | スーパースカラ・プロセッサ・システムにおける命令ディスパッチ効率を向上させる方法およびシステム |
US8718332B2 (en) | 2009-09-28 | 2014-05-06 | Dainippon Screen Mfg. Co., Ltd. | Apparatus and method for analyzing the performance level of overprinting |
-
1990
- 1990-09-19 JP JP24931890A patent/JPH04127326A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236267A (ja) * | 1993-01-08 | 1994-08-23 | Internatl Business Mach Corp <Ibm> | スーパースカラ・プロセッサ・システムにおける命令ディスパッチ効率を向上させる方法およびシステム |
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 |
---|---|---|
JP3093624B2 (ja) | 投機例外を処理する方法及び装置 | |
US4587632A (en) | Lookahead stack oriented computer | |
US6148439A (en) | Nested loop data prefetching using inner loop splitting and next outer loop referencing | |
EP1093611A1 (en) | Data processing device, method for executing load or store instructions and method for compiling programs | |
JP2560988B2 (ja) | 情報処理装置および処理方法 | |
JPH1021074A (ja) | 割り込み制御方式、プロセッサ及び計算機システム | |
JPS6125169B2 (ja) | ||
KR100303712B1 (ko) | 파이프라인기계에서의어드레스파이프라인을위한방법및장치 | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
JPH04127326A (ja) | 情報処理装置および命令生成方法 | |
JP2001306334A (ja) | エミュレーション装置 | |
JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
JP2685713B2 (ja) | データ処理装置 | |
JPH06149569A (ja) | レジスタ番号変更装置 | |
JPS6232508B2 (ja) | ||
JP3490191B2 (ja) | 計算機 | |
JPH04365133A (ja) | プレロード命令実行装置及びプログラム修正装置 | |
JPH0954694A (ja) | パイプラインプロセッサおよびその処理方法 | |
JP3476314B2 (ja) | マイクロプロセッサ | |
JP3168657B2 (ja) | 分岐命令制御回路 | |
JP2927102B2 (ja) | 命令列切り替え方法及びそれを用いた演算プロセッサ | |
JPS6125168B2 (ja) | ||
JPH0248733A (ja) | 情報処理装置 | |
JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
JP2569867B2 (ja) | 実効アドレス先行計算型パイプラインマイクロプロセッサ |