JPH0325558A - Main storage access request selecting system for multiprocessor system - Google Patents
Main storage access request selecting system for multiprocessor systemInfo
- Publication number
- JPH0325558A JPH0325558A JP16000389A JP16000389A JPH0325558A JP H0325558 A JPH0325558 A JP H0325558A JP 16000389 A JP16000389 A JP 16000389A JP 16000389 A JP16000389 A JP 16000389A JP H0325558 A JPH0325558 A JP H0325558A
- Authority
- JP
- Japan
- Prior art keywords
- request
- processor
- priority
- requests
- held
- 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
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、複数のプロセッサを備えたマルチプロセッサ
システムにおいて、各々のプロセッサから出力された主
記憶アクセスリクエストを最適な方法で選択する主記憶
アクセスリクエスト選択方式に関するものである。Detailed Description of the Invention [Field of Industrial Application] The present invention provides a main memory access method that selects main memory access requests output from each processor in an optimal manner in a multiprocessor system equipped with a plurality of processors. This relates to a request selection method.
第4図は特開昭63−86062号に従来技術として示
されている従来の主記憶アクセスリクエスト選択装置の
構或例である。同図において、2bは優先順位制御回路
、3はリクエスト受信レジスタ、4は優先順位カウンタ
、5はロックレジスタ、6はパイプライン、7はバンク
ビジー表示回路、8は主記憶アクセス起動レジスタであ
る。FIG. 4 shows an example of the structure of a conventional main memory access request selection device disclosed as a prior art in Japanese Patent Laid-Open No. 63-86062. In the figure, 2b is a priority control circuit, 3 is a request reception register, 4 is a priority counter, 5 is a lock register, 6 is a pipeline, 7 is a bank busy display circuit, and 8 is a main memory access activation register.
この構或において、各プロセッサからの主記憶アクセス
リクエストは各々のプロセッサに対応したリクエスト受
信レジスタ3にバッフ戸リングされる。図示の例では、
プロセッサ数が4台に仮定ざれているので、リクエスト
受信レジスタ3はRRO〜RR4の4個存在する。バッ
ファリングされた主記憶アクセスリクエストは優先順位
制御回路2bに送られる.優先順位制御回路2bは各リ
クエスト受信レシズタ3から送られてきている主記憶ア
クセスリクエストのうち唯一のリクエストを選択する。In this structure, main memory access requests from each processor are buffered in the request receiving register 3 corresponding to each processor. In the illustrated example,
Since the number of processors is assumed to be four, there are four request reception registers 3, RRO to RR4. The buffered main memory access request is sent to the priority control circuit 2b. The priority control circuit 2b selects only one request among the main memory access requests sent from each request receiving register 3.
パイプライン6は主記憶¥iNIlを起動したアクセス
を各ステージ毎に保持するものである。優先順位カウン
タ4はnビットのカウンタで、プロセッサ間の優先順位
を動的に決定するものであり、リクエストが選択される
毎に優先順位が変更される。プロセッサをPO〜P3と
すると、優先順位制御回路2bは優先順位カウンタ4の
nビットをデコードすることにより、下記の優先順位を
指定する。The pipeline 6 holds the access that activated the main memory \iNII for each stage. The priority counter 4 is an n-bit counter that dynamically determines the priority among processors, and the priority is changed every time a request is selected. Assuming that the processors are PO to P3, the priority control circuit 2b decodes the n bits of the priority counter 4 to designate the following priorities.
カウンタ4
2ピット出力 優先順位
00 :PO PI P2 P3“
01 :PI P2 P3 P41
0 :P2 P3 PO P111
:P3 PO PI P2パング
ビジー表示回路7は主記憶のバンク対応に各バンクのビ
ジー時間を保持するフラグを持ち、このフラグがオンで
あるバンクへのアクセスは、このフラグがオフになるま
での期間抑止される。Counter 4 2-pit output Priority 00: PO PI P2 P3
01 :PI P2 P3 P41
0 :P2 P3 PO P111
:P3 PO PI P2 Pang Busy display circuit 7 has a flag that holds the busy time of each bank corresponding to the bank of the main memory, and access to a bank where this flag is on is inhibited for a period of time until this flag turns off. be done.
ロックレジスタ5はロックされたバンクのアドレスまた
はキャッシュブロック単位のアドレスが保持され、バン
ク単位またはブロック単位のロックが実現される。この
ロックレジスタ5の値が有効な間、同一バンクまたは同
一ブロックへのアクセスはロックを指令したプロセッサ
からのアクセス以外は抑止される。ロックレジスタ5は
、ロックを起動したブOセッサからのロック解除リクエ
ストによって無効化される。The lock register 5 holds the address of a locked bank or the address of each cache block, and locking of each bank or block is realized. While the value of this lock register 5 is valid, accesses to the same bank or block are inhibited except by the processor that issued the lock instruction. The lock register 5 is invalidated by a lock release request from the processor that activated the lock.
上述した従来のアクセスリクエスト選択方式では、プロ
セッサ間の優先順,位のみを動的に変化させていたため
、多数のプロセッサから$11!にリクエストが発生す
る場合、優先順位が低く割当てられているプロセッサは
自分の優先順位が高くなるまで待たされる可能性がある
。これは優先順位の低いプロセッサからのリクエストが
優先順位の高いプロセッサからのリクエストよりも時間
的に早く発行されても、優先順位の高いプロセッサから
のリクエス1・に追越されてしまう可能性があることを
意味する。仁のような状態が生じる例を第5図により説
明すると、ここでは時間ToからT3まで、優先順位制
御回路2bで1回のリクエスト選択に要する時間単位で
区切られ、各々の時間に対して各プロセッサからリクエ
ストの状態が示されている。リクエスi・の状態は“d
S nが優先順位制御回路2bでリクエスト選択処理
されている状態、′W”が優先順位制御回路2bの入口
で待たされている状態を示しており、この例ではプロセ
ッサP3のリクエストが長時間待たされている場合を示
している。このときの例の動作を時間毎に説明する。In the conventional access request selection method described above, only the priority order among processors was dynamically changed, so $11! When a request occurs, a processor assigned a lower priority may be forced to wait until its own priority becomes higher. This means that even if a request from a low-priority processor is issued earlier than a request from a high-priority processor, it may be overtaken by a request from a high-priority processor. It means that. An example in which such a state occurs will be explained with reference to FIG. 5. Here, from time To to T3, the priority control circuit 2b divides the time required for one request selection, and for each time, each request is The status of the request from the processor is shown. The state of request i is “d”
S n indicates a state in which a request is being selected and processed in the priority control circuit 2b, and 'W' indicates a state in which the request is being waited at the entrance of the priority control circuit 2b. In this example, a request from processor P3 has been waiting for a long time. The example operation in this case will be explained time by time.
TO:プロセッサP2とプロセッサP3が同時にリクエ
ストを発行する。このとき、プロセッサP2の方が優先
順位が高いので、プロセッサP2のリクエストが選択さ
れる。TO: Processor P2 and processor P3 issue requests simultaneously. At this time, since processor P2 has a higher priority, the request from processor P2 is selected.
T1:継続的にプロセッサP3からのリクエストは発行
され続けている.さらにこの時点でプロセッサP1から
リクエストが発行される。このとき、プロセッサP1の
方が優先順位が高いため、プロセッサP1のリクエスト
が選択され、この時点でリクウエストの追い越しが生じ
る。T1: Requests from processor P3 continue to be issued. Further, at this point, a request is issued from processor P1. At this time, since the processor P1 has a higher priority, the request from the processor P1 is selected, and at this point, the request is overtaken.
T2:継続的にプロセッサP3からのリクエストは発行
され続けている。さらにこの時点で、プロセッサPOか
らのリクエストが発行される。このとき、プロセッサP
Oの方が優先順位が高いので、プロセッサPOのリクエ
ストが選択され、この時点で再びリクエストの追い越し
が生じる。T2: Requests from processor P3 continue to be issued. Furthermore, at this point, a request is issued from processor PO. At this time, processor P
Since O has a higher priority, the request of processor PO is selected, and at this point, request overtaking occurs again.
T3:継続的にプロセッサP3からのリクエストは発行
され続けている。この時点でプロセッサP3の優先順位
が最高になるので、プロセッサP3からのリクエストは
この時点で初めて選択される.
このようにして1つのプロセッサからのリクエストが長
時間待たされることは、優先順位の高いプロセッサがロ
ック領域を指定した場合にシステム性能の低下を招くと
いう問題点がある。具体的には以下に示すようなことが
生じる。T3: Requests from processor P3 continue to be issued. At this point, processor P3 has the highest priority, so a request from processor P3 is selected for the first time at this point. Having a request from one processor wait for a long time in this way poses a problem in that system performance deteriorates when a high priority processor specifies a lock area. Specifically, the following occurs.
(1)プロセッサPiがロックをかけた主記憶領域に、
プロセッサPjがその領域をアクセスしようとするが、
ロックがかけられているためにキャンセルされる。(1) In the main memory area locked by processor Pi,
Processor Pj tries to access that area, but
Canceled because it is locked.
(2)プロセッサPjは再び同じところをアクセスしよ
うとする.
(3)プロセッサPiはロック解除のリクエストを発行
する。(2) Processor Pj attempts to access the same location again. (3) Processor Pi issues an unlock request.
(4)プロセッサPjの優先順位の方がプロセッサiの
優先順位よりも高いので、プロセッサPjからのリクエ
ストの方が優先され、再びロックをかけられた領域に対
してアクセスしてキャンセルされる。(4) Since the priority of processor Pj is higher than that of processor i, the request from processor Pj is given priority and is canceled by accessing the locked area again.
このようにロック解除のリクエストを出しているプロセ
ッサがその優先順位が上がるまで艮時間持たされること
によって、上記(4)のような無駄なリクエストが何回
も受付けられてしまい、システム全体の性能の低下を招
いてしまうという問題点がある。In this way, the processor issuing the lock release request waits for a long time until its priority level is raised, and as a result, useless requests like (4) above are accepted many times, which reduces the performance of the entire system. There is a problem in that it leads to a decrease in
また、上記例ではプロセッサの数が多くなるほど優先順
位が上がるまでの時間が多くなるため、プロセッサの数
が多くなっても待ち時間が増加しないようなリクエスト
選択方式が要望されている.本発明は上記のような問題
を解決するためになされたもので、リクエストの追い越
しを回避し、システムの性能の低下と待ち時間の増加を
防止できるマルチプロセッサシステムの主記憶アクセス
リクエスト選択方式を提供することを目的としている。Furthermore, in the above example, as the number of processors increases, the time it takes to raise the priority level increases, so there is a need for a request selection method that does not increase waiting time even when the number of processors increases. The present invention has been made to solve the above-mentioned problems, and provides a main memory access request selection method for a multiprocessor system that can avoid request overtaking and prevent system performance from deteriorating and waiting time from increasing. It is intended to.
[課題を解決するための手段〕
本発明は、優先順位に従って主記憶@置へのアクセスリ
クエストを選択する手段の他に、時間的に先に発行され
たアクセスリエストを選択する手段を設けたものである
.すなわち、各プロセッサから発生される主記憶アクセ
スリクエストの優先順位を一定時間毎に動的に変化させ
、その優先順位に従って複数のプロセッサから同時に発
行されているリクエストのうち、唯一のリクエストを選
択すると共に、選択されたリクエストを表わす通知信号
を出力するリクエスト選択手段(4l!先順位制御回路
2a)と、各プロセッサから任意の時刻に発行されるリ
クエストを一時的に保持しておく第1リクエスト保持手
段(リクエスト保持レジスタA12)と、この第1リク
エスト保持手段に保持されていたリクエストを受取って
保持すると共に、保持しているリクエストを前記リクエ
スト選択手段に送り、さらに保持していたリクエストの
中で前記通知信号で示されるリクエストを消去し、さら
に保持されていたリクエストがなくなった時に再び前記
第1リクエスト保持手段に保持されていたリクエストを
受取る第2リクエスト保持手段〈リクエスト保持レジス
タラッチB13)と、前記第1.第2リクエスト保持手
段の両方にリクエストが保持されていない時に各プロセ
ッサからのリクエストを直接に前記リクエスト選択手段
に転送するリクエスト切換手段《リクエストセレクタ1
1〉とを設けたものである。[Means for Solving the Problems] The present invention provides a means for selecting an access request issued earlier in time in addition to a means for selecting an access request to the main memory according to the priority order. It is something. That is, the priority of main memory access requests generated from each processor is dynamically changed at regular intervals, and according to the priority, a unique request is selected from among the requests issued simultaneously by multiple processors. , a request selection means (4l! priority control circuit 2a) that outputs a notification signal representing the selected request, and a first request holding means that temporarily holds requests issued from each processor at an arbitrary time. (request holding register A12), receives and holds the request held in this first request holding means, sends the held request to the request selection means, and furthermore, among the held requests, the a second request holding means (request holding register latch B13) that erases the request indicated by the notification signal and receives the request held in the first request holding means again when there is no longer a held request; 1st. Request switching means (request selector 1) for directly transferring requests from each processor to the request selection means when no requests are held in both of the second request holding means
1>.
(作用)
2台以上のプロセッサから同時にリクエストが発生され
た場合、各プロセッサからのリクエストは第1リクエス
ト保持手段に送られる。この時、第2リクエスト保持手
段に保留されているリクエストが存在しなければ、各プ
ロセッサからのリクエストは同時にリクエスト選択手段
に送られる。(Operation) When requests are generated simultaneously from two or more processors, the requests from each processor are sent to the first request holding means. At this time, if there is no request pending in the second request holding means, requests from each processor are simultaneously sent to the request selection means.
リクエスト選択手段ではカウンタで定められた優先順位
に従って複数のリクエストのうち最も優先度の高い唯一
のリクエストを選択する。選択されたリクエストはパイ
プライン(6)などの各構成要素に送られると同時に、
どのプロセッサからのリクエストが選択されたかが第2
リクエスト保持手段に知らされる。そこで、第2リクエ
スト保持手段では保持しているリクエストのうち選択さ
れたブOセッサに対応するリクエストを消去する.次の
リクエスト選択のとき、第2リクエスト保持手段内のリ
クエストが全て消去されていなければ、再度第2リクエ
スト保持手段内に保持されているリクエストがリクエス
ト選択手段に送られる。The request selection means selects the only request with the highest priority among the plurality of requests according to the priority determined by the counter. The selected request is sent to each component such as the pipeline (6), and at the same time,
The second factor is which processor's request was selected.
The request holding means is notified. Therefore, the second request holding means deletes the request corresponding to the selected processor among the held requests. When selecting the next request, if all the requests in the second request holding means are not erased, the requests held in the second request holding means are sent to the request selection means again.
リクエスト選択は第2リクエスト保持手段内に保持され
ているリクエストが全て消去されるまで続けられる。Request selection continues until all requests held in the second request holding means are deleted.
一方、第2リクエスト保持手段に保持されているリクエ
ストがリクエスト選択手段に送られる間、各ブ0セッサ
から出されているリクエストは第1リクエスト保持手段
にセットされる。リクエスト選択の時、第2リクエスト
保持手段内のリクエストが全て消去されている場合、第
1リクエスト保持手段の内容が第2リクエス1・保持手
段にコピーされ、第1リクエスト保持手段の内容は消去
ざれる。以降のリクエスト道択には上記の動作が繰返さ
れる。On the other hand, while the request held in the second request holding means is sent to the request selection means, the requests issued from each processor are set in the first request holding means. When selecting a request, if all requests in the second request holding means have been deleted, the contents of the first request holding means are copied to the second request holding means, and the contents of the first request holding means are not deleted. It will be done. The above operation is repeated for subsequent request options.
このように411威したことにより、時間的に先に発行
されたリクエストを優先して処理することが可能となり
、リクエストの追い越しを防止し、1つのプロセッサが
長時間待たされることを回避することができる。By using 411 in this way, it is possible to process requests issued earlier in time with priority, preventing requests from being overtaken, and avoiding one processor from having to wait for a long time. can.
(実施例)
第1図は、本発明の基本的な構戒の一実浦例を示したブ
ロック図である。図示の構成は、第4図に示されている
従来の主記憶アクセスリクエスト選択@置の構成例を改
良したものとして示している。従って、参照番号2から
8で示されている構成要素は、両図において共通に用い
ている。しかし、第1図における優先順位回路2aでは
バンクピジーまたはロック検出によるリクエスト抑止手
段が除去され、リクエスト抑止手段はリクエスト順序制
御回路1に移されている。(Embodiment) FIG. 1 is a block diagram showing an example of the basic structure of the present invention. The illustrated configuration is an improved version of the conventional main memory access request selection @ configuration example shown in FIG. Accordingly, components designated by reference numbers 2 to 8 are used in common in both figures. However, in the priority order circuit 2a in FIG. 1, the request suppression means based on bank pidgey or lock detection is removed, and the request suppression means is transferred to the request order control circuit 1.
また、第1図において、新たに付加された回路がリクエ
スト順序111JI!1回路1である。リクエスト順序
制御回路1は、時間的に先に発行されたリクエストを優
先的に優先順位制御回路1に送る機構である。リクエス
ト順序制御回路1内にはリクエスト保持レジスタA12
とリクエスト保持レジスタ813の2つの保持レジスタ
があり、各々のリクエスト保持レジスタは各プロセッサ
毎に対応した数のフリップ7ロップで構戒されている。Also, in FIG. 1, the newly added circuit is in the request order 111JI! 1 circuit 1. The request order control circuit 1 is a mechanism that sends requests issued earlier in time to the priority control circuit 1 with priority. In the request order control circuit 1, there is a request holding register A12.
There are two holding registers, ie, request holding register 813, and request holding register 813, and each request holding register is composed of 7 flips, the number of which corresponds to each processor.
これらのリクエスト保持レジスタA12.813によっ
てリクエストを保持し、リクエストの順序を保証する。These request holding registers A12.813 hold requests and guarantee the order of requests.
また、リクエスト順序制御回路1には、リクエスト停止
@路10とリクエストセレクタ11が設けられている。Further, the request order control circuit 1 is provided with a request stop @path 10 and a request selector 11.
以上の構成において、2台以上のプロセッサから同時に
リクエストが発行された場合、各プOセッサからのリク
エストは各々のプロセッサに対応するリクエスト受信レ
ジスタ3を経由してリクエス1・順序制御回路1に送ら
れる。リクエスト順序制御回路1において、この時点で
保留されているリクエストが存在しなければ、各ブOセ
ッサからのリクエストは同時に優先順位制御回路2aに
送られる。同時に、リクエスト順序lIjlJID回路
1内では、リクエスト保持レジスタB13内のリクエス
トを出したプロセッサに対応するフリップフロツブがセ
ットされる。In the above configuration, when requests are issued from two or more processors at the same time, the requests from each processor are sent to the request 1/sequence control circuit 1 via the request reception register 3 corresponding to each processor. It will be done. In the request order control circuit 1, if there is no pending request at this point, the requests from each processor are simultaneously sent to the priority control circuit 2a. At the same time, in the request order lIjlJID circuit 1, a flip-flop corresponding to the processor that issued the request in the request holding register B13 is set.
優先順位制御回路2aでは、優先順位カウンタ4で定め
られた優先順位に従って複数のリクエストから唯一のリ
クエストを選択する。選択されたリクエストはパイプラ
イン6などの各構成要素に送られると同時に、信号Im
9を経由してどのプロセッサからのリクエストが選択さ
れたかがリクエスト順序制御回路1に通知される。通知
されたリクエストに対応するフリップ7ロップはリセッ
トされる。The priority control circuit 2a selects a unique request from a plurality of requests according to the priority determined by the priority counter 4. The selected request is sent to each component such as the pipeline 6, and at the same time the signal Im
9, the request order control circuit 1 is notified of which processor's request has been selected. The flip 7 flop corresponding to the notified request is reset.
次のリクエスト選択のとき、リクエスト保持レジスタ8
13のフリップフロップが全てリセットされていなけれ
ば、リクエスト保持レジスタB13に残っているリクエ
ストが優先順位制御回路2aに送られる。そして、再び
同様のリクエスト選択がリクエスト保持レジスタ813
のフリップフロップが全てリセットされるまで続けられ
、この間はリクエスト保持レジスタB13でセットされ
ているリクエス1・が侵先順位制御回路2aに送られる
。When selecting the next request, request holding register 8
If all 13 flip-flops have not been reset, the requests remaining in the request holding register B13 are sent to the priority control circuit 2a. Then, the same request selection is made again in the request holding register 813.
This continues until all of the flip-flops are reset, and during this time, the request 1. set in the request holding register B13 is sent to the invasion priority control circuit 2a.
一方、リクエスト保持レジスタ813からのリクエスト
が優先順位制御回路2aに送られる間、各プロセッサか
ら出されているリクエストはリクエスト保持レジスタA
12にセットされる。リクエスト選択の時、リクエスト
保持レジスタB13の7リップフロップが全てリセット
されている場合、リクエスト保持レジスタAI2の内容
がリクエスト保持レジスタ813にコピーされ、リクエ
スト保持レジスタAI2の全てフリツプ7ロツブはリセ
ットされる。以降のリクエスト選択には上記の動作が繰
返される。On the other hand, while the request from the request holding register 813 is sent to the priority control circuit 2a, the requests issued from each processor are sent to the request holding register A.
Set to 12. At the time of request selection, if all seven flip-flops of the request holding register B13 have been reset, the contents of the request holding register AI2 are copied to the request holding register 813, and all seven flip-flops of the request holding register AI2 are reset. The above operation is repeated for subsequent request selections.
このように、リクエス{・保持レジスタA12,813
を含むリクエスト順序111Jl1]回路1を新たに設
けることにより、時間的に先に発行されたリクエストを
優先して処理することができる。In this way, the request {・holding register A12, 813
111Jl1] By newly providing the circuit 1, requests issued earlier in time can be processed with priority.
第2図は、第1図に示される本発明の構或例において各
プロセッサからのリクエストの発行、処理状態をW藺順
に示した図である。なお、第2図で使われている記弓は
第5図で示されている記号と全く同じ意味である。以下
に本発明の構成例における動作を時間毎に説明する。FIG. 2 is a diagram illustrating the issuance of requests from each processor and the processing status in order in the example of the configuration of the present invention shown in FIG. Note that the symbols used in Figure 2 have exactly the same meaning as the symbols shown in Figure 5. Below, the operation of the configuration example of the present invention will be explained for each time.
TO=プロセッサP2とプロセッサP3が同時にリクエ
ストを発行する。このとき、プロセッサP2の方が優先
順位が高いので、プロセッサP2 のリクエスl
・が選択される。TO=Processor P2 and processor P3 issue requests simultaneously. At this time, since processor P2 has a higher priority, processor P2's request l
・is selected.
丁1:継続的にプロセッサP3からのリクエストは発行
され続けている。さらにこの時点で、プロセッサP1か
らリクエストが発行される。このとき、プロセッサP1
の方が優先順位は高いが、プロセッサP3のリクエスト
の方が先に発行されているので、プロセッサP3のリク
エスI・が選択され、ブ0セッサP1のリクエストき待
たされる。従って、第5図の従来例のようなリクエスト
の追い越しはこの時点で生じない。D1: Requests from processor P3 continue to be issued. Furthermore, at this point, a request is issued from processor P1. At this time, processor P1
has a higher priority, but since the request from processor P3 has been issued earlier, request I from processor P3 is selected and is made to wait for the request from processor P1. Therefore, overtaking of requests as in the conventional example shown in FIG. 5 does not occur at this point.
T2 :IK1続的にプロセッサP1からのリクエス1
・は発行され続けている。さらにこの時点で、プロセッ
サPOからリクエストが発行される.このとき、プロセ
ッサPOの方が優先順位は高いが、プロセッサP1のリ
クエストの方が先に発行されているのでプロセッサP1
のリクエストが選択され、プロセッサPOのリクエス1
・は待たされる.
T3:継続的にブOセッサPOからのリクエス1・は発
行され続けている。この時点でブOセッサPOのリクエ
スト以外に待たされているリクエストは存在しないので
、ブOセッサPOのリクエストが選択される。T2: IK1 continuous request 1 from processor P1
・continues to be published. Furthermore, at this point, a request is issued from the processor PO. At this time, processor PO has a higher priority, but since processor P1's request was issued earlier, processor P1
request is selected and processor PO's request 1 is selected.
・Has to wait. T3: Request 1 from the processor PO continues to be issued. At this point, there are no requests other than the request from the processor PO, so the request from the processor PO is selected.
このように、時間的に先に発行されたリクエストが優先
されることにより、リクエストの追い越しを防止し、1
つのプロセッサが長時間待たされることを回避すること
ができる。In this way, by giving priority to requests issued earlier in time, overtaking of requests is prevented, and
It is possible to avoid having one processor wait for a long time.
第3図はWJ1図の4M戊の詳細を具体的に示した回路
図である。第3図において、1はリクエスト順序制御回
路、2aは優先順位制御回路である。FIG. 3 is a circuit diagram specifically showing the details of the 4M loop in FIG. WJ1. In FIG. 3, 1 is a request order control circuit, and 2a is a priority control circuit.
リクエスト順序制御回路1は各プロセッサからの主記憶
アクセクリクエストを受取り、決められた順番に従って
そのリクエストを優先順位lvItl1回路2aに送る
。優先順位制御回282aでは唯一のリクエストが選択
され、選択結果は次の構成要素に送られると共に、リク
エスト順序制御回路1にも信号!i19を経由してフィ
ードバックされる。以下に、リクエスト順序制御回路1
の内部構或について説明する。The request order control circuit 1 receives main memory access requests from each processor and sends the requests to the priority lvItl1 circuit 2a in a determined order. The priority control circuit 282a selects only one request, and the selection result is sent to the next component, and a signal is also sent to the request order control circuit 1! Feedback is provided via i19. Below, request order control circuit 1
The internal structure of will be explained.
各プロセッサから送られてくるリクエスト低目はまずA
ND回路16に入力される。AND回路16のもう一方
の入力はリクエスト停止回路10からの信号線であり、
リクエスト停止回路10でリクエストの停止が決定され
た場合、AND回路16でリクエストは止められる。リ
クエスト停止の条件としては次の条件が挙げられる。The lowest request sent from each processor is A.
The signal is input to the ND circuit 16. The other input of the AND circuit 16 is a signal line from the request stop circuit 10,
When the request stopping circuit 10 decides to stop the request, the AND circuit 16 stops the request. Conditions for stopping a request include the following.
(1)バンクビジー状態であるバンクをアクセスしよう
とした時。(1) When attempting to access a bank that is in a bank busy state.
{2}ロックをかけたプロセッサ以外のプロセッサがそ
のロックされた主記憶領域をアクセスしようとした時。{2} When a processor other than the processor that placed the lock attempts to access the locked main storage area.
従って、リクエスト停止回路10には、バンクアドレス
、ロックアドレス、ビジーパンクアドレスの各信号が入
力されている.
AND回路16を通過したリクエストはリクエストセレ
クタ11にも送られる。リクエストセレクタ11はリク
エスト保持レジスタB13にリクエストが残されていな
い場合、AND回i116を通過したリクエストを直ち
に優先順位制御回路2aに送るためのセレクタである。Therefore, the request stop circuit 10 receives bank address, lock address, and busy-punk address signals. The request that has passed through the AND circuit 16 is also sent to the request selector 11. The request selector 11 is a selector for immediately sending the request that has passed the AND circuit i116 to the priority control circuit 2a when no request remains in the request holding register B13.
リクエストセレクタ11の切換はNOR回路18の出力
によって決定される。NOR回路18はリクエスト保持
レジスタB13にリクエス1・が残されていない場合、
つまり、リクエスト保持レジスタ813内のすべてのフ
リップフロツプ15がリセットされている場合に信号を
出し、リクエストセレクタ11を切換えてAND回路1
6を通過したリクエストを直ちに優先順位$811回路
2aに送る。Switching of the request selector 11 is determined by the output of the NOR circuit 18. When the NOR circuit 18 does not leave request 1 in the request holding register B13,
That is, when all the flip-flops 15 in the request holding register 813 are reset, a signal is output, the request selector 11 is switched, and the AND circuit 1
6 is immediately sent to the priority $811 circuit 2a.
リクエスト保持レジスタAI2に保持されているリクエ
ストは、次のリクエス1・選択が起動される時にリクエ
スト保持レジスタB13にリクエストが残されていなけ
れば、リクエストレジスタB13にコピーされる。コピ
ー終了後、リクエスト保持レジスタA12内の全てのフ
リップフロツプ14はリセットされる.リクエス1・保
持レジスタA12に保持ざれているリクエストはAND
回路17を経由してリクエスト保持レジスタB13に送
られる。AND回路17はリクエスト選択起動信号を受
取り、かつリクエスト保持レジスタB13にリクエスト
が残されていないことを示すNoR回路18からの信号
を受取った場合のみ、リクエストを通す。AND回路1
7に対する条件はANO回路19で生或される。The request held in the request holding register AI2 is copied to the request register B13 if no request remains in the request holding register B13 when the next request 1/selection is activated. After the copy is completed, all flip-flops 14 in the request holding register A12 are reset. Request 1/Request held in holding register A12 is AND
It is sent to the request holding register B13 via the circuit 17. The AND circuit 17 receives the request selection activation signal and passes the request only when it receives a signal from the NoR circuit 18 indicating that no request remains in the request holding register B13. AND circuit 1
The conditions for 7 are generated in the ANO circuit 19.
リクエスト保持レジスタB13にリクエストが残ってい
る場合、リクエストセレクタ11はリクエスト保持レジ
スタB13からのリクエストを優先順位制御回路2aに
送る。優先順位llllJ1m!1回路2aは優先順位
カウンタ4で指定される優先順位に従ってリクエストを
唯一つだけ選択する。If a request remains in the request holding register B13, the request selector 11 sends the request from the request holding register B13 to the priority control circuit 2a. Priority lllllJ1m! 1 circuit 2a selects only one request according to the priority specified by the priority counter 4.
唯一つだけ選択されたリクエストは信号線9を経由して
リクエスト保持レジスタB13に通知される。リクエス
ト保持レジスタ813では、優先順位制御回路2a出選
択されたリクエストの発行元であるプロセッサに対応す
るフリップフロップ15がリセットされる。The only selected request is notified to the request holding register B13 via the signal line 9. In the request holding register 813, the flip-flop 15 corresponding to the processor that issued the request selected by the priority control circuit 2a is reset.
このようにして、リクエスト保持レジスタB13内に保
持されているリクエストはリクエストが選択される毎に
リセットされ、ついにリクエスト保持レジスタB13内
のリクエストが空きになると、リクエスト保持レジスタ
AI2内のリクエストが再びリクエスト保持レジスタB
13にコピーされる。さらに、コピーされたリクエスト
保持レジスタA12のリクエストが空きであれば、リク
エストセレクタ11はAND回路16からのリクエスト
を直接に優先順位制御回路2aに送る。In this way, the request held in the request holding register B13 is reset every time a request is selected, and when the request in the request holding register B13 finally becomes empty, the request held in the request holding register AI2 is reset as a request again. Holding register B
Copied to 13. Furthermore, if the request in the copied request holding register A12 is empty, the request selector 11 sends the request from the AND circuit 16 directly to the priority control circuit 2a.
(発明の効果)
以上の説明から明らかなように、本発明によれば、多数
のプロセッサから発行される主記憶アクセスリクエスト
を選択する場合ににおいて、時間的に先に発行されたリ
クエストを優先する手段を設けたため、リクエストの追
い越しを防止し、1つのプロセッサが長時@待たされる
ことを回避することができる。(Effects of the Invention) As is clear from the above description, according to the present invention, when selecting main memory access requests issued from a large number of processors, priority is given to requests issued earlier in time. Since the means is provided, requests can be prevented from being overtaken, and one processor can be prevented from being kept waiting for a long time.
従って、ロック解除のリクエストを出しているプロセッ
サが優先順位が上がるまで長時間待たされることによっ
て発生する無駄なリクエストが何回も行なわれることは
なくなり、システム全体の性能低下を未然に防止するこ
とが可能になる。Therefore, unnecessary requests that occur due to the processor issuing the lock release request being forced to wait for a long time until its priority level is increased will no longer be made, and a decline in the performance of the entire system can be prevented. It becomes possible.
第1図は本発明の基本的な構或の一実施例を示すブロッ
ク図、第2図は第1図の構成例における各プロセッサか
らのリクエストの発行、処理タイミングを示す説明図、
第3図は第1図の実施例の詳細な構成の一例を示す回路
図、第4図は従来の主記憶アクセスリクエス1・選択装
置の構成を示すブロック図、第5図は第4図に示される
従来構成における各プロセッサからのリクエストの発行
、処理タイミングを示す説明図である.
1・・・リクエスト順序制御回路、2a・・・優先順位
!IJa11回路、3・・・リクエスト受信レジスタ、
4・・・優先順位カウンタ、5・・・ロックレジスタ、
6・・・パイプライン、7・・・バンクビジー表示回路
、8・・・主記憶アクセス起動レジスタ、11・・・リ
クエストセレクタ、12・・・リクエスト保持レジスタ
A113・・・リクエス1・保持レジスタB.
なお、図中、同一または相当部分は同一記号で示す。FIG. 1 is a block diagram showing an embodiment of the basic configuration of the present invention, FIG. 2 is an explanatory diagram showing request issuance and processing timing from each processor in the configuration example of FIG. 1,
FIG. 3 is a circuit diagram showing an example of the detailed configuration of the embodiment shown in FIG. 1, FIG. 4 is a block diagram showing the configuration of a conventional main memory access request 1/selection device, and FIG. FIG. 2 is an explanatory diagram showing request issuance and processing timing from each processor in the conventional configuration shown. 1...Request order control circuit, 2a...Priority! IJa11 circuit, 3... request reception register,
4...Priority counter, 5...Lock register,
6... Pipeline, 7... Bank busy display circuit, 8... Main memory access activation register, 11... Request selector, 12... Request holding register A113... Request 1/holding register B .. In addition, in the figures, the same or equivalent parts are indicated by the same symbols.
Claims (1)
可能な主記憶装置とを備え、各プロセッサから任意の時
刻で発生される主記憶アクセスリクエストに対する競合
を制御するマルチプロセッサシステムのアクセスリクエ
スト選択方式において、 各プロセッサから発生される主記憶アクセスリクエスト
の優先順位を一定時間毎に動的に変化させ、その優先順
位に従って複数のプロセッサから同時に発行されている
リクエストのうち、唯一のリクエストを選択すると共に
、選択されたリクエストを表わす通知信号を出力するリ
クエスト選択手段と、各プロセッサから任意の時刻に発
行されるリクエストを一時的に保持しておく第1リクエ
スト保持手段と、この第1リクエスト保持手段に保持さ
れていたリクエストを受取って保持すると共に、保持し
ているリクエストを前記リクエスト選択手段に送り、さ
らに保持していたリクエストの中で前記通知信号で示さ
れるリクエストを消去し、さらに保持されていたリクエ
ストがなくなった時に再び前記第1リクエスト保持手段
に保持されていたリクエストを受取る第2リクエスト保
持手段と、前記第1、第2リクエスト保持手段の両方に
リクエストが保持されていない時に各プロセッサからの
リクエストを直接に前記リクエスト選択手段に転送する
リクエスト切換手段とを具備することを特徴とするマル
チプロセッサシステムの主記憶アクセスリクエスト選択
方式。[Claims] Access to a multiprocessor system that includes a plurality of processors and a main memory that can be commonly accessed by each processor, and that controls contention for main memory access requests generated from each processor at arbitrary times. In the request selection method, the priority of main memory access requests issued by each processor is dynamically changed at regular intervals, and the only request among requests issued simultaneously by multiple processors is selected according to the priority. request selection means for selecting and outputting a notification signal representing the selected request; first request holding means for temporarily holding requests issued from each processor at an arbitrary time; Receive and hold the request held in the holding means, send the held request to the request selection means, erase the request indicated by the notification signal among the held requests, and further hold the request. a second request holding means that receives the request held in the first request holding means again when the previously held request is no longer held; 1. A main memory access request selection method for a multiprocessor system, comprising request switching means for directly transferring a request from a processor to the request selection means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16000389A JPH0325558A (en) | 1989-06-22 | 1989-06-22 | Main storage access request selecting system for multiprocessor system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16000389A JPH0325558A (en) | 1989-06-22 | 1989-06-22 | Main storage access request selecting system for multiprocessor system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0325558A true JPH0325558A (en) | 1991-02-04 |
Family
ID=15705876
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16000389A Pending JPH0325558A (en) | 1989-06-22 | 1989-06-22 | Main storage access request selecting system for multiprocessor system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0325558A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007099586A1 (en) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | Request control device and request control method |
| EP2328090A2 (en) | 2009-11-25 | 2011-06-01 | Fujitsu Limited | Cache memory control device, semiconductor integrated circuit, and cache memory control method |
-
1989
- 1989-06-22 JP JP16000389A patent/JPH0325558A/en active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007099586A1 (en) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | Request control device and request control method |
| US7849230B2 (en) | 2006-02-28 | 2010-12-07 | Fujitsu Limited | Overtake request control apparatus and overtake request control method |
| JP4802241B2 (en) * | 2006-02-28 | 2011-10-26 | 富士通株式会社 | Request control apparatus and control method of request control apparatus |
| EP2328090A2 (en) | 2009-11-25 | 2011-06-01 | Fujitsu Limited | Cache memory control device, semiconductor integrated circuit, and cache memory control method |
| US8713291B2 (en) | 2009-11-25 | 2014-04-29 | Fujitsu Limited | Cache memory control device, semiconductor integrated circuit, and cache memory control method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6732242B2 (en) | External bus transaction scheduling system | |
| US6240458B1 (en) | System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system | |
| US6606692B2 (en) | Prioritized bus request scheduling mechanism for processing devices | |
| US5613139A (en) | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message | |
| US6553487B1 (en) | Device and method for performing high-speed low overhead context switch | |
| US5317749A (en) | Method and apparatus for controlling access by a plurality of processors to a shared resource | |
| US6792497B1 (en) | System and method for hardware assisted spinlock | |
| EP0351955A2 (en) | Multiprocessor systems with cross-interrogated store-in-caches | |
| US6185650B1 (en) | High performance locking facility | |
| JPH0325558A (en) | Main storage access request selecting system for multiprocessor system | |
| EP2256627B1 (en) | Queuing for locks on data | |
| JP2000181891A (en) | Shared memory access order guarantee method | |
| JP3381079B2 (en) | Exclusive control system using cache memory | |
| JPH0644191A (en) | Buffer control method | |
| JPH117410A (en) | Cache device | |
| JP3105554B2 (en) | Interrupt controller | |
| JPS61220047A (en) | Memory control system | |
| JPH11212900A (en) | System controller | |
| JPS6125249A (en) | Exclusive control system | |
| JP2549410B2 (en) | Main memory reference order control method | |
| JP2716055B2 (en) | Vector processor control method | |
| JP2505021B2 (en) | Main memory controller | |
| JP3063015B2 (en) | Periodic processing method | |
| JPH01239665A (en) | System for distributing load on multiprocessor | |
| JPS62226348A (en) | Main memory and concurrently main memory control device |