Nothing Special   »   [go: up one dir, main page]

JP3701135B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP3701135B2
JP3701135B2 JP05328999A JP5328999A JP3701135B2 JP 3701135 B2 JP3701135 B2 JP 3701135B2 JP 05328999 A JP05328999 A JP 05328999A JP 5328999 A JP5328999 A JP 5328999A JP 3701135 B2 JP3701135 B2 JP 3701135B2
Authority
JP
Japan
Prior art keywords
memory
overlay
address
access
data
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
JP05328999A
Other languages
English (en)
Other versions
JP2000029691A (ja
Inventor
マービン・ディー・ネルソン
ランディ・ジェイ・マシューズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000029691A publication Critical patent/JP2000029691A/ja
Application granted granted Critical
Publication of JP3701135B2 publication Critical patent/JP3701135B2/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
    • 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)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータにおけるメモリ性能を改良する方法および装置に関し、より詳細には、中間処理データを記憶するオーバーレイ・メモリを使用することによってさらに効率のよい処理性能を達成する装置および方法に関する。
【0002】
【従来技術】
マイクロプロセッサの製造業者は、そのコンポーネントのクロック速度を高めることによって絶えず性能を向上させている。かかるクロック速度の向上を利用するためには、マイクロプロセッサが、キャッシュメモリを含むメモリシステムの効率よい動作を維持させる必要がある。これまで、メモリシステムの改良は、マイクロプロセッサ設計の改良に足並みをそろえてこなかったため、キャッシュ・ミスによって生じるミス・ペナルティは、システム設計全体において重要な課題となってきている。
【0003】
当業者には周知のように、キャッシュメモリは、頻繁に使用されるデータ項目を格納するために用いられ、これに高速でアクセスすることができるようにした、バッファメモリ領域である。キャッシュ「ヒット」とは、ある特定のデータ項目がキャッシュメモリにおいて見つかった場合の状態のことであり、キャッシュ「ミス」とは、ある特定のデータ項目がキャッシュメモリにおいて見つからず、このため必要とされるデータ項目を回復するために主記憶にアクセスする必要がある場合の状態のことある。キャッシュミスの場合、主記憶へのアクセスは、システム全体の動作を遅滞させる比較的低速のプロセスを介して行われる。さらに、書き込みがキャッシュラインに対して行われると、そのライン全体が「ダーティ(dirty)」としてマークされる。これは、キャッシュが主記憶内の対応データとの一貫性を失った状態を示している。その後、キャッシュラインのダーティ状態を除去するためには、キャッシュライン全体を主記憶に書き込む必要があり、これがさらに手間のかかる動作になっている。
【0004】
現在のオペレーティング・システムでは、所定の処理変数へのアクセスの容易性を向上するために、これらの変数を格納するメモリ領域を一時的に割り当てている。一時的に割り当てられたこれらの領域を「スタック」という。ある複雑な画像処理アプリケーションでは、外部へのメモリ・アクセスの15%〜50%がこれらのスタック構造に対して行われる。したがって、スタック構造の動作を最適化することによって、メモリ性能を改良することができる。
【0005】
【発明が解決しようとする課題】
従来技術では、スタックを配置することのできる、少量ではあるが高価な、高速、つまり待ち時間の少ないメモリを設けることによって、スタック動作を強化することを試みた。このアプローチは比較的コストのかかるものであり、設計者は、このような高速/待ち時間の少ないメモリがシステムスタックに必要な分だけ十分に使えることを保証できなければならない。システム設計者がスタック用のメモリを十分に与えないと、必要とする多大なスタック空間の埋め合わせをするために、プログラムにおける後からの変更が要求されることになる。
【0006】
一般に設計者は、スタック領域全体が完全に使用された状態には決してならないほど余裕を持ってスタック領域を割り当てるというやり方に対しては保守的である。したがって、設計者は通常、最悪と考えられる状況の10%増しでスタック領域を割り当てることを強いられる。さらに、そのようなスタック構成では、スタックの底部付近にアクティビティが大量にあり、スタックの上部付近にはアクティビティがほとんどないかあるいは全くないということがよくある。
【0007】
上記に記載のように、キャッシュラインに書き込みを行うと、キャッシュメモリ・コントローラは、このアクセスされたキャッシュライン中のデータに「ダーティ」としてマークする。たとえ、キャッシュの問題としている部分があるスタックと関連づけられていても、このキャッシュラインに常駐するデータは、ある時点で主記憶に書き込まれる。スタックに関連づけられたキャッシュメモリのこの部分は頻繁に「ヒット」を受けるので、キャッシュのこの部分にキャッシュ管理動作が頻繁に必要となり、これによってシステムの性能効率が低下する。
【0008】
スタックメモリ動作を改良する別のアプローチは、スタックを小片に分割し、ある小片は高速メモリに常駐し、他の小片は低速メモリ(主記憶等)に存在するようにする。このような構成では、システムスタック資源を管理するソフトウェア/ファームウェアが、論理スタックにおける種々の物理的コンポーネント間の遷移点をチェックする必要がある。このような「スタック標識(stack sentinel)」には、比較的小さなサイズのコードが必要であるが、ある程度困難なタスクについて数十万回も実行される。したがってこのアプローチは、高性能なスタックメモリを提供する際のコストの問題に取り組む助けとなるが、スタックのアクティビティを管理するためには多少の性能の低下がともなう。さらに、主記憶への外部アクセスがいくらか必要であり、このためマイクロプロセッサ動作においてある程度の遅延が生じる。
【0009】
したがって、本発明の目的は、マイクロプロセッサにおけるメモリ利用率を管理する方法および装置の改良を提供することである。
【0010】
【課題を解決するための手段】
スタックに書き込まれるほとんどのデータが、長時間保存する必要のない種類のデータである(すなわち、そのデータを生成したプロシージャまたは関数の実行時間中において有効であればよい)ことは、すでに分かっていることである。
したがって、このようなデータ(および他の同様のデータ)を処理するのにスタックを用いると、無効や、(そのスタックがキャッシュメモリに保持されるときに)通常上記のようなデータへのアクセスを伴う主記憶への書き込みを回避できる。したがって、本発明は、オーバーレイ・メモリを提供することによってメモリ性能を向上させ、これにスタック動作に利用される一組の主記憶アドレスが割り当てられる。データをオーバーレイ・メモリから読み取るか、あるいはオーバーレイ・メモリに書き込むと、キャッシュメモリまたは主記憶のいずれか一方に行われる通信の「ダウンストリーム」は、これ以上生じない。言い換えれば、オーバーレイ・メモリは、短期間の記憶のために用いられ、オーバーレイへのアクセスは、当該システムの他のメモリ要素からは見えない。したがって、データを無効にする必要がない上、かかるデータを主記憶に書き込む必要もない。この結果、メモリ動作がかなり改善される。
【0011】
【実施例】
次に図1を参照すると、本発明によるコンピュータ10は、高速バス14を介して他の要素とやりとりを行う中央処理装置(CPU)12を含む。主記憶16および読取り専用メモリ(ROM)18は、比較的低速のメモリバス20にメモリバスコントローラ22を介して接続されている。また、メモリバスコントローラ22は、コンピュータ10の他の要素と高速バス14を介してやりとりする。
通常、点線で描かれたボックス21中のすべての要素をプロセッサという。主記憶16へのアクセスは、メモリバスコントローラ22とメモリバス20を介して行われており、このことは、高速バス14上のデータ転送よりも遅延したり低速になることを特徴的に示している。
【0012】
オーバーレイ・メモリ23は、オーバーレイ・メモリコントローラ24を介して高速バス14に接続されている。オーバーレイ・メモリ23は、比較的小型の高速メモリであり、CPU12上で現在実行中のプログラム26に一時的に必要なデータおよびパラメータの記憶を行う。以下明確となるように、オーバーレイ・メモリ23は、多数のメモリ領域にセグメント分割され、各領域は、その領域のベース・アドレスとレングス値を示すベースポインタ値とによって画定される。各ベースポインタ値の記録は、オーバーレイ・コントローラ24において保持されている。本質的に、各ベースポインタ値および(ベースポインタ値から展開したアドレスの)関連するレングス値は、主記憶16に存在するがしばらくの間は使用されないアドレスを有する、一組の記憶場所を規定する。
【0013】
したがって、プログラム26が、実行中にオーバーレイ・メモリ23内のメモリ領域のうちのひとつに含まれるメモリアドレスにアクセスする時、オーバーレイ・メモリ・コントローラ24がそのアドレスに応答し、その応答動作によって、コンピュータ10の他の要素へのそのアドレスの伝播が禁止される。さらに、データがオーバーレイ・メモリ23に書き込まれると、コンピュータ10内の他のメモリ領域へは、そのデータの次の書き込みは行われない。したがって、オーバーレイ・メモリ23は、一時的に必要とされるデータおよび/またはパラメータに主に利用されるスタンドアロンの高速メモリの機能を奏する。
【0014】
主記憶への読み取りおよび書き込みを回避することによって、メモリバス20の利用頻度が実質的に減少し、これによって資源が解放され、他の操作が可能になる。バスの使用を軽減することによって、バスアクセスを必要とする要求にますますサービスを行うことができるとともに、性能効率を増大させる。さらに、CPUは、このメモリの高速アクセス領域に関連するデータの読み取りおよび書き込みに必要な待ち状態を軽減する。このため、性能が実質的に向上する。
【0015】
また、本発明によって、設計者は、より高価な高速メモリを最小限設けるだけで、スタック領域のうち最も頻繁に使用する部分のみを網羅することができる。
オーバーレイ・メモリを任意の量だけ設けることで有益な性能が提供されるため、スタック領域寸法の甘い見積によってプロジェクト設計が遅滞するようなことがない。さらに、オーバーレイ・メモリが消耗した時点で主記憶が自動的に要求に対してサービスを行うため、スタック領域の増大を監視するソフトウェアまたはハードウェアが不要になる。
【0016】
コンピュータ10は、高速バス14にキャッシュコントローラ32を介して接続されたキャッシュメモリ30をさらに含めることができる。キャッシュメモリ30およびそれと関連するキャッシュコントローラ32は従来のように動作し、また、必要であれば、プログラムの実行に必要なデータを一時的に格納するためにこれを利用してもよい。
【0017】
図2を参照すると、主記憶16のさらに詳細な図が示されており、その3つの領域(すなわち、40、42および44)がスタックメモリ領域として使用されるようにすでに割り当てられて示されている。プログラム26等の実行プログラムによって行われる外部メモリ・アクセスの15%〜50%が、スタックメモリ領域に割り当てられたデータに対して行われることがすでに分かっている。上述のように、スタックメモリ領域が主記憶16に保持される場合、当該システムには、主記憶16からの読み取りデータおよび/または主記憶16への書き込みデータにつきものの遅延時間が負担となる。
【0018】
これに対して、スタック領域をキャッシュメモリが管理する場合、そのシステムは、変更されるキャッシュラインエントリと同期した主記憶16の保守という負担を負うことになる。したがって、本発明では、各スタックメモリ領域の少なくともある一部分(たとえば、サブ領域46、48、50)がオーバーレイ・メモリ23に割り当てられる(図1を参照)。サブ領域の各ベースポインタ(および、サブ領域の範囲をそれぞれ規定する関連レングス値)をオーバーレイ・メモリコントローラ24に挿入することによって、CPU12によってバス14へ発行される、サブ領域に属していたアドレスが、オーバーレイ・メモリコントローラ24によって直ちに認識される。
【0019】
したがって、CPU12がプログラム26の実行中に、オーバーレイ・メモリ23のスタックのサブ領域に含まれるアドレスの範囲内のアドレス値に対して、読み取り命令または書き込み命令のいずれか一方を発行すると、オーバーレイ・メモリコントローラ24はこの読み取り/書き込み要求に応答して、この読み取り/書き込み要求の、キャッシュコントローラ32と主記憶バス20の両方への伝送を禁止する。したがって、待ち状態も再同期動作のいずれも不要である。
【0020】
CPU12が上述のように高速バス14にアドレスを挿入したとき、このアドレスが、オーバーレイ・メモリ23に割り当てられたスタックアドレスのスパン内に含まれる場合、オーバーレイ・メモリコントローラ24は応答し、要求されたデータを含んだメッセージか、または、要求された書き込み動作がすでに実行されていることを示すメッセージをCPU12に返すことを可能にする。さらに、CPU12が高速バス14上にアドレスを乗せると、キャッシュコントローラ32もまた、この要求を捕捉する。オーバーレイ・メモリ23がこの要求を満たすと、キャッシュコントローラ32は、(高速バス14を監視し、データアクセス要求が満たされたことを確認した結果)この要求への応答が禁止される。しかしながら、オーバーレイ・メモリコントローラ24がその要求を満たさない場合、キャッシュコントローラ32は、その要求を満たすために必要な動作を実行する。その動作として、主記憶16からメモリバスコントローラ22およびメモリバス20を介してデータを獲得する動作を含めることもできる。
【0021】
スタックメモリ領域40、42および44のさらに他の部分をキャッシュメモリ30が管理できることもまた理解されるはずである。しかしながら、もっとも効率よいシステム動作を提供するために、スタックメモリ領域のうち最も頻繁に使用される領域がオーバーレイ・メモリ23に割り当てられるべきであることは明らかである。オーバーレイ・メモリ23がスタックのうち最も使用される領域からのデータを処理するので、キャッシュメモリ30は、使用頻度の少ないスタック領域および主記憶に常駐するデータを扱い、効率よく動作することが可能になる。
【0022】
したがって、CPU12が読み取り/書き込み要求を発行すると、(i)そのアドレスがオーバーレイ・メモリ23によって保持される範囲にある場合、オーバーレイ・メモリ23が単独でこれに応答し、(ii)アドレスがキャッシュメモリ30において保持されるアドレスの範囲にある場合、キャッシュメモリ30がこれに応答し、必要に応じて、続いて主記憶更新動作を実行する。その他の場合、アドレスは主記憶16から公知の方法で獲得される。
【0023】
したがって、本発明は、主記憶およびキャッシュメモリの高頻度アクセス領域を抽出することを可能にする追加要素を記憶階層に含める、柔軟な手段を提供するものであり、これにより性能が向上する。オーバーレイ・メモリの外部で発生する要求は主記憶がすべて自動的に満たすため、当該システムの設計者は、必要とされる高速オーバーレイ・メモリの量に対して非常に保守的であってもよい。
また、高速アクセス領域のキャッシュ管理に関する混乱を軽減することにより、かなりの量のシステム資源を解放し、これにより当該システムの性能を向上させる。
【0024】
上述の説明が本発明の例示にすぎないことは理解されるはずである。本発明を逸脱しない限り、当業者は、様々な代替および変形を考案することが可能である。したがって、本発明は、添付される請求の範囲に属する上記の代替、変形および改変をいずれも包含することが意図される。
【0025】
〔実施態様〕
なお、本発明の実施態様の例を以下に示す。
【0026】
〔実施態様1〕 a)あるスパンのアドレスを有する主記憶手段(16)と、
b)そこに格納されたデータ値に高速アクセスするためのオーバーレイ・メモリ手段(23)であって、前記主記憶手段(16)に割り当てられる前記アドレス・スパンの範囲内に入るアドレスのオーバーレイ・スパンを有するオーバーレイ・メモリ手段(23)と、
c)前記オーバーレイ・スパンの範囲内のデータへのアクセスを要求するプログラム(26)を動作させるプロセッサ手段(12)と、
d)前記オーバーレイ・メモリ手段(23)内からのデータへアクセスすることによって前記要求に応答するオーバーレイ・コントローラ手段(24)と、
e)前記主記憶手段(16)への前記要求の伝送を禁止する手段(22)と
の組み合わせを備える処理装置。
【0027】
〔実施態様2〕前記禁止手段(22)は、あるメモリへのアクセスに含まれるアドレスが前記オーバーレイ・スパンの範囲内に常駐する時は常に、前記主記憶手段(16)へのメモリ・アクセス・アクションの伝送を禁止することを特徴とする、実施態様1記載の処理装置(10)。
【0028】
〔実施態様3〕前記プロセッサ手段(12)は、一時変数を格納するための複数のアドレス・スパンを前記オーバーレイ・メモリ手段(23)に割り当て、前記アドレス・スパンのそれぞれは、前記オーバーレイ・コントローラ手段(24)に格納されるベース・ポインタ・アドレスおよびレングス値によって示されることを特徴とする、実施態様1または実施態様2に記載の処理装置(10)。
【0029】
〔実施態様4〕前記プロセッサ手段(10)は、前記オーバーレイ・コントローラ手段(24)における1つまたは複数のベース・ポインタ・アドレスおよびレングス値を改訂することによって、前記オーバーレイ・メモリ手段(23)に割り当てられる前記複数のアドレス・スパンを改変するプログラム手段(26)を含む、実施態様3に記載の処理装置(10)。
【0030】
〔実施態様5〕前記禁止手段(22)は、メモリ・アクセスに含まれるアドレスを受け取る際に、前記オーバーレイ・メモリ手段(23)が前記メモリ・アクセスに応答する場合は、前記アドレスを前記主記憶手段(16)に伝送しないことを特徴とする、実施態様1乃至実施態様4のいずれか一項に記載の処理装置(10)。
【0031】
〔実施態様6〕f)前記オーバーレイ・スパンの範囲内に含まれない前記プロセッサ手段(12)からのデータの要求に応答するためのキャッシュメモリ手段(30、32)をさらに設けたことを特徴とする、実施態様1乃至実施態様5のいずれか一項に記載の処理装置(10)。
【0032】
〔実施態様7〕前記キャッシュメモリ手段(30、32)は、前記オーバーレイ・スパンの範囲内のデータへのアクセスの要求を検出する際に、前記オーバーレイ・メモリ手段(23)が前記アクセス要求に応答する場合は、前記主記憶手段(16)からの前記データにアクセスすることを禁止することを特徴とする、実施態様6記載の処理装置(10)。
【0033】
〔実施態様8〕少なくとも主記憶(16)と、オーバーレイ・メモリ(23)とを含むプロセッサ(10)におけるメモリ性能を改良する方法であって、前記オーバーレイ・メモリ(23)は、これに格納されるデータへの高速アクセスを前記プロセッサ(10)に可能ならしめることを特徴とし、さらに、
a)前記主記憶(16)内のアドレス領域を前記オーバーレイ・メモリ(23)に割り当てるステップと、
b)(i)前記オーバーレイ・メモリ(23)が前記アクセスへ応答できるようにすることによって、さらに、(ii)前記アドレス領域におけるアドレスの前記主記憶(16)への伝送を常に禁止することによって、前記アドレス領域からのデータへのアクセスにプログラムによって応答するステップと
を含むことを特徴とする方法。
【0034】
〔実施態様9〕前記ステップa)は、ベース・アドレス・ポインタおよびレングス値を前記オーバーレイ・メモリ(23)に割り当てることによって、前記主記憶(16)内のアドレスを割り当てることを特徴とする、実施態様8記載の方法。
【0035】
〔実施態様10〕前記ステップa)は、ソフトウェア命令の使用によって、前記ベース・アドレス・ポインタを割り当て、また、新たなソフトウェア命令の発行によって前記ベース・アドレス・ポインタの再割り当てを可能にする、実施態様8または実施態様9に記載の方法。
【図面の簡単な説明】
【図1】図1は、本発明を実施するのに特にふさわしいデータ処理システムのブロック図である。
【図2】図2は、その一部がスタックとして使用されるように割り当てられ、別の部分にはオーバーレイ・メモリへのアドレス割り当てによって上書きされているメモリを概略的に示した図である。
【符号の説明】
10:コンピュータ
12:CPU
14:高速バス
16:主記憶
18:ROM
20:メモリバス
22:メモリバス・コントローラ
23:オーバレイ・メモリ
24:オーバレイ・メモリ・コントローラ
26:プログラム
30:キャッシュメモリ
32:キャッシュ・コントローラ
46:サブ領域
48:サブ領域
50:サブ領域

Claims (8)

  1. a)あるスパンのアドレスを有する主記憶手段(16)と、
    b)そこに格納されたデータ値に高速アクセスするためのオーバーレイ・メモリ手段(23)であって、前記主記憶手段(16)に割り当てられる前記アドレス・スパンの範囲内に入るアドレスのオーバーレイ・スパンを有するオーバーレイ・メモリ手段(23)と、
    c)前記オーバーレイ・スパンの範囲内のデータへのアクセスを要求するプログラム(26)を動作させるプロセッサ手段(12)と、
    d)前記オーバーレイ・メモリ手段(23)内からのデータへアクセスすることによって前記要求に応答するオーバーレイ・コントローラ手段(24)と、
    e)前記主記憶手段(16)への前記要求の伝送を禁止する手段(22)との組み合わせと
    を備え
    前記プロセッサ手段(12)は、一時変数を格納するための複数のアドレス・スパンを前記オーバーレイ・メモリ手段(23)に割り当て、前記アドレス・スパンのそれぞれは、前記オーバーレイ・コントローラ手段(24)に格納されるベース・ポインタ・アドレスおよびレングス値によって示される
    処理装置(10)
  2. 前記禁止手段(22)は、あるメモリへのアクセスに含まれるアドレスが前記オーバーレイ・スパンの範囲内に常駐する時は常に、前記主記憶手段(16)へのメモリ・アクセス・アクションの伝送を禁止すること
    請求項1記載の処理装置(10)。
  3. 前記プロセッサ手段(12)は、
    前記オーバーレイ・コントローラ手段(24)における1つまたは複数のベース・ポインタ・アドレスおよびレングス値を改訂することによって、前記オーバーレイ・メモリ手段(23)に割り当てられる前記複数のアドレス・スパンを改変する改変手段(26)
    を含む
    請求項1に記載の処理装置(10)。
  4. 前記禁止手段(22)は、メモリ・アクセスに含まれるアドレスを受け取る際に、前記オーバーレイ・メモリ手段(23)が前記メモリ・アクセスに応答する場合は、前記アドレスを前記主記憶手段(16)に伝送しない
    請求項1〜3のいずれかに記載の処理装置(10)。
  5. f)前記オーバーレイ・スパンの範囲内に含まれない前記プロセッサ手段(12)からのデータの要求に応答するためのキャッシュメモリ手段(30、32)
    をさらに設けた請求項1〜4のいずれかに記載の処理装置(10)。
  6. 前記キャッシュメモリ手段(30、32)は、前記オーバーレイ・スパンの範囲内のデータへのアクセスの要求を検出する際に、前記オーバーレイ・メモリ手段(23)が前記アクセス要求に応答する場合は、前記主記憶手段(16)からの前記データにアクセスすることを禁止する
    請求項6記載の処理装置(10)。
  7. 少なくとも主記憶(16)と、オーバーレイ・メモリ(23)と、プロセッサ(12)とを含む処理装置(10)におけるメモリ性能を改良する方法であって、
    前記オーバーレイ・メモリ(23)は、これに格納されるデータへの高速アクセスを前記プロセッサ(12)に可能ならしめ、
    a)前記主記憶(16)内のアドレス領域を前記オーバーレイ・メモリ(23)に割り当てるステップと、
    b)(i)前記オーバーレイ・メモリ(23)が前記アクセスへ応答できるようにすることによって、さらに、(ii)前記アドレス領域におけるアドレスの前記主記憶(16)への伝送を常に禁止することによって、前記アドレス領域からのデータへのアクセスにプログラムによって応答するステップと
    を含み、
    前記ステップa)は、ベース・アドレス・ポインタおよびレングス値を前記オーバーレイ・メモリ(23)に割り当てることによって、前記主記憶(16)内のアドレスを割り当てる
    方法。
  8. 前記ステップa)は、ソフトウェア命令の使用によって、前記ベース・アドレス・ポインタを割り当て、また、新たなソフトウェア命令の発行によって前記ベース・アドレス・ポインタの再割り当てを可能にする
    請求項7記載の方法。
JP05328999A 1998-03-02 1999-03-01 データ処理装置 Expired - Fee Related JP3701135B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US032,969 1998-03-02
US09/032,969 US6209061B1 (en) 1998-03-02 1998-03-02 Integrated hierarchical memory overlay having invariant address space span that inactivates a same address space span in main memory

Publications (2)

Publication Number Publication Date
JP2000029691A JP2000029691A (ja) 2000-01-28
JP3701135B2 true JP3701135B2 (ja) 2005-09-28

Family

ID=21867846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05328999A Expired - Fee Related JP3701135B2 (ja) 1998-03-02 1999-03-01 データ処理装置

Country Status (3)

Country Link
US (1) US6209061B1 (ja)
JP (1) JP3701135B2 (ja)
GB (1) GB2337348B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW417404B (en) * 1998-02-03 2001-01-01 Seiko Epson Corp Projection display device and method therefor, and an image display device
US6629253B1 (en) * 1999-12-30 2003-09-30 Intel Corporation System for efficient management of memory access requests from a planar video overlay data stream using a time delay
US7197600B2 (en) * 2001-02-16 2007-03-27 Broadcom Corporation Transferring data along with code for program overlays
EP1387277B1 (en) * 2002-07-31 2009-07-15 Texas Instruments Incorporated Write back policy for memory
WO2004017209A2 (en) * 2002-08-14 2004-02-26 Koninklijke Philips Electronics N.V. Optimized write back for context switching
US7225431B2 (en) * 2002-10-24 2007-05-29 International Business Machines Corporation Method and apparatus for setting breakpoints when debugging integrated executables in a heterogeneous architecture
US7243333B2 (en) * 2002-10-24 2007-07-10 International Business Machines Corporation Method and apparatus for creating and executing integrated executables in a heterogeneous architecture
US7222332B2 (en) * 2002-10-24 2007-05-22 International Business Machines Corporation Method and apparatus for overlay management within an integrated executable for a heterogeneous architecture
US7213123B2 (en) * 2002-10-24 2007-05-01 International Business Machines Corporation Method and apparatus for mapping debugging information when debugging integrated executables in a heterogeneous architecture
US7200840B2 (en) * 2002-10-24 2007-04-03 International Business Machines Corporation Method and apparatus for enabling access to global data by a plurality of codes in an integrated executable for a heterogeneous architecture
US9652373B2 (en) 2013-12-16 2017-05-16 International Business Machines Corporation Adaptive statistics for a linear address space
US11604735B1 (en) * 2021-12-02 2023-03-14 Western Digital Technologies, Inc. Host memory buffer (HMB) random cache access

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH393408A (de) 1959-05-05 1965-06-15 Licentia Gmbh Brennkraftelektrische Kraftübertragungseinrichtung für Schienenfahrzeuge
US4410946A (en) 1981-06-15 1983-10-18 International Business Machines Corporation Cache extension to processor local storage
JPS5856277A (ja) 1981-09-29 1983-04-02 Toshiba Corp 情報処理装置ならびに方法
US5043870A (en) 1982-02-24 1991-08-27 At&T Bell Laboratories Computer with automatic mapping of memory contents into machine registers during program execution
IE68440B1 (en) * 1993-06-21 1996-06-12 Digital Equipment Int Cache memory zoning system
US5893148A (en) * 1994-03-03 1999-04-06 International Business Machines Corporation System and method for allocating cache memory storage space
US5930820A (en) * 1996-03-18 1999-07-27 Advanced Micro Devices, Inc. Data cache and method using a stack memory for storing stack data separate from cache line storage
US5953741A (en) * 1996-11-27 1999-09-14 Vlsi Technology, Inc. Stack cache for stack-based processor and method thereof
EP0921471A1 (en) * 1997-12-05 1999-06-09 Texas Instruments France Cache architecture

Also Published As

Publication number Publication date
GB2337348A (en) 1999-11-17
GB9904547D0 (en) 1999-04-21
JP2000029691A (ja) 2000-01-28
GB2337348B (en) 2003-01-08
US6209061B1 (en) 2001-03-27

Similar Documents

Publication Publication Date Title
US11086792B2 (en) Cache replacing method and apparatus, heterogeneous multi-core system and cache managing method
EP3121731B1 (en) Memory management method and device
US7143412B2 (en) Method and apparatus for optimizing performance in a multi-processing system
KR101038963B1 (ko) 캐쉬 할당을 위한 장치, 시스템, 방법 및 기계 액세스가능 매체
US20090228665A1 (en) Kernel and application cooperative memory management
JP3701135B2 (ja) データ処理装置
JP7340326B2 (ja) メンテナンス動作の実行
US8874853B2 (en) Local and global memory request predictor
JPH1125033A (ja) バスブリッジ
WO2004061676A2 (en) Allocating cache lines
US10042773B2 (en) Advance cache allocator
CN115617542A (zh) 内存交换方法、装置、计算机设备及存储介质
US7689993B2 (en) Assigning tasks to processors based at least on resident set sizes of the tasks
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
EP3249539B1 (en) Method and device for accessing data visitor directory in multi-core system
JP3295436B2 (ja) マイクロプロセッサキャッシュの一貫性
US10705958B2 (en) Coherency directory entry allocation based on eviction costs
EP3688597B1 (en) Preemptive cache writeback with transaction support
JPH11143779A (ja) 仮想記憶装置におけるページング処理システム
US8266379B2 (en) Multithreaded processor with multiple caches
EP0919927A2 (en) Dynamic memory allocation technique for maintaining an even distribution of cache page addresses within an address space
CN116225693A (zh) 元数据管理方法、装置、计算机设备及存储介质
US6928492B1 (en) Computer I/O device access method
US11947992B2 (en) Methods and apparatuses for managing TLB cache in virtualization platform
JP3013742B2 (ja) キャッシュメモリ管理方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050712

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees