JP2564699B2 - Queue control memory circuit - Google Patents

Queue control memory circuit

Info

Publication number
JP2564699B2
JP2564699B2 JP2264244A JP26424490A JP2564699B2 JP 2564699 B2 JP2564699 B2 JP 2564699B2 JP 2264244 A JP2264244 A JP 2264244A JP 26424490 A JP26424490 A JP 26424490A JP 2564699 B2 JP2564699 B2 JP 2564699B2
Authority
JP
Japan
Prior art keywords
register
queue
class
stage
queue memory
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 - Fee Related
Application number
JP2264244A
Other languages
Japanese (ja)
Other versions
JPH04140845A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2264244A priority Critical patent/JP2564699B2/en
Publication of JPH04140845A publication Critical patent/JPH04140845A/en
Application granted granted Critical
Publication of JP2564699B2 publication Critical patent/JP2564699B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第3図、第4図) 発明が解決しようとする課題(第5図) 課題を解決するための手段(第1図) 作用 実施例(第2図) 発明の効果 〔概要〕 キュー制御メモリ回路に関し、 複数の優先度の処理要求を1ケのキューメモリで管理
することを目的とし、 複数の処理要求元からの処理要求を保持するとともに
次に処理すべき処理要求番号が記入されるポインタ部を
有するキューメモリを具備し、処理要求を順次処理する
キュー制御メモリ回路において、優先度の異なる処理要
求を保持するキューメモリと、各優先度毎に、次に処理
すべきキューメモリのアドレス番号であるトップ番号を
保持するトップ番号保持手段と、最新の処理要求番号が
記入されたキューメモリのアドレス番号であるボトム番
号を保持するボトム番号保持手段を設けたものである。
DETAILED DESCRIPTION [Table of Contents] Outline Industrial field of application Conventional technology (FIGS. 3 and 4) Problem to be solved by the invention (FIG. 5) Means for solving the problem (first embodiment) Fig.) Action Embodiment (Fig. 2) Effect of the invention [Overview] Regarding a queue control memory circuit, the purpose is to manage processing requests of a plurality of priorities with a single queue memory, and A queue control memory circuit that holds a processing request and that has a pointer portion in which a processing request number to be processed next is written, and in a queue control memory circuit that sequentially processes processing requests, holds a processing request with different priority. The memory, the top number holding means for holding the top number which is the address number of the queue memory to be processed next for each priority, and the address of the queue memory in which the latest processing request number is entered. The bottom number holding means for holding the bottom number, which is the serial number, is provided.

〔産業上の利用分野〕[Industrial applications]

本発明はキュー制御メモリ回路に係り、特に処理要求
元が複数の優先度を有する場合でも、1個のキューメモ
リによりキューを管理できるようにしたものに関する。
The present invention relates to a queue control memory circuit, and more particularly to a queue control memory circuit capable of managing a queue by one queue memory even when a processing request source has a plurality of priorities.

〔従来の技術〕[Conventional technology]

データ処理装置では、複数の処理要求元からの処理要
求を受付けてこれを受付けた順序を守って処理を行いた
い場合がある(FIFO:First In First Out)。この場
合、処理要求元の数が増えると受付けた順序を記憶する
のが困難となるのでキューメモリを使用することにな
る。
In some cases, the data processing device wants to receive processing requests from a plurality of processing request sources and perform processing in observance of the received order (FIFO: First In First Out). In this case, if the number of processing request sources increases, it becomes difficult to store the accepted order, so that the queue memory is used.

従来のキューメモリを使用した制御回路を第3図によ
り説明する。第3図において30はキューメモリであって
ポインタ部30−0と、バリッド部30−1と、ECC(Error
Correcting Code)部30−2を有する。31は書込みレジ
スタ、32はアドレスレジスタ、33はECC発生部、34はチ
ェック訂正部である。
A control circuit using a conventional queue memory will be described with reference to FIG. In FIG. 3, reference numeral 30 denotes a queue memory, which has a pointer section 30-0, a valid section 30-1, and an ECC (Error
Correcting Code) section 30-2. Reference numeral 31 is a write register, 32 is an address register, 33 is an ECC generation unit, and 34 is a check correction unit.

図示省略した処理要求元から処理要求が発生すると、
エンキュー・レジスタ35にこれがセットされる。なお、
処理要求が発生すると、図示省略した制御部がこの処理
要求を図示省略したバッファに記入し、そのバッファの
アドレス(番号)がエンキュー・レジスタ35にセットさ
れる。FIFOキューの先頭にある処理要求元番号を示すト
ップ・レジスタ36には次に処理すべき番号が記入され、
FIFOキューの末尾にあたる処理要求元番号を示すボトム
・レジスタ37には最新の処理要求の番号が記入されてい
る。この番号はキューメモリ30のアドレスであり、バッ
ファのアドレスと同一である。
When a processing request is issued from a processing request source (not shown),
This is set in the enqueue register 35. In addition,
When a processing request is generated, the control unit (not shown) writes this processing request in a buffer (not shown), and the address (number) of the buffer is set in the enqueue register 35. The number to be processed next is entered in the top register 36 indicating the processing request source number at the head of the FIFO queue,
The latest processing request number is written in the bottom register 37 indicating the processing request source number corresponding to the end of the FIFO queue. This number is the address of the queue memory 30 and is the same as the address of the buffer.

またカウンタ38は処理要求すべきキューの数をカウン
トしており、エンキューのときカウンタ・レジスタ38−
1の値を+1して再び記入し、デキューのとき同様に−
1する。
The counter 38 counts the number of queues that should be requested to be processed. When enqueuing, the counter register 38-
The value of 1 is incremented by 1 and re-entered.
Do 1

今カウンタ38がゼロでないとき、つまり1以上の数値
がカウンタ・レジスタ38−1に記入されているとき、第
4図に示す最上欄のようにエンキュー処理が行われると
き、そのステージ“0"に示されるように、アドレス・レ
ジスタ32にボトム・レジスタ37に記入されている最も新
しくキューメモリ30に書込まれたアドレスをセットし、
キューメモリ30をライト・モードとし、書込みレジスタ
31のキュー書込みデータ部31−0にエンキュー・レジス
タ35に記入されている番号を次アドレスとしてセット
し、バリッドビットVを立て、カウンタ38を+1し、ボ
トム・レジスタ37にはエンキュー・レジスタ35に記入さ
れている番号をセットする。勿論これに応じたECCをECC
発生部33で作成し、これを書込みレジスタ31のECC部31
−2にセットされるので、ステージ“0"では、これらが
ボトムアドレス・レジスタ37即ちアドレス・レジスタ32
のアドレス先に記入され、カウンタ38が+1される。そ
してボトムアドレス・レジスタ37に今度はエンキュー・
レジスタ35に記入されている番号が新しくセットされ
る。
Now, when the counter 38 is not zero, that is, when a value of 1 or more is written in the counter register 38-1, when the enqueue process is performed as shown in the uppermost column in FIG. 4, the stage "0" is set. As shown, set the address register 32 to the most recently written address in the bottom register 37, which was written to the queue memory 30,
Set queue memory 30 to write mode and write register
The number written in the enqueue register 35 in the queue write data section 31-0 of 31 is set as the next address, the valid bit V is set, the counter 38 is incremented by 1, and the bottom register 37 is set to the enqueue register 35. Set the entered number. Of course the ECC according to this
It is created by the generator 33 and this is written in the ECC section 31 of the write register 31.
-2, so that at stage "0" these are bottom address register 37 or address register 32.
Is written in the address of the counter and the counter 38 is incremented by one. Then enqueue to the bottom address register 37
The number entered in register 35 is newly set.

次のステージ“1"では、アドレス・レジスタ32にエン
キュー・レジスタ35に記入された番号をセットし、キュ
ーメモリ30をライトモードにし、バリッドビットVを記
入する。このときそのポインタ部30−0はNill処理例え
ばオールゼロを記入する。
In the next stage "1", the number written in the enqueue register 35 is set in the address register 32, the queue memory 30 is set to the write mode, and the valid bit V is written. At this time, the pointer unit 30-0 writes Nill processing, for example, all zeros.

又、第4図の第3欄に示すように、カウンタ38が“1"
以下でない、つまり“2"以上のときにデキュー処理が行
われる場合を説明する。
Also, as shown in the third column of FIG. 4, the counter 38 is set to "1".
The case where the dequeuing processing is not performed below, that is, when it is "2" or more will be described.

ステージ“0"では、アドレス・レジスタ32にトップ・
レジスタ36にセットされている番号(即ち今度処理すべ
きキューのアドレス番号)をセットし、リードモードに
し、カウンタ38を−1する。これにより、そのポインタ
部30−0より次に処理すべき番号が出力されるので、ス
テージ“1"ではこの読出しデータをECCを使用してチェ
ック訂正部34でチェックし、正しいものをトップ・レジ
スタ36に記入して次に処理すべきアドレスとする。この
とき、キューメモリ30はライトモードに設定されている
ので、ステージ“1"ではポインタ部30−0をNill処理
し、またバリッドを落とす。
At stage “0”, the address register 32
The number set in the register 36 (that is, the address number of the queue to be processed next time) is set, the read mode is set, and the counter 38 is decremented by one. As a result, the number to be processed next is output from the pointer section 30-0. Therefore, at stage "1", the read / correct data is checked by the check / correction section 34 using the ECC, and the correct one is checked by the top register. Fill in 36 for the next address to process. At this time, since the queue memory 30 is set to the write mode, the pointer unit 30-0 is Nill-processed and the valid is dropped in the stage "1".

第4図の第5欄に示すように、プライオリティ・チェ
ンジ(PCHG)の場合は、次に処理すべきキューを最後位
置で処理するものであるので、ステージ“0"ではキュー
メモリ30をリード・モードにしてトップ・レジスタ36に
セットされている番号をアドレス・レジスタ32にセット
し、キューメモリ30を読み出す。ステージ“1"ではキュ
ーメモリ30をライトモードにするとともに先にキューメ
モリ30より読み出したポインタ部30−0の次アドレスを
示す番号をトップ・レジスタ36に記入する。そしてアド
レス・レジスタ32にボトム・レジスタ37にセットしてい
た番号をセットし、このボトム・レジスタ37の番号先に
先のトップレジスタ36の保持していた番号を記入し、バ
リッドを立てる。そしてステージ“2"ではボトム・レジ
スタ37にセットされた番号(前にトップ・レジスタ36に
セットされていた番号)をアドレス・レジスタ32にセッ
トし、キューメモリ30をライトモードにし、そのポイン
タ部30−0をNill処理し、バリッド部30−1にバリッド
を立てる。
As shown in the fifth column of FIG. 4, in the case of priority change (PCHG), the queue to be processed next is processed at the last position, so at stage “0”, the queue memory 30 is read. In the mode, the number set in the top register 36 is set in the address register 32, and the queue memory 30 is read. At the stage "1", the queue memory 30 is set to the write mode, and the number indicating the next address of the pointer portion 30-0 previously read from the queue memory 30 is written in the top register 36. Then, the number set in the bottom register 37 is set in the address register 32, the number held in the top register 36 is written in the destination number of the bottom register 37, and the valid is set. Then, in stage "2", the number set in the bottom register 37 (the number previously set in the top register 36) is set in the address register 32, the queue memory 30 is set to the write mode, and the pointer section 30 Nil processing is performed for -0, and a valid is set in the valid unit 30-1.

また、第4図の最後の欄に示すように、テストの場合
には、キューメモリ30をリードモードにし、またアドレ
ス・レジスタ32にテスト対象番号を記入する。これによ
りキューメモリ30にテスト対象先の番号が記入されてい
れば、バリッドビットが立っているので、これにより所
定のキューがキューメモリ30に記入済であることをテス
トできる。
Further, as shown in the last column of FIG. 4, in the case of the test, the queue memory 30 is set to the read mode, and the test target number is written in the address register 32. As a result, if the number of the test target is written in the queue memory 30, the valid bit is set, so that it can be tested that the predetermined queue has been written in the queue memory 30.

なお、処理要求元は、それぞれ1つの処理要求を発行
するものとする。そして、第3図では省略した制御部が
このキューを管理しているものである。
It should be noted that each processing request source issues one processing request. The control unit, which is omitted in FIG. 3, manages this queue.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

ところで各処理要求元が、優先度のクラスが何種類か
に別れた処理要求を発行するとき、第3図に示すもの
を、第5図に示す如くこのクラスの数だけ用意すること
が必要となる。
By the way, when each processing request source issues a processing request in which priority classes are divided into several types, it is necessary to prepare as many as shown in FIG. 3 the number of classes shown in FIG. Become.

すなわちクラスが0〜n種に分類されるとき、キュー
メモリ40−0〜40−n、ECC発生部41−0〜41−n、チ
ェック訂正部42−0〜42−n、アドレス・レジスタ43−
0〜43−n、入力レジスタ44−0〜44−n、トップ・レ
ジスタ45−0〜45−n、ボトム・レジスタ46−0〜46−
n、カウンタ47−0〜47−n等を必要とする。即ち、メ
モリの容量は優先度のクラス数倍必要となり、メモリの
使用効率が低下する上、コスト増の要因となる。
That is, when classes are classified into 0 to n types, queue memories 40-0 to 40-n, ECC generation units 41-0 to 41-n, check correction units 42-0 to 42-n, address registers 43-
0-43-n, input register 44-0-44-n, top register 45-0-45-n, bottom register 46-0-46-
n, counters 47-0 to 47-n, etc. are required. That is, the capacity of the memory is required to be equal to the number of classes of the priority, which reduces the efficiency of use of the memory and causes a cost increase.

したがって本発明の目的は、小容量のキューメモリで
優先度クラスを持つ処理要求を管理できるキューメモリ
制御回路を提供することである。
Therefore, an object of the present invention is to provide a queue memory control circuit capable of managing a processing request having a priority class with a small capacity queue memory.

〔課題を解決するための手段〕[Means for solving the problem]

前記目的を達成するため、本発明では、第1図(A)
に示す如く、キューメモリ1にポインタ部1−0、バリ
ッド部1−1、ECC部1−2の外にクラス部1−3を設
ける。なお、第1図(A)では優先度が“0"、“1"の2
分数の場合を示しており、2は書込みレジスタ、3はア
ドレスレジスタ、4はECC発生部、5はチェック訂正
部、6−0、6−1はそれぞれカウンタ、7−0、7−
1はそれぞれカウンタ・レジスタ、8−0、8−1はそ
れぞれ加減算部である。ここで6−0、7−0、8−0
はクラス“0"に対する各部を示し、6−1、7−1、8
−1はクラス“1"に対する各部を示している。9−0は
クラス“0"に対するトップ・レジスタ、9−1はクラス
“1"に対するトップ・レジスタ、10−0はクラス“0"に
対するボトム・レジスタ、10−1はクラス“1"に対する
ボトム・レジスアである。また11はエンキュー・レジス
タであり、キュー部11−0とクラス部11−1を有する。
このエンキュー・レジスタ11には、図示省略した処理要
求元から処理要求か出力されてこれに記入されるもので
ある。なお処理要求元は1度に1つの要求しか出力しな
い。またこの例ではクラス“1"がハイレベル(H)、ク
ラス“0"がローレベル(L)である。
In order to achieve the above object, in the present invention, FIG.
As shown in FIG. 3, the queue memory 1 is provided with a class unit 1-3 in addition to the pointer unit 1-0, the valid unit 1-1, and the ECC unit 1-2. It should be noted that in FIG. 1 (A), the priority levels 2 are “0” and “1”.
In the case of fractions, 2 is a write register, 3 is an address register, 4 is an ECC generation unit, 5 is a check correction unit, 6-0 and 6-1 are counters, 7-0 and 7-, respectively.
Reference numeral 1 is a counter register, and 8-0 and 8-1 are addition / subtraction units. Where 6-0, 7-0, 8-0
Indicates each part for the class “0”, and 6-1, 7-1, 8
-1 indicates each part for the class "1". 9-0 is a top register for class "0", 9-1 is a top register for class "1", 10-0 is a bottom register for class "0", 10-1 is a bottom register for class "1". It is Regis A. Further, 11 is an enqueue register, which has a queue unit 11-0 and a class unit 11-1.
In the enqueue register 11, a processing request source (not shown) outputs a processing request and writes it in the processing request. Note that the processing request source outputs only one request at a time. In this example, the class "1" is high level (H) and the class "0" is low level (L).

〔作用〕[Action]

本発明の動作を、第1図(B)にもとづいて説明す
る。第1図(B)では〜に示す如く、17のケースに
ついてその動作を図示しているが、説明簡略のため、代
表的な数例について説明する。
The operation of the present invention will be described with reference to FIG. In FIG. 1 (B), the operation is illustrated for 17 cases as shown by to, but for simplification of the description, representative several examples will be described.

クラス1に対するエンキュー処理(H側のカウンタ
が“0"でないとき) ステージ0は空サイクルである。例えばプライオリテ
ィ・チェンジの場合、3ステージを要するので、ハード
ウェアの簡素化のため空サイクルが用意されている。ス
テージ1において、キューメモリ1をライトモードに設
定し、アドレス・レジスタ3にH側の即ちクラス“1"の
ボトム・レジスタ10−1の番号を記入し、そのキューメ
モリ1のポインタ部1−0をエンキュー・レジスタ11の
キュー部11−0に記入されている番号(エンキュー番
号)を記入し、バリッド部1−1にバリッドVと同じR
を記入し、クラス部1−3にHを記入し、カウンタ6−
1を+1する。そしてH側のボトム・レジスタ10−1に
この到着した、前記キュー部11−0に記入された番号を
記入する。ステージ2では、キューメモリ1を同じくラ
イトモードに設定し、アドレス・レジスタ3に前記エン
キュー番号をセットし、キューメモリ1の該当ワード部
分のポインタ部1−0をNill処理し、バリッド部1−1
にバリッドVを示すRを記入し、クラス部1−3にHを
記入する。
Enqueue processing for class 1 (when the counter on the H side is not "0") Stage 0 is an empty cycle. For example, in the case of priority change, since three stages are required, an empty cycle is prepared for simplifying the hardware. In the stage 1, the queue memory 1 is set to the write mode, the number of the bottom register 10-1 on the H side, that is, the class "1" is written in the address register 3, and the pointer portion 1-0 of the queue memory 1 is entered. Enter the number (enqueue number) entered in the queue section 11-0 of the enqueue register 11 and enter the same R as valid V in the valid section 1-1.
, H in class section 1-3, and counter 6-
Increment 1 by 1. Then, the number entered in the queue section 11-0, which has arrived, is entered in the bottom register 10-1 on the H side. In the stage 2, the queue memory 1 is also set to the write mode, the enqueue number is set in the address register 3, the pointer portion 1-0 of the corresponding word portion of the queue memory 1 is Nill processed, and the valid portion 1-1.
Enter R indicating valid V and H in class part 1-3.

クラス1に対するエンキュー処理(H側のカウンタ
が“0"のとき) ステージ0は空サイクルである。ステージ1ではH側
のボトム・レジスタ10−1に記入されたデータをアドレ
ス・レジスタ3にセットするが、キューメモリ1をアク
セスする必要はない。またカウンタ6−1は+1制御
し、H側のトップ・レジスタ9−1にはエンキュー・レ
ジスタ11のキュー部11−0に記入されているエンキュー
番号とバリッドビットR、クラスを示すHを記入し、H
側のボトム・レジスタ10−1にもこのエンキュー番号を
記入する。そしてステージ2では、キューメモリ1をラ
イトモードにし、アドレス・レジスタ3に前記エンキュ
ー番号をセットし、キューメモリ1の該当ワードのポイ
ンタ部1−0をNill処理し、バリッド部1−1にバリッ
ドを記入し、クラス部1−3にHを記入する。
Enqueue processing for class 1 (when the H side counter is "0") Stage 0 is an empty cycle. In stage 1, the data written in the bottom register 10-1 on the H side is set in the address register 3, but it is not necessary to access the queue memory 1. The counter 6-1 controls +1, and the enqueue number, the valid bit R, and H indicating the class are entered in the queue section 11-0 of the enqueue register 11 in the H side top register 9-1. , H
Write this enqueue number also in the bottom register 10-1 on the side. Then, in stage 2, the queue memory 1 is set to the write mode, the enqueue number is set in the address register 3, the pointer portion 1-0 of the corresponding word in the queue memory 1 is Nill processed, and the valid portion 1-1 is validated. Fill in and fill in H in class section 1-3.

クラス1に対するデキュー処理(H側のカウンタが
2以上のとき)ステージ0で、H側のトップ・レジスタ
9−1に記入された番号をアドレス・レジスタ3にセッ
トし、キューメモリ1をリードモードにしてデータを読
み出す。ステージ1ではキューメモリ1をライトモード
にし、アドレス・レジスタ3にはステージ0と同じくト
ップ・レジスタ9−1に記入された番号をセットする。
そしてそのポインタ部1−0をNill処理し、バリッド部
1−1、クラス部1−3をそれぞれゼロ記入する。そし
てカウンタ6−1を−1し、またH側のトップ・レジス
タ9−1にステージ0で読み出したポインタ部1−0よ
り得る次番号及びバリッドビット、クラス1(H)をそ
れぞれ記入する。ステージ2は空サイクルである。
Dequeuing processing for class 1 (when the counter on the H side is 2 or more) At stage 0, the number written in the top register 9-1 on the H side is set in the address register 3, and the queue memory 1 is set to the read mode. To read the data. In the stage 1, the queue memory 1 is set in the write mode, and the address register 3 is set to the number written in the top register 9-1 as in the stage 0.
Then, the pointer portion 1-0 is Nill-processed, and the valid portion 1-1 and the class portion 1-3 are zero-filled. Then, the counter 6-1 is decremented by 1, and the next number and the valid bit and class 1 (H) obtained from the pointer unit 1-0 read at the stage 0 are written in the H side top register 9-1. Stage 2 is an empty cycle.

クラス1に対するデキュー処理(H側のカウンタが
1のとき) ステージ0は前記と同様である、ステージ1は、キ
ューメモリ1及びカウンター6−1に対しての処理は、
前記と同様であるが、トップ・レジスタ9−1にはNi
ll処理をし、バリッドビットと、クラスにはそれぞれ0
を記入する。そして、ボトム・レジスタ10−1にもNill
処理を行う。ステージ2は、前記と同じく空ステージ
である。
Dequeue process for class 1 (when counter on H side is 1) Stage 0 is the same as above. Stage 1 processes queue memory 1 and counter 6-1 as follows.
Same as above, but the top register 9-1 contains Ni
ll processing, 0 for each valid bit and class
Fill in. And the bottom register 10-1 also has Nill
Perform processing. Stage 2 is an empty stage as described above.

テスト処理 ステージ0で、アドレス・レジスタ3にテストすべき
リクエスト番号を記入し、キューメモリ1をリードモー
ドにする。これによりバリッドビットが出力されればテ
スト成功である。なおステージ1と2は空ステージであ
る。
Test processing In stage 0, the request number to be tested is written in the address register 3 and the queue memory 1 is set to the read mode. If the valid bit is output by this, the test is successful. The stages 1 and 2 are empty stages.

次に、プライオリティ変更制御について、、に
対し説明する。
Next, the priority change control will be described.

プライオリティの変更は、クラス1のトップからボト
ム、クラス1のトップからクラス0のボトム、クラス0
のトップからボトムの3つの場合に対して、それぞれの
カウンタの状態に対応して、クラス1側のカウンタが2
以上の場合と1の場合、クラス0側のカウンタが1以上
の場合と0の場合がある。以下前記3つの例について代
表的なものを説明する。
The priority can be changed from the top of class 1 to the bottom, the top of class 1 to the bottom of class 0, class 0.
For the three cases from top to bottom of the class, the counter on the class 1 side corresponds to 2 depending on the state of each counter.
There are cases where the counter on the class 0 side is 1 or more, and cases where it is 0. Representative examples of the above three examples will be described below.

プライオリティの変更(クラス1のトップからボト
ムに変更、カウンタが2以上のとき) ステージ0でアドレス・レジスタ3にH側のトップ・
レジスタ9−1の番号をセットし、キューメモリ1をリ
ードモードにしてそのポインタ部1−0を読み出す。ス
テージ1でアドレス・レジスタ3にH側のボトム・レジ
スタ10−1の番号をセットし、キューメモリ1をライト
モードにし、そのポインタ部1−0に前記H側のトップ
・レジスタ9−1の番号を記入し、バリッド部1−1に
バリッドRを記入し、クラス部1−3にHを記入する。
そしてH側のトップ・レジスタ9−1に前記ステージ0
でキューメモリ1のポインタ部1−0より読み出した番
号(RQD)と、バリッドR、クラスHを記入し、H側の
ボトム・レジスタ10−1にそれまでトップ・レジスタ9
−1に記入されていた番号を記入する。ステージ2で、
アドレス・レジスタ3にH側のボトム・レジスタ10−1
に新しく記入した番号をセットし、キューメモリをライ
トモードにし、そのポインタ部1−0をNill処理し、バ
リッド部1−1にバリッドRを記入し、クラス部1−3
にHを記入する。
Priority change (change from top to bottom of class 1 and counter is 2 or more) At stage 0, add address register 3 to the top of H side
The number of the register 9-1 is set, the queue memory 1 is set to the read mode, and the pointer portion 1-0 is read. At the stage 1, the number of the bottom register 10-1 on the H side is set in the address register 3, the queue memory 1 is set to the write mode, and the number of the top register 9-1 on the H side is set in the pointer section 1-0. , The valid section 1-1, the valid section R, and the class section 1-3, the H section.
Then, the stage 0 is added to the top register 9-1 on the H side.
Enter the number (RQD) read from the pointer section 1-0 of the queue memory 1 and the valid R and class H in the bottom register 10-1 on the H side until that time.
Enter the number written in -1. On stage 2,
Address register 3 has bottom register 10-1 on the H side.
The newly entered number is set to, the queue memory is set to the write mode, the pointer portion 1-0 is Nill processed, the valid portion 1-1 is filled with the valid R, and the class portion 1-3.
Enter H in.

プライオリティの変更(クラス1のトップからクラ
ス0のボトムに変更、H側のカウンタが2以上でL側の
カウンタが1以上のとき) ステージ0でアドレス・レジスタ3にH側のトップ・
レジスタ9−1の番号をセットし、キューメモリ1をリ
ードモードにし、そのポインタ部1−0を読み出し、ま
たH側のカウンタ6−1を−1する。ステージ1でL側
のボトム・レジスタ10−0の番号をセットし、キューメ
モリ1をライト・モードにし、そのポインタ部1−0に
H側のトップ・レジスタ9−1の番号を記入し、バリッ
ド部1−1にバリッドRを記入し、クラス部1−3にL
を記入する。そしてL側のカウンタ6−0を+1する。
そしてL側のボトム・レジスタ10−0にH側のトップ・
レジスタ9−1の番号をセットし、H側のトップ・レジ
スタ9−1に、ステージ0でポインタ部1−0より読み
出した番号とバリッドRとクラスHを記入する。ステー
ジ2では、新しくL側のボトム・レジスタ10−0にセッ
トされた番号をアドレス・レジスタ3にセットし、キュ
ーメモリ1をライトモードにし、該当ワードのポインタ
部1−0をNill処理し、バリッド部1−1にバリッドR
を記入し、クラス部1−3にHを記入する。
Change priority (when the top of class 1 is changed to the bottom of class 0, the counter on the H side is 2 or more and the counter on the L side is 1 or more)
The number of the register 9-1 is set, the queue memory 1 is set to the read mode, the pointer portion 1-0 thereof is read, and the counter 6-1 on the H side is decremented by -1. At the stage 1, the number of the bottom register 10-0 on the L side is set, the queue memory 1 is set to the write mode, the number of the top register 9-1 on the H side is written in the pointer section 1-0 thereof, and the valid number is set. Enter the valid R in Part 1-1 and L in Class Part 1-3
Fill in. Then, the counter 6-0 on the L side is incremented by 1.
The bottom register 10-0 on the L side is connected to the top register on the H side.
The number of the register 9-1 is set, and the number read from the pointer unit 1-0 at stage 0, the valid R and the class H are written in the top register 9-1 on the H side. In stage 2, the number newly set in the bottom register 10-0 on the L side is set in the address register 3, the queue memory 1 is set to the write mode, the pointer part 1-0 of the corresponding word is Nill processed, and the valid Valid R in part 1-1
And H in class section 1-3.

プライオリティの変更(クラス0のトップからクラ
ス0のボトムに変更、L側のカウンタが2以上のとき) ステージ0ではアドレス・レジスタ3にL側のトップ
・レジスタ9−0の番号をセットし、キューメモリ1を
リードモードにし、そのポインタ部1−0を読み出す。
ステージ1ではアドレス・レジスタ3にL側のボトム・
レジスタ10−0の番号をセットし、キューメモリ1をラ
イトモードにし、該当ワードのポインタ部1−0にL側
のトップ・レジスタの番号を記入し、バリッド部1−1
にバリッドRを記入し、クラス部1−3にLを記入す
る。また、L側のボトム・レジスタ10−0にはL側のト
ップ・レジスタ9−0の番号をセットし、L側のトップ
・レジスタ9−0にはステージ0でポインタ部1−0よ
り読み出した番号を記入する。ステージ2では、アドレ
ス・レジスタ3に新しくL側のボトム・レジスタ10−0
に記入した番号をセットし、キューメモリ1をライトモ
ードにし、そのポインタ部1−0をNill処理し、バリッ
ド部1−1にバリッドRを記入し、クラス部1−3にL
を記入する。
Change priority (change from top of class 0 to bottom of class 0, when counter on L side is 2 or more) At stage 0, set number of top register 9-0 on L side to address register 3 and queue The memory 1 is set to the read mode, and the pointer section 1-0 is read.
In stage 1, the bottom of the address register 3 on the L side
The number of the register 10-0 is set, the queue memory 1 is set to the write mode, the number of the top register on the L side is written in the pointer section 1-0 of the relevant word, and the valid section 1-1.
Fill in the valid R and L in the class section 1-3. Further, the number of the top register 9-0 on the L side is set in the bottom register 10-0 on the L side, and the top register 9-0 on the L side is read from the pointer unit 1-0 at stage 0. Enter the number. In stage 2, the bottom register 10-0 on the L side is newly added to the address register 3.
Set the number entered in the queue memory 1, set the queue memory 1 to the write mode, Nill-process the pointer portion 1-0, write valid R in the valid portion 1-1, and L in the class portion 1-3.
Fill in.

なお、キューメモリ1にデータを記入するときは、EC
C発生部4によりECCを作成してこれをECC部1−2に記
入するものであり、キューメモリ1からデータを読み出
すときは、ECC部1−2に記入されたデータにもとづき
チェック訂正部5によりエラーの有無と、1ビットエラ
ーの場合はその訂正を行うものであるが、これらのこと
は周知の手法であり、説明簡略のため省略した。
When entering data in the cue memory 1, use EC
The C generation unit 4 creates an ECC and writes it in the ECC unit 1-2. When reading data from the queue memory 1, the check correction unit 5 is based on the data written in the ECC unit 1-2. Therefore, the presence or absence of an error and the correction in the case of a 1-bit error are corrected. However, these are well-known methods and are omitted for simplification of description.

〔実施例〕〔Example〕

第1図(A)は、優先度のクラスが“0"(L)と“1"
(H)の2つの場合の実施例構成を示している。
In FIG. 1 (A), the priority classes are "0" (L) and "1".
The configuration of the embodiment in the two cases of (H) is shown.

一般に優先度のクラスがn+1ある場合の構成を、第
2図に示す。第2図において第1図(A)と同記号は同
一部分を示す。
In general, FIG. 2 shows the configuration when there are n + 1 priority classes. In FIG. 2, the same symbols as in FIG. 1 (A) indicate the same parts.

この場合は、第1図(A)に比べて各クラス毎にトッ
プ・レジスタ9−0、9−1…9−nとボトム・レジス
タ10−0、10−1…10−nが設けられる外に、各クラス
毎にカウンタ6−0、6−1…6−nが用意され、各ク
ラス毎のキュー数がわかる。
In this case, as compared with FIG. 1 (A), top registers 9-0, 9-1 ... 9-n and bottom registers 10-0, 10-1 ... 10-n are provided for each class. , Counters 6-0, 6-1 ... 6-n are prepared for each class, and the number of queues for each class is known.

なお、第2図の動作については、第1図の場合と、略
同様であるので、説明簡略化のため省略する。
The operation of FIG. 2 is substantially the same as that of FIG.

また上記各制御は、図示省略した制御部により行われ
るものであるが、構成の簡略化のため省略する。
Further, each control described above is performed by a control unit (not shown), but is omitted for simplification of the configuration.

本発明はチャネル制御装置等で有効であるが勿論これ
のみに限定されるものではない。
The present invention is effective in a channel control device and the like, but is not limited to this.

〔発明の効果〕〔The invention's effect〕

本発明によれば、複数の優先度クラスを持つ処理要求
元からの処理要求を1つのキューメモリで完全FIFOのも
とに管理することが可能になり、キューメモリの利用効
率を向上させ、全体を小型にすることができ、コスト低
下をはかることが可能となる。
According to the present invention, it is possible to manage a processing request from a processing request source having a plurality of priority classes under a complete FIFO in one queue memory, improve the utilization efficiency of the queue memory, and Can be made smaller and the cost can be reduced.

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

第1図は優先度が2つの場合の実施例、 第2図は優先度が3以上の場合の実施例、 第3図は従来のキューメモリ、 第4図は第3図の動作説明図、 第5図は複数の優先度に対応したキューメモリ説明図で
ある。 1……キューメモリ 2……書込みレジスタ 3……アドレス・レジスタ 4……ECC発生部 5……チェック訂正部 6−0、6−1……カウンタ 9−0、9−1……トップ・レジスタ 10−0、10−1……ボトム・レジスタ 11……エンキュー・レジスタ
FIG. 1 shows an embodiment with two priorities, FIG. 2 shows an embodiment with three or more priorities, FIG. 3 shows a conventional queue memory, and FIG. 4 is an operation explanatory diagram of FIG. FIG. 5 is an explanatory diagram of a queue memory corresponding to a plurality of priorities. 1 ... Queue memory 2 ... Write register 3 ... Address register 4 ... ECC generation unit 5 ... Check correction unit 6-0, 6-1 ... Counter 9-0, 9-1 ... Top register 10-0, 10-1 ... bottom register 11 ... enqueue register

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の処理要求元からの処理要求を保持す
るとともに次に処理すべき処理要求番号が記入されるポ
インタ部を有するキューメモリを具備し、処理要求を順
次処理するキュー制御メモリ回路において、 優先度の異なる処理要求を保持するキューメモリと、 各優先度毎に、次に処理すべきキューメモリのアドレス
番号であるトップ番号を保持するトップ番号保持手段
と、 最新の処理要求番号が記入されたキューメモリのアドレ
ス番号であるボトム番号を保持するボトム番号保持手段
を設けたことを特徴とするキュー制御メモリ回路。
1. A queue control memory circuit which holds a processing request from a plurality of processing request sources and has a queue section having a pointer portion in which a processing request number to be processed next is written, and which sequentially processes the processing requests. In the above, the queue memory that holds processing requests with different priorities, the top number holding means that holds the top number that is the address number of the queue memory to be processed next for each priority, and the latest processing request number A queue control memory circuit characterized by comprising bottom number holding means for holding a bottom number which is the written address number of the queue memory.
JP2264244A 1990-10-02 1990-10-02 Queue control memory circuit Expired - Fee Related JP2564699B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2264244A JP2564699B2 (en) 1990-10-02 1990-10-02 Queue control memory circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2264244A JP2564699B2 (en) 1990-10-02 1990-10-02 Queue control memory circuit

Publications (2)

Publication Number Publication Date
JPH04140845A JPH04140845A (en) 1992-05-14
JP2564699B2 true JP2564699B2 (en) 1996-12-18

Family

ID=17400489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2264244A Expired - Fee Related JP2564699B2 (en) 1990-10-02 1990-10-02 Queue control memory circuit

Country Status (1)

Country Link
JP (1) JP2564699B2 (en)

Also Published As

Publication number Publication date
JPH04140845A (en) 1992-05-14

Similar Documents

Publication Publication Date Title
US4130867A (en) Database instruction apparatus for determining a database record type
US4354232A (en) Cache memory command buffer circuit
JP2021174506A (en) Microprocessor with pipeline control for executing instruction in preset future time
US5027330A (en) FIFO memory arrangement including a memory location fill indication
US4024508A (en) Database instruction find serial
US6728797B2 (en) DMA controller
US20210373955A1 (en) Methods and systems for hardware-based memory resource allocation
CN112416256A (en) Data writing method and device and data reading method and device
US4592013A (en) Method and device for addressing a memory
US8392636B2 (en) Virtual multiple instance extended finite state machines with wait rooms and/or wait queues
EP0619547A1 (en) A method of requesting data and apparatus therefor
EP2437159A1 (en) Operation apparatus and control method thereof
JP2564699B2 (en) Queue control memory circuit
US9804959B2 (en) In-flight packet processing
US5983266A (en) Control method for message communication in network supporting software emulated modules and hardware implemented modules
US7185122B2 (en) Device and method for controlling data transfer
EP0187713B1 (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4785414A (en) Computer system with automatic range checking and conversion of data words
US7240144B2 (en) Arbitration of data transfer requests
CN110825658B (en) Flash memory controller and method
US20050027906A1 (en) System and method for adaptive buffer allocation in a memory device interface
US6654819B1 (en) External direct memory access processor interface to centralized transaction processor
US6625678B1 (en) Livelock avoidance method
US5842003A (en) Auxiliary message arbitrator for digital message transfer system in network of hardware modules
US4598361A (en) Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees