JPH08249228A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH08249228A
JPH08249228A JP7049495A JP4949595A JPH08249228A JP H08249228 A JPH08249228 A JP H08249228A JP 7049495 A JP7049495 A JP 7049495A JP 4949595 A JP4949595 A JP 4949595A JP H08249228 A JPH08249228 A JP H08249228A
Authority
JP
Japan
Prior art keywords
preload
buffer
data
instruction
central processing
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.)
Withdrawn
Application number
JP7049495A
Other languages
English (en)
Inventor
Yoshihiro Kusano
義博 草野
Yasuhiko Nakajima
康彦 中島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7049495A priority Critical patent/JPH08249228A/ja
Publication of JPH08249228A publication Critical patent/JPH08249228A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】本発明は、キャッシュメモリ装置を汚染するこ
となく主記憶データのプリロードを実現するデータ処理
装置の提供を目的とする。 【構成】CPUと主記憶装置との間に、CPUの発行す
るプリロード命令の指す主記憶データを記憶するバッフ
ァ手段13を複数備えるとともに、CPUがプリロード
命令を発行するときに、主記憶装置に対してプリロード
命令の指す主記憶データのロードアクセス要求を発行す
る発行手段15と、このロードアクセス要求に応答し
て、主記憶装置から主記憶データが送られてくるとき
に、その主記憶データをプリロード命令の指すバッファ
手段13に書き込む書込手段16と、CPUがバッファ
手段13の格納データのロード命令を発行するときに、
バッファ手段13のステータス情報が有効である旨を表
示することを条件にして、その格納データをCPUに送
出する送出手段17とを備えるように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央処理装置と主記憶
装置とキャッシュメモリ装置とを備えるデータ処理装置
に関し、特に、キャッシュメモリ装置を汚染することな
く主記憶データのプリロードを実現するデータ処理装置
に関する。
【0002】
【従来の技術】大容量主記憶装置と中央処理装置とから
構成されるデータ処理装置では、主記憶装置が大容量で
あり、コストの点から、主記憶装置の素子として高速の
メモリ素子を使用することができない。これから、主記
憶装置の処理速度は、中央処理装置の要求を満足できな
くなり、中央処理装置の処理時間のかなりな部分が主記
憶装置の応答待ちに費やされることになる。
【0003】この問題点を解決するために、中央処理装
置と主記憶装置との間に、キャッシュメモリ装置を設け
ることで高速性を実現する構成を採っている。そして、
更に高速化が要求される場合には、主記憶データのプリ
ロードを行っている。すなわち、主記憶データを必要と
する命令が実行されるよりも前に、その主記憶データを
より中央処理装置に近いキャッシュメモリ装置へと移動
しておくプリロードを実行する構成を採っている。
【0004】このプリロードを実行すると、主記憶デー
タを必要とする命令がデコードされ、その主記憶データ
のアクセス要求が主記憶装置に発行されるときに、プリ
ロードが完了している場合には、より近いキャッシュメ
モリ装置から主記憶データが返答されることから、中央
処理装置への主記憶データのロードが早期に完了すると
いう効果が得られる。また、主記憶データを必要とする
命令がデコードされ、その主記憶データのアクセス要求
が主記憶装置に発行されるときに、プリロードが完了し
ていない場合にも、既にプリロードが主記憶装置へアク
セス要求を発行していることから、中央処理装置への主
記憶データのロードがプリロードを行わない場合よりも
早期に得られるという効果が期待できる。
【0005】このプリロードを行うオペランドアドレス
の生成方法は、プリロードの効果を大きく左右するもの
であり、種々のものが提案されているが、代表的な生成
方法としては、あるアクセス要求が発生したら、ハード
ウェアがそのアクセスアドレスに定数を加えた値を生成
して、それをプリロードアドレスとする方法である。ま
た、プリロード命令を設けて、この命令を用いて、ソフ
トウェアが明示的にプリロードアドレスを指定する方法
もある。
【0006】しかるに、いずれのオペランドアドレスの
生成方法を採るにしろ、従来では、プリロードを行うと
きには、プリロードした主記憶データをキャッシュメモ
リ装置に格納するという構成を採っていた。
【0007】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術に従っていると、プリロードの主記憶デー
タがキャッシュメモリ装置の管理する有効な主記憶デー
タを追い出してしまうという問題点があった。プリロー
ドした主記憶データは、必ずしも使用されることになる
とは限られず、このようなプリロードデータの持つ投機
的な性格から見ると、このようなキャッシュメモリ装置
の汚染は本来望ましいものではない。
【0008】本発明はかかる事情に鑑みてなされたもの
であって、キャッシュメモリ装置を汚染することなく主
記憶データのプリロードを実現する新たなデータ処理装
置の提供を目的とする。
【0009】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は本発明を具備するデータ処理装
置であって、1つ又は複数の中央処理装置10と、1つ
又は複数の主記憶装置11と、1つ又は複数のキャッシ
ュメモリ装置12と、中央処理装置10と主記憶装置1
1との間に備えられ、中央処理装置10の発行するプリ
ロード命令用に用意されて、プリロード命令の指す主記
憶データを記憶するとともに、プリロード命令の指定す
るアドレス情報及びアクセス情報と、記憶データの有効
無効を表示するステータス情報とを記憶する複数のプリ
ロードバッファ手段13と、プリロードバッファ手段1
3の制御処理を司るプリロード制御手段14とを備え
る。
【0010】このプリロード制御手段14は、発行手段
15と、書込手段16と、送出手段17と、判断手段1
8と、再発行手段19と、待機バッファ手段20と、登
録手段21と、第2の再発行手段22と、検査手段23
と、第2の書込手段24とを備える。
【0011】この発行手段15は、中央処理装置10が
プリロード命令(主記憶装置11又はキャッシュメモリ
装置12の主記憶データをプリロードバッファ手段13
へロードする命令)を発行するときに、主記憶装置11
又はキャッシュメモリ装置12に対して、プリロード命
令の指す主記憶データのロードアクセス要求を発行す
る。書込手段16は、発行手段15の発行するロードア
クセス要求に応答して、主記憶装置11又はキャッシュ
メモリ装置12から主記憶データが送られてくるとき
に、その主記憶データをプリロード命令の指すプリロー
ドバッファ手段13に書き込む。送出手段17は、中央
処理装置10がバッファロード命令(プリロードバッフ
ァ手段13の格納データを中央処理装置10へロードす
る命令)を発行するときに、そのバッファロード命令の
指すプリロードバッファ手段13の格納する主記憶デー
タを中央処理装置10に送出する。
【0012】判断手段18は、プリロード命令の指す主
記憶データがキャッシュメモリ装置12に登録されてい
るか否かを判断する。再発行手段19は、中央処理装置
10に代わりロード命令を再発行する。待機バッファ手
段20は、バッファロード命令を待機させる。登録手段
21は、待機バッファ手段20へのバッファロード命令
の登録処理を実行する。第2の再発行手段22は、中央
処理装置10に代わりバッファロード命令を再発行す
る。検査手段23は、中央処理装置10の発行するスト
ア命令の指定するアドレス情報と、プリロードバッファ
手段13の管理するアドレス情報とが衝突するのか否か
を検査する。第2の書込手段24は、プリロードバッフ
ァ手段13に無効である旨のステータス情報を書き込
む。
【0013】
【作用】本発明では、中央処理装置10がアドレス情報
及びアクセス情報を指定してプリロード命令を発行する
と、判断手段18は、そのプリロード命令の指す主記憶
データがキャッシュメモリ装置12に登録されているの
か否かを判断する。
【0014】この判断手段18の処理によりキャッシュ
メモリ装置12に登録されていないことが判断される
と、発行手段15は、主記憶装置11に対して、プリロ
ード命令の指す主記憶データのロードアクセス要求を発
行し、この発行を受けて、書込手段16は、このロード
アクセス要求に応答して主記憶装置11から主記憶デー
タが送られてくるときに、その主記憶データをプリロー
ド命令の指すプリロードバッファ手段13に書き込むと
ともに、有効である旨のステータス情報を書き込む。一
方、キャッシュメモリ装置12に登録されていることが
判断されると、発行手段15は、ロードアクセス要求を
発行しないとともに、書込手段16は、その登録されて
いる主記憶データをプリロードバッファ手段13に書き
込むとともに、有効である旨のステータス情報を書き込
む。
【0015】この処理にあって、書込手段16は、主記
憶装置11あるいはキャッシュメモリ装置12が主記憶
データの読出処理時に例外を検出するときには、該当す
るプリロードバッファ手段13に無効である旨のステー
タス情報を書き込む。このとき、プリロード命令の投機
性を考慮して、その例外を中央処理装置10にいちいち
報告しないようにする。
【0016】このようにして、プリロードバッファ手段
13にプリロード命令の指す主記憶データが記憶される
ときに、中央処理装置10がプリロードバッファ手段1
3のバッファ番号を指定してバッファロード命令を発行
すると、送出手段17は、そのプリロードバッファ手段
13の管理するステータス情報が有効である旨を表示す
ることを条件にして、そのプリロードバッファ手段13
の格納する主記憶データを中央処理装置10に送出す
る。
【0017】このバッファロード命令の発行時にあっ
て、再発行手段19は、そのバッファロード命令の指す
プリロードバッファ手段13の管理するステータス情報
が無効である旨を表示するときには、そのプリロードバ
ッファ手段13の管理するアドレス情報及びアクセス情
報を使って、中央処理装置10に代わりロード命令を再
発行する。そして、登録手段21は、そのバッファロー
ド命令の指すプリロードバッファ手段13の管理するス
テータス情報がロード中である旨を表示するときには、
そのバッファロード命令を待機バッファ手段20に待機
させる。
【0018】一方、第2の再発行手段22は、書込手段
16がプリロードバッファ手段13に主記憶データを書
き込むときに、待機バッファ手段20にバッファロード
命令が待機されているときには、中央処理装置10に代
わりそのバッファロード命令を再発行する。
【0019】そして、検査手段23は、中央処理装置1
0がストア命令を発行するときに、ストア命令の指定す
るアドレス情報と、プリロードバッファ手段13の管理
するアドレス情報とが一部でも重複するか否かを検査
し、この検査処理により重複が検出されると、第2の書
込手段24は、ストア命令により書き換えられることを
考慮して、重複先のプリロードバッファ手段13に無効
である旨のステータス情報を書き込む。
【0020】このように、本発明によれば、キャッシュ
メモリ装置12とは別にプリロードバッファ手段13を
設けるとともに、主記憶装置11の主記憶データをプリ
ロードバッファ手段13へロードするというプリロード
命令と、プリロードバッファ手段13の格納データを中
央処理装置10へロードするというバッファロード命令
とを設けることで、プリロードバッファ手段13に主記
憶データをプリロードする構成を採り、必要に応じて中
央処理装置10にロードしていく構成を採ることから、
キャッシュメモリ装置12を汚染することなく主記憶デ
ータのプリロードを実現できるようになる。
【0021】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に、本発明を具備するデータ処理装置1の装置
構成を図示する。
【0022】この図に示すように、本発明を具備するデ
ータ処理装置1は、1つ又は複数の中央処理装置10
と、1つ又は複数の主記憶装置11と、1つ又は複数の
キャッシュメモリ装置12と、DAT装置30と、TL
B装置40とを備える他に、本発明に特徴的なプリロー
ドバッファ50と、プリロードバッファ制御装置60
と、アクセス要求待機バッファ70とを備える。ここ
で、図中に示す80は選択回路である。
【0023】この本発明に特徴的なプリロードバッファ
50は、複数個用意されて、その各々が、仮想アドレス
で記述されるプリロードアドレスを記憶する「プリロー
ド仮想アドレスレジスタ」と、実アドレスで記述される
プリロードアドレスを記憶する「プリロード実アドレス
レジスタ」と、プリロードデータを記憶する「プリロー
ドデータレジスタ」と、ロードアクセスのアクセス種類
(アクセスの長さ、アドレスモード、中央処理装置アク
セスID、主記憶装置アクセスID)を記憶する「アク
セス種類レジスタ」と、プリロードバッファ50の状態
(有効/無効/ロード中)を記憶する「プリロードステ
ータスレジスタ」とを1組として構成される。
【0024】また、この本発明に特徴的なプリロードバ
ッファ制御装置60は、これらのプリロードバッファ5
0を制御することで主記憶データのプリロードを実行す
るものであって、具体的には、中央処理装置10から、
本発明で新たに設けるプリロード命令(主記憶装置11
の主記憶データをプリロードバッファ50へロードする
命令)と、本発明で新たに設けるバッファロード命令
(プリロードバッファ50の格納データを中央処理装置
10へロードする命令)とが発行されるときに、それに
応じた制御処理を実行することで主記憶データのプリロ
ードを実行するものである。
【0025】また、この本発明に特徴的なアクセス要求
待機バッファ70は、中央処理装置10から、本発明で
新たに設けるバッファロード命令が発行されるときに、
必要に応じてそのバッファロード命令を待機させるもの
である。
【0026】図3及び図4に、中央処理装置10がプリ
ロード命令を発行するときに、その応答としてプリロー
ドバッファ制御装置60が実行する処理フローの一実施
例、図5に、プリロードバッファ制御装置60が図3及
び図4の処理フローを実行するときに、その応答として
主記憶装置11が実行する処理フローの一実施例、図6
に、主記憶装置11が図5の処理フローを実行するとき
に、その応答としてプリロードバッファ制御装置60が
実行する処理フローの一実施例、図7に、中央処理装置
10がバッファロード命令を発行するときに、その応答
としてプリロードバッファ制御装置60が実行する処理
フローの一実施例を図示する。ここで、プリロードバッ
ファ制御装置60の実行処理と、中央処理装置10の実
行処理とは、並列/独立に進行することになる。
【0027】次に、これらの処理フローに従って本発明
を詳細に説明する。プリロードバッファ制御装置60
は、中央処理装置10が、プリロードアクセスのアドレ
スと、アクセス種類(アクセスID、アクセス長、アド
レスモード)と、プリロードデータの格納先となるプリ
ロードバッファ50のバッファ番号とを指定してプリロ
ード命令を発行すると、図3及び図4の処理フローに示
すように、先ず最初に、ステップ1で、プリロード命令
の指定するプリロードバッファ50の持つ「プリロード
ステータスレジスタ」の値を参照することで、そのプリ
ロードバッファ50の状態をチェックする。
【0028】このチェック処理に従って、プリロード命
令の指定するプリロードバッファ50の状態が“ロード
中”にあることを判断するとき、すなわち、先に発行さ
れたプリロード命令が未だ実行中であることを判断する
ときには、ステップ2に進んで、そのプリロードバッフ
ァ50の管理するアクセスIDの指す主記憶装置11に
対して、そのプリロード命令についての処理の取り消し
を発行してから、ステップ3に進んで、プリロード命令
の指定するプリロードバッファ50の持つ「アクセス種
類レジスタ」に、今回のプリロード命令の指定するアク
セス種類を書き込むとともに、そのプリロードバッファ
50の持つ「プリロードステータスレジスタ」に“ロー
ド中”を書き込み、更に、そのプリロードバッファ50
の持つ「プリロード仮想アドレスレジスタ」及び「プリ
ロード実アドレスレジスタ」を無効化する。
【0029】一方、このチェック処理に従って、プリロ
ード命令の指定するプリロードバッファ50の状態が
“無効”あるいは“有効”にあることを判断するとき、
すなわち、先に発行されたプリロード命令の実行が既に
終了していることを判断するときには、ステップ2の処
理を省略し、直ちにステップ3に進んで、プリロード命
令の指定するプリロードバッファ50の持つ「アクセス
種類レジスタ」に、今回のプリロード命令の指定するア
クセス種類を書き込むとともに、そのプリロードバッフ
ァ50の持つ「プリロードステータスレジスタ」に“ロ
ード中”を書き込み、更に、そのプリロードバッファ5
0の持つ「プリロード仮想アドレスレジスタ」及び「プ
リロード実アドレスレジスタ」を無効化する。
【0030】このステップ3の処理を終了すると、続い
て、ステップ4で、プリロード命令のアドレッシングモ
ードが仮想アドレスモードであるのか否かを判断して、
仮想アドレスモードであることを判断するときには、ス
テップ5に進んで、プリロード命令の指定するプリロー
ドバッファ50の持つ「プリロード仮想アドレスレジス
タ」に、プリロード命令の指定する仮想アドレスを書き
込む。
【0031】続いて、ステップ7で、TLB装置40に
高速変換表が登録されているのか否かを判断して、高速
変換表が登録されていることを判断するときには、ステ
ップ8に進んで、その高速変換表に従ってプリロード命
令の指定する仮想アドレスの指す実アドレスを得る。一
方、高速変換表が登録されていないことを判断するとき
には、ステップ9に進んで、DAT装置30を起動する
ことでプリロード命令の指定する仮想アドレスの指す実
アドレスを得る。
【0032】続いて、ステップ10(図4の処理フロ
ー)で、ステップ8,9のアドレス変換処理でアクセス
例外が検出されたのか否かを判断して、アクセス例外を
検出するときには、ステップ11に進んで、プリロード
命令の指定するプリロードバッファ50の持つ「プリロ
ードステータスレジスタ」に、“無効”を書き込んで処
理を終了する。一方、アクセス例外を検出しないときに
は、ステップ12に進んで、プリロード命令の指定する
プリロードバッファ50の持つ「プリロード実アドレス
レジスタ」に、ステップ8,9で得られた実アドレスを
書き込む。
【0033】このようにして、ステップ4(図3の処理
フロー)で、プリロード命令のアドレッシングモードが
仮想アドレスモードであることが判断されると、TLB
装置40/DAT装置50を使って実アドレスを得て、
それをプリロード命令の指定するプリロードバッファ5
0の持つ「プリロード実アドレスレジスタ」に書き込ん
でいくのである。一方、ステップ4で、プリロード命令
のアドレッシングモードが実アドレスモードであること
が判断されるときには、ステップ5ないしステップ10
の処理を省略し、直ちにステップ12に進んで、その
「プリロード実アドレスレジスタ」にプリロード命令の
指定する実アドレスを書き込でいくことになる。
【0034】このステップ12の処理を終了すると、続
いて、ステップ13で、「プリロード実アドレスレジス
タ」に登録される実アドレスを用いて、キャッシュメモ
リ装置12を検索し、続くステップ14で、この検索処
理によりキャッシュヒットしたのか否かということと、
アクセス例外が検出されたのか否かということを判断す
る。
【0035】このステップ14の判断処理でアクセス例
外を検出するときには、ステップ15に進んで、プリロ
ード命令の指定するプリロードバッファ50の持つ「プ
リロードステータスレジスタ」に、“無効”を書き込ん
で処理を終了する。一方、キャッシュミスヒットを検出
するとき、すなわち、プリロード命令の指定するプリロ
ードデータがキャッシュメモリ装置12に登録されてい
ないことを判断するときには、ステップ16に進んで、
プリロード命令の指定するプリロードバッファ50に管
理される実アドレス、アクセスID、アクセス長を読み
出し、これらを用いて、主記憶装置11に対して、プリ
ロード命令の指定するプリロードデータの読み出しを指
示するプリロードアクセス要求を発行して処理を終了す
る。
【0036】一方、ステップ14の判断処理でキャッシ
ュヒットを検出するとき、すなわち、プリロード命令の
指定するプリロードデータがキャッシュメモリ装置12
に登録されていることを判断するときには、ステップ1
7に進んで、プリロード命令の指定するプリロードバッ
ファ50の持つ「プリロードステータスレジスタ」の値
を参照することで、そのプリロードバッファ50の状態
をチェックして、そのプリロードバッファ50の状態が
“無効”あるいは“有効”にあることを判断するときに
は、そのまま処理を終了する。一方、“ロード中”にあ
ることを判断するときには、ステップ18に進んで、プ
リロード命令の指定するプリロードバッファ50の持つ
「プリロードデータレジスタ」に、キャッシュヒットし
たプリロードデータを書き込むとともに、そのプリロー
ドバッファ50の持つ「プリロードステータスレジス
タ」に、“有効”を書き込んで処理を終了する。
【0037】このように、プリロードバッファ制御装置
60は、中央処理装置10がプリロード命令を発行する
と、図3及び図4の処理フローに従い、プリロード命令
の指定するプリロードデータがキャッシュメモリ装置1
2に登録されているときには、そのプリロードデータを
プリロードバッファ50に書き込んでいくとともに、登
録されていないときには、主記憶装置10に対して、実
アドレス、アクセスID、アクセス長を指定して、その
プリロードデータの読み出しを指示するプリロードアク
セス要求を発行していくのである。
【0038】このプリロードバッファ制御装置60から
のプリロードアクセス要求を受け取ると、主記憶装置1
1は、図5の処理フローに示すように、先ず最初に、ス
テップ1で、指定される実アドレスの指すメモリセルを
指定されるアクセス種類に従って読み出す。続いて、ス
テップ2で、この読み出し時に、アクセス例外が検出さ
れたのか否かを判断して、アクセス例外を検出しないと
きには、ステップ3に進んで、アクセス例外が発生しな
い旨と、読み出した主記憶データ(プリロードデータ)
と、アクセスIDとをプリロードバッファ制御装置60
に返答する。一方、アクセス例外を検出するときには、
ステップ4に進んで、アクセス例外が発生した旨と、ア
クセスIDとをプリロードバッファ制御装置60に返答
する。
【0039】このように、主記憶装置11は、プリロー
ドバッファ制御装置60がプリロードアクセス要求を発
行すると、図5の処理フローに従い、そのプリロードア
クセス要求の指す主記憶データを読み出してプリロード
バッファ制御装置60に返答していくのである。
【0040】図6の処理フローで後述するように、プリ
ロードバッファ制御装置60は、このプリロードアクセ
ス要求についてのアクセス例外を中央処理装置10に伝
達しない構成を採っている。これは、プリロードアクセ
ス要求の指す主記憶データが使用されるとは限らないか
らである。これから、主記憶装置11が中央処理装置1
0に対してアクセス例外を直接伝達できる手段を持つ場
合があるが、このときにあっても、主記憶装置11は、
プリロードアクセス要求についてのアクセス例外につい
ては、中央処理装置10に伝達しない構成を採ることに
なる。なお、この場合、プリロードアクセス要求である
のか、それ以外のロードアクセス要求であるのかは、プ
リロードバッファ制御装置60がフラグを使って主記憶
装置11に通知することになる。
【0041】主記憶装置11からプリロードアクセス要
求に対しての返答を受け取ると、プリロードバッファ制
御装置60は、図6の処理フローに示すように、先ず最
初に、ステップ1で、主記憶装置11からアクセス例外
の発生が通知されたのか否かを判断して、アクセス例外
の発生通知を受け取るときには、ステップ2で進んで、
主記憶装置11から通知されるアクセスIDの指すプリ
ロードバッファ50の持つ「プリロードステータスレジ
スタ」に、“無効”を書き込んで処理を終了する。
【0042】一方、アクセス例外の発生の通知を受け取
らないとき、すなわち、プリロードデータを受け取ると
きは、ステップ3に進んで、主記憶装置11から通知さ
れるアクセスIDの指すプリロードバッファ50の持つ
「プリロードステータスレジスタ」の値を読み出す。続
いて、ステップ4で、その読み出した値に従ってそのプ
リロードバッファ50の状態をチェックして、そのプリ
ロードバッファ50の状態が“無効”にあることを判断
するときには、そのまま処理を終了し、“ロード中”に
あることを判断するときには、ステップ5に進んで、そ
のプリロードバッファ50の持つ「プリロードデータレ
ジスタ」に、送られてきたプリロードデータを書き込む
とともに、そのプリロードバッファ50の持つ「プリロ
ードステータスレジスタ」に“有効”を書き込む。
【0043】続いて、ステップ6で、アクセス要求待機
バッファ70を検索する。図7の処理フローで後述する
ように、このアクセス要求待機バッファ70は、中央処
理装置10からバッファロード命令が発行されるときに
あって、そのバッファロード命令の指すプリロードデー
タがプリロードバッファ50に格納されていないときに
は、そのバッファロード命令(プリロードバッファ50
の格納データを中央処理装置10へロードする命令)を
待機する構成を採る。これから、このステップ6では、
アクセス要求待機バッファ70を検索することで、プリ
ロードデータを待っているバッファロード命令を検索す
るのである。
【0044】続いて、ステップ7で、待機されるバッフ
ァロード命令が検索されたのか否かをチェックして、検
索されないときには、そのまま処理を終了し、検索され
るときには、ステップ8に進んで、プリロードデータが
プリロードバッファ50に格納されることで実行可能と
なった待機バッファロード命令を、中央処理装置10に
代わり再発行する。この再発行を受けて、プリロードバ
ッファ制御装置60は、図7の処理フローで後述するよ
うに、待機バッファロード命令の指すプリロードデータ
をプリロードバッファ50から読み出して、中央処理装
置10に送出していくことになる。
【0045】このように、プリロードバッファ制御装置
60は、主記憶装置11からプリロードデータを受け取
ると、図6の処理フローに従い、そのプリロードデータ
をプリロードバッファ50に格納していくとともに、ア
クセス要求待機バッファ70にそのプリロードデータに
ついてのバッファロード命令が待機されているときに
は、中央処理装置10に代わりそのバッファロード命令
を再発行していくことで、そのバッファロード命令の指
すプリロードデータを中央処理装置10にロードしてい
くのである。
【0046】一方、プリロードバッファ制御装置60
は、中央処理装置10が、プリロードデータの読出先と
なるプリロードバッファ50のバッファ番号と、アクセ
スIDとを指定してバッファロード命令を発行すると、
図7の処理フローに示すように、先ず最初に、ステップ
1で、バッファロード命令の指定するプリロードバッフ
ァ50の持つ「プリロードステータスレジスタ」の値を
参照することで、そのプリロードバッファ50の状態を
チェックする。
【0047】このチェック処理に従って、バッファロー
ド命令の指定するプリロードバッファ50の状態が“有
効”にあることを判断するとき、すなわち、そのプリロ
ードバッファ50にバッファロード命令の指すプリロー
ドデータが格納されていることを判断するときには、ス
テップ2に進んで、そのプリロードバッファ50の格納
するプリロードデータを読み出して、そのプリロードバ
ッファ50の管理するアクセスIDの指す中央処理装置
10に送出する。
【0048】一方、バッファロード命令の指定するプリ
ロードバッファ50の状態が“ロード中”にあることを
判断するとき、すなわち、そのプリロードバッファ50
にプリロードデータがこれから格納されることになるこ
とを判断するときには、ステップ3に進んで、バッファ
ロード命令をアクセス要求待機バッファ70に待機させ
る。
【0049】一方、バッファロード命令の指定するプリ
ロードバッファ50の状態が“無効”にあることを判断
するとき、すなわち、そのプリロードバッファ50にバ
ッファロード命令の指すプリロードデータが格納されて
いないことを判断するときには、ステップ4に進んで、
そのプリロードバッファ50の管理するアドレス及びア
クセス種類を用いて、中央処理装置10に代わりロード
命令を再発行する。この再発行を受けて、プリロードバ
ッファ制御装置60は、必要に応じてTLB装置40又
はDAT装置30を利用してアドレス変換を行い、その
ロード命令の指す主記憶データがキャッシュメモリ装置
12に登録されているときには、その主記憶データを中
央処理装置10へ送出していくとともに、登録されてい
ないときには、主記憶装置10に対して、実アドレス、
アクセスID、アクセス長を指定して、その主記憶デー
タの読み出しを指示するロードアクセス要求を発行して
いくことになる。そして、主記憶装置11からの応答デ
ータを中央処理装置10へ送出し、これらの過程で例外
を検出するときには、中央処理装置10に例外を報告し
ていくことになる。
【0050】このように、プリロードバッファ制御装置
60は、中央処理装置10からバッファロード命令を受
け取ると、図7の処理フローに従い、バッファロード命
令の指すプリロードデータがプリロードバッファ50に
格納されているときには、それを読み出して中央処理装
置10に送出し、そのプリロードデータがプリロードバ
ッファ50にこれから格納されるときには、バッファロ
ード命令をアクセス要求待機バッファ70に待機し、そ
のプリロードデータがプリロードバッファ50に格納さ
れないときには、通常のロードデータの読み出しを指示
するロード命令を再発行していくのである。
【0051】このようにして、本発明では、プリロード
バッファ50を設けることで、キャッシュメモリ装置1
2を汚染することなく主記憶データのプリロードを実現
できるようになる。
【0052】このプリロードバッファ50を設ける構成
を採るときにあって、中央処理装置10がストア命令を
発行すると、プリロードバッファ50の格納データと、
主記憶装置11の記憶する主記憶データとが整合しなく
なることが起こる。
【0053】これから、プリロードバッファ制御装置6
0は、中央処理装置10がストア命令を発行するときに
は、“有効”又は“ロード中”の状態にある全てのプリ
ロードバッファ50(以下、対象プリロードバッファ5
0と称する)に対して以下の処理を行うことで、プリロ
ードバッファ50の格納データと、主記憶装置11の記
憶する主記憶データとの整合性を保つ処理を実行する。
【0054】すなわち、図8に示すように、中央処理装
置10のアドレスモードが実アドレスモードのときにあ
って、対象プリロードバッファ50の管理するプリロー
ド仮想アドレスが有効/プリロード実アドレスが有効で
ある場合と、プリロード仮想アドレスが有効/プリロー
ド実アドレスが無効である場合には、そのようなことが
あり得ないことに対応させて、中央処理装置10に対し
て例外を報告する。一方、プリロード仮想アドレスが無
効/プリロード実アドレスが有効である場合に、中央処
理装置10の実アドレスとプリロードバッファ50の実
アドレスとが完全に一致する場合には、ストア命令によ
り書き換えられることに対応させて、対象プリロードバ
ッファ50の持つ「プリロードステータスレジスタ」に
“無効”を書き込む。
【0055】また、中央処理装置10のアドレスモード
が仮想アドレスモードで、TLBヒットすることで実ア
ドレスが求まるときにあって、対象プリロードバッファ
50の管理するプリロード仮想アドレスが有効/プリロ
ード実アドレスが有効である場合に、中央処理装置10
の実アドレスとプリロードバッファ50の実アドレスと
が完全に一致する場合には、ストア命令により書き換え
られることに対応させて、対象プリロードバッファ50
の持つ「プリロードステータスレジスタ」に“無効”を
書き込む。一方、プリロード仮想アドレスが有効/プリ
ロード実アドレスが無効である場合に、中央処理装置1
0の仮想アドレスとプリロードバッファ50の仮想アド
レスとがアドレス不変部分で一致する場合には、ストア
命令により書き換えられる可能性があることに対応させ
て、対象プリロードバッファ50の持つ「プリロードス
テータスレジスタ」に“無効”を書き込む。一方、プリ
ロード仮想アドレスが無効/プリロード実アドレスが有
効である場合には、そのようなことがあり得ないことに
対応させて、中央処理装置10に対して例外を報告す
る。
【0056】また、中央処理装置10のアドレスモード
が仮想アドレスモードで、TLBヒットしないことで実
アドレスが求まらないときにあって、対象プリロードバ
ッファ50の管理するプリロード仮想アドレスが有効/
プリロード実アドレスが有効である場合と、プリロード
仮想アドレスが有効/プリロード実アドレスが無効であ
る場合に、中央処理装置10の仮想アドレスとプリロー
ドバッファ50の仮想アドレスとがアドレス不変部分で
一致する場合には、ストア命令により書き換えられる可
能性があることに対応させて、そのプリロードバッファ
50の持つ「プリロードステータスレジスタ」に“無
効”を書き込む。一方、プリロード仮想アドレスが無効
/プリロード実アドレスが有効である場合には、そのよ
うなことがあり得ないことに対応させて、中央処理装置
10に対して例外を報告する。
【0057】このようにして、中央処理装置10がスト
ア命令を発行するときに、プリロードバッファ50の格
納データと、主記憶装置11の記憶する主記憶データと
が整合しなくなったり、整合しなくなる可能性があると
きには、プリロードバッファ50の格納データを無効化
していくことで対処することになる。
【0058】更に、このプリロードバッファ50を設け
る構成を採るときにあって、ソフトウェアが、このプリ
ロードバッファ50の持つ「プリロードステータスレジ
スタ」に“無効”を書き込む無効化命令を設けること
で、そのプリロードバッファ50の管理するプリロード
データを直接無効化できるようにする構成を採ることが
好ましい。
【0059】また、割込処理やプロセス切替処理に対処
するために、全てのプリロードバッファ50の管理する
アドレス/アクセス種類をセーブした後、それらのプリ
ロードバッファ50の持つ「プリロードステータスレジ
スタ」に“無効”を書き込むセーブ命令を設けるととも
に、このセーブ命令によりセーブされたアドレス/アク
セス種類を全てのプリロードバッファ50に書き込むと
ともに、それらのプリロードバッファ50の持つ「プリ
ロードステータスレジスタ」に“無効”を書き込むリス
トア命令を設けることが好ましい。
【0060】
【発明の効果】以上説明したように、本発明によれば、
キャッシュメモリ装置とは別にプリロードバッファを設
けるとともに、主記憶装置の主記憶データをプリロード
バッファへロードするというプリロード命令と、プリロ
ードバッファの格納データを中央処理装置へロードする
というバッファロード命令とを設けることで、プリロー
ドバッファに主記憶データをプリロードする構成を採
り、必要に応じて中央処理装置にロードしていく構成を
採ることから、キャッシュメモリ装置を汚染することな
く主記憶データのプリロードを実現できるようになる。
【0061】そして、プリロード命令/バッファロード
命令によりプリロードを実行できることから、ハードウ
ェアの行うプリロードよりも効率の良いプリロードを実
現できる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】プリロードバッファ制御装置の実行する処理フ
ローである。
【図4】プリロードバッファ制御装置の実行する処理フ
ローである。
【図5】主記憶装置の実行する処理フローである。
【図6】プリロードバッファ制御装置の実行する処理フ
ローである。
【図7】プリロードバッファ制御装置の実行する処理フ
ローである。
【図8】ストア命令発行時の処理説明図である。
【符号の説明】
1 データ処理装置 10 中央処理装置 11 主記憶装置 12 キャッシュメモリ装置 13 プリロードバッファ手段 14 プリロード制御手段 15 発行手段 16 書込手段 17 送出手段 18 判断手段 19 再発行手段 20 待機バッファ手段 21 登録手段 22 第2の再発行手段 23 検査手段 24 第2の書込手段

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 1つ又は複数の中央処理装置と、1つ又
    は複数の主記憶装置と、1つ又は複数のキャッシュメモ
    リ装置とを備えるデータ処理装置において、 中央処理装置と主記憶装置との間に、中央処理装置の発
    行するプリロード命令用に用意されて、該プリロード命
    令の指す主記憶データを記憶するとともに、該プリロー
    ド命令の指定するアドレス情報及びアクセス情報と、記
    憶データの有効無効を表示するステータス情報とを記憶
    するプリロードバッファ手段を複数備えるとともに、 中央処理装置がアドレス情報及びアクセス情報を指定し
    て上記プリロード命令を発行するときに、主記憶装置に
    対して、該プリロード命令の指す主記憶データのロード
    アクセス要求を発行する発行手段と、 上記発行手段の発行するロードアクセス要求に応答し
    て、主記憶装置から主記憶データが送られてくるとき
    に、該主記憶データを上記プリロード命令の指す上記プ
    リロードバッファ手段に書き込む書込手段と、 中央処理装置が上記プリロードバッファ手段の格納する
    主記憶データのバッファロード命令を発行するときに、
    該プリロードバッファ手段の管理するステータス情報が
    有効である旨を表示することを条件にして、該主記憶デ
    ータを中央処理装置に送出する送出手段とを備えること
    を、 特徴とするデータ処理装置。
  2. 【請求項2】 請求項1記載のデータ処理装置におい
    て、 発行手段の発行するロードアクセス要求に先立って、プ
    リロード命令の指す主記憶データがキャッシュメモリ装
    置に登録されているか否かを判断する判断手段を備え、 発行手段は、上記判断手段が主記憶データの登録を判断
    するときには、ロードアクセス要求を発行していかない
    とともに、書込手段は、キャッシュメモリ装置から読み
    出される該主記憶データをプリロードバッファ手段に書
    き込むよう処理することを、 特徴とするデータ処理装置。
  3. 【請求項3】 請求項1又は2記載のデータ処理装置に
    おいて、 発行手段は、プリロード命令のアドレッシングモードが
    仮想アドレスモードであるときには、TLB装置あるい
    はDAT装置により得られる実アドレスを用いてロード
    アクセス要求を発行するよう処理することを、 特徴とするデータ処理装置。
  4. 【請求項4】 請求項1又は2記載のデータ処理装置に
    おいて、 書込手段は、主記憶装置あるいはキャッシュメモリ装置
    が主記憶データの読出処理時に例外を検出するときに
    は、プリロードバッファ手段に無効である旨のステータ
    ス情報を書き込むとともに、該例外を中央処理装置に報
    告しないよう処理することを、 特徴とするデータ処理装置。
  5. 【請求項5】 請求項3記載のデータ処理装置におい
    て、 書込手段は、主記憶装置あるいはキャッシュメモリ装置
    が主記憶データの読出処理時に例外を検出するときと、
    TLB装置あるいはDAT装置がアドレス変換時に例外
    を検出するときには、プリロードバッファ手段に無効で
    ある旨のステータス情報を書き込むとともに、該例外を
    中央処理装置に報告しないよう処理することを、 特徴とするデータ処理装置。
  6. 【請求項6】 請求項1、2、3、4又は5記載のデー
    タ処理装置において、 中央処理装置がバッファロード命令を発行するときにあ
    って、該バッファロード命令の指すプリロードバッファ
    手段の管理するステータス情報が無効である旨を表示す
    るときに、該プリロードバッファ手段の管理するアドレ
    ス情報及びアクセス情報を使って、中央処理装置に代わ
    りロード命令を再発行する再発行手段を備えることを、 特徴とするデータ処理装置。
  7. 【請求項7】 請求項1、2、3、4、5又は6記載の
    データ処理装置において、 中央処理装置がバッファロード命令を発行するときにあ
    って、該バッファロード命令の指すプリロードバッファ
    手段の管理するステータス情報がロード中である旨を表
    示するときに、該バッファロード命令を待機させる待機
    バッファ手段を備えることを、 特徴とするデータ処理装置。
  8. 【請求項8】 請求項7記載のデータ処理装置におい
    て、 書込手段がプリロードバッファ手段に主記憶データを書
    き込むときに、待機バッファ手段にバッファロード命令
    が待機されているときには、中央処理装置に代わり該バ
    ッファロード命令を再発行する第2の再発行手段を備え
    ることを、 特徴とするデータ処理装置。
  9. 【請求項9】 請求項1、2、3、4、5、6、7又は
    8記載のデータ処理装置において、 中央処理装置がストア命令を発行するときに、該ストア
    命令の指定するアドレス情報と、プリロードバッファ手
    段の管理するアドレス情報とが一部でも重複するか否か
    を検査する検査手段と、 上記検査手段が重複を検出するときに、重複先のプリロ
    ードバッファ手段に無効である旨のステータス情報を書
    き込む第2の書込手段とを備えることを、 特徴とするデータ処理装置。
  10. 【請求項10】 請求項1、2、3、4、5、6、7、
    8又は9記載のデータ処理装置において、 中央処理装置がプリロードバッファ手段の無効化命令を
    発行するときに、該無効化命令の指すプリロードバッフ
    ァ手段に無効である旨のステータス情報を設定する設定
    手段を備えることを、 特徴とするデータ処理装置。
  11. 【請求項11】 請求項1、2、3、4、5、6、7、
    8、9又は10記載のデータ処理装置において、 中央処理装置がプリロードバッファ手段の格納データの
    セーブ命令を発行するときに、プリロードバッファ手段
    の格納データをセーブするセーブ手段と、 中央処理装置が上記セーブ手段のセーブしたプリロード
    バッファ手段の格納データのリストア命令を発行すると
    きに、該セーブデータをプリロードバッファ手段にリス
    トアするリストア手段とを備えることを、 特徴とするデータ処理装置。
JP7049495A 1995-03-09 1995-03-09 データ処理装置 Withdrawn JPH08249228A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7049495A JPH08249228A (ja) 1995-03-09 1995-03-09 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7049495A JPH08249228A (ja) 1995-03-09 1995-03-09 データ処理装置

Publications (1)

Publication Number Publication Date
JPH08249228A true JPH08249228A (ja) 1996-09-27

Family

ID=12832737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7049495A Withdrawn JPH08249228A (ja) 1995-03-09 1995-03-09 データ処理装置

Country Status (1)

Country Link
JP (1) JPH08249228A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227880A (ja) * 2010-04-22 2011-11-10 Arm Ltd プレロード命令制御

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227880A (ja) * 2010-04-22 2011-11-10 Arm Ltd プレロード命令制御
US9632776B2 (en) 2010-04-22 2017-04-25 Arm Limited Preload instruction control

Similar Documents

Publication Publication Date Title
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
JP4792113B2 (ja) プロセッサ間割り込み
JP3575572B2 (ja) データ転送方法及びシステム
US5671231A (en) Method and apparatus for performing cache snoop testing on a cache system
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
US20070260754A1 (en) Hardware Assisted Exception for Software Miss Handling of an I/O Address Translation Cache Miss
US6434665B1 (en) Cache memory store buffer
TWI437428B (zh) 主機資料處理設備內之裝置模擬支援
JPH08249228A (ja) データ処理装置
JPH0789328B2 (ja) データ処理装置
KR100258883B1 (ko) 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치
JPH07234819A (ja) キャッシュメモリ
JPH08161226A (ja) データ先読み制御方法,キャッシュ制御装置およびデータ処理装置
JPH0320834A (ja) 情報処理装置の初期診断方法
JP2791319B2 (ja) データ処理装置
JPH0728701A (ja) 計算機システム
JPH08335188A (ja) ソフトウェア制御可能なキャッシュメモリ装置
JPH02259945A (ja) ストア処理方式
JPH0362143A (ja) キャッシュライトバック制御方式
JPH0528115A (ja) 協調処理型情報処理装置
JPH11327798A (ja) データ転送制御装置
JPH05282207A (ja) キャッシュメモリ無効化制御方式
JPH08166905A (ja) キャッシュメモリ制御方法
JPH02280249A (ja) キヤツシユメモリ制御装置
JPH0695909A (ja) Ramの障害処理機能試験方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020604