JPH04160614A - バッファ記憶制御装置 - Google Patents

バッファ記憶制御装置

Info

Publication number
JPH04160614A
JPH04160614A JP2288004A JP28800490A JPH04160614A JP H04160614 A JPH04160614 A JP H04160614A JP 2288004 A JP2288004 A JP 2288004A JP 28800490 A JP28800490 A JP 28800490A JP H04160614 A JPH04160614 A JP H04160614A
Authority
JP
Japan
Prior art keywords
buffer
address
array
address array
storage control
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
JP2288004A
Other languages
English (en)
Inventor
Atsushi Tanaka
敦 田中
Shinya Watabe
渡部 眞也
Yasuo Watabe
康雄 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2288004A priority Critical patent/JPH04160614A/ja
Publication of JPH04160614A publication Critical patent/JPH04160614A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野] 本発明は主記憶装置、命令処理装置、入出力装置などか
らなる情報処理装置において、命令処理装置がバッファ
記憶を用いてデータを効率よくアクセスし、主記憶装置
に格納しているデータを効率よく処理できるようにした
バッファ記憶制御装置に関する。
〔従来の技術] 情報処理装置は、データ、プログラム等を記憶する主記
憶装置と、プログラムに従いデータを処理する命令処理
装置と、データ、プログラム等の入出力を行う入出力装
置から構成されている。命令処理装置は主記憶装置に格
納されているデータを利用してデータ処理を進めるが、
この場合に、データを効率よくアクセスして処理が進め
られるように、バッファ記憶が備えられる。このバッフ
ァ記憶は、主記憶装置のデータの一部を格納するもので
、主記憶装置の実効的なアクセス時間を短縮し、命令処
理装置の処理能力を向上させるために小容量の高速の記
憶装置で構成される。データ処理を進める場合に、主記
憶装置の中の使用頻度が高いデータがバッファ記憶に残
されるように制御され、時間がかかる主記憶装置のアク
セス回数を減少させる。
このようなバッファ記憶をアクセス上の問題点の1つと
して、バッファ記憶を用いた仮想記憶方式のデータ処理
装置である仮想記憶システムにおけるバッファ記憶のシ
ノニム(synonym)がある。
ここで、シノニムとは、仮想記憶システムにおいて、同
一の物理アドレスに対応する複数の論理アドレスのペー
ジのデータブロックのことである。
シノニムは、例えば、実記憶上のあるページを、仮想記
憶上で1つのユーザの仮想空間から別のユーザへの仮想
空間への割当てを変更することにより引き起こされて発
生する。すなわち、バッファ記憶をアクセスするアドレ
スとして、論理アドレスを使う場合に、ページング処理
によって、主記憶の同一実アドレスが異なる論理アドレ
スに割当てられることにより発生する。命令処理装置に
おいて、論理アドレスを用いてバッファ記憶をアクセス
する場合に、シノニムの制御を効率よく処理しないと、
バッファ記憶を効率よくアクセスできないことになる。
命令処理装置には、バッファ記憶を論理アドレスでアク
セスするための処理要素として、主記憶上のデータをブ
ロック単位で記憶するバッファ記憶(B S : Bu
ffer Storage)と、アクセスする論理アド
レスを物理アドレスに変換するアドレス変換バッファ 
(T L B : T ranslation Loo
kasideBuffer)と、バッファ記憶に登録さ
れているデータブロックのアドレスタグ(A ddre
ss T ag)をエントリとして登録するバッファア
ドレスアレイ(BAA : Buffer Addre
ssArray)とが備えられる。
従来、上記3つの処理要素を並列に動作させてアクセス
処理する並列アクセス方式を用い、与えられたアクセス
すべき論理アドレスによりバッファ記憶を高速にアクセ
スする方式が考えられている。
第8図は、従来の命令処理装置におけるバッファ記憶制
御ユニットの要部構成の一例を示すブロック図である。
第8図のバッファ記憶制御ユニットは、並列アクセス方
式により高速にバッファ記憶をアクセスするようにした
構成例である。また、ここでは、論理アドレスによりア
クセスを行い、複数の論理アドレスに対応する同一実行
アドレスがアクセスされた場合のシノニムを検出し、シ
ノニム検出によりバッファ記憶の無効化が行われる要部
の回路構成例を示している。なお、仮想記憶システムに
おけるバッファ記憶のこの種のシノニムの検出および処
理機構は、例えば特開昭56−140575号公報に開
示されている。
第8図において、1は論理アドレスレジスタであり、ア
クセスすべき論理アドレスが入力される。
2はアドレス変換バッファ、100はバッファアドレス
アレイ、3はバッファ記憶である。バッファ記憶3は、
主記憶装置からのデータをブロック単位で記憶している
。論理アドレスレジスタlの論理アドレスビットは32
ビツトからなり、実アドレスに変換するアドレス変換の
対象となるビット位置の第Oビット〜第19ビットと、
変換を受けないビット位置の第20ビツト〜第31ビツ
トに分けられる。また、アドレス変換バッファ(以下T
LBと略称する)2は論理アドレスと実アドレスの変換
対より構成され、論理アドレスレジスタ1におけるアド
レス変換を行う論理アドレスの第Oビット〜第19ビッ
トを入力すると、対応する実アドレス2aが出力される
。バッファアドレスアレイ(以下BAAと略称する)1
00は、バッファ記憶(以下BSと略称する)3のブロ
ック単位で格納しているデータブロックの対応する実ア
ドレスのアドレスタグを格納したメモリであり、ここで
は40−(ROWO−ROW3)より構成され、各ロー
は論理アドレスの第16ビツト〜第19ビツトの4ビツ
トにより番号付けられる16のグループから構成されて
いる。比較回路101は、BAAlooへのアドレス入
力(論理アドレスの第20ビツト〜第24ビツト)に応
じて、BAAlooから読出された実アドレスと、TL
B2から得られた実アドレス2aを比較し、一致する場
合には、当該ヒツト(bit)信号を論理II I I
Tにする。このヒツト信号を入力するヒツトローデコー
ド回路102は、比較回路101の群から出力される論
理II I ITのヒツト信号をデコードしてロー選択
信号106を出力する。
ここで、4つのROWO〜ROW3の内、論理アドレス
の第16ビツト〜第19ビツトにより番号付けられるグ
ループ(これを論理グループと呼ぶ)のヒツト信号がr
r I ITにならずに、別の論理グループ(これをシ
ノニムグループと呼ぶ)でrr I ITとなった場合
、ヒツトローデコード回路1o2は、シノニムヒツト信
号107を′l″′とする。シノニムヒツトデコード回
路108は、シノニムヒツト信号107を受けると、シ
ノニム無効化信号108aを” 1 ”とし、BAAl
ooにおける当該グループのバリッドビットをロー番号
およびグループ番号を用いて無効化する。
また、ここでのBS3は、40−より構成されており、
アドレス変換を受ける論理アドレスの第16ビツト〜第
19ビツトおよびアドレス変換を受けない論理アドレス
の第20ビツト〜第27ビツトのアドレスビットにより
アクセスされる。ロー選択回路4がBS3から読出され
たバッファデータの各ローのブロックのデータのうちの
1つのローデータを、論理ヒツトデコード回路102か
らのロー選択信号106にもとづいて選択し、読出しバ
ッファデータとして、例えば、命令制御ユニット等に出
力する。
さて、アクセスするデータの論理アドレスは、論理アド
レスレジスタ1にセットされる。アクセス処理が発行さ
れてデータの読出しを行う場合、論理アドレスレジスタ
1にセットされたそれぞれのアドレスビットを用いて、
TLB2により論理アドレスが実アドレスに変換される
と同時に、BAAlooのアクセスと、BS3のアクセ
スとが行われる。BAA 100のアクセスで読出され
たバッファメモリの実アドレスとTLB2により変換さ
れた実アドレス2aとが比較回路101により比較され
、ヒツトしたか否かが検出される。そして、ヒツトロー
デコード回路102によりヒツトしたロー番号が検出さ
れ、当該ロー番号がロー選択信号106として、ロー選
択回路4に与えられ、バッファ記憶3から一括して読出
されている各ローのブロックのデータの対応するブロッ
クを選択して取出す。
このように、第8図のバッファ記憶制御ユニットでは、
バッファ記憶をアクセスする場合のアクセス動作におい
て、与えられたアクセスすべき論理アドレスより、TL
B2とBAAlooと、BS3との3つの処理要素が並
列に動作してアクセス処理を行うので、バッファ記憶の
読出しデータは高速にアクセスされる。
しかしながら、BAAlooに用いるメモリチップ設計
上の物理的な問題から、BAAlooから同時に読出す
データ量が多くなる場合、データの読出しが十分なアク
セス速度で行えなくなる。
この場合には、BS3から読出すバッファデータ4aが
十分速いアクセスタイムで得られない問題がある。
これに対処する従来技術としては、例えば、特願昭62
−247802号に記載されているように、論理アドレ
スでアクセスする第1バッファアドレスアレイと、論理
アドレスのアドレス変換を受ける部分を含まないアドレ
ス(実アドレス)でアクセスする第2バッファアドレス
アレイとを組み合せて、バッファアドレスアレイの機能
を実現し、バッファ記憶に登録されているデータのアク
セス制御を行う方式がある。この方式では、第1バッフ
ァアドレスアレイは、連想量(−括して同時に読出すデ
ータ幅)をロー数分だけとし、論理アドレスのアドレス
変換を受ける部分を含むアドレスによりアクセスされる
カラムより構成する。
これによりバッファ記憶のアドレスアレイの連想量を削
減できるので、バッファ記憶のアクセス速度を高速化で
きる。第2バッファアドレスアレイは、連想量をロー数
とグループ数の積だけとし、論理アドレスのアドレス変
換を受ける部分を含まないアドレス(実アドレス)によ
りアクセスされるカラムより構成する。これにより、第
2バッファアドレスアレイは、実アドレスでアクセスし
て、シノニムを同時に並列に読出し可能なものとするこ
とができ、シノニム制御が容易になる。
第9図は、このようなバッファ記憶制御ユニットの要部
構成を示すブロック図であり、前述の第1バッファアド
レスアレイと第2バッファアドレスアレイの2種類のバ
ッファアドレスアレイの組合わせで構成されるバッファ
アドレスアレイを使用する回路構成例を示している。第
9図において、10は第1バッファアドレスアレイ、1
10は第2バッファアドレスアレイ、111は比較回路
、12はヒツトローデコード回路、112はヒツトロー
グループデコード回路である。
第1バッファアドレスアレイ10は論理アドレスでアク
セスされるバッファアドレスアレイとなっており、ロー
数に等しい連想量を有する。また、この第1バッファア
ドレスアレイ10は、アドレス変換を受ける論理アドレ
スの第16ビツト〜第19ビツトの4ビツトと、アドレ
ス変換を受けない論理アドレスの第20ビツト〜第24
ビツトの5ビツトの合計9ビツトのアドレスでアクセス
されるカラムから構成されており、ここでは、シノニム
グループはアレイのカラム方向に配置されている。従っ
て、アクセス要求が起こる度にアクセスされる連想量は
少ないものとなっている。
第2バッファアドレスアレイ110は、実アドレスでア
クセスされるバッファアドレスアレイとなっており、ロ
ー数とグループ数の積に等しい連想量を有する。また、
この第2バッファアドレスアレイ110は、アドレス変
換を受けない論理アドレスの第20ビツト〜第24ビツ
トの5ビツトのアドレスでアクセスされるカラムから構
成されており、シノニムグループはアレイの連想方向(
ロー方向)に配置されている。
バッファ記憶3をアクセスするために、論理アドレス線
18(論理アドレスの第16ビツト〜第24ビツト)に
より第1バッファアドレスアレイ10をアクセスし、実
アドレス線19 (論理アドレスの第20ビツト〜第2
4ビツト)により第2バッファアドレスアレイ110を
アクセスする。
第1バッファアドレスアレイ10では、アクセスされた
論理グループの全ロー分を読出す。第1バッファアドレ
スアレイ1oから読出されたブロックの実アドレスは、
TLB2によりアドレス変換された実アドレス2aと比
較回路11で比較される。ヒツトローデコード回路12
は比較回路11の出力信号をデコードし、ロー選択信号
16と論理ヒツト信号17を出力する。一方、第2バッ
ファアドレスアレイ110は、実アドレスのアクセスに
より全ローについての全グループを読出し、読出された
ブロックの実アドレスは、TLB2によりアドレス交換
されて送出されている実アドレス2aと比較回路111
で比較される。ヒツトローグループデコード回路112
は比較回路111の出力により、全グループの比較結果
を調べて、論理ヒツト信号17が′O″で、かつ、いず
れかのシノニムグループの比較結果が” 1 ”である
場合に、そのグループのブロックを無効化する無効化信
号117を出力する。無効化信号117により、第1バ
ッファアドレスアレイ10と第2バッファアドレスアレ
イ110の双方において、該当シノニムグループを無効
化する。
以上のように、第9図ではデータ幅を削減して連想量を
ローのみとして、シノニムを読出せない構造の第1バッ
ファアドレスアレイ10を、論理アドレスでアクセスし
てバッファミスを検出した場合にのみ、シノニムを読出
せる第2バッファアドレスアレイ110をアクセスして
、シノニムの検出を行い、シノニムが存在する場合は、
その無効化を行う。これにより、バッファアドレスアレ
イの連想量を削減して、バッファ記憶のアクセス速度を
高速化できる。
〔発明が解決しようとする課題〕
ところで、近年、バッファ記憶の容量は増大する傾向に
あり、これに伴い、バッファアドレスアレイのカラムア
ドレスのうち、アドレス変換を受けるアドレス部分のビ
ット数が増大している。この場合には、上記第9図の従
来技術の第2バッファアドレスアレイ110の連想量が
増大し、物理的な制約からメモリチップを実装できない
問題がある。すなわち、第2バッファアドレスアレイ1
10からの連想量は、ロー数とグループ数の積(第9図
の例では2”X4=64)となるため、第2バッファア
ドレスアレイ110から読出すデータ量(データ幅)が
多くなる。また、メモリセルの読出し電流はデータ幅に
比例して増加する。
メモリチップの発熱量はメモリセルの読出し電流と電圧
の積で与えられる。このため、連想量が増大してデータ
幅が増大すると、第2バッファアドレスアレイ110と
して用いるメモリチップの発熱量は非常に大きくなり、
物理的な制約条件から実装不可能になる問題がある。
本発明の目的は、このようなメモリチップの物理的問題
点を解決しつつ、アクセス速度を高速化するバッファ記
憶制御装置を提供することにある。
本発明の別の目的は、バッファ記憶をアクセスする場合
のバッファアドレスアレイの連想量を削減して、バッフ
ァ記憶のアクセスを高速化するバッファ記憶制御装置を
提供することにある。
[課題を解決するための手段] 上記目的を達成するため、本発明においては、バッファ
アドレスアレイを、アドレス交換を受ける部分を含む論
理アドレスがカラムアドレスである第1バッファアドレ
スアレイと、アドレス変換を受けた部分を含む実アドレ
スがカラムアドレスである第2バッファアドレスアレイ
とに分けて設けるようにしたことである。
〔作 用〕
第1バッファアドレスアレイは論理アドレスセアクセス
し、第2バッファアドレスアレイは実アドレスでアクセ
スするが、第2バッファアドレスアレイがアドレス変換
を受けた部分を含むカラムアドレスでアクセスされるの
で、連想量(−括して同時に読出すデータ幅)がロー数
分だけになり、従−末技術のメモリチップの物理的問題
点を解決できる。また、第2バッファアドレスアレイは
シノニムの同時読出しが可能であり、シノニム無効化制
御が容易に実現できる。
[実施例] 以下、本発明の一実施例を図面を用いて、具体的に説明
する。なお、実施例を説明するための全図において、同
一要素のものは同一符号を付け、その繰返しの説明は省
略する。
第2図は、本発明の一実施例にかかる情報処理装置の全
体の構成を示すブロック図である。第2図において、8
4は主記憶装置、83はシステムコントローラ、81は
命令処理装置、85は入出力処理装置である。入出力処
理装置85には入出力送置が接続されるが、第2図では
省略しである。
82はそれぞれの命令処理装置81内に設けられるバッ
ファ記憶制御ユニットである。バッファ記憶制御ユニッ
ト82は、バッファ記憶とバッファアドレスアレイ(B
AA)を有し、主記憶装置84から゛データを一時的に
格納し、データ処理を効率よく実行する。プログラムと
データは主記憶装置84内に格納されており、命令処理
装置81が主記憶装置84に格納されているデータおよ
びプログラムをシステムコンローラ83を介して自バッ
ファ記憶制御ユニット82に取込み、そのプログラムの
命令を逐次取出し実行する。システムコントローラ83
は主記憶装置84と命令処理装置81または入出力処理
装置85との間のインタフェースを制御するものである
。また、入出力処理装置85は主記憶装置84と入出力
装置間のデータ転送を制御するものである。
第3図は、命令処理装置81の要部の構成を示すブロッ
ク図である。命命処理装置81には、図示するように、
バッファ記憶制御ユニット82の他に、命令制御ユニッ
ト86、汎用演算ユニット87、および浮動小数点演算
ユニット88が設けられている。
バッファ記憶制御ユニット82は、主記憶装置84をア
クセスする論理アドレスがセットされる論理アドレスレ
ジスタ1、論理アドレスと実アドレスの対を格納して論
理アドレスから実アドレスへのアドレス変換を行うアド
レス変換バッファ(TLB)、2、主記憶装置84のデ
ータおよびプログラムの一部をブロック単位で記憶する
バッファ記憶(BS)3、バッファ記憶3に記憶してい
るデータブロックを索引するために必要な該バッファ記
憶3内の各データブロックのアドレスタグを格納してい
るバッファアドレスアレイ(BAA)90等の処理要素
を備え、これらの処理要素を用いてバッファ記憶制御を
行う。ここで、バッファアドレスアレイ90は1個のバ
ッファ記憶3に対して2個設けられる。また、バッファ
記憶制御ユニット82は、システムコントローラ83を
介して主記憶装置84に接続されており、主記憶装置8
4に格納されているデータおよびプログラムをシステム
コントローラ83を介して取出し、バッファ記憶3に格
納して、命令制御ユニット86、汎用演算ユニット87
、および浮動小数点演算ユニット88に命令とデータを
供給する。
命令制御ユニット86は、バッファ記憶33から読出さ
れた命令を解読し、演算ユニット87゜88に対するデ
ータ供給等の制御を行う。汎用演算ユニット87は、固
定小数点演算、論理演算、十進演算、システム制御等を
実行する。浮動小数点演算ユニット88は浮動小数点演
算を実行する。
第1図は、本発明によるバッファ記憶制御ユニット82
の内部構成の一実施例を詳細に示すブロック図である。
第1図において、10は第1バッファアドレスアレイ、
13は第1バッファアドレスアレイリプレースロー決定
回路、11は比較回路、20は第2バッファアドレスア
レイ、23は第2バッファアドレスアレイリプレースロ
ー決定回路、21は比較回路である。
論理アドレスレジスタ1の論理アドレスは32ビツトか
らなり、実アドレスに変換するアドレス変換の対象とな
るビット位置の第0ビツト〜第19ビツトと、変換を受
けないビット位置の第20ビツト〜第31ビツトに分け
られる。アドレス変換バッファ(TLB)2は、アドレ
ス変換を行う論理アドレスの第0ビツト〜第19ビツト
を入力すると、対応する実アドレス2aを出力する。
第1バッファアドレスアレイ10は、アドレス変換を受
ける論理アドレスの第16ビツト〜第19ビツトの4ビ
ツトと、アドレス変換を受けない論理アドレス(実アド
レス)の第20ビツト〜第24ビツトの5ビツトの合計
9ビツトのアドレスでアクセスされるカラムから構成さ
れており、ロー数は40−である。この第1バッファア
ドレスアレイ10では、シノニムグループはアレイのカ
ラム方向に配置されている。
第2バッファアドレスアレイ20は、TLB2によりア
ドレス変換を行った実アドレスの第15ビツト〜第19
ビツトの5ビツトとアドレス変換を受けない論理アドレ
ス(実アドレス)の第20ビツト〜第24ビツトの5ビ
ツトの合計10ビツトのアドレスでアクセスされるカラ
ムから構成さ′  れており、ロー数は80−である。
第1バッファアドレスアレイ10と第2バッファアドレ
スアレイ20は、それぞれバッファ記憶3に登録されて
いるデータブロックのアドレスタグ(Address 
Tag)をエントリとして登録するバッファアドレスア
レイであり、第1バッファアドレスアレイ10は論理ア
ドレスでエントリをアクセスし、第2バッファアドレス
アレイ20は実アドレスでエントリをアクセスする。第
3図のバッファアドレスアレイ90は、これら第1およ
び第2バッファアドレスアレイ10.20に対応する。
バッファ記憶3を効率よく制御するために、第2バツフ
アアドレス20のカラムアドレスビット数、あるいはロ
ー数を、第1バッファアドレスアレイ10と比較して等
しいかそれ以上にすることが必要である。このため、第
1図の実施例では、第2バッファアドレスアレイ20を
第1バッファアドレスアレイ10に対し、カラムアドレ
スビット数は1ビット多く、ロー数は2倍としである。
第1バッファアドレスアレイlOの各エントリには、バ
ッファ記憶3のアドレスタグと、対応する第2バッファ
アドレスアレイ20のエントリのカラムアドレス及びロ
ー番号とが登録される。第2バッファアドレスアレイ2
0の各エントリには、バッファ記憶3のアドレスタグと
、対応する第1バッファアドレスアレイ10のカラムア
ドレス及びロー番号とが登録される。
第4図(A)は、第1バッファアドレスアレイ10の1
エントリの内容を示したものである。即ち、1つのエン
トリには、該エントリの有効/無効を示すバリッドビッ
ト(Vビット)とバッファ記憶3の対応するデータブロ
ックのアドレスタグである実アドレスの第Oビット〜第
19ビットと第2バッファアドレスアレイ20の対応す
るエントリのロー番号が登録されている。第2バッファ
アドレスアレイ20との対応は、該エントリの内容の実
アドレスの第15ビツト〜第19ビツトと論理アドレス
レジスタ1の第20ビツト〜第24ビツトとで、第2バ
ッファアドレスアレイ2oの対応するエントリのカラム
アドレスが指示される。
そして、該エントリの実アドレスO〜19に続く3ビツ
トで、第2バッファアドレスアレイ20の対応するエン
トリ内のローが指示される。
第4図(B)は、第2バッファアドレスアレイ20の1
エントリの内容を示したものである。即ち、1つのエン
トリは、該エントリの有効/無効を示すバリッドビット
とバッファ記憶3のアドレスタグである実アドレスの第
Oビット〜第14ビットと第1バッファアドレスアレイ
10の対応するエントリのカラムアドレスの第16ビツ
ト〜第19ビツトとロー番号が登録されている。第1バ
ッファアドレスアレイ10との対応は、該エントリの内
容の実アドレスの一部である第16ビツト〜第19ビツ
トと論理アドレスレジスタ1の第20ビツト〜第24ビ
ツトとで第1バッファアドレスアレイ10の対応するエ
ントリのカラムアドレスが指示される。そして、該エン
トリの実アドレスO〜19に続く2ビツトで、第1バッ
ファアドレスアレイ10の対応するエントリ内のローが
指示される。
第1バッファアドレスアレイリプレースロー決定回路1
3は、バッファ記憶3にアクセスするデータブロックが
登録されていなかった場合に、第1バッファアドレスア
レイ10の該当カラムの40−のエントリのうち、無効
なエントリがあればそのエントリのローをリプレース(
Replace)ローとして指示し、無効なエントリが
なければ、例えば周知のLRU (Least Rec
ently Used)アルゴリズムに従ってリプレー
スローを指示する。
第2バッファアドレスアレイリプレースロー決定回路2
3は、バッファ記憶3にアクセスするデータブロックが
登録されていなかった場合に、第2バッファアドレスア
レイ20の実アドレスの第15ビツト〜第24ビツトで
アクセスされる該当カラムの80−のエントリのうち、
無効なエントリがあればそのエントリのローをリプレー
ス(Replace)ローとして指示し、無効なエント
リがなければ、例えばLRUアルゴリズムに従ってリプ
レースローを指示する。
バッファ記憶3をアクセスするために、論理アドレスレ
ジスタ1の論理アドレス18(論理アドレスのビット1
6〜24)により第1バッファアドレスアレイlOをア
クセスし、TLB2からの実アドレス2aのビット15
〜19と論理アドレスレジスタ1のビット20〜24に
より第2バッファアドレスアレイ20をアクセスする。
第1バッファアドレスアレイ10から読出されたブロッ
クの実アドレス10aは、T L B 2によりアドレ
ス変換された実アドレス2a(ビット0−19)と比較
回路11で比較される。ヒツトローデコード回路12は
比較回路11の出力信号をデコードし、ロー選択信号1
6と論理ヒツト信号17を出力する。一方、第2バッフ
ァアドレスアレイ20から実アドレスのアクセスにより
読出されたブロックの実アドレス20aは、TLB2か
らの実アドレス2a(ビット0−14)と比較回路21
で比較される。ヒツトローデコード回路22は、上記ヒ
ツトローデコード回路12の論理ヒツト信号17が″O
′″で、かつ、第2バッファアドレスアレイ20のヒツ
トしたローを示す比較回路21の出力のいずれか1つが
” 1 ”である場合に、そのブロック(シノニムグル
ープ)を無効化する無効化信号27を出力する。これに
より、第2バッファアドレスアレイ20では、ヒツトし
たローのブロックの無効化される。また、第2バッファ
アドレスアレイ20から読出したデータ20b (第1
バッファアドレスアレイ10の対応するロー番号および
グループ番号)の内、ヒツトしたロー番号の読出しデー
タ20bをセレクタ26で選択し、論理アドレスレジス
タ1のビット20〜24と一緒にして、セレクタ14を
介して第1バッファアドレスアレイ10に与え、対応す
るブロックを無効化する。
以上の動作により、シノニムの検出とシノニムのブロッ
クの無効化が実現される。
バッファ記憶3のブロックの登録では、主記憶装置から
転送されるブロックデータのバッファ記憶3への書込み
とともに、次のようにしてアドレスタグの第1バッファ
アドレスアレイ10.第2バッファアドレスアレイ20
への登録が行われる。
第1リプレースロー決定回路13により、論理アドレス
でアクセスする第1バッファアドレスアレイ10のリプ
レースローを決定し、第1バッファアドレスアレイ10
の当該ローのブロックを無効化する。また、第1バッフ
ァアドレスアレイ10から読出したデータ10b(第2
バッファアドレスアレイ20の対応するロー番号および
グループ番号)の内、リプレースロー番号のデータLO
bをセレクタ15で選択し、論理アドレスレジスタ1の
ビット20〜24と一緒にしてセレクタ24を介して第
2バッファアドレスアレイ20に与え、対応するブロッ
クを無効化する。さらに、第2リプレースロー決定回路
23により、実アドレスでアクセスする第2バッファア
ドレスアレイ20のリプレースローを決定し、第2バッ
ファアドレスアレイ2oの当該ローのブロックを無効化
する。
また、第2バッファアドレスアレイ20から読出したデ
ータ20b (第1バッファアドレスアレイ10の対応
するロー番号およびグループ番号)の内、リプレースロ
ー番号のデータ20bをセレクタ26で選択し、セレク
タ14を介して第1バッファアドレスアレイlOに与え
、対応するブロックを無効化する。最後に、第1バッフ
ァアドレスアレイ10に登録ブロックの実アドレスと第
2バッファアドレスアレイ20のロー番号とグループ番
号を登録し、第2バッファアドレスアレイ20に登録ブ
ロックの実アドレスと第1バッファアドレスアレイ10
のロー番号とグループ番号を登録する。
1つのブロック登録で、2つのブロック(第1バッファ
アドレスアレイ10と第2バッファアドレスアレイ20
のそれぞれのリプレーススロー)を無効化するケースの
頻度が高いと、バッファ記憶に登録されているブロック
数が減少し、性能低下が生じる。第2バッファアドレス
アレイ20のカラムアドレスビット数、あるいはロー数
を第1バッファアドレスアレイl○と比較して等しいか
それ以上にすることが、バッファ記憶を効率よく制御す
るために必要であり、第1図の実施例では、カラムアド
レスは1ビット多く、ロー数は2倍である。
第5図は、本発明の他の実施例のバッファ記憶制御ユニ
ットの内部構成を詳細に示すブロック図である。この実
施例は、バッファ記憶制御のシステムコントローラ83
に設けられるバッファアドレスアレイ (フロントアド
レスアレイ)を第2バッファアドレスアレイとした例で
ある。
情報処理装置が複数の命令処理装置を含むマルチプロセ
ッサで構成される場合、第2図のように、システムコン
トローラ83を介して主記憶装置84と複数の命令処理
装置81か接続される。各々の命令処理装置81には、
バッファ記憶およびバッファアドレスアレイを含むバッ
ファ記憶制御ユニット82が設けられ、また、システム
コントローラ83には、複数の命令処理装置81の複数
のバッファメモリ間のデータの不一致を防止するため、
各命令処理装置81内のバッファ記憶制御ユニット82
にあるバッファアドレスアレイの写しを格納するフロン
トアドレスアレイ(FAA:Front Addres
s Array)が設けられる。
第5図の実施例では、このシステムコントローラの中に
設けられるフロントアドレスアレイを、バッファ記憶制
御でシノニム検出を行う機能を有する第2バッファアド
レスアレイとしている。第5図において、81は命令処
理装置であり、83はシステムコントローラである。命
令処理装置81には論理アドレスレジスタ1、TLB2
、バッファ記憶3、ロー選択回路4、第1バッファアド
レスアレイ10.比較回路11、ヒツトローデコード回
路12及びリプレースロー決定回路13があり、これら
は第1図の第1実施例の同一番号の構成要素に対応する
。一方、システムコントローラ83にはフロントアドレ
スアレイ30、比較回路31およびヒツトローデコード
回路32が設けられる。
システムコントローラ83内のフロントアドレスアレイ
30は、命令処理装置81内のバッファアドレスアレイ
10の写しであり、マルチプロセッサ構成において複数
の命令処理装置内の各バッファメモリ間のデータの不一
致を防止するために設けられるものである。このフロン
トアドレスアレイ30は命令処理装置の数だけある。例
えば、命令処理装置81のバッファ記憶3に対して書込
みか行われた場合に、全部のフロントアドレスアレイ3
0を読出し、当該ブロックを格納している他命令処理装
置のバッファ記憶のデータを無効化する。このフロント
アドレスアレイ30を、第1図の実アドレスでアクセス
する第2バッファアドレスアレイ20のかわりに用いる
ことにより、シノニム検出を行うことかできる。
すなわち、命令処理装置81は、バッファ記憶3にアク
セスすべきデータブロックが登録されていなかった場合
、システムコントローラ83に対して、ブロック転送要
求を出すとともに、T L B2からの実アドレス2a
と論理アドレスレジスタ1のビット20〜24を送出す
る。システムコントローラ83ではブロック転送の準備
をするとともに、フロントアドレスアレイ30をアクセ
スし、比較回路31およびヒツトローデコード回路32
により、シノニムの存在を調べてシノニム制御を行う。
シノニムが存在する場合は、ヒツトローデコード回路3
2によりセレクタ35.36を介して、フロントアドレ
スアレイ30から読出したデ−タ(第1バッファアドレ
スアレイ10に対応するロー番号およびグループ番号)
の内、ヒツトしたロー番号のデータ(シノニムの無効化
要求データ)を命令処理装置81に対して送出する。こ
のデータを受取った命令処理装置81は、セレクタ14
を介して第1バッファアドレスアレイ10をアクセスし
、対応するブロックのバリッドピットをリセットするこ
とによりシノニムの無効化を行う。
第6図は本発明によるバッファ記憶制御ユニットの別の
実施例の内部構造を示すブロック図である。これは、第
1図の構成に論理アドレスレジスタ5、TLB6を追加
して命令処理装置がデータ読出し時にアクセスするバッ
ファアドレスアレイは第1バッファアドレスアレイ10
、データ書込み時にアクセスするバッファアドレスアレ
イは第2バッファアドレスアレイ20と、使い分けるよ
うにしたものである。データ読出し時に第1バッファア
ドレスアレイ10でミスヒツト時には、第2バッファア
ドレスアレイ20でシノニム検出を行う。データ書込み
時は、第2バッファアドレスアレイ22をアクセスする
ので、シノニムのブロックにもデータ書込みを行うこと
を可能である。
第7図はバッファ記憶制御ユニットの更に別の実施例の
内部構造を示すブロック図である。これは、命令処理装
置が複数のバッファ記憶を有する場合に、第1バッファ
アドレスアレイはそれぞのバッファ記憶に対して設け、
第2バッファアドレスアレイは、共通に設ける構成とし
たものである。
第7図では、2つのバッファ記憶63.3にそれぞれ個
別の第1バッファアドレスアレイ70.10と共通の第
2バッファアドレスアレイ40を持つ。論理アドレスレ
ジスタ1,60、TLB2゜62もそれぞれ個別に持つ
。第1バッファアドレスアレイ70.10のエントリの
内容は、第4図(A)と同じであるが、第2バッファア
ドレスアレイ40の内容は、第4図(B)にバッファ記
憶を識別するためのバッファ記憶番号が加わった第4図
(C)の内容となる。
また、他の実施例としては、命令処理装置がマルチプロ
セッサ構成である場合に、命令処理゛装置の複数のバッ
ファ記憶に共通の第2バッファアドレスアレイをシステ
ムコントローラ内に持つ構成も考えられる。
〔発明の効果〕 本発明は、以上説明したように構成されているので、以
下のような効果を奏する。
(1)アドレス変換を受けた部分を含む実アドレスがカ
ラムアドレスである第2バッファアドレスアレイを用い
ることにより、バッファアドレスアレイの連想量を削除
し、メモリチップの物理的な問題点(発熱量の増加など
)を解決できる。
(2)第2バッファアドレスアレイのカラムアドレスビ
ット数、ロー数を第1バッファアドレスアレイに比べて
大きく構成することにより、バッファ記憶を効率よく制
御することができる。
(3)バッファ記憶へのデータ書込み時にアクセスする
バッファアドレスアレイや、フロントアドレスアレイに
、第2バッファアドレスアレイを用いることにより、ハ
ードウェアコストを増加させずにシノニム検出ができる
(4)複数のバッファ記憶に共通の第2バッファアドレ
スアレイを持つことにより、第2バッファアドレスアレ
イのハードウェアコストを増加させずにシノニム検出を
実施することが−できる。
【図面の簡単な説明】
第1図は本発明のバッファ記憶制御装置の一実施例のブ
ロック図、第2図は本発明のバッファ記憶制御装置を備
えた情報処理装置の全体の構成例を示すブロック図、第
3図は第2図の命令処理装置の要部の構成例を示すブロ
ック図、第4図は第1バッファアドレスアレイ、第2バ
ッファアドレスアレイの内容を示す図、第5図、第6図
、第7図は各々本発明のバッファ記憶制御装置の別の実
施例のブロック図、第8図及び第9図は従来のバッファ
記憶制御装置の一例を示すブロック図である。 1.5.60・・・論理アドレスレジスタ、2.6.6
2・・アドレス変換バッファ、3.63・・・バッファ
記憶、 10.70・・第1バッファアドレスアレイ、20,3
0.40・・・バッファアドレスアレイ。

Claims (7)

    【特許請求の範囲】
  1. (1)主記憶装置のデータの一部を格納するバッファ記
    憶と、該バッファ記憶に格納したデータのアドレスを登
    録するバッファアドレスアレイと、論理アドレスを実ア
    ドレスに変換するアドレス変換手段とを有するバッファ
    記憶制御装置において、 前記バッファアドレスアレイを索引するアドレスをカラ
    ムアドレス、同時に読み出されるエントリをローとし、
    前記バッファアドレスアレイを、アドレス変換を受ける
    部分を含む論理アドレスがカラムアドレスである第1バ
    ッファアドレスアレイと、アドレス変換を受けた部分を
    含む実アドレスがカラムアドレスである第2バッファア
    ドレスアレイとに分けて構成したことを特徴とするバッ
    ファ記憶制御装置。
  2. (2)請求項(1)記載のバッファ記憶制御装置におい
    て、第1バッファアドレスアレイのエントリの内容は少
    なくとも、バッファ記憶格納データの実アドレスと、第
    2バッファアドレスアレイの対応するエントリのカラム
    アドレスとロー番号とからなり、第2バッファアドレス
    アレイのエントリの内容が少なくとも、バッファ記憶格
    納データの実アドレスと、第1バッファアドレスアレイ
    の対応するエントリのカラムアドレスとロー番号とから
    なり、第1バッファアドレスアレイの有効なエントリと
    第2バッファアレイの有効なエントリとが1対1に対応
    し、該対応するエントリが同一のバッファ記憶格納デー
    タの実アドレスを登録することを特徴とするバッファ記
    憶制御装置。
  3. (3)請求項(1)記載のバッファ記憶制御装置におい
    て、第2バッファアドレスアレイのカラム数かロー数の
    少なくともどちらかが、第1バッファアドレスアレイの
    カラム数かロー数に比較して大きい構成とすることを特
    徴とするバッファ記憶制御装置。
  4. (4)請求項(1)記載のバッファ記憶制御装置におい
    て、第1バッファアドレスアレイでバッファミスを検出
    した場合に第2バッファアドレスアレイの出力により複
    数の論理アドレスからアクセスされる同一実アドレスの
    バッファ記憶格納データを無効にする制御手段を有する
    ことを特徴とするバッファ記憶制御装置。
  5. (5)請求項(1)記載のバッファ記憶制御装置におい
    て、データ読出し時にアクセスするバッファアドレスア
    レイを第1バッファアドレスアレイとし、データ書込み
    時にアクセスするバッファアドレスアレイを第2バッフ
    ァアドレスアレイとすることを特徴とするバッファ記憶
    制御装置。
  6. (6)請求項(1)記載のバッファ記憶制御装置におい
    て、バッファアドレスアレイの写しを格納するシステム
    コントローラ内のフロントバッファアドレスアレイを第
    2バッファアドレスアレイとすることを特徴とするバッ
    ファ記憶制御装置。
  7. (7)請求項(1)記載のバッファ記憶制御装置におい
    て、複数のバッファ記憶を有する場合に、第1バッファ
    アドレスアレイはそれぞれのバッファ記憶に対して設け
    、第2バッファアドレスアレイは共通に設ける構成とし
    、第2バッファアドレスアレイのエントリの内容にバッ
    ファ記憶を識別するためのバッファ記憶番号を持つこと
    を特徴とするバッファ記憶制御装置。
JP2288004A 1990-10-25 1990-10-25 バッファ記憶制御装置 Pending JPH04160614A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2288004A JPH04160614A (ja) 1990-10-25 1990-10-25 バッファ記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2288004A JPH04160614A (ja) 1990-10-25 1990-10-25 バッファ記憶制御装置

Publications (1)

Publication Number Publication Date
JPH04160614A true JPH04160614A (ja) 1992-06-03

Family

ID=17724564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2288004A Pending JPH04160614A (ja) 1990-10-25 1990-10-25 バッファ記憶制御装置

Country Status (1)

Country Link
JP (1) JPH04160614A (ja)

Similar Documents

Publication Publication Date Title
KR920005280B1 (ko) 고속 캐쉬 시스템
US4332010A (en) Cache synonym detection and handling mechanism
US4905141A (en) Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US6324634B1 (en) Methods for operating logical cache memory storing logical and physical address information
EP0175091B1 (en) Fast two-level dynamic address translation method and means
US6920531B2 (en) Method and apparatus for updating and invalidating store data
US5133058A (en) Page-tagging translation look-aside buffer for a computer memory system
US6014732A (en) Cache memory with reduced access time
US6874077B2 (en) Parallel distributed function translation lookaside buffer
EP0408058B1 (en) Microprocessor
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
EP0549321A2 (en) Method and system for high-speed virtual-to-physical address translation and cache tag matching
WO1995016963A1 (en) Variable page size translation lookaside buffer
US6473835B2 (en) Partition of on-chip memory buffer for cache
EP0284751B1 (en) Cache memory
EP0313857B1 (en) Buffer memory control apparatus
JPH07120312B2 (ja) バッファメモリ制御装置
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
EP0310446A2 (en) Cache memory management method
JP2675836B2 (ja) データ処理装置
JPH04160614A (ja) バッファ記憶制御装置
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
US6493792B1 (en) Mechanism for broadside reads of CAM structures
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets