JPH0253813B2 - - Google Patents

Info

Publication number
JPH0253813B2
JPH0253813B2 JP55040581A JP4058180A JPH0253813B2 JP H0253813 B2 JPH0253813 B2 JP H0253813B2 JP 55040581 A JP55040581 A JP 55040581A JP 4058180 A JP4058180 A JP 4058180A JP H0253813 B2 JPH0253813 B2 JP H0253813B2
Authority
JP
Japan
Prior art keywords
memory
cache
main memory
cpu
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.)
Expired - Lifetime
Application number
JP55040581A
Other languages
English (en)
Other versions
JPS55132586A (en
Inventor
Eichi Dagurasu Robaato
Eru Fuinii Toomasu
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.)
Honeywell Inc
Original Assignee
Honeywell 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 Honeywell Inc filed Critical Honeywell Inc
Publication of JPS55132586A publication Critical patent/JPS55132586A/ja
Publication of JPH0253813B2 publication Critical patent/JPH0253813B2/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
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

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)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 本発明は計算機システムに関し、更に詳しく云
えば計算機システムに用いられる仮想キヤツシユ
構成に関する。
計算機システムに於て、大型計算機の性能を著
しく制限する要因は中央処理装置(以下CPUと
略記する。)からのメインメモリへのアクセスタ
イムである。計算機システムに於けるメインメモ
リへのアクセスタイムは主に、メモリアクセス路
の母線遅延とアービツトレイションに起因する。
他方、高速ランダムアクセスメモリは非常に速い
アクセスタイムを有するメモリである。しかしな
がら、高速ランダムアクセスメモリで高速の大型
メインメモリを構成することは経済的でない。
ところが、メインメモリが比較的低速でアクセ
スする型のものであつても、CPUに近い場所に
小型のランダムアクセスメモリを設置し、これを
CPUが排他的に使用することによつて、大型計
算機システムのメモリの実効アクセスタイムが改
善される。この小型ランダムアクセスメモリはそ
のアクセスタイムがメインメモリよりも非常に短
いもので、通常はキヤツシユメモリと呼ばれてい
る。キヤツシユメモリを用いた計算機システムの
一例に於て、メインメモリの容量が256000語以上
であるのに対し、キヤツシユメモリの容量は1024
語であつた。経験によれば、計算機プログラムの
参照のローカスは比較的小さい。この種の模範的
な構造のものに於て、計算機システムは容易に90
パーセントのヒツト率を達成した。すなわち長時
間にわたつて調べたところ、メモリから要求され
たデータの90パーセント以上がキヤツシユメモリ
中に見出された。
通常の構造のキヤツシユメモリは連想メモリと
データメモリを含んでいる。連想メモリはCPU
から供給されるアドレスを、語の値を内蔵するデ
ータメモリのロケーシヨンに関係づけるのに用い
られる。CPUがメモリ要求を発すると、アドレ
スが連想メモリに与えられる。もし、そのアドレ
スの内容がキヤツシユメモリ内に存在すれば、
「ヒツト」が発生し、このデータはキヤツシユメ
モリから取り出すことができる。もし連想メモリ
が要求されたアドレスが存在しないことを指示し
たならば、「ミス」が発生し、かつデータは通常
の方法でメインメモリから取出さなければならな
い。データがメインメモリから読出されると、そ
のロケーシヨンの内容をCPUが近い将来呼出す
という高い可能性をもつて、データはキヤツシユ
中に負荷される。
1個のCPUと1個のメインメモリとを特徴と
する簡単なシステムに於て、このようなキヤツシ
ユメモリがうまく動作しているのに対し、1個の
メインメモリに複数のCPUがアクセスするシス
テムに於ては問題がある。各CPUはそれぞれ関
連するキヤツシユメモリを有するけれども、メイ
ンメモリには全てのCPUによつて共用される部
分がある。それ故、メインメモリからの或るアド
レスが複数のCPUの少くとも1つに関連するキ
ヤツシユに書込まれ、かつ他のCPUがメインメ
モリのそのデータをアツプデイトすると、キヤツ
シユメモリに書込まれたデータはメインメモリに
書込まれたデータと一致しなくなり、従つてその
データが呼出された場合はエラーとなる。
最近、数個の無関係なプログラムの制御によつ
てCPUが間けつ的に動作できるような多重プロ
グラミングが可能なCPUが開発された。このよ
うな状態で、もしもキヤツシユがCPUと関連づ
けられると、CPUが別のプログラムに変更され
る毎に、キヤツシユへのアクセスの「ヒツト」率
は著しく低下する。なぜなら、新たなプログラム
に関連するキヤツシユ内のデータは前のプログラ
ムとは無関係であり、他のプログラムに関連する
ものによつてメインメモリの別の部分から引出さ
れる。それ故、プログラム変更時に於けるキヤツ
シユの内容は、第2の即ち次のプログラムとは無
関係である。CPUが1つのプログラムから他の
プログラムに変更する度に、キヤツシユを再負荷
する必要性が著しく動作を遅くしている。
代表的な現用システムに於て、CPUのアドレ
スは、プログラムアドレス、即ち仮想アドレスか
らメモリアドレス即ちフイジカルアドレスに翻訳
される。このアドレス翻訳はアドレス翻訳器、即
ちマツパー(mapper)によつて行われる。翻訳
値は実行中のプログラム毎に異なる。例えば、ア
ドレス「0」はマツパーによつて、3個のプログ
ラムA,B及びCに対して3つの異なるフイジカ
ルアドレスに変換される。
現用システムに於て、メモリロケーシヨンの内
容にアクセスするためには、CPUは仮想アドレ
スをマツパーに与え、マツパーは仮想アドレスを
フイジカルアドレスに変換し、フイジカルアドレ
スはキヤツシユの関連するメモリに与えられ、
「ヒツト」のチエツクは前述した通りに遂行され
る。フイジカルアドレスはキヤツシユで用いられ
るから、動作はキヤツシユルツクアツプを進める
のにシーケンシヤルに仮想アドレスからフイジカ
ルアドレスへの翻訳を続けなければならない。
従つて本発明の目的は上述の欠点を除去した改
良されたキヤツシユメモリを有する計算機システ
ムを提供することにある。
以下図面を用いて本発明を説明する。
第1図に於て2はメインメモリで、4は第
1CPUである。第1CPU4は母線6によつてメメ
インメモリ2に接続されている。第1図の構成に
於て、複数のCPUがメインメモリ2と通信する。
この複数とはCPUとこれに関連する回路のそれ
ぞれ4個である。第1CPU4はマツパー5を経て
母線6によりメインメモリ2に接続される。キヤ
ツシユ8は第1CPU4により排他的に使用される
ように母線6に接続される。同様に第2CPU10
はマツパー11を経て、母線12によつてメイン
メモリ2に接続される。キヤツシユ14はCPU
10により排他的に使用されるように母線12に
接続される。
第3CPU16はマツパー17を介し、母線18
によつてメインメモリ2に接続される。キヤツシ
ユ20はCPU16により排他的に使用されるよ
うに母線18に接続される。第4CPU22はマツ
パー28を介し、母線24によつてメインメモリ
2に接続される。キヤツシユ26はCPU22に
より排他的に使用されるように母線24に接続さ
れる。入出力プロセツサ28もメインメモリ2に
接続される。入出力プロセツサ28はCPUから
の制御信号に応答して、選択された出力装置を制
御し、若しくはCPUからの信号に応答して、接
続された入力装置からのデータをメインメモリ2
に供給する。入出力プロセツサ28はメインメモ
リ2と、関連入出力装置との間のデータ転送を行
う。
第1図システムを確立するためには、メインメ
モリ2にはCPU4,10,16及び22のそれ
ぞれに、与えられた時間に専用される部分が必要
である。しかしながら、メインメモリ2には数個
のCPUで共用される部分もある。これがメイン
メモリの共用部分で、これはキヤツシユメモリを
使用する場合に問題を起しやすい。例えば、
CPU4がメインメモリ2の共用部分の或るアド
レスの情報の呼出しを受け、かつそのデータとア
ドレスをキヤツシユ8に書込んだと仮定する。次
いでCPU22がメインメモリ2の共用部分の上
記と同じアドレスと通じ、その操作によつて該ア
ドレスのデータが変更されたと仮定する。する
と、キヤツシユ8はメインメモリ2のデータのア
ドレスの記録を有しており、もしもCPU4が再
びそのアドレスを呼出すならば、キヤツシユ8内
にそのアドレスを見つけ、そこからデータを読出
すだろうけれども、そのデータはメインメモリ2
内の対応するアドレスの現在のデータと一致しな
いから、正しくないという状態が発生する。この
ような不都合を避けるために、メインメモリが全
てのCPUと関連するキヤツシユにより絶えずモ
ニターされ、データの変更が生じた場合には訂正
措置がとられるような手段を備えるのが一般的で
ある。
上述した如く、メモリロケーシヨンからデータ
を呼出すCPUの信号は、メインメモリのデータ
の仮想アドレスを含む。仮想アドレスはマツパー
によつてフイジカルアドレスに変換される。フイ
ジカルアドレスはメインメモリ2に対し参照され
る。第1図に示す如く、キヤツシユはメインメモ
リ内のフイジカルアドレスに対応するフイジカル
アドレスに応答する。キヤツシユをマツパーに追
従させ、かつフイジカルアドレスに応答させる
と、動作はさらに遅くなる。なんとなればキヤツ
シユは、キヤツシユがフイジカルアドレスに応答
する前に、仮想アドレスからフイジカルアドレス
への信号変換を待たなければならないからであ
る。
第2図に於て、CPU4′は結合手段30によつ
てマツパー5′に接続されている。キヤツシユ
8′は結合手段30に接続され、CPU4′から発
せられる仮想アドレス信号に直接応答する。キヤ
ツシユ8′がCPU4′によつて排他的に使用され
ている限り、それはCPU4′から発せられる仮想
アドレス信号に応答するように組織され得る。従
つて、メインメモリ2のアクチユアルアドレスを
表わすフイジカルアドレス信号に、キヤツシユが
応答する必要はない。それ故、キヤツシユメモリ
8′は、第1図に示す構成に於て出会う必要な逐
次時間遅れを避けて、マツパー5′と同時に動作
することができる。
CPUが他の複数のCPUに共用されているメイ
ンメモリの一部をアドレスする時、このアドレス
はマツパー5′内に認識され、キヤツシユ8′に与
える禁止信号を発生する。第2図に示す構造に従
つて変形した第1図の基本的システム構成に於て
は、各CPUはフイジカルアドレス信号にではな
く仮想アドレス信号に応答するキヤツシユを具備
し、かつ第2図に示す如く関連するマツパーに禁
止信号を発生させるであろう。それ故、キヤツシ
ユメモリユニツトのいずれもが、メインメモリの
共用部分のどのアドレスに対しても応答しないで
あろう。このような構成に於ては、メインメモリ
の共用部分は決してキヤツシユ内に書込まれな
い。キヤツシユメモリは関連するCPUに専用さ
れたメインメモリの夫々の部分に対応したアドレ
スとデータを含むにすぎない。従つてメインメモ
リ2の共用部分をCPUとその関連キヤツシユと
が絶えずモニターする必要は無くなり、しかもこ
れによるエラーの発生の可能性もなくなつた。メ
インメモリの共用部分へのアクセスは、通常は数
個のCPUによつて要求されるメモリデータの極
めて小さな部分であるから、「ヒツト」率が著し
く害されることはない。
前述した如く、従来のキヤツシユメモリ構成に
於て出会う困難の1つは、個々のCPUのマルチ
ブルプログラミングに含まれる困難である。キヤ
ツシユがCPUそれ自体と同一視されるようにな
つているとしたならば、そのCPUがオペレーテ
イングシステム内の異なるプログラムに切替える
たびに、キヤツシユ内に書込まれたデータは新た
なプログラムによつては用いられないであろう。
なぜなら、CPU内のプログラムはまれにしかデ
ータを共用しないからである。それ故、新たなプ
ログラムに対してCPUに要求されるデータの各
ビツトは、メインメモリから修正させられ、かつ
次の使用のためにキヤツシユ内に書込まれる必要
があろう。キヤツシユメモリに新たなプログラム
に必要なワーキングデータが負荷されるまでは、
全てのデータは低速のメインメモリから得られな
ければならない。
第3図に示す本発明の一実施例に於て、上述の
問題は除去されている。CPU4′は結合手段30
によつてマツパー5′に接続されている。第2図
の結合手段30に相当する結合手段30は2つの
部分30aと30bとから成る。部分30aは
CPU4′から仮想アドレスをマツパー5′に伝送
する。部分30bはコンピユータシステムの数個
のプログラムのどれが動作中であるかを示プログ
ラムアイデンテイフイケーシヨンナンバーを
CPUからマツパー5′に伝送する。これら2つの
部分により伝送される信号はマツパー5′で解読
され、マツパー5′はフイジカルアドレス信号を
発生し、出力結合手段6′を経てメインメモリ
2′に伝送する。
部分30aによつて伝送される仮想アドレス信
号は、さらに結線32を経てキヤツシユ8′に加
えられる。キヤツシユ8′はセツト連想メモリ3
4、キヤツシユ制御論理回路36及びキヤツシユ
データメモリ38を含む。セツト連想メモリ34
はCPU4′のオペレーテイングプログラムの数に
対応した数のセツトに分割される。同様に、キヤ
ツシユメモリ38はセツト連想メモリ34のセツ
トの数に対応するセツトに再分割される。それ
故、CPUのオペレーテイングプログラムの各々
は、それに関連するキヤツシユメモリの専用部分
を有する。第3図に4個の上記セツトが示されて
いる。CPU4′とマツパー5′間の結線30bは
プログラムアイデンテイフイケーシヨンナンバー
を伝送する。このプログラムアイデンテイフイケ
ーシヨンナンバーは結線40を経てセツト連想メ
モリ34とキヤツシユデータメモリ38の夫々の
入力にも印加される。結線32により伝送される
仮想アドレス信号は2つの部分に分割され、下位
部分はセツト連想メモリ34とキヤツシユデータ
メモリ38に印加される。プログラムアイデンテ
イフイケーシヨンナンバーと共に、これらの信号
がセツト連想メモリ34とキヤツシユデータメモ
リ38に印加されると、セツト連想メモリ34は
仮想アドレス信号の下位部分に相当するアドレス
に対するセツトとサブセツトの夫々を走査する。
連想メモリ34の数セツトの出力は複数の比較器
42の夫々の一方の入力端子に印加される。線3
2によつて伝えられる仮想アドレスの上位部分は
比較器42の夫々の他方の入力端子に並列に印加
される。プログラムアイデンテイフイケーシヨン
ナンバーに相当するアドレスのセツトだけがセツ
ト連想メモリでエネイブルされる。このアドレス
のセツトは、仮想アドレスの下位部分によつて走
査されてアドレスが見つけ出される。
アドレスの上位部分は比較器42の他方の入力
端子に印加される仮想アドレスの上位部分に対応
する。一致すると、活性化された比較器42は、
アドレスされたデータが実際にキヤツシユメモリ
に書込まれていることを意味する「ヒツト」を表
わす出力信号を、キヤツシユ制御論理回路に提供
する。キヤツシユ制御論理回路はアドレスの上位
部分のアイデンテイテイにも応答し、アドレスの
上記部分をキヤツシユデータメモリにも伝送す
る。
前述した如く、もしもCPUが探し求めている
データがメインメモリの共用部分に書き込まれて
いれば、CPUからの要求は、オペレーテイング
システムによつてセツトされる通り、メインメモ
リの共用部分がアドレスされつつあることを示す
フラグをマツパーによつて与えられるであろう。
このような状況の下では、マツパー5′は線44
に禁止信号を与え、この信号はキヤツシユ制御論
理回路36に印加されて、キヤツシユデータメモ
リのアドレツシングを阻止する。要求されたアド
レスはマツパー5′によつてメインメモリ2′のフ
イジカルアドレスに変換され、線6′を経てメイ
ンメモリ2′に伝送される。このデータはメイン
メモリから読み出され、要求を発しているCPU
に線46を経て伝送される。禁止信号によりキヤ
ツシユデータメモリは禁止されているので、この
データはキヤツシユデータメモリには負荷されな
い。
他方、もしも要求されたデータがメインメモリ
の共用部分に存在せず、かつキヤツシユ内に「ヒ
ツト」が示されているならば、上記データは線4
8によつてキヤツシユデータメモリから読み出さ
れるであろう。同様に、もし要求されたアドレス
とデータがメインメモリの共用部分に存在せず、
かつキヤツシユがキヤツシユデータメモリ内に要
求されたデータが書込まれていないことを意味す
る「ミス」を示したならば、マツパーは要求され
たアドレスをメインメモリ2′のフイジカルアド
レスに再び翻訳するであろう。するとこのデータ
は線46を経てメインメモリから読み出され、要
求を発しているCPUに供給される。しかしなが
ら、同時に、要求されたデータは、要求を発して
いるCPUによつて発せられた仮想アドレスと共
に、キヤツシユデータメモリに書込まれる。現在
の技術によれば、もしもキヤツシユの特定の部分
が完全に負荷されているときは、新しいデータに
より、例えば最も古くに使われたデータは置換さ
れる。この目的のために、セツト連想メモリ34
はその中にトランザクシヨンのトラツクを保持す
るメモリ部35を含み、結合手段37によつてキ
ヤツシユ制御論理回路36と通信する。
第4図はキヤツシユ制御論理回路36の詳細を
示す。比較器42の出力は対応する線を経てエン
コーダ50の入力端子に印加される。4個の比較
器42は別個のユニツトとして示されているの
で、比較器42の各々はマルチプルビツト出力を
発生するマルチプルビツト比較を表わしているこ
とは明らかであろう。エンコーダ50の入力端子
に印加された比較器の出力は「ヒツト」が生じる
と、CPU4′からの仮想アドレスの上位部分を表
わす部分にエンコードされる。このアドレス情報
は線32によつてキヤツシユデータメモリ38に
印加されたアドレスの下位部分と線40を経て加
えられたプログラムアイデンテイフイケーシヨン
ナンバーと組合される。比較器42の出力はオア
ゲート52の入力端子に印加され、オアゲート5
2の出力はアンドゲート54の一方の入力端子に
印加される。アンドゲート54の他方の入力端子
は線44を経てマツパー5′の出力端子に接続さ
れる。線44は要求を発しているCPUがメイン
メモリの共用部分をアドレスしつつある時はいつ
でもマツパーから禁止信号を運ぶ。それ故、キヤ
ツシユデータメモリ38のアドレツシングは、マ
ツパーからの禁止信号でアンドゲート54が禁止
されていない限り、オアゲート52とアンドゲー
ト54を経て与えられる比較器42のいずれの
「ヒツト」信号によつてもエネイブルされる。
時々、メインメモリ2の非共用データ部は、例
えば第1図の入出力プロセツサ28を介して与え
られるデータによつてCPU4′の制御の下に変更
されたり、或いは一群のアドレスのステータスが
非共用から共用へ変更されることがある。入出力
プロセツサ28は、データ端末、テープ若しくは
カードリーダなどの入出力装置とメモリとの間の
情報転送を制御する。もし、メモリ2の変更され
た部分からのデータがキヤツシユデータメモリ内
に変更される前に書込まれていたならば、キヤツ
シユメモリに書込まれたこのデータは間違いであ
ろう。従つて、非共用から共用に移つたメインメ
モリの部分に相当するキヤツシユメモリの部分を
パージする手段が設けられる。このパージを実施
するためには、パージ制御論理回路39はCPU
4′からの制御信号に応答し、セツト連想メモリ
34を経て行うキヤツシユデータメモリのパージ
を制御する。CPU4′はメインメモリ内で変更さ
れたデータのアドレスに相当するアドレスのレン
ジをアイデンテイフアイする。CPUは、また、
線41を経てセツト連想メモリに信号を伝送す
る。この信号はパージ動作が呼出されていること
をアイデンテイフアイする。次いでCPUはキヤ
ツシユ内にアドレスの走査信号を発生し、限定さ
れたレンジ内にあるアドレスが発生する時は、こ
れらのアドレスはセツト連想メモリからパージさ
れる。さらに、上記レンジ内のアドレスがCPU
から呼出されると、「ミス」が発生し、修正デー
タがメインメモリから読み出され、かつ「ミス」
ルーチンに従つて、キヤツシユ内に書込まれる。
第5図はパージ制御論理回路39の一実施例で
ある。第1結線手段60はパージされるべきアド
レスのレンジの上限を表わす信号をCPU4′から
伝送する。第2結線手段62はパージされるべき
アドレスのレンジの下限を表わす信号を伝送す
る。パージ論理回路39は第1の比較器64の組
を含む。比較器64は図に於ては4個示されてい
る。比較器64はそれぞれセツト連想メモリ34
の大きな一区分に対応する。各比較器64の一方
の入力端子はパージレンジの上限値を表わす信号
を伝送する結線60が接続される。各比較器64
の他方の入力端子は、CPUからの走査アドレス
の最上位の数字を伝送する線32に接続される。
比較器64はパージレンジの上限値が線32によ
つて供給されたアドレスよりも小さい場合に、出
力信号を発生する。この出力信号は複数のインバ
ータ66の対応する1つによりインバートされ
る。各インバータ66の出力端子は複数のアンド
ゲート68の対応する1つの一方の入力端子に接
続される。第2の比較器70の組の夫々の一方の
入力端子は、CPUから与えられる信号レンジの
下限値を表わす信号を伝送する線62に接続され
る。各比較器70の他方の入力端子はアドレスの
最上位の数字を伝送する線32に接続される。各
比較器70の出力端子は対応するアンドゲートの
他方の入力端子に印加される。比較器70はもし
線62を経て伝送された下限値信号が線32によ
つて伝送されたアドレスを表わす信号と等しい
か、又は小さいならば、出力信号を発生する。
換言すれば、線32によつてCPUから伝送さ
れたアドレスを表わす信号が、線60によつて与
えられる上限値と線62によつて与えられる下限
値との間にあれば、各アンドゲート68はそれぞ
れ出力信号を発生する。アンドゲート68の出力
は指示されたアドレスのパージを行うためにセツ
ト連想メモリ34の対応するセグメントに戻さ
れ、CPUから線40を介して与えられるプログ
ラムナンバー信号によつてエネイブルされていた
セグメントだけがパージ信号により影響される。
それ故、CPU4′で開始させられたパージルーチ
ンは外部装置によつて変更させられたメインメモ
リのアドレスに相当するレンジのアドレスをキヤ
ツシユから効果的にパージする。このような状況
下で、CPUがこれらのアドレスの1つを呼出す
と、「ミス」が表示され、正しいデータがメイン
メモリから読み出される。
以上説明した如く、本発明に従つてシステム内
の複数のCPUの夫々に1個のキヤツシユメモリ
を関連させて設けた計算機システムが提供され
た。各キヤツシユはCPUからキヤツシユとマツ
パーに対し並列に与えられる仮想アドレス信号に
応答する。マツパーは仮想アドレスをフイジカル
アドレスに変換してメインメモリのアドレツシン
グを行う。キヤツシユは複数の区分に再分割され
る。キヤツシユの各区分はマルチプログラム
CPUの特定のプログラムに対応する。計算機シ
ステムは複数のCPUで共用されるメインメモリ
のアドレスをアイデンテイフアイする手段を具備
する。アイデンテイフアイが行われたことを示す
信号は、メインメモリの共用部分のアドレスとデ
ータをキヤツシユ内に書込むことを禁止するため
に用いられる。計算機システムは、更に、キヤツ
シユのデータをパージする手段を備えている。
本願発明の効果について述べると、 仮想アドレスに直接に応答するキヤツシユメモ
リを採用することにより計算機システムの総合動
作速度が向上することにある。
本来、キヤツシユメモリの概念は、メインメモ
リがアドレスされる殆どの場合に、そのアドレス
されたデータは、キヤツシユメモリに見出される
−すなわち“ヒツト”する−という点に基づく。
したがつて、本願発明の構成をとることにより、
メインメモリをアドレスする殆どの場合に、仮想
アドレスからフイジカルアドレスにほん訳する時
間を必要としないのでシステムの総合速度が大幅
に向上される。
さらに、マツパーとキヤツシユメモリが並列に
接続され、両者ともに仮想アドレスに応答するの
で、マツパーが仮想アドレスをフイジカルアドレ
スにほん訳している間に、同時にキヤツシユメモ
リは仮想アドレスを求めてその連想メモリを走査
する。そのため、求めるアドレスがキヤツシユメ
モリに見出されない−すなわち“ミス”した−場
合、ほん訳されたアドレスがメインメモリに直ち
にアクセスできるように準備されている。
その結果、頻度は少ない“ミス”状態の場合に
も、アドレスほん訳と連想メモリの走査の順次シ
ーケンス動作を避けられるので、メインメモリへ
のアクセス時間が短縮される。
【図面の簡単な説明】
第1図は共用メモリを有する従来のコンピユー
タシステムのブロツクダイヤグラムである。第2
図は本発明に従つて構成されたキヤツシユメモリ
の一実施例ブロツクダイヤグラムである。第3図
は本発明に従つて構成されたキヤツシユメモリの
詳細な一実施例ブロツクダイヤグラムである。第
4図は第3図ブロツクダイヤグラムの一部を更に
詳細に示したブロツクダイヤグラムである。第5
図は第3図ブロツクダイヤグラムのパージロジツ
クの詳細を示すブロツクダイヤグラムである。 図に於て2,2′:メインメモリ、4,4′:
CPU、5,5′:マツパー、8,8′:キヤツシ
ユメモリ、34:セツト連想メモリ、36:キヤ
ツシユデータメモリ、39:パージ制御回路であ
る。

Claims (1)

  1. 【特許請求の範囲】 1 下記の要素により構成された計算機システ
    ム。 (イ) 1個のメインメモリと複数の中央処理装置。 各中央処理装置はメインメモリに対するアク
    セス手段をそれぞれ有しており、メインメモリ
    は、フイジカルアドレスでアドレスされ、各中
    央処理装置によつてそれぞれ専用される部分
    と、さらに中央処理装置により共用される部分
    を含む。 (ロ) 複数のマツパーと複数のキヤツシユメモリ。 各マツパーは対応する中央処理装置とメイン
    メモリとの間に接続され、中央処理装置からの
    仮想アドレス信号をメインメモリを参照するた
    めのフイジカルアドレス信号に翻訳する。 各キヤツシユメモリは対応する中央処理装置に
    接続されて、該中央処理装置からの仮想アドレス
    信号に直接に応答する。 さらに、マツパーは対応する中央処理装置から
    メインメモリ内の共用フイジカルアドレスに相当
    する仮想アドレス信号を与えられると禁止信号を
    発生し、対応するキヤツシユメモリの動作を禁止
    する。
JP4058180A 1979-03-30 1980-03-31 Computer system Granted JPS55132586A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/025,679 US4264953A (en) 1979-03-30 1979-03-30 Virtual cache

Publications (2)

Publication Number Publication Date
JPS55132586A JPS55132586A (en) 1980-10-15
JPH0253813B2 true JPH0253813B2 (ja) 1990-11-19

Family

ID=21827456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4058180A Granted JPS55132586A (en) 1979-03-30 1980-03-31 Computer system

Country Status (6)

Country Link
US (1) US4264953A (ja)
JP (1) JPS55132586A (ja)
CA (1) CA1139451A (ja)
DE (1) DE3011552A1 (ja)
FR (1) FR2452745B1 (ja)
GB (1) GB2045483B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55134459A (en) * 1979-04-06 1980-10-20 Hitachi Ltd Data processing system
US4332010A (en) * 1980-03-17 1982-05-25 International Business Machines Corporation Cache synonym detection and handling mechanism
US4386402A (en) * 1980-09-25 1983-05-31 Bell Telephone Laboratories, Incorporated Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
US4429363A (en) * 1981-10-15 1984-01-31 International Business Machines Corporation Method and apparatus for managing data movements from a backing store to a caching buffer store
JPS58147879A (ja) * 1982-02-26 1983-09-02 Toshiba Corp キヤツシユメモリ制御方式
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
GB2127998B (en) * 1982-09-27 1986-06-18 Data General Corp Encachement apparatus
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing
DE3380645D1 (en) * 1982-12-28 1989-11-02 Ibm Method and apparatus for controlling a single physical cache memory to provide multiple virtual caches
US4897783A (en) * 1983-03-14 1990-01-30 Nay Daniel L Computer memory system
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
US4682281A (en) * 1983-08-30 1987-07-21 Amdahl Corporation Data storage unit employing translation lookaside buffer pointer
US4648030A (en) * 1983-09-22 1987-03-03 Digital Equipment Corporation Cache invalidation mechanism for multiprocessor systems
DE3502147A1 (de) * 1984-01-23 1985-08-08 Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
US4740889A (en) * 1984-06-26 1988-04-26 Motorola, Inc. Cache disable for a data processor
CA1233271A (en) * 1984-06-26 1988-02-23 David S. Mothersole Cache disable for a data processor
JP2539357B2 (ja) 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US5029072A (en) * 1985-12-23 1991-07-02 Motorola, Inc. Lock warning mechanism for a cache
US5155829A (en) * 1986-01-21 1992-10-13 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
US4755936A (en) * 1986-01-29 1988-07-05 Digital Equipment Corporation Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
US5237671A (en) * 1986-05-02 1993-08-17 Silicon Graphics, Inc. Translation lookaside buffer shutdown scheme
US5045996A (en) * 1986-11-12 1991-09-03 Xerox Corporation Multiprocessor cache memory housekeeping
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
JPH0727492B2 (ja) * 1988-01-21 1995-03-29 三菱電機株式会社 緩衝記憶装置
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
EP0343567A3 (en) * 1988-05-25 1991-01-09 Hitachi, Ltd. Multi-processing system and cache apparatus for use in the same
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US6092153A (en) * 1988-11-14 2000-07-18 Lass; Stanley Edwin Subsettable top level cache
US5159677A (en) * 1988-11-21 1992-10-27 International Business Machines Corp. Method and system for storing data in and retrieving data from a non-main storage virtual data space
JPH0687232B2 (ja) * 1988-12-19 1994-11-02 三菱電機株式会社 データ処理装置
US5161219A (en) * 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
CA1325288C (en) * 1989-02-03 1993-12-14 Ricky C. Hetherington Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
US5067078A (en) * 1989-04-17 1991-11-19 Motorola, Inc. Cache which provides status information
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data
US5687354A (en) * 1990-02-09 1997-11-11 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
EP0442474B1 (en) * 1990-02-13 1997-07-23 Sanyo Electric Co., Ltd. Apparatus and method for controlling cache memory
GB9008366D0 (en) * 1990-04-12 1990-06-13 British Aerospace Data interaction architecture(dia)for real time embedded multi processor systems
US5014195A (en) * 1990-05-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines
US5511226A (en) * 1992-08-25 1996-04-23 Intel Corporation System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses
US5872998A (en) * 1995-11-21 1999-02-16 Seiko Epson Corporation System using a primary bridge to recapture shared portion of a peripheral memory of a peripheral device to provide plug and play capability
US6745292B1 (en) 1995-12-08 2004-06-01 Ncr Corporation Apparatus and method for selectively allocating cache lines in a partitioned cache shared by multiprocessors
US5974509A (en) * 1996-05-01 1999-10-26 Sun Microsystems, Inc. Method for purging unused data from a cache memory
GB2318657B (en) * 1997-07-15 1998-09-02 Ncipher Corp Limited Microprocessor cache consistency
KR100253328B1 (ko) * 1997-09-30 2000-05-01 김영환 메모리의 데이터 보호회로
US6314492B1 (en) * 1998-05-27 2001-11-06 International Business Machines Corporation System and method for server control of client cache
US8468077B2 (en) * 2005-01-14 2013-06-18 Taxnet Inc. Distributed tax-return-preparation processing
KR102388985B1 (ko) * 2014-11-04 2022-04-20 부트벨딩 에스아 물체의 상호 접합
US10203893B2 (en) * 2015-10-22 2019-02-12 American Megatrends, Inc. Memory channel storage device detection
US10558468B2 (en) 2015-10-22 2020-02-11 American Megatrends International, Llc Memory channel storage device initialization
US10155695B2 (en) 2016-10-04 2018-12-18 Romeo Ilarian Ciuperca Manufactured natural pozzolan, improved manufactured natural pozzolan-based cement and method of making and using same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51150928A (en) * 1975-06-20 1976-12-24 Hitachi Ltd Memory system
JPS531611A (en) * 1976-06-28 1978-01-09 Kobe Steel Ltd Production of forged product by powder metallurgy

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR10582E (fr) * 1970-06-29 1909-07-30 Paul Alexis Victor Lerolle Jeu de serrures avec passe-partout
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories
US3979726A (en) * 1974-04-10 1976-09-07 Honeywell Information Systems, Inc. Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4020466A (en) * 1974-07-05 1977-04-26 Ibm Corporation Memory hierarchy system with journaling and copy back
JPS52149444A (en) * 1976-06-08 1977-12-12 Fujitsu Ltd Multiplex virtual space processing data processing system
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51150928A (en) * 1975-06-20 1976-12-24 Hitachi Ltd Memory system
JPS531611A (en) * 1976-06-28 1978-01-09 Kobe Steel Ltd Production of forged product by powder metallurgy

Also Published As

Publication number Publication date
CA1139451A (en) 1983-01-11
DE3011552A1 (de) 1980-10-09
JPS55132586A (en) 1980-10-15
FR2452745A1 (fr) 1980-10-24
DE3011552C2 (ja) 1989-03-02
GB2045483B (en) 1983-05-11
FR2452745B1 (fr) 1987-10-30
GB2045483A (en) 1980-10-29
US4264953A (en) 1981-04-28

Similar Documents

Publication Publication Date Title
JPH0253813B2 (ja)
KR100190351B1 (ko) 2-레벨 캐시 메모리의 방해 감소장치 및 방법
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4736293A (en) Interleaved set-associative memory
KR920005280B1 (ko) 고속 캐쉬 시스템
US4400774A (en) Cache addressing arrangement in a computer system
US4471429A (en) Apparatus for cache clearing
US4141067A (en) Multiprocessor system with cache memory
KR920008430B1 (ko) 처리 판독 메모리 장치
EP0090575B1 (en) Memory system
EP0435475B1 (en) High-performance frame buffer and cache memory system
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JPS6135584B2 (ja)
JPS6339941B2 (ja)
US5479625A (en) Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
US4453216A (en) Access control system for a channel buffer
US5175839A (en) Storage control system in a computer system for double-writing
US4513369A (en) Information processing system
EP0509994B1 (en) Centralized reference and change table for a multiprocessor virtual memory system
US5638537A (en) Cache system with access mode determination for prioritizing accesses to cache memory
US5161219A (en) Computer system with input/output cache
US5557622A (en) Method and apparatus for parity generation
JPH01187650A (ja) 緩衝記憶装置
JPS60701B2 (ja) デ−タ処理装置
GB2035632A (en) Multiprocessor system