JPS62144257A - Cache memory - Google Patents

Cache memory

Info

Publication number
JPS62144257A
JPS62144257A JP60284280A JP28428085A JPS62144257A JP S62144257 A JPS62144257 A JP S62144257A JP 60284280 A JP60284280 A JP 60284280A JP 28428085 A JP28428085 A JP 28428085A JP S62144257 A JPS62144257 A JP S62144257A
Authority
JP
Japan
Prior art keywords
cache memory
block
program
programs
blocks
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
JP60284280A
Other languages
Japanese (ja)
Inventor
Takao Shinto
隆夫 新堂
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP60284280A priority Critical patent/JPS62144257A/en
Publication of JPS62144257A publication Critical patent/JPS62144257A/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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To given an access at a main memory at high speed by dividing a cache memory into plural blocks and allocating each of these blocks exclusively or in common to plural programs. CONSTITUTION:A cache memory 3A is divided into four blocks 0-3. While a program 7 includes four programs 0-3. Then the correspondence is secured between the program 7 and the block 6 of the memory 3A by the command of a CPU 1. In other words, a block 0 is allocated to a program 0 and can be used exclusively with no disturbance given from other programs. Then blocks 1 and 2 are allocated to a program 1 for the exclusive use of both blocks. A block 3 is allocated in common to both programs 2 and 3.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、電子計算機のキャッシュメモリ、特に複数
個のブロックに分割され、それぞれのブロックがプログ
ラムによって使用されるキャッシュメモリに関するもの
である。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a cache memory for an electronic computer, and particularly to a cache memory that is divided into a plurality of blocks, each of which is used by a program.

〔従来の技術〕[Conventional technology]

83図は従来のキャッシュメモリを使用した電子計算機
の構成図である。
FIG. 83 is a block diagram of an electronic computer using a conventional cache memory.

図において、f/lはCPU、(2)は主メモリ、(3
)はキャッシュメモリである。なお、キャッシュメモリ
(3)は動的キャッシュメモリ(glおよび静的キャッ
シュメモリ(5)からなる。
In the figure, f/l is the CPU, (2) is the main memory, and (3
) is cache memory. Note that the cache memory (3) consists of a dynamic cache memory (gl) and a static cache memory (5).

従来のキャッシュメモリを使用した電子計算機は上述し
たように構成されており、CPtH/lが主メモ1月2
1ヲアクセスするとき、まずアクセスするデータがキャ
ッシュメモリ(、?)の中にあるかどうがを探索する。
A computer using conventional cache memory is configured as described above, and CPtH/l is the main memo January 2
1. When accessing something, first it is searched to see if the data to be accessed is in the cache memory (,?).

もしアクセスするデータがキャッシュメモ1月3)の中
にあるならば、主メモ1月2)をアクセスする必要はな
く、キャッシュメモリ(3)のみをアクセスする。逆に
もしアクセスするデータがキャッシュメモ1月3〕の中
にないならば、主メモ1月2)をアクセスする。このと
き同時に同じデータをキャッシュメモリ(3)内の動的
キャッシュメモリ(K+にコピーしておき、次の同一デ
ータに対してアクセスされることに備える。
If the data to be accessed is in the cache memo (January 3), there is no need to access the main memory (January 2), and only the cache memory (3) is accessed. Conversely, if the data to be accessed is not in the cache memo January 3], the main memo January 2) is accessed. At this time, the same data is simultaneously copied to the dynamic cache memory (K+) in the cache memory (3) in preparation for the next access to the same data.

静的キャッシュメモ1月5)は、あらがじめCP U(
/1からの指令によって主メモ1月=)の特定の部分の
データがコピーされており、CP U(/lからの指令
がない限り、主メモ1月二]の特定の部分との対応付け
は変わらない。これに対して、動的キャッシュメモ1月
q)は、CP Uf/lから指令によらないで自動的に
最新にアクセスされた主メモ1月2)内のデータのコピ
ーを保持する。
The static cache memo (January 5) is preliminarily cached by the CPU (
The data of a specific part of the main memo January =) has been copied by a command from /1, and the data is associated with a specific part of the main memo January 2] by the CPU (unless there is a command from /l). On the other hand, the dynamic cache memo January q) automatically maintains a copy of the data in the main memo January 2) that was most recently accessed without any command from the CP Uf/l. do.

主メモリ(2)をアクセスするのに要する時間より、キ
ャッシュメモリ(3)をアクセスするのに要する時間を
はるかに短かくて済むようにしておくことにより、CP
UI/)は統計的に主メモリ(2)を直接アクセスする
ことよりはるかに短い時間で主メモリ(2)内のデータ
をアクセスできる。
By ensuring that the time required to access the cache memory (3) is much shorter than the time required to access the main memory (2), the CP
UI/) can access data in main memory (2) statistically in much less time than directly accessing main memory (2).

静的キャッシュメモ1月j)と主メモ1月=)との対応
付けは、CPtJMからの指令がない限り変化しないの
で、静的キャッシュメモリにはあらかじめ頻繁にアクセ
スされる主メモリー)の部分を対応させておくと効果が
ある。一方、動的キャッシュメモリ(φ)は自動的に主
メモ1月2)との対応付けが変化するので、主メモリ(
21のW4繁にアクセスされる部分があらかじめわかっ
ていない場合に適している。
The correspondence between the static cache memo January j) and the main memory January =) will not change unless there is a command from CPtJM, so the part of the main memory (main memory) that is frequently accessed is stored in advance in the static cache memory. It will be effective if you respond accordingly. On the other hand, the dynamic cache memory (φ) automatically changes its association with the main memory (January 2), so the main memory (φ) changes automatically.
W4 of 21 is suitable when frequently accessed parts are not known in advance.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

従来の動的キャッシュメモリでは、電子計算機上での処
理が複数のプログラムを同時に実行させるマルチプログ
ラミングを行なうことについては考慮ちれておらす、特
定の指定したプログラムの行すう主メモリへのアクセス
を高速に行なうことができないという問題点があった。
Conventional dynamic cache memory does not take into account multiprogramming, in which multiple programs are executed simultaneously on a computer; instead, it handles access to main memory by a specific specified program. There was a problem that it could not be done at high speed.

また、そのようなプログラムのアクセスする主メモリの
部分を静的キャッシュメモリに対応付けても、アクセス
する主メモリの部分の大きさが静的キャッシュメモリよ
り大きい場合には十分な効果を得ることができないとい
う問題点もあった。
Furthermore, even if such programs access a portion of main memory that is associated with static cache memory, sufficient effects may not be obtained if the size of the portion of main memory that is accessed is larger than the static cache memory. There was also the problem that it was not possible.

この発明は上記のような問題点を解決するためになされ
たもので、マルチプログラミング環境におい1、指定さ
れた1つ又は幾つかのプログラムノ行なう主メモリへの
アクセスを高速&Cするコトができるキャッシュメモリ
を得ることを目的とする。
This invention was made in order to solve the above-mentioned problems, and provides a cache that can perform high-speed access to main memory for one or several specified programs in a multiprogramming environment. The purpose is to obtain memory.

〔問題点を解決するための手段〕[Means for solving problems]

この発明にかかるキャッシュメモリは、′0.数個のブ
ロックに分割され、その分割されたブロックの各々が1
つの指定されたプログラムに対して割当てられ、また複
数のプログラムが共用するブロックとして割当てらるも
のでめる。
The cache memory according to the present invention includes '0. It is divided into several blocks, each of which has 1 block.
A block is allocated to one specified program, and is also allocated as a block shared by multiple programs.

〔作 用〕[For production]

この発明においては、プログラムの行なう主メモリへの
アクセスを他のプログラムに妨害されることなく高速に
行なうことができる。
In this invention, a program can access the main memory at high speed without being interfered with by other programs.

〔実施例〕〔Example〕

以下、この発明の一実施例を第1図および第二図につい
て説明する。第1図はこの発明のキャッシュメモリの一
実施例を使用し良電子計算機の構成図であり、そして第
2図はこのキャッシュメモリの各ブロックとプログラム
との対応の一例を示す図である。図において、(ハはC
PU、(21は主メモリ、(3A)はキャッシュメモリ
、(6)はキャッシュメモIJ(、?A)を複数個の同
じ大きさに分割したブロック、(ワ)はプログラムであ
る。第2図は、ブロックの数がψ個でプログラムの数が
弘つの場合について示されている。
An embodiment of the present invention will be described below with reference to FIGS. 1 and 2. FIG. 1 is a block diagram of a computer using an embodiment of the cache memory of the present invention, and FIG. 2 is a diagram showing an example of the correspondence between each block of the cache memory and a program. In the figure, (C is C
PU, (21 is the main memory, (3A) is the cache memory, (6) is a block obtained by dividing the cache memory IJ (,?A) into multiple pieces of the same size, and (wa) is the program. Fig. 2 is shown for the case where the number of blocks is ψ and the number of programs is large.

第二図においてキャッシュメモリ(3A)はブロックO
からブロック3までの9個のブロックに分割されている
。一方、プログラム(ワ)としてはプログラム0からプ
ログラム3″1での1つがある。プログラム(7)とキ
ャッシュメモリ(3A)のブロック(6)との対応はC
P U(/1からの指令によって行なわれる。第1図で
は、プログラムOに対してはブロック0が割当てられ、
プログ2ムlに対してはブロックlとブロックコがそれ
ぞれ専用に割当てられ、そしてブロック3は残りのプロ
グラムであるプロゲラムコとプログラムJの共用のブロ
ックとして割当てられている。
In Figure 2, the cache memory (3A) is block O
It is divided into nine blocks from block 3 to block 3. On the other hand, there is one program (wa) from program 0 to program 3''1.The correspondence between program (7) and block (6) of cache memory (3A) is C
This is done by a command from P U (/1. In FIG. 1, block 0 is assigned to program O,
For program 2ml, block 1 and blockco are respectively allocated exclusively, and block 3 is allocated as a block shared by the remaining programs, progelamco and program J.

このように、プログラム(7)とブロック(6)の対応
付けを行なうことにより、プログラムθはブロック0を
他のプログラムによって妨害されずに使用することがで
きる。また、プログラム/はブロック/とブロックコを
専用に使用することができ、このときプログラムlのア
クセスする主メモリ(2)の部分の大きさが割当てられ
たブロックlとブロツクコの大きさより大きい場合には
、キャッシュメモIJ(JA)は割当てられたブロック
の太ささの範囲内で主メモIJ (,21との対応付け
を自動的に変更する。ブロック3は、7つのプログラム
に専用的に割当てられるのではなく、残りの全てのプロ
グラムによって共用され、従来のキャッシュメモリ(3
)における動的キャッシュメモ1月りの役割を果してい
る。
By associating program (7) and block (6) in this way, program θ can use block 0 without being interfered with by other programs. Also, program / can use block / and blockco exclusively, and in this case, if the size of the part of main memory (2) that program l accesses is larger than the size of allocated block l and blockco, The cache memo IJ (JA) automatically changes its association with the main memory IJ (,21) within the range of the allocated block thickness.Block 3 is exclusively allocated to seven programs. It is shared by all remaining programs instead of using traditional cache memory (3
) plays the role of dynamic cache memo January.

以上のように、プログラムとブロックの対応付けは、固
定的なものではなく、CPUからの指令によって変更す
ることができて、最も効率の良い対応付けを行なうこと
が可能である。
As described above, the correspondence between programs and blocks is not fixed, but can be changed by instructions from the CPU, making it possible to perform the most efficient correspondence.

なお、上記実施例では、ブロックの数はq個としたが、
2個以上の任意の数であってもよい。また、ブロックの
大きさは同一としたがブロックによっては大きさが異な
っていてもよい。
In addition, in the above embodiment, the number of blocks was q, but
It may be any number greater than or equal to two. Furthermore, although the blocks are assumed to have the same size, some blocks may have different sizes.

〔発明の効果〕〔Effect of the invention〕

以上に説明したように、この発明のキャッシュメモリは
複数個のブロックに分割され、各々のブロックとプログ
ラムの対応付けをCPUからの指令によって決定するこ
とにより、各ブロックfiつ又は複数のプログラムが専
用に又は共用して使用できるように構成されているので
、幾つかの特定のプログラムの行なう王メモリへのアク
セスを他のプログラムに妨害されることなく高速にでき
る、
As explained above, the cache memory of the present invention is divided into a plurality of blocks, and by determining the correspondence between each block and a program according to a command from the CPU, each block can be dedicated to one or more programs. Because it is configured so that it can be used separately or in common, access to the main memory performed by some specific programs can be made faster without being interfered with by other programs.

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

第1図はこの発明の一実施例を使用した電子計算機の構
成図、第2図はこの発明のキャッシュメモリのブロック
とプログラムとの対応の一例を示す図、第3図は従来の
キャッシュメモリを使用した電子計算機の構成図である
。 図において、(/l # @ CPU、 L21 e 
0主メモリ、(31と(3A)・φキャッシュメモリ、
(ql・φ動的キャッシュメモリ、(S)・Φ静的キャ
ッシュメモリ、(ミ)・φキャッシュメモリのブロック
、(7)・・プログラムである。 なお、図中、同一符号は同−又は相当部分を示す。
FIG. 1 is a block diagram of an electronic computer using an embodiment of the present invention, FIG. 2 is a diagram showing an example of the correspondence between cache memory blocks of the present invention and programs, and FIG. 3 is a diagram showing a conventional cache memory. It is a block diagram of the electronic computer used. In the figure, (/l # @ CPU, L21 e
0 main memory, (31 and (3A)・φ cache memory,
(ql/φ dynamic cache memory, (S)/φ static cache memory, (mi)/φ cache memory block, (7)... program. In the figure, the same reference numerals are the same or equivalent. Show parts.

Claims (3)

【特許請求の範囲】[Claims] (1)複数個のブロックに分割され、それぞれのブロッ
クが1つ又は複数のプログラムによつて専用的に又は共
用して使用され、前記ブロックと前記プログラムの対応
付けがCPUからの指令によつて制御されることを特徴
とするキャシュメモリ。
(1) It is divided into a plurality of blocks, each block is used exclusively or shared by one or more programs, and the correspondence between the blocks and the programs is determined by instructions from the CPU. A cache memory characterized by being controlled.
(2)各ブロックの大きさが同一である特許請求の範囲
第1項記載のキャッシュメモリ。
(2) The cache memory according to claim 1, wherein each block has the same size.
(3)各ブロックの大きさが互に異なる特許請求の範囲
第1項記載のキャッシュメモリ。
(3) The cache memory according to claim 1, in which each block has a different size.
JP60284280A 1985-12-19 1985-12-19 Cache memory Pending JPS62144257A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60284280A JPS62144257A (en) 1985-12-19 1985-12-19 Cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60284280A JPS62144257A (en) 1985-12-19 1985-12-19 Cache memory

Publications (1)

Publication Number Publication Date
JPS62144257A true JPS62144257A (en) 1987-06-27

Family

ID=17676486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60284280A Pending JPS62144257A (en) 1985-12-19 1985-12-19 Cache memory

Country Status (1)

Country Link
JP (1) JPS62144257A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0492943A (en) * 1990-08-06 1992-03-25 Toshiba Corp Disk server for high speed lan
JP2004178571A (en) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd Cache controller, cache control method, computer system
JP2006520044A (en) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing system with cache optimized for processing data flow applications
US7287123B2 (en) 2004-05-31 2007-10-23 Matsushita Electric Industrial Co., Ltd. Cache memory, system, and method of storing data

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0492943A (en) * 1990-08-06 1992-03-25 Toshiba Corp Disk server for high speed lan
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
JP2006520044A (en) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing system with cache optimized for processing data flow applications
US7287123B2 (en) 2004-05-31 2007-10-23 Matsushita Electric Industrial Co., Ltd. Cache memory, system, and method of storing data
US7574572B2 (en) 2004-05-31 2009-08-11 Panasonic Corporation Cache memory, system, and method of storing data
US7904675B2 (en) 2004-05-31 2011-03-08 Panasonic Corporation Cache memory, system, and method of storing data

Similar Documents

Publication Publication Date Title
US20040143712A1 (en) Task synchronization mechanism and method
CA2386558A1 (en) Register set used in multithreaded parallel processor architecture
US20170337256A1 (en) System and method for memory synchronization of a multi-core system
JPS62144257A (en) Cache memory
JPS5911921B2 (en) numerical control device
CA1115425A (en) Data processor with address extension
JPS63244152A (en) Access control system for extended memory device
JPH0370038A (en) Variable allocating system for high-level language program
JPS6299844A (en) Address converter
JPS62131352A (en) Address conversion control system
JPS61193244A (en) Method for data access via window in virtual memory system
KR940022284A (en) Access Control Method of Shared Memory
JPH02115958A (en) Data transfer control system
JPS60134940A (en) Register selecting system of information processing device
JPS62160545A (en) System for managing unused area of direct access storage device
JPS63142416A (en) Input/output control system
JPS6360427B2 (en)
JPS6195463A (en) Peculiar space control system
JPH02101552A (en) Address conversion buffer processing system
KR20020063365A (en) Real time memory management method of multi processor system
JPH01169564A (en) Inter-processor synchronizing system
JPS61136131A (en) Information processor
JPH03132842A (en) High speed on-demand paging system
JPS62174848A (en) Resource allocation/access method
JPS6177936A (en) Information processor