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
Application number
JP2032880A
Other languages
English (en)
Inventor
Tetsuya Fujita
哲也 藤田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2032880A priority Critical patent/JPH03235146A/ja
Publication of JPH03235146A publication Critical patent/JPH03235146A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュ制御方式に関し、特にカーネル/ユ
ーザモードの区別のあるプロセッサと動作するキャッシ
ュ制御方式に関する。
〔従来の技術〕
従来、この種のキャッシュ制御方式は、プロセッサの走
行モードを特に意識せず、−様にキャッシュの登録制御
を行っていた。
〔発明が解決しようとする課題〕
上述した従来のキャッシュ制御方式は、プロセッサの走
行モードによってキャッシュを区別して使用していなか
ったので、カーネルモードとユーザモードとが切り替わ
った時にキャッシュミスが生じて、プログラムの実行性
能が落ちてしまうという欠点がある。例えばUnixで
実行されるプログラムでは、統計的にいって、ユーザプ
ログラム実行時間の30〜40%がカーネルモードで実
行されているといわれる。この場合、ユーザ/カーネル
間のモード切り替えは頻繁で、この切り替え時に与える
性能低下の影響は大きい。
〔課題を解決するための手段〕
本発明のキャッシュ制御方式は、ユーザ/カーネルとい
う異なるプログラム走行モードを持つプロセッサで、プ
ロセッサとメモリサブシステムとの間にあって、前記プ
ロセッサの制御の基に動作するキャッシュメモリに於て
、 命令実行ユニットからのアドレス伝達手段に従いデータ
を出力し、更に前記実行ユニットからの走行モード伝達
手段がカーネルモードの時にのみヒツト/ミスヒツトを
検出するカーネルキャッシュ部と、 前記命令実行ユニットからのアドレス伝達手段に従いデ
ータを出力し、更に前記命令実行ユニットからの走行モ
ード伝達手段がユーザモードの時にのみヒツト/ミスヒ
ツトを検出するユーザキャッシュ部と、 前記カーネルキャッシュ部とユーザキャッシュ部のデー
タ出力を入力とし、前記命令実行ユニットからの走行モ
ード伝達手段のモードに従い二者選択を行い、そのデー
タを前記命令実行ユニットに出力する選択手段と、 前記カーネルキャッシュ部とユーザキャッシュ部からの
ヒツト/ミスヒツトの結果に従い、どちらか一方がミス
ヒツトを検出したならば、前記メモリサブシステムに対
して、前記命令実行ユニットからのアドレス伝達手段を
基にメモリアクセスを起動するとともに、前記命令実行
ユニットにメモリアクセス中であることを伝え、更に、
前記メモリアクセスのリプライデータを前記カーネルキ
ャッシュ部、ユーザキャッシュ部、及び命令実行ユニッ
トに出力するメモリアクセス制御ユニットとを具備する
ことを特徴とする。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。1は命
令実行ユニット、2は命令実行ユニットからキャッシュ
部4,5をアクセスするために出力されるアドレス伝達
手段、3は走行モードがカーネルモードかユーザモード
かを知らしめる走行モード伝達手段、4はカーネルキャ
ッシュ部、5はユーザキャッシュ部分表す。カーネルキ
ャッシュ部4およびユーザキャッシュ部5はアドレス伝
達手段2のアドレスに対応するキャッシュエントリを、
カーネルキャッシュデータ出力6及びユーザキャッシュ
データ出カフにそれぞれ出力する。
8は選択手段で、走行モード伝達手段3がカーネルモー
ドであればカーネルキャッシュデータ出力6側を、ユー
ザモードであればユーザキャッシュデータ出カフ側を選
択して、キャッシュデータ出力9で命令実行ユニット1
に出力する。
カーネルキャッシュ部4は、走行モード伝達手段3がカ
ーネルモードでありかつミスヒツトを検出した時に、カ
ーネルミスヒツト伝達手段10でメモリアクセス制御ユ
ニット12にミスヒツトを報告する。一方ユーザキャッ
シュ部5は、走行モード伝達手段3がユーザモードであ
りかつミスヒツトを検出した時に、ユーザミスヒツト伝
達手段11でメモリアクセス制御ユニット12にミスヒ
ツトを報告する。
メモリアクセス制御ユニット12は、カーネルミスヒツ
ト伝達手段10またはユーザミスヒツト伝達手段11の
いずれかがミスヒツトであると、■まず、ミスヒツト処
理中伝達手段14で命令ユニット1にミスヒツト処理中
であることを伝え、■更に、メモリサブシステムに対し
てメモリアクセス起動手段13でメモリアクセスサイク
ルを起動する。命令実行ユニット1は、ミスヒツト処理
中伝達手段14でミスヒツトが起きた事を知って、キャ
ッシュデータ出力9をミスヒツトデータと判断し、メモ
リアクセスのリプライが返って来るまで内部の動作をス
トールさせる。
■メモリサブシステムからリプライが返って来ると、メ
モリアクセス制御ユニット12は、データをメモリリプ
ライデータ伝達手段15でキャッシュ及び命令実行ユニ
ット1に出力する。
■更に、ミスヒツト処理中伝達手段14でミスヒツト処
理の終了を命令実行ユニット1に伝え、命令実行ユニッ
ト1はストールを解除する。
■同時にカーネルキャッシュ部4およびユーザキャッシ
ュ部5は、走行モード伝達手段3の走行モードに従って
、メモリリプライデータ伝達手段15のデータをキャッ
シュに登録する。
走行モードは命令実行ユニット1内で管理されていて、
例外7割り込みが発生したり、モード切り替え用の特別
なソフトウェア命令が実行されたりすると、カーネル/
ユーザが切り替わる。
この様に、カーネルモード時にアクセスするデータはカ
ーネルキャッシュ部4から読みだされ登録される。同様
にユーザモード時にアクセスするデータはユーザキャッ
シュ部5から読みだされ登録される。この例では、キャ
ッシュリードについて述べたが、ライト動作においても
同じように走行モード伝達手段3の走行モードを参照し
てカーネルキャッシュ部4またはユーザキャッシュ部5
のキャッシュが選択的にアクセスされる。更に、この方
式はオペランドキャッシュ、命令キャッシュ両方に応用
が可能である。
〔発明の効果〕
以上説明したように本発明は、カーネルモード時にアク
セスされるデータとユーザモード時にアクセスされるデ
ータとを別個のキャッシュに登録することにより、走行
モードが切り替わった時にキャッシュがミスヒツトする
確率を小さくすることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図である。 1・−・命令実行ユニット、2・・・アドレス伝達手段
、3・・・走行モード伝達手段、4・・・カーネルキャ
ッシュ部、5・・・ユーザキャッシュ部、6・・・カー
ネルキャッシュデータ出力、7・・・ユーザキャッシュ
データ出力、8・・・選択手段、9・・・キャッシュデ
ータ出力、10・・・カーネルミスヒツト伝達手段、1
1・・・ユーザミスヒツト伝達手段、12・・・メモリ
アクセス制御ユニット、13・・・メモリアクセス起動
手段、14・・・ミスヒツト処理中伝達手段、15・・
・メモリリプライデータ伝達手段。

Claims (1)

  1. 【特許請求の範囲】 ユーザ/カーネルという異なるプログラム走行モードを
    持つプロセッサで、プロセッサとメモリサブシステムと
    の間にあって、前記プロセッサの制御の基に動作するキ
    ャッシュメモリに於て、命令実行ユニットからのアドレ
    ス伝達手段に従いデータを出力し、更に前記実行ユニッ
    トからの走行モード伝達手段がカーネルモードの時にの
    みヒット/ミスヒットを検出するカーネルキャッシュ部
    と、 前記命令実行ユニットからのアドレス伝達手段に従いデ
    ータを出力し、更に前記命令実行ユニットからの走行モ
    ード伝達手段がユーザモードの時にのみヒット/ミスヒ
    ットを検出するユーザキャッシュ部と、 前記カーネルキャッシュ部とユーザキャッシュ部のデー
    タ出力を入力とし、前記命令実行ユニットからの走行モ
    ード伝達手段のモードに従い二者選択を行い、そのデー
    タを前記命令実行ユニットに出力する選択手段と、 前記カーネルキャッシュ部とユーザキャッシュ部からの
    ヒット/ミスヒットの結果に従い、どちらか一方がミス
    ヒットを検出したならば、前記メモリサブシステムに対
    して、前記命令実行ユニットからのアドレス伝達手段を
    基にメモリアクセスを起動するとともに、前記命令実行
    ユニットにメモリアクセス中であることを伝え、更に、
    前記メモリアクセスのリプライデータを前記カーネルキ
    ャッシュ部、ユーザキャッシュ部、及び命令実行ユニッ
    トに出力するメモリアクセス制御ユニットとを具備する
    ことを特徴とするキャッシュ制御方式。
JP2032880A 1990-02-13 1990-02-13 キャッシュ制御方式 Pending JPH03235146A (ja)

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)

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) 中央処理装置