JP2006119796A - キャッシュメモリシステムおよび動画処理装置 - Google Patents

キャッシュメモリシステムおよび動画処理装置 Download PDF

Info

Publication number
JP2006119796A
JP2006119796A JP2004305256A JP2004305256A JP2006119796A JP 2006119796 A JP2006119796 A JP 2006119796A JP 2004305256 A JP2004305256 A JP 2004305256A JP 2004305256 A JP2004305256 A JP 2004305256A JP 2006119796 A JP2006119796 A JP 2006119796A
Authority
JP
Japan
Prior art keywords
bus load
bus
cache memory
information
replacement
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
JP2004305256A
Other languages
English (en)
Inventor
Takanori Miyashita
貴典 宮下
Kosaku Shibata
耕作 柴田
Shintaro Tsubata
真太郎 津幡
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004305256A priority Critical patent/JP2006119796A/ja
Priority to US11/242,002 priority patent/US20060085600A1/en
Priority to CNA2005101094882A priority patent/CN1763731A/zh
Publication of JP2006119796A publication Critical patent/JP2006119796A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】複数マスタを有するシステムにおいて、バストラフィックを均一にし、局所的なバストラフィックの増大を防ぎ、バス帯域を有効に活用する。
【解決手段】マルチウェイセットアソシアティブ方式のキャッシュメモリ20と、キャッシュメモリ20が接続されているバスの負荷状態を検出しバス負荷情報D2を出力するバス負荷検出部30と、バス負荷検出部30によるバス負荷情報D2に応じてキャッシュメモリ20のリプレース方法を変更するリプレースウェイ制御部40とを備える。バス負荷検出部30は、バスコントローラBCからのバスリクエスト保留数N1に対応した情報を保持するバス負荷情報保持部31と、バス負荷の判定条件を設定するバス負荷判定条件設定部32と、バス負荷情報保持部の保持値とバス負荷判定条件設定部の条件設定値とを比較し、その比較結果をバス負荷情報として出力するコンパレータ33とから構成される。
【選択図】図1

Description

本発明は、キャッシュメモリシステムに関し、特にマルチウェイセットアソシアティブ方式でライトバックを採用したリプレースの技術に関する。また、本発明は、キャッシュメモリシステムを備えた動画処理装置に関する。
キャッシュメモリシステムにおいて、キャッシュミスが発生し、どのデータブロックをリプレースするかを決定するリプレース方法には、
(1)アクセス状況による方式
(2)キャッシュメモリのステートによる固定優先度方式
がある。(1)のアクセス状況による方式は、アクセスされたのが最も古いデータブロックとするLRU(Least Recently Used)方式、入れ替えたのが最も古いデータブロックとするFIFO(First In First Out)方式などである。(2)の固定優先度方式は、排他一致のデータブロックを優先的にリプレースする方式である。
さらにバストラフィックを改善したリプレース方式として、上記(1)、(2)を切り替えながら用いるものがある(特許文献1参照)。特許文献1に開示されたリプレース方法は、キャッシュメモリの排他不一致のエントリ数をカウントするカウンタをもち、そのカウント値に応じて、キャッシュメモリのリプレース方法を逐次変更するものである。カウンタ値よりもキャッシュメモリの排他不一致のエントリ数が少なければ、上記(2)の方式を用い、カウンタ値よりもキャッシュメモリの排他不一致のエントリ数が多ければ上記(1)の方式を用いる。これにより、なるべくキャッシュメモリの排他不一致のエントリをリプレース対象としないことでライトバック回数を減らし、上記(1)、(2)の方式よりもバストラフィックを改善することができる。
なお、ライトバックとは、リプレースするエントリが排他不一致の場合に外部メモリにデータを書き戻すことであり、コピーバックともいう。
特開平11―39218号公報(第3−4頁、第1図)
しかしながら、上記従来技術では、上記(1)、(2)の方式を切り替えて用いることでライトバック回数を減らすことは可能であるが、バス負荷についての考慮がされていない。そのため、複数のマスタが存在するシステムにおいて、他のマスタがバスを使用していてバス負荷が大きくなっている場合でもライトバックを伴うリプレース処理を行う可能性があり、局所的にバストラフィックが増大することがある。DSP(Digital Signal Processor)等のリアルタイム処理を必要とするプロセッサの場合、バストラフィックが致命的な処理遅延の原因になることがある。また、バス幅はバストラフィックが最悪の場合を想定して設定するため、余分なバス幅を設定する必要がある。
本発明は、バス負荷も考慮してバストラフィックを均一化するキャッシュメモリシステムを提供することを目的としている。
上記課題を解決するため、本発明によるキャッシュメモリシステムは、
マルチウェイセットアソシアティブ方式のキャッシュメモリと、
前記キャッシュメモリの被キャッシュデータが格納される記録装置が接続されているバスの状態に対応するバス負荷情報を出力するバス負荷検出手段と、
前記バス負荷検出手段による前記バス負荷情報に応じて前記キャッシュメモリのリプレース方法を制御するリプレースウェイ制御手段とを備えた構成とされている。
この構成によれば、バス負荷に応じてリプレース方法を変更するものであり、バストラフィックを均一化することができる。例えば、複数のマスタが存在するシステムにおいて、他のマスタがバスを使用していてバス負荷がある場合は、バス負荷が小さくてライトバックを伴わないリプレース処理を選択し、他のマスタがバスを使用してなくてバス負荷がない場合は、バス負荷が大きくてライトバックを伴うリプレース処理を選択する。このようにして、バストラフィックを均一化する。
上記の構成において、前記バス負荷検出手段については、その1つの態様として、
バスコントローラからのバスリクエスト保留数に対応した情報を保持するバス負荷情報保持部と、
バス負荷の判定条件を設定するバス負荷判定条件設定部と、
前記バス負荷情報保持部に保持された情報と前記バス負荷判定条件設定部の条件設定値とを比較し、その比較結果を前記バス負荷情報として出力するコンパレータとを有し、
前記バス負荷情報保持部の保持値が前記バス負荷判定条件設定部の条件設定値より大きいかまたは同等の場合は前記バス負荷情報として有効を示す信号を出力し、小さい場合は前記バス負荷情報として無効を示す信号を出力するように構成されたものは好ましい。
この構成によれば、バスコントローラがバス負荷検出手段にバスリクエスト保留数を通知するだけでバス負荷を検出することが可能になる。
また、上記の構成において、前記バス負荷検出手段については、その別の態様として、外部から入力されるバス負荷有無情報を設定可能なバス負荷有無情報設定部を有し、前記バス負荷有無情報設定部に設定された前記バス負荷有無情報が有効を示す場合は前記バス負荷情報として有効を示す信号を出力し、前記バス負荷有無情報が無効を示す場合は前記バス負荷情報として無効を示す信号を出力するように構成されたものは好ましい。前記バス負荷有無情報については、プログラム上に記載されたバス負荷の有効または無効を示す情報により指定可能なものが好ましい。
この構成によれば、プログラムを記述するユーザがバス負荷有無情報を入力することにより、最適なタイミングでリプレース方法を変更することが可能になり、バスの有効利用が可能になる。
また、上記の構成において、前記リプレースウェイ制御手段については、その1つの態様として、前記バス負荷検出手段による前記バス負荷情報が有効を示す場合には排他不一致でないウェイを優先的にリプレースするよう制御し、前記バス負荷情報が無効を示す場合には排他不一致のウェイを優先的にリプレースするよう制御するように構成されたものは好ましい。
この構成によれば、キャッシュリプレースの際、バス負荷がある場合は、バス負荷が小さくてライトバックを伴わないリプレースウェイを選択することができる。また、バスに負荷がない場合は、バス負荷が大きくてライトバックを伴うリプレース処理を優先的に行うことでバスを無駄なく使用できる。
また、上記の構成において、前記リプレースウェイ制御手段については、その1つの態様として、前記キャッシュメモリにおいて排他不一致を示すダーティビットが1キャッシュメモリラインに複数存在する場合で、前記バス負荷検出手段による前記バス負荷情報が有効を示すときにはダーティビットの有効数が少ないウェイを優先的にリプレースするよう制御し、前記バス負荷検出手段が無効を示すときにはダーティビットの有効数が多いウェイを優先的にリプレースするよう制御するように構成されたものは好ましい。
この構成によれば、キャッシュリプレースの際、バス負荷があり、かつ、リプレース可能なウェイが排他不一致のウェイしか存在しない場合、バス負荷がより小さいウェイを選択することが可能になる。また、バス負荷がない場合は、バスをより多く使用するリプレースウェイを選択することが可能になる。
また、上記の構成において、前記リプレースウェイ制御手段については、その1つの態様として、前記キャッシュメモリにおいてバースト転送の実行が可能な場合に、排他不一致を示すダーティビットが1キャッシュメモリラインに複数存在し、前記ダーティビットの有効数が同数のときには前記キャッシュメモリのバースト転送の設定と、有効なダーティビットの分布に応じて、リプレースするウェイを変更するように構成されたものは好ましい。
この構成によれば、リプレースウェイを選択時にダーティビットの有効数が同じ状況でも、バースト転送を考慮することで、バス負荷がある場合は、バス負荷がより小さいウェイを選択することが可能になり、バス負荷がない場合はバスをより多く使用するウェイを選択することが可能になる。
上述したキャッシュメモリシステムを動画処理装置において次のように展開することが可能である。すなわち、本発明による動画処理装置は、入力されたデータを処理して、動画データとして出力するものであって、
上記いずれかのキャッシュメモリシステムと、
前記キャッシュメモリに接続され、前記キャッシュメモリにアクセスするコントローラと、
前記コントローラで処理するための命令またはデータを記憶する記録装置と、
前記コントローラと前記記録装置間で行われる命令またはデータの転送に用いられるバスと、
前記バスに接続され、前記バスの負荷に応じた情報を前記キャッシュメモリシステムに出力するバスコントローラとを備えたものである。
この構成によれば、前記キャッシュメモリシステムにより、システム破綻の原因である局所的なバストラフィックすなわち局所的なメモリアクセスレイテンシ(時間待ち)の増加を防ぐことが可能になり、安定した動画処理が実行される。
本発明のキャッシュメモリシステムによれば、バス負荷に応じてキャッシュメモリのリプレース方法を変更することができ、バス負荷がある場合はバス負荷の小さいリプレース処理を行い、バス負荷がない場合はバス負荷の大きいリプレース処理を行うことでバスを有効に使用することができ、局所的なバストラフィックを改善し、バストラフィックを均一化することができる。
また、バス負荷が均一になることでバス幅設計時に最適なバス幅を設定することが可能である。
また、前記キャッシュメモリシステムを動画処理装置に用いることにより、コマ落ち等のシステム破綻を防止することができる。
以下、本発明にかかわるキャッシュメモリシステムの実施の形態を図面に基づいて詳細に説明する。
<キャッシュメモリシステム>
図1は本発明の実施の形態1におけるキャッシュメモリシステムの構成を示すブロック図、図2は本発明の実施の形態2におけるキャッシュメモリシステムの構成を示すブロック図である。
図1のキャッシュメモリシステムは、3つのマスタM1〜M3と、バス負荷情報検出部50を有するバスコントローラBCと、主記憶装置MMと、バスB1とを主構成要素としている。マスタM1は、CPU10とキャッシュメモリシステムCSを搭載している。キャッシュメモリシステムCSは、4ウェイ・セットアソシアティブ方式でライトバック方式のキャッシュメモリ20と、バス負荷検出部30と、リプレースウェイ制御部40とから構成されている。キャッシュメモリ20は、ウェイごとのタグフィールドTF、ダーティビット(Dirty Bit)格納部DBHおよびデータ格納部DHを備えている。バス負荷検出部30は、バスコントローラBCのバス負荷情報検出部50からバスリクエスト保留数N1を取得してバス負荷情報を保持するバス負荷情報保持部31と、CPU10の指示によりバス負荷条件D1を設定するバス負荷判定条件設定部32と、バス負荷情報保持部31の値とバス負荷判定条件設定部32の値を比較するコンパレータ33から構成されている。リプレースウェイ制御部40は、バス負荷検出部30における判定結果のバス負荷情報D2に応じてキャッシュメモリ20のリプレース方法を変更するものである。ADはCPU10からのアドレス、DTはデータ、D3はウェイ番号、D4はタグ情報、D5はダーティビット情報である。また、Reqはデータ要求信号、Grは許可信号である。
図2のキャッシュメモリシステムは、そのバス負荷検出部30が、CPU10の指示によりバス負荷有無情報D1aを設定するバス負荷有無情報設定部34を有するものとなっている。ここでは、図1のバス負荷情報検出部50、バスリクエスト保留数N1は無関係となっている。その他の構成については、図1と同様であるので同一部分に同一符号を付すにとどめ、説明を省略する。
<バス負荷検出部>
図1のバス負荷検出部30は、コンパレータ33において、バス負荷情報保持部31の保持値D31とバス負荷判定条件設定部32の条件設定値D32を比較し、その比較結果によってバス負荷を決定する。保持値D31が条件設定値D32より大きいかまたは同等の場合、バス負荷が有効と判定される。また、保持値D31が条件設定値D32より小さければ、バス負荷が無効と判定される。例えば、条件設定値D32を“1”とし、キャッシュミス発生時のバスリクエスト保留数N1が“3”で保持値D31が“3”である場合には、バス負荷が有効であると判定される。また、条件設定値D32を“2”とし、キャッシュミス発生時のバスリクエスト保留数N1が“1”で保持値D31が“1”である場合には、バス負荷が無効であると判定される。
また、図2の場合は、ユーザがCPU10にバス負荷有無情報D1aを指示し、CPU10がバス負荷検出部30のバス負荷有無情報設定部34にバス負荷有無情報D1aを設定することによって、バス負荷の有効無効を判定する。バス負荷有効を“1”とし、バス負荷無効を“0”とする。例えば、バス負荷有無情報D1aを“1”と指示した場合はバス負荷が有効になり、バス負荷有無情報D1aを“0”と指示した場合はバス負荷が無効になる。
<コンパイラ>
ユーザがCPU10へバス負荷有無情報D1aを指示する場合、CPU10をターゲットとするコンパイラを使用することが可能である。図3はコンパイラ60の構成を示す機能ブロック図である。コンパイラ60は、C言語等の高級言語で記述指定されたソースプログラムPm1を、CPU10をターゲットとする機械語プログラムPm2に変換するクロスコンパイラである。このコンパイラ60は、パーソナルコンピュータ等のコンピュータ上で実行されるプログラムによって実現され、解析部61と変換部62と出力部63とから構成される。
解析部61は、コンパイルの対象となるソースプログラムPm1およびこのコンパイラ60に対するユーザからのバス負荷有無情報D1aの設定指示(プラグマにより実現)を字句解析する。そして、そのことによって、コンパイラ60に対するバス負荷有無情報D1aの設定指示については、変換部62や出力部63に伝達する。また、コンパイルの対象となるプログラムについては、内部形式データに変換する。
なお、「プラグマ(又は、プラグマ指令)」とは、ソースプログラムPm1中にユーザが任意に指定(配置)することができるコンパイラ60への指示であり、本実施の形態におけるコンパイラ60では、バス負荷有無情報を設定する指示である。#pragma _bus_res “バス負荷有無情報”を記述することでバス負荷有無情報を指示することができる。
図4に、#pragma _bus_resを用いたプログラムコード例を示す。図4のC言語ソースプログラムPm1のバス負荷有効設定pragma記述A1のように、「#pragma _bus_res 1」と記述すると、機械語プログラムPm2のバス負荷有効設定機械語プログラム記述A2のように、バス負荷有無情報設定部34にバス負荷有無情報である“1”を書き込む機械語プログラムに変換される。これによりバス負荷が有効となる。また、「#pragma _bus_res 0」と記述すると、バス負荷有無情報設定部34にバス負荷有無情報の“0”を書き込む機械語プログラムに変換され、バス負荷が無効となる。
よって、ユーザがバス負荷有無情報D1aをバス負荷有無情報設定部34に設定するフローは、まず、ユーザがソースプログラムPm1に、「#pragma _bus_res」と記述して、バス負荷有無情報(ユーザはバス負荷が高くなることを予想)を指示する。次に、コンパイラ60の解析部61によるバス負荷有無情報の指示を解析する。そして、変換部62でバス負荷有無情報D1aを機械語プログラムに変換し、出力部63から機械語プログラムPm2に出力する。その出力された機械語プログラムをCPU10が実行し、バス負荷有無情報設定部34にバス負荷有無情報D1aを設定するということになる。
<キャッシュメモリ>
図5は図1、図2のキャッシュメモリ20の詳細を示したものである。キャッシュメモリラインはウェイごとにLW0〜LW(n)まであり、それぞれ、タグフィールドTF0〜TF(n)と、ダーティビット(Dirty Bit)格納部DBH0〜DBH(n)と、データ格納部DH0〜DH(n)とを備えている。
キャッシュメモリラインLW0〜LW(n)は、それぞれ、n個のキャッシュメモリサブラインに分けられる(図5では4個)。また、データ格納部DH0〜DH(n)の格納できるデータサイズをキャッシュメモリラインサイズ(Sz1)といい、それぞれキャッシュメモリサブラインに格納できるデータサイズをキャッシュメモリサブラインデータサイズ(Sz2)という。例えば、1キャッシュメモリラインが128バイトとし、サブラインの個数を4個とすると、サブラインのサイズはそれぞれ32バイトとなる。
ダーティビット格納部DBH0〜DBH(n)は、それぞれn個(図5では4個)のダーティビットを格納するためのものである。ダーティビット格納部DBH0〜DBH(n)に対するn個のダーティビットはそれぞれ、キャッシュメモリラインLW0〜LW(n)に対するキャッシュメモリサブラインに対応する。例えば、図5では、ウェイ2のダーティビット格納部DBH2のダーティビットDB2は、ウェイ2のキャッシュメモリラインLW2のキャッシュメモリサブラインSL2に対応する。
ダーティビットとは、キャッシュメモリラインに格納されているデータを他のデータに置き換える場合、現在格納されているデータを下位レベルのメモリに書き戻す(ライトバックする)かどうかを判定するビットである。例えば、ダーティビットがONになっていれば、キャッシュメモリラインに格納されているデータを書き戻す。図5では、ダーティビットがキャッシュメモリサブラインに対応しているため、あるダーティビットがONになっていれば、対応するキャッシュメモリサブラインに格納しているデータをライトバックする必要があるものとして判定する。
タグフィールドTF0〜TF(n)は、タグを格納するためのものである。タグとは、キャッシュメモリラインLW0〜LW(n)内に求められたデータが格納されているかを判別する情報である。
図5で示したキャッシュメモリ20では、キャッシュメモリラインLW0〜LW(n)が複数個(図5では4個)のキャッシュメモリサブラインに分けられ、そのキャッシュメモリサブラインに対応したダーティビットをダーティビット格納部DBHに備えていた。つまり、ダーティビットが1キャッシュメモリラインに複数個存在する構成であった。
これに代えて、キャッシュメモリラインLW0〜LW(n)を1つのキャッシュメモリサブラインに分け(キャッシュメモリライン=キャッシュメモリサブライン)、そのキャッシュメモリサブラインに対応したダーティビットをダーティビット格納部DBHに備える構成としてもよい。つまり、ダーティビットが1キャッシュメモリラインに1個存在する構成としてもよい。
<リプレースウェイ選択優先度>
図6は、1キャッシュメモリラインにダーティビットが4個存在する場合のダーティビット格納部DBHのダーティビットのONとOFFの状態を網羅したものである。リプレースウェイ制御部40におけるリプレースウェイを決定するためのリプレースウェイ選択優先度は、図6のダーティビットのONとOFFの状態によって決定される。リプレースウェイとは、キャッシュミスが起こり、キャッシュメモリ20内のデータを入れ替える際に、入れ替えられる該当キャッシュメモリラインのウェイを示している。
<バス負荷有効の場合>
バス負荷検出部30によりバス負荷が有効と判定された場合のリプレースウェイの選択方法は、リプレースにかかるバス負荷がより小さくなるようにウェイを選択する方法である。図6の場合、P0からP15の順にダーティビットのONの数すなわち有効数が多くなり、リプレース時に書き戻す転送量が多くなるのでバス負荷も大きくなる。したがって、リプレースウェイ選択の優先度はP0からP15の順に下がる。つまり、P0の優先度が最も高くなり、キャッシュメモリラインのダーティビットの状態がP0の状態であればリプレースされやすくなる。
また、図6において、バースト転送に対応していないシステムの場合、P1〜P4が同優先度、P5〜P10が同優先度、およびP11〜P14が同優先度となる。上記のように同優先度となるのはそれぞれ、ダーティビットの有効数が同じであるからである。
さらに、図6においてバースト転送に対応しているシステムで、バースト転送のサイズがキャッシュメモリサブラインサイズの2個分であった場合は、P1〜P4が同優先度、P5,P6が同優先度、P7〜P10が同優先度、およびP11〜P14が同優先度となる。P1〜P4が同優先度、P11〜P14が同優先度となるのは、上記バースト転送に対応していないシステムと同様に、それぞれダーティビットの有効数が同じであるからである。しかし、それぞれダーティビットの有効数が同じであるP5,P6とP7〜P10が異なる優先度なのは、P5,P6とP7〜P10を比べた場合、バースト転送のサイズがキャッシュメモリサブライン2個分のサイズなので、P5,P6は1回のバースト転送で転送が終了するのに対し、P7〜P10は2回のバースト転送が必要になり、P5,P6の方がリプレース時のバス負荷が小さくなるからである。なお、同優先度のウェイが複数ある場合は、ウェイ番号の小さいものから順に選択する。
<バス負荷無効の場合>
また、バス負荷検出部30によりバスの負荷が無効であると判定された場合のリプレースウェイの選択優先度は、リプレースによってバスをより有効に使用するようにリプレースウェイを選択する方法である。図6の場合、P0からP15の順にダーティビットのONの数すなわち有効数が多くなり、リプレース時に書き戻す転送量が多くなるのでバス負荷も大きくなる。したがって、リプレースウェイ選択の優先度はP0からP15の順に上がる。つまり、P15の優先度が最も高くなり、キャッシュメモリラインのダーティビットの状態がP15の状態であればリプレースされやすくなる。
また、図6において、バースト転送に対応していないシステムの場合、P1〜P4が同優先度、P5〜P10が同優先度、およびP11〜P14が同優先度となる。上記のように同優先度となるのはそれぞれ、ダーティビットの有効数が同じであるからである。
さらに、図6においてバースト転送に対応しているシステムで、バースト転送のサイズが上記キャッシュメモリサブラインサイズの2個分であった場合は、P1〜P4が同優先度、P5,P6が同優先度、P7〜P10が同優先度、およびP11〜P14が同優先度となる。P1〜P4が同優先度、P11〜P14が同優先度なのは上記バースト転送に対応していないシステムと同様に、それぞれダーティビットの有効数が同じであるからである。しかし、それぞれダーティビットの有効数が同じであるP5,P6とP7〜P10が異なる優先度なのは、P5,P6とP7〜P10を比べた場合、バースト転送のサイズがキャッシュメモリサブライン2個分のサイズなので、P5,P6は1回のバースト転送で転送が終了するのに対し、P7〜P10は2回のバースト転送が必要になり、P5,P6の方が、リプレース時のバス負荷が小さくなるからである。なお、同優先度のウェイが複数ある場合は、ウェイ番号の小さいものから順に選択する。
なお、図6は、1キャッシュメモリラインにダーティビットが4個ある構成であったが、1キャッシュメモリラインにダーティビットが1個の構成の場合も、図6において示すことが可能である。1キャッシュメモリラインにダーティビットが1個の構成の場合、P1〜P15が同じ状態であると考えることができる。P1〜P15は少なくとも1つのダーティビットが有効になっているのでこれを1キャッシュメモリラインにダーティビットが1個の構成であると考えた場合、P1〜P15は1個のダーティビットが有効になった状態と考えることが可能であるからである。
したがって、1キャッシュメモリラインにダーティビットが1個の構成の場合のリプレースウェイの選択優先度は、バス負荷検出部30によりバス負荷が有効であると判定された場合、リプレース時のバス負荷が小さくなるようにリプレースウェイを選択するので、ダーティビットが有効でないP0状態のウェイ、ダーティビットが有効なP1〜P15の状態のウェイ順で選択される。また、バス負荷検出部30によりバス負荷がないと判定された場合は優先度が逆になり、ダーティビットが有効なP1〜P15の状態のウェイ、ダーティビットが有効でないP0の状態のウェイの順で選択される。なお、同優先度のウェイが複数ある場合は、ウェイ番号の小さいものから順に選択する。
<リプレース処理>
図7に本発明の実施の形態のキャッシュメモリシステムにおけるリプレース処理のフローチャートを示す。
まず、CPU10からのアクセスがあり、キャッシュミスが発生すると、バス負荷検出部30によりバス負荷を検出する(S11)。
次に、リプレースウェイ制御部40によりリプレースウェイを決定する(S12)。その詳細は図6で説明したとおりである。
次に、リプレースウェイのキャッシュメモリラインのダーティビットがONであれば、ステップS14に進み、ダーティビットがONでなければ、ステップS15に進む(S13)。
次に、リプレースウェイのキャッシュメモリデータをライトバックする(S14)。
次に、リプレースウェイのキャッシュメモリラインにCPU10からのアクセスアドレスのデータを格納し、リプレース処理を終了する(S15)。
<リプレースウェイ選択>
図7のステップS12に記載したリプレースウェイ制御部40によるリプレースウェイ選択処理のフローチャートを図8に示す。同図に示すように、バス負荷検出部30によりバス負荷情報を得て、リプレースウェイ選択優先順位を決定する(S21)。
次に、リプレースウェイ、ウェイ、有効リプレース優先度の各初期値を設定する。リプレースウェイとはリプレースされるウェイを示し、初期値は0、Wayは下記ステップで処理される該当ウェイを示し、初期値0、有効リプレース優先度とは、リプレースウェイでのリプレース優先度を示し、ステップS21で決定されたリプレースウェイ選択優先順位での最低優先度を初期値とする(S22)。
次に、nウェイ・セットアソシアティブのキャッシュメモリの場合に、Wayを0からnまで1つずつ上げていき、下記ステップの処理を行う(S23)。
次に、該当ウェイのダーティビット情報からウェイリプレース優先度を決定する(S24)。該当ウェイのダーティビット情報とは、該当ウェイのダーティビットのONとOFFの状態を示している(図6でP0〜P15のような状態を示すもの)。ウェイリプレース優先度とは、上記該当ウェイのダーティビット情報から得られたリプレース優先度のことである。
次に、ステップS24の処理で得られたウェイリプレース優先度と有効リプレース優先度を比較し、ウェイリプレース優先度の方が有効リプレース優先度よりも高ければ、ステップS26に進み、ウェイリプレース優先度の方が有効リプレース優先度よりも低ければ、ステップS28に進む(S25)。
次に、有効リプレース優先度にウェイリプレース優先度を代入し、リプレースウェイにWayを代入する(S26)。
次にステップS26で得られた有効リプレース優先度が、ステップS21で決定したリプレースウェイ選択優先順位の最高優先度でなければ、ステップS28に進み、ステップS26で得られた有効リプレース優先度が、ステップS21で決定したリプレースウェイ選択優先順位の最高優先度であれば、ステップS29に進む(S27)。
次に、Wayを1プラスし、ステップS23に進む(S28)。
次に、ステップS26で得られたリプレースウェイをリプレースウェイとして確定し、処理を終了する(S29)。
<効果>
次に本発明の実施の形態による効果の例を図9、図10に示す。図9、図10は、横軸が時間(サイクル)、縦軸がバスへのリクエスト数としたときのマスタM1からマスタM3までの処理を示している。マスタM1〜M3はそれぞれ4ウェイ・セットアソシアティブ方式でライトバック方式のキャッシュメモリ20を有するとする。
図9は排他不一致でないウェイを優先的にリプレースする一般的なキャッシュメモリシステムの場合を示す。図10は本発明の実施の形態でのキャッシュメモリシステムの場合を示す。
図10のキャッシュメモリシステムのバス負荷検出部30のバス負荷判定条件設定部32の条件設定値D32を“1”とし、キャッシュミス発生時のバスリクエスト保留数N1が“1”以上であれば、バス負荷が有効であると判定されるものとする。図9、図10ともに、マスタM1のキャッシュメモリ20のウェイには1つの排他不一致でないデータと3つの排他不一致なデータがのっており、マスタM2、マスタM3のキャッシュメモリ20のウェイには4つの排他不一致でないデータのっているとする。さらに20サイクル目、80サイクル目にマスタM1のリプレース処理リクエストがライトによるキャッシュミスによって起こり、70サイクル目にマスタM2のリプレース処理リクエストがライトによるキャッシュミスによって起こり、90サイクル目にマスタM3のリプレース処理リクエストがライトによるキャッシュミスによって起こるとする。また、ライトバックを伴わないリプレース処理は20サイクル、ライトバックを伴うリプレース処理は40サイクルかかるとする。
まず従来技術に相当する図9では、20サイクル目のマスタM1によるリプレース処理で排他不一致でないウェイが選択され、ライトバックを伴わないリプレース処理が行われ、40サイクル目で完了する(r1)。次に、70サイクル目でマスタM2のリプレース処理で、ライトバックを伴わないリプレース処理が行われ、90サイクル目で完了する(r2)。マスタM1のリプレース処理リクエストが80サイクル目に起こるが(r3)、マスタM2のリプレース処理が完了する90サイクル目まで待たされる(r2)。90サイクル目からマスタM1のリプレース処理が行われるが(r4)、このときマスタM1のキャッシュメモリ20には排他不一致のデータしか残っていないので、ライトバックを伴うリプレース処理が行われ、130サイクル目で完了する(r5)。マスタM3のリプレース処理リクエストが90サイクル目で起こるが(r6)、マスタM1のリプレース処理が完了する130サイクル目まで待たされ(r5)、130サイクル目からライトバックを伴わないリプレース処理が行われ(r7)、150サイクル目で完了する(r8)。よって、すべてのリプレース処理が完了するのが150サイクル目ということになる。
次に、本発明実施の形態である図10では、20サイクル目のマスタM1によるリプレース処理で他のマスタによりバスに負荷がないので、排他不一致なウェイが選択され、ライトバックを伴うリプレース処理が行われ、60サイクル目で完了する(R1)。次に、70サイクル目でマスタM2のリプレース処理で、ライトバックを伴わないリプレース処理が行われ、90サイクル目で完了する(R2)。マスタM1のリプレース処理リクエストが80サイクル目に起こるが(R3)、マスタM2のリプレース処理が完了する90サイクル目まで待たされる(R2)。90サイクル目からマスタM1のリプレース処理が行われるが(R4)、80サイクル目のリプレース処理リクエスト時にマスタM2のリプレース処理が行われていたため、バスリクエスト保留数N1が“1”であるのでバス負荷が有効であると判定する。よって排他不一致でないウェイを選択し、ライトバックを伴わないリプレース処理が行われ、110サイクル目で完了する(R5)。マスタM3のリプレース処理リクエストが90サイクル目で起こるが(R6)、マスタM1のリプレース処理が完了する110サイクル目まで待たされ(R5)、110サイクル目からライトバックを伴わないリプレース処理が行われ(R7)、130サイクル目で完了する(R8)。よって、すべてのリプレース処理が完了するのが130サイクル目ということになる。
図9、図10を比較すると、本発明実施の形態のキャッシュメモリシステムを有する図10のほうが20サイクル早くなることがわかる。
<動画処理装置>
図11は本発明の実施の形態における動画処理装置の構成を示すブロック図である。
動画処理装置80は、キャッシュメモリシステムCSとCPU(コントローラ)10とを有するマイクロプロセッサμP1,μP2と、バスコントローラBC、メモリ(主記憶装置)MM、バスB1、IOインターフェース71を有する半導体装置70と、動画データDdを入力する入力部81と、動画表示部90に動画像を出力する出力部82と、電源部83とから構成されている。マイクロプロセッサμP1は主に装置全体のコントローラの役目をし、マイクロプロセッサμP2は主に動画処理を行うものとする。
<動画処理フロー>
図12に動画処理フローを示す。まず、DVD−VIDEO等の動画データDdが入力部81から入力され(S31)、マイクロプロセッサμP1がマイクロプロセッサμP2にその動画データを動画処理するように命令する。マイクロプロセッサμP2は動画処理を開始する(S32)。マイクロプロセッサμP2の動画処理中にキャッシュミスが起こった場合(S33)、キャッシュメモリシステムCSにより、リプレース処理(図7のS11)を行う(S34)。リプレース処理(図7のS11)は、キャッシュミス時に、他のマイクロプロセッサμP1によるメモリアクセスがなく、バスB1のバス負荷が無効と判定されれば、バスB1を有効に使うリプレース処理を行い、キャッシュミス時に他のマイクロプロセッサμP1によるメモリアクセスがあり、バスB1のバス負荷が有効と判定されれば、バスB1にあまり負荷をかけないリプレース処理を行う。リプレース処理が終了するかまたは、動画処理中にキャッシュミスがない場合は、動画処理が終了(S35)すれば、動画を出力部82から動画表示部90に出力し(S36)、終了する。動画処理が終了していなければ、動画処理を繰り返す処理を行う。
<キャッシュメモリシステムによる動画処理破綻防止効果>
図13に上記のキャッシュメモリシステムを搭載した動画処理装置の動画処理破綻防止効果の一例を示す。
図13の上側のグラフは、従来のキャッシュメモリを搭載した動画処理装置による時間ごとのフレーム処理の様子を示したものである。下側のグラフは、本発明実施の形態のキャッシュメモリシステムを搭載した動画処理装置80による時間ごとのフレーム処理の様子を示したものである。フレーム処理とは、動画処理における基本的な処理のひとつであり、1フレームの表示期間内に次に表示する画像を処理するようになっている。図13で示す状況を以下に説明する。
キャッシュメモリ20は4ウェイであり、すでに排他不一致なデータが3ウェイ、排他不一致でないデータが1ウェイのっている。
図13の上下のグラフともに、2フレーム目、4フレーム目でメモリアクセスのレイテンシ(時間待ち)が発生している。
上側のグラフにおいて、2フレーム目の処理のメモリアクセスレイテンシは、他のマスタによるメモリアクセスがない状態で、ライトアクセスによるキャッシュミスが発生したときの排他不一致でないデータのリプレース処理時間である。このリプレース処理でキャッシュメモリには排他不一致なデータが4ウェイ分のったことになる。ここで、4フレーム目の処理では、メモリアクセスレイテンシにより動画処理が1フレーム表示期間に間に合わず、動画処理破綻が起こっている。これは、他のマスタによるメモリアクセスがある状態で、キャッシュミスが発生し、キャッシュメモリには排他不一致のデータしか存在しないため、メモリアクセス時間のかかるライトバックを伴うリプレース処理を行ったためである。
下側のグラフにおいて、2フレーム目の処理のメモリアクセスレイテンシは、他のマスタによるメモリアクセスがない状態で、ライトアクセスによるキャッシュミスが発生したときの排他不一致なデータのリプレース処理時間である。本発明実施の形態のキャッシュメモリシステムでは他のマスタによるメモリアクセスがない場合は、バスを有効に使用するためライトバックを伴うリプレース処理を行う。4フレーム目の処理のメモリアクセスレイテンシは、他のマスタによるメモリアクセスがある状態で、キャッシュミスが発生したときの排他不一致でないデータのリプレース処理時間である。ここで、下側のグラフでは動画処理破綻は起こっていない。これは、本発明実施の形態におけるキャッシュメモリシステムでは、他のマスタによるメモリアクセスがある場合は、バス負荷をかけないようにライトバックを伴わないリプレース処理を行うためである。すなわち、本発明実施の形態のキャッシュメモリシステムを搭載した動画処理装置では、局所的なメモリアクセスレイテンシを抑制することで動画処理破綻を防止していることがわかる。
本発明のキャッシュメモリシステムは、複数のマスタで共通バスを使用するシステムのバストラフィックを均一化する技術として有用である。本システムは、バス負荷に応じて、バストラフィックが均一になるようにリプレース方法を変更するため、局所的なバストラフィックを防止することができる。したがって、局所的なバストラフィックによりコマ落ち等のシステム破綻が起きやすい動画処理装置に利用することが可能である。また、バストラフィックを均一化することで、バス幅を削減する技術としても有用である。
本発明の実施の形態1におけるキャッシュメモリシステムの構成を示すブロック図 本発明の実施の形態2におけるキャッシュメモリシステムの構成を示すブロック図 本発明の実施の形態におけるコンパイラの構成を示す機能ブロック図 バス負荷有無情報を設定するプログラムコード例 本発明の実施の形態におけるキャッシュメモリの構成を示すブロック図 キャッシュメモリの1キャッシュメモリラインにダーティビットが4個存在する場合のダーティビット格納部のダーティビットのONとOFFの状態を示した図 本発明の実施の形態におけるリプレースウェイ制御部のリプレースウェイ選択処理のフローチャート 本発明の実施の形態におけるキャッシュメモリシステムのリプレース処理のフローチャート 一般的なキャッシュメモリシステムを有する3つのマスタと共通バスを使用するシステムにおけるリプレース処理の時系列図 本発明の実施の形態におけるキャッシュメモリシステムを有する3つのマスタと共通バスを使用するシステムにおけるリプレース処理の時系列図 本発明の実施の形態におけるキャッシュメモリシステムを有する動画処理装置の構成図 本発明の実施の形態におけるキャッシュメモリシステムを有する動画処理装置の動画処理フローチャート 本発明の実施の形態におけるキャッシュメモリシステムを搭載した動画処理装置の動画処理破綻防止効果の説明図
符号の説明
10 CPU(コントローラ)
20 キャッシュメモリ
30 バス負荷検出部
31 バス負荷情報保持部
32 バス負荷判定条件設定部
33 コンパレータ
34 バス負荷有無情報設定部
40 リプレースウェイ制御部
50 バス負荷情報検出部
60 コンパイラ
61 解析部
62 変換部
63 出力部
71 IOインターフェース
80 動画処理装置
81 入力部
82 出力部
83 電源部
90 動画表示部
CS キャッシュメモリシステム
BC バスコントローラ
B1 バス
D1 バス負荷条件
D1a バス負荷有無情報
D2 バス負荷情報
D3 Way番号
D4 タグ情報
D5 ダーティビット情報
DBH ダーティビット格納部
DH データ格納部
Dd 動画データ
M1〜M3 マスタ
MM 主記憶装置
N1 バスリクエスト保留数
Pm1 ソースプログラム
Pm2 機械語プログラム
TF タグフィールド
μP1,μP2 マイクロプロセッサ

Claims (8)

  1. マルチウェイセットアソシアティブ方式のキャッシュメモリと、
    前記キャッシュメモリの被キャッシュデータが格納される記録装置が接続されているバスの状態に対応するバス負荷情報を出力するバス負荷検出手段と、
    前記バス負荷検出手段による前記バス負荷情報に応じて前記キャッシュメモリのリプレース方法を制御するリプレースウェイ制御手段と
    を備えたキャッシュメモリシステム。
  2. 前記バス負荷検出手段は、
    バスコントローラからのバスリクエスト保留数に対応した情報を保持するバス負荷情報保持部と、
    バス負荷の判定条件を設定するバス負荷判定条件設定部と、
    前記バス負荷情報保持部に保持された情報と前記バス負荷判定条件設定部の条件設定値とを比較し、その比較結果を前記バス負荷情報として出力するコンパレータとを有し、
    前記バス負荷情報保持部の保持値が前記バス負荷判定条件設定部の条件設定値より大きいかまたは同等の場合は前記バス負荷情報として有効を示す信号を出力し、小さい場合は前記バス負荷情報として無効を示す信号を出力する請求項1に記載のキャッシュメモリシステム。
  3. 前記バス負荷検出手段は、外部から入力されるバス負荷有無情報を設定可能なバス負荷有無情報設定部を有し、
    前記バス負荷有無情報設定部に設定された前記バス負荷有無情報が有効を示す場合は前記バス負荷情報として有効を示す信号を出力し、前記バス負荷有無情報が無効を示す場合は前記バス負荷情報として無効を示す信号を出力する請求項1に記載のキャッシュメモリシステム。
  4. 前記バス負荷有無情報は、プログラム上に記載されたバス負荷の有効または無効を示す情報により指定可能である請求項3に記載のキャッシュメモリシステム。
  5. 前記リプレースウェイ制御手段は、前記バス負荷検出手段による前記バス負荷情報が有効を示す場合には排他不一致でないウェイを優先的にリプレースするよう制御し、前記バス負荷情報が無効を示す場合には排他不一致のウェイを優先的にリプレースするよう制御する請求項1から請求項4までのいずれかに記載のキャッシュメモリシステム。
  6. 前記リプレースウェイ制御手段は、前記キャッシュメモリにおいて排他不一致を示すダーティビットが1キャッシュメモリラインに複数存在する場合で、前記バス負荷検出手段による前記バス負荷情報が有効を示すときにはダーティビットの有効数が少ないウェイを優先的にリプレースするよう制御し、前記バス負荷検出手段が無効を示すときにはダーティビットの有効数が多いウェイを優先的にリプレースするよう制御する請求項1から請求項4までのいずれかに記載のキャッシュメモリシステム。
  7. 前記リプレースウェイ制御手段は、
    前記キャッシュメモリにおいてバースト転送の実行が可能な場合に、排他不一致を示すダーティビットが1キャッシュメモリラインに複数存在し、前記ダーティビットの有効数が同数のときには前記キャッシュメモリのバースト転送の設定と、有効なダーティビットの分布に応じて、リプレースするウェイを変更する請求項1から請求項4までのいずれかに記載のキャッシュメモリシステム。
  8. 入力されたデータを処理して、動画データとして出力する動画処理装置であって、
    請求項1から請求項7までのいずれか1項に記載のキャッシュメモリシステムと、
    前記キャッシュメモリに接続され、前記キャッシュメモリにアクセスするコントローラと、
    前記コントローラで処理するための命令またはデータを記憶する記録装置と、
    前記コントローラと前記記録装置間で行われる命令またはデータの転送に用いられるバスと、
    前記バスに接続され、前記バスの負荷に応じた情報を前記キャッシュメモリシステムに出力するバスコントローラと、
    を備えたことを特徴とする動画処理装置。



JP2004305256A 2004-10-20 2004-10-20 キャッシュメモリシステムおよび動画処理装置 Pending JP2006119796A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004305256A JP2006119796A (ja) 2004-10-20 2004-10-20 キャッシュメモリシステムおよび動画処理装置
US11/242,002 US20060085600A1 (en) 2004-10-20 2005-10-04 Cache memory system
CNA2005101094882A CN1763731A (zh) 2004-10-20 2005-10-20 高速缓冲存储器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004305256A JP2006119796A (ja) 2004-10-20 2004-10-20 キャッシュメモリシステムおよび動画処理装置

Publications (1)

Publication Number Publication Date
JP2006119796A true JP2006119796A (ja) 2006-05-11

Family

ID=36182155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004305256A Pending JP2006119796A (ja) 2004-10-20 2004-10-20 キャッシュメモリシステムおよび動画処理装置

Country Status (3)

Country Link
US (1) US20060085600A1 (ja)
JP (1) JP2006119796A (ja)
CN (1) CN1763731A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537912A (ja) * 2006-05-17 2009-10-29 クゥアルコム・インコーポレイテッド キャッシュメモリの最大レジデンシー交換のための方法およびシステム
JP2019133252A (ja) * 2018-01-29 2019-08-08 東芝メモリ株式会社 メモリシステム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380070B2 (en) * 2005-02-17 2008-05-27 Texas Instruments Incorporated Organization of dirty bits for a write-back cache
JP2008305246A (ja) * 2007-06-08 2008-12-18 Freescale Semiconductor Inc 情報処理装置、キャッシュフラッシュ制御方法及び情報処理制御装置
US8266381B2 (en) * 2008-02-01 2012-09-11 International Business Machines Corporation Varying an amount of data retrieved from memory based upon an instruction hint
US8250307B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Sourcing differing amounts of prefetch data in response to data prefetch requests
US7958309B2 (en) * 2008-02-01 2011-06-07 International Business Machines Corporation Dynamic selection of a memory access size
US8255635B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Claiming coherency ownership of a partial cache line of data
US8140771B2 (en) * 2008-02-01 2012-03-20 International Business Machines Corporation Partial cache line storage-modifying operation based upon a hint
US8108619B2 (en) * 2008-02-01 2012-01-31 International Business Machines Corporation Cache management for partial cache line operations
US8117401B2 (en) * 2008-02-01 2012-02-14 International Business Machines Corporation Interconnect operation indicating acceptability of partial data delivery
US20090198910A1 (en) * 2008-02-01 2009-08-06 Arimilli Ravi K Data processing system, processor and method that support a touch of a partial cache line of data
JP2009187446A (ja) * 2008-02-08 2009-08-20 Nec Electronics Corp 半導体集積回路及びその最大遅延試験定方法
CN101673244B (zh) * 2008-09-09 2011-03-23 上海华虹Nec电子有限公司 多核或集群系统的存储器控制方法
US8117390B2 (en) * 2009-04-15 2012-02-14 International Business Machines Corporation Updating partial cache lines in a data processing system
US8140759B2 (en) * 2009-04-16 2012-03-20 International Business Machines Corporation Specifying an access hint for prefetching partial cache block data in a cache hierarchy
US8745334B2 (en) * 2009-06-17 2014-06-03 International Business Machines Corporation Sectored cache replacement algorithm for reducing memory writebacks
JP2012203560A (ja) * 2011-03-24 2012-10-22 Toshiba Corp キャッシュメモリおよびキャッシュシステム
US20130155077A1 (en) 2011-12-14 2013-06-20 Advanced Micro Devices, Inc. Policies for Shader Resource Allocation in a Shader Core
US20150293847A1 (en) * 2014-04-13 2015-10-15 Qualcomm Incorporated Method and apparatus for lowering bandwidth and power in a cache using read with invalidate
CN105183387A (zh) * 2015-09-14 2015-12-23 联想(北京)有限公司 一种控制方法及控制器、存储设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2854474B2 (ja) * 1992-09-29 1999-02-03 三菱電機株式会社 バス使用要求調停装置
US5669014A (en) * 1994-08-29 1997-09-16 Intel Corporation System and method having processor with selectable burst or no-burst write back mode depending upon signal indicating the system is configured to accept bit width larger than the bus width
US5881248A (en) * 1997-03-06 1999-03-09 Advanced Micro Devices, Inc. System and method for optimizing system bus bandwidth in an embedded communication system
GB2385174B (en) * 1999-01-19 2003-11-26 Advanced Risc Mach Ltd Memory control within data processing systems
US6571354B1 (en) * 1999-12-15 2003-05-27 Dell Products, L.P. Method and apparatus for storage unit replacement according to array priority
US6477610B1 (en) * 2000-02-04 2002-11-05 International Business Machines Corporation Reordering responses on a data bus based on size of response
US7296109B1 (en) * 2004-01-29 2007-11-13 Integrated Device Technology, Inc. Buffer bypass circuit for reducing latency in information transfers to a bus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537912A (ja) * 2006-05-17 2009-10-29 クゥアルコム・インコーポレイテッド キャッシュメモリの最大レジデンシー交換のための方法およびシステム
JP2013030173A (ja) * 2006-05-17 2013-02-07 Qualcomm Inc キャッシュメモリの最大レジデンシー交換のための方法およびシステム
JP2019133252A (ja) * 2018-01-29 2019-08-08 東芝メモリ株式会社 メモリシステム

Also Published As

Publication number Publication date
CN1763731A (zh) 2006-04-26
US20060085600A1 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
JP2006119796A (ja) キャッシュメモリシステムおよび動画処理装置
JP4837456B2 (ja) 情報処理装置
US8407432B2 (en) Cache coherency sequencing implementation and adaptive LLC access priority control for CMP
JP5100176B2 (ja) マルチプロセッサシステム
JP2000242558A (ja) キャッシュシステム及びその操作方法
US8874853B2 (en) Local and global memory request predictor
JP2009053820A (ja) 階層型キャッシュメモリシステム
US20180173627A1 (en) Dynamic memory control method and system thereof
US20120226832A1 (en) Data transfer device, ft server and data transfer method
US20100070711A1 (en) Techniques for Cache Injection in a Processor System Using a Cache Injection Instruction
JP5499987B2 (ja) 共有キャッシュメモリ装置
EP3588313B1 (en) Non-volatile memory aware caching policies
JP5808495B2 (ja) キャッシュメモリコントローラ及びキャッシュメモリコントロール方法
US20170364461A1 (en) Transferring data between memory system and buffer of a master device
US9336145B2 (en) Techniques for cache injection in a processor system based on a shared state
JP2009157612A (ja) キャッシュメモリシステム及びキャッシュメモリの制御方法
JP4097883B2 (ja) データ転送装置および方法
WO2016188392A1 (zh) 一种数据地址产生系统和方法
US9110885B2 (en) Techniques for cache injection in a processor system
KR101203157B1 (ko) 데이터 전달 시스템, 장치 및 방법
US7159077B2 (en) Direct processor cache access within a system having a coherent multi-processor protocol
US9268703B2 (en) Techniques for cache injection in a processor system from a remote node
JP2004240616A (ja) メモリコントローラ及びメモリアクセス制御方法
JP5540979B2 (ja) 半導体集積回路、情報記憶方法
US8560748B2 (en) Information processing system including interrupt processing function