JP3338051B2 - 非同期パイプラインにおける条件検出 - Google Patents

非同期パイプラインにおける条件検出

Info

Publication number
JP3338051B2
JP3338051B2 JP50985692A JP50985692A JP3338051B2 JP 3338051 B2 JP3338051 B2 JP 3338051B2 JP 50985692 A JP50985692 A JP 50985692A JP 50985692 A JP50985692 A JP 50985692A JP 3338051 B2 JP3338051 B2 JP 3338051B2
Authority
JP
Japan
Prior art keywords
register
pipeline
stage
condition
instruction
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
Application number
JP50985692A
Other languages
English (en)
Other versions
JPH06508704A (ja
Inventor
チャールズ ペイバー,ナイジェル
Original Assignee
アーム リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アーム リミテッド filed Critical アーム リミテッド
Publication of JPH06508704A publication Critical patent/JPH06508704A/ja
Application granted granted Critical
Publication of JP3338051B2 publication Critical patent/JP3338051B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3871Asynchronous instruction pipeline, e.g. using handshake signals between stages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports

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)
  • Pipeline Systems (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 本発明は、非同期パイプラインにおける条件検出に関
する。
パイプラインは、コンピュータ構成においてシステム
・スループットの高速化のために使用される機構であ
る。これは、プロダクト(データ)が連続したステージ
(回路)を流れ、、各ステージ内でプロダクト(デー
タ)を処理するためにオペレーションが実行される、プ
ロダクション・ラインに類似する。パイプライン機構の
使用は個々のデータ要素がパイプラインを横断するのに
かかる時間(待ち時間)を短縮することはないが、与え
られた時間内に処理されるデータ要素の量(スループッ
ト)を増加させる。このことは、パイプラインを含むオ
ペレーションが単純に保持されることができ、各オペレ
ーションは現要素がそのステージを通過すると同時に後
続する要素の処理を開始するため達成される。同様な組
み合わせのオペレーションからなるパイプラインを用い
ない装置は、多数の要素のうちのある一つの要素の処理
が、後続の要素が処理される前に完遂されることを必要
とする。コンピュータ・パイプライン・システムは一般
的に同期式である。その様なシステムにおいては、いく
つかのステージが“ロックステップ”方式で動作する。
全てのステージがオペレーションを完了しデータが後続
のステージに転送された際に、全体的なクロック信号が
発信される。このことを簡便に設計することができると
共に解析することができる単純な構造を提供する。当
然、パイプラインのクロック周期は、最も遅いパイプラ
インがその処理を完了するのに要する最小限の時間に限
定される。この様にして導き出されたクロック周波数が
そのパイプラインのスループットを決定する。パイプラ
インの待ち時間は、クロック周期にパイプライン・ステ
ージ数を乗じたものであり、通常はパイプライニングを
持たない同等なロジックの処理時間に比べて多少長くな
る。
例えば、それぞれ50MHz、10MHz、30MHzのクロック周
波数を持つ3つの要素からなる同期パイプラインにおい
てそれぞれが独立して動作するとき、すべての要素が適
正に機能する場合、システムの最大クロック周波数は10
MHzに限定される。この周波数がパイプラインのスルー
プットを決定する。最も遅い要素が使用されていない場
合でも、例えばパイプラインが消去され未だ完全には最
充填されていないため、システムは全体的なクロックに
同期し、従ってより高速に動作することはできない。
非同期システムにおいても基本速度の限定は、前述さ
れたケースにおける10MHzのスループット速度を選択す
るように適応し、これは最も遅い要素の速度として提供
されている。しかしながら、各要素は独自の速度で自由
に動作し、あるオペレーションにおいて最も遅いユニッ
トが使用されなかった場合、スループットは自動的に次
に遅い要素のものへと上昇し、引用された例の場合、30
MHzである。したがって、非同期パイプラインにおい
て、待ち時間はステージ毎の個々の時間の合計である。
パイプラインはそのスループットと長さより大きな速度
で充填する。さらに、全てのパイプライン・ステージが
一定の処理時間を必要とすることはない。例えば、演算
ロジック・ユニット(ALU)は、足し算を割り算よりは
るかに高速に実行する。非同期パイプラインにおいて
は、それぞれが全体的なスループットを最も遅い速度の
ものへ落とすことなくシングル・オペレーションとして
処理する。
論文“マイクロパイプラインズ(Micropipelines)”
〔アイ.イー.スザーランド(Sutherland,I.E.)著、C
ommunications of the ACM,Vol.32,No.6 1989年6月発
行、720−738頁、〕は、非同期回路設計の枠組みを記述
している。非同期パイプラインを制御するために使用さ
れ得る回路のライブラリが記述され、前記非同期パイプ
ラインは“マイクロパイプラインズ”として参照され、
電圧ではなく単一の電気的移動を制御信号として使用し
てイベント制御される。ステージ間のコミュニケーショ
ンは束データ方式を使用する。一つの完全なデータ・ワ
ードは、イベント制御ラインの単一のペアによって追随
される。これらはデータが有効である時およびデータが
パイプライン内の次のステージによって受信された時表
示する。イベント制御は、情報を伝達するため電気的移
動を使用することから、時々トランジション・シグナリ
ングと呼ばれる。
マイクロパイプライン・アプローチはマイクロプロセ
ッサを構成するのに使用することができる。マイクロプ
ロセッサのデータ経路の各要素はマイクロパイプライン
のステージに一致するよう形成され得る。
マイクロプロセッサは、一般的な組合わせの読取り及
び書込みバスを持った多数のレジスタの形式のレジスタ
・バンクを組み入れている。全てのレジスタは同じ幅で
あり、例えば32ビットマイクロプロセッサにおいては32
ビット幅である。マイクロプロセッサはバンクから1ま
たは2レジスタの内容を読出して命令を実行し、読出さ
れた内容上のあるオペレーションを実行し、そしてその
オペレーションの結果をレジスタ・バンク内の3番目の
レジスタに書き戻す。ある命令において読出されるレジ
スタの数はレジスタ・バンクの出力ポートの数によって
制限され、通常は2である。一つの命令が発行された
後、命令デコーダが、読取られるべきレジスタ、および
その命令において確認されるオペレーションの結果が書
込まれるべきレジスタのアドレスを摘出する。これらの
レジスタ・アドレスは、命令の実行が開始できるよう、
レジスタ・バンクに伝送される。オペランドが読出さ
れ、そしてALU等のプロセッシング・ユニットに伝送さ
れ、そこで結果を提供するために、あるオペレーション
が実行される。短時間が経過した後に、結果がレジスタ
・バンクに帰着し、そして適切なレジスタに書込まれ
る。このように、完遂されている際、特定のレジスタ内
に書込まれる命令が発行され、その特定のレジスタの読
取りを試みる後続の命令が発行される場合、後続する命
令は進行中の命令が完遂されるまで遅延されなければな
らない。
前述された遅延読取り命令の問題点は、一例として非
同期パイプラインにおける条件付き情報の検出時に生じ
る困難がある。その様な状況においては、通常パイプラ
イン中におけるアイテムの存在を検出することと、それ
らのアイテムのパイプライン内における位置の決定の両
方が必要である。本発明の目的の一つは、非同期パイプ
ラインにおいて、条件付き情報を特定されるパイプライ
ンを占拠すること無く検出することを可能にする方法を
提供することにより、前述の問題点を克服することを可
能にすることである。
本発明によると、非同期パイプラインのための条件検
波器が提供され、そこにおいてパイプラインの各ステー
ジは、検出されるべき条件がそのステージ内に設定され
ているかどうかを示すシングル・ビットのデータを記憶
するための条件記憶手段を含み、あるステージに記憶さ
れたデータがパイプラインの動作中にパイプライン内の
次のステージに伝送される際に、そのステージの条件記
憶手段内の前記シングル・ビットは前記次のステージの
条件記憶手段に伝送され、パイプラインのステージの条
件記憶手段のいずれか一つが条件が設定されていること
を示しているかどうかを検出するための手段が提供さ
れ、そしてパイプラインのステージの条件記憶手段のい
ずれか一つが条件が設定されていることを示している場
合に条件設定出力を発生するための手段が提供される。
検出装置は、単純な配列のゲートとされることがで
き、各ステージにつき一つのゲートがあり、それぞれ各
ステージの条件記憶手段に接続される第一の入力と、先
行するステージのゲートの出力の一つに接続される第二
の入力と、後続のステージのゲートの第二の入力に接続
される一つの出力を有する。この様な配列は、あるステ
ージ内の条件ビットがそのステージが空にされる前に次
のステージに複写され、いずれかの空のステージが不設
定の条件を示す場合に効果的である。この第二の要件
は、条件ビットが、各ステージに結合のためのゲートを
さらに提供することにより、ビットを占拠するステージ
に結合される場合に達成され得る。一方、このようなさ
らなるゲートは、各ステージが本質的に透過性である場
合は必要とされず、空である場合は自動的に不設定の条
件を示す。
本発明は、あるレジスタが先行する命令によって書込
まれるべきものである場合に、そのレジスタが読取られ
ることを妨害するためのロック回路を備える非同期パイ
プライン・システムに、典型的に応用され得る。このよ
うな装置において、非同期パイプラインは、複数のレジ
スタと、システムによって実行される一連の命令を発生
する手段と、一つの命令によって特定される一つあるい
はそれ以上のレジスタの内容を読取る手段と、読出され
た内容上の命令によって特定されるオペレーションを実
行して結果を生成するための手段と、命令によって特定
されるレジスタに結果を書込む手段と、進行中の命令に
よって書き込まれるレジスタのアイデンティティを記憶
するための先入れ先出し方式(FIFO)・ロック回路と、
一つの命令によって特定されるレジスタがロック回路内
で特定される場合にその内容の読取りを遅らせるための
手段を含むことがあり、ここにおいて前記先入れ先出し
方式の回路は、各要素が配列の列および行の交点にそれ
ぞれ配置されるメモリ要素の二次元的な配列を含み、配
列の列の数はレジスタの数に等しく、各レジスタに関係
するデータはそれぞれ対応する列に記憶され、配列の行
の数はロック回路内に記憶され得るレジスタ・アイデン
ティティの最大数に等しく、進行中の命令によって書込
みされる各レジスタを、それぞれの行のメモリ要素内の
データのシングル・ビットをその行および前記レジスタ
のそれぞれの列との交点に記憶することにより確認する
ための手段が提供され、前記データのシングル・ビット
がそのレジスタのそれぞれの列内に記憶されているかど
うかを検査することによりレジスタに書込みがされるべ
きかどうかを判定する手段が提供される。
このように、配列内の各メモリ要素は、通常ロジック
・ゼロを記憶していると推定されるが、記憶されるべき
最初のレジスタ・アイデンティティが受信された際に、
そのレジスタと結合される列内の最底部の要素にロジッ
ク・ゼロが書き込まれる。第二のレジスタ・アイデンテ
ィティが続いて記憶されると、最低行の次の行およびそ
の第二のレジスタに結合される列内のメモリ要素にロジ
ック1が書き込まれる。一度FIFOの最低行に入力される
ロジック1内に生じる命令が完了すると、その最低行は
消去されて、以前に最低行の次の行に記憶されていたビ
ット・パターンに置き換えられる。このようにいずれか
のレジスタが処理中の命令によって書き込まれなければ
ならない場合、このことはそのレジスタに結合される列
FIFO要素を監視することによって簡単に検出され得る。
その列内のどこかにロジック1がある場合、そのレジス
タは読み取ることができない。この条件は単純な連続ゲ
ートの使用により簡単に検出され得る。
次に、本発明の実施例を添付図面を参照して以下に説
明する。
図1は、単純なマイクロパイプラインの概略図であ
り、 図2は、図1に示されたタイプの単純なマイクロパイ
プラインに適用される時の本発明の概略図、 図3は、図1に示されたタイプのマイクロパイプライ
ンに適用される本発明の一例の略図、 図4は、レジスタ・バンクの構造の説明図であって、
その動作は本発明による条件検出器の使用により制御す
ることができ、 図5は、図4のレジスタ・バンクの内部構造の説明
図、 図6は読み取りバスの一つを参照にする図4のレジス
タ・バンクに適するデコーダ配置の説明図、 図7は、図4に示されたタイプのレジスタ・バンクの
非同期動作を達成するために使用され得るタイプの入力
/出力インタフェースを、2本の読み取りおよび一本の
書き込みバスを参照にして示す説明図、 図8は、非同期動作するレジスタ・バンクにおいて使
用するための一般的なロック回路を示す説明図、 図9は、本発明の単純化された実施例において発生す
るビット・パターンを示し、図10は本発明のロックFIFO
における実施例を示し、 図11は、READオペレーションが図10のロックFIFOを使
用して遅延される方法を図示し、 図12は、図10のロックFIFOへのゼロ入力を確保するた
めに構成される配列を示し、 図13は、図10で示されたタイプのロックFIFOを内蔵す
るレジスタ・バンクにおいて読み取りをするレジスタを
示し、 図14は、図10で示されたタイプのロックFIFOを内蔵す
るレジスタ・バンクへの書き込みオペレーションを示
す。
図1は、先入れ先出し(FIFO)方式のマイクロパイプ
ラインの単純な例を図示している。各長方形はラッチと
して動作するレジスタを示す。文字Cを囲む各ゲート
は、先に参考にしたスザーランド(Sutheriand)による
文献に記述されたタイプのミューラ(Muller)C要素で
ある。ミューラC回路は2つまたはそれ以上の入力と1
つの出力を有する。それはその出力がある状態に強制さ
れた際に、その出力状態をその入力の全てが同じ状態に
なるまで一定に維持するという特性を持つ。したがっ
て、回路の出力がロジック・ロウである場合、全ての入
力がハイになるまでロウのままである。そしてそれはそ
の出力をハイに移行し、この状態は全ての入力がロジッ
ク・ロウに戻るまで維持される。したがって、ミューラ
C要素は幾つかの考察への命題の移行のためのANDゲー
トとして動作することができる(すなわち全ての入力が
ロウまたはハイ、したがって経験的移行)。実際の電子
機器はその入力上のロジック・レベルに対し敏感であ
り、それ自体の変化に対してではないことを認識するこ
とが重要である。一つの入力上での第二の変化は、ゲー
トがその出力を未だ変更していない場合は先行した変化
を無効にする。
図3において、データの流れが近接したレジスタ・ス
テージ間の矢印によって示されている。データはレジス
タ・チェーンを介して伝送され、あるレジスタ・ステー
ジの次のレジスタ・ステージにデータ伝送の要求が伝達
され、そしてその要求の受信の認識信号が返送された後
に、回路は前記のあるレジスタ・ステージからのデータ
を伝送するよう動作する。したがって、図示された回路
において入力要求信号が第一のミューラC回路を誘発
し、入力データがそれぞれのレジスタにラッチされるこ
とに起因する。このラッチングが完了すると認識信号が
次のステージへの要求信号として発行される。処理は、
その後データ入力がFIFOの出力に達するまで継続され、
そこにおいて“要求”が発行されそしてデータが移動し
たことを示す外部認識信号が必要とされている。データ
最初のレジスタ・ステージによって受信され、その時FI
FO内に他のデータが存在しない場合、その入力データは
レジスタ・チェーンを介して右側のレジスタに敏速に通
過する。FIFO配列の説明を簡略化するために、図1内の
右側にあるFIFOレジスタ・チェーン内の最後のレジスタ
は以下“ボトム”・レジスタと称される。
マイクロパイプラインの状態に関する条件付き情報が
検出されなければならない状況が生じることがあり得
る。例えば図1の単純な例において、レジスタのいずれ
かがデータを保持しているかどうかを判断することが必
要となり得る。一方では、レジスタのいずれかが特殊な
種類のデータを保持しているかどうかを検出することが
必要であり得る。この条件付き情報検出問題の解決への
従来のアプローチは、レジスタの内容を読み、そして比
較することができる回路素子を提供することであるが、
このアプローチは本質的に単純な基本構成ブロックを有
する回路に対し深刻な難点をもたらす。本発明は、マイ
クロパイプラインを介して流れるデータに、データと共
に流れ、そのデータにとって重要な条件付き情報を示す
シングル・ビットの情報を組み入れることにより、条件
付き情報検出問題の改善された解決策を提供する。図2
は、この提案の一実施方法を示す。
図2は図1のものに類似の単純FIFO配列を示すが、図
中の不必要な複雑性を回避するため、要求および認識回
路は省略されている。図1の場合と同様に、ビットは連
続するレジスタード・ステージ間で伝送される。しかし
ながらそれに加えて、各レジスタは、シングル・ビット
の条件データが蓄積される記憶要素を含む。条件データ
が記憶される、各レジスタのための記憶要素は、それぞ
れORゲートに接続され、その出力はパイプライン内の次
のステージのORゲートの一方の入力に接続される。ORゲ
ートの入力のどちらか一方がロジック“1"である場合、
条件設定出力自体もロジック“1"となる。この様に条件
設定出力の監視により単純化し、いずれかの1つのレジ
スタ・ステージ内の特殊な条件の存在が読取り検出され
得る。
図2の略図の正確なオペレーションのためには、いく
つかの制限が維持されることが必要である。第一に、条
件ビットが、最初のステージが空になる前に最初のステ
ージから次のステージへ複写されなければならない。こ
のことは、いずれかの“1"が少なくとも1つのステージ
に存在し、従って検出されることが可能であることを確
保するために必要である。このステージ間のオーバラッ
プが確保されないと、条件ビットがあるステージから別
のステージへ移動中であり、そして未だどのステージに
も存在しないという可能性がある。これが発生した場
合、移動中のビットは検出されず条件検出は失敗とな
る。
第二に、空のステージは、全ての条件ビットの結合に
作用をもたらさないために、非設定の条件を提供しなけ
ればならない。したがって、いずれの空のステージ内に
おいても条件記憶要素はロジック“0"を保持しなければ
ならない。これは、各ステージが“透過性”である場
合、このステージ内の第一レジスタへ接続されるOR回路
への第二の入力がロジック“0"で保持される場合、FIFO
への入力が“1"を書込み中を除いてデフォルト・バリュ
ー“0"を有する場合に達成され得る。
パイプライン内の条件の状態についての結論が作成さ
れている間は、パイプラインの第一ステージへは何も進
入しないことを保証することが必要である。これが保証
されないと、準安定問題が生じる。いくつかのクラスの
パイプラインにとってはこの事は問題ではないが、しか
しながら、例えばある条件がパイプ内に存在しない(例
えば、ALU条件コードの設定)時のみのパイプ内への進
入がある。そしてパイプラインのボトムから条件が消去
され終わるまでは、パイプラインに何も進入しない。こ
の様なシステムにおいて、条件ビットがパイプラインの
最後のステージに到達すると、それは次のユニットから
認識信号が受信されるまでそこに残留する。パイプライ
ンの最後のステージが消去される際、このことが自動的
に条件ビットを除去する。条件ビットが除去される時
に、何かがパイプラインへの進入を待っている場合、条
件ロジックが条件が存在しないということを示し、した
がってパイプへのデータの流れは進行する。
非透過性レジスタの場合、空のレジスタと充満してい
るレジスタとを区別するために、図3に示されるような
回路の提供によって条件付き情報が検出されることがで
きる。図3に示されるように、各レジスタは検出される
条件に関する1ビットとそのレジスタが充満しているか
どうかに関する1ビットを記憶する。これらの2ビット
は、ORゲートがそれぞれのレジスタが充満状態で条件ビ
ットが設定されている場合にロジック“1"しか入力でき
ないという各レジスタに関連して、ANDゲートへの入力
を提供する。このことは条件情報がそれが有効であると
きのみに使用されることを保証する。
前述された条件付き情報検出のためのアプローチは、
パイプラインに流入する情報の全てが条件付き情報であ
る状況にも適用されることができる。そこでパイプライ
ンは伸縮性の条件記憶装置になる。そのような方法にお
いて使用されるFIFOの一例が以下に詳細に説明される
が、上述されたパイプライン内の条件付き情報の検出へ
のアプローチは広範囲の状況に適用される。
図4は、マイクロパイプライン・アプローチの使用に
よって構成されるマイクロプロセッサ内に備えられるレ
ジスタ・バンクの動作を示す。マイクロプロセッサの各
データ経路はマイクロパイプラインのステージに符合し
て作成されることができる。このことはマイクロパイプ
ラインの本質的階層構造が、一つの要素が任意の数のパ
イプライン・ステージを含むことができることを目的と
している。そのシステムは非同期であるが、READおよび
WRITEオペレーションは管理されなければならない。
レジスタ・バンクは一般的な組み合わせのREADおよび
WRITEを伴った多数のレジスタから構成される。全ての
レジスタは等しい幅を有し、例えば、32ビットのマイク
ロプロセッサについては全て32ビット幅である。マイク
ロプロセッサはバンクから一つまたは二つのレジスタの
内容を読出すことにより命令を実行し、それらの上にあ
るオペレーションを実行し、そして回答または結果をバ
ンク内の第三のレジスタに再度書込む。図4はこのオペ
レーションの高レベルな外観を提示する。命令によって
読取られるレジスタの数は、レジスタ・バンク上の出力
ポートの数によって限定され、通常は2である。命令デ
コーダは受信された命令から読取られるレジスタ(a、
b)およびオペレーションの結果が書込まれるレジスタ
(w)のアドレスを摘出する。これらのアドレスは、命
令の実行が開始できるよう、レジスタ・バンクに伝送さ
れる。レジスタ(aおよびb)から読出されたオペラン
ドは、結果を提供するためにオペレーションが命令に従
って実行されるALUに伝送される。オペレーションが完
了した後、結果はレジスタ・バンクに返送され、適切な
レジスタ(w)に書込まれる。この様にレジスタaおよ
びbからの読取りとレジスタwへの書込みとの間には遅
延が生じる。レジスタwがそのレジスタに結果が書込ま
れるまで後続の命令によって読取られることはないこと
が重要である。
図5は典型的なレジスタ・バンクの内部構造をAバス
・コントロール・ロジックを参照して提示する。他のバ
スは同様である。各レジスタはレジスタ・バンクの垂直
断面を占拠し、レジスタの内の一つがシェーディングに
よって示されている。各レジスタは32ビットのデータを
記憶させるために32個の個別のメモリ・セルまたは要素
を含む。これらのセルはそれぞれ記憶数値を変更するの
に使用される入力と、セルからの記憶数値を読取るのに
使用される二つの出力を有する。二つの出力は数値を分
離したaオペランドおよびbオペランド・バスAおよび
Bに読出させるために必要とされる。あるレジスタ上で
実行されるオペレーションはそのレジスタの全てのセル
上で実行される。各レジスタに対し3つのイネーブル信
号が、(a)オペランド・バスA上の読取り、(b)オ
ペランド・バスB上の読取り、および結果バスWからセ
ル内への書込みを可能にするために提供される。
図5に示されるように、図4の命令デコーダの一部を
形成するAバス・デコーダは、Aオペランド・レジスタ
番号(a)の二元表示を採用し、これを単一表示に変換
する(1Nの中から1)。そしてこれが選択されたレジス
タのAバス出力イネーブルとして使用される。図5はこ
の方法で選択されたNレジスタの内の一つ一つを示して
いる。同様なデコーダがBバスおよび書き込みバスWの
ために備えられているが、これらは図面の繁雑化を避け
るために省略されている。Aオペランド、Bオペランド
および書込みバスは、図5に示されるようにいずれも全
てのレジスタを介して水平に走っているが、再びBおよ
び書込みバスは省略されている。
図6は僅かに高いレベルでデコーダおよびレジスタを
示している。デコーダは一つの上から別のものがレジス
タ・バンクを介して垂直に通るデコーダ選択ワイヤと共
に積み重ねられる。
最初の命令の受信の結果としてレジスタ・バンクがオ
ペランドを読出したが、未だそのオペランドを処理中で
ある場合、一般的にはレジスタ・バンクが最初の命令の
読取りを終了した後、直ぐに第二の命令を進行すること
が不可能であるべき理由は存在しない。唯一の束縛は、
第二の命令が既に進行中の命令により書込みバスからそ
の中に書込まれる結果を待っているいずれかのレジスタ
を読取ることを許可されることはできない。このよう
に、ある命令が進行中の一つの命令により書込みされて
いるレジスタからの読取りを検索している場合、その命
令を遅延させる機構を提供することが必要である。
図4、図5、図6に表記される構造は、READおよびWR
ITEオペレーションのタイミングが外部的に供給された
クロック信号によって制御される従来の同期マイクロプ
ロセッサの典型的な構造である。そのようなシステムに
おいては、進行中の命令によって書込みされているレジ
スタのアイデンティティを記憶することは非常に簡単で
ある。しかしながら、マイクロプロセッサがマイクロパ
イプラインの枠組みと共に非同期オペレーションのため
に設計される場合、幾つかの追加的な要因が設計に影響
を与える。
最初の要因は、入力/出力が先に参考にされたSuther
landによる文献中に記載されている束ねられたデータ方
式に従うように修正されなければならない。図7は、レ
ジスタ・バンクのケースで、これがどの様に適用される
かを示す。非同期機器のケースにおいて、命令デコーダ
は3つのレジスタ・アドレス(a、b、w)およびその
3つのレジスタ・アドレスが有効であることを示す信号
D−Reqを供給する。レジスタ・バンクはこれらの数値
の中からNの内1を代表として復号し、そして選択され
たレジスタの内容をAおよびBバス上に出力する。出力
バス上のデータが有効であるとき、符合する要求ライン
上の出力0−Reqの形でイベントが発信される。次のス
テージがその出力データを受信し、受信の通知を信号0
−Ackの形で発信する。レジスタ・バンクはそこで信号
D−Ackによって命令デコーダ通知をし、デコーダは次
の命令の発生を開始することができる。
READオペランドa、bの一つが先行する命令の結果の
目的地であることが可能である。その様な状況におい
て、オペレーションは、レジスタが読取られることがで
きる前はそのレジスタ内に書戻されるまで待機しなけれ
ばならない。一つの結果がwデコーダによって選択され
たレジスタに書込まれる際、Wバス上で信号W−Reqが
受信される。WRITEオペレーションが完了した際、レジ
スタ・バンクは信号W−Ackの形で通知を出力する。こ
れは、マイクロパイプラインの枠組み内で、読み取りオ
ペレーションに関連して完全に非同期的に発生する。信
号W−Ackが出力されるまで、結果が書込まれるレジス
タでは読取りがロックされなければならない。
レジスタのロッキングの目的は、すでに進行中の命令
によって書込みされるレジスタからのREADSを、WRITEオ
ペレーションが終了するまで引き延ばすことである。こ
れは進行中の命令によって書込みされるレジスタのリス
トを保持することにより達成される。レジスタのREADオ
ペレーションが開始される前に、読取りが確実に進行で
きることを保証するためにこのリストが検査されなけれ
ばならない。検査が失敗の場合、すなわち読取られるレ
ジスタがリストの中に確認された場合、READはそのレジ
スタが書込みされ関連する記録がリストから除去される
まで待機しなければならない。
レジスタのロッキングは図8に示されるようにFIFOの
使用により遂行されることができる。これは3つの命令
のシリーズの内2つの命令が出力された後のロックFIFO
を示す。例えばこれらの命令は以下の様になる。
命令1−R1:=R2+R3 命令2−R4:=R5−R6 命令3−R7:=R9−R4 このように最初の命令がレジスタR2とR3の内容を読出
し、これら2つの内容の合計の計算を開始し、これが続
いてR1に書込まれる。レジスタR2およびR3が読取られる
と同時に、R1のアイデンティティがロックFIFOのボトム
・ステージに入力される。二番目の命令がレジスタR5お
よびR6を読取り、レジスタR4のアイデンティティが、二
番目の命令の結果が書込まれるレジスタR4として、FIFO
のボトムの次のセクションに入力される。レジスタR5と
R6の内容が読み終えられると同時に、三番目の命令がレ
ジスタR9とR4の読取りを要求する。R4がロック・レジス
タ内で確認された際、三番目の命令は、第二の命令がそ
の結果をレジスタR4に書込むことによって完了されるま
で遅延されなければならない。問題点は、命令3によっ
て読取られるアドレスとロックFIFOの内容との比較であ
る。このことは勿論、ロックFIFO内で確認される各レジ
スタのアイデンティティを読出し、そしてそのアイデン
ティティを三番目の命令に従って読取られるレジスタの
アイデンティティと比較することによって達成される。
これを単純な方法で達成することは困難である。
図9は図8に示されたタイプの本発明に従って配備さ
れたロック・レジスタ内の情報の表示を図示しており、
ロック・レジスタ内で確認される各レジスタは、ロック
・レジスタの一つのメモリ要素内のシングル・ビットの
存在で確認される。図9に示されているケースにおい
て、水平の各行はレジスタ・バンク内のレジスタの数に
等しい数の要素を含むと推定される。さらに、図9によ
って表示されているロック・レジスタは、3つのレジス
タ・アイデンティティ全てを記憶することが可能であ
る。図9のケースにおいて、レジスタのボトム・レベル
はロジック1ビットをレジスタR10に相当する列に記憶
する。ボトムの次の行はレジスタR2に相当する列にロジ
ック1を記憶する。レジスタの最上のレベルにはレジス
タR4に相当する列にロジック1が記憶される。このよう
に図9によって示されるロック・レジスタは、進行中の
3つの命令の終了に際して結果が書込まれるシングル・
ビット・データ確認レジスタR2、R4およびR10を含む。
その後現れる後続の命令は、その命令がR2、R4およびR1
0からの読取りを要求しない場合のみに実行可能であ
る。
図9から評価されるように、検出されるべき条件は、
読取られるレジスタに相当する列内のいずれかの点でい
ずれかのビットが設定(ロジック“1")であるかどうか
である。各ビット列は図2に示されているように適正な
ゲートのカスケードによって結合され、いずれかの列内
のいずれかのメモリ要素がロジック・レベル1に設定さ
れている場合、その列に結合されたレジスタがまだ完全
には実行されていない一つの命令により書込まれなけれ
ばならないという直接的な指示を付与することで、その
列に対して条件設定出力が発生される。
関連する命令が完了されないままレジスタがロックさ
れなければならない情報の提供に加えて、FIFOは次に実
行される書込みオペレーションの復号されたレジスタ・
アドレスを提供するのに使用され得る。従って、図9に
示されるように、次のWRITEオペレーションはレジスタR
10へのデータの書込みに連結されなければならない。書
込み要求が発生した際、書込みオペレーションは、レジ
スタR10のアドレスを、単にロックFIFOからのそのレジ
スタのアイデンティティを読取ることにより使用する。
レジスタR10への書込みが完了される際、ボトムの記録
を消去するためにロックFIFOへAck信号が発信される。
この記録の消去はさらに、検出器内の条件設定をも消去
して待機させられたR10のREADオペレーションを続行す
ることを可能にする。一度ボトムの記録が消去される
と、ロック・レジスタの内容は下方へ移動し、ボトムの
記録がレジスタR2をロックして確認し、ボトムの次の記
録はレジスタR4をロックして確認する。
このように、ロックFIFOは2つの機能を提供する。第
一にレジスタがロックされているかどうかを指示し、第
二に次の書込みオペレーションのためのアドレスを指示
する。
図10を参照すると、これは図9を参照して説明された
一般的なタイプのロックFIFOを示しているが、3つのレ
ジスタ全てのロック条件の表示および、いずれかの一時
点における2つのみのロックされたレジスタのアイデン
ティティの記憶のために提供される回路も示されてい
る。3つのレジスタは、Reg.0、Reg.1およびReg.2とし
て示されている。各レジスタに関して、2つの出力が提
供され、それらは条件“locked(ロックド)”および “write select(書込み選択)”である。Reg.0への書
込みを要求する命令が、Reg.2への書込みを要求する後
続の命令を伴って受信された場合、左底部のレジスタが
ロジック1を記憶し、右最上部のレジスタもロジック1
を記憶し、そして他の4つのレジスタはロジック0を記
憶する。そこで Reg.0およびReg.2のロックされた出力はロジック1とな
り、 Reg.0の書込み選択出力もロジック1を示す。
図11はロックされたレジスタの読取りを防止するのに
使用されるより高いレベルの適切な回路を示す。適切な
レジスタがロック解除されるまで、AおよびBバス・デ
コーダからの読取り選択がレジスタ・バンクに到達する
ことが防止される。
図11の回路のオペレーションは、前述された3つの要
求が重なることを想定し、条件ビットはあるステージか
ら別のステージへ複写されなければならず、その条件ビ
ットは近接する少なくとも一つのステージに常に存在
し、いずれかの空のステージが非設定の条件を提供しな
ければならず、FIFOの内部の条件の状態についての結論
が作成されている間は何もFIFOに侵入することはできな
い。
標準のマイクロパイプラインは第一の条件を満たすた
めに必要とされる特徴を持つ。マイクロパイプラインFI
FOも、空のステージは透過性で、データが挿入されてい
る最中でない時はFIFOへの入力を0に保持することより
第二の条件が満たされるという特徴を有する。第三の条
件はレジスタ・バンクの設計を図12を参照して記述され
るようにより高いレベルに制約することによって達成さ
れ得る。図12を参照すると、ロックFIFOは事実上Wデコ
ーダの出力であり、これは結果が書き込まれるレジスタ
を特定するデコーダである。Wデコーダ上の出力イネー
ブルは、有効な書込みアドレスが存在しない時は、出力
が無効化され全てのビット上でゼロが表示されるよう設
計されることができる。これはロックFIFO内に直接供給
されることができる。
適正な制御シーケンスが使われる場合、データはデー
タが不都合な時点でFIFOに進入することが防止される。
例えば、ある命令によって要求されるオペランドはその
命令の結果の目的レジスタがロックされる前に読取られ
なければならないということが取り決められることがで
きる。これは、同じレジスタを読取りおよび書込みする
一つの命令がそれ自体によって創造されるロック上には
待機しないことを保証するためのものである。この事の
結果として、レジスタ・アイデンティティはREADが進行
中の間はロックFIFOに付加されない。レジスタ・アイデ
ンティティは、読取りオペレーションに対し非同期的に
発生する書き込みオペレーションによって、ロックFIFO
のボトムから消去されることができる。
レジスタ・セルの外形を縮小するためレジスタ・バン
ク内にダイナミック・ロジックが使用され得る。ダイナ
ミック・ロジックは二相の動作を必要とし、それらは既
知の状態へのプレチャージと、それに続く結果の評価の
ためのロジックのイネーブリングである。
レジスタ・バンクからの読取りおよびレジスタバンク
への書込みは、別々の非同期オペレーションとして考え
られる。したがって、それらは以下に分けて記述され
る。
レジスタ・バンクからの読取りに関して、レジスタ・
バンク内のオペレーションのシーケンスは以下のように
なる。
1.AおよびBバスをプレチャージする。
2.要求(D−Req)を受信する。
3.AおよびBデコーダの出力をイネーブルする。
4.出力数値が有効である場合それらをラッチし、そして
命令デコーダへD−Ackを出力する。
5.AおよびBデコーダを無効化し、そして命令が書き込
まれるレジスタのロッキングの間にプレチャージを開始
する。
6.ロッキングが完了している際、ロッキングおよびプレ
チャージングを待ち、命令デコーダにD−Ackを出力す
る。
7.前記ステップ2へ戻る。
レジスタは、書込みされることを待っている間にロッ
クされることができるので、ステップ2と3の間には任
意の遅延が存在し得る。プレチャージ状態が衰退するこ
とを防止するため、チャージ維持構造がバス上で使用さ
れ得る。これらはレジスタ・セル上で簡単に駆動される
ことができる。
出力上のデータが有効であるかどうかを決定するため
に、各レジスタに対し割り増しビットが付加され、それ
により各ビットは32ビット・プロセッサ内において33ビ
ット幅となる。レジスタ出力がイネーブルされている
際、ビット番号33はそれによりレベル1からレベル0へ
の変化を生成する。この変化は検出され、そしてデータ
が有効である時の表示信号として使用されることがで
き、すなわちレジスタ・セルがバスをドライヴしたとい
うことになる。同様に、プレチャージの間バスのビット
番号33がレベル0からレベル1に戻り、この変化はプレ
チャージングが完了したことを表示するのに使用され得
る。
前記のステップ5内で、レジスタ・ロッキング・オペ
レーションがレジスタ・バンクのプレチャージと併発的
に実行されることを認識されるべきであり、それにより
ロッキングはプレチャージ時間より遅くはないとする
と、最小限のレジスタ読取りサイクル・タイムに付加す
る必要はない。
図13は前述された全ての要素を集積する。図13はま
た、これまでに説明されていない3つの特徴の概略を示
す。それらは、 (1)すべての命令が2つのオペランドを使用するわけ
ではない。2つより少ないオペランドが要求される際、
命令完了信号は非実存のレジスタのデコード選択から摘
出される。図13に示されるケースにおいて、27のレジス
タを含むマイクロプロセッサが考えられている。仮想の
28番目のレジスタ(R28)が要求される完了信号を発生
するために提供される。
(2)Wデコーダの“イネーブルされた”出力上にトグ
ルが備えられる。ロックFIFO上の入力上に遅延が提供さ
れる。これが必要とされて右側のデコーダとロックFIFO
との間に相互作用が付与される。例えば、イベントが排
他的ORゲートに到達し、これがイネーブル信号がロジッ
ク・ハイになることに起因してWデコーダの出力上で転
換する場合、これらの数値は、Re信号によってロックFI
FO内にストロボされる前に確定しなければならず、その
Re信号はトグル要素をスイッチするイネーブルされた信
号によって起因される。FIFOが書込みアドレスにラッチ
した際、Ack信号が発信される。これが排他的ORゲート
にフィード・バックされてイネーブルをキャンセルし、
Wデコーダの出力がロジック0に転換することに起因
し、それが“イネーブルされた”信号をキャンセルし、
“ロッキング完了”イベントを発生する。書込みおよび
読取りオペレーションの唯一の相互作用はロックの除去
であり、それが待機させられた読取りが続行することを
可能にする。ここで書込みオペレーションがロックFIFO
の出力Ackをストロボし、書込みがさらなる相互作用を
用いずに適正に進行することが可能にされる。
(3)読取りオペレーションの完了が信号B Doneおよ
びA Doneを発生する。これらの信号はANDゲートによ
り結合され、信号AckおよびReqとして解釈される信号を
発生するトグル(フリップフロップ)をトリガする。書
込みされるレジスタのアドレスは、書込みReqが受信さ
れる際、ロックFIFOの最後のステージ内にある。それ
は、書込みオペレーションを完了するため、適正なレジ
スタの書込みイネーブル上でイネーブルされなければな
らない。
図14はレジスタ・バンクの書込みロジックのための概
略図である。図14に関して、オペレーションのシーケン
スは以下のようになる。
(1)信号W−Reqが到達し、書込みイネーブル・バス
がハイになることに起因し、したがって、ロックFIFOの
出力がレジスタ・バンク書込みライン上で宣言されるこ
とを強制する。
(2)書込みはレジスタ・セルがその入力をイネーブル
した際に開始する。セレクト・ラインはレジスタ・バン
クを介して垂直に走り、そしてORゲートのボトムにつな
がる。このゲートは単一のレジスタ・セレクト上のロジ
ック0からロジック1への移行を検出し、そして“writ
e done"信号が発生されることに起因する。
(3)“write done"信号は排他的OR回路にフィード・
バックされ、これが書込みイネーブルをキャンセルし、
そして大きなダイナミックORゲートがプレチャージされ
ることを可能にし、ロジック1からロジック0への出力
変更を生成する。この変化は“pre−charge done"信号
として使用される。“write done"信号も、最後の書込
みアドレスを解除するため、ロックFIFOに供給される。
(4)FIFO(ロック解除された)からの信号Reqは、次
の書込み開始の前に有効な書込みアドレスが存在するこ
とを保証するため、信号W−Reqと結合される。“pre−
charging done"信号は書込みバスへの信号W−Ackを形
成する。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/38

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のステージと一つの条件検出装置で形
    成されるパイプラインを有するパイプライン装置であっ
    て、該条件検出装置は、 パイプライン内の各ステージに対して、検出されるべき
    条件がそのステージ内に設定されているか否かを示すシ
    ングル・ビットのデータを記憶する関連条件記憶手段
    と、 1ステージの前記関連条件記憶手段中の前記シングル・
    ビットを、前記1ステージに記憶されたデータをパイプ
    ラインの動作中において後続のステージへ伝送する際
    に、パイプラインの後続ステージの関連条件記憶手段へ
    伝送する手段とからなるパイプライン装置において、 前記パイプラインは非同期パイプラインであって、検出
    すべき前記条件は、そのパイプラインステージに関連し
    かつ未完了のデータ処理が、その後のデータ処理動作に
    関し、与えられた入力パラメーターを変更することを示
    すものであり、 さらに複数のパイプライン・ステージの条件記憶手段の
    何れか一つが条件が設定されることを示すか否かを検出
    する手段と、 さらに複数のパイプライン・ステージの条件記憶手段の
    何れか一つが条件が設定されることを示す場合に、条件
    設定出力を発生する手段とを設けることにより、変更可
    能な入力パラメーターを用いてその後のデータ処理動作
    を遅延させることを特徴とするパイプライン装置。
  2. 【請求項2】検出手段がゲートの配列からなり、ゲート
    は各ステージに相関しており、各ゲートは各ステージの
    条件記憶装置にそれぞれ接続される第一の入力と、前段
    のステージのゲートの出力に接続される第二の入力と、
    後続のステージのゲートの第二の入力に接続される出力
    とを有する請求項1記載のパイプライン装置。
  3. 【請求項3】各ステージにさらなるゲートを設けること
    で、前記条件ビットをステージ占拠ビットと結合するこ
    とを特徴とする請求項2記載のパイプライン装置。
  4. 【請求項4】あるレジスタが先の命令によって書込みさ
    れるものである場合、条件検出装置は、そのレジスタが
    読取られることを防止するためのロック回路であり、前
    記パイプライン装置は、 複数のレジスタと、 パイプライン装置によって実行されるべき一連の命令を
    発生する手段であって、各命令はあるパイプラインステ
    ージ中に記憶された関連データを有するとともに、その
    パイプラインステージに協働するデータ処理動作を特定
    するものであり、 ある命令により識別される1またはそれ以上のレジスタ
    の内容を読取る手段と、内容を読み出す際の命令により
    識別される動作を実行することで結果を産み出す手段
    と、 この命令により識別されたレジスタに前記結果を書込む
    ための手段と、前記条件検出装置は、実行中の命令によ
    り書込まれるべくレジスタの識別子を記憶するファース
    ト・イン・ファーストアウトロック回路であり、 さらにレジスタがロック回路中で識別された場合、命令
    により識別されるレジスタの内容の読み出しを遅延させ
    る手段とからなり、 さらに前記ファースト・イン・ファーストアウトロック
    回路は、二次元配列されたメモリ装置であって、各メモ
    リ装置は配列の列および行の各交点に配置され、配列の
    列数はレジスタの数と等しく各レジスタに関連するデー
    タは各列に記憶され、さらに配列の行数はロック回路中
    に記憶されることが可能であることを示すレジスタの最
    大数に等しいメモリ装置と、 レジスタの行及び列の交点に位置するメモリ装置中にシ
    ングル・ビットデータを記憶することにより、実行中の
    命令により書込まれるべく各レジスタを識別する手段
    と、 さらに前記シングル・ビットデータがそのレジスタの列
    に記憶されたか否かをチェックすることによりレジスタ
    が書込まれるべきものであるか否か決定する手段とから
    なることを特徴とする請求項1記載のパイプライン装
    置。
JP50985692A 1991-07-04 1992-05-27 非同期パイプラインにおける条件検出 Expired - Lifetime JP3338051B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9114513.6 1991-07-04
GB919114513A GB9114513D0 (en) 1991-07-04 1991-07-04 Condition detection in asynchronous pipelines
PCT/GB1992/000959 WO1993001544A1 (en) 1991-07-04 1992-05-27 Condition detection in asynchronous pipelines

Publications (2)

Publication Number Publication Date
JPH06508704A JPH06508704A (ja) 1994-09-29
JP3338051B2 true JP3338051B2 (ja) 2002-10-28

Family

ID=10697849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50985692A Expired - Lifetime JP3338051B2 (ja) 1991-07-04 1992-05-27 非同期パイプラインにおける条件検出

Country Status (10)

Country Link
US (1) US5574925A (ja)
EP (1) EP0592460B1 (ja)
JP (1) JP3338051B2 (ja)
KR (1) KR100288449B1 (ja)
AT (1) ATE168482T1 (ja)
AU (1) AU1762892A (ja)
DE (1) DE69226272T2 (ja)
GB (1) GB9114513D0 (ja)
IE (1) IE80925B1 (ja)
WO (1) WO1993001544A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3338488B2 (ja) * 1992-11-18 2002-10-28 富士通株式会社 データ処理装置の検証方法及び装置
US5937177A (en) * 1996-10-01 1999-08-10 Sun Microsystems, Inc. Control structure for a high-speed asynchronous pipeline
US6038656A (en) * 1997-09-12 2000-03-14 California Institute Of Technology Pipelined completion for asynchronous communication
US6502180B1 (en) * 1997-09-12 2002-12-31 California Institute Of Technology Asynchronous circuits with pipelined completion process
US6192466B1 (en) 1999-01-21 2001-02-20 International Business Machines Corporation Pipeline control for high-frequency pipelined designs
US20080184017A1 (en) * 1999-04-09 2008-07-31 Dave Stuttard Parallel data processing apparatus
US6502202B1 (en) * 2000-10-06 2002-12-31 Elan Research Self-adjusting multi-speed pipeline
US20020078328A1 (en) * 2000-12-14 2002-06-20 International Business Machines Corporation Pulse-controlled micropipeline architecture
US20020080655A1 (en) * 2000-12-27 2002-06-27 Clark Lawrence T. Integrated circuit having synchronized pipelining and method therefor
US6848060B2 (en) * 2001-02-27 2005-01-25 International Business Machines Corporation Synchronous to asynchronous to synchronous interface
CN100437472C (zh) * 2004-04-27 2008-11-26 Nxp股份有限公司 流水线异步指令处理器电路
US20060095732A1 (en) * 2004-08-30 2006-05-04 Tran Thang M Processes, circuits, devices, and systems for scoreboard and other processor improvements
JP4723427B2 (ja) * 2006-06-30 2011-07-13 ルネサスエレクトロニクス株式会社 画像処理回路および画像処理システムならびに画像処理方法
US9355690B1 (en) * 2011-03-17 2016-05-31 Xilinx, Inc. Time-multiplexed, asynchronous device
JP6024281B2 (ja) * 2012-08-21 2016-11-16 富士通株式会社 プロセッサ
US9281820B2 (en) * 2013-03-01 2016-03-08 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
US8836372B1 (en) 2013-03-01 2014-09-16 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
JP7384374B2 (ja) * 2019-02-27 2023-11-21 株式会社ウーノラボ 中央演算処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1506972A (en) * 1976-02-06 1978-04-12 Int Computers Ltd Data processing systems
US4985825A (en) * 1989-02-03 1991-01-15 Digital Equipment Corporation System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer

Also Published As

Publication number Publication date
ATE168482T1 (de) 1998-08-15
EP0592460A1 (en) 1994-04-20
DE69226272D1 (de) 1998-08-20
AU1762892A (en) 1993-02-11
EP0592460B1 (en) 1998-07-15
IE80925B1 (en) 1999-06-30
US5574925A (en) 1996-11-12
KR100288449B1 (ko) 2001-05-02
GB9114513D0 (en) 1991-08-21
JPH06508704A (ja) 1994-09-29
DE69226272T2 (de) 1999-03-04
WO1993001544A1 (en) 1993-01-21
IE922175A1 (en) 1993-01-13

Similar Documents

Publication Publication Date Title
JP3338051B2 (ja) 非同期パイプラインにおける条件検出
US5450560A (en) Pointer for use with a buffer and method of operation
JPH0749841A (ja) マルチマスタ・バスのパイプライン化を行なう方法とそのためのマルチマスタ・ディジタル・コンピュータ・システム
US20070180334A1 (en) Multi-frequency debug network for a multiprocessor array
JP2004521417A (ja) プロセッサの停止
JPH07302200A (ja) 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。
JP3494489B2 (ja) 命令処理装置
US5537582A (en) Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
US4845659A (en) Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations
CA1171968A (en) Microprocessor architecture having internal access means
EP0378415A2 (en) Multiple instruction dispatch mechanism
US4907147A (en) Pipelined data processing system with register indirect addressing
CN100568252C (zh) 可实现数据自保护的片上系统的ip核
US4677549A (en) Pipelined data processor system having increased processing speed
JPH05197673A (ja) 論理回路
US7380153B2 (en) Micropipeline stage controller and control scheme
US20170272271A1 (en) Apparatus and method for filtering transactions
GB2551806A (en) Interface apparatus and method
US5623648A (en) Controller for initiating insertion of wait states on a signal bus
RU2066877C1 (ru) Устройство для контроля электронной вычислительной машины
NL8204870A (nl) Inrichting met een door een opgeslagen programma gedicteerde besturing.
JPS6326907B2 (ja)
Dwyer III A multiple, out-of-order, instruction issuing system for superscalar processors
Appleton et al. Two-phase asynchronous pipeline control
JPH07111683B2 (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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080809

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090809

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090809

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100809

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100809

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110809

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110809

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120809

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120809

Year of fee payment: 10