JPS622344B2 - - Google Patents

Info

Publication number
JPS622344B2
JPS622344B2 JP55034029A JP3402980A JPS622344B2 JP S622344 B2 JPS622344 B2 JP S622344B2 JP 55034029 A JP55034029 A JP 55034029A JP 3402980 A JP3402980 A JP 3402980A JP S622344 B2 JPS622344 B2 JP S622344B2
Authority
JP
Japan
Prior art keywords
address
data
directory
main memory
storage section
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
Application number
JP55034029A
Other languages
English (en)
Other versions
JPS56130877A (en
Inventor
Tetsuya Kawakami
Tadaaki Bando
Yasushi Fukunaga
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 Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
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 Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP3402980A priority Critical patent/JPS56130877A/ja
Publication of JPS56130877A publication Critical patent/JPS56130877A/ja
Publication of JPS622344B2 publication Critical patent/JPS622344B2/ja
Granted 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

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)

Description

【発明の詳細な説明】 本発明は、バツフアメモリの制御装置、特にメ
インメモリの内容とバツフアメモリの内容の一致
をとるためのバツフア制御装置に関するものであ
る。
データ処理装置の高速化に伴なつて、超高速の
小容量のバツフアメモリを設けて、メインメモリ
の一部のデータを上記バツフアメモリに移して置
きデータの処理に当つては、そのバツフアメモリ
を直接アクセスするようにし、実質的に高速な大
容量のメモリを持つのと同じ効果があるようにし
たコンピユータが開発されてきた。
この様なコンピユータでは、メインメモリ内の
比較的良く参照されるデータが、ブロツク単位で
随時バツフアメモリの中に取り込まれており、デ
ータの処理の大部分を、低速なメインメモリを使
用せず、高速なバツフアメモリのみを使つて済ま
せることができる様になつている。これによつて
データ読出し時間が短縮され、データ処理速度が
増すわけである。
しかし、データの書込みに対しては、一般的に
バツフアメモリに加えてメインメモリにもデータ
を書込むストア・スルー方式が用いられている。
これは、メインメモリとバツフアメモリの内容の
不一致をなくすために取られている方式がある
が、これにしても次の様なメインメモリとバツフ
アメモリの内容の不一致が生じる。
第1図は、この不一致を示すための説明図であ
る。第1図では、CPU10とCPU11を持つマ
ルチプロセツサ構成や各モジユールをむすぶ共通
バス40構成として図が描かれているが、これら
は本特許の本質とは関係なく、違つた構成のシス
テムでもそれがメインメモリへの各種のアクセス
が必ずバツフアメモリを経由しなければならない
様なシステムでない限り、適用できる。第1図は
この代表例であり、各CPU10,11はそれぞ
れバツフアメモリ20,21を持ち、これらのバ
ツフアメモリ20,21と、入出力装置60を制
御するチヤンネル50は共通バス40を介してメ
インメモリ70につながつている。メインメモリ
とバツフアメモリの内容の不一致が問題となるの
は、例えばCPU10がメインメモリ70のある
データAを、バツフアメモリ20内に取り込んで
処理を行つている時、CPU11がバツフアメモ
リ21及びメインメモリ70にあるデータAを書
き替えた場合や、CPU10がメインメモリ70
のあるデータBを、バツフアメモリ20内に取り
込んで処理を行つている時、チヤネル50を通し
て入出力装置60からメインメモリ70へデータ
が転送されデータBの内容を変えてしまつた場合
であり、これらの内容の不一致を解消するために
何らかの対策が必要となつてくる。
この対策の主なものは、バツフアメモリ内に取
り込まれているデータの、メインメモリ上での位
置の情報を格納しているデイレクトリイと共に、
そのデータが有効か否かを示す有効表示記憶部を
持ち、他の装置によりメインメモリへデータがス
トアされた場合は、そのデータがバツフアメモリ
に取り込まれているかどうかを調べ、もし取り込
まれている場合は該当データの有効表示記憶部に
無効と書込み、そのデータを無効化することであ
る。
しかし、これらの処理は本来の処理をある程度
妨げるものであり、かつハード量を増大させるも
のである。それゆえ従来、各種の工夫を用いて極
力その影響を取り除く努力が行われてきた。
その一つは、デイレクトリイを二重に設け、一
方を自CPUが使用し、他方をメインメモリにス
トアされたデータのアドレスチエツクに使用する
方法である。確かにこの方法はアドレスチエツク
に使用される時間が節約されるが、無効化を行う
際は両方の有効表示を無効化しなければならない
ため、その間CPUの動作が妨げられる他、デイ
レクトリイを二つ持つことによるハード量増大の
影響が大きい。
その一つは、メインメモリ上のデータの一定単
位ごとに、そのデータが現在各CPUのバツフア
メモリに取込まれているかどうかを示す表示を設
け、メインメモリにデータがストアされる毎に、
その表示を調べ、無効化を必要とするCPUに知
らせる方法である。従つてこの場合も無効化する
間CPUの動作が妨げられる。
その一つは、メインメモリへデータをストアし
たアドレスを幾つか貯えるバツフアを設け、
CPUがバツフアメモリを参照していない時に、
無効化の処理を行う方法である。この方法は
CPUのメモリ参照回数が少ない場合は有効であ
るが、最近の計算機の様に命令の先取りやパイプ
ライン処理が用いられる場合には、バツフアメモ
リがほとんど連続的に使用されており、しかもア
ドレスを貯えるバツフアが満杯になればやはり自
CPUの処理を止めて無効化を行うか、または他
装置に対してメインメモリへのストア動作を禁止
しなければならない。
以上の方法に較べてハード量の増加が少なく、
本来の動作への影響が小さい方法が提案されてい
る。この方法は、データ記憶部に使用されるメモ
リに比べて高速なメモリをデイレクトリイ及び有
効表示記憶部に使用し、CPUが使用した残りの
時間を使用して、無効化の処理を行うものであ
る。これは、無効化の処理にはデータ記憶部を必
要とせず、デイレクトリイ及び有効表示記憶部に
必要とされる容量がデータ記憶部の容量に比べて
少ないことから、経済的に高速RAMを使用でき
実現性の高い方法である。以下、第2,3,4図
を用いてこの方法による無効化を説明する。
第3図にこの方式を用いた場合のタイミングを
示す。第4図イ,ロは各タイミングに応じたフロ
ーチヤートを示す。バツフアメモリに格納されて
いるデータのアドレス情報を保持しているデイレ
クトリイの動作タイミング81は、そのデータの
有効性を示す有効表示記憶部の動作タイミングと
共に、データを格納しているデータ記憶部の動作
タイミング82の半分以下であり、例えば前半を
CPUが、また後半を他の装置によりメインメモ
リへデータがストアされた際のアドレスチエツク
に用いている。この従来例で重要なことは、デイ
レクトリイの動作タイミング81が、有効表示記
憶部の動作タイミングと同じであるということで
ある。このことを、バツフアメモリで一般的に使
用されるセツト・アソシアテイブ方式の例を第2
図で述べる。前提条件として、メインメモリはブ
ロツク単位に分割されており、該ブロツク毎にバ
ツフアメモリも分割した形となつているものとす
る。即ち、メインメモリとバツフアメモリとは互
いにブロツク単位に対応している。CPUからバ
ツフアメモリに出されたアドレスはバツフアアド
レスレジスタ22にTAGデータ、ブロツクアド
レスBA、ブロツク内アドレスAとしてラツチさ
れており、メインメモリへデータがストアされる
アドレスは無効化アドレスレジスタ23にTAG
データ、ブロツクアドレスBA、ブロツク内アド
レスAとしてラツチされている。タイミング発生
器100からのタイミング信号τ,τの中の
前半τで、セレクタ24,25はバツフアアド
レスレジスタ22側に、また後半(τ)では無
効化アドレスレジスタ23側に倒される。
従つてデイレクトリイ26や有効表示記憶部2
7は前半でCPUのアドレスに、また後半で無効
化アドレスにアクセスされ、コンパレータ28で
アドレス情報が一致しているかどうか調べられ、
そしてアンド回路29でデータが有効であるかど
うかかが調べられる。アドレス情報が一致し、か
つデータが有効である場合は、前半ならF・F
(フリツプフロツプ)31がセツトされ、後半な
らF・F30がセツトされる。これらのF・Fの
意味はF・F31が、データ記憶部34内に必要
とするデータが存在するのでゲート回路33を通
してCPUにデータを送るということであり、
F・F30は、無効化しなければならないアドレ
スがデイレクトリイ26に存在するので、有効表
示クリア信号32で、有効表示記憶部27の該当
するエリアを無効化するということである。ここ
で、データ記憶部34は、セレクタを通さずにア
クセスされるため、1タイミング信号の間に読み
出せればよい。ここにおいて、デイレクトリイ2
6と有効表示記憶部27は、同時にアクセスがな
されるため、第3図のタイミング信号83のT0
の場合の様に、該当する無効化のアドレスがない
場合は何ら影響がないが、同T1の場合の様に、
該当する無効化アドレスがあつた時は、次のT2
で無効化を行う必要があり、この間他の装置はメ
インメモリへのストア動作を禁止されることにな
る。なぜならば、他装置への影響をなくすため一
つのタイミング信号内で有効表示記憶部を読み出
しかつそれの無効化を行うためには、デイレクト
リイ26、有効表示記憶部27の動作タイミング
は、データ記憶部34の1/3以下で動作する必要
があり、この値が1/2以下の場合に比べてかなり
の高速性を必要とし、実現性が乏しいからであ
る。
従つて本発明の目的は、この値が1/2以下の場
合でも本来の動作に何ら影響を与えず、他の装置
によりメインメモリへストアされるデータのアド
レスの無効化を行うバツフアメモリ制御装置を提
供することである。
本発明はデイレクトリイと有効表示記憶部を分
離し、よつて両者の別々の使用を可能とし、かつ
無効化に当つては、有効表示記憶部を読み出さ
ず、デイレクトリイの一致のみで無効化を行うこ
とによつて可能としたものである。
以下、本発明の一実施例を図面によつて説明す
る。第5図は、セツトアソシアテイブ方式におけ
る本発明の例である。ただし、図面簡略化のため
セツト数が1の場合(ダイレクト・マツピング)
で描いてある。本実施例では、従来例第2図と比
べて、デイレクトリイ26と有効表示記憶部27
を分離し、別々にアクセス可能な様にセレクタ3
5を追加し、アンド回路29はCPUからのアク
セスに対してのみ働く様に回路を変更してある。
この動作タイミングの一実施例を第6図で示
す。タイミング信号83の前半でCPUからのア
ドレスにはデイレクトリイ26をアクセスし、コ
ンパレータ28でアドレス情報が一致しているか
どうかを調べ、その情報を一致F・F36にセツ
トして置く。後半で有効表示記憶部27を読み出
し、アンド回路29でアドレス情報が一致し、か
つ有効であるかどうかを確かめ、F・F31にこ
の値をセツトしておき、もしそうであるならば、
データ記憶部34からゲート回路33を通して
CPUにデータが送られる。同時に後半で、無効
化されるべきアドレスがデイレクトリイ26をア
クセスし、同様にコンパレータ28でアドレス情
報の比較を行い、その比較結果をF・F30にセ
ツトし、無効化を必要とするならば、有効表示ク
リア信号32によつて、次のタイミング信号83
の前半で有効表示記憶部27をアクセスし、該当
するエリアを無効化する。この様にデイレクトリ
イ26と有効表示記憶部27を分離し使用時間に
差を付け、無効化に際して有効表示記憶部27を
読み出さず、デイレクトリイ26とのアドレス情
報の比較のみで無効化を行うことによつて、本来
の動作に何らの影響も与えないことが可能とな
る。以上の実施例では、タイミング信号τ,τ
に関するハードウエアは簡単な内容のため省略
している。第9図イ,ロには、以上の実施例のフ
ローチヤートを示している。
第6図で示したタイミングは、本発明を説明す
る一例であり、第7図は約1/4ずれた場合、第8
図は第5図と逆の関係にある場合を示す。勿論こ
れらの間に位置するタイミングも考えられる。
以上により、本発明によればデータ処理装置の
本来の動作に何ら影響を与えることなく、メイン
メモリとバツフアメモリの内容を一致させること
ができる。
【図面の簡単な説明】
第1図はメインメモリとバツフアメモリの内容
の不一致の例を示す説明図、第2図は本発明が適
用される前のセツトアソシアテイブ方式における
一例を示す回路図、第3図は第2図の回路の動作
タイミングの一例を示すタイムチヤート、第4図
は従来例のフローチヤート、第5図は本発明を使
用した時のセツトアソシアテイブ方式における一
実施例の回路図、第6図は第5図の回路の動作タ
イミングの一実施例を示すタイムチヤート、第
7,8図は第5図の変形例を示すタイムチヤー
ト、第9図は本発明の実施例でのフローチヤート
である。 20,21……バツフアメモリ、26……デイ
レクトリイ、27……有効表示記憶部、34……
データ記憶部、70……メインメモリ。

Claims (1)

    【特許請求の範囲】
  1. 1 メインメモリの一部のデータを貯えるデータ
    記憶部と、該データのメインメモリ上での位置を
    示す情報を貯えるデイレクトリと、該データの有
    効性を示す情報を貯える有効表示部と、プロセツ
    サから出力された上記データ記憶部用のアドレス
    を格納する第1のアドレスレジスタと、共通バス
    から得られる無効化用のアドレスを格納する第2
    のアドレスレジスタと、第1のアドレスレジスタ
    内のデイレクトリ用アドレスと第2のアドレスレ
    ジスタ内のデイレクトリ用無効化アドレスとを選
    択して上記デイレクトリにアドレスを提供する第
    1のセレクタと、第1のアドレスレジスタのデイ
    レクトリ用アドレスと第2のアドレスレジスタの
    デイレクトリ用無効化アドレスを選択して上記有
    効表示記憶部にアドレスを提供する第2のセレク
    タと、上記第1、第2のセレクタを制御してプロ
    セツサからデイレクトリと有効表示記憶部へのア
    クセスを異なる時間帯で行わせる手段と、より成
    るバツフアメモリ制御装置。
JP3402980A 1980-03-19 1980-03-19 Control system for burrer memory Granted JPS56130877A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3402980A JPS56130877A (en) 1980-03-19 1980-03-19 Control system for burrer memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3402980A JPS56130877A (en) 1980-03-19 1980-03-19 Control system for burrer memory

Publications (2)

Publication Number Publication Date
JPS56130877A JPS56130877A (en) 1981-10-14
JPS622344B2 true JPS622344B2 (ja) 1987-01-19

Family

ID=12402925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3402980A Granted JPS56130877A (en) 1980-03-19 1980-03-19 Control system for burrer memory

Country Status (1)

Country Link
JP (1) JPS56130877A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5565864B2 (ja) * 2010-09-08 2014-08-06 日本電気通信システム株式会社 キャッシュメモリ制御装置と方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51148334A (en) * 1975-06-16 1976-12-20 Hitachi Ltd Buffer memory control method
JPS54106135A (en) * 1978-02-08 1979-08-20 Nec Corp Data process system
JPS54140841A (en) * 1978-04-25 1979-11-01 Nec Corp Memory control system of multiprocessor system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51148334A (en) * 1975-06-16 1976-12-20 Hitachi Ltd Buffer memory control method
JPS54106135A (en) * 1978-02-08 1979-08-20 Nec Corp Data process system
JPS54140841A (en) * 1978-04-25 1979-11-01 Nec Corp Memory control system of multiprocessor system

Also Published As

Publication number Publication date
JPS56130877A (en) 1981-10-14

Similar Documents

Publication Publication Date Title
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5659713A (en) Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US5146603A (en) Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
US5530823A (en) Hit enhancement circuit for page-table-look-aside-buffer
GB2293672A (en) Virtual page memory buffer
US7472227B2 (en) Invalidating multiple address cache entries
EP0365117B1 (en) Data-processing apparatus including a cache memory
EP0340668A2 (en) Multi-processor system having a multi-port cache memory
US4992977A (en) Cache memory device constituting a memory device used in a computer
US5953747A (en) Apparatus and method for serialized set prediction
US5530835A (en) Computer memory data merging technique for computers with write-back caches
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US4658356A (en) Control system for updating a change bit
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US5966737A (en) Apparatus and method for serialized set prediction
GB2307319A (en) Dual-directory virtual cache
JPS622344B2 (ja)
US5838946A (en) Method and apparatus for accomplishing processor read of selected information through a cache memory
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
JPS6329297B2 (ja)
EP0224168A2 (en) Buffer storage control system
JPH07234819A (ja) キャッシュメモリ