JPS5818754A - 命令処理ユニツト - Google Patents
命令処理ユニツトInfo
- Publication number
- JPS5818754A JPS5818754A JP57112613A JP11261382A JPS5818754A JP S5818754 A JPS5818754 A JP S5818754A JP 57112613 A JP57112613 A JP 57112613A JP 11261382 A JP11261382 A JP 11261382A JP S5818754 A JPS5818754 A JP S5818754A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- sequence
- field
- code
- instructions
- 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
- 238000012545 processing Methods 0.000 title claims description 26
- 239000000872 buffer Substances 0.000 claims description 32
- 238000012546 transfer Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 235000013365 dairy product Nutrition 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004151 fermentation Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000035876 healing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 239000011022 opal Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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 or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/30181—Instruction operation extension or modification
-
- 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の分野〕
本発明はデータ処理システムに係り、さらに詳細に説明
すれば高性能データ処理システム中の面令処哩ユニット
に係る。
すれば高性能データ処理システム中の面令処哩ユニット
に係る。
一般に、高性能ディジタル計算機の命令処81!速匿は
、め竹の先敗り、解読及び夷0を高度にオ−パララグさ
せるような設計手法によって増強するコトカテキル。多
くの場合、最大処理速度は1サイクルろたり1酷令に制
限されるが、これは1サイクル中に高々1命令しか解読
することができないという理由による。大杉の汎用デ1
ジタル計算機の最大処理速度は、絡合を先取りするqし
カにょって影醤されうる。絡合の先取りとは、これらの
詰合が処理のために必要となる前に該防令を王妃1から
暇出すことを意味する。これらの絡合は、一般に防令バ
ッファと呼ば扛る高速のローカル起重に保持される。こ
れらの防令は必要に応じて防令バッファから詰合レジス
タへ1つずつゲートされ、そこで解読文び主起はアドレ
スの発生のために使用される。解読文びアドレス発生の
後、当該絡合は防合処理の間に実行ユニットによって利
用されるようにオペレーション・レジスタヘゲートされ
る。
、め竹の先敗り、解読及び夷0を高度にオ−パララグさ
せるような設計手法によって増強するコトカテキル。多
くの場合、最大処理速度は1サイクルろたり1酷令に制
限されるが、これは1サイクル中に高々1命令しか解読
することができないという理由による。大杉の汎用デ1
ジタル計算機の最大処理速度は、絡合を先取りするqし
カにょって影醤されうる。絡合の先取りとは、これらの
詰合が処理のために必要となる前に該防令を王妃1から
暇出すことを意味する。これらの絡合は、一般に防令バ
ッファと呼ば扛る高速のローカル起重に保持される。こ
れらの防令は必要に応じて防令バッファから詰合レジス
タへ1つずつゲートされ、そこで解読文び主起はアドレ
スの発生のために使用される。解読文びアドレス発生の
後、当該絡合は防合処理の間に実行ユニットによって利
用されるようにオペレーション・レジスタヘゲートされ
る。
1つの命令バッファは4ダブルワード1での、容量を有
してもよい。もし高性能データ処理システムが種々の長
さを督する絡合、たとえば刊行物でぁる@I BM
System/370 Pr1nciplesof
Operations−1FormAGA22−700
0、で定義されている命令について動pHニーするよう
に設計されているならば、4ダブルワードの容量を胃す
る命令バッファはほぼ8@の命令を保持することができ
る。
してもよい。もし高性能データ処理システムが種々の長
さを督する絡合、たとえば刊行物でぁる@I BM
System/370 Pr1nciplesof
Operations−1FormAGA22−700
0、で定義されている命令について動pHニーするよう
に設計されているならば、4ダブルワードの容量を胃す
る命令バッファはほぼ8@の命令を保持することができ
る。
任意のフ”ログラム化は弐計算機は予め定義された予定
数の10グラム命令について機能するように設計きれて
おり、従って予め指定された’a罷しか遂行することが
できない。10グラムはかがる命令セラミl利用して作
成される。最終的に成る@能が遂行されることを10グ
ラマが望んだとしても、プログラマは利用0Tf?な命
令七ッif活用してプログラム命令のシーケンス2作成
しなければならない。このようにしてグログラムが作成
され、そしそ特定の1!!能が頻繁に生ずることが観察
される場合、新しいプログラム命令を定義することが望
ましいでるろう。というのは、このような1つの命令?
解読するだけで、所望のl!l!1fflが全体として
遂行されることになる゛からである。しかしながら、既
存のデータ処理システムは新しく定義された命令を認識
することができず、従ってその性能を改善することがで
きないのである。箇た仮に新しい命令を認識するように
新しいデータ処理システムが設計されたとしても、μ前
に作成された多αのシステム制御用又は適用業務用10
グラムは増強された性能の効果を享受できず、従って新
しく定義された命令を利用するように1直さなければな
らない。
数の10グラム命令について機能するように設計きれて
おり、従って予め指定された’a罷しか遂行することが
できない。10グラムはかがる命令セラミl利用して作
成される。最終的に成る@能が遂行されることを10グ
ラマが望んだとしても、プログラマは利用0Tf?な命
令七ッif活用してプログラム命令のシーケンス2作成
しなければならない。このようにしてグログラムが作成
され、そしそ特定の1!!能が頻繁に生ずることが観察
される場合、新しいプログラム命令を定義することが望
ましいでるろう。というのは、このような1つの命令?
解読するだけで、所望のl!l!1fflが全体として
遂行されることになる゛からである。しかしながら、既
存のデータ処理システムは新しく定義された命令を認識
することができず、従ってその性能を改善することがで
きないのである。箇た仮に新しい命令を認識するように
新しいデータ処理システムが設計されたとしても、μ前
に作成された多αのシステム制御用又は適用業務用10
グラムは増強された性能の効果を享受できず、従って新
しく定義された命令を利用するように1直さなければな
らない。
前掲の” IB M System /370 P
r1nciplesof 0peratiOns”で定
義された命令は8ビツトのオペレーション(UP)コー
ド・71−ルトヲ含み、さらに16IIli!の汎用レ
ジスタを指定する他の幾つかの4ビツト・フ1−ルド?
きむ。これらの汎用レジスタは、オペランド・データ、
基底アドレス値又は指標アドレスIff!を一時的に保
持するように10グラムされうる。基底アドレス・レジ
スタ又は指標アドレス・レジスタとして指定された汎用
レジスタは、主起はアドレスを発生又は計算するために
命令解読段階の間に利用される。アドレス発生段階は、
汎用レジスタからの水底アドレス値と、他の汎用レジス
タからの指標アドレス値と、命令に保持された12ビツ
トの変にアドレス]直との和算を言むことがある。
r1nciplesof 0peratiOns”で定
義された命令は8ビツトのオペレーション(UP)コー
ド・71−ルトヲ含み、さらに16IIli!の汎用レ
ジスタを指定する他の幾つかの4ビツト・フ1−ルド?
きむ。これらの汎用レジスタは、オペランド・データ、
基底アドレス値又は指標アドレスIff!を一時的に保
持するように10グラムされうる。基底アドレス・レジ
スタ又は指標アドレス・レジスタとして指定された汎用
レジスタは、主起はアドレスを発生又は計算するために
命令解読段階の間に利用される。アドレス発生段階は、
汎用レジスタからの水底アドレス値と、他の汎用レジス
タからの指標アドレス値と、命令に保持された12ビツ
トの変にアドレス]直との和算を言むことがある。
命令解読と命令実行をオーバラノ1させるように設計さ
れたデータ処理システムでは、成る命令がその実行中に
次の命令のアドレス情報として利用される汎用レジスタ
中のデータを変更するような楊弯には性能が低下する(
これは1アドレス発生1ンタロツク”として知られてい
る)。っ1す、 −最初の命令が天けされてし15筐で
、次の命令は解読及びアドレス発生段階に進むことがで
きないので、性能が低下するのであるっ 〔発明の概要〕 本発明は命令解読及び命令央nをオーバラップさせたデ
ータ処理システムの性能を改善するにあたって、アーキ
テクチャや命令セット、オペレーティング・システム、
コンパ1う又は多数の既存プログラムを変更することを
要しない。即ち、予定の命令シーケンスが演出されると
、該シーケンスの第1命令に置き換わるべき置換命令が
発すされ、かくてデータ処理システムの実行ユニットは
この1つの置換命令に応答して元の命令シーケンスによ
って要求されたすべての@牝ヲ遂行するようにされる。
れたデータ処理システムでは、成る命令がその実行中に
次の命令のアドレス情報として利用される汎用レジスタ
中のデータを変更するような楊弯には性能が低下する(
これは1アドレス発生1ンタロツク”として知られてい
る)。っ1す、 −最初の命令が天けされてし15筐で
、次の命令は解読及びアドレス発生段階に進むことがで
きないので、性能が低下するのであるっ 〔発明の概要〕 本発明は命令解読及び命令央nをオーバラップさせたデ
ータ処理システムの性能を改善するにあたって、アーキ
テクチャや命令セット、オペレーティング・システム、
コンパ1う又は多数の既存プログラムを変更することを
要しない。即ち、予定の命令シーケンスが演出されると
、該シーケンスの第1命令に置き換わるべき置換命令が
発すされ、かくてデータ処理システムの実行ユニットは
この1つの置換命令に応答して元の命令シーケンスによ
って要求されたすべての@牝ヲ遂行するようにされる。
命令カウンタは命令バッファから諸命令をアクセスし、
これらの命令を命令バッファへ転きして解読及びアドレ
ス発生のために使用できるようにする。命令シーケンス
検出器は、予定の命令シーケンスの存在を決定するtめ
に、命令バッファに置かれた隣妥命令のOPコード・フ
ィールド及び種々の4ピツト・フィールドを検査する。
これらの命令を命令バッファへ転きして解読及びアドレ
ス発生のために使用できるようにする。命令シーケンス
検出器は、予定の命令シーケンスの存在を決定するtめ
に、命令バッファに置かれた隣妥命令のOPコード・フ
ィールド及び種々の4ピツト・フィールドを検査する。
こノヨうにして予定の命令シーケンスが検出されると、
置換命令発生器へ旧号が与えられ、かくて該発生器は命
令バッファに置かれた当該命令シーケンスの第1命令を
有効に修旧する。置換命令は”擬似命令″を定義する独
特のOPコード・フ1−ル、ドによって識別され、その
OPコードは命令セットのOPコードとは異なるように
される。制御記μs中の71クロプログラムによって制
御されるようす夷ケユニツIf有するデータ処理システ
ムでは、擬似命令の央dを可能にするために適当な71
クロコードをこの制−記lK保持させ、これ全擬似命令
のOPコードでアクセスすることにより、元の命令シー
ケンスによって要求されたすべての機能を遂行するよう
に実行ユニットを訓−することができる。。
置換命令発生器へ旧号が与えられ、かくて該発生器は命
令バッファに置かれた当該命令シーケンスの第1命令を
有効に修旧する。置換命令は”擬似命令″を定義する独
特のOPコード・フ1−ル、ドによって識別され、その
OPコードは命令セットのOPコードとは異なるように
される。制御記μs中の71クロプログラムによって制
御されるようす夷ケユニツIf有するデータ処理システ
ムでは、擬似命令の央dを可能にするために適当な71
クロコードをこの制−記lK保持させ、これ全擬似命令
のOPコードでアクセスすることにより、元の命令シー
ケンスによって要求されたすべての機能を遂行するよう
に実行ユニットを訓−することができる。。
第1図は、代表的な高性能データ6理システムの主要ユ
ニットラブロック形式で示す。図示の如く、主起lはプ
ログラム/データ記は10をきみ、これはそこから以前
に収11jすれたデータ又は命令の高速アクセスt 0
T 能とするために高速バッファ11と協働する。命令
数(支)/解読ユニット12は解読すべき複数の10ダ
ラム命’771kl!前に取出し且つこれらの命令をバ
ッファするとともに、必要な主起准アドレスを発生して
これを実行ユニット13へ供給する。実行ユニット13
は実行すべき各命令を記lする之めのオペレーション・
レジスタ14をきむ。実行ユニット13の一部である利
一部15はオペレーション・レジスタ14に置かれた命
令のOPコード・フィールドに応答し、該命令によって
要求された@能の実行を庁なわしめる。システムのすべ
てのユニットi制舞するために制−信号16が発生され
る。データ又はオペランドは)実行ユニット13と王妃
慮10の間でパス17を介して転送される。米国特許第
4200927号は、第1図に略伝てれているような高
性能データ処理システムを一層詳細に記述している。
ニットラブロック形式で示す。図示の如く、主起lはプ
ログラム/データ記は10をきみ、これはそこから以前
に収11jすれたデータ又は命令の高速アクセスt 0
T 能とするために高速バッファ11と協働する。命令
数(支)/解読ユニット12は解読すべき複数の10ダ
ラム命’771kl!前に取出し且つこれらの命令をバ
ッファするとともに、必要な主起准アドレスを発生して
これを実行ユニット13へ供給する。実行ユニット13
は実行すべき各命令を記lする之めのオペレーション・
レジスタ14をきむ。実行ユニット13の一部である利
一部15はオペレーション・レジスタ14に置かれた命
令のOPコード・フィールドに応答し、該命令によって
要求された@能の実行を庁なわしめる。システムのすべ
てのユニットi制舞するために制−信号16が発生され
る。データ又はオペランドは)実行ユニット13と王妃
慮10の間でパス17を介して転送される。米国特許第
4200927号は、第1図に略伝てれているような高
性能データ処理システムを一層詳細に記述している。
この特許で記述された実行ユニット13は71クログロ
グラム制一式の制画記慮をよみ、該制till記(支)
は実行すべき命令のOPコード・フィールドに応答して
当該命令ヲ火目するためのマ1クロフログラムをアドレ
スする。本発明を実施するためには、米国特許第420
0927号に記述され7を実行ユニット2変形する必要
がある。たとえば、本発明によって発生されるシステム
/370型のOPコードに応答するためのマイクロ命令
を保持するように、その制@l記1iを変形すればよい
。
グラム制一式の制画記慮をよみ、該制till記(支)
は実行すべき命令のOPコード・フィールドに応答して
当該命令ヲ火目するためのマ1クロフログラムをアドレ
スする。本発明を実施するためには、米国特許第420
0927号に記述され7を実行ユニット2変形する必要
がある。たとえば、本発明によって発生されるシステム
/370型のOPコードに応答するためのマイクロ命令
を保持するように、その制@l記1iを変形すればよい
。
第2図ないし第4図は、命令の元収りが第1図の命令@
出/解読ユニット12によって行なわれる如き高性能デ
ータ処理システムで遭遇しうる3樺類の命令バッファリ
ング機購を表わす。
出/解読ユニット12によって行なわれる如き高性能デ
ータ処理システムで遭遇しうる3樺類の命令バッファリ
ング機購を表わす。
第2図には、米国特許第4200927号に記述されて
いるものと同様の命令バッ7ァリング嘱購が図示されて
いる。図示の如く、命令・(ツファは複数のダブルワー
ド・レジスタ18ないし20から成り、該レジスタの各
々はそれぞれ4つの)・−フワード・セクション21
’frU;tr。IBMシステム/370のために定義
され之命令は1ないし6ハーフワードの長さt訂し、1
九8ピットのOPコード・フィールドは−・−フワード
の境界に置かれていなければならない。命令カウンタ2
2は一連のゲニト23を順欠に付能比するが、これは次
の鮪会を命令レジスタ24ヘゲートしてその解読全行な
わしめるとともに、第1図の命令吹出/解読ユニット1
2でアドレス発生を行なわしめるためである。オペレー
ション・レジスタ14は、第1図の央酊ユニット15で
諸命分が実行されている間に命令レジスタ14からの鮪
今ヲ受収る。
いるものと同様の命令バッ7ァリング嘱購が図示されて
いる。図示の如く、命令・(ツファは複数のダブルワー
ド・レジスタ18ないし20から成り、該レジスタの各
々はそれぞれ4つの)・−フワード・セクション21
’frU;tr。IBMシステム/370のために定義
され之命令は1ないし6ハーフワードの長さt訂し、1
九8ピットのOPコード・フィールドは−・−フワード
の境界に置かれていなければならない。命令カウンタ2
2は一連のゲニト23を順欠に付能比するが、これは次
の鮪会を命令レジスタ24ヘゲートしてその解読全行な
わしめるとともに、第1図の命令吹出/解読ユニット1
2でアドレス発生を行なわしめるためである。オペレー
ション・レジスタ14は、第1図の央酊ユニット15で
諸命分が実行されている間に命令レジスタ14からの鮪
今ヲ受収る。
酷今の実行及び解読がオーバラッグされているために、
オペレーション・レジスタ14は実行中の命令を記lし
、命令レジスタ24は命令解読及びアドレス発生段1@
のための次の麦続除骨を配慮し、命令カウンタ22は命
令バッファ・レジスタ18ないし20の4Eなハーフワ
ード・セクション21から次の命合金ゲートする準Jを
行なうために蛸令しンスタ24中の照性の長さに従って
インクレメントされるのである。命令バッファ・レジス
タ18ないし20のいずれかから諸命令が転送されて該
命令バッファ・レジスタが空になると、第1図の照会喉
出/解読ユニット12は主起は10へのアクセスを開始
さぞ、かくて諸ダブルワードの命令情報を記lバス25
を介して命令バッファ・レジスタ18ないし20cDい
ずれかへロードさせる。
オペレーション・レジスタ14は実行中の命令を記lし
、命令レジスタ24は命令解読及びアドレス発生段1@
のための次の麦続除骨を配慮し、命令カウンタ22は命
令バッファ・レジスタ18ないし20の4Eなハーフワ
ード・セクション21から次の命合金ゲートする準Jを
行なうために蛸令しンスタ24中の照性の長さに従って
インクレメントされるのである。命令バッファ・レジス
タ18ないし20のいずれかから諸命令が転送されて該
命令バッファ・レジスタが空になると、第1図の照会喉
出/解読ユニット12は主起は10へのアクセスを開始
さぞ、かくて諸ダブルワードの命令情報を記lバス25
を介して命令バッファ・レジスタ18ないし20cDい
ずれかへロードさせる。
前述の自省バッファリング機購は既存のものであるが、
この@溝に追OOされる本癒明はシーケンス選択器26
、面金シーケンス検出器27及び置換命令発生器28に
よって表ゎさrる〇4己はバス25をQして命令バッフ
ァ・レジスタ18ないし20のいずれかへ諸ダブルワー
ドが転送され、また@令カウンタ22の順序づけに従っ
て諸命舎が命令レジスタ24へ転送される場合、シーケ
ンス選択器26は一連のゲート29を順次に付能比する
ことにより、2つの隣接する命令の少くともOPコード
を@I30及び31を介して命令シーケンス検出427
へ転送させる。置換照会発生器28は所与の置換面会の
少くともoPコードを、線36及びシーケンス選択器2
6の制−下にある一連のゲート34 (iqして、命0
バッファ・レジスタ18ないし2oのいずれかの適旧な
位置へ転送させる。この置換命令は、命令シーケンス演
出器27によって検出された当該酪省シーケンスの最初
の自會に置き換わる。
この@溝に追OOされる本癒明はシーケンス選択器26
、面金シーケンス検出器27及び置換命令発生器28に
よって表ゎさrる〇4己はバス25をQして命令バッフ
ァ・レジスタ18ないし20のいずれかへ諸ダブルワー
ドが転送され、また@令カウンタ22の順序づけに従っ
て諸命舎が命令レジスタ24へ転送される場合、シーケ
ンス選択器26は一連のゲート29を順次に付能比する
ことにより、2つの隣接する命令の少くともOPコード
を@I30及び31を介して命令シーケンス検出427
へ転送させる。置換照会発生器28は所与の置換面会の
少くともoPコードを、線36及びシーケンス選択器2
6の制−下にある一連のゲート34 (iqして、命0
バッファ・レジスタ18ないし2oのいずれかの適旧な
位置へ転送させる。この置換命令は、命令シーケンス演
出器27によって検出された当該酪省シーケンスの最初
の自會に置き換わる。
諸命貧がオペレーション・レジスタ14がら4行され、
そして酪金レジスタ24で解読される場合、命令カウン
タ22はこの置換命令を命令バッファから命令レジスタ
24へ転送させ、さらにオペレーションΦレジスタ14
へと転送させる。オペレーション・レジスタ14に置か
れたこの置喚命宕を、第1図の実行ユニット130制鐸
部15からアクセスされた適正な71クログログラムで
実行することにより、面会シーケンス選択器27によっ
て検出だれた当該命やシーケンスが要求する処のすべて
の機能を遂酊することができる。
そして酪金レジスタ24で解読される場合、命令カウン
タ22はこの置換命令を命令バッファから命令レジスタ
24へ転送させ、さらにオペレーションΦレジスタ14
へと転送させる。オペレーション・レジスタ14に置か
れたこの置喚命宕を、第1図の実行ユニット130制鐸
部15からアクセスされた適正な71クログログラムで
実行することにより、面会シーケンス選択器27によっ
て検出だれた当該命やシーケンスが要求する処のすべて
の機能を遂酊することができる。
第3図には、他の形式の自省バッファリング機購が図示
ざ扛ている。この礪購は配慮バス25によみ、ざらに第
2図のものと同様に購成された命令バッファ35を富む
。第2図に図示された複雑なゲート礪購は、所与の@舎
シーケンスにおける2つ以上の面会を命令シーケンス検
出427で検査することTh0TRUにする。これに対
し、第3図のものは間中ではあるが制限されたシーケン
ス検出@溝を調えていて、2没の命令レジスタ36及び
57中の命令について動作する。即ち、命舎シーケンス
倹田器27及び置換命令発生器28は、命やレジスタ3
6及び37の内容を検査することができるにすぎ゛ない
。予定の2酪當シーケンスが検出される場廿、経@38
を介してオペレーション・レジスタ14へ置換@分が転
送される。この経絡38は命令レジスタ36及び37の
内容τクリアするためにも開用される。予定の命分シー
ケンス全Ffl出しない場廿には、オペレーション・レ
ジスタ14は面金レジスタ36の内d全経路39を倉し
て受暇る。
ざ扛ている。この礪購は配慮バス25によみ、ざらに第
2図のものと同様に購成された命令バッファ35を富む
。第2図に図示された複雑なゲート礪購は、所与の@舎
シーケンスにおける2つ以上の面会を命令シーケンス検
出427で検査することTh0TRUにする。これに対
し、第3図のものは間中ではあるが制限されたシーケン
ス検出@溝を調えていて、2没の命令レジスタ36及び
57中の命令について動作する。即ち、命舎シーケンス
倹田器27及び置換命令発生器28は、命やレジスタ3
6及び37の内容を検査することができるにすぎ゛ない
。予定の2酪當シーケンスが検出される場廿、経@38
を介してオペレーション・レジスタ14へ置換@分が転
送される。この経絡38は命令レジスタ36及び37の
内容τクリアするためにも開用される。予定の命分シー
ケンス全Ffl出しない場廿には、オペレーション・レ
ジスタ14は面金レジスタ36の内d全経路39を倉し
て受暇る。
第3図に図示された2段の命令レジスタ36及び37は
n”l[iilのルジスタヘー膜化することができるが
、その場片にはスタックとして扱うことができるので、
命令バッファ350代わりに使用されることになろう。
n”l[iilのルジスタヘー膜化することができるが
、その場片にはスタックとして扱うことができるので、
命令バッファ350代わりに使用されることになろう。
第4図にはこのような購成が図示されており、その命令
シーケンス噴出器27及び置換除骨発生器28は命令レ
ジスタ40及び41に6答し且つ該レジスタに作用する
ように図示されている。前記と同様に、置換命賓を命令
レジスタ41へ転送すると、命令レジスタ40がクリア
される。この−膜化され7t+溝成では、3つ以上の命
令を検査することができる。
シーケンス噴出器27及び置換除骨発生器28は命令レ
ジスタ40及び41に6答し且つ該レジスタに作用する
ように図示されている。前記と同様に、置換命賓を命令
レジスタ41へ転送すると、命令レジスタ40がクリア
される。この−膜化され7t+溝成では、3つ以上の命
令を検査することができる。
欠に、¥f定の例に暴いて本発明の詳細な説明する。1
つの汎用レジスタを必要とするにすぎないようなIBM
システム/370の除骨対、即ちRX杉式の「ロード(
L)J砧会及びRR杉式の「ロード・テスト(LTR)
」i分の幻が以下に水ざnる。
つの汎用レジスタを必要とするにすぎないようなIBM
システム/370の除骨対、即ちRX杉式の「ロード(
L)J砧会及びRR杉式の「ロード・テスト(LTR)
」i分の幻が以下に水ざnる。
L 5、1直3
LTR5,5
一般に、このMe幻は所与のブランチ命令に先行して置
かれるが、これは所与のデータ項目の符号をテストし且
つその内容に応じてブランチehなわしめるためである
。″′1直3#として表わされたアドレスで臥て主記憶
10をアドレスする前記の[ロード(L ) J ff
i省は、条件コードをセットしない。1だ、RX杉式の
「ロード・テスト」命令は存在しない。
かれるが、これは所与のデータ項目の符号をテストし且
つその内容に応じてブランチehなわしめるためである
。″′1直3#として表わされたアドレスで臥て主記憶
10をアドレスする前記の[ロード(L ) J ff
i省は、条件コードをセットしない。1だ、RX杉式の
「ロード・テスト」命令は存在しない。
説明の便宜上、所与の命やバッファがこの砧会シーケン
スを次のように保持するものと仮定する。
スを次のように保持するものと仮定する。
÷ 1 L 4、 (直 1す2 A
4、直2 φ38T4、和 す4 L 5、値3 す5 LTR5,5 す6 BC目標 これらの酪舎は参照を鎚にするためラベルシナ1ないし
す6を与えられており、ま之プログラマによって誓かれ
るような簡略OPコード(友とえば、ST=記は)及び
記号による主起lアドレス(7′cとえば、相)で表わ
δれている。主記憶10におけるこれらの命令の1メー
ジは、OPコード及びオペランドの位置2表わす処の1
6進デ1ジツトから成る。16進表記法では、この面会
シーケンスは次のように表わされうる。
4、直2 φ38T4、和 す4 L 5、値3 す5 LTR5,5 す6 BC目標 これらの酪舎は参照を鎚にするためラベルシナ1ないし
す6を与えられており、ま之プログラマによって誓かれ
るような簡略OPコード(友とえば、ST=記は)及び
記号による主起lアドレス(7′cとえば、相)で表わ
δれている。主記憶10におけるこれらの命令の1メー
ジは、OPコード及びオペランドの位置2表わす処の1
6進デ1ジツトから成る。16進表記法では、この面会
シーケンスは次のように表わされうる。
ナ1 5840A124
す2 5A710A2D4
す3 5040A138
す4 5850A8CC
す5 1255
す6 4780AOFO
これらの命令は主起は10中で次のように直線的に現わ
れる。
れる。
−−−5840AI245A4QAZ)4504QA1
38585QA8CC1255478nAOFD ・・
ΦIBMシステム/370のアーキテクチャによれば、
16進数00ないし3FのOPコードを胃するすべての
f、?、 @は2バイト長であり、16進数40ないし
7FのOPコードを仔するナベでの節分は4バ1ト長で
あり、16進数80ないしFFのOPコード?![する
すべての酪貧は6バ1ト長でめる。酪脅す1が実行中で
ある楊汁、ぞのM置は知られている。!た当該8会バッ
ファの内容は個別的な照会イメージへ分解することがで
きる。
38585QA8CC1255478nAOFD ・・
ΦIBMシステム/370のアーキテクチャによれば、
16進数00ないし3FのOPコードを胃するすべての
f、?、 @は2バイト長であり、16進数40ないし
7FのOPコードを仔するナベでの節分は4バ1ト長で
あり、16進数80ないしFFのOPコード?![する
すべての酪貧は6バ1ト長でめる。酪脅す1が実行中で
ある楊汁、ぞのM置は知られている。!た当該8会バッ
ファの内容は個別的な照会イメージへ分解することがで
きる。
これらの命令1メージ會示すために、取下では各OPコ
ードの最初の16進デ1ジツトに下線が付されている。
ードの最初の16進デ1ジツトに下線が付されている。
一−−5840A124pA4QA2)4504[lA
l38585QA80C125547BOAOF1]−
−−第1図の央0ユニット13が@舎す1を央汀してい
る間、面会シーケンス演出器27は命令バッファに保持
されたすべての後続@舎を検査する。
l38585QA80C125547BOAOF1]−
−−第1図の央0ユニット13が@舎す1を央汀してい
る間、面会シーケンス演出器27は命令バッファに保持
されたすべての後続@舎を検査する。
つまシ、命令シーケンス噴出器27は「ロード(L)」
酪貧及び「ロード・テスト(LTR)J命令のv日き予
定の命や対のシーケンスが存在するか否かを検査するの
である。また、このような命令幻に遭遇しt場合、「ロ
ードCL)J命令のR1フィールドで指定されに汎用レ
ジスタが「ロード・テスト(LTR)J酪貧のR1及び
R2フ1−ルドで指定さ扛た汎用レジスタと同じである
が否かを決定することが必要である。こ往らのテストは
同時に遂行されうる。両テストに合格した楊廿、擬似O
Pコードを有する「ロード・テスト(LT)J置換除骨
が、け貧バッファ中の「口〜ド(L)Jffi会及び[
ロード・テスト(LTR)Jfiff分の灯に置き換わ
る。
酪貧及び「ロード・テスト(LTR)J命令のv日き予
定の命や対のシーケンスが存在するか否かを検査するの
である。また、このような命令幻に遭遇しt場合、「ロ
ードCL)J命令のR1フィールドで指定されに汎用レ
ジスタが「ロード・テスト(LTR)J酪貧のR1及び
R2フ1−ルドで指定さ扛た汎用レジスタと同じである
が否かを決定することが必要である。こ往らのテストは
同時に遂行されうる。両テストに合格した楊廿、擬似O
Pコードを有する「ロード・テスト(LT)J置換除骨
が、け貧バッファ中の「口〜ド(L)Jffi会及び[
ロード・テスト(LTR)Jfiff分の灯に置き換わ
る。
この置換は次のような幾つかの方法で行うことができる
。
。
第1方法:「ロード(L〕」命@を4バ1ト長の擬似O
PコードLTで直きかえ、そして[ロード・テスト(L
TR)Jfff会Thオール・ゼロのフィールドを有す
る「条件ブランチ(BCR)1m省の如き2パ1トのノ
ー・オペレーションlで置き換える。
PコードLTで直きかえ、そして[ロード・テスト(L
TR)Jfff会Thオール・ゼロのフィールドを有す
る「条件ブランチ(BCR)1m省の如き2パ1トのノ
ー・オペレーションlで置き換える。
第2方法:「ロード〔L〕」命や全6パ1ト長の擬似O
PコードLTで置き換える。
PコードLTで置き換える。
第3方法=[ロード(L ) J @@k 4バ1ト長
の擬似OPコードLTで置キ換え、[ロード・テスi
(L T R) J 鮪@’roll除するとともに、
当該ギャップの1間隔をつめる″ように命竹バッファの
内容を操作する。
の擬似OPコードLTで置キ換え、[ロード・テスi
(L T R) J 鮪@’roll除するとともに、
当該ギャップの1間隔をつめる″ように命竹バッファの
内容を操作する。
これらの方法のうちどnを選択Tるかは、・・−ドウエ
アの詳細設計を行なう伏術者に任される。
アの詳細設計を行なう伏術者に任される。
第2方伝は蘭学で、殆んどの状況金取扱うことができる
ばかりか、回路醪成も安師である。このため、は下では
この第2方法を説明する。
ばかりか、回路醪成も安師である。このため、は下では
この第2方法を説明する。
以下に示した酪今ストIJ−ムの16進表記の下部には
、記号マスクが付されている。α字v−ラ成るマスクの
181S分は、冷性1メージとマスクの比較が行なわ扛
ることt示す。等号に)から成るマスクの部分は、指示
された16進デ1ジツトの直が電要でないことkmす。
、記号マスクが付されている。α字v−ラ成るマスクの
181S分は、冷性1メージとマスクの比較が行なわ扛
ることt示す。等号に)から成るマスクの部分は、指示
された16進デ1ジツトの直が電要でないことkmす。
このテストは、これらがすべて同じディノットであるか
否かを決定するためのものである。図式的に説明すれば
、このプロセスは矢のように進行する。
否かを決定するためのものである。図式的に説明すれば
、このプロセスは矢のように進行する。
雲 L 背 ← ・ ・
第5図は、「ロード・テスト(LT)J置換a金を作成
するための諸条件を示す論理表示である。
するための諸条件を示す論理表示である。
照会シーケンス検出器27の検査論理はoPコード・マ
スク42及び43?富み、前者は第1砒貧のopコード
・フ1−ルド45が16進呟58(ロード: L)k有
するときAND回路44へ出力信号を供給し、後者は第
2命舎のoPコード・フ1−ルド46が16進1直12
(ロード・テスト:LTR)を有するときAND回路4
4へ出カ河号を供給する。この特定の状況では、一致論
理47は、第1命令のR1フ1−ルド48と第2@令の
R1フ1−ルド49及びR2フ1−ルド5oとがすべて
等しいことを決定する。この場合、AND回路44は出
力旧号51を供給し、かくて予定の砧省シーケンスが検
出されたことを指示する。この出力ぼ号51に6答して
、パロード・テスト“発生器52は擬似OPコードC8
i線56を今して第1酪今のOPコード・フ1−ルド4
5へ転送する。この擬似OPコードc8が実行のために
解読される場合、これは6ハーフワード長のものとして
検出される。第1図の部分カウンタ22は3ハーフワー
ド外だけステップされ、かくて命令バッファに元々保持
されていた第2命令の「ロード・テスト(LTR)」吊
金の位置をスキッ77る。
スク42及び43?富み、前者は第1砒貧のopコード
・フ1−ルド45が16進呟58(ロード: L)k有
するときAND回路44へ出力信号を供給し、後者は第
2命舎のoPコード・フ1−ルド46が16進1直12
(ロード・テスト:LTR)を有するときAND回路4
4へ出カ河号を供給する。この特定の状況では、一致論
理47は、第1命令のR1フ1−ルド48と第2@令の
R1フ1−ルド49及びR2フ1−ルド5oとがすべて
等しいことを決定する。この場合、AND回路44は出
力旧号51を供給し、かくて予定の砧省シーケンスが検
出されたことを指示する。この出力ぼ号51に6答して
、パロード・テスト“発生器52は擬似OPコードC8
i線56を今して第1酪今のOPコード・フ1−ルド4
5へ転送する。この擬似OPコードc8が実行のために
解読される場合、これは6ハーフワード長のものとして
検出される。第1図の部分カウンタ22は3ハーフワー
ド外だけステップされ、かくて命令バッファに元々保持
されていた第2命令の「ロード・テスト(LTR)」吊
金の位置をスキッ77る。
第1図に図示された曳行ユニット13の71クロフ゛ロ
グラム弐劃画部15は適正にフ”ログラムされており、
擬似OPコードC8Uこの71クロプログラムをアクセ
スすることができる。この71クロプログラムは元の「
ロード(L)」1合によってアドレスされるオペランド
のために主記憶10をアクセスし、これを汎用レジスタ
÷5に記憶し、符号とサンプルし、そして条件コードを
セットする。峻険の2ステツグは、「ロード・テスト(
LTR)J+@’dによって元々遂行されていたもので
ある。
グラム弐劃画部15は適正にフ”ログラムされており、
擬似OPコードC8Uこの71クロプログラムをアクセ
スすることができる。この71クロプログラムは元の「
ロード(L)」1合によってアドレスされるオペランド
のために主記憶10をアクセスし、これを汎用レジスタ
÷5に記憶し、符号とサンプルし、そして条件コードを
セットする。峻険の2ステツグは、「ロード・テスト(
LTR)J+@’dによって元々遂行されていたもので
ある。
本発明が有する処の重要な利点は、種々の命省オーバラ
ツ1方式によっては達成できない。かがる命令オーパン
ツブ方式によって得られる性能は、1アドレス発生17
タロツク”が生ずることによって低下することになるか
らである。この17ドレス発生1ンタロツク”が生ずる
のは、所与の命令によって変更されるような汎用レジス
タが後続冷やによって指標又は基底レジスタとして便用
される場合である。本発明は、このような“アドレス発
生インタロック”によっては妨害を受けないっここで注
意すべきは、命やオーパララフ方式と本発明は相いれぬ
ものではなく、両者は同一の10tツサで火砲しうると
いうことである。
ツ1方式によっては達成できない。かがる命令オーパン
ツブ方式によって得られる性能は、1アドレス発生17
タロツク”が生ずることによって低下することになるか
らである。この17ドレス発生1ンタロツク”が生ずる
のは、所与の命令によって変更されるような汎用レジス
タが後続冷やによって指標又は基底レジスタとして便用
される場合である。本発明は、このような“アドレス発
生インタロック”によっては妨害を受けないっここで注
意すべきは、命やオーパララフ方式と本発明は相いれぬ
ものではなく、両者は同一の10tツサで火砲しうると
いうことである。
”アドレス発生インタロック”の問題は、μ下の代表的
な命@灯の列に見出される。
な命@灯の列に見出される。
ナ11 L 5,4(2,9)引αのアドレス
をピック・アラブナ12 L 5,0(0,5)引
数の1直をビック・アップこれらの2命令は”ロード開
用”吋と呼ばれるつというのは、命令◆11は汎用レジ
スタナ5にロードし、そして命やす12は有効アドレス
を計算するために汎用レジスタナ5を使用するからであ
ろう有効アドレスは、当該命合の変fi(B2)フィー
ルドと、ゼロ?除く指標(X2)フィールドによって指
定され九九用レジスタの内容と、ゼロを除く基底(B2
)フィールドによって指定された汎用レジスタの内容と
の和である。こnらの加算は、プロセッサ中の5人力加
算器によって遂行される。オーバラッグされ之命@天行
と行なうプロセッサでは、酷省す11及びlす12の如
き照会幻は“アドレス発生17タロツク”による遅延を
こうむる。汎用レンスタナ5は、0口算器が8舎す12
のためのアドレス計算?遂行しうる前に、有効でなけれ
ばならない。命令す11及びす12のたメニ示された前
記の直については、命令す12の変tXf、(B2)フ
ィールド及び指標〔X2〕フ1−ルドがともにゼロであ
るという理由で、有効アドレスはff?i分す11によ
って取出されるワードと同じになる。第2の「ロード(
L ) J 命令における基底アドレスのために1吏用
される汎用レジスタは、該アドレスが指標(X2)フィ
ールド又は変位(B2)71−ルドによって修旧されな
ければ、第1の「ロード(L)」ff、省によってロー
ドされる汎用レジスタと同じものである。命令シーケン
ス検出器27はこのような状況を検出し、これを有利に
使用することができる。ともに「ロード(L)」命令で
ある6fi舎す11及びφ12の幻は、置換@分の擬似
OPコード「@綴ロート・」によって置換される。この
擬似OPコードは実行ユニット16の制両部15から7
1クロプログラムをアクセスし、かくて第1図の高速バ
ッファ11に2重覗出しを行なわしめる。即ち、第1の
「ロード(L)」翁今によってアドレスされた第1ワー
ド?@出し、そしてこのワード金弟2の「ロード(L
) J fr?;今によって要求された第2暇出しのア
ドレスとして直ちに使用するのである。
をピック・アラブナ12 L 5,0(0,5)引
数の1直をビック・アップこれらの2命令は”ロード開
用”吋と呼ばれるつというのは、命令◆11は汎用レジ
スタナ5にロードし、そして命やす12は有効アドレス
を計算するために汎用レジスタナ5を使用するからであ
ろう有効アドレスは、当該命合の変fi(B2)フィー
ルドと、ゼロ?除く指標(X2)フィールドによって指
定され九九用レジスタの内容と、ゼロを除く基底(B2
)フィールドによって指定された汎用レジスタの内容と
の和である。こnらの加算は、プロセッサ中の5人力加
算器によって遂行される。オーバラッグされ之命@天行
と行なうプロセッサでは、酷省す11及びlす12の如
き照会幻は“アドレス発生17タロツク”による遅延を
こうむる。汎用レンスタナ5は、0口算器が8舎す12
のためのアドレス計算?遂行しうる前に、有効でなけれ
ばならない。命令す11及びす12のたメニ示された前
記の直については、命令す12の変tXf、(B2)フ
ィールド及び指標〔X2〕フ1−ルドがともにゼロであ
るという理由で、有効アドレスはff?i分す11によ
って取出されるワードと同じになる。第2の「ロード(
L ) J 命令における基底アドレスのために1吏用
される汎用レジスタは、該アドレスが指標(X2)フィ
ールド又は変位(B2)71−ルドによって修旧されな
ければ、第1の「ロード(L)」ff、省によってロー
ドされる汎用レジスタと同じものである。命令シーケン
ス検出器27はこのような状況を検出し、これを有利に
使用することができる。ともに「ロード(L)」命令で
ある6fi舎す11及びφ12の幻は、置換@分の擬似
OPコード「@綴ロート・」によって置換される。この
擬似OPコードは実行ユニット16の制両部15から7
1クロプログラムをアクセスし、かくて第1図の高速バ
ッファ11に2重覗出しを行なわしめる。即ち、第1の
「ロード(L)」翁今によってアドレスされた第1ワー
ド?@出し、そしてこのワード金弟2の「ロード(L
) J fr?;今によって要求された第2暇出しのア
ドレスとして直ちに使用するのである。
第6図はかかる機能の論理を示し、これは「間接ロード
」を指示する処の擬似OPコードを有する置換命令を作
成するためのものである。第1の「ロード(L)」命令
のOPコード・フィールド54は、該命令のR1フ1−
ルド55によって指定され之汎用レジスタが上記(支)
アドレスからのオペランドを受取ることkrr<すつこ
の王妃lアドレスは、B2フ(−/リド56によって指
定された汎用レジスタの内容と1.X2)1−ルド57
によつて指定された汎用レジスタの内容と、B2フィー
ルド58とfrbnltすることによって発生される。
」を指示する処の擬似OPコードを有する置換命令を作
成するためのものである。第1の「ロード(L)」命令
のOPコード・フィールド54は、該命令のR1フ1−
ルド55によって指定され之汎用レジスタが上記(支)
アドレスからのオペランドを受取ることkrr<すつこ
の王妃lアドレスは、B2フ(−/リド56によって指
定された汎用レジスタの内容と1.X2)1−ルド57
によつて指定された汎用レジスタの内容と、B2フィー
ルド58とfrbnltすることによって発生される。
第2の「ロード(L)」防合のOPコード・フィールド
59は、R1フ1−ルド60によって指定された汎用レ
ジスタが主起はアドレスからのオペランド金受叡ること
?示す。この主起はアドレスは、X2フ1−ルド61に
よって指定された汎用レジスタの内容と、B2フ1−ル
ド62によって指定された汎用レジスタの内容と、D2
フ1−ルド63とktJl]算することによって発生さ
れる。
59は、R1フ1−ルド60によって指定された汎用レ
ジスタが主起はアドレスからのオペランド金受叡ること
?示す。この主起はアドレスは、X2フ1−ルド61に
よって指定された汎用レジスタの内容と、B2フ1−ル
ド62によって指定された汎用レジスタの内容と、D2
フ1−ルド63とktJl]算することによって発生さ
れる。
命やシーケンス検出器27の検査論理は、シーケンスを
なす第1及び第2の「ロード(L)」命令を検出するた
めのOPコード・マスク64及び65をきむ。「間接ロ
ード」シーケンスを検出するための他の条件はゼロ検出
論理66によって与えられ、該論理は第2の「ロード(
L)」命令に対するアドレス発生段階がB2フィールド
62によって指定された汎用レジスタの内容(基底アド
レス)だけを必要とするということを決定する。
なす第1及び第2の「ロード(L)」命令を検出するた
めのOPコード・マスク64及び65をきむ。「間接ロ
ード」シーケンスを検出するための他の条件はゼロ検出
論理66によって与えられ、該論理は第2の「ロード(
L)」命令に対するアドレス発生段階がB2フィールド
62によって指定された汎用レジスタの内容(基底アド
レス)だけを必要とするということを決定する。
Mlの÷件は一致論理67によって与えられ、該論理は
フィールド55.60及び62によって指定された汎用
レジスタが同じであるということ全決定する。これらの
すべての条件が満足されt場合、AND回路68は用力
漕号69を供給することにより、予定シーケンスの8会
が検出されたことを示す。この出力信号69に応答して
、゛間凝ロード発生器70は擬似oPコード金線71を
介してOPコード・フィールド54へ転送し、かくて置
換命令である「間接ロード」命令1に作成する。即ち、
「間原ロード」ftJ令の擬似oPコードが第1の「ロ
ード(L)」命令のoPコード・フィールド54へ転送
すれるのである。
フィールド55.60及び62によって指定された汎用
レジスタが同じであるということ全決定する。これらの
すべての条件が満足されt場合、AND回路68は用力
漕号69を供給することにより、予定シーケンスの8会
が検出されたことを示す。この出力信号69に応答して
、゛間凝ロード発生器70は擬似oPコード金線71を
介してOPコード・フィールド54へ転送し、かくて置
換命令である「間接ロード」命令1に作成する。即ち、
「間原ロード」ftJ令の擬似oPコードが第1の「ロ
ード(L)」命令のoPコード・フィールド54へ転送
すれるのである。
IBMシステム/370の命令形式は、4ハーフワード
の命令形式?指定するよりなoPコードを含んでいない
。従って、置換命令である「間接ロード」命令の擬似o
Pコードは2ハーフワードの酷骨ヲ指示するように符号
化されるので、命令カウンタ22は第2の「ロード(L
〕」命令のOPコード・フィールド59をアクセスすべ
く2ハ一フワード分だけ1ンクレメ゛ントされる。まえ
、第2の「ロード(L)Jffff令の実行を防止する
ため、置換詰合発生器28は1条件ブランチ”発生器7
2を含み、該手段は出力旧号69に応答して第2のロー
ド品省に対する置換絡合を線73を介して転送する。望
まれる帖果は、実行ユニット16によっていかなる@q
目も遂行さ扛ないように“ノー・オペレーション#を指
示することである。
の命令形式?指定するよりなoPコードを含んでいない
。従って、置換命令である「間接ロード」命令の擬似o
Pコードは2ハーフワードの酷骨ヲ指示するように符号
化されるので、命令カウンタ22は第2の「ロード(L
〕」命令のOPコード・フィールド59をアクセスすべ
く2ハ一フワード分だけ1ンクレメ゛ントされる。まえ
、第2の「ロード(L)Jffff令の実行を防止する
ため、置換詰合発生器28は1条件ブランチ”発生器7
2を含み、該手段は出力旧号69に応答して第2のロー
ド品省に対する置換絡合を線73を介して転送する。望
まれる帖果は、実行ユニット16によっていかなる@q
目も遂行さ扛ないように“ノー・オペレーション#を指
示することである。
IBMシステム/67oの「条件ブランチ(BCR)J
命令に16進数00(オール・ゼロ)のマスクを与える
と、これはシステム/670のすべてのプロセッサによ
ってノー・オペレーション除骨として解釈される。かく
て、第2の「ロード(L ) J 命令はこのような「
条件ブランチ(BCR) J命令によって置換される。
命令に16進数00(オール・ゼロ)のマスクを与える
と、これはシステム/670のすべてのプロセッサによ
ってノー・オペレーション除骨として解釈される。かく
て、第2の「ロード(L ) J 命令はこのような「
条件ブランチ(BCR) J命令によって置換される。
ここで)次のよりな命令対について考えることにする。
$21 L 5,6(7,8) 目標の
アドレスをピック・アツフ。
アドレスをピック・アツフ。
$22 BCRF、5 目標への無条件ブ
ランチこの除今幻は前記の命省吋す11及び÷12の幻
に似ている。この命令対も筐た“アドレス発生17タロ
ツク”による遅延をこうむる。「条件ブランチ(BCR
)J命令である命令÷22はアドレス計算を行なわない
けれども、該命令は汎用レジスタナ5が有効になる1で
第1図の高速バッファ11へ収出要求を送ることができ
ない。また、この66のマスクは′F”(オール1)で
あるから、IIVCブランチが行なわれる。命令収出し
は、条件コードとは関係なく、「ロード(L〕」冷性で
ある冷令す21によって取出され九アドレスについて行
なわれる。これは前記しt間接アドレッシングの変形で
ある。命令シーケンス検出器27はこの状況を認識し、
傘令す21及びす22の幻e擬似opコード「ロード・
ブランチ」で置換する。つまり、第1の[ロード(L]
」命令によってアクセスされたデータは直ちに新しい命
令をアクセスするための主起1アドレスとして開用され
、そして第1図の命令カウンタ22に記はされるのであ
る。
ランチこの除今幻は前記の命省吋す11及び÷12の幻
に似ている。この命令対も筐た“アドレス発生17タロ
ツク”による遅延をこうむる。「条件ブランチ(BCR
)J命令である命令÷22はアドレス計算を行なわない
けれども、該命令は汎用レジスタナ5が有効になる1で
第1図の高速バッファ11へ収出要求を送ることができ
ない。また、この66のマスクは′F”(オール1)で
あるから、IIVCブランチが行なわれる。命令収出し
は、条件コードとは関係なく、「ロード(L〕」冷性で
ある冷令す21によって取出され九アドレスについて行
なわれる。これは前記しt間接アドレッシングの変形で
ある。命令シーケンス検出器27はこの状況を認識し、
傘令す21及びす22の幻e擬似opコード「ロード・
ブランチ」で置換する。つまり、第1の[ロード(L]
」命令によってアクセスされたデータは直ちに新しい命
令をアクセスするための主起1アドレスとして開用され
、そして第1図の命令カウンタ22に記はされるのであ
る。
第7図は命令シーケンス検出器27の論理を承す。この
論理は予定シーケンスの命令を検出し、「ロード・ブラ
ンチ」置換命脅乞指示する擬似OPコードを発生し、こ
れを@74を介して該シーケンス中にある第1の[ロー
ド(L)J#OのOPコード・フ1−ルド75へ転送す
る。AND回路76Fi、出力H号77を供給して60
−ド・ブランチ”発生器78を付能比する。AND回路
76は、OPコード・マスク79及び8o1「条件ブ、
yンチ(BCR)Jm令のマスク・フ1−ルド82が1
6進数F(オール1)であることkrsすマスク論理8
1、汎用レジスタを指定するR1フ1−ルド84及びR
2フ1−ルド85が等しいことを示す一致論理83から
の出力をそれぞれ受喉る。
論理は予定シーケンスの命令を検出し、「ロード・ブラ
ンチ」置換命脅乞指示する擬似OPコードを発生し、こ
れを@74を介して該シーケンス中にある第1の[ロー
ド(L)J#OのOPコード・フ1−ルド75へ転送す
る。AND回路76Fi、出力H号77を供給して60
−ド・ブランチ”発生器78を付能比する。AND回路
76は、OPコード・マスク79及び8o1「条件ブ、
yンチ(BCR)Jm令のマスク・フ1−ルド82が1
6進数F(オール1)であることkrsすマスク論理8
1、汎用レジスタを指定するR1フ1−ルド84及びR
2フ1−ルド85が等しいことを示す一致論理83から
の出力をそれぞれ受喉る。
前記した3種類の自合シーケンスは過去に磐かれた7o
グラムで出現する頻度が高いものであシ、そして前述の
論理はこれらの除骨シーケンスを命令バッファ@購内で
検出するのに適している。前記命令シーケンスのいずれ
かが出現したときに出力信号を発生し、これに応じて当
該シーケンスの第1命令に対する置換命令を発生してそ
の実行を開始することにより、μ前には当該命令シーケ
ンスの全体で達成されていた機能を1つの命令だけで行
なうことができる。もちろん、出現頻度の高い池の命令
シーケンスもありうるが、これらの命令シーケンスを前
記と同様の論理で検査して他の置換・命令を作成しうる
ことは当業者にとっては明らかであろう。このことは3
μ上の命令から成るシーケンスについても同様である。
グラムで出現する頻度が高いものであシ、そして前述の
論理はこれらの除骨シーケンスを命令バッファ@購内で
検出するのに適している。前記命令シーケンスのいずれ
かが出現したときに出力信号を発生し、これに応じて当
該シーケンスの第1命令に対する置換命令を発生してそ
の実行を開始することにより、μ前には当該命令シーケ
ンスの全体で達成されていた機能を1つの命令だけで行
なうことができる。もちろん、出現頻度の高い池の命令
シーケンスもありうるが、これらの命令シーケンスを前
記と同様の論理で検査して他の置換・命令を作成しうる
ことは当業者にとっては明らかであろう。このことは3
μ上の命令から成るシーケンスについても同様である。
第1図はデータ処@システムの主要1!!ticユニツ
トを示すブロック図、第2図は暁存の命令バッファ@溝
に設けられた本発明の命令シーケンス噴出器及び置換命
令発生器の陸続様式を示すブロック図、第5図は他の形
式の命令バッファ@酵に設けられた本発明の命令シーケ
ンス演出器及び置換命令発生器の接続様式を示すブロッ
ク図、第4図は他の形式の命令バッファ@溝に設けられ
た本発明の命令シーケンス険1155及び置換命令発生
器の接続様式を示すブロック図、第5図は予定の命令シ
ーケンスを険(支)して「ロード・テスト」置換命令を
発生するような本発明の命令シーケンス検出4の倫理を
示すブロック図、第6図は他の予定の命令シーケンスを
@出して「間接ロード」置換命令を発生するような本発
明の命令シーケンス演出器の論理を示すブロック図、第
7図は他の予定の命令シーケンスを検出して「ロード・
ブランチ」置換命令を発生するような本発明の命令シー
ケンス演出器の論理を示すブロック図である。 1o・・・・グログラム/データ記は、11・・・°高
速バッファ、12・・・・命令@出/解読ユニット、1
6・・・・実行ユニット、14・・・・オペレーション
・レジスタ、15・・・・制到部、18〜20・・・・
命令バッファ・レジスタ、22・・・・命令カウンタ、
24・・・・命令レジスタ、25・・・・記ババス、2
6・・・・シーケンス選択器、27・・・・命令シーケ
ンス選択器出器、28・・・・置換命令発生器。
トを示すブロック図、第2図は暁存の命令バッファ@溝
に設けられた本発明の命令シーケンス噴出器及び置換命
令発生器の陸続様式を示すブロック図、第5図は他の形
式の命令バッファ@酵に設けられた本発明の命令シーケ
ンス演出器及び置換命令発生器の接続様式を示すブロッ
ク図、第4図は他の形式の命令バッファ@溝に設けられ
た本発明の命令シーケンス険1155及び置換命令発生
器の接続様式を示すブロック図、第5図は予定の命令シ
ーケンスを険(支)して「ロード・テスト」置換命令を
発生するような本発明の命令シーケンス検出4の倫理を
示すブロック図、第6図は他の予定の命令シーケンスを
@出して「間接ロード」置換命令を発生するような本発
明の命令シーケンス演出器の論理を示すブロック図、第
7図は他の予定の命令シーケンスを検出して「ロード・
ブランチ」置換命令を発生するような本発明の命令シー
ケンス演出器の論理を示すブロック図である。 1o・・・・グログラム/データ記は、11・・・°高
速バッファ、12・・・・命令@出/解読ユニット、1
6・・・・実行ユニット、14・・・・オペレーション
・レジスタ、15・・・・制到部、18〜20・・・・
命令バッファ・レジスタ、22・・・・命令カウンタ、
24・・・・命令レジスタ、25・・・・記ババス、2
6・・・・シーケンス選択器、27・・・・命令シーケ
ンス選択器出器、28・・・・置換命令発生器。
Claims (3)
- (1)上記ばから取出された俟数の岐舎を記1意する6
δ今バツフア′fi1″よみ、実行ユニットへ部会を順
欠に転送してその実行を行わしめるデータ処理システム
における岐合処理ユニットであって:前記鮪令バッファ
へ妥続され、該命令バッファにd己はされたn1固の順
欠翁箭のフ1−ルドをそれぞれ検査するための手段を言
む絡合シーケンス検出手段と、 前記検査手段へ接続され、該倹肴手段に応答して前記n
個の順次砧金が予定の鮪令シーケンスに該当することト
示す出力1号を供給するための匿号手段と、 前記M号手段へ接続され、該洒号手段からの前記出力は
号に応答して前記n個の順次命令の代わりに置換鮪令を
前記実行ユニットへ転送するための置換dh令発生手段
とを備えてなる面舎処理ユニッ ト。 - (2)#記倹査手段は前記翁令ノ(ソファに置かれたn
=21向のIIIA次岐ヤのオペレーション・コード・
)1−ルドをそれぞれ検査するように接続されている特
許請求の範囲第(1)項記載の鮪令処理ユニット。 - (3)@記倹査手段は前記I幀欠岐会の汎用レジスタ指
定71−ルドをそれぞれ検査するように淡続されている
特許請求の範囲第(2)項記載の品令処1里ユニット。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/287,342 US4439828A (en) | 1981-07-27 | 1981-07-27 | Instruction substitution mechanism in an instruction handling unit of a data processing system |
US287342 | 1981-07-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5818754A true JPS5818754A (ja) | 1983-02-03 |
JPH0429093B2 JPH0429093B2 (ja) | 1992-05-18 |
Family
ID=23102483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57112613A Granted JPS5818754A (ja) | 1981-07-27 | 1982-07-01 | 命令処理ユニツト |
Country Status (4)
Country | Link |
---|---|
US (1) | US4439828A (ja) |
EP (1) | EP0071028B1 (ja) |
JP (1) | JPS5818754A (ja) |
DE (1) | DE3270743D1 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61283930A (ja) * | 1985-06-10 | 1986-12-13 | Nec Corp | 情報処理装置 |
JPS62288940A (ja) * | 1986-06-06 | 1987-12-15 | Nec Corp | 情報処理装置 |
JPS63178333A (ja) * | 1987-01-20 | 1988-07-22 | Nec Corp | 命令処理方式 |
JPS63178334A (ja) * | 1987-01-20 | 1988-07-22 | Nec Corp | 命令処理方式 |
JPS6482131A (en) * | 1987-09-24 | 1989-03-28 | Mitsubishi Electric Corp | Data processor |
US5553954A (en) * | 1993-11-10 | 1996-09-10 | Citizen Watch Co., Ltd. | Printer |
JP2001502448A (ja) * | 1996-03-18 | 2001-02-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | X86・dspコアを有しかつx86命令をdsp命令へマッピングするdspファンクションデコーダを備える中央処理装置 |
JP2005353105A (ja) * | 1999-04-30 | 2005-12-22 | Renesas Technology Corp | データ処理装置及びマイクロコンピュータ |
JP2007141246A (ja) * | 2005-11-22 | 2007-06-07 | Intel Corp | ベクトルマスク設定技術 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5848146A (ja) * | 1981-09-18 | 1983-03-22 | Toshiba Corp | 命令先取り方式 |
US4538223A (en) * | 1982-09-29 | 1985-08-27 | Microdata Corporation | Computer operand address computation |
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 |
US4569048A (en) * | 1983-09-19 | 1986-02-04 | Genrad, Inc. | Method and apparatus for memory overlay |
JPH0830971B2 (ja) * | 1984-03-26 | 1996-03-27 | 株式会社日立製作所 | プログラマブルコントローラ |
US4868735A (en) * | 1984-05-08 | 1989-09-19 | Advanced Micro Devices, Inc. | Interruptible structured microprogrammed sixteen-bit address sequence controller |
US4984151A (en) * | 1985-03-01 | 1991-01-08 | Advanced Micro Devices, Inc. | Flexible, next-address generation microprogram sequencer |
US4761731A (en) * | 1985-08-14 | 1988-08-02 | Control Data Corporation | Look-ahead instruction fetch control for a cache memory |
US4819165A (en) * | 1987-03-27 | 1989-04-04 | Tandem Computers Incorporated | System for performing group relative addressing |
US5226127A (en) * | 1989-04-07 | 1993-07-06 | Intel Corporation | Method and apparatus providing for conditional execution speed-up in a computer system through substitution of a null instruction for a synchronization instruction under predetermined conditions |
GB2230119B (en) * | 1989-04-07 | 1993-04-21 | Intel Corp | Conditional execution speed-up on synchronizing instructions |
CA2016068C (en) * | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
JP2901081B2 (ja) * | 1989-12-19 | 1999-06-02 | 株式会社日立製作所 | Osiディレクトリの非葉エントリの名称変更方法 |
US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
US5301341A (en) * | 1990-11-28 | 1994-04-05 | International Business Machines Corporation | Overflow determination for three-operand alus in a scalable compound instruction set machine which compounds two arithmetic instructions |
EP0478731A4 (en) * | 1990-04-04 | 1993-09-22 | International Business Machines Corporation | Early scism alu status determination apparatus |
CA2037708C (en) * | 1990-05-04 | 1998-01-20 | Richard J. Eickemeyer | General purpose compound apparatus for instruction-level parallel processors |
US5197135A (en) * | 1990-06-26 | 1993-03-23 | International Business Machines Corporation | Memory management for scalable compound instruction set machines with in-memory compounding |
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 |
US5295249A (en) * | 1990-05-04 | 1994-03-15 | International Business Machines Corporation | Compounding preprocessor for cache for identifying multiple instructions which may be executed in parallel |
US5448746A (en) * | 1990-05-04 | 1995-09-05 | International Business Machines Corporation | System for comounding instructions in a byte stream prior to fetching and identifying the instructions for execution |
JPH0679273B2 (ja) * | 1990-05-04 | 1994-10-05 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ処理装置 |
US5303356A (en) * | 1990-05-04 | 1994-04-12 | International Business Machines Corporation | System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag |
ATE146611T1 (de) * | 1990-05-04 | 1997-01-15 | Ibm | Maschinenarchitektur für skalaren verbundbefehlssatz |
CA2038264C (en) * | 1990-06-26 | 1995-06-27 | Richard James Eickemeyer | In-memory preprocessor for a scalable compound instruction set machine processor |
US5537552A (en) * | 1990-11-27 | 1996-07-16 | Canon Kabushiki Kaisha | Apparatus for selectively comparing pointers to detect full or empty status of a circular buffer area in an input/output (I/O) buffer |
EP0498067A2 (en) * | 1991-02-08 | 1992-08-12 | International Business Machines Corporation | Microcode generation for a scalable compound instruction set machine |
US5359718A (en) * | 1991-03-29 | 1994-10-25 | International Business Machines Corporation | Early scalable instruction set machine alu status prediction apparatus |
JP2922723B2 (ja) * | 1992-06-29 | 1999-07-26 | キヤノン株式会社 | 情報処理装置 |
US5337415A (en) * | 1992-12-04 | 1994-08-09 | Hewlett-Packard Company | Predecoding instructions for supercalar dependency indicating simultaneous execution for increased operating frequency |
US5566324A (en) * | 1992-12-24 | 1996-10-15 | Ncr Corporation | Computer apparatus including a main memory prefetch cache and method of operation thereof |
US5925125A (en) * | 1993-06-24 | 1999-07-20 | International Business Machines Corporation | Apparatus and method for pre-verifying a computer instruction set to prevent the initiation of the execution of undefined instructions |
AU7673894A (en) * | 1993-08-26 | 1995-03-21 | Electronic Arts, Inc. | Data transfer accelerating apparatus and method |
US5659722A (en) * | 1994-04-28 | 1997-08-19 | International Business Machines Corporation | Multiple condition code branching system in a multi-processor environment |
JPH07302200A (ja) * | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
DE69423206T2 (de) * | 1994-04-28 | 2000-09-07 | Hewlett Packard Co | Rechnervorrichtung mit Mitteln zum Erzwingen der Ausführung von Befehlen in regelmässiger Folge |
US5860155A (en) * | 1995-11-16 | 1999-01-12 | Utek Semiconductor Corporation | Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses |
US5930490A (en) * | 1996-01-02 | 1999-07-27 | Advanced Micro Devices, Inc. | Microprocessor configured to switch instruction sets upon detection of a plurality of consecutive instructions |
JP3634379B2 (ja) * | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
JP3801643B2 (ja) * | 1996-01-24 | 2006-07-26 | サン・マイクロシステムズ・インコーポレイテッド | スタックを用いる演算マシンのための命令フォールディング処理 |
US5829031A (en) * | 1996-02-23 | 1998-10-27 | Advanced Micro Devices, Inc. | Microprocessor configured to detect a group of instructions and to perform a specific function upon detection |
US6032247A (en) * | 1996-03-18 | 2000-02-29 | Advanced Micro Devices, Incs. | Central processing unit including APX and DSP cores which receives and processes APX and DSP instructions |
US5790824A (en) * | 1996-03-18 | 1998-08-04 | Advanced Micro Devices, Inc. | Central processing unit including a DSP function preprocessor which scans instruction sequences for DSP functions |
US5754878A (en) * | 1996-03-18 | 1998-05-19 | Advanced Micro Devices, Inc. | CPU with DSP function preprocessor having pattern recognition detector that uses table for translating instruction sequences intended to perform DSP function into DSP macros |
US5784640A (en) * | 1996-03-18 | 1998-07-21 | Advanced Micro Devices, Inc. | CPU with DSP function preprocessor having look-up table for translating instruction sequences intended to perform DSP function into DSP macros |
US6085314A (en) * | 1996-03-18 | 2000-07-04 | Advnced Micro Devices, Inc. | Central processing unit including APX and DSP cores and including selectable APX and DSP execution modes |
US5781792A (en) * | 1996-03-18 | 1998-07-14 | Advanced Micro Devices, Inc. | CPU with DSP having decoder that detects and converts instruction sequences intended to perform DSP function into DSP function identifier |
US6711667B1 (en) * | 1996-06-28 | 2004-03-23 | Legerity, Inc. | Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions |
US5790843A (en) * | 1996-09-19 | 1998-08-04 | International Business Machines Corporation | System for modifying microprocessor operations independently of the execution unit upon detection of preselected opcodes |
US6546479B1 (en) | 1998-02-10 | 2003-04-08 | Koninklijke Philips Electronics N.V. | Reduced instruction fetch latency in a system including a pipelined processor |
US6237086B1 (en) * | 1998-04-22 | 2001-05-22 | Sun Microsystems, Inc. | 1 Method to prevent pipeline stalls in superscalar stack based computing systems |
US6681319B1 (en) * | 1998-10-06 | 2004-01-20 | Texas Instruments Incorporated | Dual access instruction and compound memory access instruction with compatible address fields |
EP0992892B1 (en) * | 1998-10-06 | 2015-12-02 | Texas Instruments Inc. | Compound memory access instructions |
DE19846676C1 (de) * | 1998-10-09 | 2000-03-02 | Siemens Ag | Verfahren zur Absicherung von Einsprungsadressen |
GB2344907A (en) | 1998-12-19 | 2000-06-21 | Int Computers Ltd | Instruction translation and execution mechanism |
US6604188B1 (en) | 1999-10-20 | 2003-08-05 | Transmeta Corporation | Pipeline replay support for multi-cycle operations wherein all VLIW instructions are flushed upon detection of a multi-cycle atom operation in a VLIW instruction |
US6728865B1 (en) | 1999-10-20 | 2004-04-27 | Transmeta Corporation | Pipeline replay support for unaligned memory operations |
US7418580B1 (en) * | 1999-12-02 | 2008-08-26 | International Business Machines Corporation | Dynamic object-level code transaction for improved performance of a computer |
US6513110B1 (en) * | 1999-12-15 | 2003-01-28 | Transmeta Corporation | Check instruction and method |
US6766442B1 (en) | 2000-03-30 | 2004-07-20 | International Business Machines Corporation | Processor and method that predict condition register-dependent conditional branch instructions utilizing a potentially stale condition register value |
US6678820B1 (en) * | 2000-03-30 | 2004-01-13 | International Business Machines Corporation | Processor and method for separately predicting conditional branches dependent on lock acquisition |
US6658558B1 (en) | 2000-03-30 | 2003-12-02 | International Business Machines Corporation | Branch prediction circuit selector with instruction context related condition type determining |
US7082516B1 (en) | 2000-09-28 | 2006-07-25 | Intel Corporation | Aligning instructions using a variable width alignment engine having an intelligent buffer refill mechanism |
US7873814B1 (en) * | 2000-12-22 | 2011-01-18 | Lsi Corporation | Microcode based hardware translator to support a multitude of processors |
US6775892B2 (en) * | 2000-12-22 | 2004-08-17 | Diebolt International, Inc. | Retaining ring installation tool |
US6990610B2 (en) * | 2002-05-15 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Combining commands to form a test command |
US20060294443A1 (en) * | 2005-06-03 | 2006-12-28 | Khaled Fekih-Romdhane | On-chip address generation |
US7502029B2 (en) * | 2006-01-17 | 2009-03-10 | Silicon Integrated Systems Corp. | Instruction folding mechanism, method for performing the same and pixel processing system employing the same |
US8296849B2 (en) * | 2006-10-31 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Method and apparatus for removing homogeneity from execution environment of computing system |
US20080115217A1 (en) * | 2006-10-31 | 2008-05-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for protection of a computer system from malicious code attacks |
KR20100069695A (ko) * | 2007-09-19 | 2010-06-24 | 케이피아이티 커민즈 인포시스템즈 엘티디. | 반자동 소프트웨어 마이그레이션을 위해 플러그-앤-플레이 하드웨어 컴포넌트들을 동작시키는 메커니즘 |
KR100892677B1 (ko) * | 2007-10-09 | 2009-04-15 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 프리 페치 회로 및 그 제어 방법 |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
GB2457303A (en) * | 2008-02-11 | 2009-08-12 | Linear Algebra Technologies | Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap |
US7502918B1 (en) * | 2008-03-28 | 2009-03-10 | International Business Machines Corporation | Method and system for data dependent performance increment and power reduction |
US8886919B2 (en) * | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
JP5311491B2 (ja) * | 2009-11-17 | 2013-10-09 | Necシステムテクノロジー株式会社 | グラフィクス頂点処理装置およびグラフィクス頂点処理方法 |
US8850166B2 (en) * | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
US8713292B2 (en) * | 2011-02-07 | 2014-04-29 | Arm Limited | Reducing energy and increasing speed by an instruction substituting subsequent instructions with specific function instruction |
WO2012144374A1 (ja) * | 2011-04-21 | 2012-10-26 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
US9280348B2 (en) | 2012-03-28 | 2016-03-08 | International Business Machines Corporation | Decode time instruction optimization for load reserve and store conditional sequences |
US9563424B2 (en) * | 2012-08-17 | 2017-02-07 | Google Inc. | Native code instruction selection |
US9256427B2 (en) | 2012-12-11 | 2016-02-09 | International Business Machines Corporation | Tracking multiple conditions in a general purpose register and instruction therefor |
GB2515020A (en) * | 2013-06-10 | 2014-12-17 | Advanced Risc Mach Ltd | Operand generation in at least one processing pipeline |
US20190163492A1 (en) * | 2017-11-28 | 2019-05-30 | International Business Machines Corporation | Employing a stack accelerator for stack-type accesses |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51853A (ja) * | 1974-06-21 | 1976-01-07 | Hitachi Ltd | Deetashorishisutemuno meireigoseisochi |
JPS5211842A (en) * | 1975-07-18 | 1977-01-29 | Hitachi Ltd | Data processing equipment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3345615A (en) * | 1965-03-16 | 1967-10-03 | Teletype Corp | Sequence detection circuit |
US4155120A (en) * | 1977-12-01 | 1979-05-15 | Burroughs Corporation | Apparatus and method for controlling microinstruction sequencing by selectively inhibiting microinstruction execution |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
US4295193A (en) * | 1979-06-29 | 1981-10-13 | International Business Machines Corporation | Machine for multiple instruction execution |
-
1981
- 1981-07-27 US US06/287,342 patent/US4439828A/en not_active Expired - Lifetime
-
1982
- 1982-06-29 EP EP82105758A patent/EP0071028B1/en not_active Expired
- 1982-06-29 DE DE8282105758T patent/DE3270743D1/de not_active Expired
- 1982-07-01 JP JP57112613A patent/JPS5818754A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51853A (ja) * | 1974-06-21 | 1976-01-07 | Hitachi Ltd | Deetashorishisutemuno meireigoseisochi |
JPS5211842A (en) * | 1975-07-18 | 1977-01-29 | Hitachi Ltd | Data processing equipment |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61283930A (ja) * | 1985-06-10 | 1986-12-13 | Nec Corp | 情報処理装置 |
JPS62288940A (ja) * | 1986-06-06 | 1987-12-15 | Nec Corp | 情報処理装置 |
JPH0559451B2 (ja) * | 1986-06-06 | 1993-08-31 | Nippon Electric Co | |
JPS63178333A (ja) * | 1987-01-20 | 1988-07-22 | Nec Corp | 命令処理方式 |
JPS63178334A (ja) * | 1987-01-20 | 1988-07-22 | Nec Corp | 命令処理方式 |
JPS6482131A (en) * | 1987-09-24 | 1989-03-28 | Mitsubishi Electric Corp | Data processor |
US5553954A (en) * | 1993-11-10 | 1996-09-10 | Citizen Watch Co., Ltd. | Printer |
JP2001502448A (ja) * | 1996-03-18 | 2001-02-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | X86・dspコアを有しかつx86命令をdsp命令へマッピングするdspファンクションデコーダを備える中央処理装置 |
JP2005353105A (ja) * | 1999-04-30 | 2005-12-22 | Renesas Technology Corp | データ処理装置及びマイクロコンピュータ |
JP2007141246A (ja) * | 2005-11-22 | 2007-06-07 | Intel Corp | ベクトルマスク設定技術 |
JP2012142021A (ja) * | 2005-11-22 | 2012-07-26 | Intel Corp | ベクトルマスク設定技術 |
US9436468B2 (en) | 2005-11-22 | 2016-09-06 | Intel Corporation | Technique for setting a vector mask |
Also Published As
Publication number | Publication date |
---|---|
EP0071028A2 (en) | 1983-02-09 |
US4439828A (en) | 1984-03-27 |
EP0071028B1 (en) | 1986-04-23 |
JPH0429093B2 (ja) | 1992-05-18 |
EP0071028A3 (en) | 1983-04-06 |
DE3270743D1 (en) | 1986-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5818754A (ja) | 命令処理ユニツト | |
US4916652A (en) | Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures | |
US5408626A (en) | One clock address pipelining in segmentation unit | |
US4200927A (en) | Multi-instruction stream branch processing mechanism | |
JP2864421B2 (ja) | 命令の多機能ユニットへの同時ディスパッチのための方法及び装置 | |
US4476525A (en) | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously | |
EP0106670A2 (en) | CPU with multiple execution units | |
KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
JPH026090B2 (ja) | ||
JPH04296937A (ja) | ハードウエアデータストリング演算コントローラ及び主記憶ストリング動作を行わせる方法 | |
JPH0283735A (ja) | 命令先取り装置 | |
JPS6029126B2 (ja) | デ−タ処理装置 | |
JPS60151761A (ja) | 10進演算用に連続したデ−タ装置をアクセスするためのニブルおよびワ−ド・アドレス指定可能なメモリ− | |
CA1180455A (en) | Pipelined microprocessor with double bus architecture | |
JPH07504520A (ja) | 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu | |
JPS5991546A (ja) | 中央処理装置 | |
JP3004108B2 (ja) | 情報処理装置 | |
JPS58189739A (ja) | デ−タ処理システム | |
US4747044A (en) | Direct execution of software on microprogrammable hardware | |
EP0354585B1 (en) | Instruction pipeline microprocessor | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
JPH0743648B2 (ja) | 情報処理装置 | |
KR900010587A (ko) | 생산라인의 고성능 명령어 실행방법 및 장치 | |
US4451883A (en) | Bus sourcing and shifter control of a central processing unit | |
EP0376258A2 (en) | Control system for fetching an instruction |