JPS6240553A - バツフアメモリブロツク先取り方式 - Google Patents

バツフアメモリブロツク先取り方式

Info

Publication number
JPS6240553A
JPS6240553A JP60179797A JP17979785A JPS6240553A JP S6240553 A JPS6240553 A JP S6240553A JP 60179797 A JP60179797 A JP 60179797A JP 17979785 A JP17979785 A JP 17979785A JP S6240553 A JPS6240553 A JP S6240553A
Authority
JP
Japan
Prior art keywords
buffer memory
request
memory
block
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.)
Pending
Application number
JP60179797A
Other languages
English (en)
Inventor
Yuzo Omori
大森 祐三
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 JP60179797A priority Critical patent/JPS6240553A/ja
Publication of JPS6240553A publication Critical patent/JPS6240553A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は主メモリ装置の一部のデータを保持してバッフ
ァメモリを制御するメモリ制御装置に関し、特にそのブ
ロックデータ先取り方式に関する。
(従来の技術) 主メモリ装置のデータの一部を保持し、主メモリ装置に
比較して高速動作を行うバッファメモリは、みかけ上の
メモリ性能を大きく向上させることが可能なために多く
の装置で採用されている。
このみかけ上のメモリ性能をより向上させるためには、
バッファメモリ上に必要とするデータが存在する確率(
バッファメモリヒツト率と呼ぶ)を高くする必要がある
。このためにはバッファメモリ容量を増加させればよい
が、これにはノ・−ドウエア量の増大、ならびにバッフ
ァメモリの速度低下という問題がある。
バッファ容量を増加させずにバッファメモリヒツト率を
上げる方法として、従来からブロックデータの先取りが
公知である。ここで、ブロックとはバッファメモリ上に
登録するデータの単位である。ブロックの先取りとは、
成るブロックにアクセスがあったとき、次のアドレスの
ブロックをあらかじめ主メモリ装置から先取りしておく
処理方式である。これはプログラムの性質として成るア
クセスが発生したとき、近い時間にそのアドレス近傍の
データがアクセスされる確率が高いことを利用し、アク
セスされる前にバッファメモリ上に先取りしておくこと
によりバッファメモリヒツト率を向上させようとするも
のである。
(発明が解決しようとする問題点) しかしながら、上述した従来のブロックデータの先取り
には次のような問題がある。主メモリ装置からバッファ
メモリ上に新たにブロックデータを登録する際には、バ
ッファメモリのディレクトリへの登録、バッファメモリ
上の置換場所の決定、ならびにブロックデータのバッフ
ァメモリへの書込み処理が必要になるが、このために他
のバッファメモリアクセス処理が妨げられて遅らされる
という欠点がある。また、主メモリ装置にもブロックデ
ータの読出しの負荷がかかシ、他のアクセスの妨げとな
る。先取りされたブロックデータが後続アクセスによっ
て大部分使用されるならば、あまり損失がなく、バッフ
ァメモリのヒツト率向上による効果は大きいが、後続ア
クセスで使用される率が低いと、かえって性能上の損失
を招きかねないことになるという欠点がある。
本発明の目的は、ブロックデータ先取りの効果を上げる
ため、先取りされたデータの後続アクセスでの使用率を
向上させ、ブロックデータ先取り処理が後続のバッファ
メモリアクセス処理を妨げることが少ない環境で上記先
取りを行うことによって上記欠点を除去し、高いバッフ
ァメモリへの読出し/iF込みアクセス頻度のもとでも
ブロックデータの先取り処理による後続バッファメモリ
アクセス処理への影響を避けることができるように構成
したバッファメモリブロック先取り方式を提供すること
にある。
(問題点を解決するための手段) 本発明によるバッファメモリブロック先取)方式は1台
以上の演算制御装置と、1台以上の入出力制御装置と、
1台以上の主メモリ装置と、演算制御装置および入出力
制御装置からのメモIJ リクエストを受けて主メモリ
装置へのメモリアクセスを仲介するためのメモリ制御装
置とを含む情報処理システムにおけるものであって、メ
モリ制御装置はバッファメモリと、複数のリクエストレ
ジスタと、第1および第2の索引先取り手段とを具備し
て構成したものである。
バッファメモリは、主メモリ装置のデータの一部分の写
しを保持するためのものである。
複数のリクエストレジスタは、それぞれ演算制御装置お
よび入出力制御装置からメモリ制御装置へ送出され、加
算方向のバッファメモリブロックデータの先取りを指示
するビットおよび減算方向のバッファメモリブロックデ
ータの先取りを指示するビットを設けたメモリリクエス
トを格納するためのものである。
第1の索引先取シ手段はメモリリクエスト処理に際し、
対象データがバッファメモリ上に存在しないか、または
存在してもメモリリクエストが先取りされたバッファメ
モリブロックに対する初めてのアクセスであるとき、メ
モリリクエストのリクエスト情報で加算方向のバッファ
メモリブロックデータの先取υが指示されているならば
リクエストアドレスの加算方向である次のバッファメモ
リブロックのバッファメモリ登録の有無を索引し、索引
結果が無であるときに次のバッファメモリブロックのバ
ッファメモリ上への先取漫を行うためのものである。
第2の索引先取9手段は、メモリリクエストのリクエス
ト情報で減算方向のバッファメモリブロックの先取りが
指示されているならばリクエストアドレスの減算方向で
ある一つ前のバッファメモリブロックのバッファメモリ
への登録の有無を索引し、索引結果が無であるときに一
つ前のバッファメモリブロックのバッファメモリ上への
先取りをするためのものである。
(実施例) 次に、本発明について図面を参照して説明する。
第1図は本発明によるバッファメモリブロック先取り方
式を実現する一実施例を示すブロック図であり、第2図
は第1図のバッファメモリブイレフ) IJの内部の情
報形式例を示す説明図である。
第1図において、101.102けそれぞれリクエスト
受付は回路、11は第1のリクエストレジスタ、12は
第2のリクエストレジスタ、13FJt、i3のリクエ
ストレジスタ、14は主メモリアクセスレジスタ、15
は書込みデータレジスタ、16け読出しデータレジスタ
、1Tけバッファメモリディレクトリ、18はバッファ
メモリ、191〜193は先取り指示ビット、20は加
算カウンタ、21け減算カウンタ、22はディレクトリ
レジスタである。
第1図において、メモリ制御装置3は演算制御装置1、
あるいは入出力制御装置2からのメモリリクエストおよ
びそのリフニス)ffl類、リクエストアドレス、なら
びに書込みデータのようなリクエスト情報を信号線50
1.502から受取り、主メモリ装置4へのメモリアク
セス処理を行う。
本発明の適用されるメモリ制御装置3にはバッファメモ
IJ 1 Bが備えられている。大形の情報処理システ
ムの高速比は半導体素子技術の進歩とともに進展してい
るが、演算制御装置1や入出力制御装置2の処理速度の
向上に対して主メモリ装置4のメモリ素子の処理速度は
相対的に改善されていない。このため、演算制御装置1
の内部のみでなく、メモリ制御装置3の内部にも演算制
御装置1より処理速度は遅いが容量の大きいバッファメ
モリ18を設け、みかけ上のメモリアクセス性能が向上
されている。
次に、メモリ制御装置3の内部の動作を説明する。
演算制御装置1や入出力制御装置2から信号線501.
502を介して送出されたリクエスト情報は、リクエス
ト受付は回路101.102に受付けられる。リクエス
ト受付は回路101.102は第1図の例に限らず、演
算制御装置1や入出力制御装置2が複数台置かれている
ときには、それに伴ってリクエスト受付は回路102の
台数けさらに増加する。リクエスト受付は回路101.
102によって受付けられたリクエスト群のなかから一
つのリクエストが選択され、そのリクエスト情報が第1
のリクエストレジスタ11に入れられる。
本実施例では、演算制御装置1や入出力制御装置2から
信号線501.502を介して送出されたリクエスト情
報には、ブロックデータ先取り指示情報が含まれている
が、これは加算方向先取り指示ビットと減算方向先取り
指示ビットより成る。
これらの情報も第1のリクエストレジスタ11に先取シ
指示ビット19として入れられる。これによって、第1
のリクエストレジスタ11ではバッファメモリディレク
トリ17の索引が行われる。
バッファメモリディレクトリ1Tにはバッファメモリ1
Bで保持される主メモリ装置データのアドレス情報が登
録されており、これを索引することにより所要データの
バッファメモリ1B上でのデータの有無(バッファメモ
リヒツトおよヒバツクアメモリミスヒツトと呼ぶ)、な
らびにデータがバッファメモリ1B上に存在するときの
存在場所の情報がディレクトリレジスタ22に得られる
バッファメモリミスヒツト時には、主メモリ装置4に対
して第2のリクエストレジスタ12を介して主メモリア
クセスレジスタ14からブロックデータ読出し要求が送
出される。主メモリ装置4から信号線52を介して読出
されたブロックデーターは書込みデータレジスタ15を
介シテバッファメモリ18に書込まれ、さらに所要のデ
ータが読出しデータレジスタ16を介してメモリリクエ
ストを送出した装置へ返される。
一方、リクエストにより処理を並行して行い、バッファ
メモリミスヒツトを発生した場合には、リクエスト情報
は第2のリクエストレジスタ12、ならびに第3のリク
エストレジスタ13を介して再び第1のリクエストレジ
スタ11に送出され、以後の同一ブロックへのメモリリ
クエストではバッファメモリヒツトとなるように、バッ
ファメモリディレクトリ17へのブロックアドレス登録
が行われる。
第2図はバッファメモリディレクトリ17の内容の一形
式を示すが、バッファメモリディレクトリ1Tの各エン
トリはv、p、ならびにアドレスの情報を含み、バッフ
ァメモリディレクトリ17は多数のエントリよυ構成さ
れる。各エントリがバッファメモリ1Bの各ブロックに
対応し、Vビットはバッファメモリブロックデータの有
効性を示し、アドレスはそのブロックデータの主メモリ
装置アドレス情報を示す。Pビットはブロックデータ先
取りのために付加されたビットで、Pビットがオンのと
きに上記のブロックは先取りされたブロックで、未だメ
モリリクエストによってアクセスされたことがない状態
であることが示されている。ストアイン(5tore−
in)方式のバッファメモリディレクトリ17では、さ
らに修飾ビットMもあ・る。演算制御装置1からのメモ
リリクエストでバッファメモリミスヒツトが発生し、前
述のようなバッファメモリディレクトリ17への登録を
行うときにはPビットはオフ状態として登録される。
ブロックデータの先取りを行う本実施例では、バッファ
メモリミスヒツト処理時、さらに以下の動作が行われる
第1のリクエストレジスタ11でバッファメモリディレ
クトリ17への登録を行つ大径、リクエスト情報の先取
シ指示ビット19が加算方向先取り指示、または減算方
向先取り指示を示しているときに′は、リクエスト情報
は再び第2のリクエストレジスタ12、ならびに第3の
リクエストレジスタ13を介して、第1のリクエストレ
ジスタ11に戻される。
このとき、第2のリクエストレジスタ12から第3のリ
クエストレジスタ13へのブロックの移行の際、リクエ
ストアドレスの加減カウントが行われる。
先取り指示ビット19が加算方向先取り指示のときKは
、リクエストアドレスが次のブロックを示すように加算
カウンタ20で加算カウントが行われ、先取り指示ビッ
ト19が減算方向先取り指示のときにはリクエストアド
レスが一つ前のブロックを示すように減算カウンタ21
で減算カウンタされる。第1のリクエストレジスタ11
では、再びバッファメモリディレクトリ1Tの索引が行
われる。バッファメモリヒツトであるとそこで処理は終
了するが、ミスヒツトであると前述のような主メモリ装
置4へのブロックデータの読出し要求、およびバッファ
メモリ18への登録が行われる。ここで、バッファメモ
リディレクトリ1TへはPビットがオンにされて登録さ
れる。つまり、このブロックは先取りされたブロックで
あって、かつ、未だ夾際のメモリリクエストではアクセ
ス・されていないブロックであることが示される。
以上は、演算制御装置1ま六は入出力制御装置2からの
メモリリクエストがバッファメモリミスヒツトとなった
ときの処理であるが、次にバッファメモリヒツトとなっ
たときの処理を説明する。
第1のリクエストレジスタ11でバッファメモリディレ
クトリ17の索引がまず行われるが、リクエストが読出
し要求のときには、第2のリクエストレジスタ12を介
して送出されたアドレスおよびディレクトリレジスタ2
2の情報でバッファメモリ18から所要データが読出さ
れ、読出しデータレジスタ16を介してメモリリクエス
トを送出した装置へ返される。リクエストが書込み要求
であるときには、第2のリクエストレジスタ12を介し
たアドレスおよびディレクトリレジスタ22の情報で指
定されたバッファメモリ1Bに、書込みデータレジスタ
15のデータが書込まれる。
ブロックデータ先取りを行う装置においては、バッファ
メモリディレクトリ17の索引時にヒツトした工/トリ
のPビットが調べられ、Pビットがオフであるとブロッ
クデータの先取りを行わない装置と同様な動作をするが
、Pビットがオンであると第2のリクエストレジスタ1
2、ならびに第3のリクエストレジスタ13を介して再
びリクエスト情報を第1のリクエストレジスタ“11に
戻し、バッファメモリディレクトリ1Tの対応するエン
) IJのPビットオフ時の処理が行われる。
未だPビットがオンであり、かつ、リクエスト情報の先
取シ指示ビット19が加算方向先取シ指示、または減算
方向の先取シ指示を示しているときには、前述のバッフ
ァメモリミスヒツトのときと同様なブロックデータの先
取シ処理を行う。つまシ、加算ならびに減算方向の指示
に従ったリクエストアドレスの加算と減算とのカウント
が行われ、リクエストアドレスの次のブロック、または
一つ前のブロックのバッファメモリディレクトリ17の
索引が行われる。索引の結果、バッファメモリ18がミ
スヒツトであればブロックデータの先取りが行われ、新
しく先取りブロックがPくットをオフにしてバッファメ
モリディレクトリ11およびバッファメモリ18に登録
される。
演算制御装[1からのリクエスト情報に含まれる先取シ
指示ビットの指示例としては、以下のような場合が考え
られる。命令語の読出し、あるいはアドレス加算方向の
長いオペランド長をもつオペランド読出しでは、アドレ
ス加算方向の先取りを指示して効果が予測される。一方
、減算方向のメモリからメモリへのデータ転送でのオペ
ランドアクセス時には、アドレス減算方向の先取りを指
示して効果が予測される。入出力制御装置2から先取シ
指示ビットを指定すれば、アドレス加算方向のデータ転
送では加算方向先取りが指示され、アドレス減算方向の
データ転送では減算方向の先取シ指示を行うことによシ
データオーバラ/の確率を減することができる。
(発明の効果) 以上説明したように本発明では、メモリ制御装置の内部
に設置されたバッファメモリの信号処理において、後続
メモリリクエストでアドレス加算方向のデータを使用す
る確率が高いときにはアドレス加算方向のブロックデー
タの先取りを行い、後続メモリリクエストでアドレス減
算方向のデータを使用する確率が高いときにはアドレス
減算方向のブロックデータの先取りを行うことにより、
先取りされたブロックデータの使用率を向上させること
ができ、メモリ制御装置の内部でブロックデータ先取υ
が演算制御装置の内部でバッファメモリヒツト処理の妨
げとはならないため、ブロックデータ先取りの効果を上
げることができ、さらにメモリ制御装置の内部ではバッ
ファメモリヒツト率を改善できるため処理性能を向上さ
せることができるという効果がある。
【図面の簡単な説明】
第1図は、本発明によるバッツアメモリブロック先取シ
方式を実現する一実施例を示すブロック図である。 第2図は、第1図のバッファメモリディレクトリの内部
の情報形式例を示す説明図である。 1・・・演算制御装置 2・・・入出力制御装置 3・・・メモリ制御装置 4・・・主メモリ装置 101.102・・・リクエスト受付は回路11〜13
・・・リクエストレジスタ 14・・・主メモリアクセスレジスタ 15書・・書込みデータレジスタ 16・・・読出しデータレジスタ 1T・・・バッファメモリディレクトリ1B・・・パッ
クァメモリ 191〜193・・・先取シ指示ビット20・・・加算
カウンタ 21・・・減算カウンタ

Claims (1)

    【特許請求の範囲】
  1. 1台以上の演算制御装置と、1台以上の入出力制御装置
    と、1台以上の主メモリ装置と、前記演算制御装置およ
    び前記入出力制御装置からのメモリリクエストを受けて
    前記主メモリ装置へのメモリアクセスを仲介するための
    メモリ制御装置とを含む情報処理システムにおけるバッ
    ファメモリブロック先取り方式であつて、前記メモリ制
    御装置は前記主メモリ装置のデータの一部分の写しを保
    持するためのバッファメモリと、前記演算制御装置およ
    び前記入出力制御装置から前記メモリ制御装置へ送出さ
    れ、加算方向のバッファメモリブロックデータの先取り
    を指示するビットおよび減算方向のバッファメモリブロ
    ックデータの先取りを指示するビットを設けたメモリリ
    クエストを格納するための複数のリクエストレジスタと
    、メモリリクエスト処理に際し、対象データが前記バッ
    ファメモリ上に存在しないか、または存在しても前記メ
    モリリクエストが先取りされたバッファメモリブロック
    に対する初めてのアクセスであるとき、前記メモリリク
    エストのリクエスト情報で加算方向のバッファメモリブ
    ロックデータの先取りが指示されているならばリクエス
    トアドレスの加算方向である次のバッファメモリブロッ
    クのバッファメモリ登録の有無を索引し、索引結果が無
    であるときに前記次のバッファメモリブロックの前記バ
    ッファメモリ上への先取りを行うための第1の索引先取
    り手段と、前記メモリリクエストのリクエスト情報で減
    算方向のバッファメモリブロックの先取りが指示されて
    いるならばリクエストアドレスの減算方向である一つ前
    のバッファメモリブロックの前記バッファメモリへの登
    録の有無を索引し、索引結果が無であるときに前記一つ
    前のバッファメモリブロックの前記バッファメモリ上へ
    の先取りするための第2の索引先取り手段とを具備して
    構成したことを特徴とするバッファメモリブロック先取
    り方式。
JP60179797A 1985-08-15 1985-08-15 バツフアメモリブロツク先取り方式 Pending JPS6240553A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60179797A JPS6240553A (ja) 1985-08-15 1985-08-15 バツフアメモリブロツク先取り方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60179797A JPS6240553A (ja) 1985-08-15 1985-08-15 バツフアメモリブロツク先取り方式

Publications (1)

Publication Number Publication Date
JPS6240553A true JPS6240553A (ja) 1987-02-21

Family

ID=16072060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60179797A Pending JPS6240553A (ja) 1985-08-15 1985-08-15 バツフアメモリブロツク先取り方式

Country Status (1)

Country Link
JP (1) JPS6240553A (ja)

Similar Documents

Publication Publication Date Title
US11789872B2 (en) Slot/sub-slot prefetch architecture for multiple memory requestors
CA1151293A (en) Cache memory organization
US6295594B1 (en) Dynamic memory allocation suitable for stride-based prefetching
US5958040A (en) Adaptive stream buffers
JP3425158B2 (ja) マルチバッファデータキャッシュを具えているコンピュータシステム
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
JP3618385B2 (ja) データをバッファリングする方法およびそのシステム
JP2002297379A (ja) ハードウェアプリフェッチシステム
US6782454B1 (en) System and method for pre-fetching for pointer linked data structures
JPH07129471A (ja) 主メモリ・プリフェッチ・キャッシュを含むコンピュータ装置とその作動方法
US6216208B1 (en) Prefetch queue responsive to read request sequences
JPH09160827A (ja) コールド・キャッシュ命令のプリフェッチ
US11086632B2 (en) Method and apparatus for providing accelerated access to a memory system
US11500779B1 (en) Vector prefetching for computing systems
EP0173909B1 (en) Look-aside buffer least recently used marker controller
US20010032297A1 (en) Cache memory apparatus and data processing system
JP3733604B2 (ja) キャッシュメモリ
JPS6240553A (ja) バツフアメモリブロツク先取り方式
EP0296430A2 (en) Sequential prefetching with deconfirmation
JPS6240554A (ja) バツフアメモリブロツク先取り方式
US7325098B1 (en) System and method for non-destructive handling of outsized words by a cache
JPH05158793A (ja) 並列キャッシュメモリ
JP3219196B2 (ja) キャッシュデータアクセス方法及び装置
JPH0690681B2 (ja) キャッシュメモリ制御方式