JPH1115800A - Multiprocessor load uniformizing device - Google Patents

Multiprocessor load uniformizing device

Info

Publication number
JPH1115800A
JPH1115800A JP9170357A JP17035797A JPH1115800A JP H1115800 A JPH1115800 A JP H1115800A JP 9170357 A JP9170357 A JP 9170357A JP 17035797 A JP17035797 A JP 17035797A JP H1115800 A JPH1115800 A JP H1115800A
Authority
JP
Japan
Prior art keywords
interrupt
time
cpu
task
delay
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.)
Granted
Application number
JP9170357A
Other languages
Japanese (ja)
Other versions
JP3008895B2 (en
Inventor
Masao Murai
政夫 村井
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 JP9170357A priority Critical patent/JP3008895B2/en
Publication of JPH1115800A publication Critical patent/JPH1115800A/en
Application granted granted Critical
Publication of JP3008895B2 publication Critical patent/JP3008895B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To uniformize load based on measuring correctly the load state of each multiprocessor. SOLUTION: Each processor is provided with a time measuring part 2 that measures current time, calculates the difference between time when interrupt is received and time when the processing of the interrupt task is completed, makes it the time that is taken from the receiving of the interrupt till the processing completion of the interrupt task and assumes that the time is in proportion to the load of a processor. A CPU 1 controls an interrupt delaying part 3 in accordance with the size of load. With this, the receiving of interrupt is limited and load is uniformized.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は疎結合型のマルチプ
ロセッサ構成の装置において、特定のプロセッサへの負
荷集中を防止する負荷の均一化装置に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a load equalizing apparatus for preventing a load from being concentrated on a specific processor in a loosely-coupled multiprocessor.

【0002】[0002]

【従来の技術】疎結合型のマルチプロセッサ構成をとる
装置において、特定のプロセッサに割込処理が集中する
ことを防止して、負荷の分散を図る従来技術として、特
開平7ー244649号公報に記載のものについて説明
する。
2. Description of the Related Art In a device having a loosely coupled multiprocessor configuration, Japanese Patent Laid-Open Publication No. Hei 7-244649 discloses a conventional technique for dispersing the load by preventing interrupt processing from being concentrated on a specific processor. The description will be described.

【0003】図7は従来の負荷分散装置の構成を示すブ
ロック図である。
FIG. 7 is a block diagram showing a configuration of a conventional load distribution device.

【0004】CPUボード70において、75は割り込
み要因処理タスクをカウントするキュー・カウンタ、7
6はキュー・カウンタ値に応じて割り込み信号をCPU
71に伝達する時間又は数を制限制御する割り込み伝達
制御部である。キュー・カウンタ75は割り込み要因処
理タスクのキューの発生又は消滅に応じて、CPU71
によってカウントアップまたはカウントダウンするよう
に制御される。割り込み伝達制御部76は、キュー・カ
ウンタ75のカウント値に応じて、割込バス79から入
力される割り込み信号について、CPU71に伝達する
時間、または数を制限するように制御する。
In the CPU board 70, reference numeral 75 denotes a queue counter for counting interrupt factor processing tasks;
6 is a CPU for generating an interrupt signal according to the queue counter value.
An interrupt transmission control unit that controls the time or the number of transmissions to 71. The queue counter 75 changes the CPU 71 according to the occurrence or disappearance of the queue of the interrupt factor processing task.
Is controlled to count up or count down. The interrupt transmission control unit 76 controls the interrupt signal input from the interrupt bus 79 to limit the time or the number of interrupt signals transmitted to the CPU 71 in accordance with the count value of the queue counter 75.

【0005】図7において、キュー・カウンタ75は、
CPU71が割り込み処理を起動し、割り込み要因処理
タスクをキューに積んだ時にカウントアップし、割り込
み要因処理タスクが起動し、処理が完了したとき、カウ
ントダウンするように制御する。従って、キュー・カウ
ンタ75には現在積まれているキューの数がカウントさ
れている。
[0005] In FIG. 7, a queue counter 75
The CPU 71 activates the interrupt processing, counts up when the interrupt factor processing task is loaded in the queue, and controls to count down when the interrupt factor processing task is activated and the processing is completed. Accordingly, the number of queues currently loaded is counted in the queue counter 75.

【0006】割り込み伝達制御部76は、キュー・カウ
ンタ75の値の応じて、割込バス79から入力される割
り込み信号について、CPU71に伝達する数、または
時間を制限するように制御する。すなわち、キュー・カ
ウンタ75の値が大きくなるに従って、CPU71に通
知する割り込みのディレー時間を大きくして、割り込み
処理が起動するのに要する時間を長くしてキューを減少
させる。
The interrupt transmission control unit 76 controls the number or time of the interrupt signal input from the interrupt bus 79 to be transmitted to the CPU 71 in accordance with the value of the queue counter 75. That is, as the value of the queue counter 75 increases, the delay time of the interrupt to be notified to the CPU 71 is increased, and the time required for activating the interrupt process is increased to reduce the queue.

【0007】このようにして、割り込みのキューが増加
すればするほど、割り込みの受付に制限がかかり、割り
込みが集中するのを防止することができる。
In this manner, as the number of interrupt queues increases, the acceptance of interrupts is restricted, and the concentration of interrupts can be prevented.

【0008】[0008]

【発明が解決しようとする課題】上記の従来技術には次
のような問題がある。
The above prior art has the following problems.

【0009】第1の問題点は、従来例では割り込み要因
タスクの積み上げた数によって、割り込みの受付制限を
制御するようになつている。ところが、割り込み処理タ
スクは処理時間にバラつきがあり、処理時間の長いも
の、短いものがあり、タスクの数のみでは負荷状態を正
確に把握することはできない。
A first problem is that in the prior art, the acceptance of interrupts is controlled by the accumulated number of interrupt cause tasks. However, the interrupt processing tasks vary in processing time, some of which have long processing times and some of which have short processing times, and the load state cannot be accurately grasped only by the number of tasks.

【0010】負荷状態に応じて割り込みの受付け数を制
限することが重要であり、タスクの処理時間を加味しな
ければならない。
It is important to limit the number of interrupts accepted according to the load state, and it is necessary to take into account the task processing time.

【0011】その理由は、割り込みが発生してから割り
込み処理が完了するまでの時間はCPUボードの負荷に
比例して大きくなる。CPUボードを用いた装置におい
て、割り込み発生から割り込み処理完了までの時間が一
定以上になると、装置としての機能を果たさなくなる恐
れがあり、そうなれば重大なことである。
[0011] The reason is that the time from the occurrence of an interrupt to the completion of the interrupt processing increases in proportion to the load on the CPU board. In a device using a CPU board, if the time from the occurrence of an interrupt to the completion of interrupt processing becomes longer than a certain value, there is a possibility that the function as the device may not be achieved, and this is serious.

【0012】本発明の目的は、従来技術の上記問題点に
鑑み、マルチプロセッサにおいて、全ての割り込みが一
定時間以内に終わるように割り込みを各CPUボードに
割り振ることで負荷を分散させる均一化装置を提供する
ことにある。
SUMMARY OF THE INVENTION In view of the above-mentioned problems of the prior art, an object of the present invention is to provide a multiprocessor with an equalizing device which distributes loads by allocating interrupts to respective CPU boards so that all interrupts are completed within a predetermined time. To provide.

【0013】[0013]

【課題を解決するための手段】本発明は、上記の課題を
解決するため、CPUを搭載した複数のCPUボードを
並列に接続した疎結合マルチプロセッサ構成の装置にお
いて、各CPUボードに現在の時刻を測定するための時
間測定部と、各CPUボードへの割り込み入力に対して
遅延量が可変できる割り込み遅延部とを具備し、CPU
は時間測定部から現在の時刻を読み取ることができ、C
PUは割り込み遅延部の遅延量を制御できるようにした
ことを特徴とするマルチプロセッサの負荷の均一化装置
である。
SUMMARY OF THE INVENTION In order to solve the above-mentioned problems, the present invention provides an apparatus having a loosely coupled multiprocessor configuration in which a plurality of CPU boards each having a CPU mounted thereon are connected in parallel. CPU, comprising: a time measuring unit for measuring the delay time; and an interrupt delay unit that can vary a delay amount with respect to an interrupt input to each CPU board.
Can read the current time from the time measurement unit,
The PU is a multi-processor load equalizing device characterized in that the delay amount of the interrupt delay unit can be controlled.

【0014】そして、割り込みを受付けたときに割り込
み情報を割り込みキューに積み上げると同時にそのとき
に時刻を記憶し、割り込みタスクが処理完了したときの
時刻と前記割り込みキューに積み上げたときの時刻との
差をCPUボードの負荷の状態とし、CPUボードの負
荷の状態によりCPUボードへの割り込み信号の遅延量
を設定しCPUへの割り込み信号を遅らせることを特徴
とするものである。 (作用)割り込みが発生すると全てのCPUボードに割
り込みが入力される。CPUボードは割り込みを内部に
保留し、現在実行中の命令が完了した時点で、割り込み
応答をするために共通バスの獲得要求を出す。バスを獲
得できたCPUボードは割り込み応答バスサイクルを実
行し、割り込み発生元から割り込みべクタを読み取り、
割り込み元を特定する。バスを獲得できなかったCPU
ボードは後からバスを獲得することになるが、そのとき
の割り込み応答のバスサイクルに対しては割り込み元は
べクタをすでに送出済みのためべクタを出さずにバスエ
ラーとする。割り込み応答バスサイクルがバスエラーに
なったCPUボードはその割り込みを無効処理とする。
When the interrupt is accepted, the interrupt information is accumulated in the interrupt queue, and at the same time, the time is stored, and the difference between the time when the interrupt task is completed and the time when the interrupt task is accumulated in the interrupt queue is stored. Is set as the load state of the CPU board, and the amount of delay of the interrupt signal to the CPU board is set according to the load state of the CPU board to delay the interrupt signal to the CPU. (Operation) When an interrupt occurs, the interrupt is input to all CPU boards. The CPU board holds the interrupt internally and issues a common bus acquisition request to respond to the interrupt when the currently executing instruction is completed. The CPU board that has acquired the bus executes the interrupt response bus cycle, reads the interrupt vector from the interrupt source,
Identify the interrupt source. CPU that could not get the bus
The board acquires the bus later, but for the bus cycle of the interrupt response at that time, since the interrupt source has already sent the vector, it makes a bus error without outputting the vector. The CPU board in which a bus error has occurred in the interrupt response bus cycle invalidates the interrupt.

【0015】ベクタを受け取ったCPUボードは割り込
み受付け処理に入り、レジスタの退避を行い、次に割り
込み元から割り込み要求の内容を読みとって割り込みキ
ューに積み上げる。次に時間測定部より現在の時刻を読
み取り、割り込みキューの付加情報として、キューに記
憶しておく。以上が割り込みが発生したときの処理であ
る。
The CPU board that has received the vector enters an interrupt acceptance process, saves the registers, reads the contents of the interrupt request from the interrupt source, and accumulates the interrupt request in the interrupt queue. Next, the current time is read from the time measuring unit and stored in the queue as additional information of the interrupt queue. The above is the processing when an interrupt occurs.

【0016】CPUボードは常に割り込みキューを監視
し、割り込みキューに割り込みが積み上がっていたら一
番下のキューより割り込み情報を読み取り、割り込みタ
スクに処理を渡す。割り込みタスクでは、キューの割り
込み情報に基づき処理を行う。割り込みタスクの処理が
完了した時の時刻を時間測定部より読み出し、キューに
記憶されていた割り込み受付けの時刻との差を計算す
る。
The CPU board always monitors the interrupt queue. If interrupts are accumulated in the interrupt queue, the CPU board reads the interrupt information from the lowest queue and transfers the process to the interrupt task. The interrupt task performs a process based on the interrupt information of the queue. The time at which the processing of the interrupt task is completed is read from the time measuring unit, and the difference from the interrupt reception time stored in the queue is calculated.

【0017】計算結果があらかじめ決められていた上限
時間を越えていた場合にはCPUボードの負荷が大きい
と判断して割り込み遅延部の割り込み遅延時間が大きく
なるように変更する。またあらかじめ決められていた下
限時間より小さい場合は割り込み遅延部の割り込み遅延
時間が小さくなるように変更する。これらの動作によ
り、割り込み発生からその割り込みのタスク処理完了ま
での時間が大きい時、すなわちCPUボードの負荷が高
い時には割り込みの遅延時間を大きくし、割り込みの受
付けを減らすことができ、マルチプロセッサの負荷を均
一にすることができる。
If the calculated result exceeds the predetermined upper limit time, it is determined that the load on the CPU board is large, and the interrupt delay of the interrupt delay unit is changed so as to increase. If the time is shorter than the predetermined lower limit time, the interrupt delay time of the interrupt delay unit is changed to be shorter. With these operations, when the time from the occurrence of an interrupt to the completion of the task processing of the interrupt is long, that is, when the load on the CPU board is high, the delay time of the interrupt can be increased, the acceptance of interrupts can be reduced, and the load on the multiprocessor can be reduced. Can be made uniform.

【0018】[0018]

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

【0019】図1は本発明の実施の形態である負荷の均
一化装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a load equalizing apparatus according to an embodiment of the present invention.

【0020】CPUボード10にはCPU1とメモリ5
と現在の時刻を測定する時間測定部2と、CPU1が外
部の共通バス6にアクセスするためのバス調停部4と、
割り込みをCPU1に入力するための割り込み遅延部3
を備えていて、他のCPUボードと共にマルチプロセッ
サを構成している。割り込みは割り込みバス7を通して
全てのCPUボードに共通に入力され、割り込み遅延部
3を通してCPU1に入力される。また割り込み遅延部
3はCPU1から割り込みの遅延量を設定される。CP
U1はメモリ5のリード・ライトにより処理をし、また
CPU1は時間測定部2から現在の時刻をリードするこ
とができる。
The CPU board 10 has a CPU 1 and a memory 5.
A time measuring unit 2 for measuring the current time, a bus arbitration unit 4 for allowing the CPU 1 to access the external common bus 6,
Interrupt delay unit 3 for inputting an interrupt to CPU 1
And constitutes a multiprocessor with other CPU boards. The interrupt is input commonly to all CPU boards through the interrupt bus 7 and is input to the CPU 1 through the interrupt delay unit 3. The interrupt delay unit 3 is set by the CPU 1 for the amount of interrupt delay. CP
U1 performs processing by reading / writing the memory 5, and the CPU 1 can read the current time from the time measuring unit 2.

【0021】本発明の実施の形態の概略を説明する。An outline of an embodiment of the present invention will be described.

【0022】いま、割り込みがCPUボードに入力され
ると、割り込み信号は割り込み遅延部3で遅延された
後、CPU1に入力される。CPU1は割り込みを保留
し、現在の命令が完了した時点で割り込み応答を共通バ
ス6を使用して割り込み発生元のIOへ出す。割り込み
発生元のIOは割り込み応答に応じて割り込みべクタを
CPUボード10に返す。割り込み応答を受けたCPU
1はレジスタを退避し、割り込み元のIOから割り込み
情報を読み取り、メモリ5に割り込みキューとして積み
上げる。この時の時刻を時間測定部2より読み取り、割
り込みキューに割り込み情報の付加情報として記憶して
おく。
When an interrupt is input to the CPU board, the interrupt signal is input to the CPU 1 after being delayed by the interrupt delay unit 3. The CPU 1 suspends the interrupt, and issues an interrupt response to the I / O of the interrupt source using the common bus 6 when the current instruction is completed. The IO at the interrupt source returns an interrupt vector to the CPU board 10 in response to the interrupt response. CPU that received the interrupt response
1 saves the register, reads the interrupt information from the IO of the interrupt source, and accumulates the interrupt information in the memory 5 as an interrupt queue. The time at this time is read from the time measuring unit 2 and stored in the interrupt queue as additional information of the interrupt information.

【0023】CPU1は常に割り込みキューを監視し、
割り込みキューに割り込み情報が積み上がっていたなら
ば、割り込みキューより割り込み情報を読み出し、割り
込みタスクを起動する。割り込みキューの割り込み情報
に基づき割り込み処理をし、完了時の時刻を時間測定部
2より読み出して、割り込み受付け時に記憶していた時
刻との差を計算し、割り込み受付けから割り込みタスク
終了までの時間を求める。
The CPU 1 always monitors the interrupt queue,
If the interrupt information has been accumulated in the interrupt queue, the interrupt information is read from the interrupt queue and the interrupt task is started. Performs interrupt processing based on the interrupt information in the interrupt queue, reads the time of completion from the time measuring unit 2, calculates the difference from the time stored at the time of receiving the interrupt, and calculates the time from the reception of the interrupt to the end of the interrupt task. Ask.

【0024】図5は割り込み受付けから割り込みタスク
終了までの時間が短い場合の概念図である。Aの割り込
み受付けをしAの割り込みタスクが起動され割り込みタ
スクが完了後に、次のBの割り込み受付けをしBの割り
込みタスク完了後に、次の割り込み受付けCを行ってい
る。この場合は割り込みの処理に於ける処理の遅れはな
い状態である。
FIG. 5 is a conceptual diagram in the case where the time from the acceptance of the interrupt to the end of the interrupt task is short. After accepting the interrupt of A, the interrupt task of A is activated and the interrupt task is completed, the next interrupt of B is accepted, and after the interrupt task of B is completed, the next interrupt acceptance C is performed. In this case, there is no delay in the processing of the interrupt.

【0025】図6は割り込みタスクの処理時間が長いた
めに割り込み処理の遅れがある場合の例である。割り込
み受付けDをし割り込みタスク処理Dを起動し、割り込
みタスクDの処理が完了前に、次の割り込み受付けEが
ある場合である。この場合、割り込みタスク処理Eは割
り込みタスク処理Dが完了するまで待たされることにな
り、割り込み受付けEから割り込みタスク処理E完了ま
での時間が大きくなっている。さらに、割り込み受付け
Fは割り込みタスク処理Eが完了するまで待たされてか
ら、割り込みタスク処理Fが起動するので、ますます割
り込み受付けから割り込みタスク完了までの時間が大き
くなる。このように割り込み受付けから、割り込みタス
ク処理完了までの時間を測定することによって、CPU
ボードの負荷を正確に知ることができる。
FIG. 6 shows an example in which there is a delay in interrupt processing due to a long processing time of the interrupt task. This is a case where the interrupt acceptance D is performed, the interrupt task processing D is started, and the next interrupt acceptance E is present before the processing of the interrupt task D is completed. In this case, the interrupt task processing E waits until the interrupt task processing D is completed, and the time from the reception of the interrupt E to the completion of the interrupt task processing E increases. Further, the interrupt acceptance process F is waited until the interrupt task process E is completed, and then the interrupt task process F is activated, so that the time from the acceptance of the interrupt to the completion of the interrupt task is further increased. By measuring the time from interrupt acceptance to completion of interrupt task processing in this way, the CPU
The load on the board can be known accurately.

【0026】割り込み受付けから割り込みタスク処理完
了までの時間と割り込み遅延部の遅延時間との関係をあ
らかじめ設定しておき、割り込み遅延時間を求める。求
めた割り込み遅延時間を割り込み遅延部に設定すること
により、割り込みの遅延時間を制御し、割り込みの受付
けを制限する。
The relationship between the time from the reception of the interrupt to the completion of the interrupt task processing and the delay time of the interrupt delay unit are set in advance, and the interrupt delay time is determined. By setting the obtained interrupt delay time in the interrupt delay unit, the delay time of the interrupt is controlled and the acceptance of the interrupt is limited.

【0027】数値を用いて具体的に説明すると、CPU
ボード10で処理する割り込みタスクの処理時間が0.
1mSから10mSまでばらつくと仮定する。割り込み
キューの積み上げ数の最大値は64と仮定する。
A specific description will be given using numerical values.
The processing time of the interrupt task processed by the board 10 is 0.
Assume that it varies from 1 mS to 10 mS. It is assumed that the maximum value of the number of stacked interrupt queues is 64.

【0028】この場合、割り込みが受付けられてから、
割り込みタスクが完了するまでの最大の時間は10mS
x64=640mSとなる。時間測定部2はこの時間よ
り長い時間測定が必要になるのでここでは1mS単位で
4096カウント、つまり最大測定時間を4.096S
とする。時間測定部は4.096Sをカウントすれば0
に戻って常にカウントを繰り返している。
In this case, after the interruption is accepted,
Maximum time to complete interrupt task is 10ms
x64 = 640 ms. Since the time measurement unit 2 needs to measure the time longer than this time, here, 4096 counts in 1 mS units, that is, the maximum measurement time is set to 4.096S.
And The time measurement unit is 0 if it counts 4.096S
Returning to the count is always repeated.

【0029】このマルチプロセッサにて制御されるシス
テムで許される割り込み処理の遅延時間の最大値が0.
5Sと仮定する。
The maximum value of the delay time of the interrupt processing allowed in the system controlled by the multiprocessor is set to 0.
Assume 5S.

【0030】次に、本発明の実施の形態を構成する割り
込み遅延部について説明する。図2は割り込み遅延部の
回路構成を示す図である。
Next, an interrupt delay unit constituting an embodiment of the present invention will be described. FIG. 2 is a diagram showing a circuit configuration of the interrupt delay unit.

【0031】割り込み遅延部3は図2に示すように、シ
フトレジスタ31、シフトレジスタの出力を選択するセ
レクタ32及びセレクタ32に選択値を記憶するラッチ
33より構成され、CPU1からの指示により、割り込
み遅延部3の遅延量を8段階に設定できるようになって
いる。割り込み遅延部の遅延量は設定により割り込み受
付けの確率が確実に変化しなければならないのでCPU
1の命令実行時間より大きくする必要がある。CPU1
の平均命令時間を0.6μSと仮定すれば、割り込み遅
延部3の遅延単位は2μSとする。すなわち割り込み遅
延部の遅延時間は0μSから2μS単位で最大14μS
となる(図4(b)参照)。
As shown in FIG. 2, the interrupt delay unit 3 comprises a shift register 31, a selector 32 for selecting an output of the shift register, and a latch 33 for storing a selected value in the selector 32. The delay amount of the delay unit 3 can be set in eight stages. The delay amount of the interrupt delay unit must be changed by setting the probability of interrupt acceptance.
It must be longer than one instruction execution time. CPU1
Is assumed to be 0.6 .mu.S, the delay unit of the interrupt delay unit 3 is 2 .mu.S. That is, the delay time of the interrupt delay unit is 0 μS to a maximum of 14 μS in 2 μS units.
(See FIG. 4B).

【0032】割り込みの受付けの処理を図面を参照して
説明する。
The process of accepting an interrupt will be described with reference to the drawings.

【0033】図3は(a)割り込み受付け処理のフロー
チャート、図3(b)は割り込みキューテーブルであ
る。
FIG. 3A is a flowchart of the interrupt acceptance process, and FIG. 3B is an interrupt queue table.

【0034】割り込み発生元のIOが割り込みを発生し
たならば割り込み信号は割り込みバス7を通して全ての
CPUボードの割り込み遅延部3に入力される。割り込
み遅延部3のシフトレジスタ31のリセット端子がロー
レベルになるので、シフトレジスタ31のD端子のハイ
レベルをシフトし始める。割り込み遅延部3のラッチ3
3の設定が”010”の場合、シフトレジスタ31のQ
Bの値がCPU1に伝達される。この場合割り込み信号
は4μS遅延してCPU1に入力されることになる(ス
テップ1)。
When the interrupt source IO generates an interrupt, the interrupt signal is input to the interrupt delay units 3 of all CPU boards through the interrupt bus 7. Since the reset terminal of the shift register 31 of the interrupt delay unit 3 goes low, the shift terminal 31 starts shifting the high level of the D terminal. Latch 3 of interrupt delay unit 3
3 is “010”, the shift register 31 Q
The value of B is transmitted to CPU1. In this case, the interrupt signal is input to the CPU 1 with a delay of 4 μS (step 1).

【0035】CPU1に入力された割り込みは内部で保
留され、現在実行中の命令が終了した時点で割り込み応
答を出すためにバス調停部4にバス要求を出す。バスの
獲得ができれば、共通バス6に割り込み応答バスサイク
ルを送出し、割り込み元IOから割り込みべクタを読み
取る(ステップ2)。
The interrupt input to the CPU 1 is held internally, and a bus request is issued to the bus arbitration unit 4 to issue an interrupt response when the currently executed instruction is completed. If the bus can be acquired, an interrupt response bus cycle is sent to the common bus 6, and the interrupt vector is read from the interrupt source IO (step 2).

【0036】ベクタを受けたCPU1はレジスタのスタ
ック退避を行い(ステップ3)、割り込み元のIOから
割り込み情報をリードし、割り込みキューに割り込み情
報として積み上げておく(ステップ4)。割り込み受付
け処理が完了したので、この時の時刻を時間測定部2よ
りリードする(ステップ5)。そのときの時刻、すなわ
ちカウント値が1000と仮定する。このカウント値1
000をキューの積み上げた情報の一部として記憶させ
ておく(ステップ6)。
The CPU 1 receiving the vector saves the stack of the register (step 3), reads the interrupt information from the interrupt source IO, and accumulates the interrupt information in the interrupt queue (step 4). Since the interrupt acceptance processing has been completed, the time at this time is read from the time measuring unit 2 (step 5). It is assumed that the time at that time, that is, the count value is 1000. This count value 1
000 is stored as a part of the information accumulated in the queue (step 6).

【0037】次に、割り込みタスクの処理について図面
を参照して説明する。
Next, the processing of the interrupt task will be described with reference to the drawings.

【0038】図4(a)は割り込みタスク処理のフロー
チャート、図4(b)は割り込み受付けから割り込みタ
スク完了までの時間と割り込み遅延部の遅延量との関係
を示すテーブルである。
FIG. 4A is a flowchart of the interrupt task process, and FIG. 4B is a table showing the relationship between the time from the reception of the interrupt to the completion of the interrupt task and the delay amount of the interrupt delay unit.

【0039】CPU1は常に割り込みキューの状態を監
視し、割り込みキューに積み上げられた割り込み情報が
ある時は一番下の割り込みキューの情報、つまり一番過
去につまれた割り込みから処理を始める。割り込みキュ
ーの割り込み情報に基づいて割り込みタスクを起動し、
タスク処理を行う(ステップ8)。タスク処理が完了し
た時点で、割り込み受付けからの時間を測定するため
に、時間測定部2のカウンタをリードし、カウント値1
045を読み取ったと仮定する。割り込みキューに記憶
していた割り込み受付け時間の1000との差45を求
め、割り込み受付けから割り込みタスク完了までの時間
が45mSかかったことを知る。
The CPU 1 always monitors the state of the interrupt queue. If there is interrupt information accumulated in the interrupt queue, the CPU 1 starts processing from the information in the lowest interrupt queue, that is, the interrupt caught in the past. Activate an interrupt task based on the interrupt information in the interrupt queue,
Task processing is performed (step 8). When the task processing is completed, the counter of the time measuring unit 2 is read to measure the time from the acceptance of the interrupt, and the count value 1
Assume that you read 045. The difference 45 between the interrupt reception time stored in the interrupt queue and 1000 is obtained, and it is known that the time from the reception of the interrupt to the completion of the interrupt task took 45 ms.

【0040】割り込み受付けから割り込みタスク完了ま
での時間と割り込み遅延部3の遅延量との関係を示すテ
ーブル(図4(b)参照)をあらかじめ設定しておき、
割り込み受付けから割り込みタスク完了までの時間、4
5mSが遅延量の”001”に相当することを得て、C
PU1は割り込み遅延部3のラッチ33に”001”を
設定する(ステップ9)。
A table (see FIG. 4B) indicating the relationship between the time from the acceptance of the interrupt to the completion of the interrupt task and the delay amount of the interrupt delay unit 3 is set in advance.
Time from interrupt acceptance to interrupt task completion, 4
5mS is equivalent to the delay amount "001", and C
PU1 sets "001" in the latch 33 of the interrupt delay unit 3 (step 9).

【0041】割り込み受付け時の時間測定部2のカウン
タ値が4040であり、割り込みタスク完了時の時間測
定部2のカウンタ値が0020であった場合は割り込み
受付け時の時間測定部のカウンタ値の方が大きいのでカ
ウンタが一周したと判断し、4096から4040を引
きその差と0020を加えて76の値を得ることができ
るため、いかなる場合でも割り込み受付けから、割り込
みタスク完了までの時間を求めることができる。
If the counter value of the time measuring unit 2 at the time of interrupt acceptance is 4040, and the counter value of the time measuring unit 2 at the time of completion of the interrupt task is 0020, the counter value of the time measuring unit at the time of accepting the interrupt is Is large, it is determined that the counter has made one round, and the value of 76 can be obtained by subtracting 4040 from 4096 and adding the difference and 0020, so that in any case, the time from the acceptance of the interrupt to the completion of the interrupt task can be obtained. it can.

【0042】次に、他の実施の形態として、割り込みレ
ベルが複数ある場合、割り込みレベルにより割り込みタ
スクの実行時間がある程度予測できる場合がある。
Next, as another embodiment, when there are a plurality of interrupt levels, the execution time of the interrupt task can be predicted to some extent based on the interrupt levels.

【0043】たとえば割り込みレベルに1と2がある場
合で割り込みレベル1の割り込みタスク処理時間が1m
Sであり、割り込みレベル2の割り込みタスク処理時間
が10mSであった場合は、CPUが割り込みキューを
監視するときに、割り込みレベル1の割り込みキューに
積まれた数に1mSをかけた値と、割り込みレベル2の
割り込みキューに積まれた数に10mSをかけた値を加
えることにより、現時点に於ける割り込み受付けから割
り込みタスク処理完了までの最大の時間を予測できる。
この場合は時間測定部が不要になる。割り込み受付けか
ら割り込みタスク完了までの時間がわかれば、その時間
と割り込み遅延部の遅延時間の関係テーブルより割り込
み遅延部の遅延量を設定できる。
For example, when there are interrupt levels 1 and 2, the interrupt task processing time of interrupt level 1 is 1 m
S, if the interrupt task processing time of the interrupt level 2 is 10 mS, when the CPU monitors the interrupt queue, a value obtained by multiplying the number accumulated in the interrupt queue of the interrupt level 1 by 1 mS and the interrupt By adding a value obtained by multiplying the number stored in the level 2 interrupt queue by 10 mS, the maximum time from the acceptance of the interrupt to the completion of the interrupt task processing at the present time can be predicted.
In this case, the time measurement unit becomes unnecessary. If the time from the acceptance of the interrupt to the completion of the interrupt task is known, the amount of delay of the interrupt delay unit can be set from a table showing the relationship between the time and the delay time of the interrupt delay unit.

【0044】さらに別の実施の形態としては、割り込み
キューにくくりつけのハードタイマを具備し、割り込み
の受付けをしたときに、積み上げた割り込みキューに対
応するタイマを起動し、割り込みタスクが完了したとき
に対応するタイマを読み取って、その値を割り込み受付
けから割り込みタスク完了までの時間とすることにより
CPUボードの負荷を測定することができる。
As another embodiment, a hard timer tied to an interrupt queue is provided, and when an interrupt is accepted, a timer corresponding to the stacked interrupt queue is started and an interrupt task is completed. The load on the CPU board can be measured by reading the timer corresponding to, and setting the value as the time from the acceptance of the interrupt to the completion of the interrupt task.

【0045】[0045]

【発明の効果】第1の効果は、CPUボードは負荷が大
きくなると割り込み処理時間が長くなってシステムに影
響を与えてしまう。処理時間が長くなるのは割り込み処
理タスクを起動するまでの待ち時間が大きくなる為で、
割り込み受付けから、割り込みタスク処理完了までの時
間を測定することにより、CPUボード負荷を正確に測
定できる。
The first effect is that when the load on the CPU board is increased, the interrupt processing time is lengthened to affect the system. The longer processing time is due to the longer waiting time before starting the interrupt processing task.
By measuring the time from the acceptance of the interrupt to the completion of the interrupt task processing, the CPU board load can be accurately measured.

【0046】負荷を正確に測定することにより、割り込
み受付けの確率をきめ細かく制御でき負荷の均一ができ
る。
By accurately measuring the load, the probability of receiving an interrupt can be finely controlled and the load can be made uniform.

【0047】その理由は、割り込み受付け時の時刻を割
り込みキューに付加情報として記憶し、割り込みタスク
処理完了時の時刻と割り込みキューに記憶された時刻と
の差を求めることにより、割り込み受付けから割り込み
タスク完了までの時間を計測でき、CPUボードの負荷
を正確に知ることができる。割り込み入力回路は割り込
み遅延部があり、割り込みの遅延時間を負荷に応じてき
め細かく制御することができるため、CPUボードの負
荷の均一化をすることができる。
The reason is that the time at which the interrupt is accepted is stored as additional information in the interrupt queue, and the difference between the time at which the interrupt task processing is completed and the time stored in the interrupt queue is determined. The time until completion can be measured, and the load on the CPU board can be accurately known. The interrupt input circuit has an interrupt delay unit, and the delay time of the interrupt can be precisely controlled according to the load, so that the load on the CPU board can be equalized.

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

【図1】本発明の実施の形態である負荷の均一化装置の
構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of a load equalizing apparatus according to an embodiment of the present invention.

【図2】割り込み遅延部の回路構成を示す図FIG. 2 is a diagram illustrating a circuit configuration of an interrupt delay unit;

【図3】(a)割り込み受付け処理のフローチャート、
(b)割り込みキューテーブル
FIG. 3A is a flowchart of an interrupt acceptance process;
(B) Interrupt queue table

【図4】(a)割り込みタスク処理のフローチャート、
(b)割り込み受付けから割り込みタスク完了までの時
間と割り込み遅延部の遅延量との関係を示すテーブル
FIG. 4A is a flowchart of interrupt task processing;
(B) A table showing the relationship between the time from the acceptance of an interrupt to the completion of the interrupt task and the delay amount of the interrupt delay unit

【図5】負荷の軽い割り込み処理のタイミングチャートFIG. 5 is a timing chart of interrupt processing with a light load;

【図6】負荷の重い割り込み処理のタイミングチャートFIG. 6 is a timing chart of heavy interrupt processing.

【図7】従来の負荷分散装置の構成を示すブロック図FIG. 7 is a block diagram showing a configuration of a conventional load distribution device.

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

1 CPU 2 時間測定部 3 割り込み遅延部 31 シフトレジスタ 32 セレクタ 33 ラッチ 4 バス調停部 5 メモリ 6 共通バス 7 割り込みバス 10 CPUボード 70 CPUボード 71 CPU 72 デコーダ 73 バス調停部 74 バッファ 75 キュー・カウンタ 76 割り込み伝達制御部 77 共通バス 78 調停バス 79 割り込みバス 1 CPU 2 Time measurement unit 3 Interrupt delay unit 31 Shift register 32 Selector 33 Latch 4 Bus arbitration unit 5 Memory 6 Common bus 7 Interrupt bus 10 CPU board 70 CPU board 71 CPU 72 Decoder 73 Bus arbitration unit 74 Buffer 75 Queue counter 76 Interrupt transmission control unit 77 Common bus 78 Arbitration bus 79 Interrupt bus

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 CPUを搭載した複数のCPUボードを
並列に接続した疎結合マルチプロセッサ構成の装置にお
いて、各CPUボードに現在の時刻を測定するための時
間測定部と、各CPUボードへの割り込み入力に対して
遅延量が可変できる割り込み遅延部とを具備し、CPU
は時間測定部から現在の時刻を読み取ることができ、C
PUは割り込み遅延部の遅延量を制御できるようにした
ことを特徴とするマルチプロセッサの負荷の均一化装
置。
An apparatus having a loosely coupled multiprocessor configuration in which a plurality of CPU boards each having a CPU mounted thereon are connected in parallel, a time measuring unit for measuring the current time on each CPU board, and an interrupt to each CPU board. An interrupt delay unit capable of changing a delay amount with respect to an input;
Can read the current time from the time measurement unit,
An apparatus for equalizing a load of a multiprocessor, wherein a PU can control a delay amount of an interrupt delay unit.
【請求項2】 割り込みを受付けたときに割り込み情報
を割り込みキューに積み上げると同時にそのときに時刻
を記憶し、割り込みタスクが処理完了したときの時刻と
前記割り込みキューに積み上げたときの時刻との差をC
PUボードの負荷の状態とすることを特徴とする請求項
1記載のマルチプロセッサの負荷の均一化装置。
2. When an interrupt is accepted, interrupt information is accumulated in an interrupt queue, and at the same time, a time is stored, and the difference between the time when the interrupt task is completed and the time when the interrupt task is accumulated in the interrupt queue. To C
2. The apparatus for equalizing loads of a multiprocessor according to claim 1, wherein the state of the loads on the PU boards is set.
【請求項3】 CPUボードの負荷の状態によりCPU
ボードへの割り込み信号の遅延量を設定しCPUへの割
り込み信号を遅らせることを特徴とする請求項2記載の
マルチプロセッサの負荷の均一化装置。
3. The CPU according to the load state of the CPU board.
3. The apparatus according to claim 2, wherein a delay amount of the interrupt signal to the board is set to delay the interrupt signal to the CPU.
JP9170357A 1997-06-26 1997-06-26 Multiprocessor load equalizer Expired - Fee Related JP3008895B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9170357A JP3008895B2 (en) 1997-06-26 1997-06-26 Multiprocessor load equalizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9170357A JP3008895B2 (en) 1997-06-26 1997-06-26 Multiprocessor load equalizer

Publications (2)

Publication Number Publication Date
JPH1115800A true JPH1115800A (en) 1999-01-22
JP3008895B2 JP3008895B2 (en) 2000-02-14

Family

ID=15903444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9170357A Expired - Fee Related JP3008895B2 (en) 1997-06-26 1997-06-26 Multiprocessor load equalizer

Country Status (1)

Country Link
JP (1) JP3008895B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074320A (en) * 2005-09-07 2007-03-22 Matsushita Electric Ind Co Ltd Network equipment apparatus
JP2007534104A (en) * 2004-04-23 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Seamless recording of real-time information
JP2009521055A (en) * 2005-12-23 2009-05-28 エヌエックスピー ビー ヴィ AV rendering peripheral device with double interrupt lines for alternating interrupts
US8386683B2 (en) 2008-03-31 2013-02-26 Fujitsu Limited Information processing apparatus, interrupt control device and interrupt control method
JP6374561B1 (en) * 2017-03-31 2018-08-15 西日本電信電話株式会社 Load balancing system, virtual machine configuration changing method, and computer program
CN112041822A (en) * 2018-04-16 2020-12-04 超威半导体公司 Enhancing central processing unit quality of service guarantees while servicing accelerator requests

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007534104A (en) * 2004-04-23 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Seamless recording of real-time information
JP2007074320A (en) * 2005-09-07 2007-03-22 Matsushita Electric Ind Co Ltd Network equipment apparatus
JP2009521055A (en) * 2005-12-23 2009-05-28 エヌエックスピー ビー ヴィ AV rendering peripheral device with double interrupt lines for alternating interrupts
US8484389B2 (en) 2005-12-23 2013-07-09 Entropic Communications, Inc. AV renderer peripheral with dual inerrupt lines for staggered interrupts
US8386683B2 (en) 2008-03-31 2013-02-26 Fujitsu Limited Information processing apparatus, interrupt control device and interrupt control method
JP6374561B1 (en) * 2017-03-31 2018-08-15 西日本電信電話株式会社 Load balancing system, virtual machine configuration changing method, and computer program
JP2018173844A (en) * 2017-03-31 2018-11-08 西日本電信電話株式会社 Load distribution system, virtual machine configuration change method and computer program
CN112041822A (en) * 2018-04-16 2020-12-04 超威半导体公司 Enhancing central processing unit quality of service guarantees while servicing accelerator requests
KR20210005636A (en) * 2018-04-16 2021-01-14 어드밴스드 마이크로 디바이시즈, 인코포레이티드 Enhancement of service quality assurance of the central processing unit when servicing accelerator requests
JP2021521541A (en) * 2018-04-16 2021-08-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Implementation of processing quality assurance of central processing unit when processing accelerator requests

Also Published As

Publication number Publication date
JP3008895B2 (en) 2000-02-14

Similar Documents

Publication Publication Date Title
JP4750865B2 (en) Method and apparatus for influencing subsequent instruction processing in a data processor
KR940001273B1 (en) Micro-system and method controlling bus-cycle
KR20210011451A (en) Embedded scheduling of hardware resources for hardware acceleration
EP0363889B1 (en) Vector processor using buffer for preparing vector data
JP3008895B2 (en) Multiprocessor load equalizer
JP2010044645A (en) Data transfer device, and data transfer method
JP2010140239A (en) Apparatus and method for shortening interrupt latency
US6691182B2 (en) DMA controller in which bus access ratio can be set
JP2000194683A (en) Arbitration circuit and method for shared memory
KR970003319B1 (en) Data processing system having serial interface
JP2018106583A (en) Semiconductor device
US20090013117A1 (en) System and method for generating interrupt
JP2002278753A (en) Data processing system
KR920004404B1 (en) Stack system
JPH0546535A (en) Data transfer interface device
JP2993795B2 (en) Bus arbitration circuit
JP3132012B2 (en) Data bus control circuit
JPH05120030A (en) Interruption controller
US9690727B2 (en) System internal latency measurements in realtime applications
JP2635863B2 (en) Central processing unit
KR19990011769A (en) Interrupt Distribution Regulator
JPH01213050A (en) Circuit data reception controller
JP2013073297A (en) Interruption control circuit and interruption control method by time division system
JPH0830551A (en) Wait control system
JPH0328962A (en) Alignment control system using scoreboard

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071203

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111203

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111203

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121203

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121203

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees