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

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

Info

Publication number
JP2009503700A
JP2009503700A JP2008524216A JP2008524216A JP2009503700A JP 2009503700 A JP2009503700 A JP 2009503700A JP 2008524216 A JP2008524216 A JP 2008524216A JP 2008524216 A JP2008524216 A JP 2008524216A JP 2009503700 A JP2009503700 A JP 2009503700A
Authority
JP
Japan
Prior art keywords
cache
instruction
instructions
cache line
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008524216A
Other languages
English (en)
Other versions
JP4927840B2 (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)

Abstract

可変長命令の固定数が、命令キャッシュの各ラインに記憶される。可変長命令は予め定められた境界に沿って整列される。ラインの各命令の長さ、従って命令が占めるメモリのスパンが知られていないので、次に続く命令のアドレスが計算され、キャッシュラインで記憶される。命令境界を確認し、命令を整列させ、次のフェッチアドレスを計算することは、キャッシュに命令を置く前にプレデコーダで行なわれる。
【選択図】 図3

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 2009503700
キャッシュライン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 (8)

  1. キャッシュラインごとに命令の固定数を記憶することを含む、可変命令長を持つプロセッサにおけるキャッシュ管理の方法。
  2. それらの長さを決定する命令を検査し、キャッシュにそれらを置く前に予め定められた境界に沿って命令を整列させることをさらに含む請求項1の方法。
  3. 各キャッシュラインを用いて次のフェッチアドレスを記憶することをさらに含む請求項1の方法。
  4. キャッシュに命令を置く前に次のフェッチアドレスを決定することをさらに含む請求項3の方法。
  5. 各キャッシュラインを用いてオフセットを記憶し、オフセットはキャッシュライン・タグに加えられた時、次のフェッチアドレスを生じることをさらに含む請求項1の方法。
  6. 可変長の命令を実行するように作動する命令実行パイプラインと、
    キャッシュラインごとに可変長命令の固定数を記憶するように作動する命令キャッシュと、
    キャッシュラインに命令を書き込む前に予め定められた境界に沿って可変長命令を整列させるように作動するプレデコーダを含むプロセッサ。
  7. 各キャッシュラインに関連した次のフェッチアドレスフィールドをさらに含む請求項6のプロセッサ。
  8. プレデコーダがキャッシュラインに書き込まれた最後の命令に従う命令のアドレスを計算し、かつキャッシュラインの次のフェッチアドレスフィールドにアドレスを記憶するように作動する、請求項7のプロセッサ。
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 true JP2009503700A (ja) 2009-01-29
JP4927840B2 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) CN104657110B (ja)
WO (1) WO2007016393A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535743A (ja) * 2006-05-01 2009-10-01 クゥアルコム・インコーポレイテッド 可変長命令をキャッシングするための方法及び装置
JP2012513067A (ja) * 2008-12-30 2012-06-07 インテル・コーポレーション トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性
JP2014006685A (ja) * 2012-06-25 2014-01-16 Renesas Electronics Corp 半導体装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898437B2 (en) * 2007-11-02 2014-11-25 Qualcomm Incorporated Predecode repair cache for instructions that cross an instruction cache line
US9753858B2 (en) * 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US10853074B2 (en) * 2014-05-01 2020-12-01 Netronome Systems, Inc. Table fetch processor instruction using table number to base address translation
CN110515658A (zh) * 2014-07-30 2019-11-29 莫维迪厄斯有限公司 用于管理可变长度指令的方法和设备
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的流水线式指令读取方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253309B1 (en) * 1998-09-21 2001-06-26 Advanced Micro Devices, Inc. Forcing regularity into a CISC instruction set by padding instructions
JP2003511789A (ja) * 1999-10-14 2003-03-25 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 整列情報をキャッシュするための装置および方法
JP2003131945A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd キャッシュメモリ装置
WO2005041024A2 (en) * 2003-10-01 2005-05-06 Advanced Micro Devices, Inc. System and method for handling exceptional instructions in a trace cache based processor

Family Cites Families (9)

* 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
WO1996029645A1 (en) * 1995-03-23 1996-09-26 International Business Machines Corporation Object-code compatible representation of very long instruction word programs
EP0843848B1 (en) * 1996-05-15 2004-04-07 Koninklijke Philips Electronics N.V. Vliw processor which processes compressed instruction format
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
JP3490007B2 (ja) * 1998-12-17 2004-01-26 富士通株式会社 命令制御装置
US6779100B1 (en) * 1999-12-17 2004-08-17 Hewlett-Packard Development Company, L.P. Method and device for address translation for compressed instructions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253309B1 (en) * 1998-09-21 2001-06-26 Advanced Micro Devices, Inc. Forcing regularity into a CISC instruction set by padding instructions
JP2003511789A (ja) * 1999-10-14 2003-03-25 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 整列情報をキャッシュするための装置および方法
JP2003131945A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd キャッシュメモリ装置
WO2005041024A2 (en) * 2003-10-01 2005-05-06 Advanced Micro Devices, Inc. System and method for handling exceptional instructions in a trace cache based processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535743A (ja) * 2006-05-01 2009-10-01 クゥアルコム・インコーポレイテッド 可変長命令をキャッシングするための方法及び装置
JP4755281B2 (ja) * 2006-05-01 2011-08-24 クゥアルコム・インコーポレイテッド 可変長命令をキャッシングするための方法及び装置
JP2012513067A (ja) * 2008-12-30 2012-06-07 インテル・コーポレーション トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性
JP2014006685A (ja) * 2012-06-25 2014-01-16 Renesas Electronics Corp 半導体装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5341163B2 (ja) 可変長命令の固定数を持つ命令キャッシュ
JP5837126B2 (ja) 現在実行している命令セット以外の命令セットから命令をプリロードするシステム、方法およびソフトウェア
US7962725B2 (en) Pre-decoding variable length instructions
US6151662A (en) Data transaction typing for improved caching and prefetching characteristics
US7389402B2 (en) Microprocessor including a configurable translation lookaside buffer
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
US20060259746A1 (en) Microprocessor and control method thereof
JP2004506263A (ja) 拡張レジスタモードで拡張レジスタセットにアクセスするcpu
JP2012530979A (ja) 所与の範囲のページのキャッシュフラッシュおよび所与の範囲のエントリのtlb無効化を行なうシステム、方法、および装置
JP2008522320A (ja) ページ内のプログラムカウンター相対アドレスまたは絶対アドレスの分岐命令のためのtlbの抑制
US5396604A (en) System and method for reducing the penalty associated with data cache misses
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
US10956327B2 (en) Systems and methods for mitigating dram cache conflicts through hardware assisted redirection of pages (HARP)
TWI438681B (zh) 立即且置換之擷取與解碼機制
US9348598B2 (en) Data processing apparatus and method for pre-decoding instructions to be executed by processing circuitry
CN112559037B (zh) 一种指令执行方法、单元、装置及系统
US20070011432A1 (en) Address generation unit with operand recycling
JP3824657B2 (ja) 1クロックサイクル内でデータをストアするよう構成されたデータメモリユニット、およびその動作方法
TW202416131A (zh) 用於壓縮操作期間的常數偵測之設備及方法
CN113568663A (zh) 代码预取指令
CN115858022A (zh) 集群化解码管线的可缩放切换点控制电路系统
US20030088758A1 (en) Methods and systems for determining valid microprocessor instructions
JPH05216761A (ja) マイクロプロセッサ

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