JPH0338749A - メモリアクセス制御装置 - Google Patents

メモリアクセス制御装置

Info

Publication number
JPH0338749A
JPH0338749A JP1174668A JP17466889A JPH0338749A JP H0338749 A JPH0338749 A JP H0338749A JP 1174668 A JP1174668 A JP 1174668A JP 17466889 A JP17466889 A JP 17466889A JP H0338749 A JPH0338749 A JP H0338749A
Authority
JP
Japan
Prior art keywords
memory
address
data
request
read request
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
JP1174668A
Other languages
English (en)
Inventor
Atsushi Takahashi
淳 高橋
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 Corp
Original Assignee
NEC 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 Corp filed Critical NEC Corp
Priority to JP1174668A priority Critical patent/JPH0338749A/ja
Publication of JPH0338749A publication Critical patent/JPH0338749A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、キャッシュメモリを持たない、あるいはキャ
ッシュメモリ切離可能なメモリアクセス制御装置におい
て、特に主記憶に対するアクセス要求が所定のデータ長
をブロック単位とするブロック転送による読出要求であ
る場合の処理方式〔従来の技術〕 従来、この種のメモリアクセス制御装置は、ストアイン
方式のキャッシュメモリを有しており、配下の各処理装
置からのメモリアクセス要求は90%以上の確率でキャ
ツシュヒツトし、読出し、書込みはキャッシュメモリに
対して実行される。また、キャッシュミスヒツトの場合
は、主記憶をアクセスし、主記憶からの読出データは要
求元にリプライするのと同時にキャッシュメモリに新た
に登録する(ブロックデータ)。キャッシュミスヒツト
時では必要に応じて置換データのスワップアウトを実行
する場合がある。
以下にキャッシュメモリを有するメモリアクセス制御装
置における従来技術を第3図を参照して説明する。ここ
では、特に、配下の各処理装置からのメモリアクセス要
求の内、読出要求処理について詳しく説明する。
メモリアクセス制御装置201のポート部である要求ア
ドレス受付レジスタ202〜204で受付けられた、配
下の処理装置CPt]O,(:PUl、 IOPからの
メモリアクセス要求は、その優先度に従って選択され、
そのアドレスがアドレスレジスタ205(へ旧)にセッ
トされ、順次アドレスレジスタ20A、 2011゜2
0Gにセットされる。アドレスレジスタ205」三位は
、アドレスレジスタ205下位により索引されたアドレ
スアレイ20E(AA)の出力と比較器20Fで比較さ
れ、キャッシュビットであるかキャッシュミスヒツトで
あるかが判断される。
(1)キャツシュヒツトの場合、比較器20Fで割出さ
れたヒツトレベルがレベルレジスタ211(LV3)に
セットされるとともにレベルレジスタ210およびレベ
ルレジスタ219を介してキャッシュメモリ(データア
レイ) 21B(DA)に人力され、またアドレスレジ
スタ205出力のアドレスがキャッシュアドレスレジス
タ218(CAR2)、 21A(CAR3)を介して
データアレイ21B(DA)に人力されることにより、
データアレイ21’Bの該当アドレスのデータがキャッ
シュデータレジスタ2iG(CR4)に読出される。該
読出データは、キャッシュデータレジスタ220(CR
15)および切替回路221を介して、リプライデータ
レジスタ222〜224(EODR,EIDR,IPD
R)にセットされ要求元装置にリプライされる。
(2)キャッシュミスヒツトの場合は、比較器20Fに
てキャッシュミスヒツトと判定され、主記憶アクセス処
理に移る。まず、要求アドレス(アドレスレジスタ20
5)を切替回路20Dで選択してFARレジスタ206
にてFAR変換し、メモリリクエストアドレスレジスタ
207 (MQ八へ)を介して主記憶アクセス条件成立
時にはメモリアドレスレジスタ209 (MAR)に該
要求アドレスをセットする。メモリバンクビジー等によ
り条件不成立のときは、該要求アドレスはメモリアドレ
スバッファ208 (MAR)に格納され、待合わせが
行われる。メモリアドレスバッファ208格納アドレス
は、優先度の高い、条件成立のものからメモリアドレス
レジスタ209にセットしメモリアドレスカウントアツ
プレジスタ227を経て主記憶226に送出され、主記
憶読出要求が実行される。主記憶226では該当するア
ドレスのデータを所定のデータ長を単位(ブロックデー
タ)として読出し、メモリアクセス制御装置201ヘブ
ロツク転送する。メモリアクセス制御装置201はブロ
ックデータをメモリデータレジスタ225 (MDR)
で受付け、切替回路221を介して要求元装置ヘリブラ
イする。また、これと同時にキャッシュメモリ21Bの
置換行に対して該ブロックデータを書込む。置換行はL
 RU (Least RecentlyUsed) 
212により決定される。ここ、で、この置換行に対し
て、以前書込があった場合には、キャッシュメモリ21
Bと主記憶226データの一致性保証のために、置換行
に格納されているデータは主記憶226に対してスワッ
プアウトする必要がある。
キャッシュメモリ21Bデータのスワップアウト実行時
は、アドレスアレイ20Eから読出され、スワッブアド
レスレジスタ214(SへR2) −215(SAR3
)216(SAR4)をとおってきたスワップアドレス
の内、L RU 212で決定されたレベルレジスタ2
13に保持されている置換行に対するものが選択され、
スワップアドレスレジスタ217 (SARI)にセッ
トされ、このアドレスによりデータアレイ21B(D八
)のデータの読出アドレスおよび主記憶226への書込
みアドレスが作成される。データアレイ21B読出デー
タは、レジスタ21C((:R4)、 210(CH3
S)を介し、スワップデータバッファ21E(SDR)
に格納され、メモリスワップレジスタ21 F (MS
R)から主記憶226ヘブロツク転送される。主記憶ア
クセス条件成立時、スワップ要求とともにメモリアドレ
スレジスタ209から送出された書込アドレスに従って
、該ブロックデータが主記憶226に書込まれる。
キャッシュミスヒツト時の主記憶226との上記データ
転送は、所定のデータ長を単位としたブロックデータに
より実行されている。ブロックデータのためメモリアド
レスレジスタ209出力はメモリアドレスカウントアツ
プレジスタ227にてデータ長たけカウントアツプされ
る。
なお、メモリアクセス制御装置201は、キャッシュミ
スヒツトした要求アドレスを認識しており、後続の同一
アドレスに対するキャッシュミスヒツトしたメモリアク
セス要求が受付けられると、パイプ処理で待合わせ、先
行するキャッシュミスヒツトのメモリ読出要求により主
記憶226データをキャッシュメモリ21B上に読出し
てから、改めてキャッシュメモリの該当アドレスをアク
セスするようになっている。
〔発明が解決しようとする問題点〕
上述した従来のメモリアクセス制御装置では、配下の各
処理装置からのメモリアクセス要求は90%以上の確率
でキャツシュヒツトするため、メモリデータの読出し、
あるいは書込みは、はとんどの場合メモリアクセス制御
装置のキャッシュメモリに対して実行されており、キャ
ッシュミスヒツト時の主記憶アクセスによる処理性能の
低下はキャツシュヒツトによる性能アップにより相対的
にカバーされていた。しかも先行するキャッシュミスヒ
ツトしたメモリアクセス要求の主記憶読出ブロックデー
タ内に、後続するメモリアクセス要求の要求データがあ
るときは、キャッシュミスヒツトではあるが先行するメ
モリアクセス要求に対する主記憶データ(ブロックデー
タ)がキャッシュメモリ上に読出されるのを待ってから
キャッシュメモリをアクセスするため、主記憶へのアク
セス連発は未前に抑止されていた。
しかし、キャッシュメモリの切離しが可能なメそりアク
セス制御装置で、キャッシュメモリの障害発生時等にキ
ャッシュメモリを切離しているとき、またはコストおよ
び物理的問題等により、キャッシュメモリを持たないメ
モリアクセス制御装置においては、常に主記憶をアクセ
スせねばならす、キャッシュメモリが存在する場合との
メモリアクセス要求処理の性能差は大きな問題であった
〔問題点を解決するための手段〕
本発明のメモリアクセス制御装置は、 先行するメモリ読出要求に対するメモリ読出データの同
一ブロック内のアドレスから読出しを開始する後続メモ
リ読出要求が存在する場合、該先行メモリ読出要求の要
求アドレスと該後続メモリ読出要求の要求アドレスとを
比較し、その差分を判定するアドレス比較手段と、 該先行メモリ読出要求による、メモリに供給される読出
アドレスに対して、該アドレス比較手段により割出され
たアドレス差分たけ連続的にアドレスを付加するアドレ
スカウントアツプ手段と、 前記アドレス比較手段により、後続メモリ読出要求の要
求アドレスが、先行メモリ読出要求に対するブロック内
であると判断された場合には、後続メモリ読出要求のメ
モリアクセスを抑止するメモリアクセス抑止手段と、 データバッファと、 前記アドレスカウントアツプ手段によりアドレス差分だ
けアドレスを付加して発行された、前記先行メモリ読出
要求に対するメモリ読出データに 0 おいて、該先行メモリ読出要求に対するブロックデータ
は所定の要求元に対して転送し、該メモリアクセスを抑
止された後続メモリ読出要求に対するブロックデータは
、データバッファに一時的にバッファリングするデータ
切換手段と、該後続メモリ読出要求の要求元へのデータ
転送タイミングを制御するタイミング制御手段とを有し
ている。
〔作用〕
したがって、先行メモリ・ブロック読出のアドレス範囲
内に後続メモリ読出の先頭アドレスが包含されている場
合は、同一データの2度読出しを避け、即ち、後続メモ
リ読出をキャンセルし、メモリ・データ受付部のデータ
バッファに、先行メモリ・ブロック読出で読出された、
後続メモリ読出に対するデータを格納して、このデータ
バッファに保存されたデータを後続メモリ読出要求の要
求元に返すことができる。即ち、連続するブロック読出
しのアドレスが重複するときは、その重複アドレス幅が
広い程、2度読みの無駄が改善1 され、連続するブロック読出しの全体的なアクセスタイ
ムを短縮し、性能を改善をすることが可能となる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明のメモリアクセス制御装置の一実施例の
ブロック図である。第3図との対応では、その主記憶ア
クセス制御をする部分、および主記憶読出データの要求
元装置へのリプライ部分を表現しており、キャッシュメ
モリ回りに関しては省略されている。
以下、□配下の処理装置からのメモリアクセス要求の内
、読出要求の処理について第1図を参照して説明する。
メモリアクセス制御装置101配下の処理装置cpuo
、 cpul、 ropから要求アドレス受付レジスタ
103、〜1033(EOAR,EIAR,IPPH1
に受付けられたメモリアクセス要求は、優先度に従いメ
モリアクセス制御装置101のポート部で選択され、そ
の 2 要求アドレスはアドレスレジスタ104 (ARI)に
セットされ、次のステップで、F A R105により
主記憶102アクセスのためのFAR変換されたアドレ
スがメモリリクエストアドレスレジスタ106(M10
6(にセットされる。ここで、主記憶102に対するア
クセス条件成立時には、該変換後アドレスがメモリアド
レスレジスタIOAにセットされ、主記憶102へのア
クセス処理が実行される。また、バンクビジーやインタ
フェースビジーにより条件不成立時には、該要求アドレ
スはメモリアドレスバッファ107に格納され、待合せ
が行なわれる。
メモリアドレスバッファ107にて待合せ状態のメモリ
アクセス要求は、主記憶アクセス条件成立のものの内、
高優先でファースト・イン(Firstin)のものか
ら選択され、メモリアドレスレジスタIOA(MAR)
に読出され、主記憶102に対する読出要求が発行され
る。主記憶102からのデータ読出しをブロックデータ
で実行するために、該要求アドレスをブロックの先頭ア
ドレスとして、そのデータ長だけ、メモリアドレスカウ
ントレジスタ 3 10E(MAGR)にて順次カウントアツプし、主記憶
102に送出する。主記憶102はこの読出要求を受け
ると、該当するアドレスのデータ(ブロックデータ)を
読出して、メモリアクセス制御装置101ヘブロツク転
送する。メモリアクセス制御装置101は該ブロックデ
ータをメモリデータレジスタ110 (MDR)で受付
け、切換回路112を介して要求元の処理装置ヘリブラ
イする。
以上が一般的なメモリ読出要求処理の流れであるが、こ
のとき、メモリリクエストアドレスレジスタ106また
はメモリアドレスバッファ107に格納された後続のメ
モリアクセス要求のアドレスが、メモリアドレスレジス
タIOへに格納されている先行メモリアクセス要求のア
ドレスからカウントアツプして生成されるブロック読出
アドレス内に含まれる場合は、比較器109.108お
よびアドレス制御部10Gからなるアドレス比較手段に
よりそれを判断する。ここで、メモリアクセス要求の要
求アドレスは、ブロックデータの読出開始アドレスであ
り、メモリリクエストアドレスレジスタ 4 106出力またはメモリアドレスバッファ107の最優
先出力が選択され、メモリアドレスレジスタ10Aにセ
ットされる。比較器109はメモリアドレスレジスタI
OAとメモリリクエストアドレスレジスタ106とのア
ドレス差分を、比較器108はメモリアドレスバッファ
107最優先出力とメモリアドレスレジスタ1〇八との
アドレス差分を検出し、アドレス制御部10Gに報告す
る。アドレス制御部10Gはブロックデータのアドレス
範囲を認識しており、比較器109.108で検出した
アドレス差分から、後続メモリアクセス要求の要求アド
レスが、先行メモリアクセス要求のブロックデータのア
ドレス内に含まれているか否かを判定することができる
。次に、アドレス制御部10Gは、後続要求アドレスが
先行要求のブロックアドレス内に含まれていると判断す
ると、アドレスカウントアツプ回路10Dと、後続メモ
リアクセス要求の主記憶アクセス抑止部JOBおよびタ
イミング制御部10Fに対してこれを報告する。アドレ
スカウントアツプ回路10Dはメモリアドレスレジスタ
IOAにセットさ 5 れた先行メモリアクセス要求の1ブロック分のアドレス
に対して後付で前記アドレス差分をカウントアツプする
。このカウントアツプにより、両メモリアクセス要求の
ブロックアドレスを含んだメモリアドレスカウントアツ
プレジスタIOE出力は主記憶102に送出され、主記
憶102ではその該当アドレスのブロックデータ(アド
レス差分を追加した)を読出して、メモリアクセス制御
装置101に対してブロック転送する。このとき、後続
メモリアクセス要求は、主記憶アクセス抑止部10Bに
より、主記憶102に対するアクセスの実行を抑止され
る。
主記憶102からメモリアクセス制御装置101に転送
されてきたブロックデータはメモリデータレジスタ11
0で受付けられるが、このブロックデータの内、先行メ
モリアクセス要求に対するデータは、切換回路112、
リプライデータレジスタ1131〜1133(EODR
,EIDR,IPDR)を介して要求元処理装置cpu
oまたはCP旧またはIOPにリプライされる。一方、
主記憶102に対するアクセスを抑 6 止された後続要求に対する読出データ分は、これと平行
して、同時にメモリデータバッファIllに格納され、
タイミング制御部10Fの制御で適切なタイミングに要
求元処理装置にリプライされる。
タイミング制御部10Fは、アドレス制御部10Gから
の報告を受け、後続メモリアクセス要求に対する読出デ
ータのメモリデータバッファ111への格納タイミング
と受付順やメモリアクセスタイム等で決定される要求元
装置へのリプライタイミングとを認識し、主記憶102
から読出したデータのバッファリングおよび要求元への
リプライの切換えと、そのタイミングを制御する。
第2図は読出ブロックデータの一例を示す図である。先
行メモリ読出要求の要求アドレスをA、後続メモリ読出
要求の要求アドレスをBおよびブロックデータのアドレ
ス幅をαとする。本実施例では、アドレスAからB十α
のデータが一度のアクセスて連続的に読出される。その
内、先行メモリ読出要求に対するブロックデータ、即ち
アドレスAからA+αまでのブロックデータがメモリ、
1プ データレジスタ110、切換回路112を介して要求元
にリプライされ、後続メモリ読出要求に対するブロック
データ、即ちアドレスBからB+αまでのデータがメモ
リデータバッファ11に格納され、適切なタイミングで
要求元にリプライされる。アドレスBからA+αに対す
るデータは先行メモリ読出要求元へのリプライと平行し
て、メモリデータバッファ111への格納が実行される
ことになる。
〔発明の効果〕
以上説明したように本発明は、キャッシュメモリを持た
ないメモリアクセス制御装置、またはキャッシュメモリ
切離可能なメモリアクセス制御装置のキャッシュメモリ
切離中において、先行メモリ読出要求の主記憶に対する
読出ブロックデータのアドレス範囲内に後続メモリ読出
要求の読出開始アドレスが存在する場合には、後続メモ
リ読出要求の主記憶アクセスをキャンセルし、両続出要
求の要求アドレス差分だけ、先行メモリ読出要求の(カ
ウントアツプされた)ブロックデータの 8 読出アドレスに付加してカウントアツプし、主記憶を読
出すことにより、アクセスタイムの非常に長い主記憶に
対するアクセス回数が減り、各処理装置からのメモリア
クセス要求の処理性能が向上する効果がある。
【図面の簡単な説明】
第1図は本発明のメモリアクセス制御装置の実施例のブ
ロック図、第2図は主記憶102から読出されるブロッ
クデータの一例を示す図、第3図は従来例を示すブロッ
ク図である。 101・・・メモリアクセス制御装置 102・・・主記憶 1031〜1033−・・要求アドレス受付レジスタ1
04・・・アドレスレジスタ 105・・・FAR +06・・・メモリリクエストアドレスレジスタ107
・・・メモリアドレスバッファ 108、109−・・比較器 10A・・・メモリアドレスレジスタ 10B・・・メモリアクセス抑止部  9 10G・・・アドレス制御部 10D・・・アドレスカウントアツプ回路10E−・・
メモリアドレスカウントアツプレジスタ10 F−・・
タイミング制御部 110−・・メモリデータレジスタ 111・・・メモリデータバッファ

Claims (1)

  1. 【特許請求の範囲】 配下の各処理装置からのメモリ読出要求に対して、所定
    のデータ長をブロック単位とするブロックデータ転送で
    メモリデータ読出を実行可能な、キャッシュメモリを持
    たないあるいは切離し可能なメモリアクセス制御装置に
    おいて、 キャッシュメモリが存在しないときに、先行するメモリ
    読出要求に対するブロックデータであるメモリ読出デー
    タの同一ブロック内のアドレスから読出しを開始する後
    続メモリ読出要求が存在する場合、該先行メモリ読出要
    求の要求アドレスと該後続メモリ読出要求の要求アドレ
    スとを比較し、その差分を判定するアドレス比較手段と
    、該先行メモリ読出要求によりメモリに供給される読出
    アドレスに対して、該アドレス比較手段により割出され
    たアドレス差分だけ、後続メモリ読出要求がブロックデ
    ータ読出であれば、連続的にアドレスを付加するアドレ
    スカウントアップ手段と、 前記アドレス比較手段により、後続メモリ読出要求の要
    求アドレスが、先行メモリ読出要求に対するブロック内
    であると判断された場合には、後続メモリ読出要求のメ
    モリアクセスの実行を抑止するメモリアクセス抑止手段
    と、 データバッファと、 前記アドレスカウントアップ手段によりアドレス差分だ
    けアドレスを付加して発行された、前記先行メモリ読出
    要求に対するメモリ読出データにおいて、該先行メモリ
    読出要求に対するブロックデータは所定の要求元に対し
    て転送し、該メモリアクセスを抑止された後続メモリ読
    出要求に対するブロックデータは、データバッファに一
    時的にバッファリングするデータ切換手段と、 該後続メモリ読出要求の要求元へのデータ転送タイミン
    グを制御するタイミング制御手段とを有することを特徴
    とするメモリアクセス制御装置。
JP1174668A 1989-07-05 1989-07-05 メモリアクセス制御装置 Pending JPH0338749A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1174668A JPH0338749A (ja) 1989-07-05 1989-07-05 メモリアクセス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1174668A JPH0338749A (ja) 1989-07-05 1989-07-05 メモリアクセス制御装置

Publications (1)

Publication Number Publication Date
JPH0338749A true JPH0338749A (ja) 1991-02-19

Family

ID=15982610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1174668A Pending JPH0338749A (ja) 1989-07-05 1989-07-05 メモリアクセス制御装置

Country Status (1)

Country Link
JP (1) JPH0338749A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007204063A (ja) * 2006-01-31 2007-08-16 Japan Crown Cork Co Ltd ヒンジキャップ付スパウト

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007204063A (ja) * 2006-01-31 2007-08-16 Japan Crown Cork Co Ltd ヒンジキャップ付スパウト

Similar Documents

Publication Publication Date Title
US6460114B1 (en) Storing a flushed cache line in a memory buffer of a controller
US7185149B2 (en) Selective storage in a cache memory device
US6438653B1 (en) Cache memory control circuit including summarized cache tag memory summarizing cache tag information in parallel processor system
US9817760B2 (en) Self-healing coarse-grained snoop filter
US6366984B1 (en) Write combining buffer that supports snoop request
US5398325A (en) Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
KR101497002B1 (ko) 스누프 필터링 메커니즘
US8037252B2 (en) Method for reducing coherence enforcement by selective directory update on replacement of unmodified cache blocks in a directory-based coherent multiprocessor
US6973543B1 (en) Partial directory cache for reducing probe traffic in multiprocessor systems
US20060143384A1 (en) System and method for non-uniform cache in a multi-core processor
JP5063104B2 (ja) エントリの時間経過によるキャッシュ・エントリの所有権喪失
US5850534A (en) Method and apparatus for reducing cache snooping overhead in a multilevel cache system
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
CN111143244A (zh) 计算机设备的内存访问方法和计算机设备
US5987544A (en) System interface protocol with optional module cache
US11645209B2 (en) Method of cache prefetching that increases the hit rate of a next faster cache
US6735675B2 (en) Method and apparatus for altering data length to zero to maintain cache coherency
JPH0338749A (ja) メモリアクセス制御装置
US6757793B1 (en) Reducing probe traffic in multiprocessor systems using a victim record table
JP2938040B1 (ja) Pci/pciブリッジ回路
JPH09218823A (ja) キャッシュメモリ制御装置
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
JPH01150950A (ja) メモリアクセス制御装置
JP2689920B2 (ja) 演算処理システムに用いられるプリフェッチバッファ装置
US20030101280A1 (en) Fast jump address algorithm