JP2006031386A - キャッシュ制御装置と方法並びにコントローラ装置 - Google Patents

キャッシュ制御装置と方法並びにコントローラ装置 Download PDF

Info

Publication number
JP2006031386A
JP2006031386A JP2004209039A JP2004209039A JP2006031386A JP 2006031386 A JP2006031386 A JP 2006031386A JP 2004209039 A JP2004209039 A JP 2004209039A JP 2004209039 A JP2004209039 A JP 2004209039A JP 2006031386 A JP2006031386 A JP 2006031386A
Authority
JP
Japan
Prior art keywords
cache
cpu
setting information
permission
storage unit
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.)
Withdrawn
Application number
JP2004209039A
Other languages
English (en)
Inventor
Masayuki Daito
正行 大東
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2004209039A priority Critical patent/JP2006031386A/ja
Priority to US11/175,446 priority patent/US20060015685A1/en
Publication of JP2006031386A publication Critical patent/JP2006031386A/ja
Withdrawn 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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

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

【課題】
時間的・空間的局所性が低いプログラムにおいても、最悪実行時間の見積もりを容易化し、期待した性能を実現可能とする、新たなキャッシュ制御装置の提供。
【解決手段】
CPU1と、キャッシュコントロール部211と、タグコントロール部201、データ部202と、ROM13とを備え、キャッシュコントロール部211はCPU1で実行されるプロセスのIDに対応して、(A)キャッシュ非使用、(B)キャッシュ使用且つリプレース許可、(C)キャッシュ使用且つリプレース不許可の制御を行い、プロセスIDに対応する制御情報が、(A)又は(B)の時、キャッシュ使用は可/不可とされ、(C)の場合、キャッシュヒット時はキャッシュからの命令がCPUに送られ、ミス時にはROMからの命令がCPUに送られるが、キャッシュリプレースは行われない。
【選択図】
図2

Description

本発明は、キャッシュ制御装置と方法及びキャッシュ制御装置を有するコントローラに関する。
キャッシュは、LSI外部に配置された比較的低速なメモリの平均アクセス速度を向上させるために用いられている。よく知られているように、キャッシュは、時間・空間的に局所性のあるプログラムの実行性能を向上させ、信号処理や演算処理等の分野で多用されている。
・時間的局所性(temporal locality)とは、「一つの要素(アイテム)が参照されると、当該要素は、再びすぐに参照される傾向がある」ことをいう。
・空間的局所性(spatial locality)とは、「一つの要素(アイテム)が参照されると、近くのアドレスの要素(複数)が、すぐに参照される傾向がある」ことをいう。プログラムの空間的局所性を利用するために、キャッシュのブロックは1ワードよりも大の所定の長さとされる。キャッシュのブロックサイズを大きくすると、ミス率を低減できることが知られている(後記非特許文献1参照)。
キャッシュは、プログラムの実行性能を向上させるが、その一方で、
・最悪実行時間の見積もりが困難である、
・プログラムによっては、期待した効果が得られない場合がある、
等のデメリットもある。
以下、いくつかの典型的な設計方式に即して説明する。図5には、例えばECU(Engine Control Unit)等制御向けのコントローラLSI(半導体集積回路)の典型的な構成の一例が示されている。
図5を参照すると、このLSI10Aは、制御向けCPUの命令実行方式として、同一チップ上に配設されたRAM(ランダムアクセスメモリ)12と、ROM(読み出し専用メモリ)13と、CPU(中央演算処理装置)11とを備えている(キャッシュは具備しない)。ROM13は、例えばフラッシュメモリ(EEPROM;電気的にプログラム可能であり、セクタ単位で一括消去可能なROM)等からなり、不揮発データとして、CPU11で実行される命令群、又は、CPU11で実行される命令群とデータが格納されている。RAM12に対して、CPU11からデータの書き込み/読み出しが行われる。なお、図5には、命令、データのパスに着目した構成のみが図示されており、入出力制御部等は示されていない。
図5に示す構成の場合、CPU11がROM13に格納されている命令を高速にアクセスすることで、高性能を実現するとともに、キャッシュを具備していないことから、一定速度での動作を実現可能としている。このため、図5に示す構成は、最悪実行時間の見積もりを容易化している。
しかしながら、図5に示す構成の場合、ROM13のアクセスタイムがCPU11の動作速度に比べて遅くなると、性能が低下する。
近時、CPUの動作周波数は著しく向上している。LSIの製造プロセス等により、ROM・フラッシュメモリの速度(アクセスタイム)は、CPUほど高速化していない。すなわち、ROM・フラッシュメモリと、ロジック部の速度向上率の差違から、100乃至200MHz等の帯域で高速動作するCPUと同じ速度で動作するROM・フラッシュメモリの実現は、益々、困難となってきている。
このため、LSI内部に配置されたCPUと、ROMの間に、キャッシュを配置する構成が用いられている。図6は、CPUとROMの間にキャッシュを配置した典型例な構成の一例を示す図である。
図6に示すように、コントローラLSI10B内には、CPU11Aと、命令キャッシュ15と、データキャッシュ16と、メモリコントローラ14とを備えている。そして、コントローラLSI10Bに外付けで、RAMデバイス12EとROMデバイス13Eとが設けられている。コントローラLSI10Bに内蔵されるメモリコントローラ14は、図示されないバス制御部を有し、RAMデバイス12EとROMデバイス13Eとバス接続され、CPU11Aからのアドレス信号及び読み出しコマンドを受け、ROMデバイス13Eからの命令の読み出しを制御し、また、CPU11Aからのアドレス信号と読み出しコマンド、あるいは、CPU11Aからのアドレス信号と書き込みコマンド及びデータ信号とを受け、RAMデバイス12Eからのデータの読み出し、あるいはRAMデバイス12Eへのデータの書き込みを制御する。
CPU11Aからの読み出しアクセスに対して、キャッシュヒット時には、命令キャッシュ15からの命令がCPU11Aに供給され、キャッシュミス時には、ROMデバイス13Eからアクセス対象の命令を含む複数の命令(1ブロック分)の読み出しが行われ、命令キャッシュ15では、ROMデバイス13Eから読み出された命令群(ブロック)による入れ替え(リプレース)が行われる。また、データキャッシュ16に対する読み出しアクセスに対して、キャッシュヒット時には、データキャッシュ16からのデータがCPU11Aに供給され、ミス時には、RAMデバイス12Eからアクセス対象のデータを含む複数のデータ(1ブロック分)の読み出しが行われ、データキャッシュ16では、RAMデバイス12Eから読み出されたブロックによる入れ替え(リプレース)が行われる。
図6に示した構成は、外部メモリの速度の影響を余り受けず、平均性能を発揮することができる。
さらに、別の設計方式として、図7に示すように、コントローラLSI10Cにおいて、CPU11とROM13との間にキャッシュ20を配置する構成も知られている。図7に示す構成では、キャッシュのメリットである「高い平均性能」の達成が期待できる。なお、図7において、ROM13には、CPU11で実行される命令群が予め格納されており、RAM12にはCPU11からの書き込みデータが格納されることは、図5を参照して説明した通りである。キャッシュ20には、ROM13から読み出された命令が格納される。CPU11からの読み出しアクセスに対して、キャッシュヒット時には、キャッシュ20からの命令がCPU11に供給され、一方、ミス時には、ROM13からアクセス対象の命令を含む1ブロックの命令群が読み出され、キャッシュ20では、ROM13から読み出されたブロック(命令群)による入れ替えが行われ、アクセス対象の命令がCPU11に供給される。
なお、フラッシュメモリとCPUとの間にキャッシュを備えたキャッシュ制御技術に関する刊行物として、例えば後記特許文献1も参照される。後記特許文献1には、フラッシュメモリに対する読み書き要求を複数のページからなるセクタ単位に切り上げてフラッシュメモリへのアクセスを行い、セクタ単位の書き込みデータに対してページ毎に有効無効を判定し、無効と判定された書き込みデータをフラッシュメモリのデータ格納領域に割当てない制御を行うようにした構成が開示されている。
特開平7−146820号公報(第1図) John L. Hennessy, David A. Patterson, "Computer Organization and Design", Morgan Kaufmann Publishers Inc., 第454-455頁、第480頁 1994
ところで、図7に示した構成の場合、キャッシュのメリットである「高い平均性能」は期待できるものの、
・最悪実行時間の見積もりが困難であること、
・プログラムによっては期待した効果が得られない場合がある、
という、キャッシュのデメリットをそのまま継承することになる。
図8は、図5、図6、図7に示したそれぞれの設計方式について、キャッシュヒット率と、CPUの性能との関係を示す図である。図8は、本発明者により為された解析結果に基づくものであり、従来の設計方式の課題を説明するための図である。図8に示した測定結果において、図6の構成のLSI10Bでは、動作周波数133MHzのダブルデータレートのインタフェース(DDR−I/F)を備え、ROMデバイス13Eとして、アクセスタイム40ns(ナノ秒)のフラッシュメモリを用いている。また、図5、図7の構成のLSI10A、10Cでは、内蔵ROM13として、アクセスタイム100nsのオンチップ・フラッシュメモリを用いている。図5乃至図7のCPUは、いずれも、実質266MHz(1命令≒3.76ns)で駆動される。
図8において、aはターゲット性能であり、bは、図5に示した構成の性能特性を表している(キャッシュを用いていないため、性能は固定値をとる)。cは、図6に示した構成の性能特性を表している。また、dは、図7に示した構成の性能特性を表している。
図8の特性bに示すように、図5に示した構成の場合、一定の処理性能を達成しているが、ターゲット性能には遠く及ばない。そして、図5に示した構成において、ターゲット性能に近づけるには、フラッシュメモリ(図5の13)のさらなる高速化を図る必要があり、大幅なコスト高となる。
また図8の特性cに示すように、図6に示す構成は、外付けのROMデバイス13Eの速度の影響を余り受けず、平均性能を発揮することができる。すなわち、キャッシュヒット率が99%でターゲット性能を達成し、キャッシュヒット率が95%程度までは、特性bよりも良好であり、キャッシュヒット率が91%でも特性dと比べてはるかに良好な性能を発揮している。
そして、図8の特性dに示すように、図7に示す構成においては、ヒット率91%程度で、ターゲット性能の1/3程度にまで落ち込む場合がある。図8の特性dのように、ヒット率の変動に応じて、性能の幅に3倍以上の開きがあると、制御用のコントローラLSIとして適用は困難となる場合がある。なんとなれば、制御用のコントローラLSIでは、例えば応答時間に厳しい制約が課せられるリアルタイム制御等を的確に遂行するために、好ましくは一定の高性能が求められており、さらに、性能が変動する場合でも、最悪実行時間の見積もりを正確に行うことが必要とされているためである。
したがって、本発明の目的は、最悪実行時間の見積もりを容易化し、期待した性能の実現を可能とする、新たなキャッシュ制御装置と方法、並びにキャッシュ制御装置を含むコントローラを提供することにある。
本願で開示される発明は、上記目的を達成するため、概略以下の構成とされる。
本発明の1つのアスペクト(側面)に係るキャッシュ制御装置は、プロセスの識別情報(「プロセスID」という)と、キャッシュのアクセス態様を規定する設定情報との対応を少なくとも1つ記憶する記憶部と、CPUから供給されるプロセスIDを受け取り、前記プロセスIDに対応した設定情報を、前記記憶部から取得し、前記設定情報に基づき、前記CPUで実行されるプロセスに応じて、前記キャッシュのアクセス態様を可変に制御する回路と、を含む。
本発明に係るキャッシュ制御装置において、好ましくは、前記プロセスの実行特性に応じて、前記キャッシュのアクセス態様を可変に制御する構成とされる。
本発明に係るキャッシュ制御装置において、好ましくは、前記記憶部が、前記プロセスIDと前記設定情報との対応として、
プロセスIDとキャッシュの非使用、
プロセスIDとキャッシュの使用、及びキャッシュのリプレース許可、
プロセスIDとキャッシュの使用、及びキャッシュのリプレース非許可、
の内の少なくとも一つの対応を記憶しており、
前記CPUから前記プロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、前記CPUで実行されるプロセスに対応させて、前記キャッシュの使用と非使用の制御、及び/又は、キャッシュのリプレース許可と非許可の制御を行う、構成とされる。
本発明の他のアスペクトに係るキャッシュ制御装置は、プロセスの識別情報(「プロセスID」という)と、キャッシュの使用/非使用との対応を規定する設定情報を少なくとも1つ記憶する記憶部を備え、CPUからプロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、プロセス毎に、キャッシュの使用と非使用の制御を行う。
本発明の他のアスペクトに係るキャッシュ制御装置は、プロセスの識別情報(「プロセスID」という)と、キャッシュのリプレースの許可/非許可との対応を規定する設定情報を少なくとも1つ記憶する記憶部を備え、CPUからプロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、プロセス毎に、キャッシュのリプレース許可と非許可の制御を行う。
上記した本発明に係るキャッシュ制御装置において、前記プロセスIDと前記設定情報との対応は、前記CPU上で稼動するオペレーティングシステムが管理する実行プログラムの特性に関連付けて設定する構成としてもよい。
本発明の他のアスペクトに係るコントローラ装置は、CPUと、キャッシュと、上記本発明に係るキャッシュ制御装置を備えている。本発明に係るコントローラ装置において、命令及び/又は命令を格納した記憶装置を、前記コントローラ装置内部に配設してもよいし、あるいは前記コントローラ装置外部に配設するようにしてもよい。
本発明に係るコントローラ装置において、前記プロセスIDに対応する設定情報が、キャッシュ非使用である場合に、前記CPUからの読み出しアクセスに対して、前記キャッシュはアクセスされず、前記記憶装置から読み出された内容が、前記CPUに送られる。
本発明に係るコントローラ装置において、前記プロセスIDに対応する設定情報が、キャッシュ使用及びキャッシュのリプレース許可である場合に、前記CPUからの読み出しアクセスに対して、キャッシュヒットのときは、前記キャッシュから読み出されたデータが前記CPUに送られ、一方、ミスの場合には、前記記憶装置から読み出された内容が、前記CPUに送られるとともに、前記記憶装置から読み出された内容による前記キャッシュの入れ替えが行われる。
本発明に係るコントローラ装置において、前記プロセスIDに対応する設定情報が、キャッシュ使用及びキャッシュのリプレース非許可である場合に、前記CPUからの読み出しアクセスに対して、キャッシュヒットのときは、前記キャッシュから読み出された内容が前記CPUに送られ、一方、ミスの場合には、前記記憶装置から読み出された内容が、前記CPUに送られ、前記記憶装置から読み出された内容による前記キャッシュの入れ替えは行われない。
本発明の他のアスペクトに係るキャッシュ制御方法は、
(a1)CPUが、前記CPUで実行するプロセスの識別情報(「プロセスID」という)をキャッシュ制御装置に供給する工程と、
(a2)前記キャッシュ制御装置が、前記CPUからのプロセスIDを受け取り、プロセスIDとキャッシュのアクセス態様を規定する設定情報との対応を少なくとも1つ記憶する記憶部を参照して、前記プロセスIDに対応した設定情報を取得する工程と、
(a3)前記キャッシュ制御装置が、前記設定情報に基づき、前記プロセスに応じて、前記キャッシュのアクセス態様を可変に制御する工程と、
を含む。
本発明に係るキャッシュ制御方法において、前記プロセスの実行特性に応じて、前記キャッシュのアクセス態様を可変に制御する構成としてもよい。
本発明に係るキャッシュ制御方法において、前記記憶部が、前記プロセスIDと前記設定情報の対応として、
プロセスIDとキャッシュの非使用、
プロセスIDとキャッシュの使用、及びキャッシュのリプレース許可、
プロセスIDとキャッシュの使用、及びキャッシュのリプレース非許可、
の内の少なくとも一つの対応を記憶し、
前記CPUから前記プロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、前記CPUで実行されるプロセスに対応させて、前記キャッシュの使用と非使用の制御、及び/又は、キャッシュのリプレース許可と非許可の制御を行う、ようにしてもよい。
本発明に係るキャッシュ制御方法において、前記プロセスIDと前記設定情報との対応は、前記CPU上で稼動するオペレーティングシステムが管理する実行プログラムの特性に関連付けて設定するようにしてもよい。
本発明によれば、プログラムの実行特性に応じてキャッシュ制御を可変制御することにより、時間的・空間的局所性が低いプログラムにおいても、最悪実行時間の見積もりを容易化し、期待した性能の実現を可能としている。
上記した本発明についてさらに詳細に説述するために、添付図面を参照して、発明の原理、及び実施の形態を以下に説明する。まず、本発明の原理について説明する。
<発明の原理>
前述したように、図7に示した構成のキャッシュヒット率の低下に対する性能の落ち込み幅は特段に大きく(図8の特性d参照)、最悪実行時間の見積もりを正確に行うことは容易ではない。このため、図7に示した構成を、制御用コントローラとして用いることは困難であることがわかった。
そして、本発明者のさらなる検討結果により、制御向けCPUにて実行されるプログラムは、時間的・空間的局所性が低いことが知見された。これは、制御向けのCPUは、主として外部割り込みで駆動されることもその一因であるものと思料される。
図3は、制御系プログラムの実行時における命令ミス率の推移の解析結果を示す図である。すなわち、図3には、図7の構成(ROM、キャッシュ、CPUをLSIに搭載した構成)において、キャッシュ20のメモリサイズを8Kバイト、16Kバイト、32Kバイトとした場合のそれぞれにおける、命令ミス率(=(100−キャッシュヒット率)%)の測定結果を示す。なお、キャッシュ20は、4ウェイ・セットアソシアティブ構成とされ、200×1000回(200K)の命令実行毎の命令ミス率(Instruction miss ratio)がプロットされている。すなわち、図3の横軸の1区間(Interval)は、200×1000回(200K)の命令実行の時間区間とされ、図3の縦軸は命令ミス率(%表示)である。図3において、a、b、cは、それぞれ、キャッシュのサイズを8Kバイト、16Kバイト、32Kバイトとした場合における、命令ミス率の推移を表している。なお、サイズ8Kバイトのキャッシュが、例えば1ブロックを4バイトとしてエントリ数2Kで構成した場合、サイズ16Kバイトのキャッシュは、1ブロックを8バイトとしてエントリ数を2K、サイズ32Kバイトのキャッシュは、1ブロックを16バイトとしてエントリ数を2Kで構成される。
図3において、着目すべき点は、キャッシュ20のサイズを8Kバイトの2倍、4倍としても、命令ミス率の変動特性の間に、さしたる差異は認められないということである。すなわち、プログラムに空間的局所性がある場合、キャッシュ20のサイズ(ブロックサイズ)を大とすれば、ヒット率の向上が期待されるが、図3に示すかぎり、このような傾向は認められない。すなわち、空間的局所性を欠いていることがわかる。また、特性a、b、cの変動の態様からも、時間的局所性(一度参照されたデータの近くのデータがすぐに参照される)を欠いていることもわかる。なお、図3において、特性a,b,cの命令ミス率が、ボトム値からピーク値への遷移を開始する時点は、図7のCPU11が、コンテクスト・スイッチング等により、それまで実行していたプロセス(タスク)から新しいプロセス(タスク)に切替え、新しいプロセス(タスク)の実行を開始した時点に対応する。この場合、キャッシュ20(図7参照)内には、切替先のプロセス(タスク)の命令群が存在しない可能性が高くなり、命令ミス率は、急激に増大しピークに達する。その後、当該プロセス(タスク)の処理が進むと、キャッシュ20(図7参照)は、命令ミス発生によりROM13(図7参照)から読み出された当該プロセス(タスク)に関連する命令群による入れ替えが進むため、命令ミス率は低下していく。図3の矢印で示す周期は、実行プログラムの周期(種別)に対応している。
本発明は、このような制御系プログラムに固有のキャッシュ性能特性(時間・空間的局所性を欠く場合がある)に関する知見に基づき、創案されたものであり、CPUで実行されるプログラムの実行特性に対応してキャッシュ制御の態様を可変に制御する構成としたものである。以下、実施の形態に即して詳述する。
図1は、本発明の一実施の形態の構成を示す図である。図1を参照すると、LSI10は、CPU1とROM13との間にキャッシュ20を備え、さらに、CPU1から出力されるプロセスID(「PID」とも略記される)に対応してキャッシュの使用/非使用の制御を行うキャッシュ制御回路21を備えている。さらに、本発明の一実施の形態において、キャッシュ制御回路21は、キャッシュの使用/非使用の切替制御を行うだけでなく、キャッシュ使用の場合には、プロセスID毎に、キャッシュのリプレース許可・非許可の制御も行う。
最悪実行時間の見債もり容易化のために、制御系プログラムにおいては、
(A)最悪実行時間の保証が必須であるプログラム(プロセス又はタスク)と、
(B)実行時間の保証の必要がないプログラム(プロセス又はタスク)と、
に分割されることは、一般に知られている。
また、上記(A)の「最悪実行時間の保証が必須であるプログラム」は、
(A1)常に実行時間が一定である保証、
(A2)ある時間以内に実行される保証、
の2通りが存在する。
本実施の形態において、上記(A1)の「常に実行時間が一定である保証」が必要なプログラム(プロセス)に対しては、キャッシュを使用しない。すなわち、この場合、キャッシュ制御回路21は、CPU1が、キャッシュ20を介さず、直接、ROM13にアクセスしROM13からのデータを読み込むように制御する。この場合、図1の構成は、図5に示した構成と等価となり、一定の性能が保証される。
上記(A2)の「ある時間以内に実行される保証」が必要なプログラム(プロセス)に対して、キャッシュ制御回路21は、キャッシュ20の入れ替え(リプレース)を伴うキャッシュアクセスを許可する。
上記(B)の「実行時間の保証が必要ない」プログラムに対しては、キャッシュ制御回路21は、キャッシュ20のアクセスのみを許可し、キャッシュ20の入れ替え(リプレース)を許可しない。
本実施の形態によれば、かかる制御を行うことで、制御系プログラムについて、最悪実行時間の見積もりを容易化している。
ところで、キャッシュ・システムが「期待した効果」を得られない原因は、プログラム全体の動作空間(アドレス空間)に対して、キャッシュのサイズが小さいことがあげられる。キャッシュのサイズが小さいため、キャッシュ内でのスラッシングが発生し、時間的局所性、空間的局所性が損なわれる。
上記のように、本実施の形態によれば、キャッシュ制御回路21が、キャッシュ20に対して、CPU1で実行されるプロセスに応じた制御を行うことで、プログラムの実行特性に適ったキャッシュ制御を実現している。このため、命令ミスによるキャッシュのリプレース(メモリから読み出したブロックによるキャッシュの内容の入れ替え)を期待するプログラムの総量を減らすことが可能となる。すなわち、個々のプロセスの実行特性に応じて、あるプロセスに対して、例えばキャッシュ使用可且つキャッシュ・リプレースを不許可とし、別のプロセスに対してはキャッシュを非使用とし、特定のプロセスに対してはその命令コードの多くがキャッシュ内に常駐するように設定することが可能となり、ミスヒットによるキャッシュのリプレースの総量を減少させることができる。キャッシュのリプレース回数を低減することは、プログラム全体の動作空間に対するキャッシュのサイズの比を向上させることと等価となり、キャッシュ使用時の平均性能の向上を可能としている。以下実施例に即して説明する。
図2は、本発明の一実施例の構成を示す図である。図2を参照すると、本実施例は、CPU1と、例えばフラッシュメモリよりなるROM13との間に、タグコントロール部201とデータ部202とを備え、さらに、キャッシュ・コントロール部211と、キャッシュ・コントロール部211からの制御信号を受け、ROM13からの読み出されたデータ(命令)とデータ部202からのデータ(命令)のいずれかを選択してCPU1に出力するセレクタ213を備えている。タグコントロール部201とデータ部202は、図1のキャッシュ20を構成し、キャッシュ・コントロール部211とセレクタ213は、図1のキャッシュ制御回路21に対応している。
タグコントロール部201は、タグアドレスを格納する複数のエントリ(不図示)を有し、CPU1からのアドレス信号のタグアドレス(MSB(最上位ビット)を含む上位ビットフィールドの所定のビット数)と、該アドレス信号のインデックス(タグアドレスよりも下位の所定のビットフィールド)で参照されるエントリのタグアドレスとが一致するか否か比較判定する比較器(不図示)を備えた公知の構成とされ、図示されない比較器は、一致のときは、キャッシュヒットと判定し、不一致のときは、ミスと判定する。データ部202は、タグアドレスを格納する複数のエントリに対応して、複数のブロックを有し、各ブロックには、複数バイトのデータが格納される公知の構成とされる。キャッシュヒット時、該ブロックは、アドレス信号のインデックスでアクセスされ、該当するデータは、アドレス信号のLSB(最下位ビット)を含む下位ビットで選択されて出力される。なお、キャッシュは、複数ウェイのセットアソシアティブ構成としてもよいことは勿論である。なお、複数ウェイのセットアソシアティブ構成の場合、キャッシュのリプレース(ブロックの入れ替え)は、LRU(Least Recently Used)又はランダム選択等に基づき入れ替え対象のブロックが選択される。
キャッシュ・コントロール部211は、プロセスIDと設定情報(config)との対応を、テーブル形式で記憶保持する記憶部212を有する。記憶部212は、CPU1から出力されるプロセスIDを入力し、該プロセスIDに対応した設定情報を出力する。キャッシュ・コントロール部211は、記憶部212からの設定情報の内容に対応した制御信号を、タグコントロール部201とセレクタ213に出力する。キャッシュ・コントロール部211は、記憶部212に記憶されるプロセスIDと設定情報(config)の対応は、例えばブート時(パワーアップ時、リセット時)等にCPU1から設定される。あるいは、CPU1が、記憶部212におけるプロセスIDと設定情報(config)の対応を、適宜可変に設定する構成としてもよいことは勿論である。
CPU1からのプロセスIDに対応する設定情報の内容が、キャッシュ非使用である場合、キャッシュ・コントロール部211からの制御のもと、タグコントロール部201では、キャッシュヒットの判定は行わず、CPU1からのアドレス信号をROM13にそのまま供給し、また、セレクタ213は、ROM13からの読み出しデータ(命令)を選択して、CPU1に出力する。
CPU1からのプロセスIDに対応する設定情報の内容が、キャッシュ使用であるが、リプレース非許可である場合には、キャッシュ・コントロール部211からの制御のもと、ミス時に、ROM13からの読み出しデータ(命令)によるデータ部202のデータの入れ替えは禁止される。すなわち、キャッシュヒット時には、データ部202からのデータ(命令)がセレクタ213を介してCPU1に供給され、ミス時に、ROM13からの読み出しデータ(命令)が、CPU1に供給され、データ部202では、ROM13からの読み出しデータ(命令)による入れ替えは行わない。
一方、CPU1からのプロセスIDに対応する設定情報の内容が、キャッシュ使用であり、且つリプレース許可である場合に、キャッシュ・コントロール部211からの制御のもと、キャッシュヒット時には、データ部202からのデータがセレクタ213を介してCPU1に供給され、ミス時には、ROM13からの読み出しデータ(命令)がCPU1に供給され、データ部202では、ROM13からの読み出しデータ(命令)による入れ替えが行われる。
CPU1は、実行するプログラムの管理単位をなすプロセスごとに、ユニークなID(プロセスID)を設定する。プロセスは、CPU1上で実行されるOS(オペレーティングシステム)が管理する。図2において、102は、CPUコア101で実行されるプロセスIDを保持するレジスタである。
本実施例では、プロセスIDごとに、
・キャッシュアクセスの許可・非許可
・キャッシュリプレースの許可・非許可
を独立に設定することができる。
本実施例において、CPU1においてプログラムの実行時に、OS(オペレーティングシステム)により設定されるプロセスIDから、キャッシュの設定情報を連想し、キャッシュ・コントロール部211に通知する。図2に示す例では、キャッシュ・コントロール部211では、CPU1からのプロセスID(PID)がPID_0の場合、記憶部212から設定情報config_1を出力し、CPU1からのプロセスID(PID)がPID_1の場合、記憶部212から設定情報config_2を出力する。
キャッシュ・コントロール部211は、記憶部212から出力される設定情報により、
(A)キャッシュアクセス許可、且つ、キャッシュリプレース許可
(B)キャッシュアクセス許可、且つ、キャッシュリプレース非許可
(C)キャッシュアクセス非許可
の3通りの制御動作を実現する。
常に実行時間が一定であることが必要なプログラムは、
上記(C)の方式で、キャッシュのアクセスを非許可とした状態で、プログラムを実行する。
最悪値以内の命令実行が必要なプログラムは、上記(A)の方式でキャッシュをアクセスし、プログラムを実行する。
それ以外のプログラムは、上記(B)の方式でキャッシュをアクセスし、プログラムを実行する。
本実施例において、上記(A)乃至(C)の選択は、CPU1で稼動するオペレーティングシステム(OS)が管理する「実行プログラムのプロパティ」に関連付けて設定され、プログラムが配置されるアドレスには、依存しない。
このように、本実施例によれば、各プログラム(プロセス)の実行特質に合わせ、上記(A)乃至(C)を選択し、キャッシュの制御を、プロセス単位に切り替えて、プログラムを実行することができる。かかる構成により、
・最大実行時間の保証が必要なプログラムには、最大実行時間の保証が可能な状態での実行を可能としており、
・平均処理時間が重要なプログラムには、キャッシュの効果が最大限に発揮される状態での実行を可能としている。
また、本実施例によれば、平均処理時間が重要なプログラムのみを、全体のプログラムから切り分けて実行することにより、ROM13と比較して、少ない容量のキャッシュメモリを用いた場合における、性能低下を抑えることが可能である。
さらに、本実施例によれば、OS(オペレーティングシステム)が管理する実行プログラムのプロパティ情報と、キャッシュの使用許可・非許可を連携させて設定することが可能となる。このため、プログラムの配置位置、それぞれのプログラムの内容等を何等変更することなく、各プログラムの実行特質に合わせた、システム構成でのプログラム実行を可能としている。
さらにまた、本実施例においては、キャッシュの使用と非使用の2通りのモード設定だけでなく、キャッシュ・リプレースのみ禁止する使用モードをプロセスごとに設定できるため、キャッシュにすでに格納されている内容を有効に活用することができる。
図4は、本発明のキャッシュ制御方法の一実施例の動作手順を説明するための流れ図である。図2及び図4を参照して、本実施例の手順を説明する。
ステップS1において、CPU1から、キャッシュ・コントロール部211の記憶部212に、プロセスIDと設定情報との対応が設定される。
ステップS2において、CPU1は、CPU1で実行されるプロセスのプロセスIDを、キャッシュ・コントロール部211に出力する。
次のステップS3において、キャッシュ・コントロール部211は、CPU1から供給されたプロセスIDを受け取り、記憶部212から、プロセスIDに対応する設定情報を取得する。
次のステップS4において、キャッシュ・コントロール部211は、取得した設定情報に基づき、CPU1で実行されるプロセス毎に、そのプロセスIDに応じたキャッシュ制御(キャッシュ非使用、キャッシュ使用且つリプレース許可、キャッシュ使用且つリプレース非許可)を行う。
<比較例1>
次に、本発明の比較例として、キャッシュ制御の選択をプロセスIDで制御する代わりに、アクセスする領域(アドレス)ごとに設定する構成とした場合について検討してみる。かかる構成においては、アドレスで切り分けされている領域ごとに、キャッシュ許可・キャッシュ非許可が設定可能であり、キャッシュ許可と指定されているアドレスに配置されているプログラムは、キャッシュを使用して動作し、キャッシュ非許可と指定されているアドレスに配置されているプログラムは、キャッシュを使用せず動作する。しかしながら、この場合、キャッシュの動作許可・非許可は、配置されているメモリアドレスごとでしか制御することができないため、近傍に配置されているプログラムに対して、キャッシュの許可・非許可を細やかに制御することはできない。例えば言語Cのランタイムルーチン中、あるプログラムから使用される部分のみキャッシュ対象とし、それ以外のランタイムルーチンはキャッシュ内部に格納されないように制御する。またある割り込み処理ルーチンは、キャッシュ対象とし、別の割り込み処理はキャッシュ対象としないように設定する。しかしながら、システム立ち上げ時において、プログラムごとのキャッシュ使用・非使用の変更は容易ではなく、システムとして最適なキャッシュ使用方法の検討が不可能である。
<比較例2>
さらに、本発明の他の比較例として、プログラム中にて許可・非許可を明示的に切り替える構成とした場合について検討してみる。プログラム中にて明示的にキャッシュ許可を指定した時点からキャッシュを使用して動作し、プログラム中にて明示的にキャッシュ非許可を指定した時点からキャッシュを使用せず動作するが、以下の問題点がある。すなわち、
(I)プログラム中にて許可・非許可を切り替える必要がある。
(II)切り替える前の状態は、以前に実行したプログラムの設定に依存するため、制御性が悪い。
(III)実行されるプログラムの順序を、OS(オペレーティングシステム)が制御するシステムにおいては、キャッシュの制御は、OSのみが管理し、実行プログラム内部で変更する手段を提供していない。
このように、上記比較例1、2のいずれの方式においても、キャッシュ許可時には、キャッシュの恩恵に与ることが可能とされているが、キャッシュ非許可時には、たとえキャッシュ内に目的とするデータが格納されている場合であっても、該目的とするデータにアクセスすることができず、メモリから、データを読み出す必要が生じる。
キャッシュシステムに対して、CPUから与えられる情報は、アクセスアドレスのみしかなく、キャッシュ自身は、アクセスアドレス情報からしか、キャッシュ制御方式を変更することができない。OS(オペレーティングシステム)が実装されるシステムにおいて、プログラムの実行順序、実行状態は、OSがプログラムごとに管理するものであるが、OSが管理する情報から、キャッシュを制御する手段が存在しない。
<本発明>
上記比較例1、2と相違して、本実施例によれば、前述したように、各プログラムの実行特質に合わせ、
(A)キャッシュアクセス許可、且つ、キャッシュリプレース許可
(B)キャッシュアクセス許可、且つ、キャッシュリプレース非許可
(C)キャッシュアクセス非許可
を選択してキャッシュ制御を切替実行し、
・最大実行時間保証が必要なプログラムには、最大実行時間保証が可能な状態での実行を可能とし、また、
・平均処理時間が重要なプログラムには、キャッシュの効果が最大限に発揮される状態での実行を可能としている。
さらに、本実施例によれば、OS(オペレーティングシステム)が管理する実行プログラムのプロパティ情報と、キャッシュの使用許可・非許可を設定することを可能としている。このため、本実施例によれば、プログラムの配置位置、それぞれのプログラムの内容等を何等変更することなく、各プログラムの実行特質に合わせた、システム構成でのプログラム実行を可能としている。
以上、本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
例えば上記実施例では、RAM、ROM、キャッシュをLSIと同一チップ上に搭載した例について説明したが、RAM、ROMを外付けとしてもよいことは勿論である。また、上記実施例では、プロセスIDに応じてキャッシュ制御を行う例に即して説明したが、リアルタイムモニタ等において、タスクを実行単位として管理するシステム構成の場合、タスクIDに応じてキャッシュ制御を行うようにしてもよいことは勿論である。さらに、本発明は、制御向けの専用コントローラにその適用が限定されるものでなく、任意の演算制御装置等に適用してもよいことは勿論である。
本発明の一実施の形態の構成を示す図である。 本発明の一実施例の構成を示す図である。 キャッシュサイズと、命令ミス率の変動特性をを示す図である。 本発明の一実施例の処理手順を示す流れ図である。 従来の構成の一例を示す図である。 従来の構成の一例を示す図である。 従来の構成の一例を示す図である。 従来の構成におけるキャッシュヒット率と性能の特性の解析結果を示す図である。
符号の説明
1、11、11A CPU
10、10A、10B、10C LSI(コントローラ)
12 RAM
12E RAMデバイス
13 ROM
13E ROMデバイス
14 メモリコントローラ
15 命令キャッシュ
16 データキャッシュ
20 キャッシュ
21 キャッシュ制御回路
101 CPUコア
102 PIDレジスタ
201 タグコントロール部
202 データ部
211 キャッシュ・コントロール部
212 記憶部(変換テーブル)
213 セレクタ

Claims (17)

  1. プロセスの識別情報(「プロセスID」という)と、キャッシュのアクセス態様を規定する設定情報との対応を少なくとも1つ記憶する記憶部と、
    CPUから供給されるプロセスIDを受け取り、前記プロセスIDに対応した設定情報を、前記記憶部から取得し、前記設定情報に基づき、前記CPUで実行されるプロセスに応じて、前記キャッシュのアクセス態様を可変に制御する回路と、
    を含む、ことを特徴とするキャッシュ制御装置。
  2. 前記プロセスの実行特性に応じて、前記キャッシュのアクセス態様を可変に制御する、ことを特徴とする請求項1に記載のキャッシュ制御装置。
  3. 前記記憶部が、前記プロセスIDと前記設定情報との対応として、
    プロセスIDとキャッシュの非使用、
    プロセスIDとキャッシュの使用、及びキャッシュのリプレース許可、
    プロセスIDとキャッシュの使用、及びキャッシュのリプレース非許可、
    の内の少なくとも一つの対応を記憶しており、
    前記CPUから前記プロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、前記CPUで実行されるプロセスに対応させて、前記キャッシュの使用と非使用の制御、及び/又は、キャッシュのリプレース許可と非許可の制御を行う、ことを特徴とする請求項1に記載のキャッシュ制御装置。
  4. プロセスの識別情報(「プロセスID」という)と、キャッシュの使用/非使用との対応を規定する設定情報を少なくとも1つ記憶する記憶部を備え、
    CPUからプロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、プロセス毎に、キャッシュの使用と非使用の制御を行う、ことを特徴とするキャッシュ制御装置。
  5. プロセスの識別情報(「プロセスID」という)と、キャッシュのリプレース許可/非許可との対応を規定する設定情報を少なくとも1つ記憶する記憶部を備え、
    CPUからプロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、プロセス毎に、キャッシュのリプレース許可と非許可の制御を行う、ことを特徴とするキャッシュ制御装置。
  6. プロセスの識別情報(「プロセスID」という)と、
    キャッシュ非使用、
    キャッシュ使用、及びキャッシュのリプレース許可、
    キャッシュ使用、及びキャッシュのリプレース非許可、
    の内のいずれの制御を行うかの対応を規定する設定情報を少なくとも1つ記憶する記憶部を備え、
    前記CPUからプロセスIDを受け取り、前記プロセスIDに対応した設定情報を、前記記憶部から取得し、前記設定情報に基づき、プロセス毎に、キャッシュの使用と非使用、キャッシュのリプレース許可と非許可の制御を行う、ことを特徴とするキャッシュ制御装置。
  7. 前記プロセスIDと前記設定情報との対応は、前記CPU上で稼動するオペレーティングシステムが管理する実行プログラムの特性に関連付けて設定される、ことを特徴とする請求項1乃至6のいずれか一に記載のキャッシュ制御装置。
  8. CPUと、
    キャッシュと、
    キャッシュ制御装置と、
    を含み、
    前記キャッシュ制御装置が、請求項1乃至7のいずれか一に記載のキャッシュ制御装置よりなる、ことを特徴とするコントローラ装置。
  9. データ及び/又は命令を格納した記憶装置が、前記コントローラ装置内部に配設されるか、又は前記コントローラ装置外部に配設される、ことを特徴とする請求項8に記載のコントローラ装置。
  10. 前記プロセスIDに対応する設定情報が、キャッシュ非使用である場合に、前記CPUからの読み出しアクセスに対して、前記キャッシュはアクセスされず、前記記憶装置から読み出された内容が、前記CPUに送られる、ことを特徴とする請求項9に記載のコントローラ装置。
  11. 前記プロセスIDに対応する設定情報が、キャッシュ使用及びキャッシュのリプレース許可である場合に、前記CPUからの読み出しアクセスに対して、キャッシュヒットのときは、前記キャッシュから読み出された内容が前記CPUに送られ、一方、ミスの場合には、前記記憶装置から読み出された内容が、前記CPUに送られるとともに、前記記憶装置から読み出された内容による前記キャッシュの入れ替えが行われる、ことを特徴とする請求項9に記載のコントローラ装置。
  12. 前記プロセスIDに対応する設定情報が、キャッシュ使用及びキャッシュのリプレース非許可である場合に、前記CPUからの読み出しアクセスに対して、キャッシュヒットのときは、前記キャッシュから読み出された内容が前記CPUに送られ、一方、ミスの場合には、前記記憶装置から読み出された内容が、前記CPUに送られ、前記記憶装置から読み出された内容による前記キャッシュの入れ替えは行われない、ことを特徴とする請求項9に記載のコントローラ装置。
  13. 前記記憶装置は、前記CPUで実行される命令群を少なくとも格納した不揮発性のメモリよりなり、
    前記キャッシュには、前記CPUで実行される命令が格納される、ことを特徴とする請求項9に記載のコントローラ装置。
  14. CPUが、前記CPUで実行するプロセスの識別情報(「プロセスID」という)をキャッシュ制御装置に供給する工程と、
    前記キャッシュ制御装置が、前記CPUからのプロセスIDを受け取り、プロセスIDとキャッシュのアクセス態様を規定する設定情報との対応を少なくとも1つ記憶する記憶部を参照して、前記プロセスIDに対応した設定情報を取得する工程と、
    前記キャッシュ制御装置が、前記設定情報に基づき、前記プロセスに応じて、前記キャッシュのアクセス態様を可変に制御する工程と、
    を含む、ことを特徴とするキャッシュ制御方法。
  15. 前記プロセスの実行特性に応じて、前記キャッシュのアクセス態様を可変に制御する、ことを特徴とする請求項14に記載のキャッシュ制御方法。
  16. 前記記憶部が、前記プロセスIDと前記設定情報の対応として、
    プロセスIDとキャッシュの非使用、
    プロセスIDとキャッシュの使用、及びキャッシュのリプレース許可、
    プロセスIDとキャッシュの使用、及びキャッシュのリプレース非許可、
    の内の少なくとも一つの対応を記憶し、
    前記CPUから前記プロセスIDを受け取り、前記プロセスIDに対応した設定情報を前記記憶部から取得し、前記設定情報に基づき、前記CPUで実行されるプロセスに対応させて、前記キャッシュの使用と非使用の制御、及び/又は、キャッシュのリプレース許可と非許可の制御を行う、ことを特徴とする請求項14に記載のキャッシュ制御方法。
  17. 前記プロセスIDと前記設定情報との対応は、前記CPU上で稼動するオペレーティングシステムが管理する実行プログラムの特性に関連付けて設定される、ことを特徴とする請求項14に記載のキャッシュ制御方法。
JP2004209039A 2004-07-15 2004-07-15 キャッシュ制御装置と方法並びにコントローラ装置 Withdrawn JP2006031386A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004209039A JP2006031386A (ja) 2004-07-15 2004-07-15 キャッシュ制御装置と方法並びにコントローラ装置
US11/175,446 US20060015685A1 (en) 2004-07-15 2005-07-07 Cache controller, cache control method, and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004209039A JP2006031386A (ja) 2004-07-15 2004-07-15 キャッシュ制御装置と方法並びにコントローラ装置

Publications (1)

Publication Number Publication Date
JP2006031386A true JP2006031386A (ja) 2006-02-02

Family

ID=35600797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004209039A Withdrawn JP2006031386A (ja) 2004-07-15 2004-07-15 キャッシュ制御装置と方法並びにコントローラ装置

Country Status (2)

Country Link
US (1) US20060015685A1 (ja)
JP (1) JP2006031386A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612685B2 (en) 2007-10-11 2013-12-17 Nec Corporation Processor, information processing device and cache control method of processor
JP2015141430A (ja) * 2014-01-27 2015-08-03 京セラドキュメントソリューションズ株式会社 情報処理装置および情報処理方法
WO2019026252A1 (ja) * 2017-08-03 2019-02-07 株式会社日立製作所 計算機システム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008057557A2 (en) * 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US20150205724A1 (en) * 2014-01-20 2015-07-23 Honeywell International Inc. System and method of cache partitioning for processors with limited cached memory pools
KR102259868B1 (ko) * 2015-12-17 2021-06-01 에스케이텔레콤 주식회사 메모리제어장치 및 메모리제어장치의 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE109910T1 (de) * 1988-01-20 1994-08-15 Advanced Micro Devices Inc Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen.
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
EP1182567B1 (en) * 2000-08-21 2012-03-07 Texas Instruments France Software controlled cache configuration

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612685B2 (en) 2007-10-11 2013-12-17 Nec Corporation Processor, information processing device and cache control method of processor
JP2015141430A (ja) * 2014-01-27 2015-08-03 京セラドキュメントソリューションズ株式会社 情報処理装置および情報処理方法
WO2019026252A1 (ja) * 2017-08-03 2019-02-07 株式会社日立製作所 計算機システム

Also Published As

Publication number Publication date
US20060015685A1 (en) 2006-01-19

Similar Documents

Publication Publication Date Title
US8250332B2 (en) Partitioned replacement for cache memory
US10776022B2 (en) Combined transparent/non-transparent cache
US8589629B2 (en) Method for way allocation and way locking in a cache
US8392658B2 (en) Cache implementing multiple replacement policies
US8443144B2 (en) Storage device reducing a memory management load and computing system using the storage device
JP5528554B2 (ja) ブロックベースの非透過的キャッシュ
US7913041B2 (en) Cache reconfiguration based on analyzing one or more characteristics of run-time performance data or software hint
JP5313168B2 (ja) プロセッサにおいてキャッシュポリシーを設定するための方法および装置
JP5030796B2 (ja) データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
US8266385B2 (en) Technique and apparatus for identifying cache segments for caching data to be written to main memory
WO2010035425A1 (ja) キャッシュメモリ、メモリシステム及びその制御方法
US20110167224A1 (en) Cache memory, memory system, data copying method, and data rewriting method
JP3605205B2 (ja) データ処理装置および処理方法
US20080052467A1 (en) System for restricted cache access during information transfers and method thereof
US20060015685A1 (en) Cache controller, cache control method, and controller
JP4009306B2 (ja) キャッシュメモリおよびその制御方法
JP2009271606A (ja) 情報処理装置およびコンパイル方法
US9262325B1 (en) Heterogeneous memory system
JP2006185284A (ja) データ処理装置
US9043557B1 (en) Heterogeneous memory system
JP2011141754A (ja) キャッシュメモリ
JP2006285727A (ja) キャッシュメモリ装置
JP4008946B2 (ja) キャッシュメモリ及びその制御方法
JPH10293684A (ja) コンピュータシステムおよびその立ち上げ制御方法
JP2000194602A (ja) 情報処理装置、マイクロプロセッサ及び外部キャッシュメモリの制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002