JP3515337B2 - プログラム実行装置 - Google Patents
プログラム実行装置Info
- Publication number
- JP3515337B2 JP3515337B2 JP25631397A JP25631397A JP3515337B2 JP 3515337 B2 JP3515337 B2 JP 3515337B2 JP 25631397 A JP25631397 A JP 25631397A JP 25631397 A JP25631397 A JP 25631397A JP 3515337 B2 JP3515337 B2 JP 3515337B2
- Authority
- JP
- Japan
- Prior art keywords
- flag
- program
- instruction
- execution device
- arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
られるフラグを有したプログラム実行装置及びその装置
において実行可能な機械語に対応する命令を生成するプ
ログラム変換方法に関する。
置」とは、マイクロプロセッサなど、実行可能なデータ
形式に変換されたプログラム(すなわち機械語で表現さ
れた命令など)を実行してデータを処理する装置をい
う。マイクロプロセッサがその代表であるが、この装置
は必ずしも単一の素子である必要はない。
って理解が容易な文法を有した「C」、「Fortra
n」といった高級プログラミング言語から、プログラム
実行装置で実行可能なデータ形式に対応した命令列で記
述されたプログラムにプログラムを変換する方法をい
う。以降、変換前の高級プログラミング言語で記述され
たプログラムをソースプログラム、変換後のプログラム
をアセンブラプログラムと呼ぶ。また高級プログラミン
グ言語を記述する命令を高級命令とよぶ。これに対し、
低級命令とは、コンパイラが高級命令を解読して生成す
るもので、一般にはアセンブラ命令を指す。
のブロック構成図である。通常、高級命令プログラムは
コンパイラによってアセンブラ言語に翻訳され、アセン
ブラ言語はアセンブラによって機械語に翻訳される。メ
モリ4はこの機械語を格納しうる。アセンブラ命令はニ
ーモニックコードと呼ばれる記号で表記されている。こ
のニーモニックコードは、命令の機能(オペレーショ
ン)を理解しやすいように定められる。例えば、加算命
令には「add」、比較命令には「comp」、ビット
テスト命令には「tst」、分岐命令には「br」とい
う記号が割り当てられる。1命令は、これらオペレーシ
ョンを表す記号に通常1または2個のオペランドが付加
されて構成される。この機械語の命令は基本的にこのア
センブラ命令に一対一に対応して生成される。命令フェ
ッチ部2は、メモリ4に格納されたバイナリ形式の機械
語で表現されたプログラムを構成する命令を順次フェッ
チするフェッチ手段である。
送られる。命令デコード部6はその命令のバイナリ形式
に応じて、レジスタ群8、算術論理演算部(ALU:Ar
ithmetic Logic Unit)10、データアクセス部12、
フラグ14の動作を制御する。例えば、命令にレジスタ
番号が指定されている場合には、レジスタ群8中の指定
されたレジスタから値が読み出されてALU10に送ら
れたり、逆に指定されたレジスタに値が格納されたりす
る。ALU10は、命令コードに応じた演算を行い、そ
の演算結果は、データアクセス部12を介してレジスタ
群8やメモリ4に格納される。また、ALU10におい
てフラグに値を設定する処理が行われると、その値によ
ってフラグ14の値が更新される。
ラムからアセンブラプログラムへの変換を行う。コンパ
イラは高級言語の各命令を解釈して、それぞれの機能を
通常複数の低級命令に分解する。また、コンパイラは、
このように生成されたアセンブラプログラムを、より高
速な実行が可能なように最適化を行うこともできる。
の順序を入れ替えることにより行われる。このとき、コ
ンパイラは命令順序の交換によってプログラムの処理結
果が変化しないように、命令順序の依存関係の有無を考
慮する。例えば、コンパイラは2つのレジスタ“reg
0”、“reg1”それぞれの内容“R0”、“R1”
を比較し、R1=R0のときプログラム上の所定箇所
“LABEL1”に分岐するという処理を行う命令列と
して以下のようなものを生成する。
定の大小関係が満たされたときフラグTに1を設定す
る。そして、次の命令 “br”はフラグTが1のとき
指定された分岐先“LABEL1”に分岐する。このよ
うな2つの命令の順序を交換することはできない。ま
た、それらの間に他の命令、または命令列を挿入するこ
とは、その命令列がフラグTの値を変化させる可能性が
あるので避けるべきである。同様に依存関係を有する命
令列の他の例をいくつか示す。
である。また別の例は、 comp/gt reg0,reg1 br LABEL1 という命令列である。これは、R1>R0のときLAB
EL1に分岐するものである。これらは上記例と同様、
R1とR0の所定の大小関係が満たされたときに、フラ
グTに1を設定する。
つのレジスタ“reg0”、“reg1”それぞれの内
容“R0”、“R1”の論理積を演算し、その結果が0
のとき、フラグTに1を設定する。そして、命令“b
r”は上述したようにフラグTをみてその値が1のとき
指定された分岐先“LABEL1”に分岐する。この場
合も2つの命令の順序に依存関係がある。ちなみに、命
令“tst”は、検査対象数値の所定のビットが0か1
かを判定するビットテストを行うものである。つまり、
R1を検査対象の数値とするとき、R0には判定したい
所定のビット位置が1である数値を指定する。論理和の
結果が0でないならば、R1の上記所定のビットは1で
あり、逆に論理和の結果が0ならばR1の上記所定のビ
ットは0であることが判明する。
グラム中の命令が、“comp/eq”、“comp/
ge”、“comp/gt”、“tst”といったフラ
グ操作を伴うものであり、命令順序に依存関係を有する
ものであるか否かを逐一判断しながら最適化処理を進め
ていく。
装置では、演算処理はALUにおいて行われる。ここで
例えば“comp”と“tst”といった異なる種類の
演算処理に対しては、ALUがその種類を区別できる必
要があるため、異なる命令名(命令コード)を割り当て
なければならない。これに応じて、上述のようにフラグ
操作を伴い命令順序に依存関係を生じる命令に多くの種
類が存在する。このため、コンパイラで用いられるプロ
グラム変換方法において、命令順序に依存関係を有する
命令か否かの判断が複雑となる問題点があった。また、
一つのフラグを複数種類の命令で用いるということは、
命令順序の依存関係に対する制約が厳しくなるという問
題や、アセンブラによるプログラミングの生産性の低下
やアセンブラプログラムの可読性の低下という問題を招
いていた。
れたもので、コンパイラの処理を容易とし、またアセン
ブラによるプログラミングやアセンブラプログラムの読
解を容易とするプログラム実行装置及びプログラム変換
方法を提供することを目的とする。
行装置は、命令を順次フェッチするフェッチ手段と、そ
の命令を解読する解読手段と、解読された命令を実行す
る演算実行手段と、複数種類のフラグを保持するフラグ
保持手段を有する。前記演算実行手段は、互いに共通の
前記被演算データが入力されそれぞれ所定の前記演算処
理を互いに並列して行い、互いに別個の前記フラグに対
し当該演算処理の結果に応じて操作を行う複数の演算回
路を含むことを特徴とする。
演算実行手段は、複数の演算処理を1つの、つまり1種
類の命令で行うことができる。すなわち演算実行手段
は、1つの命令に従って1つ又は1組の被演算データが
入力されると、フラグを変化させる複数種類の演算処理
が行われる。これら演算処理は、演算実行手段に入力さ
れた1つ又は1組の被演算データを共通に用いて別個に
行われる。また、これら各演算処理は、互いに異なるフ
ラグを用いる。よって、フラグ保持手段には、入力され
た被演算データに対してここで行われるすべての演算処
理のフラグ操作結果が保持される。つまり、演算処理が
実行された後において、実行された任意の演算処理に対
応するフラグ操作結果を知ることができる。
は、フラグを使用する複数の演算処理に対してそれぞれ
演算回路が設けられ、これらが並列に動作して、入力さ
れた被演算データをそれぞれ演算処理する。そして、こ
れら演算回路はそれぞれ互いに異なるフラグに対し値の
設定を行う。
1のプログラム実行装置であって、前記複数の演算回路
として算術論理演算回路と論理積回路とを含むものであ
る。算術論理演算回路は、例えば、入力された2つのデ
ータの大小比較を行うことができる。例えばその大小比
較は2つのデータの差を求め、大小比較結果はその差の
正負又は0か非零に応じてフラグを設定することにより
保持される。一方、論理積回路は入力された2つのデー
タの論理積を求めることができる。そしてその結果は例
えばそれが0か非零かに応じて、算術論理演算回路で用
いるのとは別のフラグを設定することにより保持され
る。
1のプログラム実行装置であって、前記演算実行手段
は、前記フラグ保持手段に保持された前記フラグに基づ
いたフラグ依存処理を行うことを特徴とする。
応じて異なる動作をするものであり、例えば、フラグに
所定の値が設定されている場合にのみ指定分岐先に処理
を移行するといったものである。つまり本発明では、フ
ラグごとにその役割が異なり、プログラム実行装置上で
は、その役割はフラグ依存処理の違いによって容易に区
別される。
3のプログラム実行装置であって、前記算術論理演算回
路は、2つの前記被演算データの大小関係を求め、当該
大小関係に応じて前記フラグ保持手段の前記フラグを設
定し、当該フラグの値に応じてプログラムの所定のアド
レスに分岐させることを特徴とする。
3のプログラム実行装置であって、前記論理積回路は、
2つの前記被演算データの論理積を求め、当該論理積が
零か非零かに応じて前記フラグ保持手段の前記フラグを
設定し、当該フラグの値に応じてプログラムの所定のア
ドレスに分岐させることを特徴とする。
図面を参照して説明する。図1は、本発明の実施形態で
あるプログラム実行装置の概略のブロック構成図であ
る。命令フェッチ部32は、アセンブラプログラムの各
命令に対応して生成されメモリ34に格納された機械語
命令を順次フェッチするフェッチ手段である。
に送られる。命令デコード部36はその命令のバイナリ
形式に応じて、レジスタ群38、ALU40、論理積演
算部(論理積回路)42、データアクセス部44、フラ
グ群46(フラグ保持手段)の動作を制御する。例え
ば、命令にレジスタ番号が指定されている場合には、レ
ジスタ群38中の指定されたレジスタから値が読み出さ
れてALU40及び論理積演算部42に送られたり、逆
に指定されたレジスタに値が格納されたりする。一方、
命令のオペランドに即値が指定されている場合には、そ
の値を用いてALU40及び論理積演算部42での演算
が行われる。
段としてALU40と論理積演算部42という2つの異
なる演算回路の並列構成をとる点である。つまり、演算
実行手段に入力されるレジスタからの値、又は即値は、
ALU40と論理積演算部42に並列に入力される。
ードに応じた演算を行い、その演算結果は、データアク
セス部44を介してレジスタ群38やメモリ34に格納
される。また、ALU40において所定のフラグに値を
設定する処理が行われると、その値によってフラグ群4
6中の当該所定のフラグの値が更新される。
8中の指定されたレジスタから読み出された値や命令語
に指定された即値などの2つのデータを入力され、それ
ら2つのデータの論理積を求める。本装置では論理積演
算部42には2つのデータが入力され、その一つをマス
クデータとして用い、もう一方の入力データである被検
査データがそのマスクデータに合致したビットパターン
を有するか否かを検査するビットテストに用いられる。
なお、マスクデータは検査対象とする所定の1又は複数
のビットだけが“1”であり、このマスクデータの
“1”であるビット位置を「関心ビット」と呼ぶことに
する。論理積演算部42は例えばAND回路を含んで、
被検査データとマスクデータとの論理積を求め、それが
0に等しいときフラグ群46中のフラグTを“1”にセ
ットし、論理積が0とならないとき、フラグTをリセッ
トする、つまり“0”とする。これにより、被検査デー
タの関心ビットのいずれかが“1”である場合には、フ
ラグT=0、一方関心ビットのすべてが“0”である場
合にフラグT=1が設定される。
ットのすべてが“1”であるかどうかを検査する構成も
可能である。その場合には、例えば、論理積演算部42
は、入力されたマスクデータと被検査データとで対応す
るビット同士の論理積を求めるAND回路と、AND回
路から出力された論理積とマスクデータとで対応するビ
ット同士の排他的論理和を求めるXOR回路とを含んで
構成される。この構成では、まずAND回路は、被検査
データのビットのうち関心ビットのみをそのまま残し、
他のビットを“0”とした値を出力する。この値とマス
クデータとの排他的論理和は、被検査データの関心ビッ
トがすべて“1”である場合にのみ、すべての桁が
“0”となる。そして、例えばXOR回路の出力が0の
場合にフラグT=0、一方、XOR回路の出力が非零の
場合にフラグT=1に設定する。
えばZ、N、V、Cといったフラグが含まれるが、論理
積演算部42はフラグTしか操作しない。一方、ALU
40はフラグTを操作することはなく、残りのフラグ
Z、N、V、Cだけを操作する。なお、フラグTは上述
したようにビットテストの結果を表すもので、ここでは
テスト・フラグと呼ぶものである。また、フラグZはゼ
ロ・フラグと称するものであり、ALU40での演算処
理結果が0であれば“1”が設定され、非零の場合、
“0”にリセットされる。フラグNはネガティブ・フラ
グと称するものであり、ALU40での演算処理結果が
負であれば“1”が設定され、正又は0であれば“0”
にリセットされる。フラグVはオーバーフロー・フラグ
と称するものであり、ALU40での演算処理により符
号ビットへのオーバーフローが生じたときに“1”が設
定され、符号ビットへのオーバーフローが生じなければ
“0”にリセットされる。またフラグCはキャリー・フ
ラグと称するものであり、ALU40での演算処理によ
りキャリーが発生したときに“1”が設定され、キャリ
ーが発生しない場合には“0”にリセットされる。
令に対応して生成された機械語に対して、その本来の演
算処理がALU40にて行われるばかりでなく、その命
令に指定される2つのオペランドに対する論理積演算が
論理積演算部42にて並列に行われる。論理積演算部4
2がその結果の保持に用いるフラグTは、ALU40で
用いられるフラグと異なるものであるので、ALU40
の演算結果と論理積演算部42の演算結果とが互いに干
渉しあうことはない。よって、プログラムにおいて、こ
れら2つの演算回路から結果のいずれか又は両方を任意
に選択して利用することができる。
て複数の異なる種類の演算回路を設け、各演算処理を並
列に行う構成としたが、ALU40のみで、同一の入力
データに対し複数の異なる演算処理、例えば上述の例に
即して述べれば、フラグTの操作を伴う論理積演算と、
その他のフラグの操作を伴う他の種類の演算とを順次行
う構成とすることもできる。この場合も、それぞれの演
算結果によるフラグの値は異なる演算処理間で干渉する
ことがない。また、上述の構成では、演算回路はALU
40と論理積演算部42との2種類としたが、互いに異
なるフラグを操作する3つ以上の演算回路を設け、それ
らにより演算処理を並列に行う構成とすることも可能で
ある。もちろん、フラグは上述の定義の5つに限られる
必要はない。
した「C」、「Fortran」といった高級プログラ
ミング言語を変換して、上記本装置にて実行可能な機械
語に対応するアセンブラ命令を生成するプログラム変換
方法を説明する。以下、本方法を採用した実施形態であ
るコンパイラについて説明する。
結果に応じてフラグを操作し、さらにそのフラグの値に
基づいた処理を行うもの(フラグ利用高級命令)が一般
には複数存在する。例えば、2つの値“A”、“B”と
プログラムの行番号やラベルといった分岐先“LABE
L1”とを指定したフラグ利用高級命令として次のよう
なものがある。
ャンプしろ。」これらのうち、(i)〜(vi)は、基本
的にはA、Bの大小関係に応じて分岐するか否かを決定
する大小比較分岐命令である。また(vii)は、ビット
テスト結果の合否に応じて分岐するか否かを決定するビ
ットパターン比較分岐命令である。これら(i)〜(vi
i)の高級命令は、アセンブラに変換するとA、Bに基
づいて所定の演算処理を行いその結果に応じてフラグに
値を設定し、そしてそのフラグの値に基づいて分岐する
か否かを決定するという命令列となる。つまり、一般に
演算回路にA、Bについての演算処理を行わせフラグを
設定する演算処理命令と、フラグの値に依存して分岐を
行うフラグ依存命令である分岐命令とを含んだアセンブ
ラの命令列に変換される。
演算処理命令に対して、同一の命令コード「comp」
を生成する。また、(i)〜(vii)に対して分岐命令
としてそれぞれ「br.gt」、「br.ge」、「b
r.lt」、「br.le」、「br.eq」、「b
r.neq」、「br.t」を生成する。これら分岐命
令は、互いに本発明のプログラム実行装置に設けられた
フラグ群46に設定されるフラグの値の異なるパターン
に対応して分岐を実行する。
されるアセンブラ命令列は、基本的には次のようなもの
である。
mp」命令といずれかの「br」命令との並びに変換さ
れる。
記フラグ利用高級命令に対し本コンパイラが生成したア
センブラ命令がどのように実行されるかを説明する。
令に対して生成される共通の「comp」命令は、AL
U40と論理積演算部42とでそれぞれ演算処理を行わ
れる。ALU40は「comp」命令に対して、その2
つのオペランドA、Bの差“A−B”を求める演算処理
を行い、その結果が、A−B<0であればフラグN=1
とし、A−B=0であればフラグZ=1とする。一方、
このALU40での演算処理と並行して、論理積演算部
42は「comp」命令に対してA、Bの論理積を生成
し、それが0であればフラグT=1とする。このよう
に、「comp」命令が実行されることにより、フラグ
N、Z、Tが設定される可能性がある。
は、それぞれ異なる分岐命令が生成される。命令(i)
に対して生成される「br.gt」は、フラグN=0か
つフラグZ=0の場合に分岐処理を実行する。ここでフ
ラグTの値は参照されない。
e」は、フラグN=0の場合に分岐処理を実行する。こ
こでフラグZ、Tの値は参照されない。
lt」は、フラグN=1かつフラグZ=0の場合に分岐
処理を実行する。ここでフラグTの値は参照されない。
e」は、フラグN=1又はZ=1の場合に分岐処理を実
行する。ここでフラグTの値は参照されない。
q」は、フラグZ=1の場合に分岐処理を実行する。こ
こでフラグN、Tの値は参照されない。
eq」は、フラグZ=0の場合に分岐処理を実行する。
ここでフラグN、Tの値は参照されない。
「br.t」は、フラグT=1の場合に分岐処理を実行
する。ここでフラグN、Zの値は参照されない。
有のフラグパターンを検知して、分岐処理を行う。つま
り、本プログラム実行装置では各演算回路が互いに異な
るフラグを操作する構成としているので、各分岐命令
は、自分が参照するフラグの操作を行うもの以外の演算
回路において行われる「comp」命令の実行内容につ
いては関知する必要がない。
は、フラグ操作を伴う大小比較処理とビットテスト処理
といった各種の高級言語命令に対し、演算処理命令を統
合することができる。コンパイラは、アセンブラプログ
ラムの最適化処理を行う場合、フラグ操作を行う演算処
理命令とそのフラグを用いた分岐命令との間において、
当該フラグを操作する他の命令が挿入されないようにす
る。具体的には、コンパイラは、例えばアセンブラプロ
グラム中の各命令がフラグ操作を行う演算処理命令であ
るか否かを逐一判断し、もしフラグ操作を行う演算処理
命令であれば、それとそれに続く分岐命令とはひとかた
まりにして取り扱い最適化処理を行う。本発明によれ
ば、フラグ操作を行う演算処理命令の種類が減少するの
で、コンパイラにおける上記フラグ操作を行う演算処理
命令の判定処理が簡素化される。
フラグ操作を行う複数種類の演算処理に対応して複数の
フラグを用意し、演算命令の種類に関係なくフラグ操作
を行う複数種類の演算処理がそれぞれ実行される。つま
り、フラグ操作を行う演算処理に対して共通の演算命令
を用いることができる。これにより、コンパイラが行う
アセンブラプログラムの最適化処理における、フラグ操
作を行う演算命令であるか否かを判断する処理が容易と
なり、コンパイラのサイズの縮小及び処理負荷の軽減が
図られるという効果が得られる。また、異なる演算処理
に対しては異なるフラグが操作され、異なる演算処理間
でフラグ操作の干渉が回避されるので、アセンブラによ
るプログラミングやアセンブラプログラムの読解が容易
となるという効果が得られる。
記プログラム実行装置に対応して、フラグ操作を行う演
算処理に対し共通の演算命令を用いたアセンブラプログ
ラムが生成される。これにより、コンパイラが行うアセ
ンブラプログラムの最適化処理における、フラグ操作を
行う演算命令であるか否かを判断する処理が容易とな
り、コンパイラのサイズの縮小及び処理負荷の軽減が図
られるという効果が得られる。また、異なる演算処理に
対しては異なるフラグが操作され、異なる演算処理間で
フラグ操作の干渉が回避されるので、アセンブラによる
プログラミングやアセンブラプログラムの読解が容易と
なるという効果が得られる。
の概略のブロック構成図である。
構成図である。
ード部、38 レジスタ群、40 算術論理演算部(A
LU)、42 論理積演算部、44 データアクセス
部、46 フラグ群。
Claims (5)
- 【請求項1】 命令を順次フェッチするフェッチ手段
と、 その命令を解読する解読手段と、 解読された命令を実行する演算実行手段と、 複数種類のフラグを保持するフラグ保持手段を有し、 前記演算実行手段は、互いに共通の前記被演算データが
入力されそれぞれ所定の前記演算処理を互いに並列して
行い、互いに別個の前記フラグに対し当該演算処理の結
果に応じて操作を行う複数の演算回路を含むこと、 を特徴とするプログラム実行装置。 - 【請求項2】 請求項1記載のプログラム実行装置にお
いて、 前記複数の演算回路として、 算術論理演算回路と、 論理積回路と、 を含むことを特徴とするプログラム実行装置。 - 【請求項3】請求項1記載のプログラム実行装置におい
て、 前記演算実行手段は、前記フラグ保持手段に保持された
フラグの値に基づいたフラグ依存処理を行うことを特徴
とするプログラム実行装置。 - 【請求項4】請求項2記載のプログラム実行装置におい
て、 前記算術論理演算回路は、2つの前記被演算データの大
小関係を求め、当該大小関係に応じて前記フラグ保持手
段のフラグを設定し、当該フラグの値に応じてプログラ
ムの所定のアドレスに分岐させることを特徴としたプロ
グラム実行装置。 - 【請求項5】請求項2記載のプログラム実行装置におい
て、 前記論理積回路は、2つの前記被演算データの論理積を
求め、当該論理積が零か非零かに応じて前記フラグ保持
手段のフラグを設定し、当該フラグの値に応じてプログ
ラムの所定のアドレスに分岐させることを特徴としたプ
ログラム実行装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25631397A JP3515337B2 (ja) | 1997-09-22 | 1997-09-22 | プログラム実行装置 |
US09/157,811 US6324641B1 (en) | 1997-09-22 | 1998-09-18 | Program executing apparatus and program converting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25631397A JP3515337B2 (ja) | 1997-09-22 | 1997-09-22 | プログラム実行装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1196001A JPH1196001A (ja) | 1999-04-09 |
JP3515337B2 true JP3515337B2 (ja) | 2004-04-05 |
Family
ID=17290938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25631397A Expired - Fee Related JP3515337B2 (ja) | 1997-09-22 | 1997-09-22 | プログラム実行装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6324641B1 (ja) |
JP (1) | JP3515337B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7114063B1 (en) * | 2000-12-01 | 2006-09-26 | Unisys Corporation | Condition indicator for use by a conditional branch instruction |
US20080222388A1 (en) * | 2007-03-05 | 2008-09-11 | Microsoft Corporation | Simulation of processor status flags |
US20090172348A1 (en) * | 2007-12-26 | 2009-07-02 | Robert Cavin | Methods, apparatus, and instructions for processing vector data |
US20210255861A1 (en) * | 2020-02-07 | 2021-08-19 | Micron Technology, Inc. | Arithmetic logic unit |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0199009A3 (en) * | 1985-02-28 | 1989-05-31 | Kabushiki Kaisha Toshiba | Path coverage measuring system in a programme |
US4947315A (en) * | 1986-12-03 | 1990-08-07 | Finnigan Corporation | System for controlling instrument using a levels data structure and concurrently running compiler task and operator task |
JP2786574B2 (ja) * | 1992-05-06 | 1998-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置 |
EP1229440B1 (en) * | 1993-05-27 | 2007-05-02 | Matsushita Electric Industrial Co., Ltd. | Program converting unit and processor improved in address management |
JP3202497B2 (ja) * | 1994-09-09 | 2001-08-27 | 日本電気株式会社 | 情報処理装置 |
US5896292A (en) * | 1995-06-05 | 1999-04-20 | Canon Kabushiki Kaisha | Automated system for production facility |
US5761524A (en) * | 1996-03-15 | 1998-06-02 | Renditon, Inc. | Method and apparatus for performing and operation multiple times in response to a single instruction |
WO1998006038A1 (en) * | 1996-08-07 | 1998-02-12 | Sun Microsystems, Inc. | Architectural support for software pipelining of loops |
US5943250A (en) * | 1996-10-21 | 1999-08-24 | Samsung Electronics Co., Ltd. | Parallel multiplier that supports multiple numbers with different bit lengths |
US6012836A (en) * | 1996-12-05 | 2000-01-11 | Hewlett-Packard Company | Method of reducing boolean complements in code generated by a circuit compiler |
-
1997
- 1997-09-22 JP JP25631397A patent/JP3515337B2/ja not_active Expired - Fee Related
-
1998
- 1998-09-18 US US09/157,811 patent/US6324641B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6324641B1 (en) | 2001-11-27 |
JPH1196001A (ja) | 1999-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2569694B1 (en) | Conditional compare instruction | |
EP1267257A2 (en) | Conditional execution per data path slice | |
JP2000029704A (ja) | デ―タ型によるコプロセッサの操作コ―ドの分割 | |
GB2355084A (en) | Conditional instruction execution | |
JP2008071130A (ja) | Simd型マイクロプロセッサ | |
CN104011666B (zh) | 具有独立进位链的加法指令 | |
EP1267258A2 (en) | Setting up predicates in a processor with multiple data paths | |
US7191317B1 (en) | System and method for selectively controlling operations in lanes | |
US5577256A (en) | Data driven type information processor including a combined program memory and memory for queuing operand data | |
JP2009271598A (ja) | プロセッサ | |
KR101016257B1 (ko) | 프로세서 및 정보 처리 장치 | |
EP1267255A2 (en) | Conditional branch execution in a processor with multiple data paths | |
CN101320324A (zh) | 处理机装置及复合条件处理方法 | |
JPH05150979A (ja) | 即値オペランド拡張方式 | |
JP3515337B2 (ja) | プログラム実行装置 | |
KR20000052594A (ko) | Vliw 프로세서 | |
GB2352308A (en) | Conditional instruction execution | |
US6606703B2 (en) | Processor using less hardware and instruction conversion apparatus reducing the number of types of instructions | |
US6223275B1 (en) | Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions | |
JP2000207210A (ja) | マイクロプロセッサ | |
JPH11353305A (ja) | ベクトルレジスタのアドレス指定 | |
US20060101240A1 (en) | Digital signal processing circuit and digital signal processing method | |
EP1026581A2 (en) | System and method for controlling program execution | |
JP4645369B2 (ja) | Cpu | |
JP3060917B2 (ja) | プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090123 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090123 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100123 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100123 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110123 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |