JPH0438014B2 - - Google Patents

Info

Publication number
JPH0438014B2
JPH0438014B2 JP60126415A JP12641585A JPH0438014B2 JP H0438014 B2 JPH0438014 B2 JP H0438014B2 JP 60126415 A JP60126415 A JP 60126415A JP 12641585 A JP12641585 A JP 12641585A JP H0438014 B2 JPH0438014 B2 JP H0438014B2
Authority
JP
Japan
Prior art keywords
cache
data
bytes
caches
byte
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
JP60126415A
Other languages
English (en)
Other versions
JPS6120157A (ja
Inventor
Jon Eikeruman Junia Furederitsuku
Harorudo Buramubaagu Retsukusu
Merutsuaa Deebitsudo
Haabaado Homarin Jeemuzu
Robaatsu Puzatsuku Toomasu
Nasan Rechafuen Rudorufu
Jon Suparashio Furanku
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6120157A publication Critical patent/JPS6120157A/ja
Publication of JPH0438014B2 publication Critical patent/JPH0438014B2/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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はデータ処理システムの高速緩衝記憶機
構(すなわちキヤツシユ)に関し、さらに詳しく
言えば、キヤツシユ間のデータ転送、およびキヤ
ツシユと主記憶装置と処理ユニツトとの3者相互
間のデータ転送を高速に行うことのできるデータ
処理システムに関するものである。
[従来技術] データ処理システムの動作を改善するため、従
来からキヤツシユと呼ばれる高速緩衝記憶機構が
使用されてきた。複数のキヤツシユが具備されて
いるようなシステムも幾つか考えられている。
米国特許第4141067号は、各CPUが各自のキヤ
ツシユを有するようなマイクロプロセツサシステ
ムについて記載するものである。このシステムで
はバツフアデータに対して、各キヤツシユとその
CPUとの間に独立したラツチが設けられている。
ただしこのシステムでは複数のキヤツシユ間での
転送は行われない。
米国特許第4144566号は、多数の基本的なプロ
セツサが並列的に接続された並列式プロセツサに
ついて記載するものである。基本的なプロセツサ
の各々は、各自、通常の記憶ユニツトと小容量の
高速記憶ユニツトを有している。これらの高速記
憶ユニツトは所望の並列処理ができるように相互
接続されている。ただしこのシステムでは高速記
憶ユニツト相互間または選択可能な高速記憶ユニ
ツトと単一の共通主記憶装置との間のデータ転送
は行われない。
米国特許第4228503号は、リクエスタの各々が
各自専用のキヤツシユを有するような多重リクエ
スタについて記載するものである。各リクエスタ
はデータを得るために各自のキヤツシユをアクセ
スするだけでなく、他の全てのキヤツシユをアク
セスして、そのリクエスタが自分のキヤツシユに
書き込んだのと同じ特定のデータワードが自分の
ものでないキヤツシユにあればそれを無効化す
る。しかしながら、リクエスタは自分のものでは
ない他のキヤツシユからはデータを得ることはで
きず、キヤツシユ相互間のデータ転送も行われな
い。
米国特許第4354232号は、キヤツシユ、主記憶
装置、およびCPUの相互間に特定のバツフアス
テージを設けて、読取りデータ転送コマンドまた
は書込みデータ転送コマンドとその関連データを
記憶するようにしたシステムについて記載するも
のである。このシステムは融通性のあるデータ転
送を可能にするが、そのために別のバツフアユニ
ツトと制御論理が必要となる。
IBMテクニカルデイスクロージヤーブレテン
第21巻第6号(1978年11月)の第2468頁ないし第
2469頁に記載された“第2レベルキヤツシユを備
えたデータ処理システム”と題する論文は、2つ
のプロセツサと、その各プロセツサと共有主記憶
装置との間に2レベルキヤツシユと、を有するよ
うなデータ処理システムに関するものである。
また、IBMテクニカルデイスクロージヤーブ
レテン第23巻第7A号(1980年12月)の第2915頁
ないし第2917頁に記載された“高性能プロセツサ
のためのシステムキヤツシユ”と題する論文は、
各自専用のキヤツシユを備えた複数のプロセツサ
とそうした複数の専用キヤツシユと主記憶装置と
の間に独立したレベルの共通システムキヤツシユ
と、を有するようなデータ処理システムに関する
ものである。
上記2つの論文は、いずれも、キヤツシユの内
部的な構成、およびバスと回路との相互接続につ
いて記載するものではない。
[発明が解決しようとする問題点] 以上説明したように複数のキヤツシユを有する
データ処理システムにおけるキヤツシユ間でのデ
ータ転送能力、及び、キヤツシユと主記憶装置と
プロセツサとの3者相互間でのデータ転送能力
は、従来技術はいずれも十分なものとは言えな
い。
従つて本発明の目的は従来の複数のキヤツシユ
を有するデータ処理システムにおけるデータ転送
能力を改善することにある。
[問題点を解決するための手段] 上記目的は、以下のような構成によつて達成さ
れる。すなわち、 プロセツサ、主記憶装置、および第一レベルの
L1キヤツシユと、これより低いレベルのL2キヤ
ツシユを含み、前記キヤツシユの各々に1組の入
力手段および1組の出力手段を設け、前記L1、
L2キヤツシユ相互間のデータ転送、および前記
プロセツサと前記主記憶装置と前記キヤツシユと
の3者相互間のデータ転送を行うデータ処理シス
テムにおいて、 前記L1、L2キヤツシユは、Mバイト幅のキヤ
ツシユラインを有し、 前記L1キヤツシユは、前記Mをメモリ回路毎
にアクセスされるバイト数Pで割つた値Nに等し
いN個のメモリ回路アレーを有し、更に前記L1、
L2キヤツシユの間で前記Mバイト幅のデータを
送信、受信するために、前記入力手段及び出力手
段は各々Mバイトの幅を有し、 前記L2キヤツシユは、前記Mをメモリ回路毎
にアクセスされるバイト数Yで割つた値Xに等し
いX個のメモリ回路のアレーを有し、更に前記
L1、L2キヤツシユの間で前記Mバイト幅のデー
タを送信、受信するために、前記入力手段及び出
力手段は各々Mバイトの幅を有し、 前記L1キヤツシユの出力手段を前記L2キヤツ
シユの入力手段に接続するMバイト幅の第一の接
続手段と、前記L2キヤツシユの出力手段を前記
L1キヤツシユの入力手段に接続するMバイト幅
の第二の接続手段とを含み、前記L1キヤツシユ
とL2キヤツシユとを接続するキヤツシユ間バス
と、 前記第一、第二の接続手段のバイト幅Mを分割
したバイト幅Wを有し、前記L1、L2キヤツシユ
の各入力手段と前記主記憶装置とを接続する、主
記憶データ・バスと、 前記L1、L2キヤツシユの出力手段に接続され
た前記Mバイト幅の少なくとも一つの出力デー
タ・バスと、 前記少なくとも一つの出力データ・バスを介し
て前記L1、L2キヤツシユの出力手段に接続され、
バイト幅Wに分割されたデータ・ブロツクを前記
プロセツサや前記主記憶データ・バスにシーケン
シヤルに供給する第一のコンバータ手段と、 前記Mバイトのデータ・ブロツクの少なくとも
一つをストアするために、前記出力データ・バス
に接続された少なくともMデータバイトの能力を
有する、レジスタ・アレイ手段と、 前記レジスタ・アレイ手段内にストアされた前
記Mバイト幅のデータ・ブロツクを分割して、前
記プロセツサや前記主記憶データ・バスにシーケ
ンシヤルに供給するために、前記レジスタ・アレ
イ手段に接続された第二のコンバータ手段とを備
え、 前記L1、L2キヤツシユの一回のアクセスで、
前記Mバイト幅のデータを前記L1キヤツシユと
L2キヤツシユの間で効率的に転送することを特
徴とするデータ処理システム。
各々のキヤツシユを以上のような構成にすれ
ば、複数のキヤツシユ、特に階層の異なる複数の
キヤツシユ間で大量のデータブロツクの転送を1
回のキヤツシユサイクルで実行でき、データ転送
速度が大幅に向上する。また、プロセツサと主記
憶装置とキヤツシユとの3者相互間のデータ転送
は、余分な記憶サイクルを必要とせずに直接に行
うことができる。
[実施例] (A) 記憶システムのデータの流れ 第1図は本発明に基づく記憶システムの実施例
の構成を示す図である。図中実線で示す矢印はデ
ータの流れを表わし、破線で示す矢印は制御デー
タの流れを表わす。なお( )内に示す数字は、
その線の容量をバイト数で表わしたものである。
プロセツサ11は記憶制御ユニツト15によつて
主記憶ユニツト13に接続される。プロセツサ1
1に対しオペランドおよび命令の可用性を高める
ため、2つのキヤツシユ17,19が設けられて
いる。図のように、キヤツシユを2レベルの階層
で構成すると可用性はさらに改善される。キヤツ
シユを2レベルの階層で構成する場合、主記憶ユ
ニツト13のレベルは最も高いレベル3(L3)
である。レベル1(L1)のキヤツシユ17を制
御するキヤツシユ制御21、およびレベル2(L
2)のキヤツシユ19を制御するキヤツシユ制御
23がそれぞれのキヤツシユに対して設けられ、
これらは主記憶ユニツト13に接続される。
本発明はキヤツシユの内部的な接続および複数
のキヤツシユの相互接続に関する。
レベル1のキヤツシユ17は64Kバイトの記憶
容量を有し、レベル2のキヤツシユ19は1Mバ
イトの記憶容量を有する。すなわち、レベル2は
レベル1の16倍の記憶容量を有する。データは16
バイトのバス25を介して主記憶ユニツト13か
ら両方のキヤツシユの入力に転送することができ
る。キヤツシユ17からのデータは64バイトのバ
ス27を介してキヤツシユ19の第2入力へ転送
することができ、さらにコンバータ29および16
バイトのバス31を介してプロセツサ11および
主記憶ユニツト13にも転送できる。キヤツシユ
19からのデータは64バイトのバス33を介して
キヤツシユ17の第2入力へ転送することがで
き、さらにコンバータ29および16バイトのバス
31を介してプロセツサ11および主記憶ユニツ
ト13にも転送できる。
2レベル式キヤツシユの詳細は次節で説明す
る。
バスの幅および記憶装置のサイズは使用される
システムに応じて上記以外のものも選択すること
ができる。
本発明は多重プロセツサシステムにおいても実
施することができる。多重プロセツサシステムの
場合は、全てのプロセツサと共有主記憶装置との
間に単一の共有キヤツシユグループを設けてもよ
いし、主記憶装置だけを共有化させてプロセツサ
の各々に対して独立した局所的なキヤツシユグル
ープを設けるようにしてもよい。
(B) レベル1のキヤツシユとレベル2のキヤツシ
ユとの相互接続 第2図は2つのキヤツシユ17および19とそ
れらの相互接続の様子を示す図である。なお図中
の( )内の数字はその線の容量をバイト数で表
わしたものである。2つのキヤツシユはデータ
(オペランド、命令)を64バイト単位でアクセス
できるよう構成されている。以下の説明ではこの
64バイト単位のデータのことを“ライン”ともい
う。1ラインは64バイト、すなわち、576ビツト
(1バイトは8つのデータビツトと1つのパリテ
イビツトの計9ビツトを有する)である。
レベル1のキヤツシユ17は64Kバイトの記憶
容量を有するので、1024(すなわち1K)個のライ
ンを保持することができる。64バイトの読取りま
たは書込みを行うため1つのラインの場所を選択
するには、キヤツシユは10ビツトの情報が必要で
ある。この情報は線35から供給される。線35
は複数のビツトから成り、そのうちの一部のビツ
トでキヤツシユの1セツト(キヤツシユを細分し
たものの1つ)を選択し、残りのビツトでそのセ
ツト内の特定場所をアドレス指定する。これに関
しては第3図を参照して後で説明する。
キヤツシユ17は1ライン分のデータを保持で
きる書込みラツチ37を有する。これらの書込み
ラツチ37にはバス33を介してキヤツシユ19
から(入力A′)またはバス25を介して4回の
順次的な形で主記憶ユニツト13から(入力A)
データが選択的にロードされる。キヤツシユ17
は1ライン分のデータを保持できる読取りラツチ
39をさらに有する。これらの読取りラツチ39
の内容はバス27へ供給される(出力D)。
キヤツシユ17は32個のICチツプで構成され
る。各チツプは256個のダブルバイトを4セツト
保持する(後述)。1ラインに関して言うと、各
チツプは1つのダブルバイトを保持する。したが
つて各チツプには1ダブルバイト(18ビツト)分
の書込みラツチ37および1ダブルバイト(18ビ
ツト分)分の読取りラツチ39が集積化されてい
る。
レベル1のキヤツシユ17のアクセスタイムは
3ナノ秒以下である。
レベル2のキヤツシユ19は1Mバイトの記憶
容量を有するので、16384(すなわち16K)個のラ
インを保持することができる。したがつてライン
の選択には14ビツトの情報が必要である。この情
報は線41から供給される。キヤツシユ19にお
けるラインの選択およびアドレス指定に関する詳
細は第4図を参照して後で説明する。
キヤツシユ19も1ライン分のデータを保持で
きる書込みラツチ43および読取りラツチ45を
有する。これらの書込みラツチ43にはバス27
を介してキヤツシユ17から(入力A″)、または
バス25を介して4回の順次的な形で主記憶ユニ
ツト13から(入力A)データが選択的にロード
される。読取りラツチ45の内容はバス33へ供
給される(出力B)。
キヤツシユ19は64個のICチツプで構成され
る。各チツプは16K個の単一バイト(セツトおよ
びサブセツトにグループ化されている)を保持す
る。1ラインに関して言うと、各チツプは1つの
単一バイトを保持する。したがつて各チツプには
1バイト(9ビツト)分の書込みラツチ43およ
び1バイト(9ビツト)分の読取りラツチ45が
集積化されている。
レベル2のキヤツシユ19のアクセスタイムは
20ナノ秒以下である。レベル1に比してレベル2
の方がキヤツシユのサイズが大きいので、それだ
けアクセスタイムも長い。
コンバータ29はキヤツシユ17または19か
ら64バイトのラインを受け取つて連続的な4サイ
クルに分けてこれを16バイト単位(サブラインと
もいう)でプロセツサ11または主記憶ユニツト
13に送る。
第2図に示すブロツク47はN個のレジスタの
アレイである。各レジスタはキヤツシユ17また
は19からコンバータ29に転送されたデータで
ある64バイトのラインを保持することができる。
これらのレジスタがあればキヤツシユを再度アク
セスしなくてもラインを再使用することができ
る。レジスタの出力はコンバータ30に供給され
る。コンバータ29および30によりキヤツシユ
およびレジスタの並列的な読出しが可能となる。
(C) レベル1用のチツプのレイアウトおよび制御 第3図はレベル1のキヤツシユを構成する32個
のチツプの1つを示す図である。第3図ないし第
6図においては( )内の数字はビツト数を表わ
す。レベル1用の1つのチツプ51は各々が256
個のダブルバイト(256×18ビツト)を記憶する
4つのアレイ53,55,57および59を有す
る。チツプ51はダブルバイト(18ビツト)を記
憶する書込みラツチ37′および読取りラツチ3
9′を含む。書込みラツチ37′の18ビツトの内容
はバス61を介して4つのアレイ全てに転送され
る。アレイからの18ビツトの内容はバス63を介
して読取りラツチ39′に転送される。書込みラ
ツチ37′は外部のバス25′(入力A)およびバ
ス33′(入力A′)に接続される。読取りラツチ
39′は外部のバス27′(出力D)に接続され
る。これらのバスの容量はいずれも2バイト(18
ビツト)であるが、キヤツシユ全体でみればチツ
プは32個あるので、合計64バイトの容量となる。
読取りラツチ39′から書込みラツチ37′にダ
ブルバイトを戻すことができるようにチツプ51
にはフイードバツク用のバス65が設けられてい
る。バス65を介するフイードバツクは書込みラ
ツチ37′への第3入力(入力AI)となる。
各アレイの256個のダブルバイトの1つを選択
するために、線67から8アドレスビツト(AL
1)が供給されてデコーダ69でデコードされ
る。4つのアレイ53,55,57および59の
1つを選択するために、線72から2選択ビツト
(SL1)が供給されてデコーダ73または74で
それぞれデコードされる。線71からのクロツク
信号と線75からの書込み付勢信号(WL1)と
で書込みオペレーシヨンの間、アレイを制御す
る。読取りオペレーシヨンの場合は、4つのダブ
ルバイト(各アレイから1つずつ)が同時に転送
され、1つのダブルバイトがそのアレイのサイク
ルタイムの終りで、選択されたANDゲート(G)に
よつてゲートされる。ANDゲート(G)の選択はデ
コーダ74の出力信号により行われる。デコーダ
74は線77から供給される読取り付勢信号
(RL1)で付勢される。この読取り付勢信号はア
レイの制御にも使用される。
以上のようにして線67および線72(これら
の線で第2図に示す線35を構成する)から供給
される10ビツトにより、各チツプに記憶された
1024個のダブルバイトの1つを選択することがで
きる。これらの10ビツトがどのようにして所与の
アドレスから得られるかは第5図を参照して後で
説明する。
書込みラツチ37′は3つの入力を有するので、
書込みラツチ37′には線79から2ビツトの制
御信号W1が供給される。これにより3つの入力
A,A′、およびAIのうちの1つが選択される。
2ビツトの制御信号W1はさらに書込みラツチ3
7′を付勢する。こうして書込みラツチ37′は選
択された入力バス上の可用な2バイトを記憶する
ことができる。
さらにもう2ビツトの制御信号WHが線81か
ら供給される。選択された入力バス上の可用な2
バイトのうち左側のバイト、右側のバイト、また
は両方のバイトを制御信号WHで書込みラツチ3
7′へ選択的にゲートする。こうして個々のバイ
トを選択したり、異なる源からのそれぞれのバイ
トを1つのバイトペアに組立てることができる。
1ビツトの線83から読取りラツチ39′に読
取り制御信号R1が供給される。信号R1が活動
化されると読取りラツチ39′は4つのアレイの
1つから読み取られたバス63上で現に可用とな
つているダブルバイトを記憶する。
レベル1のキヤツシユ制御21から供給される
これらの制御信号W1、WH、およびR1は本実
施例では重要な特徴である。というのはこれらの
制御信号を使用すればキヤツシユ(またはチツ
プ)の内部的なオペレーシヨンと外部のデータ転
送を独立して行うことができるようになるからで
ある。したがつてレベル1のキヤツシユ17、レ
ベル2のキヤツシユ19、および主記憶ユニツト
13の動作速度すなわちアクセスタイムが異なる
にもかかわらず、最小の遅延ですなわち余分の記
憶サイクルを必要とせずにそうした異なるレベル
間での直接の転送が可能となる。
(D) レベル2用のチツプのレイアウトおよび制御 第4図はレベル2のキヤツシユを構成する64個
のチツプの1つを示す図である。レベル2用のチ
ツプ91は16384(16K)個のバイト位置から成る
アレイ93(したがつて16384×9ビツト)を有
する。チツプ91は、更に、1バイト(9ビツ
ト)を記憶する書込みラツチ43′および読取り
ラツチ45′を含む。バス95は書込みラツチ4
3′をアレイ93に接続し、バス97はアレイ9
3を読取りラツチ45′に接続する。書込みラツ
チ43′は外部のバス25′(入力A)およびバス
27′(入力A″)に接続される。読取りラツチ4
5′は外部のバス33′(出力B)に接続される。
これらのバスの容量はいずれも1バイト(9ビツ
ト)であるが、キヤツシユ全体でみればチツプは
64個あるので、合計64バイトの容量となる。
アレイ93の16K個のバイトのうちの1つを選
択するために、線101および線103から12ア
ドレスビツト(A1L2およびA2L2)が供給
され、線105から2選択ビツト(SL2)が供
給される。これらの線101,103、および1
05で第2図に示す線41を構成する。以上の14
ビツトがデコーダ107,109、および111
でデコードされて、個々の選択信号がアレイ93
の1セツト(特にこれをスーパーラインという)
およびその1セツチ内の1サブセツト(1ライ
ン)を選択する。これらのアドレス/選択ビツト
がどのようにして所与のアドレスから得られるか
は第6図を参照して後で説明する。
線113および線115から書込み付勢信号
(WL2)および読取り付勢信号(RL2)がアレ
イ93にそれぞれ供給される。
書込みラツチ43′には線117から2ビツト
の制御信号W2が供給される。これにより2つの
入力Aおよび入力A″の一方が選択される。2ビ
ツトの制御信号W2はさらに書込みラツチ43′
を付勢する。こうして書込みラツチ43′は選択
された入力バス上の可用な1バイトを記憶するこ
とができる。
線119から読取りラツチ45に1ビツトの読
取り制御信号R2が供給される。信号R2が活動
化されると読取りラツチ45はアレイ93から読
み取られたバス97上で現に可用となつている1
バイトを記憶する。
レベル2のキヤツシユ制御23から供給され、
制御信号W2およびR2はオンチツプの書込みラ
ツチおよび読取りラツチと協働するこれらの制御
信号W2およびR2は本実施例の重要な特徴であ
る。その理由は前節の最後に既に述べた通りであ
る。
(E) レベル1のキヤツシユのアドレス指定 第5図は所与のアドレスからキヤツシユ17用
のアドレス/選択信号がどのようにして得られる
かということを示す図である。レジスタ121に
27ビツトの仮想アドレスが記憶されている。下位
6ビツトでキヤツシユから64バイト(1ライン)
のうちの1バイトを選択する。他の全てのビツト
はキヤツシユ内におけるラインのアドレス指定に
使用される。
仮想記憶システムにおいてよく知られているよ
うに、最後に変換されたアドレスを記憶する目的
でデイレクトリ索引テーブル(以下DLATとい
う)123が設けられている。DLATは256個の
コングルエンスクラスに細分されている。ビツト
7〜14が同一であるような全て仮想アドレスは1
つのコングルエンスクラスすなわちアソシアテイ
ブセツトを形成する。したがつてこれらの8ビツ
トでDLAT内の個々のコングルエンスクラス
(または行)が選択される。各コングルエンスク
ラスは2つのエントリ125を有する。エントル
125は17ビツトの“STO”アドレスフイール
ド、7ビツトの仮想アドレスフイールド、および
これに対応して変換された15ビツトの絶対アドレ
スフイールドを含む。1つのコングルエンスクラ
スが選択されると、17ビツトの所与の“STO”
アドレスおよび仮想アドレスレジスタの上位7ビ
ツト(ビツト0〜6)が、DLAT内の2つのエ
ントリの各フイールドと比較される。これが一致
するとDLATの出力から、対応して変換された
15ビツトの絶対アドレスが送出される。
キヤツシユとそのデイレクトリをアドレス指定
するため、DLATのコングルエンスクラスとは
異なるコングルエンスクラスがさらに使用され
る。キヤツシユの場合、ビツト13〜20が同一であ
るような全ての仮想アドレスは1つのコングルエ
ンスクラスすなわちアソシアテイブセツトを形成
する。これらの8ビツトは、256個のコングルエ
ンスクラス(または行)の1つを選択するため、
レベル1のデイレクトリ127およびキヤツシユ
17に転送される。デイレクトリ127およびキ
ヤツシユ17はいずれも4セツトアソシアテイブ
式である。すなわち、これらは1コングルエンス
クラス(または1行)につき4つのエントリを有
する。デイレクトリ内では各エントリ129が15
ビツトの絶対アドレスを保持し、キヤツシユ内で
は各エントリ131がちようど64バイトのデータ
ラインを保持する。
DLATから供給される15ビツトのアドレスは、
デイレクトリ127において、選択された行の4
つの全てエントリと比較される。これが一致しな
いときは(即ちキヤツシユミスのときは)、対応
するラインをキヤツシユに取出してデイレクトリ
にそのアドレスを入れなければならない。比較結
果が一致するときは、対応するセツト(列)を識
別する2ビツトの信号がキヤツシユに転送され
て、そのセツト(列)が選択される。
ここで8アドレスビツトおよび2選択ビツトが
キヤツシユ17の線67および線72でそれぞれ
可用となるので、これらを用いて32個のチツプの
各々のダブルバイトを選択することができる。こ
うして64バイトのラインが全てのチツプの読取り
ラツチに記憶され、それはバス27上で使用可能
となる。
(F) レベル2のキヤツシユのアドレス指定 第6図は所与のアドレスからキヤツシユ19用
のアドレス/選択信号がどのようにして得られる
かということを示す図である。仮想アドレスは既
に27ビツトの絶対アドレスに変換されているもの
とする。27ビツトの絶対アドレスはレジスタ13
3に記憶される。27ビツトの絶対アドレスのうち
下位12ビツト(ビツト15〜26)は仮想アドレスか
ら直接得られるが、上位15ビツト(ビツト0〜
14)はDLATから得られる。後者は前述の通り
である。
絶対アドレスの下位6ビツト(ビツト21〜26)
でキヤツシユから64バイト(1ライン)のうちの
1バイトを選択する。他の全てのビツト(ビツト
0〜20)はキヤツシユ内におけるラインのアドレ
ス指定に使用される。
レベル2のキヤツシユ19およびデイレクトリ
135もコングルエンスクラスに細分される。絶
対アドレスのビツト7〜15(9ビツト)でコング
ルエンスクラスを決定するので、512個のコング
ルエンスクラスを判別することができる。
デイレクトリ135は512個のコングルエンス
クラスに対して512個の行を有する。各行は4つ
のエントリを有する(4セツトアソシアテイブ
式)。したがつてデイレクトリ135内で4×512
=2048個のデータセツトがアドレスを有すること
ができる。そうしたデータセツトの各々は、キヤ
ツシユ内の64個のチツプに記憶された8つのライ
ンから成る1つのスーパーラインである。
1スーパーラインのアドレス指定は以下のよう
にして行われる。コングルエンスクラスを決定す
る9ビツト(ビツト7〜15)がデイレクトリ13
5内の1つの行を選択する。スーパーラインを識
別する絶対アドレスのうちビツト0〜6およびビ
ツト16〜17の9ビツトがデイレクトリ135に供
給されて、選択された行の9ビツトの4つのエン
トリ137と比較される。これが一致しないとき
は(キヤツシユミスのとき)、主記憶ユニツト1
3からの取出しとデイレクトリの更新をしなけれ
ばならない。比較結果が一致したときは(キヤツ
シユヒツトのとき)、デイレクトリ135の出力
から送出されるビツトペアによつて対応する列が
識別される。このビツトペアは、対応するコング
ルエンスクラス内でアドレス指定されたスーパー
ラインがキヤツシユのどこに存在するのかを判別
する。
レベル2のキヤツシユ19は線101からはコ
ングルエンスクラス(キヤツシユ内では行ともい
う)を決定する9ビツトを受け取り、線105か
らはそのコングルエンスクラス内の1セツトすな
わち1スーパーラインを決定する2ビツトを受け
取る。
最終的にスーパーライン内で1つの64バイトの
ライン139を選択するため、ビツト18〜20の3
ビツトが線103からキヤツシユ19に供給され
る。したがつて、合計16K個のラインから1ライ
ンを選択するため、キヤツシユ19の入力には14
ビツトが使用可能である。キヤツシユ19を構成
する64個のチツプの各々が選択されたラインの中
の1バイト(9ビツト)を供給するので、全体と
しては64バイトがバス33に同時にあらわれる。
キヤツシユへの書込みの場合もアドレス指定の
機構は(読取りと)同じである。
[発明の効果] 以上説明したように本発明によれば、1オペレ
ーシヨンサイクル内で記憶装置間の大量のデータ
ブロツクの転送が可能となる。したがつて本発明
は異なる速度およびサイズを有するキヤツシユを
含む階層システムに特に有益である。
また、大量のデータブロツクは並列的に転送さ
れるので、小量のデータブロツクを順次的に複数
回転送するようなシステムに必要であつた転送オ
ペレーシヨンは不要となる。
【図面の簡単な説明】
第1図は本発明の実施例の構成を示すブロツク
図、第2図は第1図に示す2つのキヤツシユとそ
れらの相互接続を詳細に示すブロツク図、第3図
はレベル1のキヤツシユの構成単位である1つの
チツプを示すブロツク図、第4図はレベル2のキ
ヤツシユの構成単位である1つのチツプを示すブ
ロツク図、第5図はレベル1のキヤツシユにおい
て1ラインを選択するためのアドレス指定機構を
説明する図、第6図はレベル2のキヤツシユにお
いて1ラインを選択するためのアドレス指定機構
を説明する図である。

Claims (1)

  1. 【特許請求の範囲】 1 プロセツサ、主記憶装置、および第一レベル
    のL1キヤツシユと、これより低いレベルのL2キ
    ヤツシユを含み、前記キヤツシユの各々に1組の
    入力手段および1組の出力手段を設け、前記L1、
    L2キヤツシユ相互間のデータ転送、および前記
    プロセツサと前記主記憶装置と前記キヤツシユと
    の3者相互間のデータ転送を行うデータ処理シス
    テムにおいて、 前記L1、L2キヤツシユは、Mバイト幅のキヤ
    ツシユラインを有し、 前記L1キヤツシユは、前記Mをメモリ回路毎
    にアクセスされるバイト数Pで割つた値Nに等し
    いN個のメモリ回路アレーを有し、更に前記L1、
    L2キヤツシユの間で前記Mバイト幅のデータを
    送信、受信するために前記入力手段及び出力手段
    は各々Mバイトの幅を有し、 前記L2キヤツシユは、前記Mをメモリ回路毎
    にアクセスされるバイト数Yで割つた値Xに等し
    いX個のメモリ回路のアレーを有し、更に前記
    L1、L2キヤツシユの間で前記Mバイト幅のデー
    タを送信、受信するために前記入力手段及び出力
    手段は各々Mバイトの幅を有し、 前記L1キヤツシユの出力手段を前記L2キヤツ
    シユの入力手段に接続するMバイト幅の第一の接
    続手段と、前記L2キヤツシユの出力手段を前記
    L1キヤツシユの入力手段に接続するMバイト幅
    の第二の接続手段とを含み、前記L1キヤツシユ
    とL2キヤツシユとを接続するキヤツシユ間バス
    と、 前記第一、第二の接続手段のバイト幅Mを分割
    したバイト幅Wを有し、前記L1、L2キヤツシユ
    の各入力手段と前記主記憶装置とを接続する、主
    記憶データ・バスと、 前記L1、L2キヤツシユの出力手段に接続され
    た前記Mバイト幅の少なくとも一つの出力デー
    タ・バスと、 前記少なくとも一つの出力データ・バスを介し
    て前記L1、L2キヤツシユの出力手段に接続され、
    バイト幅Wに分割されたデータ・ブロツクを前記
    プロセツサや前記主記憶データ・バスにシーケン
    シヤルに供給する第一のコンバータ手段と、 前記Mバイトのデータ・ブロツクの少なくとも
    一つをストアするために、前記出力データ・バス
    に接続された少なくともMデータバイトの能力を
    有する、レジスタ・アレイ手段と、 前記レジスタ・アレイ手段内にストアされた前
    記Mバイト幅のデータ・ブロツクを分割して、前
    記プロセツサや前記主記憶データ・バスにシーケ
    ンシヤルに供給するために、前記レジスタ・アレ
    イ手段に接続された第二のコンバータ手段とを備
    え、 前記L1、L2キヤツシユの一回のアクセスで、
    前記Mバイト幅のデータを前記L1キヤツシユと
    L2キヤツシユの間で効率的に転送することを特
    徴とするデータ処理システム。
JP60126415A 1984-06-29 1985-06-12 データ処理システム Granted JPS6120157A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62608984A 1984-06-29 1984-06-29
US626089 1984-06-29

Publications (2)

Publication Number Publication Date
JPS6120157A JPS6120157A (ja) 1986-01-28
JPH0438014B2 true JPH0438014B2 (ja) 1992-06-23

Family

ID=24508899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60126415A Granted JPS6120157A (ja) 1984-06-29 1985-06-12 データ処理システム

Country Status (3)

Country Link
EP (1) EP0166192B1 (ja)
JP (1) JPS6120157A (ja)
DE (1) DE3584318D1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63220342A (ja) * 1987-03-10 1988-09-13 Fujitsu Ltd ブロツクアクセス方式
JPS63300694A (ja) * 1987-05-30 1988-12-07 Fujitsu General Ltd リモコン送信器
US6112287A (en) 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
FR2624631B1 (fr) * 1987-12-14 1990-05-04 Centre Nat Rech Scient Systeme multiprocesseur, procede d'echange d'informations mis en oeuvre et composant memoire multiport serie susceptible d'equiper ledit systeme
FR2626692B1 (fr) * 1988-02-01 1995-01-13 Busby George Architecture parallele multiprocesseur
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
US6751696B2 (en) 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
CA2043493C (en) * 1990-10-05 1997-04-01 Ricky C. Hetherington Hierarchical integrated circuit cache memory
EP0552426A1 (en) * 1992-01-24 1993-07-28 International Business Machines Corporation Multilevel memory system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5121742A (ja) * 1974-08-19 1976-02-21 Fujitsu Ltd
JPS52133727A (en) * 1976-05-04 1977-11-09 Hitachi Ltd Memory control system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4489381A (en) * 1982-08-06 1984-12-18 International Business Machines Corporation Hierarchical memories having two ports at each subordinate memory level

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5121742A (ja) * 1974-08-19 1976-02-21 Fujitsu Ltd
JPS52133727A (en) * 1976-05-04 1977-11-09 Hitachi Ltd Memory control system

Also Published As

Publication number Publication date
DE3584318D1 (de) 1991-11-14
JPS6120157A (ja) 1986-01-28
EP0166192B1 (en) 1991-10-09
EP0166192A3 (en) 1989-04-26
EP0166192A2 (en) 1986-01-02

Similar Documents

Publication Publication Date Title
US4823259A (en) High speed buffer store arrangement for quick wide transfer of data
US5640534A (en) Method and system for concurrent access in a data cache array utilizing multiple match line selection paths
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
EP0263924B1 (en) On-chip bit reordering structure
US5421000A (en) Memory subsystem having a static row memory and a dynamic RAM
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
US4654781A (en) Byte addressable memory for variable length instructions and data
JP3065736B2 (ja) 半導体記憶装置
US5555528A (en) Dynamic random access memory persistent page implemented as processor register sets
US5668972A (en) Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line
US5805855A (en) Data cache array having multiple content addressable fields per cache line
JPH01251247A (ja) キヤツシユメモリサブシステム
US5388072A (en) Bit line switch array for electronic computer memory
US5329489A (en) DRAM having exclusively enabled column buffer blocks
US4718039A (en) Intermediate memory array with a parallel port and a buffered serial port
US5138705A (en) Chip organization for an extendable memory structure providing busless internal page transfers
US4796222A (en) Memory structure for nonsequential storage of block bytes in multi-bit chips
JPH07120312B2 (ja) バッファメモリ制御装置
JPH0362144A (ja) 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム
US5890221A (en) Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
JPH0438014B2 (ja)
US4992979A (en) Memory structure for nonsequential storage of block bytes in multi bit chips
US4594690A (en) Digital storage apparatus including sections exhibiting different access speeds
JPH06214871A (ja) デュアルポート電子データ記憶システム及び電子データ記憶システム、並びに同時アクセス方法
JPH0362243A (ja) 情報処理システムにおいてメモリアクセスを速くする装置