JPH10320278A - メモリコントローラ及びコンピュータシステム - Google Patents

メモリコントローラ及びコンピュータシステム

Info

Publication number
JPH10320278A
JPH10320278A JP9126698A JP12669897A JPH10320278A JP H10320278 A JPH10320278 A JP H10320278A JP 9126698 A JP9126698 A JP 9126698A JP 12669897 A JP12669897 A JP 12669897A JP H10320278 A JPH10320278 A JP H10320278A
Authority
JP
Japan
Prior art keywords
data
memory
shared cache
address
processor
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
JP9126698A
Other languages
English (en)
Inventor
Tadanobu Toba
忠信 鳥羽
Shuji Kikuchi
修司 菊地
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9126698A priority Critical patent/JPH10320278A/ja
Publication of JPH10320278A publication Critical patent/JPH10320278A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【課題】DMAによって更新されたデータアクセス時間
を短縮し、システム全体の処理性能を向上する。 【解決手段】主としてアドレス制御部2とデータ制御部
3と共有キャッシュメモリ4とDMAアドレスメモリ5
とデータフェッチ制御部6により構成し、これによりキ
ャッシュミスの代表的要因である容量性ミスを削減し、
DMAにより更新された主記憶へのデータロード要求の
性能を向上させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムメモリコントローラに関する。
【0002】
【従来の技術】一般的なコンピュータシステムでは、高
速メモリを持ったプロセッサ内部の専用キャッシュメモ
リ(上位レベルメモリ)から安価なDRAM等を実装した
大容量・低速の主記憶(下位レベルメモリ)により記憶階
層が作られている。この中で、主記憶へのアクセスは、
コンピュータシステムの処理性能を劣化させる主要因に
なっている。特に、メモリバスは比較的配線長が長くな
り、回路実装上動作周波数を上げることが困難であり、
プロセッサ動作周波数とメモリバス動作周波数の格差が
広がっている。そのため、プロセッサ動作周波数が向上
してもバス速度ネックで全体性能が伸びなくなってきて
いる。そこで、キャッシュ容量を増加させ、主記憶への
アクセス頻度を削減することによって処理性能の向上を
図っている。プロセッサ内のキャッシュ容量もLSI製
造技術の進歩により増加しているが、要求されるキャッ
シュ容量を満たしていない。そのため、プロセッサ外に
階層化したキャッシュを設けて容量を確保している。マ
ルチプロセッサシステムの場合は、全プロセッサ共有で
使用するキャッシュを設けることがある。この共有キャ
ッシュは、全プロセッサが平等に使用することが前提
で、主記憶へのアクセス頻度を削減するためだけの目的
である。
【0003】この共有キャッシュメモリを利用して、処
理性能を向上する方式については、特開平01−251
250号公報に記載のように、マルチプロセッサシステ
ムを前提に各プロセッサのキャッシュメモリを共有使用
することで、容量性ミスの削減とともにバス転送時間を
削減することを目的としたシステムがある。
【0004】
【発明が解決しようとする課題】上述した従来技術は、
複数プロセッサでの協調動作によるアクセス記憶領域の
局所性を前提にしており、周辺機器から直接、主記憶へ
アクセス(ダイレクト・メモリ・アクセス:以下、DMAと
称す)することは配慮していない。本発明の目的は、大
量のデータを扱うDMAにより主記憶へ書き込まれたデ
ータをプロセッサがアクセスする際に、共有キャッシュ
を効率よく利用することで、主記憶へのアクセスを削減
し、DMA後のプロセッサによるデータロード要求のス
ループットを上げることで総合的な処理能力の向上を図
ることにある。
【0005】
【課題を解決しようとする手段】上記目的は、プロセッ
サの専用キャッシュメモリとは別にプロセッサと主記憶
のデータ転送を制御するメモリコントローラに共有キャ
ッシュメモリを設け、さらに共有キャッシュメモリの制
御手段と、周辺機器からのDMA時にこの共有キャッシ
ュメモリを優先して使用する手段を設けることで、DM
Aにより主記憶へ書き込まれる大量のデータを共有キャ
ッシュに優先的に格納できる。この結果、DMAによっ
て周辺機器から入力されたデータ用のキャッシュ領域が
増加するため、DMA要求を出したプロセッサがDMA
領域内のデータをロードする際の主記憶へのアクセスが
減り、総合的に処理能力を向上する。
【0006】また、共有キャッシュメモリと共有キャッ
シュメモリの制御手段と周辺機器からのDMA時にこの
共有キャッシュメモリを優先して使用する手段とDMA
要求アドレスを記憶する手段とこのアドレスとプロセッ
サがDMA要求アドレス内のデータをロードする際のア
ドレスをもとに共有キャッシュへの主記憶からのプリフ
ェッチ手段を設けることで、DMAにより主記憶へ書き
込まれる大量のデータを共有キャッシュに優先的に格納
でき、共有キャッシュの更新もプロセッサからのアクセ
ス処理対応と並行してできる。この結果、DMAによっ
て周辺機器から入力されたデータ用のキャッシュ領域が
増加し、また、共有キャッシュのミス率も減少するた
め、DMA要求を出したプロセッサがデータをロードす
る際に、主記憶へのアクセスが減り、総合的に処理能力
を向上する。
【0007】
【発明の実施の形態】以下、本発明の一実施例を図1か
ら図14により具体的に説明する。
【0008】先ず、本発明によるメモリコントローラの
一構成例をプロセッサと主記憶を含め図1を用いて説明
する。図示のように、本発明を実現するためのメモリコ
ントローラ1は、プロセッサ9やハードディスク装置や
ネットワーク等の周辺機器10等からのメモリアクセス
時のアドレスと主記憶とのアドレスの対応をとるための
アドレス制御部2とデータ転送を制御するデータ制御部
3を備え、プロセッサに近いキャッシュの下位に属す共
有キャッシュ4とDMA要求されたアドレスを格納する
DMAアドレスメモリ5とDMAアドレスメモリの内容
をもとに主記憶から共有キャッシュメモリ4にプリフェ
ッチするデータフェッチ制御部6とDMAの際に仮想ア
ドレスと物理アドレスの対応づけを行うDMAアドレス
変換制御部17を備えたものとして構成される。また、
各構成要素間の信号については、データのプリフェッチ
要求を出す信号7と共有キャッシュへ送るアドレス信号
13とアドレスをDMAアドレスメモリへ送る信号14
とアドレス,データを送る信号15,16を備える。制
御部の動作内容と詳細な構成については後述する。
【0009】次に、本発明が対象とするシステムの概略
構成例を図2により説明する。現状一般的なコンピュー
タシステムは、複数のプロセッサや入出力ユニットを経
由したディスプレイ26、ネットワーク27、ハードデ
ィスク28、CD−ROM29等の周辺機器がバスやス
イッチマトリクス等の伝送系によりメモリコントロール
ユニット23を経て主記憶24に相互接続されている。
プロセッサ21や周辺機器と主記憶24との間は特定の
サイズ毎に記憶領域の位置を示すアドレスやデータを転
送する。その転送単位と処理性能やコスト等からそれぞ
れの伝送系は、複数の信号線により接続される。説明の
都合上、伝送系をバスのような図で表現したが、本発明
で伝送系の実現方法は、スイッチマトリクス等その実現
方法は問わない。また、プロセッサとメモリコントロー
ラの伝送系と入出力ユニットの伝送系が共通で図示され
ているが、入出力ユニット26をメモリコントローラと
直接接続する等、その接続形態も問わない。
【0010】次に、一般的な記憶階層の考え方について
図3により説明する。一般的なコンピュータシステムの
記憶階層は複数レベルで構成する。階層間の一回のデー
タ転送は隣接する2階層間でのみ行うことになる。通
常、プロセッサに近い階層を上位レベルといい、遠い階
層を下位レベルという。そして、上位レベルのメモリは
下位レベルのメモリよりも記憶容量が小さくて高速であ
る。両レベル間のデータ転送の最小単位を通常ブロック
と呼ぶ、特定のサイズで転送を行う。プロセッサ等から
メモリへ要求されたデータが、上位レベルのどこかのブ
ロックに存在することをヒットと呼び、ない場合はミス
と呼ぶ。ミスの場合、一段下の記憶階層を検索して、要
求データを求めることになり、アクセス速度の低下とデ
ータ転送時間により処理速度が低下する。
【0011】次に、本発明の動作を詳細に説明する。先
ず、プロセッサからのデータロード要求動作に着目した
通常の共有キャッシュメモリの処理を表すブロック図を
図4に示す。データロード要求動作は、アドレス制御部
2とデータ制御部3と共有キャッシュ4を備えることに
より実現する。その動作内容を図5により説明する。主
記憶11へのデータロード要求は、まず、プロセッサが
要求するデータのアドレスをアドレス制御部2で受け
る。このアドレスと共有キャッシュのアドレスインデッ
クスであるタグと比較して、一致(ヒット)/不一致
(ミス)を検出する(51)。一致していれば、共有キ
ャッシュからデータをプロセッサへ返す(52)。不一
致であれば、主記憶11からデータを返し(53)、共
有キャッシュ4へデータを書き込む(55)。図6にデ
ータロード要求元を、専用キャッシュを持つプロセッサ
に限定した時の共有キャッシュ内のデータの動きを説明
する。プロセッサ61内の一次キャッシュでミスしたデ
ータロード要求のみが主記憶へのアクセスを行うことに
なり、メモリコントローラ内の共有キャッシュは、二次
キャッシュとして、プロセッサ内部キャッシュの下位レ
ベルキャッシュとなる。この図では、周辺機器からのD
MAはなく、プロセッサからの主記憶へのアクセスだけ
を表している。従って、図のように共有キャッシュ内
は、各プロセッサが要求したデータが平等に記憶される
ことになる。
【0012】図7にDMAによる周辺機器から主記憶へ
のデータ転送時の共有キャッシュ優先使用の例を示す。
DMAによるデータ転送結果を優先的に共有キャッシュ
に格納することで、DMAによるデータ転送結果を利用
する場合、共有キャッシュにより主記憶へのアクセスが
削減され、主記憶アクセスによる性能劣化を減少するこ
とができる。
【0013】次に、データストア要求の動作に着目した
ブロック図を図8に示す。データストア要求動作と共有
キャッシュメモリの優先利用制御は、データロード要求
と同様に、アドレス制御部2とデータ制御部3と共有キ
ャッシュ4を備えるとともに、DMAからのデータ入力
であることを示すトランザクション等の外部要求により
共有キャッシュの利用優先度を制御することにより実現
する。その動作内容を図9により説明する。主記憶11
へのデータストア要求は、まずプロセッサまたは周辺機
器からストアするデータのアドレスをアドレス制御部2
で受け、同時にデータ制御部へストアするデータを受け
る。このアドレスと共有キャッシュのアドレスインデッ
クスであるタグと比較して、一致(ヒット)/不一致
(ミス)を検出する(92)。不一致であれば、主記憶
11へデータを転送する(96)。一致していれば、デ
ータロード要求がDMA(書き込み)要求かを判定する
(94)。判定した結果、DMA要求の場合、共有キャ
ッシュ4へデータを書き込み(95)、同時に主記憶へ
も転送する(96)。不一致の場合、共有キャッシュ4
への書き込みは行わなず、主記憶への転送のみを行う。
これにより、データストア要求時の共有キャッシュの更
新は、DMA要求を出した周辺機器に限定され、共有キ
ャッシュの優先的な使用を実現する。この例では、共有
キャッシュのコヒーレンシ制御が、ライトスルー方式に
なっているが、ライトバック等他の手法でも構成は変わ
らない。本実施例によれば、DMAによって主記憶へ書
き込まれたデータのために共有キャッシュを優先的に使
用することができ、そのデータのアクセス時間が短縮さ
れる。また、DMAで転送されるデータサイズは比較的
大きく、主記憶へ読み込んだデータは、DMA後すぐに
プロセッサが使用することが多いため、共有キャッシュ
を優先利用することで、主記憶へのアクセスが減り、主
記憶アクセスによる性能劣化を減少し、処理速度が向上
する。
【0014】続いて、主記憶から共有キャッシュへのデ
ータプリフェッチ機能を持たせたメモリコントローラの
一例について説明する。まず、図10を用いてDMAに
よって主記憶へデータ転送する際の転送アドレスの記録
動作について説明する。データ転送要求などのトランザ
クションをアドレス制御部2の比較器101で受け、そ
のトランザクションがDMAによる主記憶への書き込み
要求かどうかを判定する。その結果、DMAによる書き
込み要求であれば、そのアドレスとデータサイズをDM
Aアドレスメモリ8に記録する。このDMAアドレスメ
モリ8のデータを元に共有キャッシュへのデータプリフ
ェッチ機能を持たせたメモリコントローラの一構成例を
図11に示す。このメモリコントローラは、DMAアド
レスメモリ8とアドレス判定器111と新規フェッチア
ドレスを算出する演算器112を備えている。この動作
の流れを図12を用いて説明する。まず、プロセッサか
らデータロードアドレスをアドレス制御部で受ける(1
21)。アドレスを読み共有キャッシュのタグと比較し
て、一致(ヒット)/不一致(ミス)を検出する(12
3)。一致していれば、共有キャッシュ4からデータを
プロセッサへ返す。そして、プロセッサからのロード要
求のアドレスがDMAアドレス領域かを判定し(12
4)、領域内であれば、その要求アドレスを元にプリフ
ェッチアドレスを算出する(125)。その後、主記憶
よりデータをフェッチし(126)、122で一致した
共有キャッシュブロックに格納する(127)。不一致
であれば、共有キャッシュ4への書き込みは行わない。
これにより、プロセッサからのロード要求に対応すると
同時に共有キャッシュの更新ができ、処理の並列化が可
能となる。このDMAの記憶領域の局所性を有効に利用
することができ、主記憶へのアクセスが並列化されるこ
とになる。本実施例によれば、共有キャッシュ4の優先
利用による主記憶へのアクセスの削減と、プロセッサか
らのロード処理と主記憶からのフェッチ処理の並列化に
より処理速度が向上する。
【0015】次に、プロセッサバスと周辺機器用のバス
を分割したメモリコントローラの実施例について説明す
る。図14に周辺機器用バスを設けたメモリコントロー
ラの一構成例を示す。このメモリコントローラは、DM
Aアドレスメモリ5とデータフェッチ制御部6に加え、
周辺機器用バスインターフェイスユニット18を設け
た。本実施例によれば、共有キャッシュ4の優先利用に
よる主記憶へのアクセスの削減と、フェッチ処理の並列
化により処理速度が向上し、周辺機器からのDMA処理
とプロセッサからのアクセス要求を並列処理することが
可能になり、さらに処理速度が向上する。
【0016】次に共有キャッシュによるアクセス時間短
縮効果を実際の数値を用いて説明する。アクセスレイテ
ンシ=L、あるプログラムの実行命令数=I、共有キャ
ッシュミス率=Mとしてアクセス時間を計算するとL×
I×Mとなる。例えば、プロセッサから主記憶へのアク
セスレイテンシが30サイクルとし、メモリコントロー
ルユニット内のキャッシュまでのアクセスレイテンシを
5サイクルとする。共有キャッシュがない場合のアクセ
ス時間をLnとするとLn=30×Iとなる。共有キャ
ッシュがある場合をLeとすると、Le=(5×I-5
×I×M)+30×I×Mとなる。ミス率を20%とし
た場合、Le=10×Iとなり、アクセス時間は1/3
になる。
【0017】
【発明の効果】本発明によれば、キャッシュミスの代表
的要因である容量性ミスを削減し、DMAにより更新さ
れた主記憶へのデータロード要求の性能が向上する。
【図面の簡単な説明】
【図1】本発明のブロック図。
【図2】一般的なマルチプロセッサ・コンピュータシス
テムのブロック図。
【図3】一般的なコンピュータシステムの記憶階層を示
す説明図。
【図4】本発明のデータロード要求時の動作に着目した
ブロック図。
【図5】本発明のデータロード動作時の処理のフローチ
ャート。
【図6】協調動作時の共有キャッシュの使用状態を示し
た説明図。
【図7】共有キャッシュをDMAデータに優先的に使用
させたときの使用状態を示した説明図。
【図8】本発明の周辺機器からのDMAによるデータ書
き込み動作に着目したブロック図。
【図9】本発明の周辺機器からのDMAによるデータ書
き込み動作時の処理のフロチャート。
【図10】本発明のDMAアドレスを記録する動作に着
目した説明図。
【図11】本発明の共有キャッシュへのデータプリフェ
ッチ動作に着目した説明図。
【図12】本発明の共有キャッシュへのデータプリフェ
ッチ動作時の処理のフローチャート。
【図13】本発明の周辺機器用バスインターフェイスユ
ニットを設けた説明図。
【符号の説明】
1…メモリコントロールユニット、2…アドレス制御
部、3…データ制御部、4…共有キャッシュメモリ、5
…DMAアドレスメモリ、6…データフェッチ制御部、
7…プリフェッチ要求信号、9…プロセッサ、10…周
辺機器、11…主記憶、12…RAMコントローラ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】プロセッサ及び周辺機器と主記憶間のアド
    レスとデータの入出力を制御する入出力制御手段と要求
    アドレスと上記主記憶のアクセスの対応づけを行うアド
    レス制御手段とデータ転送を制御するデータ制御手段と
    上記プロセッサと上記主記憶および上記周辺機器との上
    記データ制御手段から成るコンピュータシステムのメモ
    リコントローラにおいて、複数の上記プロセッサ及び上
    記周辺機器で使用する共有キャッシュメモリと上記共有
    キャッシュメモリの制御手段と、上記周辺機器から上記
    主記憶へのアクセス時に、上記共有キャッシュメモリを
    優先使用する手段を設けたことを特徴とするメモリコン
    トローラ。
  2. 【請求項2】プロセッサ及び周辺機器と主記憶間のアド
    レスとデータの入出力を制御する入出力制御手段と要求
    アドレスと上記主記憶のアクセスの対応づけを行うアド
    レス制御手段とデータ転送を制御するデータ制御手段と
    上記プロセッサと上記主記憶および上記周辺機器との上
    記データ制御手段と上記プロセッサと上記主記憶および
    上記周辺機器との上記データ制御手段から成るコンピュ
    ータシステムのメモリコントローラにおいて、複数の上
    記プロセッサ及び上記周辺機器で使用する共有キャッシ
    ュメモリと上記共有キャッシュメモリの制御手段と、上
    記周辺機器から上記主記憶へのアクセス時に、上記共有
    キャッシュメモリを優先使用する手段と上記周辺機器か
    らストアした上記主記憶のアドレスを記憶する手段と、
    上記プロセッサからの要求に対し、そのアドレスをもと
    に上記主記憶から上記共有キャッシュにあらかじめデー
    タを取り込む手段を設けたことを特徴とするメモリコン
    トローラ。
  3. 【請求項3】請求項1または2において、複数の上記プ
    ロセッサとキャッシュ利用機器より成り上記メモリコン
    トローラを設けたコンピュータシステム。
JP9126698A 1997-05-16 1997-05-16 メモリコントローラ及びコンピュータシステム Pending JPH10320278A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9126698A JPH10320278A (ja) 1997-05-16 1997-05-16 メモリコントローラ及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9126698A JPH10320278A (ja) 1997-05-16 1997-05-16 メモリコントローラ及びコンピュータシステム

Publications (1)

Publication Number Publication Date
JPH10320278A true JPH10320278A (ja) 1998-12-04

Family

ID=14941643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9126698A Pending JPH10320278A (ja) 1997-05-16 1997-05-16 メモリコントローラ及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JPH10320278A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785759B1 (en) 2000-05-10 2004-08-31 International Business Machines Corporation System and method for sharing I/O address translation caching across multiple host bridges
JP2015222538A (ja) * 2014-05-23 2015-12-10 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785759B1 (en) 2000-05-10 2004-08-31 International Business Machines Corporation System and method for sharing I/O address translation caching across multiple host bridges
JP2015222538A (ja) * 2014-05-23 2015-12-10 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Similar Documents

Publication Publication Date Title
JP3698358B2 (ja) 高速プロセッサシステム、これを使用する方法及び記録媒体
US7827354B2 (en) Victim cache using direct intervention
JP7340326B2 (ja) メンテナンス動作の実行
US6748496B1 (en) Method and apparatus for providing cacheable data to a peripheral device
JP2003504757A (ja) 外部メモリアクセス用バッファリングシステムバス
JP3236287B2 (ja) マルチプロセッサシステム
CN101617298B (zh) 用于dma、任务终止和同步操作的缓存一致保持
US6449698B1 (en) Method and system for bypass prefetch data path
US5987544A (en) System interface protocol with optional module cache
JP4019073B2 (ja) キャッシュ可能なdma
US6496917B1 (en) Method to reduce memory latencies by performing two levels of speculation
EP1030243A1 (en) Optimized hardware cleaning function for virtual index virtual tag data cache
CN114036089B (zh) 数据处理方法、装置、缓存器、处理器及电子设备
US6477622B1 (en) Simplified writeback handling
US6839806B2 (en) Cache system with a cache tag memory and a cache tag buffer
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
US12417179B2 (en) Adaptive system probe action to minimize input/output dirty data transfers
JP3626609B2 (ja) マルチプロセッサシステム
JP3516326B2 (ja) 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム
JPH10320278A (ja) メモリコントローラ及びコンピュータシステム
JP2002268943A (ja) キャッシュメモリ装置
JP3507314B2 (ja) メモリコントローラおよびコンピュータシステム
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法
JP2976980B2 (ja) キャッシュ制御方式
JPH0793215A (ja) 半導体記憶装置