JPS59201287A - Cache memory control system - Google Patents
Cache memory control systemInfo
- Publication number
- JPS59201287A JPS59201287A JP58073931A JP7393183A JPS59201287A JP S59201287 A JPS59201287 A JP S59201287A JP 58073931 A JP58073931 A JP 58073931A JP 7393183 A JP7393183 A JP 7393183A JP S59201287 A JPS59201287 A JP S59201287A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bit
- cache memory
- standby
- cache
- 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
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
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、キャツシュメモリ制御1方式に係り、特にキ
ャッンユメモリに格納さ7している全てのデータの高速
な無効化に好適なキャッシュメモリ制御方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a cache memory control method, and particularly to a cache memory control method suitable for quickly invalidating all data stored in a cache memory. Regarding the method.
第1図に示す構成を持つ情報処理装置では、中央処理装
置(JOBP)40が、キャッノユメモリ41.42を
仮想アドレス(論理アドレスと称される場合もある)に
てアクセスするので、タスク切換え時にはキャッシュメ
モリ内に残っている占い仮想空間のデータを誤用しない
ようキャッシュを全て無効化しなければならない。従来
技術では、JOBP40の動作も停止して無効化を行っ
ていた。In the information processing apparatus having the configuration shown in FIG. 1, the central processing unit (JOBP) 40 accesses the job memories 41 and 42 using virtual addresses (sometimes referred to as logical addresses), so task switching is possible. Sometimes it is necessary to invalidate the entire cache so that the data of the fortune-telling virtual space remaining in the cache memory is not misused. In the prior art, the operation of JOBP 40 was also stopped and invalidated.
また高速化のために、無効ビラトラ多数の7リノグフロ
ッグで構成しリセットすることで無効化を行うことが考
えられるが、これらはいずれも、各各タスク切換えのオ
ーバーヘッドが増大して高速化のさ′f、たけとなった
り、或いはノー−ドウエア量の増大とぼう欠点があった
。Also, in order to increase the speed, it is possible to disable it by configuring and resetting a large number of invalid Viratra, but in either case, the overhead of switching each task increases, making it difficult to increase the speed. There are disadvantages such as an increase in f, height, or an increase in the amount of node hardware.
〔発明の目的」
本発明の目的は、タスクの切換え時等に必要となる全て
のキャッシュメモリの無効化を、高速に、且つハードウ
ェア量の増大をより少なくするキャッシュメモリ制御方
式を提供するにある。[Object of the Invention] An object of the present invention is to provide a cache memory control method that enables high-speed invalidation of all cache memories, which is necessary when switching tasks, and minimizes the increase in hardware amount. be.
〔発明の1.!J:e:]
ギャソ/ユメモリの無効化は、アクセスされたブロック
のデータが有効か、無効かを示している■ビットをクリ
アすることによって行われる。[Invention 1. ! J:e:] Invalidation of the Gyaso/U memory is performed by clearing the ■ bit indicating whether the data of the accessed block is valid or invalid.
従って、タスク切換時に(キャッシュ容量/ブロック長
)回のメ七り畳き込みを行うことは、タスク切換時のオ
ーバーヘッドを増大させることになるー
そこで本発明で(は、タスクの切換が通常1.0000
7ノンサイクル以上の間隔をおいて発生する点に着目し
、有効か無効かを示すVビット・メモリを少なくとも2
個設け、1つのVビットメモリを用いてタスク実行中に
、残りのVビットメモリをクリアして待機用とし、タス
ク切換時に必要なキャッシュメモリの無効化を、このV
ビットメモリをbj換えることにより高速に行なわせる
ものである。Therefore, performing multiple convolutions (cache capacity/block length) times when switching tasks increases the overhead when switching tasks. .0000
Focusing on the points that occur at intervals of 7 or more non-cycles, at least 2 V-bit memories indicating whether they are valid or invalid are set.
One V-bit memory is used to clear the remaining V-bit memory for standby use during task execution, and this V-bit memory is used to invalidate the cache memory required when switching tasks.
By changing the bit memory bj, high-speed processing is possible.
以下、本発明の一実施例を第1図〜第3図により説明す
る。An embodiment of the present invention will be described below with reference to FIGS. 1 to 3.
第1図において、10は主記憶装置、121−tアドレ
ス変換装置を内蔵する主記憶制御装置(MCU)、22
は2次記憶装置、2(1:2次記憶制御プロセッサ(F
CP)、30は入出力制御プロセッサ(ioP)、40
は中央演算装置(J’OBP )、41と42は各々命
令用とデータ用キャッシュメモリ、43は命令解読ユニ
ット、44は命令実行ユニット、11と21は各々10
と12.22と20をつなぐパスライン、45,46.
47はJOBP40の内部バス、50は各々のプロセッ
サをつなぐ共通バスである。In FIG. 1, 10 is a main memory device, 121-t main memory control unit (MCU) having a built-in address translation device, 22
is a secondary storage device, 2 (1: secondary storage control processor (F
CP), 30 is an input/output control processor (ioP), 40
is a central processing unit (J'OBP), 41 and 42 are cache memories for instructions and data, respectively, 43 is an instruction decoding unit, 44 is an instruction execution unit, 11 and 21 are each 10
and 12. Pass line connecting 22 and 20, 45, 46.
47 is an internal bus of JOBP 40, and 50 is a common bus connecting each processor.
本発明は、第1区において命令キャッシュ41、データ
キャッシュ42内に適用されるものである。The present invention is applied to the instruction cache 41 and data cache 42 in the first section.
次に第2図により、命令斤ヤツ/ユの場合について説明
する。Next, with reference to FIG. 2, the case of the command y/y will be explained.
第2図は、ディレクトリ2重化による無効化方式を採る
キャッシュメモリのブロック図である。FIG. 2 is a block diagram of a cache memory that employs an invalidation method based on directory duplication.
210は主記憶10のデータの一部が格納されるキトツ
ソコーメモリのデータ部である。20(]はディレクト
リであり、キャッシュデータ部210に格納されている
データのアドレスが格納さitている。206は無効化
処理のための無効化ディレクトリでめり、210と同じ
情報を保持している。Reference numeral 210 denotes a data section of the main memory in which part of the data of the main memory 10 is stored. 20 ( ) is a directory in which the address of the data stored in the cache data section 210 is stored. 206 is an invalidation directory for invalidation processing and holds the same information as 210. There is.
203はVビットメモリ部でありキャツ/ユデータ部の
各ブロックが有効か、無効75)の1肯報のfd理を行
なう。201,207は共に比較器でありディレクトリ
(200,206)の内容とアトVス91あるいは99
とを比較する。208は無効イヒ判定回路であり、比較
器207の出力と共Jl”スのコン10−ル部53の情
報、即?:) 共’>h ノ(ス(7)’7ドレス部5
1のアドレスがメモリ読みd−ILのため■も、のノ≧
、メモリ書込与のためのものか(こ工りA−ヤッゾユの
無効化が必要かを判定する。209は命令キャッシュコ
ントローラでろり +’(2W に)’fi1”令キャ
ッシュ全体の制御を行う。このようなキャッシュメモリ
の全体的な動作は周知、であるの−C1ここでは本発明
に関係する全てのキャツノユアータを高速に無効化する
場合についてのみ運べる。Reference numeral 203 denotes a V-bit memory section which performs fd processing to determine whether each block of the data section is valid or invalid (75). Both 201 and 207 are comparators, which compare the contents of the directory (200, 206) with the contents of the atto Vs 91 or 99.
Compare with. Reference numeral 208 denotes an invalidity judgment circuit, which outputs the output of the comparator 207 and the information of the control section 53 of the same Jl'', and the output of the comparator 207.
Since address 1 is memory read d-IL, ■ also, no≧
, determines whether it is for memory writing (this process A-yazoyu needs to be invalidated). 209 is the instruction cache controller (2W) 'fi1' controls the entire instruction cache. The overall operation of such a cache memory is well known, but only the case of quickly invalidating all the data related to the present invention will be described here.
多重仮想記憶の場合、第1図のような構成ではタスクの
切換え毎にキャッシュをすべて大仮効イヒしなければな
らない。従って、タスク切換え口1Vこは、内部バスの
コントロール部45】より全無効イヒ要求信号95がV
ビットメモリ部へ出される。この信号によりVビットメ
モリ部ではキャッシュの全無効化処理が行われ、終了し
た時に無効化終了1を号94が、返される。中央演算装
置は、95をヅヘしてから94を受は取るまで待ち状態
になる。In the case of multiple virtual memories, in the configuration shown in FIG. 1, all caches must be temporarily activated each time a task is switched. Therefore, when the task switching port 1V is set, the all invalidation request signal 95 is set to V from the internal bus control unit 45.
Sent to the bit memory section. In response to this signal, the entire cache is invalidated in the V-bit memory section, and when the process is completed, a signal 94 indicating invalidation completion is returned. The central processing unit enters a waiting state after receiving 95 and until receiving 94.
次に第3図によって、VビットメモIJ ff1(の説
明を行う。Next, the V-bit memo IJff1 will be explained with reference to FIG.
301人と301Bはキャッシュのデータの有効、無効
金示すVビット’を格納するVビットメモリである。3
00はVピットメモリをクリアする時ノアドレス103
を発生するアドレスカウンタであり、107でリセット
され、103より供給サレる情報処理装置のクロックパ
ルスでカウントアツプし、アドレスの1直が、Vピット
メモリの最大アドレスを越える上台は、108にオーバ
ーフローの信号を出力する。302はNo几ゲートでの
り、無効化信号97と有効化信号98のORを取り、V
ビットメモリの傅キ込み遣号を発生する。301 and 301B are V bit memories that store V bits indicating whether cache data is valid or invalid. 3
00 is the address 103 when clearing the V pit memory.
This is an address counter that generates an address counter that is reset at 107 and counted up by the clock pulse of the information processing device supplied from 103. Output a signal. 302 is a No. gate, ORs the invalidating signal 97 and the validating signal 98, and outputs V.
Generates a combination of bits of memory.
308σ′rフリツプフロツグでめり、アドレスカウン
タがリセットされる毎に出力104,105を反転させ
、セレクタ304に、304B、305A。308σ'r flip-flop, inverts outputs 104 and 105 every time the address counter is reset, and sends them to selector 304, 304B and 305A.
305B、306A、306Bの選択を反転させる。3
09はDノリラグフロッグでろり全無効化要求イ=号9
5をラッチする。310はANDゲートであり、108
と309の出力より■ビットメモリを切換るかを制御す
る。Invert the selection of 305B, 306A, and 306B. 3
09 is D Nori Rag Frog request for complete invalidation i=No. 9
Latch 5. 310 is an AND gate, 108
Controls whether or not the bit memory is switched based on the output of and 309.
次に第3図の動作を説明する。本発明では、2つのVビ
ットメモリの内としらか一方か、普通のVビットメモリ
として動作し、他方はその間アドレスカウンタからのア
ドレスに促ってクリアされ待機用となる。即ち、104
がHIG)(,1o5がLOW、の場合、301Aは1
03 f−7)”l/、’(され、301.BU102
でアドレスされ、Vビットメモリ部の出力96は301
Bの出力109Bが選択される。またこの時、305A
は111A全選択し、304Aは110Aを選択するの
で、301Aは105が変化しない限り103に従って
Oが書き込まれることになる。またこの時、305Bは
111Bf、選択し、304Bは110Bを選択するの
で、301Bは102でアドレスきれる部分に対し、9
7あるいは98に従って読み出し、あるいは0,1の書
込みが行われる。Next, the operation shown in FIG. 3 will be explained. In the present invention, only one of the two V-bit memories operates as a normal V-bit memory, while the other is cleared in response to the address from the address counter and is used for standby. That is, 104
is HIG) (, 1o5 is LOW, then 301A is 1
03 f-7)"l/,'(,301.BU102
and the output 96 of the V bit memory section is 301
The output 109B of B is selected. Also at this time, 305A
selects all 111A, and 304A selects 110A, so unless 105 changes, O will be written to 301A according to 103. Also, at this time, 305B selects 111Bf, and 304B selects 110B, so 301B selects 9 for the part that can be addressed by 102.
Reading is performed according to 7 or 98, or writing of 0 and 1 is performed.
次にVビットメモリ部の制御部350の動1乍を説明す
る。第4図の400の場合を考える。υIjち301B
のクリアがすでに終了し、オーパーンロー信号108が
HIGHになっている。この時、CPUより無効化要求
信号95が来ると、95は309にラッチされた後、3
1oにより108とANDされ、直ちに無効化終了信号
94奮発し、308の出力を反転させてVビットメモリ
ヲ切換える、更にアドレスカウンタをリセットして切換
わったVビットメモリのフリアラ開始スル。CPU側は
94によりキャッシュの全ての無効化が終了したことを
知り、新しいタスク2の実行?開始できる。タスク2の
実行中にVビットメモリのクリアが終了すれは、次のタ
スク切換えは400と同じ状態となりメス開始4間始で
きる。しかし、タスク3の実行中でVビア、 トメモリ
のクリアが終了しないうちにタスク切換えが生じた場合
は401の状j魚となる。401の場合は、全無効化要
求が出されても108がHIGHになっていないって3
10の出力がH!GHにならず、CPUは無効化終了待
ちとなる。そして、無効化が終了し108がHIGHと
なった時点402で、400と同じ状・譚となり■ピノ
トメ七りの切換えが行われタスク4が開始される。以上
のように■ビットメモリのクリアが完了していれ(は、
無効化は瞬時シて行える。Next, the operation of the control section 350 of the V-bit memory section will be explained. Consider the case of 400 in FIG. υIjchi301B
has already been cleared, and the open low signal 108 has become HIGH. At this time, when the invalidation request signal 95 comes from the CPU, the signal 95 is latched by the 309, and then the 3
10 is ANDed with 108, the invalidation end signal 94 is immediately activated, the output of 308 is inverted and the V-bit memory is switched, and the address counter is reset to start the switching of the V-bit memory. The CPU side knows through 94 that all cache invalidation has been completed, and executes a new task 2? You can start. If the clearing of the V bit memory is completed during the execution of task 2, the next task switching will be in the same state as 400, and the knife can be started for 4 hours. However, if task switching occurs while task 3 is being executed and the V via and tomemory have not been cleared, the situation 401 will occur. In the case of 401, 108 is not HIGH even if a complete invalidation request is issued.
The output of 10 is H! It does not become GH and the CPU waits for the invalidation to complete. Then, at a time 402 when the invalidation is completed and 108 becomes HIGH, the state and story are the same as in 400, and the changeover of pinotome seven is performed and task 4 is started. As mentioned above, the bit memory has been cleared (
Disabling can be done instantly.
不冗I刀によ柱1−i、あるタスクの実行中に次のタス
ク切換えに備えて、片方のVビットメモリのクリアを並
行して行っている。そこでタスク切換の間隔がVビット
メモリのピット数マシンサイクル以上あれば、すべての
キャッシュメモリの無効化id、Vビットメモリをセレ
クタで切換えるだけで行えるので、タスク切換要求が生
じてからVビットメモリをクリアする場合に比較して格
段に高速である。また、Vビットメモリを多くのフリラ
グフロップで構成し、リセット端子で一匣にクリアして
しまう例と比較すれば、Vビットメモリ・/こ辿常のメ
モリと使用できるのでハードウェアの増大をより少なく
することができる。Pillar 1-i: During the execution of a certain task, one V-bit memory is cleared in parallel in preparation for switching to the next task. Therefore, if the interval between task switching is greater than or equal to the number of machine cycles of pits in the V-bit memory, this can be done by simply switching the invalidation IDs of all cache memories and the V-bit memory using the selector. It's much faster than clearing it. Also, compared to an example in which the V-bit memory is configured with many free-lag flops and cleared all at once by the reset pin, the V-bit memory can be used with regular memory, reducing the need for hardware. It can be less.
第1図は、本発明が適用される情報処理装置の全体構成
を示した図、第2図は命令−t−ギノ7ユの一般的な構
成例を示した図、第3図は不発明の一実施例を示した図
、第4図は第3図の制御部350のタイミングチャート
ラ示した図で、f)/p。
301A・・・Vビットメモリ、301B・・・Vビッ
トメモリ、300・・・アドレスカウンタ、308・・
・Tフリップフロップ、309・・・Dフリップフロッ
プ、303,304A、304B、305A、305B
。
306A、306B−−−セvクタ。
代理人 弁理士 高橋明夫
第1のFIG. 1 is a diagram showing the overall configuration of an information processing device to which the present invention is applied, FIG. 2 is a diagram showing a general configuration example of an instruction-t-gino7u, and FIG. FIG. 4 is a diagram illustrating a timing chart of the control section 350 of FIG. 301A...V bit memory, 301B...V bit memory, 300...address counter, 308...
・T flip-flop, 309...D flip-flop, 303, 304A, 304B, 305A, 305B
. 306A, 306B---sector. Agent: Patent Attorney Akio Takahashi No. 1
Claims (1)
るメモリと該メモリに記憶されているデータが有効か、
無効かを示すビット情報を格納するVビットメモリより
なるキャッシュメモリにおいて、該Vビットメモリを複
数1固設け、1つのVビットメモリ全使用、残りをり″
リア済みとして待機させ、キャッシュメモリの無効化時
、該使用中と待機中のVピットメモリを切換えるように
したことを特徴とするキャッシュメモリ制御方式。 2、主記憶装置とキャッシュメモリからデータ全敗り込
み情報処理を行う処理装置を有し、該処理装置からの指
令により、現在使用中のVビットメモリと待機中のVビ
ットメモリを切換えるようにした特許請求の範囲第1項
記載のキャッシュメモリ制御方式。 3、処理装置からの切替指令があった際、クリア済みの
Vビットメモリがなかった場合、待機用のVビットメモ
リがクリア済会となるまで処理装置の情報処理の夾行を
待ち状態とでせるよ) vc 1.た特許請求の範囲第
2項記載のキャッ7ユメ七り制御方式。[Claims] 1. Whether the memory that stores part of the data stored in the main storage device and the data stored in the memory are valid;
In a cache memory consisting of a V-bit memory that stores bit information indicating invalidity, a plurality of V-bit memories are fixedly provided, one V-bit memory is fully used, and the remaining one is used.
A cache memory control method characterized in that the V-pit memory is placed on standby as a reserved memory, and when the cache memory is invalidated, the V-pit memory in use and the V-pit memory in standby are switched. 2. It has a processing device that performs all data loss information processing from the main storage device and cache memory, and the V-bit memory currently in use and the V-bit memory in standby are switched according to a command from the processing device. A cache memory control method according to claim 1. 3. When there is a switching command from the processing device, if there is no cleared V-bit memory, the processing device will wait for information processing to occur until the standby V-bit memory becomes cleared. ) vc 1. 7. A control system for controlling the position of the camera as set forth in claim 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58073931A JPS59201287A (en) | 1983-04-28 | 1983-04-28 | Cache memory control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58073931A JPS59201287A (en) | 1983-04-28 | 1983-04-28 | Cache memory control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59201287A true JPS59201287A (en) | 1984-11-14 |
Family
ID=13532361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58073931A Pending JPS59201287A (en) | 1983-04-28 | 1983-04-28 | Cache memory control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59201287A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6337442A (en) * | 1986-08-01 | 1988-02-18 | Fujitsu Ltd | Semiconductor memory device |
JPH01173241A (en) * | 1987-12-28 | 1989-07-07 | Toshiba Corp | Cache memory device |
-
1983
- 1983-04-28 JP JP58073931A patent/JPS59201287A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6337442A (en) * | 1986-08-01 | 1988-02-18 | Fujitsu Ltd | Semiconductor memory device |
JPH01173241A (en) * | 1987-12-28 | 1989-07-07 | Toshiba Corp | Cache memory device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4197580A (en) | Data processing system including a cache memory | |
US5761734A (en) | Token-based serialisation of instructions in a multiprocessor system | |
JPS5830319Y2 (en) | computer system | |
JPH01269142A (en) | Buffer memory control system | |
JP2708943B2 (en) | Cache memory controller | |
JPS59201287A (en) | Cache memory control system | |
JPS6022259A (en) | Cache memory control system | |
JPS6272041A (en) | Cache memory controller | |
JPS6079446A (en) | Processor for multiple virtual storage data | |
JP2636107B2 (en) | Debug support device | |
JP3130569B2 (en) | Cache memory store method | |
JPH0916468A (en) | Memory access system | |
JPS6054057A (en) | Cache memory control system | |
JP2632859B2 (en) | Memory access control circuit | |
JP2923273B2 (en) | Data processing system | |
JPS6037932B2 (en) | Cache memory control method | |
KR950012510B1 (en) | Method for accessing a system bus between multi processors | |
JPH0775009B2 (en) | Cache memory that can be directly controlled | |
JPH0664552B2 (en) | Information processing device invalidation processing method | |
JPH01280851A (en) | Cache store control system | |
JPH03271859A (en) | Information processor | |
JPH041373B2 (en) | ||
JPH04291642A (en) | Cache control system | |
JPH02121053A (en) | Test and set system | |
JPS63259758A (en) | Multiplex processor system |