JPH07271674A - キャッシュ最適化の方法 - Google Patents

キャッシュ最適化の方法

Info

Publication number
JPH07271674A
JPH07271674A JP7054060A JP5406095A JPH07271674A JP H07271674 A JPH07271674 A JP H07271674A JP 7054060 A JP7054060 A JP 7054060A JP 5406095 A JP5406095 A JP 5406095A JP H07271674 A JPH07271674 A JP H07271674A
Authority
JP
Japan
Prior art keywords
cache
memory
processor
cache memory
working set
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
JP7054060A
Other languages
English (en)
Inventor
John Hubert Waters
ヒューバート ウォーターズ ジョン
Hiram Benjamin Curry Jr
ベンジャミン カリー ジュニア. ハイラム
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.)
NCR International Inc
NCR Voyix Corp
Original Assignee
AT&T Global Information Solutions Co
AT&T Global Information Solutions International 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 AT&T Global Information Solutions Co, AT&T Global Information Solutions International Inc filed Critical AT&T Global Information Solutions Co
Publication of JPH07271674A publication Critical patent/JPH07271674A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • G06F8/4442Reducing the number of cache misses; Data prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 キャッシュ最適化方法の提供。 【構成】 キャッシュ写像計画を分析しキャッシュの衝
突を取り除くキャッシュ最適化方法。第1の実施例で
は、プロセッサ12により主ワーキングセット実行中に
アプリケーションを追跡しワーキングセット内の対象に
たいするキャッシュアクセス統計を分析しキャッシュメ
モリー14に衝突する作動中のメモリーのラインを明ら
かにする衝突情報を取得する。アドレスをキャッシュミ
スシステム予知アルゴリズムで対象に割当てる。キャッ
シュメモリー14が小さく、ワーキングセット内の全て
の対象を記憶出来ないときは、ワーキングセットよりは
少ない数の対象を包含する複数のワーキングサブセット
に分割する。最後に、プロセッサ12によりシステムコ
ールを実行しキャッシュ写像計画を実行する。第2の実
施例では、キャッシュミス予知アルゴリズムでアプリケ
ーション内の機能の再配置を判断し、再配置に基づいて
連係編集する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータのキャッ
シュメモリーに関し、さらに詳細には、キャッシュ最適
化方法に関する。
【0002】
【従来の技術】コンピュータは、命令やデータをたびた
び使用し、これらをキャッシュメモリー内にコピーし保
持させるためものである。動作中のアプリケーションが
作動中のメモリーラインにアクセスを実行するとき、そ
のラインはキャッシュメモリーのスロットに写像され、
コピーされる。どのキャッシュメモリーのスロットを使
用すべきかの選択は通常、メモリーラインの物理的アド
レス機能となっている。コンピュータは、コンピュータ
のランダムアクセスメモリー(RAM)またはバーチャ
ルメモリーの代わりに、キャッシュメモリーから必要な
ラインにアクセスするとき、性能上の優れた利点を発揮
する。
【0003】コンピュータのRAMは常にキャッシュメ
モリーよりは大きいので、多くのメモリーラインを、同
じキャッシュメモリーのスロットに写像する必要がる。
キャッシュメモリーが、アクセスされるメモリーライン
を備えていないときは、衝突が発生し、他のラインがそ
のスロットから外されて、新しいラインのための余地を
設けるようになる。この衝突が発生すると、コンピュー
タはそのキャッシュメモリーの充分な性能レベルを実現
することができない。
【0004】
【発明が解決しようとする問題】キャッシュメモリー
が、充分な容量をもっていて頻繁にアクセスされるメモ
リーラインを保持できる場合にも、キャッシュメモリー
よりも大きなアプリケーションはそれ自身がキャッシュ
メモリー内で衝突を起こすというリスクというリスクを
有している。そのリスクは、アプリケーションが実際の
物理的なアドレスを知識から絶縁されていたとしてもし
て、バーチャルメモリーを使用するコンピュータにとっ
ては、大きなリスクとなる。また、マルチタスキングの
環境ではさらに大きなリスクが存在する、それはキャッ
シュメモリーにたいする要求がさらに大きなものとなる
からである。
【0005】この衝突については、アプリケーションの
ワーキングセット(実行ページセット)のランダム分布
が得られる層状ソフトウェア現像技術にとって、今日で
は極めて大きな問題となっている。アプリケーション
「ワーキングセット」とは、タスクを行なうのに必要な
命令のサブセットであると定義される。層状ソフトウェ
アの現像は、ソフトウェアの層を配置し、一群の現像剤
を各層に割り当てることにより大きなソフトウェア現像
のタスクを簡潔化する。標準プログラミング技術は連続
アドレスの連係コードを与えられた層に割り当てる。こ
のような方法で現像したアプリケーションプログラムは
層から層にわたって実行される。
【0006】バーチャルメモリーを有するコンピュータ
上で実行される大型層状アプリケーションプログラム
は、不規則にキャッシュメモリーにワーキングセットを
写像する。しかし、簡単な統計分析によると、不規則な
写像はキャッシュメモリーの最適な利用を実現すること
はできないとされている。たとえば、ワーキングセット
のサイズがキャッシュメモリーのサイズと等しいと、不
規則写像は、平均して、キャッシュメモリーの63パー
セントしか利用することができない。キャッシュメモリ
ーが充分な容量をもっておりワーキングセット全体を保
持できたとしても、そのキャッシュメモリーの平均37
パーセントは完全にに利用不能である。よって、コード
ループのラインスラッシングという大きなリスクである
衝突を発生する。
【0007】したがって、衝突を最小にとどめ、存在す
るキャッシュの制御方法において性能上の利点が得られ
るキャッシュ最適化方法を提供することが望まれてい
る。
【0008】
【問題を解決するための手段】本発明は、キャッシュメ
モリー最適化方法を提供するものである。第1の実施例
において、プロセッサにより主ワーキングセットにおい
て実行中の間にアプリケーションを追跡し第1キャッシ
ュ計画のもとに上記ワーキングセット内の対象にたいす
るキャッシュアクセス統計を取得する。上記キャッシュ
アクセス統計を分析しキャッシュメモリーに衝突する作
動中のメモリーのラインを明らかにする衝突情報を取得
する。アドレスをキャッシュミスシステム予知アルゴリ
ズムを使用して対象に割当てる。キャッシュメモリーが
小さく、そのためにワーキングセット内の全ての対象を
記憶することが出来ないときは、そのワーキングセット
は、そのワーキングセットよりは少ない数の対象を包含
する複数のワーキングサブセットに分割する。最後に、
上記プロセッサによりシステムコールを実行し第2のキ
ャッシュ写像計画を実行する。
【0009】第2の実施例において、プロセッサにより
ワーキングセットにおいて実行中の間にアプリケーショ
ンを追跡し第1キャッシュ計画のもとに上記ワーキング
セット内の対象にたいするキャッシュアクセス統計を獲
得する。上記キャッシュアクセス統計を分析しキャッシ
ュメモリーに衝突する作動中のメモリーのラインを明ら
かにする衝突情報を獲得する。キャッシュミス予知アル
ゴリズムを使用し、定められた再配置に基づいて機能を
連係編集するアプリケーション内の機能再配置を判断す
ることにより、第2写像計画を決定する。最後に、上記
プロセッサによりシステムコールを実行し第2のキャッ
シュ写像計画を実行する。
【0010】本発明の目的は、キャッシュ最適化方法を
提供することにある。
【0011】本発明の他の目的は、プログラムの実行を
分析し、バーチャルページのキャッシュ収集への最適写
像を実行するキャッシュ最適化方法を提供する。
【0012】本発明のさらに他の目的は、プログラムの
実行を分析し、プログラム機能にたいする最適な順位を
判断し、上記プログラム機能を上記最適順位に再連係さ
せるキャッシュ最適化方法を提供する。
【0013】本発明の利益および長所は以下に続く最適
実施例と本明細書付属の請求の範囲の記述および添付図
面から本発明の属する技術分野において熟練する当業者
にたいして明らかとなるであろう。
【0014】
【実施例】図1において、コンピュータ10は、プロセ
ッサ12と、キャッシュメモリー14と、ランダムアク
セスメモリー(RAM)16と、固定ディスクトライブ
18とシステムバス20とから構成される。
【0015】プロセッサ12は、インテルプロセッサが
好ましい、しかし他の型のプロセッサも又考えられる。
【0016】キャッシュメモリー14は少なくとも第1
レベルキャッシュメモリー22を備える。それは又一般
に第2レベルキャッシュメモリー24も備えている。コ
ンピュータによっては、それはさらに第3レベルのキャ
ッシュメモリー26をも備えている。インテル386お
よび高位プロセッサにたいしては、第1レベルキャッシ
ュメモリー22はプロセッサ回路内に設けられている。
キャッシュメモリー14は通常、スタティックRAM
(SRAM)チップまたはファースト(fast)ダイ
ナミックRAM(DRAM)チップを備えている。
【0017】RAM16はコンピュータ10の主メモリ
ーであり、通常低廉なDRAMチップである。プロセッ
サ12はアプリケーションプログラムおよびデータを主
メモリーのラインに載荷し、そこから、プロセッサ12
はこれらのラインにアクセスし、それらをキャッシュメ
モリー14に記憶する。
【0018】固定ディスク18は通常、アプリケーショ
ンプログラムおよびデータが記憶されるハードディスク
およびその関連のドライブである。固定ディスク18の
一部分は又、バーチャルメモリー28として使用され
る。
【0019】サ12を固定ディスク18およびRAM1
6に接続する。
【0020】図2および図3について、本発明にかかる
方法は、アプリケーションプログラムを実行しつつある
プロセッサ12のキャッシュメモリー14をプログラム
として利用する方法を分析する。これにより、プログラ
ムの各部を、キャッシュメモリーのスペース制限の問題
が最小となる物理的メモリー内の位置に移動させて、キ
ャッシュメモリー14のプログラム利用法を改善するこ
とができる。その結果は、キャッシュメモリー14のさ
らに効率的利用が可能となり、ひいては、プログラムコ
ンポーネントへのアクセスタイムを低減し、システムバ
ス20にわたってプロセッサ12とRAM16との間の
通信量を減少させることにより、システムの性能のスピ
ードを向上させる。
【0021】本方法は、アプリケーションプログラムの
実行をスピードアップする2通りの方法を提供する、す
なわち、(1)キャッシュメモリー14に再写像するこ
と、(2)再連係を行なうことである。両実施例は、キ
ャッシュメモリー14へアプリケーションテキストを写
像する方法を変化させ、また、両実施例については、そ
れらの最適化がアプリケーション指令のアドレス追跡が
基本となっている。理想的な場合には、両実施れにおい
て、キャッシュメモリー14のサイズと等しいワーキン
グセットにたいしキャッシュメモリー14の平均100
パーセントを利用する写像が行なわれる。
【0022】図2にも基づいて、上記第1実施例は、再
連係することなく最適化を行い、メモリー内容を1組の
物理的メモリーページ(複数)から他の1つに移動させ
ることができる。その方法はスタート30から開始す
る。ステップ32において、ターゲットアプリケーショ
ンは、動作中にあるその主ワーキングセットを実行する
間に追跡が行なわれる。ベンチマーキングおよびデータ
ベースアプリケーションにたいして、これらアプリケー
ションが定常状態にある間に、追跡測定が行なわれる。
【0023】追跡情報は、市場で入手可能なアプリケー
ションデバッガーのような、ハードウェアまたはソフト
ウェア製品を使用して得られる。そのような追跡は、特
定のプロセスにより実行されるユーザスペースのバーチ
ャルテキストアドレスから構成される。これらの各アド
レスは16進の整数のASCII表示で書込され、それ
ぞれ新しいラインキャラクターが付されている。コマン
ドラインオプションによりユーザはスタート、ストッ
プ、および追跡時間の制御を実行することができる。
【0024】ステップ34において、デフォルトまたは
ユーザの特定条件がミートするまで追跡が実行される。
【0025】ステップ36において、追跡情報が分析さ
れる。その分析では、キャッシュメモリー14に衝突す
るアプリケーションテキスト内の領域が明らかにされ
る。アプリケーション対象(機能、ベーシックブロッ
ク、ページ等)を指摘するアドレスのアクセスカウント
が集められる。
【0026】ステップ38において、本方法は、既知の
キャッシュミス予知アルゴリズムを使用して新アドレス
をアプリケーション対象に割り当てる。こうして、これ
らの対象にたいするキャッシュ衝突を最小とするキャッ
シュ写像が生成される。写像はバーチャルメモリーペー
ジの1個を「キャッシュ収集」に持ち込むことである。
キャッシュ収集は、アプリケーションプログラムの1ペ
ージを貯えるキャッシュメモリー14の明確な1区分で
ある。写像は列べられた対のリストとして表わされる、
すなわち、バーチャルページアドレスおよびキャッシュ
収集である。ここで提供された写像は、追跡されるアプ
リケーションが追跡情報により表わされたアプリケーシ
ョンプログラムの一連の制御を繰り返すとき発生する場
合よりも高位の性能を提供する。
【0027】アプリケーションワーキングセットが余り
に大きく、キャッシュメモリー14に適合しないとき、
その方法は、一時的局所性の概念を使用する、すなわ
ち、テンポラルフレームと呼ばれる実行を伴うさらに小
さな一時的に連続するウインドウを生成する。テンポラ
ルフレームは、アプリケーション追跡を、命令の主ワー
キングセットのサブセットに対応する時間ブロックに分
割することにより配設される。充分なテンポラルフレー
ムが設けられると、これらのフレーム内のアプリケーシ
ョン指令の小さなワーキングサブセットがさらに小さく
なり、これにより、指令の各サブセットに関連する対象
がキャッシュメモリー14内に落ちつく。これらフレー
ム内の対象は、既知のキャッシュミス予知アルゴリズム
を使用して写像される。
【0028】ステップ40において、並べられた対のリ
ストにより、そこで、システムコールが実行され、衝突
情報により示唆されたバーチャルページ対キャッシュ収
集の写像を実行する。明確なキャッシュ収集に充分に写
像された各アドレスは、キャッシュ衝突の影響を受ける
ことは絶対にない。
【0029】図3に基づいて、第2の実施例は、再連係
をもって最適化を行い、最適形態に於ける実行可能なフ
ァイルの連係編集を行なう。再連係の実施例は、連係を
含まない実施例と同様な原理を使用するが、その位置す
るメモリー対象のサイズにおけるさらに微細な細分性を
達成する。本方法はstart50において開始され
る。
【0030】ステップ52において、目標アプリケーシ
ョンの追跡は、その作動中の主ワーキングセットの実行
中に行なわれる。
【0031】ステップ54において、デフォルトまたは
ユーザの特定条件が満足されるまで追跡が実行される。
【0032】ステップ56において、追跡情報が分析さ
れる。その分析により、キャッシュメモリー14に衝突
するプログラムテキスト内の領域が明らかに成る。アプ
リケーション対象に指向するアドレスのアクセスカウン
ト(機能、ベーシックブロック、ページ等)が集められ
る。
【0033】ステップ58において、既知のキャッシュ
ミス予知アルゴリズムにより追跡情報が使用され、プロ
グラムの連係編集が機能する順位を決定する。その順位
は最適であって、追跡した実行可能のファイルが追跡情
報により表わされた一連の制御を実行する場合よりもさ
らに効率的にキャッシュメモリー14を利用し得る結果
となる。
【0034】最適化は、バーチャルアドレススペースの
連続ページが連続キャッシュ収集に写像するという仮定
に基づいて実行される。キャッシュ収集が排出された場
合、ラップアラウンドが発生し、バーチャルアドレスス
ペースの次ページがキャッシュ収集ゼロに写像される。
【0035】ステップ60において、本方法はアプリケ
ーションプログラム内の対象モデュールの順位を変更す
る。
【0036】ステップ62において、本方法は、市場に
おいて入手可能なリンカープログラムを利用してステッ
プ58において判断した最適順位に基づいてアプリケー
ションプログラム内の対象モデュールの連係編集を行な
う。本方法は新しい改善された実行可能なファイルを提
供する。一方、アプリケーションプログラムのソースコ
ードが使用されるときは、そのソースコードは編集され
て、最適実施可能ファイルを形成するように順位を決め
連係される対象モデュールを形成する。
【0037】ステップ64において、システムコールが
実行され、新しい実施可能ファイルにたいするバーチャ
ルページ対キャッシュ収集写像を実行する。
【0038】本発明にかかる方法の両実施例には、強化
性能を目標とするハードウェアまたはプログラムに変更
する必要がなく一般的な適用性を有すると言う利益があ
る。追跡されたと同様な一連の制御に従うユーザコード
を実行してそれらの時間の少なくとも55%を使うアプ
リケーションプログラムは、少なくとも10%の性能利
益を示すにすぎない。ページ移動のみを経た場合、性能
上の利益の少なくとも1パーセントを達成するにすぎな
い。
【0039】両実施例はバーチャルメモリー28を貯え
ることができる。システムサポートを作動すると、アプ
リケーション対象を物理的メモリーアドレスに実際に写
像するよう調整することができる。これはコレクション
ベースのフリーリスト(CBF)を経て行なわれる。C
BFを使用して、本方法は、与えられた対象の実際物理
的アドレスが予知不可能であっても、その、キャッシュ
メモリー内の位置は存在するという解釈をもって各バー
チャルアドレスを割り当てることができる。
【0040】CBFにより変形作動システムはフリーメ
モリーページの多重リストを保持している。与えられた
フリーリスト上の各ページはキャッシュメモリー14へ
の共通写像を分けあう。1個のフリーリストは、そのシ
ステム内の最大キャッシュの各キャッシュ収集にたいし
存在する。
【0041】1つのページが1個の特定キャッシュ収集
に入るよう要求されるとき、各フリーページの適切なリ
ストが、その要求に答えるべく使用される。もし適切な
フリーリストが空であると、その要求は不可能である。
正常なページ割当のコースでは(ここでは、特定のキャ
ッシュ写像が定めてない)、フリーページは連続キャッ
シュ収集からそれぞれに対し1個引き出される。1個の
フリーリストが空であると、それは静かにスキップされ
る。
【図面の簡単な説明】
【図1】 キャッシュメモリーを備えたコンピュータの
ブロック図。
【図2】 本発明にかかるキャッシュ最適化方法を示す
第1実施例を説明するフロー図。
【図3】 本発明にかかるキャッシュ最適化方法を示す
第2実施例を説明するフロー図。
【符号の説明】
10 コンピュータ 12 プロセッサ 14 キャッシュメモリー 16 RAM 18 固定ディスクドライブ 20 システムバス 22 第1レベルキャッシュメモリー 24 第2レベルキャッシュメモリー 26 第3レベルキャッシュメモリー 28 バーチャルメモリー CBF コレクションベースフリーリスト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハイラム ベンジャミン カリー ジュニ ア. アメリカ合衆国 サウスカロライナ州 29412 チャールストン、キャットバード リトリート 603

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 作動するメモリーの複数のラインのワー
    キングセットの記憶をプロセッサによりアプリケーショ
    ンの実行中のキャッシュメモリーに最適化を行なうため
    の方法において、 (a)上記プロセッサにより上記ワーキングセットにお
    いて実行中の間に上記アプリケーションを追跡し第1キ
    ャッシュ計画のもとに上記ワーキングセット内の対象に
    たいするキャッシュアクセス統計を含む追跡情報を取得
    し、 (b)上記プロセッサにより上記キャッシュアクセス統
    計を分析しキャッシュメモリーに衝突する作動中のメモ
    リーのラインを明らかにする衝突情報を取得し、 (c)上記プロセッサにより作動中のメモリーのライン
    間の衝突を除く第2のキャッシュ写像計画を判定し、 (c−1)アドレスをキャッシュミスシステム予知アル
    ゴリズムを使用して対象に割当てるサブステップから構
    成し、 (d)上記プロセッサによりシステムコールを実行し上
    記第2のキャッシュ写像計画を実行する各段階から成る
    上記方法。
JP7054060A 1994-03-23 1995-03-14 キャッシュ最適化の方法 Pending JPH07271674A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/216,907 1994-03-23
US08/216,907 US6129458A (en) 1994-03-23 1994-03-23 Cache optimization method

Publications (1)

Publication Number Publication Date
JPH07271674A true JPH07271674A (ja) 1995-10-20

Family

ID=22808958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7054060A Pending JPH07271674A (ja) 1994-03-23 1995-03-14 キャッシュ最適化の方法

Country Status (3)

Country Link
US (1) US6129458A (ja)
EP (1) EP0674268A3 (ja)
JP (1) JPH07271674A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848275A (en) * 1996-07-29 1998-12-08 Silicon Graphics, Inc. Compiler having automatic common blocks of memory splitting
US6591414B2 (en) * 1996-10-28 2003-07-08 Fujitsu Limited Binary program conversion apparatus, binary program conversion method and program recording medium
US6282706B1 (en) * 1998-02-10 2001-08-28 Texas Instruments Incorporated Cache optimization for programming loops
US6892173B1 (en) * 1998-03-30 2005-05-10 Hewlett-Packard Development Company, L.P. Analyzing effectiveness of a computer cache by estimating a hit rate based on applying a subset of real-time addresses to a model of the cache
US6883066B2 (en) * 2001-09-14 2005-04-19 Seagate Technology Llc Method and system for cache management algorithm selection
US7216342B2 (en) * 2002-03-14 2007-05-08 Stmicroelectronics Limited Code generation
US7124276B2 (en) * 2003-04-14 2006-10-17 Broadcom Corporation Optimizing cache efficiency within application software
US7089394B2 (en) * 2003-04-22 2006-08-08 Intel Corporation Optimally mapping a memory device
US7469332B2 (en) * 2005-03-02 2008-12-23 International Business Machines Corporation Systems and methods for adaptively mapping an instruction cache
JP4827469B2 (ja) * 2005-09-08 2011-11-30 パナソニック株式会社 キャッシュメモリ解析方法、プロセッサおよび模擬情報処理装置
US7512591B2 (en) * 2005-12-09 2009-03-31 International Business Machines Corporation System and method to improve processing time of databases by cache optimization
US7836435B2 (en) * 2006-03-31 2010-11-16 Intel Corporation Checking for memory access collisions in a multi-processor architecture
US7788449B2 (en) * 2006-09-20 2010-08-31 International Business Machines Corporation Cache configuration in a database system
US8249099B2 (en) * 2009-08-27 2012-08-21 Texas Instruments Incorporated External memory data management with data regrouping and channel look ahead
JP6402034B2 (ja) 2011-09-13 2018-10-10 フェイスブック,インク. コンピュータ内の情報を安全に保つシステム及び方法
US9477603B2 (en) 2013-09-05 2016-10-25 Facebook, Inc. System and method for partitioning of memory units into non-conflicting sets
US9983894B2 (en) 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
US10049048B1 (en) * 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US9747450B2 (en) 2014-02-10 2017-08-29 Facebook, Inc. Attestation using a combined measurement and its constituent measurements
US9734092B2 (en) 2014-03-19 2017-08-15 Facebook, Inc. Secure support for I/O in software cryptoprocessor
US9356602B1 (en) * 2015-05-14 2016-05-31 Xilinx, Inc. Management of memory resources in a programmable integrated circuit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4985829A (en) * 1984-07-31 1991-01-15 Texas Instruments Incorporated Cache hierarchy design for use in a memory management unit
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
US4825412A (en) * 1988-04-01 1989-04-25 Digital Equipment Corporation Lockout registers
US5003459A (en) * 1988-04-01 1991-03-26 Digital Equipment Corporation Cache memory system
US5226133A (en) * 1989-12-01 1993-07-06 Silicon Graphics, Inc. Two-level translation look-aside buffer using partial addresses for enhanced speed
US5073851A (en) * 1990-02-21 1991-12-17 Apple Computer, Inc. Apparatus and method for improved caching in a computer system
DE4108309C2 (de) * 1991-03-14 1994-09-08 Siemens Ag Verfahren zur maschinellen Optimierung des Bindens von Programmodulen zu einem Programm
TW219986B (ja) * 1991-06-17 1994-02-01 Digital Equipment Corp
US5452440A (en) * 1993-07-16 1995-09-19 Zitel Corporation Method and structure for evaluating and enhancing the performance of cache memory systems

Also Published As

Publication number Publication date
EP0674268A3 (en) 1997-02-05
EP0674268A2 (en) 1995-09-27
US6129458A (en) 2000-10-10

Similar Documents

Publication Publication Date Title
JPH07271674A (ja) キャッシュ最適化の方法
US6591355B2 (en) Distributed shared memory system with variable granularity
US6272612B1 (en) Process for allocating memory in a multiprocessor data processing system
US8156302B2 (en) Integrating data from symmetric and asymmetric memory
Douglis The Compression Cache: Using On-line Compression to Extend Physical Memory.
US4991088A (en) Method for optimizing utilization of a cache memory
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
Larson et al. Memory allocation for long-running server applications
US5784697A (en) Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
US6988165B2 (en) System and method for intelligent write management of disk pages in cache checkpoint operations
JP3962368B2 (ja) 共用リソースを動的に割り振るためのシステムおよび方法
US6055617A (en) Virtual address window for accessing physical memory in a computer system
US6003115A (en) Method and apparatus for predictive loading of a cache
CN114610232A (zh) 一种存储***、内存管理方法和管理节点
KR19990013934A (ko) 대용량 메모리 할당 방법 및 장치
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
US6600493B1 (en) Allocating memory based on memory device organization
US5918243A (en) Computer mechanism for reducing DASD arm contention during parallel processing
CN113535392A (zh) 基于cma实现支持大内存连续分配的内存管理方法及***
US8250296B2 (en) System and method for information handling system memory page mapping optimization
JP4792065B2 (ja) データ記憶方法
Bodin et al. Evaluating two loop transformations for reducing multiple-writer false sharing
JPH0812643B2 (ja) ページ退避/復元装置
Wu Ordering functions for improving memory reference locality in a shared memory multiprocessor system
EP0959410A2 (en) Computing devices

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050304

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050628