JP2539199B2 - デジタルプロセッサ制御装置 - Google Patents
デジタルプロセッサ制御装置Info
- Publication number
- JP2539199B2 JP2539199B2 JP61203572A JP20357286A JP2539199B2 JP 2539199 B2 JP2539199 B2 JP 2539199B2 JP 61203572 A JP61203572 A JP 61203572A JP 20357286 A JP20357286 A JP 20357286A JP 2539199 B2 JP2539199 B2 JP 2539199B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- data
- memory
- temporary storage
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims 7
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000011084 recovery Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Chemical compound O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/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 or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
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)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 この発明はデジタルコンピュータの命令プロセッサセ
クションに関するものであり、特に同時の記憶アクセス
と命令実行を可能にする方法と装置に関するものであ
る。
クションに関するものであり、特に同時の記憶アクセス
と命令実行を可能にする方法と装置に関するものであ
る。
[関連した同時係属中の出願との相互参照] この出願に特に興味ある関連した、同時係属中の出願
は、William M.Johnson,Brian W.Case,Rod Fleck,Ol
e MollerおよびCHeng Gang Kongのための1985年8月
30日に出願され、この発明の譲受人に譲渡された、「手
順内レジスタ割り当て、手順呼出し、マルチタスキング
動作のために最適化された汎用レジスタファイル(Gene
ral Purpose Register File Optimized for Intr
aprocedual Register Allocation,Procedure Calls,
and Multitasking Performance)」と題される米国特
許連続番号第771,311号の出願である。
は、William M.Johnson,Brian W.Case,Rod Fleck,Ol
e MollerおよびCHeng Gang Kongのための1985年8月
30日に出願され、この発明の譲受人に譲渡された、「手
順内レジスタ割り当て、手順呼出し、マルチタスキング
動作のために最適化された汎用レジスタファイル(Gene
ral Purpose Register File Optimized for Intr
aprocedual Register Allocation,Procedure Calls,
and Multitasking Performance)」と題される米国特
許連続番号第771,311号の出願である。
[発明の背景] コンピュータは、メインメモリからデータを読出す命
令を実行するときには、そのようなメモリの参照をしな
い命令を実行するときよりもはるかに多くの時間を必要
とする。メモリ参照はコンピュータの動作を著しく遅ら
せる可能性がある。したがって、メモリ参照のための時
間のペナルティをなくすための種々の技術がこの技術分
野において知られている。1つのそのような技術は、命
令をメモリからのデータの読出しと同時に実行すること
である。しかし、いわゆる命令依存性によって引起こさ
れるエラーを避けるために、予防策が取られなくてはな
らない。命令依存性とは、ある命令を実行することでメ
モリロケーションの内容が変化するときに、その変化が
起こる毎に、後の命令がそのデータをそのロケーション
から読出して使用してしまう場合をいう。この場合、第
1の命令は後の命令によってデータが読出される前に実
行を完了できるようにしなければならない。メモリデー
ト参照と命令実行とを同時に与えることは、縮小命令セ
ットコンピュータ(RISC)において特に好ましい。とい
うのは、RISCコンピュータの1つの目的は、実行時間を
改善することだからである。しかし、RISCに対して上に
述べられたような先行技術を応用する場合、2つの問題
点がある。第1に、RISCは頻繁に用いられるデータを記
憶するために、比較的大きな汎用ファイルレジスタを含
むのが通常である。メインメモリからファイルの各々の
レジスタへの別々のデータ経路を提供することによっ
て、命令の実行から生じるデータがファイルに書込まれ
るのと同時に、メモリから読出されたデータをファイル
内のどのレジスタにも書込めるようになる。書込時の遅
延は、データ参照と命令実行とを同時に行なうことによ
って実現される時間的改良を帳消しにしてしまうので、
書込時の遅延は望ましくない。RISCファイルレジスタに
は比較的多数のレジスタが存在するので、別々のデータ
経路を実現するのは不経済でもある。
令を実行するときには、そのようなメモリの参照をしな
い命令を実行するときよりもはるかに多くの時間を必要
とする。メモリ参照はコンピュータの動作を著しく遅ら
せる可能性がある。したがって、メモリ参照のための時
間のペナルティをなくすための種々の技術がこの技術分
野において知られている。1つのそのような技術は、命
令をメモリからのデータの読出しと同時に実行すること
である。しかし、いわゆる命令依存性によって引起こさ
れるエラーを避けるために、予防策が取られなくてはな
らない。命令依存性とは、ある命令を実行することでメ
モリロケーションの内容が変化するときに、その変化が
起こる毎に、後の命令がそのデータをそのロケーション
から読出して使用してしまう場合をいう。この場合、第
1の命令は後の命令によってデータが読出される前に実
行を完了できるようにしなければならない。メモリデー
ト参照と命令実行とを同時に与えることは、縮小命令セ
ットコンピュータ(RISC)において特に好ましい。とい
うのは、RISCコンピュータの1つの目的は、実行時間を
改善することだからである。しかし、RISCに対して上に
述べられたような先行技術を応用する場合、2つの問題
点がある。第1に、RISCは頻繁に用いられるデータを記
憶するために、比較的大きな汎用ファイルレジスタを含
むのが通常である。メインメモリからファイルの各々の
レジスタへの別々のデータ経路を提供することによっ
て、命令の実行から生じるデータがファイルに書込まれ
るのと同時に、メモリから読出されたデータをファイル
内のどのレジスタにも書込めるようになる。書込時の遅
延は、データ参照と命令実行とを同時に行なうことによ
って実現される時間的改良を帳消しにしてしまうので、
書込時の遅延は望ましくない。RISCファイルレジスタに
は比較的多数のレジスタが存在するので、別々のデータ
経路を実現するのは不経済でもある。
第2に、RISCは、マイクロコードレベルのプロセッサ
制御を省略している。インターラプト手順によるメモリ
ページフォルトを取扱うのにマイクロコードプログラミ
ングがしばしば用いられているので、ページング要求の
要件を満たすためには、RISCは、命令セットレベルでハ
ードウエアおよびソフトウエアの両方において代わりの
ものを与えなくてはならない。
制御を省略している。インターラプト手順によるメモリ
ページフォルトを取扱うのにマイクロコードプログラミ
ングがしばしば用いられているので、ページング要求の
要件を満たすためには、RISCは、命令セットレベルでハ
ードウエアおよびソフトウエアの両方において代わりの
ものを与えなくてはならない。
[発明の要約] この発明は命令実行と並行してメモリへのデータ参照
を実行するための機構を実現するための、単純なアーキ
テクチャを提供する。このアーキテクチャは特にRISCに
適しており、メインメモリロードまたはストアアドレス
をストアするためのチャネルアドレスレジスタと、スト
ア動作のためのデータを一時的にストアするチャネルデ
ータレジスタと、ロード動作の場合、ファイル内のロー
ドされたレジスタの番号を含む制御情報を格納するチャ
ネル制御レジスタとを採用する。この番号は、ロードさ
れるべきデータの命令の依存性を検出するために用いら
れる。論理回路は、もしロードから必要とされるデータ
がまだ利用可能でないなら、以後の命令処理を一時停止
する。
を実行するための機構を実現するための、単純なアーキ
テクチャを提供する。このアーキテクチャは特にRISCに
適しており、メインメモリロードまたはストアアドレス
をストアするためのチャネルアドレスレジスタと、スト
ア動作のためのデータを一時的にストアするチャネルデ
ータレジスタと、ロード動作の場合、ファイル内のロー
ドされたレジスタの番号を含む制御情報を格納するチャ
ネル制御レジスタとを採用する。この番号は、ロードさ
れるべきデータの命令の依存性を検出するために用いら
れる。論理回路は、もしロードから必要とされるデータ
がまだ利用可能でないなら、以後の命令処理を一時停止
する。
命令実行サイクルがロードデータをレジスタファイル
に書込み直すために利用可能となるまで、ロードデータ
をストアするためのデータイン(DATA−IN)レジスタが
用いられる。この技術はレジスタファイルへの別々の経
路の必要性をなくす。論理回路はレジスタファイルロケ
ーションを効果的に置換するために、その書戻しの前の
データの記憶を検出する。
に書込み直すために利用可能となるまで、ロードデータ
をストアするためのデータイン(DATA−IN)レジスタが
用いられる。この技術はレジスタファイルへの別々の経
路の必要性をなくす。論理回路はレジスタファイルロケ
ーションを効果的に置換するために、その書戻しの前の
データの記憶を検出する。
ページフォルトの間、ページフォルトを回復できるよ
うにするために、チャネルアドレスと、チャネルデータ
と、チャネル制御レジスタとの内容がセーブされる。
うにするために、チャネルアドレスと、チャネルデータ
と、チャネル制御レジスタとの内容がセーブされる。
[好ましい実施例の詳細な説明] 縮小命令セットコピュータ(RISC)のデジタルプロセ
ッサ制御部10は第1図にブロック図の形で示されてい
る。このデジタルプロセッサ制御部10は命令実行とメモ
リへのデータ参照とを同時に提供する。プロセッサ10は
頻繁に用いられるデータを記憶するためのレジスタファ
イル12を含む。プロセッサ10に用いるのに適しているレ
ジスタファイルは関連した同時係属中の、William M.J
ohnson,Brian W.Case,Rod Fleck,Ole MollerおよびC
heng Gang Kongのための1985年8月30日に出願され、
この発明の譲受人に譲渡された、「手順内レジスタ割り
当て、手順呼出し、マルチタスキング動作のために最適
化された汎用レジスタファイル(General Purpose Re
gister File Optimized for Intraprocedual Regi
ster Allocation,Procedure Calls,and Multitaskin
g Performance)」と題される米国特許連続番号第771,
311号の出願に説明される。その説明はここで引用によ
り援用される。第1図に示される経路は示された要素の
間のデータの流れのみを例示し、いくつかの信号を並列
に導伝することができる。制御信号経路もまた当業者に
よって認められるように、必要であるが、種々の例示さ
れた要素の制御を達成する方法は当業者によって周知で
あるので第1図に示されていない。
ッサ制御部10は第1図にブロック図の形で示されてい
る。このデジタルプロセッサ制御部10は命令実行とメモ
リへのデータ参照とを同時に提供する。プロセッサ10は
頻繁に用いられるデータを記憶するためのレジスタファ
イル12を含む。プロセッサ10に用いるのに適しているレ
ジスタファイルは関連した同時係属中の、William M.J
ohnson,Brian W.Case,Rod Fleck,Ole MollerおよびC
heng Gang Kongのための1985年8月30日に出願され、
この発明の譲受人に譲渡された、「手順内レジスタ割り
当て、手順呼出し、マルチタスキング動作のために最適
化された汎用レジスタファイル(General Purpose Re
gister File Optimized for Intraprocedual Regi
ster Allocation,Procedure Calls,and Multitaskin
g Performance)」と題される米国特許連続番号第771,
311号の出願に説明される。その説明はここで引用によ
り援用される。第1図に示される経路は示された要素の
間のデータの流れのみを例示し、いくつかの信号を並列
に導伝することができる。制御信号経路もまた当業者に
よって認められるように、必要であるが、種々の例示さ
れた要素の制御を達成する方法は当業者によって周知で
あるので第1図に示されていない。
簡単には、レジスタファイル12は各々が指示部または
数を持った1組のレジスタを含む。レジスタファイル12
は第1および第2の読出ポートと、第1および第2の読
出アドレスポートと、書込ポートとを有する。第1の読
出ポートに転送されたファイル12内のレジスタの内容は
バス14を介してデータラッチ16に導伝され、そして第2
の読出ポートに転送された内容はバス18を介してデータ
ラッチ20に導伝される。それぞれデータラッチ16および
データラッチ20の出力端子はそれぞれバス22および24を
介してそれぞれ算術論理ユニット(ALU)26への第1お
よび第2の入力に接続される。ALU26の出力端子はバス2
8を介してラッチ16およびラッチ20の第2の入力端子に
接続される。バス28はまた、ALU26の出力をデータラッ
チ30の入力端子に接続する。ラッチ30の出力端子はバス
32を介してレジスタファイル12の書込ポートに接続され
る。
数を持った1組のレジスタを含む。レジスタファイル12
は第1および第2の読出ポートと、第1および第2の読
出アドレスポートと、書込ポートとを有する。第1の読
出ポートに転送されたファイル12内のレジスタの内容は
バス14を介してデータラッチ16に導伝され、そして第2
の読出ポートに転送された内容はバス18を介してデータ
ラッチ20に導伝される。それぞれデータラッチ16および
データラッチ20の出力端子はそれぞれバス22および24を
介してそれぞれ算術論理ユニット(ALU)26への第1お
よび第2の入力に接続される。ALU26の出力端子はバス2
8を介してラッチ16およびラッチ20の第2の入力端子に
接続される。バス28はまた、ALU26の出力をデータラッ
チ30の入力端子に接続する。ラッチ30の出力端子はバス
32を介してレジスタファイル12の書込ポートに接続され
る。
第1図に示されていないプロセッサ10の部分は示され
ていない命令キャッシュからフェッチされる命令を処理
し、そして命令によって要求された動作の実行を引き起
こす。そのような動作はファイル12のレジスタからのデ
ータラッチ16または20のうちの1つへのローディングを
含むことがある。レジスタのアドレスは命令によって特
定される。あるいは、上述のような動作はラッチ30に保
持されるALU26の動作の結果をファイル12のレジスタに
ストアすることであることもある。この場合もまた、ア
ドレスは命令によって特定される。これらの動作は当業
者によって認められるであろうように、第2図に図示さ
れていないプロセッサ10の部分によって制御される。こ
れらの動作の詳細な説明には関連した同時係属中の出願
を参照することができる。
ていない命令キャッシュからフェッチされる命令を処理
し、そして命令によって要求された動作の実行を引き起
こす。そのような動作はファイル12のレジスタからのデ
ータラッチ16または20のうちの1つへのローディングを
含むことがある。レジスタのアドレスは命令によって特
定される。あるいは、上述のような動作はラッチ30に保
持されるALU26の動作の結果をファイル12のレジスタに
ストアすることであることもある。この場合もまた、ア
ドレスは命令によって特定される。これらの動作は当業
者によって認められるであろうように、第2図に図示さ
れていないプロセッサ10の部分によって制御される。こ
れらの動作の詳細な説明には関連した同時係属中の出願
を参照することができる。
メインメモリ34はあまりしばしば必要とされないデー
タをストアするためにプロセッサ10によって用いられ
る。双方向のデータバス36はメモリ34をプロセッサ10の
ために働くローカルチャネル38に接続させる。図示され
ていない他のプロセッサがプロセッサ10とメモリ34を共
有してもよい。その場合、それらはそれら自身のローカ
ルチャネルを介してメモリ34に接続される。
タをストアするためにプロセッサ10によって用いられ
る。双方向のデータバス36はメモリ34をプロセッサ10の
ために働くローカルチャネル38に接続させる。図示され
ていない他のプロセッサがプロセッサ10とメモリ34を共
有してもよい。その場合、それらはそれら自身のローカ
ルチャネルを介してメモリ34に接続される。
データインレジスタ40の入力端子はローカルチャネル
38に接続され、そのためメモリ34から読出されたロード
データは一時的にストアされ得る。データインレジスタ
40の出力端子はバス42を介してラッチ16、20および30の
入力端子に接続される。
38に接続され、そのためメモリ34から読出されたロード
データは一時的にストアされ得る。データインレジスタ
40の出力端子はバス42を介してラッチ16、20および30の
入力端子に接続される。
チャネルアドレスレジスタ44の入力端子はバス46を介
してレジスタファイル12の第1の読出ポートに接続さ
れ、そしてチャネルデータレジスタ48の入力端子はバス
50を介してレジスタファイル12の第2の読出ポートに接
続される。チャネルアドレスおよびチャネルデータレジ
スタの44および48の出力端子はそれぞれバス52および54
を介してローカルチャネル38に接続される。チャネル制
御レジスタ56は状態および制御信号をプロセッサ10の制
御部分から受取り、そしてローカルチャネル38に接続さ
れた要素の間の交信を維持する信号ライン58を介して信
号を発生する。
してレジスタファイル12の第1の読出ポートに接続さ
れ、そしてチャネルデータレジスタ48の入力端子はバス
50を介してレジスタファイル12の第2の読出ポートに接
続される。チャネルアドレスおよびチャネルデータレジ
スタの44および48の出力端子はそれぞれバス52および54
を介してローカルチャネル38に接続される。チャネル制
御レジスタ56は状態および制御信号をプロセッサ10の制
御部分から受取り、そしてローカルチャネル38に接続さ
れた要素の間の交信を維持する信号ライン58を介して信
号を発生する。
ロードまたはストア命令のデコードサイクルの間、プ
ロセッサ10の制御部分は信号を発生し、それによってメ
モリアドレスがレジスタファイル12の第2の読出部分で
発生され、そしてストア命令の場合にはデータがレジス
タファイル12の第1の読出部分で発生され、そしてデコ
ードサイクルの最後でアドレスはバス46を介してチャネ
ルアドレスレジスタ44に導伝され、データはバス50を介
してチャネルデータレジスタ48に導伝され、そして制御
情報はチャネル制御レジスタ56内に置かれる。レジスタ
44、48および56の内容はメモリ34へのメモリ参照が完了
するまで変化されず、そのためもし完了前にメモリ34の
ページフォルトが起こると、これらのレジスタの内容は
セーブされそしてバスがフォルトを検出することを引起
こした動作を再度始めるために用いられる。
ロセッサ10の制御部分は信号を発生し、それによってメ
モリアドレスがレジスタファイル12の第2の読出部分で
発生され、そしてストア命令の場合にはデータがレジス
タファイル12の第1の読出部分で発生され、そしてデコ
ードサイクルの最後でアドレスはバス46を介してチャネ
ルアドレスレジスタ44に導伝され、データはバス50を介
してチャネルデータレジスタ48に導伝され、そして制御
情報はチャネル制御レジスタ56内に置かれる。レジスタ
44、48および56の内容はメモリ34へのメモリ参照が完了
するまで変化されず、そのためもし完了前にメモリ34の
ページフォルトが起こると、これらのレジスタの内容は
セーブされそしてバスがフォルトを検出することを引起
こした動作を再度始めるために用いられる。
通常では、ALU26およびプロセッサ10の関連した部分
による命令の実行は、チャネル制御レジスタ56およびプ
ロセッサ10の制御部分の制御の下で、データインレジス
タ40を介してのメインメモリ34からの、およびチャネル
アドレスおよびデータレジスタ44および48を介してのメ
インメモリへのデータの転送と独立してそして同時に起
こり得る。しかしながら、チャネル制御レジスタ56にス
トアされたファイル12のレジスタの番号はまた、メモリ
へのデータ参照と命令実行とを同時に行なうことを妨げ
るような、ロードされるべきデータに「依存する」命令
を検出するために用いることができる。
による命令の実行は、チャネル制御レジスタ56およびプ
ロセッサ10の制御部分の制御の下で、データインレジス
タ40を介してのメインメモリ34からの、およびチャネル
アドレスおよびデータレジスタ44および48を介してのメ
インメモリへのデータの転送と独立してそして同時に起
こり得る。しかしながら、チャネル制御レジスタ56にス
トアされたファイル12のレジスタの番号はまた、メモリ
へのデータ参照と命令実行とを同時に行なうことを妨げ
るような、ロードされるべきデータに「依存する」命令
を検出するために用いることができる。
第1図に示される比較器60は第1および第2の信号ラ
イン62および64上で、それぞれファイル12から検索され
るべきオペランドのレジスタ番号と、進行中のロードの
行先であり、すなわちオペランドをロードするために用
いられるファイル12内のレジスタのレジスタ番号とを示
す信号を受取る。ライン62および64上の信号はまたレジ
スタファイル12のそれぞれ第1および第2の読出アドレ
スポートに与えられる。比較器60はまた進行中であるロ
ードに関するファイル12内のレジスタ番号を示す制御信
号を信号ライン58を介してチャネル制御レジスタ56から
受取る。比較器60は、もしライン62または64に沿って導
伝されるレジスタ番号がライン58に沿って導伝されるも
のと結果として一致するなら、出力端子でHIGH HOLD信
号を発生し、そしてオペランドを読出す命令の、それよ
り先への処理は進行中のロードが完了されるまで一時停
止する。
イン62および64上で、それぞれファイル12から検索され
るべきオペランドのレジスタ番号と、進行中のロードの
行先であり、すなわちオペランドをロードするために用
いられるファイル12内のレジスタのレジスタ番号とを示
す信号を受取る。ライン62および64上の信号はまたレジ
スタファイル12のそれぞれ第1および第2の読出アドレ
スポートに与えられる。比較器60はまた進行中であるロ
ードに関するファイル12内のレジスタ番号を示す制御信
号を信号ライン58を介してチャネル制御レジスタ56から
受取る。比較器60は、もしライン62または64に沿って導
伝されるレジスタ番号がライン58に沿って導伝されるも
のと結果として一致するなら、出力端子でHIGH HOLD信
号を発生し、そしてオペランドを読出す命令の、それよ
り先への処理は進行中のロードが完了されるまで一時停
止する。
主要メモリ34へのデータのローディングおよび記憶の
間の、プロセッサ10の動作をより良く理解するために、
記憶参照命令の実行を例示する第2図を次に参照すべき
である。ロード命令の部分100は、オペレーションコー
ド102と、メモリ34のソースアドレスのファイル12内の
ロケーションを識別するレジスタロケーション番号104
と、制御情報106と、レジスタファイル12内の行先アド
レス108からなっているのが示される。第2図に示され
るように、ソースアドレスはチャネルアドレスレジスタ
44への後の転送のためにファイル12内の、ロケーション
番号104によって識別されるロケーションのレジスタに
ストアされ、制御情報106および行先アドレス108はプロ
セッサ状態情報と一緒にチャネル制御レジスタ56にスト
アされる。
間の、プロセッサ10の動作をより良く理解するために、
記憶参照命令の実行を例示する第2図を次に参照すべき
である。ロード命令の部分100は、オペレーションコー
ド102と、メモリ34のソースアドレスのファイル12内の
ロケーションを識別するレジスタロケーション番号104
と、制御情報106と、レジスタファイル12内の行先アド
レス108からなっているのが示される。第2図に示され
るように、ソースアドレスはチャネルアドレスレジスタ
44への後の転送のためにファイル12内の、ロケーション
番号104によって識別されるロケーションのレジスタに
ストアされ、制御情報106および行先アドレス108はプロ
セッサ状態情報と一緒にチャネル制御レジスタ56にスト
アされる。
ストア命令の部分110はオペレーションコード112と、
メモリ34のソースアドレスのファイル12内のロケーショ
ンを識別するレジスタロケーション番号114と、レジス
タファイル12から読出されるべきデータのソースのレジ
スタロケーション番号116と、制御情報118とからなって
いるのが第2図に示される。ソースアドレスは後のチャ
ネルアドレスレジスタ44への転送のためにレジスタファ
イル12内のロケーション番号114によって識別されるロ
ケーションにストアされ、データソースは後のチャネル
データレジスタ48への転送のためにロケーション番号11
6によって識別されるロケーションでレジスタファイル1
2内にストアされ、そして制御情報118はチャネル制御レ
ジスタ56内にストアされる。このようにしてデータは命
令実行と同時に、レジスタファイル12へメインメモリ34
からロードされ、そしてレジスタファイル12からメイン
メモリ34へとストアされ得る。命令依存性は上で述べら
れた比較器60によって検出され、そしてもし依存性が検
出されるなら、ロードが完了するまで命令のさらなる実
行を妨げる。その代わりに、もしページフォルトがメイ
ンメモリ34内で検出されるなら、レジスタ44、48および
56の内容はフォルト動作を解決および再度始めるために
用いられ得る。
メモリ34のソースアドレスのファイル12内のロケーショ
ンを識別するレジスタロケーション番号114と、レジス
タファイル12から読出されるべきデータのソースのレジ
スタロケーション番号116と、制御情報118とからなって
いるのが第2図に示される。ソースアドレスは後のチャ
ネルアドレスレジスタ44への転送のためにレジスタファ
イル12内のロケーション番号114によって識別されるロ
ケーションにストアされ、データソースは後のチャネル
データレジスタ48への転送のためにロケーション番号11
6によって識別されるロケーションでレジスタファイル1
2内にストアされ、そして制御情報118はチャネル制御レ
ジスタ56内にストアされる。このようにしてデータは命
令実行と同時に、レジスタファイル12へメインメモリ34
からロードされ、そしてレジスタファイル12からメイン
メモリ34へとストアされ得る。命令依存性は上で述べら
れた比較器60によって検出され、そしてもし依存性が検
出されるなら、ロードが完了するまで命令のさらなる実
行を妨げる。その代わりに、もしページフォルトがメイ
ンメモリ34内で検出されるなら、レジスタ44、48および
56の内容はフォルト動作を解決および再度始めるために
用いられ得る。
第1図を再び参照すると、メインメモリ34から読出さ
れたデータはバス36およびローカルチャネル38を介して
データリンレジスタ40に導伝され、そのデータがレジス
タファイル12に書込まれる命令実行サイクルが利用可能
となるまでデータインレジスタ40にストアされる。レジ
スタファイル12のサイズがそのような動作のための別々
のデータ経路を排除するので、第1図に例示されるプロ
セッサの動作およびアーキテクチャはそのような別々の
経路の必要性をなくす。データがデータインレジスタ40
内にある間、上に図示された命令の依存性を検出する比
較器は、ALU26によって使用するためにこのデータのソ
ースを制御する。この期間の間、データインレジスタ40
の内容はバス42と、それぞれデータラッチ16および20を
介してALU26の第1または第2の入力のいずれかに導伝
され、そのためデータインレジスタ40は主要メモリ34か
ら検索されたデータの行先であるファイル12内のレジス
タを効果的に取替える。
れたデータはバス36およびローカルチャネル38を介して
データリンレジスタ40に導伝され、そのデータがレジス
タファイル12に書込まれる命令実行サイクルが利用可能
となるまでデータインレジスタ40にストアされる。レジ
スタファイル12のサイズがそのような動作のための別々
のデータ経路を排除するので、第1図に例示されるプロ
セッサの動作およびアーキテクチャはそのような別々の
経路の必要性をなくす。データがデータインレジスタ40
内にある間、上に図示された命令の依存性を検出する比
較器は、ALU26によって使用するためにこのデータのソ
ースを制御する。この期間の間、データインレジスタ40
の内容はバス42と、それぞれデータラッチ16および20を
介してALU26の第1または第2の入力のいずれかに導伝
され、そのためデータインレジスタ40は主要メモリ34か
ら検索されたデータの行先であるファイル12内のレジス
タを効果的に取替える。
そこでデータインレジスタ40の内容をレジスタファイ
ル12に書込むための命令実行サイクルが利用可能になる
と、レジスタ40の内容はラッチ30に導伝され、そしてそ
こからバス32を介してファイル12の書込ポートへと導伝
される。
ル12に書込むための命令実行サイクルが利用可能になる
と、レジスタ40の内容はラッチ30に導伝され、そしてそ
こからバス32を介してファイル12の書込ポートへと導伝
される。
データインレジスタ40がメモリ34から読出されたデー
タを一時的にストアするために用いられることを引き起
こした命令に続く命令であって、メインメモリ34からデ
ータのアクセスを必要とするようなものが存在し得る。
この後者の命令もまた、データインレジスタ40内でのデ
ータの一時的な記憶を必要とするだろう。しかしなが
ら、この後の命令の存在もまた、第3図のタイミング図
に関して以下に述べられるように、レジスタファイル12
に書込むためのサイクルの利用の可能性を保証する。
タを一時的にストアするために用いられることを引き起
こした命令に続く命令であって、メインメモリ34からデ
ータのアクセスを必要とするようなものが存在し得る。
この後者の命令もまた、データインレジスタ40内でのデ
ータの一時的な記憶を必要とするだろう。しかしなが
ら、この後の命令の存在もまた、第3図のタイミング図
に関して以下に述べられるように、レジスタファイル12
に書込むためのサイクルの利用の可能性を保証する。
命令キャッシュからのフェッチ命令と、デコード命令
と、命令実行と、結果のストアの命令の処理のためにプ
ロセッサ10は4段階パイプラインを採用する。第3図は
この発明のプロセッサ10によって与えられる同時の記憶
データ参照および命令の実行を例示するタイミング図で
ある。時間t0で始まり、命令フェッチサイクル201が起
こり、次にt1で始まる命令デコードサイクル202が続
き、次にt2で始まる命令実行サイクル203が続き、次にt
3で始まるファイル12へのストアバック動作204が続き、
t4まで持続する。プロセッサ10はこれもまた時間t2で始
まるデータ205のレジスタファイル12からメインメモリ3
4までの転送を始動することができ、そのためt3で始ま
る命令の実行203に即座に続くサイクルの間、転送が起
こる。ストアバック動作は主要メモリ転送動作205が終
わった後に時間t3で起こらなければならず、こうして遅
延されたストアバック動作206はt5で始まり、t6まで継
続する。さらに、メインメモリ34からファイル12へのデ
ータの転送は遅延されたストアバック動作206と同時に
期間t5ないしt6の間に起こることができる。
と、命令実行と、結果のストアの命令の処理のためにプ
ロセッサ10は4段階パイプラインを採用する。第3図は
この発明のプロセッサ10によって与えられる同時の記憶
データ参照および命令の実行を例示するタイミング図で
ある。時間t0で始まり、命令フェッチサイクル201が起
こり、次にt1で始まる命令デコードサイクル202が続
き、次にt2で始まる命令実行サイクル203が続き、次にt
3で始まるファイル12へのストアバック動作204が続き、
t4まで持続する。プロセッサ10はこれもまた時間t2で始
まるデータ205のレジスタファイル12からメインメモリ3
4までの転送を始動することができ、そのためt3で始ま
る命令の実行203に即座に続くサイクルの間、転送が起
こる。ストアバック動作は主要メモリ転送動作205が終
わった後に時間t3で起こらなければならず、こうして遅
延されたストアバック動作206はt5で始まり、t6まで継
続する。さらに、メインメモリ34からファイル12へのデ
ータの転送は遅延されたストアバック動作206と同時に
期間t5ないしt6の間に起こることができる。
第1図はデータ参照および命令実行を平行に提供するRI
SCプロセッサの一部分のブロック図である。 第2図はこの発明のプロセッサによるロードおよびスト
ア命令の実行を例示する。 第3図は同時のデータへのデータ参照および命令実行を
例示するこの発明のプロセッサのタイミング図である。 図において、10はデジタルプロセッサ制御部分、12はレ
ジスタファイル、14,16,22,24,28,32,42,46,50,52およ
び54はバス、16,20および30はデータラッチ、26は演算
論理装置(ALU)、34はメインメモリ、36は双方向のデ
ータバス、38はローカルチャネル、40はデータインレジ
スタ、44はチャネルアドレスレジスタ、48はチャネルデ
ータレジスタ、56はチャネル制御レジスタ、58は信号ラ
イン、60は比較器、62および64は信号ライン、102は動
作コード、104はアドレスソース、106は制御情報、108
は行先アドレス、112は動作コード、114はアドレスソー
ス、116はデータソース、118は制御情報、201は命令フ
ェッチサイクル、202は命令デコードサイクル、203は命
令実行サイクル、204はストアバック動作、205はデータ
転送、206はストアバック動作である。
SCプロセッサの一部分のブロック図である。 第2図はこの発明のプロセッサによるロードおよびスト
ア命令の実行を例示する。 第3図は同時のデータへのデータ参照および命令実行を
例示するこの発明のプロセッサのタイミング図である。 図において、10はデジタルプロセッサ制御部分、12はレ
ジスタファイル、14,16,22,24,28,32,42,46,50,52およ
び54はバス、16,20および30はデータラッチ、26は演算
論理装置(ALU)、34はメインメモリ、36は双方向のデ
ータバス、38はローカルチャネル、40はデータインレジ
スタ、44はチャネルアドレスレジスタ、48はチャネルデ
ータレジスタ、56はチャネル制御レジスタ、58は信号ラ
イン、60は比較器、62および64は信号ライン、102は動
作コード、104はアドレスソース、106は制御情報、108
は行先アドレス、112は動作コード、114はアドレスソー
ス、116はデータソース、118は制御情報、201は命令フ
ェッチサイクル、202は命令デコードサイクル、203は命
令実行サイクル、204はストアバック動作、205はデータ
転送、206はストアバック動作である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チェン・ガン・コン アメリカ合衆国、カリフォルニア州、サ ン・ホセ アグア・ヴィスタ・ドライ ブ、2822 (72)発明者 オーレ・モラー デンマーク王国、デ・ゴ・2990 ニーヴ ァ ローモゼン、310 (56)参考文献 特開 昭59−231652(JP,A) 特開 昭57−100680(JP,A)
Claims (6)
- 【請求項1】メモリからのロード命令とメモリへのスト
ア命令とを含むセットからの命令をサイクル的に実行
し、前記メモリへのアクセスと同時に命令実行を提供す
るデジタルプロセッサ制御装置であって、 第1および第2の出力端子と、第1および第2のアドレ
ス端子と、入力端子とを有し、各々がロケーション指示
部を有する複数個の複数ビットワードを、前記ワードを
表わす信号が前記入力端子に与えられるとストアし、前
記第1および第2のアドレス端子に与えられる前記信号
に対応するロケーションにストアされる前記ワードにそ
れぞれ対応する信号を前記第1および第2の出力端子に
発生するためのファイル手段と、 前記メモリに接続され、前記メモリから読出されたワー
ドを一時的に受取りそしてストアし、そして前記ワード
に対応する信号を出力端子に発生するための第1の一時
記憶手段と、 前記ファイル手段の前記出力端子と前記第1の一時記憶
手段の出力端子とに接続される複数個の入力端子を有
し、前記入力端子に与えられた前記信号の選択可能なも
のを算術的に組合せ、そして前記組合せに対応する信号
を発生するための組合せ手段と、 それぞれ前記ファイル手段の第1および第2の出力端子
に接続され、前記ファイル手段の第1および第2の出力
端子に発生されたワードに対応する信号を一時的に受取
りそしてストアするための第2および第3の一時記憶手
段と、 制御情報を一時的に受取りそしてストアし、前記制御情
報からチャネル制御信号を発生するための第4の一時記
憶手段と、さらに、 前記組合せ手段と前記第1の一時記憶手段とによって発
生された前記信号に応答し、前記信号の1つを前記ファ
イル手段の入力端子に選択的に導伝するための第1の多
重手段とを含み、 前記メモリは前記第2および第4の一時記憶手段の内容
に応答して前記第3の一時記憶手段の内容をストアし、
さらに 前記第1の多重手段が前記第1の一時記憶手段の内容を
前記ファイル手段に導伝するまで、前記組合せ手段が、
前記第1の一時記憶手段の内容を選択する、プロセッサ
制御装置。 - 【請求項2】前記組合せ手段が、 第1および第2の入力端子と出力端子とを有し、前記組
合せに対応する前記信号を発生するための算術論理ユニ
ット手段と、 前記ファイル手段の前記第1の出力端子と、前記算術論
理ユニット手段の前記出力端子と、前記第1の一時記憶
手段の前記出力端子とでそれぞれ発生された信号に応答
して、前記算術論理ユニット手段の前記第1の入力端子
に選択的に導伝するための第2の多重手段と、 前記ファイル手段の前記第2の出力端子と、前記算術論
理ユニット手段の前記出力端子と、前記第1の一時記憶
手段の前記出力端子とでそれぞれ発生された信号に応答
し、前記算術論理ユニット手段の前記第2の入力端子に
選択的に導電するための第3の多重手段とを含む、特許
請求の範囲第1項に記載のデジタルプロセッサ制御装
置。 - 【請求項3】前記第4の一時記憶手段によってストアさ
れた前記制御情報が前記第1の一時記憶手段の内容に対
応するファイル手段ロケーション指示部を含む、特許請
求の範囲第1項に記載のデジタルプロセッサ制御装置。 - 【請求項4】メモリからのロード命令とメモリへのスト
ア命令とを含むセットからの命令をサイクル的に実行
し、前記メモリへのアクセスと同時に命令実行を提供す
るデジタルプロセッサ制御装置であって、 第1および第2の出力端子と、第1および第2のアドレ
ス端子と、入力端子とを有し、各々がロケーション指示
部を有する複数個の複数ビットワードを、前記ワードを
表わす信号が前記入力端子に与えられるとストアし、そ
れぞれ前記第1および第2のアドレス端子に与えられる
前記信号に対応するロケーションにストアされる前記ワ
ードに対応する信号を前記第1および第2の出力端子に
発生するためのファイル手段と、 前記メモリに接続され、前記メモリから読出されたワー
ドを一時的に受取りそしてストアし、そして前記ワード
に対応する信号を出力端子に発生するための第1の一時
記憶手段と、 前記ファイル手段の前記出力端子と前記第1の一時記憶
手段の出力端子とに接続される複数個の入力端子を有
し、前記入力端子に与えられた前記信号の選択可能なも
のを算術的に組合せ、そして前記組合せに対応する信号
を発生するための組合せ手段と、 それぞれ前記ファイル手段の第1および第2の出力端子
に接続され、前記ファイル手段の第1および第2の出力
端子に発生されたワードに対応する信号を一時的に受取
りそしてストアするための第2および第3の一時記憶手
段と、 制御情報を一時的に受取りそしてストアし、前記制御情
報からチャネル制御信号を発生するための第4の一時記
憶手段と、さらに 前記組合せ手段と前記第1の一時記憶手段によって発生
された前記信号に応答し、前記信号の1つを前記ファイ
ル手段の入力端子に選択的に導伝するための第1の多重
手段とを含み、 前記メモリは前記第2および第4の一時記憶手段の内容
に応答して前記第3の一時記憶手段の内容をストアし、
さらに 前記第1の多重手段が前記第1の一時記憶手段の内容を
前記ファイル手段に導伝するまで、前記組合せ手段が前
記第1の一時記憶手段の前記内容を選択し、さらに 前記ファイル手段の前記第1および第2のアドレス端子
にそれぞれ接続される第1および第2の入力端子を有
し、前記チャネル制御信号に応答して、前記チャネル制
御信号から、前記チャネル制御信号のアドレス部分と、
前記ファイル手段の前記第1および第2の入力端子に与
えられた前記アドレス信号の少なくとも1つとが同一で
ある場合には、その同一であることを表わす第1の信号
を発生し、そうでない場合には第2の信号を発生するた
めの比較手段を含む、デジタルプロセッサ制御装置。 - 【請求項5】各々がロケーション指示部を有するレジス
タのファイルを有するデジタルプロセッサ制御による、
メモリへのアクセスと同時に、各々が複数個のオペラン
ドを含む命令を実行する方法であって、 a) キャッシュから命令を読出す段階と、 b) 段階(a)で読出された命令のオペランドのレジ
スタファイルのロケーション指示部を決定する段階と、 c) 段階(b)で決定された前記オペランドのレジス
タファイルのロケーション指示部をストアする段階と、 d) 段階(c)でストアされた前記ロケーション指示
部のいずれもがあるロケーション指定と等しくないな
ら、メモリの前記レジスタファイル内の前記あるロケー
ション指定からのデータのロードと並列に、段階(a)
で読出された前記命令を実行する段階と、 e) メモリから読出された、前記レジスタファイル内
のロケーション指示部にストアされるべきデータを一時
的にストアする段階と、 f) もし前記ロケーション指示部の1個以上が段階
(e)で規定された前記ロケーション指示部と等しいな
らその場合は前記1個以上のオペランドとして段階
(e)で一時的にストアされたデータを用いるが、もし
そうでなければ、段階(c)でストアされた前記ロケー
ション指示部でのデータを用いて段階(a)で読出され
た前記命令を実行する段階とを含む、並列実行およびメ
モリアクセス方法。 - 【請求項6】段階(e)で一時的にストアされた前記デ
ータが前記レジスタファイル内の前記ロケーション指示
部にストアされるまで、段階(e)および(f)を繰返
す段階とをさらに含む、特許請求の範囲第5項に記載の
並列実行およびメモリアクセス方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US771435 | 1985-08-30 | ||
US06/771,435 US4734852A (en) | 1985-08-30 | 1985-08-30 | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6255736A JPS6255736A (ja) | 1987-03-11 |
JP2539199B2 true JP2539199B2 (ja) | 1996-10-02 |
Family
ID=25091809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61203572A Expired - Lifetime JP2539199B2 (ja) | 1985-08-30 | 1986-08-28 | デジタルプロセッサ制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4734852A (ja) |
EP (1) | EP0213842B1 (ja) |
JP (1) | JP2539199B2 (ja) |
AT (1) | ATE81730T1 (ja) |
DE (1) | DE3686991T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9211054B2 (en) | 2012-01-13 | 2015-12-15 | Olympus Corporation | Endoscope tip part and endoscope |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
JPS63240632A (ja) * | 1987-03-27 | 1988-10-06 | Nec Corp | 情報処理装置 |
JPS6462764A (en) * | 1987-09-03 | 1989-03-09 | Agency Ind Science Techn | Vector computer |
US5317715A (en) * | 1987-12-15 | 1994-05-31 | Advanced Micro Devices, Inc. | Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
US5513332A (en) * | 1988-05-31 | 1996-04-30 | Extended Systems, Inc. | Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween |
JP3034873B2 (ja) * | 1988-07-01 | 2000-04-17 | 株式会社日立製作所 | 情報処理装置 |
US5083263A (en) * | 1988-07-28 | 1992-01-21 | Sun Microsystems, Inc. | BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer |
US5226169A (en) * | 1988-12-30 | 1993-07-06 | International Business Machines Corp. | System for execution of storage-immediate and storage-storage instructions within cache buffer storage |
JP2655191B2 (ja) * | 1989-07-05 | 1997-09-17 | 三菱電機株式会社 | 演算処理装置 |
JP2816248B2 (ja) * | 1989-11-08 | 1998-10-27 | 株式会社日立製作所 | データプロセッサ |
US5179681A (en) * | 1989-11-16 | 1993-01-12 | Sun Microsystems, Inc. | Method and apparatus for current window cache with switchable address and out cache registers |
US5203002A (en) * | 1989-12-27 | 1993-04-13 | Wetzel Glen F | System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle |
AU629007B2 (en) * | 1989-12-29 | 1992-09-24 | Sun Microsystems, Inc. | Apparatus for accelerating store operations in a risc computer |
AU7305491A (en) * | 1990-01-29 | 1991-08-21 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
US5210841A (en) * | 1990-01-30 | 1993-05-11 | Advanced Micro Devices, Inc. | External memory accessing system |
US5222240A (en) * | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
JP2553728B2 (ja) * | 1990-02-23 | 1996-11-13 | 松下電器産業株式会社 | 演算装置 |
EP0592404B1 (en) * | 1990-03-15 | 1998-09-16 | Sun Microsystems, Inc. | Apparatus and method for providing a stall cache |
US5201056A (en) * | 1990-05-02 | 1993-04-06 | Motorola, Inc. | RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output |
US5179682A (en) * | 1990-05-15 | 1993-01-12 | Sun Microsystems, Inc. | Method and apparatus for improved current window cache with switchable address in, out, and local cache registers |
US5226142A (en) * | 1990-11-21 | 1993-07-06 | Ross Technology, Inc. | High performance register file with overlapping windows |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
JPH0614003A (ja) * | 1991-07-31 | 1994-01-21 | Nec Corp | データ処理回路 |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
EP0544083A3 (en) * | 1991-11-26 | 1994-09-14 | Ibm | Interleaved risc-type parallel processor and processing methods |
WO1994008287A1 (en) | 1992-09-29 | 1994-04-14 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar 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 |
US5434987A (en) * | 1993-09-21 | 1995-07-18 | Intel Corporation | Method and apparatus for preventing incorrect fetching of an instruction of a self-modifying code sequence with dependency on a bufered store |
DE19506970A1 (de) * | 1995-02-28 | 1996-08-29 | Winkler Gmbh & Co Kg Baeckerei | Vorrichtung zum Fördern und Umsetzen von Teigstücken |
US5878255A (en) * | 1995-06-07 | 1999-03-02 | Advanced Micro Devices, Inc. | Update unit for providing a delayed update to a branch prediction array |
US5875324A (en) * | 1995-06-07 | 1999-02-23 | Advanced Micro Devices, Inc. | Superscalar microprocessor which delays update of branch prediction information in response to branch misprediction until a subsequent idle clock |
US5898701A (en) * | 1995-12-21 | 1999-04-27 | Cypress Semiconductor Corporation | Method and apparatus for testing a device |
US5805794A (en) * | 1996-03-28 | 1998-09-08 | Cypress Semiconductor Corp. | CPLD serial programming with extra read register |
US5815510A (en) * | 1996-03-28 | 1998-09-29 | Cypress Semiconductor Corp. | Serial programming of instruction codes in different numbers of clock cycles |
US5983321A (en) * | 1997-03-12 | 1999-11-09 | Advanced Micro Devices, Inc. | Cache holding register for receiving instruction packets and for providing the instruction packets to a predecode unit and instruction cache |
US6122729A (en) | 1997-05-13 | 2000-09-19 | Advanced Micro Devices, Inc. | Prefetch buffer which stores a pointer indicating an initial predecode position |
US7024663B2 (en) * | 2002-07-10 | 2006-04-04 | Micron Technology, Inc. | Method and system for generating object code to facilitate predictive memory retrieval |
US6954836B2 (en) | 2002-07-11 | 2005-10-11 | Micron Technology, Inc. | System and method for processor with predictive memory retrieval assist |
US7290121B2 (en) * | 2003-06-12 | 2007-10-30 | Advanced Micro Devices, Inc. | Method and data processor with reduced stalling due to operand dependencies |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771138A (en) * | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
US4208716A (en) * | 1978-12-11 | 1980-06-17 | Honeywell Information Systems Inc. | Cache arrangement for performing simultaneous read/write operations |
US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
JPS57100680A (en) * | 1980-12-15 | 1982-06-22 | Hitachi Ltd | Page fault processing system |
US4439829A (en) * | 1981-01-07 | 1984-03-27 | Wang Laboratories, Inc. | Data processing machine with improved cache memory management |
JPS59231652A (ja) * | 1983-06-13 | 1984-12-26 | Hitachi Ltd | メモリアクセス・オ−バラツプ検出方式 |
-
1985
- 1985-08-30 US US06/771,435 patent/US4734852A/en not_active Expired - Lifetime
-
1986
- 1986-08-14 EP EP86306267A patent/EP0213842B1/en not_active Expired
- 1986-08-14 DE DE8686306267T patent/DE3686991T2/de not_active Expired - Lifetime
- 1986-08-14 AT AT86306267T patent/ATE81730T1/de not_active IP Right Cessation
- 1986-08-28 JP JP61203572A patent/JP2539199B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9211054B2 (en) | 2012-01-13 | 2015-12-15 | Olympus Corporation | Endoscope tip part and endoscope |
Also Published As
Publication number | Publication date |
---|---|
DE3686991T2 (de) | 1993-04-29 |
EP0213842A3 (en) | 1989-04-26 |
EP0213842B1 (en) | 1992-10-21 |
US4734852A (en) | 1988-03-29 |
EP0213842A2 (en) | 1987-03-11 |
ATE81730T1 (de) | 1992-11-15 |
DE3686991D1 (de) | 1992-11-26 |
JPS6255736A (ja) | 1987-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
US4896259A (en) | Apparatus for storing modifying data prior to selectively storing data to be modified into a register | |
JP2846406B2 (ja) | 分岐処理方法及び分岐処理装置 | |
US4811215A (en) | Instruction execution accelerator for a pipelined digital machine with virtual memory | |
US4961162A (en) | Multiprocessing system for performing floating point arithmetic operations | |
JP2846407B2 (ja) | 例外処理方法及び例外処理装置 | |
US4679140A (en) | Data processor with control of the significant bit lengths of general purpose registers | |
EP0491693B1 (en) | Improved cpu pipeline having register file bypass on update/access address compare | |
JPH0769818B2 (ja) | デ−タ処理装置 | |
US4562538A (en) | Microprocessor having decision pointer to process restore position | |
US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
JP2001525568A (ja) | 命令デコーダ | |
JPH09138778A (ja) | セマフォ命令用のセマフォ・バッファを用いた装置と方法 | |
US4677549A (en) | Pipelined data processor system having increased processing speed | |
US6363474B1 (en) | Process switching register replication in a data processing system | |
EP0010196B1 (en) | Control circuit and process for digital storage devices | |
EP0223150B1 (en) | Information processing apparatus | |
US5678016A (en) | Processor and method for managing execution of an instruction which determine subsequent to dispatch if an instruction is subject to serialization | |
EP0497485A2 (en) | Computer for implementing two-operand instructions | |
US4967339A (en) | Operation control apparatus for a processor having a plurality of arithmetic devices | |
US4896264A (en) | Microprocess with selective cache memory | |
US5363490A (en) | Apparatus for and method of conditionally aborting an instruction within a pipelined architecture | |
US5832533A (en) | Method and system for addressing registers in a data processing unit in an indexed addressing mode | |
EP0181462B1 (en) | Microcode control of a parallel architecture microprocessor | |
EP0177712B1 (en) | Masked data fetch and modifying device |
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 |
|
EXPY | Cancellation because of completion of term |