JPH02130634A - プロセッサシステム、コンピュータシステム及び命令処理方法 - Google Patents
プロセッサシステム、コンピュータシステム及び命令処理方法Info
- Publication number
- JPH02130634A JPH02130634A JP63283673A JP28367388A JPH02130634A JP H02130634 A JPH02130634 A JP H02130634A JP 63283673 A JP63283673 A JP 63283673A JP 28367388 A JP28367388 A JP 28367388A JP H02130634 A JPH02130634 A JP H02130634A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- register
- address
- data processing
- 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
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 7
- 239000004065 semiconductor Substances 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims 4
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 230000008901 benefit Effects 0.000 description 12
- 230000002829 reductive effect Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000003672 processing method Methods 0.000 description 4
- 230000002860 competitive effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100000342 Arabidopsis thaliana ABCB12 gene Proteins 0.000 description 1
- 101100377791 Arabidopsis thaliana ABCB19 gene Proteins 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
Abstract
め要約のデータは記録されません。
Description
速動作に好適なデータ処理装置及び方法に関する。
われている。代表的な手法にパイプラインがある。パイ
プラインとは、1つの命令の処理を完全に終えてから次
の命令を始めるのではなくて、1つの命令を複数ステー
ジに分け、最初の命令が2番目のステージにさしかかっ
たところで、次の命令の最初のステージの処理を始める
というようにバケツリレー式に処理する方式である。こ
の様な方式については、富田眞治著「並列計算機。
。n段パイプライン方式を用いれば、それぞれのパイプ
ラインステージにて処理されている命令は1つであるが
、全体としてn個の命令を同時に処理することができ、
パイプラインピッチごとに、1つの命令の処理を終える
ことができる。
処理性能に及ぼす影響が大であることは周知である。命
令アーキテクチャの観点から計算機を分類すると、CI
S C(Co[l1plex In5tructio
nSet Computer)とRI S C(Red
uced In5tructionSet Compu
ter)に分けられる。Cl5Cでは複雑な命令をマイ
クロ命令を使って処理する。これに対して、RISCで
は、命令を簡単なものに絞る代わりに、マイクロ命令を
用いずに、ハードワイヤド論理による制御で高速化を計
っている。以下、従来のCl5C,RISCの両者につ
いて、ハードウェア概要とそのパイプライン動作につい
て述べる。
ある。200はメモリインタフェース、201はプログ
ラムカウンタ(PC)、202は命令キャッシュ、20
3は命令レジスタ、204は命令デコーダ、205はア
ドレス計算制御回路、206はマイクロ命令を格納して
おく ControlStorage(CS ) 、2
07はマイクロ命令カウンタ、208はマイクロ命令レ
ジスタ、209はデコーダ、210はメモリとデータを
やり取りするレジスタM D R(Memory Da
ta Register) 、 211はメモリ上のオ
ペランドアドレスを示すレジスタMAR(Memory
Address Register) 、 212は
アドレス加算器、213はレジスタファイル、214は
A L U (Arithmetic Logical
Unit)である。
令が、命令キャッシュより取り出され、信号217を通
して、命令レジスタ203にセットされる。命令デコー
ダ204は命令を信号218を通して受けとり、マイク
ロ命令の先頭アドレスを信号220を通して、マイクロ
プログラムカウンタ207にセットする。また、アドレ
ス計算方法を4M号219を通してアドレス計算制御回
路205に指示する。アドレス計算制御回路205は、
アドレス計算に必要なレジスタの読み出し、アドレス加
算器212の制御等を行う。アドレス計算に必要なレジ
スタは、レジスタファイル213よりバス226,22
7を通してアドレス加算器212に送出される。一方、
マイクロ命令は1マシンサイクルごとにC8206より
読み出され、デコーダ209によりデコードされ、AL
U214゜レジスタファイル213を制御するのに使わ
れる。
レジスタよりバス228,229を通して送られるデー
タを演算し、再びレジスタファイル213に格納する。
ペランドのフェッチ等。
.4.5図を用いて説明する。パイプラインは6段であ
る。I F (Instruction Fetch)
ステージでは、命令キャッシュ202より命令が読み出
され、命令レジスタ203にセットされる。
04により、命令のデコードが行なわれる。A (Ad
dress)ステージでは、アドレス加算器212によ
り、オペランドのアドレス計算が行なわれる。0F(O
perand Fetch)ステージでは、メモリイン
タフェース200を通して、MAR211で指されたア
ドレスのオペランドがフェッチされ、MDR210にセ
ットさ九る。次に、E X (Execution)ス
テージでは、レジスタファイル213、及び。
4に送られ、演算される。最後にW (write)ス
テージでは、演算結果がレジスタファイル213の中の
1つのレジスタにバス230を通して格納される。
を連続して処理する様子を示したものである。1マシン
サイクルごとに、1命令処理されており、ALU214
.アドレス加算器212共に毎サイクル並列して動いて
いる。
したものである。TE、ST命令でフラグが生成される
。第4図は条件成立時のフローを示したものである。フ
ラグ生成がEXステージで行われるため、ジャンプ先命
令のフェッチまでに3サイクルの待サイクルが生じる。
は増え、性能向上のネックとなる。
。命令1が複雑な命令である。複雑な命令とはストリン
グコピーの様に多数のメモリアクセスがある命令等で、
通常EXステージを多数回延長することにより処理され
る。EXステージはマイクロプログラムにより制御され
る。マイクロプログラムは1マシンサイクルに1回アク
セスされる。即、複雑な命令は、マイクロプログラムを
複数回読み出すことにより処理する。この時、EXステ
ージには1つの命令しか入らないので、次の命令(第5
図命令2)は待たされる。このような時には、ALU2
14は常に動いているが、アドレス加算器212には遊
びが生じてしまう。
S’C型計型機算機般的構成を説明する図である。6
01はメモリインタフェース、602はプログラムカウ
ンタ、603は命令キャッシュ、604はシーケンサ、
605は命令レジスタ、606はデコーダ、607はレ
ジスタファイル、608はALU、609はMDR16
10はMARである。
ruction Fetch)ステージでは、プログラ
ムカウンタ602で指される命令が、命令キャッシュよ
り読み出され、命令レジスタ605にセットされる。ま
た、シーケンサ604は命令信号615゜ALU608
よりのフラグ信号616より、プログラムカウンタ60
2を制御する。R(Read)ステージでは、レジスタ
ファイル607より、命令で示されたレジスタが、バス
618,619を通して、ALU608に転送される。
608により、演算が行なわれる。最後にW(Writ
e)ステージでは、演算された結果がレジスタファイル
607に、バス620を通して格納される。
している。演算はレジスターレジスタ間に限られており
、オペランドフェッチを伴う命令はロード命令とストア
命令のみである。複雑な命令は基本命令を組み合わせる
ことによって実現する。また、マイクロ命令は使用され
ず、命令レジスタ605の内容が直接デコーダ606で
デコードされ、ALU608等を制御する。
ている。パイプラインは命令が簡単なため、4段ですん
でいる。
ため、待サイクルが少ない、第8図の例では、待サイク
ルは1サイクルのみである。ただし、必ずしも、レジス
タ間演算ばかりではなく、メモリからのオペランドのロ
ードや、メモリへのオペランドのストアが必要である。
モリからのオペランドのロードが1マシンサイクルで実
行可能だが、第6図に示したRISC型計算機では、ロ
ード命令は、アドレス計算命令とロード命令に分解され
るため、2マシンサイクルを要してしまう。
リ、レジスタ間命令を1マシンサイクルで実行できるが
、パイプライン段数が多いため、分岐時のオーバヘッド
が大きい。また、複雑な命令を実行する時にはEステー
ジのみが動くので、アドレス加算器に遊びが生じてしま
うという問題点があった。
いため分岐時のオーバヘッドが小さい。
演算のためには、ロード命令、レジスタ間。
せて処理能力を高めることにある。
することにある。
の複雑な命令の処理時間を短縮することにある。
算ユニットを設け、命令を簡単にしてパイプライン段数
を少なくし、かつ、1マシンサイクルに複数の命令を読
み出し、複数演算ユニツ+−を制御すること等により達
成される。
クルで複数の命令が同時に読み出され、実行されるため
、複数の演算ユニットが同時に動き、処理能力を高める
ことができる。
きるので、分岐時のオーバヘッドを小さくできる。
令の処理時間を短縮することができる。
る。基本命令は全てレジスタ間演算である。分岐命令に
は、無条件分岐命令BRA、条件付分岐命令BRAcc
(ccは分岐条件を示す。)、サブルーチンへの分岐命
令CALL、サブルーチンからの戻り命令RTNの4つ
がある。他に、ロード命令LOAD、とストア命令5T
ORがある。
これに限定されるものではない。またアドレスは32ビ
ツト(4バイト)毎にふられているものとした。簡単の
ために、上記の如く命令数を制限しているが、これは、
本発明を制限するものではなく、1マシンサイクルで処
理できる内容であれば、さらに命令を増やしてもよい。
ツトの固定長である。基本命令中の下、SL、S2.D
フィールドは、それぞれ、演算結果をフラグに反映する
かどうかを指示するビット。
レジスタを指示するフィールド、ディスティネーション
レジスタを指示するフィールドである。
プログラムカウンタ、102はシーケンサ、103は命
令ユニット、104は32ビツトの第1命令レジスタ、
105は32ビツトの第2命令レジスタ、106は第1
デコーダ、107は第2デコーダ、108はMDR11
09はMARllloは第1演算ユニツト、111はレ
ジスタファイル、112は第2演算ユニツトである。
列して読み出され実行される。本実施例でのパイプライ
ン処理の様子を示したのが、第11〜14図である。パ
イプラインはI F (Inst−ruction F
etch) 、 R(Read) 、 E X(Exe
cuticn)。
る。
る2つの命令が読み出され、バス115゜117を通し
て、それぞれ第1命令レジスタ104、第2命令レジス
タ105にセットされる。PCが偶数の時には、pc番
地の命令が第1命令レジスタに、PC+1番地の命令が
第2命令レジスタに格納される。また、PCが奇数の時
には、第1命令レジスタにはNOP命令が、第1命令レ
ジスタにはpc番地の命令がセットされる。シーケンサ
102はプログラムカウンタを制御する回路である。第
1命令レジスタ、第2命令レジスタ共に、分岐命令でな
い時には、プログラムカウンタには、前プログラムカウ
ンタ値+2の値をセットする。
タにセットする。条件分岐時には、第1演算ユニツトよ
りのフラグ情報123、及び、第2演算ユニツトよりの
フラグ情報124より、分岐の成否を判定する。また、
命令ユニットより送出される信号116は、第1命令、
第2命令間の各種の競合を示す競合信号である。競合信
号がアサートされた場合には、競合を避けるようにハー
ドウェアで制御する。競合回避方法については、後に詳
しく述べる。
る。Rステージでは、第1命令レジスタ104の内容が
第1デコーダ106でデコードされ、また、第2命令レ
ジスタ105の内容が第2デコーダ107でデコードさ
れる。その結果、第1命令レジスタ104の第1ソース
レジスタフイールドS1で指されるレジスタの内容がバ
ス125を通して、第2ソースレジスタフイールドS2
で指されるレジスタの内容がバス126を通して、第1
演算ユツト110へ送出される。また、第2命令レジス
タの第1ソースジスタS1で指されるレジスタの内容が
バス127を通して、第2ソースレジスタフイールドS
2で指されるレジスタの内容がバス128を通して、第
2演算ユニツト112に送出される。
容に従って、第1演算ユニツト110において、バス1
25,126により送られてきたデータ間の演算を行う
。並列して、第2命令レジスタ105のオペコードの内
容に従って、第2演算ユニツト112において、バス1
27,128により送られてきたデータ間の演算を行う
。
第1演算ユニット1.10の演算結果が、バス129を
通して、第1命令レジスタのディスティネーションフィ
ールドDで指されるレジスタに格納される。また、第2
演算ユニツト112の演算結果が、バス131を通して
、第2命令レジスタのディスティネーションフィールド
Dで指されるレジスタに格納される。
たものである。1マシンサイクルに2命令ずつ処理され
る。また、この例では、第1演算ユニツトと第2演算ユ
ニツトは常に並列して動作している。
命令、第2命令として基本命令を連続して処理するフロ
ーを示したものである。ロード命令実行時には、Rステ
ージで、第1命令レジスタの82フイールドで指される
レジスタの内容が、バス126を通して、MAR109
に転送される6次に、EXステージで、メモリインタフ
ェース100を通して、オペランドをフェッチする。最
後に、Wステージでフェッチされたオペランドが、バス
129を通して、第1命令レジスタのディスティネーシ
ョンフィールドDで指されるレジスタに格納される。E
Xステージ、1マシンサイクルでオペランドをフェッチ
することは、メモリインタフェースに高速キャッシュを
備えていれば、可能である。特に、第1図に示す、計算
機全体が半導体基板上に集積され、命令キャッシュ、デ
ータキャッシュ共にオンチップ化されている場合などは
容易である。もちろん、キャッシュがミスヒツトした場
合には、1マシンサイクルでオペランドフェッチを終了
することができない。このような時は、システムクロッ
クを止めて、EXステージを延長すればよい。これは、
従来の計算機でも行なわれていることである。
命令レジスタの第1ソースレジスタフイールドS1で指
されるレジスタの内容がデータとして、バス125を通
してMDR108に転送される。また同時に、第1命令
レジスタの第2リースレジスタフイールドS2で指され
るレジスタの内容がアドレスとして、バス126を通し
てMAII1109に転送される。次にEXステージで
、MAR109で指される番地に、MDR108内のデ
ータが書き込まれる。第12図に示すように、ロード命
令、ストア命令が第1命令にある場合についても、1マ
シンサイクルに2命令ずつ処理することができる。ロー
ド命令、ストア命令が第2命令に出現した時の処理につ
いては後に詳しく述べる。
実行時の処理フローを示したものである。BRA命令が
読み出されると、Rステージにおいてシーケンサ102
はディスプレースメントフィールドdとプログラムカウ
ンタとの加算を行い、プログラムカウンタ101にセッ
トする。この間にBRA命令の次の番地の命令、と、そ
の次の番地の命令(第13図命令1と命令2)が読み出
される。その次のサイクルに、ジャンプ先の2命令が読
み出される。本実施例では、命令1,2とも実行可能な
ハードウェアとしている。即ち、ジャンプ命令処理時も
、待サイクルが発生しない。
従来計算機でも行なわれているものである。ただし、従
来のRISC型計算機では、ジャンプ命令のアドレス計
算中に、1命令しか実行できなかったが、本実施例では
、ジャンプ命令のアドレス計算中にも、2命令間時処理
されるため、より処理能力を高めることができる。CA
L L命令。
り、分岐命令のアドレス計算中にできるかぎり有効な命
令を実行できるようにコード生成するが、何もすること
がない時には第13図命令1゜2をNOP命令としてお
く、この時には、実質的に1マシンサイクルの待ちが生
ずる。しかしながら、パイプライン段数が浅いので、従
来例で述べたCl5C型の計算機に比して、分岐時のオ
ーバへ・ラドを小さくできるという利点がある。
示したものである。ADDiF と示した命令で。
が決められる。この時も、第13図を用いて説明した無
条件分岐命令処理時と同様にBItAcc命令のおかれ
ている番地の次の命令、第14図命令1と、その次の命
令、第14図2が読み出され処理される。ただし、この
2命令の処理フロー中Wステージにおいては、BRAc
c命令の分岐条件不成立時のみ演算結果のレジスタファ
イルへの書き込みが行なわれる。即ち、分岐命令成立時
には4演算結果の書き込みが抑制される。
例では、1マシンサイクルに2命令ずつ処理するので、
その処理能力が最大2倍に向上されるという利点がある
。また、命令が簡単で、ワイヤドロシックによる制御で
パイプライン段数が4段と少ないため、分岐時のオーバ
ヘッドを最大1マシンサイクルと小さくすることができ
る。さらにコンパイラによる遅延分岐の最適化が成功す
れば、上記オーバヘッドをなくすことができる。
るため、従来のCl5C型計算機におけるパイプライン
並列によるアドレス加算器とALUの並列動作に比して
、第1図第1演算ユニツト110と第2演算ユニツト1
12の並列動作をより遊びなく行うことができるという
利点がある。
タへのロードを繰り返す場合、従来Cl5C型計算機で
は第15図に示すように、1マシンサイクルに1つずつ
データをロードすることができる。
ドに、アドレス計算用ADD命令と、そのアドレスを用
いたLOAD命令の2命令かかるが。
行できるので、やはり、1マシンサイクルに1つずつデ
ータをロードできる。演算器の並列動作という意味では
1両者とも2つの演算器が同時に並列して動いており、
この例では同じである。
18図である。従来のCl5C型計算機で6サイクルの
EXステージでの処理を要していた第17図に示す命令
1は、第18図に示すように、本実施例では3サイクル
で終了することができる。これは従来のCl5C型計算
機では、命令1の実行中、アドレス加算器の動作がとま
ってしまうが1本実施例では、2つの演算器が毎サイク
ル並列して動くことが可能となるためである。
9図である。1500はALU、1501はバレルシフ
タ、15o2はフラグ生成回路である。
算、論理演算の時にはALUi500で、SFT命令の
時にはバレルシフタで処理される。
ラグがフラグ生成回路1502により生成され、信号1
23として送出される。
たのが第20図である。1600はALU、1601は
フラグ生成回路である。第1演算ユニツトとの相違点は
バレルシフタがない点である。
ん度が低いため、省略したのである。こうすることによ
り、1マシンサイクルに、2つのSFT命令を実行する
ことができなくなるが、ハードウェア量を削減できると
いう利点がある。2つのSFT命令が出現した時の制御
方法については後述する。
ものである。1708はレジスタ、1700〜1709
はバススイッチである。各レジスタは、4つのリードボ
ード、2つの書込みポートを持つ。
ルドで指されたレジスタを、次命令で直ちに使う時に、
レジスタファイルをバイパスするために用いられる。例
えば、バススイッチ1702は、バス129から127
へのバイパススイッチであり、第1命令のディスティネ
ーションレジスタフィールドDと第2命令の第1ソース
レジスタフイールドS1が一致した時に開けるようにす
ればよい。
図から第29図を用いて説明する。第1命令と第2命令
の組み合せによっては、両命令を同時に実行できないこ
とがある。これを競合と呼ぶことにする。以下の場合に
競合がおこる。
。
ドDで指されるレジスタと、第2命令の第1ソースレジ
スタフイールドS1で指されるレジスタ、または、第2
命令の第2ソースレジスタフイールドS2で指されるレ
ジスタが一致する時。
ド、ストア命令、及び、SFT命令が処理できないこと
により生ずる本実施例特有の問題である。第1図におい
て、バス127に第2 MDR、バス128に第2MA
Rを追加し、メモリインタフェースにて、1マシンサイ
クルに2つのデータをアクセスできるようにすれば、第
1の競合条件は解消できる。また、第2演算ユニツトに
もバレルシフタを設ければ、第2の競合条件も解消でき
る。本実施例では、ハードウェア削減のため、上記競合
条件が生じたのである。この様な場合も、後に述べるよ
うに、容易に競合を解消できるので、必要性能と、許さ
れるハードウェア量に応じて。
ることは、実質的に性能を落とさずに、ハードウェアを
削減できるという利点がある。
時の制御方法について述べる。第22図上部では、第2
命令となるアドレス“3″にSFT命令がある場合であ
る。第22図下部は、実行時の第1命令レジスタ、第2
命令レジスタに入る命令を示している。プログラムカウ
ンタ2の時、第2命令がS F T命令であることをハ
ードウェアで検出し、第1命令レジスタには2番地の命
令を、第2命令レジスタにはNOP命令をセットする。
をrr 1 rrだけインクリメントし、3番地をセッ
トする。そして、第1命令レジスタには、3番地のSF
T命令を第2命令レジスタにはNOP命令をセットする
。このように2マシンサイクルに分けて処理することに
より、正しく処理することができる。もちろん、コンパ
イラによる最適化を行い、できるだけ第2命令にSFT
命令が出現しないようにすることが好ましい。
ち、第2命令となる奇数アドレスには、・SFT命令を
おくことを禁止し、他に実行する命令のない時にはNO
P命令を入れておく。こうすれば、プログラムサイズは
若干増加するが、競合解消のためのハードウェアを省略
できるよいう利点がある。
処理方法を示している。3番地にロード命令がある。処
理方法は、SFT命令の時と同じである。
番レジスタを3番地の命令が読み出している。この場合
も、SFT命令同様、2マシンサイクルに分けて実行す
る。
。効果はSFT命令のところで述べたのと同じである。
ードウェア方式について説明する。第26図はこのため
の、第1図命令ユニット103の構成を示した図である
。2300は競合検出回路、2301はキャッシュメモ
リ、2302は第1マスク回路、2303は第2マスク
回路である。
され、プログラムカウンタで指される命令とその次の番
地の命令が、バス2305.バス2306に送出される
。キャッシュミスヒツト時にはメモリインタフェース1
00により命令のフェッチが行なわれ、バス113を通
して、キャッシュ2301に書き込まれる。この時競合
検出回路が第1命令と第2命令の間の競合をチエツクし
、競合があれば、競合信号2304をアサートする。
を示すビットが設けられており、キャッシュミス時に競
合信号2304を格納する。第1マスク回路は、入力と
して第1命令、第2命令、競合ビット、プログラムカウ
ンタの最下位ビットを受け、第27図に示すように、第
1命令レジスタ104への信号115を制御する。また
、第2マスク回路は、入力として第2命令、競合ビット
。
27図に示すように、第2命令レジスタ105への信号
117を送出する。
Oの時には第1命令レジスタに第1命令が、第2命令レ
ジスタに第2命令が送出される。
がOの時には、第1命令レジスタに第1命令が、第2命
令レジスタにNOP命令が送出される。これは、競合命
令処理時の第1マシンサイクル時の処理である。次に、
競合ビットが1でPC最下位も1の時には、第1命令レ
ジスタに第2命令を、第2命令レジスタにNOPを送出
する。これは、競合命令処理時の第2マシンサイクル時
の処理である。上記処理により、第22.23゜25図
で説明した競合命令の処理フローが実現される。
ように、競合ビットの値によらず、第2命令のみ実効さ
れるので正しい処理が可能である。
ュへの書き込みは、キャッシュがミスヒツトした時のみ
、しかも、数マシンサイクルかけて行なわれる。従って
、競合検出回路を、キャッシュ書込み時に動作させ、キ
ャッシュに競合ビットを保持しておくことは、マシンサ
イクルを短縮する上で有効である。
示したものである。2500はディレクトリ、2501
はデータメモリ、2502はセレクタ、2503はアド
レスレジスタ、2504は書込みレジスタ、2505は
コンパレータ、2506はキャッシュ制御回路である。
同じであるが、データメモリ2501に、2命令分8バ
イトに1つずつ、競合ビット保持用のフィールドがある
こと、キャッシュ読出し時に、PC最下位を無視し、常
に第1命令2305と第2命令2306と競合信号11
6を送出する点が異なっている。
32バイトとしである。プログラムカウンタより送出さ
れた信号113はアドレスレジスタ2503にセットさ
れる。アドレスの3〜12ビツトで、ディレクトリ25
00とデータメモリ25o1が引かれる。コンパレータ
2505は、ディレクトリ出力とアドレスレジスタの1
3〜32ビツトを比較する。不一致であれば、信号25
08により、キャッシュ制御回路2506にそれを知ら
せる。キャッシュ制御回路2506は、主メモリよりミ
スヒツトした命令を含むブロックを読み出し、データメ
モリ25o1にセットする。
2ビツトを用いて、ブロックの中から必要な2命令を選
択する。第1命令と第2命令は必ず同一ブロック内にあ
り、片方のみミスヒツトすることはない。
示したものである。2600はキャッシュメモリ、26
01は競合検出回路、2302は第1マスク回路、23
03は第2マスク回路である。第26図の構成との違い
は、シャツシュに競合ビット保持のフィールドがなく、
キャッシュ出力の第1命令2601と第2命令2602
を、毎サイクル競合検出回路2601が監視しているこ
とである。第1マスク回路2302.第2マスク回路2
3o3の動作は、第26図のものと同じである。本実施
例によれば、キャッシュ読み出し後に毎サイクル競合検
出回路が働くので、マシンサイクルが伸びるという欠点
があるが、キャッシュ内の競合ビットフィールドがなく
てよいという利点がある。
処理されることを生かして、第30図に示すように特殊
な場合に条件付分岐命令をさらに高速化することができ
る。即ち、条件付分岐命令において、条件成立時の分岐
先が次の次の命令(第30図命令2)である時、条件の
成否にかかわらず、命令2.命令3を実行し、条件の成
否により、命令1のWステージを抑止するかどうかを制
御することにより、条件成立時の待サイクルをなくすこ
とができる。ただし、この場合、条件分岐命令は必ず第
1命令側におくこととする。通常の条件付分岐では、第
14図を用いて説明したように、分岐成立時には、1サ
イクルの待サイクルが生じる。言葉を換えて説明すれば
、本発明では1マシンサイクルに2命令ずつ処理するの
で、2命令m位での命令処理フローに影響を与えずに、
第1命令側の条件付分岐命令の条件の成否により、第2
命令側の命令の実行を制御することができる。
処理されることを生かして、″アトミック″な処理を容
易に実現することができる。アトミック処理とは、必ず
−続きに行なわれる処理のことで、プロセス間の同期等
に使用される。第31図(a)は従来の計算機の場合で
あり、(b)は本実施例について説明している。(a)
では各命令の間に割込みが入る可能性があるが、(b)
では、命令1と命令2の間、及び、命令3と命令4の間
には決して割込みが入らない。このため、(a)では、
任意の命令のすき間に、他のプロセスを処理するプログ
ラムが入る可能性があるが、(b)では、命令1と命令
2.命令3と命令4は必ず−続きに実行されることが保
証されているという利点がある。
る。本実施例では、1マシンサイクルに4命令ずつ処理
することができる。3200はメモリインタフェース、
3201はプログラムカウンタ、3202はシーケンサ
、3203は命令ユニット、3204〜3207は、第
1〜4命令レジスタ、3208〜3211は、第1〜4
デコーダ、3212はMDR13213はMAR132
14。
ト、3216はレジスタファイルである。
いる。各部の動作説明は、第1図で示した実施例と同じ
なので省略する。
命令に1つの割合で分岐命令が存在するようなプログラ
ムもあり、そのようなプログラムでは、極端に並列度を
あげても、あまり効果が得られない、2〜4命令命令部
理程度が至当である。
列度をあげれば、効果的に性能が高まる。
、命令ユニットの制御を容易にすることができる。
実施例では、常に複数命令同時処理を行っていた。通常
は1マシンサイクルに1命令ずつ処理し、部分的に複数
命令同時処理を行うことによっても利益を得ることがで
きる。第33図に3つの例を示す、第33図(a)では
、第1命令は主メモリ、第2命令はアドレス空間の先頭
部分のみにあり、かつ、ROM化されている。(b)で
は、第1命令、第2命令ともに、アドレス空間の先頭部
分でROM化されている。他の部分は第1命令のみで、
主メモリにある。(c)では、(a)とほぼ同じである
が、第2命令のROM化部分がアドレス空間の中間にあ
る。計算機全体の構成は第1図と同じであり、ただ命令
ユニット103を変更すればよい。ROM部分には、使
用ひん度が高く、並列度の高いプログラムを書いておき
、主ルーチンよりサブルーチンコールによって利用する
。ROM部分は小容量でよいので、コンパイラがなくて
も、アセンブラにより最適なプログラムを作成すること
ができる。
命令ユニット103の構成を示したものである。290
0はキャッシュ、2901は4に語のROM、2903
はマスク回路、2902はマスク回路制御回路である。
リアドレスの上位12〜31ビツトがオールゼロの時の
み、有効信号2904をアサートする。マスク回路29
03は。
2905を第2命令レジスタへの出力117として送出
する。他の時はNOP命令を送出する。
路制御回路2902を第35図のようにすればよい。3
000はコンパレータ、3001はペースレジスタであ
る。ペースレジスタの上位12〜31ビツトと、アドレ
ス113の上位12〜31ビツトが一致した時に、コン
パレータ3000は、有効信号2904をアサートする
。
ト103を第36図のように構成すればよい。2901
,2902.2903の機能は第29図で説明した同一
番号のものと同じである。
102はセレクタ制御回路、3107はセレクタである
。セレクタ制御回路3 ]−02は、アドレス113の
上位12〜31ビツトを常に監視し、それらがオールゼ
ロの時のみROM選択信号3105をアサートする。セ
レクタ31.07は、ROM選択信号3105がアサー
トされた時のみROM出力信号3104を、第1命令レ
ジスタへの出力115として送出する。他の時には、キ
ャッシュ出力3103を送出する。
令同時処理を行い、その部分をROM化することにより
ハードウェアを削減できる。また、ROM部分のみであ
ればアセンブラによって最適設計できるので、複数命令
同時処理を意識したコンパイラを開発しなくてもよいと
いう利点がある。
ーションごとに、アプリケーションに適した高速化が実
現できる。
つ、1マシンサイクルで複数の命令が同時に読み出され
、実行されるために、複数の演算器が同時に動き、処理
能力を高めることができる。
きるので、分岐時のオーバヘッドを小さくできる。
理時間を短縮することができる。
従来例の全体ブロック図、第3図〜第5図はその動作を
説明するタイミングチャート、第6図はもう1つの従来
例の全体ブロック図、第7図、第8図はその動作を説明
するタイミングチャート、第9図は本発明の一実施例の
命令−覧を示す図、第10図は本発明の一実施例にかか
る命令フォーマットを示す図、第11図〜第14図は本
発明の一実施例の動作を説明するタイミングチャート、
第15図は従来例の動作を説明するタイミングチャート
、第16図〜第18図は本発明の一実施例の動作を説明
するタイミングチャート、第19図は第1図の第1演算
ユニツト110の構成図、第20図は第1図の第2演算
ユニツト112の構成図、第21図は第1図のレジスタ
ファイル111の構成図、第22図〜第25図は、第1
図に示した本発明の一実施例の動作を説明する図。 第26図は第1図の命令ユニット103の構成図、第2
7図はその動作を説明する図、第28図は第26図のキ
ャッシュ2301の構成図、第29図は第1図の命令ユ
ニット103の他の構成図、第30図は本発明の一実施
例の動作を説明するタイミングチャート、第31図は命
令構成を示す図、第32図は本発明の他の実施例の全体
ブロック図。 第33図〜第36図は部分的に複数命令同時処理を行な
う本発明の他の実施例の説明図である。 103・・・命令ユニット、104・・・第1命令レジ
スタ、105・・・第2命令レジスタ、110・・・第
1演算ユニツト、111・・・レジスタファイル、11
2第2図 第1図 第3図 第4図 第5図 待サイクル 第6図 第7図 第8図 待サイクル 第10図 基本命令 分岐命令 3゜ ロードストア命令 OP 31 S2 DAL)
L) 第9図 第11図 第12図 第13図 第15図 第16図 第14図 DD (アドレス計算) IF REX W ジャンプ先命令2 IF REX W 第19図 第17図 第18図 第20図 第21図 第24図 第1命令 第2命令ADD R(
11,R(21,R131ADD Rt4L R(5
1,Rt61LOAD R(31,Run)
LOAD Rt61. R(IllADD
R(51,R(21,R+31 ADD R(
41,R(11,R+61DD LOAD LOAD ADD 第1命令 R111,Rt21. Rt31 Rt3L R11111i R161,RGI) Rf51.Rf21. R(31 第2命令 、6J)D R(4)、 R(51゜OP OP 4八〇D Roll。 R(4)。 R(6) R(6) 第25図 第1命令 第2命令ADD I’
2+1+、 R121,Rf31 ADD R1
41,R151,Rf6)ADD R111,R15
1,R(81ADD R(81,Rf91. R+I
αADD Rub、 R1131,R(141ADD
Ru51. Rtla、 RQ71DD ADD ADD ADD 第1命令 R111,R(21゜ Roll、 Rt51゜ R+8)、 Rf91゜ R(13,R(13゜ 第2命令 ADD R+41. Rf51゜ OP OP ADD R(le。 Rnり。 R(6) ROり 第22図 第1命令 第2命令5FTRHO
,Rt2L R(31ADD R+4+、 Rt51
. Rt615FT R+71. Rf13+、 R
1915FT R1]01. Roll)、 ROZ
ADD R(141,Ru151. Ru61
ADD R(171,R(IIP、 R[iD↓ FT FT FT ADD Rfil。 R+71゜ Rtlol。 Ru141゜ R2)。 R+81゜ Rflli。 Ru51゜ ADD OP OP ADD R+41゜ Ru171゜ Rt51゜ Rt+81゜ R(6) R(191 第23図 FT FT FT ADD R11i。 R+71゜ Rt+01゜ R(141。 Rt21. R(3) Rt81. Rt91 RGIL R112 R(+51. Ru161 ADD OP OP ADD R141゜ RGI。 t5L R0秒。 R(6) 第26図 第27図 命令3 第28図 第30図 IF REX W 第29図 第31図 なとこる 第33図 第1命令 第2命令 格納 格納 場所 場所 第1命令第2命令 格納 格納 場所 場所 第1命令 第2命令 格納 格納 場所 場所 al bl cl 第34図 第35図
Claims (1)
- 【特許請求の範囲】 1、読み出すべき命令を指示するプログラムカウンタと
、指示された命令を格納する命令レジスタと、データが
格納されるレジスタファイルと、前記命令に従い、レジ
スタファイルから該当するデータを取り出し演算を行な
う演算ユニットを備え、パイプライン動作を行なうデー
タ処理装置において、ワイヤド論理による命令を1マシ
ンサイクルにm個(m=2、3・・・)同時に格納する
m個の命令レジスタと、前記レジスタファイルを共有す
るm個の演算ユニットを設け、前記プログラムカウンタ
をmずつ増加させ、このプログラムカウンタの指示する
番地から連続するm個の命令を読み出し、このm個の命
令をm個の同一機能の演算ユニットで処理することを特
徴とするデータ処理装置。 2、請求項第1項において、前記命令は固定長であり、
1マシンサイクルに処理する複数の命令数m=2^n(
n=1、2・・・)であることを特徴とするデータ処理
装置。 3、請求項第1項において、1マシンサイクルの間に同
時に読み出されるm個の命令の中で、所定の番地の命令
が書き込むレジスタを、それ以降の番地の命令が読むと
いう競合状態がレジスタファイル中で生じないように、
命令を配置することを特徴とするデータ処理装置。 4、請求項第1項において、1マシンサイクルの間に同
時に読み出されるm個の命令の中で、所定の番地の命令
が書き込むレジスタを、それ以降の番地の命令が読むと
いう競合状態がレジスタファイル中に生ずることを検出
し、その際には、該レジスタに書き込む命令を実行した
後に、該レジスタを読む命令を実行するように制御する
手段を備えたことを特徴とするデータ処理装置。 5、請求項第4項において、命令のためのキャッシュメ
モリを有し、このキャッシュメモリの中には、同時に読
み出されるm個の命令毎に、前記競合状態を示すビット
を設けたことを特徴とするデータ処理装置。 6、請求項第1項において、状態フラグと、状態フラグ
を変化させる命令と、状態フラグにより分岐する命令を
有し、プログラムカウンタにより読み出されるm個の命
令の中の所定の番地に条件付分岐命令があることを検出
し、条件成立時に、m個の命令の中の該当する番地より
後の命令の実行を抑止する手段を備えたことを特徴とす
るデータ処理装置。 7、請求項第6項において、分岐アドレスが、条件付分
岐命令を含むm個の命令の次の番地であることを検出し
、それが検出された時に、条件の成否にかかわらず、条
件付分岐命令を含むm個の命令を読み出した次のサイク
ルで、条件付分岐命令を含むm個の命令に引き続くm個
の命令を実行する手段を備えたことを特徴とするデータ
処理装置。 8、請求項第1項において、命令の格納されるメモリの
1部をROMとすることを特徴とするデータ処理装置。 9、請求項第1項において、同時に読み出されるm個の
命令間では割込みを禁止することを特徴とするデータ処
理装置。 10、読み出すべき命令を指示するプログラムカウンタ
と、指示された命令を格納する命令レジスタと、データ
が格納されるレジスタファイルと、前記命令に従い、レ
ジスタファイルから該当するデータを取り出し演算を行
なう演算ユニットを備え、パイプライン動作を行なうデ
ータ処理装置において、ワイヤド論理による命令を1マ
シンサイクルにm個(m=2、3・・・)同時に格納す
るm個の命令レジスタと、前記レジスタファイルを共有
するm個の演算ユニットを設け、前記プログラムカウン
タをmずつ増加させ、このプログラムカウンタの指示す
る番地から連続するm個の命令を読み出し、このm個の
命令を異なる機能の演算ユニットを含むm個の演算ユニ
ットで処理することを特徴とするデータ処理装置。 11、請求項第10項において、前記命令は固定長であ
り、1マシンサイクルに処理する複数の命令数m=2^
n(n=1、2、・・・)であることを特徴とするデー
タ処理装置。 12、請求項第10項において、m個の命令を、それぞ
れm個の演算ユニットで同時に処理可能かどうかを検知
し、処理可能な命令であれば同時に処理し、処理不可能
な命令は、次のマシンサイクルで処理可能な演算ユニッ
トに転送して処理する手段を備えたことを特徴とするデ
ータ処理装置。 13、請求項第12項において、命令のためのキャッシ
ュメモリを有し、キャッシュメモリの中には、同時に読
み出すm個の命令が、m個の演算ユニットで同時に処理
可能かどうかを示すビットを設けたことを特徴とするデ
ータ処理装置。 14、請求項第10項において、少なくとも1つ異なる
機能を有するm個の演算ユニットで同時に処理可能なよ
うに、あらかじめ並べられたm個の命令を読み出し実行
することを特徴とするデータ処理装置。 15、請求項第10項において、状態フラグと、状態フ
ラグを変化させる命令と、状態フラグにより分岐する命
令を有し、プログラムカウンタにより読み出されるm個
の命令の中の所定の番地に条件付分岐命令があることを
検出し、条件成立時に、m個の命令の中の該当する番地
より後の番地の命令の実行を抑止する手段を備えたこと
を特徴とするデータ処理装置。 16、請求項第15項において、分岐アドレスが、条件
付分岐命令を含むm個の命令の次の番地であることを検
出し、それが検出された時には、条件の成否にかかわら
ず、条件付分岐命令を含むm個の命令を読み出した次の
サイクルで、条件付分岐命令を含むm個の命令に引き続
くm個の命令を実行する手段を備えたことを特徴とする
データ処理装置。 17、請求項第10項において、命令の格納されるメモ
リの1部をROMとすることを特徴とする計算機。 18、請求項第10項において、同時に読み出されるm
個の命令間では割込みを禁止することを特徴とする計算
機。 19、読み出すべき命令を指示するプログラムカウンタ
と、指示された命令を格納する命令レジスタと、命令レ
ジスタの命令をデコードするデコーダと、データが格納
されるレジスタファイルと、デコードされた内容を従い
、レジスタファイルから該当するデータを取り出し演算
を行なう演算ユニットを備え、パイプライン動作を行な
うデータ処理装置において、ワイヤド論理による命令を
1マシンサイクルにm個(m=2、3・・・)同時に格
納するm個の命令レジスタと、これらの命令をデコード
するm個のデコーダと、前記レジスタファイルを共有す
るm個の演算ユニットを設け、前記プログラムカウンタ
が所定の限定された範囲にあるときのみ、プログラムカ
ウンタの指示する番地から連続するm個の命令を読み出
し、このm個の命令を前記m個の同一機能の演算ユニッ
トで処理し、前記範囲以外の時にはl個(l≠m、l=
1、2・・・)の命令を読み出し、このl個の命令をl
個の同一機能の演算ユニットで処理することを特徴とす
るデータ処理装置。 20、請求項第19項において、l=1としたことを特
徴とするデータ処理装置。 21、請求項第19項において、前記データ処理装置全
体を1チップの半導体基板上に集積し、かつ前記限定さ
れた範囲のプログラムの少なくとも1部をROMとして
半導体基板上に集積したことを特徴とするデータ処理装
置。 22、読み出すべき命令を指示するプログラムカウンタ
と、指示された命令を格納する命令レジスタと、データ
が格納されるレジスタファイルと、前記命令に従い、レ
ジスタファイルから該当するデータを取り出し演算を行
なう演算ユニットを備えたデータ処理装置において、ワ
イヤド論理による命令を1マシンサイクルに複数同時に
読み出し、処理することを特徴とするデータ処理装置。
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63283673A JP2810068B2 (ja) | 1988-11-11 | 1988-11-11 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
US07/433,368 US5233694A (en) | 1988-11-11 | 1989-11-08 | Pipelined data processor capable of performing instruction fetch stages of a plurality of instructions simultaneously |
DE68928340T DE68928340T2 (de) | 1988-11-11 | 1989-11-10 | Fliessband-Datenprozessor |
EP89120881A EP0368332B1 (en) | 1988-11-11 | 1989-11-10 | Pipeline data processor |
DE68929483T DE68929483T2 (de) | 1988-11-11 | 1989-11-10 | Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist. |
KR1019890016275A KR0149658B1 (ko) | 1988-11-11 | 1989-11-10 | 데이터 처리장치 및 데이터 처리방법 |
EP97103969A EP0782071B1 (en) | 1988-11-11 | 1989-11-10 | Data processor |
EP99122100A EP0996057B1 (en) | 1988-11-11 | 1989-11-10 | Data processor with an instruction unit having a cache and a ROM |
DE68929215T DE68929215T2 (de) | 1988-11-11 | 1989-11-10 | Datenprozessor |
US07/979,772 US6256726B1 (en) | 1988-11-11 | 1992-11-20 | Data processor for the parallel processing of a plurality of instructions |
US08/149,932 US5404472A (en) | 1988-11-11 | 1993-11-10 | Parallel processing apparatus and method capable of switching parallel and successive processing modes |
KR1019980007835A KR0160602B1 (ko) | 1988-11-11 | 1998-03-10 | 데이터 처리장치 |
US09/853,769 US7424598B2 (en) | 1988-11-11 | 2001-05-14 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63283673A JP2810068B2 (ja) | 1988-11-11 | 1988-11-11 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09352657A Division JP3102399B2 (ja) | 1997-12-22 | 1997-12-22 | データ処理装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02130634A true JPH02130634A (ja) | 1990-05-18 |
JP2810068B2 JP2810068B2 (ja) | 1998-10-15 |
Family
ID=17668583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63283673A Expired - Lifetime JP2810068B2 (ja) | 1988-11-11 | 1988-11-11 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US5233694A (ja) |
EP (3) | EP0368332B1 (ja) |
JP (1) | JP2810068B2 (ja) |
KR (2) | KR0149658B1 (ja) |
DE (3) | DE68929215T2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105002A (ja) * | 1993-09-20 | 1995-04-21 | Internatl Business Mach Corp <Ibm> | 計算機システム |
US5680637A (en) * | 1992-01-06 | 1997-10-21 | Hitachi, Ltd. | Computer having a parallel operating capability |
US5713012A (en) * | 1993-01-20 | 1998-01-27 | Hitachi, Ltd. | Microprocessor |
US5809294A (en) * | 1991-07-12 | 1998-09-15 | Mitsubishi Denki Kabushiki Kaisha | Parallel processing unit which processes branch instructions without decreased performance when a branch is taken |
JP2000148483A (ja) * | 1992-09-29 | 2000-05-30 | Seiko Epson Corp | コンピュ―タシステム |
JP2000330790A (ja) * | 1999-05-03 | 2000-11-30 | Stmicroelectronics Sa | コンピュータシステム動作方法、コンピュータシステムにおける命令スケジューリング方法およびコンピュータシステム |
JP2000353091A (ja) * | 1999-05-03 | 2000-12-19 | Stmicroelectronics Sa | コンピュータシステムにおける命令実行方法およびコンピュータシステム |
US6182211B1 (en) | 1997-07-02 | 2001-01-30 | Matsushita Electric Industrial Co., Ltd. | Conditional branch control method |
US6282630B1 (en) | 1991-07-08 | 2001-08-28 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
US6647485B2 (en) | 1991-07-08 | 2003-11-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504932A (en) * | 1990-05-04 | 1996-04-02 | International Business Machines Corporation | System for executing scalar instructions in parallel based on control bits appended by compounding decoder |
EP0459232B1 (en) * | 1990-05-29 | 1998-12-09 | National Semiconductor Corporation | Partially decoded instruction cache and method therefor |
JP2834292B2 (ja) * | 1990-08-15 | 1998-12-09 | 株式会社日立製作所 | データ・プロセッサ |
JPH04111127A (ja) * | 1990-08-31 | 1992-04-13 | Toshiba Corp | 演算処理装置 |
JP2532300B2 (ja) * | 1990-10-17 | 1996-09-11 | 三菱電機株式会社 | 並列処理装置における命令供給装置 |
JP2682232B2 (ja) * | 1990-11-21 | 1997-11-26 | 松下電器産業株式会社 | 浮動小数点演算処理装置 |
US5446849A (en) * | 1990-11-30 | 1995-08-29 | Kabushiki Kaisha Toshiba | Electronic computer which executes squash branching |
RU1804645C (ru) * | 1991-03-27 | 1993-03-23 | Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева | Центральный процессор |
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
JP2984463B2 (ja) * | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
JP3105197B2 (ja) | 1991-06-24 | 2000-10-30 | 株式会社日立製作所 | 除算回路及び除算方法 |
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
KR100294276B1 (ko) * | 1991-07-08 | 2001-09-17 | 야스카와 히데아키 | 고속트랩및예외상태를구현한알아이에스씨마이크로프로세서구조 |
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
JPH0546386A (ja) * | 1991-08-13 | 1993-02-26 | Hitachi Ltd | データプロセツサ |
GB9123271D0 (en) * | 1991-11-02 | 1991-12-18 | Int Computers Ltd | Data processing system |
GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
DE4237417C2 (de) * | 1992-03-25 | 1997-01-30 | Hewlett Packard Co | Datenverarbeitungssystem |
US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
WO1993020505A2 (en) | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Superscalar risc instruction scheduling |
US5371864A (en) * | 1992-04-09 | 1994-12-06 | International Business Machines Corporation | Apparatus for concurrent multiple instruction decode in variable length instruction set computer |
EP0638183B1 (en) | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
US5416913A (en) * | 1992-07-27 | 1995-05-16 | Intel Corporation | Method and apparatus for dependency checking in a multi-pipelined microprocessor |
US6735685B1 (en) * | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
EP1107111A3 (en) | 1992-12-31 | 2002-02-06 | Seiko Epson Corporation | System and method for register renaming |
US5416911A (en) * | 1993-02-02 | 1995-05-16 | International Business Machines Corporation | Performance enhancement for load multiple register instruction |
US5560025A (en) * | 1993-03-31 | 1996-09-24 | Intel Corporation | Entry allocation apparatus and method of same |
US5673409A (en) * | 1993-03-31 | 1997-09-30 | Vlsi Technology, Inc. | Self-defining instruction size |
US5463748A (en) | 1993-06-30 | 1995-10-31 | Intel Corporation | Instruction buffer for aligning instruction sets using boundary detection |
US5878245A (en) * | 1993-10-29 | 1999-03-02 | Advanced Micro Devices, Inc. | High performance load/store functional unit and data cache |
DE69434669T2 (de) * | 1993-10-29 | 2006-10-12 | Advanced Micro Devices, Inc., Sunnyvale | Spekulative Befehlswarteschlange für Befehle mit variabler Byteslänge |
EP0651332B1 (en) * | 1993-10-29 | 2001-07-18 | Advanced Micro Devices, Inc. | Linearly addressable microprocessor cache |
DE69427265T2 (de) | 1993-10-29 | 2002-05-02 | Advanced Micro Devices Inc | Superskalarbefehlsdekoder |
US5689672A (en) * | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
US5630082A (en) * | 1993-10-29 | 1997-05-13 | Advanced Micro Devices, Inc. | Apparatus and method for instruction queue scanning |
US5604909A (en) | 1993-12-15 | 1997-02-18 | Silicon Graphics Computer Systems, Inc. | Apparatus for processing instructions in a computing system |
US5974534A (en) * | 1994-02-14 | 1999-10-26 | Hewlett-Packard Company | Predecoding and steering mechanism for instructions in a superscalar processor |
US5537629A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Decoder for single cycle decoding of single prefixes in variable length instructions |
US5608885A (en) * | 1994-03-01 | 1997-03-04 | Intel Corporation | Method for handling instructions from a branch prior to instruction decoding in a computer which executes variable-length instructions |
US5586277A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders |
US5566298A (en) * | 1994-03-01 | 1996-10-15 | Intel Corporation | Method for state recovery during assist and restart in a decoder having an alias mechanism |
US5673427A (en) * | 1994-03-01 | 1997-09-30 | Intel Corporation | Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue |
US5630083A (en) * | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
US5600806A (en) * | 1994-03-01 | 1997-02-04 | Intel Corporation | Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer |
US5559974A (en) * | 1994-03-01 | 1996-09-24 | Intel Corporation | Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation |
US5758116A (en) * | 1994-09-30 | 1998-05-26 | Intel Corporation | Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions |
US5901302A (en) * | 1995-01-25 | 1999-05-04 | Advanced Micro Devices, Inc. | Superscalar microprocessor having symmetrical, fixed issue positions each configured to execute a particular subset of instructions |
US6237082B1 (en) | 1995-01-25 | 2001-05-22 | Advanced Micro Devices, Inc. | Reorder buffer configured to allocate storage for instruction results corresponding to predefined maximum number of concurrently receivable instructions independent of a number of instructions received |
JP3180175B2 (ja) * | 1995-02-13 | 2001-06-25 | 株式会社日立製作所 | 命令レベルの並列処理制御方法およびプロセッサ |
US5737550A (en) * | 1995-03-28 | 1998-04-07 | Advanced Micro Devices, Inc. | Cache memory to processor bus interface and method thereof |
US5859991A (en) * | 1995-06-07 | 1999-01-12 | Advanced Micro Devices, Inc. | Parallel and scalable method for identifying valid instructions and a superscalar microprocessor including an instruction scanning unit employing the method |
US5867701A (en) * | 1995-06-12 | 1999-02-02 | Intel Corporation | System for inserting a supplemental micro-operation flow into a macroinstruction-generated micro-operation flow |
US5926642A (en) * | 1995-10-06 | 1999-07-20 | Advanced Micro Devices, Inc. | RISC86 instruction set |
US5706489A (en) * | 1995-10-18 | 1998-01-06 | International Business Machines Corporation | Method for a CPU to utilize a parallel instruction execution processing facility for assisting in the processing of the accessed data |
US5796974A (en) * | 1995-11-07 | 1998-08-18 | Advanced Micro Devices, Inc. | Microcode patching apparatus and method |
US5815724A (en) * | 1996-03-29 | 1998-09-29 | Intel Corporation | Method and apparatus for controlling power consumption in a microprocessor |
US5862398A (en) * | 1996-05-15 | 1999-01-19 | Philips Electronics North America Corporation | Compiler generating swizzled instructions usable in a simplified cache layout |
CN1145099C (zh) * | 1996-05-15 | 2004-04-07 | 特莱麦迪雅技术公司 | 用于存储混洗指令的方法与装置 |
US6131152A (en) * | 1996-05-15 | 2000-10-10 | Philips Electronics North America Corporation | Planar cache layout and instruction stream therefor |
JPH1011289A (ja) * | 1996-06-19 | 1998-01-16 | Mitsubishi Electric Corp | 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ |
US5884055A (en) * | 1996-11-27 | 1999-03-16 | Emc Corporation | Method and apparatus including a shared resource and multiple processors running a common control program accessing the shared resource |
US5890207A (en) * | 1996-11-27 | 1999-03-30 | Emc Corporation | High performance integrated cached storage device |
US5890219A (en) * | 1996-11-27 | 1999-03-30 | Emc Corporation | Redundant writing of data to cached storage system |
US5852727A (en) * | 1997-03-10 | 1998-12-22 | Advanced Micro Devices, Inc. | Instruction scanning unit for locating instructions via parallel scanning of start and end byte information |
US6467035B2 (en) * | 1997-09-08 | 2002-10-15 | Agere Systems Guardian Corp. | System and method for performing table look-ups using a multiple data fetch architecture |
JP2954119B2 (ja) * | 1997-11-26 | 1999-09-27 | 日本電気株式会社 | 命令実行サイクル可変回路 |
DE19802364A1 (de) * | 1998-01-22 | 1999-07-29 | Siemens Ag | Vorrichtung und Verfahren zur Steuerung von Prozessen auf einem Computersystem |
DE19819531C1 (de) * | 1998-04-30 | 1999-12-02 | Siemens Ag | RISC-Prozessor mit einer Debug-Schnittstelleneinheit |
US6233690B1 (en) * | 1998-09-17 | 2001-05-15 | Intel Corporation | Mechanism for saving power on long latency stalls |
US6668316B1 (en) * | 1999-02-17 | 2003-12-23 | Elbrus International Limited | Method and apparatus for conflict-free execution of integer and floating-point operations with a common register file |
US6442677B1 (en) * | 1999-06-10 | 2002-08-27 | Advanced Micro Devices, Inc. | Apparatus and method for superforwarding load operands in a microprocessor |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US7711926B2 (en) | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
US6826681B2 (en) | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
EP1387253B1 (en) * | 2002-07-31 | 2017-09-20 | Texas Instruments Incorporated | Dynamic translation and execution of instructions within a processor |
US7366352B2 (en) * | 2003-03-20 | 2008-04-29 | International Business Machines Corporation | Method and apparatus for performing fast closest match in pattern recognition |
US7698539B1 (en) * | 2003-07-16 | 2010-04-13 | Banning John P | System and method of instruction modification |
US6996916B2 (en) * | 2004-03-09 | 2006-02-14 | Helen Of Troy Limited | Variable ion hair styling appliances |
US20050224091A1 (en) * | 2004-04-08 | 2005-10-13 | Helen Of Troy Limited | Ion curling iron and straightener |
JP4435177B2 (ja) * | 2004-11-12 | 2010-03-17 | 株式会社ジャストシステム | データ処理装置およびデータ処理方法 |
US7985566B2 (en) | 2005-04-22 | 2011-07-26 | Mitsubishi Chemical Corporation | Biomass-resource-derived polyester and production process thereof |
KR101419668B1 (ko) | 2006-09-06 | 2014-07-15 | 실리콘 하이브 비.브이. | 데이터 처리회로 및 데이터 처리방법 |
US20090138890A1 (en) * | 2007-11-21 | 2009-05-28 | Arm Limited | Contention management for a hardware transactional memory |
US9513959B2 (en) * | 2007-11-21 | 2016-12-06 | Arm Limited | Contention management for a hardware transactional memory |
SE536462C2 (sv) * | 2011-10-18 | 2013-11-26 | Mediatek Sweden Ab | Digital signalprocessor och basbandskommunikationsanordning |
JP6106499B2 (ja) * | 2013-04-11 | 2017-03-29 | 株式会社日立製作所 | データ反映方法 |
US11599358B1 (en) * | 2021-08-12 | 2023-03-07 | Tenstorrent Inc. | Pre-staged instruction registers for variable length instruction set machine |
KR102449203B1 (ko) | 2022-03-08 | 2022-09-29 | 주식회사 제이비티 | 안전상태정보 관리 방법 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573853A (en) * | 1968-12-04 | 1971-04-06 | Texas Instruments Inc | Look-ahead control for operation of program loops |
US3614745A (en) * | 1969-09-15 | 1971-10-19 | Ibm | Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof |
US3771138A (en) * | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
US4521850A (en) * | 1977-12-30 | 1985-06-04 | Honeywell Information Systems Inc. | Instruction buffer associated with a cache memory unit |
JPS6043535B2 (ja) | 1979-12-29 | 1985-09-28 | 富士通株式会社 | 情報処理装置 |
US4616331A (en) * | 1980-02-25 | 1986-10-07 | Tsuneo Kinoshita | Information processing system consisting of an arithmetic control unit formed into a one-chip typed by application of a highly-integrated semiconductor device |
JPS6028015B2 (ja) * | 1980-08-28 | 1985-07-02 | 日本電気株式会社 | 情報処理装置 |
US4437149A (en) | 1980-11-17 | 1984-03-13 | International Business Machines Corporation | Cache memory architecture with decoding |
EP0072373B1 (en) * | 1981-08-19 | 1986-03-19 | International Business Machines Corporation | Improved microprocessor |
EP0082903B1 (fr) * | 1981-12-29 | 1987-05-13 | International Business Machines Corporation | Unité de commande pouvant être connectée à deux mémoires de vitesses différentes |
JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
US4928223A (en) * | 1982-10-06 | 1990-05-22 | Fairchild Semiconductor Corporation | Floating point microprocessor with directable two level microinstructions |
US4546428A (en) * | 1983-03-08 | 1985-10-08 | International Telephone & Telegraph Corporation | Associative array with transversal horizontal multiplexers |
US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
JPS59186062A (ja) * | 1983-04-07 | 1984-10-22 | Nec Corp | 分散形プロセツサシステム |
JPS6015746A (ja) * | 1983-07-08 | 1985-01-26 | Hitachi Ltd | デ−タ処理装置 |
JPS60120439A (ja) * | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
JPS60136872A (ja) | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル処理装置 |
US4599708A (en) * | 1983-12-30 | 1986-07-08 | International Business Machines Corporation | Method and structure for machine data storage with simultaneous write and read |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
US4873629A (en) * | 1984-06-20 | 1989-10-10 | Convex Computer Corporation | Instruction processing unit for computer |
US4620275A (en) * | 1984-06-20 | 1986-10-28 | Wallach Steven J | Computer system |
JPS619734A (ja) * | 1984-06-26 | 1986-01-17 | Nec Corp | プロセツサ制御方式 |
US4766564A (en) * | 1984-08-13 | 1988-08-23 | International Business Machines Corporation | Dual putaway/bypass busses for multiple arithmetic units |
US4677545A (en) * | 1984-10-12 | 1987-06-30 | American Telephone And Telegraph Company | Microprocessor having macro-rom and main program queues |
US4794517A (en) * | 1985-04-15 | 1988-12-27 | International Business Machines Corporation | Three phased pipelined signal processor |
US4789925A (en) * | 1985-07-31 | 1988-12-06 | Unisys Corporation | Vector data logical usage conflict detection |
DE3751503T2 (de) | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
US4722050A (en) * | 1986-03-27 | 1988-01-26 | Hewlett-Packard Company | Method and apparatus for facilitating instruction processing of a digital computer |
US4825360A (en) * | 1986-07-30 | 1989-04-25 | Symbolics, Inc. | System and method for parallel processing with mostly functional languages |
US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
JPS6373332A (ja) | 1986-09-16 | 1988-04-02 | Nec Corp | マイクロプログラム制御方式 |
JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
JPH0810430B2 (ja) | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
US4811296A (en) * | 1987-05-15 | 1989-03-07 | Analog Devices, Inc. | Multi-port register file with flow-through of data |
US5101341A (en) * | 1988-08-25 | 1992-03-31 | Edgcore Technology, Inc. | Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO |
US5072364A (en) * | 1989-05-24 | 1991-12-10 | Tandem Computers Incorporated | Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel |
EP0407911B1 (en) | 1989-07-07 | 1998-12-09 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
JPH03288246A (ja) | 1990-04-04 | 1991-12-18 | Matsushita Electric Ind Co Ltd | 命令キャッシュメモリ |
US5214763A (en) | 1990-05-10 | 1993-05-25 | International Business Machines Corporation | Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism |
EP0459232B1 (en) | 1990-05-29 | 1998-12-09 | National Semiconductor Corporation | Partially decoded instruction cache and method therefor |
-
1988
- 1988-11-11 JP JP63283673A patent/JP2810068B2/ja not_active Expired - Lifetime
-
1989
- 1989-11-08 US US07/433,368 patent/US5233694A/en not_active Expired - Lifetime
- 1989-11-10 EP EP89120881A patent/EP0368332B1/en not_active Expired - Lifetime
- 1989-11-10 EP EP99122100A patent/EP0996057B1/en not_active Expired - Lifetime
- 1989-11-10 EP EP97103969A patent/EP0782071B1/en not_active Expired - Lifetime
- 1989-11-10 DE DE68929215T patent/DE68929215T2/de not_active Expired - Fee Related
- 1989-11-10 DE DE68928340T patent/DE68928340T2/de not_active Expired - Fee Related
- 1989-11-10 DE DE68929483T patent/DE68929483T2/de not_active Expired - Fee Related
- 1989-11-10 KR KR1019890016275A patent/KR0149658B1/ko not_active IP Right Cessation
-
1992
- 1992-11-20 US US07/979,772 patent/US6256726B1/en not_active Expired - Lifetime
-
1998
- 1998-03-10 KR KR1019980007835A patent/KR0160602B1/ko not_active IP Right Cessation
-
2001
- 2001-05-14 US US09/853,769 patent/US7424598B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
DTS-EDITION SIMP=S63 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282630B1 (en) | 1991-07-08 | 2001-08-28 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
US7941635B2 (en) | 1991-07-08 | 2011-05-10 | Seiko-Epson Corporation | High-performance superscalar-based computer system with out-of order instruction execution and concurrent results distribution |
US7555632B2 (en) | 1991-07-08 | 2009-06-30 | Seiko Epson Corporation | High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
US7028161B2 (en) | 1991-07-08 | 2006-04-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
US6986024B2 (en) | 1991-07-08 | 2006-01-10 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6934829B2 (en) | 1991-07-08 | 2005-08-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6915412B2 (en) | 1991-07-08 | 2005-07-05 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6647485B2 (en) | 1991-07-08 | 2003-11-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5809294A (en) * | 1991-07-12 | 1998-09-15 | Mitsubishi Denki Kabushiki Kaisha | Parallel processing unit which processes branch instructions without decreased performance when a branch is taken |
US5680637A (en) * | 1992-01-06 | 1997-10-21 | Hitachi, Ltd. | Computer having a parallel operating capability |
JP2000148490A (ja) * | 1992-09-29 | 2000-05-30 | Seiko Epson Corp | コンピュ―タシステム |
JP2000148493A (ja) * | 1992-09-29 | 2000-05-30 | Seiko Epson Corp | コンピュ―タシステム |
JP2000148481A (ja) * | 1992-09-29 | 2000-05-30 | Seiko Epson Corp | コンピュ―タシステム |
JP2000148492A (ja) * | 1992-09-29 | 2000-05-30 | Seiko Epson Corp | コンピュ―タシステム |
JP2000148483A (ja) * | 1992-09-29 | 2000-05-30 | Seiko Epson Corp | コンピュ―タシステム |
US5713012A (en) * | 1993-01-20 | 1998-01-27 | Hitachi, Ltd. | Microprocessor |
JPH07105002A (ja) * | 1993-09-20 | 1995-04-21 | Internatl Business Mach Corp <Ibm> | 計算機システム |
US6182211B1 (en) | 1997-07-02 | 2001-01-30 | Matsushita Electric Industrial Co., Ltd. | Conditional branch control method |
JP2000353091A (ja) * | 1999-05-03 | 2000-12-19 | Stmicroelectronics Sa | コンピュータシステムにおける命令実行方法およびコンピュータシステム |
JP2000330790A (ja) * | 1999-05-03 | 2000-11-30 | Stmicroelectronics Sa | コンピュータシステム動作方法、コンピュータシステムにおける命令スケジューリング方法およびコンピュータシステム |
Also Published As
Publication number | Publication date |
---|---|
EP0368332A2 (en) | 1990-05-16 |
EP0996057B1 (en) | 2003-08-13 |
KR0160602B1 (ko) | 1999-10-01 |
KR900008394A (ko) | 1990-06-04 |
US5233694A (en) | 1993-08-03 |
US20010021970A1 (en) | 2001-09-13 |
EP0368332B1 (en) | 1997-09-24 |
EP0782071A2 (en) | 1997-07-02 |
JP2810068B2 (ja) | 1998-10-15 |
DE68928340D1 (de) | 1997-10-30 |
EP0996057A1 (en) | 2000-04-26 |
DE68929483T2 (de) | 2004-07-01 |
KR0149658B1 (ko) | 1998-10-15 |
US7424598B2 (en) | 2008-09-09 |
DE68929483D1 (de) | 2003-09-18 |
DE68929215T2 (de) | 2001-01-25 |
EP0782071B1 (en) | 2000-05-24 |
US6256726B1 (en) | 2001-07-03 |
DE68929215D1 (de) | 2000-06-29 |
EP0368332A3 (en) | 1992-07-15 |
DE68928340T2 (de) | 1998-02-12 |
EP0782071A3 (en) | 1997-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02130634A (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
JP2550213B2 (ja) | 並列処理装置および並列処理方法 | |
US5649145A (en) | Data processor processing a jump instruction | |
JP2834837B2 (ja) | プログラマブルコントローラ | |
US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
JP3842474B2 (ja) | データ処理装置 | |
US5167026A (en) | Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers | |
US5142633A (en) | Preprocessing implied specifiers in a pipelined processor | |
JP2834292B2 (ja) | データ・プロセッサ | |
US5905881A (en) | Delayed state writes for an instruction processor | |
JP3543181B2 (ja) | データ処理装置 | |
JPH07120284B2 (ja) | データ処理装置 | |
US5363490A (en) | Apparatus for and method of conditionally aborting an instruction within a pipelined architecture | |
JP3182591B2 (ja) | マイクロプロセッサ | |
JP3102399B2 (ja) | データ処理装置及び方法 | |
JP3147884B2 (ja) | 記憶装置及び情報処理装置 | |
JP2636821B2 (ja) | 並列処理装置 | |
JP2785820B2 (ja) | 並列処理装置 | |
JP2927281B2 (ja) | 並列処理装置 | |
JPS6346856B2 (ja) | ||
JPS61112240A (ja) | デ−タ処理装置 | |
JP2001067335A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090731 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090731 Year of fee payment: 11 |