JPS6353661A - キヤツシユ制御方式 - Google Patents

キヤツシユ制御方式

Info

Publication number
JPS6353661A
JPS6353661A JP61196550A JP19655086A JPS6353661A JP S6353661 A JPS6353661 A JP S6353661A JP 61196550 A JP61196550 A JP 61196550A JP 19655086 A JP19655086 A JP 19655086A JP S6353661 A JPS6353661 A JP S6353661A
Authority
JP
Japan
Prior art keywords
cache
routine
bit
entry
replacement
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
JP61196550A
Other languages
English (en)
Inventor
Shizuo Shiokawa
塩川 鎭雄
Akihiko Matsumoto
松本 秋彦
Akira Nagoya
名古屋 彰
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP61196550A priority Critical patent/JPS6353661A/ja
Publication of JPS6353661A publication Critical patent/JPS6353661A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュ方式をとる電子計算機のキャッシュ
制御方式に係り、詳しくはキュッシュの置き換え制御方
式に関する。
〔従来の技術〕
電子計算機では、複雑な命令(例えば複合命令)とか、
使用頻度の少ないしかしソフ(・ウェア互換のためサポ
ートしなければならばい命令等を基本命令の組合せで実
現する特定ルーチン、又は、他の機種で持つ命令を自機
種で実現するために、同様に基本命令の組合せで実現す
るエミュレータ・ルーチンを使う場合がある。この場合
、従来は特定ルーチンやエミュレーション・ルーチン等
用にCPU内部に特別なメモリを持つ方法と、ルーチン
を主メモリに置き、それをCI−) uが持つキャッシ
ュにロートして用いる方法がある。本発明は特に後者の
方法にか\わる。
〔発明が解決しようとする問題点〕
主メモリ上に特定ルーチン等を保持し、それをCPUの
キャッシュにロードして用いる場合、特に複数プロセッ
サで該ルーチンを共用して使う場合は、主メモリ上での
競合を避けるため、各CPU専有とした方が性能」二好
ましい場合がある。また、該ルーチンに複数のモードが
あり、そのうちの特定モードの実行性能を高める必要が
ある場合がある。または、複数のモードに何段階かの優
先順位を置きたい場合がある。
さらに、キャッシュを持つCPUの主メモリ・アクセス
時間等を求めるような性能評価ジゴブでは、キャッシュ
同各ブロックのアクセスパターンを考え、その置き換え
アルゴリズムによる置き換え順序を考慮しつ\プログラ
ムを組む等が必要である。この場合、キャッシュのRO
W数が異なる機種に対しては、それに合うように、その
都度プログラムを作り変える等の必要がある。
すなわち、近年、単純な使用頻度のみによる置き換えア
ルゴリズムによる14き換えに加えて、キャッシュ容量
の増大等に伴い、従来の置き換えアルゴリズムに故意に
別の要因を加えて、置き換えを制御することも必要とな
ってきた。
本発明の目的は、これらの要求を解決するキャッシュ制
御方式を提供することにある。
〔問題点を解決するための手段及び作用〕本発明は、C
PUにキャッシュを持ち、主メモリ上に複数モードのエ
ミュレーション・ルーチン等の特定ルーチンを保持し、
該特定ルーチンをキャッシュにロードする方式をとる電
子計算機において、キャッシュにロードされる情報が特
定情報であることを示す識別子を保持する手段と、キャ
ッシュのカラム毎の置換え情報に該識別子に基づいた情
報を保持する手段とを設け、該置換え情報と識別子に基
づく情報により、キャッシュの特定ルーチンの追い出し
を行わないように制御したり、該特定ルーチンを他の通
常情報よりも優先順位を上げて追い出しされにく\する
制御を行うものである。
以下余白 =4= こ\で、−に配置換え制御は、例えば次式但し、xl:
i行目の追い出し対象判定ビットa3:j行目のく\り
つけ指定ビット a i、 : a 4の反転 a i、4 : j行目と、j行目の間のLRU関係表
示ピッ1〜で表わされる置換えアルゴリズムにより達成
される。
〔実施例〕
以下、本発明の一実施例について図面により説明する。
第1図は本発明の使用される環境例を示したものであり
、同図(a)は2種類のルーチン(エミュレーションル
ーチンとする)を主メモリ2」二に置き、該ルーチンを
各CPUIのキャッシュ(LM)3にロードして使用す
る時、この2種類のエミュレーションルーチンのうち、
一方(斜線を施こした方)が優先されて使用されること
を示している。この優先される方のルーチンは、例えば
第1図(b)の如く、−担キャッシュ3にロー1・され
るとく\りつけとなり、キャッシュ3から追い出されな
いようにすることにより、く\りっけられた方(斜線部
)が優先され、該ルーチンを使用するプログラムの方が
性能が高くなる。
第2図(a)に本発明の一実施例のキャッシュ制御機構
の全体ブロックを示す。1.2はキャッシュ機構であり
、キャッシュ(LM)3と該キャッシュ3に保持するデ
ータの主メモリの71〜レスを保持するアドレスアレイ
(A、A)4等から構成すれる。該キャッシュ機構12
は公知の構成であるので、詳細な説明は省略する。1−
11はエミュレーション・ルーチンの先頭アドレスを保
持する機構であり、各エントリは同図(b)で示す構成
をとる。即ち、各エントリには、エミュレーション対象
命令であるか否かを示すVビット、該エントリが優先ル
ーチンであるか否かを示すPビット(例えばP=1の時
、該ルーチンはキャッシュ上にく\りっけられ、P=O
の時、通常ブロックと同様追い出しの対象となる)、お
よび該ルーチンの主メモリ上の先頭アドレスが実アドレ
スで保持されている。実行しようとする命令11のオペ
コードにより保持機構11.1を索引し、該当するルー
チンのエン1〜りをレジスタ112へ読み出す。
12]−はキャッシュの置き換え制御を行う機構で、本
発明の中心をなす部分である。該制御機構1−21はレ
ジスタ112に読み出されたエンl〜りにもとづき、咳
エン1〜りのVビットが1′□ ITの時は、エミュレ
ーション・ルーチンへの移行は行われず、Vピッ1〜が
“」−″の時、エミュレーション・ルーチンへの移行を
指示し、当該エントリの実71〜レス値により、主メモ
リから当該ルーチンをキャッシュ3にロー1〜すると共
に、該実アドレスをアドレスアレイ4に保持せしめる。
又、この時、当該エンl−りのPピッ1へが1′″であ
ると、当該ルーチンのキャッシュ上へのく\りっけを指
示する。
1]、3は優先用Pビットを更新する回路であり、Pビ
ットの値を固定とはせずに、ある周期で内容を変えてや
ることで、優先レベルの中間等のものを造るようにした
ものである。例えば、4回も参照を周期にPビットを変
更する回路を付加することにより、中間帯の優先レベル
を造り出せる。
第3図はキャッシュの置換えアルゴリズムを示すための
説明図であり、(a)が従来からのアルゴリズム、(b
)〜(e)は(a)に新しい機能を付加した本発明によ
るアルゴリズムである。■〜■がキャッシュのROW 
(行)O〜3を示す。
a、j−、aD218+131 al、2T al、3
t az3はROWo。
1.2.3間各々でどちらが最近アクセスがあったかを
示すビットである。例えば、矢の先が自分に向いている
場合、相手よる前にアクセスされたことを意味する。そ
れ故、他の73行からの矢が全て自分に向いている時、
次は自分がキャッシュから追い出されることを示す(他
の;3行との関係を示す矢が全て相手に向いている時、
自分が追い出されるという論理も可)、従ってキャッシ
ュへく\りつける場合、自分の行にアクセスがあった時
、全ての矢を相手に向けるように更新しておく必要があ
る。なお、(a)の方式は1968年J、S。
Lj、ptoyにより提案(I B M Techni
cal Discl、。
5ure nun]etin  vo]、、10. N
(110,1968゜pp、 1−54.1−〜1.5
42)されているLRU (Least Rccenl
:]、y Used)アルゴリズムである。
以下では第3図(b)〜(e)により本発明で使用され
る置換えアルゴリズムを説明する。
第3図(b)〜(e)において、■は仮想的なもので、
特に意味はない。aot all a29 a3は0〜
3の各行が優先制御を受け、追い出し禁止になっている
か否かを示す。■〜■の各行と■との関係を示す矢印が
■の方向を向いている時、当該行が追出し禁止であるこ
とを示し、■〜■の各行自身の方向に向いていれば、追
出し可であることを示す。(b)の状態は0行が追い出
し禁止であり、現在0行が追い出し行として指示されて
いる。
(c)の状態は、(b)の状態の時0行がアクセスされ
た後の状態を示す。この時、従来のアルゴリズムでは■
行に3矢印が向いているので■が追出し対象行となる。
しかし、alが■に向いていてるため、■行は追い出し
対象行とはなりえない。
この時、■行はa2とa。2.”23の矢印が■行の方
向を向いており、atzのみの行の方向を向いてる。し
かし、このaimは、alからa、lを経由して(太線
3角形)■行を指していると解釈することができる。す
なわち、az+ aozt a□21 al3の全矢印
が■行に向いていると考えることにより、■行が追い出
し対象行となる。(d)の状態は(c)の状態から0行
アクセスされた後の状態であり、(c)の説明と同様、
■行の方向を向いているal、Jは、alからa3を経
由して(太線3角形)0行を指していると考えることに
より、(d)の状態では0行が追い出し対象行となる。
(e )は、■行と■行の2行が追い出し禁止の指定を
受けていることを示す説明図であり、そのアルゴリズム
は(b)〜(d)と同様であるので説明を省略する。第
3図(b)〜(e)でa。、〜a23の更新アルゴリズ
ムは(a)の更新アルゴリズムと同じであり、その部分
を変える必要はない。
第3図(a)の従来の置換えアルゴリズムを式で表現す
ると、各行が追い出し対象であるか否かを示す値X、は
次式で表わせる。
x4=ao3.a、3.a、3」 一方、第3図(b)〜(e)の本発明での置換えアルゴ
リズムは次式で表現できる。
但し、「+」は論理和、「・」は論理積を意味する。ま
た、a o”” a 3は矢印が■の方向を向いている
時パ1′″、各行の方向を向いている時II OIIを
意味する。anl〜a23は若番行の方向を向いている
時(11n、老番行の方向を向いている時110 rr
と考え、a□3はajjの値を反転したものとする。
第4図(a)は第3図(、)のアルゴリズムを式(1)
に基づいて回路化したものであり、211〜216はa
。□〜a7.3の変更時に用いられる入力ラッチ回路、
221〜226は各カラムのa。、〜a23のビットを
保持するメモリ、231〜236は該メモリ221〜2
26の内容読出し時に用いられる出力ラッチ回路、28
0〜283は式(1)の論理を作り出すAND回路であ
る。なお、201〜206は各行アクセス時にalll
〜a23が読み出された後、aO□〜a23の内容を変
更するための更新回路であり、−例として801に対応
する回路を第4図(b)に示す。Yo−Y3はアドレス
アレイにおける0〜3行のアドレス−救出力であり、一
致したときu 1 nとなる。第4図は公知の回路であ
り、また、本発明に該当しない部分であるので説明は省
略する。
第5図は式(2)に基づいて回路化した本発明対象部で
あり、入力ラッチは第4図(a)の211〜2]−6に
加え、217〜220が追加され、メモリもa。−83
格納用メモリの227〜230、出力ラッチも237〜
24.0が追加されている。
また、241〜252はAND回路、261〜272は
o R回路、290〜293はAND回路であり、24
1〜293の各回路により式(2)のアルゴリズムを実
現している。
aoS〜a 23の更新回路201〜206は第4図の
201〜206と同じものであるa ao””alの更
新回路50は新しく追加された部分であり、その回路例
を第6図に示す。
第6図において、112はエミュレーション・ルーチン
の先頭アドレスを格納する保持機構111の出力レジス
タであり、その内容は第2図(b)に示す通りである。
A、 N D回路501はエミュレーション対象命令で
あるか否かを示す■ピッ1〜とそのエミュレーション・
ルーチンをキャッシュ上にく\りつけておくか否か等の
優先制御のためのPピッ1−とのANDを行い、ラッチ
回路502にラッチする。Yo−Y3はレジスタ]−1
2の出力の実アドレス情報によりアドレスアレイ(AA
、)4を索引し、存在すれば1”、存在しなければ“0
パを示す。キャッシュ(LM)3に対象ルーチンが存在
せず、該ルーチンを主メモリからキャッシュ3にロード
される時、レジスタ1」−2の実アドレス情報はアドレ
スアレイ4内の、第5図に示す回路で選択された行(R
OW)(xo、Xl。
x2またはxa)に格納されることになる。この時、選
択された行(ROW)のLRUメモリ227〜230に
“0”が格納される。他には1′1”が格納される。メ
モリ227〜230の更新論理は次式で表現される。
Z、= y、−y、、−y、−y、 ・x□・’V’P
        (:()但し、 Z、:行(ROW)i(7)更新論理(j、=o〜3)
Yo−Y3:エミュレーション・ルーチンがアドレス(
AA、−A、A3)に存在t 7..1 時” 1− 
” 、存在L すい時“0”となる。
xI:第5図の回路で追い出し対象行(次にロードされ
る行)として指示されたtt 1 reの時の対象行。
よって、Wi= (Yo−Y、−Y2・’ya)・Xi
はキャッシュ上に存在せず、かつi行が対象ルーチンロ
ード行として指定されたことを意味する。
■ =エミュレーション対象命令 P :優先性(固定相) すなわち、W、=1、V−P=1(7)時はzL=。
が、w、=oまたはV−P=O(7)時はz、=4力<
メモリ227〜230の対応メモリに格納される。
以上の実施例の説明では、キャッシュの行(ROW)構
成が4行の時の説明を中心に行ってきたが、何行構成で
あれ同様である。
〔発明の効果〕
以」二説明したように、本発明によれば、キャッシュに
ロードされたデータを追い出されることなく、キャッシ
ュに格納したまへにしておし)たり、特定のブロックを
追い出されにく\したりすることができるため、二種以
上のエミュレーション・−15= ルーチン等を主メモリ上に置き、どちらか一方は優先使
用とするためキャッシュに固定しておく時に有効であり
、また、性能測定ルーチンをキャッシュにく\りつけて
おく制御にも使用できる。さらに、キャッシュの行(R
OW)に障害があった場合、当該行に新たなデータをロ
ードしない(行単位のデグラデーション)アルゴリズム
としても使用でき、ブロック単位のデクラデーションの
アルゴリズムとしても使用できる等、各種の適用が可能
である。
【図面の簡単な説明】
第1図は本発明の使用される環境例の概要を示す図、第
2図は本発明の一実施例の全体ブロック図と一つのエン
トリ構成を示す図、第3図は置換えアルゴリズムの従来
の方式と本発明の方式とを比較した図、第4図は従来の
置換えアルゴリズムの実現回路例を示す図、第5図は本
発明の置換えアルゴリズムの実現回路例を示す図、第6
図は第5図の中の一部の詳細構成図である。 1、・・・CPU、  2・・・主メモリ、31.、キ
ャッシュ、 4・・・アドレスアレイ、111・・・エ
ミュレーション・ルーチン先頭アドレス保持機構、 1
13・・・更新回路。 121−・・・置換え制御機構。

Claims (2)

    【特許請求の範囲】
  1. (1)中央処理装置(CPU)にキャッシュを持ち、主
    メモリ上に複数モードの特定ルーチンを保持し、該特定
    ルーチンをキャッシュにロードする方式をとる電子計算
    機において、キャッシュにロードされる情報が特定情報
    であることを示す識別子を保持する手段と、キャッシュ
    のカラム毎の置換え情報に前記識別子に基づいた情報を
    保持する手段とを設け、前記置換え情報と識別子に基づ
    く情報により、キャッシの特定ルーチンの追い出しを禁
    止したり、あるいは、該特定ルーチンを他の通常情報よ
    りも優先順位を上げて追い出しされにくゝ制御すること
    を特徴とするキャッシュ制御方式。
  2. (2)前記キャッシュの置換え制御は、次式▲数式、化
    学式、表等があります▼ 但し、x_i:i行目の追い出し対象判定ビットa_i
    :i行目のくゝりつけ指定ビット @a@_i:a_iの反転 a_i_j:i行目とj行目の間のLRU関係表示ビッ
    ト「+」:論理和 「・」:論理積 で表わされる置換えアルゴリズムにより行うことを特徴
    とする特許請求の範囲第1項記載のキャッシュ制御方式
JP61196550A 1986-08-22 1986-08-22 キヤツシユ制御方式 Pending JPS6353661A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61196550A JPS6353661A (ja) 1986-08-22 1986-08-22 キヤツシユ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61196550A JPS6353661A (ja) 1986-08-22 1986-08-22 キヤツシユ制御方式

Publications (1)

Publication Number Publication Date
JPS6353661A true JPS6353661A (ja) 1988-03-07

Family

ID=16359602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61196550A Pending JPS6353661A (ja) 1986-08-22 1986-08-22 キヤツシユ制御方式

Country Status (1)

Country Link
JP (1) JPS6353661A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH032548U (ja) * 1989-02-23 1991-01-11

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51150243A (en) * 1975-06-18 1976-12-23 Hitachi Ltd Replacement control system for buffer register
JPS5523555A (en) * 1978-08-07 1980-02-20 Fujitsu Ltd Micro cash system having resident bit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51150243A (en) * 1975-06-18 1976-12-23 Hitachi Ltd Replacement control system for buffer register
JPS5523555A (en) * 1978-08-07 1980-02-20 Fujitsu Ltd Micro cash system having resident bit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH032548U (ja) * 1989-02-23 1991-01-11

Similar Documents

Publication Publication Date Title
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US6456891B1 (en) System and method for transparent handling of extended register states
US8793433B2 (en) Digital data processing apparatus having multi-level register file
US6813701B1 (en) Method and apparatus for transferring vector data between memory and a register file
US6665749B1 (en) Bus protocol for efficiently transferring vector data
US5717895A (en) Associative scalar data cache with write-through capabilities for a vector processor
US6212605B1 (en) Eviction override for larx-reserved addresses
US7610469B2 (en) Vector transfer system for packing dis-contiguous vector elements together into a single bus transfer
JPH01251247A (ja) キヤツシユメモリサブシステム
CN101799750B (zh) 一种数据处理的方法与装置
US8688962B2 (en) Gather cache architecture
JPS6184756A (ja) メモリアクセス制御装置
JPH0212541A (ja) コンピユーテイング・システム及びその動作方法
JP5226010B2 (ja) 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路
US6553486B1 (en) Context switching for vector transfer unit
JPS604493B2 (ja) マイクロプログラム化データ処理システム
US6012135A (en) Computer having multiple address ports, each having logical address translation with base and limit memory management
KR20240004361A (ko) 프로세싱-인-메모리 동시적 프로세싱 시스템 및 방법
EP0772819A2 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
JPH0362144A (ja) 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム
US7500066B2 (en) Method and apparatus for sharing instruction memory among a plurality of processors
EP1073956B1 (en) Apparatus with context switching capability
JP2523814B2 (ja) ム―ブアウト・システム
Dorozhevets et al. The El'brus-3 and MARS-M: Recent advances in Russian high-performance computing
JPS6353661A (ja) キヤツシユ制御方式