JP4927840B2 - 可変長命令の固定数を持つ命令キャッシュ - Google Patents

可変長命令の固定数を持つ命令キャッシュ Download PDF

Info

Publication number
JP4927840B2
JP4927840B2 JP2008524216A JP2008524216A JP4927840B2 JP 4927840 B2 JP4927840 B2 JP 4927840B2 JP 2008524216 A JP2008524216 A JP 2008524216A JP 2008524216 A JP2008524216 A JP 2008524216A JP 4927840 B2 JP4927840 B2 JP 4927840B2
Authority
JP
Japan
Prior art keywords
instruction
instructions
cache
cache line
length
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 - Fee Related
Application number
JP2008524216A
Other languages
English (en)
Other versions
JP2009503700A (ja
Inventor
ブリッジス、ジェフリー・トッド
ディーフェンダーファー、ジェームズ・ノリス
スミス、ロドニー・ウェイン
サートリウス、トマス・アンドリュー
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009503700A publication Critical patent/JP2009503700A/ja
Application granted granted Critical
Publication of JP4927840B2 publication Critical patent/JP4927840B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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
    • 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
    • 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/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • 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/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

発明の分野
本発明は一般にプロセッサの分野に係り、特に可変長命令の固定数を記憶する命令キャッシュを持つプロセッサに関する。
発明の背景
マイクロプロセッサは、携帯用電子機器を含む種々様々のアプリケーションにおいて計算上のタスクを行なう。多くの場合、プロセッサの性能を最大限にすることは、補助機能と特徴が携帯用電子機器および他のアプリケーションで実施されることを可能にするために主な設計目標である。さらに、電力消費は、制限されたバッテリー容量を持つ携帯用電子機器において特別の関係である。従って、性能を増加させて、電力消費を減少させるプロセッサ設計は望ましい。
最も現代のプロセッサは1つ以上の命令実行パイプラインを使用し、多くのマルチステップの逐次命令の実行が全面的なプロセッサの性能を改善するために重複される。ほとんどのプログラムの空間的かつ時間的局所参照性特例を利用して、最近、実行される命令が実行パイプラインによって即座のアクセスのために、キャッシュ(高速、通常オンチップ・メモリ)に記憶される。
多くのプロセッサの命令セット・アーキテクチャ(ISA)が可変長命令を含んでいる。すなわち、メモリから読み出された命令オペレーションコードは、必ずしもすべて同じ量のスペースを占めない。これは、算術または論理命令を用いたオペランドの包含、非常に長い命令語(VLIW)への多重オペレーションの融合、あるいは他のアーキテクチャの特徴に起因するかもしれない。可変長命令にとって1つの不利は、命令キャッシュから命令を取り込む際、プロセッサは各命令の境界を確認しなければならないということであり、その計算上のタスクは電力を消費し、性能を減少させる。
可変長命令の存在のもとで命令キャッシュアクセスを改善することへの技術における既知のアプローチは、キャッシュにそれらを記憶する前に命令を「プレデコード」し、さらに、命令と共にキャッシュラインにおけるある命令境界情報を記憶することである。これは、デコードタスクに置かれる命令境界を確認する付加的な計算上の負担を減少させるが、しかし除去しない。
また、同じコンパクトな形式のキャッシュにそれらがメモリから読み出される命令を詰め込むことによって、命令は1つのキャッシュラインの終わりに命令の一部が記憶され、残りが連続したキャッシュラインの初めに記憶されることによって、時々誤整列される。この命令を取り込むことは2つのキャッシュアクセスを必要とし、特に2つのアクセスが命令実行するごとに必要とされるので、さらに性能を減少し、電力消費を増加させる。
図1は可変長命令(I1−I9)を記憶する先行技術命令キャッシュの2つのライン100、140の代表的な図を示す。この代表的な例において、各キャッシュラインは16バイトを含み、32ビットの語長が仮定される。ほとんどの命令は一語幅、即ち4バイトである。いくつかの命令は2バイトを含む半語幅である。第1のキャッシュライン100および関連するタグフィールド120は、命令I1ないしI4、および命令I5の半分を含んでいる。関連するタグフィールド160を有する第2のキャッシュライン140は、命令I5の後半および命令I6ないしI9を含んでいる。命令長とそれらのアドレスは次の表で要約される:
Figure 0004927840
キャッシュライン100、140からこれらの命令を読み出すために、プロセッサは、命令境界を決定する付加的な計算上の労力(電力消費と遅れを犠牲にして)を消費しなければならない。命令をプレデコードし、かつキャッシュライン100、140中の、またはそれに関係した境界情報を記憶することにより、このタスクが支援されてもよいが、補足計算は除去されない。さらに、命令I5の取り込みは2つのキャッシュアクセスを要求するだろう。キャッシュから誤整列された命令を取り込むこの2重のアクセスは付加的な電力消費およびプロセッサ遅れを引き起こす。
発明の概要
可変長命令の固定数が命令キャッシュの各ラインに記憶される。可変長命令は予め定められた境界に沿って整列される。ラインにおける各命令の長さ、従って命令が占めるメモリのスパンが知られていないので、次に続く命令のアドレスが計算され、キャッシュラインで記憶される。命令境界を確認し、命令を整列させて、次のフェッチアドレスを計算することは、キャッシュに命令を置く前にプレデコーダで行なわれる。
一実施例では、可変命令長を持つプロセッサにおいてキャッシュ管理の方法はキャッシュラインごとに命令の固定数を記憶することを含む。
別の実施例では、プロセッサは、可変長の命令を実行するように作動する命令実行パイプラインと、キャッシュラインごとに可変長命令の固定数を記憶するように作動する命令キャッシュを含んでいる。プロセッサはさらに、キャッシュラインに命令を書き込む前に予め定められた境界に沿って可変長命令を整列させるように作動するプレデコーダを含んでいる。
好ましい実施形態の詳細な説明
図2は、パイプラインアーキテクチャと階層的記憶構造の両方を使用する、代表的なプロセッサ10の機能ブロック図を示す。プロセッサ10は制御論理14にしたがって命令実行パイプライン12で命令を実行する。パイプラインはパイプ段階に組織化された様々なレジスタあるいはラッチ16、および1つ以上の論理演算装置(ALU)18を含んでいる。多目的レジスタ(GPR)ファイル20は、記憶階層のトップを含むレジスタを提供する。
パイプラインは命令側変換索引バッファ(ITLB)24によって管理されたメモリアドレッシングとパーミッションで命令キャッシュ(I-キャッシュ)22から命令を取り込む。プレデコーダ21は、I-キャッシュ22にそれらを記憶する前にメモリから取り込まれた命令を検査する。下に議論されるように、プレデコーダ21は命令境界を確認し、命令を整列させて、命令をI-キャッシュ22に記憶する次のフェッチアドレスを計算する。
データは主変換索引バッファ(TLB)28によって管理されたメモリアドレッシングとパーミッションでデータキャッシュ26からアクセスされる。様々な実施例では、ITLB24はTLB28の一部のコピーを含んでもよい。代わりに、ITLB24およびTLB28は統合されてもよい。同様に、プロセッサ10の様々な実施例では、I-キャッシュ22およびD-キャッシュ26は統合、即ち一体にされてもよい。I-キャッシュ22および/またはD-キャッシュ26におけるミスは、メモリインタフェース30の制御の下で、主(オフチップ)メモリ32へのアクセスを引き起こす。
プロセッサ10は様々な周辺機器36へのアクセスを制御する、入力/出力(I/O)インターフェース34を含んでいてもよい。当業者はプロセッサ10の多くの変形が可能であることを認識するだろう。例えば、プロセッサ10はIおよびD-キャッシュ22、26のいずれかあるいは両方について第2のレベル(L2)キャッシュを含んでいてもよい。さらに、プロセッサ10で示された機能ブロックの1つ以上は、特別の実施例から省略されてもよい。
ここに示された1つ以上の実施例によれば、プロセッサ10は各キャッシュラインに可変長命令の固定数を記憶する。その命令は、好ましくは、例えば語境界のような予め定められた境界に沿って整列される。これは、命令境界を計算し、高速演算を可能にし、したがってプロセッサの性能を改善する必要から、デコードパイプ段階を緩和する。I-キャッシュ22にこのように命令を記憶することは、また命令長検査および一度整列動作を行なうことにより電力消費を減少させる。I-キャッシュ22のヒット率が一般に高い90%であるので、毎回命令がI-キャッシュ22から実行される命令境界を確認する必要の除去により、相当な省電力が実現され得る。
プレデコーダ21は主メモリ32およびI-キャッシュ22間のパス中に挿入された論理を含む。プレデコーダ21の論理は、メモリから検索されたデータを検査し、命令の数および長さを確認する。プレデコーダは、キャッシュラインに記憶されるキャッシュへの整列された命令を渡す前に、予め定められた、例えば語、境界に沿って命令を整列させる。
図3は、図1からの可変長命令の固定数をそれぞれ含んでいる、I-キャッシュ22の2つの代表的ライン200および260を示す(この例において、4つの命令が各キャッシュライン200、260に記憶される)。キャッシュライン200および260は16バイトである。語境界が破線によって示される;半語境界は点線によって示される。命令は語境界に沿って整列される(即ち、各命令は語アドレスから開始する)。命令がパイプライン12によってI-キャッシュ22から取り込まれる場合、デコードパイプ段階は、キャッシュライン200、260から適切な語を単に多重化し、直ちにオペレーションコードをデコードし始める。半語命令(例えばI3とI8)の場合には、キャッシュライン200、260中のスペースの半語はそれぞれ未使用であり、図3で陰影により示される。
図1で示された先行技術キャッシュと比較して、図3のキャッシュ22は2つのキャッシュラインに、9つではなく、8つの命令しか記憶しないことに注意を要す。I9の長さに対応する語スペース(オフセット0×0Aおよび0×1Eにおける半語)は利用されない。キャッシュ22に命令を記憶する効率のこの減少は、図3で示されたキャッシュ利用の単純性、改善されたプロセッサ・パワーおよびより低い電力消費の代償である。
さらに、キャッシュライン200、260に可変長命令の固定数を割り当て、予め定められた境界に沿って命令を整列させることによって、命令は図1のI5のように、キャッシュラインを横切って誤整列されて記憶されない。したがって、単一命令を検索するため2つのキャッシュ22のアクセスによって起される性能ペナルティおよび過大電力消費は、完全に除去される。
既知の全体長さ(キャッシュラインの長さ)を持つ命令の可変数ではなく、可変長命令の固定数が記憶されるので、次の逐次命令のアドレスはキャッシュライン200のメモリサイズによって、1つのキャッシュライン200のタグ220を単にインクリメントすることによって確認することができない。従って、一実施例では、命令が整列されるとき(I-キャッシュ22にそれらを記憶する前に)、次のフェッチアドレスがプレデコーダ21によって計算され、次のフェッチアドレスはキャッシュライン200と共にフィールド240に記憶される。
次のフェッチアドレスの計算および記憶の代わりとして、一実施例によれば、タグ220からのオフセットが計算され、オフセットフィールド240におけるようにキャッシュライン200と共に記憶される。したがって、次のフェッチアドレスはタグアドレスにオフセットを加えることにより容易に計算され得る。この実施例は、連続のアドレスフェッチがキャッシュラインを横切るたびごとにこの加算を行なうため処理遅延および電力消費を招く。他の実施例では、次のフェッチアドレスの計算を助けるために他の情報が記憶されてもよい。例えば、キャッシュライン240中の命令の固定数と等しい一組のビットが、例えば、全語長命令を示す1と半語長命令を示す0が対応する命令「スロット」に記憶されることにより、記憶されてもよい。メモリ中の命令のアドレス、従って次の逐次命令のアドレスは、その後この情報から計算されてもよい。当業者は、追加の次のアドレス計算援助が次の命令フェッチアドレスを計算するために工夫され記憶されることを容易に認識するだろう。
様々な実施例が、語および半語命令長を含む代表的なISAに関してここに詳説されたが、本発明はこれらの実施例に制限されていない。一般に、どんな可変長命令も予め定められた境界に沿って整列され、命令キャッシュ22に固定数で有利に記憶され得る。さらに、ここに示されたそれとは異なっているサイズのキャッシュライン240、300が様々な実施例の実行において利用されてもよい。
本発明の実施例は、ここに特別の特徴、その態様および実施例に関して記述されたが、多数の変形、修正および他の実施例が本発明の広い範囲内で可能であることは明白であり、従って、すべての変形、修正および実施例は発明の範囲内であると見なされるべきである。それ故、本実施例は例証され限定的でないものとしてすべての態様で解釈され得、添付請求項の意味および均等範囲内に入るすべての変更は、そこに包含されるように意図される。
可変長命令を記憶する先行技術命令キャッシュの図である。 プロセッサの機能ブロック図である。 予め定められた境界に沿って整列された可変長命令の固定数を記憶する命令キャッシュの図である。

Claims (16)

  1. 可変命令長を持つプロセッサにおけるキャッシュ管理の方法であって、該方法は、
    固定数の命令を含む第1の複数の命令のそれぞれを検査して各命令の対応する長さを決定することと、前記第1の複数の命令は第1の命令長もつ第1の命令と、前記第1の命令長とは異なる第2の命令長をもつ第2の命令とを含み、
    前記第1の複数の命令のそれぞれを予め定められた境界に沿って整列させることと、
    整列された前記第1の複数の命令をキャッシュの第1のキャッシュラインに記憶すること、
    前記固定数の命令を含む第2の複数の命令を前記キャッシュの第2のキャッシュラインに記憶すること、
    前記キャッシュ内に、前記第1のキャッシュラインの近くに、
    次のフェッチアドレスと、
    前記第1のキャッシュラインに関連するキャッシュラインタグに加算されると前記次のフェッチアドレスが得られるオフセットと、
    のうちの1つを記憶すること、
    を含む方法。
  2. 前記第1の複数の命令を前記第1のキャッシュライン置く前に、前記次のフェッチアドレスと前記オフセットとのうちの少なくとも1つを決定すること、をさらに含む請求項1の方法。
  3. 前記第1の複数の命令のそれぞれに関連する対応する予め定められた命令境界を確認することをさらに含む請求項の方法。
  4. 前記整列させることは、前記第1の複数の命令のそれぞれを前記第1のキャッシュラインの対応する予め定められた境界を用いて整列させることを含む請求項1の方法。
  5. 各予め定められた境界は、関連する語アドレスをもつ語境界である請求項4の方法。
  6. 前記固定数の命令を記憶した後、前記第1のキャッシュラインは空きの部分を含む請求項1の方法。
  7. 前記固定数は4である請求項1の方法。
  8. 第1の命令と第2の命令とを含む予め定められた数の命令を記憶する第1のキャッシュラインと、ここで、前記第1の命令は第1の命令長をもち、前記第2の命令は前記第1の命令長とは異なる第2の命令長をもち、
    前記予め定められた数の命令を記憶する第2のキャッシュラインと、
    を含む命令キャッシュと、
    各命令の対応する長さを決定し、各命令を前記キャッシュの対応する語境界に沿って整列させ、前記整列された命令を前記キャッシュへ渡すプレデコーダと、ここで、前記プレデコーダは前記予め定められた数の命令のそれぞれを、前記第1のキャッシュラインの対応する予め定められた語境界を用いて整列させる、
    を備え、
    前記第1のキャッシュラインは、さらに、
    次のフェッチアドレスと、
    前記第1のキャッシュラインに関連するキャッシュラインタグに加算されると前記次のフェッチアドレスが得られるオフセットと、
    のうちの1つを記憶する、プロセッサ。
  9. 前記プレデコーダは、前記第1のキャッシュラインに書き込まれる最後の命令に続く次の命令の前記次のフェッチアドレスを計算し、前記次の命令の前記次のフェッチアドレスと前記オフセットとのうちの1つを前記第1のキャッシュラインに記憶する、請求項プロセッサ
  10. 可変長の命令を実行する命令実行パイプラインをさらに備える請求項のプロセッサ。
  11. 可変命令長を持つプロセッサにおけるキャッシュ管理の方法であって、該方法は、
    複数のキャッシュラインを備えるキャッシュのキャッシュライン毎に記憶可能な固定数の命令を決定することと、ここで前記固定数は1より大きく、
    前記固定数の命令を含む複数の命令のそれぞれに対応する長さを決定するために、前記複数の命令のそれぞれを検査することと、ここで、前記複数の命令は第1の命令長をもつ第1の命令と前記第1の命令長とは異なる第2の命令長をもつ第2の命令とを含み、
    前記複数の命令のそれぞれを対応する予め定められた境界に沿って整列させることと、
    前記第1のキャッシュラインに整列された前記複数の命令を記憶することと、
    を含む方法。
  12. 前記複数の命令のそれぞれは、前記第1のキャッシュラインに関連する語長を越えない対応する命令長をもつ、請求項11の方法。
  13. 少なくとも1つの予め定められた境界は語境界である請求項11の方法。
  14. 前記キャッシュ内に、前記第1のキャッシュラインの近くに次のフェッチアドレスを記憶すること、をさらに含む請求項11の方法。
  15. 前記第1のキャッシュラインに前記複数の命令を記憶する前に、前記次のフェッチアドレスを決定すること、をさらに含む請求項14の方法。
  16. 前記キャッシュ内に、前記第1のキャッシュラインの近くに、前記第1のキャッシュラインに関連するキャッシュラインタグに加算されると次のフェッチアドレスが得られるオフセットを記憶すること、をさらに含む請求項11の方法。
JP2008524216A 2005-07-29 2006-07-26 可変長命令の固定数を持つ命令キャッシュ Expired - Fee Related JP4927840B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/193,547 US7568070B2 (en) 2005-07-29 2005-07-29 Instruction cache having fixed number of variable length instructions
US11/193,547 2005-07-29
PCT/US2006/029523 WO2007016393A2 (en) 2005-07-29 2006-07-26 Instruction cache having fixed number of variable length instructions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011237313A Division JP5341163B2 (ja) 2005-07-29 2011-10-28 可変長命令の固定数を持つ命令キャッシュ

Publications (2)

Publication Number Publication Date
JP2009503700A JP2009503700A (ja) 2009-01-29
JP4927840B2 true JP4927840B2 (ja) 2012-05-09

Family

ID=37451109

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008524216A Expired - Fee Related JP4927840B2 (ja) 2005-07-29 2006-07-26 可変長命令の固定数を持つ命令キャッシュ
JP2011237313A Expired - Fee Related JP5341163B2 (ja) 2005-07-29 2011-10-28 可変長命令の固定数を持つ命令キャッシュ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011237313A Expired - Fee Related JP5341163B2 (ja) 2005-07-29 2011-10-28 可変長命令の固定数を持つ命令キャッシュ

Country Status (6)

Country Link
US (1) US7568070B2 (ja)
EP (1) EP1910919A2 (ja)
JP (2) JP4927840B2 (ja)
KR (1) KR101005633B1 (ja)
CN (2) CN101268440A (ja)
WO (1) WO2007016393A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337272B2 (en) * 2006-05-01 2008-02-26 Qualcomm Incorporated Method and apparatus for caching variable length instructions
US8898437B2 (en) * 2007-11-02 2014-11-25 Qualcomm Incorporated Predecode repair cache for instructions that cross an instruction cache line
US8627017B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Read and write monitoring attributes in transactional memory (TM) systems
US9753858B2 (en) * 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
JP5968693B2 (ja) * 2012-06-25 2016-08-10 ルネサスエレクトロニクス株式会社 半導体装置
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US10853074B2 (en) * 2014-05-01 2020-12-01 Netronome Systems, Inc. Table fetch processor instruction using table number to base address translation
WO2016016726A2 (en) * 2014-07-30 2016-02-04 Linear Algebra Technologies Limited Vector processor
US9916251B2 (en) 2014-12-01 2018-03-13 Samsung Electronics Co., Ltd. Display driving apparatus and cache managing method thereof
CN106528450B (zh) * 2016-10-27 2019-09-17 上海兆芯集成电路有限公司 数据预先提取方法及使用此方法的装置
CN108415729A (zh) * 2017-12-29 2018-08-17 北京智芯微电子科技有限公司 一种cpu指令异常的处理方法及装置
CN110750303B (zh) * 2019-09-25 2020-10-20 支付宝(杭州)信息技术有限公司 基于fpga的流水线式指令读取方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179680A (en) * 1987-04-20 1993-01-12 Digital Equipment Corporation Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus
EP0498654B1 (en) * 1991-02-08 2000-05-10 Fujitsu Limited Cache memory processing instruction data and data processor including the same
JP2828219B2 (ja) * 1995-03-23 1998-11-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン オブジェクト・コード互換性を与える方法、オブジェクト・コード互換性並びにスカラ・プロセッサ及びスーパスカラ・プロセッサとの互換性を与える方法、ツリー命令を実行するための方法、データ処理システム
JP3750821B2 (ja) * 1996-05-15 2006-03-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴイ 圧縮された命令フォーマットを処理するvliwプロセッサ
TW357318B (en) 1997-03-18 1999-05-01 Ind Tech Res Inst Branching forecast and reading device for unspecified command length extra-purity pipeline processor
US6112299A (en) * 1997-12-31 2000-08-29 International Business Machines Corporation Method and apparatus to select the next instruction in a superscalar or a very long instruction word computer having N-way branching
US6253287B1 (en) 1998-09-09 2001-06-26 Advanced Micro Devices, Inc. Using three-dimensional storage to make variable-length instructions appear uniform in two dimensions
US6253309B1 (en) 1998-09-21 2001-06-26 Advanced Micro Devices, Inc. Forcing regularity into a CISC instruction set by padding instructions
JP3490007B2 (ja) * 1998-12-17 2004-01-26 富士通株式会社 命令制御装置
JP2003511789A (ja) * 1999-10-14 2003-03-25 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 整列情報をキャッシュするための装置および方法
US6779100B1 (en) * 1999-12-17 2004-08-17 Hewlett-Packard Development Company, L.P. Method and device for address translation for compressed instructions
JP2003131945A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd キャッシュメモリ装置
US7133969B2 (en) * 2003-10-01 2006-11-07 Advanced Micro Devices, Inc. System and method for handling exceptional instructions in a trace cache based processor

Also Published As

Publication number Publication date
EP1910919A2 (en) 2008-04-16
JP2009503700A (ja) 2009-01-29
CN104657110A (zh) 2015-05-27
JP5341163B2 (ja) 2013-11-13
WO2007016393A3 (en) 2007-06-28
JP2012074046A (ja) 2012-04-12
KR101005633B1 (ko) 2011-01-05
KR20080031981A (ko) 2008-04-11
US20070028050A1 (en) 2007-02-01
US7568070B2 (en) 2009-07-28
WO2007016393A2 (en) 2007-02-08
CN101268440A (zh) 2008-09-17
CN104657110B (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
JP4927840B2 (ja) 可変長命令の固定数を持つ命令キャッシュ
JP5837126B2 (ja) 現在実行している命令セット以外の命令セットから命令をプリロードするシステム、方法およびソフトウェア
US7565510B2 (en) Microprocessor with a register selectively storing unaligned load instructions and control method thereof
US6151662A (en) Data transaction typing for improved caching and prefetching characteristics
US7962725B2 (en) Pre-decoding variable length instructions
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
JP3836322B2 (ja) プリデコード情報を記憶するためのecc/パリティビットの使用
JP2004506263A (ja) 拡張レジスタモードで拡張レジスタセットにアクセスするcpu
US5396604A (en) System and method for reducing the penalty associated with data cache misses
US20050086277A1 (en) Processor core for using external extended arithmetic unit efficiently and processor incorporating the same
CN112559037B (zh) 一种指令执行方法、单元、装置及系统
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
US9348598B2 (en) Data processing apparatus and method for pre-decoding instructions to be executed by processing circuitry
US10956327B2 (en) Systems and methods for mitigating dram cache conflicts through hardware assisted redirection of pages (HARP)
TWI438681B (zh) 立即且置換之擷取與解碼機制
CN116339832A (zh) 数据处理装置、方法及处理器
US20070011432A1 (en) Address generation unit with operand recycling
CN113568663A (zh) 代码预取指令
JP3824657B2 (ja) 1クロックサイクル内でデータをストアするよう構成されたデータメモリユニット、およびその動作方法
TW202416131A (zh) 用於壓縮操作期間的常數偵測之設備及方法
CN115858022A (zh) 集群化解码管线的可缩放切换点控制电路系统
US20030088758A1 (en) Methods and systems for determining valid microprocessor instructions

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120209

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4927840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

LAPS Cancellation because of no payment of annual fees