JPH07200412A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JPH07200412A
JPH07200412A JP5337714A JP33771493A JPH07200412A JP H07200412 A JPH07200412 A JP H07200412A JP 5337714 A JP5337714 A JP 5337714A JP 33771493 A JP33771493 A JP 33771493A JP H07200412 A JPH07200412 A JP H07200412A
Authority
JP
Japan
Prior art keywords
bit
data
ipc
value
registered
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.)
Withdrawn
Application number
JP5337714A
Other languages
Japanese (ja)
Inventor
Yuichi Kaneko
裕一 金子
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP5337714A priority Critical patent/JPH07200412A/en
Publication of JPH07200412A publication Critical patent/JPH07200412A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To improve the cache hit rate of the microprocessor. CONSTITUTION:This microprocessor is equipped with EXU101, EAG102, IDU104, ACU105, DCU106, MNUI1101, DCHE1102, and main storage 108. Data of low frequency of access are registered in a cache memory and data of high frequency of access are expelled from the cache memory to prevent the hit rate of the cache memory from decreasing. In addition to the function, this microprocessor is equipped with a function which improves the hit rate of the cache memory even for the data of low frequency of access by registering the data in the cache memory when an area where the data should be registered is free.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はマイクロプロセッサに関
する。
FIELD OF THE INVENTION This invention relates to microprocessors.

【0002】[0002]

【従来の技術】最初に、ページング方式における仮想記
録について説明する。この仮想記録とは、仮想空間の全
てを一定の大きさの空間(以下、ページと云う)により
分割している記憶領域であり、ページごとにページテー
ブル・エントリ(以下、PTEと略称する)と呼ばれて
いる領域を有している。このPTEには、そのページの
色々な情報が記憶されている。PTEに記憶される情報
としては、ページが主記憶領域に存在するか如何かを示
す情報が存在する。また、もしも、そのページが主記憶
領域にある場合には、主記憶領域上のどこに存在してい
るかを示す情報、そのページに含まれているデータを、
キャッシュに登録することを許可するか、または禁止す
るかを示す情報などがある。仮想記憶は、データの読み
込み動作または書き込み動作(以下、アクセスと云う)
を行うことにより、アクセスを行いたい仮想空間に対応
するページのPTEから、そのページの色々な情報が読
み出される。
2. Description of the Related Art First, virtual recording in the paging system will be described. The virtual record is a storage area in which the entire virtual space is divided by a space of a certain size (hereinafter referred to as a page), and a page table entry (hereinafter abbreviated as PTE) for each page. It has a region called. In this PTE, various information of the page is stored. As information stored in the PTE, there is information indicating whether or not the page exists in the main memory area. Also, if the page is in the main storage area, the information indicating where in the main storage area, the data contained in the page,
There is information such as whether to permit or prohibit registration in the cache. Virtual memory is a data read or write operation (hereinafter referred to as access)
By doing so, various information of the page is read from the PTE of the page corresponding to the virtual space desired to be accessed.

【0003】もし、アクセスした仮想アドレス空間の領
域に対応するページが、主記憶領域に入っていない場合
には、プログラムの実行を中断して、ハードウェアによ
る例外を発生させて例外処理が実行される。この例外処
理とは、要求されたページをディスクなどの補助記憶装
置から主記憶領域に転送することである。また、その時
点において、ページが主記憶に存在することと、ページ
が主記憶のどこに存在しているかを示す情報がPTEに
設定される。例外処理後にはプログラムの実行が再開さ
れて、再度同一の仮想アドレス空間の領域がアクセスさ
れる。アクセスされた仮想アドレス空間に対応するペー
ジが主記憶領域に入っている場合には、PTEから主記
憶領域の何処にページが存在しているのかを示す情報が
得ることにより、実際に主記憶に対するアクセスが行わ
れる。
If the page corresponding to the accessed virtual address space is not in the main storage area, the execution of the program is interrupted, an exception is generated by hardware, and exception processing is executed. It This exceptional processing is to transfer the requested page from the auxiliary storage device such as a disk to the main storage area. At that time, information indicating that the page exists in the main memory and where the page exists in the main memory is set in the PTE. After the exception processing, the execution of the program is restarted and the area of the same virtual address space is accessed again. When the page corresponding to the accessed virtual address space is stored in the main memory area, the information indicating where the page exists in the main memory area is obtained from the PTE, so that the main memory is actually stored. Access is made.

【0004】次に、高機能マイクロプロセッサにおけ
る、アクセス時のキャッシユに対するデータ登録につい
て説明する。
Next, data registration in the cache at the time of access in the high-performance microprocessor will be described.

【0005】従来の高機能マイクロプロセッサにおいて
は、アクセスの頻度が低いデータがキャッシュに登録さ
れることにより、アクセスの頻度の高いデータがキャッ
シュより排除されて、キャッシュのヒット率が低下する
という問題がある。この問題に対応して、キャッシュの
ヒット率の低下を防止するために、従来の高機能マイク
ロプロセッサにおいては、下記のような対策が採られて
いる。
In the conventional high-performance microprocessor, data having a low access frequency is registered in the cache, so that data having a high access frequency is excluded from the cache, resulting in a decrease in the cache hit rate. is there. In order to cope with this problem, in order to prevent the cache hit rate from decreasing, the following measures are taken in the conventional high-performance microprocessor.

【0006】即ち、下記の二つの条件のどちらかを満た
すページが存在する場合には、それらのPTEにキャッ
シュに対する登録を禁止する情報を付加しておき、それ
らのベージに含まれているデータをキャッシュに登録し
ないようにしている。上記条件の内の1番目の条件は、
実行されているプログラムのデータが複数のページにま
たがり、且つ、そのページに含まれる大部分のデータの
アクセスの頻度が、明らかに他のページに含まれるデー
タに比較して低い場合である。また、2番目の条件は、
そのページに、キャッシュに登録されては困るデータが
存在する場合である。
That is, when there is a page satisfying either of the following two conditions, information for prohibiting registration in the cache is added to those PTEs, and the data contained in those pages is added. I try not to register it in the cache. The first of the above conditions is
This is the case where the data of the program being executed spans multiple pages and the access frequency of most of the data contained in that page is clearly lower than the data contained in other pages. The second condition is
This is the case when the page contains data that should not be registered in the cache.

【0007】従来の高機能のマイクロプロセッサの具体
例としては、日本電気(株)の32ビット・マイクロプ
ロセッサμPD70832(以下、V80と云う)の場
合が挙げられる。最初に、このV80のアクセスの時点
における、データのデータキャッシュ(以下、DCHE
と云う)に対する登録動作について簡単に説明する。ま
ず、V80においては、アクセスを行う際には、仮想ア
ドレスを実アドレスに変換するとともに、同時にアクセ
スしたデータをDCHEに登録することが許可されてい
るか否かをチェックする。次に、アクセスされたデータ
がDCHEに登録されていることをチェックし、登録さ
れている時には、DCHEにアクセスを行って当該デー
タを得る。そして、もしもデータをDCHEに登録する
ことが許可されている場合には、得られた前記データを
DCHEに登録し、また許可されていない場合には、何
らの処理も行わない。
A specific example of the conventional high-performance microprocessor is a 32-bit microprocessor μPD70832 (hereinafter referred to as V80) manufactured by NEC Corporation. First, the data cache of data at the time of this V80 access (hereinafter referred to as DCHE
The registration operation for the above) will be briefly described. First, in V80, at the time of access, the virtual address is converted into a real address, and it is checked whether or not it is permitted to register the simultaneously accessed data in DCHE. Next, it is checked that the accessed data is registered in DCHE, and if registered, the DCHE is accessed to obtain the data. Then, if the data is permitted to be registered in the DCHE, the obtained data is registered in the DCHE, and if it is not permitted, no processing is performed.

【0008】次に、V80のDCHEについて説明する
〔参考文献:ユーザーズマニュアルμPD70832
(V80TM)32ビットマイクロプロセッサ アーキテ
クチャ編〕。
Next, the V80 DCHE will be described [Reference: User's Manual μPD70832].
(V80 ) 32-bit Microprocessor Architecture Edition].

【0009】V80のDCHEには1280バイトの空
間があり、その空間を640バイトづつ二つの空間に分
けて、それぞれをセット(0)およびセット(1)と呼
ぶ。これらのセット(0)およびセット(1)は、それ
ぞれデータを登録するための空間512バイトと、登録
したデータの実アドレスの一部を登録する空間(以下、
タグ・メモリと云う)128バイトとに区分されてい
る。上記のデータを登録する空間は、16バイトづつ3
2個の空間に区分されており、それぞれの空間をブロッ
クと呼ぶ。また、タグ・メモリを、ブロックそれぞれに
対応するように、4バイトづつ32個に区分して、それ
ぞれをタグ・メモリ・エントリ(以下、TMEと略称す
る)と呼ぶ。このTMEは、対応するブロックに登録さ
れているデータが格納されている主記憶上のアドレス
(以下、実アドレスと云う)〈9−31〉を保持してお
り、対応するブロックに含まれる四つのサブブロックの
それぞれが有効であることを示すバリット・フラグ〈0
−3〉も保持している。また、セット(0)のTME
は、対応するブロックのデータの登録または出力が、そ
れと対になっているセット(1)のブロックのデータの
登録または出力より、最近に行われたことを示すフラグ
(以下、LRUビットと云う)も保持している。
The V80 DCHE has a space of 1280 bytes, and the space is divided into two spaces of 640 bytes, which are called set (0) and set (1). These set (0) and set (1) each have a space of 512 bytes for registering data and a space for registering a part of the real address of the registered data (hereinafter,
It is divided into 128 bytes (called tag memory). Space for registering the above data is 3 by 16 bytes
It is divided into two spaces, and each space is called a block. Further, the tag memory is divided into 32 pieces of 4 bytes so as to correspond to each block, and each is called a tag memory entry (hereinafter, abbreviated as TME). This TME holds an address (hereinafter, referred to as a real address) <9-31> on the main memory in which data registered in the corresponding block is stored, and four TMEs included in the corresponding block are held. Valid flag <0 indicating that each of the sub-blocks is valid
-3> is also held. Also, the set (0) TME
Is a flag (hereinafter referred to as an LRU bit) indicating that the registration or output of the data of the corresponding block is performed more recently than the registration or output of the data of the block of the set (1) paired with it. Also holds.

【0010】V80の実際のアクセス動作について、図
11、図12、図13、図14および図15を用いて説
明する。
An actual V80 access operation will be described with reference to FIGS. 11, 12, 13, 14, and 15.

【0011】図11は、従来のマイクロプロセッサのシ
ステム構成を示すブロック図である。図11に示される
ように、本従来例は、命令実行ユニット(以下、EXU
と云う)101と、実行アドレス生成ユニット(以下、
EAGと云う)102と、命令デコード・ユニット(以
下、IDUと云う)104と、アクセス・コントロール
・ユニット(以下、ACUと云う)105と、データ・
コントロール・ユニット(以下、DCUと云う)106
と、メモリ管理ユニット(以下、MMUと云う)110
1と、DCHE1102と、主記憶108とを備えて構
成される。
FIG. 11 is a block diagram showing a system configuration of a conventional microprocessor. As shown in FIG. 11, in this conventional example, an instruction execution unit (hereinafter, EXU
101) and an execution address generation unit (hereinafter,
EAG) 102, instruction decode unit (hereinafter referred to as IDU) 104, access control unit (hereinafter referred to as ACU) 105, and data
Control unit (hereinafter referred to as DCU) 106
And a memory management unit (hereinafter referred to as MMU) 110
1, a DCHE 1102, and a main memory 108.

【0012】図11において、主記憶108より取り込
まれた命令に従って、IDU104において当該命令が
デコードされる。更に、EAG102において計算され
た仮想アドレスが、内部仮想アドレス・バス115を経
由して、MMU1101に入力される。そして、MMU
1101においては、当該仮想アドレスが実アドレスに
変換されて出力され、当該実アドレスは、内部実アドレ
ス・バス116を経由して、アドレス・バス109を制
御するACU105と、DCHE1102に転送され
る。ACU105においては、前記実アドレスの入力を
受けて、キャッシュ・ヒット信号113がインアクティ
ブである時点においては、アドレス・バス109と制御
信号111を制御することにより、主記憶に対するアク
セスを実行する。主記憶108においては、アクセスさ
れたデータを出力して、データ・バス110を経由して
DCU106に転送する。DCU106においては、主
記憶108からのデータを受けて、内部データ・バス1
14に出力し、EXU101、IDU104およびDC
HE1102に転送する。DCHE1102において
は、当該データがDCHE1102に登録されておら
ず、且つキャッシュ登録禁止信号1103がインアクテ
ィブである時には、DCU106より内部データ・バス
114に出力された前記データを登録する。
In FIG. 11, according to the instruction fetched from the main memory 108, the instruction is decoded in the IDU 104. Further, the virtual address calculated in the EAG 102 is input to the MMU 1101 via the internal virtual address bus 115. And MMU
In 1101, the virtual address is converted into a real address and output, and the real address is transferred to the ACU 105 for controlling the address bus 109 and the DCHE 1102 via the internal real address bus 116. In the ACU 105, when the real address is input and the cache hit signal 113 is inactive, the ACU 105 controls the address bus 109 and the control signal 111 to access the main memory. In the main memory 108, the accessed data is output and transferred to the DCU 106 via the data bus 110. In the DCU 106, the data from the main memory 108 is received and the internal data bus 1 is received.
14 and outputs to EXU101, IDU104 and DC
Transfer to HE1102. In the DCHE 1102, when the data is not registered in the DCHE 1102 and the cache registration inhibit signal 1103 is inactive, the data output from the DCU 106 to the internal data bus 114 is registered.

【0013】図15は、図11におけるMMU1101
の動作の概要を示す図である。図11の内部仮想アドレ
ス・バス115を経由して送られてくる32ビットの仮
想アドレス501の内、上位12ビット(ビット20〜
31)のセクションとエリアID503から、アドレス
変換表508(アドレス変換データにより構成されてい
る)の内のアドレス変換データ509(ページ・テーブ
ルのベース・アドレスが記憶されている)が選択され、
ページ・テーブル510のベース・アドレスが指定され
る。PTE1501は、ビット12〜19のページID
504によって決まる。このPTE1501の指す実ペ
ージ・ナンバーとページ内オフセット505により、仮
想アドレス501に対応する実アドレス512が指定さ
れる。この実アドレス512は、図11の内部実アドレ
ス・バス116を経由して、アドレス・バス109に対
する制御を行うACU105に転送される。また、この
時点において、図13のPTE1501のDCHEイン
ヒビット1301から、データのキャッシュに対する登
録許可または登録禁止情報を引出し、その情報をキャッ
シュ登録禁止信号1103を経由してDCHE1102
に転送する。PTE1501内の構成を図13に示す。
図13に示されるように、PTE1501は、DCHE
インヒビット1301、およびPTE1501の指すペ
ージの主記憶上における実アドレスを持つ実ページ・ナ
ンバー・フィールド309等により構成されている。
FIG. 15 shows the MMU 1101 in FIG.
6 is a diagram showing an outline of the operation of FIG. Of the 32-bit virtual address 501 sent via the internal virtual address bus 115 in FIG. 11, the upper 12 bits (bit 20 to
31) From the section and area ID 503, the address conversion data 509 (which stores the base address of the page table) in the address conversion table 508 (which is composed of the address conversion data) is selected,
The base address of page table 510 is specified. PTE1501 is the page ID of bits 12-19
Determined by 504. The real page number indicated by the PTE 1501 and the in-page offset 505 specify the real address 512 corresponding to the virtual address 501. This real address 512 is transferred to the ACU 105 which controls the address bus 109 via the internal real address bus 116 of FIG. Also, at this point, registration permission or registration prohibition information for the data cache is extracted from the DCHE inhibit 1301 of the PTE 1501 of FIG. 13, and the information is passed through the cache registration prohibition signal 1103 to the DCHE 1102.
Transfer to. The configuration inside the PTE 1501 is shown in FIG.
As shown in FIG. 13, the PTE 1501 is
It is composed of an inhibit 1301 and a real page number field 309 having a real address on the main memory of the page pointed to by the PTE 1501.

【0014】図12は、図11のDCHE1102の構
成図である。実アドレス〈23−31〉と実アドレス
〈2、3〉は、MMU103から内部実アドレス・バス
116を経由して、デコーダ203に入力される。デコ
ーダ203においては、セット(0)201から該当す
るブロック(0)218のTME(0)1204とサブ
・ブロック(0)220を、セット(1)202から該
当するブロック(1)219のTME(1)1205と
サブ・ブロック(1)221とを選択する。選択された
TME(0)1204とTME(1)1205は、タグ
・アドレス・バス(0)233と、タグ・アドレス・バ
ス(1)234を経由して、比較器(0)(以下、CM
P(0)と云う)204と、比較器(1)(以下、CM
P(1)と云う)205に対して、A〈9−31〉を出
力する。また、バリット・ビット線(0)231とバリ
ット・ビット線(1)230を経由して、キャッシュ・
コントロール・ブロック1201に対して、選択された
サブ・ブロックに対応するバリット・ビット(0)21
6とバリット・ビット(1)217とを出力する。加え
て、TME(0)1204は、LRUビット線230を
経由して、キャッシュ・コントロール・ブロック120
1に対して、LRUビット215の状態を出力する。
FIG. 12 is a block diagram of the DCHE 1102 of FIG. The real address <23-31> and the real address <2, 3> are input from the MMU 103 to the decoder 203 via the internal real address bus 116. In the decoder 203, the TME (0) 1204 and sub-block (0) 220 of the corresponding block (0) 218 from the set (0) 201 and the TME (of the corresponding block (1) 219 from the set (1) 202 are set. 1) 1205 and sub-block (1) 221 are selected. The selected TME (0) 1204 and TME (1) 1205 pass through the tag address bus (0) 233 and the tag address bus (1) 234, and then the comparator (0) (hereinafter, CM).
P (0) 204 and comparator (1) (hereinafter CM
A (9-31) is output to the P (1) 205. In addition, the cache bit is passed through the valid bit line (0) 231 and the valid bit line (1) 230.
For control block 1201, valid bit (0) 21 corresponding to the selected sub-block
6 and valid bit (1) 217 are output. In addition, TME (0) 1204 is routed through cache control block 120 via LRU bit line 230.
For 1, the state of the LRU bit 215 is output.

【0015】CMP(0)204においては、TMP
(0)1204のA〈9−31〉が実アドレス〈9−3
1〉と一致した場合に、比較結果線(0)226をアク
ティブにする。またCMP(1)205においては、T
MP(1)1205のA〈9−31〉が実アドレス〈9
−31〉と一致した場合に、比較結果線(1)227を
アクティブにする。また、そのデータを含むページのP
TEのDCHEインヒビット1301は、キャッシュ登
録禁止信号1103を経由して、キャッシュ・コントロ
ール・ブロック1201に出力される。キャッシュ・コ
ントロール・ブロック1201においては、比較結果線
(0)226とバリット・ビット(0)216がアクテ
ィブの時には、バッファ・コントロール・バス222を
経由して、データ・バッファ207を制御して、サブ・
ブロック(0)220のデータを内部データ・バス11
4に出力させ、且つLRUビット215をアクティブに
する。また、比較結果線(1)227とバリット・ビッ
ト(1)217がアクティブの時には、バッファ・コン
トロール・バス222を経由して、データ・バッファ2
07を制御し、サブブロック(1)221に含まれるデ
ータを内部データ・バス114に出力させ、且つLRU
ビット215をインアクティブにする。また、比較結果
線(0)226および比較結果線(1)227と、キャ
ッシュ登録禁止信号1103の全てがインアクティブで
ある時には、キャッシュ・コントロール・ブロック12
01は、LRUビット215の状態により、下記動作の
一つを実行する。
In CMP (0) 204, TMP
A <9-31> of (0) 1204 is the real address <9-3.
1>, the comparison result line (0) 226 is activated. In CMP (1) 205, T
A <9-31> of MP (1) 1205 is the real address <9
-31>, the comparison result line (1) 227 is activated. Also, the P of the page containing the data
The TE DCHE inhibit 1301 is output to the cache control block 1201 via the cache registration prohibition signal 1103. In the cache control block 1201, when the comparison result line (0) 226 and the valid bit (0) 216 are active, the data buffer 207 is controlled via the buffer control bus 222 and・
The data of the block (0) 220 is transferred to the internal data bus 11
4 and activate LRU bit 215. Further, when the comparison result line (1) 227 and the valid bit (1) 217 are active, the data buffer 2 is routed via the buffer control bus 222.
07 to cause the data contained in sub-block (1) 221 to be output to internal data bus 114, and LRU
Make bit 215 inactive. Further, when all of the comparison result line (0) 226 and the comparison result line (1) 227 and the cache registration prohibition signal 1103 are inactive, the cache control block 12
01 performs one of the following operations depending on the state of the LRU bit 215.

【0016】もしも、LRUビット215がアクティブ
である場合には、LRUビット215をインアクティブ
にする。またブロック(1)219の、選択されたサブ
ブロックと対応するTME(0)に、データの実アドレ
ス〈9−8〉と、DCU106より内部データ・バス1
14に出力されたデータを、バッファ・コントロール・
バス222を経由しデータ・バッファ207を制御して
格納し、加えて、サブブロックと対応するTME(0)
のバリッドビットをアクティブにする。なお、以下の説
明においては、上述のように、選択されたサブブロック
と対応するTME(0)に、データの実アドレス〈9−
8〉と、DCU106より内部データ・バス114に出
力されたデータを格納し、加えて、サブブロックと対応
するTME(0)のバリッドビットをアクティブにする
動作を、単に「サブブロックにデータを登録する」と呼
ぶこととする。また、LRUビット215がインアクテ
ィブである場合には、LRUビット2159をアクティ
ブにし、ブロック(0)218のサブブロック(0)に
データを登録する。
If LRU bit 215 is active, then LRU bit 215 is made inactive. Further, the real address <9-8> of the data is stored in the TME (0) corresponding to the selected sub-block of the block (1) 219, and the internal data bus 1 is transmitted from the DCU 106.
The data output to 14 is controlled by the buffer control
The data buffer 207 is controlled and stored via the bus 222, and in addition, TME (0) corresponding to the sub-block is stored.
Activate the valid bit of. In the following description, as described above, the real address <9− of the data is stored in TME (0) corresponding to the selected sub-block.
8>, the data output from the DCU 106 to the internal data bus 114 is stored, and in addition, the operation of activating the valid bit of TME (0) corresponding to the sub-block is simply performed by "registering data in sub-block". I will call it. " When the LRU bit 215 is inactive, the LRU bit 2159 is activated and the data is registered in the sub block (0) of the block (0) 218.

【0017】TME内の構成を図14に示す。図14に
示されるように、TMEは未使用ビット1401、セッ
ト(0)およびセット(1)のどちらが最も最近に登録
され、または参照されたかを示すLRUビット403、
サフブロック(0)〜サブブロック(3)が有効である
か否かを示すVL〈0−31〉ビット404、キャッシ
ュに登録されているデータの実アドレス上位23ビット
であるA〈9−31〉405により構成されている。
The internal structure of the TME is shown in FIG. As shown in FIG. 14, the TME has unused bits 1401, LRU bit 403 which indicates which of set (0) and set (1) was most recently registered or referenced,
VL <0-31> bit 404 indicating whether or not the subblock (0) to subblock (3) are valid, and A <9-31> which is the upper 23 bits of the real address of the data registered in the cache. 405.

【0018】[0018]

【発明が解決しようとする課題】上述した従来の高機能
のマイクロプロセッサにおいては、アクセスの頻度が低
いデータがキャッシュに登録されることにより、アクセ
スの頻度の高いデータがキャッシュより追い出される
と、キャッシュのビット率が低下する。これに対処し
て、ヒット率を改善するために、従来のマイクロプロセ
ッサにおいては、前述のように、下記の対策が採られて
いる。
In the above-mentioned conventional high-performance microprocessor, when data having a low access frequency is registered in the cache and data having a high access frequency is expelled from the cache, Bit rate is reduced. In order to deal with this and improve the hit rate, the following measures are taken in the conventional microprocessor as described above.

【0019】即ち、第1の条件として、そのページかデ
ータが複数のページにまたがっており、なお且つ明らか
にアクセスの頻度が他のデータに比較して低いデータを
多く含むこと、および第2の条件として、そのページ
に、キャッシュに登録されては困るデータが存在するこ
と、を含む二つの条件に適合するページが存在する場合
には、それらのPTEに対して、キャッシュに対する登
録を禁止する情報を付加しておき、それらのページに含
まれるデータをキャッシュに登録しないようにしてい
る。
That is, the first condition is that the page or the data spans a plurality of pages, and the number of data whose access frequency is obviously lower than that of other data is included, and the second condition is As a condition, when there is a page that meets the two conditions including that the page contains data that should not be registered in the cache, the information that prohibits the PTE from registering in the cache. Is added to prevent the data contained in those pages from being registered in the cache.

【0020】しかし、データのキャッシュに対する登録
を、禁止または許可するということのみにより制御して
いるために、アクセスの頻度が低いデータをアクセスし
た時には、アクセスしたデータを登録すべき領域が空い
ていても、アクセスの頻度の低いデータは、キャッシュ
に登録されず、その分キャッシュのヒット率が低下して
しまうという欠点がある。
However, since the registration of the data in the cache is controlled only by prohibiting or permitting it, when the data that is accessed infrequently is accessed, the area in which the accessed data should be registered is empty. However, there is a drawback in that data that is not frequently accessed is not registered in the cache, and the hit rate of the cache is reduced accordingly.

【0021】また、キャッシュに登録されているデータ
に関係なく、アクセスしたデータをキャッシュに登録す
るかしないかの制御しかできないために、データを登録
すべき領域が空いていない時に、キャッシュに登録され
ているデータが、それよりアクセスの頻度の低いデータ
により、キャッシュより追い出されるという事態が生じ
るという欠点がある。
Further, regardless of the data registered in the cache, since it is only possible to control whether or not the accessed data is registered in the cache, the data is registered in the cache when there is no free area. However, there is a drawback in that the data that is being accessed is evicted from the cache due to data that is accessed less frequently.

【0022】本発明の目的は、アクセスの頻度の低いデ
ータでも、データを登録すべく領域が空いている時に
は、当該データをキャッシュに登録すること、およびデ
ータを登録すべき領域が空いていない時には、キャッシ
ュに登録されているデータが、それよりアクセスの頻度
の低いデータにより、キャッシュより追い出されないよ
うにすることにより、ビット率を向上させるマイクロプ
ロセッタを提供することにある。
It is an object of the present invention to register data, even if the data is accessed infrequently, in a cache when the area for registering the data is empty, and when the area for registering the data is not empty. The purpose of the present invention is to provide a microprocessor which improves the bit rate by preventing the data registered in the cache from being evicted from the cache by the data that is less frequently accessed.

【0023】[0023]

【課題を解決するための手段】第1の発明のマイクロプ
ロセッサは、ページング方式の仮想記憶管理機構と、N
ウェーセットアソシアティブでリプレースをLRU方式
により行うキャッシュメモリを内蔵または外部に接続す
るマイクロプロセッサにおいて、ページテーブルエント
リに、値が高い程ページに含まれる命令またはデータが
キャッシュに登録され易いことを示すとともに、当該値
が最低の時には前記ページに含まれるデータが前記キャ
ッシュメモリに登録されることを禁止されていることを
示すビット情報(以下、IPTビットと云う)を、セッ
ト単位にて当該キャッシュメモリに格納して形成される
IPCビットを有しており、所定の主記憶装置に対応し
て、アクセスしているデータを含むページのページ・テ
ーブル・エントリにおける前記IPTビットの値が、最
も低い値であるか否かをチェックするビット判定手段
と、前記キャッシュメモリに格納されているN本のIP
Cビットの内から、最も値の低いIPCビットを選択す
るビット選択手段と、前記ビット選択手段により選択さ
れたIPCビットまたは所定のLRU方式により選択さ
れたIPCビットと、現在のIPTビットを比較照合す
るビット比較手段と、前記ビット判定手段、ビット選択
手段およびビット比較手段の結果により、データを前記
キャッシュメモリに登録する手段と、を少なくとも中央
処理装置内に備えて構成され、前記IPTビットの示す
情報により、データをキャッシュメモリに登録すること
を禁止されていない場合には、前記ビット選択手段によ
り選択されたIPCビットの値よりもIPTビットの値
が高ければ、選択されたIPCビットが対応するエント
リにデータを登録し、前記ビット選択手段により選択さ
れたIPCビットの値よりもIPTビットの値が低けれ
ば、選択されたIPCビットが対応するエントリにデー
タを登録しないことを特徴としている。
A microprocessor of the first invention comprises a paging-type virtual memory management mechanism,
In a microprocessor with a built-in or externally connected cache memory that performs a wayset associative replacement by the LRU method, a higher value in the page table entry indicates that an instruction or data included in a page is more likely to be registered in the cache. When the value is minimum, bit information indicating that the data included in the page is prohibited from being registered in the cache memory (hereinafter referred to as IPT bit) is stored in the cache memory in set units. Has the IPC bit formed in accordance with a predetermined main memory, and the value of the IPT bit in the page table entry of the page including the data being accessed is the lowest value. Bit determining means for checking whether or not the cache N number of IP stored in memory
From the C bits, the bit selecting means for selecting the IPC bit with the lowest value, the IPC bit selected by the bit selecting means or the IPC bit selected by the predetermined LRU method, and the current IPT bit are compared and collated. Means for registering data in the cache memory according to the results of the bit determining means, the bit selecting means, and the bit comparing means, which are configured to be provided at least in the central processing unit, and which are indicated by the IPT bits. If the information does not prohibit registration of data in the cache memory, the selected IPC bit corresponds if the value of the IPT bit is higher than the value of the IPC bit selected by the bit selection means. IPC bit selected by the bit selecting means by registering data in the entry A low value of the IPT bits than the value, is characterized by IPC bit selected does not register the data in the corresponding entry.

【0024】また、第2の発明のマイクロプロセッサ
は、ページング方式の仮想記憶管理機構と、Nウェーセ
ットアソシアティブでリプレースをLRU方式により行
うキャッシュメモリを内蔵または外部に接続するマイク
ロプロセッサにおいて、ページテーブルエントリに、値
が高い程ページに含まれる命令またはデータがキャッシ
ュに登録され易いことを示すとともに、当該値が最低の
時には前記ページに含まれるデータが前記キャッシュメ
モリに登録されることを禁止されていることを示すビッ
ト情報(以下、IPTビットと云う)を、セット単位に
て当該キャッシュメモリに格納して形成されるIPCビ
ットを有しており、所定の主記憶装置に対応して、アク
セスしているデータを含むページのページ・テーブル・
エントリにおける前記IPTビットの値が、最も低い値
であるか否かをチェックするビット判定手段と、前記キ
ャッシュメモリに格納されているN本のIPCビットの
内から、最も値の低いIPCビットを選択するビット選
択手段と、前記ビット選択手段により選択されたIPC
ビットまたは所定のLRU方式により選択されたIPC
ビットと、現在のIPTビットを比較照合するビット比
較手段と、前記ビット判定手段、ビット選択手段および
ビット比較手段の結果により、データを前記キャッシュ
メモリに登録する手段と、を少なくとも中央処理装置外
に備えて構成され、前記IPTビットの示す情報によ
り、データをキャッシュメモリに登録することを禁止さ
れていない場合には、前記ビット選択手段により選択さ
れたIPCビットの値よりもIPTビットの値が高けれ
ば、選択されたIPCビットが対応するエントリにデー
タを登録し、前記ビット選択手段により選択されたIP
Cビットの値よりもIPTビットの値が低ければ、選択
されたIPCビットが対応するエントリにデータを登録
しないことを特徴としている。
The microprocessor of the second invention is a microprocessor which has a paging-type virtual memory management mechanism and a cache memory for performing N-way set associative replacement by the LRU system, which is built-in or externally connected. Indicates that the higher the value, the easier the instruction or data included in the page is registered in the cache, and when the value is the minimum, the data included in the page is prohibited from being registered in the cache memory. Bit information (hereinafter, referred to as IPT bit) indicating that is stored in the cache memory in units of set, and has an IPC bit formed, and is accessed corresponding to a predetermined main storage device. Page table of pages that contain data
The IPC bit with the lowest value is selected from the bit determination means for checking whether or not the value of the IPT bit in the entry is the lowest value and the N IPC bits stored in the cache memory. Bit selecting means, and the IPC selected by the bit selecting means
IPC selected by bit or predetermined LRU method
A bit comparing means for comparing and collating a bit with the current IPT bit, and means for registering data in the cache memory according to the results of the bit determining means, the bit selecting means and the bit comparing means are provided at least outside the central processing unit. If the information indicated by the IPT bit is not prohibited from being registered in the cache memory, the value of the IPT bit is higher than the value of the IPC bit selected by the bit selecting means. For example, the data is registered in the entry corresponding to the selected IPC bit, and the IP selected by the bit selecting means is registered.
If the value of the IPT bit is lower than the value of the C bit, data is not registered in the entry corresponding to the selected IPC bit.

【0025】[0025]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0026】図1は本発明の第1の実施例のシステム構
成を示すブロック図である。図1に示されるように、本
実施例は、EXU101と、EAG102と、IDU1
04と、ACU105と、DCU106と、MMU11
01と、DCHE1102と、主記憶108とを備えて
構成されており、システム構成については、前述の従来
例と同様であるが、本実施例においては、アクセスの頻
度の低いデータがキャッシュに登録されることにより、
アクセスの頻度の高いデータがキャッシュより追い出さ
れて、キャッシュのヒット率が低下することを防止する
機能が与えられている。また、その機能に加えて、アク
セスの頻度の低いデータでも、データを登録すべき領域
が空いている時には、キャッシュに登録して、その分キ
ャッシュのヒット率を向上させることができるという機
能が具備されている。
FIG. 1 is a block diagram showing the system configuration of the first embodiment of the present invention. As shown in FIG. 1, in this embodiment, EXU 101, EAG 102, and IDU 1
04, ACU105, DCU106, MMU11
01, DCHE 1102, and main memory 108, and the system configuration is the same as the above-mentioned conventional example, but in the present embodiment, data with low access frequency is registered in the cache. By doing
A function is provided to prevent the hit rate of the cache from being lowered because the frequently accessed data is evicted from the cache. In addition to that function, even if the data is accessed infrequently, it can be registered in the cache when the area where the data should be registered is free, and the cache hit rate can be improved accordingly. Has been done.

【0027】上記の機能を実現するために、本実施例に
おいては、アクセスを行う最初のステップとして、仮想
アドレスを実アドレスに変換し、同時に、アクセスした
データの含まれるページのIPTビットをチェックす
る。次に、アクセスされたデータがDCHE1102に
登録されているか否かをチェックする。登録されている
時には、DCHE1102に対してアクセスを行いデー
タを得る。またDCHE1102に登録されていない時
には、主記憶108に対してアクセスを行いデータを得
る。そして、得られたデータの含まれるページのIPT
ビットが最低ではなく、且つデータを登録することが可
能な登録可能領域中に未使用領域が存在する場合には、
得られたデータをDCHE1102に登録する。また前
記登録可能領域のそれぞれのTMEに含まれるIPCビ
ットが、アクセスしたデータの含まれるページのIPT
ビットと同じか、またはIPTビットよりも低い場合に
は、得られたデータを.DCHE1102に登録する。
In order to realize the above function, in this embodiment, as a first step of accessing, the virtual address is converted into a real address, and at the same time, the IPT bit of the page including the accessed data is checked. . Next, it is checked whether the accessed data is registered in the DCHE 1102. When registered, the DCHE 1102 is accessed to obtain data. When not registered in the DCHE 1102, the main memory 108 is accessed to obtain data. Then, the IPT of the page containing the obtained data
If the bit is not the lowest and there is an unused area in the registerable area where data can be registered,
The obtained data is registered in DCHE 1102. Further, the IPC bit included in each TME of the registrable area is the IPT of the page including the accessed data.
If it is the same as the bit or lower than the IPT bit, the obtained data is. Register with DCHE 1102.

【0028】次に、本実施例におけるアドレス変換につ
いて説明する。
Next, address conversion in this embodiment will be described.

【0029】本実施例の仮想アドレス空間は4Gバイト
であり、この空間を1Gバイトづつ四つに分けて、それ
ぞれの仮想アドレス空間をセクションと呼ぶ。それぞれ
のセクションは、更に1024の領域に分けられて、そ
れぞれの領域はエリアと呼ばれる。これらの各エリアは
1Mバイトの大きさを持っており、更に、分割されて2
56個のページに区分される。この各ページは4Kバイ
トの大きさを持っている。本実施例におけるアドレス変
換は、アドレス変換データおよびPTEの情報を参照し
て行われる。アドレス変換データは、仮想アドレスの2
0〜31ビットにより選択することができるように、ア
ドレス変換表に配置される。また、エリアとは1対1で
対応している。また、ページ・テーブルは、エリアごと
に1枚づつ存在するテーブルであり、その主記憶108
上におけるベース・アドレスは、そのエリアに対応する
アドレス変換データにより指定され、それぞれのエント
リがPTEである。
The virtual address space of this embodiment is 4 Gbytes, and this space is divided into four 1 Gbytes, and each virtual address space is called a section. Each section is further divided into 1024 areas, and each area is called an area. Each of these areas has a size of 1 MB and is further divided into 2
It is divided into 56 pages. Each page has a size of 4 Kbytes. The address conversion in this embodiment is performed with reference to the address conversion data and PTE information. The address conversion data is the virtual address 2
It is arranged in the address conversion table so that it can be selected by bits 0 to 31. There is a one-to-one correspondence with areas. The page table is a table that exists one for each area, and its main storage 108
The base address above is specified by the address translation data corresponding to that area, and each entry is a PTE.

【0030】本実施例のDCHEについて説明する。The DCHE of this embodiment will be described.

【0031】本実施例のDCHE107には1280バ
イトの空間があり、その空間を64バイトづつ二つに分
けて、それぞれをセット(0)およびセット(1)と呼
ぶ。セット(0)およびセット(1)のそれぞれは、デ
ータを登録する空間512バイトおよびタム・メモリ1
28バイトに分割されている。更に、データを登録する
空間を16バイトづつ32個に分割し、それぞれをブロ
ックと呼ぶ。そして更に当該ブロックを4バイトづつ4
個に分けて、それぞれをサブブロックと呼ぶ。また、タ
グ・メモリをブロックそれぞれに対応するように4バイ
ドづつ32個に分割して、それぞれをTMEと呼ぶ。こ
のTMEは、対応するブロックに登録されているデータ
の実アドレス〈9−31〉を保持している。また対応す
るブロックに含まれる四つのサブブロックのそれぞれが
有効であることを示すバリッドビット〈0−3〉、ブロ
ックに登録されているデータを含むページのPTEのI
PTビット〈0,1〉を複写するIPCビット〈0,
1〉も保持している。加えて、セット(0)のTME
は、対応するブロックのデータの登録または出力が、そ
れと対になっているセット(1)のブロックのデータの
登録または出力より、最近に行われたことを示すLRU
ビットを保持している。
The DCHE 107 of this embodiment has a space of 1280 bytes, and the space is divided into two parts of 64 bytes, which are called set (0) and set (1). Each of set (0) and set (1) has 512 bytes of space to register data and tom memory 1
It is divided into 28 bytes. Furthermore, the space for registering data is divided into 32 pieces of 16 bytes each, and each is called a block. Then, the block is further divided into 4 bytes 4
It is divided into pieces and each is called a sub-block. Further, the tag memory is divided into 32 pieces by 4 bytes so as to correspond to each block, and each is called TME. This TME holds the real address <9-31> of the data registered in the corresponding block. Also, valid bits <0-3> indicating that each of the four sub-blocks included in the corresponding block is valid, I of the PTE of the page including the data registered in the block.
IPC bit <0, which copies the PT bit <0, 1>
1> is also held. In addition, the set (0) TME
Indicates that the registration or output of the data of the corresponding block is performed more recently than the registration or output of the data of the block of the set (1) with which the corresponding block is paired.
Holding a bit.

【0032】本実施例の実際のアクセス動作について、
図1、図2、図3、図4および図5を用いて説明する。
Regarding the actual access operation of this embodiment,
This will be described with reference to FIGS. 1, 2, 3, 4, and 5.

【0033】図1において、主記憶108より取り込ま
れた命令に従って、IDU104において当該命令がデ
コードされる。更に、EAG102において計算された
仮想アドレスが、内部仮想アドレス・バス115を経由
して、MMU103に入力される。そして、MMU10
3においては、当該仮想アドレスを実アドレスに変換し
て出力し、当該実アドレスを、内部実アドレス・バス1
16を経由して、アドレス・バス109を制御するAC
U105と、DCHE107に転送する。また、今回ア
クセスしたデータを含むページのPTEのIPTビット
〈0,1〉をチェックして、それをキャッシュ登録レベ
ル信号112を介してDCHE107に転送する。DC
HE107においては、実アドレスを受け取り、またア
クセスしているデータがDCHE107に登録されてい
る時には、当該登録されているデータを、内部データ・
バス110に出力する。また、データがDCHE107
に登録されていたことを、キャッシュ・ヒット信号11
3をアクティブにして、ACU105に転送する。
In FIG. 1, the instruction is decoded in the IDU 104 according to the instruction fetched from the main memory 108. Further, the virtual address calculated in the EAG 102 is input to the MMU 103 via the internal virtual address bus 115. And MMU10
3, the virtual address is converted into a real address and output, and the real address is converted into the internal real address bus 1
AC controlling the address bus 109 via 16
Transfer to U105 and DCHE107. Also, the IPT bit <0,1> of the PTE of the page including the data accessed this time is checked and transferred to the DCHE 107 via the cache registration level signal 112. DC
The HE 107 receives the real address, and when the data being accessed is registered in the DCHE 107, the registered data is transferred to the internal data.
Output to the bus 110. Also, the data is DCHE107.
Was registered in the cache hit signal 11
3 is activated and transferred to the ACU 105.

【0034】ACU105においては、前記実アドレス
の入力を受けて、キャッシュ・ヒット信号113がイン
アクティブである時には、アドレス・バス109と制御
信号111を制御することにより、主記憶108に対す
るアクセスを実行する。主記憶108においては、アク
セスされたデータを出力して、データ・バス110を経
由してDCU106に転送する。DCU106において
は、主記憶108からのデータを受けて、当該データを
内部データ・バス114を経由して、EXU101、I
DU104およびDCHE107に転送する。DCHE
107においては、当該データがDCHE107に登録
されていない時には、DCHE107に登録されている
データの登録レベルと、アクセスしたデータの登録レベ
ルとを比較して、その結果に応じて、DCU106より
内部データ・バス114に出力されたデータを登録す
る。
In the ACU 105, when the real address is input and the cache hit signal 113 is inactive, the address bus 109 and the control signal 111 are controlled to access the main memory 108. . In the main memory 108, the accessed data is output and transferred to the DCU 106 via the data bus 110. The DCU 106 receives data from the main memory 108 and sends the data via the internal data bus 114 to the EXU 101, I
Transfer to DU 104 and DCHE 107. DCHE
In 107, when the data is not registered in the DCHE 107, the registration level of the data registered in the DCHE 107 is compared with the registration level of the accessed data, and according to the result, the internal data from the DCU 106 The data output to the bus 114 is registered.

【0035】図5は、図1におけるMMU103の動作
の概要を示す図である。図1の内部仮想アドレス・バス
115を経由して送られてくる32ビットの仮想アドレ
ス501の内、上位12ビット(ビット20〜31)の
セクションとエリアID503から、アドレス変換表5
08(アドレス変換データにより構成されている)の内
のアドレス変換データ509(ページ・テーブルのベー
ス・アドレスが記憶されている)が選択され、ページ・
テーブル510のベース・アドレスが指定される。PT
E511は、ビット12〜19のページID504によ
って決まる。このPTE511の指す実ページ・ナンバ
ーとページ内オフセット505により、仮想アドレス5
01に対応する実アドレス512が指定される。この実
アドレス512は、図1の内部実アドレス・バス116
を経由して、アドレス・バス109に対する制御を行う
ACU105に転送される。また、この時に、PTE5
11のIPTビット305の値を、キャッシュ登録レベ
ル信号112を介してDCHE107に転送する。PT
E511内の構成を図3に示す。図3に示されるよう
に、PTE511は、IPTビット305、およびPT
E511の指すページの主記憶108上における実アド
レスを持つ実ページ・ナンバー・フィールド309等に
より構成されている。
FIG. 5 is a diagram showing an outline of the operation of the MMU 103 in FIG. From the 32-bit virtual address 501 sent via the internal virtual address bus 115 in FIG. 1, the upper 12-bit section (bits 20 to 31) and the area ID 503 are used to calculate the address conversion table 5.
Address translation data 509 (which stores the base address of the page table) out of 08 (which is composed of address translation data) is selected,
The base address of table 510 is specified. PT
E511 is determined by the page ID 504 of bits 12-19. The virtual address 5 is determined by the real page number pointed to by this PTE 511 and the in-page offset 505.
The real address 512 corresponding to 01 is designated. This real address 512 is the internal real address bus 116 of FIG.
Through the ACU 105, which controls the address bus 109. Also, at this time, PTE5
The value of the IPT bit 305 of 11 is transferred to the DCHE 107 via the cache registration level signal 112. PT
The structure inside E511 is shown in FIG. As shown in FIG. 3, PTE 511 has IPT bit 305 and PT
It is composed of a real page number field 309 having a real address on the main memory 108 of the page pointed to by E511.

【0036】図2は、図1のDCHE107の構成図で
ある。以下に、図2を用いてDCHE107の動作につ
いて説明する。実アドレス〈23−31〉と実アドレス
〈2、3〉は、MMU103から内部実アドレス・バス
116を経由して、デコーダ203に入力される。デコ
ーダ203においては、セット(0)201から、該当
するブロック(0)218のTME(0)213とサブ
ブロック(0)220を、セット(1)202から該当
するブロック(1)219のTME(1)214とサブ
ブロック(1)221とを選択する。選択されたTME
(0)213とTME(1)214は、タグ・アドレス
・バス(0)233と、タグ・アドレス・バス(1)2
34を経由して、比較器(0)(以下、CMP(0)と
云う)204と、比較器(1)(以下、CMP(1)と
云う)205に対して、A〈9−31〉を出力する。ま
た、バリッドビット線(0)231とバリッドビット線
(1)232を経由して、キャッシュ・コントロール・
ブロック206に対して、選択されたサブブロックに対
応するバリッドビット(0)216とバリッドビット
(1)217とを出力する。そして、また登録レベル・
バス(0)228と、登録レベル・バス(1)229と
を経由して、キャッシュ・コントロール・ブロック20
6に格納されているIPCビットの内容も出力する。加
えて、TME(0)213は、LRUビット線230を
経由して、キャッシュ・コントロール・ブロック206
に対して、LRUビット215の状態を出力する。
FIG. 2 is a block diagram of the DCHE 107 of FIG. The operation of the DCHE 107 will be described below with reference to FIG. The real address <23-31> and the real address <2, 3> are input from the MMU 103 to the decoder 203 via the internal real address bus 116. In the decoder 203, the TME (0) 213 and the sub-block (0) 220 of the corresponding block (0) 218 from the set (0) 201, and the TME (of the corresponding block (1) 219 from the set (1) 202. 1) 214 and sub-block (1) 221 are selected. Selected TME
(0) 213 and TME (1) 214 have a tag address bus (0) 233 and a tag address bus (1) 2
A <9-31> to the comparator (0) (hereinafter referred to as CMP (0)) 204 and the comparator (1) (hereinafter referred to as CMP (1)) 205 via 34. Is output. In addition, cache control via the valid bit line (0) 231 and the valid bit line (1) 232.
The valid bit (0) 216 and the valid bit (1) 217 corresponding to the selected sub-block are output to the block 206. And again the registration level
The cache control block 20 is routed through the bus (0) 228 and the registration level bus (1) 229.
The contents of the IPC bit stored in 6 are also output. In addition, TME (0) 213 is routed through cache control block 206 via LRU bit line 230.
, The state of the LRU bit 215 is output.

【0037】CMP(0)204においては、TME
(0)213のA〈9−31〉が実アドレス〈9−3
1〉と一致した場合には、比較結果線(0)226をア
クティブにする。またCMP(1)205においては、
TME(1)214のA〈9−31〉が実アドレス〈9
−31〉と一致した場合に、比較結果線(1)227を
アクティブにする。また、そのデータを含むページのP
TEのIPTビット〈0,1〉の値は、キャッシュ登録
レベル信号を介して、キャッシュ・コントロール・ブロ
ック206に出力される。キャッシュ・コントロール・
ブロック206においては、比較結果線(0)226と
バリッドビット(0)216がアクティブの時には、バ
ッファ・コントロール・バス222を経由して、データ
・バッファ207を制御して、サブブロック(0)22
0のデータを内部データ・バス114に出力させ、且つ
LRUビット215をアクティブにする。また、比較結
果線(1)227とバリット・ビット(1)217がア
クティブの時には、サブブロック(1)221に含まれ
るデータを、バッファ・コントロール・バス222を経
由して、データ・バッファ207を制御して、内部デー
タ・バス114に出力させ、且つLRUビット215を
インアクティブにする。
In CMP (0) 204, TME
A <9-31> of (0) 213 is the real address <9-3.
If it matches 1>, the comparison result line (0) 226 is activated. In CMP (1) 205,
A <9-31> of TME (1) 214 is real address <9
-31>, the comparison result line (1) 227 is activated. Also, the P of the page containing the data
The value of the IPT bit <0,1> of TE is output to the cache control block 206 via the cache registration level signal. Cache control
In block 206, when the comparison result line (0) 226 and the valid bit (0) 216 are active, the data buffer 207 is controlled via the buffer control bus 222, and the sub block (0) 22 is controlled.
0 data is output on the internal data bus 114 and the LRU bit 215 is activated. When the comparison result line (1) 227 and the valid bit (1) 217 are active, the data contained in the sub-block (1) 221 is transferred to the data buffer 207 via the buffer control bus 222. Controls to output on internal data bus 114 and deactivates LRU bit 215.

【0038】また、キャッシュ・コントロール・ブロッ
ク206においては、比較結果線(0)226および比
較結果線(1)227が両方ともインアクティブであ
り、キャッシュ登録レベル信号の値が最低ではない時に
は、バリッドビット(0)216およびバリッドビット
(1)217の状態により、下記の動作(〜)の内
の一つを実行する。 バリッドビット216がインアクティブである場合に
は、LRUビット215をアクティブにする。またTM
E(0)213のIPCビットにキャッシュ登録レベル
信号112の値を複写し、ブロック(0)218のサブ
ブロックにデータを登録する。 バリッドビット217がインアクティブである場合に
は、LRUビット215をインアクティブにする。また
TME(1)214のIPCビットにキャッシュ登録レ
ベル信号112の値を複写し、ブロック(1)219の
サブブロックにデータを登録する。 バリッドビット216および217の両方ともインア
クティブである場合には、LRUビット215をアクテ
ィブにする。またTME(0)213のIPCビットに
キャッシュ登録レベル信号112の値を複写し、ブロッ
ク(0)218のサブブロックにデータを登録する。 バリッドビット216および217の両方ともアクテ
ィブである場合には、キャッシュ・コントロール・ブロ
ック206により、TME(0)213のIPCビッ
ト、TME(1)214のIPCビットおよびキャッシ
ュ登録レベル信号112の値の大小関係をチェックす
る。
Further, in the cache control block 206, when both the comparison result line (0) 226 and the comparison result line (1) 227 are inactive and the value of the cache registration level signal is not the minimum value, the valid value is valid. Depending on the states of bit (0) 216 and valid bit (1) 217, one of the following operations (-) is executed. If valid bit 216 is inactive, then activate LRU bit 215. Also TM
The value of the cache registration level signal 112 is copied to the IPC bit of E (0) 213, and the data is registered in the sub-block of block (0) 218. If the valid bit 217 is inactive, the LRU bit 215 is made inactive. Further, the value of the cache registration level signal 112 is copied to the IPC bit of TME (1) 214, and the data is registered in the sub block of block (1) 219. If both valid bits 216 and 217 are inactive, then activate LRU bit 215. Also, the value of the cache registration level signal 112 is copied to the IPC bit of TME (0) 213, and the data is registered in the sub block of block (0) 218. If both valid bits 216 and 217 are active, the cache control block 206 causes the value of the IPC bit of TME (0) 213, the IPC bit of TME (1) 214 and the cache registration level signal 112 to be small or large. Check the relationship.

【0039】そして、キャッシュ・コントロール・ブロ
ック206により、TME(0)213のIPCビッ
ト、TME(1)214のIPCビットおよびキャッシ
ュ登録レベル信号112の値の大小関係によって、下記
の動作(−1〜−3)の内の一つを実行する。 −1:TME(0)213のIPCビット値よりもキ
ャッシュ登録レベル信号112の値の方が高く、TME
(0)213のIPCビット値が、TME(1)214
のIPCビット値よりも低い場合には、LRUビット2
15をアクティブにする。また、TME(0)213の
IPCビットにキャッシュ登録レベル信号112の値を
複写し、ブロック(0)218のサブブロックにデータ
を登録する。 −2 TME(1)214のIPCビット値よりもキ
ャッシュ登録レベル信号112の値の方が高く、TME
(1)214のIPCビット値が、TME(0)213
のIPCビット値よりも低い場合には、LRUビット2
15をインアクティブにする。また、TME(1)21
4のIPCビットにキャッシュ登録レベル信号112の
値を複写し、ブロック(1)219のサブブロックにデ
ータを登録する。 −3:TME(0)213のIPCビットおよびTM
E(1)214のIPCビットのどちらよりもキャッシ
ュ登録レベル信号の値が高く、TME(0)213のI
PCビットの値とTME(1)214のIPCビットの
値が同じ時には、TME(0)213のLRUビット2
15の状態により、下記の動作(−3−1〜−3−
2)の内の一つを実行する。 −3−1:LAUビット215がアクティブである時
には、LRUビット215をインアクティブにする。ま
た、TME(1)214のIPCビットにキャッシュ登
録レベル信号112の値を複写し、ブロック(1)21
9のサブブロックにデータを登録する。 −3−2:LRUビット215がインアクティブであ
る時には、LRUビット215をアクティブにする。ま
た、TME(0)213のIPCビットにキャッシュ登
録レベル信号112の値を複写し、ブロック(0)21
8のサブブロックにデータを登録する。
Then, the cache control block 206 causes the following operations (-1 to -1) depending on the magnitude relationship between the IPC bit of TME (0) 213, the IPC bit of TME (1) 214 and the value of the cache registration level signal 112. Execute one of -3). -1: The value of the cache registration level signal 112 is higher than the IPC bit value of TME (0) 213,
The IPC bit value of (0) 213 is TME (1) 214
LRU bit 2 if lower than the IPC bit value of
Activate 15. Also, the value of the cache registration level signal 112 is copied to the IPC bit of TME (0) 213, and the data is registered in the sub block of block (0) 218. -2, the value of the cache registration level signal 112 is higher than the IPC bit value of TME (1) 214,
(1) The IPC bit value of 214 is TME (0) 213
LRU bit 2 if lower than the IPC bit value of
Make 15 inactive. Also, TME (1) 21
The value of the cache registration level signal 112 is copied to the IPC bit of 4 and the data is registered in the sub block of the block (1) 219. -3: TME (0) 213 IPC bit and TM
The value of the cache registration level signal is higher than either of the IPC bits of E (1) 214 and I of TME (0) 213.
When the value of the PC bit and the value of the IPC bit of TME (1) 214 are the same, the LRU bit 2 of TME (0) 213
The following operations (-3-1 to -3-
Perform one of 2). 3-1: When the LAU bit 215 is active, make the LRU bit 215 inactive. Further, the value of the cache registration level signal 112 is copied to the IPC bit of TME (1) 214, and the block (1) 21
Data is registered in 9 sub-blocks. -3-2: When the LRU bit 215 is inactive, activate the LRU bit 215. Also, the value of the cache registration level signal 112 is copied to the IPC bit of TME (0) 213, and the block (0) 21
Data is registered in 8 sub-blocks.

【0040】なお、キャッシュ・コントロール・ブロッ
ク206においては、上記に挙げた以外の場合には、デ
ータの実アドレス〈9−8〉と、DCU106より内部
データ・バス114に出力されるデータの登録を行わな
い。
In the cache control block 206, in the cases other than those mentioned above, the real address <9-8> of the data and the data output from the DCU 106 to the internal data bus 114 are registered. Not performed.

【0041】TME内の構成を図4に示す。図4に示さ
れるように、TMEは未使用ビット401、IPCビッ
ト402、セット(0)およびセット(1)のどちらが
最も最近に登録され、または参照されたかを示すLRU
ビット403、サフブロック(0)〜サブブロック
(3)が有効であるか否かを示すVL〈0−31〉ビッ
ト404、キャッシュに登録されているデータの実アド
レス上位23ビットであるA〈9−31〉405により
構成されている。
The internal structure of the TME is shown in FIG. As shown in FIG. 4, the TME indicates an unused bit 401, an IPC bit 402, an LRU indicating which of set (0) and set (1) was most recently registered or referenced.
Bit 403, VL <0-31> bit 404 indicating whether or not subblock (0) to subblock (3) are valid, and A <9 which is the upper 23 bits of the real address of the data registered in the cache. -31> 405.

【0042】図6は本発明の第2の実施例のシステム構
成を示すブロック図である。図6に示されるように、本
実施例は、CPU609と、MMU601と、DCHE
602と、主記憶604とを備えて構成されており、キ
ャッシュとアドレス変換機構が、CPU609の外部に
配置されている。本実施例は、第1の実施例に比較し
て、IPTビット、IPCビット、キャッシュ・コント
ロール・ブロックおよびそれらを接続するキャッシュ登
録レベル信号、登録レベル・バス(0)、登録レベル・
バス(1)のビット数が増えている。また、キャッシュ
・メモリの構成も変化している。このようにビット数が
増えたことにより、本実施例は、前述の第1の実施例よ
りも、キャッシュに対するデータの登録を細部に亘り制
御することができる。
FIG. 6 is a block diagram showing the system configuration of the second embodiment of the present invention. As shown in FIG. 6, in the present embodiment, the CPU 609, the MMU 601, and the DCHE
The memory 602 and the main memory 604 are provided, and the cache and the address translation mechanism are arranged outside the CPU 609. This embodiment is different from the first embodiment in that an IPT bit, an IPC bit, a cache control block and a cache registration level signal connecting them, a registration level bus (0), a registration level
The number of bits on the bus (1) is increasing. Also, the structure of the cache memory is changing. Since the number of bits is increased in this manner, the present embodiment can control the registration of data in the cache in more detail than the first embodiment described above.

【0043】次に、本実施例のDCHEについて説明す
る。
Next, the DCHE of this embodiment will be described.

【0044】本実施例のDCHE107には1536バ
イトの空間があり、その空間を768バイトづつ二つに
分けて、それぞれをセット(0)とセット(1)と呼
ぶ。セット(0)およびセット(1)のそれぞれは、デ
ータを登録する空間512バイトおよびタグ・メモリ2
56バイトに分割されている。更に、データを登録する
空間を8バイトづつ64個に分割し、それぞれをブロッ
クと呼ぶ。そして更に当該ブロックを4バイトづつ2個
に分けて、それぞれをサブブロックと呼ぶ。また、タグ
・メモリをブロックそれぞれに対応するように4バイド
づつ64個に分割して、それぞれをTMEと呼ぶ。この
TMEは、対応するブロックに登録されているデータの
実アドレス〈9−31〉を保持している。また対応する
ブロックに含まれる二つのサブブロックのそれぞれが有
効であることを示すバリッドビット〈0−1〉、ブロッ
クに登録されているデータを含むページのPTEのIP
Tビット〈0−2〉を複写するIPCビット〈0−2〉
も保持している。加えて、セット(0)のTMEは、対
応するブロックのデータの登録または出力が、それと対
になっているセット(1)のブロックのデータの登録ま
たは出力より、最近に行われたことを示すLRUビット
を保持している。
The DCHE 107 of this embodiment has a space of 1536 bytes, and the space is divided into two by 768 bytes, which are called set (0) and set (1). Each of set (0) and set (1) has 512 bytes of space for registering data and tag memory 2
It is divided into 56 bytes. Furthermore, the space for registering data is divided into 64 pieces of 8 bytes each, and each is called a block. Then, the block is further divided into two by 4 bytes and each is called a sub-block. Further, the tag memory is divided into 64 units of 4 bytes so as to correspond to each block, and each is referred to as TME. This TME holds the real address <9-31> of the data registered in the corresponding block. A valid bit <0-1> indicating that each of the two sub-blocks included in the corresponding block is valid, the PTE IP of the page including the data registered in the block
IPC bit <0-2> for copying T bit <0-2>
Also holds. In addition, the TME of set (0) indicates that the registration or output of the data of the corresponding block was performed more recently than the registration or output of the data of the block of set (1) with which it was paired. It holds the LRU bit.

【0045】図6において、主記憶604より取り込ま
れた命令に従って、CPU609により、仮想アドレス
を、仮想アドレス・バス610を経由してMMU601
に転送する。MMU601においては、当該仮想アドレ
スを実アドレスに変換して出力し、当該実アドレスを、
実アドレス・バス605を経由して、主記憶604とD
CHE602に転送する。また、今回アクセスしたデー
タを含むページのPTEのIPTビット〈0,1,2〉
をチェックして、それをキャッシュ登録レベル信号60
3を介してDCHE602に転送する。DCHE602
においては、実アドレスを受け取り、またアクセスして
いるデータがDCHE602に登録されている時には、
当該登録されているデータを、データ・バス606に出
力する。また、データがDCHE602に登録されてい
たことを、キャッシュ・ヒット信号608をアクティブ
にして、MMU601に転送する。
In FIG. 6, according to the instruction fetched from the main memory 604, the CPU 609 sends the virtual address to the MMU 601 via the virtual address bus 610.
Transfer to. The MMU 601 converts the virtual address into a real address and outputs the real address.
Main memory 604 and D via real address bus 605
Transfer to CHE602. Also, the IPT bits of the PTE of the page containing the data accessed this time <0, 1, 2>
Check the cache registration level signal 60
3 to DCHE 602. DCHE602
, When the real address is received and the data being accessed is registered in DCHE602,
The registered data is output to the data bus 606. Further, the fact that the data has been registered in the DCHE 602 is transferred to the MMU 601 by activating the cache hit signal 608.

【0046】MMU601においては、キャッシュ・ヒ
ット信号608がインアクティブである時には、制御信
号607を介して主記憶604に対するアクセスを実行
する。主記憶604においては、アクセスされたデータ
を出力して、データ・バス606を経由してCPU60
9とDCHE602に転送する。DCHE602におい
ては、当該データがDCHE602に登録されていない
時には、DCHE602に登録されているデータの登録
レベルと、アクセスしたデータの登録レベルとを比較し
て、その結果に応じて、当該データ・バス606に出力
されているデータを登録する。
In the MMU 601, when the cache hit signal 608 is inactive, the access to the main memory 604 is executed via the control signal 607. In the main memory 604, the accessed data is output and the CPU 60 is output via the data bus 606.
9 and DCHE 602. In the DCHE 602, when the data is not registered in the DCHE 602, the registration level of the data registered in the DCHE 602 is compared with the registration level of the accessed data, and the data bus 606 corresponding to the result is compared. Register the data output to.

【0047】図10は、図6におけるMMU601の動
作の概要を示す図である。図1の第1の実施例の場合に
比較すると、PTE511からPTE1001に変化し
ていることが分かる。なお、その動作については、第1
の実施例の場合と同様であり、その説明は省略する。P
TE1001内の構成が図8に示される。PTEは、I
PTビット801、PTEの指すページの主記憶604
上における実アドレスを持つリアル・ページ・ナンバー
・フィールド309等により構成される。第1の実施例
の場合に比較すると、TME(0)213からTME
(0)704に、TME(1)213からTME(1)
705に、タグ・メモリ(0)211からタグ・メモリ
(0)702に、タグ・メモリ(1)212からタグ・
メモリ(1)703に、それぞれ変化している。また、
四つのサブブロックにより構成されているブロック
(0)218とブロック(1)219から、二つのサブ
ブロックにより構成されているブロック(0)708と
ブロック(1)709に変化している。また、実アドレ
ス〈23−32〉と実アドレス〈2−3〉をデコードし
て、ブロックとサブブロックを選択するデコーダ203
が、実アドレス〈22−3〉と実アドレス〈2〉をデコ
ードして、ブロックとサブブロックを選択するデコーダ
710に変化している。また、内部実アドレス・バス1
16、内部データ・バス114およびキャッシュ・ヒッ
ト信号113が、それぞれ実アドレス・バス605、デ
ータ・バス606およびキャッシュ・ヒット信号608
に変化している。更に、登録レベル・バス(0)228
のビット数が1ビット増えて登録レベル・バス(0)7
06に変化し、登録レベル・バス(1)229のビット
数が1ビット増えて登録レベル・バス(1)707に変
化している。加えて、キャッシュ・コントロール・ブロ
ック701は、キャッシュ・コントロール・ブロック2
06の、登録レベル・バス(0)の値、登録レベル・バ
ス(1)の値およびキャッシュ登録レベル信号の値の大
小関係をチェックする回路と、キャッシュ登録レベル信
号の値が最低であることをチェックする回路のビット数
を、1ビット増やした回路として形成されている。
FIG. 10 is a diagram showing an outline of the operation of the MMU 601 in FIG. Comparing with the case of the first embodiment of FIG. 1, it can be seen that the PTE 511 is changed to the PTE 1001. Regarding the operation,
This is the same as the case of the above embodiment, and the description thereof will be omitted. P
The configuration inside the TE 1001 is shown in FIG. PTE is I
PT bit 801, main memory 604 of page pointed to by PTE
It is composed of a real page number field 309 having the real address above. Compared to the case of the first embodiment, TME (0) 213 to TME
(0) 704, TME (1) 213 to TME (1)
705, tag memory (0) 211 to tag memory (0) 702, tag memory (1) 212 to tag memory
The memory (1) 703 has changed. Also,
The block (0) 218 and the block (1) 219 configured by four sub blocks are changed to the block (0) 708 and the block (1) 709 configured by two sub blocks. A decoder 203 that decodes the real address <23-32> and the real address <2-3> to select a block and a sub block
However, it is changed to a decoder 710 which decodes the real address <22-3> and the real address <2> and selects a block and a sub block. Also, the internal real address bus 1
16, internal data bus 114 and cache hit signal 113 are the real address bus 605, data bus 606 and cache hit signal 608, respectively.
Has changed to. In addition, registration level bus (0) 228
Registered level bus (0) 7 increased by 1 bit
The number of bits of the registration level bus (1) 229 is increased by 1 bit and changed to the registration level bus (1) 707. In addition, the cache control block 701 is the cache control block 2
06, a circuit for checking the magnitude relationship among the value of the registration level bus (0), the value of the registration level bus (1) and the value of the cache registration level signal, and that the value of the cache registration level signal is the lowest. It is formed as a circuit in which the number of bits of the circuit to be checked is increased by 1 bit.

【0048】なお、本実施例におけるDCHE602
は、実アドレス〈22−31〉と実アドレス〈2〉が、
MMU103から、実アドレス・バス605を経由して
デコーダ710に入力されること以外の動作について
は、図1に示される第1の実施例のDCHE107の動
作と同一である。また、本実施例におけるTMEの内部
構成は図9に示されるとうりであり、第1の実施例に比
較して、IPCビット402のビット数が増えて、IP
Cビット901に変化している。また、バリッドビット
404のビット数は、2ビット減って、バリッドビット
903に変っている。
The DCHE 602 in this embodiment is used.
Is the real address <22-31> and the real address <2>,
The operation other than the input from the MMU 103 to the decoder 710 via the real address bus 605 is the same as the operation of the DCHE 107 of the first embodiment shown in FIG. Further, the internal structure of the TME in this embodiment is as shown in FIG. 9, and the number of IPC bits 402 is increased as compared with the first embodiment, and the IP
It has changed to C bit 901. In addition, the number of bits of the valid bit 404 is reduced by 2 bits and changed to the valid bit 903.

【0049】[0049]

【発明の効果】以上説明したように、本発明は、データ
を登録する領域に空きがある場合には、たとえ、アクセ
ス頻度の低いデータであってもキャッシュ登録を可能と
することにより、ヒット率を向上させることができると
いう効果がある。
As described above, according to the present invention, when the area for registering the data has a free space, even if the data is accessed infrequently, the cache registration can be performed. There is an effect that can improve.

【0050】また、キャッシュに登録されているデータ
により、アクセスするデータの登録の可否を制御してお
り、これにより、データ登録の領域が空いていない状態
において、キャッシュに登録されているデータが、それ
よりアクセス頻度の少ないデータにより、当該キャッシ
ュより追い出されることが回避され、その分ヒット率が
改善されるという効果がある。
The data registered in the cache controls whether or not the data to be accessed can be registered. As a result, when the data registration area is not empty, the data registered in the cache is Data that is less frequently accessed than that can be prevented from being evicted from the cache, and the hit rate can be improved accordingly.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施例を示すシステム構成図で
ある。
FIG. 1 is a system configuration diagram showing a first embodiment of the present invention.

【図2】前記第1の実施例の内蔵キャッシュを示す構成
図である。
FIG. 2 is a configuration diagram showing a built-in cache of the first embodiment.

【図3】前記第1の実施例のPTE内部の情報構成図で
ある。
FIG. 3 is an information structure diagram inside the PTE of the first embodiment.

【図4】前記第1の実施例のTME内部の情報構成図で
ある。
FIG. 4 is an information structure diagram inside the TME of the first embodiment.

【図5】前記第1の実施例のアドレス変換の概略図であ
る。
FIG. 5 is a schematic diagram of address translation of the first embodiment.

【図6】本発明の第2の実施例を示すシステム構成図で
ある。
FIG. 6 is a system configuration diagram showing a second embodiment of the present invention.

【図7】前記第2の実施例の内蔵キャッシュを示す構成
図である。
FIG. 7 is a configuration diagram showing a built-in cache of the second embodiment.

【図8】前記第2の実施例のPTE内部の情報構成図で
ある。
FIG. 8 is an information structure diagram inside the PTE of the second embodiment.

【図9】前記第2の実施例のTME内部の情報構成図で
ある。
FIG. 9 is an information structure diagram inside the TME of the second embodiment.

【図10】前記第2の実施例のアドレス変換の概略図で
ある。
FIG. 10 is a schematic diagram of address conversion in the second embodiment.

【図11】従来例(V80)を示すシステム構成図であ
る。
FIG. 11 is a system configuration diagram showing a conventional example (V80).

【図12】前記従来例の内蔵キャッシュを示す構成図で
ある。
FIG. 12 is a configuration diagram showing a built-in cache of the conventional example.

【図13】前記従来例のPTE内部の情報構成図であ
る。
FIG. 13 is an information structure diagram inside the PTE of the conventional example.

【図14】前記従来例のTME内部の情報構成図であ
る。
FIG. 14 is an information structure diagram inside the TME of the conventional example.

【図15】前記従来例のアドレス変換の概略図である。FIG. 15 is a schematic diagram of address conversion in the conventional example.

【符号の説明】[Explanation of symbols]

101 命令ユニット 102 EAG 103、601、1101 MMU 104 IDU 105 ACU 106 DCU 107、602、1102 DCHE 108、604 主記憶 109 アドレス・バス 110 データ・バス 111、607 制御信号 112、603 キャッシュ登録レベル信号 113、608 キャッシュ・ヒット信号 114 内部データ・バス 115 内部仮想アドレス・バス 116 内部実アドレス・バス 201 セット(0) 202 セット(1) 203 デコーダ 204 比較器(0) 205 比較器(1) 206、701、1201 キャッシュ・コントロー
ル・ブロック 207 データ・バッファ 211、702、1202 タグ・メモリ(0) 212、703、1203 タグ・メモリ(1) 213、704、1204 TME(0) 214、705、1205 TME(1) 215、403 LRUビット 216 バリッドビット(0) 217 バリッドビット(1) 218、708 ブロック(0) 219、709 ブロック(1) 220 サブブロック(0) 221 サブブロック(1) 222 バッファコントロール・バス 226 比較結果線(0) 227 比較結果線(1) 228、706 登録レベル・バス(0) 229、707 登録レベル・バス(1) 230 LRUビット線 231 バリットビット線(0) 232 バリットビット線(1) 233 タグ・アドレスバス(0) 234 タグ・アドレスバス(1) 305、801 IPTビット 309 実ページナンバー・フィールド 401、902、904、1401 未使用ビット 402、901 IPCビット 404、903 VLビット 405 A〈31−9〉 501 仮想アドレス 503 セクションとエリアID 504 ページID 505 ページ内オフセット 508 アドレス変換表 509 アドレス変換データ 510 ページ・テーブル 511、1001、1501 PTE 512 実アドレス 605 実アドレス・バス 606 データ・バス 609 CPU 610 仮想アドレス・バス 710 デコーダ 1103 キャッシュ登録禁止信号 1301 DCHEインヒビット
101 instruction unit 102 EAG 103, 601, 1101 MMU 104 IDU 105 ACU 106 DCU 107, 602, 1102 DCHE 108, 604 main memory 109 address bus 110 data bus 111, 607 control signal 112, 603 cache registration level signal 113, 608 cache hit signal 114 internal data bus 115 internal virtual address bus 116 internal real address bus 201 set (0) 202 set (1) 203 decoder 204 comparator (0) 205 comparator (1) 206, 701, 1201 cache control block 207 data buffer 211, 702, 1202 tag memory (0) 212, 703, 1203 tag memory (1) 213, 704, 1204 ME (0) 214, 705, 1205 TME (1) 215, 403 LRU bit 216 Valid bit (0) 217 Valid bit (1) 218, 708 block (0) 219, 709 block (1) 220 Sub block (0) 221 Subblock (1) 222 Buffer control bus 226 Comparison result line (0) 227 Comparison result line (1) 228, 706 Registration level bus (0) 229, 707 Registration level bus (1) 230 LRU bit line 231 Valid bit line (0) 232 Valid bit line (1) 233 Tag address bus (0) 234 Tag address bus (1) 305, 801 IPT bit 309 Real page number field 401, 902, 904, 1401 Unused bit 402, 901 IPC Bit 404, 903 VL bit 405 A <31-9> 501 virtual address 503 section and area ID 504 page ID 505 in-page offset 508 address translation table 509 address translation data 510 page table 511, 1001, 1501 PTE 512 real address 605 Real address bus 606 Data bus 609 CPU 610 Virtual address bus 710 Decoder 1103 Cache registration inhibit signal 1301 DCHE inhibit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ページング方式の仮想記憶管理機構と、
N(正整数)ウェーセットアソシアティブでリプレース
をLRU方式により行うキャッシュメモリを内蔵または
外部に接続するマイクロプロセッサにおいて、 ページテーブルエントリに、値が高い程ページに含まれ
る命令またはデータがキャッシュに登録され易いことを
示すとともに、当該値が最低の時には前記ページに含ま
れるデータが前記キャッシュメモリに登録されることを
禁止されていることを示すビット情報(以下、IPTビ
ットと云う)を、セット単位にて当該キャッシュメモリ
に格納して形成されるIPCビットを有しており、所定
の主記憶装置に対応して、 アクセスしているデータを含むページのページ・テーブ
ル・エントリにおける前記IPTビットの値が、最も低
い値であるか否かをチェックするビット判定手段と、 前記キャッシュメモリに格納されているN本のIPCビ
ットの内から、最も値の低いIPCビットを選択するビ
ット選択手段と、 前記ビット選択手段により選択されたIPCビットまた
は所定のLRU方式により選択されたIPCビットと、
現在のIPTビットを比較照合するビット比較手段と、 前記ビット判定手段、ビット選択手段およびビット比較
手段の結果により、データを前記キャッシュメモリに登
録する手段と、 を少なくとも中央処理装置内に備えて構成され、前記I
PTビットの示す情報により、データをキャッシュメモ
リに登録することを禁止されていない場合には、前記ビ
ット選択手段により選択されたIPCビットの値よりも
IPTビットの値が高ければ、選択されたIPCビット
が対応するエントリにデータを登録し、前記ビット選択
手段により選択されたIPCビットの値よりもIPTビ
ットの値が低ければ、選択されたIPCビットが対応す
るエントリにデータを登録しないことを特徴とするマイ
クロプロセッサ。
1. A paging-type virtual memory management mechanism,
N (Positive integer) In a microprocessor that has internal or external cache memory that performs replacement by the LRU method with wayset associative, the higher the value in the page table entry, the easier the instruction or data included in the page is registered in the cache. Bit information (hereinafter referred to as an IPT bit) indicating that the data included in the page is prohibited from being registered in the cache memory when the value is the minimum, in units of sets. It has an IPC bit stored and formed in the cache memory, and the value of the IPT bit in the page table entry of the page containing the data being accessed corresponds to a predetermined main memory device, A bit determining means for checking whether the value is the lowest, The bit selecting means for selecting the IPC bit having the lowest value from the N IPC bits stored in the cache memory, and the IPC bit selected by the bit selecting means or a predetermined LRU method. IPC bit,
A bit comparison means for comparing and collating the current IPT bit, and a means for registering data in the cache memory according to the results of the bit determination means, bit selection means and bit comparison means are provided at least in the central processing unit. And said I
If registration of data in the cache memory is not prohibited by the information indicated by the PT bit, if the value of the IPT bit is higher than the value of the IPC bit selected by the bit selecting means, the selected IPC Data is registered in the entry corresponding to the bit, and if the value of the IPT bit is lower than the value of the IPC bit selected by the bit selecting means, the data is not registered in the entry corresponding to the selected IPC bit. And a microprocessor.
【請求項2】 ページング方式の仮想記憶管理機構と、
NウェーセットアソシアティブでリプレースをLRU方
式により行うキャッシュメモリを内蔵または外部に接続
するマイクロプロセッサにおいて、 ページテーブルエントリに、値が高い程ページに含まれ
る命令またはデータがキャッシュに登録され易いことを
示すとともに、当該値が最低の時には前記ページに含ま
れるデータが前記キャッシュメモリに登録されることを
禁止されていることを示すビット情報(以下、IPTビ
ットと云う)を、セット単位にて当該キャッシュメモリ
に格納して形成されるIPCビットを有しており、所定
の主記憶装置に対応して、 アクセスしているデータを含むページのページ・テーブ
ル・エントリにおける前記IPTビットの値が、最も低
い値であるか否かをチェックするビット判定手段と、 前記キャッシュメモリに格納されているN本のIPCビ
ットの内から、最も値の低いIPCビットを選択するビ
ット選択手段と、 前記ビット選択手段により選択されたIPCビットまた
は所定のLRU方式により選択されたIPCビットと、
現在のIPTビットを比較照合するビット比較手段と、 前記ビット判定手段、ビット選択手段およびビット比較
手段の結果により、データを前記キャッシュメモリに登
録する手段と、 を少なくとも中央処理装置外に備えて構成され、前記I
PTビットの示す情報により、データをキャッシュメモ
リに登録することを禁止されていない場合には、前記ビ
ット選択手段により選択されたIPCビットの値よりも
IPTビットの値が高ければ、選択されたIPCビット
が対応するエントリにデータを登録し、前記ビット選択
手段により選択されたIPCビットの値よりもIPTビ
ットの値が低ければ、選択されたIPCビットが対応す
るエントリにデータを登録しないことを特徴とするマイ
クロプロセッサ。
2. A paging-type virtual memory management mechanism,
In a microprocessor with a built-in or external cache memory that performs N-way set associative replacement by the LRU method, it is shown that the higher the value in the page table entry, the easier the instruction or data included in the page is registered in the cache. , Bit information (hereinafter referred to as an IPT bit) indicating that the data included in the page is prohibited from being registered in the cache memory when the value is the minimum in the cache memory. It has an IPC bit formed by storing, and the value of the IPT bit in the page table entry of the page containing the data being accessed is the lowest value corresponding to the predetermined main memory. A bit determining means for checking whether or not there is any; Address selection means for selecting the IPC bit with the lowest value from the N IPC bits stored in the memory, and the IPC bit selected by the bit selection means or the IPC bit selected by a predetermined LRU method. When,
A bit comparing means for comparing and collating the current IPT bit, and a means for registering data in the cache memory according to the results of the bit determining means, bit selecting means and bit comparing means are provided at least outside the central processing unit. And said I
If registration of data in the cache memory is not prohibited by the information indicated by the PT bit, if the value of the IPT bit is higher than the value of the IPC bit selected by the bit selecting means, the selected IPC Data is registered in the entry corresponding to the bit, and if the value of the IPT bit is lower than the value of the IPC bit selected by the bit selecting means, the data is not registered in the entry corresponding to the selected IPC bit. And a microprocessor.
JP5337714A 1993-12-28 1993-12-28 Microprocessor Withdrawn JPH07200412A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5337714A JPH07200412A (en) 1993-12-28 1993-12-28 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5337714A JPH07200412A (en) 1993-12-28 1993-12-28 Microprocessor

Publications (1)

Publication Number Publication Date
JPH07200412A true JPH07200412A (en) 1995-08-04

Family

ID=18311279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5337714A Withdrawn JPH07200412A (en) 1993-12-28 1993-12-28 Microprocessor

Country Status (1)

Country Link
JP (1) JPH07200412A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346168A (en) * 2004-05-31 2005-12-15 Matsushita Electric Ind Co Ltd Cache memory, system, and data storage method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346168A (en) * 2004-05-31 2005-12-15 Matsushita Electric Ind Co Ltd Cache memory, system, and data storage method
US7904675B2 (en) 2004-05-31 2011-03-08 Panasonic Corporation Cache memory, system, and method of storing data
JP4753549B2 (en) * 2004-05-31 2011-08-24 パナソニック株式会社 Cache memory and system

Similar Documents

Publication Publication Date Title
US5835963A (en) Processor with an addressable address translation buffer operative in associative and non-associative modes
JP5475055B2 (en) Cache memory attribute indicator with cached memory data
JP4295111B2 (en) Memory management system and memory access security grant method based on linear address
JP3740195B2 (en) Data processing device
US6823433B1 (en) Memory management system and method for providing physical address based memory access security
US6189074B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
US6532528B1 (en) Data processor and data processor system having multiple modes of address indexing and operation
US6854039B1 (en) Memory management system and method providing increased memory access security
JPH07287668A (en) Data processor
JPH0512116A (en) Cache memory controller
US20080177952A1 (en) Method and Apparatus for Setting Cache Policies in a Processor
JPH10177520A (en) Data processor and data processing system
JP3227707B2 (en) Cache memory control method for each driving mode
KR100995146B1 (en) System and method for handling device accesses to a memory providing increased memory access security
US7716453B2 (en) Descriptor-based memory management unit and method for memory management
US20060143405A1 (en) Data processing device
US6598050B1 (en) Apparatus and method for limited data sharing in a multi-tasking system
JPH09325913A (en) Semiconductor memory
JPH10143431A (en) Caching method of data for microprocessor and computer system
JPH07200412A (en) Microprocessor
JPH08305634A (en) Information processing method and device therefor
JP2005108262A (en) Data processor
JP3087279B2 (en) Microcomputer system
JP3290682B2 (en) Address translation device
JP2001282616A (en) Memory management system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306