JPS63826B2 - - Google Patents

Info

Publication number
JPS63826B2
JPS63826B2 JP53051758A JP5175878A JPS63826B2 JP S63826 B2 JPS63826 B2 JP S63826B2 JP 53051758 A JP53051758 A JP 53051758A JP 5175878 A JP5175878 A JP 5175878A JP S63826 B2 JPS63826 B2 JP S63826B2
Authority
JP
Japan
Prior art keywords
queue
queue element
subsystem
storage area
output
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
Application number
JP53051758A
Other languages
Japanese (ja)
Other versions
JPS54143035A (en
Inventor
Yutaka Katsumata
Yukio Izeki
Mitsuru Sanagi
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 JP5175878A priority Critical patent/JPS54143035A/en
Publication of JPS54143035A publication Critical patent/JPS54143035A/en
Publication of JPS63826B2 publication Critical patent/JPS63826B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】 本発明はサブシステム間の通信にキユーを用い
るサブシステム間通信方式において、キユーのオ
ーバフロー状態の検出やキユーの利用可能状態の
検出を効率的に行うようにしたキユー・オーバフ
ロー処理方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention is an inter-subsystem communication system that uses queues for communication between subsystems, and provides a queue system that efficiently detects the overflow state of queues and the availability state of queues. This relates to an overflow processing method.

サブシステム間の通信を論理的に高いレベルの
コマンド/応答で行うこと、サブシステム間の通
信に伴う割込みを最小限に低減すること等の目的
で、キユーを用いてサブシステム間の通信を行う
ことは、例えば特開昭53−23534号公報によつて
既に提案されている。この既に提案されたサブシ
ステム間通信方式においては、例えばホスト・サ
ブシステムとI/Oサブシステム間で通信を行う
場合、ホスト・サブシステムはコマンド内容とコ
マンドのプライオリテイを指示できるキユー・エ
レメントをキユーにエンキユーし、I/Oサブシ
ステムは、自己の現在実行中のタスクのプライオ
リテイが通知プライオリテイより低い場合に限つ
て、キユー内におけるキユー・エレメントを一括
デキユーする。上記のようなサブシステム間通信
方式の問題点は、キユーのオーバフロー状態の検
出やキユー再利用可能状態の検出を如何にして効
率的に行うかということである。
Communication between subsystems is performed using queues for the purpose of communicating between subsystems using logically high-level commands/responses and minimizing interruptions associated with communication between subsystems. This has already been proposed, for example, in Japanese Unexamined Patent Publication No. 53-23534. In this inter-subsystem communication method that has already been proposed, for example, when communicating between a host subsystem and an I/O subsystem, the host subsystem uses a queue element that can indicate command content and command priority. The I/O subsystem enqueues queue elements in the queue in batches only if the priority of its currently executing task is lower than the notification priority. The problem with the inter-subsystem communication method described above is how to efficiently detect a queue overflow state and a queue reusable state.

本発明は、上記の考察に基づくものであつて、
キユーを利用するサブシステム間通信方式におい
て、キユー・オーバフロー状態やキユー利用可能
状態を簡単な論理で検出し、効率的なキユー・オ
ーバフロー処理を行い得るようになつたキユー・
オーバフロー処理方式を提供することを目的とし
ている。そしてそのため、本発明のオーバフロー
処理方式は、 通知元サブシステムが可変長のキユー・エレメ
ントを出力キユー・エレメント格納領域にエンキ
ユーし、通知先サブシステムが上記出力キユー・
エレメント格納領域から可変長のキユー・エレメ
ントをデキユーすることによつて、サブシステム
間の通信を行うサブシステム間通信方式におい
て、 上記通知元サブシステムの指示に基づいて可変
長のキユー・エレメントを出力キユー・エレメン
ト格納領域にエンキユーしようとする時、当該キ
ユー・エレメントの大きさと出力キユー・エレメ
ント格納領域の余白域の大きさを比較し、出力キ
ユー・エレメント格納領域の余白域の大きさが当
該キユー・エレメントの大きさ以上である場合に
は、当該キユー・エレメントを出力キユー・エレ
メント格納領域に格納し、当該キユー・エレメン
トの大きさの方が出力キユー・エレメント格納領
域の余白域の大きさより大なる場合には、上記通
知元サブシステム側のプロセツサに対してオーバ
フロー割込みを起し、 オーバフロー割込み発生後、出力キユー・エレ
メント格納領域の余白域の大きさが増大した場合
には、通知元サブシステム側のプロセツサに対し
てキユー利用可能割込みを起こす ことを特徴とするものである。以下、本発明を図
面を参照しつつ説明する。
The present invention is based on the above considerations, and includes:
In inter-subsystem communication systems that use queues, queue overflow states and queue availability states can now be detected using simple logic and efficient queue overflow processing can be performed.
The purpose is to provide an overflow handling method. Therefore, in the overflow processing method of the present invention, the notification source subsystem enqueues a variable-length queue element into the output queue element storage area, and the notification destination subsystem enqueues the output queue element.
In an inter-subsystem communication method that communicates between subsystems by dequeuing variable-length queue elements from the element storage area, variable-length queue elements are output based on instructions from the notification source subsystem. When attempting to enqueue to the queue element storage area, the size of the queue element is compared with the size of the margin area of the output queue element storage area, and the size of the margin area of the output queue element storage area is compared to the size of the margin area of the output queue element storage area. - If the size is larger than the element size, store the relevant queue element in the output queue element storage area, and make sure that the size of the relevant queue element is larger than the margin area of the output queue element storage area. If this occurs, an overflow interrupt is generated for the processor on the notification source subsystem side, and if the size of the margin area of the output queue element storage area increases after the overflow interrupt occurs, the notification source subsystem This feature is characterized by causing a queue availability interrupt to the side processor. Hereinafter, the present invention will be explained with reference to the drawings.

第1図は本発明が適用されるキユーを用いるサ
ブシテステム間通信方式の概要を示すものであつ
て、AとBはサブシステム、Q1とQ2は出力キユ
ー、SSCBはキユー・エレメント、QSRはキユ
ー・ステータス・レジスタ、はオーバフロー割
込み、はキユー利用可能割込みをそれぞれ示し
ている。出力キユーQ1は出力キユー・エレメン
ト格納領域の中にある。出力キユーQ2も同様で
ある。例えばサブシステムAからサブシステムB
へ処理要求を通知する場合、サブシステムAはエ
ンキユー命令を発行して要求を示すキユー・エレ
メントSSCBを出力キユーQ1にエンキユーし、サ
ブシステムBは適当な機会に出力キユーQ1内の
キユー・エレメントSSCBをデキユーする。サブ
システムBは、サブシステムAからのキユー・エ
レメントSSCBで指示された処理を完了した後、
エンキユー命令を発行して出力キユーQ2に応答
のキユー・エレメントSSCBをエンキユーし、サ
ブシステムAは適当な機会に出力キユーQ2の応
答のキユー・エレメントSSCBをデキユーする。
Figure 1 shows an overview of the inter-subsystem communication system using queues to which the present invention is applied, where A and B are subsystems, Q1 and Q2 are output queues, SSCB is a queue element, and QSR is a The queue status register indicates an overflow interrupt and indicates a queue available interrupt. Output queue Q1 is in the output queue element storage area. The same applies to output queue Q2 . For example, from subsystem A to subsystem B
Subsystem A issues an enqueue instruction to enqueue the queue element SSCB indicating the request to output queue Q 1 , and subsystem B takes an appropriate opportunity to post the queue element SSCB in output queue Q 1 . Decue element SSCB. After subsystem B completes the processing instructed by queue element SSCB from subsystem A,
Subsystem A issues an enqueue instruction to enqueue response queue element SSCB to output queue Q 2 , and subsystem A dequeues response queue element SSCB of output queue Q 2 at an appropriate opportunity.

エンキユー命令を実行した結果、キユー・オー
バフロー例外が発生すると、出力キユーQ1又は
Q2はオーバフロー状態となる。このオーバフロ
ー状態に対して通常の状態をノーマル状態とよ
ぶ。
If a queue overflow exception occurs as a result of executing an enqueue instruction, the output queue Q 1 or
Q 2 becomes an overflow condition. A state normal to this overflow state is called a normal state.

第2図は出力キユーの状態遷移図であつて、
QOVFIはキユー・オーバフロー割込み、QAIは
キユー利用可能割込みを示している。オーバフロ
ー状態からノーマル状態への復帰動作は次のよう
にして行われる。キユー・オーバフロー状態とな
つた出力キユーは、その後、出力キユー中の余白
域が増加した時にキユー利用可能割込みをエンキ
ユー発行側サブシステムのプロセツサ(図示せ
ず)に要求し、この要求が受付けられたならば、
キユー・オーバフロー状態を解除する。出力キユ
ーがオーバフロー状態にあるときに、他のタスク
によつて再度エンキユー命令が発行された場合に
は、そのエンキユー命令がキユー・オーバフロー
例外を発生しないものであつても、出力キユーは
オーバフロー状態を保持する。キユー・エレメン
トSSCBは可変長であるので、或るタスクによつ
てエンキユー命令が発行されたときにオーバフロ
ー例外を発生しても、他のタスクによつてエンキ
ユー命令が発行された時には、当該エンキユー命
令で作成されたキユー・エレメントを出力キユー
が収容できる場合もあり得る。出力キユーの状態
は、キユー・ステータス・レジスタQSRに収容
される。
FIG. 2 is a state transition diagram of the output queue,
QOVFI indicates queue overflow interrupt and QAI indicates queue available interrupt. The operation of returning from the overflow state to the normal state is performed as follows. The output queue that has entered the queue overflow state subsequently requests a queue available interrupt from the processor (not shown) of the enqueue issuing subsystem when the blank space in the output queue increases, and this request is accepted. If so,
Clears queue overflow condition. If another task issues an enqueue instruction while the output queue is in the overflow state, the output queue will be in the overflow state even if the enqueue instruction does not generate a queue overflow exception. Hold. Since the queue element SSCB has a variable length, even if an overflow exception occurs when an enqueue instruction is issued by a certain task, the enqueue instruction will not be processed when another task issues the enqueue instruction. It is possible that the output queue can accommodate queue elements created by . The status of the output queue is contained in the queue status register QSR.

キユー利用可能割込みは、エンキユー側サブシ
ステム内における割込みマスクのかかつていない
プロセツサの内でプライオリテイの最も小さいタ
スクを実行しているプロセツサに対して行われ
る。上記のプロセツサが複数個存在する場合に
は、その内のいずれか1つのプロセツサに対して
割込みを要求する。
Queue-available interrupts are directed to the processor executing the lowest priority task among the processors in the enqueuing subsystem that have never had an interrupt mask. If a plurality of the above processors exist, an interrupt is requested to any one of them.

第3図はキユー・オーバフロー割込み及びキユ
ー利用可能割込みの処理方法を説明するものであ
る。第3図において、T1,T2,T3……はタスク
を示している。なお、この例は、サブシステムA
と交信するサブシステムBが複数個存在する場合
の例である。第3図ハに示すように、出力キユー
Q1,Q2,……,Qnのそれぞれに対応してソフト
ウエア・キユーである利用可能割込み待ちキユー
が設置される。利用可能割込み待ちキユーはOS
に割り当てられたメモリ領域の中に存在する。
FIG. 3 illustrates how queue overflow interrupts and queue available interrupts are handled. In FIG. 3, T 1 , T 2 , T 3 . . . indicate tasks. Note that in this example, subsystem A
This is an example where there are a plurality of subsystems B that communicate with each other. As shown in Figure 3C, the output queue
An available interrupt queue, which is a software queue, is set up corresponding to each of Q 1 , Q 2 , . . . , Qn. Available interrupt wait queue is OS
It exists in the memory area allocated to .

キユー・オーバフロー例外が発生すると、エン
キユー命令を発行したプロセツサは、利用可能割
込み待ちキユーを操作するためのプログラム・ル
ーチンにロツクをかけ、他のプロセツサの介入を
排除する。そして、RDQS命令(Read Queue
Status命令)で出力キユーの状態を調べ、キユ
ー・オーバフロー状態にあることを確認し、タス
クの待ち処理を行う。タスクは、キユー・オーバ
フロー例外を発生した出力キユーに対応した利用
可能割込待ちキユーにつながれることは当然であ
る。タスクの待ち処理が終了すると、ロツクを解
き、デイスパツチヤに制御を渡す。デイスパツチ
ヤは、実行待ちキユーに繋がれているタスクの中
から優先順位に従つて1個のタスクを選択し、そ
のタスクに計算機使用権を渡す。
When a queue overflow exception occurs, the processor that issued the enqueue instruction locks program routines for manipulating available interrupt queues, precluding intervention by other processors. Then, the RDQS instruction (Read Queue
Check the status of the output queue using the Status command), confirm that the queue is in a queue overflow state, and perform task wait processing. Of course, the task is tied to the available interrupt queue corresponding to the output queue that caused the queue overflow exception. When the task wait processing is completed, the lock is released and control is passed to the dispatcher. The dispatcher selects one task according to the priority order from among the tasks connected to the execution queue and gives the right to use the computer to that task.

キユー利用可能割込みが発生したならば、第3
図ロに示すように、割込みがかけられたプロセツ
サは、利用可能割込み待ちキユーを操作するため
のプログラム・ルーチンにロツクをかけ、その出
力キユーに対応する利用可能割込み待ちキユーの
中の全てのタスクを解放してリスタートさせる。
リスタート処理とは、利用可能割込待ちキユーに
繋がれているタスクを実行待ちキユーにつなぐこ
とを意味している。実行待ちキユーはOSに割り
当てられたメモリ領域の中に存在する。タスクの
リスタート処理が終了すると、ロツクを解き、デ
イスパツチヤに制御を渡す。第3図イにおいて、
キユー・オーバフロー例外を出力キユーの状態に
よりチエツクしているが、これは微妙なタイミン
グ差によつて永久にリスタートされないタスクが
発生することを防止するために行われるものであ
る。例えば、プロセツサP1で実行されるタスク
T5のキユー・エレメントを出力キユーQ1に繋ご
うとした時にキユー・オーバフロー割込みが発生
したとすると、キユー・オーバフロー割込みがプ
ロセツサP1にかけられる。プロセツサP1はロツ
ク命令を発行し、他のプロセツサが利用可能割込
待ちキユーを操作しないようにする。キユー・オ
ーバフロー例外が発生してからロツクをかける迄
の間において、出力キユーQ1のキユー・エレメ
ントがデキユーされて出力キユーQ1余白域が増
大すると、例えばプロセツサP2に対してキユー
利用可能割込みがかけられる。キユー利用可能割
込みがかけられると、利用可能割込待ちキユーに
つながれているタスク(例えばT1,T2,T3)は
実行待ちキユーに繋がれる。デイスパツチヤは、
実行待ちキユーに繋がれているタスクの中から優
先順位に従つて1個のタスクを選択し、そのタス
クに計算機使用権を渡す。出力キユーQ1の状態
を調べることなく、タスクT5を利用可能割込待
ちキユーに繋ぐと、タスタT5が永久に実行され
ないと言う事態も発生する。
If a queue available interrupt occurs, the third
As shown in Figure 2, the interrupted processor locks the program routine for manipulating the available interrupt queue and executes all tasks in the available interrupt queue that correspond to the output queue. Release and restart.
Restart processing means connecting a task that is queued to an available interrupt queue to an execution queue. Execution queues exist in the memory area allocated to the OS. When the task restart processing is completed, the lock is released and control is passed to the dispatcher. In Figure 3 A,
Queue overflow exceptions are checked based on the status of the output queue, but this is done to prevent the occurrence of tasks that cannot be restarted forever due to subtle timing differences. For example, a task executed on processor P 1
If a queue overflow interrupt occurs when attempting to connect the queue element of T5 to output queue Q1 , a queue overflow interrupt is applied to processor P1 . Processor P1 issues a lock instruction to prevent other processors from manipulating the available interrupt queue. If the queue elements of output queue Q 1 are dequeued and the output queue Q 1 margin area increases between the time a queue overflow exception occurs and the lock is applied, for example, a queue available interrupt is sent to processor P 2 . is applied. When a queue-available interrupt is issued, the tasks (eg, T 1 , T 2 , T 3 ) that are queued to the queue-available interrupt are queued to the queue waiting-to-be-executed. Dispatchiya is
One task is selected according to priority from among the tasks connected to the execution queue, and the right to use the computer is given to that task. If task T 5 is connected to the available interrupt waiting queue without checking the status of output queue Q 1 , a situation may occur in which task T 5 will not be executed forever.

第4図は本発明のハードウエア構成の1実施例
を示すものであつて、10はメモリ、11と12
は出力キユー・エレメント格納領域、20はプロ
セツサ、21は優先順位指示レジスタ、22は割
込みマスク、30はサブシステム間通信制御装
置、31はプライオリテイ制御回路、32と33
はキユー・アクセス制御回路、34と36は余白
域指示レジスタ、35と37はキユー・ステータ
ス・レジスタ、40はメモリ、50はプロセツ
サ、60はサブシステム間通信制御装置、61は
プライオリテイ制御回路、70はインタフエイス
をそれぞれ示している。なお、出力キユー・エレ
メント格納領域11,12はそれぞれ第1図のキ
ユーQ1,Q2を格納するものであり、キユーステ
ータス・レジスタ35はキユー・ステータス・レ
ジスタQSRに対応するものである。サブシステ
ム間通信制御装置30は、マイクロプロセツサ制
御方式のチヤネル装置、プライオリテイ制御回路
31、キユー・アクセス制御装置32と33を具
備すると共に、優先順位指示レジスタ21の内容
を読取る機能、割込みをかける機能等も有してい
る。サブシステム間通信制御装置60はサブシス
テム間通信制御装置30と同じ機能を有してい
る。
FIG. 4 shows an embodiment of the hardware configuration of the present invention, in which 10 is a memory, 11 and 12
is an output queue element storage area, 20 is a processor, 21 is a priority instruction register, 22 is an interrupt mask, 30 is an inter-subsystem communication control device, 31 is a priority control circuit, 32 and 33
is a queue access control circuit, 34 and 36 are blank area instruction registers, 35 and 37 are queue status registers, 40 is a memory, 50 is a processor, 60 is an inter-subsystem communication control device, 61 is a priority control circuit, Reference numeral 70 indicates an interface. The output queue element storage areas 11 and 12 are for storing the queues Q 1 and Q 2 shown in FIG. 1, respectively, and the queue status register 35 corresponds to the queue status register QSR. The inter-subsystem communication control device 30 includes a microprocessor-controlled channel device, a priority control circuit 31, queue access control devices 32 and 33, and also has a function of reading the contents of the priority instruction register 21 and an interrupt function. It also has functions such as hanging. The inter-subsystem communication control device 60 has the same functions as the inter-subsystem communication control device 30.

以下、第4図のシステムの動作について説明す
るが、出力キユー・エレメント格納領域11に関
して行われる動作と出力キユー・エレメント格納
領域12に関して行われる動作は同じであるの
で、出力キユー・エレメント格納領域11に関す
る動作のみを説明する。
The operation of the system shown in FIG. 4 will be described below. Since the operations performed regarding the output queue element storage area 11 and the operations performed regarding the output queue element storage area 12 are the same, Only the related operations will be explained.

サブシステムAのプロセツサ20がエンキユー
命令を発行すると、プロセツサ20はキユー・エ
レメントSSCBをエンキユー命令のパラメータに
従つて作成し、これをサブシステム間通信制御装
置30に転送する。サブシステム間通信制御装置
30は、このキユー・エレメントSSCBを出力キ
ユー・エレメント格納領域11にエンキユーする
ように、キユー・アクセス制御回路32に依頼す
る。キユー・アクセス制御回路32は、余白域指
示レジスタ34の内容とそのキユー・エレメント
の長さとを比較し、前者が後者より大きいか又は
等しい場合には、キユー・エレメントSSCBを出
力キユー・エレメント格納領域11にエンキユー
し、余白域指示レジスタ34の内容をキユー・エ
レメント長だけ減ずる。そして、サブシステム間
通信制御装置30は、エンキユー命令を終了させ
る。前者が後者より小さい場合には、1ビツトか
ら成るキユー・ステータス・レジスタ35を論理
「1」とし、オーバフローを表示する。そして、
サブシステム間通信制御装置30は、このエンキ
ユー命令を発行したプロセツサ20に対して、演
算例外の一種としてオーバフロー割込みを発生さ
せるように要求し、動作を終了する。
When the processor 20 of subsystem A issues an enqueue command, the processor 20 creates a queue element SSCB according to the parameters of the enqueue command and transfers it to the intersubsystem communication control device 30. The inter-subsystem communication control device 30 requests the queue access control circuit 32 to enqueue this queue element SSCB to the output queue element storage area 11. The queue access control circuit 32 compares the content of the margin area instruction register 34 with the length of the queue element, and if the former is greater than or equal to the latter, outputs the queue element SSCB and stores it in the queue element storage area. 11, and the contents of the margin area instruction register 34 are decreased by the queue element length. The inter-subsystem communication control device 30 then terminates the enqueue command. If the former is smaller than the latter, the queue status register 35 consisting of one bit is set to logic "1" to indicate an overflow. and,
The inter-subsystem communication control device 30 requests the processor 20 that issued the enqueue instruction to generate an overflow interrupt as a type of operation exception, and ends the operation.

プロセツサ50がデキユー命令を発行すると、
プロセツサ50はデキユー命令のパラメータをサ
ブシステム間通信制御装置60に渡す。サブシス
テム間通信制御装置60は、このパラメータをイ
ンタフエイス70を介してサブシステム間通信制
御装置30に送る。サブシステム間通信制御装置
30は、このパラメータをキユー・アクセス制御
回路32に渡してこれを駆動する。キユー・アク
セス制御回路32は、出力キユー・エレメント格
納領域11からパラメータで指定された量のキユ
ー・エレメントSSCBをデキユーし、デキユーし
た内容をインタフエイス70を経由してサブシス
テム間通信制御装置60に送る。サブシステム間
通信制御装置60は、送られて来たキユー・エレ
メントSSCBをパラメータで指定されるメモリ4
0内の領域に転送し、命令を終了させる。キユ
ー・アクセス制御回路32は、指定された量のキ
ユー・エレメントSSCBをデキユーする途中でキ
ユー11が空になつたならば、パラメータで指定
された量に達しなくても、デキユー動作を終了す
る。また、キユー・アクセス制御回路32は、キ
ユー・ステータス・レジスタ35の内容が論理
「0」であるか否かを調べ、これが論理「0」で
あつたならば、動作を終了する。もし、論理
「1」であつたならば、プライオリテイ制御回路
31を駆動する。キユー11からキユー・エレメ
ントSSCBがデキユーされる度に、余白域指示レ
ジスタ34の内容は増大する。プライオリテイ制
御回路31は、優先順位指示レジスタ21と割込
みマスク22を調べ、割込みマスクがかかつてお
らず且つ最も低いプライオリテイを表示している
プロセツサ20を探し、このプロセツサ20に対
して利用可能割込みを要求する。優先順位指示レ
ジスタ21は、プロセツサ20が実行しているタ
スクのプライオリテイを表示するものである。キ
ユー利用可能割込み要求を発した後、サブシステ
ム間通信制御装置30はキユー・テスータス・レ
ジスタ35の内容を論理「0」にセツトし、動作
を終了する。
When the processor 50 issues a dequeue instruction,
Processor 50 passes the parameters of the dequeue instruction to intersubsystem communication control device 60. The inter-subsystem communication control device 60 sends this parameter to the inter-subsystem communication control device 30 via the interface 70. The inter-subsystem communication control device 30 passes this parameter to the queue access control circuit 32 to drive it. The queue access control circuit 32 dequeues the amount of queue elements SSCB specified by the parameters from the output queue element storage area 11 and sends the dequeued contents to the inter-subsystem communication control device 60 via the interface 70. send. The inter-subsystem communication control device 60 stores the sent queue element SSCB in the memory 4 specified by the parameter.
Transfer to the area within 0 and terminate the instruction. If the queue 11 becomes empty while dequeuing a specified amount of queue elements SSCB, the queue access control circuit 32 ends the dequeue operation even if the amount specified by the parameter is not reached. The queue access control circuit 32 also checks whether the contents of the queue status register 35 are logic "0" or not, and if it is logic "0", ends the operation. If the logic is "1", the priority control circuit 31 is driven. Each time queue element SSCB is dequeued from queue 11, the contents of blank area indication register 34 increase. The priority control circuit 31 examines the priority instruction register 21 and the interrupt mask 22, searches for a processor 20 whose interrupt mask has never been used and is displaying the lowest priority, and assigns available interrupts to this processor 20. request. The priority order register 21 indicates the priority of the task being executed by the processor 20. After issuing the queue available interrupt request, intersubsystem communication controller 30 sets the contents of queue status register 35 to logic ``0'' and terminates the operation.

以上の説明から明らかなように、本発明によれ
ば、キユー・オーバフロー状態およびキユー再利
用可能状態を簡単な論理で以つて検出しているの
で、効率的で且つ実用性に富みキユー・オーバフ
ロー処理方式を提供することが出来る。とくに、
本発明はキユー・エレメントが可変長である場合
に有効である。
As is clear from the above description, according to the present invention, the queue overflow state and the queue reusable state are detected using simple logic, so queue overflow processing is efficient and practical. method can be provided. especially,
The present invention is effective when the queue elements have variable lengths.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明が適用されるキユーを用いるサ
ブシステム間通信方式の概要を示す図、第2図は
出力キユーの状態遷移図、第3図はキユー・オー
バフロー割込み及びキユー利用可能割込みの処理
方法を説明する図、第4図は本発明のハードウエ
ア構成の1実施例を示す図である。 AとB……サブシステム、Q1とQ2……出力キ
ユー、SSCB……キユー・エレメント、QSR……
キユー・ステータス・レジスタ、10……メモ
リ、11と12……出力キユー・エレメント格納
領域、20……プロセツサ、21……優先順位指
示レジスタ、22……割込みマスク、30……サ
ブシステム間通信制御装置、31……プライオリ
テイ制御回路、32と33……キユー・アクセス
制御回路、34と36……余白域指示レジスタ、
35と37……キユー・ステータス、レジスタ、
40……メモリ、50……プロセツサ、60……
サブシステム間通信制御装置、61……プライオ
リテイ制御回路、70……インタフエイス。
Fig. 1 is a diagram showing an overview of the inter-subsystem communication method using queues to which the present invention is applied, Fig. 2 is a state transition diagram of the output queue, and Fig. 3 is processing of queue overflow interrupts and queue available interrupts. FIG. 4, which is a diagram for explaining the method, is a diagram showing one embodiment of the hardware configuration of the present invention. A and B...subsystem, Q 1 and Q 2 ...output queue, SSCB...queue element, QSR...
Queue status register, 10...Memory, 11 and 12...Output queue element storage area, 20...Processor, 21...Priority instruction register, 22...Interrupt mask, 30...Intersubsystem communication control device, 31...priority control circuit, 32 and 33...queue access control circuit, 34 and 36...margin area instruction register;
35 and 37...queue status, register,
40...Memory, 50...Processor, 60...
Inter-subsystem communication control device, 61...priority control circuit, 70...interface.

Claims (1)

【特許請求の範囲】 1 通知元サブシステムが可変長のキユー・エレ
メントを出力キユー・エレメント格納領域にエン
キユーし、通知先サブシステムが上記出力キユ
ー・エレメント格納領域から可変長のキユー・エ
レメントをデキユーすることによつて、サブシス
テム間の通信を行うサブシステム間通信方式にお
いて、 上記通知元サブシステムの指示に基づいて可変
長のキユー・エレメントを出力キユー・エレメン
ト格納領域にエンキユーしようとする時、当該キ
ユー・エレメントの大きさと出力キユー・エレメ
ント格納領域の余白域の大きさを比較し、出力キ
ユー・エレメント格納領域の余白域の大きさが当
該キユー・エレメントの大きさ以上である場合に
は、当該キユー・エレメントを出力キユー・エレ
メント格納領域に格納し、当該キユー・エレメン
トの大きさの方が出力キユー・エレメント格納領
域の余白域の大きさより大なる場合には、上記通
知元サブシステム側のプロセツサに対してオーバ
フロー割込みを起し、 オーバフロー割込み発生後、出力キユー・エレ
メント格納領域の余白域の大きさが増大した場合
には、通知元サブシステム側のプロセツサに対し
てキユー利用可能割込みを起こす ことを特徴とするキユー・オーバフロー処理方
式。
[Claims] 1. A notification source subsystem enqueues a variable length queue element into an output queue element storage area, and a notification destination subsystem dequeues a variable length queue element from the output queue element storage area. In the inter-subsystem communication method that performs communication between subsystems, when attempting to enqueue a variable length queue element to the output queue element storage area based on the instructions from the notification source subsystem, Compare the size of the relevant queue element with the size of the margin area of the output queue element storage area, and if the size of the margin area of the output queue element storage area is greater than or equal to the size of the relevant queue element, If the relevant queue element is stored in the output queue element storage area and the size of the relevant queue element is larger than the margin area of the output queue element storage area, the notification source subsystem Causes an overflow interrupt to the processor, and if the size of the margin area of the output queue element storage area increases after the overflow interrupt occurs, causes a queue available interrupt to the processor on the notification source subsystem side. A queue overflow processing method characterized by:
JP5175878A 1978-04-28 1978-04-28 Queue overflow processing system Granted JPS54143035A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5175878A JPS54143035A (en) 1978-04-28 1978-04-28 Queue overflow processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5175878A JPS54143035A (en) 1978-04-28 1978-04-28 Queue overflow processing system

Publications (2)

Publication Number Publication Date
JPS54143035A JPS54143035A (en) 1979-11-07
JPS63826B2 true JPS63826B2 (en) 1988-01-08

Family

ID=12895834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5175878A Granted JPS54143035A (en) 1978-04-28 1978-04-28 Queue overflow processing system

Country Status (1)

Country Link
JP (1) JPS54143035A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960631A (en) * 1982-09-30 1984-04-06 Fujitsu Ltd System for controlling data transfer
JPH023818A (en) * 1988-06-16 1990-01-09 Nec Corp Information retrieval device for magnetic tape file

Also Published As

Publication number Publication date
JPS54143035A (en) 1979-11-07

Similar Documents

Publication Publication Date Title
US5469571A (en) Operating system architecture using multiple priority light weight kernel task based interrupt handling
KR950002713B1 (en) Communications adapter
US5274823A (en) Interrupt handling serialization for process level programming
US5940866A (en) Information handling system having a local address queue for local storage of command blocks transferred from a host processing side
US5701495A (en) Scalable system interrupt structure for a multi-processing system
US5968143A (en) Information handling system for transfer of command blocks to a local processing side without local processor intervention
US5875343A (en) Employing request queues and completion queues between main processors and I/O processors wherein a main processor is interrupted when a certain number of completion messages are present in its completion queue
US5010482A (en) Multi-event mechanism for queuing happened events for a large data processing system
EP1503292B1 (en) DMA controller with bus occupation time limitation and sets of DMA parameters for a plurality of logical processors
US6553487B1 (en) Device and method for performing high-speed low overhead context switch
US5892968A (en) Multimedia data transferring method
JPS5841538B2 (en) Multiprocessor system instructions
US5911065A (en) System and method for providing cooperative interrupts in a preemptive task scheduling environment
KR970016979A (en) Queuing system and method of tasks in a multiprocessing system
US5507032A (en) Multiprocessor I/O request control system forming device drive queue and processor interrupt queue from rows and cells of I/O request table and interrupt request table
JPS63826B2 (en)
JPS6115260A (en) Data processor
JPS59188749A (en) System for controlling data transfer
JPH03257634A (en) Method and device for parallelly processing program
JP3265582B2 (en) Microcomputer
JPS6223895B2 (en)
JPS6149270A (en) Input/output control system of multiprocessor
JPH07111711B2 (en) Processing end interrupt control system
JPH04279957A (en) Inter-processor communication method
JPH02302849A (en) Asynchronous memory setting control system