JPH07219847A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH07219847A JPH07219847A JP6009756A JP975694A JPH07219847A JP H07219847 A JPH07219847 A JP H07219847A JP 6009756 A JP6009756 A JP 6009756A JP 975694 A JP975694 A JP 975694A JP H07219847 A JPH07219847 A JP H07219847A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- partition
- cache memory
- information 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
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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】本発明は、2以上のn次元に配列されるデータ
を処理する情報処理装置に関し、高速データ処理の実現
を目的とする。 【構成】データをn次元で区画する構成を採るととも
に、プロセッサと主メモリとの間に、区画データを複数
格納するキャッシュメモリを備える構成を採って、プロ
セッサは、キャッシュメモリに格納されるデータをアク
セスしていくことでデータ処理を実行していくように構
成する。
を処理する情報処理装置に関し、高速データ処理の実現
を目的とする。 【構成】データをn次元で区画する構成を採るととも
に、プロセッサと主メモリとの間に、区画データを複数
格納するキャッシュメモリを備える構成を採って、プロ
セッサは、キャッシュメモリに格納されるデータをアク
セスしていくことでデータ処理を実行していくように構
成する。
Description
【0001】
【産業上の利用分野】本発明は、2以上の次元に配列さ
れるデータを処理する情報処理装置に関し、特に、高速
データ処理を実現する情報処理装置に関する。
れるデータを処理する情報処理装置に関し、特に、高速
データ処理を実現する情報処理装置に関する。
【0002】画像処理や科学技術計算に見られるよう
に、2以上の次元に配列されるデータを処理する情報処
理装置がある。このような情報処理装置の扱うデータ量
は極めて大量なものとなることから、高速処理を実現す
るための構成を構築していく必要がある。
に、2以上の次元に配列されるデータを処理する情報処
理装置がある。このような情報処理装置の扱うデータ量
は極めて大量なものとなることから、高速処理を実現す
るための構成を構築していく必要がある。
【0003】
【従来の技術】2次元に配列される画像データを処理す
る画像処理装置の例で説明するならば、従来の画像処理
装置では、画像データをビデオRAMのようなフレーム
バッファメモリに格納する構成を採って、プロセッサ
が、このフレームバッファメモリに格納される画像デー
タを直接アクセスしていくことで画像処理を実行してい
くという構成を採っていた。
る画像処理装置の例で説明するならば、従来の画像処理
装置では、画像データをビデオRAMのようなフレーム
バッファメモリに格納する構成を採って、プロセッサ
が、このフレームバッファメモリに格納される画像デー
タを直接アクセスしていくことで画像処理を実行してい
くという構成を採っていた。
【0004】このように、2以上の次元に配列されるデ
ータを処理する従来の情報処理装置では、配列データを
主メモリに展開する構成を採って、プロセッサが、この
主メモリに展開される配列データを直接アクセスしてい
くことでデータ処理を実行していくという構成を採って
いたのである。
ータを処理する従来の情報処理装置では、配列データを
主メモリに展開する構成を採って、プロセッサが、この
主メモリに展開される配列データを直接アクセスしてい
くことでデータ処理を実行していくという構成を採って
いたのである。
【0005】
【発明が解決しようとする課題】このような2以上の次
元に配列されるデータは極めて大量なものであることか
ら、主メモリとして大容量の半導体メモリを用いること
になるが、このような大容量の半導体メモリは、並列接
続構成を採ることで1回のアクセス当たりのデータ量に
ついては大きくすることが可能であるものの、アクセス
サイクル時間が長いという特性がある。
元に配列されるデータは極めて大量なものであることか
ら、主メモリとして大容量の半導体メモリを用いること
になるが、このような大容量の半導体メモリは、並列接
続構成を採ることで1回のアクセス当たりのデータ量に
ついては大きくすることが可能であるものの、アクセス
サイクル時間が長いという特性がある。
【0006】これから、このような従来技術に従ってい
ると、高速にデータ処理を実行できないという問題点が
あった。本発明はかかる事情に鑑みてなされたものであ
って、2以上の次元に配列されるデータを処理するとき
にあって、高速データ処理を実現する新たな情報処理装
置の提供を目的とする。
ると、高速にデータ処理を実行できないという問題点が
あった。本発明はかかる事情に鑑みてなされたものであ
って、2以上の次元に配列されるデータを処理するとき
にあって、高速データ処理を実現する新たな情報処理装
置の提供を目的とする。
【0007】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は本発明を具備する情報処理装置
であって、n次元(n≧2)に配列されるデータを処理
するもの、2は情報処理装置1の備えるプロセッサ、3
は情報処理装置1の備える主メモリ、4は情報処理装置
1の備えるキャッシュ制御機構であって、プロセッサ2
と主メモリ3との間に備えられる高速アクセス性能を持
つキャッシュメモリを制御するものである。
を図示する。図中、1は本発明を具備する情報処理装置
であって、n次元(n≧2)に配列されるデータを処理
するもの、2は情報処理装置1の備えるプロセッサ、3
は情報処理装置1の備える主メモリ、4は情報処理装置
1の備えるキャッシュ制御機構であって、プロセッサ2
と主メモリ3との間に備えられる高速アクセス性能を持
つキャッシュメモリを制御するものである。
【0008】このように、本発明の情報処理装置1は、
n次元(n≧2)に配列されるデータを処理するにあた
って、キャッシュ制御機構4を備える構成を採ることを
特徴とする。
n次元(n≧2)に配列されるデータを処理するにあた
って、キャッシュ制御機構4を備える構成を採ることを
特徴とする。
【0009】このキャッシュ制御機構4は、キャッシュ
メモリ10と、TAGメモリ11と、判断手段12と、
アクセス実行手段13と、リファレンスフラグ14と、
カレントアクセスフラグ15と、インデックスレジスタ
16と、リセット手段17と、決定手段18と、発生手
段19と、登録手段20とを備える。
メモリ10と、TAGメモリ11と、判断手段12と、
アクセス実行手段13と、リファレンスフラグ14と、
カレントアクセスフラグ15と、インデックスレジスタ
16と、リセット手段17と、決定手段18と、発生手
段19と、登録手段20とを備える。
【0010】キャッシュメモリ10は、n次元で区画さ
れる区画データを例えば4つの記憶領域に格納する。T
AGメモリ11は、n次元アドレスの持つ1つ又は複数
のアドレスの示す区画アドレスを索引アドレスとして、
キャッシュメモリ10に格納される区画データの区画ア
ドレス情報/バリッド情報/格納先記憶領域識別子を管
理する。
れる区画データを例えば4つの記憶領域に格納する。T
AGメモリ11は、n次元アドレスの持つ1つ又は複数
のアドレスの示す区画アドレスを索引アドレスとして、
キャッシュメモリ10に格納される区画データの区画ア
ドレス情報/バリッド情報/格納先記憶領域識別子を管
理する。
【0011】判断手段12は、プロセッサ2の発行する
n次元アドレスの指す区画データが、キャッシュメモリ
10に有効登録されているか否かを判断する。アクセス
実行手段13は、判断手段12が区画データの有効登録
を判断するときに、キャッシュメモリ10に格納される
プロセッサ2の要求データをアクセスする。
n次元アドレスの指す区画データが、キャッシュメモリ
10に有効登録されているか否かを判断する。アクセス
実行手段13は、判断手段12が区画データの有効登録
を判断するときに、キャッシュメモリ10に格納される
プロセッサ2の要求データをアクセスする。
【0012】リファレンスフラグ14は、キャッシュメ
モリ10の記憶領域対応に備えられて、その記憶領域に
格納される区画データに対してのアクセス発生の有無の
履歴を管理する。カレントアクセスフラグ15は、キャ
ッシュメモリ10の記憶領域対応に備えられて、その記
憶領域に格納される区画データが、直前にアクセスされ
た区画データであるのか否かを管理する。インデックス
レジスタ16は、キャッシュメモリ10の記憶領域対応
に備えられて、その記憶領域に格納される区画データの
示す索引区画アドレス(TAGメモリ11の索引アドレ
スとなるもの)を管理する。リセット手段17は、規定
の回数分のアクセス要求が発行される度毎に、リファレ
ンスフラグ14のフラグ値をリセットする。
モリ10の記憶領域対応に備えられて、その記憶領域に
格納される区画データに対してのアクセス発生の有無の
履歴を管理する。カレントアクセスフラグ15は、キャ
ッシュメモリ10の記憶領域対応に備えられて、その記
憶領域に格納される区画データが、直前にアクセスされ
た区画データであるのか否かを管理する。インデックス
レジスタ16は、キャッシュメモリ10の記憶領域対応
に備えられて、その記憶領域に格納される区画データの
示す索引区画アドレス(TAGメモリ11の索引アドレ
スとなるもの)を管理する。リセット手段17は、規定
の回数分のアクセス要求が発行される度毎に、リファレ
ンスフラグ14のフラグ値をリセットする。
【0013】決定手段18は、判断手段12が区画デー
タの非登録を判断するときに、リファレンスフラグ14
及びカレントアクセスフラグ15のフラグ値を使って、
キャッシュメモリ10から削除する区画データを決定す
る。発生手段19は、判断手段12が区画データの非登
録を判断するときに、その区画データの区画アドレスを
起点にして、その区画データ内のデータを指すことにな
るn次元アドレスを順次発生する。登録手段20は、発
生手段19の発生するn次元アドレスに応答して主メモ
リ3から転送されてくるデータをキャッシュメモリ10
に格納する。
タの非登録を判断するときに、リファレンスフラグ14
及びカレントアクセスフラグ15のフラグ値を使って、
キャッシュメモリ10から削除する区画データを決定す
る。発生手段19は、判断手段12が区画データの非登
録を判断するときに、その区画データの区画アドレスを
起点にして、その区画データ内のデータを指すことにな
るn次元アドレスを順次発生する。登録手段20は、発
生手段19の発生するn次元アドレスに応答して主メモ
リ3から転送されてくるデータをキャッシュメモリ10
に格納する。
【0014】
【作用】本発明では、プロセッサ2がn次元アドレスを
指定してデータのアクセス要求を発行すると、判断手段
12は、そのn次元アドレスの示す区画アドレスを索引
アドレスとして用いてTAGメモリ11の管理データを
参照して、その参照データと発行されたn次元アドレス
とから、発行されたn次元アドレスの指す区画データ
が、キャッシュメモリ10に有効登録されているか否か
を判断する。このとき、有効登録されているときには、
区画データの格納先記憶領域も特定する。
指定してデータのアクセス要求を発行すると、判断手段
12は、そのn次元アドレスの示す区画アドレスを索引
アドレスとして用いてTAGメモリ11の管理データを
参照して、その参照データと発行されたn次元アドレス
とから、発行されたn次元アドレスの指す区画データ
が、キャッシュメモリ10に有効登録されているか否か
を判断する。このとき、有効登録されているときには、
区画データの格納先記憶領域も特定する。
【0015】この判断手段12の判断処理に従って、プ
ロセッサ2の発行するn次元アドレスの指す区画データ
がキャッシュメモリ10に有効登録されていることを判
断すると、アクセス実行手段13は、特定された記憶領
域に格納される区画データをアクセス対象として設定し
て、発行されたn次元アドレスの持つ区画データ内アド
レスを使って、そのアクセス対象の区画データをアクセ
スすることで、プロセッサ2の要求データのアクセス処
理を実行する。
ロセッサ2の発行するn次元アドレスの指す区画データ
がキャッシュメモリ10に有効登録されていることを判
断すると、アクセス実行手段13は、特定された記憶領
域に格納される区画データをアクセス対象として設定し
て、発行されたn次元アドレスの持つ区画データ内アド
レスを使って、そのアクセス対象の区画データをアクセ
スすることで、プロセッサ2の要求データのアクセス処
理を実行する。
【0016】一方、判断手段12の判断処理に従って、
プロセッサ2の発行するn次元アドレスの指す区画デー
タがキャッシュメモリ10に登録されていないことを判
断すると、決定手段18は、リファレンスフラグ14が
アクセスされたことのない区画データの存在を表示する
ときには、その表示に対応付けられる記憶領域に格納さ
れる区画データを削除対象として決定するとともに、リ
ファレンスフラグ14がアクセスされたことのない区画
データの非存在を表示するときには、カレントアクセス
フラグ15の指す記憶領域に格納される直前アクセスの
区画データを削除対象として決定する。
プロセッサ2の発行するn次元アドレスの指す区画デー
タがキャッシュメモリ10に登録されていないことを判
断すると、決定手段18は、リファレンスフラグ14が
アクセスされたことのない区画データの存在を表示する
ときには、その表示に対応付けられる記憶領域に格納さ
れる区画データを削除対象として決定するとともに、リ
ファレンスフラグ14がアクセスされたことのない区画
データの非存在を表示するときには、カレントアクセス
フラグ15の指す記憶領域に格納される直前アクセスの
区画データを削除対象として決定する。
【0017】続いて、決定手段18は、削除対象として
決定した区画データの格納先記憶領域に対応付けられる
インデックスレジスタ16の管理する索引区画アドレス
を使って、削除対象となるTAGメモリ11のエントリ
ーを決定する。
決定した区画データの格納先記憶領域に対応付けられる
インデックスレジスタ16の管理する索引区画アドレス
を使って、削除対象となるTAGメモリ11のエントリ
ーを決定する。
【0018】そして、判断手段12の判断処理に従っ
て、プロセッサ2の発行するn次元アドレスの指す区画
データがキャッシュメモリ10に登録されていないこと
を判断すると、発生手段19は、非登録を判断された区
画データの示す区画アドレスを起点にして、その区画デ
ータ内のデータを指すことになるn次元アドレスを順次
発生して主メモリ3に送出し、登録手段20は、この送
出に応答して主メモリ3から転送されてくるその区画デ
ータを、決定手段18の決定した削除対象区画データの
格納先記憶領域に格納していくとともに、転送されてく
るその区画データの区画アドレス情報/バリッド情報/
格納先記憶領域識別子を、決定手段18の決定したTA
Gメモリ11の削除対象エントリーに格納していく。
て、プロセッサ2の発行するn次元アドレスの指す区画
データがキャッシュメモリ10に登録されていないこと
を判断すると、発生手段19は、非登録を判断された区
画データの示す区画アドレスを起点にして、その区画デ
ータ内のデータを指すことになるn次元アドレスを順次
発生して主メモリ3に送出し、登録手段20は、この送
出に応答して主メモリ3から転送されてくるその区画デ
ータを、決定手段18の決定した削除対象区画データの
格納先記憶領域に格納していくとともに、転送されてく
るその区画データの区画アドレス情報/バリッド情報/
格納先記憶領域識別子を、決定手段18の決定したTA
Gメモリ11の削除対象エントリーに格納していく。
【0019】このようにして、本発明では、n次元(n
≧2)に配列されるデータを処理するときにあって、続
いてアクセスしていくデータがn次元空間である広がり
を持って分布しているという特性を考慮して、データを
n次元で区画する構成を採って、その区画データをキャ
ッシュメモリ10に格納していくことで高速なデータ処
理を実現する構成を採るものである。
≧2)に配列されるデータを処理するときにあって、続
いてアクセスしていくデータがn次元空間である広がり
を持って分布しているという特性を考慮して、データを
n次元で区画する構成を採って、その区画データをキャ
ッシュメモリ10に格納していくことで高速なデータ処
理を実現する構成を採るものである。
【0020】そして、画像データをライトしていく例か
らも分かるように、配列データを処理するときには、殆
どの場合直前にアクセスした区画データを続けてアクセ
スすることがないという特性を利用して、従来の汎用の
情報処理装置で用いられているLRU方式のような複雑
なスワップアルゴリズムを用いるのではなくて、配列デ
ータに適合した単純なスワップアルゴリズムを用いる構
成を採っているので、簡単な制御処理に従いつつ高速な
データ処理を実現できるのである。
らも分かるように、配列データを処理するときには、殆
どの場合直前にアクセスした区画データを続けてアクセ
スすることがないという特性を利用して、従来の汎用の
情報処理装置で用いられているLRU方式のような複雑
なスワップアルゴリズムを用いるのではなくて、配列デ
ータに適合した単純なスワップアルゴリズムを用いる構
成を採っているので、簡単な制御処理に従いつつ高速な
データ処理を実現できるのである。
【0021】
【実施例】以下、2次元の画像データを扱う画像処理装
置に適用した実施例に従って本発明を詳細に説明する。
置に適用した実施例に従って本発明を詳細に説明する。
【0022】図2に、本発明により構成される画像処理
装置の一実施例を図示する。図中、30はプロセッサ、
31は主メモリ、32は2次元キャッシュメモリシステ
ムであって、画像データから切り出される区画データを
キャッシングするもの、33はメモリコントローラであ
って、2次元キャッシュメモリシステム32を制御する
もの、34はバッファであって、2次元キャッシュメモ
リシステム32からの制御信号に応答して、主メモリ3
1に与えるアドレス(プロセッサ30からのものと、2
次元キャッシュメモリシステム32からのものとがあ
る)を切り換えるもの、35はバッファであって、2次
元キャッシュメモリシステム32からの制御信号に応答
して、プロセッサ30に与えるデータ(主メモリ31か
らのものと、2次元キャッシュメモリシステム32から
のものとがある)を切り換えるものである。
装置の一実施例を図示する。図中、30はプロセッサ、
31は主メモリ、32は2次元キャッシュメモリシステ
ムであって、画像データから切り出される区画データを
キャッシングするもの、33はメモリコントローラであ
って、2次元キャッシュメモリシステム32を制御する
もの、34はバッファであって、2次元キャッシュメモ
リシステム32からの制御信号に応答して、主メモリ3
1に与えるアドレス(プロセッサ30からのものと、2
次元キャッシュメモリシステム32からのものとがあ
る)を切り換えるもの、35はバッファであって、2次
元キャッシュメモリシステム32からの制御信号に応答
して、プロセッサ30に与えるデータ(主メモリ31か
らのものと、2次元キャッシュメモリシステム32から
のものとがある)を切り換えるものである。
【0023】この図に示すように、本発明により構成さ
れる画像処理装置では、プロセッサ30と主メモリ31
との間に、画像データから切り出される区画データをキ
ャッシングする2次元キャッシュメモリシステム32を
備えることを特徴とする。
れる画像処理装置では、プロセッサ30と主メモリ31
との間に、画像データから切り出される区画データをキ
ャッシングする2次元キャッシュメモリシステム32を
備えることを特徴とする。
【0024】例えば、画像データが2048×1024
画素からなる場合、1区画を8×8画素で設定すると、
図3に示すように、主メモリ31には、「(0,0)」か
ら始まって「(127,255 )」に終わる256×128個
の区画データが展開されることになるが、2次元キャッ
シュメモリシステム32は、例えば、図4に示すよう
に、4つの記憶領域(#0〜#3)を備えて、これらの
各記憶領域に、その内の1つの区画データをキャッシン
グしていく構成を採るものである。
画素からなる場合、1区画を8×8画素で設定すると、
図3に示すように、主メモリ31には、「(0,0)」か
ら始まって「(127,255 )」に終わる256×128個
の区画データが展開されることになるが、2次元キャッ
シュメモリシステム32は、例えば、図4に示すよう
に、4つの記憶領域(#0〜#3)を備えて、これらの
各記憶領域に、その内の1つの区画データをキャッシン
グしていく構成を採るものである。
【0025】以下、説明の便宜上、画像データは、20
48×1024画素の大きさを持ち、1区画データは、
8×8画素で構成されることを想定する。従って、画像
データのXアドレスは11ビット、Yアドレスは10ビ
ットとなる。
48×1024画素の大きさを持ち、1区画データは、
8×8画素で構成されることを想定する。従って、画像
データのXアドレスは11ビット、Yアドレスは10ビ
ットとなる。
【0026】図5に、2次元キャッシュメモリシステム
32の詳細構成を図示する。図中、40はキャッシュメ
モリであって、例えば4個の記憶領域を備えて画像区画
データを一時的に格納するもの、41はX・Yアドレス
レジスタであって、プロセッサ2の発行する画像データ
のX・Yアドレスをラッチするもの、42はキャッシュ
コンパレータであって、プロセッサ2の要求する画像デ
ータの属する区画データがキャッシュメモリ40に有効
登録されているか否かを検出するもの、43は制御ブロ
ックであって、キャッシング制御処理を実行するもので
ある。なお、以下、X・Yアドレスレジスタ41を構成
する11ビット構成のXアドレスレジスタを符号41
a、X・Yアドレスレジスタ41を構成する10ビット
構成のYアドレスレジスタを符号41bで表すことがあ
る。
32の詳細構成を図示する。図中、40はキャッシュメ
モリであって、例えば4個の記憶領域を備えて画像区画
データを一時的に格納するもの、41はX・Yアドレス
レジスタであって、プロセッサ2の発行する画像データ
のX・Yアドレスをラッチするもの、42はキャッシュ
コンパレータであって、プロセッサ2の要求する画像デ
ータの属する区画データがキャッシュメモリ40に有効
登録されているか否かを検出するもの、43は制御ブロ
ックであって、キャッシング制御処理を実行するもので
ある。なお、以下、X・Yアドレスレジスタ41を構成
する11ビット構成のXアドレスレジスタを符号41
a、X・Yアドレスレジスタ41を構成する10ビット
構成のYアドレスレジスタを符号41bで表すことがあ
る。
【0027】図6に、この制御ブロック43の詳細構
成、図7に、このキャッシュコンパレータ42の詳細構
成を図示する。この図6に示すように、制御ブロック4
3は、キャッシュメモリ40の持つ4個の記憶領域対応
に備えられて、その記憶領域に格納される区画データに
対してのアクセス発生の有無の履歴を管理するリファレ
ンスフラグ50と、キャッシュメモリ40の持つ4個の
記憶領域対応に備えられて、その記憶領域に格納される
区画データが、直前にアクセスされた区画データである
のか否かを管理するカレントアクセスフラグ51と、キ
ャッシュメモリ40の持つ4個の記憶領域対応に備えら
れて、その記憶領域に格納される区画データの示す索引
区画アドレス(後述するTAGメモリ60の索引アドレ
スとなる)を管理するインデックスレジスタ52と、4
ビット構成のリファレンスリフレッシュカウンタ53
と、6ビット構成のスキャンカウンタ54と、主メモリ
31のアクセスのために用いられるアドレスをラッチす
る21ビット構成の2Dプレーンアドレスレジスタ55
と、全体の制御処理を司るシーケンサ56とから構成さ
れる。
成、図7に、このキャッシュコンパレータ42の詳細構
成を図示する。この図6に示すように、制御ブロック4
3は、キャッシュメモリ40の持つ4個の記憶領域対応
に備えられて、その記憶領域に格納される区画データに
対してのアクセス発生の有無の履歴を管理するリファレ
ンスフラグ50と、キャッシュメモリ40の持つ4個の
記憶領域対応に備えられて、その記憶領域に格納される
区画データが、直前にアクセスされた区画データである
のか否かを管理するカレントアクセスフラグ51と、キ
ャッシュメモリ40の持つ4個の記憶領域対応に備えら
れて、その記憶領域に格納される区画データの示す索引
区画アドレス(後述するTAGメモリ60の索引アドレ
スとなる)を管理するインデックスレジスタ52と、4
ビット構成のリファレンスリフレッシュカウンタ53
と、6ビット構成のスキャンカウンタ54と、主メモリ
31のアクセスのために用いられるアドレスをラッチす
る21ビット構成の2Dプレーンアドレスレジスタ55
と、全体の制御処理を司るシーケンサ56とから構成さ
れる。
【0028】一方、この図7に示すように、キャッシュ
コンパレータ42は、Xアドレスレジスタ41aに格納
されるXアドレスの上位8ビットで索引されて、キャッ
シングされる区画データの示すYアドレス上位7ビット
値と、キャッシングされる区画データの有効無効を表示
するバリッドビットと、キャッシングされる区画データ
の格納先記憶領域番号とを管理するTAGメモリ60
と、TAGメモリ60から読み出されるYアドレス上位
7ビット値と、Yアドレスレジスタ41bに格納される
Yアドレスの上位7ビット値とが一致するのか否かを判
断して、両者が一致し、かつ、そのときのバリット情報
が有効を表示するときにヒット信号を出力するととも
に、それ以外のときにミスヒット信号を出力する一致検
出回路61と、TAGメモリ60から読み出される格納
先の記憶領域番号(別にセットされることもある)をラ
ッチするブロックアドレスレジスタ62とから構成され
る。
コンパレータ42は、Xアドレスレジスタ41aに格納
されるXアドレスの上位8ビットで索引されて、キャッ
シングされる区画データの示すYアドレス上位7ビット
値と、キャッシングされる区画データの有効無効を表示
するバリッドビットと、キャッシングされる区画データ
の格納先記憶領域番号とを管理するTAGメモリ60
と、TAGメモリ60から読み出されるYアドレス上位
7ビット値と、Yアドレスレジスタ41bに格納される
Yアドレスの上位7ビット値とが一致するのか否かを判
断して、両者が一致し、かつ、そのときのバリット情報
が有効を表示するときにヒット信号を出力するととも
に、それ以外のときにミスヒット信号を出力する一致検
出回路61と、TAGメモリ60から読み出される格納
先の記憶領域番号(別にセットされることもある)をラ
ッチするブロックアドレスレジスタ62とから構成され
る。
【0029】すなわち、具体例で説明するならば、キャ
ッシュメモリ40の「#3」の格納領域に、Xアドレス
の上位8ビットが「X=102」で、Yアドレスの上位
7ビットが「Y=38」という区画アドレスを持つ有効
な区画データが格納されているときには、TAGメモリ
60は、「X=102」で索引されるTAGフィールド
に「Y=38」という値、バリットビットフィールドに
「バリットビット=0」という値、ブロックアドレスフ
ィールドに「記憶領域番号=3」という値を管理するの
である。なお、キャッシュメモリ40に格納される区画
データ内のアクセス位置は、Xアドレスの下位3ビット
と、Yアドレスの下位3ビットとで指定されることにな
る。
ッシュメモリ40の「#3」の格納領域に、Xアドレス
の上位8ビットが「X=102」で、Yアドレスの上位
7ビットが「Y=38」という区画アドレスを持つ有効
な区画データが格納されているときには、TAGメモリ
60は、「X=102」で索引されるTAGフィールド
に「Y=38」という値、バリットビットフィールドに
「バリットビット=0」という値、ブロックアドレスフ
ィールドに「記憶領域番号=3」という値を管理するの
である。なお、キャッシュメモリ40に格納される区画
データ内のアクセス位置は、Xアドレスの下位3ビット
と、Yアドレスの下位3ビットとで指定されることにな
る。
【0030】ここで、画像データは2次元データである
ので、Xアドレスの上位8ビットが同一となるときであ
っても、Yアドレスの上位7ビットが異なる区画データ
が存在するのであるが、この実施例では、そのような区
画データの同時キャッシングを許していない。複数ウェ
イ構成を採用することで、このことは許されることにな
る。
ので、Xアドレスの上位8ビットが同一となるときであ
っても、Yアドレスの上位7ビットが異なる区画データ
が存在するのであるが、この実施例では、そのような区
画データの同時キャッシングを許していない。複数ウェ
イ構成を採用することで、このことは許されることにな
る。
【0031】次に、図8ないし図17に示す処理フロー
に従って、このように構成される2次元キャッシュメモ
リシステム32の実行する処理について詳細に説明す
る。なお、この実施例では、説明の便宜上、2次元キャ
ッシュメモリシステム32の実行する処理をソフトウェ
ア構成で説明するようにしたが、当然の如く、ハードウ
ェア構成で実現することも可能である。
に従って、このように構成される2次元キャッシュメモ
リシステム32の実行する処理について詳細に説明す
る。なお、この実施例では、説明の便宜上、2次元キャ
ッシュメモリシステム32の実行する処理をソフトウェ
ア構成で説明するようにしたが、当然の如く、ハードウ
ェア構成で実現することも可能である。
【0032】2次元キャッシュメモリシステム32は、
プロセッサ30からアクセス要求があると、図8のメイ
ン処理フローのステップ1に示すように、先ず最初に、
リファレンスビットリフレッシュ処理を実行する。
プロセッサ30からアクセス要求があると、図8のメイ
ン処理フローのステップ1に示すように、先ず最初に、
リファレンスビットリフレッシュ処理を実行する。
【0033】このリファレンスビットリフレッシュ処理
では、図9の処理フローに詳細を示すように、先ず最初
に、4ビットで構成されるリファレンスリフレッシュカ
ウンタ53の計数値が最大値に到達したのか否かを判断
して、到達していないことを判断するときには、リファ
レンスリフレッシュカウンタ53の計数値を1つインク
リメントして処理を終了し、一方、到達したことを判断
するときには、リファレンスリフレッシュカウンタ53
の計数値をクリアするとともに、リファレンスフラグ5
0の全フラグ値をクリアして処理を終了する。
では、図9の処理フローに詳細を示すように、先ず最初
に、4ビットで構成されるリファレンスリフレッシュカ
ウンタ53の計数値が最大値に到達したのか否かを判断
して、到達していないことを判断するときには、リファ
レンスリフレッシュカウンタ53の計数値を1つインク
リメントして処理を終了し、一方、到達したことを判断
するときには、リファレンスリフレッシュカウンタ53
の計数値をクリアするとともに、リファレンスフラグ5
0の全フラグ値をクリアして処理を終了する。
【0034】すなわち、このリファレンスビットリフレ
ッシュ処理では、規定の回数分のアクセス要求が発行さ
れる度毎に、リファレンスフラグ50のフラグ値をリセ
ットしていくという処理を実行するのである。
ッシュ処理では、規定の回数分のアクセス要求が発行さ
れる度毎に、リファレンスフラグ50のフラグ値をリセ
ットしていくという処理を実行するのである。
【0035】次に、図8のメイン処理フローのステップ
2に示すように、プロセッサ30の発行したアクセス要
求のアクセスモードを判断する。プロセッサ30の発行
するアクセス要求には、キャッシュメモリ40をバイパ
スして主メモリ31に直接アクセスしていくバイパスモ
ードと、キャッシュメモリ40にアクセスしてくるノー
マルモードという2種類のアクセスモードが存在するの
で、このステップ2では、プロセッサ30の発行するア
クセス要求がバイパスモードであるのか、ノーマルモー
ドであるのかを判断するのである。
2に示すように、プロセッサ30の発行したアクセス要
求のアクセスモードを判断する。プロセッサ30の発行
するアクセス要求には、キャッシュメモリ40をバイパ
スして主メモリ31に直接アクセスしていくバイパスモ
ードと、キャッシュメモリ40にアクセスしてくるノー
マルモードという2種類のアクセスモードが存在するの
で、このステップ2では、プロセッサ30の発行するア
クセス要求がバイパスモードであるのか、ノーマルモー
ドであるのかを判断するのである。
【0036】この判断でバイパスモードであることを判
断するときは、続いて、図8のメイン処理フローのステ
ップ3で示すように、プロセッサ30の発行したアクセ
ス要求がリード処理なのか、ライト処理なのかを判断す
る。
断するときは、続いて、図8のメイン処理フローのステ
ップ3で示すように、プロセッサ30の発行したアクセ
ス要求がリード処理なのか、ライト処理なのかを判断す
る。
【0037】この判断でリード要求であることを判断す
るときは、バイパスモードに従って主メモリ31のデー
タがリードされても、データの整合性が保たれることに
対応して、続いて、図8のメイン処理フローのステップ
4で示すように、主メモリ31に対してメモリリード要
求を発行して処理を終了する。
るときは、バイパスモードに従って主メモリ31のデー
タがリードされても、データの整合性が保たれることに
対応して、続いて、図8のメイン処理フローのステップ
4で示すように、主メモリ31に対してメモリリード要
求を発行して処理を終了する。
【0038】一方、この判断でライト要求であることを
判断するときには、バイパスモードに従って主メモリ3
1のデータがライトされることで、データの整合性が保
たれなくなるで、ライト要求データの属する区画データ
がキャッシュメモリ40に格納されているか否かを調べ
るべく、続いて、図8のメイン処理フローのステップ5
で示すように、キャッシュヒット判定処理を実行する。
判断するときには、バイパスモードに従って主メモリ3
1のデータがライトされることで、データの整合性が保
たれなくなるで、ライト要求データの属する区画データ
がキャッシュメモリ40に格納されているか否かを調べ
るべく、続いて、図8のメイン処理フローのステップ5
で示すように、キャッシュヒット判定処理を実行する。
【0039】このキャッシュヒット判定処理では、図1
0の処理フローに詳細を示すように、キャッシュコンパ
レータ42を起動することで実行するものであって、X
アドレスレジスタ41aに格納されるXアドレスの上位
8ビットでTAGメモリ60を検索することで、TAG
メモリ60からYアドレス上位7ビット値とバリッドビ
ットとを読み出して、この読み出したYアドレス上位7
ビット値と、Yアドレスレジスタ41bに格納されるY
アドレスの上位7ビット値とが一致し、かつ、バリッド
ビットが有効を表示する“0”を示しているか否かを検
出することで実行され、この検出処理に従って、キャッ
シュメモリ40にヒットすることを判断するときには、
図示するのを省略したヒットフラグに“1”をセットし
て処理を終了し、一方、ミスヒットすることを判断する
ときには、このヒットフラグに“0”をセットして処理
を終了する。
0の処理フローに詳細を示すように、キャッシュコンパ
レータ42を起動することで実行するものであって、X
アドレスレジスタ41aに格納されるXアドレスの上位
8ビットでTAGメモリ60を検索することで、TAG
メモリ60からYアドレス上位7ビット値とバリッドビ
ットとを読み出して、この読み出したYアドレス上位7
ビット値と、Yアドレスレジスタ41bに格納されるY
アドレスの上位7ビット値とが一致し、かつ、バリッド
ビットが有効を表示する“0”を示しているか否かを検
出することで実行され、この検出処理に従って、キャッ
シュメモリ40にヒットすることを判断するときには、
図示するのを省略したヒットフラグに“1”をセットし
て処理を終了し、一方、ミスヒットすることを判断する
ときには、このヒットフラグに“0”をセットして処理
を終了する。
【0040】すなわち、このキャッシュヒット判定処理
では、キャッシュコンパレータ42を起動することで、
プロセッサ30の発行したライト要求アドレスの指す区
画データが有効なものとしてキャッシュメモリ40に格
納されているか否かをチェックして、有効なものとして
格納されているときにはヒットフラグに“1”をセット
し、そうでないときにはヒットフラグに“0”をセット
していくという処理を実行するのである。
では、キャッシュコンパレータ42を起動することで、
プロセッサ30の発行したライト要求アドレスの指す区
画データが有効なものとしてキャッシュメモリ40に格
納されているか否かをチェックして、有効なものとして
格納されているときにはヒットフラグに“1”をセット
し、そうでないときにはヒットフラグに“0”をセット
していくという処理を実行するのである。
【0041】続いて、図8のメイン処理フローのステッ
プ6に示すように、ヒットフラグのフラグ値を参照し
て、そのフラグ値が“1”であるのか、“0”であるの
かを判断する。
プ6に示すように、ヒットフラグのフラグ値を参照し
て、そのフラグ値が“1”であるのか、“0”であるの
かを判断する。
【0042】この判断でヒットフラグ値が“0”である
ことを判断するときには、ライト対象のデータがキャッ
シュメモリ40に格納されていないことから、バイパス
モードに従って主メモリ31のデータがライトされても
影響を受けないことに対応して、図8のメイン処理フロ
ーのステップ7で示すように、直ちに主メモリ31に対
してメモリライト要求を発行して処理を終了する。
ことを判断するときには、ライト対象のデータがキャッ
シュメモリ40に格納されていないことから、バイパス
モードに従って主メモリ31のデータがライトされても
影響を受けないことに対応して、図8のメイン処理フロ
ーのステップ7で示すように、直ちに主メモリ31に対
してメモリライト要求を発行して処理を終了する。
【0043】一方、この判断でヒットフラグ値が“1”
であることを判断するときには、データの整合性を保つ
べく、図8のメイン処理フローのステップ8で示すよう
に、キャッシュ無効化処理を実行してから、主メモリ3
1に対してメモリライト要求を発行して処理を終了す
る。
であることを判断するときには、データの整合性を保つ
べく、図8のメイン処理フローのステップ8で示すよう
に、キャッシュ無効化処理を実行してから、主メモリ3
1に対してメモリライト要求を発行して処理を終了す
る。
【0044】このキャッシュ無効化処理では、図11の
処理フローに詳細を示すように、先ず最初に、Xアドレ
スレジスタ41aに格納されるXアドレスの上位8ビッ
トの指すTAGメモリ60のブロックアドレスフィール
ドを検索して、そのフィールドに格納される記憶領域番
号を読み出してブロックアドレスレジスタ62にセット
する。次に、図16(a)の処理フローに従い、ブロッ
クアドレスレジスタ62にセットされる記憶領域番号に
対応付けられるリファレンスフラグ50を特定して、そ
のフラグ値をアクセス発生無表示の“0”にセットす
る。続いて、図17(a)の処理フローに従い、ブロッ
クアドレスレジスタ62にセットされる記憶領域番号に
対応付けられるインデックスレジスタ52を特定して、
その管理する索引区画アドレスの指すTAGメモリ60
のエントリーのバリットビットを無効表示の“1”にセ
ットする。続いて、図16(c)の処理フローに従い、
カレントアクセスフラグ51のフラグ値を一度全て
“0”にセットしてから、ブロックアドレスレジスタ6
2にセットされる記憶領域番号に対応付けられるカレン
トアクセスフラグ51を特定して、そのフラグ値を直前
アクセス表示の“1”にセットして処理を終了する。
処理フローに詳細を示すように、先ず最初に、Xアドレ
スレジスタ41aに格納されるXアドレスの上位8ビッ
トの指すTAGメモリ60のブロックアドレスフィール
ドを検索して、そのフィールドに格納される記憶領域番
号を読み出してブロックアドレスレジスタ62にセット
する。次に、図16(a)の処理フローに従い、ブロッ
クアドレスレジスタ62にセットされる記憶領域番号に
対応付けられるリファレンスフラグ50を特定して、そ
のフラグ値をアクセス発生無表示の“0”にセットす
る。続いて、図17(a)の処理フローに従い、ブロッ
クアドレスレジスタ62にセットされる記憶領域番号に
対応付けられるインデックスレジスタ52を特定して、
その管理する索引区画アドレスの指すTAGメモリ60
のエントリーのバリットビットを無効表示の“1”にセ
ットする。続いて、図16(c)の処理フローに従い、
カレントアクセスフラグ51のフラグ値を一度全て
“0”にセットしてから、ブロックアドレスレジスタ6
2にセットされる記憶領域番号に対応付けられるカレン
トアクセスフラグ51を特定して、そのフラグ値を直前
アクセス表示の“1”にセットして処理を終了する。
【0045】すなわち、このキャッシュ無効化処理で
は、バイパスモードに従って主メモリ31にライトされ
るデータの属する区画データに関しての登録情報を無効
化していくとともに、カレントアクセスフラグ51のフ
ラグ値を更新していくという処理を実行するのである。
は、バイパスモードに従って主メモリ31にライトされ
るデータの属する区画データに関しての登録情報を無効
化していくとともに、カレントアクセスフラグ51のフ
ラグ値を更新していくという処理を実行するのである。
【0046】一方、図8のメイン処理フローのステップ
2で、プロセッサ30の発行したアクセス要求がノーマ
ルモードであることを判断するときには、図8のメイン
処理フローのステップ9で示すように、プロセッサ30
の発行したアクセス要求がリード処理なのか、ライト処
理なのかを判断する。
2で、プロセッサ30の発行したアクセス要求がノーマ
ルモードであることを判断するときには、図8のメイン
処理フローのステップ9で示すように、プロセッサ30
の発行したアクセス要求がリード処理なのか、ライト処
理なのかを判断する。
【0047】この判断でライト要求であることを判断す
るときは、続いて、図8のメイン処理フローのステップ
10で示すように、ライト要求データの属する区画デー
タがキャッシュメモリ40に格納されているか否かを調
べるべく、キャッシュヒット判定処理を実行する。
るときは、続いて、図8のメイン処理フローのステップ
10で示すように、ライト要求データの属する区画デー
タがキャッシュメモリ40に格納されているか否かを調
べるべく、キャッシュヒット判定処理を実行する。
【0048】このとき実行するキャッシュヒット判定処
理は、図8のメイン処理フローのステップ5で実行した
ものと同じ処理であって、キャッシュコンパレータ42
を起動することで、プロセッサ30の発行したライト要
求アドレスの指す区画データが有効なものとしてキャッ
シュメモリ40に格納されているか否かをチェックし
て、有効なものとして格納されているときにはヒットフ
ラグに“1”をセットし、そうでないときにはヒットフ
ラグに“0”をセットしていくという処理を実行するの
である。
理は、図8のメイン処理フローのステップ5で実行した
ものと同じ処理であって、キャッシュコンパレータ42
を起動することで、プロセッサ30の発行したライト要
求アドレスの指す区画データが有効なものとしてキャッ
シュメモリ40に格納されているか否かをチェックし
て、有効なものとして格納されているときにはヒットフ
ラグに“1”をセットし、そうでないときにはヒットフ
ラグに“0”をセットしていくという処理を実行するの
である。
【0049】続いて、図8のメイン処理フローのステッ
プ11に示すように、ヒットフラグのフラグ値を参照し
て、そのフラグ値が“1”であるのか、“0”であるの
かを判断する。
プ11に示すように、ヒットフラグのフラグ値を参照し
て、そのフラグ値が“1”であるのか、“0”であるの
かを判断する。
【0050】この判断でヒットフラグ値が“0”である
ことを判断するときには、ライト対象のデータがキャッ
シュメモリ40に格納されていないことから、図8のメ
イン処理フローのステップ12で示すように、直ちに主
メモリ31に対してメモリライト要求を発行して処理を
終了する。
ことを判断するときには、ライト対象のデータがキャッ
シュメモリ40に格納されていないことから、図8のメ
イン処理フローのステップ12で示すように、直ちに主
メモリ31に対してメモリライト要求を発行して処理を
終了する。
【0051】一方、この判断でヒットフラグ値が“1”
であることを判断するときには、ライト対象のデータが
キャッシュメモリ40に格納されていることから、図8
のメイン処理フローのステップ13で示すように、ライ
ト処理のキャッシュアクセス処理を実行することでキャ
ッシュメモリ40に格納されるライト対象データを書き
換えて、その後でデータの整合性を保つべく、主メモリ
31に対してメモリライト要求を発行して処理を終了す
る。
であることを判断するときには、ライト対象のデータが
キャッシュメモリ40に格納されていることから、図8
のメイン処理フローのステップ13で示すように、ライ
ト処理のキャッシュアクセス処理を実行することでキャ
ッシュメモリ40に格納されるライト対象データを書き
換えて、その後でデータの整合性を保つべく、主メモリ
31に対してメモリライト要求を発行して処理を終了す
る。
【0052】このライト処理のキャッシュアクセス処理
では、図12(b)の処理フローに詳細を示すように、
先ず最初に、Xアドレスレジスタ41aに格納されるX
アドレスの上位8ビットの指すTAGメモリ60のブロ
ックアドレスフィールドを検索して、そのフィールドに
格納される記憶領域番号を読み出してブロックアドレス
レジスタ62にセットする。次に、Xアドレスレジスタ
41aに格納されるXアドレスの下位3ビットと、Yア
ドレスレジスタ41bに格納されるYアドレスの下位3
ビットとで指定される区画データ内アドレスを特定し
て、その区画データ内アドレスに従って、ブロックアド
レスレジスタ62の格納値の指す記憶領域に格納される
区画データの中にあるライト先位置を特定して、図示し
ない読出レジスタ(Dレジスタ)に格納されるプロセッ
サ30から転送されてきたライトデータをその格納先に
格納する。続いて、図16(c)の処理フローに従い、
カレントアクセスフラグ51のフラグ値を一度全て
“0”にセットしてから、ブロックアドレスレジスタ6
2にセットされる記憶領域番号に対応付けられるカレン
トアクセスフラグ51を特定して、そのフラグ値を直前
アクセス表示の“1”にセットする。続いて、図16
(b)の処理フローに従い、ブロックアドレスレジスタ
62にセットされる記憶領域番号に対応付けられるリフ
ァレンスフラグ50のフラグ値を“1”にセット(セッ
トしてあるときにはそのまま)して処理を終了する。
では、図12(b)の処理フローに詳細を示すように、
先ず最初に、Xアドレスレジスタ41aに格納されるX
アドレスの上位8ビットの指すTAGメモリ60のブロ
ックアドレスフィールドを検索して、そのフィールドに
格納される記憶領域番号を読み出してブロックアドレス
レジスタ62にセットする。次に、Xアドレスレジスタ
41aに格納されるXアドレスの下位3ビットと、Yア
ドレスレジスタ41bに格納されるYアドレスの下位3
ビットとで指定される区画データ内アドレスを特定し
て、その区画データ内アドレスに従って、ブロックアド
レスレジスタ62の格納値の指す記憶領域に格納される
区画データの中にあるライト先位置を特定して、図示し
ない読出レジスタ(Dレジスタ)に格納されるプロセッ
サ30から転送されてきたライトデータをその格納先に
格納する。続いて、図16(c)の処理フローに従い、
カレントアクセスフラグ51のフラグ値を一度全て
“0”にセットしてから、ブロックアドレスレジスタ6
2にセットされる記憶領域番号に対応付けられるカレン
トアクセスフラグ51を特定して、そのフラグ値を直前
アクセス表示の“1”にセットする。続いて、図16
(b)の処理フローに従い、ブロックアドレスレジスタ
62にセットされる記憶領域番号に対応付けられるリフ
ァレンスフラグ50のフラグ値を“1”にセット(セッ
トしてあるときにはそのまま)して処理を終了する。
【0053】すなわち、このライト処理のキャッシュア
クセス処理では、キャッシュメモリ40に格納されるデ
ータをプロセッサ30の要求するものに書き換えていく
とともに、カレントアクセスフラグ51/リファレンス
フラグ50のフラグ値を更新していくという処理を実行
するのである。
クセス処理では、キャッシュメモリ40に格納されるデ
ータをプロセッサ30の要求するものに書き換えていく
とともに、カレントアクセスフラグ51/リファレンス
フラグ50のフラグ値を更新していくという処理を実行
するのである。
【0054】一方、図8のメイン処理フローのステップ
9で、プロセッサ30の発行したアクセス要求がリード
要求であることを判断するときは、続いて、図8のメイ
ン処理フローのステップ14で示すように、リード要求
データの属する区画データがキャッシュメモリ40に格
納されているか否かを調べるべく、キャッシュヒット判
定処理を実行する。
9で、プロセッサ30の発行したアクセス要求がリード
要求であることを判断するときは、続いて、図8のメイ
ン処理フローのステップ14で示すように、リード要求
データの属する区画データがキャッシュメモリ40に格
納されているか否かを調べるべく、キャッシュヒット判
定処理を実行する。
【0055】このとき実行するキャッシュヒット判定処
理は、図8のメイン処理フローのステップ5で実行した
ものと同じ処理であって、キャッシュコンパレータ42
を起動することで、プロセッサ30の発行したリード要
求アドレスの指す区画データが有効なものとしてキャッ
シュメモリ40に格納されているか否かをチェックし
て、有効なものとして格納されているときにはヒットフ
ラグに“1”をセットし、そうでないときにはヒットフ
ラグに“0”をセットしていくという処理を実行するの
である。
理は、図8のメイン処理フローのステップ5で実行した
ものと同じ処理であって、キャッシュコンパレータ42
を起動することで、プロセッサ30の発行したリード要
求アドレスの指す区画データが有効なものとしてキャッ
シュメモリ40に格納されているか否かをチェックし
て、有効なものとして格納されているときにはヒットフ
ラグに“1”をセットし、そうでないときにはヒットフ
ラグに“0”をセットしていくという処理を実行するの
である。
【0056】続いて、図8のメイン処理フローのステッ
プ15に示すように、ヒットフラグのフラグ値を参照し
て、そのフラグ値が“1”であるのか、“0”であるの
かを判断する。
プ15に示すように、ヒットフラグのフラグ値を参照し
て、そのフラグ値が“1”であるのか、“0”であるの
かを判断する。
【0057】この判断でヒットフラグ値が“1”である
ことを判断するときには、リード対象のデータがキャッ
シュメモリ40に格納されていることから、図8のメイ
ン処理フローのステップ16で示すように、リード処理
のキャッシュアクセス処理を実行することでキャッシュ
メモリ40に格納されるリード対象データを読み取っ
て、プロセッサ30に転送して処理を終了する。
ことを判断するときには、リード対象のデータがキャッ
シュメモリ40に格納されていることから、図8のメイ
ン処理フローのステップ16で示すように、リード処理
のキャッシュアクセス処理を実行することでキャッシュ
メモリ40に格納されるリード対象データを読み取っ
て、プロセッサ30に転送して処理を終了する。
【0058】このリード処理のキャッシュアクセス処理
では、図12(a)の処理フローに詳細を示すように、
先ず最初に、Xアドレスレジスタ41aに格納されるX
アドレスの上位8ビットの指すTAGメモリ60のブロ
ックアドレスフィールドを検索して、そのフィールドに
格納される記憶領域番号を読み出してブロックアドレス
レジスタ62にセットする。次に、Xアドレスレジスタ
41aに格納されるXアドレスの下位3ビットと、Yア
ドレスレジスタ41bに格納されるYアドレスの下位3
ビットとで指定される区画データ内アドレスを特定し
て、その区画データ内アドレスに従って、ブロックアド
レスレジスタ62の格納値の指す記憶領域に格納される
区画データの中からリード対象データを読み出して、図
示しない読出レジスタ(Dレジスタ)にセットする。続
いて、図16(c)の処理フローに従い、カレントアク
セスフラグ51のフラグ値を一度全て“0”にセットし
てから、ブロックアドレスレジスタ62にセットされる
記憶領域番号に対応付けられるカレントアクセスフラグ
51を特定して、そのフラグ値を直前アクセス表示の
“1”にセットする。続いて、図16(b)の処理フロ
ーに従い、ブロックアドレスレジスタ62にセットされ
る記憶領域番号に対応付けられるリファレンスフラグ5
0のフラグ値を“1”にセット(セットしてあるときに
はそのまま)して処理を終了する。
では、図12(a)の処理フローに詳細を示すように、
先ず最初に、Xアドレスレジスタ41aに格納されるX
アドレスの上位8ビットの指すTAGメモリ60のブロ
ックアドレスフィールドを検索して、そのフィールドに
格納される記憶領域番号を読み出してブロックアドレス
レジスタ62にセットする。次に、Xアドレスレジスタ
41aに格納されるXアドレスの下位3ビットと、Yア
ドレスレジスタ41bに格納されるYアドレスの下位3
ビットとで指定される区画データ内アドレスを特定し
て、その区画データ内アドレスに従って、ブロックアド
レスレジスタ62の格納値の指す記憶領域に格納される
区画データの中からリード対象データを読み出して、図
示しない読出レジスタ(Dレジスタ)にセットする。続
いて、図16(c)の処理フローに従い、カレントアク
セスフラグ51のフラグ値を一度全て“0”にセットし
てから、ブロックアドレスレジスタ62にセットされる
記憶領域番号に対応付けられるカレントアクセスフラグ
51を特定して、そのフラグ値を直前アクセス表示の
“1”にセットする。続いて、図16(b)の処理フロ
ーに従い、ブロックアドレスレジスタ62にセットされ
る記憶領域番号に対応付けられるリファレンスフラグ5
0のフラグ値を“1”にセット(セットしてあるときに
はそのまま)して処理を終了する。
【0059】すなわち、このリード処理のキャッシュア
クセス処理では、キャッシュメモリ40に格納されるリ
ード対象データを読み出してプロセッサ30に転送して
いくとともに、カレントアクセスフラグ51/リファレ
ンスフラグ50のフラグ値を更新していくという処理を
実行するのである。
クセス処理では、キャッシュメモリ40に格納されるリ
ード対象データを読み出してプロセッサ30に転送して
いくとともに、カレントアクセスフラグ51/リファレ
ンスフラグ50のフラグ値を更新していくという処理を
実行するのである。
【0060】一方、図8のメイン処理フローのステップ
15で、ヒットフラグ値が“0”であることを判断する
ときには、リード対象データがキャッシュメモリ40に
格納されていないことから、リード対象データの属する
区画データをキャッシュメモリ40に格納すべく、図8
のメイン処理フローのステップ17で示すように、ブロ
ックリード処理を実行する。
15で、ヒットフラグ値が“0”であることを判断する
ときには、リード対象データがキャッシュメモリ40に
格納されていないことから、リード対象データの属する
区画データをキャッシュメモリ40に格納すべく、図8
のメイン処理フローのステップ17で示すように、ブロ
ックリード処理を実行する。
【0061】次に、図13ないし図15に従って、この
ブロックリード処理の詳細について説明する。ここで、
図13に示す処理フローの左側部分と右側部分は、並列
的に実行されることになる。
ブロックリード処理の詳細について説明する。ここで、
図13に示す処理フローの左側部分と右側部分は、並列
的に実行されることになる。
【0062】ブロックリード処理では、図13の処理フ
ローに示すように、先ず最初に、ステップ1で、スワッ
プアウトする区画データを決定する。この決定処理は、
図14の処理フローに従い、先ず最初に、フラグ値が
“0”を示すリファレンスフラグ50があるか否かを判
断して、有ることを判断するときには、そのリファレン
スフラグ50に対応付けられるキャッシュメモリ40の
記憶領域番号をブロックアドレスレジスタ62にセット
し、無いことを判断するときには、フラグ値が“1”を
示すカレントアクセスフラグ51に対応付けられるキャ
ッシュメモリ40の記憶領域番号をブロックアドレスレ
ジスタ62にセットすることで実行する。
ローに示すように、先ず最初に、ステップ1で、スワッ
プアウトする区画データを決定する。この決定処理は、
図14の処理フローに従い、先ず最初に、フラグ値が
“0”を示すリファレンスフラグ50があるか否かを判
断して、有ることを判断するときには、そのリファレン
スフラグ50に対応付けられるキャッシュメモリ40の
記憶領域番号をブロックアドレスレジスタ62にセット
し、無いことを判断するときには、フラグ値が“1”を
示すカレントアクセスフラグ51に対応付けられるキャ
ッシュメモリ40の記憶領域番号をブロックアドレスレ
ジスタ62にセットすることで実行する。
【0063】後述するように、このブロックアドレスレ
ジスタ62の格納値の指す記憶領域に格納される区画デ
ータがスワップアウトの対象となるので、この決定処理
では、前回実行されたリファレンスフラグ50のクリア
処理から今回のアクセスまでの間に、アクセスされたこ
とのない記憶領域が存在する場合には、その記憶領域に
格納される区画データをスワップアウト対象として決定
し、存在する場合には、直前にアクセスされた区画デー
タをスワップアウト対象として決定していくことにな
る。
ジスタ62の格納値の指す記憶領域に格納される区画デ
ータがスワップアウトの対象となるので、この決定処理
では、前回実行されたリファレンスフラグ50のクリア
処理から今回のアクセスまでの間に、アクセスされたこ
とのない記憶領域が存在する場合には、その記憶領域に
格納される区画データをスワップアウト対象として決定
し、存在する場合には、直前にアクセスされた区画デー
タをスワップアウト対象として決定していくことにな
る。
【0064】次に、ステップ2で、スワップアウト対象
として決定した区画データに関してのTAGメモリ60
の登録データを無効化する。この無効化処理は、図17
(a)の処理フローに従い、ブロックアドレスレジスタ
62にセットされる記憶領域番号に対応付けられるイン
デックスレジスタ52を特定して、その管理する索引区
画アドレスの指すTAGメモリ60のエントリーのバリ
ットビットを無効表示の“1”にセットすることで実行
する。すなわち、スワップアウト対象として決定した区
画データについてのTAGメモリ60のバリットビット
を無効化するのである。
として決定した区画データに関してのTAGメモリ60
の登録データを無効化する。この無効化処理は、図17
(a)の処理フローに従い、ブロックアドレスレジスタ
62にセットされる記憶領域番号に対応付けられるイン
デックスレジスタ52を特定して、その管理する索引区
画アドレスの指すTAGメモリ60のエントリーのバリ
ットビットを無効表示の“1”にセットすることで実行
する。すなわち、スワップアウト対象として決定した区
画データについてのTAGメモリ60のバリットビット
を無効化するのである。
【0065】続いて、ステップ3で、リード対象データ
の属する区画データの格納先となる記憶領域番号(ブロ
ックアドレス)をTAGメモリ60に登録する。この登
録処理は、図17(c)の処理フローに従い、Xアドレ
スレジスタ41aに格納されるXアドレスの上位8ビッ
トの指すTAGメモリ60のブロックアドレスフィール
ドに、ブロックアドレスレジスタ62の持つ記憶領域番
号をセットすることで実行する。すなわち、新たに格納
される区画データについてのTAGメモリ60のブロッ
クアドレスフィールドに、格納先の記憶領域番号を登録
するのである。
の属する区画データの格納先となる記憶領域番号(ブロ
ックアドレス)をTAGメモリ60に登録する。この登
録処理は、図17(c)の処理フローに従い、Xアドレ
スレジスタ41aに格納されるXアドレスの上位8ビッ
トの指すTAGメモリ60のブロックアドレスフィール
ドに、ブロックアドレスレジスタ62の持つ記憶領域番
号をセットすることで実行する。すなわち、新たに格納
される区画データについてのTAGメモリ60のブロッ
クアドレスフィールドに、格納先の記憶領域番号を登録
するのである。
【0066】続いて、ステップ4で、リード対象データ
の属する区画データの示すYアドレス上位7ビット値を
TAGメモリ60に登録する。この登録処理は、図17
(d)処理フローに従い、Xアドレスレジスタ41aに
格納されるXアドレスの上位8ビットの指すTAGメモ
リ60のTAGフィールドに、Yアドレスレジスタ41
bに格納されるYアドレスの上位7ビット値をセットす
ることで実行する。すなわち、新たに格納される区画デ
ータについてのTAGメモリ60のTAGフィールド
に、その区画データの示すYアドレス上位7ビット値を
登録するのである。
の属する区画データの示すYアドレス上位7ビット値を
TAGメモリ60に登録する。この登録処理は、図17
(d)処理フローに従い、Xアドレスレジスタ41aに
格納されるXアドレスの上位8ビットの指すTAGメモ
リ60のTAGフィールドに、Yアドレスレジスタ41
bに格納されるYアドレスの上位7ビット値をセットす
ることで実行する。すなわち、新たに格納される区画デ
ータについてのTAGメモリ60のTAGフィールド
に、その区画データの示すYアドレス上位7ビット値を
登録するのである。
【0067】続いて、ステップ5で、インデックスレジ
スタ52のレジスタ値を更新する。この更新処理は、図
16(d)の処理フローに従い、ブロックアドレスレジ
スタ62にセットされる記憶領域番号に対応付けられる
インデックスレジスタ52に、Xアドレスレジスタ41
aに格納されるXアドレスの上位8ビット値をセットす
ることで実行する。すなわち、新たに有効となるTAG
メモリ60のエントリーを指すことになるようにと更新
するのである。
スタ52のレジスタ値を更新する。この更新処理は、図
16(d)の処理フローに従い、ブロックアドレスレジ
スタ62にセットされる記憶領域番号に対応付けられる
インデックスレジスタ52に、Xアドレスレジスタ41
aに格納されるXアドレスの上位8ビット値をセットす
ることで実行する。すなわち、新たに有効となるTAG
メモリ60のエントリーを指すことになるようにと更新
するのである。
【0068】続いて、ステップ6で、カレントアクセス
フラグ51のフラグ値を更新する。この更新処理は、図
16(c)の処理フローに従い、カレントアクセスフラ
グ51のフラグ値を一度全て“0”にセットしてから、
ブロックアドレスレジスタ62にセットされる記憶領域
番号に対応付けられるカレントアクセスフラグ51を特
定して、そのフラグ値を直前アクセス表示の“1”にセ
ットすることで実行する。
フラグ51のフラグ値を更新する。この更新処理は、図
16(c)の処理フローに従い、カレントアクセスフラ
グ51のフラグ値を一度全て“0”にセットしてから、
ブロックアドレスレジスタ62にセットされる記憶領域
番号に対応付けられるカレントアクセスフラグ51を特
定して、そのフラグ値を直前アクセス表示の“1”にセ
ットすることで実行する。
【0069】一方、このステップ1ないしステップ6の
処理と平行して、ステップ7で、リード対象データの属
する区画データをキャッシュメモリ40に格納すべく、
バーストリード処理を実行する。このバーストリード処
理では、図15の処理フローに詳細を示すように、先ず
最初に、6ビット構成のスキャンカウンタ54の計数値
をクリアする。次に、スキャンカウンタ54の計数値
と、Xアドレスレジスタ41aに格納されるXアドレス
の上位8ビット値と、Yアドレスレジスタ41bに格納
されるYアドレスの上位7ビット値とを、図18に示す
形態に従って2Dプレーンアドレスレジスタ55にセッ
トする。続いて、2Dプレーンアドレスレジスタ55の
格納するアドレスを指定して、メモリコントローラ33
に対して8ワードのバーストリード要求を発行する。続
いて、このバーストリード要求に応答して転送されてく
る8ワードのデータを受け取って、ブロックアドレスレ
ジスタ62の格納値の指すキャッシュメモリ60上の記
憶領域に書き込む。続いて、スキャンカウンタ54の計
数値を8個インクリメントすることで2Dプレーンアド
レスレジスタ55の格納値を更新して、スキャンカウン
タ54がキャリーオーバするときには処理を終了し、キ
ャリーオーバしないときには、再び、2Dプレーンアド
レスレジスタ55の格納するアドレスを指定して、メモ
リコントローラ33に対して8ワードのバーストリード
要求を発行していくことを繰り返していく。
処理と平行して、ステップ7で、リード対象データの属
する区画データをキャッシュメモリ40に格納すべく、
バーストリード処理を実行する。このバーストリード処
理では、図15の処理フローに詳細を示すように、先ず
最初に、6ビット構成のスキャンカウンタ54の計数値
をクリアする。次に、スキャンカウンタ54の計数値
と、Xアドレスレジスタ41aに格納されるXアドレス
の上位8ビット値と、Yアドレスレジスタ41bに格納
されるYアドレスの上位7ビット値とを、図18に示す
形態に従って2Dプレーンアドレスレジスタ55にセッ
トする。続いて、2Dプレーンアドレスレジスタ55の
格納するアドレスを指定して、メモリコントローラ33
に対して8ワードのバーストリード要求を発行する。続
いて、このバーストリード要求に応答して転送されてく
る8ワードのデータを受け取って、ブロックアドレスレ
ジスタ62の格納値の指すキャッシュメモリ60上の記
憶領域に書き込む。続いて、スキャンカウンタ54の計
数値を8個インクリメントすることで2Dプレーンアド
レスレジスタ55の格納値を更新して、スキャンカウン
タ54がキャリーオーバするときには処理を終了し、キ
ャリーオーバしないときには、再び、2Dプレーンアド
レスレジスタ55の格納するアドレスを指定して、メモ
リコントローラ33に対して8ワードのバーストリード
要求を発行していくことを繰り返していく。
【0070】すなわち、このバーストリード処理では、
プロセッサ30の要求データの属する区画データの示す
区画アドレスを起点にして、その区画データ内のデータ
を指すことになるX・Yアドレス(この場合には、バー
スト転送を要求するので、8個飛びのアドレスとなる)
を発行していくことで、その区画データをキャッシュメ
モリ40に格納していくのである。
プロセッサ30の要求データの属する区画データの示す
区画アドレスを起点にして、その区画データ内のデータ
を指すことになるX・Yアドレス(この場合には、バー
スト転送を要求するので、8個飛びのアドレスとなる)
を発行していくことで、その区画データをキャッシュメ
モリ40に格納していくのである。
【0071】このようにして、図13の処理フローにあ
って、ステップ1ないしステップ6の処理と、ステップ
7のバーストリード処理とを終了すると、最後に、ステ
ップ8で、新たに格納した区画データに関してのTAG
メモリ60の登録データを有効化する。
って、ステップ1ないしステップ6の処理と、ステップ
7のバーストリード処理とを終了すると、最後に、ステ
ップ8で、新たに格納した区画データに関してのTAG
メモリ60の登録データを有効化する。
【0072】この有効化処理は、図17(b)の処理フ
ローに従い、ブロックアドレスレジスタ62にセットさ
れる記憶領域番号に対応付けられるインデックスレジス
タ52を特定して、その管理する索引区画アドレスの指
すTAGメモリ60のエントリーのバリットビットを有
効表示の“1”にセットすることで実行する。
ローに従い、ブロックアドレスレジスタ62にセットさ
れる記憶領域番号に対応付けられるインデックスレジス
タ52を特定して、その管理する索引区画アドレスの指
すTAGメモリ60のエントリーのバリットビットを有
効表示の“1”にセットすることで実行する。
【0073】このようにして、本発明により構成される
画像処理装置では、画像区画データを高速アクセス性能
を持つキャッシュメモリ40にバッファリングしていく
構成を採ることから、高速な画像処理を実現できるよう
になるのである。
画像処理装置では、画像区画データを高速アクセス性能
を持つキャッシュメモリ40にバッファリングしていく
構成を採ることから、高速な画像処理を実現できるよう
になるのである。
【0074】すなわち、本発明は、図19に示すよう
に、画像データの局所部分を集中的にアクセスしていく
ことで画像演算を実行するという性質を持つ画像処理ア
ルゴリズムと、従来の情報処理装置で用いられている1
次元的なデータキャッシュ方式と、従来の画像処理装置
の装置構成とを統合した新たな画像処理装置の構築を実
現するのである。
に、画像データの局所部分を集中的にアクセスしていく
ことで画像演算を実行するという性質を持つ画像処理ア
ルゴリズムと、従来の情報処理装置で用いられている1
次元的なデータキャッシュ方式と、従来の画像処理装置
の装置構成とを統合した新たな画像処理装置の構築を実
現するのである。
【0075】図示実施例について説明したが、本発明は
これに限定されるものではない。例えば、実施例では、
画像処理装置に従って本発明を開示したが、本発明はこ
れに限られるものではなく、他の配列データのデータ処
理を扱う情報処理装置にも適用できるのである。
これに限定されるものではない。例えば、実施例では、
画像処理装置に従って本発明を開示したが、本発明はこ
れに限られるものではなく、他の配列データのデータ処
理を扱う情報処理装置にも適用できるのである。
【0076】
【発明の効果】以上説明したように、本発明によれば、
n次元(n≧2)に配列されるデータを処理するときに
あって、続いてアクセスしていくデータがn次元空間で
ある広がりを持って分布しているという特性を考慮し
て、データをn次元で区画する構成を採って、その区画
データをキャッシュメモリに格納する構成を採ることで
高速なデータ処理を実現する。
n次元(n≧2)に配列されるデータを処理するときに
あって、続いてアクセスしていくデータがn次元空間で
ある広がりを持って分布しているという特性を考慮し
て、データをn次元で区画する構成を採って、その区画
データをキャッシュメモリに格納する構成を採ることで
高速なデータ処理を実現する。
【0077】そして、この構成を採るときにあって、従
来の汎用の情報処理装置で用いられているLRU方式の
ような複雑なスワップアルゴリズムを用いるのではなく
て、配列データに適合した単純なスワップアルゴリズム
を用いる構成を採っているので、簡単な制御処理に従い
つつ高速なデータ処理を実現できるのである。
来の汎用の情報処理装置で用いられているLRU方式の
ような複雑なスワップアルゴリズムを用いるのではなく
て、配列データに適合した単純なスワップアルゴリズム
を用いる構成を採っているので、簡単な制御処理に従い
つつ高速なデータ処理を実現できるのである。
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】画像データの記憶形態の説明図である。
【図4】キャッシュメモリの格納形態の説明図である。
【図5】2次元キャッシュメモリシステムの構成図であ
る。
る。
【図6】制御ブロックの構成図である。
【図7】キャッシュコンパレータの構成図である。
【図8】メイン処理フローである。
【図9】リファレンスビットリフレッシュ処理の処理フ
ローである。
ローである。
【図10】キャッシュヒット判定処理の処理フローであ
る。
る。
【図11】キャッシュ無効化処理の処理フローである。
【図12】キャッシュアクセス処理の処理フローであ
る。
る。
【図13】ブロックリード処理の処理フローである。
【図14】スワップアウトブロック決定処理の処理フロ
ーである。
ーである。
【図15】バーストリード処理の処理フローである。
【図16】制御フラグ更新処理の処理フローである。
【図17】TAG更新処理の処理フローである。
【図18】バーストアクセス時のアドレス生成処理の説
明図である。
明図である。
【図19】本発明のコンセプトの説明図である。
1 情報処理装置 2 プロセッサ 3 主メモリ 4 キャッシュ制御機構 10 キャッシュメモリ 11 TAGメモリ 12 判断手段 13 アクセス実行手段 14 リファレンスフラグ 15 カレントアクセスフラグ 16 インデックスレジスタ 17 リセット手段 18 決定手段 19 発生手段 20 登録手段
Claims (8)
- 【請求項1】 n次元(n≧2)に配列されるデータを
処理する情報処理装置において、 データをn次元で区画する構成を採るとともに、プロセ
ッサと主メモリとの間に、区画データを複数格納するキ
ャッシュメモリを備える構成を採って、 プロセッサは、上記キャッシュメモリに格納されるデー
タをアクセスしていくよう処理することを、 特徴とする情報処理装置。 - 【請求項2】 n次元(n≧2)に配列されるデータを
処理する情報処理装置において、 データをn次元で区画する構成を採り、 かつ、プロセッサ(2) と主メモリ(3) との間に備えられ
て、区画データを複数格納するキャッシュメモリ(10)
と、 n次元アドレスの持つ1つ又は複数のアドレスの示す区
画アドレスを索引アドレスとして、上記キャッシュメモ
リ(10)に格納される区画データの区画アドレス情報及び
バリッド情報を管理するTAGメモリ(11)と、 上記キャッシュメモリ(10)に対して、プロセッサからn
次元アドレスを指定してデータのアクセス要求が発行さ
れるときに、該n次元アドレスと上記TAGメモリ(11)
の管理データとから、該n次元アドレスの指す区画デー
タが、上記キャッシュメモリ(10)に有効登録されている
か否かを判断する判断手段(12)と、 上記判断手段(12)が区画データの有効登録を判断すると
きに、プロセッサの発行するn次元アドレスの持つ区画
データ内アドレスを使って、上記キャッシュメモリ(10)
に格納されるアクセス対象の区画データをアクセスする
ことで、プロセッサの要求データをアクセスするアクセ
ス実行手段(13)とを備えることを、 特徴とする情報処理装置。 - 【請求項3】 請求項2記載の情報処理装置において、 TAGメモリ(11)は、区画データを格納するキャッシュ
メモリ(10)上の記憶領域の識別子を管理する構成を採
り、 アクセス実行手段(13)は、TAGメモリ(11)の有効登録
エントリーの管理する上記記憶領域識別子に従って、ア
クセス対象の区画データを特定するよう処理すること
を、 特徴とする情報処理装置。 - 【請求項4】 請求項2又は3記載の情報処理装置にお
いて、 キャッシュメモリ(10)の記憶領域対応に備えられて、該
記憶領域に格納される区画データに対してのアクセス発
生の有無の履歴を管理するリファレンスフラグ(14)と、 キャッシュメモリ(10)の記憶領域対応に備えられて、該
記憶領域に格納される区画データが、直前にアクセスさ
れた区画データであるのか否かを管理するカレントアク
セスフラグ(15)と、 判断手段(12)が区画データの非登録を判断するときに、
上記リファレンスフラグ(14)及び上記カレントアクセス
フラグ(15)のフラグ値を使って、キャッシュメモリ(10)
から削除する区画データを決定する決定手段(18)とを備
えることを、 特徴とする情報処理装置。 - 【請求項5】 請求項4記載の情報処理装置において、 規定の回数分のアクセス要求が発行される度毎に、リフ
ァレンスフラグ(14)のフラグ値をリセットするリセット
手段(17)を備えることを、 特徴とする情報処理装置。 - 【請求項6】 請求項4又は5記載の情報処理装置にお
いて、 決定手段(18)は、リファレンスフラグ(14)がアクセスさ
れたことのない区画データの存在を表示するときには、
該表示の指す区画データを削除対象として決定するとと
もに、リファレンスフラグ(14)がアクセスされたことの
ない区画データの非存在を表示するときには、カレント
アクセスフラグ(15)の指す直前アクセスの区画データを
削除対象として決定するよう処理することを、 特徴とする情報処理装置。 - 【請求項7】 請求項4、5又は6記載の情報処理装置
において、 キャッシュメモリ(10)の記憶領域対応に備えられて、該
記憶領域に格納される区画データの示す索引区画アドレ
スを管理するインデックスレジスタ(16)を備え、 決定手段(18)は、上記インデックスレジスタ(16)の管理
する索引区画アドレスに従って、削除対象となるTAG
メモリ(11)のエントリーを決定するよう処理すること
を、 特徴とする情報処理装置。 - 【請求項8】 請求項2、3、4、5、6又は7記載の
情報処理装置において、 判断手段(12)が区画データの非登録を判断するときに、
該区画データの示す区画アドレスを起点にして、該区画
データ内のデータを指すことになるn次元アドレスを順
次発生する発生手段(19)と、 上記発生手段(19)の発生するn次元アドレスに応答して
主メモリ(3) から転送されてくるデータをキャッシュメ
モリ(10)に格納する登録手段(20)とを備えることを、 特徴とする情報処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6009756A JPH07219847A (ja) | 1994-01-31 | 1994-01-31 | 情報処理装置 |
GB9501783A GB2286071B (en) | 1994-01-31 | 1995-01-30 | Cache-memory system suitable for processing data arrayed in multidimensional space |
US08/659,702 US5822760A (en) | 1994-01-31 | 1996-06-10 | Cache-memory system having multidimensional cache |
US08/757,081 US5749089A (en) | 1994-01-31 | 1996-11-26 | Cache-memory system having multidimensional spread cache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6009756A JPH07219847A (ja) | 1994-01-31 | 1994-01-31 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07219847A true JPH07219847A (ja) | 1995-08-18 |
Family
ID=11729138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6009756A Withdrawn JPH07219847A (ja) | 1994-01-31 | 1994-01-31 | 情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5749089A (ja) |
JP (1) | JPH07219847A (ja) |
GB (1) | GB2286071B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100698259B1 (ko) * | 2005-12-15 | 2007-03-22 | 엘지전자 주식회사 | 정수 주파수 오프셋 추정 장치 및 방법 |
JP2007534077A (ja) * | 2004-04-22 | 2007-11-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置 |
JP4861338B2 (ja) * | 2005-02-15 | 2012-01-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上 |
JP2016502211A (ja) * | 2012-12-27 | 2016-01-21 | インテル・コーポレーション | 画像メモリアクセスの最適化 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144383A (en) * | 1997-05-30 | 2000-11-07 | Hewlett-Packard Company | Volumetric data organization method that allows for cache efficient rendering speedups and efficient graphics hardware design |
WO2002003251A2 (en) * | 2000-06-29 | 2002-01-10 | Alphablox Corporation | Caching scheme for multi-dimensional data |
KR100445630B1 (ko) * | 2001-02-13 | 2004-08-25 | 삼성전자주식회사 | 저전력 캐쉬 메모리 및 그것의 히트/미스 판정 방법 |
WO2007068122A1 (en) * | 2005-12-16 | 2007-06-21 | Univ Western Ontario | System and method for cache management |
JP5039334B2 (ja) * | 2006-07-28 | 2012-10-03 | 富士通セミコンダクター株式会社 | キャッシュメモリ制御方法、及び装置 |
US9710384B2 (en) * | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
JP5256948B2 (ja) * | 2008-09-04 | 2013-08-07 | 富士通株式会社 | キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム |
KR20100069240A (ko) * | 2008-12-16 | 2010-06-24 | 삼성전자주식회사 | 캐시 컨트롤을 위한 장치 및 방법 |
JP6155859B2 (ja) * | 2013-06-05 | 2017-07-05 | 富士通株式会社 | 画像キャッシュメモリ装置および半導体集積回路 |
KR102202575B1 (ko) | 2013-12-31 | 2021-01-13 | 삼성전자주식회사 | 메모리 관리 방법 및 장치 |
US20170161193A1 (en) * | 2015-12-02 | 2017-06-08 | International Business Machines Corporation | Hybrid cache |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4197580A (en) * | 1978-06-08 | 1980-04-08 | Bell Telephone Laboratories, Incorporated | Data processing system including a cache memory |
GB2180128B (en) * | 1985-08-28 | 1990-01-10 | Anamartic Ltd | Window graphics system |
JPH02238490A (ja) * | 1989-03-10 | 1990-09-20 | Fuji Xerox Co Ltd | 画像処理装置 |
JP2845946B2 (ja) * | 1989-06-14 | 1999-01-13 | 株式会社日立製作所 | 画像データ変換装置 |
JPH0789342B2 (ja) * | 1989-12-22 | 1995-09-27 | ディジタル イクイプメント コーポレイション | 高性能キャッシュ |
JPH0451373A (ja) * | 1990-06-20 | 1992-02-19 | Fujitsu Ltd | 画像処理方式 |
JPH064396A (ja) * | 1992-06-17 | 1994-01-14 | Ricoh Co Ltd | 画像描画装置 |
-
1994
- 1994-01-31 JP JP6009756A patent/JPH07219847A/ja not_active Withdrawn
-
1995
- 1995-01-30 GB GB9501783A patent/GB2286071B/en not_active Expired - Fee Related
-
1996
- 1996-11-26 US US08/757,081 patent/US5749089A/en not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007534077A (ja) * | 2004-04-22 | 2007-11-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置 |
JP4744510B2 (ja) * | 2004-04-22 | 2011-08-10 | シリコン ハイブ ビー・ヴィー | データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置 |
JP4861338B2 (ja) * | 2005-02-15 | 2012-01-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上 |
KR100698259B1 (ko) * | 2005-12-15 | 2007-03-22 | 엘지전자 주식회사 | 정수 주파수 오프셋 추정 장치 및 방법 |
JP2016502211A (ja) * | 2012-12-27 | 2016-01-21 | インテル・コーポレーション | 画像メモリアクセスの最適化 |
Also Published As
Publication number | Publication date |
---|---|
US5749089A (en) | 1998-05-05 |
GB9501783D0 (en) | 1995-03-22 |
GB2286071A (en) | 1995-08-02 |
GB2286071B (en) | 1998-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07219847A (ja) | 情報処理装置 | |
KR100389549B1 (ko) | 템포럴 및 넌템포럴 명령어에 대한 공유 캐시 구조 | |
US5537573A (en) | Cache system and method for prefetching of data | |
JP2881049B2 (ja) | プリフェッチバッファ | |
US20100217937A1 (en) | Data processing apparatus and method | |
US7237067B2 (en) | Managing a multi-way associative cache | |
JPH0762836B2 (ja) | データ・アクセス管理装置および方法 | |
US20190155747A1 (en) | Performing maintenance operations | |
US10853262B2 (en) | Memory address translation using stored key entries | |
US10423534B2 (en) | Cache memory | |
US6772299B2 (en) | Method and apparatus for caching with variable size locking regions | |
US10831673B2 (en) | Memory address translation | |
JP2002032265A (ja) | キャッシュ・アクセス制御方式およびデータ処理システム | |
US12099451B2 (en) | Re-reference interval prediction (RRIP) with pseudo-LRU supplemental age information | |
US5822760A (en) | Cache-memory system having multidimensional cache | |
US20070186046A1 (en) | Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes | |
KR100851738B1 (ko) | 로우-레벨 캐시를 포함한 액세스 촉진용 리버스 디렉토리 | |
JPH08235060A (ja) | 複数のハッシュ関数を用いるキャッシュ・メモリ管理方法及びシステム | |
US7219197B2 (en) | Cache memory, processor and cache control method | |
JP2001331793A (ja) | 画像処理装置及びキャッシュメモリ | |
JPH07210460A (ja) | バッファストレイジのムーブイン制御方法 | |
CN115098410A (zh) | 处理器、用于处理器的数据处理方法及电子设备 | |
JP3438598B2 (ja) | キャッシュメモリのリプレース方法及びこれを用いたキャッシュメモリ | |
US10866904B2 (en) | Data storage for multiple data types | |
JPH05342101A (ja) | 階層キャッシュ・メモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010403 |