JPS62144257A - Cache memory - Google Patents
Cache memoryInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned 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
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.
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.
従来の動的キャッシュメモリでは、電子計算機上での処
理が複数のプログラムを同時に実行させるマルチプログ
ラミングを行なうことについては考慮ちれておらす、特
定の指定したプログラムの行すう主メモリへのアクセス
を高速に行なうことができないという問題点があった。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.
この発明にかかるキャッシュメモリは、′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.
この発明においては、プログラムの行なう主メモリへの
アクセスを他のプログラムに妨害されることなく高速に
行なうことができる。In this invention, a program can access the main memory at high speed without being interfered with by other programs.
以下、この発明の一実施例を第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.
以上に説明したように、この発明のキャッシュメモリは
複数個のブロックに分割され、各々のブロックとプログ
ラムの対応付けを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.
第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)
クが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.
第1項記載のキャッシュメモリ。(2) The cache memory according to claim 1, wherein each block has the same size.
第1項記載のキャッシュメモリ。(3) The cache memory according to claim 1, in which each block has a different size.
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)
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 |
-
1985
- 1985-12-19 JP JP60284280A patent/JPS62144257A/en active Pending
Cited By (7)
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 |
---|---|---|
US5392433A (en) | Method and apparatus for intraprocess locking of a shared resource in a computer system | |
US5928349A (en) | Mixed-endian computing environment for a conventional bi-endian computer system | |
US6412053B2 (en) | System method and apparatus for providing linearly scalable dynamic memory management in a multiprocessing system | |
US20040143712A1 (en) | Task synchronization mechanism and method | |
CA2386558A1 (en) | Register set used in multithreaded parallel processor architecture | |
DE3169774D1 (en) | Method and device to control the conflicts posed by multiple accesses to a same cache-memory of a digital data processing system comprising at least two processors each possessing a cache | |
US10452686B2 (en) | System and method for memory synchronization of a multi-core system | |
JPS62165250A (en) | Virtual memory | |
JPS62144257A (en) | Cache memory | |
JPS5911921B2 (en) | numerical control device | |
CA1115425A (en) | Data processor with address extension | |
EP0430500B1 (en) | System and method for atomic access to an input/output device with direct memory access | |
US7844781B2 (en) | Method, apparatus, and computer program product for accessing process local storage of another process | |
EP0058846A2 (en) | Multiprocessing system with variably shared paging storage | |
JPH0548500B2 (en) | ||
JPH0370038A (en) | Variable allocating system for high-level language program | |
JPS6299844A (en) | Address converter | |
JPS5619153A (en) | Virtual computer system | |
JPH0198043A (en) | Dynamic link control system | |
KR20020063365A (en) | Real time memory management method of multi processor system | |
JPS62131352A (en) | Address conversion control method | |
JPH02115958A (en) | Data transfer control system | |
JPS60134940A (en) | Register selecting system of information processing device | |
JPS63108448A (en) | Input/output request control system | |
JPS6364132A (en) | Access system for task control structure |