JP3259969B2 - キャッシュメモリ制御装置 - Google Patents
キャッシュメモリ制御装置Info
- Publication number
- JP3259969B2 JP3259969B2 JP16790391A JP16790391A JP3259969B2 JP 3259969 B2 JP3259969 B2 JP 3259969B2 JP 16790391 A JP16790391 A JP 16790391A JP 16790391 A JP16790391 A JP 16790391A JP 3259969 B2 JP3259969 B2 JP 3259969B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache memory
- storage unit
- memory
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
Description
【0001】
【産業上の利用分野】本発明は、キャッシュメモリ制御
装置に関する。
装置に関する。
【0002】
【従来の技術】データの論理アドレスに基づいてヒット
またはミスヒットを判別するキャッシュメモリ制御装置
において、図1に示すように(図1は本発明の回路図で
あるが、一部は従来例と共通するのでその部分について
援用して説明する)キャッシュメモリ3の論理アドレス
のブロックLA1が実際にデータの記憶されている主記
憶部7の物理アドレスのブロックPA1を指していると
する。この場合、キャッシュメモリ制御装置は、マイク
ロプロセッサ1が論理アドレスのブロックLA1をアク
セスする場合、キャッシュメモリ3に当該ブロックLA
1の指す物理アドレスのブロックPA1のデータが主記
憶部7からコピーされていなければミスヒットが発生し
て、主記憶部7の物理アドレスのブロックPA1をキャ
ッシュメモリ3に転送してブロックLA1に格納する。
またはミスヒットを判別するキャッシュメモリ制御装置
において、図1に示すように(図1は本発明の回路図で
あるが、一部は従来例と共通するのでその部分について
援用して説明する)キャッシュメモリ3の論理アドレス
のブロックLA1が実際にデータの記憶されている主記
憶部7の物理アドレスのブロックPA1を指していると
する。この場合、キャッシュメモリ制御装置は、マイク
ロプロセッサ1が論理アドレスのブロックLA1をアク
セスする場合、キャッシュメモリ3に当該ブロックLA
1の指す物理アドレスのブロックPA1のデータが主記
憶部7からコピーされていなければミスヒットが発生し
て、主記憶部7の物理アドレスのブロックPA1をキャ
ッシュメモリ3に転送してブロックLA1に格納する。
【0003】ここで、UNIXマシンのようなマルチタ
スキングシステムで、かつ特にライトバック方式のキャ
ッシュメモリ管理を行うシステムにおいて、マルチタス
キングを行っている時に発生するのであるが、タスクT
A1による論理アドレスのブロックLA1とタスクTA
2による論理アドレスのブロックLA2が主記憶部7の
同じ1つの物理アドレスのブロックPA1を指定する場
合、キャッシュメモリ制御装置は、まず先のタスクTA
1でキャッシュメモリ3のブロックLA1に主記憶部7
の物理アドレスPA1のデータが書き込まる。次のタス
クTA2では論理アドレスのブロックLA2によりキャ
ッシュメモリ3をアクセスする時に主記憶部7の物理ア
ドレスの同じブロックPA1のデータを用いると、この
データが書き換えられてしまい、論理アドレスのブロッ
クLA1のデータと物理アドレスのブロックPA1のデ
ータとが一致しなくなる。このような状態で、タスクT
A2に続いて、再びタスクTA1を実行して論理アドレ
スのブロックLA1のデータを用いると、実際の主記憶
部7の対応する物理アドレスのブロックPA1のデータ
とは異なったものを用いることになる不都合が発生す
る。
スキングシステムで、かつ特にライトバック方式のキャ
ッシュメモリ管理を行うシステムにおいて、マルチタス
キングを行っている時に発生するのであるが、タスクT
A1による論理アドレスのブロックLA1とタスクTA
2による論理アドレスのブロックLA2が主記憶部7の
同じ1つの物理アドレスのブロックPA1を指定する場
合、キャッシュメモリ制御装置は、まず先のタスクTA
1でキャッシュメモリ3のブロックLA1に主記憶部7
の物理アドレスPA1のデータが書き込まる。次のタス
クTA2では論理アドレスのブロックLA2によりキャ
ッシュメモリ3をアクセスする時に主記憶部7の物理ア
ドレスの同じブロックPA1のデータを用いると、この
データが書き換えられてしまい、論理アドレスのブロッ
クLA1のデータと物理アドレスのブロックPA1のデ
ータとが一致しなくなる。このような状態で、タスクT
A2に続いて、再びタスクTA1を実行して論理アドレ
スのブロックLA1のデータを用いると、実際の主記憶
部7の対応する物理アドレスのブロックPA1のデータ
とは異なったものを用いることになる不都合が発生す
る。
【0004】このような事態を避けるために、各タスク
TA1,TA2においてマイクロプロセッサ1は処理デ
ータをいずれかの記憶部に格納する際に、キャッシュメ
モリ3にミスヒットが発生すると一律にキャッシュメモ
リ3のデータを無効にする処理を行うことにしている。
TA1,TA2においてマイクロプロセッサ1は処理デ
ータをいずれかの記憶部に格納する際に、キャッシュメ
モリ3にミスヒットが発生すると一律にキャッシュメモ
リ3のデータを無効にする処理を行うことにしている。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のキャッシュメモリ制御装置では、1つのタス
クを終了して別のタスクを実行しようとする時には、一
律にキャッシュメモリを無効にするようにしていたため
に、例えば、ビデオ画像の処理やプリンタ出力の処理の
ようにキャッシュメモリを使用しないでマイクロプロセ
ッサから直接にビデオRAMまたはI/Oメモリのよう
な補助記憶部に書出すような場合にも、キャッシャメモ
リの内容と主記憶部の内容との一致が保たれるのにかか
わらずキャッシュメモリのデータを不必要に無効にして
いた。この結果として、さらに別のタスクを実行してキ
ャッシュメモリのデータを読出そうとする際にミスヒッ
トが起こり、あらためてキャッシュメモリに主記憶部の
データをロードする必要が起こり、それだけキャッシュ
メモリに主記憶部からデータを転送するブロック転送の
回数が多くなり、コンピュータの処理の高速化を妨げる
問題点があった。
うな従来のキャッシュメモリ制御装置では、1つのタス
クを終了して別のタスクを実行しようとする時には、一
律にキャッシュメモリを無効にするようにしていたため
に、例えば、ビデオ画像の処理やプリンタ出力の処理の
ようにキャッシュメモリを使用しないでマイクロプロセ
ッサから直接にビデオRAMまたはI/Oメモリのよう
な補助記憶部に書出すような場合にも、キャッシャメモ
リの内容と主記憶部の内容との一致が保たれるのにかか
わらずキャッシュメモリのデータを不必要に無効にして
いた。この結果として、さらに別のタスクを実行してキ
ャッシュメモリのデータを読出そうとする際にミスヒッ
トが起こり、あらためてキャッシュメモリに主記憶部の
データをロードする必要が起こり、それだけキャッシュ
メモリに主記憶部からデータを転送するブロック転送の
回数が多くなり、コンピュータの処理の高速化を妨げる
問題点があった。
【0006】本発明はこのような従来の問題点に鑑みて
なされたもので、その目的は、不必要なキャッシュメモ
リの無効処理を防止することにより、キャッシュメモリ
のヒット率を向上させ、コンピュータとしての処理速度
の高速化が図れるキャッシュメモリ制御装置を提供する
ことにある。
なされたもので、その目的は、不必要なキャッシュメモ
リの無効処理を防止することにより、キャッシュメモリ
のヒット率を向上させ、コンピュータとしての処理速度
の高速化が図れるキャッシュメモリ制御装置を提供する
ことにある。
【0007】
【課題を解決するための手段】請求項1の発明のキャッ
シュメモリ制御装置は、ページ単位に物理アドレスごと
にデータを記憶する主記憶部及び補助記憶部と、前記物
理アドレスと論理アドレスとの変換対応を記憶するアド
レス変換テーブルと、前記主記憶部に記憶されているデ
ータの一部を前記論理アドレスを付して記憶するキャッ
シュメモリと、マイクロプロセッサによる1つのタスク
の終了時に前記キャッシュメモリのデータを無効にする
メモリ無効手段と、前記マイクロプロセッサから出力さ
れるデータ各々についてその格納先の記憶部の種類に応
じた識別コードを付与する手段と、1つのタスクを終了
して前記マイクロプロセッサからあるデータを前記主記
憶部または前記補助記憶部に格納する際に、当該データ
に付与されている前記識別コードに基づき、前記補助記
憶部に格納するデータである場合には前記キャッシュメ
モリの無効手段により前記キャッシュメモリのデータを
無効にすることを禁止するメモリ無効禁止手段とを備え
たものである。
シュメモリ制御装置は、ページ単位に物理アドレスごと
にデータを記憶する主記憶部及び補助記憶部と、前記物
理アドレスと論理アドレスとの変換対応を記憶するアド
レス変換テーブルと、前記主記憶部に記憶されているデ
ータの一部を前記論理アドレスを付して記憶するキャッ
シュメモリと、マイクロプロセッサによる1つのタスク
の終了時に前記キャッシュメモリのデータを無効にする
メモリ無効手段と、前記マイクロプロセッサから出力さ
れるデータ各々についてその格納先の記憶部の種類に応
じた識別コードを付与する手段と、1つのタスクを終了
して前記マイクロプロセッサからあるデータを前記主記
憶部または前記補助記憶部に格納する際に、当該データ
に付与されている前記識別コードに基づき、前記補助記
憶部に格納するデータである場合には前記キャッシュメ
モリの無効手段により前記キャッシュメモリのデータを
無効にすることを禁止するメモリ無効禁止手段とを備え
たものである。
【0008】請求項2の発明は、請求項1のキャッシュ
メモリ制御装置において、前記補助記憶部は、ビデオR
AMまたは/及びI/Oメモリであることを特徴とする
ものである。
メモリ制御装置において、前記補助記憶部は、ビデオR
AMまたは/及びI/Oメモリであることを特徴とする
ものである。
【0009】
【作用】請求項1および2の発明のキャッシャメモリ制
御装置では、マイクロプロセッサがある1つのタスクを
終了してデータをいずれかの記憶部に格納する際に、当
該データに付与されている識別コードに基づいて格納先
の記憶部の種類を識別し、当該データが主記憶部に格納
するものである場合には、ミスヒットが発生した時にキ
ャッシュメモリのデータを無効とするが、当該データが
補助記憶部に格納するものである場合にはキャッシュメ
モリの無効処理を禁止する。
御装置では、マイクロプロセッサがある1つのタスクを
終了してデータをいずれかの記憶部に格納する際に、当
該データに付与されている識別コードに基づいて格納先
の記憶部の種類を識別し、当該データが主記憶部に格納
するものである場合には、ミスヒットが発生した時にキ
ャッシュメモリのデータを無効とするが、当該データが
補助記憶部に格納するものである場合にはキャッシュメ
モリの無効処理を禁止する。
【0010】これによって特に、ビデオRAMやI/O
メモリのような補助記憶部に格納するデータのようにマ
イクロプロセッサから直接に補助記憶部に格納するデー
タを書き出す時にはキャッシュメモリのデータを無効処
理しないようにし、以後に主記憶部からキャッシュメモ
リにいったん無効にした同じデータを再ロードする機会
を少なくし、コンピュータとしての処理速度の高速化を
図る。
メモリのような補助記憶部に格納するデータのようにマ
イクロプロセッサから直接に補助記憶部に格納するデー
タを書き出す時にはキャッシュメモリのデータを無効処
理しないようにし、以後に主記憶部からキャッシュメモ
リにいったん無効にした同じデータを再ロードする機会
を少なくし、コンピュータとしての処理速度の高速化を
図る。
【0011】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1は本発明のキャッシュメモリ制御装置に係
る一実施例の制御を示すブロック図である。
明する。図1は本発明のキャッシュメモリ制御装置に係
る一実施例の制御を示すブロック図である。
【0012】同図において、マイクロプロセッサ(MP
1)1は、後述する論理アドレス空間5の論理アドレス
のブロックLA1,LA2,LA3,…よりキャッシュ
メモリ3をアクセスする等の制御を実行する。
1)1は、後述する論理アドレス空間5の論理アドレス
のブロックLA1,LA2,LA3,…よりキャッシュ
メモリ3をアクセスする等の制御を実行する。
【0013】キャッシュメモリ3は、論理アドレスによ
りページ割付けを指定され、後述する主記憶部7に記憶
されているデータの一部を記憶してマイクロプロセッサ
1による高速なアクセスを可能にするものである。
りページ割付けを指定され、後述する主記憶部7に記憶
されているデータの一部を記憶してマイクロプロセッサ
1による高速なアクセスを可能にするものである。
【0014】論理アドレス空間5は、ユーザーにより指
定される論理アドレスと主記憶部7、ビデオRAM9、
I/Oメモリ11等の記憶部の物理アドレスとの対応関
係を管理し、またキャッシュメモリ3との論理アドレス
のブロック単位の対応付けを管理している。
定される論理アドレスと主記憶部7、ビデオRAM9、
I/Oメモリ11等の記憶部の物理アドレスとの対応関
係を管理し、またキャッシュメモリ3との論理アドレス
のブロック単位の対応付けを管理している。
【0015】主記憶部7は、物理アドレスにデータを記
憶しており、キャッシュメモリ3に対応してブロックP
A1,PA2,…の単位に区切れられている。例えば、
あるタスクでは、主記憶部7の物理アドレスのブロック
PA1に対して論理アドレス空間5の論理アドレスのブ
ロックLA1が、物理アドレスのブロックPA2に対し
て論理アドレス空間5の論理アドレスのブロックLA2
がそれぞれ対応させられる。また別のタスクでは、論理
アドレスのブロックLA2と物理アドレスのブロックP
A1が対応させられることもある。これらの論理アドレ
ス空間5の内容は仮想記憶管理ユニット15によって管
理される。
憶しており、キャッシュメモリ3に対応してブロックP
A1,PA2,…の単位に区切れられている。例えば、
あるタスクでは、主記憶部7の物理アドレスのブロック
PA1に対して論理アドレス空間5の論理アドレスのブ
ロックLA1が、物理アドレスのブロックPA2に対し
て論理アドレス空間5の論理アドレスのブロックLA2
がそれぞれ対応させられる。また別のタスクでは、論理
アドレスのブロックLA2と物理アドレスのブロックP
A1が対応させられることもある。これらの論理アドレ
ス空間5の内容は仮想記憶管理ユニット15によって管
理される。
【0016】ビデオRAM9は、CRT(図示せず)に
表示するための画像データを所定の物理アドレスに同じ
くブロック単位で記憶するものである。I/Oメモリ1
1は、各種のI/O用のデータを所定の物理アドレスに
同じくブロック単位で記憶するものである。これらのビ
デオRAM9、I/Oメモリ11のデータはキャッシュ
メモリ3に記憶されることはなく、マイクロプロセッサ
1の指示の下にメモリコントローラ13によってマイク
ロプロセッサ1から直接に格納されるデータである。
表示するための画像データを所定の物理アドレスに同じ
くブロック単位で記憶するものである。I/Oメモリ1
1は、各種のI/O用のデータを所定の物理アドレスに
同じくブロック単位で記憶するものである。これらのビ
デオRAM9、I/Oメモリ11のデータはキャッシュ
メモリ3に記憶されることはなく、マイクロプロセッサ
1の指示の下にメモリコントローラ13によってマイク
ロプロセッサ1から直接に格納されるデータである。
【0017】メモリコントローラ13は、主記憶部7、
ビデオRAM9およびI/Oメモリ11に対するデータ
の読出し、書込み等の制御を実行する。
ビデオRAM9およびI/Oメモリ11に対するデータ
の読出し、書込み等の制御を実行する。
【0018】仮想記憶管理ユニット(以下、MMUとい
う。)15は、論理アドレス空間5の各ページ(ブロッ
クと同じ)毎の制御情報を保持するものである。つま
り、キャッシュメモリ3上の論理アドレスと主記憶部7
の物理アドレスとの対応関係を管理する。
う。)15は、論理アドレス空間5の各ページ(ブロッ
クと同じ)毎の制御情報を保持するものである。つま
り、キャッシュメモリ3上の論理アドレスと主記憶部7
の物理アドレスとの対応関係を管理する。
【0019】ここで、制御情報を図2(a)および
(b)を用いて説明する。上記MMU15は、図2
(a)に示すタグメモリのテーブル21を備えていて、
当該テーブル21の、例えば、2ライン目に物理アドレ
スのブロックPA1および主記憶部7、ビデオRAM9
またはI/Oメモリ11のいずれに格納されるデータで
あるかを識別させるための識別コードとしてのmode
(モード)の値が記憶されている。また例えば、3ライ
ン目には物理アドレスのブロックPA2およびそのmo
deの値が記憶されている。MMU15はまた、テーブ
ル21のmodeの値が「1」のとき主記憶部7を示
し、modeの値が「2」のときビデオRAM9を示
し、modeの値が「3」のときI/Oメモリ11を示
すテーブル23を備えている。
(b)を用いて説明する。上記MMU15は、図2
(a)に示すタグメモリのテーブル21を備えていて、
当該テーブル21の、例えば、2ライン目に物理アドレ
スのブロックPA1および主記憶部7、ビデオRAM9
またはI/Oメモリ11のいずれに格納されるデータで
あるかを識別させるための識別コードとしてのmode
(モード)の値が記憶されている。また例えば、3ライ
ン目には物理アドレスのブロックPA2およびそのmo
deの値が記憶されている。MMU15はまた、テーブ
ル21のmodeの値が「1」のとき主記憶部7を示
し、modeの値が「2」のときビデオRAM9を示
し、modeの値が「3」のときI/Oメモリ11を示
すテーブル23を備えている。
【0020】そしてMMU15は、マイクロプロセッサ
1からデータが書出される時に物理アドレスのPA1が
指定されると、テーブル21の2ライン目を読出す。ま
た、マイクロプロセッサ1から書出されるデータの格納
先の物理アドレスのブロックPA2が指定されると、M
MU15はテーブル21の3ライン目を読出す。そし
て、物理アドレスのブロックPA1,PA2それぞれの
modeの値を検索して、当該modeの示す値をテー
ブル23から検索することにより、データの格納先のメ
モリの種類を判定する。
1からデータが書出される時に物理アドレスのPA1が
指定されると、テーブル21の2ライン目を読出す。ま
た、マイクロプロセッサ1から書出されるデータの格納
先の物理アドレスのブロックPA2が指定されると、M
MU15はテーブル21の3ライン目を読出す。そし
て、物理アドレスのブロックPA1,PA2それぞれの
modeの値を検索して、当該modeの示す値をテー
ブル23から検索することにより、データの格納先のメ
モリの種類を判定する。
【0021】レジスタ17は、マイクロプロセッサ1が
データを格納する先のメモリの種類を示すmodeの値
をデータ毎に記憶している。
データを格納する先のメモリの種類を示すmodeの値
をデータ毎に記憶している。
【0022】キャッシュメモリ制御ユニット(以下、C
Cという。)19は、MMU15のテーブル21および
テーブル23よりマイクロプロセッサ1が書出そうとし
ているデータの格納先のメモリの種類を示すmodeの
値をレジスタ17から呼出してMMU15のテーブル2
1,23と照合する。この照合により、modeの値が
「1」、すなわち主記憶部7への格納であることを示し
ている場合には、CC19は、キャッシュメモリ3をア
クセスする。そしてCC19は、キャッシュメモリ3に
ミスヒットが発生するとキャッシュメモリ3を無効にす
ると判断する。一方、照合によりmodeの値が「2」
または「3」であれば、キャッシュメモリ3にミスヒッ
トが発生しても無効としない。
Cという。)19は、MMU15のテーブル21および
テーブル23よりマイクロプロセッサ1が書出そうとし
ているデータの格納先のメモリの種類を示すmodeの
値をレジスタ17から呼出してMMU15のテーブル2
1,23と照合する。この照合により、modeの値が
「1」、すなわち主記憶部7への格納であることを示し
ている場合には、CC19は、キャッシュメモリ3をア
クセスする。そしてCC19は、キャッシュメモリ3に
ミスヒットが発生するとキャッシュメモリ3を無効にす
ると判断する。一方、照合によりmodeの値が「2」
または「3」であれば、キャッシュメモリ3にミスヒッ
トが発生しても無効としない。
【0023】以上により、次のような動作が可能であ
る。マイクロプロセッサ1によってある1つのタスクが
終了し、その結果のデータをいずれかの種類のメモリに
格納しようとする時、マイクロプロセッサ1はレジスタ
17には当該データの格納先のメモリの種類を示すmo
de値を設定する。そしてマイクロプロセッサ1は書出
し先の論理アドレスをブロック単位で仮想記憶管理ユニ
ット(MMU)15に与える。
る。マイクロプロセッサ1によってある1つのタスクが
終了し、その結果のデータをいずれかの種類のメモリに
格納しようとする時、マイクロプロセッサ1はレジスタ
17には当該データの格納先のメモリの種類を示すmo
de値を設定する。そしてマイクロプロセッサ1は書出
し先の論理アドレスをブロック単位で仮想記憶管理ユニ
ット(MMU)15に与える。
【0024】MMU15は論理アドレス空間5を参照し
て対応する物理アドレスを割り出し、メモリコントロー
ラ13にその物理アドレスをブロック単位で指定し、マ
イクロプロセッサ1からのデータを渡す。これを受けて
メモリコントローラ13は該当するメモリ、例えば主記
憶部7、ビデオRAM9またはI/Oメモリ11の該当
する物理アドレスに格納する。
て対応する物理アドレスを割り出し、メモリコントロー
ラ13にその物理アドレスをブロック単位で指定し、マ
イクロプロセッサ1からのデータを渡す。これを受けて
メモリコントローラ13は該当するメモリ、例えば主記
憶部7、ビデオRAM9またはI/Oメモリ11の該当
する物理アドレスに格納する。
【0025】この時に、キャッシュメモリ制御ユニット
(CC)19は次のように動作する。マイクロプロセッ
サ1から出力されるデータについて、レジスタ17から
modeの値を読出し、MMU15のテーブル21,2
2を参照して格納先のメモリの種類を判定する。
(CC)19は次のように動作する。マイクロプロセッ
サ1から出力されるデータについて、レジスタ17から
modeの値を読出し、MMU15のテーブル21,2
2を参照して格納先のメモリの種類を判定する。
【0026】そして格納先が主記憶部7であれば、つま
りmodeの値が「1」であれば、キャッシュメモリ3
を調べ、該当する論理アドレスがあるかどうか調べ、該
当する論理アドレスが見出せない場合にはミスヒットと
し、キャッシュメモリ3を無効にする。
りmodeの値が「1」であれば、キャッシュメモリ3
を調べ、該当する論理アドレスがあるかどうか調べ、該
当する論理アドレスが見出せない場合にはミスヒットと
し、キャッシュメモリ3を無効にする。
【0027】一方、格納先がビデオRAM9またはI/
Oメモリ11であれば、つまりmodeの値が「2」ま
たは「3」であればキャッシュメモリ3に該当する論理
アドレスが見出せずにミスヒットであるとしても、この
キャッシュメモリ3を無効にはしない。なぜならば、マ
イクロプロセッサ1からビデオRAM9やI/Oメモリ
11を格納先として出力するデータはキャッシュメモリ
3に演算中にロードされることはなく、したがってキャ
ッシュメモリ3の内容が主記憶部7の内容と不一致にな
る場合がまったくなく、次のタスクでキャッシュメモリ
3の内容をそのまま使用しても何ら問題が発生する恐れ
がないからである。
Oメモリ11であれば、つまりmodeの値が「2」ま
たは「3」であればキャッシュメモリ3に該当する論理
アドレスが見出せずにミスヒットであるとしても、この
キャッシュメモリ3を無効にはしない。なぜならば、マ
イクロプロセッサ1からビデオRAM9やI/Oメモリ
11を格納先として出力するデータはキャッシュメモリ
3に演算中にロードされることはなく、したがってキャ
ッシュメモリ3の内容が主記憶部7の内容と不一致にな
る場合がまったくなく、次のタスクでキャッシュメモリ
3の内容をそのまま使用しても何ら問題が発生する恐れ
がないからである。
【0028】このようにして、マイクロプロセッサ1か
ら書出すデータの格納先がビデオRAM9やI/Oメモ
リ11である場合、主記憶部7に格納する場合とは区別
して、キャッシュメモリ3を無効にしないようにするこ
とにより、この後の別のタスクで主記憶部7のデータを
使用する場合に、キャッシュメモリ3に再ロードしなけ
ればならなくなる回数を少なくし、それだけマイクロプ
ロセッサ1の実際の演算処理とは関係のない無駄な処理
を実行する時間を短くし、コンピュータ全体の処理速度
の高速化を図るのである。
ら書出すデータの格納先がビデオRAM9やI/Oメモ
リ11である場合、主記憶部7に格納する場合とは区別
して、キャッシュメモリ3を無効にしないようにするこ
とにより、この後の別のタスクで主記憶部7のデータを
使用する場合に、キャッシュメモリ3に再ロードしなけ
ればならなくなる回数を少なくし、それだけマイクロプ
ロセッサ1の実際の演算処理とは関係のない無駄な処理
を実行する時間を短くし、コンピュータ全体の処理速度
の高速化を図るのである。
【0029】
【発明の効果】以上のように請求項1および2の発明に
よれば、マイクロプロセッサの処理したデータをいずれ
かの記憶部に格納する際に、レジスタに記憶されている
当該データの識別コードに基づいて格納先の記憶部の種
類を識別し、当該データが主記憶部に格納するものであ
る場合には、ミスヒットが発生した時にキャッシュメモ
リのデータを無効とするが、当該データが補助記憶部に
格納するものである場合にはキャッシュメモリの無効処
理を禁止することによって、特に、ビデオRAMやI/
Oメモリに格納するデータのようにマイクロプロセッサ
から直接に補助記憶部に格納するデータについてはキャ
ッシュメモリにミスヒットが発生しても、この場合には
キャッシュメモリのデータと対応する主記憶部のデータ
とが不一致になる可能性はまったくないので無効処理し
ないようにし、以後に主記憶部からキャッシュメモリに
いったん無効にした同じデータを再ロードする機会を少
なくしてコンピュータとしての処理速度の高速化を図る
ことができる。
よれば、マイクロプロセッサの処理したデータをいずれ
かの記憶部に格納する際に、レジスタに記憶されている
当該データの識別コードに基づいて格納先の記憶部の種
類を識別し、当該データが主記憶部に格納するものであ
る場合には、ミスヒットが発生した時にキャッシュメモ
リのデータを無効とするが、当該データが補助記憶部に
格納するものである場合にはキャッシュメモリの無効処
理を禁止することによって、特に、ビデオRAMやI/
Oメモリに格納するデータのようにマイクロプロセッサ
から直接に補助記憶部に格納するデータについてはキャ
ッシュメモリにミスヒットが発生しても、この場合には
キャッシュメモリのデータと対応する主記憶部のデータ
とが不一致になる可能性はまったくないので無効処理し
ないようにし、以後に主記憶部からキャッシュメモリに
いったん無効にした同じデータを再ロードする機会を少
なくしてコンピュータとしての処理速度の高速化を図る
ことができる。
【図1】本発明のキャッシュメモリ制御装置に係る一実
施例の制御を示すブロック図である。
施例の制御を示すブロック図である。
【図2】仮想記憶管理ユニット内のテーブルを示す図で
ある。
ある。
1 マイクロプロセッサ 3 キャッシュメモリ 5 論理アドレス空間 7 主記憶部 9 ビデオRAM 11 I/Oメモリ 13 メモリコントローラ 15 仮想記憶管理ユニット 17 レジスタ 19 キャッシュメモリ制御ユニット 21,23 テーブル
フロントページの続き (56)参考文献 特開 平3−139745(JP,A) 特開 昭63−24337(JP,A) 特開 昭60−79446(JP,A) 特開 平1−108650(JP,A) 特開 平1−108651(JP,A) 特開 平2−56650(JP,A) 特開 昭61−234446(JP,A) 特開 昭62−145341(JP,A) 特開 平3−265050(JP,A) 特開 平2−217945(JP,A) 特開 昭62−131351(JP,A)
Claims (2)
- 【請求項1】 ページ単位に物理アドレスごとにデータ
を記憶する主記憶部及び補助記憶部と、 前記物理アドレスと論理アドレスとの変換対応を記憶す
るアドレス変換テーブルと、 前記主記憶部に記憶されているデータの一部を前記論理
アドレスを付して記憶するキャッシュメモリと、 マイクロプロセッサによる1つのタスクの終了時に前記
キャッシュメモリのデータを無効にするメモリ無効手段
と、 前記マイクロプロセッサから出力されるデータ各々につ
いてその格納先の記憶部の種類に応じた識別コードを付
与する手段と、 1つのタスクを終了して前記マイクロプロセッサからあ
るデータを前記主記憶部または前記補助記憶部に格納す
る際に、当該データに付与されている前記識別コードに
基づき、前記補助記憶部に格納するデータである場合に
は前記キャッシュメモリの無効手段により前記キャッシ
ュメモリのデータを無効にすることを禁止するメモリ無
効禁止手段とを備えて成るキャッシュメモリ制御装置。 - 【請求項2】 前記補助記憶部は、ビデオRAMまたは
/及びI/Oメモリであることを特徴とする請求項1に
記載のキャッシュメモリ制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16790391A JP3259969B2 (ja) | 1991-07-09 | 1991-07-09 | キャッシュメモリ制御装置 |
US08/440,118 US5754820A (en) | 1991-07-09 | 1995-05-12 | Microprocessor system with cache memory for eliminating unnecessary invalidation of cache data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16790391A JP3259969B2 (ja) | 1991-07-09 | 1991-07-09 | キャッシュメモリ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0512116A JPH0512116A (ja) | 1993-01-22 |
JP3259969B2 true JP3259969B2 (ja) | 2002-02-25 |
Family
ID=15858192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16790391A Expired - Fee Related JP3259969B2 (ja) | 1991-07-09 | 1991-07-09 | キャッシュメモリ制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5754820A (ja) |
JP (1) | JP3259969B2 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173368B1 (en) * | 1995-12-18 | 2001-01-09 | Texas Instruments Incorporated | Class categorized storage circuit for storing non-cacheable data until receipt of a corresponding terminate signal |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US6209062B1 (en) * | 1997-11-24 | 2001-03-27 | Intel Corporation | Method for holding cache pages that are not invalidated within normal time duration for a second access or that are likely to be accessed again soon |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US7257158B1 (en) | 1998-05-18 | 2007-08-14 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
US8290034B2 (en) * | 1998-12-21 | 2012-10-16 | Zin Stai Pte. In, Llc | Video transmission and display including bit-wise sub-sampling video compression |
US8068544B2 (en) * | 1998-12-21 | 2011-11-29 | Zin Stai Pte. In, Llc | Compression with doppler enhancement |
US20030005428A1 (en) * | 2001-05-26 | 2003-01-02 | Roman Kendyl A. | Global media exchange |
US7233619B1 (en) * | 1998-12-21 | 2007-06-19 | Roman Kendyl A | Variable general purpose compression for video images (ZLN) |
US8416847B2 (en) * | 1998-12-21 | 2013-04-09 | Zin Stai Pte. In, Llc | Separate plane compression using plurality of compression methods including ZLN and ZLD methods |
US7671864B2 (en) * | 2000-01-14 | 2010-03-02 | Roman Kendyl A | Faster image processing |
US20080250458A1 (en) * | 1998-12-21 | 2008-10-09 | Roman Kendyl A | Media exchange for handheld wireless receivers and other media user devices |
US8170095B2 (en) * | 1998-12-21 | 2012-05-01 | Zin Stai Pte. In, Llc | Faster image processing |
US7016417B1 (en) | 1998-12-23 | 2006-03-21 | Kendyl A. Roman | General purpose compression for video images (RHN) |
US6341338B1 (en) * | 1999-02-04 | 2002-01-22 | Sun Microsystems, Inc. | Protocol for coordinating the distribution of shared memory |
US7003660B2 (en) | 2000-06-13 | 2006-02-21 | Pact Xpp Technologies Ag | Pipeline configuration unit protocols and communication |
US8004572B2 (en) * | 1999-05-17 | 2011-08-23 | Zin Stai Pte. In, Llc | System for transmitting a video stream over a computer network to a remote receiver |
AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
US7191462B1 (en) * | 1999-11-08 | 2007-03-13 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
US7035989B1 (en) | 2000-02-16 | 2006-04-25 | Sun Microsystems, Inc. | Adaptive memory allocation |
US6986130B1 (en) | 2000-07-28 | 2006-01-10 | Sun Microsystems, Inc. | Methods and apparatus for compiling computer programs using partial function inlining |
US6910107B1 (en) * | 2000-08-23 | 2005-06-21 | Sun Microsystems, Inc. | Method and apparatus for invalidation of data in computer systems |
US7595659B2 (en) * | 2000-10-09 | 2009-09-29 | Pact Xpp Technologies Ag | Logic cell array and bus system |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US7406681B1 (en) | 2000-10-12 | 2008-07-29 | Sun Microsystems, Inc. | Automatic conversion of source code from 32-bit to 64-bit |
US6957208B1 (en) | 2000-10-31 | 2005-10-18 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for performance analysis using semantic knowledge |
US7581076B2 (en) * | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
WO2002103532A2 (de) | 2001-06-20 | 2002-12-27 | Pact Xpp Technologies Ag | Verfahren zur bearbeitung von daten |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
GB2379294B (en) * | 2001-08-31 | 2005-06-01 | Discreet Logic Inc | Caching data |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
EP1483682A2 (de) | 2002-01-19 | 2004-12-08 | PACT XPP Technologies AG | Reconfigurierbarer prozessor |
US8127061B2 (en) * | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
CN101600029B (zh) * | 2008-06-06 | 2013-05-08 | 博通集成电路(上海)有限公司 | 背景噪声降低系统及方法 |
EP3129886B1 (en) * | 2014-12-14 | 2019-10-02 | VIA Alliance Semiconductor Co., Ltd. | Dynamic cache replacement way selection based on address tag bits |
US10719434B2 (en) | 2014-12-14 | 2020-07-21 | Via Alliance Semiconductors Co., Ltd. | Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode |
US9798668B2 (en) | 2014-12-14 | 2017-10-24 | Via Alliance Semiconductor Co., Ltd. | Multi-mode set associative cache memory dynamically configurable to selectively select one or a plurality of its sets depending upon the mode |
US10592414B2 (en) | 2017-07-14 | 2020-03-17 | International Business Machines Corporation | Filtering of redundantly scheduled write passes |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
JPH0658650B2 (ja) * | 1986-03-14 | 1994-08-03 | 株式会社日立製作所 | 仮想計算機システム |
US4885680A (en) * | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
US5091850A (en) * | 1987-09-28 | 1992-02-25 | Compaq Computer Corporation | System for fast selection of non-cacheable address ranges using programmed array logic |
US5157774A (en) * | 1987-09-28 | 1992-10-20 | Compaq Computer Corporation | System for fast selection of non-cacheable address ranges using programmed array logic |
US5155834A (en) * | 1988-03-18 | 1992-10-13 | Wang Laboratories, Inc. | Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory |
US5097532A (en) * | 1989-03-03 | 1992-03-17 | Compaq Computer Corporation | Circuit for enabling a cache using a flush input to circumvent a late noncachable address input |
CA2028085A1 (en) * | 1989-11-03 | 1991-05-04 | Dale J. Mayer | Paged memory controller |
US5226133A (en) * | 1989-12-01 | 1993-07-06 | Silicon Graphics, Inc. | Two-level translation look-aside buffer using partial addresses for enhanced speed |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
US5283880A (en) * | 1991-01-02 | 1994-02-01 | Compaq Computer Corp. | Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states |
GB2256512B (en) * | 1991-06-04 | 1995-03-15 | Intel Corp | Second level cache controller unit and system |
-
1991
- 1991-07-09 JP JP16790391A patent/JP3259969B2/ja not_active Expired - Fee Related
-
1995
- 1995-05-12 US US08/440,118 patent/US5754820A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5754820A (en) | 1998-05-19 |
JPH0512116A (ja) | 1993-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3259969B2 (ja) | キャッシュメモリ制御装置 | |
CA1124888A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
KR100204741B1 (ko) | 제1및 제2캐시 메모리 사용방법 | |
US6868472B1 (en) | Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory | |
US5802574A (en) | Method and apparatus for quickly modifying cache state | |
EP0062165A2 (en) | Multiprocessors including private and shared caches | |
EP0408058A2 (en) | Microprocessor | |
US6345320B1 (en) | DMA address buffer and cache-memory control system | |
JP2001056783A (ja) | プログラム単位メモリ属性管理方式 | |
EP0173909B1 (en) | Look-aside buffer least recently used marker controller | |
US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
JPH0519176B2 (ja) | ||
JPS63240653A (ja) | 記憶装置管理ユニットと仮想一実アドレス間の翻訳方法 | |
EP0380861A2 (en) | Improved data consistency between cache memories and the main memory in a multi-processor computer system | |
JPH0784879A (ja) | キャッシュメモリ装置 | |
JP3221409B2 (ja) | キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体 | |
JPH0728706A (ja) | キャッシュメモリ装置 | |
JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
JP3190661B2 (ja) | 情報処理システム | |
JP2694076B2 (ja) | 記憶部制御装置 | |
JPH0677240B2 (ja) | キャッシュメモリ制御回路 | |
JPH04175946A (ja) | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 | |
JPH0488537A (ja) | 情報処理システム | |
JPH0728701A (ja) | 計算機システム | |
EP0400851A2 (en) | Efficient cache utilizing a store buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |