JPH02224055A - 命令の多機能ユニットへの同時ディスパッチのための方法及び装置 - Google Patents
命令の多機能ユニットへの同時ディスパッチのための方法及び装置Info
- Publication number
- JPH02224055A JPH02224055A JP1261908A JP26190889A JPH02224055A JP H02224055 A JPH02224055 A JP H02224055A JP 1261908 A JP1261908 A JP 1261908A JP 26190889 A JP26190889 A JP 26190889A JP H02224055 A JPH02224055 A JP H02224055A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- type
- cache
- word
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or 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 OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
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)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンピューター−プロセッサーに関する、よ
り詳細には、可変長多機能ユニット・コントロールに関
する。
り詳細には、可変長多機能ユニット・コントロールに関
する。
中央処理装置(CPU)のデザインには、典型的には浮
動小数点、及び整数プロセッサー・ユニットが含まれる
ものであった。
動小数点、及び整数プロセッサー・ユニットが含まれる
ものであった。
コンピューターの命令は、いかなる命令発進サイクルに
おいても、歴史的に組織され、1つの機能ユニットにの
み配布されてきた。水平的に多重プログラムされたCP
Uであれば、命令発進ザイクル毎に、1つ以上の機能ユ
ニット・を同時に且つ並行して操作することを可能とす
る。
おいても、歴史的に組織され、1つの機能ユニットにの
み配布されてきた。水平的に多重プログラムされたCP
Uであれば、命令発進ザイクル毎に、1つ以上の機能ユ
ニット・を同時に且つ並行して操作することを可能とす
る。
多機能コアニットの同時操作を供するために、命令語の
幅は多重命令コンポーネントを処理するために増加する
。しかI、ながら、プログラムはそれぞれの実行サイク
ルで忙しい、それぞれの機能ユニットを維持するために
必要な操作を含有する事がない様なので、増幅された命
令の流れは、機能ユニットのほとんどのための操作を含
まない様である。
幅は多重命令コンポーネントを処理するために増加する
。しかI、ながら、プログラムはそれぞれの実行サイク
ルで忙しい、それぞれの機能ユニットを維持するために
必要な操作を含有する事がない様なので、増幅された命
令の流れは、機能ユニットのほとんどのための操作を含
まない様である。
命令の可変長コード化により、オペ1/・−ジョンなし
くno−ops)の問題は処理されますが、高性能(バ
イブうイン)構造における可変長コード化では、命令が
ページ境界を渡れる様になる時、ベジフォールトの複雑
さを増し、全体的な命令ザイクル時間は、プログラム・
カウンターを前進させ、次の命令キャッシュを起動でき
る様にする、現在の命令の長さの決定によって悪影響を
受けることがある。
くno−ops)の問題は処理されますが、高性能(バ
イブうイン)構造における可変長コード化では、命令が
ページ境界を渡れる様になる時、ベジフォールトの複雑
さを増し、全体的な命令ザイクル時間は、プログラム・
カウンターを前進させ、次の命令キャッシュを起動でき
る様にする、現在の命令の長さの決定によって悪影響を
受けることがある。
更に、命令ストリーム構文解析の複雑さのために、全体
の命令がディスパッチのために使用可能であるという事
、及び読み取り遂行の問題を緩らげるために、命令バイ
ブライン・ステージを導入してもよいという、適正な決
定ができる様にするために、追加的なバイブライン・ス
テージの導入が必要とり、この事自体によって、受は取
られた分岐命令の存在する時にベー・シフオールドの複
雑さが増したり、待ち時間が増加するという事があり得
る。このため、可変長命令コード化の一般的概念は、水
平的に多重プログラムされた機械の効率の限定的高揚を
供するのみであり、又同様に、実際のプログラムが実行
され、多重機能ユニットにディスパッチされる時に自己
制限をする傾向を持つ。
の命令がディスパッチのために使用可能であるという事
、及び読み取り遂行の問題を緩らげるために、命令バイ
ブライン・ステージを導入してもよいという、適正な決
定ができる様にするために、追加的なバイブライン・ス
テージの導入が必要とり、この事自体によって、受は取
られた分岐命令の存在する時にベー・シフオールドの複
雑さが増したり、待ち時間が増加するという事があり得
る。このため、可変長命令コード化の一般的概念は、水
平的に多重プログラムされた機械の効率の限定的高揚を
供するのみであり、又同様に、実際のプログラムが実行
され、多重機能ユニットにディスパッチされる時に自己
制限をする傾向を持つ。
本発明の装置及び方法は、命令ストリームの可変長コン
ポーネントへの、自然の配列抑制を利用して、多機能ユ
ニットへの命令の効率的な同時ディスパッチを行うもの
である。命令は、最小命令サイズ、4バイトの2つの乗
数の累剰によってのみ構成される。本方法及び装置に従
う最大長命令語は、顕著な静力学的に配置されたフィー
ルドにより構成される。分離1.たフィールドは、各種
の機能ユニット用の個々のデコーダー/コントローラー
に向けられる。命令のフォーマットは、整数プロセッサ
ー命令のみを含有する、長さが4バイトの長語命令によ
り構成される。第2の4語フォーマットには、2つの分
離した整数プロセッサー命令を有するフォーマットと同
様、整数及び浮動小数点ユニット命令をHするフォーマ
ットが含まれる。命令語内のフィールド当たり1ビット
により、命令の長さ及びフォーマットが示される。
ポーネントへの、自然の配列抑制を利用して、多機能ユ
ニットへの命令の効率的な同時ディスパッチを行うもの
である。命令は、最小命令サイズ、4バイトの2つの乗
数の累剰によってのみ構成される。本方法及び装置に従
う最大長命令語は、顕著な静力学的に配置されたフィー
ルドにより構成される。分離1.たフィールドは、各種
の機能ユニット用の個々のデコーダー/コントローラー
に向けられる。命令のフォーマットは、整数プロセッサ
ー命令のみを含有する、長さが4バイトの長語命令によ
り構成される。第2の4語フォーマットには、2つの分
離した整数プロセッサー命令を有するフォーマットと同
様、整数及び浮動小数点ユニット命令をHするフォーマ
ットが含まれる。命令語内のフィールド当たり1ビット
により、命令の長さ及びフォーマットが示される。
機能ユニットの各々には、デコーダー/コントローラー
が含まれる。最大限可能な長さ以下の命令をディスパッ
チする時には、フィールドのいくらかが欠落することが
ある。
が含まれる。最大限可能な長さ以下の命令をディスパッ
チする時には、フィールドのいくらかが欠落することが
ある。
各機能ユニットのデコーダー/コントローラーは、独自
にフィールドが欠落しているかどうかを測定し、そうし
た場合にはこのデコーダー/コントローラーは、その関
連機能ユニットにワークをディスパッチせずに、あたか
もno −op(操作なし)が存在する様に応答する。
にフィールドが欠落しているかどうかを測定し、そうし
た場合にはこのデコーダー/コントローラーは、その関
連機能ユニットにワークをディスパッチせずに、あたか
もno −op(操作なし)が存在する様に応答する。
本発明に従う装W、は、命令全体が常に単一キャッシュ
・サイクルで゛アクセスできる様に、可能な最大の幅及
び長さの命令に対応する幅を有する命令キャッシュを含
aす2.。
・サイクルで゛アクセスできる様に、可能な最大の幅及
び長さの命令に対応する幅を有する命令キャッシュを含
aす2.。
命令フェッチ・サイクルは、プログラム・カウンター(
P C)を、新規の通常は非連続値(転送づイクル)で
充填するものと、或いは連続サイクルで充填するものと
に分類される。連続命令フェッチやサイクルは、同じキ
ャッシュやラインを以前のサイクルとして参照するもの
と、次のキャッシュ・ラインに前進するものとに分類さ
れる。
P C)を、新規の通常は非連続値(転送づイクル)で
充填するものと、或いは連続サイクルで充填するものと
に分類される。連続命令フェッチやサイクルは、同じキ
ャッシュやラインを以前のサイクルとして参照するもの
と、次のキャッシュ・ラインに前進するものとに分類さ
れる。
PCは、キャッシュを指標付けする上位部分と、アドレ
スされたキャッシュ・ライン内の希望の命令の適正な開
始点を同定する下位部分により構成される。PCのより
上位の部分は、各々のサイクルについて1 (X4)だ
け増分するか(ビット02)、或いは新L/いアドレス
でロードして不変にしておくことができる。連続実行中
、現在ディスパッチされている命令が、キャッシュの偶
数側から取られた長語命令である場合には、上方のPC
は不変のままである。連続実行中、ディスパッチされて
いる命令が、キャッシュの奇数側からのυビット命令で
あるか、或いは4語命令である場合には、」三方のPC
は1 (X4)だけ増分される。
スされたキャッシュ・ライン内の希望の命令の適正な開
始点を同定する下位部分により構成される。PCのより
上位の部分は、各々のサイクルについて1 (X4)だ
け増分するか(ビット02)、或いは新L/いアドレス
でロードして不変にしておくことができる。連続実行中
、現在ディスパッチされている命令が、キャッシュの偶
数側から取られた長語命令である場合には、上方のPC
は不変のままである。連続実行中、ディスパッチされて
いる命令が、キャッシュの奇数側からのυビット命令で
あるか、或いは4語命令である場合には、」三方のPC
は1 (X4)だけ増分される。
上方のPCは、取られた分岐、或いは呼び出しの結果と
して新規のアドレスでロードされる。目標アドレスは、
上位部分及び下位部分により構成される。現行サイクル
が次のキャッシュ・ラインに移送もせず、前進もしない
場合には(新j7いキャッシュやライン・サイクルでは
ない)、増分子の出力は無視され、上位のPCは不変の
ままで、下位のPCは先行命令の長さを反映するために
最新化される。
して新規のアドレスでロードされる。目標アドレスは、
上位部分及び下位部分により構成される。現行サイクル
が次のキャッシュ・ラインに移送もせず、前進もしない
場合には(新j7いキャッシュやライン・サイクルでは
ない)、増分子の出力は無視され、上位のPCは不変の
ままで、下位のPCは先行命令の長さを反映するために
最新化される。
現行サイクルが、次のキャッシュ・ラインに前進する場
合には、増分子の出力は上位のPCにロードされる一方
、下位のPCは0にリセッ!・される。
合には、増分子の出力は上位のPCにロードされる一方
、下位のPCは0にリセッ!・される。
命令キャッシュには、フェッチ・ラインの潜在的に非消
耗部を捕獲する先取りバッファーが後続する。先取りバ
ッファーは、命令キャッシュ・マイナスR短命令フォー
マットの長さと同じ幅である。先取リバッファーは、新
しいキャッシュ・ライン・サイクルの間に、命令キャッ
シュの出力からロードされる。
耗部を捕獲する先取りバッファーが後続する。先取りバ
ッファーは、命令キャッシュ・マイナスR短命令フォー
マットの長さと同じ幅である。先取リバッファーは、新
しいキャッシュ・ライン・サイクルの間に、命令キャッ
シュの出力からロードされる。
各々の機能ユニット・デコーダー/コントロ・−ターは
、命令キャッシュの生の出力から直接にでも、又先取り
バッファーの出力からでも、適当するフィールドの選択
がでさる様にする、マルチプレクサ−・ネットワークに
接続されている。新しいキャッシュ・ライン・ザイクル
の間、マルチプレクサ−は1サイクルについて効率的に
先取りバッファーをバイパスして、命令キャッシュの生
の出力から適当するフィールドを選択する。
、命令キャッシュの生の出力から直接にでも、又先取り
バッファーの出力からでも、適当するフィールドの選択
がでさる様にする、マルチプレクサ−・ネットワークに
接続されている。新しいキャッシュ・ライン・ザイクル
の間、マルチプレクサ−は1サイクルについて効率的に
先取りバッファーをバイパスして、命令キャッシュの生
の出力から適当するフィールドを選択する。
代替的に、マルチプレクサ−は先取りバッファーの出力
から適当するフィールドを選択する。
から適当するフィールドを選択する。
この様にして、本発明に従う装置及び方法は、必要な命
令の流れを多機能ユニットに供給するためのコンパイラ
−に課せられる抑制、及び複雑さを軽減する一方で、多
機能ユニットを有するCPUの操作における効率性を高
めるものである。
令の流れを多機能ユニットに供給するためのコンパイラ
−に課せられる抑制、及び複雑さを軽減する一方で、多
機能ユニットを有するCPUの操作における効率性を高
めるものである。
本発明に従う同時ディスパッチ・ユニットのブロック・
ダイアグラム50が図1に示されている。
ダイアグラム50が図1に示されている。
命令データーは、命令データーの64ビットにより構成
される72ビット語、及び下記に検討され、図2に示さ
れている様な8ビットのパリティ−を含有する、プログ
ラムメモリー52の様なソースより受信される。ソース
52により供給された命令は、偶数及び奇数セクション
5G及び58をその中に有する命令キャッシュ54によ
り受信される。命令デ・−ターのソース52からキャッ
ジ、:1.54への転送は、キャッシュ−コントロール
・エレメント60により抑制される。
される72ビット語、及び下記に検討され、図2に示さ
れている様な8ビットのパリティ−を含有する、プログ
ラムメモリー52の様なソースより受信される。ソース
52により供給された命令は、偶数及び奇数セクション
5G及び58をその中に有する命令キャッシュ54によ
り受信される。命令デ・−ターのソース52からキャッ
ジ、:1.54への転送は、キャッシュ−コントロール
・エレメント60により抑制される。
命令は、メモリー貯蔵ユニット、バッファー或いは模範
的キャッシュ54に記憶され、ここでは命令は、シング
ル04ビット4語命令、或いは2つの32ビット長語命
令により構成される64ビット・メツセージを含有する
。命令キャッシュ54の奇数セクション58に記憶され
る命令は、浮動小数点プロセッサ−62により直接受信
される。
的キャッシュ54に記憶され、ここでは命令は、シング
ル04ビット4語命令、或いは2つの32ビット長語命
令により構成される64ビット・メツセージを含有する
。命令キャッシュ54の奇数セクション58に記憶され
る命令は、浮動小数点プロセッサ−62により直接受信
される。
命令キャッシュ、54の偶数部分5Gに記憶される命令
は、命令が偶数セクション5Bより、整数プロセッサー
66により受信される時には、命令キャッシュ54の偶
数部分5G、或いは奇数部分58からの命令を、選択的
に整数プロセッサ−66及びFPプロセッサー62に供
給するマルチプレクサ−64により受信される。奇数セ
クション58の命令は、先取りレジスター70に記憶さ
れる。結果と12で起こる命令は、整数プロセッサー6
0により、先取りレジスター70より受信されるので、
プログラム・カウンター・レジスター74は、8ではな
くて0だけ増分され、これにより新しい命令の命令キャ
ッシュ54への転送を禁止する。
は、命令が偶数セクション5Bより、整数プロセッサー
66により受信される時には、命令キャッシュ54の偶
数部分5G、或いは奇数部分58からの命令を、選択的
に整数プロセッサ−66及びFPプロセッサー62に供
給するマルチプレクサ−64により受信される。奇数セ
クション58の命令は、先取りレジスター70に記憶さ
れる。結果と12で起こる命令は、整数プロセッサー6
0により、先取りレジスター70より受信されるので、
プログラム・カウンター・レジスター74は、8ではな
くて0だけ増分され、これにより新しい命令の命令キャ
ッシュ54への転送を禁止する。
整数プロセッサ−66のより詳細な概要は、同様に図1
に示されているが、ここではこの整数プロセッサーは、
リード68のシグナルにより使用可能とされる時、32
ビット命令をマルチプレクサ−04の出力、或いは先取
りレジスターγ0の出力より受信する命令レジスター1
02を含む。命令1ノジスター102に記憶される命令
は、実行ユニット100デコード及びコントロール論理
コニッl−65、及び他の論理エレメントにより受ti
される。以前に述べた命令レジスター102内の命令の
結果と17て生じる命令のアドレスは、デコード・プロ
グラム・カウンター122に記憶される。フェッチ・プ
ログラム・カウンター104に記憶されるアドレスは、
例えば以前に検討され、下の表に図示されている様に、
命令それ自身に依存する論理プロセスにより処理される
時に、レジスター102の命令の結果と1.て生じる。
に示されているが、ここではこの整数プロセッサーは、
リード68のシグナルにより使用可能とされる時、32
ビット命令をマルチプレクサ−04の出力、或いは先取
りレジスターγ0の出力より受信する命令レジスター1
02を含む。命令1ノジスター102に記憶される命令
は、実行ユニット100デコード及びコントロール論理
コニッl−65、及び他の論理エレメントにより受ti
される。以前に述べた命令レジスター102内の命令の
結果と17て生じる命令のアドレスは、デコード・プロ
グラム・カウンター122に記憶される。フェッチ・プ
ログラム・カウンター104に記憶されるアドレスは、
例えば以前に検討され、下の表に図示されている様に、
命令それ自身に依存する論理プロセスにより処理される
時に、レジスター102の命令の結果と1.て生じる。
本発明に従えば、84ビット命令は、バイト当たり8ビ
ットにより構成される、8バイトのデーターに対応して
、命令キャッジ、254にロードされる。そうであるの
で、PCフェッチ・レジスター74は、命令が8のアド
レス・インターバルで受信される様に、0の論理値で最
も重要性のないビット00.01.02を維持する。
ットにより構成される、8バイトのデーターに対応して
、命令キャッジ、254にロードされる。そうであるの
で、PCフェッチ・レジスター74は、命令が8のアド
レス・インターバルで受信される様に、0の論理値で最
も重要性のないビット00.01.02を維持する。
一般的に、命令は整数プロセッサーG4を通り、連続的
に命令レジスター102、フェッチ・プログラム・カウ
ンター104.プログラム拳カウンター・アジャスト論
理120及びデコード・プログラム・カウンター122
、実行プログラム・カウンター124、最後の命令プロ
グラム拳カウンター12B及び!・ラップ・プログラム
参カウンター128を経由して進む。デコード・プログ
ラム・カウンター122の3番目に重要でないビット0
2を除いて、プログラム・カウンター122 、124
、128及び128は、当業者間ではトラップ或いは
ストール(立往生)条件として知られる条件からの復帰
という様な、他の使用のための現行、及び以前の命令の
命令ステータスを分析するため、示されてはいないが、
整数プロセッサーの別の所で使用される情報を供給する
。
に命令レジスター102、フェッチ・プログラム・カウ
ンター104.プログラム拳カウンター・アジャスト論
理120及びデコード・プログラム・カウンター122
、実行プログラム・カウンター124、最後の命令プロ
グラム拳カウンター12B及び!・ラップ・プログラム
参カウンター128を経由して進む。デコード・プログ
ラム・カウンター122の3番目に重要でないビット0
2を除いて、プログラム・カウンター122 、124
、128及び128は、当業者間ではトラップ或いは
ストール(立往生)条件として知られる条件からの復帰
という様な、他の使用のための現行、及び以前の命令の
命令ステータスを分析するため、示されてはいないが、
整数プロセッサーの別の所で使用される情報を供給する
。
偶数長語命令が、マルチプレクサ−64を経由し。
て、リード103の命令ギャッシュ54から受信された
場合、レジスターl口2に記憶された命令のビット31
の状態は、この命令が長語であるか長語命令であるかを
示す。
場合、レジスターl口2に記憶された命令のビット31
の状態は、この命令が長語であるか長語命令であるかを
示す。
ビット02の状態は、命令レジスター102から7エツ
チ・プログラム・カウンター・104まで維持される。
チ・プログラム・カウンター・104まで維持される。
プログラム・カウンター・アジャスト論理102は、そ
の見返りきしてl/シスター102からの命令に応答す
るデコード、及びコントロー・−小論理65により供給
される、得られた分岐シグナル1.21に応答して、デ
コード・プログラム・カウンター(DECPC)122
のビット02のみを選択的に修飾する。次の命令が連続
的に供給された命令であるか、或いは得られた分岐の結
果であるのかを示すのに役立つ、リード102の得られ
た分岐シグナルは、マルチプレクサー・119を制御す
る。
の見返りきしてl/シスター102からの命令に応答す
るデコード、及びコントロー・−小論理65により供給
される、得られた分岐シグナル1.21に応答して、デ
コード・プログラム・カウンター(DECPC)122
のビット02のみを選択的に修飾する。次の命令が連続
的に供給された命令であるか、或いは得られた分岐の結
果であるのかを示すのに役立つ、リード102の得られ
た分岐シグナルは、マルチプレクサー・119を制御す
る。
分岐が得られた場合には、DECPC122のビット0
2の条件は、マルチプレクサ−119経由の間維持され
る。
2の条件は、マルチプレクサ−119経由の間維持され
る。
分岐命令が得られる場合以外では、命令レジスター・ビ
ット31も、プログラム・カウンター・ビット02のど
ちらも設定されず、つまり読み取られるべき次の命令が
、命令キャッシュ54からの隣接奇数命令であることを
示す場合には、ビット02は、デコード・プログラムゆ
カウンター122内17設定され、デコードされた命令
が先取りレジスター70を経由して、命令キャッシコ、
54の奇数部分58から来ていることを示す一方、マル
チプレクサ−84は、リード68のシグナルに従って使
用不能にされる。マルチプレクサ〜10Gを同時に終了
するには、プログラム・カウンター104の現行値に、
アダー108により加えられ、その見返りにマルチプレ
クサ−1lOの選択により、フェッチ・プログラム・カ
ウンター104に、変えられず復元される0の数値を選
択する。リード121の分岐シグナルの状態の決定は、
そこで命令のデコーディングが知らされることになる、
リ−・ド101の実行ユニット100から供給される条
件コードの状態と同様に、命令レジスター102からの
シグナルの一部をデコードすることにより行われる。
ット31も、プログラム・カウンター・ビット02のど
ちらも設定されず、つまり読み取られるべき次の命令が
、命令キャッシュ54からの隣接奇数命令であることを
示す場合には、ビット02は、デコード・プログラムゆ
カウンター122内17設定され、デコードされた命令
が先取りレジスター70を経由して、命令キャッシコ、
54の奇数部分58から来ていることを示す一方、マル
チプレクサ−84は、リード68のシグナルに従って使
用不能にされる。マルチプレクサ〜10Gを同時に終了
するには、プログラム・カウンター104の現行値に、
アダー108により加えられ、その見返りにマルチプレ
クサ−1lOの選択により、フェッチ・プログラム・カ
ウンター104に、変えられず復元される0の数値を選
択する。リード121の分岐シグナルの状態の決定は、
そこで命令のデコーディングが知らされることになる、
リ−・ド101の実行ユニット100から供給される条
件コードの状態と同様に、命令レジスター102からの
シグナルの一部をデコードすることにより行われる。
分岐が奇数長語に直接行われる場合には、リード6Bの
シグナルにより使用不能にされ、リード105のシグナ
ルにより選択される時に、命令はマルチプレクサ−64
を経由して、リード107の命令キャッジ354の奇数
部分58より受信される。上記で検討された様に、リー
ド105のシグナルは、マルチプレクサ=119の操作
により維持される、デコード昏プログラムψカウンター
122のビット02より派生ずる。フトツ升・プログラ
ム・カウンター104からマルチプレクサー11gに(
R給されSアドレスは、命令!ノジスター102により
供給される命令に加えられたフェッチ・プログラム・カ
ウンター104の命令値の、アダー112による追加に
よる結果として生じる直接分岐により生じろ事がある。
シグナルにより使用不能にされ、リード105のシグナ
ルにより選択される時に、命令はマルチプレクサ−64
を経由して、リード107の命令キャッジ354の奇数
部分58より受信される。上記で検討された様に、リー
ド105のシグナルは、マルチプレクサ=119の操作
により維持される、デコード昏プログラムψカウンター
122のビット02より派生ずる。フトツ升・プログラ
ム・カウンター104からマルチプレクサー11gに(
R給されSアドレスは、命令!ノジスター102により
供給される命令に加えられたフェッチ・プログラム・カ
ウンター104の命令値の、アダー112による追加に
よる結果として生じる直接分岐により生じろ事がある。
結果として生じるアドレスは、同様にアダー112の出
力でシグナルをマルチプレクサー110を経由して、フ
ェッチ・プログラム・カウンター104の入力にバスす
る、デコード及びコントロール論理65の制御下にある
マルチプレクザー114により選択され、ここで結果と
しての実行うロック・サイクルで記憶され、前進させら
れる。デコード及びrントロール論理65、及び実行ユ
ニット100により決定された条件1ご従って、間接的
な分岐が得られ、ここで間接的分岐アドレスは、実行ユ
ニ・ノド100の内部レジスターRA(示されてはいな
い)より供給され、対応して使用可能1;されるマルチ
プレクサ−114、及び110を経由して、フェッチ中
プログラム・カウンター104にバ″7.される。
力でシグナルをマルチプレクサー110を経由して、フ
ェッチ・プログラム・カウンター104の入力にバスす
る、デコード及びコントロール論理65の制御下にある
マルチプレクザー114により選択され、ここで結果と
しての実行うロック・サイクルで記憶され、前進させら
れる。デコード及びrントロール論理65、及び実行ユ
ニット100により決定された条件1ご従って、間接的
な分岐が得られ、ここで間接的分岐アドレスは、実行ユ
ニ・ノド100の内部レジスターRA(示されてはいな
い)より供給され、対応して使用可能1;されるマルチ
プレクサ−114、及び110を経由して、フェッチ中
プログラム・カウンター104にバ″7.される。
命令データー語90は、図3に示されているが、これは
選択的に2つの長語命令、各々82ビットの91及び9
2、或いはシグナル64ビット4語93により構成され
る。8ビット・エラー検知パリティ−語94は、簡単に
するために命令データーの後続する検討からは除去され
るが、64ビットの命令に付加されるか、或いは付加さ
れた。長語9L或いは92はそれぞれ4バイトのデータ
ー95.98.97及び98により構成されるが、ここ
で最も重要なバイトは、バイト0である。各々のバイト
95〜98は、8ビットにより構成されるが1、ここで
はビット7が最も重要なビットである。
選択的に2つの長語命令、各々82ビットの91及び9
2、或いはシグナル64ビット4語93により構成され
る。8ビット・エラー検知パリティ−語94は、簡単に
するために命令データーの後続する検討からは除去され
るが、64ビットの命令に付加されるか、或いは付加さ
れた。長語9L或いは92はそれぞれ4バイトのデータ
ー95.98.97及び98により構成されるが、ここ
で最も重要なバイトは、バイト0である。各々のバイト
95〜98は、8ビットにより構成されるが1、ここで
はビット7が最も重要なビットである。
この命令のフォーマットは、モトローラ88000デー
タ・フォーマットに対応するが、これの対応するデータ
・シートは参照により組み込まれている。
タ・フォーマットに対応するが、これの対応するデータ
・シートは参照により組み込まれている。
本発明に従う、CP Uの同時ディスパッチ・ユニット
によって支持される命令の長さは、64ビット4語整列
命令、或いは32ビット長語整列命令により構成される
。命令は総称的に、整数或いは浮動小数点のどちらかと
17で分類される。整数命令タイプは、整数レジスタ一
対レジスター、分岐、及びメモリー参照命令により構成
される。
によって支持される命令の長さは、64ビット4語整列
命令、或いは32ビット長語整列命令により構成される
。命令は総称的に、整数或いは浮動小数点のどちらかと
17で分類される。整数命令タイプは、整数レジスタ一
対レジスター、分岐、及びメモリー参照命令により構成
される。
浮動小数点命令タイプは、浮動小数点レジスタ一対レジ
スター命令により構成される。長語整列命令は、整数命
令タイプによってのみ構成される。4語整列命令フ嗜−
マットは、4語命令の半分の、偶数(最も重要)長語に
おける整数命令、及び4語命令の半分の奇数(fiも重
要でない)長語におにする浮動小数点命令により構成さ
れる。長語形式用には、フェッチされた命令は、整数プ
ロセッサーに送られる。4語形式用には、偶数(最も重
要)長語命令が、整数プロセッサー66に送られる。奇
数是語命令は、浮動小数点プロセッサー62にのみ送ら
れる。
スター命令により構成される。長語整列命令は、整数命
令タイプによってのみ構成される。4語整列命令フ嗜−
マットは、4語命令の半分の、偶数(最も重要)長語に
おける整数命令、及び4語命令の半分の奇数(fiも重
要でない)長語におにする浮動小数点命令により構成さ
れる。長語形式用には、フェッチされた命令は、整数プ
ロセッサーに送られる。4語形式用には、偶数(最も重
要)長語命令が、整数プロセッサー66に送られる。奇
数是語命令は、浮動小数点プロセッサー62にのみ送ら
れる。
命令を同時に整数プロセッサ−66、及び浮動小数点ブ
「1セツザー62の双方に、命令キヤ・ノンユ54の単
一命令語から転送することにより、より性能が高まり、
本発明は同様に、浮動小数点プロセッサーへの/からの
、メモリー参照を制御できる様に、命令キャッシュの偶
数部分5Bから浮動小数点プロセッサーへ、選択ビット
・を転送する。
「1セツザー62の双方に、命令キヤ・ノンユ54の単
一命令語から転送することにより、より性能が高まり、
本発明は同様に、浮動小数点プロセッサーへの/からの
、メモリー参照を制御できる様に、命令キャッシュの偶
数部分5Bから浮動小数点プロセッサーへ、選択ビット
・を転送する。
整数プロセッサー613は、命令キャッシュb4べ4語
参照を行う。外部先取りバッファー70は、2つの整数
命令が整列4語境界に当たる場合には、奇数長語を保持
するために使用される。命令が、命令キャッシュ、から
フェッチされるにつれて、整数プロセッサーは命令キャ
ッシュ54をアドレスするために使用される、29ビッ
トPCSRCデーター・バスにより構成される。2リー
ドア2のシグナルを経由して、次のフェッチ・アトし・
スを規定する。
参照を行う。外部先取りバッファー70は、2つの整数
命令が整列4語境界に当たる場合には、奇数長語を保持
するために使用される。命令が、命令キャッシュ、から
フェッチされるにつれて、整数プロセッサーは命令キャ
ッシュ54をアドレスするために使用される、29ビッ
トPCSRCデーター・バスにより構成される。2リー
ドア2のシグナルを経由して、次のフェッチ・アトし・
スを規定する。
整数プロセッサー13Gに接続されたマルチプレクサ−
64は、命令キャッシュ54の偶数、或いは奇数部分か
ら、フェッチ命令を選択するために独占的に使用される
。奇数部分58は、得られた分岐目標のフェッチの間に
おいてのみ選択ができる。り一ト88の先取りした選択
、シグナルは、命令をキャッシュ54、或いは先取りレ
ジスター・−70より選択するために使用される。先取
りレジスター・70は1、先行の命令ディスパッチが4
語整列32ビット命令であり1.現行のフェッチが得ら
れた分岐目標によるものでない場合に選択される。先取
り選択シグナルは同様に、キャッシュ・1ントロール6
0を含めて、メモリー管理ユニットに整数プログラムが
現行サイクルにおいて命令キャッシュを参照しておらず
、それ故に、現行フェッチに関連するキャッシュ・ミス
、或いは例外の生成を禁止するという信号を送る。先取
りレジスター、及び外部プログラム・カウンターは、通
常は整数プロセッサー、或いは浮動小数点プロセッサー
が、フェッチeストール(立ち往生)のシグナルを送っ
ていないという条件の下にロードされる。リー ド2の
先取りレジスター選択シグナル、及びマルチプレクサ−
64コントロールは、通常整数プロセッサー66により
供給される。15かしながら、命令キャッシュのミスの
間では、キャッシュ・コントロール60をaめC1メモ
リ・−管理ユニットが、メモリー管理ユニットPCSR
Cの使用中のジグノールが確保されるという条件で、復
帰ミス命令によ−3−(これらのコントロールを行う責
任を持つ。
64は、命令キャッシュ54の偶数、或いは奇数部分か
ら、フェッチ命令を選択するために独占的に使用される
。奇数部分58は、得られた分岐目標のフェッチの間に
おいてのみ選択ができる。り一ト88の先取りした選択
、シグナルは、命令をキャッシュ54、或いは先取りレ
ジスター・−70より選択するために使用される。先取
りレジスター・70は1、先行の命令ディスパッチが4
語整列32ビット命令であり1.現行のフェッチが得ら
れた分岐目標によるものでない場合に選択される。先取
り選択シグナルは同様に、キャッシュ・1ントロール6
0を含めて、メモリー管理ユニットに整数プログラムが
現行サイクルにおいて命令キャッシュを参照しておらず
、それ故に、現行フェッチに関連するキャッシュ・ミス
、或いは例外の生成を禁止するという信号を送る。先取
りレジスター、及び外部プログラム・カウンターは、通
常は整数プロセッサー、或いは浮動小数点プロセッサー
が、フェッチeストール(立ち往生)のシグナルを送っ
ていないという条件の下にロードされる。リー ド2の
先取りレジスター選択シグナル、及びマルチプレクサ−
64コントロールは、通常整数プロセッサー66により
供給される。15かしながら、命令キャッシュのミスの
間では、キャッシュ・コントロール60をaめC1メモ
リ・−管理ユニットが、メモリー管理ユニットPCSR
Cの使用中のジグノールが確保されるという条件で、復
帰ミス命令によ−3−(これらのコントロールを行う責
任を持つ。
以下の詳細な図面i、2.3及び4に、整数プロセッサ
ー・ハードウェアの必要事項が示されている。
ー・ハードウェアの必要事項が示されている。
表 4
分岐目標フェッチ必要事項
もし得られたデコード分岐
そうであれば 次の Ir、taken branch
:椰正しいそうでなければ 次の l1taken b
raneh=誤りEND : 以下の状態式が、先取りコントロール機能性を定義する
。
:椰正しいそうでなければ 次の l1taken b
raneh=誤りEND : 以下の状態式が、先取りコントロール機能性を定義する
。
FUNCTION 次の−jP PC(2)ニブリ
ーンの:EGIN もし得られたデコード分岐ならば そうであれば 次の−IP PC(2)ニーPCSR
C(2)そうでなければ 次の−IP PC(2)ニ
ー誤り:END : FUNCTION 次−もし得られた分岐ならニブリ
ーン;B囮1N FtjNCTrON KP PREXRset
ニブリーン:B田lN 1f (−(deeJ)&−(dce PC<2))&
(Ir、taken branch)そうであれば
IP PREIR5ct−正しいそうでなければ I
P PREIR5et−誤りEND : PROI、”ED[IRE DECPC割当て:B加
IN IP 夏P PREIRセットの場合そうであれば
次の−DECPCニーDec PC+1そうでな
ければ 次の−DECPC: −Fetch PC:
END : PROCEDtlRH5tate 、trans
ltlon :B田1N もし−feteh 5tall &−exee st、
allならばそうであれば EGIN IP PC(2)ニー次の−IP PC(2):D
ECPCニー次の−DECPC: If taken brarieh : −次の I
r taken branch :そうでなければ EGIN IP PC(2)ニーIP PC(2):DECP
CニーDECPC: If taken branch : −If ta
ken=branch :END : PROCEDUR[E 割当てJlリフエツチー−コ
ントロー−ル:B囮IN もし MMU P CS RCJlusyそうであれ
ば B囮IN PC<2):MMU PC(2): PREIRset ニーMMU PREIRset
:END : そうでなければ B九1N PC(2)ニーIP PC(2): PREIRset ニーIP PREIRset :
END二 先取り命令レジスター選択コントロールは、先取りレジ
スター70を選択するための整数プロセッサ−6Bによ
り、整数プロセッサー命令レジスター(示されてはいな
い)にロードされるべき次の命令として供給する。
ーンの:EGIN もし得られたデコード分岐ならば そうであれば 次の−IP PC(2)ニーPCSR
C(2)そうでなければ 次の−IP PC(2)ニ
ー誤り:END : FUNCTION 次−もし得られた分岐ならニブリ
ーン;B囮1N FtjNCTrON KP PREXRset
ニブリーン:B田lN 1f (−(deeJ)&−(dce PC<2))&
(Ir、taken branch)そうであれば
IP PREIR5ct−正しいそうでなければ I
P PREIR5et−誤りEND : PROI、”ED[IRE DECPC割当て:B加
IN IP 夏P PREIRセットの場合そうであれば
次の−DECPCニーDec PC+1そうでな
ければ 次の−DECPC: −Fetch PC:
END : PROCEDtlRH5tate 、trans
ltlon :B田1N もし−feteh 5tall &−exee st、
allならばそうであれば EGIN IP PC(2)ニー次の−IP PC(2):D
ECPCニー次の−DECPC: If taken brarieh : −次の I
r taken branch :そうでなければ EGIN IP PC(2)ニーIP PC(2):DECP
CニーDECPC: If taken branch : −If ta
ken=branch :END : PROCEDUR[E 割当てJlリフエツチー−コ
ントロー−ル:B囮IN もし MMU P CS RCJlusyそうであれ
ば B囮IN PC<2):MMU PC(2): PREIRset ニーMMU PREIRset
:END : そうでなければ B九1N PC(2)ニーIP PC(2): PREIRset ニーIP PREIRset :
END二 先取り命令レジスター選択コントロールは、先取りレジ
スター70を選択するための整数プロセッサ−6Bによ
り、整数プロセッサー命令レジスター(示されてはいな
い)にロードされるべき次の命令として供給する。
プログラム・カウンター・ビット2は、命令キャッシュ
の奇数長語を選択するための、整数ブロセッナーaSよ
りのコントロールを、整数プロセッサー命令レジスター
に提2 (Vote)されるべき次の命令として供給す
る。先取りレジスター・コントロールは、状態の等式で
示される様に、上の表4のコードに表される。
の奇数長語を選択するための、整数ブロセッナーaSよ
りのコントロールを、整数プロセッサー命令レジスター
に提2 (Vote)されるべき次の命令として供給す
る。先取りレジスター・コントロールは、状態の等式で
示される様に、上の表4のコードに表される。
整数プロセッサー・GB、及び浮動小数点プロセッサー
G2は、それぞれデコーダー/コントローラー部分B5
及び63を含有するが、ここで受信される命令語はデコ
ードされる。
G2は、それぞれデコーダー/コントローラー部分B5
及び63を含有するが、ここで受信される命令語はデコ
ードされる。
本発明の実施態様では、浮動小数点プロセッサー62は
、同様に図3に示しである様に、マルチプレクサ−64
により供給される命令ジグJ゛ルを供給する。浮動小数
点プロセッサー62は、シグナルlN5T31:Onを
命令キャッシュ54の奇数部分58から受信する命令レ
ジスター7Bを含有するが、ここで浮動小数点命令は、
その後浮動小数点プロセッサ〜のデザインに従って、演
算レジスター=78及び乗数レジスター80に送られる
。浮動小数点命令レジスター76は、同様にマルチプレ
クサ−64を介して、命令キャッシュ54の代数部分よ
りの命令シグナルlN5T INT 3fi:20.1
5.13:Hを受信するが、ここで貯蔵シグナルは入力
出力(110)コントロール・レジスター82により受
信される。I10コントロール・シグナルは、その後シ
ステム・シグナルのコントロールのために使用される。
、同様に図3に示しである様に、マルチプレクサ−64
により供給される命令ジグJ゛ルを供給する。浮動小数
点プロセッサー62は、シグナルlN5T31:Onを
命令キャッシュ54の奇数部分58から受信する命令レ
ジスター7Bを含有するが、ここで浮動小数点命令は、
その後浮動小数点プロセッサ〜のデザインに従って、演
算レジスター=78及び乗数レジスター80に送られる
。浮動小数点命令レジスター76は、同様にマルチプレ
クサ−64を介して、命令キャッシュ54の代数部分よ
りの命令シグナルlN5T INT 3fi:20.1
5.13:Hを受信するが、ここで貯蔵シグナルは入力
出力(110)コントロール・レジスター82により受
信される。I10コントロール・シグナルは、その後シ
ステム・シグナルのコントロールのために使用される。
本発明の教示に従う、当業界の通常技術の1つによって
行われる他の変更形態、及び代替形態は、本発明の観点
の中に入るものと考えられ、これは以下のり1ノームに
よって限定されるものではない。
行われる他の変更形態、及び代替形態は、本発明の観点
の中に入るものと考えられ、これは以下のり1ノームに
よって限定されるものではない。
本発明の以上の、及び他の特徴は図面共々以下に述べる
発明の詳細な説明を読むことにより、より良く理解でき
るであろう。ここでは:図1は、本発明の1つの実施態
様に従う、中央処理装置の命令ディスパッチ部分のブロ
ック・ダイアグラムである。 図2は、本発明の1つの実施態様に従う、命令フ4−マ
ットを定義するチャートである:そして、図3は3、同
様(S”整数プロセッザー命令スト盲ルームよりのシグ
ナルを含む、命令の浮動小数点プロセッサ・−を紅白す
る流れを示すチャートである。 図面の浄書
発明の詳細な説明を読むことにより、より良く理解でき
るであろう。ここでは:図1は、本発明の1つの実施態
様に従う、中央処理装置の命令ディスパッチ部分のブロ
ック・ダイアグラムである。 図2は、本発明の1つの実施態様に従う、命令フ4−マ
ットを定義するチャートである:そして、図3は3、同
様(S”整数プロセッザー命令スト盲ルームよりのシグ
ナルを含む、命令の浮動小数点プロセッサ・−を紅白す
る流れを示すチャートである。 図面の浄書
Claims (11)
- (1)第1のタイプの2つの命令を含む複数の命令タイ
プを有する命令語、第1のタイプの命令、及び第2のタ
イプの命令を供給するための手段:当該命令語を受信し
、当該命令語を選択的に含有し、及び当該第1タイプ、
及び当該第2タイプの命令の双方を記憶するための2つ
の命令エリアを有する命令キャッシュ: 当該第1プロセッサーに適用されたデータの処理のため
の、当該命令キャッシュからの当該第1タイプの命令を
受信するための第1プロセッサー:及び、 当該第2プロセッサーに適用されたデータの処理のため
の、当該命令キャッシュ(当該第1プロセッサーによる
、当該第1タイプ命令の受信と同時に)からの、当該第
2タイプの命令を受信するための第2プロセッサー。 より構成される、多重同時命令ディスパッチのための装
置。 - (2)更に以下のものを含むクレーム1の装置:当該命
令エリアの1つからの、当該第1タイプ命令を、当該命
令キャッシュが、当該2つの命令エリアに記憶された当
該第1命令タイプの2つを有する場合に、命令エリアの
もう一方と関連をするプロセッサーより構成される受信
プロセッサーに転送するための、先取りレジスター手段
。 - (3)当該手段が以下のものを含むクレーム2の装置: 増加のための当該手段が、当該先取りレジスターからの
命令の、受信プロセッサーへの転送時に抑止される。 当該キャッシュのアドレス・シグナルを増加させるため
の手段。 - (4)当該第1の命令タイプ、及び少なくとも当該第2
の命令タイプの一部を、当該2つの命令エリアの双方か
ら、当該第1、及び第2のうちの1つに供給するための
手段 を更に含有するクレーム1の装置。 - (5)更に以下のものを含有するクレーム1の装置: 当該2つの命令エリアの1つから、命令を当該第1、及
び第2のプロセッサーのうちの1つに選択的に供給する
ための手段。 - (6)当該第1プロセッサーが、受信された第1のタイ
プの命令に応答して、条件コード、及び命令コード・デ
コード・シグナルを供給し、選択的に供給するための当
該手段が、当該条件コード、及び命令コード・デコード
・シグナルに応答的である、クレーム5の装置。 - (7)当該第1プロセッサーが、プログラム・カウンタ
ー・シグナルを供給するための手段を含む、パイプライ
ン・プロセッサーにより構成される、クレーム6の装置
。 - (8)プログラム・カウンター・シグナルを供給するた
めの当該手段が、当該プログラム・カウンターを、ゼロ
の1つ分だけ(1桁)次の命令タイプの増分の値、及び
次の語の増分の値だけ選択的に増加させる、クレーム7
の装置。 - (9)当該命令語が、バイト当たり8ビットの8バイト
を含む、64命令ビットを含み: 当該第1、及び第2命令タイプが、バイト当たり8ビッ
トの4バイトより構成され: 選択的に供給するための当該手段が、各々の命令語バイ
トをアドレスするための手段を含み:次の命令タイプの
当該増分された値が4であり:更に、次の命令語の当該
増分された値が8である、クレーム8の装置。 - (10)当該命令キャッシュからの第1タイプの命令を
受信、及び当該命令カウンターがゼロだけ増分される場
合に、当該第1タイプの命令を、当該第1プロセッサー
に供給するための先取りレジスター手段を更に含む、ク
レーム8の装置。 - (11)当該分岐シグナルが、次の命令タイプの当該増
分された値の整数倍である、当該命令コード・デコード
、及び分岐シグナルをプログラム・カウンター・シグナ
ルに供給するための当該手段に供給するための当該条件
コード・シグナルに応答的な分岐手段を含む、クレーム
10の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US255105 | 1988-10-07 | ||
| US07/255,105 US5051885A (en) | 1988-10-07 | 1988-10-07 | Data processing system for concurrent dispatch of instructions to multiple functional units |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02224055A true JPH02224055A (ja) | 1990-09-06 |
| JP2864421B2 JP2864421B2 (ja) | 1999-03-03 |
Family
ID=22966857
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1261908A Expired - Lifetime JP2864421B2 (ja) | 1988-10-07 | 1989-10-06 | 命令の多機能ユニットへの同時ディスパッチのための方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5051885A (ja) |
| EP (1) | EP0363222B1 (ja) |
| JP (1) | JP2864421B2 (ja) |
| DE (1) | DE68927492T2 (ja) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0365322A3 (en) * | 1988-10-19 | 1991-11-27 | Hewlett-Packard Company | Method and apparatus for exception handling in pipeline processors having mismatched instruction pipeline depths |
| EP0378415A3 (en) * | 1989-01-13 | 1991-09-25 | International Business Machines Corporation | Multiple instruction dispatch mechanism |
| JP2835103B2 (ja) * | 1989-11-01 | 1998-12-14 | 富士通株式会社 | 命令指定方法及び命令実行方式 |
| CA2037708C (en) * | 1990-05-04 | 1998-01-20 | Richard J. Eickemeyer | General purpose compound apparatus for instruction-level parallel processors |
| DE69130588T2 (de) * | 1990-05-29 | 1999-05-27 | National Semiconductor Corp., Santa Clara, Calif. | Cache-Speicher von partiell decodierten Befehlen und Verfahren hierfür |
| JP2771683B2 (ja) * | 1990-07-17 | 1998-07-02 | 三菱電機株式会社 | 並列処理方式 |
| US5163139A (en) * | 1990-08-29 | 1992-11-10 | Hitachi America, Ltd. | Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions |
| EP0477598A2 (de) * | 1990-09-26 | 1992-04-01 | Siemens Aktiengesellschaft | Befehlswerk für einen n Prozessorelemente aufweisenden Prozessor |
| DE69231011T2 (de) * | 1991-02-08 | 2000-09-28 | Fujitsu Ltd., Kawasaki | Cachespeicher zur Verarbeitung von Befehlsdaten und Datenprozessor mit demselben |
| JP2925818B2 (ja) * | 1991-04-05 | 1999-07-28 | 株式会社東芝 | 並列処理制御装置 |
| ES2143490T3 (es) | 1992-08-12 | 2000-05-16 | Advanced Micro Devices Inc | Decodificador de instrucciones. |
| US5617549A (en) * | 1992-10-06 | 1997-04-01 | Hewlett-Packard Co | System and method for selecting and buffering even and odd instructions for simultaneous execution in a computer |
| US5410721A (en) * | 1992-12-24 | 1995-04-25 | Motorola, Inc. | System and method for incrementing a program counter |
| US5721854A (en) * | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
| US6360313B1 (en) | 1993-11-05 | 2002-03-19 | Intergraph Corporation | Instruction cache associative crossbar switch |
| DE69433124T2 (de) * | 1993-11-05 | 2004-05-27 | Intergraph Corp., Huntsville | Befehlsspeicher mit assoziativem Kreuzschienenschalter |
| US5510934A (en) * | 1993-12-15 | 1996-04-23 | Silicon Graphics, Inc. | Memory system including local and global caches for storing floating point and integer data |
| JP3462245B2 (ja) * | 1993-12-22 | 2003-11-05 | 株式会社リコー | 中央演算処理装置 |
| US5590351A (en) * | 1994-01-21 | 1996-12-31 | Advanced Micro Devices, Inc. | Superscalar execution unit for sequential instruction pointer updates and segment limit checks |
| US5559975A (en) * | 1994-06-01 | 1996-09-24 | Advanced Micro Devices, Inc. | Program counter update mechanism |
| US5590358A (en) * | 1994-09-16 | 1996-12-31 | Philips Electronics North America Corporation | Processor with word-aligned branch target in a byte-oriented instruction set |
| US5640526A (en) * | 1994-12-21 | 1997-06-17 | International Business Machines Corporation | Superscaler instruction pipeline having boundary indentification logic for variable length instructions |
| US6006324A (en) * | 1995-01-25 | 1999-12-21 | Advanced Micro Devices, Inc. | High performance superscalar alignment unit |
| US5867726A (en) * | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
| JP3598589B2 (ja) * | 1995-06-28 | 2004-12-08 | 株式会社日立製作所 | プロセッサ |
| US5761469A (en) * | 1995-08-15 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for optimizing signed and unsigned load processing in a pipelined processor |
| US5850563A (en) * | 1995-09-11 | 1998-12-15 | International Business Machines Corporation | Processor and method for out-of-order completion of floating-point operations during load/store multiple operations |
| US5761105A (en) * | 1995-09-26 | 1998-06-02 | Advanced Micro Devices, Inc. | Reservation station including addressable constant store for a floating point processing unit |
| US5878266A (en) * | 1995-09-26 | 1999-03-02 | Advanced Micro Devices, Inc. | Reservation station for a floating point processing unit |
| JP3535354B2 (ja) * | 1997-08-27 | 2004-06-07 | 株式会社東芝 | ストール検出表示装置及び方法 |
| US6292845B1 (en) | 1998-08-26 | 2001-09-18 | Infineon Technologies North America Corp. | Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively |
| US6282633B1 (en) * | 1998-11-13 | 2001-08-28 | Tensilica, Inc. | High data density RISC processor |
| GB2352066B (en) * | 1999-07-14 | 2003-11-05 | Element 14 Ltd | An instruction set for a computer |
| WO2001069372A2 (en) * | 2000-03-10 | 2001-09-20 | Koninklijke Philips Electronics N.V. | Method for compiling a program |
| DE10043003A1 (de) | 2000-09-01 | 2002-03-14 | Infineon Technologies Ag | Programmgesteuerte Einheit |
| US7328314B2 (en) * | 2002-06-19 | 2008-02-05 | Alcatel-Lucent Canada Inc. | Multiprocessor computing device having shared program memory |
| US7793080B2 (en) * | 2007-12-31 | 2010-09-07 | Globalfoundries Inc. | Processing pipeline having parallel dispatch and method thereof |
| US20090172370A1 (en) * | 2007-12-31 | 2009-07-02 | Advanced Micro Devices, Inc. | Eager execution in a processing pipeline having multiple integer execution units |
| US8086825B2 (en) * | 2007-12-31 | 2011-12-27 | Advanced Micro Devices, Inc. | Processing pipeline having stage-specific thread selection and method thereof |
| US8589950B2 (en) | 2011-01-05 | 2013-11-19 | Blackberry Limited | Processing user input events in a web browser |
| CN103336681B (zh) * | 2013-07-03 | 2015-11-25 | 同济大学 | 针对采用变长指令集的流水线结构处理器的取指方法 |
| US10235232B2 (en) * | 2014-02-10 | 2019-03-19 | Via Alliance Semiconductor Co., Ltd | Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction |
| EP4116819A1 (en) * | 2014-07-30 | 2023-01-11 | Movidius Limited | Vector processor |
| US11314516B2 (en) * | 2018-01-19 | 2022-04-26 | Marvell Asia Pte, Ltd. | Issuing instructions based on resource conflict constraints in microprocessor |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1233270A (en) * | 1985-03-18 | 1988-02-23 | Vojin G. Oklobdzija | Register selection mechanism and organization of an instruction prefetch buffer |
| US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
-
1988
- 1988-10-07 US US07/255,105 patent/US5051885A/en not_active Expired - Lifetime
-
1989
- 1989-10-06 DE DE68927492T patent/DE68927492T2/de not_active Expired - Lifetime
- 1989-10-06 EP EP89310272A patent/EP0363222B1/en not_active Expired - Lifetime
- 1989-10-06 JP JP1261908A patent/JP2864421B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE68927492T2 (de) | 1997-04-03 |
| EP0363222A2 (en) | 1990-04-11 |
| DE68927492D1 (de) | 1997-01-09 |
| JP2864421B2 (ja) | 1999-03-03 |
| EP0363222B1 (en) | 1996-11-27 |
| US5051885A (en) | 1991-09-24 |
| EP0363222A3 (en) | 1992-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5051885A (en) | Data processing system for concurrent dispatch of instructions to multiple functional units | |
| US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
| EP0381471B1 (en) | Method and apparatus for preprocessing multiple instructions in a pipeline processor | |
| FI90804C (fi) | Dataprosessorin ohjausyksikkö, jolla on käskyn esihaun uudelleensuuntausta käyttävä keskeytyspalvelu | |
| CA1256216A (en) | Program switching with vector registers | |
| KR100267097B1 (ko) | 슈퍼스칼라 프로세서에서 간단한 비의존성 파이프라인 인터록 제어로서 판독되는 지연된 저장 데이터 | |
| EP0436341B1 (en) | Sequential prefetch method for 1, 2 or 3 word instructions | |
| US12124374B2 (en) | Servicing CPU demand requests with inflight prefetches | |
| EP0391517A2 (en) | Method and apparatus for ordering and queueing multiple memory access requests | |
| US5060148A (en) | Control system for vector processor with serialization instruction for memory accesses for pipeline operation | |
| US11474944B2 (en) | Zero latency prefetching in caches | |
| EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
| WO2019133258A1 (en) | Look up table with data element promotion | |
| US20060259739A1 (en) | Fetch Packet Header Extends Instruction Set Space | |
| WO1996008769A1 (en) | Computer instruction prefetch system | |
| EP1039375A1 (en) | Method and apparatus for implementing zero overhead loops | |
| JP2682217B2 (ja) | マイクロプロセッサ | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| US5404471A (en) | Method and apparatus for switching address generation modes in CPU having plural address generation modes | |
| US7613905B2 (en) | Partial register forwarding for CPUs with unequal delay functional units | |
| EP0411679B1 (en) | Apparatus for dynamically adding a next address field to the instructions of a computer system. | |
| JPH0326862B2 (ja) | ||
| EP0992881A1 (en) | A processor | |
| US20020156996A1 (en) | Mapping system and method for instruction set processing | |
| JPH0659916A (ja) | 命令プリフェッチ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081218 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091218 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: 20091218 Year of fee payment: 11 |