JP2000276403A - Cache memory system - Google Patents

Cache memory system

Info

Publication number
JP2000276403A
JP2000276403A JP11077992A JP7799299A JP2000276403A JP 2000276403 A JP2000276403 A JP 2000276403A JP 11077992 A JP11077992 A JP 11077992A JP 7799299 A JP7799299 A JP 7799299A JP 2000276403 A JP2000276403 A JP 2000276403A
Authority
JP
Japan
Prior art keywords
area
address
cache
memory
tag
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
JP11077992A
Other languages
Japanese (ja)
Inventor
Tomohiko Azuma
智彦 我妻
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 JP11077992A priority Critical patent/JP2000276403A/en
Publication of JP2000276403A publication Critical patent/JP2000276403A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

Abstract

PROBLEM TO BE SOLVED: To improve the cache hit rate by preventing cache data of one right of memory ownership from being invalidated by another right of memory ownership. SOLUTION: Addresses of a user management area 3 in a main memory 1 are defined as one memory ownership area by an address definition register 6, and an OS is managed by a virtual address definition register 7. Consequently, when an application program is executed to access a memory, address comparison is performed in an address tag area 10 which manages only its area, and a cache block area 11 for user management area is accessed in the case of hit. When the OS executes its own program by a system call from the application program to access the memory, address comparison is performed only in an address tag area 12 for OS management, and a cache block area 13 for OS management is accessed in the case of hit.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明が属する技術分野】本発明は、キャッシュメモリ
に関し、特に、あるメモリ所有権のキャッシュデータが
他のメモリ所有権によって無効化されることをなくし、
キャッシュヒット率を向上させるメインメモリシステム
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory, and more particularly, to preventing cache data of one memory ownership from being invalidated by another memory ownership.
The present invention relates to a main memory system for improving a cache hit rate.

【0002】[0002]

【従来の技術】図4は、メインメモリ22、タグメモリ
25、及びキャッシュメモリ26を備えた従来のキャッ
シュメモリシステムのブロック図である。図4に示すよ
うにOS稼動上にアプリケーションプログラムを実行さ
せる場合においては、デコード回路28はメインメモリ
22内でOS管理領域23やユーザー管理領域24等に
ブロック番号を分割デコードするが、タグメモリ25や
キャッシュメモリ26についてはメモリの所有権、即
ち、OS管理領域23やユーザー管理領域24毎にはデ
コードしない。
2. Description of the Related Art FIG. 4 is a block diagram of a conventional cache memory system including a main memory 22, a tag memory 25, and a cache memory 26. As shown in FIG. 4, when the application program is executed on the OS, the decoding circuit 28 divides and decodes the block number into the OS management area 23 and the user management area 24 in the main memory 22. The cache memory 26 is not decoded for the ownership of the memory, that is, for each of the OS management area 23 and the user management area 24.

【0003】[0003]

【発明が解決しようとする課題】そのため、ある一定領
域や時間に、例えばユーザーの管理領域24におけるア
プリケーションプログラムが実行され、キャッシュメモ
リ26を占有したとき、同時にアプリケーションプログ
ラムからOSへシステムコールを行い、OSプログラム
が実行される。このときキャッシュメモリ26内におい
てアプリケーションプログラムとOSプログラムが競合
し、後からキャッシュメモリ26にコピーされたOSプ
ログラムは先にキャッシュメモリ26内にコピーされて
いたアプリケーションプログラムを上書きし、無効化す
る。すなわち、つまりOSとアプリケーションプログラ
ムの間で、それぞれのキャッシュデータを更新すること
によって、お互いのキャッシュデータを無効化させてし
まう障害があった。これは、複数のOS間、複数のアプ
リケーションプログラム間においても同様である。
Therefore, when an application program in, for example, the user's management area 24 is executed and occupies the cache memory 26 in a certain area or time, a system call is made from the application program to the OS at the same time. The OS program is executed. At this time, the application program and the OS program compete in the cache memory 26, and the OS program copied to the cache memory 26 later overwrites and invalidates the application program copied in the cache memory 26 first. That is, there is a problem that the cache data is updated between the OS and the application program, thereby invalidating the cache data. The same applies to a plurality of OSs and a plurality of application programs.

【0004】またタグメモリ領域やキャッシュメモリ領
域を大きく設けることもできるが、1つのタスクを実行
するにあたって、命令を実行していく領域が大きくなれ
ば、結果としてOSやアプリケーションプログラム、ま
たはデバイス等のメモリ所有権を持つ媒体がお互いにキ
ャッシュメモリ26にアクセスし、互いのデータを無効
化し合う。またシステムのコスト上昇の一因にもなって
しまう。
A large tag memory area and a large cache memory area can be provided. However, when a task is executed, if an area for executing an instruction becomes large, an OS, an application program, or a device such as a device is consequently lost. The media having the memory ownership mutually access the cache memory 26 and invalidate each other's data. It also contributes to an increase in the cost of the system.

【0005】更に、特開平8−263377号公報
(「キャッシュメモリ管理方式」)においては、OS管
理領域、ユーザー管理領域等にメインメモリ空間を分割
し、それぞれの領域においてキャッシュブロック領域を
設けているが、これらの領域から更に領域を分割して複
数のOS管理領域や複数のユーザーアプリケーションプ
ログラム等を稼動させることはできない。
In Japanese Patent Laid-Open Publication No. Hei 8-263377 ("cache memory management system"), a main memory space is divided into an OS management area, a user management area, and the like, and a cache block area is provided in each area. However, these areas cannot be further divided to operate a plurality of OS management areas, a plurality of user application programs, and the like.

【0006】従って例えば複数のユーザーアプリケーシ
ョンプログラムを実行させたときに、ユーザー管理領域
に該当するキャッシュブロック内において、やはりデー
タの競合を発生させてしまい、一方のデータが他方のデ
ータを無効化させてしまう。その結果システムの性能が
向上できなくなるという障害があった。
Therefore, for example, when a plurality of user application programs are executed, a data conflict also occurs in the cache block corresponding to the user management area, and one data invalidates the other data. I will. As a result, there is an obstacle that the performance of the system cannot be improved.

【0007】そこで、本発明は、あるメモリ所有権のキ
ャッシュデータが他のメモリ所有権によって無効化され
ることをなくし、キャッシュヒット率を向上させること
を課題としている。
Accordingly, an object of the present invention is to prevent cache data of a certain memory ownership from being invalidated by another memory ownership and to improve a cache hit rate.

【0008】[0008]

【課題を解決するための手段】上記の課題を解決するた
めの本発明は、メインメモリと、アドレスタグ領域と、
キャッシュブロック領域と、これらにアクセスするデコ
ード回路と、アクセスするアドレスを定義するアドレス
定義レジスタ及び仮想アドレスレジスタとを備えたキャ
ッシュメモリシステムであって、前記アドレス定義レジ
スタは、所有権及び又はデバイスごとに前記アドレスタ
グ領域及びキャッシュブロック領域とにアドレスを付与
し、アクセスするアドレスのタグをアドレスタグ領域で
ヒットした時は前記タグが指定する前記キャッシュブロ
ック領域にアクセスし、ヒットしない時はメインメモリ
にアクセスする。
According to the present invention, there is provided a main memory, an address tag area,
A cache memory system including a cache block area, a decoding circuit for accessing the cache block area, and an address definition register and a virtual address register for defining an address to be accessed, wherein the address definition register is provided for each ownership and / or device. An address is assigned to the address tag area and the cache block area. When a tag of an address to be accessed is hit in the address tag area, the cache block area specified by the tag is accessed, and when no hit is made, the main memory is accessed. I do.

【0009】すなわち、本発明においては、メインメモ
リ領域を使用目的毎にユーザー側で分割し、それに対応
してタグメモリ領域と、そのタグメモリ領域に管理され
るキャッシュブロック領域を自動的に分割する。更に、
それぞれのメインメモリ所有権の領域に関して、タグメ
モリ領域、キャッシュメモリ領域を制限なく細分化して
いる。
That is, in the present invention, the user divides the main memory area for each purpose of use, and automatically divides the tag memory area and the cache block area managed in the tag memory area accordingly. . Furthermore,
For each area of main memory ownership, the tag memory area and the cache memory area are subdivided without limitation.

【0010】[0010]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0011】図1は、本発明のキャッシュメモリシステ
ムのブロック図である。図1に示すように、本発明のキ
ャッシュメモリシステムは、メインメモリ1と、アドレ
スタグ領域4と、キャッシュブロック領域5と、アドレ
ス定義レジスタ6と、仮想アドレス定義レジスタ7と、
ブートROM8と、デコード回路9とを含む。
FIG. 1 is a block diagram of a cache memory system according to the present invention. As shown in FIG. 1, the cache memory system of the present invention includes a main memory 1, an address tag area 4, a cache block area 5, an address definition register 6, a virtual address definition register 7,
A boot ROM 8 and a decoding circuit 9 are included.

【0012】本発明のキャッシュメモリシステムにおい
ては、ブートROM8は、システム初期化時に、アドレ
ス定義レジスタ6を設定する。またこのアドレス定義レ
ジスタ6は、任意時にも設定できる。この設定値は仮想
アドレス定義レジスタ7にも反映され、OS管理時にも
参照される。
In the cache memory system of the present invention, the boot ROM 8 sets the address definition register 6 at the time of system initialization. The address definition register 6 can be set at any time. This set value is also reflected in the virtual address definition register 7 and is also referred to at the time of OS management.

【0013】メインメモリ1とアドレスタグ領域4及び
キャッシュブロック領域5は、アドレス定義レジスタ6
の内容に従い各領域に区切られ、デコード回路9によっ
て目的の領域がアクセスされる。データの一貫性保持は
このキャッシュブロック11とユーザー管理領域3の間
で行われる。
The main memory 1, the address tag area 4 and the cache block area 5 have an address definition register 6
And the decoding circuit 9 accesses the target area. Data consistency is maintained between the cache block 11 and the user management area 3.

【0014】OS管理領域2等のメインメモリの他の領
域についても同様である。
The same applies to other areas of the main memory such as the OS management area 2.

【0015】このようにして、アドレスタグ領域4、キ
ャッシュブロック領域5がメモリ所有権毎に存在する。
即ち、メモリは、アドレス定義レジスタ6によって区切
られた領域によって所有される。従って、他の所有権か
らのアクセスによるキャッシュ無効化を防ぐことによっ
て、キャッシュヒット率を低下させることなく、システ
ム全体を高速化できる。
As described above, the address tag area 4 and the cache block area 5 exist for each memory ownership.
That is, the memory is owned by an area delimited by the address definition register 6. Therefore, by preventing cache invalidation due to access from another ownership, the overall system speed can be increased without lowering the cache hit rate.

【0016】更にアドレス定義レジスタ6の設定により
デコード回路9は、メインメモリ1をOS管理領域2や
ユーザー管理領域3等に分割し、またそれぞれの領域を
参照、管理するアドレスタグ領域4及びキャッシュブロ
ック領域5も各所有権毎に分割する。
Further, the decode circuit 9 divides the main memory 1 into the OS management area 2 and the user management area 3 by setting the address definition register 6, and also refers to the respective areas, and manages the address tag area 4 and the cache block. The area 5 is also divided for each ownership.

【0017】そして、指定したアドレスの走査は、対応
するアドレスタグ領域10内でのみ実行され、走査する
アドレス領域内には、OSが管理する領域やその他デバ
イスドライバ等が走査する領域等は含まれない。
The scanning of the designated address is executed only in the corresponding address tag area 10. The scanning address area includes an area managed by the OS, an area scanned by a device driver, and the like. Absent.

【0018】もしアドレスタグ領域10に、アクセスし
たいアドレスのタグが含まれていたら、そのタグで指定
されるデータはそのアドレスタグ領域10で管理される
キャッシュブロック領域11の中に格納されており、ユ
ーザーはこのアドレスをアクセスする。
If the address tag area 10 contains a tag of the address to be accessed, the data specified by the tag is stored in the cache block area 11 managed by the address tag area 10; The user accesses this address.

【0019】アクセスしたいアドレスのタグが含まれて
いなければ、キャッシュミスでありメインメモリ1内の
ユーザー管理領域3にアクセスし、データの統一はユー
ザー管理領域3とキャッシュブロック領域11との間で
行われる。
If the tag of the address to be accessed is not included, it is a cache miss and the user management area 3 in the main memory 1 is accessed. Data unification is performed between the user management area 3 and the cache block area 11. Will be

【0020】OSが管理するメモリ領域2やその他デバ
イスドライバが管理するメモリ領域等に対するアクセス
も同様であり、それぞれのタグ領域によって判定され
る。ヒットしていれば、それぞれのキャッシュ領域にア
クセスする。
The access to the memory area 2 managed by the OS, the memory area managed by the device driver, and the like is the same, and is determined by each tag area. If there is a hit, each cache area is accessed.

【0021】この設定に従い、デコード回路9はメイン
メモリ1、アドレスタグ領域4及びキャッシュブロック
領域5をそれぞれデコードする。
According to this setting, the decoding circuit 9 decodes the main memory 1, the address tag area 4, and the cache block area 5, respectively.

【0022】また、このアドレス定義レジスタ6を参照
して、仮想アドレス定義レジスタ7はセットされ、これ
によりOSが管理される。
Referring to the address definition register 6, the virtual address definition register 7 is set, thereby managing the OS.

【0023】デコード回路9によって、メインメモリ1
は各所有権別にデコードされるが、このうち2をOS管
理領域、3をユーザー管理領域とする。
The decoding circuit 9 causes the main memory 1
Are decoded for each ownership, of which 2 is an OS management area and 3 is a user management area.

【0024】OS管理領域2やユーザー管理領域3等そ
れぞれのアドレスを管理しているアドレスタグ領域を
4、それぞれのキャッシュブロック領域を5とする。
The address tag area which manages each address such as the OS management area 2 and the user management area 3 is 4 and each cache block area is 5.

【0025】図2は、デコーダ回路9の具体例のブロッ
ク図である。アドレスタグ部のデコード信号と、アドレ
スタグ部より下位のアドレスインデックス部のデコード
信号との論理和Aを、アドレスタグ領域4の各ブロック
をアクセスするチップセレクト(CS4)信号とする。
又、アドレスヒット(HIT)信号のラッチ出力と論理
和Aとの論理和をキャッシュブロック領域5のチップセ
レクト(CS5)とする。
FIG. 2 is a block diagram of a specific example of the decoder circuit 9. The logical sum A of the decode signal of the address tag section and the decode signal of the address index section lower than the address tag section is used as a chip select (CS4) signal for accessing each block of the address tag area 4.
The logical sum of the latch output of the address hit (HIT) signal and the logical sum A is used as the chip select (CS5) of the cache block area 5.

【0026】ここで、例えば、ユーザーがあるアプリケ
ーションプログラムを実行させ、メインメモリ1内のユ
ーザー管理領域3へアクセスするとする。
Here, for example, it is assumed that the user executes an application program and accesses the user management area 3 in the main memory 1.

【0027】このユーザー管理領域3のアドレスは、シ
ステム初期化時にアドレス定義レジスタ6によって1つ
のメモリ所有権領域として定義されている。又、OSは
仮想アドレス定義レジスタ7によって管理されている。
The address of the user management area 3 is defined as one memory ownership area by the address definition register 6 at the time of system initialization. The OS is managed by the virtual address definition register 7.

【0028】したがって、このアプリケーションプログ
ラムを実行させ、メモリアクセスする時には、その領域
のみを管理するアドレスタグ領域10でアドレスが比較
されキャッシュヒットしていればユーザー管理領域用キ
ャッシュブロック領域11へアクセスする。
Therefore, when the application program is executed to access the memory, the address is compared in the address tag area 10 for managing only that area, and if a cache hit occurs, the cache block area 11 for the user management area is accessed.

【0029】アプリケーションプログラムからのシステ
ムコールによってOSが自身のプログラムを実行し、メ
モリアクセスする時にも同様にOS管理用アドレスタグ
領域12でのみアドレス比較され、キャッシュヒットし
ていればOS管理用キャッシュブロック領域13へアク
セスする。
When the OS executes its own program by a system call from the application program and accesses the memory, the address is similarly compared only in the OS management address tag area 12, and if a cache hit occurs, the OS management cache block is used. Access the area 13.

【0030】従ってお互いのキャッシュブロック領域を
無効化させることはない。
Therefore, the cache block areas of each other are not invalidated.

【0031】図3は、本発明の他の実施形態のキャッシ
ュメモリシステムのブロック図である。このシステム
は、メインメモリ14におけるOS管理領域15、ユー
ザー管理領域16、各領域に対するアドレスタグ領域1
7、各領域に対するキャッシュブロック領域18、アド
レス定義レジスタ19、仮想アドレス定義レジスタ2
0、ブートROM21、及びデコード回路22を有す
る。
FIG. 3 is a block diagram of a cache memory system according to another embodiment of the present invention. This system includes an OS management area 15, a user management area 16, and an address tag area 1 for each area in the main memory 14.
7. Cache block area 18, address definition register 19, virtual address definition register 2 for each area
0, a boot ROM 21, and a decoding circuit 22.

【0032】ユーザー管理領域16のうち、システム上
のデバイスAがアクセスする領域を16A、デバイスB
がアクセスする領域を16Bとする。またデバイスAが
アクセスする領域を定義するレジスタをアドレス定義レ
ジスタ19A、デバイスBがアクセスする領域を定義す
るレジスタをアドレス定義レジスタ19Bとする。
In the user management area 16, the area accessed by the device A on the system is 16A, the device B is
Is 16B. A register that defines an area accessed by device A is an address definition register 19A, and a register that defines an area accessed by device B is an address definition register 19B.

【0033】ブートROM21によってアドレス定義レ
ジスタ19、19A、19Bの値が初期化され、その値
からデコード回路22によってメインメモリ14もOS
管理領域15、ユーザー管理領域16、また16のうち
デバイスAがアクセスする領域の16A、デバイスBが
アクセスする領域の16B等に領域分けされ、それぞれ
独自にデコードされる。
The values of the address definition registers 19, 19A and 19B are initialized by the boot ROM 21, and the main memory 14 is also decoded by the decoding circuit 22 from the values.
The area is divided into a management area 15, a user management area 16, and an area 16A of the area accessed by the device A and an area 16B of the area accessed by the device B among the 16 areas, and each is independently decoded.

【0034】アドレスタグ領域17もそれにともない、
デバイスAがアクセスする領域16Aを管理するアドレ
スタグ17A、デバイスBがアクセスする領域16Bを
管理するアドレスタグ17Bに分割され、キャッシュブ
ロック領域18もデバイスAがアクセスするキャッシュ
ブロック18A、デバイスBがアクセスするキャッシュ
ブロック18B等に分割デコードされる。
The address tag area 17 is accordingly
The address tag 17A manages an area 16A accessed by the device A, and the address tag 17B manages an area 16B accessed by the device B. The cache block area 18 is also accessed by the cache block 18A accessed by the device A and the device B. The data is divided and decoded by the cache block 18B and the like.

【0035】これによって、ユーザー管理領域16のう
ち、デバイスAがメモリアクセスする際、アドレス定義
レジスタ19Aに従い、キャッシュヒットしているか否
かの判定はアドレスタグ領域17Aによって比較され、
ヒットしていればキャッシュブロック領域18Aにアク
セスする。ここでミスヒットしていれば、メインメモリ
14のうち、デバイスA領域の16Aにアクセスし、デ
ータの一貫性は16Aと18Aの間で行われる。デバイ
スBがアクセスする領域においても同様である。
In this way, when the device A accesses the memory in the user management area 16, the determination as to whether or not a cache hit has occurred is made by the address tag area 17A according to the address definition register 19A.
If there is a hit, the cache block area 18A is accessed. If there is a mishit here, 16A in the device A area of the main memory 14 is accessed, and data consistency is performed between 16A and 18A. The same applies to the area accessed by device B.

【0036】従ってデバイスAとデバイスBの使用領域
の間で、お互いにキャッシュデータを無効化することは
ない。
Therefore, cache data is not invalidated between the use areas of the device A and the device B.

【0037】またデータベース等デバイスA及びデバイ
スB両方が共通にアクセスするメモリ領域を16ABと
し、その領域のアドレス管理をアドレスタグ17AB、
キャッシュブロックを18ABとすれば、データベース
へのアクセスは、まずアドレスの判定はアドレスタグ1
7ABで行われ、ヒットしていればキャッシュブロック
18ABへアクセスする。
The memory area commonly accessed by both the device A and the device B, such as a database, is assumed to be 16AB, and the address management of the area is performed by the address tag 17AB,
Assuming that the cache block is 18 AB, the access to the database is performed by first determining the address by using the address tag 1.
This is performed at 7AB, and if a hit is made, the cache block 18AB is accessed.

【0038】ミスヒットしていればメモリ領域16AB
へアクセスし、キャッシュブロック18ABとメモリ領
域16ABでデータの一貫性が保たれる。これによりデ
バイスA及びデバイスBは常に最新のデータベースへア
クセスできる。
If there is a miss hit, the memory area 16AB
And the data consistency is maintained in the cache block 18AB and the memory area 16AB. Thereby, the device A and the device B can always access the latest database.

【0039】デバイスAやデバイスBはアプリケーショ
ンプログラムA、アプリケーションプログラムBとして
もよい。
The devices A and B may be the application programs A and B.

【0040】このように、あるメモリ所有権の領域内で
も更に細分化してメモリ領域、アドレスタグ領域、キャ
ッシュブロック領域を分割することによってデータの競
合をなくし、他の所有権からのアクセスによるキャッシ
ュの無効化を防ぎ、ミスヒットの確率も低くすることが
できる。
As described above, even within a certain area of the memory ownership, the memory area, the address tag area, and the cache block area are divided to eliminate data conflicts and to access the cache by another ownership. Invalidation can be prevented, and the probability of a miss hit can be reduced.

【0041】[0041]

【発明の効果】以上説明した本発明によれば、メインメ
モリの所有権毎にアドレス管理するタグメモリ領域及び
キャッシュメモリがあるため、それぞれのタグメモリが
管理するアドレス領域が、メモリ所有権毎に限定され、
キャッシュメモリ内において、他の所有権からのアクセ
スによるデータ上書き等のキャッシュ無効化を防ぐこと
ができる。
According to the present invention described above, since there is a tag memory area and a cache memory for address management for each ownership of the main memory, the address area managed by each tag memory is different for each memory ownership. Limited,
In the cache memory, cache invalidation such as data overwriting due to access from another ownership can be prevented.

【0042】また、本発明によれば、それぞれの領域を
定義するアドレス定義レジスタは、領域毎に入れ子にす
ることができるため、複数のOSの稼動時や複数のアプ
リケーションプログラムを実行する等にもキャッシュブ
ロック内のデータの無効化をなくすことができる。従っ
て複数のOS稼動及び複数のアプリケーションプログラ
ム実行時にもキャッシュヒット率を低下させることな
く、システムの性能維持や向上が実現できる。
Further, according to the present invention, the address definition registers defining each area can be nested for each area, so that the address definition registers can be used when a plurality of OSs are running or a plurality of application programs are executed. Invalidation of data in the cache block can be eliminated. Therefore, even when a plurality of OSs are operated and a plurality of application programs are executed, the performance of the system can be maintained or improved without lowering the cache hit rate.

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

【図1】本発明のキャッシュメモリのブロック図FIG. 1 is a block diagram of a cache memory of the present invention.

【図2】デコード回路の一例のブロック図FIG. 2 is a block diagram illustrating an example of a decoding circuit.

【図3】本発明の他のキャッシュメモリのブロック図FIG. 3 is a block diagram of another cache memory according to the present invention;

【図4】従来のキャッシュメモリのブロック図FIG. 4 is a block diagram of a conventional cache memory.

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

1、14 メインメモリ 2、15 OS管理領域 3、16 ユーザー管理領域 4、17 アドレスタグ領域 5、18 キャッシュブロック領域 6、19 アドレス定義レジスタ 7、20 仮想アドレス定義レジスタ 8、21 ブートROM 9、22 デコード回路 1,14 Main memory 2,15 OS management area 3,16 User management area 4,17 Address tag area 5,18 Cache block area 6,19 Address definition register 7,20 Virtual address definition register 8,21 Boot ROM 9,22 Decoding circuit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 メインメモリと、アドレスタグ領域と、
キャッシュブロック領域と、これらにアクセスするデコ
ード回路と、アクセスするアドレスを定義するアドレス
定義レジスタ及び仮想アドレスレジスタとを備えたキャ
ッシュメモリシステムであって、 前記アドレス定義レジスタは、所有権及び又はデバイス
ごとに前記アドレスタグ領域及びキャッシュブロック領
域とにアドレスを付与し、 アクセスするアドレスのタグをアドレスタグ領域でヒッ
トした時は前記タグが指定する前記キャッシュブロック
領域にアクセスし、ヒットしない時はメインメモリにア
クセスすることを特徴とするキャッシュメモリシステ
ム。
1. A main memory, an address tag area,
A cache memory system including a cache block area, a decoding circuit for accessing the cache block area, and an address definition register and a virtual address register for defining an address to be accessed, wherein the address definition register is provided for each ownership and / or device. An address is assigned to the address tag area and the cache block area. When a tag of an address to be accessed is hit in the address tag area, the cache block area specified by the tag is accessed, and when no hit is made, the main memory is accessed. A cache memory system.
【請求項2】 前記仮想アドレス定義メモリは、前記ア
ドレス定義レジスタを参照して、メインメモリ内のオペ
レーティングシステム(OS)を管理することを特徴と
する請求項1記載のキャッシュメモリシステム。
2. The cache memory system according to claim 1, wherein said virtual address definition memory manages an operating system (OS) in a main memory by referring to said address definition register.
【請求項3】 システムを初期化する時に前記アドレス
定義レジスタを設定するブートROM(読み出し専用メ
モリ)を備えることを特徴とする請求項1記載のキャッ
シュメモリシステム。
3. The cache memory system according to claim 1, further comprising a boot ROM (read only memory) for setting the address definition register when the system is initialized.
【請求項4】 前記アドレスタグ領域からのヒット信号
のラッチ出力と、アドレスタグ部のデコード信号及び前
記アドレスタグ部より下位のアドレスインデックス部の
デコード信号との論理和との論理和を、前記キャッシュ
ブロック領域のチップセレクト信号とすることを特徴と
する請求項1記載のキャッシュメモリシステム。
4. The cache according to claim 1, wherein a latch output of a hit signal from the address tag area is ORed with a OR of a decode signal of an address tag section and a decode signal of an address index section lower than the address tag section. 2. The cache memory system according to claim 1, wherein the signal is a chip select signal of a block area.
JP11077992A 1999-03-23 1999-03-23 Cache memory system Pending JP2000276403A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11077992A JP2000276403A (en) 1999-03-23 1999-03-23 Cache memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11077992A JP2000276403A (en) 1999-03-23 1999-03-23 Cache memory system

Publications (1)

Publication Number Publication Date
JP2000276403A true JP2000276403A (en) 2000-10-06

Family

ID=13649330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11077992A Pending JP2000276403A (en) 1999-03-23 1999-03-23 Cache memory system

Country Status (1)

Country Link
JP (1) JP2000276403A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178571A (en) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd Cache controller, cache control method, computer system
JP2010198569A (en) * 2009-02-27 2010-09-09 Kyocera Mita Corp Memory management device and image forming apparatus
US8473691B2 (en) 2009-02-27 2013-06-25 Ryosuke Ohgishi Memory management device, image forming apparatus, and image forming method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178571A (en) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd Cache controller, cache control method, computer system
JP4664586B2 (en) * 2002-11-11 2011-04-06 パナソニック株式会社 Cache control device, cache control method, and computer system
JP2010198569A (en) * 2009-02-27 2010-09-09 Kyocera Mita Corp Memory management device and image forming apparatus
US8473691B2 (en) 2009-02-27 2013-06-25 Ryosuke Ohgishi Memory management device, image forming apparatus, and image forming method

Similar Documents

Publication Publication Date Title
JP3309425B2 (en) Cache control unit
US4763244A (en) Paged memory management unit capable of selectively supporting multiple address spaces
US4890223A (en) Paged memory management unit which evaluates access permissions when creating translator
JP3570525B2 (en) Microkernel architecture data processing system and memory management method thereof, method of running operating system personality program, method of running application program
JP5680642B2 (en) IOMMU with two-level address translation for I / O and computational load reduction devices in peripheral interconnects
US6321314B1 (en) Method and apparatus for restricting memory access
US9218302B2 (en) Page table management
US7461209B2 (en) Transient cache storage with discard function for disposable data
US6801208B2 (en) System and method for cache sharing
US4763250A (en) Paged memory management unit having variable number of translation table levels
US20020065989A1 (en) Master/slave processing system with shared translation lookaside buffer
JP2013500525A (en) I / O memory management unit including multi-level address translation for I / O and computational load reduction
US8533401B2 (en) Implementing direct access caches in coherent multiprocessors
JP7443344B2 (en) External memory-based translation lookaside buffer
JP2012522290A (en) Method for Way Assignment and Way Lock in Cache
US20020062434A1 (en) Processing system with shared translation lookaside buffer
JPH04242848A (en) System for controlling cache memory by running mode
CN116069686A (en) Limiting way allocation in a cache based on a cache maximum associativity value
JP4971673B2 (en) Memory mapped page priority
US7080213B2 (en) System and method for reducing shared memory write overhead in multiprocessor systems
US20050182912A1 (en) Method of effective to real address translation for a multi-threaded microprocessor
US20210097000A1 (en) Selective override of cache coherence in multi-processor computer systems
US6434671B2 (en) Software-controlled cache memory compartmentalization
US4766537A (en) Paged memory management unit having stack change control register
JP2000276403A (en) Cache memory system