JPS61151756A - キヤツシユメモリ制御方式 - Google Patents

キヤツシユメモリ制御方式

Info

Publication number
JPS61151756A
JPS61151756A JP59273404A JP27340484A JPS61151756A JP S61151756 A JPS61151756 A JP S61151756A JP 59273404 A JP59273404 A JP 59273404A JP 27340484 A JP27340484 A JP 27340484A JP S61151756 A JPS61151756 A JP S61151756A
Authority
JP
Japan
Prior art keywords
memory
address
bits
bit
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP59273404A
Other languages
English (en)
Inventor
Satoru Igarashi
哲 五十嵐
Keizo Aoyanagi
恵三 青柳
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP59273404A priority Critical patent/JPS61151756A/ja
Publication of JPS61151756A publication Critical patent/JPS61151756A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野1 この発明は、主メモリの写しが置かれるキャッシュメモ
リを備えた演算制御装置に好適するキャッシュメモリ制
御方式に関する。
[発明の技術的背景とその問題点] 一般に、演算制御装置は、メモリアドレスの島速化のた
めに、主メモリの写しが置かれるキャッシュメモリを有
している。このキャッシュメモリの1ブロックの容量(
バイト数)は、一般に固定化されている。
しかし、1ブロック容量の妥当性は、プログラムを実際
に走らせないとチェックできないため、プログラム(シ
ステム)に適したブロック容量を予め設定することは困
難であった。
[発明の目的] この発明は上記事情に鑑みてなされたものでその目的は
、キャッシュメモリのブロック容量を可変でき、もって
プログラム(システム)に最適のブロック容量を設定す
ることが可能なキャッシュメモリ制御方式を提供するこ
とにある。
[発明の概要] この発明によれば、データ幅が2 バイト(mは0以上
の整数)のメモリデータバスに接続された主メモリの写
しが置かれる1ブロックが2lバイト(2は2≧mを満
足する整数)のキャッシュメモリと、このキャッシュメ
モリに上記主メモリの写しが存在する場合に、メモリア
ドレス中の力゛ ラムアドレスで指定される領域にブロ
ックアドレスが格納されるディレクテリメモリとを備え
た演算制御装置に適用されるキャッシュメモリ制御方式
が提供される。
上記キャッシュメモリ制御方式においては、第1乃至第
4手段が用意される。この第1手段は、キャッシュメモ
リの1ブロック容12’バイトを2X 倍することが指
定されている場合、上記メモリアドレス中のカラムアド
レスの下位Xビットを“Onにして上記ディレクテリメ
モリを索引し、ディレクテリチェックを行なう。第2手
段は、第1手段のディレクテリチェックによりミスヒツ
トした場合、上記ディレクテリメモリの対応領域に、対
応する上記ブロックアドレスを登録し、2((J−ml
−1−x 1回の主メモリリード要求を発する。また、
第3手段は、第2手段による1回目の主メモリリード要
求時には、上記メモリアドレスの下位mビットを“O゛
°にしたリードアドレスを生成し、以後の2l(J、−
m)+x)  、回の主メモリリード要求に際しては前
回生成されたリードアドレスの下位mビットに続<(n
−m)+xビットに1を加算して新たなリードアドレス
を生成する。第4手段は、第3手段によって生成された
リードアドレスに応じて上記主メモリから読出されたリ
ードデータを、上記カラムアドレスの下位Xビットを除
く残りビットと、同リードデータと共に返されるリード
アドレスの下位mビットに続く(l−m)+Xビットと
の連結情報で示される、上記キャッシュメモリの領域に
書込む。
[発明の実施例] 第1図はこの発明の一実施例に係る演算制御装置周辺の
要部構成を示す。第1図において、11は主メモリ、J
2はメモリデータバスである。メモリデータバス12の
データ幅は、2rr1バイト例えば23バイト(m−3
)、即ち8バイトである。13は主メモリ11の写しが
置かれるキャッシュメモリ、14は主メモリ11の写し
がキャッシュメモリ13に置かれている場合に対応する
物理アドレスのビットO〜11(以下、ブロックアドレ
スと称する)が格納されるディレクテリメモリである。
キャッシュメモリ13はバンク0およびバンク1の2バ
ンクからなる。各バンクの容量は、8バイトX2KWで
ある。キャッシュメモリ13の1ブロック容量は、2l
バイト例えば2lバイト(Q−4) 、即ち16バイト
を基本とする。またディレクテリメモリ14も、キャッ
シュメモリ13に対応してバンク0およびバンク1の2
バンクからなる。ディレクテリメモリ14のブロックエ
ントリは、キャッシュメモリ13の170ツク容量が1
6バイトの場合に1024である。
15はキャッシュメモリ13の1ブロック容量を基本の
16バイトとするか、或は同プ0ツク容量を2X倍例工
It2” 倍(x−1) 、 KJt52倍Lテ3、し
バイトとするかを指定するフリップフ口ツプ(以下、F
/Fと称するンである。F / F 15は、特定命令
の指定に応じ図示せぬファームウェア制御部によりセッ
トされ、1ブロック容量を32バイトとすることを指定
する。16はディレクテリチェックに際し32ビツト構
成のメモリアドレスが保持されるアドレスレジスタ、1
7はアドレスレジスタ16の保持データのビット27ま
たは1ビツトの論理110 Itデータ(固定値)のい
ずれか一方を、F / F 15のQ出力信号15−1
に応じて選択するセレクタ(以゛下、SELと称する)
である。5EL17の選択出力ビットは、アドレスレジ
スタ16の保持データのビット18〜2Bの下位に連結
され、10ビツトのカラムアドレスを構成する。このカ
ラムアドレスは、ディレクテリメモリ14を索引するの
に用いられる。18−0.18−1はディレクテリメモ
リ14のバンク0.1から読出されるデータとアドレス
レジスタ16の保持データのビット0〜17(即ちブロ
ックアドレス)とを比較し、一致を検出する比較器であ
る。比較器18−0.18−1は、一致検出時にキャツ
シュヒツトを示す論理“1゛′の信号を出力し、不一致
検出時にミスヒツトを示す論理II OIIの信号を出
力する。
R8PO/1はミスヒツトに伴う主メモリ11に対する
メモリリード要求時のリードアドレスのアドレスレジス
タビット28に相当するレスポンスビット、R8P2/
3は同じくアドレスビット2lに相当するレスポンスビ
ットである。19はアドレスレジスタ1Gの保持データ
のビット27とレスポンスビットR8PO/1との連結
データ、またはレスポンスビットR3P2/3とR8P
O/1の連結データのいずれか一方を、F / F 1
5のQ出力信号15−1に応じて選択するSEL (セ
レクタ)、20はキャッシュメモリ13のアドレスレジ
スタ(キャッシュアドレスレジスタ)である。アドレス
レジスタ20には、アドレスレジスタ16の保持データ
のビット18〜26(上位ビット)、5EL19の選択
出力データ(2ビツト)、およびアドレスビット29〜
31(下位ビット)が保持される。キャッシュメモリ1
3は、アドレスレジスタ20の保持データの上位12ビ
ツト、即ちアドレスビット18〜29によりアクセスさ
れる。またアドレスビット29〜31は、キャッシュメ
モリ13に対する8バイト(64ビツト)リード後のゾ
ーンコントロールに用いられる。
2lは比較器18−0.18−1の出力信号(2ビツト
)またはLRUデータ(2ビツト)のいずれか一方を選
択するSEL (セレクタ)である。5EL2lは、キ
ャツシュヒツト時には比較器18−0.18−1の出力
信号を選択し、ミスヒツト時にはLRUデータを選択す
る。このLRLIデータは、ミスヒントに伴う主メモリ
11からのブロック転送の際には、次にライトすべきキ
ャッシュメモリ13の15ンクを指定する。LRLIデ
ータは、01″でバンクOを、°“10″でバンク1を
指定する。22は5EL2lの選択出力データが保持さ
れる2ビツトのレジスタである。レジスタ22の保持デ
ータの上位ビットはキャッシュメモリ13のバンクOの
選択指定(チップ選択)に、同じく下位ビットはバンク
1の選択指定に、それぞれ用いられる。
31はラッチイネーブル端子LEおよびカウントイネー
ブル端子CTEを有する例えば2進3ビツトのカウンタ
である。カウンタ31の端子LEには、ディレクテリチ
ェックサイクルがメモリリードアクセスに起因するもの
であるか否かを示す信号BしLEが供給され、端子CT
Eにはメモリリクエスト信号MREQが供給される。信
号BLLE。
MREQは、論理“OIIで真である。カウンタ31の
3ビツトの入力には、最上位ヒツトより論理“0”のご
ットデータ、F / F 15のQ出力信号15−0、
および論理″“0”のごットデータが供給される。32
はディレクテリチェックサイクルであるか否かを示す信
号DCHKおよびミスヒツトであるか否かを示す信号M
HITが供給されるナントゲート、33は(ミスヒツト
に伴う)ブロックリード動作中であるか否かを示す信号
BRBYおよびナントゲート32の出力信号が供給され
るナントゲートである。信号DCHK、MHITは論理
゛1°′で真、信号BRBYは論理110 IIで真で
ある。34はカウンタ31のカウント値(3ビツト)の
最上位ビットが供給されるインバータ、35はインバー
タ34およびナントゲート33の各出力信号が供給され
るアンドゲート、36は主メモリ11がビジー状態にあ
るか否かを示す信号MMBYおよびアンドゲート35の
出力信号が供給されるナントゲートである。
信号MMBYは論理“ONで真である。ナントゲート3
6の出力信号は、メモリリクエスト信号MREQとして
用いられる。
37はナントゲート32の出力信号が供給されるインバ
ータ、38はインバータ37の出力信号およびF/F1
5のQ出力信号15−1が供給されるアンドゲートであ
る。40.41はインバータ37の出力信号をディレク
テリチェック終了時に記憶するF/F (フリップフロ
ップ) 、 42.43はアンドゲート38の出力信号
をディレクテリチェック終了時に記憶するF/F (フ
リップ70ツブ)である、F/F40゜41は、F /
 F 15がリセット状態にある場合、レスポンスビッ
トR8PO/1が“ON、“1”であればリセットされ
るようになっている。またF/F40.41.42.4
3は、F/F15がセット状態にある場合、レスポンス
ビットR8P O/1 、R3P2/3 カ”00” 
、o i ” 、“10”、”11”であればリセット
されるようになっている。44はF / F 40〜4
3の各ζ出力信号が供給されるナントゲートである。ナ
ントゲート44の出力信号は信号BRBYとして用いら
れる。
51はブロックリード用のアドレスレジスタである。ア
ドレスレジスタ51は32ビツト構成であり、その上位
28ビツトには、アドレスレジスタ16の保持データの
ビットO〜28が信号BLLEに応じてラッチされる。
アドレスレジスタ51の下位3ビツト(ビット29〜3
1)は、常時“0′である。52はラッチイネーブル端
子LEおよびカウントイネーブル端子CTEを有する例
えば2進2ビツトのカウンタである。カウンタ31の端
子LEには前記信号BLLEが供給され、端子CTEに
はナントゲート36からのメモリリクエスト信号MRE
Qが供給される。カウンタ52の入力の最下位ビットに
はアドレスレジスタ16の保持データのビット28が供
給される。53はカウンタ52のカウント値(2ピツト
)の最上位ビットまたはアドレスレジスタ51の保持デ
ータのビット2lのいずれか一方を、F/F15のQ出
力信号15−1に応じて選択する5EL(セレクタ)で
ある。5EL53の選択出力ビットは、主メモリ11に
対するブロックリード用のリードアドレスのアドレスビ
ット27として用いられる。
またカウンタ52のカウント値の最下位ビットは上、記
リードアドレスのアドレスビット28として用いられる
。また、アドレスレジスタ51の保持データのビットO
〜26.ビット29〜31は、そのままリードアドレス
のビットO〜26.ビット29〜31として用いられる
次に、第1図の構成の動作を、キャッシュメモリ13の
1ブロック容量が16バイトの場合を例にとり第2図の
タイミングチャートを参照して説明する。
今、演算制御装置内でメモリリード要求が発生され、ア
ドレスレジスタ16に32ビツトのメモリアドレスが保
持されたものとする。この場合、まず信号DCHKが論
理″“1″となりディレクテリチェックサイクルが開始
される。また、メモリリード要求のこの例では、信号B
LLEが論理“O”となる。
ディレクテリチェックサイクルでは、アクセス対象デー
タがキャッシュメモリ13内に存在するか否かを調べる
(ディレクテリチェックの)ために、アドレスレジスタ
1Gの保持データ(メモリアドレス)のビット18〜2
6と5EL17の選択出力ビットとの連結データにより
、ディレクテリメモリ14が索引される。5ELIγの
選択出力ビットは、F/F15のQ出力信号15−1の
論理状態により決定される。この例のようにキャッシュ
メモリ13の1ブロック容貴が16バイトの場合、即ち
F / F 15がリセット状態にある場合、F/F1
5のQ出力信号15−1は論理“′O”である。この場
合、5EL17がらは、アドレスレジスタ16の保持デ
ータのビット27または論理“ONデータのうち、ビッ
ト27が選択される。したがって、F / F 15が
リセット状態にある場合、ディレクテリメモリ14はア
ドレスレジスタ16の保持データのビット18〜2lか
らなるカラムアドレスにより索引される。
ディレクテリメモリ14が索引されることにより、ディ
レクテリメモリ14のバンク0.1から取出されるデー
タは、比較器18−0.18−1の一方の入力に供給さ
れる。比較器18−0.18−1の他方の入力にはアド
レスレジスタ1Gの保持データのビットO〜17(ブロ
ックアドレス)が供給される。比較器18−0゜18−
1は、ディレクテリメモリ14のバンク0,1から取出
されるデータと、アドレスレジスタ16の保持データの
ビット0〜17(ブロックアドレス)とを比較し、一致
であれば論理II 111の信号を、不一致であれば論
理“0″の信号を出力する。比較器18−0.18−1
の出力信号がいずれも論理“O″の場合、即ちミスヒツ
トの場合、ディレクテリメモリ14のバンク0.1のう
ち、LRUデータの示すバンクの対応領域(即ち上記カ
ラムアドレスの示すエントリ)にアドレスレジスタ16
の保持データのビット0〜17(ブロックアドレス)が
登録される(ブイレフテリ登録)。
さて、ディレクテリチェックサイクルにおいて出力され
る論理“0”の信号BLLEは、カウンタ31.52の
端子LEおよびアドレスレジスタ51に供給される。こ
れにより、カウンタ31には、論理11011のごット
データ(MSB) 、F/F15の論理゛1°′のζ出
力信号15−Olおよび論理゛O゛′のビットデータ(
LSB)からなる3ビツトのデータ゛010”が初期設
定される。また、カウンタ52の最下位ビットには、ア
ドレスレジスタ16の保持データのビット28が初期設
定される。更に、アドレスレジスタ51の上位29ビツ
トには、アドレスレジスタ16の保持データのビット0
〜28がラッチされる。アドレスレジスタ51の下位3
ビツトは、常時″o′Iとなっている。即ち、アドレス
レジスタ51には、アドレスレジスタ16の保持データ
(メモリアドレス)の下位3ピツトが“O11にされた
リードアドレスが保持される。
ディレクテリチェックサイクルで比較器18−0゜18
−1の出力信号が共に論理゛OIIとなり、ミスヒツト
となった場合、論理″1′′の信号MHITが出力され
る。この信号MHITは、信号DCHKと共にナントゲ
ート32に供給される。この場合、ナントゲート32の
出力信号は論理″゛0″となり、したがってナントゲー
ト33およびインバータ37の出力信号は論理“1パと
なる。ナントゲート33の出力信号はアンドゲート35
の一方の入力に供給される。アンドゲート35の他方の
入力には、インバータ34の出力信号、即ちカウンタ3
1のカウント値の最上位ビットのレベル反転信号が供給
される。
この時点におけるカウンタ31のカウント値の最上位ビ
ットは、上記したように論理“0”である。
したがって、インバータ34の出力信号は論理“1”と
なり、アンドゲート35からは、論理“1″の信号が出
力される。アンドゲート35の出力信号は信号MMBY
と共にナントゲート36に供給される。
ナントゲート36は、この例のようにアンドゲート35
の出力信号が論理“1′′の場合、信号MMBYが論理
゛1′′であれば即ち主メモリ11がビジー状態になけ
れば、論理“0”の有効なメモリリクエスト信号MRE
Qを出力する。即ち、この例では、ブイレフテリミスヒ
ツトに応じて、ブロックリードのための論理11011
のメモリリクエスト信号MREQがナントゲート36か
ら出力される。
インバータ37の出力信号は、F/F40,41のD入
力、およびアンドゲート38の一方の入力に供給される
。アンドゲート38の他方の入力にはF/F15のζ出
力信号15−1が供給される。アンドゲート38の出力
信号は、F/F42,43のD入力に供給される。キャ
ッシュメモリ13の1ブロック容最が16バイトのこの
例では、ζ出力信号15−1は論理“0”であり、した
がってアンドゲート38の出力信号は論理゛0”である
。インバータ37の出力信号が論理1111t、アンド
ゲート38の出力信号が論理410 ITの場合、F 
、−’ F 40〜43のうちF / F 40゜41
だけが、ディレクテリチェックサイクルの終了時に(具
体的には、信号BLLEが論理“0″から論理°“1′
°に遷移するタイミングで)セットされる。F / F
 40〜43のζ出力信号は、ナントゲート44に供給
される。ナントゲート44は、F / F 40〜43
の各ζ出力信号のいずれかが論理110 IIであれば
、即ちF / F 40〜43の1つでもセット状態に
あれば、ブロックリード動作中を示す論理110 T1
の信号BRBYを出力する。
さて、ブロックリードのための論理110 IIのメモ
リリクエスト信号MREQがナントゲート36から出力
された時点では、カウンタ52のカウント値の最下位ビ
ットの論理値は、アドレスレジスタ16の保持データの
ビット28に一致している。カウンタ52のカウント値
の最下位ビットはミスヒツトに伴うブロックリードのた
めのリードアドレスのビット28として主メモリ11に
供給される。上記リードナトレスのビット29〜31に
はアドレスレジスタ51の保持データの下位3ビツト“
o o o ”が用いられ、ビット0〜26にはアドレ
スレジスタ51の保持データの上位27ビツトが用いら
れる。また、リードアドレスのビット27には5EL5
3の選択出力ビットが用いられる。5EL53の選択出
力ビットは、F / F 15のQ出力信号15−1が
論理110 IIの場合、アドレスレジスタ51の保持
データのビット27である。したがって、ブロックリー
ドのための論理11011のメモリリクエスト信号MR
EQがナントゲート36から出力された時点におけるリ
ードアドレスは、アドレスレジスタ51の保持データ、
即ちアドレスレジスタ16に保持されたメモリアドレス
の下位3ビツトが“0″にされたアドレスAとなる。
ナントゲート36から出力された論理゛′0”の信号M
REQは、カウンタ52の端子CTEに供給される。こ
れにより、カウンタ52はカウントイネーブル状態とな
り、クロック端子(lii!l示せず)に供給される基
本クロック信号のタイミングでカウントアツプする。モ
してカウンタ52のカウント値の最下位ビットは、前の
状態が論理“0“であれば論理“1″に、論理“1″で
あれば論理“O″に変化する。したがって、アドレスレ
ジスタ16の保持データのビット28が論理“0”であ
るものとすると、ブロックリードのためのリードアドレ
スは、ディレクテリチェックサイクルの次のサイクルで
、AからA+8に変化する。
ナントゲート36から出力された論理“O”の信号MR
EQは、カウンタ31の端子CTEにも供給される。こ
れにより、カウンタ31はカウントイネーブル状態とな
り、基本クロック信号のタイミングでカウントアツプす
る。この結果、カウンタ52のカウント(直は、ディレ
クテリチェックサイクルの次のサイクルにおいて、01
0 ”から“011″となる。このとき、ナントゲート
33の出力信号は、信号BRBYが前記したように論理
“OIIであることから論理″1”であり、したがって
、ナントゲート36から出力される信号MREQは、デ
ィレクテリチェックサイクルの次のサイクルも、論理゛
0”の状態を保つ。これは、ディレクテリチェックサイ
クルの次のサイクルも、ブロックリードのためのメモリ
リクエストが出力されることを示す。
ディレクテリチェックサイクルの次のサイクルが終了す
ると、カウンタ31が再びカウントアツプし、そのカウ
ント値が°“011 ”から“100 ”となる。この
結果インバータ34の出力信号が論理゛O″となり、メ
モリリクエスト信号MREQの出力が禁止される。即ち
本実施例では、キャッシュメモリ13の1ブロック容量
が16バイトに指定されている通常状態でブイレフテリ
ミスヒツトが発生した場合、メモリリクエスト信号MR
EQが計2サイクルの聞出力される。これは、メモリリ
クエストが2回発せられることを示す。メモリリクエス
ト状態にある間、メモリアドレスのビット29〜31の
3ビツトが“0”にされ、且つビット28が“0”であ
るリードアドレスAOと、ビット28が“1”であるリ
ードアドレスA1とにより、主メモリ11に対するメモ
リリードが2回行なわれる。
そして、対応するり−ドデータRD O,RD  1が
主メモリ11から転送される。
主メモリ11から転送されるリードデータ(8バイト)
はキャッシュメモリ13に供給され、その都度アドレス
レジスタ20の上位11ビツトの示すキャッシュメモリ
13の領域に書込まれる。アドレスレジスタ20の上位
11ピツトは、アドレスレジスタ16の保持データのビ
ット18〜26(9ビツト)とS E L 19の選択
出力データ(2ピツト)とからなる。キャッシュメモリ
13の1ブロックが容量が16バイトに指定されている
場合、5EL19の選択出力データは、アドレスレジス
タ16の保持データのビット27とレスポンスピッl−
RS P O,’1 との連結データである。このR8
PO/1は、リードデータと共に主メモリ11から返さ
れるもので、リードアドレスのビット28に相当する。
即ち、キャッシュメモリ13の1ブロックが容量が16
バイトに指定されている場合、リードデータと共に返さ
れるレスポンスビットR8PO/1の0°′。
111 ITによりキャッシュメモリ13の書込み先が
区別される。これは、主メモリ11がメモリインタリー
ブ方式を適用している場合、主メモリ11から転送され
るリードデータが、必ずしも対応するリードアドレスの
生成順に一致しないことによる。このため本実施例では
、主メモリ11からのリードデータをキャッシュメモリ
13に正しく書込むために、リードアドレスのビット2
8.27に相当する。レスポンスビットR8P O/1
 、 R8P 2/3がメモリデータと共に返されるよ
うになっている。
キャッシュメモリ13の1ブロックが容量が16バイト
に指定されている場合、リードデータと共に返されるレ
スポンスビットR8PO/1がO”であれば、F 、′
F 40がリセットされ、“1′°であればF / F
 41がリセットされる。したがって、レスポンスビッ
トR3PO/1が2回返された時点で、ナントゲート4
4の出力である信号BRAYは論理パ1”となる。なお
、第2図のタイミングチャートでは、リードデータRD
O,RD1と共に返されるレスポンスビットR8PO/
1をR8POSR8PIで示しである。
さて、キャッシュメモリ13における書込み先バンクは
、レジスタ22の保持データにより指定される。レジス
タ22の保持データは、5EL2lの選択出力データで
ある。5EL2lの選択出力データは、ミスヒツトに伴
うキャッシュメモリ13アクセスの場合には、LRUデ
ータとなる。
次に、F / F 15が特定命令によりセットされ、
キャッシュメモリ13の1ブロック容量を32バイトと
することが指定されている場合の動作を、メモリリード
要求に対しブイレフテリミスヒツトした場合を例にとり
、第3図のタイミングチャートを参照して説明する。
この場合、ディレクテリチェックサイクルで論理111
 ITの信号Ml−11Tが出力され、論理“0″のメ
モリリクエスト信号MREQがナントゲート36から出
力される。また、ディレクテリチェックサイクルにおい
て論理゛″0”の信号BLLEが出力され、これにより
カウンタ31に、論理“0″のビットデータ(MSB)
 、F/F15の論理“0パのQ出力信号15−0、お
よび論理M O11のビットデータ(LSB>からなる
3ビツトのデータ“000′′が初期設定される。そし
て、カウンタ31はナントゲート36から論理Oパのメ
モリリクエスト信号MREQが出力されている期間中、
基本りロック信号のタイミングで各サイクル毎にカウン
トアツプし、そのカウント値は初期値゛″o o o 
”から、” OO1”、°“010”、”011”と順
に変化し、4サイクル後に100′となる。そして、カ
ウンタ31のカウント値が°100”となることにより
、メモリリクエスト信号MREQの出力が禁止される。
即ち、キャッシュメモリ13の1ブロックが容量が32
バイトに指定されている状態でブイレフテリミスヒツト
が発生した場合、主メモリ11に対するメモリリードが
4回行なわれる。
ブイレフテリミスヒツトに伴うメモリリードにおいて用
いられるリードアドレスは、前記したように、アドレス
レジスタ51の保持データの上位27ビツト(ビット0
〜2G) 、S E L53の選択出力ビット(ビット
27)、カウンタ52のカウント値の最下位ビット(ビ
ット28)、およびアドレスレジスタ51の保持データ
の下位3ピツド’ o o o ”(ビット29〜31
)からなる。キャッシュメモリ13の1ブロックが容量
が32バイトに指定されている場合、即ちF / F 
15のQ出力信号15−1が論理“1”の場合、5EL
53の選択出力ビットは、カウンタ52のカウント値(
2ビツト)の最上位ビットとなる。したがって、キャッ
シュメモリ13の1ブロック容量が32バイトに指定さ
れている場合に生成されるリードアドレスは、メモリア
ドレスのビット0〜26と、カウンタ52のカウントI
I(2ビツト)と、3ビツトの論理“O11データから
なる。カウンタ52はナントゲート36から論理“O゛
′のメモリリクエスト信号MREQが出力されている期
間中、基本クロック信号のタイミングで各サイクル毎に
カウントアツプする。カウンタ52のカウント値は、そ
の初期値が例えば’ o o ”であれば“01”、1
0″、そして11”と変化し、その初期値が“01″で
れば“”10”、“11”、そして“OO″と変化する
。即ち、カウンタ52はその初期値に無関係に、4種の
全組合わせデータを出力する。例えばカウンタ52の初
期値が11 Q Q IT、この時のリードアドレスが
Aであるものとすると、同リードアドレスは八からA+
8、A+16、そしてA+24に変化する。
このように、キャッシュメモリ13の1ブロックが容量
が32バイトに指定されている状態でブイレフテリミス
ヒツトが発生した場合、メモリアドレスのビット29〜
31の3ピツトが“OITにされ、且つビット27.2
8が“00゛であるリードアドレスAOと、ビット27
.28が“01”であるリードアドレスA 1と、ビッ
ト27.28が10”であるリードアドレスA2と、ビ
ット27.28が“°11nであるリードアドレスA3
とにより、主メモリ11に対するメモリリードが4回行
なわれる。そして、対応するリードデータRD O,R
D  1. RD 2゜RD3が主メモリ11から転送
される。
主メモリ11から転送されるリードデータ(8バイト)
はキャッシュメモリ13に供給され、その都度アドレス
レジスタ20の上位11ビツトの示すキャッシュメモリ
13の領域に書込まれる。アドレスレジスタ20の上位
11ビツトは、アドレスレジスタ16の保持データのビ
ット18〜26(9ビツト)とS E 119の選択出
力データ(2ビツト)とからなる。キャッシュメモリ1
3の1ブロックが容量が32バイトに指定されている場
合、5EL19の選択出力データは、レスポンスビット
R3P2/3とR8PO/1との連結データである。レ
スポンスヒy トR8P 2/3 、 R8P O/1
 $、t、前記したようにリードデータと共に主メモリ
11がら返されるもので、リードアドレスのビット27
.28に相当する。即ち、キャッシュメモリ13の1ブ
ロックが容量が32バイトに指定されている場合のキャ
ッシュライト動作では、リードデータと共に返されるレ
スポンスビットR8P 2/3 、R8P O/1の内
容 (”00”、01 ” 、  “’10”、“11
°′)によりキャッシュメモリ13の書込み先が区別さ
れる。
キャッシュメモリ13の170ツクが容量が32バイト
に指定されている場合、リードデータと共に返されるレ
スポンスビットR8P 2/3 、 R8PO/1が°
OO”であれば、F / F 40がリセットされ、”
 01 ’であればF / F 41がリセットされ、
“10”であれば、F / F 42がリセットされ、
モして“11″であればF / F 43がリセットさ
れる。したがって、レスポンスビットR8P2/3゜R
3PO/1が4回返された時点で、ナントゲート44の
出力である信号BRBYは論理゛1°゛となる。なお、
第3図のタイミングチャートでは、リードデータRD 
O,RD  1. RD 2. RD 3と共に返され
るレスポンスごットR3P 2/3 、 R8PO/1
を、R3P O,R8P 1. R8P 2. R8P
3で示しである。
ところで、第1図には示されていないが、本実施例では
ブイレフテリのイニシャルライト用のハードウェアを有
しており、1ブロック容量の切換を指定する命令に応じ
ブイレフテリのイニシャルライトが行なわれるようにな
っている。
なお、前記実施例では、キャッシュメモリのマツピング
方式としてセットアソシアティブ方式を採用するシステ
ムに実施した場合について説明したが、ダイレクトマツ
ピング等、他のマツピング方式を採用するシステムにも
同様に適用できる。
また、前記実施例では、メモリデータバスの幅が8バイ
ト(23バイト)であり、1ブロック容量が16バイト
(24バイト)であるシステムにおいて、1ブロック容
量を2倍(2l倍)にする場合について説明したが、こ
れに限るものではない。即ち本発明は、一般にメモリデ
ータバスの幅が2 バイト(mは0以上の整数)、1ブ
ロック容指が2l バイト(βはβ2mを満足する整数
)であるシステムにおいて、1ブロック容量を2X倍づ
る場合に適用できる。但し、この場合には、メモリアド
レス中のカラムアドレスの下位Xビットを“0”にして
ディレクテリチェックを行なう必要がある。また、メモ
リリード要求時にミスヒツトした場合、メモリリクエス
ト信号MREQを2((2−”)+゛)回発生し、最初
のリクエスト時にはメモリアドレスの下位mビットをO
にしたリードアドレスを生成し、以後のリクエスト時に
は前回生成されたリードアドレスの下位mビットに続く
(M−m)+Xビットに1を加算して新たなリードアド
レスを生成する必要がある。そして、キャッシュライト
時には、キャッシュアドレスとして、カラムアドレスの
下位Xビットを除く残りビットと、主メモリからのリー
ドデータと共に返されるレスポンスビットである、リー
ドアドレスの下位mビットに続く(l−m)+xビット
との連結データを用いればよい。
[発明の効果] 以上詳述したようにこの発明によれば、キャッシュメモ
リの1ブロック容量を、任意のバイト数に設定できるの
で、この状態で実際にプログラムを走1テさせることで
1ブロック容晒の妥当性がチェックできる。そしてこの
チェックに基づいてキャッシュメモリの1ブロック容量
を設定することにより、処理速度の向上が図れる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る演算制御II装置周
辺のブロック構成図、第2図および第3図は動作を説明
するためのタイミングチャートである。 11・・・主メモリ、13・・・キャッシュメモリ、1
4・・・ディレクテリメモリ、15.40〜43・・・
フリップ70ツブ(F/F ) 、16.20.51・
・・アドレスレジスタ、17、19.2l.53・t−
L/クタ(SEL)、18−0.18−1・・・比較器
、31.52・・・カウンタ。

Claims (1)

    【特許請求の範囲】
  1. データ幅が2^mバイト(mは0以上の整数)のメモリ
    データバスに接続された主メモリの写しが置かれ、1ブ
    ロックが2^lバイト(lはl≧mを満足する整数)の
    キャッシュメモリと、このキャッシュメモリに上記主メ
    モリの写しが存在する場合に、メモリアドレス中のカラ
    ムアドレスで指定される領域にブロックアドレスが格納
    されるディレクテリメモリとを備えた演算制御装置にお
    いて、上記キャッシュメモリの1ブロック容量2^lバ
    イトを2^X倍することが指定されている場合、上記メ
    モリアドレス中のカラムアドレスの下位Xビットを“0
    ”にして上記ディレクテリメモリを索引し、ディレクテ
    リチェックを行なう第1手段と、この第1手段のディレ
    クテリチェックによりミスヒットした場合、上記ディレ
    クテリメモリの対応領域に、対応する上記ブロックアド
    レスを登録し、2^{^(^j^−m)”x)回の主メ
    モリリード要求を発する第2手段と、この第2手段によ
    る1回目の主メモリリード要求時には、上記メモリアド
    レスの下位mビットを“0”にしたリードアドレスを生
    成し、以後の主メモリリード要求に際しては前回生成さ
    れたリードアドレスの下位mビットに続く(l−m)+
    xビットに1を加算して新たなリードアドレスを生成す
    る第3手段と、この第3手段によって生成されたリード
    アドレスに応じて上記主メモリから読出されたリードデ
    ータを、上記カラムアドレスの下位Xビットを除く残り
    ビットと、同リードデータと共に返されるリードアドレ
    スの下位mビットに続く(l−m)+xビットとの連結
    情報で示される、上記キャッシュメモリの領域に書込む
    第4手段とを具備し、指定されたキャッシュメモリの1
    ブロック容量に応じたキャッシュメモリ制御を行なうこ
    とを特徴とするキャッシュメモリ制御方式。
JP59273404A 1984-12-26 1984-12-26 キヤツシユメモリ制御方式 Pending JPS61151756A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59273404A JPS61151756A (ja) 1984-12-26 1984-12-26 キヤツシユメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59273404A JPS61151756A (ja) 1984-12-26 1984-12-26 キヤツシユメモリ制御方式

Publications (1)

Publication Number Publication Date
JPS61151756A true JPS61151756A (ja) 1986-07-10

Family

ID=17527418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59273404A Pending JPS61151756A (ja) 1984-12-26 1984-12-26 キヤツシユメモリ制御方式

Country Status (1)

Country Link
JP (1) JPS61151756A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01314358A (ja) * 1988-06-14 1989-12-19 Nec Corp キャッシュメモリ付きデータ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01314358A (ja) * 1988-06-14 1989-12-19 Nec Corp キャッシュメモリ付きデータ処理装置

Similar Documents

Publication Publication Date Title
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
US4763244A (en) Paged memory management unit capable of selectively supporting multiple address spaces
US4890223A (en) Paged memory management unit which evaluates access permissions when creating translator
US5754819A (en) Low-latency memory indexing method and structure
US4637024A (en) Redundant page identification for a catalogued memory
EP0029517B1 (en) Store-in-cache mode data processing apparatus
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
JP2539357B2 (ja) デ−タ処理装置
KR970011207B1 (ko) 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치
JPH0345407B2 (ja)
US4731740A (en) Translation lookaside buffer control system in computer or virtual memory control scheme
JPS60179851A (ja) デ−タ処理装置
JPS58205975A (ja) 緩衝記憶機構
KR20190108109A (ko) 캐시 라인 로킹을 이용한 원자적 프리미트브들의 구현
JPS598846B2 (ja) マイクロプログラム可能な周辺制御装置
JP5231018B2 (ja) ページ内のプログラムカウンター相対アドレスまたは絶対アドレスの分岐命令のためのtlbの抑制
JPS5821308B2 (ja) ルツクアヘツド・コントロ−ル装置
US3745316A (en) Computer checking system
JPH03501660A (ja) 記憶装置への部分書き込み操作における誤り検出
US6338120B1 (en) Apparatus for cache use history encoding and decoding including next lru and next mru and method therefor
JPS61151756A (ja) キヤツシユメモリ制御方式
US5197141A (en) Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions
JPH03204053A (ja) 読出し専用メモリ
US3990051A (en) Memory steering in a data processing system
JP3093761B2 (ja) マルチビット・ワードをリセットする回路