JP3564343B2 - Data transfer device and method during cache bypass - Google Patents

Data transfer device and method during cache bypass Download PDF

Info

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
Application number
JP33402999A
Other languages
Japanese (ja)
Other versions
JP2001154914A (en
Inventor
大輔 矢崎
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP33402999A priority Critical patent/JP3564343B2/en
Publication of JP2001154914A publication Critical patent/JP2001154914A/en
Application granted granted Critical
Publication of JP3564343B2 publication Critical patent/JP3564343B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 リクエスト生成部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transfer apparatus and method at the time of cache bypass, and in particular, when going to refer to data whose cache bypass information is on to a main storage device, changing from block read to read of only target data and write congestion. The present invention relates to a data transfer apparatus and method for controlling a request issuance so that the request is not generated so as to prevent the occurrence of a request.
[0002]
[Prior art]
A conventional data transfer method at the time of cache bypass will be described with reference to the drawings of the embodiment of the present invention.
[0003]
FIG. 1 is a block diagram showing an embodiment of a data transfer device and method at the time of cache bypass of the present invention. FIG. 2 is a block diagram showing a buffer memory of the data transfer device and method at the time of cache bypass. FIG. 3 is a block diagram showing a memory controller of the data transfer device and method at the time of cache bypass.
[0004]
When data corresponding to the memory access instruction issued by the central processing unit (1) is not stored in the cache memory (27) in the buffer memory (2), the data is read from the main storage device (4). As a process, the address is converted from the logical address (31) to the physical address (36), and at the same time, the accompanying page attribute is checked for each management size of the physical address (36), and then data is supplied from the main storage device (4). In a processing device having a data transfer method, if data for a memory access instruction from the central processing unit (1) does not exist in the cache memory (27) on the buffer memory (2), the data is transferred via a memory controller (3). The block data including the target data is read from the main memory (4) (by the data locality principle). When the bypass bit of the page attribute in the memory controller (3) is ON, the block data including the target data is loaded, but the data read from the main storage device (4) is cached. Since the block data including the target data is not stored in the memory (27), even if the block data including the target data is read from the main storage device (4), the data is discarded without being used except for the target data. In the read cycle of the main storage device (4), the operation of the central processing unit is generally slower than the machine cycle, so the main storage device (4) is occupied by the load processing of the block data which is hardly used, and the processing of the main storage device (4) is performed. The speed was reduced.
[0005]
When data corresponding to the memory access instruction issued by the central processing unit (1) is not stored in the cache memory (27) in the buffer memory (2), the data is read from the main storage device (4). As a process, the address is converted from the logical address (31) to the physical address (36), and at the same time, the accompanying page attribute is checked for each management size of the physical address (36), and then data is supplied from the main storage device (4). In a processing device having a data transfer method, wherein a data transfer width to the main storage device (4) and the cache memory (27) is larger than a data width to the cache memory (27) and the general-purpose register. An instruction for reading a plurality of data from the device (4) and storing the data in the general-purpose register (10) is executed by the central processing unit (1). The data for the instruction is not present in the cache memory (27) on the buffer memory (2), and the page attribute of the memory controller (3) corresponding to the address for accessing the main memory (4) by the instruction is bypassed. When the bit is on, the data transfer width of the general-purpose register (10) from the cache memory (27) is smaller than the data transfer width of the main memory (4) to the cache memory (27). When a plurality of data read from the device (4) is written in the write path from the buffer memory (2) to the general-purpose register (10), congestion occurs. The data is held in the cache memory (27) in the memory (2) or a buffer near the cache memory, and the data is stored in the buffer. Hardware amount because it absorbs a write congestion that occurs in writing to the general-purpose register (10) has a problem of increasing the memory (2).
[0006]
[Problems to be solved by the invention]
The conventional data transfer method at the time of the cache bypass described above is as follows.
The first problem is that the main storage device reads the block data including all data other than the target data which is not used and is discarded without being used from the main storage device. It is occupied, causing a reduction in the processing speed of the main storage device.
[0007]
The reason is that the read cycle of the main storage device is generally slower in operation of the central processing unit than the machine cycle, so that the main storage device is occupied by the load processing of the block data which is hardly used.
[0008]
The second problem is that when reading a plurality of data from the main storage device, the hardware amount of the memory has increased.
[0009]
The reason is that when reading a plurality of data from the main memory, the data transfer width of the general-purpose register from the cache memory is smaller than the data transfer width from the main memory to the cache memory. Alternatively, data is held in a buffer near the cache memory to absorb write congestion that occurs when data is written from the buffer memory to the general-purpose register.
[0010]
An object of the present invention is to improve performance by making it possible to execute subsequent instructions quickly by changing from block read to read of only target data when referring to data whose cache bypass information is on to the main storage device. In addition, a data transfer method that can reduce the load on the memory and a request control circuit that controls the issuance of requests so that write congestion does not occur in general-purpose registers are provided to prevent the occurrence of write congestion in general-purpose registers. Another object of the present invention is to provide a data transfer apparatus and method for cache bypass that can reduce the amount of hardware temporarily stored in a buffer near a cache memory when write congestion occurs in the past.
[0011]
[Means for Solving the Problems]
The data transfer device and method at the time of cache bypass of the present invention,When the data transfer width to the main memory and the cache memory is larger than the data width to the cache memory and the general-purpose register, and the data for the memory access instruction from the central processing unit does not exist in the cache memory on the buffer memory. In the cache control, when the bypass bit of the page attribute indicating that the cache bypass information in the page table corresponding to the read data in the memory controller is not registered is on, a request to the main storage device via the memory controller is made. Means for degenerating the target data so that only the target data is accessed, loading only the target data from the main storage device, storing the target data in the general-purpose register, and avoiding occurrence of reply data congestion from the main storage device by writing the general-purpose register. As main memory To location comprises a request control circuit for issuing a request at predetermined intervals by a timer, and stores the object data in the general purpose register.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
[0013]
FIG. 1 is a block diagram showing an embodiment of a data transfer device and method at the time of cache bypass of the present invention. FIG. 2 is a block diagram showing a buffer memory of the data transfer device and method at the time of cache bypass. FIG. 3 is a block diagram showing a memory controller of the data transfer device and method at the time of cache bypass.
[0014]
Referring to FIG. 1, FIG. 2, and FIG. 3, a first embodiment of the present invention provides a multi-processor configuration in which a plurality of arithmetic processing units (5) are connected to a main storage unit (4). The processing device (5) includes a central processing unit (1), a buffer memory (2), and a memory controller (3). The central processing unit (1) is a processing unit that manages data processing. The buffer memory (2) has a cache memory (27) which is a copy of the main storage device (4), a tag memory (24) for holding an address corresponding to the cache memory (27), and a cache memory (27). The memory controller (3) includes a comparison circuit (25) that checks whether data exists, a control unit (22), and the like. The memory controller (3) performs an address conversion from a logical address (31) to a physical address (36). It comprises a conversion section, a request generation section (38) for managing request control to the main storage device (4), and an address generation section (37) for generating addresses.
[0015]
When the main memory read request (101) and the address (102) are received from the central processing unit (1) in the buffer memory (2), they are set in the control unit (22) and the address buffer (23) in the buffer memory (2). It is checked whether the target data (110) exists in the cache memory (27) at the address (203) set in the address buffer (23).
[0016]
Specifically, the tag memory (24) is searched with the lower bit (202) of the address buffer (23), and the corresponding data (204) of the tag memory (24) and the upper bit (203) of the address buffer (23) are searched. The comparison (25) is performed by the comparison circuit (25), and information (205) of coincidence (HIT) or non-coincidence (MISS) is notified to the control unit (22). Since the matching (HIT) indicates that the target data (110) exists in the cache memory (27), a process of reading from the cache memory (27) is performed according to the instruction (209) of the control unit (22). If the data does not match (MISS), the target data (110) does not exist in the cache memory (27). Therefore, a request is sent to the main storage device (4) via the memory controller (3) according to an instruction from the control unit (22). 103) is issued.
[0017]
Generally, the main memory read request (101) is likely to require data adjacent to the target data (110) (locality principle). Therefore, a process of reading block data including adjacent data in the target data (110) and a process of registering the read block data in the cache memory (27) are performed. The reply data (108) from the main storage (4) is usually a block data reply including the target data (110), and the plurality of reply data (108) from the main storage (4) is stored in the buffer memory (2). Will be sent.
[0018]
The buffer memory (2) receives the cache bypass information (105) sent from the memory controller (3), and when the cache bypass information (105) is turned on, the buffer memory (2) receives not the block data but the target data from the main storage device (4). Since only the data (108) returns to the buffer memory (2), the operation of the control unit (22) is completed by receiving the target data reply tag (109).
[0019]
In an information processing apparatus that accesses the main storage device (4) by using the paging method, address conversion is necessary, and in the present invention, the address conversion is performed by the memory controller (3). The address translation is performed by searching the address translation buffer (33) in the memory controller (3) with the page data (upper bit) (302) in the logical address (31) sent from the central processing unit (1), The page address (304) for accessing the main storage device (4) is read from the corresponding page table (33-a) of (33), and the in-page data (31) of the logical address (31) from the central processing unit (1) is read. A physical address (36) is generated by adding the lower bits (35) and the page data (34).
[0020]
Since the request (103) sent from the buffer memory (2) is a request (103) for accessing only the target data (110), the block data including the target data (110) is read from the main storage device (4). The request generation unit (38) in the memory controller (3) generates a plurality of access requests (107) for the number of accesses to the main storage (4), and sends the requests (107) to the main storage (4). ing.
[0021]
Similarly, for the physical address (36) generated by the address generating unit (37), the physical address (106) is generated for each main memory access by the address generating unit (37), and the physical address (106) is paired with the request (107). It is sent to 4).
[0022]
In the memory controller (3), the management information for each page address is read from the address conversion buffer (33) simultaneously with the address conversion, and the cache bypass information (105) in the management information is read from the request generation unit (38) in the memory controller (3). ) And sent to the buffer memory (2).
[0023]
The cache bypass information (105) in the page table (33-a) in the address translation buffer (33) is reported to the request generation unit (38) that generates a plurality of requests (107). When the cache bypass information (105) is on, the data (108) read from the main storage device (4) is not registered in the cache memory (27), so that the block data including the target data (110) is not stored. Even if the reading process is performed, data other than the target data (110) is discarded without being used. Therefore, when the cache bypass information (105) is on, the request generation unit (38) performs a degenerate operation to the request (107) for accessing only the target data (110).
[0024]
Next, the operation of the first exemplary embodiment of the present invention will be described in detail.
[0025]
In FIG. 1, when processing a memory load instruction, the central processing unit (1) issues a main memory read request (101) and an address (102) to the buffer memory (2). The buffer memory (2) receives the main memory read request (101) and the address (102) from the central processing unit (1) to the control unit (22) and the address buffer (23). Since the control unit (22) has determined that the request is a main memory read request, it checks whether the target data is stored in the cache memory (27). Specifically, the lower order bit of the address buffer (23) searches the tag memory (24) via the signal line 202, and the corresponding data of the tag memory (24) via the signal line 204 and the address buffer (24) via the signal line 203. The higher-order bits of 23) are compared by a comparison circuit (25) to discriminate between a cache hit and a cache miss. If a cache miss is determined, the control unit (22) sends the signal to the memory controller (3) via the signal line 103. The address is transmitted via the request and the signal line 104.
[0026]
When the memory controller (3) receives the request (30) from the buffer memory (2) via the signal line 103 and the logical address (31) via the signal line 104, the memory controller (3) sets the signal line 302 by the upper address of the logical address (31). The data is read from the corresponding page table (33-a) of the address conversion buffer (33) via the data path 304, and the data (34) read via the signal line 305 is displaced (32) of the logical address (31). Then, the physical address (36) is generated by adding the request (30) and the cache bypass information (signal line 105) to the signals read via the signal lines 301 and 105, respectively.
[0027]
At the same time that the corresponding data in the address translation buffer (33) is read out via the signal line 304, page information is also stored in the corresponding table, and cache bypass information (signals) that does not store data in the cache memory (27). Line 105) is also included.
[0028]
Since the main storage device (4) performs only processing of a predetermined data width at a time, the request generation section (38) divides a block data request into a plurality of data widths divided into data widths that can be processed by the main storage device (4). Is generated and transmitted to the main storage device (4) via the signal line 107. Therefore, when the cache bypass information (signal line 105) is on, the memory controller (3) has a circuit for degenerating a request instruction for loading only target data. When a plurality of requests are generated, tag information is generated at the same time for request management.
[0029]
Tag generation is performed so that the lowest number tag is added to the request including the target data, and the request is transmitted to the main storage device (4) via the signal line 107.
[0030]
The main storage device (4) processes the request received from the memory controller (3) via the signal line 107. If the request is a memory load, the main storage device (4) reads data from the memory indicated by the address received via the signal line 106. Is read out and returned via the data path 108, the tag received from the memory controller (3) via the signal line 107 is added, and the tag is returned to the buffer memory (2) via the signal line 109.
[0031]
The reply tag is sent to the control unit (22) via the signal line 109 in the buffer memory (2), and is combined with the bypass information (signal line 105) received from the memory controller (3). ) Is performed.
[0032]
The tag management in the buffer memory (2) operates as if the lowest number tag is added to the request including the target data. The main storage access is usually a block data reply including the target data, and a plurality of reply data is sent from the main storage device (4) to the buffer memory (2) via the data path.
[0033]
When the cache bypass information (signal line 105) sent from the memory controller (3) is on, only the target data from the main storage device (4) returns to the buffer memory (2) via the data path 108, so the target data reply is performed. The operation is performed so that the operation of the control unit (22) is completed only by receiving the “.
[0034]
Next, a second embodiment of the present invention will be described. The data transfer width to the main memory (4) and the cache memory (27) is equal to the data transfer width to the cache memory (27) and the general-purpose register (10). In a multiprocessor configuration in which the main storage device (4) is connected to a larger number of arithmetic processing units (5), each arithmetic processing unit (5) includes a central processing unit (1), a buffer memory (2), and a memory controller ( 3).
[0035]
The central processing unit (1) is a processing unit that manages data processing, and the buffer memory (2) is a cache memory (27) that is a copy of a main storage device and a tag that holds an address corresponding to the cache memory (27). The memory controller (3) includes a memory (24), a comparator (25) for checking whether the target data (110) exists in the cache memory (27), and a controller (22). An address conversion unit for converting an address from (31) to a physical address (36), a request generation unit (38) for managing access control to the main storage device, and an address generation unit (37) paired with the request. Is done.
[0036]
In the configuration of the buffer memory (2), the cache memory (27) has a low reading speed across the register (26), but has a main storage device (4) capable of storing a large amount of information, and a register (28). It is connected to a general-purpose register (10) in a central processing unit (1) that can process reading at high speed, and has a copy of information in a main storage device (4) in order to eliminate a bottleneck in the amount of supplied information. Plays a role.
[0037]
When the main memory read request (101) and the address (102) are received from the central processing unit (1), they are stored in the address buffer (23) in the buffer memory (2) as shown in the first embodiment. It is checked whether data corresponding to the address (203) exists in the cache memory (27), and if not, the main storage device (4) via the memory controller (3) according to an instruction from the control unit (22). , A data read request (103) is performed.
[0038]
An instruction to read a plurality of data (108) from the main storage device (4) and store the data in the general-purpose register (10) is also issued to the memory controller (3) as a multiple read request (103).
[0039]
In the configuration of the memory controller (3), the memory controller (3) reads the management information for each page address from the address conversion buffer (33) at the same time as the address conversion, as in the first embodiment. The information (105) is sent to the request generator (38) in the memory controller (3) and the buffer memory (2). The memory controller (3) that has received the data read request (103) from the main storage device (4) receives the target data (110) received from the buffer memory (2), as described in the first embodiment. A request for reading only the data is treated as a block data read request, and a plurality of requests (107) divided into data widths that can be processed by the main storage device (4) are generated and issued to the main storage device (4).
[0040]
Since the reply data processing from the main storage device (4) to the buffer memory (2) is performed using the data path having a wide data transfer width, a plurality of data (108) of the block data reply are transferred at the same time. The data transfer width between the main storage device (4) and the cache memory (27) in the buffer memory (2) is the data transfer width between the cache memory (27) and the general-purpose register (10) in the central processing unit (1). Therefore, in the case of an operation of writing a plurality of data (108) to the general-purpose register (10), write congestion occurs between the cache memory (27) and the general-purpose register (10) having a small data transfer width.
[0041]
In the prior art, data is temporarily stored in a register near the cache memory (27) in order to eliminate write congestion. However, this method has a problem that the amount of hardware increases. Therefore, in the request generation unit (38) for generating a plurality of requests (107), when the cache bypass information (105) corresponding to the request (107) is on in the plurality of read requests (107), the general-purpose register (10 Since there is a possibility that write congestion may occur, the occurrence of write congestion is suppressed by providing a circuit that issues the request (107) at intervals in which no write congestion occurs.
[0042]
Next, the operation of the second exemplary embodiment of the present invention will be described in detail.
[0043]
In FIG. 1, in the case of a memory load instruction, the central processing unit (1) issues a main memory read request via a signal line 101 and an address via a signal line 102 to a buffer memory (2). The buffer memory (2) receives a main memory read request from the central processing unit (1) via the signal line 101 and an address via the signal line 102 to the control unit (22) and the address buffer (23). Since the control unit (22) has determined that the request is a main memory read request, the control unit (22) checks via the signal line 209 whether the target data is stored in the cache memory (27).
[0044]
As described in the description of the operation of the first embodiment, a cache hit or a cache miss is distinguished. And the address is transmitted via the signal line 104.
[0045]
Upon receiving the request from the buffer memory (2) via the signal line 103 and the address via the signal line 104, the memory controller (3) generates the physical address (36) as described in the operation of the first embodiment. I do. Since the main storage device (4) can perform only the processing of the determined data width at a time, the request generation unit (38) converts the block data request received via the signal line 301 into the main storage device (4). A plurality of requests divided into data widths that can be processed are generated and transmitted to the main storage device (4) via the signal line 104.
[0046]
Compared with the data transfer width between the cache memory (27) in the buffer memory (2) through the data path 206 from the main memory (4) transmitted through the data path 108 through the register (26), the data path 110 Data transfer capability between the cache memory (27) in the buffer memory (2) and the register (28) for transferring data to the general-purpose register (10) and the general-purpose register (10) in the central processing unit (1) Is small, write congestion occurs. Therefore, when the cache bypass information (signal line 105) corresponding to the request is turned on in a plurality of read requests, the request is issued at intervals in which no write congestion occurs. And suppresses the occurrence of write congestion. As one method of operating so that requests are issued at intervals in which write congestion does not occur, requests can be issued at predetermined intervals by a timer.
[0047]
In the above, the data transfer device and method at the time of cache bypass in which a plurality of processing devices share a main storage device as shown in FIG. 1 have been described. However, the processing device and the main storage device are connected one-to-one. The same can be applied to the data transfer device and method at the time of cache bypass.
[0048]
It is to be noted that the computer may be provided with a recording medium (6) on which the processing program as described above is recorded and executed by a computer.
[0049]
【The invention's effect】
As described above, the data transfer device and method at the time of cache bypass of the present invention are:
The first effect is that, by making only a request to access the target data, the target data alone is read into a general-purpose register and loaded into the central processing unit, so that subsequent instructions can be executed quickly, thereby improving performance. Thus, the load on the memory can be reduced.
[0050]
The reason is that, for the memory load instruction when the cache bypass information is on, instead of performing the process of reading the block data, the request generation unit in the memory controller degenerates the memory access instruction so that only the target data is read. This is because only the target data is read into the general-purpose register and loaded into the central processing unit by making the request to be accessed.
[0051]
The second effect occurs because the data transfer capability between the buffer memory and the central processing unit is smaller than the data transfer width between the main storage device and the buffer memory for the memory load instruction when the cache bypass information is on. In order to absorb the congestion of writing data to the general-purpose register in the central processing unit, it is not necessary to provide a register near the cache memory for temporarily storing data, thereby preventing an increase in the amount of hardware.
[0052]
The reason is that the write congestion is suppressed by providing a request control circuit for controlling the request issuance interval to the main storage in the request generation unit in the memory controller so that the write congestion does not occur in the general-purpose register. It is.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a data transfer device and method at the time of cache bypass of the present invention.
FIG. 2 is a configuration diagram illustrating a buffer memory of a data transfer device and method during cache bypass according to the present invention.
FIG. 3 is a configuration diagram illustrating a memory controller of a data transfer device and method during cache bypass according to the present invention;
[Explanation of symbols]
1 Central processing unit
2 Buffer memory
3 Memory controller
4 Main storage device
5 Arithmetic processing unit
6 Recording media
10 General-purpose registers
22 Control part
23 Address Buffer
24 Tag memory
25 Comparison circuit
26, 28 registers
27 Cache Memory
30 requests
31 Logical address
32 displacement
33 Address conversion buffer
33-a Page table
34 page data
Data in page 35
36 physical address
37 Address generator
38 Request generator

Claims (3)

主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させる手段を備え、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行するリクエスト制御回路を備え、汎用レジスタに目的データを格納させることを特徴とするキャッシュバイパス時のデータ転送装置。When the data transfer width to the main memory and the cache memory is larger than the data width to the cache memory and the general-purpose register, and the data for the memory access instruction from the central processing unit does not exist in the cache memory on the buffer memory. In the cache control, when the bypass bit of the page attribute indicating that the cache bypass information in the page table corresponding to the read data in the memory controller is not registered is on, a request to the main storage device via the memory controller is made. Means for degenerating the target data so that only the target data is accessed, loading only the target data from the main storage device, storing the target data in the general-purpose register, and avoiding occurrence of reply data congestion from the main storage device by writing the general-purpose register. As main memory To location comprises a request control circuit for issuing a request at predetermined intervals by the timer, the data transfer apparatus when a cache bypass, characterized in that for storing object data in a general register. 主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させ、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行し、汎用レジスタに目的データを格納させることを特徴とするキャッシュバイパス時のデータ転送方法。When the data transfer width to the main memory and the cache memory is larger than the data width to the cache memory and the general-purpose register, and the data for the memory access instruction from the central processing unit does not exist in the cache memory on the buffer memory. In the cache control, when the bypass bit of the page attribute indicating that the cache bypass information in the page table corresponding to the read data in the memory controller is not registered is on, a request to the main storage device via the memory controller is made. Is degraded so that only the target data is accessed, only the target data is loaded from the main memory, the target data is stored in the general-purpose register, and the main data is written so that congestion of reply data from the main storage by writing to the general-purpose register does not occur. For storage devices, Predetermined issued the request interval, the data transfer method of a cache bypass, characterized in that for storing object data in a general register by timer. 主記憶装置とキャッシュメモリへのデータ転送巾が、キャッシュメモリと汎用レジスタへのデータ巾より大きい演算処理装置において、中央処理装置からのメモリアクセス命令に対するデータがバッファメモリ上のキャッシュメモリに存在しないときのキャッシュ制御において、メモリコントローラでの読み出しデータに対応するページテーブル中のキャッシュバイパス情報が登録しないことを示しているページ属性のバイパスビットがオンの場合、メモリコントローラを介して主記憶装置へのリクエストを目的データだけアクセスするように縮退させ、目的データのみを主記憶装置からロードして、汎用レジスタに目的データを格納し、汎用レジスタ書き込みで主記憶装置からのリプライデータ輻輳が発生しないように主記憶装置に対し、タイマーにより予め決められた間隔でリクエストを発行し、汎用レジスタに目的データを格納させる処理をコンピュータに実行させるためのプログラムを記録したことを特徴とする記録媒体。When the data transfer width to the main memory and the cache memory is larger than the data width to the cache memory and the general-purpose register, and the data for the memory access instruction from the central processing unit does not exist in the cache memory on the buffer memory. In the cache control, when the bypass bit of the page attribute indicating that the cache bypass information in the page table corresponding to the read data in the memory controller is not registered is on, a request to the main storage device via the memory controller is made. Is degraded so that only the target data is accessed, only the target data is loaded from the main memory, the target data is stored in the general-purpose register, and the main data is written so that congestion of reply data from the main storage by writing to the general-purpose register does not occur. For storage devices, Predetermined issued the request interval, the recording medium characterized by recording a program for executing processing for storing the object data in the computer to a general register by timer.
JP33402999A 1999-11-25 1999-11-25 Data transfer device and method during cache bypass Expired - Fee Related JP3564343B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33402999A JP3564343B2 (en) 1999-11-25 1999-11-25 Data transfer device and method during cache bypass

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33402999A JP3564343B2 (en) 1999-11-25 1999-11-25 Data transfer device and method during cache bypass

Publications (2)

Publication Number Publication Date
JP2001154914A JP2001154914A (en) 2001-06-08
JP3564343B2 true JP3564343B2 (en) 2004-09-08

Family

ID=18272716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33402999A Expired - Fee Related JP3564343B2 (en) 1999-11-25 1999-11-25 Data transfer device and method during cache bypass

Country Status (1)

Country Link
JP (1) JP3564343B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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 (en) * 2012-11-12 2017-05-17 富士通株式会社 Arithmetic processing device and control method of arithmetic processing device

Also Published As

Publication number Publication date
JP2001154914A (en) 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 (en) Cache memory controller
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 (en) Multiprocessor system
US6915396B2 (en) Fast priority determination circuit with rotating priority
JPH0345407B2 (en)
JPH04233641A (en) Method and apparatus for data pre-fetch
JPH04233050A (en) Cache-memory exchanging protcol
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 (en) Cache memory system and method for realization of it
JPH06318174A (en) Cache memory system and method for performing cache for subset of data stored in main memory
JPH03189845A (en) Hierarchical memory system and cache memory subsystem
JP3564343B2 (en) Data transfer device and method during cache bypass
JP2002024085A (en) Disk cache system and its control method
KR100304318B1 (en) Demand-based issuance of cache operations to a processor bus
JP3733604B2 (en) Cache memory
JP2000047942A (en) Device and method for controlling cache memory
US6496904B1 (en) Method and apparatus for efficient tracking of bus coherency by using a single coherency tag bank
JP2005346582A (en) System lsi and image processor
JP2703255B2 (en) Cache memory writing device

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