JPH043241A - Data processor - Google Patents

Data processor

Info

Publication number
JPH043241A
JPH043241A JP2104860A JP10486090A JPH043241A JP H043241 A JPH043241 A JP H043241A JP 2104860 A JP2104860 A JP 2104860A JP 10486090 A JP10486090 A JP 10486090A JP H043241 A JPH043241 A JP H043241A
Authority
JP
Japan
Prior art keywords
interrupt
cache memory
processing
data
block
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
JP2104860A
Other languages
Japanese (ja)
Inventor
Hitoshi Ishida
仁志 石田
Minoru Shiga
稔 志賀
Toyohito Hatashita
畑下 豊仁
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 JP2104860A priority Critical patent/JPH043241A/en
Publication of JPH043241A publication Critical patent/JPH043241A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To restart the processing discontinued by an interruption at a high speed by inhibiting the substitution of a block of a process discontinued by an interruption in a shared cache memory. CONSTITUTION:The processor is provided with counters 104, 105 which are provided on each processor 2, 2', detect a sent interrupting signal and a return instruction from an interruption processing routine and inform them to a cache controller 107. Also, this processor is provided with the cache controller 107 having a table for storing the block number, the process number or the processor number of a process for using its block at every block of a shared cache memory 4. That is, the counters 104, 105 have a special value in the case the corresponding processors 2, 2' are executing an interruption processing, and the cache controller 107 refers to the process number or the processor number and limits the substitution to the corresponding block in the shared cache memory 4. In such a way, the processing discontinued by an interruption can be restarted at a high speed.

Description

【発明の詳細な説明】 り産業上の利用分野] この発明は複数のプロセッサモジュールを用いて高速に
処理を行うデータ処理システムに関するもので、特に割
り込みによって中断された処理の再開を高速に行う装置
に係わる。
[Detailed Description of the Invention] [Field of Industrial Application] This invention relates to a data processing system that performs high-speed processing using a plurality of processor modules, and particularly relates to a data processing system that performs high-speed processing that is interrupted by an interrupt. related to.

[従来の技術] 第4図は4つのマイクロプロセッサを備えたシステムに
おいて割り込みか発生した場合のタイミング図である。
[Prior Art] FIG. 4 is a timing diagram when an interrupt occurs in a system equipped with four microprocessors.

時刻tlて割り込みが発生したとする。割り込みが発生
すると、最初に割り込み処理を実行するマイクロブロセ
、−1か選択される(第4図ではP3)。次に選択され
たマイクロプロセッサ(P3)で実行中の処理(J3)
を中断させ2割り込み処理(Ji)を実行する。割り込
み処理(Ji)か終了すると中断した処理(J3)を再
開する。このような方式は1例えばオペレーティングン
ステム構築法UIIIX詳説−構造編一−−(中村 明
暮1丸羨1986年、 pp、a+〜64)などで示さ
れている。
Assume that an interrupt occurs at time tl. When an interrupt occurs, the microprocessor -1 that executes the interrupt process first is selected (P3 in FIG. 4). The process being executed by the next selected microprocessor (P3) (J3)
is interrupted and 2 interrupt processing (Ji) is executed. When the interrupt processing (Ji) is completed, the interrupted processing (J3) is resumed. Such a method is shown in 1, for example, Operating System Construction Method UIIIX Detailed Explanation - Structure Edition 1 (Akiaki Nakamura, 1986, pp, a+-64).

また第5図は、従来のデータ処理システムに対するブロ
ンク図である。この図は、特開昭5l−IJ8349に
示されたもので7図において(1)はプロセッサモジュ
ール(CP U l)、 (2)はマイクロプロセッサ
(B P U )、 (501)はテーブルバッファ、
 (502)はアドレスアレイ、 (3)はブレイベー
トキャッシュメモリ(バッファメモリ)、(4)は共有
キャッシュメモリ(共通バッファメモリ)、 (5)は
主記憶である。
Further, FIG. 5 is a bronc diagram for a conventional data processing system. This figure is shown in Japanese Patent Application Laid-Open No. 51-IJ8349. In figure 7, (1) is a processor module (CPU l), (2) is a microprocessor (BPU), (501) is a table buffer,
(502) is an address array, (3) is a brave cache memory (buffer memory), (4) is a shared cache memory (common buffer memory), and (5) is a main memory.

なお1個々のプロセッサモジュール(1)は主記憶(5
)と共有キャノン−メモ!/(4)の両方に接続されて
いる。
Note that each processor module (1) has a main memory (5
) and shared canon - notes! /(4) are connected to both.

次に動作について説明する。Next, the operation will be explained.

マイクロプロセッサ(2)から発せられたメモリアドレ
スはテーブルバッファ(501)において論理アドレス
から物理アドレスに変換される。個々のプライベートキ
ャッシュメモリ(3)は、対応するマイクロプロセッサ
(2)毎に独自のデータを記憶している。共有キャッシ
ュメモリ(4)は、システム管理テーブルなどの各プロ
セッサモジュール(1)で共通にアクセスする領域を記
憶している。マイクロプロセッサ(2)は、テーブルバ
ッファ(501)の中にある共有キャンシュフラグが1
の場合共有キャッシュメモリ(4)をアクセスし、共有
キヤ、2シュフラグが0の場合はアドレスアレイC50
2)を参照してプライベートキャ、/ユメモリ(3)ま
たは主記憶(5)をアクセスする。
Memory addresses issued by the microprocessor (2) are converted from logical addresses to physical addresses in the table buffer (501). Each private cache memory (3) stores unique data for each corresponding microprocessor (2). The shared cache memory (4) stores areas commonly accessed by each processor module (1), such as a system management table. The microprocessor (2) sets the shared cache flag in the table buffer (501) to 1.
If the shared cache memory (4) is accessed, and if the shared cache and 2 flags are 0, the address array C50 is accessed.
2) to access the private memory (3) or main memory (5).

割り込み処理について第6図を用いて説明する。Interrupt processing will be explained using FIG. 6.

システムに割り込みが発生すると1割り込みを処理する
マイクロプロセッサが選択され2割り込み信号が送られ
る。割り込み信号を受は取ったマイクロプロセッサは、
プログラムカウンタ、スタックポインタの値と同時にプ
ライベートキャソンユメモリ(3)のデータや命令も主
記憶(5)に退避させる。それからプライベートキャッ
シュメモリを使って割り込み処理を行い、処理が完了す
ると、結果を主記憶に書き込む。そして2割り込みによ
って中断されていた処理を再開するために、主記憶から
退避していたプログラムカラン々やスタックポインタの
値とプライベートキャッシュメモリのデータや命令をプ
ライベートキャッシュメモリにロードする。このシスタ
ムでは、共有キセノンユメモリ(4)はプロセフ升モジ
ュールに共通なデータをキャソンユするように構成され
ているので割り込み処理固有のデータを格納することは
ない。
When an interrupt occurs in the system, a microprocessor that handles one interrupt is selected and a second interrupt signal is sent. The microprocessor that receives the interrupt signal
At the same time as the values of the program counter and stack pointer, the data and instructions in the private memory (3) are also saved to the main memory (5). It then uses the private cache memory to process the interrupt, and when the process is complete, writes the result to main memory. Then, in order to resume the processing that was interrupted by the second interrupt, the program columns and stack pointer values saved from the main memory, as well as the data and instructions in the private cache memory, are loaded into the private cache memory. In this system, the shared xenon memory (4) is configured to store data common to the processor modules, so it does not store data specific to interrupt processing.

割り込み処理の最中により優先度の高い割り込みか発生
すると、現在行われている割り込み処理の状態(プログ
ラムカウンタやスタックポインタの値トブライヘートキ
セノソユメモリのデータや命令)を主記憶に)戸避して
、新たに発生した割り込み処理を行う。
If a higher-priority interrupt occurs during interrupt processing, the current state of the interrupt processing (program counter and stack pointer value, memory data and instructions) is stored in main memory. Then, the newly generated interrupt is processed.

発明が解決しようとする課題] 従来のデー少処理/ステムは以上のように構成されてい
るので1割り込みが発生すると割り込み処理によってプ
ライベートキャッシュメモリの内容が置き換えられてし
まうために9割り込みによって[↓1断された処理を回
復させる時に主記憶から命令及びデータを読み出すのに
時間を要するという問題点があった。
[Problems to be Solved by the Invention] Since the conventional data processing/system is configured as described above, when one interrupt occurs, the contents of the private cache memory are replaced by the interrupt processing. There is a problem in that it takes time to read instructions and data from main memory when restoring a process that has been interrupted.

この発明は上記のような問題点を解決するためになされ
たもので1割り込みによって中断された処理を高速に再
開するデータ処理装置を得ることを目的と1.でいる。
The present invention has been made to solve the above-mentioned problems, and aims to provide a data processing device that can quickly resume processing interrupted by one interrupt.1. I'm here.

課題を解決するための手段j この発明に係わるデータ処理装置は、プロセッサ毎に設
(すられ送られてくる割り込み信号や割り込み処理ルー
ティンからのリターン命令を検知してキ十lツユコント
ローラに知らせるカウンタ七ggキセ、ン、ユメモリの
ブロック毎にブロック番!Jとそのブロックを使用して
いるプロセスのプロセス番号またはプロセッサ番号を記
憶するテーブルを有するキヤノンユコン)・ローラを備
えた。
Means for Solving the Problems The data processing device according to the present invention has a counter installed in each processor (which detects an incoming interrupt signal or a return command from an interrupt processing routine, and notifies it to a digital controller). The system is equipped with a Canon Yukon roller having a table for storing the block number and the process number or processor number of the process using the block for each block of memory.

1作用] この発明においては、カウンタは、対応するフロセ・l
すが割り込み処理をしている場合には特別の値を持ち、
これによりキヤ、ンユコントローラはプロセス番号また
はブロセソーq一番号を参照して共有キャッシュメモリ
内の対応ブロックへの置き換えを制限する。
1 action] In this invention, the counter is
However, if it is processing an interrupt, it has a special value,
Thereby, the controller refers to the process number or the processor number and limits replacement to the corresponding block in the shared cache memory.

:]実施例1 第1図はこの発明の一実施例を示すブロック図である。:] Example 1 FIG. 1 is a block diagram showing one embodiment of the present invention.

このシステムIi1個以上のプロセッサモジュールを備
えているが、そのうちの2つのみを図示している(破線
枠内)。また第1図では1つのプロセッサモジュールが
2つのマイクロブロセ、+からなる場合を図示している
が、3つ以上からなる場合も同様である。(1)〜(5
)は従来例と同一のちのである。(2′)と(3′)は
それぞれ(2)と(3)と同一・のちのである。(+0
1)〜(+03)はトランンーバ、 (104)と(1
05)はカウンタ、 (106)はス5(−ハ、 (1
07)はキャッシュコントローラ、(1,08)はI1
0コントローラ(+09)はシステムバスである。
This system Ii includes one or more processor modules, only two of which are shown (inside the dashed frame). Although FIG. 1 shows a case in which one processor module consists of two microprocessors, the same applies to a case in which it consists of three or more microprocessors. (1)-(5
) is the same as the conventional example. (2') and (3') are the same as (2) and (3), respectively. (+0
1) to (+03) are transnuvers, (104) and (1
05) is a counter, (106) is s5(-c, (1
07) is the cache controller, (1,08) is I1
0 controller (+09) is the system bus.

なお、トランシーバ(101)はプライベートキャッシ
ュメモリ(3)と共有キセノシュメモリ(4)を接続す
るバスの間にあり、トランシーバ(102)はプライベ
ートキャッシュメモリ(3’)と共有キャソンユメモリ
(4)を接続するバスの間にあり、トランシーバ(10
3)は共有キャッシュメモリ(4)とンステムノぐス(
109)を接続するバスの間にある。キャッシュコント
ローラ(10→は1両方のカウンタ(104)、 (1
05)共有キャッシュメモリ(4)とスヌーパ(106
)と接続されている。スヌーバ(106)はシステムバ
ス(109)と共有キャッシュメモリ(4)を接続する
バスの間にある。110コントローラ(10g)は、シ
ステム/N)ス(+09)に接続されている。
Note that the transceiver (101) is located between the bus that connects the private cache memory (3) and the shared memory (4), and the transceiver (102) connects the private cache memory (3') and the shared memory (4). Located between buses, transceivers (10
3) is shared cache memory (4) and system logs (
109) between the buses that connect them. Cache controller (10 → is 1 both counters (104), (1
05) Shared cache memory (4) and snooper (106)
) is connected. The snuba (106) is located between the system bus (109) and the bus connecting the shared cache memory (4). The 110 controller (10g) is connected to the system/N bus (+09).

第2図に示されるようにキャッシュコントローラ(10
7)は、データ部とディレクトリ1 マイクロプロセッ
サバスインタフェース、システムバスインタフェースか
らなる。データ部は、キャッシュメモリに保持されてい
るデータブロックから構成される。ディレクトリは、2
つの同じアドレスタグとバリッドビット、プロセス番号
からなる。2つのアドレスタグのうち一方は、マイクロ
プロセッサのキャッシュアクセスで使われ(プロセッサ
アドレスアレイという)、もう一方はシステムバス(1
09)上の無効化信号やデータアクセス要求用に使われ
る(シャドウアドレスアレイという)。シャドウアドレ
スアレイは、システムバス(109)hの無効化(8号
やデータアクセス要求がキャツシュヒツトした場合のみ
プロセッサアドレスアレイに信号を送る。バリッドビッ
トは、キャッシュブロック毎に設けられブロックの有効
性(セットされていれば有効、クリアされていれば無効
)を示す。ブロック番号は本特許で新しく設けられた部
分で。
As shown in Figure 2, the cache controller (10
7) consists of a data section, directory 1, microprocessor bus interface, and system bus interface. The data portion consists of data blocks held in the cache memory. The directory is 2
Consists of two identical address tags, valid bits, and process number. One of the two address tags is used for microprocessor cache access (called the processor address array), and the other is used for the system bus (1
09) It is used for the above invalidation signal and data access request (referred to as shadow address array). The shadow address array sends a signal to the processor address array only when the system bus (109) h is invalidated (No. 8) or a data access request is cached. A valid bit is provided for each cache block and determines the validity (set) of the block. The block number is a new part of this patent.

各キャッンユブロックがどのプロセスによって使用され
ているかを示している。
It shows which process each block is used by.

次に動作について説明する。Next, the operation will be explained.

マイクロプロセッサは各々対応するプライベートキャッ
シュメモリをアクセスして処理を行なう(マイクロプロ
セッサ(2)はプライベートキャッシュメモリ(3)を
、マイクロプロセッサ(2′)はプライベートキャッシ
ュメモリ(3’ )をアクセスする)。
Each microprocessor accesses a corresponding private cache memory to perform processing (microprocessor (2) accesses private cache memory (3), microprocessor (2') accesses private cache memory (3')).

プライベートキャッシュメモリはライトスル一方式を採
用しているので、プライベートキャッシュメモリ(3)
、 (3’)と共有キャッシュメモリ(4)の間の記憶
内容の−・貫性は維持される。ライトスルー方式により
、プライベートキャッシュメモリ(3)。
The private cache memory uses a write-through type, so the private cache memory (3)
, (3') and the shared cache memory (4) is maintained. Private cache memory (3) with write-through method.

(3′)と同時に共有キャッシュメモリ(4)が更新さ
れる時や主メモリ(5)または他の共有キャッシュメモ
リからデータが転送されてきた時は、データの書き込み
と同時にキャッシュコントローラ (107)の中のテ
ーブルプロセス番号を書き込む。
When the shared cache memory (4) is updated at the same time as (3') or when data is transferred from the main memory (5) or another shared cache memory, the cache controller (107) is updated at the same time as the data is written. Write the table process number inside.

上記の状態で7170コントローラ(+08)に割り込
み要求が発生した場合について第3図を用いて説明する
。割り込みが発生すると7従来例と同様に割り込み処理
を実行するマイクロプロセッサが選択され、マイクロプ
ロセッサと対応するカウンタに割り込み信号が送られる
。ここでは、マイクロブロセy −++ (2)が選択
された場合を説明する。マイクロプロセッサ(2)は1
割り込み信号を受は取るとスタックポインタやプログラ
ムカウンタの値を主記憶(5)に退避させる。本特許で
は、ライトスル一方式なのでプライベートキャッシュメ
モリ (3)のデータや命令を主記憶(5)に退がさせ
る必要はない。割り込み処理は、プライベートキャッシ
ュメモリ(3)を使って行われる。 プライベートキャ
ッシュメモリ(3)は、ライトスル一方式を採用してい
るので1割り込み処理中のデータも共有キャッシュメモ
リ(4)に格納される。割り込み処理が完了すると、処
理結果を主記憶(5)に書き込む。そしてプログラムカ
ウンタやスタックポインタの値を主記憶(5)からロー
ドした後、共有キセノシュメモリ(4)をアクセスして
割り込み処理によって中断されていた処理を再開する。
The case where an interrupt request is generated in the 7170 controller (+08) in the above state will be explained using FIG. 3. When an interrupt occurs, a microprocessor that executes the interrupt process is selected as in the conventional example, and an interrupt signal is sent to the counter corresponding to the microprocessor. Here, a case will be explained in which microbrosé y −++ (2) is selected. Microprocessor (2) is 1
When an interrupt signal is received, the values of the stack pointer and program counter are saved in the main memory (5). In this patent, since it is a write-through type, there is no need to evict data and instructions from the private cache memory (3) to the main memory (5). Interrupt processing is performed using a private cache memory (3). Since the private cache memory (3) employs a write-through type, data during one interrupt processing is also stored in the shared cache memory (4). When the interrupt processing is completed, the processing result is written to the main memory (5). After loading the values of the program counter and stack pointer from the main memory (5), the shared xenosh memory (4) is accessed to resume the process that was interrupted by the interrupt process.

カウンタは通常Oにセットされ1割り込み発生元から送
られてくる割り込み信号を受は取ると値を1インクメン
トし、マイクロプロセッサバス上で割り込み処理ルーテ
ィンからのリターン命令を検出すると値を1デクリメン
トする。カウンタは値が変化するたびにその値をキャッ
シュコントローラ(107)に知らせる。
The counter is normally set to O and increments its value by 1 when it receives an interrupt signal sent from an interrupt source, and decrements its value by 1 when it detects a return instruction from the interrupt handling routine on the microprocessor bus. . The counter informs the cache controller (107) of the value each time it changes.

次にキヤノンユコントローラの動作について説明する。Next, the operation of the Canon Yu controller will be explained.

キャッシュコントローラは、マイクロプロセッサから送
られてくるキャッシュアクセスがリード要求かまたはラ
イト要求かを判断する。リード要求の場合、要求されて
いるデータがキャッシュメモリ内に存在するか否か、存
在する場合はそのデータが有効か否かを調べる。キャツ
シュヒツトしかつそのデータが有効ならば、データは即
座にマイクロプロセッサに渡され、処理は完了する。キ
ャッシュミス(データか無効な場合を含む)の場合は 
システムバス(109)上にリード要求を出し、転送さ
れるデータをキャッシュメモリ内に読み込むと同時にマ
イクロブロセ、すに送る。
The cache controller determines whether the cache access sent from the microprocessor is a read request or a write request. In the case of a read request, it is checked whether the requested data exists in the cache memory, and if so, whether the data is valid. If the data is cached and the data is valid, the data is immediately passed to the microprocessor and processing is completed. In case of cache miss (including invalid data)
A read request is issued on the system bus (109), and the data to be transferred is read into the cache memory and sent to the microprocessor at the same time.

ライト要求の場合、キャツシュヒツトしかつそのデータ
が有効であれば、キャッシュメモリは即座に更新され、
バスーヒに無効化信号を出して他のキャッシュメモリ上
のコピーを全て無効化した後処理を完了する。キャッシ
ュミスした場合、り一ドミス同様リード要求をシステム
バス(+09)上に出す。データが転送されてくると、
キヤノン二メモリ内に取り込み書き込みを行う。データ
のり一ド/ライトミスが生じ共有キャッシュメモリ(4
)に空きがなければ、置き換えが起こる。従来技術では
、プライベートキャッシュメモリはそのマイクロプロセ
ッサ固有のデータしか保持していないので、置き換えは
自由に行われる。又共有キャッシュメモリは、プロセッ
サモジュールに共通のデータしか保持しないので、プロ
セス固有のデータによって置き換えが生じることはない
。本特許では共有キャッシュメモリは複数のマイクロプ
ロセッサのデータを保持しているので、キャノンニブロ
ックの置き換えはプロセッサモジュール内のカウンタの
値とディレクトリ内のプロセス番号によって制限される
。以下では両方のカウンタの値に従って場合分けを行い
説明する。
In the case of a write request, if it is cached and the data is valid, the cache memory is updated immediately;
After issuing an invalidation signal to Basuhi and invalidating all copies on other cache memories, the process is completed. When a cache miss occurs, a read request is issued on the system bus (+09) in the same way as when a cache miss occurs. When the data is transferred,
Import and write into Canon 2 memory. A data read/write miss occurs in the shared cache memory (4
) if there is no space, replacement will occur. In the prior art, private cache memory holds only data specific to that microprocessor, so replacement can be performed freely. Furthermore, since the shared cache memory holds only data common to processor modules, it is not replaced by process-specific data. In this patent, since the shared cache memory holds data for multiple microprocessors, Cannon block replacement is limited by the value of the counter in the processor module and the process number in the directory. In the following, cases will be explained based on the values of both counters.

a 両方のカウンタの値が0.即ち両方のマイクロプロ
セッサにおいて割り込み処理が行ワレティない場合は、
プロセス番号を比較し異なるプロセス番号を持ったブロ
ックに対する置き換えが許可される。
a The value of both counters is 0. In other words, if there is no interrupt processing in both microprocessors,
Process numbers are compared and blocks with different process numbers are allowed to be replaced.

b どちらか一方のカウンタ(例えばカウンタ(104
)l の値が0でない場合、キャッシュコントローラ(
107)はマイクロプロセッサ(2)で行われている割
り込み処理に対して1両方のマイクロプロセッサ(2)
と(2’ )のプロセス番号を持つブロックの置き換え
を禁止する。マイクロプロセッサ(2′)の実行してい
るプロセスに対してはマイクロブロセ、す(2)のプロ
セス番号を持つブロックの置き換えを禁止する。
b Either one of the counters (for example, counter (104)
)l is non-zero, then the cache controller (
107) is executed by both microprocessors (2) for the interrupt processing performed by microprocessor (2).
Replacement of blocks with process numbers of and (2') is prohibited. For the process being executed by microprocessor (2'), replacement of the block having the process number of microprocessor (2) is prohibited.

C両方のカウンタの値がOでない(例えばマイクロプロ
セッサ(2)が割り込み処理を行っている間に、新たな
割り込みが発生し、マイクロブロセ、す(2′)が選択
されるような)場合9両方の割り込み処理は既に使用中
のブロックを置き換えすることはできない。そしてどち
らか一方のマイクロプロセッサが割り込み処理を終了し
た時は、そのマイクロブロセ、すは割り込み処理を実行
中のマイクロプロセッサのプロセス番号を持つブロック
の置き換えはできない。
If the values of both counters are not O (for example, a new interrupt occurs while microprocessor (2) is processing an interrupt, and microprocessor (2') is selected) 9. Both interrupt handlers cannot replace blocks that are already in use. When one of the microprocessors finishes interrupt processing, the block having the process number of the microprocessor currently executing the interrupt processing cannot be replaced.

60割り込み処理を実行中にその割り込みより優先度の
高い割り込みが発生し、既に割り込み処理を行っている
マイクロプロセッサが選択された場合、実行中の割り込
み処理は中断される。この場合も通常処理同様、プログ
ラムカウンタやスタックポインタの値が主記憶(5)に
迫避され、新しい割り込み処理が実行される。新しい割
り込み処理が終了すると7割り込み結果を格納した後プ
ログラムカウンタやスタックポインタの値を主記憶から
ロードし、共有キャッシュメモリの中のデータを用いて
、中断された割り込みを処理する。そしてその中断され
た割り込みを処理して、この場合カウンタの値が0にな
るまで、即ち割り込み処理が終了するまで、そのマイク
ロプロセッサに使用しているブロックの置き換えを禁止
する。
If an interrupt with a higher priority than that interrupt occurs while the 60 interrupt processing is being executed, and a microprocessor that is already processing the interrupt is selected, the interrupt processing that is being executed is interrupted. In this case, as in normal processing, the values of the program counter and stack pointer are saved to the main memory (5), and a new interrupt processing is executed. When the new interrupt processing is completed, the interrupt result is stored, the program counter and stack pointer values are loaded from the main memory, and the interrupted interrupt is processed using the data in the shared cache memory. Then, the interrupted interrupt is processed, and in this case, until the counter value becomes 0, that is, until the interrupt processing is completed, replacement of the block used in the microprocessor is prohibited.

スヌーバ(106)は、システムバス(109)上のデ
ータのり−ド/ライト要求を監視し、共有キャッシュメ
モリ(4)中のデータが他のマイクロブロセッサによっ
て無効化されたり、リード要求が出されたりした場合に
、その要求をマイクロブロセ、すに知らせる。これによ
って、置き換えが禁止されているデータや他のデータの
整合性が維持されている。
The snuba (106) monitors data read/write requests on the system bus (109) and determines whether the data in the shared cache memory (4) is invalidated by another microprocessor or a read request is issued. In the event that a request is made, the microbrosse will be notified of the request. This maintains the integrity of data that is prohibited from being replaced and other data.

上記で割り込み処理を終え通常処理にもどる時プライベ
ートキャッシュは無効にされているのでマイクロプロセ
ッサはデータを共有キャッシュから得て処理を再開続行
する。
When the interrupt processing is finished and normal processing is resumed as described above, the private cache is disabled, so the microprocessor obtains data from the shared cache and resumes processing.

なお、上記実施例ではマイクロプロセッサで処理される
プロセスのプロセス番号で共有キャッシュメモリのブロ
ックを識別したが、マイクロプロセッサ毎に番号を設け
て、その番号によって識別してもよい。また、カウンタ
の計数をマイクロプロセッサからの指示で動作させても
よい。
In the above embodiment, the blocks of the shared cache memory are identified by the process number of the process processed by the microprocessor, but a number may be provided for each microprocessor and the block may be identified by that number. Alternatively, the counter may be operated by instructions from a microprocessor.

[発明の効果] 以上のようにこの発明によれば、プロセッサ毎に設けら
れ割り込みの状態をキャッンユコントローラに知らせる
カウンタと、キャッシュコントローラ内にあり共有キャ
ッシュメモリの各ブロック毎にそのブロックを使用して
いるプロセスのプロセス番号またはプロセッサ番号を記
憶するテーブルを設け、共有キャッシュメモリ内で割り
込みによって中断されたプロセスのブロックの置き換え
を禁止することにより、共有キャソンユメモリ内に割り
込み前のブロックが保存されるので1割り込みによって
中断された処理の再開を高速に行うことができるという
効果がある。
[Effects of the Invention] As described above, according to the present invention, there is a counter provided for each processor that notifies the cache controller of the interrupt status, and a counter provided in the cache controller that uses the counter for each block of the shared cache memory. By providing a table that stores the process number or processor number of the process that is being interrupted, and by prohibiting the replacement of the block of the process interrupted by an interrupt in the shared cache memory, the block before the interrupt is saved in the shared cache memory. This has the effect that processing interrupted by one interrupt can be resumed at high speed.

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

第1図はこの発明の一実施例を示すブロック図第2図は
キャッシュコントローラの一実施例を示すブロック図、
第3図はこの発明における割り込み処理のフロー図、第
4図は従来技術において4つのマイクロプロセッサを備
えたシステムにおいて割り込みが発生した時のタイミン
グ図7第5図は従来のデータ処理システムを示すブロッ
ク図。 第6図は従来技術における割り込み処理のフロー図であ
る。 図において、(1)はプロセッサモジュール、(2)と
(2’ )はマイクロプロセッサ、(3)と(3′)は
プライベートキャッシュメモリ、(4)は共有キャッシ
ュメモリ、(5)は主メモリ、 (101)〜(103
)はトランシーバ。 (104)と(105)はカウンタ、 (106)はス
ヌーバ、 (107)はキャッシュコントローラ、(1
0g)はI10コントローラ、 (109)はシステム
バスである。 なお、各図中同一符号は同一または相当部分を示す。
FIG. 1 is a block diagram showing one embodiment of the present invention. FIG. 2 is a block diagram showing one embodiment of the cache controller.
Figure 3 is a flowchart of interrupt processing in the present invention, Figure 4 is a timing diagram when an interrupt occurs in a system with four microprocessors in the prior art, and Figure 5 is a block diagram showing a conventional data processing system. figure. FIG. 6 is a flowchart of interrupt processing in the prior art. In the figure, (1) is a processor module, (2) and (2') are microprocessors, (3) and (3') are private cache memory, (4) is shared cache memory, (5) is main memory, (101) ~ (103
) is a transceiver. (104) and (105) are counters, (106) is a snubber, (107) is a cache controller, (1
0g) is the I10 controller, and (109) is the system bus. Note that the same reference numerals in each figure indicate the same or corresponding parts.

Claims (1)

【特許請求の範囲】[Claims] 各々が対応するプライベート・キャッシュメモリを持つ
複数のプロセッサと、上記プロセッサが共有する共有キ
ャッシュメモリと、割り込み命令とそれからのリターン
命令を検知保持するカウンタと、上記共有キャッシュメ
モリのブロック番号とそのブロックを使用しているプロ
セスまたはプロセッサ番号を記憶するテーブルとを有す
ることを特徴とするデータ処理装置。
A plurality of processors each having a corresponding private cache memory, a shared cache memory shared by the processors, a counter that detects and holds interrupt instructions and return instructions, and a block number of the shared cache memory and its block. 1. A data processing device comprising: a table for storing processes or processor numbers in use.
JP2104860A 1990-04-20 1990-04-20 Data processor Pending JPH043241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2104860A JPH043241A (en) 1990-04-20 1990-04-20 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2104860A JPH043241A (en) 1990-04-20 1990-04-20 Data processor

Publications (1)

Publication Number Publication Date
JPH043241A true JPH043241A (en) 1992-01-08

Family

ID=14392011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2104860A Pending JPH043241A (en) 1990-04-20 1990-04-20 Data processor

Country Status (1)

Country Link
JP (1) JPH043241A (en)

Similar Documents

Publication Publication Date Title
EP0349122B1 (en) Method and apparatus for filtering invalidate requests
US7356026B2 (en) Node translation and protection in a clustered multiprocessor system
US4481573A (en) Shared virtual address translation unit for a multiprocessor system
US6430657B1 (en) Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
US5130922A (en) Multiprocessor cache memory system using temporary access states and method for operating such a memory
US20020169938A1 (en) Remote address translation in a multiprocessor system
KR100204741B1 (en) Method to increase performance in a multi-level cache system by the use of forced cache misses
US20050021913A1 (en) Multiprocessor computer system having multiple coherency regions and software process migration between coherency regions without cache purges
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JP4119380B2 (en) Multiprocessor system
JPS6135584B2 (en)
JPH0619798A (en) Method and system for avoidance of loading of value of selector
JPH0997214A (en) Information-processing system inclusive of address conversion for auxiliary processor
US20060294319A1 (en) Managing snoop operations in a data processing apparatus
JPH1185618A (en) Method for controlling virtual memory conversion
US20120226832A1 (en) Data transfer device, ft server and data transfer method
JP2007533014A (en) System and method for canceling write back processing when snoop push processing and snoop kill processing occur simultaneously in write back cache
US4658356A (en) Control system for updating a change bit
JPS63253448A (en) Multi-computer device
JPH043241A (en) Data processor
JPS6113261B2 (en)
JPH04306750A (en) Multiprocessor system
JPS63121950A (en) Management and control system for cache memory
JPS6138504B2 (en)