JPH10187533A - キャッシュシステム、プロセッサ及びプロセッサを動作させる方法 - Google Patents
キャッシュシステム、プロセッサ及びプロセッサを動作させる方法Info
- Publication number
- JPH10187533A JPH10187533A JP9280955A JP28095597A JPH10187533A JP H10187533 A JPH10187533 A JP H10187533A JP 9280955 A JP9280955 A JP 9280955A JP 28095597 A JP28095597 A JP 28095597A JP H10187533 A JPH10187533 A JP H10187533A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- address
- processor
- instruction
- 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.)
- Pending
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
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
- G06F2212/2515—Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
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)【要約】
【課題】 高速メモリアクセスを有するプロセッサを提
供するキャッシュシステム及び前記プロセッサ並びにプ
ロセッサの動作方法を提供すること。 【解決手段】 キャッシュシステムはキャッシュスライ
スおよびスクラッチパッドとして動作し、ソフトウェア
により操作されるリサイズ可能な高速スクラッチパッド
を有する。プロセッサレジスタはスクラッチパッドのサ
イズとベースアドレスを示す。スクラッチパッドに用い
る命令は外部メモリからマルチプルラインをスクラッチ
パッドにロードするプリフェッチ命令とスクラッチパッ
ドからのデータのマルチプルラインを外部メモリに書込
むためのライトバック命令を含む。プリフェッチとライ
トバック命令はノンブロッキング命令でありプリフェッ
チ或いはライトバック動作の間、プログラム命令に続い
た命令が実行されるようにする。
供するキャッシュシステム及び前記プロセッサ並びにプ
ロセッサの動作方法を提供すること。 【解決手段】 キャッシュシステムはキャッシュスライ
スおよびスクラッチパッドとして動作し、ソフトウェア
により操作されるリサイズ可能な高速スクラッチパッド
を有する。プロセッサレジスタはスクラッチパッドのサ
イズとベースアドレスを示す。スクラッチパッドに用い
る命令は外部メモリからマルチプルラインをスクラッチ
パッドにロードするプリフェッチ命令とスクラッチパッ
ドからのデータのマルチプルラインを外部メモリに書込
むためのライトバック命令を含む。プリフェッチとライ
トバック命令はノンブロッキング命令でありプリフェッ
チ或いはライトバック動作の間、プログラム命令に続い
た命令が実行されるようにする。
Description
【0001】
【発明の属する技術分野】本発明は高速メモリアクセス
を有するプロセッサを提供するシステム及び方法並びに
前記プロセッサに係り、より詳しくはキャッシュ及びス
クラッチパッドメモリシステムに関する。
を有するプロセッサを提供するシステム及び方法並びに
前記プロセッサに係り、より詳しくはキャッシュ及びス
クラッチパッドメモリシステムに関する。
【0002】
【従来の技術】通常、プロセッサは、大部分のプロセッ
サのクロック速度と比較して相対的に低速のメモリを使
用する。このようなプロセッサのメモリアクセス速度を
上昇させるために、相対的に少ない量の高速メモリがデ
ータキャッシュ又はスクラッチパッドとして使われる。
スクラッチパッドはプロセッサのアドレス空間の一部分
を占め、そのプロセッサにより実行されるプログラムは
スクラッチパッドをアクセスして高速メモリアクセスが
可能となる。スクラッチパッドはスクラッチパッドに対
応するアドレス空間の相対的に小さな部分に対するメモ
リアクセス時間を改善することに使われる。
サのクロック速度と比較して相対的に低速のメモリを使
用する。このようなプロセッサのメモリアクセス速度を
上昇させるために、相対的に少ない量の高速メモリがデ
ータキャッシュ又はスクラッチパッドとして使われる。
スクラッチパッドはプロセッサのアドレス空間の一部分
を占め、そのプロセッサにより実行されるプログラムは
スクラッチパッドをアクセスして高速メモリアクセスが
可能となる。スクラッチパッドはスクラッチパッドに対
応するアドレス空間の相対的に小さな部分に対するメモ
リアクセス時間を改善することに使われる。
【0003】
【発明が解決しようとする課題】キャッシュは、メモリ
アクセスを取り成してキャッシュがアドレス空間に比べ
て相対的に小さくても全てのアドレス空間又は大きな部
分に対する平均メモリアクセス時間を改善できる。キャ
ッシュはプロセッサの特定のアドレス空間を占めること
はないが、その代わりにキャッシュラインの情報用アド
レスを識別するタグ情報を備える。キャッシュはプロセ
ッサからのアドレスをタグ情報と比較してキャッシュが
アクセスされるメモリアクセス用有効エントリが含めら
れたかを決定する。もし、このようなエントリが存在す
ると(すなわち、キャッシュヒットがある場合)、プロ
セッサは高速キャッシュメモリをアクセス(高速キャッ
シュメモリから読み出しまたは高速キャッシュメモリへ
書込み)する。タグ情報の他にキャッシュエントリはそ
れぞれエントリに関連した情報が有効であるか、それか
ら関連した情報が低速メモリへライトバックされる変化
を含むか否かを示す“妥当性”ビットと“汚染”ビット
とを含む。アクセスされるアドレス用キャッシュエント
リが無ければ(キャッシュミスがある場合)、低速メモ
リへのアクセスは、キャッシュが直ぐアクセスされたメ
モリアドレス用の新たなエントリを創造することが求め
られる。キャッシュは従前のエントリを新しいエントリ
に置換させるか否かを決めるために“最も最近に使用さ
れた”交替のような構造を用いる。プログラムは同一ア
ドレスを反復的にアクセスして最も最近にアクセスされ
たデータが直ちに更にアクセスされて必要ならキャッシ
ュで用いられるようにする。よって、キャッシュはプロ
セッサのアドレス空間を通してアクセス時間を改善する
ことができるが、ヒット/ミス計算用オーバーヘッド、
エントリ生成及びライトバックがスクラッチパッドより
キャッシュを低速化させている。
アクセスを取り成してキャッシュがアドレス空間に比べ
て相対的に小さくても全てのアドレス空間又は大きな部
分に対する平均メモリアクセス時間を改善できる。キャ
ッシュはプロセッサの特定のアドレス空間を占めること
はないが、その代わりにキャッシュラインの情報用アド
レスを識別するタグ情報を備える。キャッシュはプロセ
ッサからのアドレスをタグ情報と比較してキャッシュが
アクセスされるメモリアクセス用有効エントリが含めら
れたかを決定する。もし、このようなエントリが存在す
ると(すなわち、キャッシュヒットがある場合)、プロ
セッサは高速キャッシュメモリをアクセス(高速キャッ
シュメモリから読み出しまたは高速キャッシュメモリへ
書込み)する。タグ情報の他にキャッシュエントリはそ
れぞれエントリに関連した情報が有効であるか、それか
ら関連した情報が低速メモリへライトバックされる変化
を含むか否かを示す“妥当性”ビットと“汚染”ビット
とを含む。アクセスされるアドレス用キャッシュエント
リが無ければ(キャッシュミスがある場合)、低速メモ
リへのアクセスは、キャッシュが直ぐアクセスされたメ
モリアドレス用の新たなエントリを創造することが求め
られる。キャッシュは従前のエントリを新しいエントリ
に置換させるか否かを決めるために“最も最近に使用さ
れた”交替のような構造を用いる。プログラムは同一ア
ドレスを反復的にアクセスして最も最近にアクセスされ
たデータが直ちに更にアクセスされて必要ならキャッシ
ュで用いられるようにする。よって、キャッシュはプロ
セッサのアドレス空間を通してアクセス時間を改善する
ことができるが、ヒット/ミス計算用オーバーヘッド、
エントリ生成及びライトバックがスクラッチパッドより
キャッシュを低速化させている。
【0004】本発明は、高速メモリアクセスを有するプ
ロセッサを提供するキャッシュシステム及び前記プロセ
ッサ並びにプロセッサを動作させる方法を提供すること
を目的とする。
ロセッサを提供するキャッシュシステム及び前記プロセ
ッサ並びにプロセッサを動作させる方法を提供すること
を目的とする。
【0005】
【課題を解決するための手段】本発明によるプロセッサ
はキャッシュ及び/またはスクラッチパッド用として配
分できる高速メモリを使用する。スクラッチパッドがイ
ネーブルされる時、スクラッチパッドはプロセッサのア
ドレス空間のうちユーザの選択できる部分を占め、同一
アドレスを有する低速メモリの代わりにアクセスされ
る。ユーザは固定されたサイズのスクラッチパッドにプ
ログラムを適応させることより、特定のプログラムを用
いることによってスクラッチパッドとキャッシュのサイ
ズを選択することができる。
はキャッシュ及び/またはスクラッチパッド用として配
分できる高速メモリを使用する。スクラッチパッドがイ
ネーブルされる時、スクラッチパッドはプロセッサのア
ドレス空間のうちユーザの選択できる部分を占め、同一
アドレスを有する低速メモリの代わりにアクセスされ
る。ユーザは固定されたサイズのスクラッチパッドにプ
ログラムを適応させることより、特定のプログラムを用
いることによってスクラッチパッドとキャッシュのサイ
ズを選択することができる。
【0006】プロセッサはキャッシュ及び/又はスクラ
ッチパッドとして使用するために配分可能なオンチップ
メモリを備え、プロセッサはスクラッチパッド動作のた
めの規定された命令を遂行する。かかるスクラッチパッ
ド命令のうち一部分はスクラッチパッドと外部メモリ間
の情報を伝送する。スクラッチパッド命令はそれぞれス
クラッチパッドと外部メモリの貯蔵位置を識別する第1
及び第2フィールドを備える。本発明の他の例によるス
クラッチパッド命令はユーザが配置できるベースアドレ
スを持ち、スクラッチパッド命令はスクラッチパッドの
貯蔵位置そしてスクラッチパッドのために使用された同
一アドレスにおいて外部メモリの貯蔵位置を識別する一
つのフィールドを備える。スクラッチパッド命令は外部
メモリとスクラッチパッド間の一つもしくは多数のデー
タラインを伝送する。ラインサイズはオンチップメモリ
がキャッシュとして使用されるとき使われたキャッシュ
ラインをマッチさせるために選択され得る。
ッチパッドとして使用するために配分可能なオンチップ
メモリを備え、プロセッサはスクラッチパッド動作のた
めの規定された命令を遂行する。かかるスクラッチパッ
ド命令のうち一部分はスクラッチパッドと外部メモリ間
の情報を伝送する。スクラッチパッド命令はそれぞれス
クラッチパッドと外部メモリの貯蔵位置を識別する第1
及び第2フィールドを備える。本発明の他の例によるス
クラッチパッド命令はユーザが配置できるベースアドレ
スを持ち、スクラッチパッド命令はスクラッチパッドの
貯蔵位置そしてスクラッチパッドのために使用された同
一アドレスにおいて外部メモリの貯蔵位置を識別する一
つのフィールドを備える。スクラッチパッド命令は外部
メモリとスクラッチパッド間の一つもしくは多数のデー
タラインを伝送する。ラインサイズはオンチップメモリ
がキャッシュとして使用されるとき使われたキャッシュ
ラインをマッチさせるために選択され得る。
【0007】スクラッチパッド命令は完了されるまで多
くのサイクルが必要とされるが、ノンブロッキングであ
るため、以前のスクラッチパッド命令に従属しない命令
がプロセッサの資源をより効率よく使用するために正常
プログラム手順を外れて実行できる。従って、スクラッ
チパッド命令に引き続いた命令またはスクラッチパッド
命令と混合された命令がスクラッチパッド命令により影
響されないデータを処理する反面、プログラムは一つも
しくはそれ以上のスクラッチパッド命令を用いてデータ
をスクラッチパッドへプリフェッチする。一応、プログ
ラムが一ブロックのデータ処理を終了すると、処理され
たデータはスクラッチパッド伝送命令を用いて外部メモ
リに貯蔵することができるが、他のデータの処理は正常
プログラム順序を外れて続けられる。
くのサイクルが必要とされるが、ノンブロッキングであ
るため、以前のスクラッチパッド命令に従属しない命令
がプロセッサの資源をより効率よく使用するために正常
プログラム手順を外れて実行できる。従って、スクラッ
チパッド命令に引き続いた命令またはスクラッチパッド
命令と混合された命令がスクラッチパッド命令により影
響されないデータを処理する反面、プログラムは一つも
しくはそれ以上のスクラッチパッド命令を用いてデータ
をスクラッチパッドへプリフェッチする。一応、プログ
ラムが一ブロックのデータ処理を終了すると、処理され
たデータはスクラッチパッド伝送命令を用いて外部メモ
リに貯蔵することができるが、他のデータの処理は正常
プログラム順序を外れて続けられる。
【0008】
【発明の実施の形態】以下、添付した図面に基づいて本
発明の望ましい実施の形態を詳しく説明する。図1の本
発明の実施の形態によれば、キャッシュシステムはキャ
ッシュメモリ120及び/またはスクラッチパッドメモ
リ130としての使用のために配分できる高速メモリ1
10を備える。例えば、メモリ110は、全体的にキャ
ッシュメモリ120として、又は全体的にスクラッチパ
ッドメモリ130として、あるいは部分的にキャッシュ
として、それから部分的にスクラッチパッドとして配分
することができる。スクラッチパッドメモリがある時、
該スクラッチパッドメモリ130はプロセッサのアドレ
ス空間150の一部分を占め、同一アドレスを有する外
部メモリの代わりにアクセスされる。しかも、スクラッ
チパッドメモリ130に割り当てられたアドレスがプロ
グラムによって選択される。スクラッチパッドメモリ1
30は値A1とA2間のアドレス170を占め、後で値
B1とB2間のアドレス160に移動する。ユーザは固
定された位置の固定サイズのスクラッチパッドにプログ
ラムを適応させることより、特定のプログラムを用いる
ことによってスクラッチパッドメモリ130とキャッシ
ュメモリ120のサイズ及び位置を選択することができ
る。
発明の望ましい実施の形態を詳しく説明する。図1の本
発明の実施の形態によれば、キャッシュシステムはキャ
ッシュメモリ120及び/またはスクラッチパッドメモ
リ130としての使用のために配分できる高速メモリ1
10を備える。例えば、メモリ110は、全体的にキャ
ッシュメモリ120として、又は全体的にスクラッチパ
ッドメモリ130として、あるいは部分的にキャッシュ
として、それから部分的にスクラッチパッドとして配分
することができる。スクラッチパッドメモリがある時、
該スクラッチパッドメモリ130はプロセッサのアドレ
ス空間150の一部分を占め、同一アドレスを有する外
部メモリの代わりにアクセスされる。しかも、スクラッ
チパッドメモリ130に割り当てられたアドレスがプロ
グラムによって選択される。スクラッチパッドメモリ1
30は値A1とA2間のアドレス170を占め、後で値
B1とB2間のアドレス160に移動する。ユーザは固
定された位置の固定サイズのスクラッチパッドにプログ
ラムを適応させることより、特定のプログラムを用いる
ことによってスクラッチパッドメモリ130とキャッシ
ュメモリ120のサイズ及び位置を選択することができ
る。
【0009】本発明の他の特徴によると、このキャッシ
ュシステムはスクラッチパッド動作のために規定された
命令を遂行するプロセッサの内部にある。このような命
令の一部分はスクラッチパッドとプロセッサ用の外部メ
モリ間の情報を伝送する。付加的な命令はデータキャッ
シュのキャッシュラインをプリフェッチするか又はライ
トバックする。
ュシステムはスクラッチパッド動作のために規定された
命令を遂行するプロセッサの内部にある。このような命
令の一部分はスクラッチパッドとプロセッサ用の外部メ
モリ間の情報を伝送する。付加的な命令はデータキャッ
シュのキャッシュラインをプリフェッチするか又はライ
トバックする。
【0010】図2は本発明の実施の形態によるマルチプ
ロセッサ200のブロック図を示している。このマルチ
プロセッサ200は汎用制御プロセッサ210とベクト
ルプロセッサ220を具備した集積回路である。プロセ
ッサ210と220は直接ライン212、214、21
6又はプロセッサ210、220が共有する拡張レジス
タ218を通して互いに通信する。プロセッサ210、
220はプロセッサ210用の命令キャッシュ262と
データキャッシュ264そしてベクトルプロセッサ22
0用の命令キャッシュ266とデータキャッシュ/スク
ラッチパッド268を含むキャッシュサブシステム23
0を介して他のオンチップ構成要素に連結される。キャ
ッシュサブシステム230はロムキャッシュ270と制
御回路280を備える。
ロセッサ200のブロック図を示している。このマルチ
プロセッサ200は汎用制御プロセッサ210とベクト
ルプロセッサ220を具備した集積回路である。プロセ
ッサ210と220は直接ライン212、214、21
6又はプロセッサ210、220が共有する拡張レジス
タ218を通して互いに通信する。プロセッサ210、
220はプロセッサ210用の命令キャッシュ262と
データキャッシュ264そしてベクトルプロセッサ22
0用の命令キャッシュ266とデータキャッシュ/スク
ラッチパッド268を含むキャッシュサブシステム23
0を介して他のオンチップ構成要素に連結される。キャ
ッシュサブシステム230はロムキャッシュ270と制
御回路280を備える。
【0011】キャッシュサブシステム230はプロセッ
サ210、220を二つのシステムバス240、250
に連結しプロセッサ210、220及びバス240、2
50に連結された素子用交替局として動作する。米国特
許出願第08/697,102号は交替局としてのキャ
ッシュサブシステムの動作を更に説明する。時折ここで
FBUS250として見なされるシステムバス250は
バス240よりは高速クロック周波数で動作し、素子イ
ンタフェース252、DMA(direct memory access)コ
ントローラ254、ホストインタフェース256及びメ
モリコントローラ258のような高速素子に連結され
る。メモリコントローラ258、ホストインタフェース
256及び素子インタフェース252は外部メモリ、ホ
ストコンピュータ及び多様なアナログ/ディジタル変換
器とディジタル/アナログ変換器用インタフェースを提
供する。DMAコントローラ254は外部メモリと素子
インタフェース252に連結されたコーデック間のDM
A動作を制御する。時折ここでIOBUS240と見な
されるシステムバス240はシステムタイマ242、全
二重UART(universal asynchronous receiver trans
ceiver) 244、ビットストリームプロセッサ246及
びインタラプトコントローラ248のような低速素子に
連結される。
サ210、220を二つのシステムバス240、250
に連結しプロセッサ210、220及びバス240、2
50に連結された素子用交替局として動作する。米国特
許出願第08/697,102号は交替局としてのキャ
ッシュサブシステムの動作を更に説明する。時折ここで
FBUS250として見なされるシステムバス250は
バス240よりは高速クロック周波数で動作し、素子イ
ンタフェース252、DMA(direct memory access)コ
ントローラ254、ホストインタフェース256及びメ
モリコントローラ258のような高速素子に連結され
る。メモリコントローラ258、ホストインタフェース
256及び素子インタフェース252は外部メモリ、ホ
ストコンピュータ及び多様なアナログ/ディジタル変換
器とディジタル/アナログ変換器用インタフェースを提
供する。DMAコントローラ254は外部メモリと素子
インタフェース252に連結されたコーデック間のDM
A動作を制御する。時折ここでIOBUS240と見な
されるシステムバス240はシステムタイマ242、全
二重UART(universal asynchronous receiver trans
ceiver) 244、ビットストリームプロセッサ246及
びインタラプトコントローラ248のような低速素子に
連結される。
【0012】プロセッサ210、220は個別のプログ
ラムスレッドを実行し、特別なタスクの更に効果的な実
行とは構造的に違う。本発明の具体例において、プロセ
ッサ210はアドバンスRISCマシンズ株式会社(Adv
ance RISC Machines Ltd.)から利用可能な“ARM7D
Mデータシート”文書番号ARMDDI0010Gに記
載されたARMアーキテクチャー及び命令セットを遂行
し、ベクトルプロセッサ220は米国特許出願第08/
699,597号に記載された命令セットを遂行する。
プロセッサ210は実時間運営システム、二つのプロセ
ッサ210、220用例外ルーチン及び多数の反復計算
を必要としない汎用処理を行う。プロセッサ210はや
はりベクトルプロセッサ220の初期化、開始及び停止
を制御する。ベクトルプロセッサ220はマルチメディ
アプロセッシングで共通である大きなブロック上の反復
的な動作を含む数処理(number crunching)を遂行する。
本発明の特徴によれば、ベクトルプロセッサ220によ
り実行されたプログラムはデータキャッシュ/スクラッ
チパッド268を配列して、スクラッチパッドを含めて
スクラッチパッドへ処理されるべき全てのデータ或いは
データの一部分をロードする。ベクトルプロセッサ22
0はデータキャッシュ/スクラッチパッド268が高速
メモリを含みスクラッチパッドはキャッシュ動作用オー
バーヘッドにより低速化しないのでスクラッチパッドで
データを迅速にアクセスすることができる。
ラムスレッドを実行し、特別なタスクの更に効果的な実
行とは構造的に違う。本発明の具体例において、プロセ
ッサ210はアドバンスRISCマシンズ株式会社(Adv
ance RISC Machines Ltd.)から利用可能な“ARM7D
Mデータシート”文書番号ARMDDI0010Gに記
載されたARMアーキテクチャー及び命令セットを遂行
し、ベクトルプロセッサ220は米国特許出願第08/
699,597号に記載された命令セットを遂行する。
プロセッサ210は実時間運営システム、二つのプロセ
ッサ210、220用例外ルーチン及び多数の反復計算
を必要としない汎用処理を行う。プロセッサ210はや
はりベクトルプロセッサ220の初期化、開始及び停止
を制御する。ベクトルプロセッサ220はマルチメディ
アプロセッシングで共通である大きなブロック上の反復
的な動作を含む数処理(number crunching)を遂行する。
本発明の特徴によれば、ベクトルプロセッサ220によ
り実行されたプログラムはデータキャッシュ/スクラッ
チパッド268を配列して、スクラッチパッドを含めて
スクラッチパッドへ処理されるべき全てのデータ或いは
データの一部分をロードする。ベクトルプロセッサ22
0はデータキャッシュ/スクラッチパッド268が高速
メモリを含みスクラッチパッドはキャッシュ動作用オー
バーヘッドにより低速化しないのでスクラッチパッドで
データを迅速にアクセスすることができる。
【0013】図3はキャッシュサブシステム230の具
体例のブロック図である。この具体例において、キャッ
シュサブシステム230は制御回路280、データパイ
プライン310、アドレスパイプライン320、タグメ
モリ330及びSRAM360を備えた直接マッピング
されたキャッシュである。SRAM360は制御プロセ
ッサ210用命令キャッシュ262とデータキャッシュ
264およびベクトルプロセッサ220用命令キャッシ
ュ266とデータキャッシュ/スクラッチパッド268
に関連した4つのメモリセクション362、364、3
66、368に分割される。また、SRAM360は6
4バイトキャッシュラインを提供するように組織され、
各メモリセクション362、364、366は16個の
キャッシュラインまたは1KB(kilobyte)の情報貯蔵領
域を含む。メモリセクション368は64個の64バイ
トキャッシュライン又は4KBのスクラッチパッドメモ
リのための4KBのサイズを有する。SRAM360は
同時にSRAM360の読出し及び書込みを許容する読
出しポート312と書込みポート311をもつデュアル
ポートである。この具体例において各読出しポート31
2と書込みポート311はそれぞれ256ビット(32
バイト)データポートである。
体例のブロック図である。この具体例において、キャッ
シュサブシステム230は制御回路280、データパイ
プライン310、アドレスパイプライン320、タグメ
モリ330及びSRAM360を備えた直接マッピング
されたキャッシュである。SRAM360は制御プロセ
ッサ210用命令キャッシュ262とデータキャッシュ
264およびベクトルプロセッサ220用命令キャッシ
ュ266とデータキャッシュ/スクラッチパッド268
に関連した4つのメモリセクション362、364、3
66、368に分割される。また、SRAM360は6
4バイトキャッシュラインを提供するように組織され、
各メモリセクション362、364、366は16個の
キャッシュラインまたは1KB(kilobyte)の情報貯蔵領
域を含む。メモリセクション368は64個の64バイ
トキャッシュライン又は4KBのスクラッチパッドメモ
リのための4KBのサイズを有する。SRAM360は
同時にSRAM360の読出し及び書込みを許容する読
出しポート312と書込みポート311をもつデュアル
ポートである。この具体例において各読出しポート31
2と書込みポート311はそれぞれ256ビット(32
バイト)データポートである。
【0014】キャッシュとしてのSRAM360の使用
のためにキャッシュ262、264、266、268用
タグ情報ビットを含めたタグメモリ330はそれぞれメ
モリセクション362、364、366、368用セク
ション332、334、336、338を備える。各キ
ャッシュライン用タグ情報はタグ、2妥当性ビット、2
ダーティビット及び使用情報を含む。各妥当性ビットと
ダーティビットは単一の読出し及び書込み動作により伝
送されたデータ量と同一な32バイトの1/2キャッシ
ュラインに対応する。各ダーティビットは外部メモリへ
の単一の256ビット書込みを示し、各妥当性ビットは
外部メモリからの単一の256ビット読出しを示す。使
用されたビットは新しいエントリを発生するために使用
されたエントリ代替構造用である。
のためにキャッシュ262、264、266、268用
タグ情報ビットを含めたタグメモリ330はそれぞれメ
モリセクション362、364、366、368用セク
ション332、334、336、338を備える。各キ
ャッシュライン用タグ情報はタグ、2妥当性ビット、2
ダーティビット及び使用情報を含む。各妥当性ビットと
ダーティビットは単一の読出し及び書込み動作により伝
送されたデータ量と同一な32バイトの1/2キャッシ
ュラインに対応する。各ダーティビットは外部メモリへ
の単一の256ビット書込みを示し、各妥当性ビットは
外部メモリからの単一の256ビット読出しを示す。使
用されたビットは新しいエントリを発生するために使用
されたエントリ代替構造用である。
【0015】アドレスバス323を介してプロセッサ2
10に接続されるとともに、データアドレスバス324
及び命令アドレスバス325を通してベクトルプロセッ
サ220に接続され、さらにIOBUS240及びFB
US250に連結されたアドレスパイプライン320は
ヒット/ミス計算用タグメモリ330にアドレスを提供
する。二つのアドレス、すなわち読出しアドレスと書込
みアドレスは同時にタグメモリ330に提供される。ア
ドレスパイプライン320からの各アドレスにおいて、
ヒット/ミス計算ロジック335はアドレス(読出しア
ドレス又は書込みアドレス)から索引(読出し索引又は
書込み索引)を抽出してセクション332、334、3
36、338のタグ値を識別する。使用されたタグメモ
リ330の各セクションはアドレスのソースに係る。ヒ
ット/ミス計算ロジック335は識別されたタグ値をア
ドレスの最上位ビットと比較して関連したキャッシュ2
62、264、266、268がアドレスに対応するエ
ントリを含むか否かを決定する。
10に接続されるとともに、データアドレスバス324
及び命令アドレスバス325を通してベクトルプロセッ
サ220に接続され、さらにIOBUS240及びFB
US250に連結されたアドレスパイプライン320は
ヒット/ミス計算用タグメモリ330にアドレスを提供
する。二つのアドレス、すなわち読出しアドレスと書込
みアドレスは同時にタグメモリ330に提供される。ア
ドレスパイプライン320からの各アドレスにおいて、
ヒット/ミス計算ロジック335はアドレス(読出しア
ドレス又は書込みアドレス)から索引(読出し索引又は
書込み索引)を抽出してセクション332、334、3
36、338のタグ値を識別する。使用されたタグメモ
リ330の各セクションはアドレスのソースに係る。ヒ
ット/ミス計算ロジック335は識別されたタグ値をア
ドレスの最上位ビットと比較して関連したキャッシュ2
62、264、266、268がアドレスに対応するエ
ントリを含むか否かを決定する。
【0016】読出しアドレス用ヒットがあれば、タグメ
モリ330は読出し索引をマルチプレクサ340の入力
端子に供給する。読出し索引は読出しアドレスに関連し
たキャッシュラインからSRAM360のデータを識別
する。マルチプレクサ340はアドレスパイプライン3
20の制御の下に、読出し索引をSRAM360に提供
し、関連したキャッシュラインからのデータは読出しポ
ート312とデータパイプライン310を介して利用可
能である。アドレスパイプライン320はキャッシュラ
イン内のオフセットから要求されたデータを識別する、
アドレス信号の最下位6ビットから得られた信号LIN
Eを提供する。読出しアドレス用キャッシュミスがあれ
ば、外部メモリに対するアクセスが要求される。新しい
エントリがソース(プロセッサ210、220)と読出
しアドレス信号のタイプ(データ又は命令)に対応する
タグメモリ330のセクション332、334、33
6、338で生成される。IOBUS240又はFBU
S250からアドレス用エントリは発生されない。
モリ330は読出し索引をマルチプレクサ340の入力
端子に供給する。読出し索引は読出しアドレスに関連し
たキャッシュラインからSRAM360のデータを識別
する。マルチプレクサ340はアドレスパイプライン3
20の制御の下に、読出し索引をSRAM360に提供
し、関連したキャッシュラインからのデータは読出しポ
ート312とデータパイプライン310を介して利用可
能である。アドレスパイプライン320はキャッシュラ
イン内のオフセットから要求されたデータを識別する、
アドレス信号の最下位6ビットから得られた信号LIN
Eを提供する。読出しアドレス用キャッシュミスがあれ
ば、外部メモリに対するアクセスが要求される。新しい
エントリがソース(プロセッサ210、220)と読出
しアドレス信号のタイプ(データ又は命令)に対応する
タグメモリ330のセクション332、334、33
6、338で生成される。IOBUS240又はFBU
S250からアドレス用エントリは発生されない。
【0017】書込みアドレス用ヒットがあれば、タグメ
モリ330はマルチプレクサ345を介してSRAM3
60へ書込み索引を送る。データパイプライン310か
らデータは書込みポート311を介してSRAM360
に書込まれることができ、妥当性ビットはセットされて
関連したキャッシュラインがダーティであることを表
す。プロセッサ210、220から書込みアドレス用キ
ャッシュミスがあると、新しいエントリはデータがSR
AM360に書込まれる前に生成される。エントリはア
ドレス信号のソース(プロセッサ210、220)に対
応するタグメモリ330のセクション334、338で
生成される。
モリ330はマルチプレクサ345を介してSRAM3
60へ書込み索引を送る。データパイプライン310か
らデータは書込みポート311を介してSRAM360
に書込まれることができ、妥当性ビットはセットされて
関連したキャッシュラインがダーティであることを表
す。プロセッサ210、220から書込みアドレス用キ
ャッシュミスがあると、新しいエントリはデータがSR
AM360に書込まれる前に生成される。エントリはア
ドレス信号のソース(プロセッサ210、220)に対
応するタグメモリ330のセクション334、338で
生成される。
【0018】本発明の特徴によれば、メモリセクション
368のいずれにもスクラッチパッド350が配置され
ないとか、又は一部分或いは全部にスクラッチパッド3
50を配置できる。図2の拡張レジスタ218はスクラ
ッチパッド350の配置のためのレジスタSPREGを
備える。SPREGレジスタで、2ビットフィールドS
PSIZEはスクラッチパッド350用の0、1、2、
または4KBの中でいずれか一つのサイズを示し、フィ
ールドSPBASEはスクラッチパッド350用のベー
スアドレスを示す(特別にフィールドSPBASEはプ
ロセッサ200用ベースアドレスからのオフセットを示
す)。アドレスパイプライン320は入力読出し及び書
込みアドレスをスクラッチパッド350用ベースアドレ
スと比べて入力アドレスがスクラッチパッド350のデ
ータに対応するか否かを決定する。アドレスがスクラッ
チパッド350に対応すると、ヒット/ミス計算が要求
されず、アドレスパイプライン320は入力アドレスか
らスクラッチパッドSP読出し索引またはスクラッチパ
ッドSP書込み索引を抽出する。マルチプレクサ34
0、345はSP読出し索引及びSP書込み索引をSR
AM360へ送る。可変キャッシュ及びスクラッチパッ
ドサイズを遂行するために、メモリセクション368は
セクション338のタグ情報に関連したサブセクション
を有する4つの1KBのサブセクションを含む。フィー
ルドSPSIZEはメモリセクション368のサブセク
ションのうち0、1、2又は合わせて4つのサブセクシ
ョンがスクラッチパッド350用に予約されたかを示
す。タグ値と索引のために使用されたアドレスビット数
はキャッシュメモリのサイズによって変化する。ヒット
/ミス計算ロジック335のセクションはスクラッチパ
ッド350に割当てられたメモリセクション368の全
てのセクション338(もし、あれば)をディスエーブ
ルさせ、タグエントリの生成がベクトルデータキャッシ
ュ355に関連したタグ情報(もし、あれば)のサブセ
クションに対して制限される。従って、高速アクセスは
キャッシュ動作のオーバーヘッド無しにオンチップメモ
リに提供される。
368のいずれにもスクラッチパッド350が配置され
ないとか、又は一部分或いは全部にスクラッチパッド3
50を配置できる。図2の拡張レジスタ218はスクラ
ッチパッド350の配置のためのレジスタSPREGを
備える。SPREGレジスタで、2ビットフィールドS
PSIZEはスクラッチパッド350用の0、1、2、
または4KBの中でいずれか一つのサイズを示し、フィ
ールドSPBASEはスクラッチパッド350用のベー
スアドレスを示す(特別にフィールドSPBASEはプ
ロセッサ200用ベースアドレスからのオフセットを示
す)。アドレスパイプライン320は入力読出し及び書
込みアドレスをスクラッチパッド350用ベースアドレ
スと比べて入力アドレスがスクラッチパッド350のデ
ータに対応するか否かを決定する。アドレスがスクラッ
チパッド350に対応すると、ヒット/ミス計算が要求
されず、アドレスパイプライン320は入力アドレスか
らスクラッチパッドSP読出し索引またはスクラッチパ
ッドSP書込み索引を抽出する。マルチプレクサ34
0、345はSP読出し索引及びSP書込み索引をSR
AM360へ送る。可変キャッシュ及びスクラッチパッ
ドサイズを遂行するために、メモリセクション368は
セクション338のタグ情報に関連したサブセクション
を有する4つの1KBのサブセクションを含む。フィー
ルドSPSIZEはメモリセクション368のサブセク
ションのうち0、1、2又は合わせて4つのサブセクシ
ョンがスクラッチパッド350用に予約されたかを示
す。タグ値と索引のために使用されたアドレスビット数
はキャッシュメモリのサイズによって変化する。ヒット
/ミス計算ロジック335のセクションはスクラッチパ
ッド350に割当てられたメモリセクション368の全
てのセクション338(もし、あれば)をディスエーブ
ルさせ、タグエントリの生成がベクトルデータキャッシ
ュ355に関連したタグ情報(もし、あれば)のサブセ
クションに対して制限される。従って、高速アクセスは
キャッシュ動作のオーバーヘッド無しにオンチップメモ
リに提供される。
【0019】ベクトルプロセッサ220はスクラッチパ
ッド350の効率的な使用を容易にする特定命令を遂行
する。後述する<参考説明>は本発明の実施の形態で使
用されたプリフェッチ及びライトバック命令について説
明されている。プリフェッチ命令は外部メモリからスク
ラッチパッドへデータをコピーする。スクラッチパッド
350のデータは外部メモリのデータより速くアクセス
されベクトルデータキャッシュ355のデータより遥か
に速くアクセスすることができるが、これは外部メモリ
に対する低速アクセスが要求されないようになるためで
ある。よって、スクラッチパッド350のデータは外部
メモリにデータが保持されていてキャッシュを介してア
クセスされる場合より迅速に処理され得る。ライトバッ
ク命令はスクラッチパッド350から外部メモリへデー
タをライトバックしベクトルプロセッサ220がデータ
ブロックのプロセッシングを終了した時使用できる。
ッド350の効率的な使用を容易にする特定命令を遂行
する。後述する<参考説明>は本発明の実施の形態で使
用されたプリフェッチ及びライトバック命令について説
明されている。プリフェッチ命令は外部メモリからスク
ラッチパッドへデータをコピーする。スクラッチパッド
350のデータは外部メモリのデータより速くアクセス
されベクトルデータキャッシュ355のデータより遥か
に速くアクセスすることができるが、これは外部メモリ
に対する低速アクセスが要求されないようになるためで
ある。よって、スクラッチパッド350のデータは外部
メモリにデータが保持されていてキャッシュを介してア
クセスされる場合より迅速に処理され得る。ライトバッ
ク命令はスクラッチパッド350から外部メモリへデー
タをライトバックしベクトルプロセッサ220がデータ
ブロックのプロセッシングを終了した時使用できる。
【0020】本発明の他の特徴によれば、各プリフェッ
チ又はライトバック命令は多数のデータラインを移動さ
せる。従って、大きなデータブロックの移動は相対的に
小さなプリフェッチ又はライトバック命令の実行を必要
とするが、各命令は終了のために多くのクロックサイク
ルが必要とされる。例えば、本発明の実施の形態で、命
令VPFTCHSP.xはデータのxラインを移動させ
る。ここで、xは1、2、4、又は8であり、各ライン
は64バイトを含む。書込みポート311は32バイト
(256ビット)ポートとしてSRAM360への少な
くとも二回の書込みが移動された一つのライン当たり要
求される。従って、少なくとも16回の書込みが一つの
命令VPFTCHSP.8を終了するのに要求され、各
書込みは外部メモリからの必要なデータをアクセスする
ためにマルチプルクロックサイクルが要求される。
チ又はライトバック命令は多数のデータラインを移動さ
せる。従って、大きなデータブロックの移動は相対的に
小さなプリフェッチ又はライトバック命令の実行を必要
とするが、各命令は終了のために多くのクロックサイク
ルが必要とされる。例えば、本発明の実施の形態で、命
令VPFTCHSP.xはデータのxラインを移動させ
る。ここで、xは1、2、4、又は8であり、各ライン
は64バイトを含む。書込みポート311は32バイト
(256ビット)ポートとしてSRAM360への少な
くとも二回の書込みが移動された一つのライン当たり要
求される。従って、少なくとも16回の書込みが一つの
命令VPFTCHSP.8を終了するのに要求され、各
書込みは外部メモリからの必要なデータをアクセスする
ためにマルチプルクロックサイクルが要求される。
【0021】プリフェッチ及びライトバック命令は二つ
の交互(alternate )命令フォーマットを使用して遂行
される。第1命令フォーマットは一つはスクラッチパッ
ド350のアドレスを示し、もう一つは外部メモリのア
ドレスを示す二つの有効アドレスを示す。スクラッチパ
ッド350用の有効アドレスはスクラッチパッド350
のベースアドレスからのオフセットである索引により示
される。第2有効アドレスは外部メモリに対応し命令構
文内の利用可能なアドレッシング構造中のいずれかを用
いる。
の交互(alternate )命令フォーマットを使用して遂行
される。第1命令フォーマットは一つはスクラッチパッ
ド350のアドレスを示し、もう一つは外部メモリのア
ドレスを示す二つの有効アドレスを示す。スクラッチパ
ッド350用の有効アドレスはスクラッチパッド350
のベースアドレスからのオフセットである索引により示
される。第2有効アドレスは外部メモリに対応し命令構
文内の利用可能なアドレッシング構造中のいずれかを用
いる。
【0022】第2命令フォーマットは二つの貯蔵領域位
置、一つはスクラッチパッド350の貯蔵領域位置、他
の一つは外部メモリの貯蔵領域位置を識別する単一の有
効アドレスを使用する。レジスタSPREGのフィール
ドSPBASEはスクラッチパッド350のベースアド
レスを示し、外部メモリのアドレスに対応するようにセ
ットされてスクラッチパッド350のアドレスが外部メ
モリのアドレスに1対1になるようにすることができ
る。これが発生する際、正常の読出し及び書込み動作は
低速の外部メモリの代わりにスクラッチパッドをアクセ
スしてスクラッチパッド350は効果的に外部メモリの
セクションを代替させる。第2命令フォーマットを用い
たプリフェッチ及びライトバック命令はスクラッチパッ
ド350の貯蔵領域位置と外部メモリの対応する代置さ
れた貯蔵領域位置間のデータを移動させる。
置、一つはスクラッチパッド350の貯蔵領域位置、他
の一つは外部メモリの貯蔵領域位置を識別する単一の有
効アドレスを使用する。レジスタSPREGのフィール
ドSPBASEはスクラッチパッド350のベースアド
レスを示し、外部メモリのアドレスに対応するようにセ
ットされてスクラッチパッド350のアドレスが外部メ
モリのアドレスに1対1になるようにすることができ
る。これが発生する際、正常の読出し及び書込み動作は
低速の外部メモリの代わりにスクラッチパッドをアクセ
スしてスクラッチパッド350は効果的に外部メモリの
セクションを代替させる。第2命令フォーマットを用い
たプリフェッチ及びライトバック命令はスクラッチパッ
ド350の貯蔵領域位置と外部メモリの対応する代置さ
れた貯蔵領域位置間のデータを移動させる。
【0023】本発明の他の特徴によると、プリフェッチ
及びライトバック命令はベクトルプロセッサ220がそ
の命令を終了する間停止を避けるか減少させるためにノ
ンブロッキングとする。特に、プログラム順序に従って
プリフェッチ又はライトバック命令後入る命令は発行・
実行され、従属性がない限り無秩序に終了され得る。
及びライトバック命令はベクトルプロセッサ220がそ
の命令を終了する間停止を避けるか減少させるためにノ
ンブロッキングとする。特に、プログラム順序に従って
プリフェッチ又はライトバック命令後入る命令は発行・
実行され、従属性がない限り無秩序に終了され得る。
【0024】図4はベクトルプロセッサ220のロード
及び貯蔵命令を実行するロード/貯蔵ユニット用実行キ
ュー(queue) 400のブロック図を示している。キュー
400はマルチプルエントリ401〜406を含む。ベ
クトルプロセッサ220がマルチプルラインプリフェッ
チ或いはライトバックをデコードするとき、マルチプル
個別エントリはキュー400で生成される。同図におい
て、4つのキャッシュラインプリフェッチ又はライトバ
ック動作はキューエントリ401〜404に示されてい
るような四つの動作OP_A、OP_B、OP_C、O
P_Dを生成する。各OP_A、OP_B、OP_C、
OP_Dは一つのデータラインを伝送する。かかる動作
は全て増加しスクラッチパッド350をアクセスするた
めの同一索引を使用するので、互いに従属する。プリフ
ェッチやライトバック動作に続いた他の動作はキュー4
00にロードできる。例えば、ロード動作と貯蔵動作は
それぞれエントリ405と406にロードされる。キュ
ー400で動作のためのフィールド値の比較は任意のオ
ペランドの依存又はリソース紛争が存在するかを表す
が、紛争や依存が存在しない場合命令は正常プログラム
順序を外れて実行され得る。OP_A、OP_B、OP
_C、OP_DはOP_A、OP_B、OP_C、OP
_Dの中でいずれか一つまたは全てが終了される前に、
依存がなかったらエントリ405のロード動作選択及び
完了及び/またはエントリ406の貯蔵動作を許容する
ノンブロッキングである。
及び貯蔵命令を実行するロード/貯蔵ユニット用実行キ
ュー(queue) 400のブロック図を示している。キュー
400はマルチプルエントリ401〜406を含む。ベ
クトルプロセッサ220がマルチプルラインプリフェッ
チ或いはライトバックをデコードするとき、マルチプル
個別エントリはキュー400で生成される。同図におい
て、4つのキャッシュラインプリフェッチ又はライトバ
ック動作はキューエントリ401〜404に示されてい
るような四つの動作OP_A、OP_B、OP_C、O
P_Dを生成する。各OP_A、OP_B、OP_C、
OP_Dは一つのデータラインを伝送する。かかる動作
は全て増加しスクラッチパッド350をアクセスするた
めの同一索引を使用するので、互いに従属する。プリフ
ェッチやライトバック動作に続いた他の動作はキュー4
00にロードできる。例えば、ロード動作と貯蔵動作は
それぞれエントリ405と406にロードされる。キュ
ー400で動作のためのフィールド値の比較は任意のオ
ペランドの依存又はリソース紛争が存在するかを表す
が、紛争や依存が存在しない場合命令は正常プログラム
順序を外れて実行され得る。OP_A、OP_B、OP
_C、OP_DはOP_A、OP_B、OP_C、OP
_Dの中でいずれか一つまたは全てが終了される前に、
依存がなかったらエントリ405のロード動作選択及び
完了及び/またはエントリ406の貯蔵動作を許容する
ノンブロッキングである。
【0025】図5はビデオエンコーディング及びビデオ
デコーディングのような応用のためのデータブロックを
処理するプログラム用アーキテクチャを示している。同
図におけるプログラムアーキテクチャで、命令510は
初期データブロックをスクラッチパッド350の第1部
分へプリフェッチする。次のデータブロックをスクラッ
チパッド350の第2部分へプリフェッチする命令53
0は命令520に続いて実行するが、初期データブロッ
クを処理する命令540より先立って実行する。プログ
ラムの実行の間、命令540はプリフェッチ命令がノン
ブロックであり、命令540は命令530により影響さ
れないスクラッチパッド530の部分をアクセスするの
で、命令530と同時に終了され得る。これと異なり、
命令530に続いた命令540の代わりに、命令530
と540はクロックサイクルの間各プリフェッチ命令の
うち他の命令を発行させることができ、非順次的に処理
されるため処理資源の効果的な応用で混ぜられる。スク
ラッチパッド350のデータブロック処理の次に命令5
50は外部メモリへブロックをライトバックする。
デコーディングのような応用のためのデータブロックを
処理するプログラム用アーキテクチャを示している。同
図におけるプログラムアーキテクチャで、命令510は
初期データブロックをスクラッチパッド350の第1部
分へプリフェッチする。次のデータブロックをスクラッ
チパッド350の第2部分へプリフェッチする命令53
0は命令520に続いて実行するが、初期データブロッ
クを処理する命令540より先立って実行する。プログ
ラムの実行の間、命令540はプリフェッチ命令がノン
ブロックであり、命令540は命令530により影響さ
れないスクラッチパッド530の部分をアクセスするの
で、命令530と同時に終了され得る。これと異なり、
命令530に続いた命令540の代わりに、命令530
と540はクロックサイクルの間各プリフェッチ命令の
うち他の命令を発行させることができ、非順次的に処理
されるため処理資源の効果的な応用で混ぜられる。スク
ラッチパッド350のデータブロック処理の次に命令5
50は外部メモリへブロックをライトバックする。
【0026】本発明の更に他の特徴によれば、ベクトル
プロセッサ220用の命令セットはデータキャッシュ3
55用プリフェッチとライトバック命令を含む。<参考
説明>はキャッシュプリフェッチ命令VPFTCHとキ
ャッシュライトバック命令VWBACKに関する説明を
含む。このようなキャッシュプリフェッチとライトバッ
ク命令は単一の命令がSRAM360と外部メモリ間の
多数のデータラインを移動させる点でスクラッチパッド
命令と類似している。キャッシュプリフェッチ命令はタ
グがデータキャッシュ355に貯蔵された各ライン用タ
グメモリに貯蔵されるといる点でスクラッチパッド命令
と違う。キャッシュライトバック命令は外部メモリにダ
ーティであり、かつ連続したキャッシュラインに対応す
る全てのキャッシュライン或いはキャッシュラインの一
部分を書込む。関連したダーティビットはクリアされ
る。キャッシュプリフェッチ及びライトバック命令はキ
ャッシュ動作に対する付加プログラム制御を提供し、特
にデータが処理される前にプログラムがデータキャッシ
ュ355へデータがプリフェッチされるようにする。よ
って、データのプロセッシングが始まるとき、プログラ
ム実行は低速外部メモリに対するアクセスにより低速化
されない。
プロセッサ220用の命令セットはデータキャッシュ3
55用プリフェッチとライトバック命令を含む。<参考
説明>はキャッシュプリフェッチ命令VPFTCHとキ
ャッシュライトバック命令VWBACKに関する説明を
含む。このようなキャッシュプリフェッチとライトバッ
ク命令は単一の命令がSRAM360と外部メモリ間の
多数のデータラインを移動させる点でスクラッチパッド
命令と類似している。キャッシュプリフェッチ命令はタ
グがデータキャッシュ355に貯蔵された各ライン用タ
グメモリに貯蔵されるといる点でスクラッチパッド命令
と違う。キャッシュライトバック命令は外部メモリにダ
ーティであり、かつ連続したキャッシュラインに対応す
る全てのキャッシュライン或いはキャッシュラインの一
部分を書込む。関連したダーティビットはクリアされ
る。キャッシュプリフェッチ及びライトバック命令はキ
ャッシュ動作に対する付加プログラム制御を提供し、特
にデータが処理される前にプログラムがデータキャッシ
ュ355へデータがプリフェッチされるようにする。よ
って、データのプロセッシングが始まるとき、プログラ
ム実行は低速外部メモリに対するアクセスにより低速化
されない。
【0027】スクラッチパッドプリフェッチ及びライト
バック命令とキャッシュプリフェッチ及びライトバック
命令は“スマート”コンパイラにより高速実行コードを
生成するように使用できる。例えば、コンパイラは命令
セットがプロセッサのアドレス空間の特定部分をアクセ
スしアドレス空間の前記部分に割り当てられたスクラッ
チパッドを生成することを認知する。スクラッチパッド
用データは実行のためにプリフェッチされた後でプログ
ラマにとって完全に明らかな方法でライトバックされ
る。スクラッチパッドはプログラムにより要求されるよ
うなアドレス空間の他の部分に後で割当できる。キャッ
シュプリフェッチ及びライトバック命令は反復使用され
るデータでキャッシュをプリロードする同一方法で使用
され得る。
バック命令とキャッシュプリフェッチ及びライトバック
命令は“スマート”コンパイラにより高速実行コードを
生成するように使用できる。例えば、コンパイラは命令
セットがプロセッサのアドレス空間の特定部分をアクセ
スしアドレス空間の前記部分に割り当てられたスクラッ
チパッドを生成することを認知する。スクラッチパッド
用データは実行のためにプリフェッチされた後でプログ
ラマにとって完全に明らかな方法でライトバックされ
る。スクラッチパッドはプログラムにより要求されるよ
うなアドレス空間の他の部分に後で割当できる。キャッ
シュプリフェッチ及びライトバック命令は反復使用され
るデータでキャッシュをプリロードする同一方法で使用
され得る。
【0028】<参考説明>この<参考説明>は、図2の
マルチプロセッサ200の一具体例がキャッシュ又はス
クラッチパッドからプリフェッチ及びライトパック動作
を実行する命令構文を説明する。命令はベクトルプロセ
ッサ220の一具体例のための命令セットの一部分であ
る。前記の参考文献として作用する米国特許出願第08
/699,597号は完全な命令セットの説明を含む。
マルチプロセッサ200の一具体例がキャッシュ又はス
クラッチパッドからプリフェッチ及びライトパック動作
を実行する命令構文を説明する。命令はベクトルプロセ
ッサ220の一具体例のための命令セットの一部分であ
る。前記の参考文献として作用する米国特許出願第08
/699,597号は完全な命令セットの説明を含む。
【0029】下記のように説明される各命令はマルチプ
ルメモリ位置をアクセスし外部メモリ用の有効アドレス
EA<31:0>が要求される。命令フォーマットは命
令のアドレッシングモードに依存する。一つのフォーマ
ットは有効アドレスEA<31:0>が第1レジスタか
らのアドレスと第2レジスタからの索引の和であるとき
の動作のためのものである。他のフォーマットは有効ア
ドレスEA<31:0>がレジスタからのアドレスと命
令からの即値の和であるときの動作のためのものであ
る。必要なら有効アドレスは64バイト境界に整列のた
めに切り取られる。例外は有効アドレスが無効である場
合発生する。
ルメモリ位置をアクセスし外部メモリ用の有効アドレス
EA<31:0>が要求される。命令フォーマットは命
令のアドレッシングモードに依存する。一つのフォーマ
ットは有効アドレスEA<31:0>が第1レジスタか
らのアドレスと第2レジスタからの索引の和であるとき
の動作のためのものである。他のフォーマットは有効ア
ドレスEA<31:0>がレジスタからのアドレスと命
令からの即値の和であるときの動作のためのものであ
る。必要なら有効アドレスは64バイト境界に整列のた
めに切り取られる。例外は有効アドレスが無効である場
合発生する。
【0030】次の各命令に対して、フィールドLNは6
4バイトキャッシュラインの数又は伝送された64バイ
トデータブロックの数を示す。LN=00であれば、1
つの64バイトキャッシュライン或いはデータブロック
が伝送される。LN=01であれば、2つの64バイト
キャッシュライン又はデータブロックが伝送される。L
N=10であれば、4つの64バイトキャッシュライン
またはデータブロックが伝送される。LN=11であれ
ば、8つの64バイトキャッシュラインまたはデータブ
ロックが伝送される。従って、単一命令は512バイト
のデータまで伝送できる。
4バイトキャッシュラインの数又は伝送された64バイ
トデータブロックの数を示す。LN=00であれば、1
つの64バイトキャッシュライン或いはデータブロック
が伝送される。LN=01であれば、2つの64バイト
キャッシュライン又はデータブロックが伝送される。L
N=10であれば、4つの64バイトキャッシュライン
またはデータブロックが伝送される。LN=11であれ
ば、8つの64バイトキャッシュラインまたはデータブ
ロックが伝送される。従って、単一命令は512バイト
のデータまで伝送できる。
【0031】VPFTCH プリフェッチ 命令VPFTCHは外部メモリの有効アドレスEA<3
1:0>から始まるマルチプルキャッシュラインをベク
トルプロセッサ220のデータキャッシュにプリフェッ
チする。VPFTCHは表1と表2に説明された二つの
フォーマットを有する。
1:0>から始まるマルチプルキャッシュラインをベク
トルプロセッサ220のデータキャッシュにプリフェッ
チする。VPFTCHは表1と表2に説明された二つの
フォーマットを有する。
【0032】
【表1】
【0033】
【表2】 アセンブラ構文: VPFTCH.ln SRb、SRi VPFTCH.ln SRb、#IMM VPFTCH.ln SRb+、SRi VPFTCH.ln SRb+、#IMM ここで、ln={1、2、4、8}
【0034】スクラッチパッドへのVPFTCHSPプ
リフェッチ 命令VPFTCHSPは外部メモリの有効アドレスEA
<31:0>から始まるマルチプル64バイトデータブ
ロックをベクトルプロセッサ220のスクラッチパッド
350へプリフェッチする。VPFTCHSPは表3と
表4に説明された二つのフォーマットを有する。
リフェッチ 命令VPFTCHSPは外部メモリの有効アドレスEA
<31:0>から始まるマルチプル64バイトデータブ
ロックをベクトルプロセッサ220のスクラッチパッド
350へプリフェッチする。VPFTCHSPは表3と
表4に説明された二つのフォーマットを有する。
【0035】
【表3】
【0036】
【表4】
【0037】有効アドレスEA<31:0>は外部メモ
リの開始アドレスを提供し、レジスタSRpはスクラッ
チパッドの開始アドレスを提供する。有効アドレスEA
<31:0>は64バイト境界に存在しないと、64バ
イト境界に位置合わせられるように一番先に切り取られ
る。SRpのスクラッチパッドポインタアドレスが64
バイト境界に存しないと、やはり64バイト境界に位置
合わせられるように切り取られる。位置合わせられたス
クラッチパッドポインタアドレスは伝送されたバイト数
だけ増加する。いずれのアドレスが無効であれば、無効
データアドレス例外が発生する。
リの開始アドレスを提供し、レジスタSRpはスクラッ
チパッドの開始アドレスを提供する。有効アドレスEA
<31:0>は64バイト境界に存在しないと、64バ
イト境界に位置合わせられるように一番先に切り取られ
る。SRpのスクラッチパッドポインタアドレスが64
バイト境界に存しないと、やはり64バイト境界に位置
合わせられるように切り取られる。位置合わせられたス
クラッチパッドポインタアドレスは伝送されたバイト数
だけ増加する。いずれのアドレスが無効であれば、無効
データアドレス例外が発生する。
【0038】アセンブラ構文: VPFTCHSP.ln SRp、SRb、SRi VPFTCHSP.ln SRp、SRb、#IMM VPFTCHSP.ln SRp、SRb+、SRi VPFTCHSP.ln SRp、SRb+、#IMM ここで、ln={1、2、4、8} 動作 EA=SRb+{SRi‖sex(IMM<7:0>)}; if (A==1) SRb=EA; Num_bytes={64‖128‖256‖512}; Mem_adrs=EA<31:6>:6b 000000; SRp=SRp<31:6>:6b’000000; for (i=0; i<Num_bytes;i++) SPAD[SRp++]=MEM[Mem_adrs+i];
【0039】VWBACK ライトバック 命令VWBACKはキャッシュラインが変更されたデー
タを含む場合、外部メモリに(有効アドレスEAとマッ
チングされるタグに対向する)有効アドレスEAにより
規定された索引を有するキャッシュラインから始まるマ
ルチプルキャッシュラインを書き込む。一つ以上のキャ
ッシュラインが規定された場合はキャッシュラインが変
更されたデータを含むと順次キャッシュラインがメモリ
にアップデートされる。VWBACKは表5と表6に説
明された二つのフォーマットを有する。
タを含む場合、外部メモリに(有効アドレスEAとマッ
チングされるタグに対向する)有効アドレスEAにより
規定された索引を有するキャッシュラインから始まるマ
ルチプルキャッシュラインを書き込む。一つ以上のキャ
ッシュラインが規定された場合はキャッシュラインが変
更されたデータを含むと順次キャッシュラインがメモリ
にアップデートされる。VWBACKは表5と表6に説
明された二つのフォーマットを有する。
【0039】
【表5】
【0039】
【表6】 アセンブラ構文: VWBACK.ln SRb、SRi VWBACK.ln SRb、#IMM VWBACK.ln SRb+、SRi VWBACK.ln SRb+、#IMM ここでln={1、2、4、8}
【0040】スクラッチパッドからVWBACKSPラ
イトバック スクラッチパッドからメモリへのマルチプル64バイト
ブロックを伝送する。有効アドレスEAは外部メモリの
開始アドレスであり、レジスタSRpはスクラッチパッ
ド用スクラッチパッドポインタアドレスSPADを提供
する。必要なら、レジスタSRpからスクラッチパッド
ポインタアドレスSPADは64バイト境界に位置合わ
せられるように切り取られる。位置合わせられたスクラ
ッチパッドポインタアドレスSPADは伝送されたビッ
ト数だけ増加される。表7と表8はVWBACK命令用
二つのフォーマットを説明する。
イトバック スクラッチパッドからメモリへのマルチプル64バイト
ブロックを伝送する。有効アドレスEAは外部メモリの
開始アドレスであり、レジスタSRpはスクラッチパッ
ド用スクラッチパッドポインタアドレスSPADを提供
する。必要なら、レジスタSRpからスクラッチパッド
ポインタアドレスSPADは64バイト境界に位置合わ
せられるように切り取られる。位置合わせられたスクラ
ッチパッドポインタアドレスSPADは伝送されたビッ
ト数だけ増加される。表7と表8はVWBACK命令用
二つのフォーマットを説明する。
【0041】
【表7】
【0042】
【表8】 VWBACKとVWBACKSPは同一演算コードを使
用すべきことに留意する。
用すべきことに留意する。
【0043】アセンブラ構文: VWBACKSP.ln SRp、SRb、SRi VWBACKSP.ln SRp、SRb、#IMM VWBACKSP.ln SRp、SRb+、SRi VWBACKSP.ln SRp、SRb+、#IMM ここで、ln={1、2、4、8} 動作 EA=SRb+{SRi‖sex(IMM<7:0>)}; if (A==1) SRb=EA; Num_bytes={64‖128‖256‖512}; Mem_adrs=EA<31:6>:6b’000000; SRp=SRp<31:6>:6b’000000; for (i=0; i<Num_bytes;i++) SPAD[SRp++]=MEM[Mem_adrs+i];
【0044】関連した出願に対する相互参考文献 本発明は1996年8月19日付にて米国特許出願第0
8/697,102号、代理人文書番号M−4354−
USの“マルチメディア信号プロセッサのマルチプロセ
ッサ動作”及び、同日付にて出願された米国特許出願第
08/699,597号、代理人文書番号M−4355
−USの“マルチメディア信号プロセッサの単一命令−
マルチプルデータ処理”に関連し、これにより具体化さ
れる。
8/697,102号、代理人文書番号M−4354−
USの“マルチメディア信号プロセッサのマルチプロセ
ッサ動作”及び、同日付にて出願された米国特許出願第
08/699,597号、代理人文書番号M−4355
−USの“マルチメディア信号プロセッサの単一命令−
マルチプルデータ処理”に関連し、これにより具体化さ
れる。
【0045】
【発明の効果】以上述べたように、本発明によれば、1
つの高速メモリをキャッシュおよびスクラッチパッドメ
モリとして動作させ、プログラムによってスクラッチパ
ッドとキャッシュのサイズを選択することができ、しか
も高速のメモリアクセスが可能となる。なお、本発明を
特定の望ましい実施の形態に関連し図示し説明したが、
特許請求の範囲により設けられる本発明の精神や分野を
離脱しない限度内で本発明が多様に改造及び変化できる
ことが当業界で通常の知識を有する者なら容易に分かる
ことができる。
つの高速メモリをキャッシュおよびスクラッチパッドメ
モリとして動作させ、プログラムによってスクラッチパ
ッドとキャッシュのサイズを選択することができ、しか
も高速のメモリアクセスが可能となる。なお、本発明を
特定の望ましい実施の形態に関連し図示し説明したが、
特許請求の範囲により設けられる本発明の精神や分野を
離脱しない限度内で本発明が多様に改造及び変化できる
ことが当業界で通常の知識を有する者なら容易に分かる
ことができる。
【図1】アドレス空間の他の部分に再配置されることが
できるリサイズ可能なスクラッチパッドを説明する図。
できるリサイズ可能なスクラッチパッドを説明する図。
【図2】本発明の実施の形態によるプロセッサのブロッ
ク図。
ク図。
【図3】図2のプロセッサのキャッシュサブシステムの
一部分を示すブロック図。
一部分を示すブロック図。
【図4】本発明の実施の形態によるプリフェッチ動作ま
たはライトバック動作の実行間ロード/貯蔵実行キュー
を説明するための図。
たはライトバック動作の実行間ロード/貯蔵実行キュー
を説明するための図。
【図5】本発明の実施の形態によるプログラムアーキテ
クチャーを説明するための図。
クチャーを説明するための図。
110 高速メモリ 120 キャッシュメモリ 130 スクラッチパッド 150 アドレス空間 160、170 アドレス 200 マルチプロセッサ 210 汎用制御プロセッサ 220 ベクトルプロセッサ 212、214、216 ライン 218 拡張レジスタ 230 キャッシュサブシステム 240、250 システムバス 262、266 命令キャッシュ 264 データキャッシュ 268 データキャッシュ/スクラッチパッド 270 ロムキャッシュ 280 制御回路 310 データパイプライン 320 アドレスパイプライン 330 タグメモリ 340、345 マルチプレクサ 360 SRAM 362、364、366、368 メモリセクション
Claims (10)
- 【請求項1】 メモリと、該メモリに対するアクセスを
制御する制御回路とを含み、 前記制御回路は前記メモリのアドレスを任意に区分可能
でメモリの第1部分はキャッシュメモリとしてアクセス
されメモリの第2部分はスクラッチパッドとしてアクセ
スされることを特徴とするキャッシュシステム。 - 【請求項2】 前記制御回路は、 タグメモリと、 入力アドレス信号を受信して、前記メモリの第2部分に
対応するアドレス信号から前記メモリの第2部分の貯蔵
位置を識別する索引を発生し、ヒット/ミス計算用前記
タグメモリへ前記メモリの第2部分に対応しないアドレ
ス信号を送るアドレスパイプラインと、を含むことを特
徴とする請求項1記載のキャッシュシステム。 - 【請求項3】 前記タグメモリは前記メモリの第1部分
に関連した第1セクションと前記メモリの第2部分に関
連した第2セクションに分割され、ヒット/ミス計算は
前記タグメモリの第2セクションをディスエーブルさせ
ることを特徴とする請求項2記載のキャッシュシステ
ム。 - 【請求項4】 キャッシュエントリ生成は、前記タグメ
モリの第2セクションをディスエーブルさせることを特
徴とする請求項3記載のキャッシュシステム。 - 【請求項5】メモリと、該メモリに対するアクセスを制
御するキャッシュ制御回路とを含み、 前記キャッシュ制御回路は前記メモリのアドレスを任意
に区分可能で前記メモリの第1部分がキャッシュメモリ
としてアクセスされ前記メモリの第2部分はスクラッチ
パッドとしてアクセスされることを特徴とするプロセッ
サ。 - 【請求項6】 前記メモリの前記第1部分のサイズを選
択するレジスタフィールドを更に含むことを特徴とする
請求項5記載のプロセッサ。 - 【請求項7】 前記メモリの第2部分に対するベースア
ドレスを選択するためのレジスタフィールドを更に含む
ことを特徴とする請求項5記載のプロセッサ。 - 【請求項8】 プロセッサを動作させる方法において、 オンチップメモリの第1有効アドレスを示す第1値を命
令から抽出する段階と、 外部メモリの第2有効アドレスを示す第2値を命令から
抽出する段階と、 伝送されるデータライン数を示す第3値を命令から抽出
する段階と、 オンチップメモリの第1有効アドレスから始まる順次ア
ドレスと外部メモリの第2有効アドレスから始まる順次
アドレスとの間にデータライン数を移動させる段階と、
を含むことを特徴とする方法。 - 【請求項9】 前記オンチップメモリはスクラッチパッ
ドであることを特徴とする請求項8記載の方法。 - 【請求項10】 前記データライン数を移動させる間無
秩序に第2命令を実行する段階を更に含むことを特徴と
する請求項8記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/733,818 | 1996-10-18 | ||
US08/733,818 US5966734A (en) | 1996-10-18 | 1996-10-18 | Resizable and relocatable memory scratch pad as a cache slice |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10187533A true JPH10187533A (ja) | 1998-07-21 |
Family
ID=24949228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9280955A Pending JPH10187533A (ja) | 1996-10-18 | 1997-10-14 | キャッシュシステム、プロセッサ及びプロセッサを動作させる方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5966734A (ja) |
JP (1) | JPH10187533A (ja) |
KR (1) | KR100257518B1 (ja) |
TW (1) | TW382091B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010519652A (ja) * | 2007-02-21 | 2010-06-03 | クゥアルコム・インコーポレイテッド | オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ |
US8583872B2 (en) | 2007-12-28 | 2013-11-12 | Fujitsu Limited | Cache memory having sector function |
JP2013242823A (ja) * | 2012-05-23 | 2013-12-05 | Toshiba Corp | 情報処理装置、情報処理方法および制御プログラム |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9727485D0 (en) * | 1997-12-30 | 1998-02-25 | Sgs Thomson Microelectronics | Processing a data stream |
US5948095A (en) * | 1997-12-31 | 1999-09-07 | Intel Corporation | Method and apparatus for prefetching data in a computer system |
US6591361B1 (en) | 1999-12-28 | 2003-07-08 | International Business Machines Corporation | Method and apparatus for converting data into different ordinal types |
US7171547B1 (en) * | 1999-12-28 | 2007-01-30 | Intel Corporation | Method and apparatus to save processor architectural state for later process resumption |
US6859862B1 (en) | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
EP1182561B1 (en) * | 2000-08-21 | 2011-10-05 | Texas Instruments France | Cache with block prefetch and DMA |
US6643736B1 (en) * | 2000-08-29 | 2003-11-04 | Arm Limited | Scratch pad memories |
JP3681647B2 (ja) * | 2001-02-21 | 2005-08-10 | 株式会社半導体理工学研究センター | キャッシュメモリシステム装置 |
US20030033483A1 (en) * | 2001-08-13 | 2003-02-13 | O'connor Dennis M. | Cache architecture to reduce leakage power consumption |
US20030046492A1 (en) * | 2001-08-28 | 2003-03-06 | International Business Machines Corporation, Armonk, New York | Configurable memory array |
US6782463B2 (en) * | 2001-09-14 | 2004-08-24 | Intel Corporation | Shared memory array |
US6829692B2 (en) * | 2001-09-14 | 2004-12-07 | Intel Corporation | System and method for providing data to multi-function memory |
US7089368B2 (en) * | 2002-02-12 | 2006-08-08 | Ip-First, Llc | Microprocessor apparatus and method for exclusively prefetching a block of cache lines from memory |
US7089371B2 (en) | 2002-02-12 | 2006-08-08 | Ip-First, Llc | Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory |
US7080210B2 (en) * | 2002-02-12 | 2006-07-18 | Ip-First, Llc | Microprocessor apparatus and method for exclusive prefetch of a cache line from memory |
US7080211B2 (en) * | 2002-02-12 | 2006-07-18 | Ip-First, Llc | Microprocessor apparatus and method for prefetch, allocation, and initialization of a cache line from memory |
US7111125B2 (en) * | 2002-04-02 | 2006-09-19 | Ip-First, Llc | Apparatus and method for renaming a data block within a cache |
US6836833B1 (en) * | 2002-10-22 | 2004-12-28 | Mips Technologies, Inc. | Apparatus and method for discovering a scratch pad memory configuration |
US7188215B2 (en) * | 2003-06-19 | 2007-03-06 | Ip-First, Llc | Apparatus and method for renaming a cache line |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7526608B2 (en) * | 2004-05-28 | 2009-04-28 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a software implemented cache memory |
US7380180B2 (en) * | 2004-07-16 | 2008-05-27 | Intel Corporation | Method, system, and apparatus for tracking defective cache lines |
US7401184B2 (en) * | 2004-11-19 | 2008-07-15 | Intel Corporation | Matching memory transactions to cache line boundaries |
US7734901B2 (en) * | 2005-10-31 | 2010-06-08 | Mips Technologies, Inc. | Processor core and method for managing program counter redirection in an out-of-order processor pipeline |
US7711934B2 (en) * | 2005-10-31 | 2010-05-04 | Mips Technologies, Inc. | Processor core and method for managing branch misprediction in an out-of-order processor pipeline |
US7562191B2 (en) * | 2005-11-15 | 2009-07-14 | Mips Technologies, Inc. | Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme |
US7873820B2 (en) * | 2005-11-15 | 2011-01-18 | Mips Technologies, Inc. | Processor utilizing a loop buffer to reduce power consumption |
US7496771B2 (en) * | 2005-11-15 | 2009-02-24 | Mips Technologies, Inc. | Processor accessing a scratch pad on-demand to reduce power consumption |
US20070204139A1 (en) | 2006-02-28 | 2007-08-30 | Mips Technologies, Inc. | Compact linked-list-based multi-threaded instruction graduation buffer |
US7721071B2 (en) * | 2006-02-28 | 2010-05-18 | Mips Technologies, Inc. | System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor |
US20080016326A1 (en) | 2006-07-14 | 2008-01-17 | Mips Technologies, Inc. | Latest producer tracking in an out-of-order processor, and applications thereof |
US7370178B1 (en) * | 2006-07-14 | 2008-05-06 | Mips Technologies, Inc. | Method for latest producer tracking in an out-of-order processor, and applications thereof |
US7650465B2 (en) | 2006-08-18 | 2010-01-19 | Mips Technologies, Inc. | Micro tag array having way selection bits for reducing data cache access power |
US7657708B2 (en) * | 2006-08-18 | 2010-02-02 | Mips Technologies, Inc. | Methods for reducing data cache access power in a processor using way selection bits |
US7783799B1 (en) * | 2006-08-31 | 2010-08-24 | American Megatrends, Inc. | Remotely controllable switch and testing methods using same |
JP4862566B2 (ja) * | 2006-09-04 | 2012-01-25 | 富士通株式会社 | 動画像処理装置及びプリフェッチ制御方法 |
US8032734B2 (en) * | 2006-09-06 | 2011-10-04 | Mips Technologies, Inc. | Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor |
US7647475B2 (en) * | 2006-09-06 | 2010-01-12 | Mips Technologies, Inc. | System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue |
JP2010505158A (ja) * | 2006-09-26 | 2010-02-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 複数のメモリーバンクを有するデータ処理 |
US8078846B2 (en) | 2006-09-29 | 2011-12-13 | Mips Technologies, Inc. | Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated |
US9946547B2 (en) * | 2006-09-29 | 2018-04-17 | Arm Finance Overseas Limited | Load/store unit for a processor, and applications thereof |
US7594079B2 (en) | 2006-09-29 | 2009-09-22 | Mips Technologies, Inc. | Data cache virtual hint way prediction, and applications thereof |
US20080082793A1 (en) * | 2006-09-29 | 2008-04-03 | Mips Technologies, Inc. | Detection and prevention of write-after-write hazards, and applications thereof |
KR101312281B1 (ko) * | 2007-11-06 | 2013-09-30 | 재단법인서울대학교산학협력재단 | 프로세서 및 메모리 제어 방법 |
US9405683B2 (en) * | 2007-11-06 | 2016-08-02 | Samsung Electronics Co., Ltd. | Processor and memory control method for allocating instructions to a cache and a scratch pad memory |
DE102008009634A1 (de) * | 2008-02-15 | 2009-08-27 | Carl Zeiss Microimaging Gmbh | Peripherieschnittstelle und Verfahren zur Datenübermittlung, insbesondere für Laser-Scanning-Mikroskop |
KR101496340B1 (ko) * | 2008-10-31 | 2015-03-04 | 삼성전자주식회사 | 프로세서 및 메모리 제어 방법 |
US8543796B2 (en) * | 2008-11-05 | 2013-09-24 | Intel Corporation | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
US20110131381A1 (en) * | 2009-11-27 | 2011-06-02 | Advanced Micro Devices, Inc. | Cache scratch-pad and method therefor |
US8850151B2 (en) | 2010-03-24 | 2014-09-30 | Apple Inc. | Hybrid-device storage based on environmental state |
US9424210B1 (en) * | 2010-10-22 | 2016-08-23 | Altera Corporation | SDRAM memory organization and efficient access |
US8904109B2 (en) * | 2011-01-28 | 2014-12-02 | Freescale Semiconductor, Inc. | Selective cache access control apparatus and method thereof |
US8756405B2 (en) | 2011-05-09 | 2014-06-17 | Freescale Semiconductor, Inc. | Selective routing of local memory accesses and device thereof |
US9417794B2 (en) | 2011-07-26 | 2016-08-16 | Apple Inc. | Including performance-related hints in requests to composite memory |
US9275096B2 (en) | 2012-01-17 | 2016-03-01 | Apple Inc. | Optimized b-tree |
US9971686B2 (en) * | 2015-02-23 | 2018-05-15 | Intel Corporation | Vector cache line write back processors, methods, systems, and instructions |
US20170286114A1 (en) * | 2016-04-02 | 2017-10-05 | Intel Corporation | Processors, methods, and systems to allocate load and store buffers based on instruction type |
US10049044B2 (en) * | 2016-06-14 | 2018-08-14 | Advanced Micro Devices, Inc. | Asynchronous cache flushing |
US11341066B2 (en) * | 2019-12-12 | 2022-05-24 | Electronics And Telecommunications Research Institute | Cache for artificial intelligence processor |
KR102518057B1 (ko) * | 2019-12-12 | 2023-04-06 | 한국전자통신연구원 | 인공지능 프로세서를 위한 캐시 |
KR20220023649A (ko) * | 2020-08-21 | 2022-03-02 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN117312330B (zh) * | 2023-11-29 | 2024-02-09 | 中国人民解放军国防科技大学 | 基于便签式存储的向量数据聚集方法、装置及计算机设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5067078A (en) * | 1989-04-17 | 1991-11-19 | Motorola, Inc. | Cache which provides status information |
US5517626A (en) * | 1990-05-07 | 1996-05-14 | S3, Incorporated | Open high speed bus for microcomputer system |
JPH06314241A (ja) * | 1993-03-04 | 1994-11-08 | Sharp Corp | 高速半導体記憶装置及び高速連想記憶装置 |
GB2292822A (en) * | 1994-08-31 | 1996-03-06 | Hewlett Packard Co | Partitioned cache memory |
US5619680A (en) * | 1994-11-25 | 1997-04-08 | Berkovich; Semyon | Methods and apparatus for concurrent execution of serial computing instructions using combinatorial architecture for program partitioning |
US5721874A (en) * | 1995-06-16 | 1998-02-24 | International Business Machines Corporation | Configurable cache with variable, dynamically addressable line sizes |
-
1996
- 1996-10-18 US US08/733,818 patent/US5966734A/en not_active Expired - Lifetime
-
1997
- 1997-05-02 KR KR1019970016964A patent/KR100257518B1/ko not_active IP Right Cessation
- 1997-09-13 TW TW086113322A patent/TW382091B/zh not_active IP Right Cessation
- 1997-10-14 JP JP9280955A patent/JPH10187533A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010519652A (ja) * | 2007-02-21 | 2010-06-03 | クゥアルコム・インコーポレイテッド | オン−デマンド・マルチ−スレッド・マルチメディア・プロセッサ |
US8583872B2 (en) | 2007-12-28 | 2013-11-12 | Fujitsu Limited | Cache memory having sector function |
JP2013242823A (ja) * | 2012-05-23 | 2013-12-05 | Toshiba Corp | 情報処理装置、情報処理方法および制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
TW382091B (en) | 2000-02-11 |
KR19980032100A (ko) | 1998-07-25 |
US5966734A (en) | 1999-10-12 |
KR100257518B1 (ko) | 2000-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10187533A (ja) | キャッシュシステム、プロセッサ及びプロセッサを動作させる方法 | |
JP3285644B2 (ja) | キャッシュメモリを有するデータプロセッサ | |
KR100227278B1 (ko) | 캐쉬 제어 유닛 | |
JP3218317B2 (ja) | 集積キャッシュユニットおよびその構成方法 | |
JP3158161B2 (ja) | 集積キャッシュユニットおよび集積キャッシュユニットにおいてインターロック変数をキャッシュする方法 | |
US6665749B1 (en) | Bus protocol for efficiently transferring vector data | |
US5249286A (en) | Selectively locking memory locations within a microprocessor's on-chip cache | |
US6813701B1 (en) | Method and apparatus for transferring vector data between memory and a register file | |
US7610469B2 (en) | Vector transfer system for packing dis-contiguous vector elements together into a single bus transfer | |
JP2001290705A (ja) | オンチップキャッシュのソフトウェア管理方法および装置 | |
US20080270707A1 (en) | Data processor | |
JP2002140289A (ja) | 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション | |
US6553486B1 (en) | Context switching for vector transfer unit | |
US6014739A (en) | Increasing general registers in X86 processors | |
JP3218316B2 (ja) | 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法 | |
US6892280B2 (en) | Multiprocessor system having distributed shared memory and instruction scheduling method used in the same system | |
US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
KR100373576B1 (ko) | 변환 장치의 엔트리를 무효로 하는 시스템 및 방법 | |
US6625720B1 (en) | System for posting vector synchronization instructions to vector instruction queue to separate vector instructions from different application programs | |
JPH08249175A (ja) | スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置 | |
JPH0512110A (ja) | 情報処理装置 | |
JP2000047930A (ja) | データ処理装置 | |
US20030135717A1 (en) | Method and apparatus for transferring vector data | |
Omondi et al. | High-Performance Memory Systems | |
WO2009156920A1 (en) | Method, register file system, and processing unit device enabling substantially direct cache memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060314 |