JPH02242429A - パイプライン浮動小数点ロード・インストラクシヨン回路 - Google Patents

パイプライン浮動小数点ロード・インストラクシヨン回路

Info

Publication number
JPH02242429A
JPH02242429A JP2032295A JP3229590A JPH02242429A JP H02242429 A JPH02242429 A JP H02242429A JP 2032295 A JP2032295 A JP 2032295A JP 3229590 A JP3229590 A JP 3229590A JP H02242429 A JPH02242429 A JP H02242429A
Authority
JP
Japan
Prior art keywords
data
bus
cache
circuit
external memory
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.)
Pending
Application number
JP2032295A
Other languages
English (en)
Inventor
Leslie D Kohn
レスリイ・デイ・コーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JPH02242429A publication Critical patent/JPH02242429A/ja
Pending 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • G06F15/8069Details on data memory access using a cache
    • 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、半導体マイクロプロセッサへのデータのロー
ディングをパイプラインするインストラクション回路に
関し、更に詳しく言えば、外部メモリにおけるデータを
アクセスすることができるプロセッサに関する。
〔発明の背景〕
本発明ハ、マイクロプロセッサのバス制御装置中に配置
し得るパイプライン浮動小数点ロード・インストラクシ
ョン回路に関わるものである。本発明において使用され
るマイクロプロセッサは、NN10Tプロセツサと呼称
されているインテル860TMマイクロプロセッサであ
る。(インテルハ、インテル・コーポレーションの登録
商標である。) N10 プロセッサは、32/64ビツトI EEBコ
ンパチブル浮動小数点プロセッサ、32ビツトRISO
整数プロセツサ、および64ビット3次元図形プロセッ
サである。ベクトルおよびスカラ演算の両方に適した数
値プロセッサを用いると、それは、単一チップで百万個
以上のトランジスタを内蔵しかつクレイ1の性能の約半
分を供給する産業用第1統合高性能ベクトル・プロセッ
サを意味している。
全プロセッサは、外部メモリまたは内部データ・キャッ
シュからの情報をアクセスすることができる何らかのロ
ード・インストラクション構成を有している。外部に記
憶されたデータのアクセスは、通常、プロセッサの内部
論理装置によ逆制御される外部データ・バスを介して行
なわれる。データ・キャッシュを使用するのは、しばし
ば使用される情報を有効にアクセスして、処理速度を加
速するためである。データ・キャッシュを使用している
プロセッサでは、ノーマル番ロード・インストラクショ
ンは、データ情報がオンチップ・キャッシュに常駐して
いる場合に最も有効的に働く。
すなわち、データがキャッシュ中にない場合、データを
アクセスする際の性能に悪い影響を与えてしまう。
代表的には、ノーマル・ロード・インストラクションを
用いて外部データ′f:g照する場合、それはキャッシ
ュに記憶される。その理由は、通常の状態では、参照さ
れたばかりのデータが近い将来に再び参照されることは
ほとんどないからである。
めったに参照または桝使用されない情報に対して外部メ
モリを予約する一方、最もよくアクセスされる情報を内
部データ・キャッシュに供給することによシ、データ・
アクセスにおける悪影響を最少にすることができる。フ
ログラムは、近い将来においであるデータを繰返し参照
する傾向があるので、これは、データ・キャッシュを有
効的な装置にする配置上の原理である。
しかし、プロセッサが非常に大きいデータ構造、すなわ
ちデータ・キャッシュが通常保持することができる大き
さよシもはるかに大きいデータ構造を処理するよう要求
されている場合には、問題が生じる。起こり得る問題の
例として、プロセッサは、巨大なデータ・マトリックス
の操作を必要とする様々な浮動小数点演算、たとえばマ
トリックス反転、乗算などを実行することがしばしば要
求される。従来のプロセッサでは、データがオンチップ
・データ・キャッシュにない場合、プロセッサは、実行
を凍結しかつ外部メモリからのアクセスを要求しなけれ
ばならない。実行が凍結されている期間、プロセッサは
、新しいアドレスをメモリに発生するのを阻止される。
言い換えれば、プロセッサは、その演算を継続する前に
、第]演算に関するデータが外部メモリから到着するの
を待機しなければならない。その結果、外部メモリのこ
の種のアクセスは、6クロツク・サイクルまたはそれ以
上かかつてし捷う。したがって、外部メモリの頻繁なア
クセスが、含まれているデータ構造の寸法に依存してい
る場合、システムの処理速度にかなシの遅延が生じる。
外部にアクセスされたデータがプロセッサに送られる場
合、大きいデータ構造の処理に関連した別の問題が生じ
る。外部データがプロセッサに送られる場合、外部デー
タは、通常、あらかじめ常駐しているデータに取って代
って、キャッシュに書き込まれる。しかし、キャッシュ
において取って代わられたデータが、近い将来に繰シ返
し参照されることが非常にあり得る情報であるのにもか
かわらず、ある外部データ(最も一般的には、大きいデ
ータ構造の場合)は、たまにしか参照されない情報であ
る、すなわち、それが再使用されることが見込まれてい
ないということを忘れてはならない。このように、プロ
セッサは、おそらく1度しか参照されないであろうデー
タのために、再使用されなければならないデータを放棄
している。
その結果として、取シ換えられたキャッシュ・データを
再び呼び出すのに非常に時間がかかりてしまうことにな
る。従来のプロセッサの実行速度が本発明により達成さ
れた速度よシもはるかに遅いという原因は、この多大な
アクセス時間にある。
後述するように、本発明は、プロセッサが次のアドレス
を発生するのを待機することによる遅延がなく、非常に
速い速度で(実質的に全バス帯域幅で)メモリ演算を処
理することができるパイプライン構造を提供する。この
パイプライン構造を使用することにより、本発明に関連
したプロセッサは、外部メモリからのデータの到着を待
機する必要なく、アドレスを発生し続けることができる
これにより、従来のフロセッサに比較して、本発明に関
するマイクロプロセッサの性能を高めることができる。
これを達成するため、本発明は、外部メモリに記憶され
たデータをすぐさまアクセスするパイプライン浮動小数
点ロード・インストラクション回路を提供する。”PF
Load”または PFld’  として示されている
このパイプライン浮動小数点ロド嘩ンフトウエア・イン
ストラクションは、プログラマによシ使用されて、オン
チップ・データ・キャッシュまたは外部メモリ装置のい
ずれかに記憶されたデータをアクセスする。インストラ
クションハ、フロセッサの内部データ番キャッシュ中に
データがまだ存在していない状態に対して最適化される
。この状態は、゛キャッシュ・ミス”または”PFLo
adミス” と呼ばれている。口ドされるべきデータが
、既にデータ・キャッシュ中に記憶されているような逆
の場合、いわゆる“キャッシュ・ヒット”の場合も、本
発明により処理できる。
また、本発明のPFLoadインストラクション回路は
、データ・キャッシュ中に既に常駐しているデータを更
新するのではなく、プロセッサの浮動小数点装置の記憶
位置に、新たにアクセスされたデータを送る。PFLo
ad  インストラクションについては、N10プロセ
ツサのバス制御装置に関連して後述する。
〔発明の概要〕
外部メモリ装置に記憶された浮動小数点データをアクセ
スするよう最適化されたマイクロプロセッサ・インスト
ラクション回路について説明する。
本発明ハ、マイクロプロセッサのパイプライン・アーキ
テクチユアを使用して、近い将来に再び使用されそうに
ない外部データを有効に検索し、浮動小数点データ・ラ
ッチに直接的にデータを転送する。オンチップ−データ
・キャッシュに常駐しているよく参照されるデータは、
そのまま保持される。
本発明のパイプライン浮動小数点ロード・インストラク
ション回路は、アクセスされたデータを累算する先入れ
先出しくFIFO)メモリを含んでいる。FIFOに関
し、第1回路装置は、外部メモリからFIFOにデータ
を送り、第2回路装置は、FIFOから浮動小数点デー
タ・ラッチにデータを転送する。第2回路装置は、キャ
ッシュ・ヒット(すなわち、参照されたデータが実際に
データ・キャッシュに存在する)の場合には、データ・
キャッシュからのデータi FIFOに戻す。最後に、
第1および第2回路装置に接続したバス制御装置は、外
部メモリ装置から浮動小数点装置へのパイプラインされ
たデータ流を制御する。
本発明の目的は、従来のプロセッサよりもかなυ速い速
度でメモリ演算を処理することができるパイプライン・
インストラクション回路を提供することである。このよ
うにすれば、本発明は、外部メモリからの実際のデータ
の到着を待たなくても、アドレスを発生し続けることが
できる。
本発明の他の目的は、オンチップ・データ・キャッシュ
に既に常駐しているデータを更新することなく、外部デ
ータをアクセスすることである。
本発明の更に別の目的は、非常に大きいデータ構造を含
んでいる算術演算を処理する速くてしかも有効的な装置
を提供することである。
以下、添付の図面に基いて、本発明の実施例に関し説明
する。
〔実施例〕
外部メモリからのデータをロードするパイプライン浮動
小数点ロード・インストラクション回路から成るマイク
ロプロセッサについて説明する。
以下の説明において、ビット長など様々な特定の記載は
、本発明の理解を助けるためであって、本発明はこれら
記載に限定されないことは当業者には明白であろう。な
お、周知の回路についての詳細外説明は、本発明を不明
瞭にしないため省略している。
第1図は、NIOプロセツザの概要を示している。NI
Oプロセッサは、8つのそれぞれの装置に論理的にかつ
物理的に分割されている。
算術演算装置35は、IEEE標準規格倍および単精度
の加算をサポートする浮動小数点アダー装置と、I E
EF、標準規格単および倍精度の浮動小数点乗算をサポ
ートする浮動小数点乗算器から成る。
アダーも乗算器も3段パイプライン能力を有している。
演算中、二一モニツク5rcl 、 5rc2によシ表
わされた入力オペランドは、ライン42.43(′こ沿
って算術演算装置35に供給される。ニーモニソク5r
cl、 5rc2 (d、estと同じく)は、N10
プロセツサ中に位置する32iii!ilの浮動小数点
レジスタの1つを示している。算術演算装置35からの
出力は、64ビツトのデスティネーション・バス41に
接続したライン49に生じる。バス41〜43は、それ
ぞれ64ビツトの長さで、浮動小数点制御装置33に接
続している。浮動小数点ソース・オペランド5rcl、
  5rc2は、また図形装置34に供給される。
図形装置34は、異なるシェーディング・アルゴリズム
に関する高速3次元図形およびピクセル計算、および隠
れた面を除去する2バッファ・チエツクを行なう64ビ
ツト図形プロセッサである。
図形プロセッサは、いくつかの演算の結果をマジングし
、かつライン45に沿って結果をデスティネーション・
バス41に供給することができる。
■装置として示されているインストラクション・キャッ
シュ20は、32ビツト整数および32ビット浮動小数
点インストラクションをライン24.25に沿ってRI
SCコア31と浮動小数点制御装置33にそれぞれ供給
する。インストラクション・キャッシュは、32バイト
・ブロックで4にバイトの両刀向セット連想メモリであ
る。インストラクションは、各クロックにおいてキャッ
シュ20により各バスに供給される。
メモリ管理装置21は、データおよびインストラクショ
ンのアクセスに関し仮想アドレスを物理アドレスに翻訳
し、アクセス妨害に対して阻止し、かつ1つのクロック
において次の最も近い信号を発生するよう現在のサイク
ルの物理アドレスを前のサイクルに比較する。翻訳は、
64個のエントリを伴なう連想キャッシュである変換索
引バッファ(TLB)を用いて行なわれる。メモリ管理
装置21は、32ビツト・バス26.27に沿って入力
を受信し、RISCコア31から出力する。
実行コアまたはE装置として示されているRI SCコ
ア31は、全32ビツト整数およびロード/ストア演算
を行なう。これは、N10プロセツサの中央コントロー
ラである。−!!、た、これは、32ビツト・レジスタ
を備えた3ボート◆レジスターフアイルと、バイパス・
ネットワークと、シフタと、ALUと、インストラクシ
ョン・ポインタを有している。コア装置31は、整数お
よび浮動小数点インストラクションの両方をフェッチす
る。さらに、これは、整数レジスタ・ファイルを含み、
ロード、ストア、整数、ビット、飛越し演算をデコード
しかつ実行する。
データ・キャッシュ装置22は、N10プロセツサの読
み取り/書き込み演算のためデータ・キャッシングおよ
びバイl−i合を行なう。キャッシュ・データの交換は
、バス37を介してデータ・キャッシュ22と浮動小数
点制御装置33との間で行なわれる。データ・キャッシ
ュ22は、64ビツト・バス29でバス制御装置30を
介して外部データを受信する。
バス制御装置30(B装置)は、外部バスおよび内部チ
ップ間をインタフェイスするバス・サイクル・コントロ
ーラである。これは、E装置からのバス・ザイクル要求
を受信し、データおよびインストラクション・キャッシ
ュのアクセスを実行し、凍結制御およびキャッシュ・ラ
イン取り換えを含むキャッシュ・ミスのケースを処理し
、TLB翻訳、ミスおよび障害処理を制御し、かつ外部
バスへのインタフェイスを行なう。本発明の主題である
パイプライン浮動小数点ロード・インスト22737回
路は、N10プロセツサのバス制御装置30内に供給さ
れている。バス・コントローラは、最高3つのアウトス
タンディング・バス・サイクルを与えるパイプライン・
アーキテクチユアを有している。
最近の多くのマイクロプロセッサのアーキテクチュアに
おいて、パイプラインは、演算が行なわれる速度を増す
のに使用される。パイプライン・アーキテクチユアは、
平行して実行できる一連のより根本的な演算(段と呼称
する)として各演算を処理する。NIOプロセッサにお
いて、パイプラインの段差は、1〜3段である。3段パ
イプラインに関するパイプライン演算は、3つ前の演算
の結果を記憶する。2段パイプラインに関するパイプラ
イン演算は、2つ前の結果を記憶する。1段パイプライ
ンに関するパイプライン演算は、1つ前の演算の結果を
記憶する。NIOプロセッサは、外部バスにパイプライ
ンしている3レベル・バス・サイクルをサポートするの
で、第1サイクルに関するデータが戻る前に発生される
最高3つのバス・サイクルがある。さらに、B装置にお
ける内部アドレス経路は、次のサイクルに関するアドレ
ス翻訳が現在の外部バス・サイクルと平行して行なわれ
るようにパイプラインされる。
前述したように、たまに使用されるデータ、すなわち近
い将来再使用の予定がない外部メモリからのデータをア
クセスするのに、PFLoadインストラクションが使
用される。バス制御装置内にあるPFLoad 制御論
理装置は、キャッシュ・ミスの場合に対して最適化され
る。”キャッシュ・ミス”は、PFL o a dデー
タがまだデータ・キャッシュ装置内にない状況のことで
ある。
第2図は、本発明のインストラクション回路の実施例を
示している。PFLoad インストラクションは、6
4ビツト・バス40に沿って外部メモリからのデータを
戻す。戻されたデータは、NIOプロセッサのパイプラ
イン特性にしたがって、3つ前のPFLQadインスト
ラクションによりアドレスされたデータである。トライ
・ステート・バッファ60は、MUX62の”0”入力
に、およびMUX 67のDBS入力に外部データを駆
動するのに使用される。バッファ60は、ライン61を
介してマルチプレクサ62.67に接続している。ドラ
イバ69,74.75と同様に、バッファ60は、通常
のトライ・ステート論理ドライバから成る。同様に、マ
ルチプレクサ62.67は、本実施例において使用され
ているような通常の論理回路から成る。マルチプし/フ
サ62,6フと同様に、トライψステー1・・ドライバ
60,69゜74.75の制御は、B装置におけるバス
制御論理装置によシ行なわれる。この制御論理装置は、
バス制御装置の高レベル機能言語記述からコンピュータ
により合成されている。B装置により行なわれる制御動
作のフローチャートについては後述する。
PFLoadインストラクション回路は、ライン63に
よりマルチプレクサ62の出力に接続したPi;”LQ
ad先入れ先出しくFIFO)メモリ65を含んでいる
。PIFO65は、ライン66によ#)MUX 67の
PFLoad 入力に送られる出力を発生する。
本実施例において、PIFO65は、長さ64ビツトで
、深さ3ワードである。PFLoad  FIFO65
は、3つ前のPFLoadインストラクションにより参
照された64ビツト・データを含んでいる。プロセッサ
が初期化された時、すなわちリセット後、FIFOの内
容は定義されていない。したがって、使用不可能データ
または不要情報は、最初の3つのPFLoadインスト
ラクションに関して戻される。(プログラマは、発生さ
れた最初の3つのPFLoadインストラクションに関
して戻されたデータを無視しなければならない。)マル
チプレクサ67は、PIFO65のトップからのデータ
出力を受信する一人力と、外部メモリから直接的にデー
タを受信する他の入力を有している。外部データは、ラ
イン61を介してMUX67に直接的に送られる。PI
FO65は、ライン66によりMUX 67に接続して
いる。MUX67の出力は、トライ・ステート・バッフ
ァ69に接続したライン68に生じる。次に、トライ・
ステート・バッファ69は、第2図においてライン29
として示されているBIBUSと称呼されている64ビ
ット内部バスに接続している。その名が示すように、こ
のバスは双方向バスで、キャッシュカラのデータをMU
X 62に戻す他、浮動小数点装置にデータを送る。B
IBUS29は、バッファ75を介して、長さ64ビツ
トのDABUS 76に接続している。DABUS 7
6は、浮動小数点入力データQラッチ78をデータ・キ
ャッシュ70に接続する。前述したように、BIBUS
29は双方向バスなので、キャッシュ・ヒットの場合に
は、データ・キャッシュ70に既に存在するデータをM
UX62に戻すことができる。キャッシュ中のデータは
、バッファ74を介してライン79に沿ってBIBUS
 に送られる。
NIOプロセッサがデータをアクセスしなければならな
い場合、そのデータは、外部メモリ装置または内部デー
タ・キャッシュのいずれかにおいて見出すことができる
。データがNIOプロセッサの外にある場合、PFLo
ad  インストラクションは、外部メモリからのデー
タ全外部バス40を用いてマルチプレクサ62を介しP
FLoad FIFO6,5にロードするよう動作する
。3つの連続PFLoad インストラクションが(連
続するFIFO段に対応して)発生された後、初期デー
タはライン66に発生され、その後、BIBUS29に
送られる。PIF’Oがいっばいになった後、各ノーマ
ルPFLoadサイクルは、FIFOのトップからBI
BUS29 にデータを転送し、その後、DABUS7
6を介して浮動小数点入力データ・ラッチ78に送られ
る。したがって、各ノーマルPFLoadサイクルは、
プロセッサにおいて対応する読み取りサイクルを開始す
る。
外部データ・バスから新しいデータが到着すると、それ
は通常PIFO65のボトムに送られる。
しかし、アドレスされたデータが既にデータ・キャッシ
ュに存在するならば、PFLoadヒツト(キャッシュ
・ヒットと同意飴である)が生じ、例外が発生する。P
FLoadヒツトが生じると、B装置のバス制御論理装
置は、アウトスタンディング・バス・サイクルの全てが
完了するまで待機する。続いて、それは、ライン79、
BIBUS29(MUX62の1”入力に接続)および
ライン63から成るデータ経路に沿って、要求されたデ
ータをデータ・キャッシュ70からFIFO65のボト
ムに転送する。
コントローラは、2つの理由でデータ・キャッジニア0
からFIFO65のボトムにPFLoadヒツト・デー
タを転送する前に、アウトスタンディング・バス・サイ
クルの全てが完了されるのを待機しなければならない。
第1に、アウトスタンディングPFLoadサイクルが
あるかもしれないからである。アウトスタンプ・1/グ
PFLoadサイクルの全てが完了される前にFIFO
にPFLoadヒツト・データを書き込もうとすると、
FIFO中のデータが乱れてしまう。第2に、B113
Us 29 が、3つ前のPFLoad  インストラ
クションから浮動小数点装置に転送されているデータで
既に占められているかもしれないからである。
キャッシュからのPFLoadヒツト・データがBIB
USによυすぐさま転送されるならば、バス・コンテン
ションが生シてL15゜バス・コンチンジョンが生じる
のを阻止するため、B装置のバス制御論理装置は、デー
タをPIFO65に戻す前に1つの余剰クロックに関し
バッファT4を遮断する。アウトスタンディング・サイ
クルの全てが完了するのをB装置が待機した後、PFL
oad ヒツト・データは、FIFOのボトムに配置さ
れ、かつPFLoad処理手続きが通常通りに行われる
プロセッサは外部バスまたはメモリよりも速い速度で演
算することが可能である。たとえば、プロセッサの速度
が外部ハードウェアよシも速い場合、FIFOは空にな
る可能性がある。FIFOは、プロセッサにより発生さ
れる最大数のアドレスを保持するのに十分な段数を有し
、かつプロセッサのパイプライン・アーキテクチユアと
コンパチブルでなければならない。したがって、ここで
述べられているPFLoadインストラクションはダイ
ナミックに動作する。
第5b図において、PFLoadFIFO65は、本実
施例ではビット当り3つのラッチまたはレジスタと、読
み取シ位置カウンタ87と、書き込み位置カウンタ86
から構成されている。読み取り位置カウンタは、デコー
ダ88に接続し、さらにライン94.93を介して3 
: I MUX 95に接続している。これらラインは
、次のPFLoadサイクルがデータを読み取るレジス
タを、PFLoad演算において読み取υカウンタ87
が選択するように、MUX95の選択ラインに接続して
いる。
書き込み位置カウンタ86は、デコーダ85に接続し、
さらにライン92,91.90によりレジスタA、B、
Cにそれぞれ接続している。ライン9(1−92によシ
、ライン63に生じたデータを適尚なレジスタにラッチ
することができる。動作において、書き込み位置カウン
タ86は、次のPFLoadサイクルが、戻されたデー
タを書き込むラッチを示す。読み取シ位置カウンタと書
き込み位置カウンタの両方とも、普通の0−2ラツフア
ラウン下・カウンタを有している。
読み取りカウンタは、PFLoadインストラクション
が書き戻し段にある、すなわちベンディング中で、BI
、BUSがビジーでなく、かつPFLoadF’IFO
が空でない場合にインクリメントされる。
FIFOが空の場合、読み取りカウンタは、たとえデー
タがFIFOに実際にはラッチされなくて、浮動小数点
入力データ・ラッチに直接的に駆動されても、インクリ
メントされる。書き込みカウンタは、現在の外部バス・
サイクルがPFLoadの場合、すなわちPFLoad
データがPFLoadヒツトに関しデータ・キャッシュ
からFIFOのボトムに書き込まれている場合に、イン
クリメントされる。データ全FIFOにラッテするFI
FO書き込み信号を発生ずるのに、書き込み位置カウン
タの2つのビットが使用される。
第5a図は、PIFO65の別の実施例を示している。
第5a図は、ライン66から出力される前に、データを
ラッチ1からラッテ2を通シ最終的にラッチ3に直列に
送るFIFOを示している。
たとえ、第5a図のFIFOがPFLoa’dインスト
ラクション回路のパイプライン特性を適切に保持してい
ても、それは第5b図に示されたFIFOのフレキシビ
リティは持っていない。たとえば、第5b図のFIFO
では、データは、1クロツク・サイクルにおいてラッテ
87に書き込まれ、かつ他のレジスタを介して送ること
なく次のサイクルにおいて読み取られる。このように、
必要ならば、任意のデータをよシ早く利用できるように
することができる。
前述したよう釦、NIOプロセッサは、最高3つのアウ
トスタンディング・バス・サイクルを発生することがで
きる。プロセッサが外部メモリよシも速い速度でバス・
サイクルを発生しているならば、PFLoadFIFO
は空になる可能性がある。
これは、3つのアウトスタンディング・サイクルがPF
Loadサイクルであることを意味している。
4番目のPFLoadサイクルが書き戻し段にあシ、デ
ータ・ラッチγ8にロードするのに使用し得るデータが
ない場合、バス・コントローラ装置は、凍結信号を発生
する。PFLoad サイクルが要求されても、FIF
Oが空の場合、PFLoadデータがDABUSにおい
て使用し得る壕で、コアは凍結されなければならない。
(PFLoadFIFOが空であるか、BIBUSがビ
ジーであるか、または変換索引バッファのミスのため、
FIFOからのデータがデータ・ラッチ78に転送され
ることができない場合、PFLoad はベンディング
である。
)なお、データ・キャッシュが、通常の書き込みを行な
っている場合、データ・キャッシュ装置TOは、DAB
US 76  およびDBBUS80の両方を駆動する
ので、それは、同じクロック・サイクルで外部データを
ラッチに供給することができなくなる。しかし、PF″
Load  インストラクションを使用すれば、データ
・キャッシュ10は、キャッシュの内部ドライバ(DA
BUS 7eに接続)がオフになるように、B装置によ
シ制御される。DAEUS76へのキャッシュ・ドライ
バをオフにすることにより、外部データは、バス・コン
テンション状態を生じることなく、データ・ランチ78
に供給することができる。
一旦、PFLoadデータがDAB’US 76におい
て利用できるようになると、凍結は解除される。
その稜、外部データは、BIBUS29からDABUS
にバッファ75によシ駆動される。BIBUSに沿って
供給されるデータは、PIFO65から、または外部メ
モリ装置からのライン61に沿って直接的に発生される
。MUX67は、FIFO65が空の場合だけデータ・
ソースとしてライン61を選択する。PIFO65が空
かどうかは、外部メモリの速度や、どんなに頻繁にプロ
グラマがPFLoadインストラクションを発生するか
、などにより決まる。PFLoad シーケンスに割込
む場合、外部バス40において発生されたアウトスタン
ディングPFLoad コマンドがあるならば、外部メ
モリからデータを送シ続ける。前のPFLoadインス
トラクションによつ8揺された外部データは、プログラ
マがもう一度PFLoadの発生を開始するまで、PI
FO65に累算する。
いずれかのアウトスタンディングPFLoadサイクル
が完了される前にデータFIFO65が空にされるよう
に、プログラマが連続したPFLoadコマンドを発す
るならば、外部データ・バス40に到着する新しいデー
タは、ライン61に沿ってMUX 67を介してBIB
US 29に直接的に供給されるように接続される。次
に、BIBUS 29に供給されたデータは、バッファ
γ5によυDABUS76に送られ、浮動小数点入力デ
ータ・ラッチ78への記憶を終了する。データ人力ラッ
チは、実際には、NIOプロセッサの浮動小数点装置の
一部である。(DBBUSは、128ビツト・ロードを
処理する時に使用されるだけである。PFLoadイン
ストラクションは、64ビツトまたは32ビツト・ロー
ドにおいて動作するだけなので、DBBUSは、本発明
のPFLoadインストラクション回路には直接的には
関係ない。) データ・キャッシュ・ヒットが生じた場合、すなわち実
際に要求されたデータが、外部メモリではなくデータ・
キャッシュ中にある場合、次のような事が行なわれる。
第1に、データの現在のワードは、PFLoadFIF
O65または外部データ・バス40のいずれかから戻さ
れなければならない。
これを行なうため、バッファ75は、バス制御装置の制
御論理装置によシ遮断され、データは、マルチプレクサ
62の”1”入力に接続したBIBUS経路に沿って戻
される。次に、バス制御装置により制御されるマルチプ
レクサ62は、ライン63に沿ってPIFO65のボト
ムにデータを戻す。
多くのアウトスタンディングPFLoadが発生され次
場合−どれもまだ外部メモリからデータを戻していない
−およびキャッシュ・ヒットが生じた場合においては、
別の筋書が用意されている。
この場合、プロセッサが、データ・キャッシュに現在あ
るデータのワードですぐさま行なうことができることは
伺もない。最初に、バス制御装置は、あらかじめ発生さ
れた全PFLOad インストラクションが外部メモリ
からデータ′f、戻すのを待機しなければならない。残
っている2つのワードがPIFO65に書き込まれるの
に対し、戻されたデータの最初のワードは、PIFO6
5から、または外部バスから直接的に、データ入力ラッ
チ78に転送される。最後に、データ・キャッシュ70
に記憶されたデータ・ワードは、FIFOにおける最後
のワードとしてPIFO65に転送される。
したがって、キャッシュからFIFOにデータを転送す
る前に、プログラマは、全アウトスタンディングPFL
oad サイクルが完了されるのを待念なけれげならな
いので、キャッシュ・ヒットの場合にかなりの時間的不
利がある。後述するように、PFLoad  インスト
ラクションは、キャッシュ・ヒットよυもキャッシュ・
ミスに対して最適化される。
第4図には、本発明の別の実施例が示されている。第4
図の回路は、ライン79、バッファ74、およびMUX
 62の”1”入力への復帰BIBUS経路が省略され
ていることを除けば、第2図と同様である。ここには、
バス81が含まれている。
バス81は、キャッシュ70の内部バッファ82からマ
ルチプレクサ62の1”入力に直接的に接続している。
この実施例による主な利点は、データをFIFO65に
書き込む前にバッファ69がオフに々るのをユーザが待
機しなくてもいいことである。キャッシュ・ヒットに適
応するようバス81が設けられているので、プログラマ
は、処理する前にアウトスタンディングPFLoadイ
ンストラクションからの外部データが全て戻されるのを
待機しなくてもよい。キャッシュ・ヒットカ生じた場合
、データがデータ・キャッシュ70から直接的にPIF
O65に供給されるので、クロックの不利もない。
一方、第2図の実施例は、1つのバスだけを必要として
いるので、シリコン面積を減少できるという利点を有し
ているのに対して、第4図の実施例では、バス81をさ
らに必要としている。
第6図は、本発明のPFLoadインストラクション回
路に関するバス制御論理装置により供給される制御動作
を示したフロー・チャートを示している。このフロー・
チャートは、PFLoad インストラクションの実行
において使用される後述するバス制御論理の概要を示し
ている。第6図において、PFLoadチャートは、P
FLoac19求を表している状態100から開始する
。−旦、要求が発生されると、バス制御論理装置ガとB
装置は、FIFO65が空であるか、またはBIBUS
 29がビジーであるかどうかを決定する。これは決定
要素101 によp示されている。2つの条件のいずれ
かが真であるならば、バス・コントローラは、条件が変
るまで待機する。FIFOにデータが存在し、かつBI
BUSがビジーでないならば、コントローラは、FIF
Oに存在しているデータが浮動小数点データ・ラッチT
8に転送される状態102に進む。決定状態103にお
いて、バス・コントローラは、PFLoadヒツト、言
い換えればデタφキャッシュ・ヒットが起きたかどうか
を調べるためチエツクする。データが外部メモリに存在
しているが、データ・キャッシュ70にはない場合、バ
ス・コントローラは、状態104に示すようにPFLo
adバス・サイクルを発生する。インストラクションの
最後が来るまで、普通通シに処理が行なわれる。
なんらかのアウトスタンディングPFLoadサイクル
があるかどうか、またはBIBUSがビジであるかどう
か、バス・コントローラが問わなければならないような
PFLoad ヒツトが生じることがある。これは、第
6図の決定状態105によシ示されている。アウトスタ
ンディング・サイクルがあるか、またはBIBUSがビ
ジーであるならば、バス・コントローラ論理装置は、ア
ウトスタンディング・バス・サイクルが全部完了しかつ
BIBUSがデータ転送に使用可能になるまで待機しな
ければならない。これが起きた場合、データは、状態1
06に示すようにデータ・キャッシュからFIFOのボ
トムに転送される。この転送は、データがライン79に
沿ってバッファ74を介して送られ、BIBUS によ
シMUX62の1人力に戻される第2図に関連した説明
と同様に行なわれる。第4図の実施例では、データ・キ
ャッシュ70からのデータは、ライン81に沿って直接
的にMUX62の”1”入力に送られる。そして、イン
ストラクションの最後に至るまで、普通通りに動作が行
なわれる。
本発明の動作と利点をより理解するため、第3図に示し
たサンプル動作について説明する。第3図の式により示
されたサンプル動作は次の通りである。
kVl + V2 →V2 ここで、kは所定の定数で、■1は外部メモリに記憶さ
れた1000の異なる、すなわち1000のエレメント
のベクトルの1つで、■2は、データ・キャッシュ装置
70に記憶されたベクトルである。この特定の計算にお
いて、プロセッサは、ベクトルv2ヲ1000回(各■
lの各エレメントのそれぞれに対して1度)再使用しな
ければならないのに対し、■1の各エレメントはたった
1回しか使用されない。本発明のPFLoadインスト
ラクション回路を用いれば、プロセッサは、データ・キ
ャッシュに常駐しているどの■2も書き直さずに、ベク
トルv1の各エレメントを浮動小数点レジスタにロード
することができる。
第3図は、第1■lベクトルの第1エレメントをPFL
oad記憶位置f2にロードするため、■11のアドレ
スに発生されている第1 PFLoadインストラクシ
ョンpfld+ を示している。I)f ld lコマ
ンドは、開始するのに2クロツク・サイクルかかる。外
部メモリからデータが戻るのを待機するとと々く、第2
PFLoadインストラクシヨンpfld2;6’ベク
トル・エレメントVI2 ヲアドレスするため発生され
、かつそれをPFLoad記憶位置f3に送る。別のP
FLoadコマンドが、ベクトル・エレメントV、3.
 V、、 、 V、5などに関して開始される。外部バ
スにより新しいアドレスが2クロツクごとに発生される
ので、新しいPFLoadを2クロツクごとに要求する
ことができる。
第4 PFLoadコマンドpfld4  が発生され
る場合、外部メモリは、第1 PFLoadインストラ
クションからデータを戻し始める。第4 PFLoad
において指定されたデスティネーション・レジスタはf
2レジスタであるので、この戻されたデータは、実際に
は3つ前のPFL o a dインストラクションに対
応している。3つ前のPFLoadコマンドからのデー
タの到着は破線によシ示され、矢印は浮動小数点記憶位
置からPFLoad命令のアドレスに斜めに向いている
。プログラマは外部バスの全帯域幅能力にしたがって、
2クロツクごとにPFLoad を指定し続けることが
できる。実際、プログラマがデータが戻る回数にデータ
・アドレスを指定する時間からトータル6クロツクの待
ち時間がある。したがって、メモリ装置は、たとえ新し
いバス・サイクルが1クロツクごとに開始していても、
データを供給するのにトータル6クロツクを有している
。これは、サイクルを処理できる速度の3倍速度を増す
ことができることを意味している。パイプライン方式な
しでは、プログラマは、新しいサイクルを発生するのに
1クロツクごとではなく6クロツクごとの発生に制限さ
れるであろう。
無論、前述の説明は、各PFLoad  ロード・イン
ストラクションはデータ・キャッシュeミスに対応して
いることを想定している。これが、従来のプロセッサに
おける通常の浮動小数点ロードであったならば、プログ
ラマが第2 PFLoadを実施を試みたらすぐ、バス
制御装置は、アウトスタンディング・アクセスがあるこ
とに応答し、全6クロツク間凍結し、アウトスタンディ
ング・バス・ロードが戻るのを待つ。したがって、従来
技術のプロセッサでは、プログラマは1クロツクごとで
はなく6クロツクごとに新しいアドレスを発生するしか
ない。このように、本発明のPFLoadインストラク
ション回路に関連したパイプライン方式により、ユーザ
は、オンボード・キャッシュにデータがないにもかかわ
らず、より速い速度でアドレスを発生することができる
。し7たがって、非常に大きいデータ構造を有効的に処
理しかつアクセスすることができる。
本発明は、v1エレメントを外部メモリに保持しながら
、ベクトルV2 tオンボードに記憶することができる
ので、ユーザは、PFLoadインストラクションを用
いて■lエレメントを参照しかつノーマル・ロード・イ
ンストラクションでベクトル■2を参照することができ
る。PFLoadインストラクション回路のない代表的
な従来のマイクロスロセツサでは、ユーザがV、を参照
する度に、データ・エレメントは、キャッシュに送られ
、それによシベクトルv2のエレメントが追い出されて
いた。したがって、V2エレメントヲロードしなければ
ならない次回にさらに遅延が生じてしまう。
以上のように、実施例に基いて説明してきたが、本発明
は、これら実施例に限定されず、様々に改変できること
は当業者には明白であろう。たとえば、パイプライン浮
動小数点ロード・インストラクション回路を供給する特
定の方法が示されているが、無論、本発明は他の方法で
も可能である。
このように、本発明は、実施例における詳細には限定さ
れず、本発明の思想の範囲において改変できる。
【図面の簡単な説明】
第1図は、本発明のパイプライン浮動小数点ロド・イン
ストラクション回路に関連したプロセッサの論理部分の
概要図、第2図は、本発明のパイプライン浮動小数点ロ
ード・インストラクション回路の実施例図、第3図は、
外部メモリに記憶されたベクトル・マトリックスとオン
チップ・データ・キャッシュに記憶された内部ベクトル
を含んでいる代表的な動作に関して発生された一連のパ
イプライン浮動小数点ロード・インストラクション回路
、第4図は、本発明の他の実施例回路図、第5a図は、
本発明に含まれているパイプライン浮動小数点ロード先
入れ先出しメモリの一実施例説明図、第5b図は、本発
明に含まれた先入れ先出しメモリの別の実施例説明図、
第6図は、本発明のPFLoadインストラクションに
関連したバス制御論理装置によシ供給される制御動作を
示したフローチャートを示している。 20・・・・インストラクション回路−キャッシュ、2
1・・・・メモリ管理装置、22・・・・データ・キャ
ッシュ、30・・・・バス制御装置、31・・・・RI
SCコア、33・・拳・浮動小数点制御装置、34・・
・・図形装置、35・・・・算術演算装置、60・・・
・トライ・ステトφバッファ、62.67・・・・マル
チプレクサ、65 ・・・拳PFLoadFIF0,6
9.74゜T5・・・・ドライバ、70・・・・データ
・キャッシュ、78・・・・浮動小数点入力データ・ラ
ッチ、95・・−−3:IMUX、85.88−−時・
デコーダ、86,87・命・・カウンタ。

Claims (4)

    【特許請求の範囲】
  1. (1)パイプライン・アーキテクチユア、データ・キャ
    ッシュ、処理装置、および外部バスに沿つた外部メモリ
    のアクセスを制御するバス制御装置とを有するマイクロ
    プロセッサにおける、上記マイクロプロセツサへのデー
    タのローディングをパイプラインするインストラクショ
    ン回路において、上記外部メモリからデータが送られる
    時、パイプライン方式でデータを記憶する第1回路装置
    と、上記第1回路装置に接続し、上記第1回路装置に記
    憶されたデータをデータ・ラッチに転送するバス装置と
    、 上記外部メモリからのデータを上記マイクロプロセッサ
    の上記データ・ラッチにパイプラインするように、上記
    第1回路装置と上記データ・キャッシュを制御する制御
    装置と、 から成ることを特徴とするインストラクション回路。
  2. (2)パイプライン・アーキテクチユアを有し、かつデ
    ータ・キャッシュ、データ・ラッチを有する処理装置、
    および外部バスにより外部メモリからデータをアクセス
    するインストラクション回路とから成るマイクロプロセ
    ッサにおいて、上記インストラクション回路は、 データを累算するメモリ装置と、 キャッシュ・ミスが生じた場合、上記外部メモリからの
    データを上記メモリ装置に送る第1回路装置と、 上記メモリ装置に累算されたデータを上記データ・ラッ
    チに送り、かつキャッシュ・ヒットの場合には上記デー
    タ・キャッシュ内にあるデータを上記メモリ装置に戻す
    よう、上記データ・キャッシュを上記第1回路装置に接
    続する第2回路装置と、 上記第1および第2回路装置、上記メモリ装置、および
    上記データ・キャッシュとに接続し、キヤツシユ・ミス
    の場合には上記外部メモリから上記データ・ラツチへの
    パイプラインされたデータ・フローを制御し、かつキャ
    ッシュ・ヒットの場合には上記データ・キャッシュから
    上記メモリ装置へのデータの復帰を制御するバス制御装
    置と、から成ることを特徴とするインストラクション回
    路。
  3. (3)パイプライン・アーキテクチユア、データ・キャ
    ッシュ、処理装置、および外部バスに沿つた外部メモリ
    のアクセスを制御するバス制御装置とを有するプロセッ
    サにおける、上記プロセツサへのデータのローディング
    をパイプラインするインストラクション回路において、 上記外部バスに接続し、上記外部メモリから上記プロセ
    ッサにデータを送る第1バッファと、上記第1バッファ
    により上記外部メモリからデータを送る時、パイプライ
    ン方式でデータを記憶する第1回路装置と、 上記第1回路装置に接続し、上記第1回路装置に記憶さ
    れたデータをデータ・ラッチに転送する第1バス装置と
    、 上記外部メモリからのデータが上記プロセッサ内の上記
    データ・ラッチにパイプラインされるように、上記第1
    バッファ、上記第1回路装置および上記データ・キャッ
    シュとを制御する制御装置と、 から成ることを特徴とするインストラクション回路。
  4. (4)処理装置、データ・キャッシュ、および外部メモ
    リ装置への接続装置とを有するプロセッサにおいて、 (a)上記外部メモリに上記データをアドレスする過程
    と、 (b)上記外部メモリからの上記データを先入れ先出し
    メモリに書き込む過程と、 (c)上記先入れ先出しメモリからの上記データをバス
    に読み取る過程と、 (d)上記バスにおける上記データを上記処理装置内の
    データ・ラッチに転送する過程と、から成ることを特徴
    とする、上記外部メモリからデータをアクセスする方法
JP2032295A 1989-02-10 1990-02-13 パイプライン浮動小数点ロード・インストラクシヨン回路 Pending JPH02242429A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30942989A 1989-02-10 1989-02-10
US309,429 1989-02-10

Publications (1)

Publication Number Publication Date
JPH02242429A true JPH02242429A (ja) 1990-09-26

Family

ID=23198201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2032295A Pending JPH02242429A (ja) 1989-02-10 1990-02-13 パイプライン浮動小数点ロード・インストラクシヨン回路

Country Status (6)

Country Link
JP (1) JPH02242429A (ja)
AU (1) AU618425B2 (ja)
CA (1) CA2009744C (ja)
DE (1) DE4001165C2 (ja)
FR (1) FR2643166A1 (ja)
GB (1) GB2228116B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438669A (en) * 1991-11-20 1995-08-01 Hitachi, Ltd. Data processor with improved loop handling utilizing improved register allocation
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US6275904B1 (en) 1998-03-31 2001-08-14 Intel Corporation Cache pollution avoidance instructions
US7454585B2 (en) 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
US7506132B2 (en) 2005-12-22 2009-03-17 International Business Machines Corporation Validity of address ranges used in semi-synchronous memory copy operations
US7484062B2 (en) 2005-12-22 2009-01-27 International Business Machines Corporation Cache injection semi-synchronous memory copy operation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
JPS6069746A (ja) * 1983-09-26 1985-04-20 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式
US4600986A (en) * 1984-04-02 1986-07-15 Sperry Corporation Pipelined split stack with high performance interleaved decode
JPS61160142A (ja) * 1984-12-29 1986-07-19 Hitachi Ltd デ−タ処理装置
US4873630A (en) * 1985-07-31 1989-10-10 Unisys Corporation Scientific processor to support a host processor referencing common memory
US4722049A (en) * 1985-10-11 1988-01-26 Unisys Corporation Apparatus for out-of-order program execution
JPS62115571A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd ベクトルアクセス制御方式
JPS63157235A (ja) * 1986-12-12 1988-06-30 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン コンピユータ・システムの制御装置

Also Published As

Publication number Publication date
AU4561889A (en) 1990-08-16
AU618425B2 (en) 1991-12-19
CA2009744C (en) 2005-06-28
DE4001165C2 (de) 1999-01-21
FR2643166B1 (ja) 1995-03-17
FR2643166A1 (fr) 1990-08-17
GB2228116A (en) 1990-08-15
GB8925453D0 (en) 1989-12-28
DE4001165A1 (de) 1990-08-16
CA2009744A1 (en) 1990-08-10
GB2228116B (en) 1993-05-26

Similar Documents

Publication Publication Date Title
US5155816A (en) Pipelined apparatus and method for controlled loading of floating point data in a microprocessor
US7120744B2 (en) System and method for managing a cache memory
US6230260B1 (en) Circuit arrangement and method of speculative instruction execution utilizing instruction history caching
US5848432A (en) Data processor with variable types of cache memories
CA1325285C (en) Method and apparatus for ordering and queueing multiple memory requests
US6272597B1 (en) Dual-ported, pipelined, two level cache system
US5913054A (en) Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle
US6671196B2 (en) Register stack in cache memory
US5930820A (en) Data cache and method using a stack memory for storing stack data separate from cache line storage
EP1039377B1 (en) System and method supporting multiple outstanding requests to multiple targets of a memory hierarchy
US5717896A (en) Method and apparatus for performing pipeline store instructions using a single cache access pipestage
EP1000398B1 (en) Isochronous buffers for mmx-equipped microprocessors
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
US20050278510A1 (en) Pseudo register file write ports
US6873184B1 (en) Circular buffer using grouping for find first function
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
JPH02242429A (ja) パイプライン浮動小数点ロード・インストラクシヨン回路
US7080170B1 (en) Circular buffer using age vectors
US5911151A (en) Optimizing block-sized operand movement utilizing standard instructions
WO2009156920A1 (en) Method, register file system, and processing unit device enabling substantially direct cache memory access
IE901527A1 (en) Method and apparatus for ordering and queuing multiple¹memory requests