JPH03235146A - キャッシュ制御方式 - Google Patents
キャッシュ制御方式Info
- Publication number
- JPH03235146A JPH03235146A JP2032880A JP3288090A JPH03235146A JP H03235146 A JPH03235146 A JP H03235146A JP 2032880 A JP2032880 A JP 2032880A JP 3288090 A JP3288090 A JP 3288090A JP H03235146 A JPH03235146 A JP H03235146A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- kernel
- mode
- user
- execution unit
- 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
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はキャッシュ制御方式に関し、特にカーネル/ユ
ーザモードの区別のあるプロセッサと動作するキャッシ
ュ制御方式に関する。
ーザモードの区別のあるプロセッサと動作するキャッシ
ュ制御方式に関する。
従来、この種のキャッシュ制御方式は、プロセッサの走
行モードを特に意識せず、−様にキャッシュの登録制御
を行っていた。
行モードを特に意識せず、−様にキャッシュの登録制御
を行っていた。
上述した従来のキャッシュ制御方式は、プロセッサの走
行モードによってキャッシュを区別して使用していなか
ったので、カーネルモードとユーザモードとが切り替わ
った時にキャッシュミスが生じて、プログラムの実行性
能が落ちてしまうという欠点がある。例えばUnixで
実行されるプログラムでは、統計的にいって、ユーザプ
ログラム実行時間の30〜40%がカーネルモードで実
行されているといわれる。この場合、ユーザ/カーネル
間のモード切り替えは頻繁で、この切り替え時に与える
性能低下の影響は大きい。
行モードによってキャッシュを区別して使用していなか
ったので、カーネルモードとユーザモードとが切り替わ
った時にキャッシュミスが生じて、プログラムの実行性
能が落ちてしまうという欠点がある。例えばUnixで
実行されるプログラムでは、統計的にいって、ユーザプ
ログラム実行時間の30〜40%がカーネルモードで実
行されているといわれる。この場合、ユーザ/カーネル
間のモード切り替えは頻繁で、この切り替え時に与える
性能低下の影響は大きい。
本発明のキャッシュ制御方式は、ユーザ/カーネルとい
う異なるプログラム走行モードを持つプロセッサで、プ
ロセッサとメモリサブシステムとの間にあって、前記プ
ロセッサの制御の基に動作するキャッシュメモリに於て
、 命令実行ユニットからのアドレス伝達手段に従いデータ
を出力し、更に前記実行ユニットからの走行モード伝達
手段がカーネルモードの時にのみヒツト/ミスヒツトを
検出するカーネルキャッシュ部と、 前記命令実行ユニットからのアドレス伝達手段に従いデ
ータを出力し、更に前記命令実行ユニットからの走行モ
ード伝達手段がユーザモードの時にのみヒツト/ミスヒ
ツトを検出するユーザキャッシュ部と、 前記カーネルキャッシュ部とユーザキャッシュ部のデー
タ出力を入力とし、前記命令実行ユニットからの走行モ
ード伝達手段のモードに従い二者選択を行い、そのデー
タを前記命令実行ユニットに出力する選択手段と、 前記カーネルキャッシュ部とユーザキャッシュ部からの
ヒツト/ミスヒツトの結果に従い、どちらか一方がミス
ヒツトを検出したならば、前記メモリサブシステムに対
して、前記命令実行ユニットからのアドレス伝達手段を
基にメモリアクセスを起動するとともに、前記命令実行
ユニットにメモリアクセス中であることを伝え、更に、
前記メモリアクセスのリプライデータを前記カーネルキ
ャッシュ部、ユーザキャッシュ部、及び命令実行ユニッ
トに出力するメモリアクセス制御ユニットとを具備する
ことを特徴とする。
う異なるプログラム走行モードを持つプロセッサで、プ
ロセッサとメモリサブシステムとの間にあって、前記プ
ロセッサの制御の基に動作するキャッシュメモリに於て
、 命令実行ユニットからのアドレス伝達手段に従いデータ
を出力し、更に前記実行ユニットからの走行モード伝達
手段がカーネルモードの時にのみヒツト/ミスヒツトを
検出するカーネルキャッシュ部と、 前記命令実行ユニットからのアドレス伝達手段に従いデ
ータを出力し、更に前記命令実行ユニットからの走行モ
ード伝達手段がユーザモードの時にのみヒツト/ミスヒ
ツトを検出するユーザキャッシュ部と、 前記カーネルキャッシュ部とユーザキャッシュ部のデー
タ出力を入力とし、前記命令実行ユニットからの走行モ
ード伝達手段のモードに従い二者選択を行い、そのデー
タを前記命令実行ユニットに出力する選択手段と、 前記カーネルキャッシュ部とユーザキャッシュ部からの
ヒツト/ミスヒツトの結果に従い、どちらか一方がミス
ヒツトを検出したならば、前記メモリサブシステムに対
して、前記命令実行ユニットからのアドレス伝達手段を
基にメモリアクセスを起動するとともに、前記命令実行
ユニットにメモリアクセス中であることを伝え、更に、
前記メモリアクセスのリプライデータを前記カーネルキ
ャッシュ部、ユーザキャッシュ部、及び命令実行ユニッ
トに出力するメモリアクセス制御ユニットとを具備する
ことを特徴とする。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。1は命
令実行ユニット、2は命令実行ユニットからキャッシュ
部4,5をアクセスするために出力されるアドレス伝達
手段、3は走行モードがカーネルモードかユーザモード
かを知らしめる走行モード伝達手段、4はカーネルキャ
ッシュ部、5はユーザキャッシュ部分表す。カーネルキ
ャッシュ部4およびユーザキャッシュ部5はアドレス伝
達手段2のアドレスに対応するキャッシュエントリを、
カーネルキャッシュデータ出力6及びユーザキャッシュ
データ出カフにそれぞれ出力する。
令実行ユニット、2は命令実行ユニットからキャッシュ
部4,5をアクセスするために出力されるアドレス伝達
手段、3は走行モードがカーネルモードかユーザモード
かを知らしめる走行モード伝達手段、4はカーネルキャ
ッシュ部、5はユーザキャッシュ部分表す。カーネルキ
ャッシュ部4およびユーザキャッシュ部5はアドレス伝
達手段2のアドレスに対応するキャッシュエントリを、
カーネルキャッシュデータ出力6及びユーザキャッシュ
データ出カフにそれぞれ出力する。
8は選択手段で、走行モード伝達手段3がカーネルモー
ドであればカーネルキャッシュデータ出力6側を、ユー
ザモードであればユーザキャッシュデータ出カフ側を選
択して、キャッシュデータ出力9で命令実行ユニット1
に出力する。
ドであればカーネルキャッシュデータ出力6側を、ユー
ザモードであればユーザキャッシュデータ出カフ側を選
択して、キャッシュデータ出力9で命令実行ユニット1
に出力する。
カーネルキャッシュ部4は、走行モード伝達手段3がカ
ーネルモードでありかつミスヒツトを検出した時に、カ
ーネルミスヒツト伝達手段10でメモリアクセス制御ユ
ニット12にミスヒツトを報告する。一方ユーザキャッ
シュ部5は、走行モード伝達手段3がユーザモードであ
りかつミスヒツトを検出した時に、ユーザミスヒツト伝
達手段11でメモリアクセス制御ユニット12にミスヒ
ツトを報告する。
ーネルモードでありかつミスヒツトを検出した時に、カ
ーネルミスヒツト伝達手段10でメモリアクセス制御ユ
ニット12にミスヒツトを報告する。一方ユーザキャッ
シュ部5は、走行モード伝達手段3がユーザモードであ
りかつミスヒツトを検出した時に、ユーザミスヒツト伝
達手段11でメモリアクセス制御ユニット12にミスヒ
ツトを報告する。
メモリアクセス制御ユニット12は、カーネルミスヒツ
ト伝達手段10またはユーザミスヒツト伝達手段11の
いずれかがミスヒツトであると、■まず、ミスヒツト処
理中伝達手段14で命令ユニット1にミスヒツト処理中
であることを伝え、■更に、メモリサブシステムに対し
てメモリアクセス起動手段13でメモリアクセスサイク
ルを起動する。命令実行ユニット1は、ミスヒツト処理
中伝達手段14でミスヒツトが起きた事を知って、キャ
ッシュデータ出力9をミスヒツトデータと判断し、メモ
リアクセスのリプライが返って来るまで内部の動作をス
トールさせる。
ト伝達手段10またはユーザミスヒツト伝達手段11の
いずれかがミスヒツトであると、■まず、ミスヒツト処
理中伝達手段14で命令ユニット1にミスヒツト処理中
であることを伝え、■更に、メモリサブシステムに対し
てメモリアクセス起動手段13でメモリアクセスサイク
ルを起動する。命令実行ユニット1は、ミスヒツト処理
中伝達手段14でミスヒツトが起きた事を知って、キャ
ッシュデータ出力9をミスヒツトデータと判断し、メモ
リアクセスのリプライが返って来るまで内部の動作をス
トールさせる。
■メモリサブシステムからリプライが返って来ると、メ
モリアクセス制御ユニット12は、データをメモリリプ
ライデータ伝達手段15でキャッシュ及び命令実行ユニ
ット1に出力する。
モリアクセス制御ユニット12は、データをメモリリプ
ライデータ伝達手段15でキャッシュ及び命令実行ユニ
ット1に出力する。
■更に、ミスヒツト処理中伝達手段14でミスヒツト処
理の終了を命令実行ユニット1に伝え、命令実行ユニッ
ト1はストールを解除する。
理の終了を命令実行ユニット1に伝え、命令実行ユニッ
ト1はストールを解除する。
■同時にカーネルキャッシュ部4およびユーザキャッシ
ュ部5は、走行モード伝達手段3の走行モードに従って
、メモリリプライデータ伝達手段15のデータをキャッ
シュに登録する。
ュ部5は、走行モード伝達手段3の走行モードに従って
、メモリリプライデータ伝達手段15のデータをキャッ
シュに登録する。
走行モードは命令実行ユニット1内で管理されていて、
例外7割り込みが発生したり、モード切り替え用の特別
なソフトウェア命令が実行されたりすると、カーネル/
ユーザが切り替わる。
例外7割り込みが発生したり、モード切り替え用の特別
なソフトウェア命令が実行されたりすると、カーネル/
ユーザが切り替わる。
この様に、カーネルモード時にアクセスするデータはカ
ーネルキャッシュ部4から読みだされ登録される。同様
にユーザモード時にアクセスするデータはユーザキャッ
シュ部5から読みだされ登録される。この例では、キャ
ッシュリードについて述べたが、ライト動作においても
同じように走行モード伝達手段3の走行モードを参照し
てカーネルキャッシュ部4またはユーザキャッシュ部5
のキャッシュが選択的にアクセスされる。更に、この方
式はオペランドキャッシュ、命令キャッシュ両方に応用
が可能である。
ーネルキャッシュ部4から読みだされ登録される。同様
にユーザモード時にアクセスするデータはユーザキャッ
シュ部5から読みだされ登録される。この例では、キャ
ッシュリードについて述べたが、ライト動作においても
同じように走行モード伝達手段3の走行モードを参照し
てカーネルキャッシュ部4またはユーザキャッシュ部5
のキャッシュが選択的にアクセスされる。更に、この方
式はオペランドキャッシュ、命令キャッシュ両方に応用
が可能である。
以上説明したように本発明は、カーネルモード時にアク
セスされるデータとユーザモード時にアクセスされるデ
ータとを別個のキャッシュに登録することにより、走行
モードが切り替わった時にキャッシュがミスヒツトする
確率を小さくすることができる。
セスされるデータとユーザモード時にアクセスされるデ
ータとを別個のキャッシュに登録することにより、走行
モードが切り替わった時にキャッシュがミスヒツトする
確率を小さくすることができる。
第1図は本発明の一実施例のブロック図である。
1・−・命令実行ユニット、2・・・アドレス伝達手段
、3・・・走行モード伝達手段、4・・・カーネルキャ
ッシュ部、5・・・ユーザキャッシュ部、6・・・カー
ネルキャッシュデータ出力、7・・・ユーザキャッシュ
データ出力、8・・・選択手段、9・・・キャッシュデ
ータ出力、10・・・カーネルミスヒツト伝達手段、1
1・・・ユーザミスヒツト伝達手段、12・・・メモリ
アクセス制御ユニット、13・・・メモリアクセス起動
手段、14・・・ミスヒツト処理中伝達手段、15・・
・メモリリプライデータ伝達手段。
、3・・・走行モード伝達手段、4・・・カーネルキャ
ッシュ部、5・・・ユーザキャッシュ部、6・・・カー
ネルキャッシュデータ出力、7・・・ユーザキャッシュ
データ出力、8・・・選択手段、9・・・キャッシュデ
ータ出力、10・・・カーネルミスヒツト伝達手段、1
1・・・ユーザミスヒツト伝達手段、12・・・メモリ
アクセス制御ユニット、13・・・メモリアクセス起動
手段、14・・・ミスヒツト処理中伝達手段、15・・
・メモリリプライデータ伝達手段。
Claims (1)
- 【特許請求の範囲】 ユーザ/カーネルという異なるプログラム走行モードを
持つプロセッサで、プロセッサとメモリサブシステムと
の間にあって、前記プロセッサの制御の基に動作するキ
ャッシュメモリに於て、命令実行ユニットからのアドレ
ス伝達手段に従いデータを出力し、更に前記実行ユニッ
トからの走行モード伝達手段がカーネルモードの時にの
みヒット/ミスヒットを検出するカーネルキャッシュ部
と、 前記命令実行ユニットからのアドレス伝達手段に従いデ
ータを出力し、更に前記命令実行ユニットからの走行モ
ード伝達手段がユーザモードの時にのみヒット/ミスヒ
ットを検出するユーザキャッシュ部と、 前記カーネルキャッシュ部とユーザキャッシュ部のデー
タ出力を入力とし、前記命令実行ユニットからの走行モ
ード伝達手段のモードに従い二者選択を行い、そのデー
タを前記命令実行ユニットに出力する選択手段と、 前記カーネルキャッシュ部とユーザキャッシュ部からの
ヒット/ミスヒットの結果に従い、どちらか一方がミス
ヒットを検出したならば、前記メモリサブシステムに対
して、前記命令実行ユニットからのアドレス伝達手段を
基にメモリアクセスを起動するとともに、前記命令実行
ユニットにメモリアクセス中であることを伝え、更に、
前記メモリアクセスのリプライデータを前記カーネルキ
ャッシュ部、ユーザキャッシュ部、及び命令実行ユニッ
トに出力するメモリアクセス制御ユニットとを具備する
ことを特徴とするキャッシュ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2032880A JPH03235146A (ja) | 1990-02-13 | 1990-02-13 | キャッシュ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2032880A JPH03235146A (ja) | 1990-02-13 | 1990-02-13 | キャッシュ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03235146A true JPH03235146A (ja) | 1991-10-21 |
Family
ID=12371192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2032880A Pending JPH03235146A (ja) | 1990-02-13 | 1990-02-13 | キャッシュ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03235146A (ja) |
-
1990
- 1990-02-13 JP JP2032880A patent/JPH03235146A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lupon et al. | A dynamically adaptable hardware transactional memory | |
US5359723A (en) | Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only | |
US7865675B2 (en) | Controlling cleaning of data values within a hardware accelerator | |
JP4057114B2 (ja) | キャッシュを有するデータ処理システムおよびそのための方法 | |
US5715428A (en) | Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system | |
US6810466B2 (en) | Microprocessor and method for performing selective prefetch based on bus activity level | |
US7296137B2 (en) | Memory management circuitry translation information retrieval during debugging | |
US8321634B2 (en) | System and method for performing memory operations in a computing system | |
US7634642B2 (en) | Mechanism to save and restore cache and translation trace for fast context switch | |
US6138208A (en) | Multiple level cache memory with overlapped L1 and L2 memory access | |
EP0915424A2 (en) | Cache memory system with a cache update instruction | |
JP2005018772A (ja) | 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム | |
Chiou et al. | StarT-NG: Delivering seamless parallel computing | |
JPH04242848A (ja) | 走行モード別キャッシュメモリ制御方式 | |
US5420994A (en) | Method for reading a multiple byte data element in a memory system with at least one cache and a main memory | |
JPH03189845A (ja) | 階層メモリ・システムおよびキヤツシユ・メモリ・サブシステム | |
JPH03235146A (ja) | キャッシュ制御方式 | |
US6996683B2 (en) | Cache coherency in a multi-processor system | |
JPH0469749A (ja) | キャッシュ制御方式 | |
JP2780552B2 (ja) | キャッシュ・メモリ内蔵型マイクロプロセッサ | |
US20020078306A1 (en) | Method and apparatus for improving system performance in multiprocessor systems | |
JP3039391B2 (ja) | メモリシステム | |
JP3735373B2 (ja) | マイクロコンピュータ | |
JP2694076B2 (ja) | 記憶部制御装置 | |
JPH0628253A (ja) | 中央処理装置 |