JPH09179779A - コンピュータシステムおよびデータ転送方法 - Google Patents

コンピュータシステムおよびデータ転送方法

Info

Publication number
JPH09179779A
JPH09179779A JP8160478A JP16047896A JPH09179779A JP H09179779 A JPH09179779 A JP H09179779A JP 8160478 A JP8160478 A JP 8160478A JP 16047896 A JP16047896 A JP 16047896A JP H09179779 A JPH09179779 A JP H09179779A
Authority
JP
Japan
Prior art keywords
memory
data
memory element
bus
sub
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
JP8160478A
Other languages
English (en)
Inventor
Bodo K Parady
ボド・ケイ・パラディ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09179779A publication Critical patent/JPH09179779A/ja
Pending legal-status Critical Current

Links

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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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

(57)【要約】 【課題】 コンピュータ・システムの融通性に富むメモ
リ階層を提供する。 【解決手段】 コンピュータ・システム内で実施される
高速メモリと低速メモリとの間でデータを交換するよう
にオペレーティング・システムによって制御される専用
メモリ転送バスを備える。この専用メモリ転送バスは、
システム・バスとは独立に動作し、システム・バスの帯
域幅および待ち時間に対する悪影響を回避し、ほぼあら
ゆるメモリ階層を選択できるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステムの分野に関する。詳細には、本発明は、それぞれ
の異なるメモリ・タイプ間でデータを交換するようにオ
ペレーティング・システムによって制御される専用メモ
リ転送バスを含む、融通性に富むメモリ階層に関する。
【0002】
【従来の技術】従来型のコンピュータ・システムが中央
演算処理装置(「CPU」)とメモリ・システムとを備
えることは常識である。一般に、読取りサイクル中に、
CPUは、メモリ・システム内の物理(または実メモ
リ)アドレス位置から任意のビット長(たとえば、ブロ
ック)のデータを取り出す。CPUは通常、メモリ・シ
ステムよりも高速に動作するので、コンピュータ・シス
テムの全体的な性能は、メモリのデータにアクセスでき
る速度(「帯域幅」)と、CPUがそのようなデータに
アクセスできるようになるまでに受ける時間遅延(「メ
モリ待ち時間」)の影響をかなり受ける。
【0003】通常、必要な帯域幅を達成し、必要な量の
アドレス可能なメモリ空間を与えるために、メモリ・シ
ステムは厳密で、融通のきかない階層に従って構成され
ている。この階層は通常、それぞれ、所定の固有の物理
(または実メモリ)アドレス空間を有する、複数のメモ
リ・タイプを備える。このようなメモリ・タイプの例に
は、低速メイン・メモリ(たとえば、動的ランダム・ア
クセス・メモリ「DRAM」、ビデオ・ランダム・アク
セス・メモリ「VRAM」など)、高速キャッシュ・メ
モリ(通常、低速メモリよりも大きな帯域幅を有する多
重レベル・キャッシュである)、キャッシュとメイン・
メモリのどちらよりも「低速な」(すなわち、より小さ
な帯域幅を有する)リモート・メモリ(ディスク記憶装
置、他のコンピュータ・システムのメイン・メモリな
ど)が含まれる。通常、「高速」メモリの帯域幅は約1
2ナノ秒であり、これに対して、低速メモリおよびリモ
ートに位置するメモリの帯域幅はそれぞれ、50ナノ秒
および300マイクロ秒である。
【0004】融通のきかないこのメモリ階層によれば、
最後に使用されたデータは高速キャッシュ・メモリに記
憶され、それほど使用されないデータは他の低速メモリ
・タイプに記憶される。融通のきかない前述の階層は、
所与のメモリ空間の必要な帯域幅を達成するうえで費用
有効な手法を与えるが、いくつかの欠点を有する。
【0005】
【発明が解決しようとする課題】融通のきかない従来型
のメモリ階層に関連する1つの欠点は、コンピュータ・
システム内で使用される事前に構成されたハードウェア
(たとえば、CPU制御装置)が、近い将来にどんなデ
ータがアクセスされる可能性があるかを予想するものと
して使用され、かつそのデータをキャッシュ・メモリお
よびメイン・メモリに書き込むことである。しかし、こ
の予想方法は、いずれもCPU制御装置よりも正確な予
想を行うことができるコンピュータ・オペレータによっ
ても、コンピュータ・システムのオペレーティング・シ
ステムによっても変更されない。実際、コンピュータ・
オペレータは、どのデータがアプリケーション・プログ
ラムからより頻繁にアクセスされるかに関する知識を有
している。
【0006】融通のきかない従来型のメモリ階層に関連
する他の欠点は、このメモリ階層ではキャッシュ衝突が
発生しやすいことである。これは主として、当技術分野
で良く知られている従来型のキャッシュ・オペレーティ
ング・システム記憶技法に従って、ある種のキャッシュ
線が他のキャッシュ線よりも頻繁に再使用されるためで
ある。
【0007】他の欠点は、従来型のメモリ階層がデータ
転送のサイズに制約を課し、データ転送が通常、単一の
キャッシュ線または等しいサイズの他の所定のデータ構
造に限られることである。このような制約が課されるの
は、キャッシュ線よりも大きなデータ転送が、より大き
なメモリ・バス帯域幅を消費し、メモリ待ち時間を延長
させ、CPU帯域幅を減少させるからである。
【0008】
【課題を解決するための手段】本発明は、2つの異なる
タイプのメモリ間でデータを転送できるようにするメモ
リ転送バスを備えたコンピュータ・システムに関する。
メモリ転送バスがコンピュータ・システム中の他のバス
とは独立に動作し、メモリ転送バスを介して転送される
データのサイズ制約は大幅に軽減される。したがって、
メモリ転送バス上のデータ転送は、メモリ転送バスまた
はその他のバスのタイミング特性および帯域幅特性に悪
影響を及ぼさない。
【0009】本発明は、事前に構成されたハードウェア
を使用して高速メモリおよび低速メモリ内のデータ記憶
域を制御するのではなく、オペレーティング・システム
を使用してメモリ転送バス上のデータ転送を制御する。
制御機構としてオペレーティング・システムが選択され
る。というのも、オペレーティング・システムは、事前
に構成されたハードウェアに勝る2つの利点、すなわ
ち、通常、どのデータが他のデータよりも頻繁にアクセ
スされるかをより正確に予想し、かつコンピュータ・オ
ペレータによる再構成を可能にするからである。
【0010】実施形態でさらに詳しく述べるように、メ
モリ転送バスを介したデータ転送が行われるのは、コン
ピュータ・システムのプロセッサ・ノードが、第1のタ
イプのメモリに関連する発信元アドレス「S_Addr
ess」から第2のタイプのメモリに関連する目標アド
レス「T_Address」へデータを送ることを求め
る命令を送ったときである。第1のメモリ・タイプは、
命令を検出し、データのページをメモリ転送バス上に置
く。メモリ転送バスはデータのページ全体を並列に転送
することができないことがあるので、データのページの
部分を連続して送ることができる。その後、このデータ
は、第2のタイプのメモリのT_Address位置へ
送られ、その後、記憶され使用される。
【0011】以下に述べる本発明の詳細な記述により、
本発明の特徴と利点が明らかになろう。
【0012】
【発明の実施の形態】下記の詳細な説明で、本発明は、
プログラム可能なオペレーティング・システム・ソフト
ウェアの制御の下でそれぞれの異なるメモリ・タイプ間
でのデータ転送専用に使用されるメモリ転送バスを使用
する融通のきくメモリ階層を提供するシステムおよび方
法に関して説明する。話を明確にするために、説明は、
単一の実メモリ・アドレス空間を共用する高速メモリと
低速メモリとの間のデータの転送に焦点を当てるものと
する。というのは、このようなメモリとリモート・メモ
リとの間の転送も同様に行われるからである。
【0013】この説明の全体にわたって、いくつかの特
定の詳細について述べるが、いくつかの例では、本発明
を不必要にあいまいにしないように、周知の回路や手順
ステップについては述べない。しかし、当業者には、こ
のような特定の構成要素を組み込まずに、あるいは例示
的なフローチャートにリストした手順ステップをわずか
に修正しただけで、本発明を実施できることが明らかで
あろう。
【0014】本出願の範囲では、「ノード」は、所与の
動作を実行するために使用される1つまたは複数のハー
ドウェア構成要素として定義される。また、「データ」
は、特に指摘しない限り、共に、汎用的に「データ」と
呼ばれる、2進データまたは命令、あるいはその両方を
含むことができる。さらに、「ページ」は、それぞれ、
サブブロック内に記憶されているデータのバイトが「有
効」であるか、それとも「無効」であるかを示す少なく
とも1バイトのデータおよび状況情報(たとえば、状況
ビット)を含む、所定数のサブブロックとして定義され
る。
【0015】図1を参照すると、本発明によるコンピュ
ータ・システム100の例示的な実施形態が示されてい
る。コンピュータ・システム100は、好ましくはそれ
ぞれビット幅128ビット、32ビット、8ビットで構
成されたデータ・バス線とアドレスバス線と制御バス線
とを含む第1のバス110、好ましくは中央演算処理装
置(「CPU」)バスを備える。しかし、前述のバス線
を任意のビット幅で構成できることが企図される。第1
のバス110によって、プロセッサ・ノード120、メ
モリ・ノード130、入出力(「I/O」)ノード15
0とを含むが、これらに限らない複数のノード間で情報
(データまたはアドレスまたは制御、あるいはそれらの
組合せ)を送ることができる。
【0016】図のように、プロセッサ・ノード120
は、少なくとも1つの処理装置121とメモリ管理装置
(「MMU」)122とを含む。この実施形態では1つ
の処理装置121しか例示していないが、複数の処理装
置を使用できる。図1で、処理装置121は、全体とし
て、処理装置121が情報を受け取り、メモリ・ノード
130へ送ることができるようにする、一方向信号線対
123および124を介して第1のバス110に結合さ
れる。
【0017】処理装置121はさらに、処理装置121
自体がMMU122へ仮想アドレスを送り、MMU12
2がその仮想アドレスを実メモリ・アドレスに変換する
ことができるように、通信線125を介してMMU12
2に結合される。そのような変換は、オペレーティング
・システム・ソフトウェアによって与えられる変換テー
ブルを介して行われる。このような変換テーブルには、
特定の仮想アドレスをそれぞれ、高速メモリおよび低速
メモリによって使用される対応する実メモリ・アドレス
に変換する高速メモリ変換テーブルと低速変換テーブル
とが含まれる。MMU122は、一方向信号線126を
介して第1のバス110に結合され、それを介して、メ
モリ・ノード130によって読み取られた仮想アドレス
に対応する実メモリ・アドレスおよび必要な制御情報を
第1のバス110上に置く。制御情報は、動作タイプ、
バス・グラント、バス所有権、MOESI、MESIな
どの共用モードを含むことができるが、これらに限らな
い。
【0018】入出力ノード150は、第1のバス110
と従来型の入出力バス160との間のインタフェースと
して動作する入出力制御装置155を含む。これによっ
て、第1のバス110および入出力バス160に結合さ
れたノードが情報を交換できるようにする通信経路(す
なわち、ゲートウェイ)が与えられる。入出力バス16
0は、画像を表示する表示装置161(たとえば、陰極
管、液晶ディスプレイ、フラット・パネル・ディスプレ
イなど)と、情報および選択したコマンドを処理装置1
21へ送る英数字入力装置162(たとえば、英数字キ
ーボードなど)と、カーソルの移動を制御するカーソル
制御装置163(たとえば、マウス、トラックボール、
タッチ・パッド、ジョイスティックなど)と、データを
記憶する大容量記憶装置164(たとえば、磁気テー
プ、ハード・ディスク・ドライブ、フロッピィ・ディス
ク・ドライブなど)と、情報をコンピュータ・システム
100から他のシステムへ送り他のシステムから情報を
受け取る情報トランシーバ装置165(ファックス・マ
シン、モデム、スキャナなど)と、情報の現実の視覚表
現を与えるハード・コピー装置166(たとえば、プロ
ッタ、プリンタなど)とを含むが、これらに限らない。
図1に示したコンピュータ・システム100が、これら
の構成要素のうちのいくつかを使用することも、あるい
はすべてを使用することも、あるいは図示した構成要素
とは異なる構成要素を使用することもできる。
【0019】メモリ・ノード130は、実メモリ・アド
レスに関連するデータを記憶するメモリ要素135と、
コンピュータ・システム100とリモート・システムと
の間の単一のデータ・サブブロック(たとえば、サイズ
が32バイトの単一のキャッシュ線)の伝送を制御す
る、CPU制御装置と同様なリモート・メモリ制御装置
140とを含む。好ましくは、メモリ要素135は、複
数のページとして構成されたページ・マップ・メモリで
あり、この場合、各ページは複数の連続メモリ・アドレ
スを有する。メモリ要素135には高速メモリ136
(たとえば、静的ランダム・アクセス・メモリ)と低速
メモリ137(たとえば、動的ランダム・アクセス・メ
モリ「DRAM」、ビデオ・ランダム・アクセス・メモ
リ「VRAM」など)が存在する。メモリ136とメモ
リ137は、それぞれの異なる性能レベルを有するが、
従来型のメモリ階層とは異なり、単一の実メモリ・アド
レス空間を共用する。したがって、メモリ要素135
は、より大きな割合の高速メモリ136をメモリ要素1
35自体に存在させることによって、メモリ要素自体の
帯域幅を増加させ、メモリ待ち時間を短縮することがで
きるという点でスケーリング可能である。
【0020】メモリ要素135およびリモート・メモリ
制御装置140は、選択された任意のビット幅を有する
専用メモリ転送バス145に結合される。このビット幅
は、最適なデータ転送を行えるように選択され、したが
って、第1のバス110のビット幅とは異なるものでよ
い。メモリ転送バス145は主として、高速メモリ13
6と低速メモリ137との間のデータ転送をサポートす
る。このようなデータ転送は、処理装置121によって
開始され、この処理装置を介してオペレーティング・シ
ステム・ソフトウェアによって制御される。このような
データ転送は通常、一度にデータの1「ページ」ずつ増
分する「バルク」メモリ転送である。従来型のメモリ階
層に対して、専用メモリ転送バス145を介したデータ
転送は、第1のバス110の待ち時間帯域幅にそれほど
影響を及ぼさずに行うことができる。
【0021】図2を参照すると分かるように、専用メモ
リ転送バスを介した低速メモリから高速メモリへのデー
タ転送は、プロセッサ・ノードすなわちMMUが、高速
メモリ変換テーブルの利用可能なエントリに目標実メモ
リ・ページ・アドレス(「T_Address」)を挿
入することによってステップ105から開始する。T_
Addressとは、データ転送時にデータ・ページを
受け取る高速メモリ(下記では「目標メモリ」と呼ぶ)
のアドレスである。これは、T_Addressに対応
する仮想アドレスへの以後のメモリ「読取り」命令また
はメモリ「書込み」命令が高速メモリへ送られるように
するためのものである。その後、ステップ110に示し
たように、MMUはFLUSH_PAGE命令をメモリ
要素へ送る。FLUSH_PAGE命令は、目標メモリ
の各サブブロックが「無効な」データを含むことを示す
ために各サブブロックの状況ビットをメモリ要素にセッ
トまたはアサートさせる(ステップ115)。この命令
を実行することによって、目標メモリにデータを書き込
むことができるようになり、「有効な」データの存在を
反映するため、状況ビットをクリアまたはディアサート
する前に目標メモリへ送られたメモリ「読取り」要求が
停止される。
【0022】依然として図2を参照すると分かるよう
に、ステップ120で、MMUは、発信元ページ・アド
レス「S_Address」から始まるデータのページ
(下記では「発信元ページ」と呼ぶ)を低速メモリから
目標メモリへ移動するために命令(「MOVE_PAG
E」)をメモリ要素へ送る。低速メモリは、MOVE_
PAGE命令を受け取った時点で、発信元ページの各サ
ブブロックから得たデータを順次、メモリ転送バス上に
置く(ステップ125)。メモリ・システムは、発信元
ページの第1のサブブロックを送る前に、メモリ転送バ
ス上に置かれた第1のサブブロックの宛先である目標メ
モリの第1のサブブロック(すなわち、「第1の目標サ
ブブロック」)が、「有効」であるかどうかを判定する
(ステップ130)。この判定は、メモリ転送バス上の
動作が第1のバス動作とは独立したものであるため、処
理装置がFLUSH_PAGE命令とMOVE_PAG
E命令の間に第1の目標サブブロックにデータを書き込
んだかどうかを検査するために行われる。第1の目標サ
ブブロックが「有効」である場合、メモリ・システムは
第1のサブブロックに関連するデータを破棄し(ステッ
プ135)、第1のサブブロックが発信元ページの最後
のサブブロックであるかどうかを検査する(ステップ1
45)ように構成される。しかし、目標サブブロックが
「無効」である場合、第1のサブブロック内のデータが
第1の目標サブブロックに書き込まれ、その第1の目標
サブブロックの状況ビットがクリアされ、そのサブブロ
ックに有効なデータが存在することを示す(ステップ1
40)。このデータ転送手順は、発信元ページの最後の
サブブロックに関連するデータが送られるまで継続する
(ステップ145)。
【0023】その後、メモリ要素は肯定応答信号(「M
OVE_FINISH」)をMMUへ送る(ステップ1
50)。MOVE_FINISH信号によって、MMU
は、前にS_Addressを含んでいた低速メモリ変
換テーブルのエントリに「ナル」値を挿入する(ステッ
プ155)。ナル値を挿入することによって、このエン
トリがクリアされ、オペレーティング・システムがこの
エントリおよびこのエントリに対応するメモリを再使用
することができる。また、MMUは低速メモリへFLU
SH_PAGE命令を送り、発信元ページを記憶するた
めに使用されていたサブブロックを「無効」状態にセッ
トする(ステップ160)。
【0024】メモリ転送バスは、高速メモリから低速メ
モリへのデータ転送を実行するだけでなく、高速メモリ
から低速メモリへのデータ転送もサポートする。それを
図3に示す。最初に、主として仮想・実マッピングを支
配するオペレーティング・システム・ソフトウェアが、
低速メモリ変換テーブルの利用可能なエントリにT_A
ddressを挿入し、S_Addressにある高速
メモリ変換テーブルに関連するエントリにナル値を挿入
する(ステップ205ないし210)。この実施形態で
は、高速メモリから低速メモリへのデータ転送が処理装
置によってただちに必要とされることはないので、プロ
セッサ・ノードがそのようなデータ転送を制御すること
はできない。
【0025】オペレーティング・システム・ソフトウェ
アが低速メモリ変換テーブルおよび高速メモリ変換テー
ブルをセットした後、MMUは、高速メモリ中のS_A
ddressから始まる発信元ページを低速メモリのT
_Addressへ送ることをメモリ要素に要求するM
OVE_PAGE命令をメモリ要素へ送る(ステップ2
15)。その後、データ転送が高速メモリから低速メモ
リへ行われることを除いて上記でステップ125ないし
145で説明したようにメモリ転送バスを使用してデー
タ転送が完了した時点で、メモリ要素は、データ転送が
完了したことを示すMOVE_FINISH信号を返す
(ステップ220ないし225)。これによって、MM
UはFLUSH_PAGE命令をメモリ要素へ送り、S
_Addressにある発信元ページに関連するサブブ
ロックの状況ビットを「無効」状態にセットする(ステ
ップ230)。
【0026】再び図1を参照すると分かるように、アプ
リケーション・プログラムの実行時に、処理装置121
は頻繁に、メモリ要素135に記憶されているデータを
要求する。プロセッサ・ノード120は、そのようなデ
ータを得るために通常、メモリ「読取り」要求を生成す
る。専用メモリ転送バス145に沿ったそれぞれの異な
るメモリ・タイプ間のデータ転送がメモリ読取り要求時
に行われることもあるので、両方の動作を同時にサポー
トする手順を提供する必要がある。
【0027】図4を参照すると、メモリ転送バスを介し
てメモリ読取り要求とデータ転送の両方をサポートする
例示的な手順が示されている。処理装置は、メモリ読取
り要求を実行するために、メモリ「読取り」命令を開始
し(ステップ305)、その後、特定の仮想アドレス内
に記憶されているデータに対するメモリ「読取り命令」
をMMUへ送る(ステップ310)。MMUは、通常は
オペレーティング・システム・ソフトウェアによって維
持される高速メモリ変換テーブルにこの仮想アドレスが
含まれていないと判定した場合、低速メモリ変換テーブ
ルに従ってこの仮想アドレスを実低速メモリ・アドレス
にマップする(ステップ315ないし320)。その
後、MMUは、動作タイプ、バス・グラント、バス所有
権、MOESIやMESIなどの共用モードを含め必要
な制御情報と共に実低速メモリ・アドレスを第1のバス
上に置き、メモリ要素によって実行されるようにするこ
とによって、メモリ読取り要求を発行する(ステップ3
25)。メモリ要素は、MMUがメモリ読取り要求を出
したことを検出した時点で、要求されたデータを第1の
バス上に置き、後で処理装置によって読み取られるよう
にすることによって、メモリ読取り要求を実行する(ス
テップ330ないし335)。
【0028】代わりに、MMUは、この仮想アドレスが
高速メモリ変換テーブルに含まれていると判定した場
合、高速メモリ変換テーブルに従ってこの仮想アドレス
を実高速メモリ・アドレスにマップする(ステップ34
0)。その後、MMUは、この実高速メモリ・アドレス
を制御情報と共に第1のバス上に置き、メモリ要素によ
って実行されるようにすることによって、メモリ読取り
要求を発行する(ステップ345)。
【0029】メモリ要素は、メモリ読取り要求を検出し
た時点で、実メモリ・アドレスにあるデータが「有効」
であるかどうかを判定する(ステップ350)。これ
は、たとえば、メモリ読取り要求の前に未処理のデータ
転送が完了していないために無効になっているデータに
アクセスするのを防止するために行われる。有効の場
合、メモリ要素は、要求されたデータをデータ・バス上
に置き、後で処理装置によって読み取られるようにする
ことによって、メモリ読取り要求を実行する(ステップ
330ないし335)。そうでない場合、データが無効
である場合は、メモリ要素はデータ転送が完了するのを
待ち、データが有効化される。このアドレスは、データ
が利用可能になるまでメモリ・システム・バッファ内に
残る。メモリ・アドレス要求はメモリ・システムにバッ
ファされる。
【0030】次に図5を参照すると、メモリ転送バスを
介したメモリ書込み要求とデータ転送の両方をサポート
する例示的な手順が示されている。処理装置がメモリ書
込み命令を開始し(ステップ405)、その後、特定の
仮想アドレス内に記憶されているデータに対するメモリ
書込み命令をMMUへ送る(ステップ410)。MMU
は、この仮想アドレスが高速メモリ変換テーブルに含ま
れていないと判定した場合、低速メモリ変換テーブルに
従ってこの仮想アドレスを低速実メモリ・アドレスにマ
ップする(ステップ415ないし420)。その後、M
MUは、プロセッサが、メモリ要素の低速メモリに書き
込むべきデータを第1のバス上に置いたときに、低速実
メモリ・アドレスを必要な制御情報と共に第1のバス上
に置き、メモリ要素によって実行されるようにすること
によって、メモリ書込み要求を発行する(ステップ42
5ないし430)。
【0031】代わりに、MMUは、この仮想アドレスが
高速メモリ変換テーブルに含まれていると判定した場
合、高速メモリ変換テーブルに従ってこの仮想アドレス
を実高速メモリ・アドレスにマップする(ステップ41
5、435)。その後、MMUは、この実高速メモリ・
アドレスを制御情報と共に第1のバス上に置き、メモリ
要素によって実行されるようにすることによって、メモ
リ書込み要求を発行する(ステップ440)。その後、
データがサブブロックに書き込まれ、そのサブブロック
に関連する状況ビットがクリアされ、データが「有効」
であることを示す(ステップ445)。
【0032】メモリ転送バスを介したメモリ要素とリモ
ート・システムとの間のデータ転送が、小数の例外を除
いて図2および3で論じたのと同じ手順に従うことが企
図される。1つの例外は、リモート・システムが、コン
ピュータ・システムのメモリ要素からの読取り専用アク
セスを有する「コピー・ブロック」しか読み取れないこ
とである。しかし、コンピュータ・システムは、リモー
ト・システムから単一のデータ・ブロック(たとえば、
1つのキャッシュ線)を読み取り、リモート・システム
から得た単一のデータ・ブロックをメモリ要素に書き込
むことができる。第2の例外は、リモート・システム
が、コンピュータ・システムのオペレーティング・シス
テムから与えられる許可なしで他のリモート・システム
にデータを書き込むことができないことである。しか
し、これは追加状況情報を介して回避することができ
る。
【0033】本明細書で説明した本発明は、多数の異な
る方法で、かつ多数の異なる構成を使用して設計するこ
とができる。本発明を様々な実施形態に関して説明した
が、当業者には、本発明の趣旨および範囲から逸脱せず
に他の実施形態が構想されよう。したがって、本発明は
特許請求の範囲に関して検討すべきである。
【図面の簡単な説明】
【図1】 専用メモリ転送バスを使用するコンピュータ
・システムの例示的な実施形態のブロック図である。
【図2】 専用メモリ転送バス上で高速メモリから低速
メモリへのメモリ転送を実行する際にプロセッサ・ノー
ドおよびメモリ要素によって行われる例示的な手順のフ
ローチャートである。
【図3】 専用メモリ転送バス上で低速メモリから高速
メモリへのメモリ転送を実行する際にプロセッサ・ノー
ドおよびメモリ要素によって行われる例示的な手順のフ
ローチャートである。
【図4】 図1に示したメモリ転送バスを介したデータ
転送をサポートできるコンピュータ・システムで実行さ
れるメモリ「読取り」要求を示すフローチャートであ
る。
【図5】 図1に示したメモリ転送バスを介したデータ
転送をサポートできるコンピュータ・システムで実行さ
れるメモリ「書込み」要求を示すフローチャートであ
る。
【符号の説明】
100 コンピュータ・システム 110 第1のバス 120 プロセッサ・ノード 121 処理装置 130 メモリ・ノード 135 メモリ要素 136 高速メモリ 137 低速メモリ 140 リモート・メモリ制御装置 145 メモリ転送バス 150 入出力ノード 155 入出力制御装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 情報を処理するプロセッサ・ノードと、 第1のメモリ要素が第2のメモリ要素よりも大きな帯域
    幅をサポートするように構成された第1のメモリ要素と
    第2のメモリ要素とを有し、前記情報を記憶するメモリ
    ・ノードと、 プロセッサ・ノードとメモリ・ノードとの間で前記情報
    を送ることができるようにプロセッサ・ノードおよびメ
    モリ・ノードに結合された第1のバスと、 前記第1および第2のメモリ要素に結合され、第1のメ
    モリ要素内に記憶されているデータを第2のメモリ要素
    に送って記憶させ、かつ第2のメモリ要素内に記憶され
    ているデータを第1のメモリ要素に送って記憶させるメ
    モリ転送バスとを備えることを特徴とするコンピュータ
    ・システム。
  2. 【請求項2】 さらに、メモリ・ノードとリモートに位
    置する周辺ノードとの間で前記データを送ることができ
    るリモート・メモリ制御装置を備えることを特徴とする
    請求項1に記載のコンピュータ・システム。
  3. 【請求項3】 単一の実メモリ・アドレス空間を共用す
    る第1および第2のメモリ要素を含むメモリ・ノードに
    関連して動作し、第1のメモリ要素内に記憶されている
    データを第2のメモリ要素に送って記憶させ、かつ第2
    のメモリ要素内に記憶されているデータを第1のメモリ
    要素に送って記憶させるメモリ転送バス。
  4. 【請求項4】 専用メモリ転送バスを介して第1のメモ
    リ要素と第2のメモリ要素との間でデータを送る方法で
    あって、 第1のメモリ要素内の複数のサブブロックに存在するデ
    ータのページを第1のメモリ要素から第2のメモリ要素
    へ送る命令を受けるステップと、 第1のメモリ要素から得たデータのページを順次、専用
    メモリ転送バス上に送るステップと、 対応するサブブロックが「無効」状態である場合に、複
    数のサブブロックのそれぞれに存在するデータを、前記
    第1のメモリ要素の複数の所望のサブブロックのうちの
    対応する所望のサブブロックに書き込むステップと、 複数のサブブロックの状況情報を、複数のサブブロック
    のデータが「無効」状態であることを表すようにセット
    するステップとを含むことを特徴とする方法。
JP8160478A 1995-06-02 1996-06-03 コンピュータシステムおよびデータ転送方法 Pending JPH09179779A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46018895A 1995-06-02 1995-06-02
US08/460188 1995-06-02

Publications (1)

Publication Number Publication Date
JPH09179779A true JPH09179779A (ja) 1997-07-11

Family

ID=23827707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8160478A Pending JPH09179779A (ja) 1995-06-02 1996-06-03 コンピュータシステムおよびデータ転送方法

Country Status (4)

Country Link
US (2) US5812816A (ja)
EP (1) EP0745941B1 (ja)
JP (1) JPH09179779A (ja)
DE (1) DE69629331T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003032169A1 (fr) * 2001-09-28 2003-04-17 Supreme Magic Corporation Processeur de donnees

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69629331T2 (de) * 1995-06-02 2004-02-12 Sun Microsystems, Inc., Mountain View System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US6370585B1 (en) * 1997-09-05 2002-04-09 Sun Microsystems, Inc. Multiprocessing computer system employing a cluster communication launching and addressing mechanism
US6553475B2 (en) * 1997-10-09 2003-04-22 Matsushita Electric Industrial Co., Ltd. Memory system with address conversion based on inherent performance condition
US6665749B1 (en) * 1999-08-17 2003-12-16 Nec Electronics, Inc. Bus protocol for efficiently transferring vector data
US7523290B2 (en) * 2000-02-29 2009-04-21 International Business Machines Corporation Very high speed page operations in indirect accessed memory systems
US6665787B2 (en) * 2000-02-29 2003-12-16 International Business Machines Corporation Very high speed page operations in indirect accessed memory systems
US7782363B2 (en) * 2000-06-27 2010-08-24 Front Row Technologies, Llc Providing multiple video perspectives of activities through a data network to a remote multimedia server for selective display by remote viewing audiences
US6681301B1 (en) 2001-10-02 2004-01-20 Advanced Micro Devices, Inc. System for controlling multiple memory types
US8972645B2 (en) * 2012-09-19 2015-03-03 Hewlett-Packard Development Company, L.P. Request sent to storage device based on moving average
US10152425B2 (en) 2016-06-13 2018-12-11 Advanced Micro Devices, Inc. Cache entry replacement based on availability of entries at another cache

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5250132A (en) * 1975-10-21 1977-04-21 Casio Comput Co Ltd Information processing control unit
JPS60134953A (ja) * 1983-12-23 1985-07-18 Hitachi Ltd デ−タ転送制御装置
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
JPH02253356A (ja) * 1989-03-28 1990-10-12 Toshiba Corp 階層キャッシュメモリ装置とその制御方式
JPH031260A (ja) * 1989-05-30 1991-01-07 Hitachi Ltd 計算機方式
US5185694A (en) * 1989-06-26 1993-02-09 Motorola, Inc. Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies
JPH0821233B2 (ja) * 1990-03-13 1996-03-04 株式会社東芝 画像メモリおよび画像メモリからデータを読み出す方法
US5249282A (en) * 1990-11-21 1993-09-28 Benchmarq Microelectronics, Inc. Integrated cache memory system with primary and secondary cache memories
EP1199639A3 (en) * 1990-12-25 2004-12-08 Mitsubishi Denki Kabushiki Kaisha A semiconductor memory device with a large storage capacity memory and a fast speed memory
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
JP2665081B2 (ja) * 1991-07-08 1997-10-22 三菱電機株式会社 マイクロコンピュータのレジスタ間データ転送方式
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
US5386547A (en) * 1992-01-21 1995-01-31 Digital Equipment Corporation System and method for exclusive two-level caching
US5623624A (en) * 1993-02-01 1997-04-22 Micron Technology, Inc. Memory control architecture for high speed transfer options
DE69629331T2 (de) * 1995-06-02 2004-02-12 Sun Microsystems, Inc., Mountain View System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003032169A1 (fr) * 2001-09-28 2003-04-17 Supreme Magic Corporation Processeur de donnees

Also Published As

Publication number Publication date
EP0745941B1 (en) 2003-08-06
EP0745941A3 (en) 1997-02-26
US5812816A (en) 1998-09-22
US6055613A (en) 2000-04-25
EP0745941A2 (en) 1996-12-04
DE69629331T2 (de) 2004-02-12
DE69629331D1 (de) 2003-09-11

Similar Documents

Publication Publication Date Title
KR0163231B1 (ko) 입/출력 채널 제어기, 멀티 프로세싱 시스템 및 데이타 프로세싱 방법
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
US6338119B1 (en) Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
US5301287A (en) User scheduled direct memory access using virtual addresses
JP3289661B2 (ja) キャッシュメモリシステム
JP3264319B2 (ja) バスブリッジ
US20070130372A1 (en) I/O address translation apparatus and method for specifying a relaxed ordering for I/O accesses
JP2002536716A (ja) 仮想メモリシステムにおけるメモリアクセスの改善技術
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
JPH09114665A (ja) 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
CN116134475A (zh) 计算机存储器扩展设备及其操作方法
JPH09179779A (ja) コンピュータシステムおよびデータ転送方法
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US7949833B1 (en) Transparent level 2 cache controller
JP2000172562A (ja) 情報処理装置
JP2004240616A (ja) メモリコントローラ及びメモリアクセス制御方法
JP4965974B2 (ja) 半導体集積回路装置
JPH06309231A (ja) キャッシュメモリ制御方法
JP3507314B2 (ja) メモリコントローラおよびコンピュータシステム
JP2008123333A5 (ja)
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JPH06231033A (ja) 分散共有メモリシステムを有するデータ処理装置
KR940011050B1 (ko) 외부 멀티뱅크형 캐쉬메모리 장치 및 그 제어방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070710