JPH07141174A - レジスタ装置 - Google Patents
レジスタ装置Info
- Publication number
- JPH07141174A JPH07141174A JP5287939A JP28793993A JPH07141174A JP H07141174 A JPH07141174 A JP H07141174A JP 5287939 A JP5287939 A JP 5287939A JP 28793993 A JP28793993 A JP 28793993A JP H07141174 A JPH07141174 A JP H07141174A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- address
- write
- prefetch
- 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.)
- Granted
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】 アドレスでないデータを保持するレジスタの
変更による無駄なプリフェッチを行なうことがないレジ
スタ装置を提供する。 【構成】 複数のエントリを有し、各エントリに、プロ
セッサの命令実行ユニット2により読みだし、書き込み
可能なデータを保持するフィールド10と命令実行ユニ
ット2により書き込み可能なポインタ属性を保持するフ
ィールド11を有するメモリ部9と、メモリ部9へ命令
実行ユニット2からの書き込みがあったことを検出する
制御回路12と、書き込みが検出されたとき書き込みの
あった前記エントリのデータフィールド10のデータと
ポインタ属性フィールド11のポインタ属性を読み出す
手段104,105と、ポインタ属性がセットされてい
る場合はデータキャッシュメモリ3に対し読みだしデー
タをプリフェッチアドレスとするプリフェッチ要求10
7を出す手段13とを有するレジスタ装置である。
変更による無駄なプリフェッチを行なうことがないレジ
スタ装置を提供する。 【構成】 複数のエントリを有し、各エントリに、プロ
セッサの命令実行ユニット2により読みだし、書き込み
可能なデータを保持するフィールド10と命令実行ユニ
ット2により書き込み可能なポインタ属性を保持するフ
ィールド11を有するメモリ部9と、メモリ部9へ命令
実行ユニット2からの書き込みがあったことを検出する
制御回路12と、書き込みが検出されたとき書き込みの
あった前記エントリのデータフィールド10のデータと
ポインタ属性フィールド11のポインタ属性を読み出す
手段104,105と、ポインタ属性がセットされてい
る場合はデータキャッシュメモリ3に対し読みだしデー
タをプリフェッチアドレスとするプリフェッチ要求10
7を出す手段13とを有するレジスタ装置である。
Description
【0001】
【産業上の利用分野】本発明はマイクロプロセッサ及び
マイクロコントローラにおけるレジスタ装置に関する。
マイクロコントローラにおけるレジスタ装置に関する。
【0002】
【従来の技術】従来のレジスタ装置としては、例えば特
開平4-90038号公報に示されている。図3はこの従来の
レジスタ装置を用いたシステムのブロック図であり、図
4は本従来例の動作例を示すプログラムである。1はレ
ジスタ装置、2は命令実行ユニット、3はデータキャッ
シュメモリ、4は主記憶装置であり、9は各エントリに
データを格納するレジスタ装置1のメモリ部、15は書
き込み検出回路を含んだレジスタ装置1の制御回路であ
り、100,101はそれぞれ命令実行ユニット2から
レジスタ装置1へのアクセスにおけるアクセス要求信
号、リード/ライト信号であり、103はメモリ部9の
エントリを選択するためのアドレスバス、105はメモ
リ部9に対する読みだし、書き込みを行なうためのデー
タバス、107はプリフェッチ要求信号である。また、
110は命令実行ユニット2とデータキャッシュメモリ
3の間のデータ転送手段であり、120はデータキャッ
シュメモリ3と主記憶装置4の間のデータ転送手段であ
る。以上のように構成された従来のレジスタ装置の動作
を図3に基づいて、図4のプログラム順に説明する。な
お、本従来例におけるレジスタ装置1は4つのレジスタ
を有し、それぞれレジスタr0,r1,r2,r3という名称で呼
ぶものとする。
開平4-90038号公報に示されている。図3はこの従来の
レジスタ装置を用いたシステムのブロック図であり、図
4は本従来例の動作例を示すプログラムである。1はレ
ジスタ装置、2は命令実行ユニット、3はデータキャッ
シュメモリ、4は主記憶装置であり、9は各エントリに
データを格納するレジスタ装置1のメモリ部、15は書
き込み検出回路を含んだレジスタ装置1の制御回路であ
り、100,101はそれぞれ命令実行ユニット2から
レジスタ装置1へのアクセスにおけるアクセス要求信
号、リード/ライト信号であり、103はメモリ部9の
エントリを選択するためのアドレスバス、105はメモ
リ部9に対する読みだし、書き込みを行なうためのデー
タバス、107はプリフェッチ要求信号である。また、
110は命令実行ユニット2とデータキャッシュメモリ
3の間のデータ転送手段であり、120はデータキャッ
シュメモリ3と主記憶装置4の間のデータ転送手段であ
る。以上のように構成された従来のレジスタ装置の動作
を図3に基づいて、図4のプログラム順に説明する。な
お、本従来例におけるレジスタ装置1は4つのレジスタ
を有し、それぞれレジスタr0,r1,r2,r3という名称で呼
ぶものとする。
【0003】(1)set r0,ADDR レジスタr0にアドレスADDRをセットする命令である。AD
DRは後にレジスタr2に得られるデータの格納されている
アドレスである。この命令により命令実行ユニット2は
アクセス要求信号100をアサートし、リード/ライト
信号101をライトイネーブルにし、アドレスバス10
3にレジスタr0のアドレスを出力し、データバス105
にアドレスADDRの値を出力する。制御回路15はアクセ
ス要求信号100がアサートされており、リード/ライ
ト信号101がライトイネーブルになっているのでリー
ド/ライト信号200をライトイネーブルにし、メモリ
部9はアドレスバス103により選択されているエント
リにデータバス105の値を書き込む。さらに、制御回
路15はリード/ライト信号200をリードイネーブル
にしプリフェッチ要求信号107をアサートする。メモ
リ部9はリード/ライト信号200がアサートされてい
るので、アドレスバス103により選択されているエン
トリのデータをデータバス105に出力する。データキ
ャッシュメモリ3はプリフェッチ要求信号107がアサ
ートされるとデータバス(プリフェッチアドレスバス)
105をアドレスとしたプリフェッチを行う。プリフェ
ッチは要求されたアドレスがデータキャッシュメモリ3
にない場合、主記憶装置4から読みだしデータキャッシ
ュメモリ3に格納するものである。このことにより、ア
ドレスADDRをアドレスとするデータをデータキャッシュ
メモリ3にプリフェッチすることができる。また、次回
以降のレジスタr0の値の変更でも同様に自動的にプリフ
ェッチが行なわれる。この後、データキャッシュメモリ
3がプリフェッチを行なっている間、命令実行ユニット
2は他の命令を実行することができるため、プリフェッ
チが完了するまでの数命令はメモリアクセス、ポインタ
の変更を行なわない命令が実行されてるものとする。
DRは後にレジスタr2に得られるデータの格納されている
アドレスである。この命令により命令実行ユニット2は
アクセス要求信号100をアサートし、リード/ライト
信号101をライトイネーブルにし、アドレスバス10
3にレジスタr0のアドレスを出力し、データバス105
にアドレスADDRの値を出力する。制御回路15はアクセ
ス要求信号100がアサートされており、リード/ライ
ト信号101がライトイネーブルになっているのでリー
ド/ライト信号200をライトイネーブルにし、メモリ
部9はアドレスバス103により選択されているエント
リにデータバス105の値を書き込む。さらに、制御回
路15はリード/ライト信号200をリードイネーブル
にしプリフェッチ要求信号107をアサートする。メモ
リ部9はリード/ライト信号200がアサートされてい
るので、アドレスバス103により選択されているエン
トリのデータをデータバス105に出力する。データキ
ャッシュメモリ3はプリフェッチ要求信号107がアサ
ートされるとデータバス(プリフェッチアドレスバス)
105をアドレスとしたプリフェッチを行う。プリフェ
ッチは要求されたアドレスがデータキャッシュメモリ3
にない場合、主記憶装置4から読みだしデータキャッシ
ュメモリ3に格納するものである。このことにより、ア
ドレスADDRをアドレスとするデータをデータキャッシュ
メモリ3にプリフェッチすることができる。また、次回
以降のレジスタr0の値の変更でも同様に自動的にプリフ
ェッチが行なわれる。この後、データキャッシュメモリ
3がプリフェッチを行なっている間、命令実行ユニット
2は他の命令を実行することができるため、プリフェッ
チが完了するまでの数命令はメモリアクセス、ポインタ
の変更を行なわない命令が実行されてるものとする。
【0004】(2)load r2,[r0] レジスタr0の値をアドレスとするデータをレジスタr2に
格納する命令である。レジスタr0の値をアドレスとする
データは(1)のプリフェッチによりデータキャッシュ
メモリ3に格納されているので、データキャッシュメモ
リ3に対する読みだしはヒットすることになり、主記憶
装置4をアクセスすることなく読み出すことができる。
格納する命令である。レジスタr0の値をアドレスとする
データは(1)のプリフェッチによりデータキャッシュ
メモリ3に格納されているので、データキャッシュメモ
リ3に対する読みだしはヒットすることになり、主記憶
装置4をアクセスすることなく読み出すことができる。
【0005】(3)set r1,DATA レジスタr1にデータDATAをセットする命令である。この
命令も命令(1)と同様にレジスタr1に値をセットし、
データDATAをアドレスとするデータのプリフェッチを行
なう。
命令も命令(1)と同様にレジスタr1に値をセットし、
データDATAをアドレスとするデータのプリフェッチを行
なう。
【0006】
【発明が解決しようとする課題】しかしながら、上記の
ような構成では、レジスタの値の変更が行なわれると変
更後の値がアドレス、データに関係なく必ずプリフェッ
チを行う。例えば、図4の命令(3)におけるデータDA
TAはアドレスではないがプリフェッチが実行されてい
る。このようなプリフェッチ実行は無駄な処理であり、
このようなプリフェッチを実行するための時間は性能を
低下させる要因である。また、使うはずのないデータが
データキャッシュメモリに格納されるので、使用され得
るデータがデータキャッシュメモリからリプレースさ
れ、データキャッシュメモリのヒット率の低下を招く。
さらに、データDATAの値がアドレスとしては不適切な値
であった場合、メモリアクセス違反といった本来発生し
ない例外処理を引き起こすことも考えられる。
ような構成では、レジスタの値の変更が行なわれると変
更後の値がアドレス、データに関係なく必ずプリフェッ
チを行う。例えば、図4の命令(3)におけるデータDA
TAはアドレスではないがプリフェッチが実行されてい
る。このようなプリフェッチ実行は無駄な処理であり、
このようなプリフェッチを実行するための時間は性能を
低下させる要因である。また、使うはずのないデータが
データキャッシュメモリに格納されるので、使用され得
るデータがデータキャッシュメモリからリプレースさ
れ、データキャッシュメモリのヒット率の低下を招く。
さらに、データDATAの値がアドレスとしては不適切な値
であった場合、メモリアクセス違反といった本来発生し
ない例外処理を引き起こすことも考えられる。
【0007】従って、本発明の目的は、アドレスでない
データを保持するレジスタの変更による無駄なプリフェ
ッチを行なうことがないレジスタ装置を提供することに
ある。
データを保持するレジスタの変更による無駄なプリフェ
ッチを行なうことがないレジスタ装置を提供することに
ある。
【0008】
【課題を解決するための手段】本発明は、プロセッサの
レジスタにおいて、複数のエントリを有し、前記各エン
トリに前記プロセッサの命令実行ユニットにより読みだ
し、書き込み可能なデータを保持するフィールドと前記
命令実行ユニットにより書き込み可能なポインタ属性を
保持するフィールドを有するメモリ部と、前記メモリ部
へ前記命令実行ユニットからの書き込みがあったことを
検出する書き込み検出回路と、書き込みが検出されたと
き書き込みのあった前記エントリの前記データフィール
ドのデータと前記ポインタ属性フィールドのポインタ属
性を読み出す手段と、前記ポインタ属性がセットされて
いる場合はデータキャッシュメモリに対し前記読みだし
データをプリフェッチアドレスとするプリフェッチ要求
を出す手段を有するレジスタ装置である。
レジスタにおいて、複数のエントリを有し、前記各エン
トリに前記プロセッサの命令実行ユニットにより読みだ
し、書き込み可能なデータを保持するフィールドと前記
命令実行ユニットにより書き込み可能なポインタ属性を
保持するフィールドを有するメモリ部と、前記メモリ部
へ前記命令実行ユニットからの書き込みがあったことを
検出する書き込み検出回路と、書き込みが検出されたと
き書き込みのあった前記エントリの前記データフィール
ドのデータと前記ポインタ属性フィールドのポインタ属
性を読み出す手段と、前記ポインタ属性がセットされて
いる場合はデータキャッシュメモリに対し前記読みだし
データをプリフェッチアドレスとするプリフェッチ要求
を出す手段を有するレジスタ装置である。
【0009】
【作用】上記の構成により、更新によりプリフェッチを
行なうレジスタをポインタ属性のついたものに限定する
ことができるため、アドレスでないデータを保持するレ
ジスタの変更による無駄なプリフェッチを行なうことが
ない。従って、無駄なプリフェッチによる性能の低下を
なくすことができ、また、データキャッシュメモリに使
用されないデータが格納されヒット率の低下を回避でき
る。
行なうレジスタをポインタ属性のついたものに限定する
ことができるため、アドレスでないデータを保持するレ
ジスタの変更による無駄なプリフェッチを行なうことが
ない。従って、無駄なプリフェッチによる性能の低下を
なくすことができ、また、データキャッシュメモリに使
用されないデータが格納されヒット率の低下を回避でき
る。
【0010】
【実施例】本発明の一実施例のレジスタ装置について、
図面を参照しながら説明する。図1は本発明の一実施例
におけるレジスタ装置を用いたシステムのブロック図で
あり、図2は本実施例の動作例を示すプログラムであ
る。
図面を参照しながら説明する。図1は本発明の一実施例
におけるレジスタ装置を用いたシステムのブロック図で
あり、図2は本実施例の動作例を示すプログラムであ
る。
【0011】図1において1はレジスタ装置、2は命令
実行ユニット、3はデータキャッシュメモリ、4は主記
憶装置である。また、9はレジスタ装置1のメモリ部、
10,11はそれぞれ、メモリ部9のデータフィール
ド、ポインタ属性フィールド、12は書き込み検出回路
を含んだレジスタ装置1の制御回路、13はポインタ属
性信号104が1でプリフェッチイネーブル信号106
がアサートされている場合はプリフェッチ要求信号10
7をアサートし、それ以外はデアサートするプリフェッ
チ要求信号生成回路である。100,101は命令実行
ユニット2からレジスタ装置1へのアクセスにおけるア
クセス要求信号、リード/ライト信号であり、102は
ポインタ属性をセット/リセットするためのポインタ属
性制御信号、103はメモリ部9のエントリを選択する
ためのアドレスバス、104はポインタ属性フィールド
に対する読みだし、書き込みを行なうためのポインタ属
性信号、105はデータフィールド10に対する読みだ
し、書き込みを行なうためのデータバス、106は命令
実行ユニットからレジスタ装置1への書き込みによるプ
リフェッチを発生させるためのプリフェッチイネーブル
信号、107はレジスタ装置1からデータキャッシュメ
モリ3へのプリフェッチ要求信号、200はデータフィ
ールド10に対するリードもしくはライトを制御するリ
ード/ライト信号、201はポインタ属性フィールド1
1に対するリードもしくはライトを制御するリード/ラ
イト信号である。110は命令実行ユニット2とデータ
キャッシュメモリ3の間のデータ転送手段であり、12
0はデータキャッシュメモリ3と主記憶装置4の間のデ
ータ転送手段である。
実行ユニット、3はデータキャッシュメモリ、4は主記
憶装置である。また、9はレジスタ装置1のメモリ部、
10,11はそれぞれ、メモリ部9のデータフィール
ド、ポインタ属性フィールド、12は書き込み検出回路
を含んだレジスタ装置1の制御回路、13はポインタ属
性信号104が1でプリフェッチイネーブル信号106
がアサートされている場合はプリフェッチ要求信号10
7をアサートし、それ以外はデアサートするプリフェッ
チ要求信号生成回路である。100,101は命令実行
ユニット2からレジスタ装置1へのアクセスにおけるア
クセス要求信号、リード/ライト信号であり、102は
ポインタ属性をセット/リセットするためのポインタ属
性制御信号、103はメモリ部9のエントリを選択する
ためのアドレスバス、104はポインタ属性フィールド
に対する読みだし、書き込みを行なうためのポインタ属
性信号、105はデータフィールド10に対する読みだ
し、書き込みを行なうためのデータバス、106は命令
実行ユニットからレジスタ装置1への書き込みによるプ
リフェッチを発生させるためのプリフェッチイネーブル
信号、107はレジスタ装置1からデータキャッシュメ
モリ3へのプリフェッチ要求信号、200はデータフィ
ールド10に対するリードもしくはライトを制御するリ
ード/ライト信号、201はポインタ属性フィールド1
1に対するリードもしくはライトを制御するリード/ラ
イト信号である。110は命令実行ユニット2とデータ
キャッシュメモリ3の間のデータ転送手段であり、12
0はデータキャッシュメモリ3と主記憶装置4の間のデ
ータ転送手段である。
【0012】以上のように構成されたレジスタ装置の動
作を図1に基づいて、図2のプログラム順に説明する。
なお、本実施例におけるレジスタ装置1は4つエントリ
を有し、4つのレジスタに対応している。4つのレジス
タはそれぞれ、レジスタr0,r1,r2,r3という名称で呼ぶ
ものとする。
作を図1に基づいて、図2のプログラム順に説明する。
なお、本実施例におけるレジスタ装置1は4つエントリ
を有し、4つのレジスタに対応している。4つのレジス
タはそれぞれ、レジスタr0,r1,r2,r3という名称で呼ぶ
ものとする。
【0013】(1)pointer r0 レジスタr0のポインタ属性をセットする命令である。こ
の命令により命令実行ユニット2はアクセス要求信号1
00とポインタ属性制御信号102をアサートし、アド
レスバス103にレジスタr0のアドレスを出力し、ポイ
ンタ属性信号104に1を出力する。制御回路12はア
クセス要求信号100とポインタ属性制御信号102が
アサートされているので、リード/ライト信号201を
ライトイネーブルにする。リード/ライト信号201に
よりメモリ部9はポインタ属性フィールド11のアドレ
スバス103により選択されているエントリにポインタ
属性信号104の値を書き込む。このことにより、命令
実行ユニット2はレジスタr0のポインタ属性ビットに1
を書き込む。
の命令により命令実行ユニット2はアクセス要求信号1
00とポインタ属性制御信号102をアサートし、アド
レスバス103にレジスタr0のアドレスを出力し、ポイ
ンタ属性信号104に1を出力する。制御回路12はア
クセス要求信号100とポインタ属性制御信号102が
アサートされているので、リード/ライト信号201を
ライトイネーブルにする。リード/ライト信号201に
よりメモリ部9はポインタ属性フィールド11のアドレ
スバス103により選択されているエントリにポインタ
属性信号104の値を書き込む。このことにより、命令
実行ユニット2はレジスタr0のポインタ属性ビットに1
を書き込む。
【0014】(2)data r1 レジスタr1のポインタ属性をリセットする命令である。
この命令により命令実行ユニット2はアクセス要求信号
100とポインタ属性制御信号102をアサートし、ア
ドレスバス103にレジスタr1のアドレスを出力し、ポ
インタ属性信号104に0を出力する。制御回路12は
アクセス要求信号100とポインタ属性制御信号102
がアサートされているので、リード/ライト信号201
をライトイネーブルにする。リード/ライト信号201
によりメモリ部9はポインタ属性フィールド11のアド
レスバス103により選択されているエントリにポイン
タ属性信号104の値を書き込む。このことにより、命
令実行ユニット2はレジスタr1のポインタ属性ビットに
0を書き込む。
この命令により命令実行ユニット2はアクセス要求信号
100とポインタ属性制御信号102をアサートし、ア
ドレスバス103にレジスタr1のアドレスを出力し、ポ
インタ属性信号104に0を出力する。制御回路12は
アクセス要求信号100とポインタ属性制御信号102
がアサートされているので、リード/ライト信号201
をライトイネーブルにする。リード/ライト信号201
によりメモリ部9はポインタ属性フィールド11のアド
レスバス103により選択されているエントリにポイン
タ属性信号104の値を書き込む。このことにより、命
令実行ユニット2はレジスタr1のポインタ属性ビットに
0を書き込む。
【0015】(3)set r0,ADDR レジスタr0にアドレスADDRをセットする命令である。ア
ドレスADDRは後にレジスタr2に得られるデータの格納さ
れているアドレスである。この命令により命令実行ユニ
ット2はアクセス要求信号100をアサートし、リード
/ライト信号101をライトイネーブルにし、アドレス
バス103にレジスタr0のアドレスを出力し、データバ
ス105にアドレスADDRの値を出力する。制御回路12
はアクセス要求信号100がアサートされており、リー
ド/ライト信号101がライトイネーブルになっている
のでリード/ライト信号200をライトイネーブルにす
る。リード/ライト信号200によりメモリ部9はデー
タフィールド10のアドレスバス103により選択され
ているエントリにデータバス105の値を書き込む。
ドレスADDRは後にレジスタr2に得られるデータの格納さ
れているアドレスである。この命令により命令実行ユニ
ット2はアクセス要求信号100をアサートし、リード
/ライト信号101をライトイネーブルにし、アドレス
バス103にレジスタr0のアドレスを出力し、データバ
ス105にアドレスADDRの値を出力する。制御回路12
はアクセス要求信号100がアサートされており、リー
ド/ライト信号101がライトイネーブルになっている
のでリード/ライト信号200をライトイネーブルにす
る。リード/ライト信号200によりメモリ部9はデー
タフィールド10のアドレスバス103により選択され
ているエントリにデータバス105の値を書き込む。
【0016】さらに、制御回路12はリード/ライト信
号200,201をリードイネーブルにしプリフェッチ
イネーブル信号106をアサートする。リード/ライト
信号200、201によりメモリ部9はデータフィール
ド10およびポインタ属性フィールド11のアドレスバ
ス103により選択されているエントリのデータをデー
タバス105に、ポインタ属性をポインタ属性信号10
4に出力する。ポインタ属性信号104とプリフェッチ
イネーブル信号106はプリフェッチ要求信号生成回路
13に入力され、ポインタ属性信号103が1でプリフ
ェッチイネーブル信号106がアサートされていること
からプリフェッチ要求信号107をアサートする。デー
タキャッシュメモリ3はプリフェッチ要求信号107が
アサートされるとデータバス(プリフェッチアドレスバ
ス)105をアドレスとしたプリフェッチを行なう。プ
リフェッチは要求されたアドレスがデータキャッシュメ
モリ3にない場合、主記憶装置4からデータを読みだし
データキャッシュメモリ3に格納するものである。この
ことにより、アドレスADDRをアドレスとするデータをデ
ータキャッシュメモリ3にプリフェッチすることができ
る。また、次回以降のレジスタr0の値の変更でも同様に
自動的にプリフェッチが行なわれ、それはポインタ属性
がリセットされるまで続く。この命令の後、データキャ
ッシュメモリ3がプリフェッチを行なっている間、命令
実行ユニット2は他の命令を実行することができるた
め、プリフェッチが完了するまでの数命令はメモリアク
セス、ポインタの変更を行なわない命令を実行している
ものとする。
号200,201をリードイネーブルにしプリフェッチ
イネーブル信号106をアサートする。リード/ライト
信号200、201によりメモリ部9はデータフィール
ド10およびポインタ属性フィールド11のアドレスバ
ス103により選択されているエントリのデータをデー
タバス105に、ポインタ属性をポインタ属性信号10
4に出力する。ポインタ属性信号104とプリフェッチ
イネーブル信号106はプリフェッチ要求信号生成回路
13に入力され、ポインタ属性信号103が1でプリフ
ェッチイネーブル信号106がアサートされていること
からプリフェッチ要求信号107をアサートする。デー
タキャッシュメモリ3はプリフェッチ要求信号107が
アサートされるとデータバス(プリフェッチアドレスバ
ス)105をアドレスとしたプリフェッチを行なう。プ
リフェッチは要求されたアドレスがデータキャッシュメ
モリ3にない場合、主記憶装置4からデータを読みだし
データキャッシュメモリ3に格納するものである。この
ことにより、アドレスADDRをアドレスとするデータをデ
ータキャッシュメモリ3にプリフェッチすることができ
る。また、次回以降のレジスタr0の値の変更でも同様に
自動的にプリフェッチが行なわれ、それはポインタ属性
がリセットされるまで続く。この命令の後、データキャ
ッシュメモリ3がプリフェッチを行なっている間、命令
実行ユニット2は他の命令を実行することができるた
め、プリフェッチが完了するまでの数命令はメモリアク
セス、ポインタの変更を行なわない命令を実行している
ものとする。
【0017】(4)load r2,[r0] レジスタr0の値をアドレスとするデータをレジスタr2に
格納する命令である。命令実行ユニット2はアクセス要
求信号100をアサートし、リード/ライト信号101
をリードイネーブルにし、アドレスバス103にレジス
タr0のアドレスを出力する。制御回路12はリード/ラ
イト信号200をリードイネーブルにし、メモリ部9は
データフィールド10のアドレスバス103で選択され
ているエントリのデータをデータバス105に出力す
る。命令実行ユニット2はデータバス105のデータを
アドレスとしてデータキャッシュメモリ3からリードす
る。この場合命令(3)でプリフェッチがなされている
のでデータキャッシュメモリ3ではヒットし、データを
すぐに読み出すことができる。次に、命令実行ユニット
2はアクセス要求信号100をアサートし、リード/ラ
イト信号101をライトイネーブルにし、アドレスバス
103にレジスタr2のアドレスを出力し、データバス1
05に先ほどデータキャッシュメモリ3から読み出した
データを出力する。制御回路12はアクセス要求信号1
00がアサートされており、リード/ライト信号101
がライトイネーブルになっているので、リード/ライト
信号200をライトイネーブルにする。メモリ部9はデ
ータフィールド10のアドレスバス103で選択されて
いるエントリにデータバス105のデータを書き込む。
こうすることで、レジスタr0をアドレスとするデータを
データキャッシュメモリ3がミスヒットすることなく、
レジスタr2に格納することができる。ここで、load r2,
[r0+4]のような実効アドレスの場合でもデータキャッシ
ュメモリ3の1ライン内にあればデータキャッシュメモ
リ3は同様にヒットする。
格納する命令である。命令実行ユニット2はアクセス要
求信号100をアサートし、リード/ライト信号101
をリードイネーブルにし、アドレスバス103にレジス
タr0のアドレスを出力する。制御回路12はリード/ラ
イト信号200をリードイネーブルにし、メモリ部9は
データフィールド10のアドレスバス103で選択され
ているエントリのデータをデータバス105に出力す
る。命令実行ユニット2はデータバス105のデータを
アドレスとしてデータキャッシュメモリ3からリードす
る。この場合命令(3)でプリフェッチがなされている
のでデータキャッシュメモリ3ではヒットし、データを
すぐに読み出すことができる。次に、命令実行ユニット
2はアクセス要求信号100をアサートし、リード/ラ
イト信号101をライトイネーブルにし、アドレスバス
103にレジスタr2のアドレスを出力し、データバス1
05に先ほどデータキャッシュメモリ3から読み出した
データを出力する。制御回路12はアクセス要求信号1
00がアサートされており、リード/ライト信号101
がライトイネーブルになっているので、リード/ライト
信号200をライトイネーブルにする。メモリ部9はデ
ータフィールド10のアドレスバス103で選択されて
いるエントリにデータバス105のデータを書き込む。
こうすることで、レジスタr0をアドレスとするデータを
データキャッシュメモリ3がミスヒットすることなく、
レジスタr2に格納することができる。ここで、load r2,
[r0+4]のような実効アドレスの場合でもデータキャッシ
ュメモリ3の1ライン内にあればデータキャッシュメモ
リ3は同様にヒットする。
【0018】(5)set r1,DATA レジスタr1にデータDATAをセットする命令である。この
命令により命令実行ユニット2はアクセス要求信号10
0をアサートし、リード/ライト信号101をライトイ
ネーブルにし、アドレスバス103にレジスタr1のアド
レスを出力し、データバス105にデータDATAの値を出
力する。制御回路12はアクセス要求信号100がアサ
ートされており、リード/ライト信号101がライトイ
ネーブルになっているのでリード/ライト信号200を
ライトイネーブルにする。リード/ライト信号200に
よりメモリ部9はデータフィールド10のアドレスバス
103により選択されているエントリにデータバス10
5の値を書き込む。さらに、制御回路12はリード/ラ
イト信号200,201をリードイネーブルにしプリフ
ェッチイネーブル信号106をアサートする。メモリ部
9はデータフィールド10およびポインタ属性フィール
ド11のアドレスバス103により選択されているエン
トリのデータをデータバス105に、ポインタ属性をポ
インタ属性信号104に出力する。ポインタ属性信号1
03とプリフェッチイネーブル信号106はプリフェッ
チ要求信号生成回路13に入力され、ポインタ属性信号
103が0でプリフェッチイネーブル信号106がアサ
ートされているのでプリフェッチ要求信号107をデア
サートする。データキャッシュメモリ3はプリフェッチ
要求信号107がデアサートされているのでプリフェッ
チは実行しない。
命令により命令実行ユニット2はアクセス要求信号10
0をアサートし、リード/ライト信号101をライトイ
ネーブルにし、アドレスバス103にレジスタr1のアド
レスを出力し、データバス105にデータDATAの値を出
力する。制御回路12はアクセス要求信号100がアサ
ートされており、リード/ライト信号101がライトイ
ネーブルになっているのでリード/ライト信号200を
ライトイネーブルにする。リード/ライト信号200に
よりメモリ部9はデータフィールド10のアドレスバス
103により選択されているエントリにデータバス10
5の値を書き込む。さらに、制御回路12はリード/ラ
イト信号200,201をリードイネーブルにしプリフ
ェッチイネーブル信号106をアサートする。メモリ部
9はデータフィールド10およびポインタ属性フィール
ド11のアドレスバス103により選択されているエン
トリのデータをデータバス105に、ポインタ属性をポ
インタ属性信号104に出力する。ポインタ属性信号1
03とプリフェッチイネーブル信号106はプリフェッ
チ要求信号生成回路13に入力され、ポインタ属性信号
103が0でプリフェッチイネーブル信号106がアサ
ートされているのでプリフェッチ要求信号107をデア
サートする。データキャッシュメモリ3はプリフェッチ
要求信号107がデアサートされているのでプリフェッ
チは実行しない。
【0019】上記したように、各レジスタのポインタ属
性を命令により設定することができ、ポインタ属性の設
定されたレジスタが更新された場合だけプリフェッチを
行なう。
性を命令により設定することができ、ポインタ属性の設
定されたレジスタが更新された場合だけプリフェッチを
行なう。
【0020】なお、本実施例ではロード命令の例を示し
ているが、ストア命令の場合も同様である。
ているが、ストア命令の場合も同様である。
【0021】
【発明の効果】以上説明したように、本発明は各レジス
タのポインタ属性を命令により設定することができ、ポ
インタ属性の設定されたレジスタに更新があった場合だ
けプリフェッチを行なう。従って、従来のレジスタ装置
にあった場合のようにすべてのレジスタ更新でプリフェ
ッチする場合と比較して、無駄なプリフェッチの実行時
間が不要であるため効果的にプリフェッチすることがで
き、性能を向上できる。
タのポインタ属性を命令により設定することができ、ポ
インタ属性の設定されたレジスタに更新があった場合だ
けプリフェッチを行なう。従って、従来のレジスタ装置
にあった場合のようにすべてのレジスタ更新でプリフェ
ッチする場合と比較して、無駄なプリフェッチの実行時
間が不要であるため効果的にプリフェッチすることがで
き、性能を向上できる。
【0022】また、従来のレジスタ装置にある無駄なプ
リフェッチにより、データキャッシュメモリに使用され
ないデータが格納されることでヒット率が低下すること
も回避できその効果は大きい。
リフェッチにより、データキャッシュメモリに使用され
ないデータが格納されることでヒット率が低下すること
も回避できその効果は大きい。
【図1】本発明の実施例におけるレジスタ装置を用いた
システムブロック図
システムブロック図
【図2】本発明の実施例における動作例を示すプログラ
ムを示す説明図
ムを示す説明図
【図3】本発明の従来例におけるレジスタ装置を用いた
システムブロック図
システムブロック図
【図4】本発明の従来例における動作例を示すプログラ
ムを示す説明図
ムを示す説明図
1 レジスタ装置 2 命令実行ユニット 3 データキャッシュメモリ 4 主記憶装置 9 レジスタ装置のメモリ部 10 メモリ部9のデータフィールド 11 メモリ部9のポインタ属性フィールド 12 書き込み検出回路を含んた制御回路 13 プリフェッチ要求信号生成回路 100 アクセス要求信号 101 リード・ライト信号 102 ポインタ属性制御信号 103 アドレスバス 104 ポインタ属性信号 105 データバス
Claims (1)
- 【請求項1】プロセッサのレジスタにおいて、複数のエ
ントリを有し、 前記各エントリに、 前記プロセッサの命令実行ユニットにより読みだし、書
き込み可能なデータを保持するフィールドと前記命令実
行ユニットにより書き込み可能なポインタ属性を保持す
るフィールドを有するメモリ部と、 前記メモリ部へ前記命令実行ユニットからの書き込みが
あったことを検出する書き込み検出回路と、 書き込みが検出されたとき書き込みのあった前記エント
リの前記データフィールドのデータと前記ポインタ属性
フィールドのポインタ属性を読み出す手段と、 前記ポインタ属性がセットされている場合はデータキャ
ッシュメモリに対し前記読みだしデータをプリフェッチ
アドレスとするプリフェッチ要求を出す手段とを有する
ことを特徴とするレジスタ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5287939A JP2927160B2 (ja) | 1993-11-17 | 1993-11-17 | レジスタ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5287939A JP2927160B2 (ja) | 1993-11-17 | 1993-11-17 | レジスタ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07141174A true JPH07141174A (ja) | 1995-06-02 |
| JP2927160B2 JP2927160B2 (ja) | 1999-07-28 |
Family
ID=17723698
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5287939A Expired - Fee Related JP2927160B2 (ja) | 1993-11-17 | 1993-11-17 | レジスタ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2927160B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
| CN111639042A (zh) * | 2020-06-04 | 2020-09-08 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
-
1993
- 1993-11-17 JP JP5287939A patent/JP2927160B2/ja not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
| CN111639042A (zh) * | 2020-06-04 | 2020-09-08 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
| CN111639042B (zh) * | 2020-06-04 | 2023-06-02 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2927160B2 (ja) | 1999-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
| US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
| US20090132749A1 (en) | Cache memory system | |
| JPH11175391A (ja) | フラッシュメモリにおける書込み/消去機能を拡張するための方法および装置 | |
| US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
| US5161219A (en) | Computer system with input/output cache | |
| US5367657A (en) | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems | |
| KR100505695B1 (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
| US6976130B2 (en) | Cache controller unit architecture and applied method | |
| JPH07114500A (ja) | 不揮発性メモリ記憶装置 | |
| JP3164732B2 (ja) | データ処理装置 | |
| JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
| US7577791B2 (en) | Virtualized load buffers | |
| KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
| JP2927160B2 (ja) | レジスタ装置 | |
| US9645825B2 (en) | Instruction cache with access locking | |
| JP3971807B2 (ja) | キャッシュ記憶装置および方法 | |
| JPH07234819A (ja) | キャッシュメモリ | |
| JPH06149669A (ja) | キャッシュデータ転送方式およびキャッシュデータ転送装置 | |
| JPH07152650A (ja) | キャッシュ制御装置 | |
| JPH0628258A (ja) | マイクロプロセッサ | |
| JP2001344152A (ja) | キャッシュメモリ装置 | |
| JP3799451B2 (ja) | 電子計算機システム | |
| US7840757B2 (en) | Method and apparatus for providing high speed memory for a processing unit | |
| JP3729832B2 (ja) | キャッシュメモリ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |