JPS6242238A - 待ち行列記憶装置 - Google Patents

待ち行列記憶装置

Info

Publication number
JPS6242238A
JPS6242238A JP18233985A JP18233985A JPS6242238A JP S6242238 A JPS6242238 A JP S6242238A JP 18233985 A JP18233985 A JP 18233985A JP 18233985 A JP18233985 A JP 18233985A JP S6242238 A JPS6242238 A JP S6242238A
Authority
JP
Japan
Prior art keywords
queue
address
priority
storage
register
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
Application number
JP18233985A
Other languages
English (en)
Inventor
Susumu Shibazaki
進 柴崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP18233985A priority Critical patent/JPS6242238A/ja
Publication of JPS6242238A publication Critical patent/JPS6242238A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し、特に待ち行列の処理に関
する。
〔従来の技術〕
従来、情報処理システムにおける待ち行列は、主記憶の
特定アドレスに存在する待ち行列先頭ポインタにより指
示された待ち行列の要素が次の待ち行列要素を指示する
、いわゆる連鎖リスト構造により実現されていた。この
場合、待ち行列の要素は連鎖ポインタ、優先順位および
各種データから構成され、待ち行列が空の場合の待ち行
列先頭ポインタまたは空でない場合の待ち行列の最後の
要素の連鎖ポインタには「0」等の特別な値を格納して
次の要素が存在しないことを表示していた。
以上の待ち行列で最も一般的に行なわれている優先順位
に従ったFIFOで操作する方法を述べる。まず、待ち
行列に新たな要素を加える(エンキューする)場合には
、待ち行列先頭ポインタから逐次要素をたどり、エンキ
ューすべき要素(Aとする)の優先順位より低い優先順
位を持つ要素(Yとする)を見つけた場合、見つけた要
素Yと、それを指示している1つ前の要素または待ち行
列先頭ポインタ(Xとする)において、待ち行列先頭ポ
インタXの連鎖ポインタまたは待ち行列先頭ポインタX
に要素人のアドレスを、要素Aの連鎖ポインタに要素Y
のアドレスを格納することによって、要素Aを待ち行列
先頭ポインタXと要素Yの間にエンキューし、見つから
ないまま1次の要素が存在しなくなった場合、1つ前の
要素家たは待ち行列先頭ポインタ(Zとする)において
、Zの連鎖ポインタまたは待ち行列先頭ポインタZに要
素Aのアドレスを格納することによって要素Aを待ち行
列先頭ポインタZの次にエンキューしていた。また、待
ち行列から要素を取り除く(デキューする)には、待ち
行列先頭ポインタが指示している要素(Bとする)にお
いて、待ち行列先頭ポインタに要素Bの11鎖アドレス
のデータを格納することにより、要素Bをデキューして
いた。
〔発明が解決しようとする問題点〕
丘述した従来の方式では、待ち行列に要素をエンキュー
する毎に多量の主記憶の読出しアクセスを必要とする。
今、待ち行列の全要素数をe、待ち行列の優先順位数を
pとし、各優先順位に属する要素数が一様であると仮定
し、そこへ、優先順位の分布確率が一様な要素をエンキ
ューする場合を考えると、1回のエンキューにおける平
均主記憶読出しアクセス回数石は次の(1)式で求めら
れる。
” ” ((1+e e ’ +1)+−+−L(1+
6 m土+l)+−p        p      
    p        p+−(1+6・−)) 
       ・・・・・・(1)P       P 第1項目はエンキューしようとした要素の優先順位がi
である確率−とその時の主記憶読出しアクセス回数(1
+6*−+l)の積であり、主記憶読出しアクセス回数
(1+e・−+りとは、待ち行列先頭ポインタの読出し
、優先順位がi以下である全要素の読出し、および優先
順位がi+1以下の要素のうち先頭の1つの読出しの総
和である。(1)式は次のように変形できる。
(2)式によれば優先順位数pが大きくなり、第2項が
無視できたとしても、1回のエンキューで(2+ 7 
)回、つまり全要素数eの半分以上の主記憶の読出しア
クセスを行なうため、処理実行には非常に長詩間を要し
てしまう、さらに、待ち行列は連続アドレスに整列して
いないために通常のキャッシュを有するシステムでは、
1回のエンキューで(2+T)回もの要素をアクセスし
てしまうため、通常のキャッシュの有効なエントリを置
換してしまい、ひいてはシステム全体の性能低下を招い
ていた。
〔問題点を解決するためのf段〕
本発明の待ち行列記憶装置は、 主記憶上に連鎖ポインタ、優先順位および他の必要なデ
ータを一組とした要素の連鎖リストによる待ち行列を有
する情報処理装置において、前記待ち行列に属する要素
の優先順位毎に、該優先順位を有する要素のうち最後の
要素のアドレスと連鎖ポインタのデータと該優先順位を
有する要素の数および前記待ち行列の先頭要素のアドレ
スを記憶する記憶手段と、 前記待ち行列に対する操作がエンキューなのかデキュー
なのかを表示する表示手段と、前記待ち行列に対する操
作を行なう要素の優先順位を保持する保持手段と、 前記保持手段に保持された優先順位と前記表示手段の内
容から前記記憶手段のアドレス情報を作成するアドレス
手段と、 前記表示手段と前記アドレス手段によって指示された前
記記憶手段の内容から前記記憶手段内の要素数を演算す
る演算手段と、 前記表示手段と前記アドレス手段により前記記憶手段の
内容を読出す読出し手段と、 前記表示手段と前記アドレス手段と前記演算手段と前記
保持手段と前記読出し手段により、主記憶上の待ち行列
にエンキューあるいはデキューの操作を行なうのに必要
な情報を前記記憶手段に形成する更新手段を有する。
このように、待ち行列の各優先順位毎の最終要素のアド
レス、連鎖アドレス、要素数を記憶する記憶手段を備え
、待ち行列へ要素をニジキューする場合にはその要素の
優先順位に該当する記憶手段をアクセスすることにより
、従来のような多数回の主記憶への読出しアクセスを不
要とし、待ち行列の操作に要する処理時間が飛躍的に短
縮される。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明の待ち行列記憶装置の一実施例を有する
情報処理装置のブロック図である。
この情報処理装置は、中央処理装置1と、待ち行列記憶
装置2と、連鎖ポインタ、優先順位および他の必要なデ
ータを一組とした要素の連鎖リストによる待ち行列を記
憶した主記憶3とから構成されている。
中央処理装置1は、ワークレジスタ11と、アドレスレ
ジスタ12と、データレジスタ13と、これらを制御す
る制御部10とから構成されている。
待ち行列記憶装置2は、待ち行列に属する要素の優先順
位毎に、アドレスエリア21O1連鎖アドレスエリア2
11、要素数エリア212に該優先順位を有する要素の
うち最後の要素のアドレスと連鎖ポインタのデータと該
優先順位を有する要素の数をそれぞれ記憶し、初期状態
で該待ち行列の先頭要素のアドレスをアドレスエリア2
10に記憶する記憶装置(キャッシュメモリ)21と、
待ち行列に対する操作を行なう要素の優先順位を保持す
る優先順位レジスタ22と、優先順位レジスタ22に保
持された優先順位から記憶装置21のアドレス情報を作
成するメモリアドレスレジスタ23およびアドレス演算
器24と、待ち行列に対する操作が要素の追加(エンキ
ュー)なのか要素の取り除き(デキュー)なのかを表示
する、つまり前者の場合。
論理rlJが、後者の場合、論理「O」がセットされる
モードフラグ25と、モードフラグ25とメモリアドレ
スレジスタ23によって指示された記憶袋ff121の
内容から記憶装置21内の要素数を演算する要素数滴算
器2Bと、モードフラグ25とメモリアドレスレジスタ
23と要素数滴算器26により、記憶装置21の内容を
読出し、主記憶3上の待ち行列にエンキューあるいはデ
キューを行なうのに必要な情報を記憶装置21に形成す
る制御回路20とから構成されている。
記憶袋!21の1エントリはアドレスエリア210と連
鎖アドレスエリア211と要素数エリア212からなり
、全体で(優先順位数+1)個のエントリからなる0本
実施例では、説明の簡単化のため、優先順位は0、■、
2.3の4個としたので、記憶装置21は、5個のエン
トリから構成される。また、アドレスレジスタ12、優
先順位レジスタ22、メモリアドレスレジスタ23、デ
ータレジスタ13は2バイト、ワークレジスタ11は4
バイト幅とする。   ′ 次に1本実施例における待ち行列記憶装置2の動作を第
2図〜第4図を用いて説明する。
第2図〜第4図は、記憶装置21のデータの内容および
主記憶3内の待ち行列の要素の連鎖アドレスの値のみを
示しており、左側4桁の数字がアドレス、他の数字がデ
ータを意味する0例えば初期状態を示す第2図(a)で
は、記憶袋321のデータはアドレスr 0OOOJか
らr 0004Jまで同じで、アドレスエリア210に
は待ち行列先頭ポインタのアドレスr0100Jが、連
鎖アドレスエリア211 と要素数エリア212には全
てrOJが、主記憶3のro100J番地にはr 0O
QOJがそれぞれ格納されている。なお、第2図(a)
、第3図(d)、第4図(a)以外では新しく更新され
た部分のデータのみ記入されている。また、主記憶3の
待ち行列の要素は連鎖アドレスのみ図示されているが、
実際には、優先順位および各種データ等が附随している
(1)エンキュー動作 第2図(a)に要素をエンキューする動作を説明する0
例として主記憶3の2000番地に準備された要素を優
先順位r0001Jでエンキューする場合を考える。
第1に、中央処理装fJlの制御1部lOがデータレジ
スタ13へのデータ格納後、制御回路20へ指示し、制
御回路20はモードフラグ25に論理rlJを、優先順
位レジスタ22に優先順位r0001Jをセットする0
次に、制御部IOが待ち行列の読出し指示を行うと、制
御回路20は主記憶3へのアクセスは行なわずに優先順
位レジスタ22の内容をメモリアドレスレジスタ23に
格納し、モードフラグ25の論理rlJ信号に応答して
、メモリアドレスレジスタ23の内容をアドレス演算器
24によりl加算した値r 0002Jを再びメモリア
ドレスレジスタ23へ格納し、これにより記憶装置12
1のアドレスr 0002Jのデータのうち、アドレス
エリア210と連鎖アドレスエリア211のデータr0
100Jr 0OOOJ をワークレジスタ11に読出
す。
第2に、制御部10は、アドレスレジスタ12にエンキ
ューすべき要素のアドレスr 2000Jを格納し、デ
ータレジスタ13にワークレジスタ11のamアドレス
エリア111のデータr 0OOOJを格納し、制御回
路20へ書込みを指示する。制御回路20はモードフラ
グ25の論理rlJと上記書込み指示に応答して、メモ
リアドレスレジスタ23で指示された記憶装2i21の
r 0002J番地のアドレスエリア210にアドレス
レジスタ12の値r 2000Jを格納し、連鎖アドレ
スエリア211にデータレジスタ13の値r 0OOO
Jを格納すると共に、要素数エリア212の値「00」
をモードフラグ25の論理rllに応答した要素数滴算
器26でrlJ加算した値「Ol」に更新する。制御回
路20はこの時の主記憶3のr 2000J番地にもデ
ータレジスタ13の値r 0OOOJを書込む(第2図
(b) ) 。
第3に、制御回路20は、メモリアドレスレジスタ23
の値をアドレス演算器24でrlJ加算した値r 00
03Jで更新した後、メモリアドレスレジスタ23で示
される記憶装置121の要素数エリア212が「00」
でなくなるか、メモリアドレスレジスタ23が記憶装置
21の最大アドレスroo04Jを越えるまで、r 0
O02J番地と同じデータを記憶装置21に格納し、メ
モリアドレスレジスタ23をアドレス演算器24でrl
J加算しつづける。ただし、この場合、要素数エリア2
12および主記憶3は更新しない(第2図(C) ) 
第4に、制御部lOは、ワークレジスタ11に格納され
ている更新前の記憶装置21のrOQO2J番地のデー
タのうちアドレスエリア110の値ro100Jをアド
レスレジスタ12に、エンキューすべき要素のアドレス
r 2000Jをデータレジスタ13に格納後、制御回
路20へ2度目の書込み指示を行なう、制御回路20は
、この2度目の書込み指示に応答し、保持していた優先
順位レジスタ22の値roo01Jをそのままメモリア
ドレスレジスタ23へ格納し、記憶装置21のr000
1J0001Jレスエリア210にアドレスレジスタ1
2の値ro100Jを、i!l鎖アドアドレスエリア2
11−タレジスタ13の値r2000Jを格納し、さら
に主記憶3のro100J番地にもデータレジスタ13
の偵r2000Jを潜込む0次に、制御回路20は、メ
モリアドレスレジスタ23で指示される記憶装置21の
要素数エリア212が「00」でなくなるか、メモリア
ドレスレジスタ23が記憶装置21の最小アドレスr 
0000」未満となるまで0001番地と同じデータを
格納し、メモリアドレスレジスタ23を「l」減算しつ
づける。ただし、この場合、要素数エリア212と、主
記憶3は更新しない(第2図(d) ) 。
以上の4段階をへて、主記憶3には1つの要素を持つ待
ち行列が形成され、記憶装置21にも待ち行列にエンキ
ューを行なうのに必要な情報が形成されている(第3図
(a) ) 。
次に、主記憶3の2080番地に準備された要素を優先
順位r 0003Jでエンキューする。この場合、要素
のアドレスと優先順位が変った点と、第2図(C)に対
応する動作が省略される点景外は全く同じ動作で第31
ffl(a)、 (b)、 (c) 、第4図(a)の
ようになる。
(2)デキュー動作 第4図(a)から要素をデキューする動作を説明する。
第1に、中央処理装置lの制御部10が制御回路20に
対しモードフラグ25を「0」にする指示を出し、アド
レスレジスタ12に待ち行列先頭ポインタのアト°レス
roloOJを格納後、読出しを指示する。制御回路2
0は、この指示とモードフラグ25の論理「0」に応答
して主記憶3のr0100J0100J 2000Jを
ワークレジスタ11のアドレスエリア110に読出す。
第2に、制御部10はワークレジスタ11のアドレスエ
リア110の値r 2000Jをアドレスレジスタ12
に格納して制御回路20に読出しを指示する。読出し指
示は上記tQ 3へ送られ、主記憶3のr 2000J
番地の要素の連鎖アドレスr 2080Jと優先順位「
00旧」 (図示せず)がワークレジスタ11に読出さ
れる。続いて、ワークレジスタll内の優先順位の値r
 0QOIJを優先順位レジスタ22に格納すると、制
御回路20はその値をメモリアドレスレジスタ23に移
送後、モードフラグ25の論理「0」に応答してアドレ
ス演算器24により1加算した値r 00Q2Jをメモ
リアドレスレジスタ23に格納後、r 0(102J番
地の要素数エリア213の値roIJをモードフラグ2
5の論理rOJに応答して要素数エリア26により「1
」減算した値「00」で更新する。(第4図(b)) 第3に、制御部10は優先順位レジスタ22に定数r 
0OOOJ を格納し、アドレスレジスタ12には待ち
行列先頭ポインタのアドレスro100Jを、データレ
ジスタ13にはワークレジスタll内の連鎖アドレスの
値r 2080Jを格納して書込み指示を行ない。
制御回路20は、記憶装置21のr 0OOOJ番地に
データレジスタ13の値r 2Q80Jを書込むと共に
、主記憶3のroloQJ #地にもデータレジスタ1
3ノ値r 2080Jを書込む、(第4図(C))第4
に、制御部1i20はrooox4番地以後の記憶装置
21の要素数エリア212が「oO」でないエントリに
なるか、メモリアドレスレジスタ23が記憶装置21の
最大アドレスを越すまで、アドレス演算器24によりメ
モリアドレスレジスタ23を1ずつ加算して記憶装置2
1にr 0OOOJ番地と同じデータを格納する。ただ
し、この場合、要素数エリア212 と主記憶3は更新
しない、(第4図(d))以上の4段階をへて主記憶3
の待ち行列から1つの要素が取り除かれ、記憶装置21
には待ち行列にエンキューを行なう際に必要な情報が形
成されている。
上記説明では基本的な3つのケースの動作を述べたが、
他のケースの動作も、記憶装置21内に主記憶3上の待
ち行列のエンキューのための情報が正しく反映させるこ
とを理解すれば、容易に類推できる。
〔発明の効果〕
以上説明したように本発明は、待ち行列の各優先順位毎
の最終要素のアドレス、連鎖アドレス、要素数を記憶す
る記憶手段をfljjえ、待ち行列へ要素をエンキュー
する場合にはその要素の優先順位に該当する記憶手段を
アクセスすることにより、従来のような多数回の主記憶
への読出しアクセスを不要とし、待ち行列の操作に要す
る処理時間を飛躍的に短縮できるどう効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図(
a)〜第4図(d)は第1図の実施例における記憶装置
21と主記憶3における待ち行列のデータ構造を示す図
である。 l・・・中央処理装置、 lo・・・制御部、11・・
・ワークレジスタ、12・・・アドレスレジスタ。 13・・・データレジスタ、2・・・待ち行列記憶装置
、21・・・記憶装置(キャッシュメモリ)、22・・
・優先順位レジスタ、 23・・・メモリアドレスレジスタ、 24・・・アドレス演算器、26・・・要素数滴算器、
25・・・モードフラグ、  3°°°主記憶・110
、210・・・アドレスエリア、111、211・・・
連鎖アドレスエリア、212・・・要素数エリア。

Claims (1)

  1. 【特許請求の範囲】 主記憶上に連鎖ポインタ、優先順位および他の必要なデ
    ータを一組とした要素の連鎖リストによる待ち行列を有
    する情報処理装置において、前記待ち行列に属する要素
    の優先順位毎に、該優先順位を有する要素のうち最後の
    要素のアドレスと連鎖ポインタのデータと該優先順位を
    有する要素の数および前記待ち行列の先頭要素のアドレ
    スを記憶する記憶手段と、 前記待ち行列に対する操作がエンキューなのかデキュー
    なのかを表示する表示手段と、 前記待ち行列に対する操作を行なう要素の優先順位を保
    持する保持手段と、 前記保持手段に保持された優先順位と前記表示手段の内
    容から前記記憶手段のアドレス情報を作成するアドレス
    手段と、 前記表示手段と前記アドレス手段によって指示された前
    記記憶手段の内容から前記記憶手段内の要素数を演算す
    る演算手段と、 前記表示手段と前記アドレス手段により前記記憶手段の
    内容を読出す読出し手段と、 前記表示手段と前記アドレス手段と前記演算手段と前記
    保持手段と前記読出し手段により、主記憶上の待ち行列
    にエンキューあるいはデキューの操作を行なうのに必要
    な情報を前記記憶手段に形成する更新手段を有する待ち
    行列記憶装置。
JP18233985A 1985-08-19 1985-08-19 待ち行列記憶装置 Pending JPS6242238A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18233985A JPS6242238A (ja) 1985-08-19 1985-08-19 待ち行列記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18233985A JPS6242238A (ja) 1985-08-19 1985-08-19 待ち行列記憶装置

Publications (1)

Publication Number Publication Date
JPS6242238A true JPS6242238A (ja) 1987-02-24

Family

ID=16116578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18233985A Pending JPS6242238A (ja) 1985-08-19 1985-08-19 待ち行列記憶装置

Country Status (1)

Country Link
JP (1) JPS6242238A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6436358A (en) * 1987-07-31 1989-02-07 Pfu Ltd Reception arbitration control system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56164449A (en) * 1980-04-14 1981-12-17 Sperry Rand Corp Scheduling mechanism ordered by dynamic rank
JPS5887634A (ja) * 1981-11-20 1983-05-25 Fujitsu Ltd 処理順序管理方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56164449A (en) * 1980-04-14 1981-12-17 Sperry Rand Corp Scheduling mechanism ordered by dynamic rank
JPS5887634A (ja) * 1981-11-20 1983-05-25 Fujitsu Ltd 処理順序管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6436358A (en) * 1987-07-31 1989-02-07 Pfu Ltd Reception arbitration control system

Similar Documents

Publication Publication Date Title
US6401155B1 (en) Interrupt/software-controlled thread processing
JPH09152988A (ja) 循環待ち行列作成者エンティティ
GB2361786A (en) Computer systems
JP2003501898A (ja) 複数のビデオストリームをそれぞれのビューアのセットに送るための共有制御回路を有するスケーラブルビデオシステム
US6212543B1 (en) Asymmetric write-only message queuing architecture
JPS6242238A (ja) 待ち行列記憶装置
JP2839530B2 (ja) メモリ割当て優先度の動的変更処理方式
JPS6349945A (ja) デ−タ処理装置のプロセス・ロ−ルイン方式
JP2735400B2 (ja) 非同期入出力制御方式
JPH0715623B2 (ja) ディスプレイ装置
JP2892819B2 (ja) フォントキャッシュ管理方式
JPH05100926A (ja) 入出力管理方式
JPH03196345A (ja) データ入出力方式
JPS63239521A (ja) 磁気テ−プ装置のデ−タ処理方式
JP3089642B2 (ja) プロセッサ間のデータ移送装置
JPS63137340A (ja) 表示装置
JPH08292906A (ja) 更新バッファ管理装置
JPH0314073A (ja) ベクトル処理方式
JPH02257282A (ja) 作表処理装置
JPS6282451A (ja) 待ち行列記憶装置
JPS63108448A (ja) 入出力要求制御方式
JPS6134643A (ja) バツフア制御方式
JPH0498577A (ja) 3次元分布データ管理方式
JPH06110773A (ja) メモリ制御装置
JPH01319828A (ja) データ処理装置