JP5066666B2 - キャッシュに適用可能な読み込みアクセス及び記憶回路の読み込み割り当て - Google Patents

キャッシュに適用可能な読み込みアクセス及び記憶回路の読み込み割り当て Download PDF

Info

Publication number
JP5066666B2
JP5066666B2 JP2006532517A JP2006532517A JP5066666B2 JP 5066666 B2 JP5066666 B2 JP 5066666B2 JP 2006532517 A JP2006532517 A JP 2006532517A JP 2006532517 A JP2006532517 A JP 2006532517A JP 5066666 B2 JP5066666 B2 JP 5066666B2
Authority
JP
Japan
Prior art keywords
read
circuit
cache
access
allocation
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
JP2006532517A
Other languages
English (en)
Other versions
JP2007502480A (ja
JP2007502480A5 (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 JP2007502480A publication Critical patent/JP2007502480A/ja
Publication of JP2007502480A5 publication Critical patent/JP2007502480A5/ja
Application granted granted Critical
Publication of JP5066666B2 publication Critical patent/JP5066666B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、全般に記憶回路の読み込み割り当てに関し、中でもキャッシュに適用可能な記憶回路の読み込み割り当てに関する。
先行技術のデータ処理システムでは、読み込みアクセスがキャッシュに失敗すると、キャッシュの読み込み交換アルゴリズムに従ってキャッシュのキャッシュラインが割り当てられる。これは、キャッシュの通常操作中に典型的に望まれる挙動である。しかし、この挙動が特定の事情の下では問題となる恐れがある。
先行技術のデータ処理システムでは、デバッガによる読み込みアクセスがL2キャッシュに失敗すると、L2キャッシュのキャッシュラインが割り当てられ、よって、現在有効かつ修正されるかもしれないキャッシュラインが場合によっては置き換えられる。このことは、実施される一連の命令によってデバッガがステップを一工程ずつ実行する場合には所望の結果であろう。しかしこれは、デバッガがキャッシュの内容を単に見やすくする目的で読み込む場合には問題となる。本発明は、この問題のみならず、読み込みアクセス及び記憶回路の読み込み割り当てに関する他の多数の問題にも取り組む。
本発明は添付の図面により制限されず例として図示され、同じ参照記号が同様な要素を指し示す。
当業者は、図の要素が簡単に分かりやすくする為に図示されており、必ずしも一律の縮尺に従っていないことを認識する。例えば、本発明の実施形態の理解を高める助けとなるよう、図中の要素の幾つかが他の要素に比べてその寸法を誇張されている場合がある。
図1に、本発明のある実施形態に係るデータ処理システム10を図示する。ある実施形態では、データ処理システム10がデバッグ回路12を備えており、このデバッグ回路12が、信号36を介してスイッチング回路20と双方向に結合されており、読み込み割り当て信号30をスイッチング回路20に供給する。ある実施形態では、データ処理システム10がプロセッサ14も備えており、このプロセッサ14が、信号38を介してスイッチング回路20と双方向に結合されており、読み込み割り当て信号31をスイッチング回路20に供給する。ある実施形態では、データ処理システム10がダイレクトメモリアクセス(DMA)16も備えており、このダイレクトメモリアクセス(DMA)16が、信号40を介してスイッチング回路20と双方向に結合されており、読み込み割り当て信号32をスイッチング回路20に供給する。ある実施形態では、データ処理システム10がバスマスタ18も備えており、このバスマスタ18が、信号42を介してスイッチング回路20と双方向に結合されており、読み込み割り当て信号33をスイッチング回路20に供給する。ある実施形態では、データ処理システム10がL2キャッシュ22も備えており、このL2キャッシュ22が、信号44を介してスイッチング回路20と双方向に結合されており、読み込み割り当て信号34をスイッチング回路20から受信する。ある実施形態では、データ処理システム10が周辺装置24も備えており、この周辺装置24が、信号46を介してスイッチング回路20と双方向に結合されており、読み込み割り当て信号35をスイッチング回路20から受信する。
ここで留意すべきは、本発明のある実施形態では、L2キャッシュ22への読み込みアクセスを、12、14、16、18のうちのどの1つが起動するのかに依存して、読み込み割り当て信号30〜33のうちの1つが読み込み割り当て信号34としてスイッチング回路20により供給されることである。ここで留意すべきは、本発明のある実施形態では、周辺装置24への読み込みアクセスを、12、14、16、18のうちのどの1つが起動するのかに依存して、読み込み割り当て信号30〜33のうちの1つが読み込み割り当て信号35としてスイッチング回路20により供給されることである。
本発明のある実施形態では、プロセッサ14が、プロセッサ14に結合されたL1キャッシュ15を備えている。L1キャッシュ15がL2キャッシュ22よりも直接的にプロセッサ14に結合されたものとして示されているが、本発明の代替の実施形態では、任意の所望のやり方でプロセッサ14に結合されたキャッシュが幾つあってもよい。本発明の代替の実施形態では、L1キャッシュ15及びL2キャッシュ22がキャッシュである必要はなく、読み込み割り当ての能力があればどんなタイプの記憶回路でもよい。本発明のある実施形態では、L2キャッシュ22が導体48を介してシステムメモリ26と双方向に結合されている。
本発明のある実施形態では、読み込み割り当ての信号30及び信号36はバス60の一部分であり、読み込み割り当ての信号31及び信号38はバス61の一部分であり、読み込み割り当ての信号32及び信号40はバス62の一部分であり、読み込み割り当ての信号33及び信号42はバス63の一部分であり、読み込み割り当ての信号34及び信号44はバス64の一部分であり、及び読み込み割り当ての信号35及び信号46はバス65の一部分である。バス60〜65は、同一のバスでもよいし、一般的なバスプロトコルを有する一般的なバスの1つ以上のサブセットでもよい。交互に、バス60〜65の異なる同士が同一のバスプロトコル又は異なるバスプロトコルを用いてもよい。本発明の代替の実施形態では、相互接続回路50がバス構造又はバスプロトコルを全く用いないことがある。本発明のある実施形態では、相互接続回路50がスイッチング回路20及びバス60〜65を備えている。しかし、相互接続回路50をいかなるやり方で実施してもよい。本明細書で用いられているように、用語「バス」は、データ、アドレス、制御、状況などの1つ以上の様々なタイプの情報を転送する為に使用される複数の信号又は導体を表す為に使用されている。
本発明のある実施形態では、L2キャッシュ22が読み込み割り当て回路70と書き込み割り当て回路74とを備えており、これらの回路がそれぞれ記憶素子72と双方向に結合されている。記憶素子72は、キャッシュ済みのデータや命令などの情報を記憶する為だけでなく、本発明の幾つかの実施形態については履歴ビット及びキャッシュタグを記憶する為にも使用される。本発明の代替の実施形態では、記憶素子72は、任意の所望のやり方で実施可能であり、任意の所望の情報を記憶可能である。
図1に図示された本発明の実施形態では、デバッグ回路12と、プロセッサ14と、ダイレクトメモリアクセス(DMA)16と、バスマスタ18とが、それぞれ、L2キャッシュ22への読み込みアクセスを起動するアクセスイニシエータである場合がある。本発明の代替の実施形態では、異なる構成を用いることもできる。例えば、本発明の代替の実施形態では、L2キャッシュ22への読み込みアクセスを起動する回路のブロックが、12、14、16、18に比べ、少なくてもよいし、多くてもよいし、12、14、16、18とは異なる回路のブロックでもよい。バスマスタ18は、バス63及び64を越えてL2キャッシュ22への読み込みアクセスを起動する能力があればどんなタイプの回路でもよい。相互接続回路50がバスプロトコルを有するバスを用いない場合、回路18は、バスマスタでなくてもよく、代わりに、L2キャッシュ22への読み込みアクセスを起動する能力があればどんなタイプの回路でもよい。
図2は、本発明のある実施形態に係り、L2キャッシュ22への読み込みアクセス(図1参照)をフロー図で図示する。フローは楕円の開始記号100から開始する。フローは次に工程101に進み、工程101では読み込みアクセスが起動される。フローは工程102に進み、工程102では、読み込みアクセスに対応した読み込み割り当て信号が供給される。図1を参照すると、回路12、14、16、18のうち任意の1つが、読み込みアクセスを起動し、その次に読み込み割り当て信号を供給する。フローは次にひし形の判断記号103に進み、ひし形の判断記号103では、質問がなされる「読み込みアクセスがキャッシュ禁止読み込みアクセス?」。ひし形の判断記号103への回答がyesの場合、フローは工程104に進み、工程104では、キャッシュ禁止読み込みアクセスが完了する。工程104から、フローは楕円の終端記号110で終了する。ひし形の判断記号103への回答がnoの場合、フローはひし形の判断記号105に進み、ひし形の判断記号105では、質問がなされる「読み込み割り当て信号が読み込み割り当ての実行を指示?」。ひし形の判断記号105への回答がnoの場合、フローは工程106に進み、工程106では、キャッシュの内容及び読み込み割り当て回路の状態が修正可能でありながらキャッシュ可能読み込みアクセスが完了する。工程106から、フローは楕円の終端記号110で終了する。ひし形の判断記号105への回答がyesの場合、フローはひし形の判断記号107に進み、ひし形の判断記号107では、質問がなされる「読み込みアクセスはキャッシュミスに終わったか?」。ひし形の判断記号107への回答がnoの場合、フローは工程108に進み、工程108では、読み込み割り当て回路の状態を修正することなく、キャッシュ可能読み込みアクセスが完了する。ひし形の判断記号107への回答がyesの場合、フローは工程109に進み、工程109では、キャッシュの内容を修正することなく、かつ読み込み割り当て回路の状態を修正することなく、キャッシュ可能読み込みアクセスが完了する。本発明の代替の実施形態では、ひし形の判断記号103はオプションである。ひし形の判断記号103を用いない場合、フローは工程102からひし形の判断記号105へと続く。
図3は、本発明のある実施形態に係り、記憶回路への読み込みアクセスを必要とするデバッグ操作をフロー図で図示する。本発明のある実施形態では、デバッグ操作を起動し実行する為に図1のデバッグ回路12が使用される。フローは楕円の開始記号200から開始する。フローは次に工程201に進み、工程201では、読み込みアクセスを必要とするデバッグ操作が起動される。フローはひし形の判断記号202に進み、ひし形の判断記号202では、質問がなされる「デバッグ操作は一工程ずつの操作か?」。ひし形の判断記号202への回答がyesの場合、フローは工程203に進み、工程203では、読み込みアクセスに対応した読み込み割り当て信号が、読み込み割り当てを実行するべきことを指し示す為に供給される。工程203から、フローは工程204に進み、工程204では、読み込み割り当てを伴う読み込みアクセスが実行される。工程204から、フローは工程205に進み、工程205では、デバッグ操作が完了する。工程205から、フローは楕円の終端記号206で終了する。ひし形の判断記号202への回答がnoの場合、フローは工程207に進み、工程207では、読み込みアクセスに対応した読み込み割り当て信号が、読み込み割り当てを実行するべきでないことを指し示す為に供給される。工程207から、フローは工程208に進み、工程208では、読み込み割り当てを伴わない読み込みアクセスが実行される。工程208から、フローは工程205に進み、工程205では、デバッグ操作が完了する。工程205から、フローは楕円の終端記号206で終了する。
特定の応用例には、例えば、システムメモリ26に対し実行される読み込みアクセスが1つ以上のキャッシュ(例えば、L2キャッシュ22)に対し邪魔にならないので有利な、特定のタイプのデバッグ操作などがある。これに必要なのは、読み込みアクセスが実行されるときに、キャッシュの状態及び/又は内容が修正されないことである。これが重要なのは、キャッシュの状態及び/又は内容が修正された場合に、データ処理システムがデバッグすることで他の好ましくない副作用が引き起こされかねないからである。加えて、副作用により、デバッグされる問題が、特徴を変えたり、発現しなくなったりする恐れがあるので、デバッグの成功が妨げられる。一方、特定の応用例には、例えば、システムメモリ26に対し実行される読み込みアクセスが、通常の操作中に起きるものと同一の修正を1つ以上のキャッシュ(例えばL2キャッシュ22)に対してなされるようにするので有利な、他のデバッグ操作(例えば、ユーザの適用命令を介してステップを一工程ずつ実行すること)などがある。よって、キャッシュで又はデバッグ操作タイプを基礎とした他の記憶回路で読み込み割り当てを選択的に実行することができると非常に有用である。
本発明のある実施形態では、読み込み割り当てが実行される(例えばキャッシュ22で)かどうかを指し示す為に、読み込み割り当て標識として読み込み割り当て信号(例えば、30、31、32、33)が用いられる。読み込み割り当てが起きなかった場合は、キャッシュ22の情報の内容を修正することなく、及び/又は、キャッシュ22の読み込み割り当て状態を修正することなく、読み込みアクセスが実行される。本発明の幾つかの実施形態では、キャッシュ22の情報の内容の修正が防止され、本発明の幾つかの実施形態では、キャッシュ22の読み込み割り当て状態の修正が防止され、本発明の幾つかの実施形態では、キャッシュ22の情報の内容及びキャッシュ22の読み込み割り当て状態の両方の修正が防止される。キャッシュ22の内容は、記憶素子72(図1参照)に記憶された情報である。キャッシュ22で用いられる読み込み交換アルゴリズムを実施する為に読み込み割り当て回路70が使用される。読み込み交換アルゴリズムは、キャッシュが読み込みアクセスに失敗したときに次にキャッシュラインを置き換えるかを決定する為に使用されるルール又は一組のルールである。本発明は任意の所望の読み込み交換アルゴリズムと共に用いられてよい。よって、読み込み割り当て回路70により実施される読み込み交換アルゴリズムは任意の所望の交換アルゴリズムでよい。交換アルゴリズムは、キャッシュミスが起きる度に、常に更新された値を有する為に一連の状態によって進み、この値によって、読み込みアクセスにおける次に続くキャッシュミスの為にキャッシュラインが充てんされる。
本発明の幾つかの実施形態(例えば、1つ以上の選択されたタイプのデバッグ操作を用いる実施形態)については、キャッシュの情報の内容の修正を防止するには不十分である。更に、読み込み割り当て回路70の読み込み交換アルゴリズムの現在の状態(例えば読み込み割り当て状態)も影響を受けてはならない。ここで留意すべきは、本発明の幾つかの実施形態では、任意で、書き込みアクセスについてのキャッシュ22の挙動を決定する書き込み割り当て回路74があってもよいことである。本発明の代替の実施形態では、書き込み割り当て回路74がなくてもよい。本発明の幾つかの実施形態では、読み込み割り当て回路70の操作及び交換アルゴリズムが、書き込み割り当て回路74の操作及び交換アルゴリズムから全体的に独立している。本発明の幾つかの実施形態では、読み込みのキャッシュミス及び書き込みのキャッシュミスの両方についての一般的な交換アルゴリズムがあってもよい。このような実施形態では、読み込み割り当て及び書き込み割り当てがデータ処理システム10のユーザ又はデバッガに全く異なる問題を提示することに留意するのも重要ではあるが、読み込み割り当て回路70及び書き込み割り当て回路74を単一の及び/又は一般的な回路に組み合わせることもできる。
キャッシュ22を用いる特殊な実施形態の前記文脈で本発明が記載されたが、本発明の代替の実施形態では、読み込み割り当ての能力があるあらゆるタイプの記憶回路を用いてもよい。本発明はキャッシュの適用に制限されていない。更に、本発明はデバッグ操作に有用ではあるが、本発明は、デバッグ操作での使用に制限されてはおらず、任意の所望の目的に用いられてもよい。ある可能な異なる使用例として、読み込み割り当てが1つ以上のキャッシュにおいて実行されるべきかどうかをプロセッサ14が選択的に決定する場合があり、これは、読み込みアクセスのデータが再利用されそうにないので、キャッシュに既に入っているもっと有用かもしれない情報を読み込みアクセスが交換してしまわないようにすることが有利だからである。
ここで留意すべきは、本発明がL1キャッシュ15と共に用いられてもよいことである。この実施形態については、プロセッサ14からL1キャッシュ15へ読み込み割り当て信号(図示せず)が供給される。この読み込み割り当て信号(図示せず)は、読み込み割り当ての信号30〜35と同一又は同様のやり方で機能してもよい。更に、本発明は周辺装置24と共に用いられてもよい。読み込み割り当て信号35は、L2キャッシュ22に供給された読み込み割り当て信号34と同一又は同様のやり方で機能してもよい。
既述の明細書では、本発明が特殊な実施形態に関して記載された。しかし、下記の請求項に述べられているように、種々の修正及び変更が本発明の範囲から逸脱することなくなされてよいことを当業者は認識する。それに応じて、本明細書及び図が限定的な意味ではなく説明的な意味において考えられるべきであり、全てのこのような修正が本発明の範囲内に包含されるよう意図されている。
特殊な実施形態について、利益、他の利点、問題の解決が以上に記載された。しかし、利益や、利点や、問題の解決や、あらゆる利益、利点、解決法を生む又はより顕著にするあらゆる要素(単数又は複数)が、任意の又は全ての請求項の、決定的な、必要な、本質的な機能又は要素と解釈されるべきではない。要素のリストを含むプロセスや、方法や、物品や、装置が、これらの要素のみを備えているのではなく、はっきりとリストアップされていない他の要素、又はこれらのプロセスや、方法や、物品や、装置に固有でない他の要素を備えていてもよいように、本明細書で用いられている通り、用語「含む(comprises)」、「含んでいる(comprising)」又はこの用語の他のあらゆる変形物が、非排他的な包含を範囲内とするよう意図されている。
〔追加テキスト〕
1.
装置であって、
記憶回路と、
前記記憶回路に結合されたアクセス起動回路とを含み、前記アクセス起動回路が前記記憶回路への読み込みアクセスを起動し前記読み込みアクセスに対応した読み込み割り当て標識を前記記憶回路に供給する、装置。
2.
前記読み込み割り当て標識に基づいて、前記読み込みアクセス中に読み込み割り当てが選択的に実行される、1に記載の装置。
3.
前記読み込み割り当て標識が第1の値を有しているときには、前記読み込みアクセスが読み込み割り当てを伴って実行され、前記読み込み割り当て標識が第2の値を有しているときには、前記読み込みアクセスが読み込み割り当てを伴わずに実行される、2に記載の装置。
4.
前記記憶回路が相互接続回路を介して前記アクセス起動回路に結合された、1に記載の装置。
5.
前記相互接続回路が、前記記憶回路及び前記アクセス起動回路に結合されたシステムバスを含み、前記システムバスを介して前記読み込み割り当て標識が供給される、4に記載の装置。
6.
前記記憶回路がキャッシュを含み、前記アクセス起動回路がデバッグ回路を含み、前記読み込みアクセスがデバッグ操作の一部である、4に記載の装置。
7.
前記記憶回路がキャッシュを含む、1に記載の装置。
8.
前記アクセス起動回路がプロセッサを含む、7に記載の装置。
9.
前記プロセッサが前記キャッシュを含む、8に記載の装置。
10.
前記アクセス起動回路がダイレクトメモリアクセス(DMA)を含む、1に記載の装置。
11.
前記アクセス起動回路がデバッグ回路を含み、前記読み込みアクセスがデバッグ操作の一部である、1に記載の装置。
12.
読み込みアクセスを実行する方法であって、
読み込みアクセスを起動する工程と、
前記読み込みアクセスに対応した読み込み割り当て標識を供給する工程と、
少なくとも前記読み込み割り当て標識に基づいて、前記読み込みアクセス中に読み込み割り当てを選択的に実行する工程と、を含む方法。
13.
12に記載の方法であって、前記読み込みアクセスがキャッシュへのキャッシュ可能読み込みアクセスであり、前記方法が、
前記キャッシュ可能読み込みアクセスの結果がキャッシュヒット又はキャッシュミスのどちらになったかを決定する工程と、
前記キャッシュ可能読み込みアクセスの結果がキャッシュミスになったときには、前記キャッシュの内容を修正することなく前記キャッシュ可能読み込みアクセスを完了する工程と、を更に含む、方法。
14.
前記キャッシュ可能読み込みアクセスの結果がキャッシュミスになったときには、前記キャッシュ割り当て状態を修正することなく前記キャッシュ可能読み込みアクセスを完了する工程を更に含む13に記載の方法。
15.
前記キャッシュ可能読み込みアクセスの結果がキャッシュヒットになったときには、前記キャッシュ割り当て状態を修正することなく前記キャッシュ可能読み込みアクセスを完了する工程を更に含む13に記載の方法。
16.
前記読み込みアクセスがキャッシュ可能読み込みアクセス又はキャッシュ禁止読み込みアクセスのどちらであるかを決定する工程を更に含む12に記載の方法。
17.
前記読み込みアクセスがキャッシュへのキャッシュ可能読み込みアクセスであり、前記キャッシュへの書き込みアクセス中に書き込み割り当てを実行する能力が前記キャッシュにある、12に記載の方法。
18.
前記読み込みアクセスがデバッグ操作の範囲内であり、読み込み割り当てを選択的に実行する工程が少なくとも前記読み込み割り当て標識及び前記デバッグ操作に基づいている、12に記載の方法。
19.
一工程ずつのデバッグ操作中に読み込み割り当てが実行される、18に記載の方法。
20.
装置であって、
情報を記憶する記憶素子と、
前記記憶素子に結合された読み込み割り当て回路とを含み、前記読み込み割り当て回路が読み込み割り当て標識に応答し、前記読み込み割り当て標識に基づいて、前記記憶素子への読み込みアクセス中に前記読み込み割り当て回路が読み込み割り当てを選択的に実行する、装置。
21.
キャッシュを更に含み、前記キャッシュが前記記憶素子を含む、20に記載の装置。
22.
前記記憶素子への前記読み込みアクセスの結果がキャッシュミスになったときには、前記読み込み割り当て標識に基づいて、前記記憶素子に記憶された情報の修正を前記読み込み割り当て回路が選択的に防止する、21に記載の装置。
23.
前記読み込み割り当て回路が前記キャッシュの読み込み割り当て状態を記憶し、前記読み込み割り当て標識に基づいて、前記キャッシュの前記読み込み割り当て状態の修正を前記読み込み割り当て回路が選択的に防止する、21に記載の装置。
24.
前記記憶素子への前記読み込みアクセスの結果がキャッシュヒットになったときには、前記読み込み割り当て標識に基づいて、前記キャッシュの前記読み込み割り当て状態の修正を前記読み込み割り当て回路が選択的に防止する、23に記載の装置。
25.
前記読み込み割り当て回路が入力を更に含み、前記入力を介して前記読み込み割り当て標識が供給される、20に記載の装置。
26.
前記入力を介して前記読み込み割り当て標識がバス信号として供給される、25に記載の装置。
27.
読み込みアクセスを実行する方法であって、
キャッシュへの読み込みアクセスを必要としデバッグ操作のタイプを有するデバッグ操作を起動する工程と、
少なくとも前記デバッグ操作のタイプに基づいて前記読み込みアクセス中に読み込み割り当てを選択的に実行する工程とを含む方法。
28.
読み込み割り当てが、前記キャッシュの内容を修正する工程及び前記キャッシュの読み込み割り当て状態を修正する工程の少なくとも一方を含む27に記載の方法。
29.
前記デバッグ操作のタイプが第1のタイプのときには、読み込み割り当てが前記読み込みアクセス中に実行され、前記デバッグ操作のタイプが第2のタイプのときには、読み込み割り当てが前記読み込みアクセス中に実行されない、28に記載の方法。
30.
28に記載の方法であって、前記デバッグ操作のタイプが第1のタイプのときには、前記読み込みアクセスに対応した読み込み割り当て標識が前記キャッシュに供給され、これにより、前記読み込みアクセスに対し読み込み割り当てを実行するべきことが指し示され、前記デバッグ操作が第2のタイプのときには、前記読み込みアクセスに対応した読み込み割り当て標識が前記キャッシュに供給され、これにより、前記読み込みアクセスに対し読み込み割り当てを実行するべきでないことが指し示される、方法。
31.
装置であって、
キャッシュと、
前記キャッシュに結合された相互接続回路と、
前記相互接続回路に結合されたデバッグ回路とを含み、前記デバッグ回路が、前記キャッシュへの読み込みアクセスを必要とするデバッグ操作を起動し、前記読み込みアクセスに対応した前記キャッシュに前記相互接続回路を介して読み込み割り当て標識を供給する、装置。
32.
前記キャッシュが、前記読み込み割り当て標識に応えて、前記読み込みアクセス中に読み込み割り当てを選択的に実行する、31に記載の装置。
33.
前記キャッシュが、前記読み込み割り当て標識に応えてかつ前記デバッグ操作に基づいて、前記読み込みアクセス中に読み込み割り当てを選択的に実行する、32に記載の装置。
34
前記読み込み割り当て標識が第1の値を有しているときには、前記読み込みアクセスが読み込み割り当てを伴って実行され、前記読み込み割り当て標識が第2の値を有しているときには、前記読み込みアクセスが読み込み割り当てを伴わずに実行される、31に記載の装置。
35.
前記相互接続回路が、前記読み込み割り当て標識の経路を前記デバッグ回路から前記キャッシュへと設定する為のスイッチング回路を含む、31に記載の装置。
36.
前記相互接続回路が、前記デバッグ回路及び前記キャッシュに結合されたシステムバスを含み、前記システムバスを介して前記読み込み割り当て標識が供給される、31に記載の装置。
本発明のある実施形態に係るデータ処理システムのブロック図。 本発明のある実施形態に係るキャッシュへの読み込みアクセスのフロー図。 本発明のある実施形態に係る記憶回路への読み込みアクセスを必要とするデバッグ操作のフロー図。

Claims (5)

  1. 装置であって、
    記憶回路と、
    同記憶回路に結合されたアクセス起動回路と、
    を含み、同アクセス起動回路が前記記憶回路への読み込みアクセスを起動し、同読み込みアクセスに対応した読み込み割り当て標識を前記記憶回路に供給し、
    前記読み込み割り当て標識が第1の値を有しているときには、前記記憶回路の情報の内容と前記記憶回路の読み込み割り当て状態とのうちの少なくとも一つが修正されるように前記読み込みアクセスが実行され、前記読み込み割り当て標識が第2の値を有しているときには、前記情報の内容と前記読み込み割り当て状態とのうちの少なくとも一つの修正が防止されるように前記読み込みアクセスが実行される、装置。
  2. アクセス起動回路に結合された記憶回路への読み込みアクセスを実行する方法であって、
    前記アクセス起動回路が前記記憶回路への読み込みアクセスを起動する工程と、
    前記アクセス起動回路が前記読み込みアクセスに対応した読み込み割り当て標識を前記記憶回路に供給する工程と、
    前記記憶回路が少なくとも前記読み込み割り当て標識に基づいて、前記読み込みアクセス中に読み込み割り当てを選択的に実行する工程と、を含み、
    前記読み込み割り当て標識が第1の値を有しているときには、前記記憶回路の情報の内容と前記記憶回路の読み込み割り当て状態とのうちの少なくとも一つが修正されるように前記読み込みアクセスが実行され、前記読み込み割り当て標識が第2の値を有しているときには、前記情報の内容と前記読み込み割り当て状態とのうちの少なくとも一つの修正が防止されるように前記読み込みアクセスが実行される、方法。
  3. 装置であって、
    情報を記憶する記憶素子と、
    前記記憶素子に結合された読み込み割り当て回路と、
    を含み、同読み込み割り当て回路が読み込み割り当て標識に応答し、同読み込み割り当て標識に基づいて、前記記憶素子への読み込みアクセス中に前記読み込み割り当て回路が読み込み割り当てを選択的に実行し、
    前記読み込み割り当て標識が第1の値を有しているときには、前記記憶素子の情報の内容と前記記憶素子の読み込み割り当て状態とのうちの少なくとも一つが修正されるように前記読み込みアクセスが実行され、前記読み込み割り当て標識が第2の値を有しているときには、前記情報の内容と前記読み込み割り当て状態とのうちの少なくとも一つの修正が防止されるように前記読み込みアクセスが実行される装置。
  4. デバッグ回路に結合されたキャッシュへの読み込みアクセスを実行する方法であって、
    前記デバッグ回路が前記キャッシュへの読み込みアクセスを必要としデバッグ操作のタイプを有するデバッグ操作を起動する工程と、
    前記キャッシュが少なくとも前記デバッグ操作のタイプに基づいて前記読み込みアクセス中に読み込み割り当てを選択的に実行する工程と、を含み、
    前記デバッグ操作のタイプが第1のタイプであるとき、前記読み込みアクセス中に、前記キャッシュの情報の内容と前記キャッシュの読み込み割り当て状態とのうちの少なくとも一つが修正され、前記デバッグ操作のタイプが第2のタイプであるとき、前記読み込みアクセス中に、前記情報の内容と前記読み込み割り当て状態とのうちの少なくとも一つが修正されない、方法。
  5. 装置であって、
    キャッシュと、
    前記キャッシュに結合された相互接続回路と、
    前記相互接続回路に結合されたデバッグ回路と、
    を含み、前記デバッグ回路が、前記キャッシュへの読み込みアクセスを必要とするデバッグ操作を起動し、前記読み込みアクセスに対応した前記キャッシュに前記相互接続回路を介して読み込み割り当て標識を供給し、
    前記読み込み割り当て標識が第1の値を有しているときには、前記キャッシュの情報の内容と前記キャッシュの読み込み割り当て状態とのうちの少なくとも一つが修正されるように前記読み込みアクセスが実行され、前記読み込み割り当て標識が第2の値を有しているときには、前記情報の内容と前記読み込み割り当て状態とのうちの少なくとも一つの修正が防止されるように前記読み込みアクセスが実行される、装置。
JP2006532517A 2003-05-21 2004-04-30 キャッシュに適用可能な読み込みアクセス及び記憶回路の読み込み割り当て Expired - Fee Related JP5066666B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/442,718 US6954826B2 (en) 2003-05-21 2003-05-21 Read access and storage circuitry read allocation applicable to a cache
US10/442,718 2003-05-21
PCT/US2004/013372 WO2004107248A2 (en) 2003-05-21 2004-04-30 Read access and storage circuitry read allocation applicable to a cache

Publications (3)

Publication Number Publication Date
JP2007502480A JP2007502480A (ja) 2007-02-08
JP2007502480A5 JP2007502480A5 (ja) 2007-06-14
JP5066666B2 true JP5066666B2 (ja) 2012-11-07

Family

ID=33450268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006532517A Expired - Fee Related JP5066666B2 (ja) 2003-05-21 2004-04-30 キャッシュに適用可能な読み込みアクセス及び記憶回路の読み込み割り当て

Country Status (7)

Country Link
US (2) US6954826B2 (ja)
EP (1) EP1629385A4 (ja)
JP (1) JP5066666B2 (ja)
KR (1) KR101053008B1 (ja)
CN (1) CN1791865B (ja)
TW (1) TW200517833A (ja)
WO (1) WO2004107248A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555605B2 (en) * 2006-09-28 2009-06-30 Freescale Semiconductor, Inc. Data processing system having cache memory debugging support and method therefor
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US8972671B2 (en) 2007-05-14 2015-03-03 Freescale Semiconductor, Inc. Method and apparatus for cache transactions in a data processing system
US8667226B2 (en) 2008-03-24 2014-03-04 Freescale Semiconductor, Inc. Selective interconnect transaction control for cache coherency maintenance
US8495287B2 (en) * 2010-06-24 2013-07-23 International Business Machines Corporation Clock-based debugging for embedded dynamic random access memory element in a processor core
US20120066676A1 (en) * 2010-09-09 2012-03-15 Yao Zu Dong Disabling circuitry from initiating modification, at least in part, of state-associated information
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8504777B2 (en) 2010-09-21 2013-08-06 Freescale Semiconductor, Inc. Data processor for processing decorated instructions with cache bypass
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US9208036B2 (en) 2011-04-19 2015-12-08 Freescale Semiconductor, Inc. Dynamic lockstep cache memory replacement logic
US9086977B2 (en) 2011-04-19 2015-07-21 Freescale Semiconductor, Inc. Cache memory with dynamic lockstep support
US8607121B2 (en) 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
KR101600601B1 (ko) 2014-03-07 2016-03-08 다인시스템주식회사 코일의 내주보호판 밀착장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02189658A (ja) * 1989-01-18 1990-07-25 Fuji Xerox Co Ltd キャッシュメモリ
JPH03113655A (ja) * 1989-09-28 1991-05-15 Matsushita Electric Ind Co Ltd キャッシュメモリとプロセッサエレメント
JPH03282831A (ja) * 1990-03-30 1991-12-13 Nec Corp インサーキットエミュレータ
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
JP2636107B2 (ja) * 1991-12-12 1997-07-30 工業技術院長 デバッグ支援装置
GB2265734A (en) * 1992-03-27 1993-10-06 Ibm Free memory cell management system
WO1994002898A1 (en) * 1992-07-24 1994-02-03 Microsoft Corporation Computer method and system for allocating and freeing memory
US5689679A (en) * 1993-04-28 1997-11-18 Digital Equipment Corporation Memory system and method for selective multi-level caching using a cache level code
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5829027A (en) * 1994-05-04 1998-10-27 Compaq Computer Corporation Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
US5561779A (en) * 1994-05-04 1996-10-01 Compaq Computer Corporation Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system
JP2680998B2 (ja) * 1994-07-26 1997-11-19 日本電気エンジニアリング株式会社 ビル群管理システム用端末装置
US5689707A (en) * 1995-12-04 1997-11-18 Ncr Corporation Method and apparatus for detecting memory leaks using expiration events and dependent pointers to indicate when a memory allocation should be de-allocated
US5745728A (en) * 1995-12-13 1998-04-28 International Business Machines Corporation Process or renders repeat operation instructions non-cacheable
US5819304A (en) * 1996-01-29 1998-10-06 Iowa State University Research Foundation, Inc. Random access memory assembly
JP2000099366A (ja) * 1998-09-21 2000-04-07 Fujitsu Ltd 演算処理装置および演算処理装置のデバッグ方法
US6353829B1 (en) * 1998-12-23 2002-03-05 Cray Inc. Method and system for memory allocation in a multiprocessing environment
US6496902B1 (en) * 1998-12-31 2002-12-17 Cray Inc. Vector and scalar data cache for a vector multiprocessor
US20020174316A1 (en) * 2001-05-18 2002-11-21 Telgen Corporation Dynamic resource management and allocation in a distributed processing device
US6574708B2 (en) * 2001-05-18 2003-06-03 Broadcom Corporation Source controlled cache allocation

Also Published As

Publication number Publication date
US20050273562A1 (en) 2005-12-08
KR101053008B1 (ko) 2011-07-29
EP1629385A4 (en) 2008-08-27
US6954826B2 (en) 2005-10-11
WO2004107248A3 (en) 2005-04-07
US7185148B2 (en) 2007-02-27
JP2007502480A (ja) 2007-02-08
TW200517833A (en) 2005-06-01
EP1629385A2 (en) 2006-03-01
US20040236911A1 (en) 2004-11-25
WO2004107248A2 (en) 2004-12-09
CN1791865B (zh) 2011-05-18
CN1791865A (zh) 2006-06-21
KR20060017802A (ko) 2006-02-27

Similar Documents

Publication Publication Date Title
US7185148B2 (en) Read access and storage circuitry read allocation applicable to a cache
JP4814786B2 (ja) データ処理システムにおけるメモリ管理
JP3620473B2 (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
JP5030796B2 (ja) データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
JP4136359B2 (ja) マイクロコンピュータ
JP4434534B2 (ja) プロセッサ・システム
JP5129023B2 (ja) キャッシュメモリ装置
JP2009187314A (ja) 二重化コントローラ・システム、cpuモジュール、そのプログラム
US7356647B1 (en) Cache with integrated capability to write out entire cache
JP2007058450A (ja) 半導体集積回路
JP2008140124A (ja) データ処理装置
JP2002366433A (ja) キャッシュメモリ制御装置およびプロセッサ
JPS58182731A (ja) 記憶装置における初期化制御方式
JP3196094B2 (ja) メモリ監視装置
JPH1185613A (ja) キャッシュメモリ
JP4343244B2 (ja) マイクロコンピュータ
JPH1165884A (ja) マイクロコンピュータ及びそのデバッグ方法
JP3001464B2 (ja) マイクロプロセッサ装置
JPH1011387A (ja) 情報処理装置
JP3616541B2 (ja) マイクロプロセッサ装置、および、マイクロプロセッサ制御方法
JP2004171469A (ja) キャッシュメモリシステムおよびキャッシュメモリ制御方法
JP3715505B2 (ja) 特定用途向け演算命令を有する計算機およびその計算機の計算方法
JPH0320834A (ja) 情報処理装置の初期診断方法
JP2632859B2 (ja) メモリアクセス制御回路
JP2008242592A (ja) メモリ監視回路、情報処理装置、及びメモリ監視方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

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: 20120529

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: 20120628

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120730

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

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5066666

Country of ref document: JP

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