JPS6118222B2 - - Google Patents

Info

Publication number
JPS6118222B2
JPS6118222B2 JP50135592A JP13559275A JPS6118222B2 JP S6118222 B2 JPS6118222 B2 JP S6118222B2 JP 50135592 A JP50135592 A JP 50135592A JP 13559275 A JP13559275 A JP 13559275A JP S6118222 B2 JPS6118222 B2 JP S6118222B2
Authority
JP
Japan
Prior art keywords
block
buffer
address
main memory
tag
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
JP50135592A
Other languages
English (en)
Other versions
JPS5176936A (ja
Inventor
Kenesu Andaasen Uerunon
Uein Gotsudaado Maikeru
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.)
ABERCOM AFRICA Ltd
Original Assignee
ABERCOM AFRICA 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 ABERCOM AFRICA Ltd filed Critical ABERCOM AFRICA Ltd
Publication of JPS5176936A publication Critical patent/JPS5176936A/ja
Publication of JPS6118222B2 publication Critical patent/JPS6118222B2/ja
Expired 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

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)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
開示の概要 データ処理システムに於ける複数のリクエス
タ・ユニツトと、一つの比較的低速のメイン・メ
モリとの間で高速バツフアとして作用するよう適
合されたストアレイジ・インタフエイス・ユニツ
トが開示されている。該高速バツフアは、該メイ
ン・メモリに蓄積されたデータの限られた数のブ
ロツクのための一時的蓄積を与える。一つのリク
エスタ・ユニツトによつて特定のアドレスがリク
エストされるとき、そのアドレスが該高速バツフ
アに存在するか否かを決定するべくチエツクがな
され、若し存在すれば、それは読取り又は書込み
のために該リクエスタに用いられることができ
る。その所望のアドレスが該高速バツフアに存在
しないとき、該バツフアの一つのブロツクは置換
のために選択される。本発明によれば、一つのブ
ロツクが該バツフアから移動されて新たな一つの
ブロツクが該メイン・メモリにリクエストされる
べきとき、その新たなブロツクがメイン・メモリ
にリクエストされるインターバルの間に、移動さ
れるべきブロツクは修正のためにチエツクされ
る。その古いブロツクの何れかのワードが修正さ
れていたならば、それは始原的にはメイン・メモ
リから得られたのであるから、そのブロツクの全
体が一時保持レジスタ(temporary holding
register)に読取られ、そして新たなブロツクが
該バツフア・ストアレイジに投入されている間に
メイン・メモリに再蓄積される。 発明の背景 コンピユータ・メモリ・システムの速度は、比
較的高速の低容量バツフア・ストアの使用によつ
て増大され得ることが従来永きに亘つて認識され
て来た。即ち、コンピユータ・システムに高速バ
ツフアが適切に装備されるならば、メイン・メモ
リ速度は、該バツフアの速度に近づくことは明ら
かである。例えば、該バツフアのサイクル・タイ
ムがメイン・メモリのサイクル・タイムの十分の
一である場合には、実効アクセス・タイムはメイ
ン・メモリの1/8ないし1/9となる。この作動の迅
速化の基本的な理由は、現在処理されているデー
タは、近い将来再び用いられる高い確率を持つて
いること、及び関連するデータはメイン・メモリ
中の連続したアドレス位置に通常は蓄積されてい
ることを経験が示していると云うことにある。 所謂“キヤシユ”バツフア(“cache”
buffers)がIBMの様々なコンピユータ・シス
テムに装備されている態様が多数の公刊された技
術論文に記載されている。例えば、IBM・システ
ムズ・ジヤーナル、vol.7,No.1,第15〜22頁所
載の“システム360,モデル85の構造について、
キヤシユ”と題したジエイエス・リプテイの論
文、1967年春季合同コンピユータ会議収録の“ブ
ロツク・オリエンテツド・システムズ・デザイン
に於ける考察”と題されたデイー・エイチ・ギブ
スンの論文、IBM・システムズ・ジヤーナル、
1968年Vol.7,No.1所載の“システム360,モデル
85の構造について、一般的構成”と題したシ
ー・ジエイ・コンテイ等の論文等がある。IBMの
システム360−モデル85に於ては、蓄積動作
(store operations)は常にメイン・メモリが直
接に更新(update)されるようにしている。変
更されているメイン・ストアレイジ・セクタが、
それに割当てられた(assigned)バツフアに一つ
のセクタを有するならば、該バツフアもまた更新
され、そうでなければバツフアに関して何等の活
動も起らない。従つて、蓄積動作は、一つのバツ
フア・セクタが再割当てされること及び一つのブ
ロツクが負荷(load)されること、若しくは置換
アルゴリズムを制御する活動リスト(activity
list)が更改(revised)されることを行なわせる
ことができない。 本発明は、IBMシステムに用いられているメモ
リ体系(memory hierarchy)を著しく改善する
ものと考えられる。本発明の教示によれば、一つ
以上の処理ユニツト及び/又は入出力装置がメイ
ン・メモリから一つの高速バツフア・メモリによ
つてのみインストラクシヨン及びオペランド(以
後正しく“データ”と呼ぶ)を受け取るよう適合
されている。また該処理装置及び/又はメイン・
メモリに蓄積されるべき1/10ユニツトからのデー
タも該高速バツフア・メモリを通過せねばならな
い。斯くて本発明のバツフアは、以後“ストアレ
イジ・インタフエイス・ユニツト”若しくは
“SIU”と呼ぶ。 本発明のSIUは高速(低サイクル・タイム)ス
トアレイジ・バツフアであつて、ストアレイジ・
リフアレンスの大部分を低速(高サイクル・タイ
ム)のメイン・メモリ又はバツキングストアで行
なわずに、SIU自体で自動的に行なわれるように
することによりコンピユーテイング・システムの
総体的ストアレイジ・デイレイ・タイムを減少す
るよう設計されている。本発明の好ましい具体例
に於ては、このことが、データの8ワード・ブロ
ツクを、そのブロツクからの何れかのワードが処
理装置又は入出力ユニツトによつて要求されると
きはいつでもSIUへ移送する回路(ハードウエ
ア)を設けることにより達成されている。此のブ
ロツクは、適切な置換アルゴリズムにより決定さ
れた新たな現在のブロツクによつて置換されるま
でSIUに存在しつづけている数ブロツクの一つと
なる。 本発明のSIUは、所謂セツト・アソシアチブ・
ストアレイジ・バツフア(set−associative
storage buffer)を用いる。一つの代表的な配列
に於ては、該バツフアは4096箇のストアレイジ・
ワードを含むことができ、各々のセツトがデータ
の四つの8ワード・ブロツクからなる128セツト
に分割されることができる。該システムに用いら
れているメイン・メモリも従つて128セツトに分
割され、各セツトはメイン・メモリの総アドレ
ス・レンジのワードの1/128を含んでいる。或い
はまた、該バツフアは、各セツトがデータの四つ
の8ワード・ブロツクからなる多数のセツトに分
割されたストアレイジの付加的なワードを含むよ
う拡大されることができる。此の代替的配列に於
ては、該メイン・メモリもまた同数のセツトに分
割されるが、しかし各セツトは8ワード・ブロツ
クのより少ない数を含む。所与のメイン・メモ
リ・セツトに於ける8ワード・ブロツクの何れか
一つは、対応するSIUセツトに於ける四つの8ワ
ード・ブロツクの何れか一つに置き換えられるこ
とができる。SIUとメイン・ストアレイジとの間
で移送(読取若しくは書込みの何れか)が行なわ
れるとき、連続したアドレスからの一つの8ワー
ド・ブロツクは単一メイン・メモリ・サイクルの
間に移送される。 一つの処理装置又は入出力ユニツトによつてス
トアレイジから1ワードのリクエストがなされる
とき、このリクエストは該SIUによつてのみ経験
される。通常の直接アドレス選択回路が、リクエ
ストされたワードが入つている128セツトの内の
特定の一つをアドレスするのに用いられる。この
選択回路は、そのセツトに現在存在する四つのブ
ロツクの各々のアドレスをSIUに同時的に読取ら
せる。この四つのブロツク・アドレスの内の一つ
がリクエストされたアドレスと一致したとき、適
切なワードがそのブロツクから読取られ、そのリ
クエストしているユニツトへ送られる。四つのブ
ロツク・アドレスの何れも一致しないときは、所
望のワードを含んでいる全ブロツクについてメイ
ン・メモリに対して至急のリクエストがSIUによ
つてなされる。此の新しいデータのブロツクを待
つ間に、SIUは四つの現在のブロツクの何れが最
も古く用いられたものかを決定し、それを置換す
るためにマークする。次に該SIUは、その置換さ
れるべきブロツクをチエツクして、それがSIUに
存在している間にそのブロツクの何れかのワード
が修正されたか否かを決定する。修正が行なわれ
ていれば、そのブロツクの全体とそのアドレスと
がSIUの一時保持レジスタに読み込まれ、それに
よつて現在のメイン・メモリ・サイクルが終了す
るや否やメイン・メモリに再蓄積されることがで
きる。データがメイン・メモリから到着すると
き、それは今や空になつたブロツクに蓄積され、
該SIUによつてその適切なワードがそのサイクル
を完了すべく始原的リクエスタへ最終的に送られ
る。 システムの処理量を増大するために高速バツフ
アが用いられている従来技術のコンピユーテイン
グ・システムに於ては、蓄積動作は常にメイン・
メモリが更新されるようになつている。変更され
ているメイン・メモリ・セツトがそれに割当てら
れたバツフアに於て対応するセツトを有するなら
ば、そのバツフアもまた更新される。即ち、処理
装置又は1/0ユニツトが書込み動作を行なう度毎
に、該メイン・メモリは直ちに更新されねばなら
ない。メイン・メモリは比較的長サイクル・タイ
ムで動作するから、メイン・メモリへの頻繁なリ
フアレンスは、システムの総体的処理速度を低下
させる。 本発明のシステムは、この問題を回避するため
に、“ポスト・ストア”と称される方法を用いて
いる。SIUバツフア・メモリに書込みがなされる
度毎にメイン・メモリに書込みリフアレンスをす
るのではなく、本発明のシステムでは、該メイ
ン・メモリは、修正されるべきアドレスが該バツ
フアに存在せず、変更されたデータ即ちメイン・
メモリに於けるそれと対応するデータが置換のた
めに選択されたときにのみ更新される。所望のア
ドレスがSIUバツフアに存在しないことが検知さ
れたとき、該SIUは直ちに“読取り”リクエスト
をメイン・メモリに送り、所望のアドレスが入つ
ているところの全ブロツを得る。それと同時に、
該SIUは、置換アルゴリズムを介して、現在バツ
フア・メモリに存在するどのブロツクが置換され
るべきかを決定する。この選択されたブロツクが
該バツフアに存在していた間にその内容が修正さ
れたか否かを決定するためにチエツクがなされ、
若しなされていれば、該ブロツクの全体とそのア
ドレスが一時保持レジスタにゲートされる。メイ
ン・メモリからバツフアへ新たなブロツクが導入
され、今や空になつたブロツク位置に蓄積される
間に、該保持レジスタに含まれている移動された
ブロツクはメイン・メモリに書き戻され、それに
よつてメイン・メモリは更新される。 この“ポスト・ストア”方式により生ずる時間
の節約は極めて明白である。従来技術のシステム
に於ける如く、バツフアに蓄積されたブロツクに
変更がなされる度毎に比較的低速のメイン・メモ
リ・サイクルにメイン・メモリを更新することを
リクエストするのではなく、本発明のシステムに
於ては、メイン・メモリを更新するのに1メイ
ン・メモリ・サイルしか用いられず、そしてこれ
はブロツクが移動されるべく選択され、しかもそ
の内容が該バツフアに在つた間に修正されたとき
のみ生ずる。しかし乍ら、このブロツクが置換の
為に選択される前に、それが該バツフアに存在す
る間幾度もの修正を経るかも知れないのである。 本発明の目的 本発明の一目的は、デイジタル・コンピユーテ
イング・システム用の改良されたバツフア・メモ
リ・システムを提供することである。 他の目的は、一つ以上のリクエスタと一つのメ
イン・メモリとの間に改良されたストアレイジ・
インタフエイス・ユニツトを提供することであつ
て、そのユニツトは高速バツフア・メモリを持つ
ていて、そのメモリはリクエスタによつて特定さ
れるワード・アドレスを含んでいる確率が統計的
に高いのである。 他の一目的は、高速バツフアに存在するデータ
の任意のブロツクに対する繰反し行なわれる修正
を、該バツフアに於けるブロツクが修正される度
毎に対応する修正をメイン・メモリに於ける関連
するブロツクに行なうことを必要とせずに許すよ
うなデイジタル・コンピユーテイング・システム
用の改良されたメモリ構成を提供することであ
る。 本発明の目的は、最も使用頻度の少ないと思わ
れる情報ブロツクを高速バツフアメモリからメイ
ンメモリに戻す際、戻すべき情報ブロツクを決定
するアルゴリズムを提供することにある。 特に本発明による“最も古く用いられた”情報
ブロツクの決定アルゴリズムは極めて単純明解か
つ巧妙なものであり、所要ハードウエアも、従来
公知のものよりずつと簡単であり、従つて所要動
作ステツプ数もわずかであり、かつ動作時間は短
い。 本発明のこれら及びその他の目的並びに利点
は、添付図面を参照して以下の詳細な記述を参照
することにより、当該技術分野の熟達者には明ら
かとなるであろう。 好適な実施例の説明 第1図を参照すると、そこには本発明の好適な
具体例のシステム・ブロツク・ダイヤグラムが示
されている。此の図は、SIUの構成と機能的動作
を説明するのに用いられ、この説明に続いて、従
来のものとは異なつているところの第1図の様々
なブロツクの構成と動作態様が記載される。 本明細書に於ける発明の詳細な説明の項の導入
部に於て述べたように、本発明はストアレイジ・
インタフエイス・ユニツト(SIU)に関するもの
であつて、それは複数のリクエスタ・ユニツトと
一つのメイン・メモリとの間に於て、高速バツフ
アとして機能し、所与のオペランドについて総本
的メモリ・アクセス・タイムを実質的に減少させ
る。これは、メイン・メモリに蓄積された情報の
サブセツトを含む所の高速バツフア・メモリをリ
クエスタ・ユニツトとメイン・メモリとの間のイ
ンタフエイスとして持つていることによつて達成
される。この計画は、統計的基礎によれば、読取
り又は書込みのためにリクエスタ・ユニツトによ
り探し求められる所与のオペランドは、高速バツ
フア中に発見される確率が高く、従つて低速のメ
イン・メモリにリフアレンスする必要をなくすこ
とができると云うことに基づいている。 第1図に図解されたシステムは、“奇数セグメ
ント”と“偶数セグメント”と表わされている二
つのセグメントを含んでおり、それらの構成、作
動態様は実質的に同等であり、並列的に作同す
る。それ故、以下の詳細な記述に於ては、奇数セ
グメントに於ける様々な機能的素子、即ち、区分
線10の左側の素子について言及されるが、これ
らの素子について述べられることは、区分線12
の右側の素子についても該当することが理解され
るべきである。両セグメントによつて共有される
素子は、区分線10及び12の間に示されてい
る。 第1図は、第1a図と第1b図とを含んでお
り、それらを図示の如くに結合することによつ
て、第1図の全体を構成する。第1図の底部、す
なわち第1b図の底部に示されているのは、複数
の入力ラインであつて、それらはリクエスタ・ユ
ニツトに端を発しており、リクエスト制御信号,
アドレス表示信号,及びSIUに書込まれるべきデ
ータを呈示するのに用いられる。リクエスタ・ユ
ニツトは、一つ以上の中央処理装置(CPU)及
び入出力装置(IOU)を含むことができる。斯る
ユニツトが三つだけしか示されていないが
(Req.0,1,2)、更なるリクエスタが用いられ
得ることが理解さるべきである。入来するリクエ
スト信号は、SIUの各半分に於ける優先回路網1
4(priority net−works)に与えられ、そして
それらは二つ以上のリクエスタ・ユニツトから同
時にリクエストを受け取つたときに、それらの一
つに優先順位を与えて、一時に一つのユニツトの
みがSIUと連絡(communicate)できるようにさ
せる。CPU及びIOUの両者は、リクエスト若し
くはアクノリツジがあつたときにSIUと連絡す
る。この連絡の態様(mode of
communication)は、エールマン等の特許第
3243781号に充分説明されているが、本発明を説
明するために、斯かるリクエスタの構成乃至組成
について更に詳細に説明する必要はないであろ
う。該特許には、異なつたユニツトに由来する複
数のリクエスト信号が優先回路網に与えられ、そ
してそれがそのシステムの残余のユニツトと連絡
するために、一時に一つの斯るユニツトを選択す
る態様も示されている。 リクエスト信号と共に呈示されるのはアドレス
であつて、それはそのリクエスト信号が読取りリ
クエストか、書込みリクエストかである場合に、
読取り又は修正のために所望の一ワードを夫々択
一的に(uniquely)選択する。これらのアドレス
表示信号は、リクエスタ・アドレス・セレクタ1
6に入力として与えられる。セレクタ16は、優
先回路網(priority circuitry)14から発する
制御信号に応答する単なるゲート装置であつて、
それは優先回路網によつて撰択された単一のリク
エスタからのアドレス信号がリクエスタ・アドレ
ス・レジスタ18に送られることを許す。同様
に、バツフア書込みセレクタ20は通常のゲート
配列(gating arrange−ment)であつて、それ
は撰択されたリクエスタからの書込みデータが、
バツフア書込みレジスタ22に投入されるのを許
す。 該リクエスタ・アドレス・レジスタ18及び該
リクエスタ書込みレジスタ22からの出力は、参
照数字24及び26によつて概括的に同定されて
いる二つのセツト・アソシアテイブ・ストアレイ
ジ・ユニツト(SASU)に与えられる。SASU2
4は、複数のブロツクの奇数アドレスを蓄積する
のに用いられ、SASU26は、これらのブロツク
の偶数アドレスを蓄積するのに用いられる。該ス
トアレイジ・ユニツト24及び26は、通常のア
ドレス可能なランダム・アクセス・メモリであつ
て良いが、“タグ”と“バツフア”と呼ばれる二
つの部分に分割されている。詳述すれば、第2図
及び第3図を参照して更に説明されるけれども、
SASU24はタグ・ワードと称されるワードを蓄
積するためのアドレス可能なレジスタ28の第一
のスタツクと、データの四つの4ワード・ハー
フ・ブロツクの複数セツトを蓄積するためのアド
レス可能なレジスタ30の第二のスタツクとを持
つている。同様に、SASU26は、二つの部分3
2と34とに分割されており、部分32はタグ・
ワードを蓄積し、部分34はデータの四つの4ワ
ード・ハーフ・ブロツクの複数セツトを蓄積す
る。部分30及び34に蓄積された4ワード・ハ
ーフ・ブロツクの各々に関して、部分28及び3
2には一つのタグ・ワードが存在する。 SIUの全体的構成を明確に理解するために、例
示的な具体例を考察することが役立つと思われ
る。しかし乍ら、記載される蓄積容量は、撰択の
問題であつて、表示された数値に限定されるもの
と推定されるべきではない。 今仮りに、バツフア30及び34が4096デー
タ・ワードの結合された容量(combined
capacity)を持つており、メイン・メモリ36が
262144ワードの容量を持つていると仮定しよう。
この例示的数値に於ては、バツフアは四つの8ワ
ード・ブロツクの128セツトに分割されることが
できる(128×4×8=4096ワード)。メイン・メ
モリも各々がそのワード容量の1/128を含む128セ
ツトを含んでいると考えられることができる。こ
の具体例に於ては各セツトは256箇の8ワード・
ブロツクを含む(128×256×8=262144ワー
ド)。メイン・メモリに於ける一つのセツトの256
箇のワード・ブロツクの何れか四つが、結合され
たバツフア30及び34に於ける128セツトの対
応する一つに存在することができる。 SIUバツフアに蓄積されたデータをアドレスす
るのを迅速にさせるために、SIUは奇数アドレ
ス・セグメントと偶数アドレス・セグメントとに
分割され、説明されるべき或る条件の下に於いて
は、バツフア・アクセスはオーバラツプした態様
で達成されることができる。奇数/偶数セグメン
テーシヨンは、各8ワード・ブロツクを二つの4
ワード・ハーフ・ブロツクに分割することによる
セツト/ブロツク構造を取らせる。従つてバツフ
ア30は奇数アドレスを有する2048ワードを蓄積
し、バツフア34は偶数アドレスを有する残りの
2048ワードを蓄積することができる。この奇数/
偶数アドレス構造は第1表に示されている。
【表】 第表に記載されているのは、フオーマツトで
あつて、それは撰択されたリクエスタ・ユニツト
によつて与えられたアドレスに採用され、そして
SASU24及び26に蓄積されたインフオメーシ
ヨン若しくは読取り又は書込みのために探し求め
られているアドレスが該SASUに存在しない場合
には該メイン・メモリに蓄積されたインフオメー
シヨンにアクセスするのに用いられる(例示の目
的のためのみのものである)。繰り返し述べれ
ば、此のフオーマツトは、262144ワードの蓄積容
量を有する単一のメイン・メモリ・モジユール3
6と、4096ワードの容量を持つている結合された
バツフアとを使用することを前提としたものであ
る。若し付加的なメモリ・モジユールが用いられ
るときは、モジユール撰択のために、付加的なア
ドレス・ビツトが必要となる。
【表】 第2図は、SASU24及び26のタグ部分28
及び32の構造(make up)を図表的に表示し
ており、第1図に示されたシステムの記述に入る
前に、SASU24の奇数セグメントの構成と機能
とについて考察がなされる。そしてSASU26の
偶数セグメントは同様に動作すると理解された
い。 該SASU24は、そのタグ部分及びバツフア部
分の両方とも通常のアドレス機能(conventional
addressing)を持つている。リクエスタ・アドレ
ス・レジスタ18からの出力は、ゲーブル38を
介して、SASU24に於けるアドレス・トランス
レータ40に与えられ、それはタグ・メモリを構
成する128箇のレジスタの何れか一つにアクセス
すべく用いられる128本のラインの内の一つを択
一的に撰択するために、アドレスのビツト3乃至
9を検査(examine)するよう機能する。各タ
グ・メモリ・レジスタに64ビツト・エントリが蓄
積されており、各々は第2図にセツト・アドレス
000で示されているフオーマツトを持つてい
る。“ブロツク・アドレス”とラベルされたタ
グ・ワードの部分は、バツフアにセツトされた8
ワードの境界(bounderies)上に位置する八つの
連続したワードである一つのブロツクから成る四
つブロツクの各々に於ける最初のワードのアドレ
スのビツト10−22を含んでいる。 “エイジ”とラベルされたエントリは、各々が
各タグ・ロケーシヨンに於ける四つのブロツク・
アドレスの各々と関連する一つの2ビツト・フイ
ールドであり、それは各ブロツクがリフアレンス
されてからどれだけ時間が経過したかを相対的に
示す。このエイジ・フイールドについては、“最
も古く用いられた”置換アルゴリズム(“least
recently used”replacement algolithm)の詳細
が説明される際に更に述べることとする。 “WB”とラベルされたフイールドは、“ライ
トバツタ・ビツト”と呼ばれるものであつて、1
ビツトであり、特定のブロツクに修正されたデー
タが存在するか否かを示すのに用いられる。当該
ブロツクが置換のために撰択されているときに、
このビツトが二進“1”であれば、そのブロツク
の全ての4ワードはメイン・ストアレイジに書き
戻されねばならぬ(must be written back)。そ
れが二進“0”であれば、移動されたブロツクを
メイン・メモリに書込む必要はない。何故なら
ば、そのブロツクのワードは、それが該バツフア
に存在する間に書込動作によつて修正されていな
いからである。 所望のブロツクがバツフアに存在するか否かを
決定するために、リクエストされたセツトに関連
するタグの四つのブロツク・アドレスが、リクエ
スタ・アドレス・レジスタ18(第2図)に現在
するアドレスのビツト10乃至22とビツト毎に
比較される。この四つのブロツク・アドレスの内
の一つが一致するならば、一致比較回路42によ
つてリクエストされたワードがバツフアに存在す
ることが確定され、そしてバツフアから直接に入
手できる。バツフア・セクシヨンは、セツト・ナ
ンバ(ビツト3−9)でアドレスされ、これらビ
ツトは該ブロツク(ビツト1−2)内の1ワード
を同定するので、その出力は4ワード幅(four
words wide)であり、リクエストされたセツト
に於ける4ブロツクの各々からの1ワードであ
る。比較器42からの出力は、一致が生じたブロ
ツク・ナンバを同定するが、それは後に説明され
るように、バツフアからの適切なワードを撰択し
てそれをリクエスタに送るのに用いられる。 第3図を参照すると、SASU24のバツフア部
分の構成が示されている。バツフア34は構造に
於て同等である。該バツフアは、それ自体データ
を蓄積するためのアドレス可能なレジスタの複数
を各々が含んでいる。個々のワードは、128のセ
ツトに集められ、各々のセツトは四つの4ワー
ド・ハーフ・ブロツクを含み、偶数アドレスはバ
ツフア34に、奇数アドレスはバツフア30に
夫々蓄積されている。所与のワードにアクセスす
るために、リクエスタ・アドレスのビツト03乃
至09は、バツフアに蓄積された128セツトの内
の一つを撰択する。該リクエスタ・アドレス・レ
ジスタのビツトOはデコードされて該アドレスが
奇数か偶数かでバツフア30と34との何れがア
クセスさるべきかを夫々特定し、リクエスタ・ア
ドレス・レジスタのビツト02及び01は、ワー
ド・セレクタ46によつてトランスレートされて
特定された奇数若しくは偶数セグメントに於ける
所与のセツト内の各ブロツクに於ける4ワードの
内の一つを択一的に撰択する。同一のリクエス
タ・アドレスが同時的にタグ・スタツク(第2
図)に与えられるので、リクエストされたブロツ
クのアドレスとバツフアに存在するブロツクのア
ドレスとの間に一致が生ずれば、特定された奇数
若しくは偶数セグメントの比較器42からのライ
ンA,B,C,Dの内の一つに出力信号が発生さ
れる。この出力信号は、ブロツク・セレクタ48
(第3図)の入力に与えられたとき、撰択された
セグメントに於ける撰択されたセツトの撰択され
たブロツクの撰択されたワードのみがSASU24
又は26のバツフア30又は34から読出される
ことを許容する。勿論、所望のブロツクが該バツ
フアに存在しない場合には、一致比較回路42は
出力信号を出力ラインA,B,C,Dの何れにも
発生することができず、従つてセレクタ回路網4
8はバツフア30から如何なるワードもゲートさ
せることができない。 SASUのバツフア・セグメント30及び34か
ら送り出されたワードは、ケーブル50(第1
図)を経て、リード・データ・セレクタ52へ送
られ、そしてそのセレクタは優先回路網14によ
つて制御されている。該リード・データ・セレク
タは、これらのワードをケーブル54を経て、最
初にSIUに対して読取りリクエストを呈示したと
ころのリクエスタ・ユニツトのリード・レジスタ
56,58又は60の適当な一つにゲートさせる
よう機能する。 読取り又は書込みリクエストがSIUに呈示さ
れ、そしてその探し求められているワードが該バ
ツフアに存在しないことが確定された場合には、
該リクエスタ・アドレス・レジスタ18からの所
望のアドレスは、ケーブル61を介してミス・ア
ドレス・レジスタ62へ移送され、そこでそれは
補獲(capture)されて後刻の使用のために保持
される。次に、最も古い使用(LRU)アルゴリ
ズムが呼び出され、そしてそれは置換されるべき
ブロツクと関連するタグ・アドレスが該タグ・セ
グメント28又は32から関連したタグ・アドレ
ス・レジスタ64へ読出され、そしてそこからケ
ーブル63及び65によつて該バツフア・タグ・
アドレス・レジスタ66へ読み出されるようにさ
せる。 これに引続いて、4バツフア・メモリ・読取り
サイクルの間に、置換のために選び出された
(singled out)二つの4ワード・ハーフ・ブロツ
クが、SASUのバツフア部分30及び34から読
出され、メイン・メモリ書込みデータ・レジスタ
68の四つの部分に一つづつ位置づけられ、そこ
にこれらは保持される。 所望されたデータの不在ブロツクが、メイン・
メモリ36から一度に2ワードづつ4サイクルに
亘つてケーブル70上に読出され、そしてバツフ
ア書込みセレクタ20を介してバツフア書込みレ
ジスタ22へ与えられる。メイン・メモリから入
手された置換ブロツクは、バツフア・タグ・アド
レス・レジスタ66の内容によつて指定された最
初のバツフア・アドレスに蓄積され、各ワードが
投入されるとき、ビツト1及び2が各エントリの
ためのワード・アドレスを与えるべくインクレメ
ントされる。また、新たな一つのタグ・ワード
が、後に記載される態様でSASUのタグ部分28
及び32に書込まれる。 これらの動作が進行している間に、タグ・アド
レス・レジスタ64に現在含まれているタグ・ワ
ードの部分のライト・バツク・ビツトがチエツク
され、若しセツトされれば、それはメイン・メモ
リ書込みデータ・レジスタ68に現在存在するブ
ロツクがバツフアに在る間に修正がなされたこと
を示す。そうであつたとき、このブロツクをメイ
ン・メモリに書き戻すことが必要である。 4メイン・メモリ・サイクルの間に、レジスタ
68から一度に2ワードづつ取り除かれ(奇数セ
グメントから1ワードと偶数セグメントから1ワ
ード)、先にミス・アドレス・レジスタ62に捕
獲されていたアドレスによつて特定されるブロツ
ク位置でメイン・メモリに蓄積される。詳述すれ
ば、該ミス・アドレス・レジスタ62の内容は、
メイン・メモリ・アドレス・レジスタ72に与え
られる。 メイン・メモリ・ユニツト36からの読取りデ
ータの最後のワードが該バツフアに投入されてし
まつた後、今一つの優先スキヤンが開示され、そ
れによつて始原のリクエスタが該バツフアに今や
存在するアドレスにアクセスすることを得さしめ
る。従つて所望のワードが、読取り又は書込のた
めに始原のリクエスタにとつて利用可能となる。 バツフアに存在しないワードのリクエストが呈
示された時、置換のために一つのブロツクを撰択
するのに用いられる手段であるところの最も古い
使用(LRU)アルゴリズムの動作を理解するた
めに、第4図の回路網を参照されたい。 SASU(第2図)のタグ部分の説明から、各々
のセツトは、バツフアに現在する四つのブロツク
のアドレスを特定する一つのタグ・ワードと2進
値00,01,10若しくは11を持ち得るところの各ブ
ロツクに関する一対の“エイジ”ビツトとを持つ
ていることを想起されたい。慣習により、00に等
しいエイジ・ビツトを有するブロツクは最も最近
に用いられたもの(ヤンゲスト)であり、エイ
ジ・ビツト11を有するブロツクは最も古く用い
られた(オールテスト)ブロツクである。従つ
て、バツフアの一セツトの一ブロツクをメイン・
メモリの新たな一ブロツクで置換することが所望
されるとき、該制御回路網はアドレスされている
セツトのブロツクのエイジビツトを検査し、11に
等しいエイジ・ビツトを有するものを置換のため
に撰択することだけが必要である。 第4図の回路は、一セツトのタグ・ワードのエ
イジ・ビツトをそのセツトの一ブロツクがリフア
レンスされる度毎に更新するための好ましい具体
例に用いられる手段を示している。図の底部に四
つのレジスタ74,76,78,及び80が位置
づけられており、それらは第2図に於ける一致比
較回路42の一部であり得る。最優先リクエスタ
から一つのタグ・アドレスがセレクタ40に与え
られたとき、ブロツクAのためのライトバツク・
ビツト及びブロツク・アドレス・エイジをレジス
タ74に投入し、ブロツクBのためのそれらをレ
ジスタ76に投入しと云つた具合にして、そのセ
ツトのためのタグ・ワードは一致比較回路42に
投入される。 各レジスタ74〜80からのエイジ・ビツト
は、比較撰択回路(compare selector
network)82と個々の“グレータ・ザン,イー
コール・トウー,レス・ザン”比較器84,8
6,88及び90とに与えられる。比較撰択回路
82の出力もまた比較器84〜90の各々の入力
として接続される。該比較器84〜90の各々の
出力は加算回路網92,94,96及び98と
個々的に関連しており、それらの出力は、レジス
タ74〜80の対応するものに戻し結合
(coupled back)されている。後に説明されるよ
うに、該加算器は、比較器84〜90からの出力
を受領したとき、レジスタ74〜80のエイジ・
ビツトに1又は0を加えるか、又は斯かるエイ
ジ・ビツトを0にクリアすることができる。 一例として、レジスタ74〜80のエイジ・ビ
ツトが夫々00,10,01及び11であると仮定し、第
2図の一致比較論理回路42がラインB上に所与
のセツト(セツト・セレクタ40によつて定ま
る)に於けるそのブロツクがアドレスされている
ことを示す出力を生じていると仮定する。該セレ
クタ/コンパレータ82は一致比較回路42から
ライン100上に一出力を受け取つて、エイジ・
ビツト10がコンパレータ84〜90の各々の第
1入力に与えられるようにさせる。従つて2進数
10がレジスタ74〜80の各々に於けるエイ
ジ・ビツトと比較される。ユニツト82からの2
進数10がコンパレータ84の仮定されたエイ
ジ・ビツト00と比較されるとき、レジスタ74
のエイジ・ビツトがセレクタ/コンパレータ82
の出力ビツト10よりも小さいことを示す出力が
発生され、従つて加算回路はレジスタ74の内容
に1を加えるべく動作する。 コンパレータ・セレクタ82からの出力がレジ
スタ76のエイジ・ビツトと比較されたとき、両
者は等しいことが判り、此の条件に於ける加算回
路94はレジスタ76を0にクリアすべく信号を
出力する。レジスタ78のエイジ・ビツトと撰択
されたエイジ・ビツトとのコンパレータ88によ
る比較は、レジスタ78に含まれるエイジ・ビツ
トは撰択されたエイジ・ビツト10よりも少ない
ことが仮定されているので、加算回路96をして
レジスタ78の内容に1を加えさせる。 レジスタ80のエイジ・ビツトは一致比較回路
42からのビツトよりもより大きい2進値を持つ
と仮定されているので、コンパレータ90はレジ
スタ80の内容に0を加えさせるよう出力を生ず
る。この更新動作の後、撰択されたセツトに於け
るブロツクのエイジ・ビツトは01,00,10
及び11であり、ブロツクBが最も最近に用いら
れたブロツクであり、そしてブロツクDが依然と
して最も古く用いられたブロツクであることを示
す。 要約すれば、コンパレータ84〜90は、レジ
スタ74〜80に現在するエイジ・ビツトが撰択
されたセツトの撰択されたブロツクのタグのエイ
ジ・ビツトに比較して大きいか、同じか或いは小
さいかを決定し、そして加算回路92〜98は上
述の三状態に応じて、レジスタ74〜80に於け
るエイジ・ビツトに夫々0を加えるか、クリアす
るか、或いは1を加えるよう作動する。一セツト
に対する各リフアレンスの際に、そのセツトのタ
グのエイジ・ビツトは更新されて、そのセツト中
で最も古く用いられた(アクセスされた)ブロツ
クを同定する。 グレータ・ザン,イーコール・トウー,オア,
レス・ザン・コンパレータは当該技術分野に於て
知られているので、斯かる比較動作を実行するた
めの特定の回路をこゝに記載する必要はない。斯
かる回路についての詳細な情報を欲する者はキン
バラの特許第3293603号又はデジタル比較回路の
論理デザインに関する様々なテキストを参照する
ことができよう。 システムの動作 第5a,5b,5c図のフロウ・ダイヤグラム
が第1図のシステムの動作を理解する補助として
検討される。システム動作は、SIU入力ブス13
に接続された複数のリクエスタから入来するリク
エストをいつでも受け入れられるように優先回路
14を状態づけることで始まる。この動作は第5
a図の箱102によつて示されている。“読取
り”又は“書込み”リクエスト制御信号を受け取
つたとき、一つ以上のリクエスタが斯かるリクエ
ストを呈示しているか否かにつき決定がなされる
(箱104)。若しそうであるならば、優先回路1
4(第1図)が斯かるリクエスタの一つだけを連
絡のために撰択する(箱106)し、若しそうで
ないならばリクエストを呈示している一つのリク
エスタを除いて、他の全てのリクエスタは、読取
り又は書込み動作を行なつている間閉め出される
(箱108)。 優先回路14は可能化信号を撰択されたリクエ
スタに送り、SASU24及び26のタグ及びバツ
フア部分のセツト・セレクタ40及び44(第
2,3図)にリクエストされたアドレスのビツト
09〜03がゲートされるようにさせる。それと
同時に、該リクエスタにより呈示されたアドレス
のビツト02及び01はワード・セレクタ46に
ゲートされる(第3図)。これらのゲート動作
は、第5a図のフロウ・ダイヤグラムに於て箱1
10で示されている。 次に、SASUのサイクルが始まり、撰択された
セツトのタグ・ワードが一致比較回路42に読込
まれ、撰択されたセツトの撰択されたブロツクか
ら4データ・ワードがブロツク・セレクタ48
(第3図)に投入される。これらの動作はフロ
ウ・ダイヤグラムの箱112及び114によつて
示されている。 次に、撰択されたセツトを含み、且つ一致比較
回路42に含まれている4ブロツクのブロツクア
ドレスがSASUに呈示されたアドレスとビツト毎
に比較される。この動作は第5a図の箱116に
よつて示されている。この比較(箱118)から
一致が生じたとき、出力制御信号が一致比較回路
42から出ているラインA,B,C,又はDの内
の一つに発生される。この信号は、ライン100
を介してコンベア/セレクタ82(第4図)に与
えられ、それによつて先に述べた如く一致比較回
路42に於けるタグ・ワードの“エイジ・ビツト
を更新させる。一致が生じなかつたときは、動作
のシーケンスは箱118から出ているフロウ・ダ
イヤグラムの技分れ接続符号1によつて示されて
いるように第5b図に示された動作に分岐する。
説明の便宜上、一致が生じ、第5a図で箱120
によつて示されたエイジを更新する動作が第4図
に示された回路によつて達成されたと仮定しよ
う。 撰択されたセツトのタグ・ワードのエイジ・ビ
ツトが更新された後、優先回路14によつて優先
順位を与えられたリクエストが“読取り”リクエ
ストであるかそれとも“書込み”リクエストであ
るかについての決定がなされる(箱122)。そ
れが書込みリクエストであると仮定すると、決定
符号122から出ており、そして又第5C図のフ
ロウ・チヤートの頂部についている接続符号2に
よつて示されているように、第5C図のフロウ・
ダイヤグラムに記載された動作のシーケンスが遂
行される。 書込みリクエストの仮定された状態の下では、
書込可能化信号がSASUバツフアへ呈示され、バ
ツフア書込レジスタ22に蓄積されたデータワー
ドが、リクエスタ・アドレス・レジスタ18内に
存在するアドレスによつて決定された処のバツフ
ア・スタツク30或いは34内のワード・ローケ
ーシヨンへ書込まれることを許容する。この動作
は第5C図の箱124によつて示されている。こ
の書込動作は、バツフア内のブロツクに蓄積され
たデータを、メイン・メモリ内の対応ブロツクに
蓄積されたデータと相異ならしめるもので、修正
ブロツクを、一度LRUアルゴリズムと置換する
ため撰択された後メイン・メモリへ書込む必要が
ある。修正が行われたことを示すため、修正ブロ
ツク用のタグ・ワードの部分のライトバツク・ビ
ツト(WB)が第5C図の箱126によつて示さ
れた如くにセツトされる。最後に、アクノリツジ
信号が選択されたリクエスタ・ユニツトに返さ
れ、該ユニツトに、保有しているデータ・ワード
がハイ・スピード・バツフア(箱128)に書込
まれそしてそのシーケンスが終了したことを伝え
る。これは優先回路14を解放し、そしてそれは
新しいリクエストをスキヤンすることが許され
る。 最初のリクエストが読取りリクエストであつた
場合には、動作のシーケンスは第5C図に分岐せ
ずに、第5a図中の箱130によつて表わされた
ものに継続する。即ち、選択されたセツトの選択
されたブロツクの選択されたワードは、そのブロ
ツク・セレクタ48(第3図)を通り、読取デー
タ・セレクタ52(第1図)にゲートされ、そし
てそこから、最初に優先順位を獲得した処のリク
エスタの読取りレジスタ56,58或いは60に
ゲートされる。SIU制御回路は、その後、アクノ
リツジ制御信号を、優先順位を持つているリクエ
スタ・ユニツトへ送り、それに所望のワードがそ
の読取データ・レジスタに在ること及びそこから
(箱132)得られることを伝える。 今ここで第5a図のフロー・ダイヤグラム(箱
122)に戻ると、前記の説明は、選択されたセ
ツト内の4つのブロツクのアドレスが、一致比較
回路42内のリクエストされたアドレスと比較さ
れたとき、現実に一致が生じたという仮定が前提
とされた。次に、この比較が不一致状態(miss
condition)をもたらし、それ故に第5b図のフ
ロー・チヤートによつて示されたステツプのシー
ケンスが行われると仮定する。 不一致を検出すると、アドレスされているセグ
メントの一致比較回路42は、SIU制御回路15
に与えられている制御ライン67上に制御信号を
発生する。該制御回路15の詳細な考察がされる
際に更に説明されるように、いずれかのセグメン
ト(奇数又は偶数)からの不一致制御信号
(miss control signal)の受領は、デイレイ・ラ
イン・タイプのコマンド・コマンド・エネイブ
ル・ジエネレータの稼動を開示させ、予定された
時刻に制御ユニツトによつて様々なコマンドが発
せられ、それによつて高速バツフアと低速メイ
ン・メモリとの間のデータの交換を制御する。高
速バツフア30及び34とメイン・メモリとの間
のサイクル・タイムの差異の故に、様々な動作が
並行して或いはオーバラツプして遂行されること
が可能である。第5b図を参照して、このオーバ
ラツプした動作はフロウダイヤグラムの二つの並
行ブランチによつて表示されている。しかしなが
ら、第5b図のフロウ・ダイヤグラムは動作の相
対的なシーケンスを示すことのみが意図され、二
つの並行な経路に示された動作間の特定のタイミ
ングの関係を示すよう意図されたものでないこと
を理解すべきである。 制御ユニツトによる不一致信号の受理の後に遂
行されるべき最初の動作は、不在ブロツクのアド
レスが蓄積されるようにさせる命令を制御ユニツ
トのために発することである。これは、予じめ優
先順位が与えられている処のリクエスタによつて
提供されたアドレスである。詳述すれば、制御ユ
ニツトからの命令は、リクエスター・アドレス・
レジスター18の内容が、ケーブル61内のライ
ンを通つて不一致アドレス・レジスター62に移
送されるようにさせる。この動作は第5b図の箱
134によつて表示される。同時に、第4図の回
路は、先に述べた態様で、11に等しいエイジ・ビ
ツト,即ち最も古く用いられたブロツクを有する
マツチ・レジスタ42の特定のブロツクA,B,
C又はDを同定するように動作する。そのブロツ
ク・アドレス・ビツト,即ち、最も古く用いられ
たブロツクと関連するエイジ・ビツトとWBビツ
トが、タグ・メモリからタグ・アドレス・レジス
タ64へ読込まれ、そこからケーブル63及び6
5のラインを介してバツフア・タグ・アドレス・
レジスタ66へ読込まれる。この動作が第5b図
の箱136によつて示されている。 此の動作に引続いて、制御セクシヨン15はメ
イン・メモリに、“読取り”リクエストを送り
(箱138)、そしてそれは不一致・アドレス・レ
ジスタ62に含まれているアドレスによつて指定
された8ワード・ブロツクの読出しを開始する。
詳述すれば、不一致アドレス・レジスタの内容は
バツフア存在しないことが確認された所望のブロ
ツクを選択することが可能であるところのメイ
ン・メモリ・アドレス・レジスタ72にゲートさ
れる。 また読取りリクエストが制御回路15によつて
SASUの24及び26の各々へも送られる。この
動作は第5b図の箱140によつて示されてお
り、その目的は、最も古く用いられたブロツクを
含む8ワードの除去(unloading)を行なうこと
である。詳述すれば、これは後に更に充分に説明
するように、引続き4図のサイクルを行なうよう
アレンジされているところの回路15のメイン・
コントロール・デイレイ・ラインを点孤
(initiating)することにより成就される。各サイ
クルの間に、該セグメントの各々からの1ワード
がバツフア読取りレジスタ64によつてバツフア
30及び34から読出され、そして一時保持レジ
スタ、即ちメイン・メモリ書込みデータ・レジス
タ68に想填(loaded into)される。メイン・
コントロール・デイレイ・ラインの最初のサイク
ルの完了の際、制御回路15のロード・フリツ
プ・フロツプは、バツフアからの最初の2ワード
がSASUから読出され、該レジスタ68へ投入さ
れたことを示すようセツトされる。このフリツ
プ・フロツプのセツトに引続いて、該書込データ
が書込データ・セレクタによつてメイン・メモリ
36へ転送される。此の動作は箱142によつて
示されている。メイン・コントロール・デイレ
イ・ラインの第三サイクルの間に、制御回路15
に含まれているライトバツク・フリツプ・フロツ
プは、最も古く用いられたブロツクと関連するタ
グのライトバツク・ビツトがセツトされているこ
とを条件としてセツトされる(箱144)。 書込可能化信号が存在し、且つライトバツク・
フリツプ・フロツプがセツトされていれば、メイ
ン・コントロール・デイレイ・ラインの第4サイ
クルの間、最も古く用いられたブロツクのワード
7及び8がメイン・メモリへ移送されているとき
に、該制御ユニツト15はメイン・メモリ書込み
リクエスト信号を発し(箱146)そしてそれは
該メモリをして該ブロツクを所定のアドレスに投
入させる。最も古く用いられたブロツクがSIUバ
ツフアから除去され、一時保持レジスタに投入さ
れつゝあつたとき、該メイン・メモリはより早い
読取りリクエストに応答して所望のブロツクを含
む8ワードをそこから該メイン・メモリの一時保
持レジスタに読取りつゝあつた。該制御ユニツト
15がメイン・メモリに書込みリクエストを呈示
しつゝあるときと略ときを同じくして、該メイ
ン・メモリからの読取られたデータが利用可能と
なり、SASUバツフアへの該読取られたデータの
移送が開始され得る。このデータはケーブル70
の各ラインを介して、またバツフア書込みセレク
タ20及びバツフア書込みレジスタ22によつ
て、該制御回路15に含まれているSIU書込みモ
ード制御デイレイ・ラインによつて制御されてい
る4サイクル内に移送される。 該SIU書込みモード・メイン・コントロール・
デイレイ・ラインもまた4回サイクルされる。そ
の最初のサイクル中に、該リクエスト・アドレ
ス・レジスタ18の内容は、此の書込み動作に引
き続いて該タグ・ワードがメイン・メモリから
SIUバツフアへの全データ移送の完了の際に存在
するようになるであろうところの先に不在であつ
たブロツクを特定するよう、先に最も古く使用さ
れたブロツクであると確定されたところのブロツ
クのためのタグワードのブロツク・アドレス部分
に書き込まれる。また、四つのバツフア書込サイ
クルの各々の間に、新たなブロツクと関連するタ
グ・ワードのライト・バツク・ビツトがクリアさ
れる。このことは、バツフアへの各書込動作の間
にライトバツク・ビツトは自動的にセツトされる
が、置換ブロツクの投入の間には、バツフアに投
入されつゝあるデータと、メイン・メモリに含ま
れている対応するブロツクのためのデータとの間
に一対一の対応関係があると云う事実によつて必
要とされる。それ故、該ライトバツク・ビツト
は、SIU書込みモード・メイン・コントロール・
デイレイ・ラインの四つの径路の各々についてク
リアされねばならない。それ故その置換が完了し
たときには、該置換ブロツクのライトバツク・ビ
ツトはクリアされて、このワードに対して何の修
正もなされなかつたことを示すであろう。何故な
らばそれはメイン・メモリからリトリーブ
(retrieve)されたからである。またSIUバツフア
に於ける置換8ワード・ブロツクのエントリの間
に、該置換ブロツクのためのタグ・ワードに於け
るエイジ・ビツトが更新され、それ故該バツフア
への書込み動作の完了の際に、該置換ブロツクの
ためのエイジ・ビツトは、そのブロツクが最も最
近に使用されたエントリであることを示すように
なるであろう。メイン・メモリからSASUへの所
望の8ワード・ブロツクの移送、LRUブロツク
として予じめ同定された位置への此のブロツクの
エントリ、及びタグ・アドレス,エイジの更新と
ライトバツク・ビツトのクリヤとが第5b図のフ
ロウダイヤグラムに於て箱148,150及び1
52によつて示されている。 SIUバツフアに於ける所望の位置への置換ブロ
ツクのエントリに引続いて、該メイン・メモリは
リード・リジユーム・コントロール信号(read
resume control signal)を発生し、そしてそれ
はSIUに対して該メイン・メモリの読取りサイク
ルが結了したこと、即ち該読取りデータ移送が完
了したことを示すべく呈示される。これらの動作
が第5b図のフロウ・ダイアグラムに箱154及
び156によつて夫々示されている。 該リード・リジユーム信号の発生に引続いて、
該制御回路15は、先に不一致状態を生じたとこ
ろの始原のリクエスタ・ユニツトを再点孤
(reinitiate)する。該優先回路14はこの始原の
リクエスタに対して最優先順位を与えて、箱12
2乃至132に示された動作のシーケンスが先に
記述された態様で遂行されるようにさせる。即
ち、この動作のシーケンスは、第5b図のフロ
ウ・ダイアグラムの接続符号3から第5a図のフ
ロウ・ダイアグラムに於ける対応部位に入る。該
リクエスタが書込みリクエストを呈示しているか
否かの確定がなされ、若しそうであれば、第5c
図のフロウ・ダイアグラムに記載された諸動作が
次々に遂行される。しかし、最初のリクエストが
読取りリクエストであつたならば、箱130及び
132によつて示された動作が遂行される。 第6図を参照して、第1図の制御回路15の詳
細を説明しよう。 該制御セクシヨン15の主たる機能は、該
SASUバツフアに蓄積されたデータを該メイン・
メモリに蓄積されたデータによつて順序良く置換
することであり、概説すれば、次の段階が含まれ
る。 Γ 不一致が奇数もしくは偶数セグメントの何れ
かに於て検出される。 Γ 制御セクシヨンはメイン・メモリに対して不
在アドレスのためのリクエストを呈示する。 Γ 制御セクシヨンは、SASUバツフアから最も
古く使用された(LRU)データを除去する。 Γ 該メイン・メモリからの不在データが該バツ
フアに書込まれ、そして新たに存在するアドレ
スがタグ部分に書込まれる。 Γ 先に除去されたLRUデータは、若しそれが
バツフアに在る間に修正されていたならば、メ
イン・メモリに書込まれる。 Γ 始原のリクエスタは優先順位を再獲得し、バ
ツフアに於ける所望のデータに今やアクセスす
る。 該制御回路15は、所望の可能化信号及びコマ
ンドを先行のステツプが完遂された後適時に該シ
ステムの残余の部分に生じさせる。 第6図に示されているように、該制御セクシヨ
ンは、複数の遅延線160,162,164と、
リクイジツト制御信号(requisite control
signals)を発生するための関連の論理回路とを
含んでいる。当該技術に於て良く知られているよ
うに、遅延線とは、一つのパルスがその入力に入
つたとき、一つの熟知された割合でラインを移動
し、それに沿つて位置したタツプに出力を生ずる
ような、一つの限定されたパルス伝播時間を持つ
装置である。コンピユータの回路網では、次々に
発生されたパルスが、該システに於ける他のユニ
ツトのためのコマンド又は可能化信号として用い
られることができる。 奇数セグメントの一致比較回路42(第2図)
からのA,B,C及びD出力は、回路166に互
いにオア接続されて(be DRed together)、リク
エスタによつて探し求められているアドレスが、
SASUのタグ・セグメントに存在するアドレスと
の比較で一致しなかつたとき(fail to
compare)、NOR回路166は不一致信号(a
miss signal)を発生する。同様にして、NOR回
路168は、SIUの偶数セグメントからのA,
B,C及びD出力を結合して、リクエストされた
アドレスが偶数セグメントに於ける撰択されたセ
ツトのタグとの比較で一致を生じなかつたとき、
その出力に不一致信号を発生する。各回路166
及び168の各々からの出力はOR回路170へ
与えられ、これら二つの入力が共にアクチブであ
れば、回路170の出力に一つの信号を生じて不
一致フリツプ・フロツプ172をセツトする。該
不一致フリツプ・フロツプは、遅延線160への
一入力として接続されており、該ラインに一パル
スを投入するのに役立つセツト出力端子を持つて
いる。該入力パルスは、該ラインを移動して、
次々に示された可能化信号を生ずる。より詳しく
述べると、先づ一番にリクエスタ・アドレス・レ
ジスタ18と不一致アドレス・レジスタ62との
間に配置されたゲート(図示せず)を可能化する
ところのタツプ174に一つのパルスが現われ、
リクエスタ・アドレス・レジスタの内容が不一致
アドレス・レジスタ62にゲートされ、引続き使
用するために一時的に蓄積される。 SASUが、リクエストされたアドレスがその中
に在るか否かを確定すべく問われつつあつたその
時に、第4図の回路は撰択されたセツトの四つの
ブロツクの何れが最も古く使用されたかを確定す
べく非同時的に作動されつゝあつた。しかる後、
該パルスが予定された時刻に該遅延線160を横
切るときに、一つの可能化信号が該タツプ176
に現われて、最も古く使用されたブロツクのアド
レスがタグ・アドレス・レジスタ64及びバツフ
ア・タグ・アドレス・レジスタ66に蓄積される
ようにさせる。 引続く時間に、該遅延線160を横切るパルス
はメイン・メモリのための読取りリクエスト制御
信号として役立つところのタツプ178に於ける
出力をもたらす。メイン・メモリと関連する通常
の制御回路がこのリクエスト信号に応答して、メ
イン・メモリ・アドレス・レジスタ72を介して
不一致アドレス・レジスタ62から供給されたス
ターテイング・アドレスを有する8ワードのブロ
ツクの読出しを行なわせる。 メイン・メモリへ読取りリクエストを送るに続
いて、該遅延線160を横切るパルスはタツプ1
80に到達し、3(二進11)にセツトされている
通常のカウンタ回路182に送られる。サイク
ル・カウンタ182からの出力は、遅延線162
に対する入力として接続されている。該サイク
ル・カウンタが3に進みそしてそれの引続く減少
の度毎に1パルスが生じて遅延線162を横切
る。従つて該サイクル・カウンタが3を記録して
いるとき、最初のサイクルで該遅延線162に入
つて来るパルスは、それに沿つて進行し、タツプ
184が附勢されるとき、読取りリクエストが奇
数及び偶数の両セグメントに移送されて最も古く
使用されたブロツクの除去を開始する。次に、遅
延線162はタツプ186に出力パルスを生じ、
そのタツプはANDゲート188の第1入力に接
続されている。しかしこのときに、ゲート188
は不可能(disabled)されており、従つてメイ
ン・メモリへの書込移送を開始するコマンドを生
ぜしめることはない。 次に遅延線162を横切るパルスが生じたと
き、それはタツプ190に至る。タグ・アドレ
ス・レジスタ64に含まれている最後に使用した
ブロツクのライトバツク・ビツトがセツトであれ
ば、ANDゲート192はライトバツク・フリツ
プ・フロツプ194のセツトを行なわせるべく充
分に可能化される。勿論、ライトバツク・ビツト
がセツトされていなければ、それは最も古く用い
られたブロツクがバツフアに存在していた間に此
のアドレスに相当するデータが何等の修正もされ
なかつた事を示すが、そのときはゲート192は
可能化されず、従つてライトバツク・フリツプ・
フロツプはクリア状態にとどまる。 遅延線162を進行するパルスがタツプ196
に到達したとき、それはサイクル・カウンタ18
2にフイード・バツクされて、該カウンタを1だ
け減少させるのに用いられる。該サイクル・カウ
ンタ182の減少(decrementation)は、遅延線
162への入力に再びパルスを与え、出力をタツ
プ184,186,190及び196上に次々と
出現させる。更に、サイクル・カウンタ182の
カウントが3から2へ減少されたとき、カウント
が2に等しいことを検出するコンパレータ198
はライン200に信号を出力してロード・フリツ
プ・フロツプ202をセツトする。該フリツプ・
フロツプ202がセツト状態にあつて、該遅延線
162の第2のイタレイシヨン(iteration)の間
にタツプ186上にパルスが出現したとき、ゲー
ト188は充分に可能化されて、メイン・メモリ
への書込み移送を開始させるコマンドを生ずる。
遅延線162の第1サイクルの間に、タツプ18
4に出現するパルスが、撰択されたセツトの撰択
されたブロツクのワード1及び0を各バツフア・
セグメント30及び34からバツフア・リード・
レジスタ69を介してメイン・メモリ書込デー
タ・レジスタ68へと読取るのに用いられたこと
を想起されたい。該遅延線162の第2サイクル
では、タツプ184上の信号は、撰択されたブロ
ツクの撰択されたセツトのワード2及び3をメイ
ン・メモリ書込みデータ・レジスタ68へ読込ま
せ、その直後にゲート188が充分に可能化され
て、メイン・メモリ36の保持レジスタに対する
書込み移送を書込みデータ・セレクタ71を介し
て開始する。 該遅延線162の動作の第3サイクルの完結時
に、パルスがタツプ196に出現して該サイク
ル・カウンタを0にに減少させる。該サイクル・
カウンタが0に到達したとき、コンパレータ20
4はこの状態を検出して、可能化信号をANDゲ
ート208の一つの入力ライン206に与える。
書込み可能化制御信号が導線212
(conductor)上に存在していれば、該ゲート20
8は述分に可能化されて、メイン・メモリ書込み
リクエスト制御信号を発生する。この書込みリク
エストの効果は、メイン・メモリをしてメイン・
メモリ・アドレス・レジスタ72の内容によつて
定まる蓄積位置に置換するよう撰択されたデータ
のブロツクを放出(store away)させることで
ある。 遅延線160のタツプ178に於ける読取りリ
クエスト制御信号の発生に引続く予定時刻に、メ
イン・メモリ制御回路は“読取りデータ移送”信
号(“read data transfer”signal)を生ずる。該
読取りリクエスト制御信号と読取りデータ移送信
号との間の時間間隔は、所望のブロツクを含む8
ワードをメイン・メモリを読出すのに充分なよう
に設計される。該読取りデータ移送信号は、導線
214によりサイクル・カウンタ216に対して
1入力として与えられる。導線214上の信号の
効果は、該サイクル・カウンタ216を3のカウ
ント(二進11)にセツトすることである。該サイ
クル・カウンタ216を3にセツトすること、及
びそれの引続く減少は、一連の引続く四つのパル
スが遅延線164の入力端子218に挿入される
ようにさせる。メイン・メモリから入来する読取
りデータの各バツフア書込みサイクル毎に、遅延
線164は各セグメント(奇数及び偶数)に始原
リクエスタの不在アドレスを呈示し、そのビツト
2及び1をインクレメントする。第1バツフア書
込みサイルの間に、最初のパルスが入力端子21
8に入つたとき、それは遅延線を進行してタツプ
220に出力を生じてSASU24及び26のタグ
部分に新たなレジデント・アドレスが蓄積される
ことを可能にさせる。投入されたそのアドレス
は、セレクタ16及びリクエスタ・アドレス・レ
ジスタ18を介してバツフア・タグ・アドレス・
レジスタ66から入手した先に不一致であつたリ
クエスタ・アドレスである。該タグ・アドレスは
最も最近に使用されたブロツク位置に書込まれ
る。このヤンゲスト・エイジ・ブロツクは、遅延
線162の4サイクルの間に除去されてしまつた
ところの最も古い使用のアドレスであつたが、し
かし読取りサイクルの性質の故に該タグ・エイ
ジ・ビツトは最新エイジ値に自動的に更新されて
いた。 各サイクルの間に、遅延線164のタツプ22
2にパルスが出現するとき、コマンド可能化信号
が発生されて、メイン・メモリから読取られたデ
ータを適切なバツフア位置にゲートする。引続い
て、遅延線164の動作の4サイクルの各々の間
に、パルスがタツプ224に出現し、ライトバツ
ク・ビツトをクリアするのに用いられる。このこ
とは、タク・メモリは、それと関連するバツフア
位置が書込まれるか又は修正されたときはいつも
自動的にタグ・ライトバツク・ビツトをセツトす
ると云う事実によつて必要なことである。それ
故、制御回路は、各バツフア書込動作の間に、ラ
イトバツク・ビツトをクリアせねばならない。そ
れによつてSIUバツフアに投入されるブロツクが
メイン・メモリに含まれた対応ブロツクと異なる
と云うことはその後には生じない。 メイン・メモリからの所望のブロツクのワード
7及び8が遅延線164の第4サイクルにバツフ
アに読込まれたとき、該サイクル・カウンタ21
6に含まれているカウントは0に減少されてお
り、この事実はカウントが0に等しいことを検出
するコンパレータ226によつて検出される。そ
のカウントが0に等しくなつたとき、該コンパレ
ータ226の出力に信号が生じてラスト・パス・
フリツプ・フロツプ228(last pass flip
flop)をセツトする。該ラスト・パス・フリツ
プ・フロツプのこの出力は、優先回路14に接続
され、該遅延線164の動作の最後のサイクルの
完了の際に外部リクエスタを可能化すべく優先セ
クシヨンに知らせるために用いられる。最後のサ
イクルの完了はANDゲート230によつて検出
される。詳述すれば、カウントが0に等しいこと
を検出するコンパレータ226からの出力は、該
遅延線のタツプ232に発生された信号とAND
接続されて、遅延線を最後に通過する際にのみ
ANDゲート230が可能化されて導線234上
に出力信号を生ずる。この最後に述べた信号は、
ミス・サイクについての情報を含んでいるところ
の第6図の制御セクシヨンに於ける各フリツプ・
フロツプをクリヤさせ或いは休止させるのに用い
られる。即ち、このラスト・パス・フリツプ・フ
ロツプ228,ロード・フリツプ・フロツプ20
2及びミス・フリツプ・フロツプ172は、遅延
線164の動作の第4サイクルの結了の際に各々
クリアされる。 該ラスト・パス・サイクルが完了すると、優先
セクシヨンは始原のリクエスタを再点孤してそれ
に最高の優先順位を与える。その結果として、該
リクエスタは、SIUバツフアから先のリクエスト
を満足する新たに蓄積されたデータを今や読出す
ことが可能である。 以上に単なる例示として一つの具体例のみにつ
いて述べて来たが、当該技術分野の熟達者によつ
て、本発明の範囲を逸脱することなく、様々な改
変がなされ得ることが理解されるべきである。 以上に充分記載された制御回路15の特異性を
除いて、第1図にブロツク素子として描かれてい
る残余の構成要素及び回路配列は通常のものであ
り、従つてそれらの動作態様について更なる説明
をする必要はない。 尚、本発明は、次の如く実施できる。 〔1〕 アドレス可能な位置にデータのブロツク
を蓄積するための比較的大容量で低サイクル時
間の一つのメイン・メモリと上記メイン・メモ
リに蓄積された該データ・ブロツクのサブ・セ
ツトを蓄積するための小容量で高速な一つのバ
ツフア・メモリとを有するタイプのデイジタ
ル・データ処理装置に於て、複数のリクエス
タ・ユニツトを上記バツフア・メモリと連絡関
係に接続するためのストアレイジ・インタフエ
イス・ユニツトであつて、 A 所望のデータの一つのブロツクが上記バツ
フア・メモリに存在するか否かを確定するた
めに、上記リクエスタ・ユニツトによつて与
えられたアドレス表示信号に応答し、そして
不存在のときミス・コントロール信号を生ず
る手段、 B 上記ミス・コントロール信号を受け取るよ
う接続されており、上記リクエスタ・ユニツ
トにより最も古くアクセスされたデータのブ
ロツクを上記バツフアから読出すための制御
手段、 C 上記バツフア・メモリに接続されており、
上記メモリから読出された最も古く用いられ
たデータのブロツクを一時的に蓄積するため
のレジスタ手段、 D 上記最も古く用いられたデータのブロツク
が読出されたところの上記バツフア・メモリ
に於けるアドレスに上記メイン・メモリから
上記の所望のデータのブロツクを移送するた
めの手段、 E 上記バツフア・メモリから読出された上記
最も古く用いられたブロツクに蓄積されたデ
ータが上記バツフア・メモリに存在していた
間に修正されたか否かを感知するための上記
制御手段内に於ける感知手段、 F 上記感知手段に接続され、上記最も古く用
いられたブロツクが上記バツフア・メモリに
存在していた間に修正されたことを上記感知
手段が示しているときだけ、上記レジスタ手
段から上記メイン・メモリへ上記最も古く用
いられたデータのブロツクを移送するための
手段、 とを含むストアレイジ・インタフエイス・ユニ
ツト。 〔2〕 上記〔1〕に記載の装置であつて、上記
の最初に記載された手段が、 A 各々のタグ・ワードが上記バツフア・メモ
リに現在するところの複数のブロツクのメイ
ン・メモリ・アドレスを示す第1のフイール
ドの複数を各々が持つているタグ・ワードの
複数を蓄積するためのタグ蓄積手段、 B 上記タグ蓄積手段からの出力を上記複数の
リクエスタ・ユニツトの内の一つからのアド
レス表示信号と共に受取るよう接続されてお
り、上記アドレス表示信号が上記タグ・ワー
ドの内の撰択された一つの第1のフイールド
の上記複数の何れかとの比較に失敗したとき
(比較が不一致であつたとき)上記ミス・コ
ントロール信号を生ずるためのコンパレー
タ、 とを含んでいるストアレイジ・インタフエイ
ス・ユニツト。 〔3〕 上記〔2〕記載の装置であつて、上記タ
グ・ワードは、一つのタグ・ワードの第1のフ
イールドの上記複数によつて特定されたブロツ
クをリクエスタ・ユニツトがリフアレンスした
相対的な順序を表示する第2のフイールドを
各々が持つているところのストアレイジ・イン
タフエイス・ユニツト。 〔4〕 上記〔3〕記載の装置であつて、上記タ
グ・ワードは、一つのタグワードの上記複数の
第1フイールドによつて特定された上記バツフ
ア・メモリに於けるブロツクが上記バツフア・
メモリに存在していた間に修正されたか否かを
示す第3のフイールドを各々が持つているとこ
ろのストアレイジ・インタフエイス・ユニツ
ト。 〔5〕 上記〔4〕記載の装置であつて、上記制
御手段に於ける上記感知手段が上記第3フイー
ルドの撰択された一つを受け取るよう接続され
ているストアレイジ・インタフエイス・ユニツ
ト。 〔6〕 上記〔3〕記載の装置であつて、上記制
御手段は、撰択されたタグ・ワードの上記第2
フイールドの一つを受取るよう接続されてお
り、それを上記撰択されたタグ・ワードの上記
第2フイールドの全てと比較し、上記撰択され
たタグ・ワードの第2フイールドが夫々上記第
2フイールドの上記一つよりも大であるか等し
いかそれとも小さいかに応じて上記撰択された
タグ・ワードの上記第2フイールドに0を加え
るかクリアするか又は1を加えるための回路手
段を持つているストアレイジ・インタフエイ
ス・ユニツト。 〔7〕 アドレス可能な位置に各々がP箇のワー
ドの長さを有するデータのN箇のブロツクを含
むM箇のセツトを蓄積するための比較的大容量
で低サイクル時間の一つのメイン・メモリと、
アドレス表示信号,データ表示信号及びリクエ
スト制御信号を与えるための複数のリクエス
タ・ユニツトとを有するタイプのデイジタル・
データ処理装置に於て、 A アドレス可能な位置に各々がP箇のワード
の長さを有するデータのn箇のブロツク(n
<N)を含むM箇のセツトを第1の部分に蓄
積し、M箇のタグ・ワードを第2の部分に蓄
積するための比較的低速で高サイクル時間の
バツフア・メモリであつて、上記タグ・ワー
ドの各々は、 a 上記メイン・メモリに於ける所与のセツ
トのN箇のブロツクの内の何れかが所与の
時間に上記バツフア・メモリの上記第1の
部分に於ける対応するセツトにも存在する
ことを特定するためのn個のブロツクのア
ドレス・フイールド、及び b 上記n箇のブロツクのアドレス・フイー
ルドにより特定された上記n箇のブロツク
に於けるデータが上記メイン・メモリに於
ける対応するN箇のブロツクに蓄積された
データと異なつているときにそれを示すた
めの修正表示、 とを含み、 B 上記複数のリクエスタ・ユニツトからの上
記リクエスト制御信号に応答して、上記バツ
フア・メモリに対して上記アドレス・表示信
号を与えるべく一時に上記リクエスタ・ユニ
ツトの一つのみを撰択するための優先順位決
定手段、 C 上記リクエスタ・ユニツトの上記の一つか
らの上記アドレス表示信号に応答して、上記
バツフア・メモリから所望のセツトのための
一つのタグ・ワードを読出すための手段、 D 上記所望のセツトのため上記タグ・ワード
のビツト交換及び上記リクエスタ・ユニツト
の上記一つからの上記アドレス表示信号に応
答し、上記所望のセツトのnブロツクが上記
所望のセツトに対応する上記メイン・メモリ
に於けるセツトに含まれている上記Nブロツ
クの所望の一つを含んでいないときミス・コ
ントロール信号を生ずるための一致検出手
段、 E 上記ミス・コントロール信号に応答し、上
記メイン・メモリに於ける上記N箇のブロツ
クの上記所望の一つによつて置換するため上
記バツフア・メモリに於ける上記所望のセツ
ト中の上記n箇のブロツクの一つを撰択する
ための制御手段、 F 上記修正表示を受け取るよう接続され、そ
して上記バツフア・メモリと上記メイン・メ
モリとに接続され、上記修正表示が予定の二
進値であつたときのみ上記リクエスタ・ユニ
ツトの上記の一つからの上記アドレス表示信
号によつて特定されたアドレスに上記メイ
ン・メモリに於ける置換のために撰択された
上記n箇のブロツクの上記一つを蓄積するた
めの手段、 とを有するストアレイジ・インタフエイス・ユ
ニツト。 〔8〕 上記〔7〕に記載の装置であつて、上記
タグ・ワードは更に上記リクエスタ・ユニツト
が上記バツフア・メモリに於ける上記n箇のブ
ロツクにアクセスした相対的な順序を継続的に
表示するためのn箇のエイジ・フイールドを含
んでいるストアレイジ・インターフエイス・ユ
ニツト。
〔9〕 上記〔8〕記載の装置であつて、上記制
御手段が上記n箇のエイジ・フイールドを受け
とるよう接続され、上記リクエスタ・ユニツト
によつて最も古くアクセスされたところの所与
のセツトに於ける上記n箇のブロツクの特定の
一つを撰択するための手段を含んでいるストア
レイジ・インタフエイス・ユニツト。 〔10〕 上記高速バツフア・メモリとタグ・メモ
リとが夫々それ自身のアドレス回路を有する二
つの部分30,34及び28,32に分割され
ており、一つの部分34,32はメイン・メモ
リ36の偶数アドレス位置の内容を保持するよ
う配列されており、他の部分30,28はメイ
ン・メモリの奇数アドレス位置の内容を保持す
るよう配列されており、それによつて上記バツ
フア・メモリの何れか一つの位置が読取り又は
書込みのためにアクセスされている間に、次に
連続するアドレスのアドレツシングが上記バツ
フア・メモリの他の部分で同時に実行され得る
ことを更に特徴とする特許請求の範囲第1項記
載のストアレイジ・インタフエイス・ユニツ
ト。
【図面の簡単な説明】
第1a及び1b図は、第1図に示された如く配
置されたとき、本発明が用いられているSIUの一
システムのブロツク・ダイヤグラムを示してい
る。第2図は、セツト・アソシアテイブ・ストア
レイジ・モジユールのタグ部分のブロツク・ダイ
ヤグラムである。第3図は、該セツト・アソシア
テイブ・ストアレイジ・モジユールのバツフア部
分のブロツク・ダイヤグラムである。第4図は、
“最古使用”アルゴリズム(the“least recently
used”algorithm)を行なうのに用いられる回路
を示す論理図である。第5a,5b,及び5c図
は、第5図に示されたように配置されたとき、本
発明の好ましい具体例によつて行なわれる様々な
動作のシーケンスを、フロウ・ダイヤグラムによ
つて示している。第6図は、第1図のシステムに
用いられた制御回路網を論理ダイヤグラムによつ
て示している。 符号説明、14:優先回路網、16:リクエス
タ・アドレス・セレクタ、18:リクエスタ・ア
ドレス・レジスタ、20:バツフア書込みセレク
タ、22:リクエスタ書込みレジスタ、24,2
6:セツト・アソシアテイブ・ストアレイジ・ユ
ニツト、28:タグ部分、30:バツフア部分、
32:タグ部分、34:バツフア部分、36:メ
イン・メモリ・モジユール、38:ケーブル、4
0:アドレス・トランスレータ、42:一致比較
回路、44:セツト・セレクタ、46:ワード・
セレクタ、48:ブロツク・セレクタ回路網、5
2:リード・データ・セレクタ、56,58,6
0:リクエスタ・リード・レジスタ、62:ミ
ス・アドレス・レジスタ、64:タグ・アドレ
ス・レジスタ、66:バツフア・タグ・アドレ
ス・レジスタ、68:メイン・メモリ・ライト・
データ・レジスタ、72:メイン・メモリ・アド
レス・レジスタ、74,76,78,80:レジ
スタ、82:比較撰択回路、84,86,88,
90:グレータ・ザン,イーコール・トウ,レ
ス・ザン比較器、92,94,96,98:加算
回路、160,162,164:遅延線、16
6,168:NOR回路、170:OR回路、17
2:不一致フリツプ・フロツプ、182:サイク
ル・カウンタ、188:ANDゲート、192:
ANDゲート、194:ライト・バツク・フリツ
プ・フロツプ、198:カウントが2に等しいこ
とを検出するコンパレータ、202:ロード・フ
リツプ・フロツプ、204:カウントが0に等し
いことを検出するコンパレータ、208:AND
ゲート、216:サイクル・カウンタ、226:
カウントが0に等しいことを検出するコンパレー
タ、228:ラスト・パス・フリツプ・フロツ
プ、230:ANDゲート。

Claims (1)

  1. 【特許請求の範囲】 1 複数の情報ブロツクを記憶する大容量で長サ
    イクルタイムのメインメモリ、メインメモリのア
    ドレス制御可能な位置に記憶されたこれら情報ブ
    ロツクの一部を記憶する小容量で高速のバツフア
    メモリを有するデイジタルデータ処理装置におい
    て、上記バツフアメモリ、バツフアメモリに記憶
    された情報のアドレスを指定する複数のリクエス
    タユニツト、およびタグメモリが設けられてお
    り、その際タグメモリの各セツトには、現在高速
    バツフアメモリ内に含まれているメインメモリに
    記憶された複数の情報ブロツクのアドレスと、高
    速バツフアメモリ内に含まれたこれら情報ブロツ
    クをリクエスタユニツトによりアドレス指定した
    セツト内での相対順序を表示するエイジビツトと
    を記憶しているストアレイジ・インターフエイ
    ス・ユニツトであつて、 a 第1および第2の入力端子と1つの出力端子
    を有する複数の比較器の回路網が設けられてお
    り、これら比較器は、第1の入力端子に加えら
    れた2進デイジツトにより表現される数が、第
    2の入力端子に加えられた2進デイジツトによ
    り表現される数よりも大きいか、小さいかまた
    は両者が等しいかを表示し、 b バツフアメモリ内のそれぞれの情報ブロツク
    に対応するエイジビツトをそれぞれの比較器回
    路網の第1の入力端子に供給する手段が設けら
    れており、 c 1つのリクエスタユニツトからアドレス指定
    されたバツフアメモリ内の情報ブロツクに対応
    するエイジビツトをすべての比較器回路網の第
    2の入力端子に供給する手段が設けられてお
    り、 d 比較器回路網のそれぞれの出力端子に接続さ
    れた加算装置が設けられており、比較器の第1
    の入力端子に加えられたエイジビツトによつて
    表現される数が、第2の入力端子に加えられた
    エイジビツトによつて表現される数よりも大き
    い時、等しい時または小さい時、それぞれこれ
    ら加算装置は、比較器の第1の入力端子に加え
    られたそれぞれの情報ブロツクのエイジビツト
    に、0を加算し、クリアしまたは1を加算する
    ことにより各エイジビツトを更新し、それによ
    り情報ブロツクの新しいエイジビツトに依存し
    て、情報ブロツクの相対利用度に基づいた情報
    ブロツクのリプレースメントを行うための判定
    が可能であることを特徴とする、ストアレイ
    ジ・インターフエイス・ユニツト。
JP50135592A 1974-11-11 1975-11-11 Expired JPS6118222B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/522,553 US3967247A (en) 1974-11-11 1974-11-11 Storage interface unit

Publications (2)

Publication Number Publication Date
JPS5176936A JPS5176936A (ja) 1976-07-03
JPS6118222B2 true JPS6118222B2 (ja) 1986-05-12

Family

ID=24081323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50135592A Expired JPS6118222B2 (ja) 1974-11-11 1975-11-11

Country Status (8)

Country Link
US (1) US3967247A (ja)
JP (1) JPS6118222B2 (ja)
CH (1) CH607139A5 (ja)
DE (2) DE2550339C2 (ja)
FR (1) FR2290710A1 (ja)
GB (1) GB1532798A (ja)
IT (1) IT1049044B (ja)
SE (1) SE411404B (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
FR2348544A1 (fr) * 1976-04-15 1977-11-10 Honeywell Bull Soc Ind Ensemble double de memoire associative
DE2703559A1 (de) * 1977-01-28 1978-08-03 Siemens Ag Rechnersystem
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
US4158235A (en) * 1977-04-18 1979-06-12 Burroughs Corporation Multi port time-shared associative buffer storage pool
US4149262A (en) * 1977-04-19 1979-04-10 Semionics Associates Associative memory device with variable recognition criteria
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
JPS5489444A (en) * 1977-12-27 1979-07-16 Fujitsu Ltd Associative memory processing system
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
US4432050A (en) * 1978-10-02 1984-02-14 Honeywell Information Systems, Inc. Data processing system write protection mechanism
US4258417A (en) * 1978-10-23 1981-03-24 International Business Machines Corporation System for interfacing between main store memory and a central processor
US4323968A (en) * 1978-10-26 1982-04-06 International Business Machines Corporation Multilevel storage system having unitary control of data transfers
CA1123964A (en) * 1978-10-26 1982-05-18 Anthony J. Capozzi Integrated multilevel storage hierarchy for a data processing system
US4225922A (en) * 1978-12-11 1980-09-30 Honeywell Information Systems Inc. Command queue apparatus included within a cache unit for facilitating command sequencing
GB2037039B (en) * 1978-12-11 1983-08-17 Honeywell Inf Systems Cache memory system
US4276609A (en) * 1979-01-04 1981-06-30 Ncr Corporation CCD memory retrieval system
US4298929A (en) * 1979-01-26 1981-11-03 International Business Machines Corporation Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
US4868734A (en) * 1984-04-30 1989-09-19 Unisys Corp. Variable rate improvement of disc cache subsystem
US5241666A (en) * 1979-06-04 1993-08-31 Unisys Corporation Variable rate improvement of disc cache subsystem
US4298932A (en) * 1979-06-11 1981-11-03 International Business Machines Corporation Serial storage subsystem for a data processor
US4445191A (en) * 1979-08-13 1984-04-24 Burroughs Corporation Data word handling enhancement in a page oriented named-data hierarchical memory system
DE2934771C3 (de) * 1979-08-28 1982-03-25 Siemens AG, 1000 Berlin und 8000 München Speichervorrichtung.
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
JPS5680872A (en) * 1979-12-06 1981-07-02 Fujitsu Ltd Buffer memory control system
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
US4382278A (en) * 1980-06-05 1983-05-03 Texas Instruments Incorporated Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4381541A (en) * 1980-08-28 1983-04-26 Sperry Corporation Buffer memory referencing system for two data words
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
EP0055579B1 (en) * 1980-12-31 1991-03-20 Bull HN Information Systems Inc. Cache memories with double word access
US4355306A (en) * 1981-01-30 1982-10-19 International Business Machines Corporation Dynamic stack data compression and decompression system
US4414644A (en) * 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4821184A (en) * 1981-05-22 1989-04-11 Data General Corporation Universal addressing system for a digital data processing system
CA1187198A (en) * 1981-06-15 1985-05-14 Takashi Chiba System for controlling access to channel buffers
US4439837A (en) * 1981-06-16 1984-03-27 Ncr Corporation Non-volatile memory system for intelligent terminals
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
JPS58147879A (ja) * 1982-02-26 1983-09-02 Toshiba Corp キヤツシユメモリ制御方式
US4811203A (en) * 1982-03-03 1989-03-07 Unisys Corporation Hierarchial memory system with separate criteria for replacement and writeback without replacement
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US4574346A (en) * 1982-09-29 1986-03-04 International Business Machines Corporation Method and apparatus for peripheral data handling hierarchies
US4675812A (en) * 1983-02-14 1987-06-23 International Business Machines Corp. Priority circuit for channel subsystem having components with diverse and changing requirement for system resources
US4607331A (en) * 1983-05-13 1986-08-19 Motorola, Inc. Method and apparatus for implementing an algorithm associated with stored information
US4695951A (en) * 1983-07-07 1987-09-22 Honeywell Bull Inc. Computer hierarchy control
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
US4625273A (en) * 1983-08-30 1986-11-25 Amdahl Corporation Apparatus for fast data storage with deferred error reporting
US4710966A (en) * 1984-01-04 1987-12-01 Itek Corporation Digital frame processor pipe line circuit
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4630195A (en) * 1984-05-31 1986-12-16 International Business Machines Corporation Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage
USRE34052E (en) * 1984-05-31 1992-09-01 International Business Machines Corporation Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage
DE3429571A1 (de) * 1984-08-10 1986-02-20 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus
DE3574421D1 (en) * 1984-08-10 1989-12-28 Siemens Ag Circuit arrangement for classifying in order of priority and for recording individual memory sections or banks using the lru algorithm
JPH0670773B2 (ja) * 1984-11-01 1994-09-07 富士通株式会社 先行制御方式
US4714994A (en) * 1985-04-30 1987-12-22 International Business Machines Corp. Instruction prefetch buffer control
CH672816A5 (ja) * 1986-10-03 1989-12-29 Pantex Stahl Ag
US5034885A (en) * 1988-03-15 1991-07-23 Kabushiki Kaisha Toshiba Cache memory device with fast data-write capacity
US4939641A (en) * 1988-06-30 1990-07-03 Wang Laboratories, Inc. Multi-processor system with cache memories
US5097409A (en) * 1988-06-30 1992-03-17 Wang Laboratories, Inc. Multi-processor system with cache memories
US5027270A (en) * 1988-10-11 1991-06-25 Mips Computer Systems, Inc. Processor controlled interface with instruction streaming
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5202972A (en) * 1988-12-29 1993-04-13 International Business Machines Corporation Store buffer apparatus in a multiprocessor system
EP0419961A3 (en) * 1989-09-26 1991-10-23 Siemens Aktiengesellschaft Method and circuit for replacement control, particularly for a system containing digital memory elements
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5263144A (en) * 1990-06-29 1993-11-16 Digital Equipment Corporation Method and apparatus for sharing data between processors in a computer system
US5434990A (en) * 1990-08-06 1995-07-18 Ncr Corporation Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
US5218246A (en) * 1990-09-14 1993-06-08 Acer, Incorporated MOS analog XOR amplifier
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5345582A (en) * 1991-12-20 1994-09-06 Unisys Corporation Failure detection for instruction processor associative cache memories
US5404484A (en) * 1992-09-16 1995-04-04 Hewlett-Packard Company Cache system for reducing memory latency times
US5673415A (en) * 1993-12-03 1997-09-30 Unisys Corporation High speed two-port interface unit where read commands suspend partially executed write commands
JP3266470B2 (ja) * 1994-10-03 2002-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
JPH10509819A (ja) 1994-10-14 1998-09-22 シリコン グラフィックス インク. インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
WO2000018041A2 (en) * 1998-09-18 2000-03-30 Harris Corporation Distributed trunking mechanism for vhf networking
US7069406B2 (en) * 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US9274964B2 (en) 2012-02-02 2016-03-01 Qualcomm Incorporated Multi-bank cache memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE622921A (ja) * 1961-10-06
BE629069A (ja) * 1962-03-05
US3275991A (en) * 1962-12-03 1966-09-27 Bunker Ramo Memory system
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
US3581291A (en) * 1968-10-31 1971-05-25 Hitachi Ltd Memory control system in multiprocessing system
US3588839A (en) * 1969-01-15 1971-06-28 Ibm Hierarchical memory updating system
US3670309A (en) * 1969-12-23 1972-06-13 Ibm Storage control system
US3647348A (en) * 1970-01-19 1972-03-07 Fairchild Camera Instr Co Hardware-oriented paging control system
US3737871A (en) * 1971-07-28 1973-06-05 Hewlett Packard Co Stack register renamer
GB1354827A (en) * 1971-08-25 1974-06-05 Ibm Data processing systems
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories

Also Published As

Publication number Publication date
IT1049044B (it) 1981-01-20
GB1532798A (en) 1978-11-22
DE2560206C2 (de) 1983-01-20
FR2290710A1 (fr) 1976-06-04
DE2550339C2 (de) 1982-10-14
FR2290710B1 (ja) 1980-04-18
DE2550339A1 (de) 1976-06-16
JPS5176936A (ja) 1976-07-03
CH607139A5 (ja) 1978-11-30
SE411404B (sv) 1979-12-17
US3967247A (en) 1976-06-29
SE7512524L (sv) 1976-05-12

Similar Documents

Publication Publication Date Title
JPS6118222B2 (ja)
EP0090026B1 (en) Cache memory using a lowest priority replacement circuit
JPS5830319Y2 (ja) コンピユ−タシステム
CA1124888A (en) Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
US5283886A (en) Multiprocessor cache system having three states for generating invalidating signals upon write accesses
US4736293A (en) Interleaved set-associative memory
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5590379A (en) Method and apparatus for cache memory access with separate fetch and store queues
KR100278328B1 (ko) 캐시 미스 버퍼
US4881163A (en) Computer system architecture employing cache data line move-out queue buffer
US4385351A (en) Multiprocessor system with apparatus for propagating cache buffer invalidation signals around a circular loop
US6950906B2 (en) System for and method of operating a cache
JP2561261B2 (ja) バッファ記憶アクセス方法
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
JPS5832427B2 (ja) 多重情報処理システム
US6021472A (en) Information processing device and control method thereof
EP0304587B1 (en) Interruptible cache loading
JPH0793215A (ja) 半導体記憶装置
JPH10320278A (ja) メモリコントローラ及びコンピュータシステム
JP2000066946A (ja) メモリコントローラ
JPH0883216A (ja) 情報処理装置及びその方法
JPH05334182A (ja) データ転送システム
JPH11143777A (ja) キャッシュメモリ装置
JPS62224846A (ja) メモリ制御装置