JP3504282B2 - 実時間キャッシュ機能を提供する集積回路用チップ - Google Patents

実時間キャッシュ機能を提供する集積回路用チップ

Info

Publication number
JP3504282B2
JP3504282B2 JP24575892A JP24575892A JP3504282B2 JP 3504282 B2 JP3504282 B2 JP 3504282B2 JP 24575892 A JP24575892 A JP 24575892A JP 24575892 A JP24575892 A JP 24575892A JP 3504282 B2 JP3504282 B2 JP 3504282B2
Authority
JP
Japan
Prior art keywords
cache
sector
memory
mode
address
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 - Lifetime
Application number
JP24575892A
Other languages
English (en)
Other versions
JPH05225061A (ja
Inventor
バロン・ナザン
マリノ・ポール
ゴレン・アブナー
メランメッド−コヘン・イャル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Solutions Inc
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Solutions Inc, Motorola Inc filed Critical Motorola Solutions Inc
Publication of JPH05225061A publication Critical patent/JPH05225061A/ja
Application granted granted Critical
Publication of JP3504282B2 publication Critical patent/JP3504282B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-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)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、実時間キャッシュの機
能を提供するオンチップメモリ(on−chip me
mory)に関する。
【0002】高速マイクロプロセッサおよびDSPが導
入されたことによって、多重プロセッサ・システム(m
ultiprocessor systems)では頻
繁に、高ヒット率を有するオンチップメモリの重要性が
高まった。
【0003】
【発明が解決しようとする課題】種々のDSPおよび実
時間プロセッサで実行可能な解決法は、DMAを使用し
て、現在実行されているプログラムと平行して、いづれ
使用する予定のプログラム部分を内部RAMにロードす
ることである。これらの機構は、確定的動作によってヒ
ット率を100%にすることができる。しかし、DMA
を効率よく使用するためには、プログラマ(またはコン
パイラ)は、物理的アドレスを常に追跡しなければなら
なず、面倒な仕事である。
【0004】キャッシュが同様の結果を生むことも明ら
かである。しかし、キャシュはコードの統計的特性に基
づくので、キャッシュは、実時間システムでは時間クリ
ティカル・ルーチンにとって主要な要件である、確定的
なアクセス時間を保証しない。DMAとキャッシュの両
方を同じダイ上に設けることは、この矛盾を解決するこ
とができるが、シリコン領域を浪費する。
【0005】従って、本発明の目的は、DMAとキャッ
シュの両方の機能を有しながら、シリコン領域を浪費し
ないオンチップメモリを提供することである。
【0006】
【課題を解決するための手段】本発明は、データおよび
アドレス・バスによって結合された処理装置とメモリ・
セクション、メモリ制御装置が動作可能な第1標準動作
モードとキャッシュ制御装置が動作可能な第2キャッシ
ュ動作モードとの間で前記メモリを切り替えるスイッチ
手段、および標準モードで前記メモリ内にロードされた
情報をキャッシュ・モードで使用可能にする手段を有す
る集積回路用のチップを提供する。
【0007】このキャッシュは(特にDSPの用途で
は)命令キャッシュとして動作するのが好ましいが、デ
ータ・キャッシュとして、または命令とデータの両方を
有する統合キャッシュ(unified cache)
として機能することもできる。
【0008】切り替え手段は、キャッシュ・イネーブル
・ビットを有するレジスタ(動作モード・レジスタ)に
よって構成するのが好ましく、このビットは動作モード
を判定するために処理装置によって検査される。
【0009】本発明によれば、使用者が、キャッシュ・
モードで、DMAによって標準メモリ・モードでロード
されたプログラム部分を使用できるようにする手段が実
現される。これによって、使用者は時間クリティカル・
ルーチンを初期化相でキャッシュにプリ・ロードするこ
とができ、従って割り込みルーチンで重要なヒット・オ
ン・ファースト・アクセスを提供する。更に、使用者は
これら2つの動作モードの間を切り替えることができ、
必要なら、データを保存したりフラッシュ(flus
h)することができる。これは、使用者が異なった動作
モードで異なった仕事を実行することを可能にする。
【0010】好適な実施例では、このキャッシュ組織
は、1ワードを転送する細分性(granularit
y)を有する完全に連想性のある8分割に(eight
−way)セクタ化したキャッシュとして形成すること
ができる。内部プログラム・メモリは4Kバイト・メモ
リで、論理的に8個の128ワード・キャッシュ・セク
タに分割され、1ワードの長さは4バイトである。基本
となる置換単位はセクタであるが、基本となる転送単位
は単一の32ビット・ワードである。25ビット・タグ
が各キャッシュ・セクタと関連付けられ、妥当ビット
(valid bit)が各キャッシュ・ワードと関連
付けられる。プログラム・アクセスがキャッシュ・ヒッ
トかミスか判定するためにタグの比較を行ない、セクタ
がキャッシュ内に存在するか判定し、またもし特定のワ
ードがセクタ内に存在するかどうか判定するために7ビ
ット・ワード置換アドレスによって妥当ビットが検査さ
れる。ワード・ミスが発生した場合、単一のワードのみ
を取り出し、対応する妥当ビットを設定する。セクタ・
ミスが発生した場合、128ワード・セクタ全体がフラ
ッシュされ、新しいタグの値がロードされるが、取り出
されるのは単一ワードのみである。キャッシュ・セクタ
のマッピングは完全連想マッピングであり、最も過去に
使用された(LRU)ものを置換するのが方針である。
【0011】セクタ化したキャッシュ組織が選択される
が、その理由は、小型の1KビットRAMアレーで妥当
ビットを組織する一方で、タグの数が少なく(8個の
み)て済むのでシリコン領域の使用率(データを記憶す
ることに使用する全キャッシュ領域の小部分)が良好で
あるからである。キャッシュ内の8個のセクタは、依然
として各々長さが128ワードまでの8個の広範囲のル
ーチンを保持することが可能である。更に、必要な命令
だけが取り出され、キャッシュの汚損は最小となるの
で、転送単位が1ワードであることはバスの通信量を低
く抑える。
【0012】完全連想(fully associat
ive)の配置方針が選択されるが、その理由はキャッ
シュの利用率が最善であるからである。このことは、セ
クタの幾つかがロックされた場合、極めて重要となる
が、その理由は完全連想キャッシュは残りのロックされ
ていないキャッシュ・セクタのいづれかに新しいメモリ
・セクタを配置できるからである。LRU置換の方針が
選択され、三角マトリックスを使用して8要素による深
いスタックを実現する。
【0013】時間クリティカル・ルーチンのプリロード
は、時々依然として標準モードで、DMA転送を使用し
て、リセットの後に行うことができる。これらの転送ご
とに対応する妥当ビットが設定され、従ってキャッシュ
・モードではそのワードに対するアクセスはヒット・オ
ン・ファースト・アクセスを生み出す。
【0014】ロック機構が設けられる。いづれのアドレ
ス・モードを使用することもできる特別のロック(LO
CK)命令を使用して、いづれのメモリ・セクタもキャ
ッシュ内でロックすることができる。キャッシュ・セク
タがロックされた場合、すでにそのセクタ内に存在する
妥当ビットは保存され、依然として空白のワードを満た
すことができるが、そのセクタを置き換えることはでき
ない。ロック解除(UNLOCK)命令またはグローバ
ル・フリー(FREE)命令を使用して、セクタのロッ
クを解除することができる。
【0015】グローバル・フラッシュ(FLUSH)命
令を設ける。この単一サイクルの命令はキャッシュ全体
をフラッシュする。外部装置が新しいコードを外部プロ
グラム・メモリ内にロードする場合、整合性(cons
istency)の問題を防止することに使用できる。
【0016】プログラム・メモリへの/プログラム・メ
モリからの移動(MOVE)命令によってキャッシュ迂
回機構も提供される。これらの命令は、キャッシュする
ことができず、従ってこのプログラム・メモリに記憶さ
れた共有データ表にアクセスし、およびプログラムを自
己変更するのに有用である。常にキャッシュの整合性を
維持するために、これらの移動(MOVE)命令はキャ
ッシュ位置に書き込む場合、同時に対応する外部プログ
ラム・メモリ位置にも書き込む。
【0017】従って、好適な実施例で、チップのアーキ
テクチャは3つのブロック、RAMアレー、DMA制御
装置およびキャッシュ制御装置を有する。このキャッシ
ュ制御装置は以下のサブ・ブロックによって構成され
る。 ‐タグ・レジスタ・ファイル:各メモリ・セクタに対し
て1つのタグ ‐妥当ビット・アレー:各メモリ・ワードに対して1つ
の妥当ビット ‐セクタ置換装置
【0018】リセットした後、これらのタグはアドレス
空間内のRAMマッピングに対応するデフォールトの値
に設定される。これらの妥当ビットは全てクリアされ
る。
【0019】標準メモリ・モードでは、内部RAMアド
レス空間は固定され、従ってタグの値は変更される。内
部RAMは、初期的には非妥当データを有するので、全
ての妥当ビットがクリアされる。内部RAMへの(DM
AまたはMOVE命令による)書き込みは、そのRAM
ワードに対応する妥当ビットを設定(set)する。
【0020】動作モード・レジスタ内のキャッシュ使用
可能ビットを肯定すると、この動作モードを標準メモリ
・モードからキャッシュ・モードに切り替える。このモ
ードの切り替えは、タグ・レジスタ・ファイルまたは妥
当ビット・アレー内に記憶した値を変更しない。
【0021】キャッシュ・モードの場合、この内部RA
Mのマッピングは固定されないので、従って現在のマッ
ピングを反映するためにタグの値を変更することができ
る。
【0022】依然として標準メモリ・モードにある場
合、DMAによってプリロードされた時間クリティカル
・ルーチンは、妥当ビットの組を有し、従ってキャッシ
ュ・モードではヒットと共にアクセスされる。ロック命
令によって、キャッシュから除去されるのを防止するた
めに、これらのルーチンをロックすることができる。
【0023】動作モード・レジスタ内のキャッシュ使用
可能ビットを肯定しないと、動作モードをキャッシュ・
モードから標準モードに切り替える。
【0024】
【実施例】本発明の好適な実施例を添付の図面を参照し
て説明する。図4を参照して、チップ2は処理装置4、
32ビット幅アドレス・バスPABおよびデータ・バス
PDB、4KバイトRAMメモリ10、命令キャッシュ
制御装置12および直接メモリ・アクセスDMA制御装
置14を有する。実際には、その他の装置も設けられ、
チップはモトローラ社製DSP16002型チップのよ
うなDSP処理装置によって構成するのが便利である。
【0025】メモリ10は、アドレスを固定した標準メ
モリとして採用することができ、取り出し(fetc
h)命令および移動(move)命令において、装置1
4によってかつDMA制御装置14によってアクセスす
ることができ、またその結果、情報を外部メモリからバ
ス8上を転送することができる。本発明によって、メモ
リ10は、キャッシュとしても使用することができ、こ
の場合、DMA制御装置14bは使用禁止になり、メモ
リ10へのアクセスは全てキャッシュ制御装置12によ
って制御される。
【0026】命令キャッシュは、主メモリと高速処理装
置との間のバッファ・メモリと見なすことができる。こ
のキャッシュは、頻繁に使用されるプログラム命令を記
憶するために使用される。プログラムが必要とする命令
ワードがチップに搭載したキャッシュ内で入手できる場
合、処理量(throughput)が増加する結果と
なり、外部バス上でそれらにアクセスすることに必要な
時間は削減される。
【0027】図1は、命令キャッシュのブロック図を示
す。図4に示したのと同じ部品は同じ参照番号によって
示す。図1に示すように、処理装置4はDSPコアとし
て実施される。コア4は、動作モード・レジスタ(OM
R)40を有し、これはチップの動作モードを決定し、
このレジスタの1つのビットはキャッシュ使用可能また
はキャッシュ・イネーブル(CE)ビットと呼ぶ(図5
参照)。このCEビットは、キャッシュ使用可能制御線
16によってスイッチ22に与えられ、メモリ10のこ
のスイッチは、標準またはキャッシュ・モードに入るた
めにバスPABと制御装置12の間でメモリのアドレス
制御を切り替える。更に、制御装置12は、「ヒット/
ミス」制御線24を有し、これは外部アドレス・スイッ
チ26に結合され、このスイッチはキャッシュ・メモリ
内でミスが発生した場合、PAB上で外部メモリとアク
セスすることを可能にする。
【0028】従って、キャッシュ・モードで動作する場
合、例えばCEビットが“1”の場合、このDSPコア
はPAB(プログラム・アドレス・バス)上で命令の取
り出しを開始する。この命令キャッシュ制御装置は、ア
ドレスされた命令が内部プログラムRAM(「キャッシ
ュ・アレー」)内に出現するかどうか判定する。
【0029】もし、出現するなら、「ヒット」が合図さ
れ、外部取り出しは外部アドレス・スイッチ26内で使
用禁止にされ、また内部RAM10はキャッシュ制御装
置12からセクタ番号(最上位の3ビット)およびセク
タ・オフセット(最下位の7ビット)としてアドレスさ
れる。
【0030】もしアドレスされた命令が内部プログラム
RAM内に出現しないなら、「ミス」が合図され、外部
取り出しサイクルが開始される。次のサイクルでPDB
(プログラム・データ・バス)上に対応する命令が出現
した場合、内部プログラムRAM10内に並列してラッ
チされる。
【0031】もしCEビットがセットされなければ、例
えば“0”、処理装置は標準「PRAM」モードに戻
り、このモードでこのアドレスの値によって取り出しは
内部的にまたは外部的に行われる。
【0032】次に図2を参照すると、命令キャッシュ制
御装置の概念図が示されている。内部プログラムRAM
10は、1024個の32ビット・ワードを有し、論理
的に8個の128ワード・セクタに分割される。「ブロ
ック」よりも「セクタ」という用語を使用するが、その
理由は、セクタ化したキャッシュが置換の基本となる単
位である「セクタ」と、転送の基本となる単位である
「ブロック」とを区別するからである。この場合、「ブ
ロック」は32ビット・ワードであり、「ブロック」と
「ワード」という用語は置き替えて使用することができ
る。
【0033】内部プログラムRAM内に、それぞれ12
8ワードのセクタが8個存在するので、32ビット・ア
ドレスは以下の2つのフィールドに分割される。 ‐最下位の7ビットはセクタ内のワード置換またはオフ
セット用であり52で示す。 ‐最上位の25ビットはタグ用であり50で示す。
【0034】これらのセクタ配置アルゴリズムは、完全
に連想性があり、すなわち各外部プログラム・メモリ・
セクタは、8個の内部プログラムRAMセクタのうちい
づれにも配置することができる。従って、これは完全な
8分割連想キャッシュ(8way fully ass
ociative cache)と呼ぶことができる。
【0035】25ビットのタグは、8個の内部プログラ
ム・メモリRAMセクタのいづれの1つとも関連付けら
れる。キャッシュ制御装置12が、現在のアドレスのタ
グ・フィールドと等しいタグを探す場合、制御装置はタ
グを8個のコンパレータ54を使用して、並列に8個の
タグと比較する。これらのコンパレータは、タグ・レジ
スタの一部である動的なXORとして実現される。
【0036】各キャッシュ・セクタ内の各ワードは、キ
ャッシュ・ワード妥当ビット56と関連し、このビット
はそのワード内のデータがすでに外部メモリから取り出
され、従って、妥当であるかどうかを識別する。全部で
1024個の妥当ビットが存在し、それぞれ128妥当
ビットの8個のバンクに構成され、各セクタに対して1
個のバンクが存在する。これらの妥当ビットは、使用者
が直接使用するためには提供されないことに留意するこ
と。これらの妥当ビットは、PRAMの内容が初期化さ
れていないことを示すために処理装置のリセット(RE
SET)によってクリアされる。
【0037】次に図3を参照して、メモリ・セクタと関
連するタグをPAB上のアドレスと比較するタグ・レジ
スタ・ファイル(TRF)60を具備する命令キャッシ
ュ制御装置がより詳細に示される。比較の結果は、ヒッ
ト/ミス論理62および2方向マルチプレクサ/デマル
チプレクサ64とに供給され、後者は32×32ビット
によって構成される妥当ビット・アレーの読取りまたは
書き込みに関してアクセスを可能にする。キャッシュ・
フラッシュのリセット線67は、アレー66に結合され
単一操作でこのアレーをリセットする。
【0038】PABはデコード装置68によってマルチ
プレクサ64に結合され、デコーダ70によって妥当ビ
ットアレー66に結合される。セクタ置換装置72が設
けられ、これはエンコード装置74を介してTRF60
と結合され、またTRF60と妥当ビットアレー66に
結合された書き込み線76を有する。装置72は、最も
過去に使用さたアルゴリズム(least used
algorithm)によってセクタ・アドレスが組織
されたスタック(図示せず)を有し、最も過去に使用さ
れたものがスタックの底に位置する。ロック機構80
は、このスタック内の各ロックされたセクタとロック・
ビットを関連付け、その結果、各セクタは置き換えるこ
とができない。
【0039】図2および3を参照して、種々の状況での
キャッシュ動作を説明する。各命令が要求に応じて(o
n demand)、すなわち、必要な場合だけ取り出
される。コアが命令を必要とする場合、その命令の物理
的アドレスがPABを介して命令キャッシュ12に送ら
れる。このキャッシュはアドレスの一部、特にタグ・フ
ィールドを現在TRF60に記憶するタグと比較する。
【0040】もしタグが一致するならば(すなわちセク
タ・ヒット)、次にそのセクタ内の対応するワードの妥
当ビットが64、66、および70で検査される。もし
妥当ビットが設定されておれば、これはキャッシュ内の
ワードがすでにこのキャッシュに持って来られ妥当であ
ることを意味し、そのワードは希望するアドレスに対応
するこのキャッシュ位置から取り出される。この状況
は、キャッシュ・ヒットと呼ばれ、対応するセクタと対
応する命令ワードの両者が存在し、命令キャッシュ内で
妥当または有効(valid)であることを意味する。
セクタ置換装置(SRU)72は、使用されたセクタ状
態をLRUアルゴリズムによって更新する。
【0041】もしタグが一致、すなわちタグ・ヒットし
たが希望するワードがキャッシュ内で妥当でない場合
(対応する妥当ビット=0、すなわちワード・ミス)、
次にキャッシュは外部プログラム・メモリからPDBへ
読取りサイクルを開始する。取り出された命令は、コア
および関連するセクタ位置の両方に送られ複写される。
そのワードの妥当ビットが設定(set)される。これ
らは全て、通常の実行と並列して行われ、他のいづれの
クロックまたは(待機状態のような)メモリ・サイクル
を必要としない。SRUは、LRUアルゴリズムによっ
て使用されたセクタ状態を更新する。
【0042】タグ・フィールドと全てのセクタ・タグ・
レジスタとの間で一致がないならば、これは要求された
ワードを含むメモリ・セクタが62で判定されるように
キャッシュ内に存在しないことを意味し、この状況をセ
クタ・ミスと呼び、これはキャッシュ・ミスの別の形態
である。もしセクタ・ミスが発生したならば、キャッシ
ュのSRU72は置き換えるべきセクタを選択する。こ
のキャッシュは、次に全ての対応する妥当ビットをリセ
ットすることによって選択したセクタをフラッシュし、
新しいタグ・フィールドに対応するタグをロードし、同
時にこのコアによって要求された物理的アドレスから外
部命令を読取るサイクルを開始する。外部メモリからデ
ータが到着した場合、このコアはそのデータをPDBに
ロードし、キャッシュはこのデータをこのセクタ内のア
ドレスの最下位の7ビット(7LSBs)によって指定
されるワード位置に複写し、対応する妥当ビットを設定
する。ここでSRUはセクタ置換制御装置内においてこ
の新しい状況を更新する。
【0043】本発明の命令キャッシュは「実時間」キャ
ッシュである。従って、キャッシュ・ミスに対して固有
の罰則を持つべきではない。言い換えれば、キャッシュ
・ヒットがあるならば、チップ搭載メモリから他の何ら
かのデータを取り出すように、チップに搭載したキャッ
シュから命令を取り出すバス・サイクルを正確に1回行
う。もしキャッシュ・ミスがあるならば、外部メモリか
ら他の何らかのデータを取り出すようにまさに「通常」
の命令取り出しとして挙動する。
【0044】更に、「実時間」命令キャッシュは、使用
者が時間クリティカル(timecritical)従
って「置換不能」なものとして、幾つかのコード領域を
宣言することを可能にする。4つの命令が命令の組に加
えられ、使用者がこのキャッシュのセクタをロックし、
ソフトウエアの制御下でキャッシュの内容をフラッシュ
することを可能にする。
【0045】キャッシュ動作モード キャッシュ動作モードの範疇および個々のセクタ・モー
ドを以下の項に説明する。基本的に2つの主モード、キ
ャッシュ・モードおよび標準(以後PRAMと呼ぶ)モ
ードが存在する。これらのモードは、両者ともグローバ
ル、すなわち内部プログラム・メモリに全体として影響
を与える。キャッシュ・モードでは、各独立したセクタ
は2つの動作モード、セクタ非ロック・モードまたはセ
クタ・ロック・モード、のうち1つにすることができ
る。PRAMモードでは、全体としてPRAMは2つの
モード、PRAM使用可能またはPRAM使用不能、の
うち1つにすることができる。キャッシュ・モードとP
RAMモードの両方で、キャッシュ全体をソフトウエア
命令によってフラッシュすることができる。
【0046】これらの動作モードは、以下のように要約
することができる。 キャッシュ・モード(グローバル): ‐セクタ非ロック・モード(各セクタ当たり) ‐セクタロック・モード(各セクタ当たり) ‐キャッシュ・フラッシュ(グローバル) PRAMモード(グローバル): ‐PRAM使用可能(グローバル) ‐PRAM使用不能(グローバル) ‐キャッシュ・フラッシュ(グローバル)
【0047】キャッシュ・モード キャッシュ・モードでは、セクタの記憶領域へのアクセ
スは、命令取り出しによって、または特定の命令によっ
て無条件に(implicitly)行われ、後者はレ
ジスタからプログラム・メモリに、またはプログラム・
メモリからレジスタへの移動を実行する。プログラム・
メモリ空間(キャッシュ内または外部)への、またはこ
れからのDMA参照は、ハードウェアで不可能にされ
る。(disabled)。
【0048】セクタ・ロック解除モード セクタ・ロック解除モード(Sector−Unloc
ked mode)の場合、プログラム・メモリ・セク
タは、通常のキャッシュ・セクタとして構成される。そ
のキャッシュ・セクタからのセクタ置換が可能になる。
キャッシュ制御装置は、キャッシュ制御装置LRUアル
ゴリズムにしたがって、あるキャッシュ・セクタ内に存
在する外部メモリ・セクタを何時置き換えるか決定する
(セクタ・ミス)。
【0049】セクタのロック解除または非ロックは4つ
の異なった状況で発生する可能性がある。第1の状況
は、使用者がパンロック(PUNLOCK)命令を使用
して特定のキャッシュ・セクタをロック解除する(un
lock)場合である。第2の状況は、使用者がPFR
EE命令を使用して内部プログラム・メモリ内の全ての
キャッシュ・セクタをロック解除する場合である。第3
の状況は、使用者がPFLUSH命令を使用して、キャ
ッシュ・フラッシュの一部として内部プログラム・メモ
リ内の全てのキャッシュ・セクタをロック解除する場合
である。第4の状況は、ハードウェア・リセットが全て
のキャッシュ・セクタをロック解除する場合である。
【0050】ロックされたセクタは、PUNLOCKと
呼ばれる特別の命令によってロック解除することができ
る。そのオペランドは、有効メモリ・アドレスである。
このアドレスを有するメモリ・セクタは(もしすでにキ
ャッシュ・セクタ内に存在しないならば)キャッシュ・
セクタに割り当てられ、このキャッシュ・セクタはロッ
ク解除される。このシーケンスの副産物として、ロック
解除されたキャッシュ・セクタはLRUスタックの最上
部に(すなわち最も最近使用されたものとして)置かれ
る。
【0051】PUNLOCKによってロックされたキャ
ッシュ・セクタをロック解除しても、その内容、そのタ
ッグ、またはその妥当ビットには影響を与えない。もし
指定された有効アドレスが現在のキャッシュ・セクタの
うちの1つに属さないならば、このアドレスを有するメ
モリ・セクタはこのキャッシュ内に割り当てられ、これ
によって最も過去に使用されたキャッシュ・セクタをフ
ラッシュする。このロック解除されたキャッシュ・セク
タは、LRUスタックの最上部に置かれ、LRUアルゴ
リズムによって置換することが可能になる。
【0052】全てのロックされたセクタは、命令PFR
EEを使用して同時にロック解除することができる。こ
の命令は、使用者にロック機構のソフトウエアによるリ
セットを提供する。PFREEによって、セクタのロッ
クを解除することは、セクタの内容(セクタ記憶領域に
すでに取り出された命令)、妥当ビット、タッグ・レジ
スタ内容またはLRUスタック状態(status)に
影響しない。
【0053】これらのロックされたセクタは、またPF
LUSH命令によって、全キャッシュ・フラッシュの一
部としてロック解除することもできる。PFLUSH命
令によってセクタのロックを解除することは、全てのセ
クタの妥当ビットをクリアしLRUスタックおよびタッ
グ・レジスタをこれらセクタのデフォールト値に設定す
る。
【0054】セクタ・ロック・モード このモードは、キャッシュ・メモリにおいて幾つかの時
間クリティカルなコード部分をラッチすることに便利で
ある。このセクタ・ロック・モードは使用者によって設
定され、現在キャッシュ・セクタ内に存在するメモリ・
セクタをロックする。キャッシュ・セクタがこのセクタ
・ロック・モードにある場合、もしこのセクタが最も過
去に使用されたセクタ(LRUスタックの底にある)で
あったとしても、セクタ置換装置(SRU)はこのセク
タを置き換えることができない。
【0055】このモードでは現在のメモリ・セクタに収
納されたアドレスから新しい命令を取り出すことが可能
であり、この命令は(ワード・ミスの期間)記憶領域を
更新するか、または(キャッシュ・ヒットの期間)セク
タ領域から直接読み取られる。一方、SRUによって現
在のセクタを置き換えることは不可能になる。セクタが
ロックされた場合、そのLRU状態は更新され続ける
が、置き換えるべきキャッシュ・セクタを選択した場
合、このセクタは無視され新しいメモリ・セクタに対す
る宛先とはならない。
【0056】PLOCKと呼ばれる命令によってセクタ
はロックすることができる。そのオペランドは、有効な
メモリ・アドレスである。このアドレスが属するキャッ
シュ・セクタは(もしそのようなセクタがあれば)ロッ
クされる。もし指定された有効アドレスが現在のキャッ
シュ・セクタのうち1つに属していないならば、このア
ドレスを収納するメモリ・セクタはこのキャッシュに割
り当てられ、これによって最も過去に使用されたキャッ
シュ・セクタを置き換える。このキャッシュ・セクタ
は、ロックされるが空である。このシーケンスの副産物
として、このロックされたキャッシュ・セクタはLRU
スタックの最上部(すなわち最も最近使用されたものと
して)に置かれる。
【0057】セクタをロックしても、このキャッシュ・
セクタの内容(すでにこのキャッシュ・セクタの記憶領
域に取り出された命令)、その特定のセクタの妥当ビッ
トまたはタッグ・レジスタの内容に影響しない。
【0058】PRAMモード PRAMモードでは、内部プログラムRAM10は、O
MRレジスタ40にしたがって使用可能または使用不能
のいづれかにされている。プログラム・メモリへの/か
らのDMA参照は使用可能にされ、したがってMOVE
M命令も同様である。
【0059】しかし、PRAMモードで内部PRAMに
ワードを書き込む場合、対応する妥当ビットが設定さ
れ、その結果、使用者がキャッシュモードに切り替える
場合、この使用者はこのワードが初期化されしたがって
妥当であることを知る。
【0060】PRAMモードでは、どのような場合でも
タッグ・レジスタは更新されない。同様に、このモード
ではセクタ置換装置は更新されない。妥当ビットは試験
されずヒット/ミス信号は無視される。PRAMモード
では、PFLUSHおよびPFREE命令を発行するこ
とができる。
【0061】キャッシュ使用のシナリオ この項では、実時間システムでのキャッシュ使用の可能
なシナリオが実際に説明される。
【0062】1.モード・ビットによって判定されるよ
うにPRAMモードでは、チップはハードウェア・リセ
ットを終了(exit)する。
【0063】2.「ヒット・オン・ファースト・アクセ
ス」(高速割り込みベクトルに対して特に重要である)
を実現するために、依然としてPRAMモードにありD
MAを使用する間、使用者は割り込みベクトルおよび幾
つかの重要なルーチンをPRAMアドレスの下部に転送
する。これらのDMA転送は対応する妥当ビットを設定
する。このコードが200PRAMワードを使用し、し
たがって2個のキャッシュ・セクタ内に収納されると仮
定する。これらのルーチンは、時間クリティカルなの
で、使用者はこれらのセクタをロックすることを希望す
る。可能性のあるコードは、以下のようにロックされ
る。 ラベル アドレス コード $00000000 リセット・ベクトル ・・・ $0000003e ホストb書き込みpメモリ・ベクトル 使用者コード $00000040 使用者に重要なルーチン ・・・ $0000007f セクタ1の終了 $00000080 セクタ2の開始 ・・・ $0000000c8 使用者に重要なルーチンの終了
【0064】3.キャッシュ・モードに入るためには、
使用者はOMRビット4を設定する。キャッシュ内のア
ドレス0ないし200をロックするためには、使用者は
対応するメモリ・セクタに属する有効アドレスによって
PLOCK命令を二回発行する。3回のサイクルは、P
LOCK命令からOMRビット4を交替すること(ch
ange off)を分離することに注意してくださ
い。このコードは、以下のようにロックされる。 ORI #$10, OMR :OMR内のCEビット
をセットせよ NOP :パイプライン遅延 NOP :パイプライン遅延 NOP :パイプライン遅延 PLOCK #0 :アドレス0を収納する
セクタをロックせよ MOVE #128, R0 :有効アドレスをr0に
ロードせよ NOP :移動用パイプライン遅
延 PLOCK R0 :アドレス128を収納
するセクタをロックせよ このコードは、重要なセクタ内には存在しないが、むし
ろ初期化コード内に存在することに注意すること。PL
OCKはキャッシュ・モードで最初に取り出される命令
である。
【0065】4.ここでキャッシュは、2個のセクタを
ロックし、6個のセクタをロック解除のモードで通常の
動作の準備が整っている。ロックされたセクタ(アドレ
ス0ないし200)のうちの1つから取り出すことは、
これらのセクタに対するコードがPRAMモードの期間
このキャッシュ内に持って来られるのでミスを生じない
ことに注意すること。
【0066】5.使用者は他のセクタを動的にロックす
ることができる。このシーケンスは前項に示したものと
同様である。しかし、動的にロックされたキャッシュ・
セクタは妥当ビットを収納する必要はなく、したがっ
て、新しいワードが取り出される度にワード・ミスによ
って満たされる。
【0067】6.時間クリティカル・ルーチンをセクタ
の境界上に置くことが賢明である可能性がある。このこ
とは、キャッシュ・セクタの使用を最適にする。このコ
ンパイラは確かにこの制約に従うことができる。
【0068】7.例えば、アドレス127ないし255
を収納するキャッシュ・セクタをロック解除するために
は、使用者は皆以下のようにしなければならない。 MOVE #140, R0 :有効アドレスをr0に
ロードせよ NOP :パイプライン遅延 PUNLOCK R0 :アドレス128を収納
するセクタをロック解除せよ アドレス140は、128ないし255の範囲に属して
いるので例として使用されることに留意すること。
【0069】8.全てのロックされたキャッシュ・セク
タをロック解除するためには、コードは以下の通りであ
る。 PFREE この命令は、使用者がどのセクタまたはアドレスが前に
ロックされたか忘れてしまった場合、またはロック機構
に対するソフトウエア・リセットとして便利である。
【0070】9.ブートストラップ・プログラムを実行
するために、使用者はPRAMモードに切り替え、パイ
プライン遅延に必要な3個のNOPを実行し、PFLU
SHを行なった後にのみブートストラップ・モードに切
り替える。 ANDI#$ef, OMR :OMR内のCEビッ
トをクリアせよ NOP :パイプライン遅延 NOP :パイプライン遅延 NOP :パイプライン遅延 PFLUSH MOVEI#$04, OMR :ポートAからのブー
トストラップ NOP :パイプライン遅延 JMP#0 :ブートストラップR
OMへ飛び越せ PFLUSHは、PRAMモードで取り出され実行され
ることに留意すること。キャッシュ・モードで取り出さ
れたがPRAMモードで実行された場合、1サイクル早
く出現する可能性がある。
【0071】
【発明の効果】このように、本発明によれば、シリコン
領域を浪費することなくDMAおよびキャッシュ機能の
双方が可能なオンチップ・メモリが提供される。
【図面の簡単な説明】
【図1】命令キャッシュを有するチップのブロック図で
ある。
【図2】命令キャッシュ制御装置の概念を示すブロック
図である。
【図3】命令キャッシュ制御装置のより詳細なブロック
図である。
【図4】本発明による集積回路チップのアーキテクチャ
を一般化して示すブロック図である。
【図5】図4のDSPコア4におけるOMRレジスタの
構成を示す説明図である。
【符号の説明】
2 チップ 4 処理装置 10 4KバイトRAMメモリ 12 命令キャッシュ制御装置 14 直接メモリ・アクセスDMA制御装置 16 キャッシュ使用可能制御線 22 スイッチ 24 「ヒット/ミス」制御線 26 外部アドレス・スイッチ 40 動作モード・レジスタ 60 タッグ・レジスタ・ファイル(TRF) 62 ヒット/ミス論理回路 64 2方向マルチプレクサ/デマルチプレクサ 66 アレー 67 キャッシュ・フラッシュのリセット線 68 デコード装置 70 デコーダ 72 セクタ置換装置 74 エンコード装置 76 書き込み線 80 ロック機構
フロントページの続き (72)発明者 ゴレン・アブナー イスラエル国47272、ラマト−ハサロン、 ラメツ 4 (72)発明者 メランメッド−コヘン・イャル イスラエル国、エルサレム、ハドバシュ 208/7 (56)参考文献 特開 平3−141445(JP,A) 特開 昭58−205975(JP,A) 特開 平1−255944(JP,A) 特開 平2−90347(JP,A) 特開 昭58−102381(JP,A) 特開 昭63−98749(JP,A) 特開 平3−263144(JP,A) 特開 平1−318131(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 12/00 G06F 13/28

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 データ・バスおよびアドレス・バスによ
    って結合された処理装置とメモリ・セクション; メモリ制御装置が動作可能な第1動作モードである標準
    動作モードとキャッシュ制御装置が動作可能な第2動作
    モードであるキャッシュ・モードとの間で前記メモリを
    切り替えるスイッチ手段;および DMAによって標準動作モードで前記メモリ内にロード
    された情報をキャッシュ・モードで使用可能にする手
    段; を含むことを特徴とする実時間キャッシュ機能を提供す
    る集積回路用チップ。
  2. 【請求項2】 前記キャッシュ制御装置は、前記メモリ
    を所定数のセクタに分割するよう構成され、各セクタ
    は、所定数のワード、各セクタのアドレス・タグを記憶
    するタグ・レジスタを含む連想メモリ・アクセス手段、
    および前記セクタ・アドレスを前記アドレス・バスのア
    ドレスと比較する手段を有することを特徴とする請求項
    1記載のチップ。
  3. 【請求項3】 キャッシュ制御装置は、前記メモリ内に
    妥当ワードが記憶された場合に各ビットがセットされる
    妥当ビット・アレーを具備するメモリ領域と妥当ビット
    が前記アドレス・バスの前記アドレスに存在するかどう
    か判定する手段を有することを特徴とする請求項2記載
    のチップ。
  4. 【請求項4】 セクタのヒット/ミスが発生したかどう
    かおよびワードのヒット/ミスが発生したかどうか判定
    するヒット/ミス判定手段を有することを特徴とする請
    求項2または3記載のチップ。
  5. 【請求項5】 セクタ・ミスが発生した場合セクタを置
    き換えるセクタ置換装置を有することを特徴とする請求
    項4記載のチップ。
  6. 【請求項6】 いづれかのセクタをロックする手段を有
    し、これによって、ミスが発生した場合、前記セクタ置
    換装置による前記セクタの置換を防止することを特徴と
    する請求項5記載のチップ。
  7. 【請求項7】 前記メモリが前記標準動作モードでロー
    ドされる場合、前記妥当ビット・アレーをセットする手
    段を含み、これによって、前記モードがキャッシュ・モ
    ードに変化する場合、前記データが妥当データとしてメ
    モリ内に残ることを特徴とする請求項3記載のチップ。
  8. 【請求項8】 前記妥当ビット・アレーをリセットして
    単一操作で前記キャッシュをフラッシュするリセット手
    段を有することを特徴とする請求項3記載のチップ。
JP24575892A 1991-08-24 1992-08-21 実時間キャッシュ機能を提供する集積回路用チップ Expired - Lifetime JP3504282B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9118312.9 1991-08-24
GB919118312A GB9118312D0 (en) 1991-08-24 1991-08-24 Real time cache implemented by dual purpose on-chip memory

Publications (2)

Publication Number Publication Date
JPH05225061A JPH05225061A (ja) 1993-09-03
JP3504282B2 true JP3504282B2 (ja) 2004-03-08

Family

ID=10700497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24575892A Expired - Lifetime JP3504282B2 (ja) 1991-08-24 1992-08-21 実時間キャッシュ機能を提供する集積回路用チップ

Country Status (6)

Country Link
US (1) US5586293A (ja)
EP (1) EP0529217B1 (ja)
JP (1) JP3504282B2 (ja)
DE (1) DE69210714T2 (ja)
GB (1) GB9118312D0 (ja)
HK (1) HK1000866A1 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3713312B2 (ja) * 1994-09-09 2005-11-09 株式会社ルネサステクノロジ データ処理装置
US5715420A (en) * 1995-02-10 1998-02-03 International Business Machines Corporation Method and system for efficient memory management in a data processing system utilizing a dual mode translation lookaside buffer
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US6101590A (en) 1995-10-10 2000-08-08 Micro Unity Systems Engineering, Inc. Virtual memory system with local and global virtual address translation
US5822755A (en) * 1996-01-25 1998-10-13 International Business Machines Corporation Dual usage memory selectively behaving as a victim cache for L1 cache or as a tag array for L2 cache
US5822764A (en) * 1996-03-04 1998-10-13 Motorola, Inc. Method and circuit for efficiently replacing invalid locked portions of a cache with valid data
US5687131A (en) * 1996-03-22 1997-11-11 Sharp Microelectronics Technology, Inc. Multi-mode cache structure
US5781926A (en) * 1996-05-20 1998-07-14 Integrated Device Technology, Inc. Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of line fill
US5835929A (en) * 1996-05-20 1998-11-10 Integrated Device Technology, Inc. Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of a line fill
US5974506A (en) * 1996-06-28 1999-10-26 Digital Equipment Corporation Enabling mirror, nonmirror and partial mirror cache modes in a dual cache system
US5778432A (en) * 1996-07-01 1998-07-07 Motorola, Inc. Method and apparatus for performing different cache replacement algorithms for flush and non-flush operations in response to a cache flush control bit register
US6246396B1 (en) * 1997-04-30 2001-06-12 Canon Kabushiki Kaisha Cached color conversion method and apparatus
US6678790B1 (en) * 1997-06-09 2004-01-13 Hewlett-Packard Development Company, L.P. Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache
US6321318B1 (en) * 1997-12-31 2001-11-20 Texas Instruments Incorporated User-configurable on-chip program memory system
US6055650A (en) * 1998-04-06 2000-04-25 Advanced Micro Devices, Inc. Processor configured to detect program phase changes and to adapt thereto
JPH11306084A (ja) 1998-04-23 1999-11-05 Fujitsu Ltd 情報処理装置及び記憶媒体
US6157981A (en) * 1998-05-27 2000-12-05 International Business Machines Corporation Real time invariant behavior cache
US6560674B1 (en) * 1998-10-14 2003-05-06 Hitachi, Ltd. Data cache system
EP1111511B1 (en) 1999-12-06 2017-09-27 Texas Instruments France Cache with multiple fill modes
US6397301B1 (en) * 1999-12-29 2002-05-28 Intel Corporation Preventing access to secure area of a cache
US8019943B2 (en) * 2000-01-06 2011-09-13 Super Talent Electronics, Inc. High endurance non-volatile memory devices
AU2001233131A1 (en) * 2000-02-02 2001-08-14 Sony Electronics Inc. System and method for effectively utilizing a cache memory in an electronic device
US6629187B1 (en) * 2000-02-18 2003-09-30 Texas Instruments Incorporated Cache memory controlled by system address properties
US6748492B1 (en) * 2000-08-07 2004-06-08 Broadcom Corporation Deterministic setting of replacement policy in a cache through way selection
US6732234B1 (en) 2000-08-07 2004-05-04 Broadcom Corporation Direct access mode for a cache
US6848024B1 (en) 2000-08-07 2005-01-25 Broadcom Corporation Programmably disabling one or more cache entries
EP1182563B1 (en) * 2000-08-21 2009-09-02 Texas Instruments France Cache with DMA and dirty bits
EP1182564A3 (en) * 2000-08-21 2004-07-28 Texas Instruments France Local memory with indicator bits to support concurrent DMA and CPU access
EP1182561B1 (en) 2000-08-21 2011-10-05 Texas Instruments France Cache with block prefetch and DMA
EP1182565B1 (en) 2000-08-21 2012-09-05 Texas Instruments France Cache and DMA with a global valid bit
EP1182562B1 (en) 2000-08-21 2011-05-11 Texas Instruments France Smartcache with interruptible block prefetch
US6748495B2 (en) 2001-05-15 2004-06-08 Broadcom Corporation Random generator
US6823427B1 (en) * 2001-05-16 2004-11-23 Advanced Micro Devices, Inc. Sectored least-recently-used cache replacement
US7246220B1 (en) * 2001-07-27 2007-07-17 Magnum Semiconductor, Inc. Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state
WO2003042837A1 (fr) * 2001-11-16 2003-05-22 Renesas Technology Corp. Circuit integre semi-conducteur
JP3820999B2 (ja) * 2002-01-25 2006-09-13 ソニー株式会社 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム
US6938126B2 (en) * 2002-04-12 2005-08-30 Intel Corporation Cache-line reuse-buffer
DE10221394A1 (de) * 2002-05-14 2003-12-04 Siemens Ag Verfahren zum Betreiben eines Cache-Speichers
US20040103272A1 (en) * 2002-11-27 2004-05-27 Zimmer Vincent J. Using a processor cache as RAM during platform initialization
JP4713077B2 (ja) * 2003-03-26 2011-06-29 パナソニック株式会社 半導体装置
FR2856814B1 (fr) * 2003-06-25 2005-09-30 St Microelectronics Sa Procede de controle d'une memoire cache, et dispositif de memoire cache correspondant
US7167952B2 (en) * 2003-09-17 2007-01-23 International Business Machines Corporation Method and system for performing a memory-mode write to cache
AT500858B8 (de) * 2004-08-17 2007-02-15 Martin Schoeberl Instruction cache für echtzeitsysteme
US7613870B2 (en) * 2004-11-18 2009-11-03 International Business Machines Corporation Efficient memory usage in systems including volatile and high-density memories
US7376791B2 (en) * 2005-04-06 2008-05-20 Mediatek Inc. Memory access systems and methods for configuring ways as cache or directly addressable memory
US20080201528A1 (en) * 2005-04-06 2008-08-21 Mediatek Inc. Memory access systems for configuring ways as cache or directly addressable memory
US7653785B2 (en) * 2005-06-22 2010-01-26 Lexmark International, Inc. Reconfigurable cache controller utilizing multiple ASIC SRAMS
US8069308B2 (en) 2008-02-13 2011-11-29 Honeywell International Inc. Cache pooling for computing systems
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
US20120072632A1 (en) * 2010-09-17 2012-03-22 Paul Kimelman Deterministic and non-Deterministic Execution in One Processor
US9244832B1 (en) * 2013-03-15 2016-01-26 Emc Corporation Cache learning model
KR102117511B1 (ko) * 2013-07-30 2020-06-02 삼성전자주식회사 프로세서 및 메모리 제어 방법
GB2517453B (en) * 2013-08-20 2017-12-20 Imagination Tech Ltd Improved use of memory resources
KR102219288B1 (ko) * 2013-12-09 2021-02-23 삼성전자 주식회사 캐시 모드 및 메모리 모드 동작을 지원하는 메모리 장치 및 이의 동작 방법
US9767041B2 (en) 2015-05-26 2017-09-19 Intel Corporation Managing sectored cache
US11556477B2 (en) * 2018-06-15 2023-01-17 Arteris, Inc. System and method for configurable cache IP with flushable address range
US11409643B2 (en) 2019-11-06 2022-08-09 Honeywell International Inc Systems and methods for simulating worst-case contention to determine worst-case execution time of applications executed on a processor

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979726A (en) * 1974-04-10 1976-09-07 Honeywell Information Systems, Inc. Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4195341A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Initialization of cache store to assure valid data
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
JPS58102381A (ja) * 1981-12-15 1983-06-17 Nec Corp バツフアメモリ
US4602368A (en) * 1983-04-15 1986-07-22 Honeywell Information Systems Inc. Dual validity bit arrays
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US4788656A (en) * 1984-05-25 1988-11-29 The Johns Hopkins University Cache memory and pre-processor
US5155833A (en) * 1987-05-11 1992-10-13 At&T Bell Laboratories Multi-purpose cache memory selectively addressable either as a boot memory or as a cache memory
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US4977498A (en) * 1988-04-01 1990-12-11 Digital Equipment Corporation Data processing system having a data memory interlock coherency scheme
US5159676A (en) * 1988-12-05 1992-10-27 Micron Technology, Inc. Semi-smart DRAM controller IC to provide a pseudo-cache mode of operation using standard page mode draws
JPH0680499B2 (ja) * 1989-01-13 1994-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムのキャッシュ制御システムおよび方法
JPH0740247B2 (ja) * 1989-06-20 1995-05-01 松下電器産業株式会社 キャッシュメモリ装置
US5297270A (en) * 1989-11-13 1994-03-22 Zenith Data Systems Corporation Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size
JPH061463B2 (ja) * 1990-01-16 1994-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
JPH0748190B2 (ja) * 1990-01-22 1995-05-24 株式会社東芝 キャッシュメモリ内蔵マイクロプロセッサ

Also Published As

Publication number Publication date
DE69210714D1 (de) 1996-06-20
GB9118312D0 (en) 1991-10-09
EP0529217A1 (en) 1993-03-03
US5586293A (en) 1996-12-17
DE69210714T2 (de) 1996-12-12
EP0529217B1 (en) 1996-05-15
HK1000866A1 (en) 1998-05-01
JPH05225061A (ja) 1993-09-03

Similar Documents

Publication Publication Date Title
JP3504282B2 (ja) 実時間キャッシュ機能を提供する集積回路用チップ
EP0734553B1 (en) Split level cache
US8793433B2 (en) Digital data processing apparatus having multi-level register file
US6092159A (en) Implementation of configurable on-chip fast memory using the data cache RAM
US5974508A (en) Cache memory system and method for automatically locking cache entries to prevent selected memory items from being replaced
US6029212A (en) Method of handling arbitrary size message queues in which a message is written into an aligned block of external registers within a plurality of external registers
US5230068A (en) Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence
US5732242A (en) Consistently specifying way destinations through prefetching hints
US6161166A (en) Instruction cache for multithreaded processor
US6606686B1 (en) Unified memory system architecture including cache and directly addressable static random access memory
US6047358A (en) Computer system, cache memory and process for cache entry replacement with selective locking of elements in different ways and groups
US6456891B1 (en) System and method for transparent handling of extended register states
US7539823B2 (en) Multiprocessing apparatus having reduced cache miss occurrences
US7219185B2 (en) Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache
EP1278125A2 (en) Indexing and multiplexing of interleaved cache memory arrays
EP2092429B1 (en) Configurable cache for a microprocessor
JPH08278886A (ja) データ処理システムでの拡張システム管理操作のための方法およびシステム
JPH0583932B2 (ja)
JPH06348595A (ja) キャッシュ装置
WO1996012231A1 (en) A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein
JP2001202287A (ja) 改善されたメモリ管理ユニット及びキャッシュメモリを有するマイクロプロセッサを用いたデータ処理方法
EP0796465A1 (en) Scalar data cache for a vector processor
US6665767B1 (en) Programmer initiated cache block operations
KR101462220B1 (ko) 마이크로프로세서용 구성가능한 캐시
US5574883A (en) Single chip processing unit providing immediate availability of frequently used microcode instruction words

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031210

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071219

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 9