JPS5931736B2 - Queue management method - Google Patents
Queue management methodInfo
- Publication number
- JPS5931736B2 JPS5931736B2 JP52006427A JP642777A JPS5931736B2 JP S5931736 B2 JPS5931736 B2 JP S5931736B2 JP 52006427 A JP52006427 A JP 52006427A JP 642777 A JP642777 A JP 642777A JP S5931736 B2 JPS5931736 B2 JP S5931736B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- request
- signal
- shared resource
- request source
- 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
Links
Description
【発明の詳細な説明】 本発明は待ち行列管理方式に関する。[Detailed description of the invention] The present invention relates to queue management schemes.
20共用メモリあるいは共用I/O等においては、多数
の要求元がランダムに利用するために要求元からの要求
信号に対して利用の順番を定めて待ち行列の管理を行な
う必要がある。In a shared memory or a shared I/O, a large number of request sources use the memory at random, so it is necessary to manage the queue by determining the order of use in response to request signals from the request sources.
従来、待ち行列の管理は予じめ要求元間にその要求元の
処理速度25等に応じて優先順序を定めることによつて
共用リソースに対するアクセスの競合を制御していた。
しかしながら、このような方法では優先順序の高い要求
元のみが共用リソースをひんばんに利用でき、優先順序
の低い要求元は長時間待たされるこ30とがしばしば生
じてしまうという欠淑があつた。特に各要求元の機能が
ほぼ均一である場合には共用リソースの利用が均一にす
なわち各要求元が要求信号を発生した順序に従つて利用
が可能であることが望ましいが、従来技術では各要求元
の物理35的配置関係により固定的な優先順序が定めら
れてしまうために、システムの全体効率は低下したもの
となつていた。本発明は上記欠屯を除きランダムに発生
する要求に対し、その要求発生時点によりきめこまかに
持ち行列を制御する方式を提供するにある。Conventionally, queue management has been carried out to control competition for access to shared resources by preliminarily determining a priority order between request sources according to the processing speed 25 of the request sources.
However, such a method has a drawback in that only requestors with a high priority can make full use of the shared resource, while requestors with a low priority are often forced to wait for a long time. In particular, when the functions of each request source are almost uniform, it is desirable that shared resources can be used uniformly, that is, according to the order in which each request signal is generated. Since a fixed priority order is determined based on the original physical layout relationship, the overall efficiency of the system has decreased. The present invention provides a method for finely controlling the holding queue for randomly occurring requests other than the above-mentioned shortages, depending on the time point at which the request is generated.
以下本発明の詳細を図面を参照して詳細に説明する。第
1図は本発明の一実施例を示すプロツク図である。The details of the present invention will be explained in detail below with reference to the drawings. FIG. 1 is a block diagram showing one embodiment of the present invention.
1は共用リソースとしての共用メモリ、2,3,4は夫
々要求元としてのCPUl5はメモリバス、6乃至10
は制御線である。1 is a shared memory as a shared resource; 2, 3, and 4 are each a CPU as a request source; 5 is a memory bus; 6 to 10
is the control line.
制御線6には持ち行夕載ど長さ”を示す4ビツトの情報
(GDが常時伝送されている。制御線7には共用メモリ
1のメモリアクセス動作が終了する毎に終了信号END
が供給される。制御線8には共用メモリ1に対する利用
許可信号STARTが供給される。制御線9は各要求元
からの要求信号REQを共用メモリ1に供給する。制御
線9は各要求元間でWiredOR接続されている。制
御線10は共用メモl川と各要求元2,3,4とを順次
連結されている。1つのパルスACKが共用メモリ1か
ら制御線10に供給されると、このパルスは要求元2,
3,4の順序で各要求元に取り込まれる。The control line 6 is constantly transmitted with 4-bit information (GD) indicating the length of the data being carried.The control line 7 receives an end signal END every time the memory access operation of the shared memory 1 is completed.
is supplied. A use permission signal START for the shared memory 1 is supplied to the control line 8 . A control line 9 supplies a request signal REQ from each request source to the shared memory 1. The control lines 9 are wired OR connected between each request source. A control line 10 sequentially connects the shared memory 1 and each request source 2, 3, 4. When one pulse ACK is supplied from the shared memory 1 to the control line 10, this pulse is sent to the requester 2,
The information is taken into each request source in the order of 3 and 4.
後で詳述するように、共用メモリ1は持ち行列の“長ざ
を示す4ビツトのレジスタを有し、また各要求元2,3
,4は共用メモリ1に対する6順番゛を記憶するレジス
タを有する。As will be explained in detail later, the shared memory 1 has a 4-bit register that indicates the length of the matrix, and each request source 2, 3
, 4 have registers that store six orders for shared memory 1.
任意の要求元から要求信号が発生すると、制御線9を介
して共用メモリ1にこの情報が伝えられる。共用メモリ
1はこれによつて制御線10にACKパルスを供給する
。要求元2は制御線10を介してパル .′スが供給さ
れたとき、もし要求信号を出力したのが自身である場合
には制御線6上の情報を内部のレジスタに取り込み、要
求信号を出すのをやめる。もし要求元2が要求信号を出
力していない場合には、要求元2はRACK端子に供給
されたパルス5をそのままTACK端子から出力する。
以下各要求元3,4も同様操作を実行する。また共用メ
モリ1はACKパルスを発生する毎に内部のレジスタを
1だけカウントアツプする。共用メモリ1は内部のレジ
スタの内容がO以外のときは制御線84にSTART信
号を供給する。要求元2,3,4はこのSTART信号
が供給されたとき、内部のレジスタの内容が1である場
合、メモリバス5を用いてメモリアクセスを開始する。
共用メモリ1はメモリアクセス動作が完了する毎にEN
D信号を制御線γに供給し、内部のレジスタを1だけカ
ウントダウンさせる。また各要求元はEND信号が供給
される毎に、内部のレジスタを1だけカウントダウンさ
せる。以下この動作を第2図及び第3図を用いて詳細に
説明する。第2図は共用メモリ1の一具体的構成を示す
図であり、第3図は要求元2,3,4の一具体的構成を
示す図である。When a request signal is generated from any request source, this information is transmitted to the shared memory 1 via the control line 9. The shared memory 1 thereby supplies an ACK pulse to the control line 10. The request source 2 sends a PAL. ' When the signal is supplied, if it is the one that outputs the request signal, it takes in the information on the control line 6 into an internal register and stops outputting the request signal. If the request source 2 is not outputting a request signal, the request source 2 outputs the pulse 5 supplied to the RACK terminal as it is from the TACK terminal.
Thereafter, each of the request sources 3 and 4 also performs the same operation. Also, the shared memory 1 counts up the internal register by 1 every time an ACK pulse is generated. The shared memory 1 supplies a START signal to the control line 84 when the contents of the internal register are other than O. When the request sources 2, 3, and 4 are supplied with this START signal, if the content of the internal register is 1, they start memory access using the memory bus 5.
Shared memory 1 is set to EN every time a memory access operation is completed.
A D signal is supplied to the control line γ to cause the internal register to count down by 1. Further, each request source causes an internal register to count down by 1 each time an END signal is supplied. This operation will be explained in detail below using FIGS. 2 and 3. FIG. 2 is a diagram showing a specific configuration of the shared memory 1, and FIG. 3 is a diagram showing a specific configuration of the request sources 2, 3, and 4.
第2図において共用メモリはつ 記憶部200とその制
御回路201とで構成されている。匍脚回路201は上
述のように、持ち行列の゛長さ”LENGTHを収容す
る4ビツトのレジスタ20を有する。このレジスタ20
の内容は常時制御線6上に表われている。いま、レジス
, 夕20はアツプダウンカウンタで構成されているも
のとする。また第3図において各要求元はCPU3OO
と入出力制御部301とで構成されている。In FIG. 2, the shared memory is composed of a storage section 200 and a control circuit 201 thereof. As mentioned above, the pedestal circuit 201 has a 4-bit register 20 that accommodates the "length" LENGTH of the holding matrix.
The contents are always displayed on the control line 6. Assume now that Regis 20 is composed of an up-down counter. Also, in Figure 3, each request source is CPU3OO
and an input/output control section 301.
入出力制御部301は上述のように、共用メモ1月に対
するメモリアクセスの8順番゛0RDERを記憶する4
ビツトのレジスタ30を有する。いま、レジスタ30は
プリセツト可能なダウンカウンタで構成されているもの
とする。CPU3OOがREQ信号を発生すると、この
信号は制御線9を介して制御回路201の判定回路21
に供給される。As described above, the input/output control unit 301 stores the 8 order of memory accesses ``0RDER'' for the shared memo 1 month.
It has a bit register 30. It is now assumed that the register 30 is composed of a down counter that can be preset. When the CPU 3OO generates the REQ signal, this signal is sent to the determination circuit 21 of the control circuit 201 via the control line 9.
supplied to
判定回路21はこのREQ信号が真Trueであれば記
憶200の状態とは無関係に出力信号を発生する。この
出力信号はパルス発生回路22及びレジスタ20のアツ
プ端子に供給される。レジスタ20はこれによつてその
内容を1だけカウントアツプする。一方パルス発生回路
22は1つのパルスACKをFbl脚線10に供給する
。第1図に示されるように、このACKパルスは順次要
求元2,3,4に供給される。第3図において、このA
CKパルスはパルス制御回路31のRACK端子に供給
される。パルス制御回路31はACKパルスが入力した
ときCPU3OOがREQ信号を発生していない場合に
はそのままTACK端子から制御線10にACKパルス
を出力する。またACKパルスが入力したときCPU3
OOがREQ信号を発生している場合には、パルス制御
回路31は出力信号を発生しゲート32を開く、このと
きパルス制御回路31はTACK端子を介してACKパ
ルスは出力しない。ゲート32が開かれることによつて
、制御線6を介しレジスタ20(第20図)の内容がレ
ジスタ30(第3図)にセツトされる。またパルス制御
回路31の出力信号はCPU3OOに送られ、CPU3
OOはREQ信号の発生を停止する。換言すれぱ、LE
NGTHは現在共用メモリを利用したい要求元の数を示
しており、0RDERは対応する要求元が第何番目に共
用メモリを利用可能かを示している。The determination circuit 21 generates an output signal regardless of the state of the memory 200 if the REQ signal is true. This output signal is supplied to the pulse generating circuit 22 and the up terminal of the register 20. Register 20 thereby counts up its contents by one. On the other hand, the pulse generation circuit 22 supplies one pulse ACK to the Fbl leg line 10. As shown in FIG. 1, this ACK pulse is sequentially supplied to request sources 2, 3, and 4. In Figure 3, this A
The CK pulse is supplied to the RACK terminal of the pulse control circuit 31. If the CPU 3OO is not generating the REQ signal when the ACK pulse is input, the pulse control circuit 31 directly outputs the ACK pulse from the TACK terminal to the control line 10. Also, when the ACK pulse is input, CPU3
When OO is generating the REQ signal, the pulse control circuit 31 generates an output signal and opens the gate 32. At this time, the pulse control circuit 31 does not output an ACK pulse via the TACK terminal. By opening gate 32, the contents of register 20 (FIG. 20) are set in register 30 (FIG. 3) via control line 6. Further, the output signal of the pulse control circuit 31 is sent to the CPU3OO, and the output signal of the pulse control circuit 31 is sent to the CPU3OO.
OO stops generating the REQ signal. In other words, LE
NGTH indicates the number of request sources that currently wish to use the shared memory, and 0RDER indicates the number of request sources that can use the shared memory.
任意の要求元からREQ信号が発生されると、LENG
THの内容を1だけカウントアツプし、この値を0RD
ERとして設定することによつて、そのREQ信号を発
生した要求元の利用に関する順番を記憶することができ
る。第2図において、記憶部200の状態は状態指示回
路23によつて示されている。When a REQ signal is generated from any request source, LENG
Count up the contents of TH by 1 and set this value to 0RD
By setting it as ER, it is possible to store the usage order of the request source that generated the REQ signal. In FIG. 2, the state of the storage section 200 is indicated by a state indicating circuit 23. In FIG.
判定回路24はこの状態指示回路23の状態信号及びレ
ジスタ20内容からメモリアクセス動作の開始信号ST
ARTを出力する。すなわち、記憶部200がBSY状
態でなく、かつレジスタ20の内容がO以外の場合にS
TART信号を制御線8に供給する。第3図において、
判定回路33は制御線8を介して供給されたSTART
信号により駆動され、レジスタ30の内容0RDERが
1である場合にはバスコントロール回路34及びCPU
3OOに出力信号を供給し、共用メモリに対するアクセ
ス動作を開始させる。再び第2図において、状態指示回
路23は記憶部200のメモリアクセス動作の終了によ
つて制御線TにEND信号を供給する。The determination circuit 24 determines a memory access operation start signal ST from the status signal of the status indication circuit 23 and the contents of the register 20.
Output ART. That is, when the storage unit 200 is not in the BSY state and the contents of the register 20 are other than O, S
A TART signal is supplied to the control line 8. In Figure 3,
The determination circuit 33 receives START supplied via the control line 8.
When the content 0RDER of the register 30 is 1, the bus control circuit 34 and the CPU
An output signal is provided to 3OO to initiate an access operation to the shared memory. Referring again to FIG. 2, the state indicating circuit 23 supplies the END signal to the control line T upon completion of the memory access operation of the storage unit 200.
END信号はレジスタ20のダウンカウント端子にも供
給され、LENGTHの値を1だけカウントダウンする
。一方、第3図において、制御線8を介して供給された
END信号はレジスタ30のカウントダウン端子に供給
され、0RDERの値を1だけカウンフトダゥンする。The END signal is also supplied to the down count terminal of the register 20, and counts down the value of LENGTH by one. On the other hand, in FIG. 3, the END signal supplied via the control line 8 is supplied to the countdown terminal of the register 30, and counts down the value of 0RDER by one.
END信号はメモリアクセス動作が完了する毎に発生さ
れる。このように、各要求元の0RDERの値は任意の
要求元の利用が終了する毎に1だけ減UORDERの値
が1である要求元のみが共用メモリの利用を許可するよ
うに制御している。The END signal is generated each time a memory access operation is completed. In this way, the value of 0RDER for each request source is reduced by 1 each time a request source finishes using it, and control is performed so that only request sources whose UORDER value is 1 are allowed to use the shared memory. .
従つて第1図において、各要求元2,3,4が要求信号
をランダムに発生すれば、各要求元が要求を発生した順
序に従つて共用リソース1の利用を行なうことができる
。Therefore, in FIG. 1, if each of the request sources 2, 3, and 4 randomly generates request signals, the shared resource 1 can be used in accordance with the order in which the request sources generate requests.
一方、例えば要求元及び4がほぼ同時に要求信号を発生
した場合には、要求元3が先に共用リソース1を利用す
ることができる。以上詳細に説明したように、本発明に
よれば多数の要求面からランダムに発生された共用リソ
ースの利用要求に対し、各要求元の要求発生時点により
きめこまかに持ち行列を制御することができる。On the other hand, if, for example, requester 4 generates request signals almost simultaneously, requestor 3 can use shared resource 1 first. As described in detail above, according to the present invention, it is possible to finely control the holding queue for shared resource use requests randomly generated from a large number of requests, depending on the time point at which each request source generates a request.
また本発明によれは、特定の要求元に対してのみ共用リ
ソースの利用が独占されることがないため、特に各要求
元の機能が平均化している場合にも物理的例えば各要求
元の配置等によつて生じてしまう優先度等の影響を軽減
することができる。Furthermore, according to the present invention, since the use of shared resources is not monopolized only to a specific request source, even if the functions of each request source are averaged, the physical arrangement of each request source, for example, It is possible to reduce the influence of priority etc. caused by such factors.
なお、本発明は上記実施例に限定されるものではない。
例えは共用リソースとしては共用1/0、共用プロセツ
サ等で構成され、要求元としてはCPUに限られず/O
機器等であつても利用することができる。Note that the present invention is not limited to the above embodiments.
For example, the shared resource consists of shared 1/0, shared processor, etc., and the request source is not limited to the CPU.
It can also be used for equipment, etc.
第1図は本発明の一実施例を示す図、第2図及び第3図
は本発明の一実施例の一部分の一具体的構成図である。
1・・・・・・共用メモ)几 2,3,4・・・・・・
要求元、5・・・・・・メモリバス、6,乙8,9,1
0・・・・・・制御線。FIG. 1 is a diagram showing an embodiment of the present invention, and FIGS. 2 and 3 are specific configuration diagrams of a portion of an embodiment of the present invention. 1... Shared memo) 几 2, 3, 4...
Request source, 5...Memory bus, 6, Otsu 8, 9, 1
0... Control line.
Claims (1)
用する複数の要求元と、前記リソースに対する待ち行列
の長さを保持する第1のレジスタと、前記要求元の夫々
に対応して設けられ前記共用リソースの利用に関する順
番を記憶する第2のレジスタ群と、任意の要求元からの
前記共用リソースの利用に関する要求信号の発生によつ
て前記第1のレジスタの内容を歩進させる第1の手段と
、この手段によつて歩進された前記第1のレジスタの内
容を前記要求信号を発生した要求元に対応する第2のレ
ジスタに設定する第2の手段と、前記第1のレジスタの
内容が予じめ定められた値以外のとき前記共用リソース
の利用許可信号を発生する第3の手段と、前記要求元の
いずれかによる前記共用リソースの利用が終了したとき
終了信号を発生する第4の手段と、第4の手段により発
生された終了信号によつて前記第1のレジスタ及び前記
第2のレジスタ群を逆歩進させる第5の手段とを備え、
前記第2のレジスタ群のうち予じめ定められた値を保持
するレジスタに対応する要求元が前記共用リソースを利
用するように制御することを特徴とする待ち行列管理方
式。 2 前記第2の手段は、前記共用リソース及び前記複数
の要求元を順次接続する制御線と、前記要求信号の発生
によつて前記制御線上に前記要求元に順次伝送される1
つのパルスを供給する手段とを備え、この手段によつて
供給されたパルスが前記要求信号を発生した要求元に達
したとき前記要求信号を発生した要求元に対応する第2
のレジスタに前記第1のレジスタの内容を設定すること
を特徴とする特許請求の範囲第1項記載の待ち行列管理
方式。 3 前記共用リソースは、リソース部と、このリソース
部の制御回路とを備え、前記第1の手段、第3の手段及
び第4の手段が前記制御回路に設けられたことを特徴と
する特許請求の範囲第1項記載の待ち行列管理方式。 4 前記第2のレジスタ群は夫々対応する前記要求元に
設けられたことを特徴とする特許請求の範囲第1項記載
の待ち行列管理方式。[Scope of Claims] 1. A shared resource, a plurality of request sources that randomly use the shared resource, a first register that holds the length of a queue for the resource, and a register that corresponds to each of the request sources. a second register group that is provided to store an order regarding the use of the shared resource; and the contents of the first register are incremented by generation of a request signal regarding the use of the shared resource from an arbitrary request source. a first means; a second means for setting the contents of the first register incremented by the means in a second register corresponding to a request source that has generated the request signal; a third means for generating a usage permission signal for the shared resource when the content of the register is other than a predetermined value; and a third means for generating a termination signal when the usage of the shared resource by any of the request sources is completed. and a fifth means for inverting the first register and the second register group by the end signal generated by the fourth means,
A queue management method characterized in that a request source corresponding to a register holding a predetermined value among the second register group is controlled to use the shared resource. 2. The second means includes a control line that sequentially connects the shared resource and the plurality of request sources, and a control line that is sequentially transmitted to the request sources on the control line upon generation of the request signal.
a second pulse corresponding to the request source that generated the request signal when the pulses supplied by the means reach the request source that generated the request signal;
2. The queue management method according to claim 1, wherein the contents of the first register are set in the register of the first register. 3. The shared resource includes a resource section and a control circuit for the resource section, and the first means, third means, and fourth means are provided in the control circuit. The queue management method described in item 1. 4. The queue management system according to claim 1, wherein the second register group is provided at each corresponding request source.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP52006427A JPS5931736B2 (en) | 1977-01-25 | 1977-01-25 | Queue management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP52006427A JPS5931736B2 (en) | 1977-01-25 | 1977-01-25 | Queue management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5392640A JPS5392640A (en) | 1978-08-14 |
JPS5931736B2 true JPS5931736B2 (en) | 1984-08-03 |
Family
ID=11638076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52006427A Expired JPS5931736B2 (en) | 1977-01-25 | 1977-01-25 | Queue management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5931736B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6185034U (en) * | 1984-11-08 | 1986-06-04 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4281381A (en) * | 1979-05-14 | 1981-07-28 | Bell Telephone Laboratories, Incorporated | Distributed first-come first-served bus allocation apparatus |
JPS57146331A (en) * | 1981-03-06 | 1982-09-09 | Hitachi Ltd | Idling state detecting system |
-
1977
- 1977-01-25 JP JP52006427A patent/JPS5931736B2/en not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6185034U (en) * | 1984-11-08 | 1986-06-04 |
Also Published As
Publication number | Publication date |
---|---|
JPS5392640A (en) | 1978-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5812611B2 (en) | Data Tensou Seigiyohoushiki | |
US4400771A (en) | Multi-processor system with programmable memory-access priority control | |
US4818932A (en) | Concurrent memory access system | |
KR100275407B1 (en) | Fast access to a shared resource on a computer bus | |
GB2181577A (en) | Arbitrator for allocating access to data processing resources | |
KR970049655A (en) | Direct Memory Access (DMA) Controller | |
US4896266A (en) | Bus activity sequence controller | |
US5918070A (en) | DMA controller with channel tagging | |
JPH0728758A (en) | And device for dynamic time loop arbitration | |
US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
US5944788A (en) | Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules | |
JPH0139138B2 (en) | ||
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
JPS5931736B2 (en) | Queue management method | |
JP2806672B2 (en) | Direct memory access transfer controller | |
JP3987750B2 (en) | Memory control device and LSI | |
JPH07281942A (en) | Arbitration method for shared resources | |
JP2731768B2 (en) | Memory controller | |
JPH081632B2 (en) | Data processing system having shared bus and its priority determining circuit | |
JPH04323755A (en) | Dma device | |
KR970011890B1 (en) | Memory shared method of main processor and co-processor | |
JPH0844661A (en) | Information processor | |
JPS63191397A (en) | Information processor | |
JPS6054065A (en) | Synchronous controller | |
SU1290320A1 (en) | Device for distributing jobs to processors |