JPH0754497B2 - Shared I / O device control method - Google Patents

Shared I / O device control method

Info

Publication number
JPH0754497B2
JPH0754497B2 JP26064987A JP26064987A JPH0754497B2 JP H0754497 B2 JPH0754497 B2 JP H0754497B2 JP 26064987 A JP26064987 A JP 26064987A JP 26064987 A JP26064987 A JP 26064987A JP H0754497 B2 JPH0754497 B2 JP H0754497B2
Authority
JP
Japan
Prior art keywords
request
priority
output
shared
client
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.)
Expired - Lifetime
Application number
JP26064987A
Other languages
Japanese (ja)
Other versions
JPH01102672A (en
Inventor
滋 塩谷
秀樹 樋浦
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP26064987A priority Critical patent/JPH0754497B2/en
Publication of JPH01102672A publication Critical patent/JPH01102672A/en
Publication of JPH0754497B2 publication Critical patent/JPH0754497B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は共有入出力装置の制御方法にかかり、詳しく
は、個別かつ一時点では最も優先度の高い唯一の入出力
要求を出力し、その処理完了までは新たな入出力要求を
出力しないマイクロプロセッサ等の複数の独立した装置
(以下、クライアントという)が入出力装置を共有する
システムにおいて、各クライアントからの複数の入出力
要求が競合した場合にこれらの入出力要求を優先順序制
御するための制御方法に関する。
The present invention relates to a control method for a shared input / output device, and more specifically, it outputs only an input / output request that has the highest priority individually and at a time point. When multiple I / O requests from each client compete in a system in which multiple independent devices (hereinafter referred to as clients) that do not output new I / O requests until the processing is complete share the I / O devices. The present invention relates to a control method for controlling the priority order of these input / output requests.

(従来の技術) 従来、この種の入出力装置の共有システムにおいて、各
クライアントからの複数の入出力要求が短時間のうちに
競合した場合には、これらの要求の優先度に応じて入出
力要求を制御する優先順序制御方式が採用されている。
(Prior Art) Conventionally, in a shared system of this type of input / output device, when a plurality of I / O requests from each client compete within a short time, the input / output is performed according to the priority of these requests. A priority control method for controlling requests is adopted.

すなわち、第3図において、100は共有入出力装置、20
0,300,400は共有入出力装置100に対して個別に、一時点
で唯一の入出力要求を出力し、その要求に対応する処理
が完了するまでは新たな入出力要求を出力しないマイク
ロプロセッサの如きクライアントである。これらのクラ
イアント200,300,400は、共有入出力装置100対して入出
力要求を行う際に、現行の要求201,301,401にその優先
度21,31,41をそれぞれ付加して入出力要求210,310,410
を出力している。
That is, in FIG. 3, 100 is a shared input / output device, 20
0,300,400 is a client such as a microprocessor that individually outputs a single I / O request to the shared I / O device 100 at a time and does not output a new I / O request until the processing corresponding to the request is completed. is there. These clients 200, 300, 400, when making an input / output request to the shared input / output device 100, add their priorities 21, 31, 41 to the current requests 201, 301, 401, respectively, and input / output requests 210, 310, 410.
Is being output.

そして共有入出力装置100内のスケジューラ101は、前記
優先度21,31,41に基いて入出力要求210,310,410のスケ
ジューリングを行っており、仮りに優先度21が最も高
く、以下、31,41の順である場合には、要求201→301→4
01の順のスケジュールに従って入出力媒体500に対する
入出力処理102が実行されるようになっている。
Then, the scheduler 101 in the shared input / output device 100 schedules the input / output requests 210, 310, 410 based on the priorities 21, 31, 41, and the priority 21 is the highest, and the order of 31, 41 is the following. Request 201 → 301 → 4 if
The input / output processing 102 for the input / output medium 500 is executed according to a schedule in the order of 01.

(発明が解決しようとする問題点) しかるにこの制御方式によると、各クライアント200,30
0,400においてそれぞれ経時的に順次発生する要求201,2
02,…,301,302,…,401,402,…について、その優先度が
例えば要求201>202>301>……(左側のものほど優先
度が高いとする)である場合、最も優先度の高い要求20
1に対する処理が完了したことをクライアント200が何ら
かの手段により自ら知ってから次の要求202を出力する
までにタイムラグがあると、その間に別のクライアント
300における要求301に対する処理が先行されてしまい、
優先度とは異なる順序、すなわち、要求201→301→202
→…の順で処理が行われてしまうという問題がある。
(Problems to be solved by the invention) However, according to this control method, each client 200, 30
Requests 201 and 2 that occur sequentially at time 0 and 400 respectively
If the priority of 02, ..., 301,302, ..., 401,402, ... is, for example, requests 201>202>301> ... (the left one has higher priority), the highest priority request 20
If there is a time lag between the client 200 knowing that the process for 1 has been completed by some means before outputting the next request 202, another client will be in between.
Processing for request 301 in 300 was preceded,
Order different from priority, ie request 201 → 301 → 202
→ There is a problem that processing is performed in order.

例えば、第5図に示すように、共有入出力装置100にお
ける一つの入出力要求に対応する入出力処理完了のタイ
ミングであるの時点で、cに示すように現行の要求20
1に対応する入出力処理が完了したとすると、この時点
では共有入出力装置100はクライアント200に次の要求20
2が発生していることを認識できず、dに示されるよう
に別のクライアント300の次の要求302を現行の要求301
として対応する処理を開始してしまう。
For example, as shown in FIG. 5, at the timing of the completion of the input / output processing corresponding to one input / output request in the shared input / output device 100, the current request 20
Assuming that the I / O processing corresponding to 1 is completed, the shared I / O device 100 at this point sends the next request 20 to the client 200.
2 does not know that what is happening is that the next request 302 of another client 300 as shown in d is the current request 301.
Will start the corresponding processing.

なお、図において、現行の要求201,301,401及び次の要
求202,302を示す矢印の上に記載された2A(10),3A
(1),4A(3),2B(9),3B(5)という記号や、優
先度21,31,41を示す矢印の上に記載された10,9,1,5,3の
意味するところは図の余白に示した凡例のとおりであ
り、例えば、2A(10)はクライアント200における1番
目の要求であって優先度の値が10であるものを指す。同
様に、3B(5)はクライアント300における2番目の要
求であって優先度の値が5であるものを指し、4A(3)
はクライアント400における1番目の要求であって優先
度の値が3であるものを指す。ここで、優先度の値は大
きいものほど優先度が高いものとする。
In the figure, 2A (10), 3A written above the arrow indicating the current request 201, 301, 401 and the next request 202, 302
(1), 4A (3), 2B (9), 3B (5), and the meaning of 10, 9, 1, 5, 3 written above the arrow indicating priority 21, 31, 41 However, it is as in the legend shown in the margin of the figure. For example, 2A (10) is the first request in the client 200 and has the priority value of 10. Similarly, 3B (5) refers to the second request in the client 300 with a priority value of 5, and 4A (3)
Indicates the first request in the client 400 and the priority value is 3. Here, the larger the priority value, the higher the priority.

上記の結果、第5図の最下段に示すように、入出力処理
時間としてはタイミング〜〜の間で3B(5)→2B
(9)の順で処理が実行される。つまり、優先度から言
えば本来先に処理されるべきクライアント200の要求202
(2B(9))よりも、クライアント300の要求302(3B
(5))が先に処理されることになる。
As a result of the above, as shown in the bottom of FIG. 5, the input / output processing time is 3B (5) → 2B between the timings and.
The processing is executed in the order of (9). In other words, the request 202 of the client 200 that should be processed first in terms of priority
The request 302 (3B of the client 300 rather than (2B (9))
(5)) will be processed first.

このような場合に、クライアント200,300,400間での通
信や排他制御等の処理601(第3図参照)により、シス
テム全体にわたって所期の優先度を満足させる制御を行
わせようとすると、論理が複雑になり、各クライアント
間の独立性が失われると共に、スケジューリングに伴な
う処理が煩雑化してオーバーヘッドの増大を招くという
問題があった。
In such a case, if it is attempted to perform control for satisfying the desired priority over the entire system by processing 601 (see FIG. 3) such as communication and exclusive control between the clients 200, 300, 400, the logic becomes complicated. Therefore, there is a problem that the independence between the clients is lost, and the processing involved in scheduling becomes complicated and the overhead increases.

本発明は上記問題点を解決するために提案されたもの
で、その目的とするところは、各クライアントの独立性
を失わせることなく、またオーバーヘッドの増大を招か
ずに、共有入出力装置に対する複数の入出力要求をシス
テム全体にわたって適正に優先順序制御できるようにし
た共有入出力装置の制御方法を提供することにある。
The present invention has been proposed to solve the above problems, and an object of the present invention is to provide a plurality of shared I / O devices for shared I / O devices without losing independence of each client and without increasing overhead. Another object of the present invention is to provide a method of controlling a shared input / output device, which can properly control the priority order of the input / output requests of the system over the entire system.

(問題点を解決するための手段) 上記問題点を解決するため、本発明は、個別にかつ一時
点では最も優先度の高い唯一の入出力要求を出力し、そ
の処理完了までは新たな入出力要求を出力しない複数の
独立したクライアントによって共有される共有入出力装
置の制御方法において、前記各クライアントは、現在発
生しているすべての要求のうち優先度が最高のものを現
行の要求として前記共有入出力装置に出力する際に、そ
の要求についての優先度と、当該クライアントにおいて
次に入出力要求の出力が予定される要求についての優先
度とを前記現行の要求に付加して共有入出力装置内に設
定し、前記共有入出力装置は、各クライアントからの要
求に付加されて設定されたすべての優先度を参照し、現
行の要求の優先度及びに次の出力が予定される要求の優
先度の中で、最も優先度が高いものに対応した現行の要
求に対応する入出力処理を実行し、更に、入出力処理が
完了した後、完了した入出力要求についての優先度を除
いて再度各クライアントからの要求に付加されて設定さ
れているすべての優先度を参照し、最も優先度の高いも
のが、前記完了した入出力要求に付加されたところの、
入出力要求の出力が予定された要求の優先度であれば、
対応するクライアントからの次の入出力要求の出力を待
ってその要求に対応する入出力処理を実行することによ
り、優先度の高い要求から順に対応する入出力処理を実
行するものである。
(Means for Solving the Problems) In order to solve the above problems, the present invention outputs the only input / output request having the highest priority at a point in time and a new input is issued until the processing is completed. In the method of controlling a shared input / output device shared by a plurality of independent clients that do not output an output request, each of the clients has the highest priority among all the requests that are currently generated as the current request. When outputting to a shared input / output device, the priority for the request and the priority for the request for the next output of the input / output request in the client are added to the current request to perform the shared input / output. Set in the device, the shared I / O device refers to all priorities set in addition to the request from each client, and the priority of the current request and the next output are scheduled. The priority of the completed I / O request is executed after the I / O processing corresponding to the current request corresponding to the highest priority of the requests to be performed is executed and the I / O processing is completed. Except for the priority, all the priorities added to the request from each client are referenced again, and the highest priority is added to the completed I / O request,
If the output of the I / O request is the priority of the scheduled request,
By waiting for the output of the next input / output request from the corresponding client and executing the input / output processing corresponding to the request, the input / output processing corresponding to the request with the highest priority is executed.

なお、共有入出力装置がある要求に対応する入出力処理
を実行中に、あるクライアントにおいて発生した次に入
出力要求の出力が予定される要求の変更により、既に共
有入出力装置内に設定されている優先度の優先順位を変
更する必要が生じた場合に、次の要求の優先度を共有入
出力装置に再設定可能とすることが望ましい。
Note that while the shared I / O device is executing the I / O processing corresponding to a certain request, it is already set in the shared I / O device due to the change in the request that is scheduled to output the next I / O request that occurred in a certain client. When it becomes necessary to change the priority order of the existing priority, it is desirable that the priority of the next request can be reset to the shared I / O device.

(作用) (1)本発明において、各クライアントからは、当該ク
ライアントの現行の要求と、この要求の優先度と、次の
要求が既に発生している場合にその要求の優先度とが共
有入出力装置に渡される。
(Operation) (1) In the present invention, each client shares the current request of the client, the priority of this request, and the priority of the request when the next request has already occurred. Passed to output device.

(2)そして、共有入出力装置側では、すべてのクライ
アントから渡された上記(1)の情報のうち、「現行の
要求の優先度」と「次の要求の優先度」とを比較して最
高の優先度のものを決定し、最高の優先度のものが「現
行の要求の優先度」であるか「次の要求の優先度」であ
るかに関わらず、それを出力したクライアントからの入
出力要求に含まれる現行の要求を入出力媒体に出力して
処理を行なわせる。
(2) Then, the shared input / output device compares the “priority of the current request” with the “priority of the next request” among the information of (1) passed from all the clients. Determines the highest priority one, and regardless of whether the highest priority one is the "current request priority" or the "next request priority", The current request included in the I / O request is output to the I / O medium for processing.

この段階で、仮りに、「次の要求の優先度」>「現行の
要求の優先度」で(次の要求の優先度が現行の要求の優
先度よりも高い)であれば、現行の要求が「次の要求の
優先度」により押し出されて入出力が行なわれる。ま
た、入出力が完了した時点で、「次の要求の優先度」に
ついても他のクライアントが出力した「現行の要求の優
先度」及び「次の要求の優先度」の何れよりも高い場合
には、現行の要求の入出力処理の完了後、クライアント
からの次の要求にかかる入出力要求が出力されるのを待
ってそれを入出力媒体に対し入出力する。
At this stage, if "priority of next request">"priority of current request" (priority of next request is higher than priority of current request), current request Is pushed out according to the "priority of the next request" and input / output is performed. When the I / O is completed, if the “priority of the next request” is also higher than the “priority of the current request” and the “priority of the next request” output by another client, Waits for the next I / O request from the client to be output after the completion of the I / O processing of the current request, and then inputs / outputs it to / from the I / O medium.

(2−1)特定のクライアント内で一つの要求(すなわ
ち現行の要求のみ)しか発生していない場合には、共有
入出力装置には「次の要求の優先度」は渡らないため、
特許請求の範囲第1項において、現行の要求がそれ自身
の「現行の要求の優先度」により他のクライアントから
の優先度と比較され、上述した押し出し動作や次の要求
にかかる入出力要求の出力待ちは発生しない。
(2-1) When only one request (that is, only the current request) is generated in a specific client, the "priority of the next request" is not passed to the shared input / output device.
In claim 1, the current request is compared with the priority from another client by its own "priority of the current request", and the I / O request related to the pushing operation and the next request described above is compared. No output wait occurs.

(2−2)特定のクライアント内で既に複数の要求が発
生している場合の入出力要求では、クライアント内で要
求が優先度順に並べられているので、「現行の要求の優
先度」>「次の要求の優先度」(現行の要求の優先度が
次のっ要求の優先度よりも高い)となり、特許請求の範
囲第1項において、押し出し動作は起こらないが次の要
求にかかる入出力要求の出力待ちは起こる場合がある。
但し、この待ち状態では既に現行の要求の入出力が完了
しており、対応するクライアントが必ず次の要求を新た
な入出力要求として出力してくるため、永久的な待ち状
態となることはない。
(2-2) In an input / output request when a plurality of requests have already occurred in a specific client, since the requests are arranged in the order of priority within the client, “priority of current request”> “ The priority of the next request "(the priority of the current request is higher than the priority of the next request), and in claim 1, the pushing operation does not occur, but the input / output related to the next request Waiting for request output may occur.
However, in this waiting state, the input / output of the current request has already been completed, and the corresponding client always outputs the next request as a new input / output request, so there is no permanent waiting state. .

(2−3)上述した(2−1)または(2−2)で既に
入出力要求を共有入出力装置に出力して共有入出力装置
側でその処理を完了する以前に、新たに「現行の要求の
優先度」よりも高い優先度を持つ要求が発生した場合に
は、クライアント内での要求の優先度順への並び替えに
より、その要求が「次の要求」となる。これは、現行の
要求は既に共有入出力装置側に出力されており、いつそ
の優先度が最大になって入出力処理が始まるかは一般的
に不明であって、これを正確に認識しようとするとクラ
イアントと共有入出力装置との間で排他制御等が必要に
なり、処理の複雑化や性能の低下を招くことになるの
で、処理を単純化させるための方法である。
(2-3) Before the output of the input / output request to the shared input / output device and the processing of the shared input / output device is completed in (2-1) or (2-2) described above, the “current” is newly added. When a request having a priority higher than the “request priority” is generated, the request becomes the “next request” by rearranging the requests in the client in the order of priority. This is because the current request has already been output to the shared I / O device side, and it is generally unknown when the priority becomes the maximum and the I / O processing starts, and it is attempted to recognize this accurately. Then, exclusive control or the like is required between the client and the shared input / output device, which complicates the processing and lowers the performance. Therefore, this is a method for simplifying the processing.

なお、「次の要求」の優先度は特許請求の範囲第2項の
再設定処理によって共有入出力装置に渡り、その優先度
が他のクライアントからの優先度よりも高くなった時点
で前述の押し出し動作が発生する。
The priority of the "next request" is passed to the shared input / output device by the resetting process of claim 2, and when the priority becomes higher than the priority from another client, Push-out operation occurs.

押し出し動作が発生してその入出力要求に対応する入出
力処理が完了した場合、その入出力要求を発生させたク
ライアントがそれまでの「次の要求」を「現行の要求」
として新たに入出力要求を出力して来るが、押し出しが
発生したこと自体は、そのクライアントのそれまでの
「次の要求の優先度」すなわち新たな「現行の要求の優
先度」がすべてのクライアントが出力した優先度の中で
最高のものであることを示しているので、共有入出力装
置ではその入出力要求を待って入出力媒体に対し入出力
する。また、この待ち状態も既に現行の要求の入出力が
完了しており、対応するクライアントが必ず次の要求を
新たな入出力要求として出力してくるため、永久的な待
ち状態になることはない。
When a push operation occurs and the I / O processing corresponding to the I / O request is completed, the client that generated the I / O request replaces the previous "next request" with the "current request".
I / O request is newly output as, but the fact that the extrusion has occurred is that the "priority of the next request" of that client, that is, the new "priority of the current request" is the same for all clients. It indicates that it is the highest priority output by, so the shared I / O device waits for the I / O request to perform I / O to the I / O medium. Also, in this waiting state, the input / output of the current request has already been completed, and the corresponding client always outputs the next request as a new input / output request, so there is no permanent waiting state. .

(実施例) 以下、図に沿って本発明の実施例を説明する。(Example) Hereinafter, an example of the present invention will be described with reference to the drawings.

第1図はこの実施例の構成を示すもので、前記同様に10
0は共有入出力装置、200,300,400はマイクロプロセッサ
等のクライアント、500は共有入出力装置100の入出力媒
体である。そして、各クライアント200,300,400におい
ては現行の要求201,301,401が発生し、以後、要求202,3
02,402の発生がそれぞれ予定されているものとし、これ
らの要求は入出力要求210,310,410として共有入出力装
置100に出力されるようになっている。ここで、前記要
求201,301,401,202,302,402の優先度は、要求201>202
>401>402>301>302である(左側のものほど優先度が
高い)とする。
FIG. 1 shows the configuration of this embodiment.
Reference numeral 0 is a shared input / output device, 200, 300, and 400 are clients such as microprocessors, and 500 is an input / output medium of the shared input / output device 100. Then, the current request 201, 301, 401 is generated in each client 200, 300, 400, and thereafter, the request 202, 3
It is assumed that 02 and 402 are scheduled to be generated, respectively, and these requests are output to the shared input / output device 100 as input / output requests 210, 310, and 410. Here, the priority of the requests 201, 301, 401, 202, 302, 402 is the request 201> 202
>401>402>301> 302 (the left one has a higher priority).

しかして、クライアント200は、共有入出力装置100に対
して現行の要求201を行う際、この要求201にかかる優先
度21を付加すると共に、クライアント200内で次の要求2
02が既に発生している場合には、要求201に次いで優先
度の高いその要求202にかかる優先度22をも付加する。
この処理は他のクライアント300,400についても同様で
あり、各クライアント300,400における要求301,401の出
力時に優先度31,32及び41,42を付加する。
When the client 200 makes the current request 201 to the shared I / O device 100, the client 200 adds the priority 21 of the request 201 and the next request 2 in the client 200.
If 02 has already occurred, the priority 22 associated with the request 202 having the next highest priority is added to the request 201.
This process is the same for the other clients 300 and 400, and priorities 31, 32 and 41, 42 are added when the requests 301, 401 of the clients 300, 400 are output.

この場合の共有入出力装置100における処理は、まず要
求201,301,401,202,302,402についての優先度21,31,41,
22,32,42を比較し、このうち最も優先度の高い現行の要
求201をスケジューラ101により選択して実行する。すな
わち、要求201に従って入出力媒体500に対する入出力装
置102を実行する。
In the processing in the shared input / output device 100 in this case, first, the priorities 21, 31, 41, 41 for the requests 201, 301, 401, 202, 302, 402
22, 32, 42 are compared, and the current request 201 having the highest priority among them is selected by the scheduler 101 and executed. That is, the input / output device 102 for the input / output medium 500 is executed according to the request 201.

次に、要求201の実行が完了して再スケジュールを行う
場合には、まず残りの要求301,401,202,302,402につい
ての優先度31,41,22,32,42を比較する。そして、このう
ちで最も優先度の高いものが、前記完了した要求201に
付加されたところの、入出力要求の出力が予定されてい
る要求202の優先度22であれば、対応するクライアント2
00から次の要求202が出力されるのを待って、その要求2
02に対応する入出力処理を実行する。
Next, when the execution of the request 201 is completed and reschedule is performed, the priorities 31, 41, 22, 32, 42 of the remaining requests 301, 401, 202, 302, 402 are first compared. If the highest priority among these is the priority 22 of the request 202 scheduled to output the input / output request, which is added to the completed request 201, the corresponding client 2
Wait for the next request 202 to be output from 00, then request 2
The input / output processing corresponding to 02 is executed.

なお、特定のクライアント、例えば200内で一つの要求
(すなわち現行の要求201のみしか発生していない場
合、共有入出力装置100には「次の要求の優先度」は送
られない。従って、共有入出力装置100では現行の要求2
01がそれ自身の優先度21により他のクライアントからの
優先度と比較されることになり、上述した押し出し動作
や次の要求にかかる入出力要求の出力待ちは発生しな
い。
It should be noted that when only one request (that is, only the current request 201) is generated in a specific client, for example, 200, the “priority of the next request” is not sent to the shared input / output device 100. Current request 2 for I / O device 100
Since 01 is compared with the priority from other clients by its own priority 21, the pushing operation described above and the waiting for output of the I / O request for the next request do not occur.

実施例のように、特定のクライアント、例えば200内で
既に複数の要求201,22が発生している場合の入出力要求
では、クライアント200内で要求が優先度順に並べられ
ているので、現行の要求201の優先度21が次の要求202の
優先度22よりも高く、前述の押し出し動作は起こらない
が、現行の要求201に対応する処理を完了した時点で、
次の要求202にかかる入出力要求の出力待ちは起こり得
る。但し、この待ち状態では既に現行の要求201の入出
力が完了しており、クライアント200が必ず次の要求202
を新たな入出力要求として出力してくるため、永久的な
待ち状態となることはない。
As in the embodiment, in an input / output request when a plurality of requests 201 and 22 have already occurred in a specific client, for example, 200, the requests are arranged in the priority order in the client 200. The priority 21 of the request 201 is higher than the priority 22 of the next request 202, and the pushing operation described above does not occur, but when the process corresponding to the current request 201 is completed,
Waiting for output of an I / O request for the next request 202 may occur. However, in this waiting state, the input / output of the current request 201 has already been completed, and the client 200 must make sure that the next request 202
Is output as a new input / output request, so there is no permanent waiting state.

以下、同様にして、ある要求が実行される度に共有入出
力装置100内の残りの優先度を比較して最も優先度の高
い要求に着目し、その要求が出力されるのを待って上述
した処理を繰り返していく。
Hereinafter, in the same manner, each time a request is executed, the remaining priorities in the shared I / O device 100 are compared, attention is paid to the request with the highest priority, and the above is waited until the request is output. Repeat the above process.

これにより、最も優先度の高い要求を実行した後、次位
の優先度を有する別の要求が出力されるまでにタイムラ
グがある場合でも、これにより更に低い優先度の要求が
先行して実行される不都合がなく、すべてのクライアン
ト200,300,400を通じて適正な優先順序制御を行うこと
ができる。上述した本実施例における処理を第4図を参
照しつつ説明すると、第4図のの時点でaとして示す
ごとく、共有入出力装置100はクライアント200に優先度
の値が9である次の要求202であることを認識でき、こ
の要求202である2B(9)がクライアント200の現行の要
求201となって出力されることを予想でき、その要求の
出力を待って、bにおけるクライアント300の次の要求3
02である3B(5)に先立って前記要求202についての入
出力処理を行なうことができる。これにより、入出力処
理時間の〜〜の間では優先度の値に従って2B
(9)→3B(5)の順で処理が実行されることになる。
なお、第5図に示した凡例は第4図にも共通している。
As a result, even if there is a time lag between the execution of the highest priority request and the output of another request having the next highest priority, the request of a lower priority is executed first. Therefore, proper priority control can be performed through all the clients 200, 300, 400. The process in the above-described embodiment will be described with reference to FIG. 4. As indicated by a at the time of FIG. 4, the shared input / output device 100 requests the client 200 to execute the next request having the priority value of 9. It can be expected that the request 202, 2B (9), which is the request 202, will be output as the current request 201 of the client 200. Waiting for the output of the request, the next request of the client 300 in b is transmitted. Request 3
Input / output processing for the request 202 can be performed prior to 02 (3B (5)). As a result, during the input-output processing time
The processing is executed in the order of (9) → 3B (5).
The legend shown in FIG. 5 is common to FIG.

次に、第1図において、共有入力装置100に対するクラ
イアント200,300,400の要求201,202,301,302,401,402に
ついての優先順位が201>301>401>202>302>402(優
先度21>31>41>22>32>42)であり、各クライアント
200,300,400が前例と同様に要求を行い、共有入出力装
置100が要求201に対する処理を実行中に、クライアント
200内で新たに優先度23の要求が予定されて残存要求全
体の優先順位が203>301>401>202>302>402(優先度
23>31>41>22>32>42)に変化した場合の処理を以下
に説明する。
Next, in FIG. 1, the priority order of requests 201,202,301,302,401,402 of the clients 200,300,400 to the shared input device 100 is 201>301>401>202>302> 402 (priority 21>31>41>22>32> 42). Yes, each client
Clients 200, 300, 400 make requests in the same way as the previous example, and while the shared I / O device 100 is executing processing for request 201, the client
Requests with priority 23 are newly scheduled within 200, and the priority of all remaining requests is 203>301>401>202>302> 402 (priority
23>31>41>22>32> 42) will be described below.

この場合、第2図に示すように、クライアント200は、
共有入出力装置100に対して要求201に次いで優先度の高
い要求203につき優先度の再設定220を行う。すなわち、
それまでの次位の要求202にかかる優先度22を、要求203
にかかる優先度23に変更する。
In this case, the client 200, as shown in FIG.
For the shared I / O device 100, the priority is reset 220 for the request 203 having the next highest priority after the request 201. That is,
The priority 22 of the next request 202 until then, the request 203
Change to priority 23.

つまり、クライアント200内での要求の優先度順への並
び替えにより、要求203が「次の要求」になると共に、
「次の要求の優先度」の再設定処理により、要求203に
ついての優先度23が他のクライアントの要求の優先度
(例えば要求301の優先度31)よりも高くなった時点で
前記押し出し状態が発生する。
In other words, the request 203 becomes the “next request” by rearranging the requests in the client 200 in order of priority, and
When the priority 23 of the request 203 becomes higher than the priority of the request of another client (for example, the priority 31 of the request 301) by the resetting process of the “priority of the next request”, the push state is changed. Occur.

押し出し状態が発生して入出力要求201に対応する入出
力処理が完了した場合、その入出力要求201を発生させ
たクライアント200がそれまでの「次の要求」を「現行
の要求」として新たに入出力要求203を出力して来る
が、押し出しが発生したこと自体は、そのクライアント
200のそれまでの「次の要求の優先度」すなわち新たな
「現行の要求の優先度」がすべてのクライアントが出力
した優先度の中で最高のものであることを示しているの
で、共有入出力装置100ではその入出力要求203が出力さ
れるのを待って入出力媒体500に対し入出力する。ま
た、この入出力要求203の出力の待ち状態においても、
既に現行の要求201の入出力が完了しており、対応する
クライアント200が必ず次の要求203を新たな入出力要求
として出力してくるため、永久的な待ち状態になること
はない。こうすることにより、クライアント個々の事情
の変化に拘らず、各要求の優先度に基づいた正当なスケ
ジューリングが可能となる。
When the push-out state occurs and the input / output processing corresponding to the input / output request 201 is completed, the client 200 that generated the input / output request 201 newly sets the “next request” up to that point as the “current request”. I / O request 203 is output, but the fact that extrusion has occurred is that the client
The 200 previous "next request priority" or the new "current request priority" indicates that it is the highest priority output by all clients, so the shared input The output device 100 waits for the input / output request 203 to be output and then inputs / outputs to / from the input / output medium 500. Further, even in the waiting state for the output of this input / output request 203,
Since the input / output of the current request 201 has already been completed, and the corresponding client 200 always outputs the next request 203 as a new input / output request, it does not enter a permanent waiting state. By doing so, it is possible to perform legitimate scheduling based on the priority of each request, regardless of changes in the circumstances of each client.

なお、本発明は、共通のバスを有するマルチプロセッサ
システム等のほか、通信回線を介して互いに独立した複
数のマイクロプロセッサが接続されているようなシステ
ムに対しても勿論適用可能である。
The present invention is of course applicable to not only a multiprocessor system having a common bus but also a system in which a plurality of independent microprocessors are connected via a communication line.

(発明の効果) 以上のように本発明によれば、共有入出力装置が、各ク
ライアントから発生する現行要求及び次位要求のすべて
の優先度を参照してスケジューリングを行い、また、必
要に応じて優先度の再設定を可能としたため、システム
全体にわたる正当な優先順序制御を従来のような各クラ
イアント間の通信や排他制御等を要すことなく単純に実
現することができる。
(Effects of the Invention) As described above, according to the present invention, the shared input / output device performs scheduling by referring to all priorities of the current request and the next-order request generated from each client, and if necessary, Since it is possible to re-set the priority level, it is possible to simply realize a proper priority order control over the entire system without requiring communication between clients or exclusive control as in the related art.

従って、各クライアント間の独立性が失われる心配がな
く、共有入出力制御のオーバーヘッドを減少させること
ができる等の効果がある。
Therefore, there is an effect that the independence between the clients is not lost and the overhead of the shared input / output control can be reduced.

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

第1図は本発明の一実施例が適用される入出力装置共有
システムの構成図、第2図はクライアント内で新たな要
求が発生した場合の説明図、第3図は従来例を示す入出
力装置共有システムの構成図、第4図は本発明の実施例
における処理の説明図、第5図は従来例における処理の
説明図である。 100……共有入出力装置 200,300,400……クライアント 201,202,203,301,302,401,402……要求 210,310,410……入出力要求 21,22,23,31,32,41,42……優先度
FIG. 1 is a block diagram of an input / output device sharing system to which an embodiment of the present invention is applied, FIG. 2 is an explanatory diagram when a new request occurs in a client, and FIG. FIG. 4 is a configuration diagram of an output device sharing system, FIG. 4 is an explanatory diagram of processing in the embodiment of the present invention, and FIG. 5 is an explanatory diagram of processing in a conventional example. 100 …… Shared I / O device 200,300,400 …… Client 201,202,203,301,302,401,402 …… Request 210,310,410 …… I / O request 21,22,23,31,32,41,42 …… Priority

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】個別にかつ一時点では最も優先度の高い唯
一の入出力要求を出力し、その処理完了までは新たな入
出力要求を出力しない複数の独立した装置(以下、クラ
イアントという)によって共有される共有入出力装置の
制御方法において、 前記各クライアントは、現在発生しているすべての要求
のうち優先度が最高のものを現行の要求として前記共有
入出力装置に出力する際に、その要求についての優先度
と、当該クライアントにおいて次に入出力要求の出力が
予定される要求についての優先度とを前記現行の要求に
付加して共有入出力装置内に設定し、前記共有入出力装
置は、各クライアントからの要求に付加されて設定され
たすべての優先度を参照し、現行の要求の優先度及び次
に出力が予定される要求の優先度の中で、最も優先度が
高いものに対応した現行の要求に対応する入出力処理を
実行し、更に、入出力処理が完了した後、完了した入出
力要求についての優先度を除いて再度各クライアントか
らの要求に付加されて設定されているすべての優先度を
参照し、最も優先度の高いものが、前記完了した入出力
要求に付加されたところの、入出力要求の出力が予定さ
れた要求の優先度であれば、対応するクライアントから
の次の入出力要求の出力を待ってその要求に対応する入
出力処理を実行することにより、優先度の高い要求から
順に対応する入出力処理を実行することを特徴とする共
有入出力装置の制御方法。」
1. A plurality of independent devices (hereinafter referred to as clients) that individually output the only I / O request having the highest priority at a time point and do not output a new I / O request until the processing is completed. In the shared shared I / O device control method, each client outputs the highest priority request among all currently generated requests to the shared I / O device as a current request. The priority of the request and the priority of the request for which the output of the next I / O request is scheduled in the client are added to the current request and set in the shared I / O device. Refers to all priorities set in addition to the request from each client, and has the highest priority among the priority of the current request and the priority of the request to be output next. The I / O processing corresponding to the current request corresponding to the high I / O request is executed, and after the I / O processing is completed, the priority of the completed I / O request is removed and the request is added again to the request from each client. If all the priorities set by the above are referred to, and the highest priority is the priority of the scheduled output of the I / O request, which is added to the completed I / O request, , Waiting for the output of the next I / O request from the corresponding client, and executing the I / O processing corresponding to the request, thereby performing the I / O processing corresponding to the request with the highest priority. Shared I / O device control method. "
【請求項2】共有入出力装置がある要求に対応する入出
力処理を実行中に、あるクライアントにおいて発生した
次に入出力要求の出力が予定される要求の変更により、
既に共有入出力装置内に設定されている優先度の優先順
位を変更する必要が生じた場合に、次の要求の優先度を
共有入出力装置に再設定可能とした特許請求の範囲第1
項記載の共有入出力装置の制御方法。
2. A shared I / O device, while executing an input / output process corresponding to a certain request, by changing a request which is generated in a certain client and is scheduled to output the next input / output request,
When the priority of the priority already set in the shared input / output device needs to be changed, the priority of the next request can be reset in the shared input / output device.
A method for controlling a shared input / output device according to the item.
JP26064987A 1987-10-15 1987-10-15 Shared I / O device control method Expired - Lifetime JPH0754497B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26064987A JPH0754497B2 (en) 1987-10-15 1987-10-15 Shared I / O device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26064987A JPH0754497B2 (en) 1987-10-15 1987-10-15 Shared I / O device control method

Publications (2)

Publication Number Publication Date
JPH01102672A JPH01102672A (en) 1989-04-20
JPH0754497B2 true JPH0754497B2 (en) 1995-06-07

Family

ID=17350850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26064987A Expired - Lifetime JPH0754497B2 (en) 1987-10-15 1987-10-15 Shared I / O device control method

Country Status (1)

Country Link
JP (1) JPH0754497B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371893A (en) * 1991-12-27 1994-12-06 International Business Machines Corporation Look-ahead priority arbitration system and method

Also Published As

Publication number Publication date
JPH01102672A (en) 1989-04-20

Similar Documents

Publication Publication Date Title
US7339948B2 (en) Industrial controller providing deterministic communication on ethernet
JP3922070B2 (en) Distributed control method and apparatus
US7080377B2 (en) Method for effective utilizing of shared resources in computerized system
JPH0754497B2 (en) Shared I / O device control method
JP2000194683A (en) Arbitration circuit and method for shared memory
JPH1049388A (en) Input and output controller
JP3202894B2 (en) Packet processing method
JPH1196108A (en) Computer system and bus control device
CN109857686B (en) Method for converting synchronous transmission of DMA data into asynchronous transmission
CN115884229B (en) Transmission delay management method, electronic device and storage medium
JP4753184B2 (en) Arbitration device and arbitration method
JP2000132409A (en) Stack sharing system for task having no wait state
US20050177660A1 (en) Method and system for merged rate-smoothing buffer with burst buffer
JPH0644234B2 (en) Task management device
CN118034926A (en) Resource scheduling method, device and system of partitioned operating system of multi-core processor
JP2002222161A (en) Semiconductor device, and method of transferring data
JPS6115262A (en) Buffer access control system
JPH10289196A (en) Computer and transfer method for peripheral device control data in computer
JPS6059464A (en) Bus request control system
JPH03180961A (en) Method for controlling system time
JPH0243657A (en) Transaction processing scheduling system
JPH0128418B2 (en)
JPS60256852A (en) File recovery system for decentralized processing system
JPS62249262A (en) Bus acquisition system
JPH04209031A (en) Resources control method for computer system