JP3564343B2 - キャッシュバイパス時のデータ転送装置と方法 - Google Patents
キャッシュバイパス時のデータ転送装置と方法 Download PDFInfo
- Publication number
- JP3564343B2 JP3564343B2 JP33402999A JP33402999A JP3564343B2 JP 3564343 B2 JP3564343 B2 JP 3564343B2 JP 33402999 A JP33402999 A JP 33402999A JP 33402999 A JP33402999 A JP 33402999A JP 3564343 B2 JP3564343 B2 JP 3564343B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- cache
- general
- request
- 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 - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はキャッシュバイパス時のデータ転送装置と方法に関し、特にキャッシュバイパス情報がオンのデータを主記憶装置に参照しに行く際、ブロックリードから目的のデータのみのリードにすることと、書き込み輻輳が発生しないように、リクエストの発行を制御するキャッシュバイパス時のデータ転送装置と方法に関する。
【0002】
【従来の技術】
従来のキャッシュバイパス時のデータ転送方式は、本発明の実施の形態の図面を参照して説明する。
【0003】
図1は本発明のキャッシュバイパス時のデータ転送装置と方法の一実施の形態を示すブロック図であり、図2はキャッシュバイパス時のデータ転送装置と方法のバッファメモリを示す構成図で、また図3はキャッシュバイパス時のデータ転送装置と方法のメモリコントローラを示す構成図である。
【0004】
中央処理装置(1)より発行されたメモリアクセス命令に対応するデータがバッファメモリ(2)内のキャッシュメモリ(27)に格納されていないキャッシュミスの場合、主記憶装置(4)からデータを読み出す処理として、論理アドレス(31)から物理アドレス(36)にアドレス変換し、同時に物理アドレス(36)の管理サイズ毎に付随するページ属性をチェックした後、主記憶装置(4)からデータ供給を受けるデータ転送方式を持つ処理装置において、前記中央処理装置(1)からのメモリアクセス命令に対するデータが前記バッファメモリ(2)上のキャッシュメモリ(27)に存在しない場合、メモリコントローラ(3)を介して(データ局所性原理により)目的データを含むブロックデータを主記憶装置(4)からロードする処理を行っているが、メモリコントローラ(3)でのページ属性のバイパスbitがオンの場合、目的データを含むブロックデータをロードするが、主記憶装置(4)から読み出されたデータをキャッシュメモリ(27)に保持しないので、目的データを含むブロックデータを主記憶装置(4)から読み出しても、目的データ以外使用されずにデータ破棄していた。主記憶装置(4)の読み出しサイクルは、一般にマシンサイクルより中央処理装置の動作が遅いので殆ど使用されないブロックデータのロード処理に主記憶装置(4)が占有され、主記憶装置(4)の処理速度低下を招いていた。
【0005】
中央処理装置(1)より発行されたメモリアクセス命令に対応するデータがバッファメモリ(2)内のキャッシュメモリ(27)に格納されていないキャッシュミスの場合、主記憶装置(4)からデータを読み出す処理として、論理アドレス(31)から物理アドレス(36)にアドレス変換し、同時に物理アドレス(36)の管理サイズ毎に付随するページ属性をチェックした後、主記憶装置(4)からデータ供給を受けるデータ転送方式を持つ処理装置で、かつ、主記憶装置(4)とキャッシュメモリ(27)へのデータ転送巾が、キャッシュメモリ(27)と汎用レジスタへのデータ巾より大きい処理装置において、主記憶装置(4)から複数個のデータを読み出して汎用レジスタ(10)に格納する命令が中央処理装置(1)で実行され、命令に対するデータが前記バッファメモリ(2)上のキャッシュメモリ(27)に存在せず、前記命令により主記憶装置(4)をアクセスするアドレスに対応するメモリコントローラ(3)のページ属性のバイパスbitがオンの場合、主記憶装置(4)からキャッシュメモリ(27)へのデータ転送巾に較べて、キャッシュメモリ(27)から汎用レジスタ(10)のデータ転送巾の能力が小さいので、主記憶装置(4)から読み出された複数のデータがバッファメモリ(2)から汎用レジスタ(10)への書き込みパスで書き込み輻輳が発生するため、複数データを主記憶装置(4)から読み出す場合、バッファメモリ(2)内のキャッシュメモリ(27)もしくはキャッシュメモリ近傍のバッファにデータを保持して、バッファメモリ(2)から汎用レジスタ(10)への書き込みで発生する書き込み輻輳を吸収しているためハードウェア量が増加する問題があった。
【0006】
【発明が解決しようとする課題】
上述した従来のキャッシュバイパス時のデータ転送方式は、
第1の問題点は、目的データと使用されずにデータ破棄される目的データ以外の全てのデータを含むブロックデータを主記憶装置から読み出ため殆ど使用されないブロックデータのロード処理に主記憶装置が占有され、主記憶装置の処理速度低下を招いていた。
【0007】
その理由は、主記憶装置の読み出しサイクルは、一般にマシンサイクルより中央処理装置の動作が遅いので殆ど使用されないブロックデータのロード処理に主記憶装置が占有されるためである。
【0008】
第2の問題点は、複数データを主記憶装置から読み出す場合、メモリのハードウェア量が増加していた。
【0009】
その理由は、複数データを主記憶装置から読み出す場合、主記憶装置からキャッシュメモリへのデータ転送巾に較べて、キャッシュメモリから汎用レジスタのデータ転送巾の能力が小さいので、バッファメモリ内のキャッシュメモリもしくはキャッシュメモリ近傍のバッファにデータを保持して、バッファメモリから汎用レジスタへの書き込みで発生する書き込み輻輳を吸収しているためである。
【0010】
本発明の目的は、キャッシュバイパス情報がオンのデータを主記憶装置に参照しに行く際、ブロックリードから目的のデータのみのリードにすることにより、後続命令を早く行えるようにし、性能向上をはかると共に、メモリの負荷を少なくすることができるデータ転送方式と、汎用レジスタで書き込み輻輳が発生しないように、リクエストの発行を制御するリクエスト制御回路を設けることにより、汎用レジスタで書き込み輻輳の発生を防ぎ、従来書き込み輻輳が発生した際、キャッシュメモリ近傍のバッファに一時的に保存していたハードウェア量の削減ができるキャッシュバイパス時のデータ転送装置と方法を提供することにある。
【0011】
【課題を解決するための手段】
本発明のキャッシュバイパス時のデータ転送装置と方法は、主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させる手段を備え、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行するリクエスト制御回路を備え、汎用レジスタに目的データを格納させる。
【0012】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0013】
図1は本発明のキャッシュバイパス時のデータ転送装置と方法の一実施の形態を示すブロック図であり、図2はキャッシュバイパス時のデータ転送装置と方法のバッファメモリを示す構成図で、また図3はキャッシュバイパス時のデータ転送装置と方法のメモリコントローラを示す構成図である。
【0014】
図1、図2、および図3を参照すると、本発明の第1の実施の形態は、複数の演算処理装置(5)が主記憶装置(4)に接続されるマルチプロセッサ構成において、各演算処理装置(5)は中央処理装置(1)、バッファメモリ(2)、メモリコントローラ(3)から構成されている。中央処理装置(1)は、データ処理を管理する処理装置である。バッファメモリ(2)は、主記憶装置(4)の写しであるキャッシュメモリ(27)と、キャッシュメモリ(27)に対応するアドレスを保持するタグメモリ(24)と、キャッシュメモリ(27)に目的データが存在するかのチェックを行う比較回路(25)および制御部(22)等により構成され、メモリコントローラ(3)は、論理アドレス(31)から物理アドレス(36)へのアドレス変換を行うアドレス変換部と、主記憶装置(4)へのリクエスト制御を管理するリクエスト生成部(38)およびアドレス生成を行うアドレス生成部(37)より構成される。
【0015】
バッファメモリ(2)において中央処理装置(1)から主記憶リードリクエスト(101)とアドレス(102)を受信すると、バッファメモリ(2)内の制御部(22)とアドレスバッファ(23)にセットし、アドレスバッファ(23)にセットされたアドレス(203)でキャッシュメモリ(27)に目的データ(110)が存在するかチェックを行う。
【0016】
具体的には、アドレスバッファ(23)の下位bit(202)でタグメモリ(24)をサーチし、タグメモリ(24)の該当するデータ(204)とアドレスバッファ(23)の上位bit(203)との比較を比較回路(25)で行い、一致した(HIT)か一致しない(MISS)の情報(205)を制御部(22)へ通知する。一致した(HIT)ら目的データ(110)がキャッシュメモリ(27)に存在するので、制御部(22)の指示(209)によりキャッシュメモリ(27)から読み出す処理を行う。不一致(MISS)なら、目的データ(110)がキャッシュメモリ(27)に存在しないので、制御部(22)の指示によりメモリコントローラ(3)を経由して主記憶装置(4)に対してリクエスト(103)を発行する。
【0017】
一般に、主記憶リードリクエスト(101)は目的データ(110)に隣接したデータが必要になる可能性が高い(局所性原理)。このため、目的データ(110)に隣接データも含むブロックデータを読み出す処理を行い、読み出したブロックデータをキャッシュメモリ(27)に登録する処理を行っている。主記憶装置(4)からのリプライデータ(108)は通常、目的データ(110)を含むブロックデータリプライであり、主記憶装置(4)から複数のリプライデータ(108)がバッファメモリ(2)に送付される。
【0018】
バッファメモリ(2)は、メモリコントローラ(3)から送付されたキャッシュバイパス情報(105)を受信し、キャッシュバイパス情報(105)がオンの場合、主記憶装置(4)からはブロックデータではなく目的データ(108)しかバッファメモリ(2)に戻らないので、目的データリプライタグ(109)の受信により制御部(22)の動作が完了するように動作させる。
【0019】
ページング方式を用いて主記憶装置(4)にアクセスする情報処理装置では、アドレス変換が必要であり本発明ではメモリコントローラ(3)で行う。アドレス変換は、中央処理装置(1)から送付される論理アドレス(31)中のページデータ(上位bit)(302)でメモリコントローラ(3)内アドレス変換バッファ(33)をサーチし、アドレス変換バッファ(33)の該当するページテーブル(33−a)から、主記憶装置(4)にアクセスするページアドレス(304)を読み出し、中央処理装置(1)からの論理アドレス(31)のページ内データ(下位bit)(35)と上記ページデータ(34)を加えて、物理アドレス(36)を生成する。
【0020】
バッファメモリ(2)より送付されたリクエスト(103)は目的データ(110)のみをアクセスするリクエスト(103)であるため、目的データ(110)を含むブロックデータを主記憶装置(4)から読み出すため、主記憶装置(4)をアクセスする個数分の複数アクセスリクエスト(107)をメモリコントローラ(3)内リクエスト生成部(38)で生成し、主記憶装置(4)にリクエスト(107)送付を行っている。
【0021】
同様にアドレス生成部(37)で生成された物理アドレス(36)もアドレス生成部(37)で主記憶アクセス毎に物理アドレス(106)が生成され、リクエスト(107)と対で主記憶装置(4)に送付される。
【0022】
メモリコントローラ(3)ではアドレス変換と同時にページアドレス毎の管理情報もアドレス変換バッファ(33)から読み出され、その中のキャッシュバイパス情報(105)はメモリコントローラ(3)内のリクエスト生成部(38)とバッファメモリ(2)へ送付される。
【0023】
複数のリクエスト(107)を生成するリクエスト生成部(38)には、アドレス変換バッファ(33)内のページテーブル(33−a)にあるキャッシュバイパス情報(105)が報告される。キャッシュバイパス情報(105)がオンである場合、主記憶装置(4)から読み出されたデータ(108)は、キャッシュメモリ(27)には登録しないため、目的データ(110)を含むブロックデータを読み出す処理を行っても、目的データ(110)以外のデータは利用されずに破棄されていた。そこで、リクエスト生成部(38)ではキャッシュバイパス情報(105)がオンである場合、目的データ(110)のみをアクセスするリクエスト(107)に縮退動作させる。
【0024】
次に、本発明の第1の実施の形態の動作について詳細に説明する。
【0025】
図1において、メモリロード命令を処理する場合、中央処理装置(1)は、バッファメモリ(2)に対し、主記憶リードリクエスト(101)とアドレス(102)を発行する。バッファメモリ(2)は、中央処理装置(1)より主記憶リードリクエスト(101)とアドレス(102)をアドレスを制御部(22)とアドレスバッファ(23)に受信する。制御部(22)は、リクエストが主記憶リードリクエストと判断したので、キャッシュメモリ(27)に目的データが格納されているかチェックを行う。具体的には、アドレスバッファ(23)の下位bitで信号線202を介しタグメモリ(24)をサーチし、信号線204を介しタグメモリ(24)の該当データと信号線203を介しアドレスバッファ(23)の上位bitを比較回路(25)で比較し、キャッシュヒットか、キャッシュミスかを区別し、キャッシュミスと判断した場合、制御部(22)よりメモリコントローラ(3)へ信号線103を介し前記リクエストと信号線104を介し前記アドレスを発信する。
【0026】
メモリコントローラ(3)は、バッファメモリ(2)より信号線103を介しリクエスト(30)と信号線104を介し論理アドレス(31)を受信すると、論理アドレス(31)の上位アドレスにより信号線302を介しアドレス変換バッファ(33)の該当するページテーブル(33−a)からデータパス304を介しデータを読み出し、信号線305を介し読み出したデータ(34)に前記論理アドレス(31)の変位(32)と、前記リクエスト(30)とキャッシュバイパス情報(信号線105)をそれぞれ信号線301と信号線105を介して読み出された信号を加えて物理アドレス(36)を生成する。
【0027】
アドレス変換バッファ(33)の該当するデータを信号線304を介して読み出すとの同時に、該当するテーブルにはページ情報も格納されており、キャッシュメモリ(27)にデータを格納しないキャッシュバイパス情報(信号線105)も含まれている。
【0028】
主記憶装置(4)は一度に、決められたデータ巾の処理しか行わないので、リクエスト生成部(38)では、ブロックデータリクエストから、主記憶装置(4)が処理出来るデータ巾に分割した複数のリクエストを生成して、主記憶装置(4)に信号線107を介して発信する。そのため、キャッシュバイパス情報(信号線105)がオンの場合、目的データのみをロードするリクエスト命令の縮退をする回路をメモリコントローラ(3)は有している。複数のリクエスト生成時、リクエスト管理のため、タグ情報生成も同時に行う。
【0029】
目的データを含むリクエストに最若番のタグを付与るるようにタグ生成を行い、主記憶装置(4)に信号線107を介して送付する。
【0030】
主記憶装置(4)は、メモリコントローラ(3)より信号線107を介して受信したリクエストの処理を行い、リクエストがメモリロードの場合、信号線106を介して受信したアドレスで示されるメモリよりデータを読み出してデータパス108を介して返送し、メモリコントローラ(3)からの信号線107を介して受信したタグを付与して信号線109を介してバッファメモリ(2)に返送する。
【0031】
前記リプライタグは、バッファメモリ(2)内の信号線109を介して制御部(22)へ送られ、メモリコントローラ(3)より受信したバイパス情報(信号線105)と合わせて主記憶装置(4)からのリプライデータ制御を行う。
【0032】
バッファメモリ(2)でのタグ管理は、目的データを含むリクエストに最若番のタグを付与したるものとして動作する。主記憶アクセスは通常、目的データを含むブロックデータリプライであり、主記憶装置(4)から複数のリプライデータがデータパス108を介してバッファメモリ(2)に送付される。
【0033】
モリコントローラ(3)から送付されたキャッシュバイパス情報(信号線105)がオンの場合、主記憶装置(4)から目的データしかバッファメモリ(2)にデータパス108を介して戻らないので目的データリプライを受信しただけで、制御部(22)の動作が完了するように動作させる。
【0034】
次に本発明の第2の実施の形態について説明すると、主記憶装置(4)とキャッシュメモリ(27)へのデータ転送巾が、キャッシュメモリ(27)と汎用レジスタ(10)へのデータ転送巾より大きい多数の演算処理装置(5)に主記憶装置(4)が接続されるマルチプロセッサ構成において、各演算処理装置(5)は中央処理装置(1)、バッファメモリ(2)、メモリコントローラ(3)から構成されている。
【0035】
中央処理装置(1)は、データ処理を管理する処理装置、バッファメモリ(2)は、主記憶装置の写しであるキャッシュメモリ(27)と、キャッシュメモリ(27)に対応するアドレスを保持するタグメモリ(24)と、キャッシュメモリ(27)に目的データ(110)が存在するかのチェックを行う比較回路(25)および制御部(22)等により構成され、メモリコントローラ(3)は、論理アドレス(31)から物理アドレス(36)へのアドレス変換を行うアドレス変換部と、主記憶装置へのアクセス制御を管理するリクエスト生成部(38)およびリクエストと対をなすアドレス生成部(37)より構成される。
【0036】
バッファメモリ(2)の構成で、キャッシュメモリ(27)は、レジスタ(26)を挟んで読み出し速度が低速であるが、大容量の情報が格納できる主記憶装置(4)と、レジスタ(28)を挟んで読み出しを高速に処理出来る中央処理装置(1)内の汎用レジスタ(10)に接続されており、情報供給量のネックを解消するために主記憶装置(4)の情報の写しを持つ役割を果たしている。
【0037】
中央処理装置(1)から主記憶リードリクエスト(101)とアドレス(102)を受信すると、第1の実施の形態で示したようにバッファメモリ(2)内のアドレスバッファ(23)に格納されたアドレス(203)に対応すえるデータがキャッシュメモリ(27)に存在するかチェックを行い、存在していなければ制御部(22)の指示によりメモリコントローラ(3)を経由して主記憶装置(4)に対してデータ読み出しリクエスト(103)を行う。
【0038】
主記憶装置(4)から複数個のデータ(108)を読み出して汎用レジスタ(10)に格納する命令の場合も、複数読み出しリクエスト(103)として、メモリコントローラ(3)に発行される。
【0039】
メモリコントローラ(3)の構成で、メモリコントローラ(3)では、実施例1と同様に、アドレス変換と同時にページアドレス毎の管理情報もアドレス変換バッファ(33)から読み出され、その中のキャッシュバイパス情報(105)は メモリコントローラ(3)内のリクエスト生成部(38)とバッファメモリ(2)へ送付される。主記憶装置(4)に対してデータ読み出しリクエスト(103)を受信したメモリコントローラ(3)は、第1の実施の形態で示したように、バッファメモリ(2)から受信した目的データ(110)のみを読み出すリクエストをブロックデータ読み出しリクエストとして扱い、主記憶装置(4)が処理出来るデータ巾に分割した複数のリクエスト(107)を生成して、主記憶装置(4)に発行する。
【0040】
主記憶装置(4)からバッファメモリ(2)へのリプライデータ処理は、データ転送巾の広いデータパス108を使用して転送するので、ブロックデータリプライの複数データ(108)が同時に転送される。主記憶装置(4)からバッファメモリ(2)内のキャッシュメモリ(27)間のデータ転送巾は、キャッシュメモリ(27)から中央処理装置(1)内の汎用レジスタ(10)間のデータ転送巾より大きいため、汎用レジスタ(10)へ複数のデータ(108)を書き込む動作の場合、データ転送巾の小さいキャッシュメモリ(27)汎用レジスタ(10)間で書き込み輻輳が発生する。
【0041】
従来技術では、書き込み輻輳を解消するため、キャッシュメモリ(27)近傍のレジスタに一時的にデータを格納していたが、この方法ではハードウェア量が増大するという問題を抱えていた。そこで、複数のリクエスト(107)を生成するリクエスト生成部(38)において、複数読み出しリクエスト(107)で、リクエスト(107)に対応するキャッシュバイパス情報(105)がオンである場合、汎用レジスタ(10)への書き込み輻輳が発生する可能性があるため、書き込み輻輳の発生しない間隔でリクエスト(107)発行を行う回路を設けることで、書き込み輻輳の発生を押さえる。
【0042】
次に、本発明の第2の実施の形態の動作について詳細に説明する。
【0043】
図1において、メモリロード命令の場合、中央処理装置(1)は、バッファメモリ(2)に対し、信号線101を介し主記憶リードリクエストと信号線102を介しアドレスを発行する。バッファメモリ(2)は、中央処理装置(1)より信号線101を介し主記憶リードリクエストと信号線102を介しアドレスを制御部(22)とアドレスバッファ(23)に受信する。制御部(22)は、リクエストが主記憶リードリクエストと判断したので、信号線209を介しキャッシュメモリ(27)に目的データが格納されているかチェックを行う。
【0044】
第1の実施の形態の動作説明のようにしてキャッシュヒットか、キャッシュミスかを区別し、キャッシュミスと判断した場合、制御部(22)よりメモリコントローラ(3)へ信号線103を介し前記リクエストと信号線104を介し前記アドレスを発信する。
【0045】
メモリコントローラ(3)は、バッファメモリ(2)より信号線103を介しリクエストと信号線104を介しアドレスを受信すると、第1の実施の形態の動作説明のようにして物理アドレス(36)を生成する。主記憶装置(4)は一度に決められたデータ巾の処理しか行えないので、リクエスト生成部(38)では、信号線301を介して受信されるブロックデータリクエストから、主記憶装置(4)が処理出来るデータ巾に分割した複数のリクエストを生成して、信号線104を介し主記憶装置(4)に発信する。
【0046】
データパス108を介して送信される主記憶装置(4)からレジスタ(26)を通してデータパス206を介しバッファメモリ(2)内のキャッシュメモリ(27)間のデータ転送巾に比べ、データパス110を介して送信されるバッファメモリ(2)内キャッシュメモリ(27)と汎用レジスタ(10)へデータを転送するレジスタ(28)と中央処理装置(1)内の汎用レジスタ(10)間のデータ転送能力が小さいために、書き込み輻輳が発生するので、複数読み出しリクエストで、リクエストに対応するキャッシュバイパス情報(信号線105)がオンである場合、書き込み輻輳の発生しない間隔でリクエスト発行を行うように動作させ、書き込み輻輳の発生を押さえる。書き込み輻輳の発生しない間隔でのリクエスト発行を行うように動作させる一つの方法としてはタイマーによる予じめ決められた間隔でのリクエスト発行が実現できる。
【0047】
以上はに図1に示すような複数の演算処理装置で主記憶装置を共有するキャッシュバイパス時のデータ転送装置と方法で説明したが、演算処理装置と主記憶装置が一対一で接続されているキャッシュバイパス時のデータ転送装置と方法においても同様に適応することができる。
【0048】
尚以上のような処理プログラムを記録した記録媒体(6)を有しコンピュータに実行させることもできる。
【0049】
【発明の効果】
以上説明したように、本発明のキャッシュバイパス時のデータ転送装置と方法は、
第1の効果は、目的のデータのみをアクセスするリクエストにすることにより目的のデータのみを汎用レジスタにリードし、中央処理装置にロードすることで、後続命令を早く行えるようにし性能向上をはかると共に、メモリの負荷を少なくすることが出来る。
【0050】
その理由は、キャッシュバイパス情報がオンである場合のメモリロード命令について、ブロックデータを読み出す処理を行うのではなく、メモリコントローラ内のリクエスト生成部にてメモリアクセス命令を縮退させ、目的のデータのみをアクセスするリクエストにすることにより目的のデータのみを汎用レジスタにリードし、中央処理装置にロードしているからである。
【0051】
第2の効果は、キャッシュバイパス情報がオンである場合のメモリロード命令について、主記憶装置からバッファメモリ間のデータ転送巾に比べ、バッファメモリと中央処理装置間のデータ転送能力が小さいため発生する中央処理装置内汎用レジスタへのデータ書き込み輻輳を吸収するために、一時的にデータを格納するキャッシュメモリ近傍のレジスタを設ける必要がなくなりハードウェア量の増大を防ぐことが出来る。
【0052】
その理由は、汎用レジスタで書き込み輻輳が発生しないように、メモリコントローラ内にあるリクエスト生成部で主記憶装置へのリクエスト発行間隔を制御するリクエスト制御回路を設けることで、書き込み輻輳の発生を押さえるからである。
【図面の簡単な説明】
【図1】本発明のキャッシュバイパス時のデータ転送装置と方法の一実施の形態を示すブロック図である。
【図2】本発明のキャッシュバイパス時のデータ転送装置と方法のバッファメモリを示す構成図である。
【図3】本発明のキャッシュバイパス時のデータ転送装置と方法のメモリコントローラを示す構成図である。
【符号の説明】
1 中央処理装置
2 バッファメモリ
3 メモリコントローラ
4 主記憶装置
5 演算処理装置
6 記録媒体
10 汎用レジスタ
22 制御部
23 アドレスバッファ
24 タグメモリ
25 比較回路
26,28 レジスタ
27 キャッシュメモリ
30 リクエスト
31 論理アドレス
32 変位
33 アドレス変換バッファ
33−a ページテーブル
34 ページデータ
35 ページ内データ
36 物理アドレス
37 アドレス生成部
38 リクエスト生成部
【発明の属する技術分野】
本発明はキャッシュバイパス時のデータ転送装置と方法に関し、特にキャッシュバイパス情報がオンのデータを主記憶装置に参照しに行く際、ブロックリードから目的のデータのみのリードにすることと、書き込み輻輳が発生しないように、リクエストの発行を制御するキャッシュバイパス時のデータ転送装置と方法に関する。
【0002】
【従来の技術】
従来のキャッシュバイパス時のデータ転送方式は、本発明の実施の形態の図面を参照して説明する。
【0003】
図1は本発明のキャッシュバイパス時のデータ転送装置と方法の一実施の形態を示すブロック図であり、図2はキャッシュバイパス時のデータ転送装置と方法のバッファメモリを示す構成図で、また図3はキャッシュバイパス時のデータ転送装置と方法のメモリコントローラを示す構成図である。
【0004】
中央処理装置(1)より発行されたメモリアクセス命令に対応するデータがバッファメモリ(2)内のキャッシュメモリ(27)に格納されていないキャッシュミスの場合、主記憶装置(4)からデータを読み出す処理として、論理アドレス(31)から物理アドレス(36)にアドレス変換し、同時に物理アドレス(36)の管理サイズ毎に付随するページ属性をチェックした後、主記憶装置(4)からデータ供給を受けるデータ転送方式を持つ処理装置において、前記中央処理装置(1)からのメモリアクセス命令に対するデータが前記バッファメモリ(2)上のキャッシュメモリ(27)に存在しない場合、メモリコントローラ(3)を介して(データ局所性原理により)目的データを含むブロックデータを主記憶装置(4)からロードする処理を行っているが、メモリコントローラ(3)でのページ属性のバイパスbitがオンの場合、目的データを含むブロックデータをロードするが、主記憶装置(4)から読み出されたデータをキャッシュメモリ(27)に保持しないので、目的データを含むブロックデータを主記憶装置(4)から読み出しても、目的データ以外使用されずにデータ破棄していた。主記憶装置(4)の読み出しサイクルは、一般にマシンサイクルより中央処理装置の動作が遅いので殆ど使用されないブロックデータのロード処理に主記憶装置(4)が占有され、主記憶装置(4)の処理速度低下を招いていた。
【0005】
中央処理装置(1)より発行されたメモリアクセス命令に対応するデータがバッファメモリ(2)内のキャッシュメモリ(27)に格納されていないキャッシュミスの場合、主記憶装置(4)からデータを読み出す処理として、論理アドレス(31)から物理アドレス(36)にアドレス変換し、同時に物理アドレス(36)の管理サイズ毎に付随するページ属性をチェックした後、主記憶装置(4)からデータ供給を受けるデータ転送方式を持つ処理装置で、かつ、主記憶装置(4)とキャッシュメモリ(27)へのデータ転送巾が、キャッシュメモリ(27)と汎用レジスタへのデータ巾より大きい処理装置において、主記憶装置(4)から複数個のデータを読み出して汎用レジスタ(10)に格納する命令が中央処理装置(1)で実行され、命令に対するデータが前記バッファメモリ(2)上のキャッシュメモリ(27)に存在せず、前記命令により主記憶装置(4)をアクセスするアドレスに対応するメモリコントローラ(3)のページ属性のバイパスbitがオンの場合、主記憶装置(4)からキャッシュメモリ(27)へのデータ転送巾に較べて、キャッシュメモリ(27)から汎用レジスタ(10)のデータ転送巾の能力が小さいので、主記憶装置(4)から読み出された複数のデータがバッファメモリ(2)から汎用レジスタ(10)への書き込みパスで書き込み輻輳が発生するため、複数データを主記憶装置(4)から読み出す場合、バッファメモリ(2)内のキャッシュメモリ(27)もしくはキャッシュメモリ近傍のバッファにデータを保持して、バッファメモリ(2)から汎用レジスタ(10)への書き込みで発生する書き込み輻輳を吸収しているためハードウェア量が増加する問題があった。
【0006】
【発明が解決しようとする課題】
上述した従来のキャッシュバイパス時のデータ転送方式は、
第1の問題点は、目的データと使用されずにデータ破棄される目的データ以外の全てのデータを含むブロックデータを主記憶装置から読み出ため殆ど使用されないブロックデータのロード処理に主記憶装置が占有され、主記憶装置の処理速度低下を招いていた。
【0007】
その理由は、主記憶装置の読み出しサイクルは、一般にマシンサイクルより中央処理装置の動作が遅いので殆ど使用されないブロックデータのロード処理に主記憶装置が占有されるためである。
【0008】
第2の問題点は、複数データを主記憶装置から読み出す場合、メモリのハードウェア量が増加していた。
【0009】
その理由は、複数データを主記憶装置から読み出す場合、主記憶装置からキャッシュメモリへのデータ転送巾に較べて、キャッシュメモリから汎用レジスタのデータ転送巾の能力が小さいので、バッファメモリ内のキャッシュメモリもしくはキャッシュメモリ近傍のバッファにデータを保持して、バッファメモリから汎用レジスタへの書き込みで発生する書き込み輻輳を吸収しているためである。
【0010】
本発明の目的は、キャッシュバイパス情報がオンのデータを主記憶装置に参照しに行く際、ブロックリードから目的のデータのみのリードにすることにより、後続命令を早く行えるようにし、性能向上をはかると共に、メモリの負荷を少なくすることができるデータ転送方式と、汎用レジスタで書き込み輻輳が発生しないように、リクエストの発行を制御するリクエスト制御回路を設けることにより、汎用レジスタで書き込み輻輳の発生を防ぎ、従来書き込み輻輳が発生した際、キャッシュメモリ近傍のバッファに一時的に保存していたハードウェア量の削減ができるキャッシュバイパス時のデータ転送装置と方法を提供することにある。
【0011】
【課題を解決するための手段】
本発明のキャッシュバイパス時のデータ転送装置と方法は、主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させる手段を備え、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行するリクエスト制御回路を備え、汎用レジスタに目的データを格納させる。
【0012】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0013】
図1は本発明のキャッシュバイパス時のデータ転送装置と方法の一実施の形態を示すブロック図であり、図2はキャッシュバイパス時のデータ転送装置と方法のバッファメモリを示す構成図で、また図3はキャッシュバイパス時のデータ転送装置と方法のメモリコントローラを示す構成図である。
【0014】
図1、図2、および図3を参照すると、本発明の第1の実施の形態は、複数の演算処理装置(5)が主記憶装置(4)に接続されるマルチプロセッサ構成において、各演算処理装置(5)は中央処理装置(1)、バッファメモリ(2)、メモリコントローラ(3)から構成されている。中央処理装置(1)は、データ処理を管理する処理装置である。バッファメモリ(2)は、主記憶装置(4)の写しであるキャッシュメモリ(27)と、キャッシュメモリ(27)に対応するアドレスを保持するタグメモリ(24)と、キャッシュメモリ(27)に目的データが存在するかのチェックを行う比較回路(25)および制御部(22)等により構成され、メモリコントローラ(3)は、論理アドレス(31)から物理アドレス(36)へのアドレス変換を行うアドレス変換部と、主記憶装置(4)へのリクエスト制御を管理するリクエスト生成部(38)およびアドレス生成を行うアドレス生成部(37)より構成される。
【0015】
バッファメモリ(2)において中央処理装置(1)から主記憶リードリクエスト(101)とアドレス(102)を受信すると、バッファメモリ(2)内の制御部(22)とアドレスバッファ(23)にセットし、アドレスバッファ(23)にセットされたアドレス(203)でキャッシュメモリ(27)に目的データ(110)が存在するかチェックを行う。
【0016】
具体的には、アドレスバッファ(23)の下位bit(202)でタグメモリ(24)をサーチし、タグメモリ(24)の該当するデータ(204)とアドレスバッファ(23)の上位bit(203)との比較を比較回路(25)で行い、一致した(HIT)か一致しない(MISS)の情報(205)を制御部(22)へ通知する。一致した(HIT)ら目的データ(110)がキャッシュメモリ(27)に存在するので、制御部(22)の指示(209)によりキャッシュメモリ(27)から読み出す処理を行う。不一致(MISS)なら、目的データ(110)がキャッシュメモリ(27)に存在しないので、制御部(22)の指示によりメモリコントローラ(3)を経由して主記憶装置(4)に対してリクエスト(103)を発行する。
【0017】
一般に、主記憶リードリクエスト(101)は目的データ(110)に隣接したデータが必要になる可能性が高い(局所性原理)。このため、目的データ(110)に隣接データも含むブロックデータを読み出す処理を行い、読み出したブロックデータをキャッシュメモリ(27)に登録する処理を行っている。主記憶装置(4)からのリプライデータ(108)は通常、目的データ(110)を含むブロックデータリプライであり、主記憶装置(4)から複数のリプライデータ(108)がバッファメモリ(2)に送付される。
【0018】
バッファメモリ(2)は、メモリコントローラ(3)から送付されたキャッシュバイパス情報(105)を受信し、キャッシュバイパス情報(105)がオンの場合、主記憶装置(4)からはブロックデータではなく目的データ(108)しかバッファメモリ(2)に戻らないので、目的データリプライタグ(109)の受信により制御部(22)の動作が完了するように動作させる。
【0019】
ページング方式を用いて主記憶装置(4)にアクセスする情報処理装置では、アドレス変換が必要であり本発明ではメモリコントローラ(3)で行う。アドレス変換は、中央処理装置(1)から送付される論理アドレス(31)中のページデータ(上位bit)(302)でメモリコントローラ(3)内アドレス変換バッファ(33)をサーチし、アドレス変換バッファ(33)の該当するページテーブル(33−a)から、主記憶装置(4)にアクセスするページアドレス(304)を読み出し、中央処理装置(1)からの論理アドレス(31)のページ内データ(下位bit)(35)と上記ページデータ(34)を加えて、物理アドレス(36)を生成する。
【0020】
バッファメモリ(2)より送付されたリクエスト(103)は目的データ(110)のみをアクセスするリクエスト(103)であるため、目的データ(110)を含むブロックデータを主記憶装置(4)から読み出すため、主記憶装置(4)をアクセスする個数分の複数アクセスリクエスト(107)をメモリコントローラ(3)内リクエスト生成部(38)で生成し、主記憶装置(4)にリクエスト(107)送付を行っている。
【0021】
同様にアドレス生成部(37)で生成された物理アドレス(36)もアドレス生成部(37)で主記憶アクセス毎に物理アドレス(106)が生成され、リクエスト(107)と対で主記憶装置(4)に送付される。
【0022】
メモリコントローラ(3)ではアドレス変換と同時にページアドレス毎の管理情報もアドレス変換バッファ(33)から読み出され、その中のキャッシュバイパス情報(105)はメモリコントローラ(3)内のリクエスト生成部(38)とバッファメモリ(2)へ送付される。
【0023】
複数のリクエスト(107)を生成するリクエスト生成部(38)には、アドレス変換バッファ(33)内のページテーブル(33−a)にあるキャッシュバイパス情報(105)が報告される。キャッシュバイパス情報(105)がオンである場合、主記憶装置(4)から読み出されたデータ(108)は、キャッシュメモリ(27)には登録しないため、目的データ(110)を含むブロックデータを読み出す処理を行っても、目的データ(110)以外のデータは利用されずに破棄されていた。そこで、リクエスト生成部(38)ではキャッシュバイパス情報(105)がオンである場合、目的データ(110)のみをアクセスするリクエスト(107)に縮退動作させる。
【0024】
次に、本発明の第1の実施の形態の動作について詳細に説明する。
【0025】
図1において、メモリロード命令を処理する場合、中央処理装置(1)は、バッファメモリ(2)に対し、主記憶リードリクエスト(101)とアドレス(102)を発行する。バッファメモリ(2)は、中央処理装置(1)より主記憶リードリクエスト(101)とアドレス(102)をアドレスを制御部(22)とアドレスバッファ(23)に受信する。制御部(22)は、リクエストが主記憶リードリクエストと判断したので、キャッシュメモリ(27)に目的データが格納されているかチェックを行う。具体的には、アドレスバッファ(23)の下位bitで信号線202を介しタグメモリ(24)をサーチし、信号線204を介しタグメモリ(24)の該当データと信号線203を介しアドレスバッファ(23)の上位bitを比較回路(25)で比較し、キャッシュヒットか、キャッシュミスかを区別し、キャッシュミスと判断した場合、制御部(22)よりメモリコントローラ(3)へ信号線103を介し前記リクエストと信号線104を介し前記アドレスを発信する。
【0026】
メモリコントローラ(3)は、バッファメモリ(2)より信号線103を介しリクエスト(30)と信号線104を介し論理アドレス(31)を受信すると、論理アドレス(31)の上位アドレスにより信号線302を介しアドレス変換バッファ(33)の該当するページテーブル(33−a)からデータパス304を介しデータを読み出し、信号線305を介し読み出したデータ(34)に前記論理アドレス(31)の変位(32)と、前記リクエスト(30)とキャッシュバイパス情報(信号線105)をそれぞれ信号線301と信号線105を介して読み出された信号を加えて物理アドレス(36)を生成する。
【0027】
アドレス変換バッファ(33)の該当するデータを信号線304を介して読み出すとの同時に、該当するテーブルにはページ情報も格納されており、キャッシュメモリ(27)にデータを格納しないキャッシュバイパス情報(信号線105)も含まれている。
【0028】
主記憶装置(4)は一度に、決められたデータ巾の処理しか行わないので、リクエスト生成部(38)では、ブロックデータリクエストから、主記憶装置(4)が処理出来るデータ巾に分割した複数のリクエストを生成して、主記憶装置(4)に信号線107を介して発信する。そのため、キャッシュバイパス情報(信号線105)がオンの場合、目的データのみをロードするリクエスト命令の縮退をする回路をメモリコントローラ(3)は有している。複数のリクエスト生成時、リクエスト管理のため、タグ情報生成も同時に行う。
【0029】
目的データを含むリクエストに最若番のタグを付与るるようにタグ生成を行い、主記憶装置(4)に信号線107を介して送付する。
【0030】
主記憶装置(4)は、メモリコントローラ(3)より信号線107を介して受信したリクエストの処理を行い、リクエストがメモリロードの場合、信号線106を介して受信したアドレスで示されるメモリよりデータを読み出してデータパス108を介して返送し、メモリコントローラ(3)からの信号線107を介して受信したタグを付与して信号線109を介してバッファメモリ(2)に返送する。
【0031】
前記リプライタグは、バッファメモリ(2)内の信号線109を介して制御部(22)へ送られ、メモリコントローラ(3)より受信したバイパス情報(信号線105)と合わせて主記憶装置(4)からのリプライデータ制御を行う。
【0032】
バッファメモリ(2)でのタグ管理は、目的データを含むリクエストに最若番のタグを付与したるものとして動作する。主記憶アクセスは通常、目的データを含むブロックデータリプライであり、主記憶装置(4)から複数のリプライデータがデータパス108を介してバッファメモリ(2)に送付される。
【0033】
モリコントローラ(3)から送付されたキャッシュバイパス情報(信号線105)がオンの場合、主記憶装置(4)から目的データしかバッファメモリ(2)にデータパス108を介して戻らないので目的データリプライを受信しただけで、制御部(22)の動作が完了するように動作させる。
【0034】
次に本発明の第2の実施の形態について説明すると、主記憶装置(4)とキャッシュメモリ(27)へのデータ転送巾が、キャッシュメモリ(27)と汎用レジスタ(10)へのデータ転送巾より大きい多数の演算処理装置(5)に主記憶装置(4)が接続されるマルチプロセッサ構成において、各演算処理装置(5)は中央処理装置(1)、バッファメモリ(2)、メモリコントローラ(3)から構成されている。
【0035】
中央処理装置(1)は、データ処理を管理する処理装置、バッファメモリ(2)は、主記憶装置の写しであるキャッシュメモリ(27)と、キャッシュメモリ(27)に対応するアドレスを保持するタグメモリ(24)と、キャッシュメモリ(27)に目的データ(110)が存在するかのチェックを行う比較回路(25)および制御部(22)等により構成され、メモリコントローラ(3)は、論理アドレス(31)から物理アドレス(36)へのアドレス変換を行うアドレス変換部と、主記憶装置へのアクセス制御を管理するリクエスト生成部(38)およびリクエストと対をなすアドレス生成部(37)より構成される。
【0036】
バッファメモリ(2)の構成で、キャッシュメモリ(27)は、レジスタ(26)を挟んで読み出し速度が低速であるが、大容量の情報が格納できる主記憶装置(4)と、レジスタ(28)を挟んで読み出しを高速に処理出来る中央処理装置(1)内の汎用レジスタ(10)に接続されており、情報供給量のネックを解消するために主記憶装置(4)の情報の写しを持つ役割を果たしている。
【0037】
中央処理装置(1)から主記憶リードリクエスト(101)とアドレス(102)を受信すると、第1の実施の形態で示したようにバッファメモリ(2)内のアドレスバッファ(23)に格納されたアドレス(203)に対応すえるデータがキャッシュメモリ(27)に存在するかチェックを行い、存在していなければ制御部(22)の指示によりメモリコントローラ(3)を経由して主記憶装置(4)に対してデータ読み出しリクエスト(103)を行う。
【0038】
主記憶装置(4)から複数個のデータ(108)を読み出して汎用レジスタ(10)に格納する命令の場合も、複数読み出しリクエスト(103)として、メモリコントローラ(3)に発行される。
【0039】
メモリコントローラ(3)の構成で、メモリコントローラ(3)では、実施例1と同様に、アドレス変換と同時にページアドレス毎の管理情報もアドレス変換バッファ(33)から読み出され、その中のキャッシュバイパス情報(105)は メモリコントローラ(3)内のリクエスト生成部(38)とバッファメモリ(2)へ送付される。主記憶装置(4)に対してデータ読み出しリクエスト(103)を受信したメモリコントローラ(3)は、第1の実施の形態で示したように、バッファメモリ(2)から受信した目的データ(110)のみを読み出すリクエストをブロックデータ読み出しリクエストとして扱い、主記憶装置(4)が処理出来るデータ巾に分割した複数のリクエスト(107)を生成して、主記憶装置(4)に発行する。
【0040】
主記憶装置(4)からバッファメモリ(2)へのリプライデータ処理は、データ転送巾の広いデータパス108を使用して転送するので、ブロックデータリプライの複数データ(108)が同時に転送される。主記憶装置(4)からバッファメモリ(2)内のキャッシュメモリ(27)間のデータ転送巾は、キャッシュメモリ(27)から中央処理装置(1)内の汎用レジスタ(10)間のデータ転送巾より大きいため、汎用レジスタ(10)へ複数のデータ(108)を書き込む動作の場合、データ転送巾の小さいキャッシュメモリ(27)汎用レジスタ(10)間で書き込み輻輳が発生する。
【0041】
従来技術では、書き込み輻輳を解消するため、キャッシュメモリ(27)近傍のレジスタに一時的にデータを格納していたが、この方法ではハードウェア量が増大するという問題を抱えていた。そこで、複数のリクエスト(107)を生成するリクエスト生成部(38)において、複数読み出しリクエスト(107)で、リクエスト(107)に対応するキャッシュバイパス情報(105)がオンである場合、汎用レジスタ(10)への書き込み輻輳が発生する可能性があるため、書き込み輻輳の発生しない間隔でリクエスト(107)発行を行う回路を設けることで、書き込み輻輳の発生を押さえる。
【0042】
次に、本発明の第2の実施の形態の動作について詳細に説明する。
【0043】
図1において、メモリロード命令の場合、中央処理装置(1)は、バッファメモリ(2)に対し、信号線101を介し主記憶リードリクエストと信号線102を介しアドレスを発行する。バッファメモリ(2)は、中央処理装置(1)より信号線101を介し主記憶リードリクエストと信号線102を介しアドレスを制御部(22)とアドレスバッファ(23)に受信する。制御部(22)は、リクエストが主記憶リードリクエストと判断したので、信号線209を介しキャッシュメモリ(27)に目的データが格納されているかチェックを行う。
【0044】
第1の実施の形態の動作説明のようにしてキャッシュヒットか、キャッシュミスかを区別し、キャッシュミスと判断した場合、制御部(22)よりメモリコントローラ(3)へ信号線103を介し前記リクエストと信号線104を介し前記アドレスを発信する。
【0045】
メモリコントローラ(3)は、バッファメモリ(2)より信号線103を介しリクエストと信号線104を介しアドレスを受信すると、第1の実施の形態の動作説明のようにして物理アドレス(36)を生成する。主記憶装置(4)は一度に決められたデータ巾の処理しか行えないので、リクエスト生成部(38)では、信号線301を介して受信されるブロックデータリクエストから、主記憶装置(4)が処理出来るデータ巾に分割した複数のリクエストを生成して、信号線104を介し主記憶装置(4)に発信する。
【0046】
データパス108を介して送信される主記憶装置(4)からレジスタ(26)を通してデータパス206を介しバッファメモリ(2)内のキャッシュメモリ(27)間のデータ転送巾に比べ、データパス110を介して送信されるバッファメモリ(2)内キャッシュメモリ(27)と汎用レジスタ(10)へデータを転送するレジスタ(28)と中央処理装置(1)内の汎用レジスタ(10)間のデータ転送能力が小さいために、書き込み輻輳が発生するので、複数読み出しリクエストで、リクエストに対応するキャッシュバイパス情報(信号線105)がオンである場合、書き込み輻輳の発生しない間隔でリクエスト発行を行うように動作させ、書き込み輻輳の発生を押さえる。書き込み輻輳の発生しない間隔でのリクエスト発行を行うように動作させる一つの方法としてはタイマーによる予じめ決められた間隔でのリクエスト発行が実現できる。
【0047】
以上はに図1に示すような複数の演算処理装置で主記憶装置を共有するキャッシュバイパス時のデータ転送装置と方法で説明したが、演算処理装置と主記憶装置が一対一で接続されているキャッシュバイパス時のデータ転送装置と方法においても同様に適応することができる。
【0048】
尚以上のような処理プログラムを記録した記録媒体(6)を有しコンピュータに実行させることもできる。
【0049】
【発明の効果】
以上説明したように、本発明のキャッシュバイパス時のデータ転送装置と方法は、
第1の効果は、目的のデータのみをアクセスするリクエストにすることにより目的のデータのみを汎用レジスタにリードし、中央処理装置にロードすることで、後続命令を早く行えるようにし性能向上をはかると共に、メモリの負荷を少なくすることが出来る。
【0050】
その理由は、キャッシュバイパス情報がオンである場合のメモリロード命令について、ブロックデータを読み出す処理を行うのではなく、メモリコントローラ内のリクエスト生成部にてメモリアクセス命令を縮退させ、目的のデータのみをアクセスするリクエストにすることにより目的のデータのみを汎用レジスタにリードし、中央処理装置にロードしているからである。
【0051】
第2の効果は、キャッシュバイパス情報がオンである場合のメモリロード命令について、主記憶装置からバッファメモリ間のデータ転送巾に比べ、バッファメモリと中央処理装置間のデータ転送能力が小さいため発生する中央処理装置内汎用レジスタへのデータ書き込み輻輳を吸収するために、一時的にデータを格納するキャッシュメモリ近傍のレジスタを設ける必要がなくなりハードウェア量の増大を防ぐことが出来る。
【0052】
その理由は、汎用レジスタで書き込み輻輳が発生しないように、メモリコントローラ内にあるリクエスト生成部で主記憶装置へのリクエスト発行間隔を制御するリクエスト制御回路を設けることで、書き込み輻輳の発生を押さえるからである。
【図面の簡単な説明】
【図1】本発明のキャッシュバイパス時のデータ転送装置と方法の一実施の形態を示すブロック図である。
【図2】本発明のキャッシュバイパス時のデータ転送装置と方法のバッファメモリを示す構成図である。
【図3】本発明のキャッシュバイパス時のデータ転送装置と方法のメモリコントローラを示す構成図である。
【符号の説明】
1 中央処理装置
2 バッファメモリ
3 メモリコントローラ
4 主記憶装置
5 演算処理装置
6 記録媒体
10 汎用レジスタ
22 制御部
23 アドレスバッファ
24 タグメモリ
25 比較回路
26,28 レジスタ
27 キャッシュメモリ
30 リクエスト
31 論理アドレス
32 変位
33 アドレス変換バッファ
33−a ページテーブル
34 ページデータ
35 ページ内データ
36 物理アドレス
37 アドレス生成部
38 リクエスト生成部
Claims (3)
- 主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させる手段を備え、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行するリクエスト制御回路を備え、汎用レジスタに目的データを格納させることを特徴とするキャッシュバイパス時のデータ転送装置。
- 主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させ、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行し、汎用レジスタに目的データを格納させることを特徴とするキャッシュバイパス時のデータ転送方法。
- 主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させ、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行し、汎用レジスタに目的データを格納させる処理をコンピュータに実行させるためのプログラムを記録したことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33402999A JP3564343B2 (ja) | 1999-11-25 | 1999-11-25 | キャッシュバイパス時のデータ転送装置と方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33402999A JP3564343B2 (ja) | 1999-11-25 | 1999-11-25 | キャッシュバイパス時のデータ転送装置と方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001154914A JP2001154914A (ja) | 2001-06-08 |
JP3564343B2 true JP3564343B2 (ja) | 2004-09-08 |
Family
ID=18272716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33402999A Expired - Fee Related JP3564343B2 (ja) | 1999-11-25 | 1999-11-25 | キャッシュバイパス時のデータ転送装置と方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3564343B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627009B2 (en) * | 2008-09-16 | 2014-01-07 | Mosaid Technologies Incorporated | Cache filtering method and apparatus |
JP6127907B2 (ja) * | 2012-11-12 | 2017-05-17 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
-
1999
- 1999-11-25 JP JP33402999A patent/JP3564343B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001154914A (ja) | 2001-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
US6339813B1 (en) | Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory | |
US6651115B2 (en) | DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces | |
US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
JP3259969B2 (ja) | キャッシュメモリ制御装置 | |
US5155824A (en) | System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address | |
JP4119380B2 (ja) | マルチプロセッサシステム | |
US6915396B2 (en) | Fast priority determination circuit with rotating priority | |
JPH0345407B2 (ja) | ||
JPH04233641A (ja) | データプレフェッチの方法およびその装置 | |
JPH04233050A (ja) | キャッシュメモリ交換プロトコル | |
US6240489B1 (en) | Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system | |
US5420994A (en) | Method for reading a multiple byte data element in a memory system with at least one cache and a main memory | |
JPH06222993A (ja) | キャッシュメモリシステムおよびそれを実現するための方法 | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
JPH03189845A (ja) | 階層メモリ・システムおよびキヤツシユ・メモリ・サブシステム | |
JP3564343B2 (ja) | キャッシュバイパス時のデータ転送装置と方法 | |
JP2002024085A (ja) | ディスクキャッシュシステム、及びその制御方法 | |
KR100304318B1 (ko) | 프로세서버스에대한캐시조작의요구에기초해서명령을발행하는방법및장치 | |
JP3733604B2 (ja) | キャッシュメモリ | |
JP2000047942A (ja) | キャッシュメモリ制御装置及びその制御方法 | |
US6496904B1 (en) | Method and apparatus for efficient tracking of bus coherency by using a single coherency tag bank | |
JP2005346582A (ja) | システムlsi及び画像処理装置 | |
JP2703255B2 (ja) | キャッシュメモリ書込み装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030819 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |