JPH01321525A - Hardware semaphore - Google Patents

Hardware semaphore

Info

Publication number
JPH01321525A
JPH01321525A JP15536688A JP15536688A JPH01321525A JP H01321525 A JPH01321525 A JP H01321525A JP 15536688 A JP15536688 A JP 15536688A JP 15536688 A JP15536688 A JP 15536688A JP H01321525 A JPH01321525 A JP H01321525A
Authority
JP
Japan
Prior art keywords
reset
pointer
processing units
array
processing
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.)
Granted
Application number
JP15536688A
Other languages
Japanese (ja)
Other versions
JPH0758468B2 (en
Inventor
Ryuichi Takahashi
隆一 高橋
Yasutoki Muraoka
村岡 泰釈
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 JP15536688A priority Critical patent/JPH0758468B2/en
Publication of JPH01321525A publication Critical patent/JPH01321525A/en
Publication of JPH0758468B2 publication Critical patent/JPH0758468B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To avoid such a case where the instructions for updating of different values are simultaneously given to one and the same memory element by provid ing an array of plural memory elements that can be set/reset and a pointer which can set/reset an optional one of these memory elements and controlling the pointer via each process unit. CONSTITUTION:An FF array 1 consists of (n) pieces of FF 11-1n. A reset pointer 2 gives alternately the setting instructions to each FF; while a reset pointer 3 gives alternatively the resetting instructions to each FF respectively. The set and reset timings are instructed to both pointers 2 and 3 via plural process units 41-4n. Both pointers 2 and 3 usually point the different FFs and the number of FFs having the contents '1' is coincident with the number of process units which are carrying out each corresponding job at that time point. Thus the control of parallel jobs is attained by sending the output 10 of the array 1 to a system.

Description

【発明の詳細な説明】 支度立夏 本発明はハードウェアセマフォに関し、特に互いに並列
動作を行う複数の処理ユニツ1〜からなる情報処理シス
テムにおいて、これ等処理ユニ・ノド相互間の並列動作
の管理を行うハードウェアセマフォに関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to hardware semaphores, and in particular, in an information processing system consisting of a plurality of processing units 1 to 1 that operate in parallel with each other, it is possible to manage parallel operations between these processing units. Regarding hardware semaphores.

従」りえ止 情報処理システムにおいて、例えば、複数の処理ユニッ
トが並列的に動作しており、これ等ユニットが同一のハ
ードウェア資源を共有使用しているような場合に、ある
特定の動作を同時に実行可能な処理ユニットの数に制限
があることがある。
In an information processing system, for example, when multiple processing units are operating in parallel and these units share the same hardware resources, it is possible to perform certain operations at the same time. There may be a limit to the number of processing units that can be executed.

かかる場合、この特定の動作を実行している処理ユニッ
トの数を把握しておき、実行中の処理ユニットの数が当
該制限数を越える場合には、以後の処理ユニットの当該
特定動作は待ちの状態とする必要がある.この様な例が
示すように、情報処理システムの設計においては、複数
の処理ユニットによる特定の動イ1:の並列実行状況を
、処理ユニ・ット相互間の並列動作の管理に用いる必要
が頻繁に生ずる。
In such a case, keep track of the number of processing units that are executing this specific operation, and if the number of processing units that are executing exceeds the limit, the subsequent specific operation of the processing unit will be delayed. It is necessary to set the state. As this example shows, when designing an information processing system, it is necessary to use the parallel execution status of a specific action 1: by multiple processing units to manage parallel actions among the processing units. Occurs frequently.

従来、これに利用可能な技術としては、ソフトウェアの
設51にお8−)る、並列プログラムの管理手段として
のセマフォ(Se+aaphora )があるが、これ
を直接ハードウェアによって実現した場合には、第2図
のような回路構成となる。
Conventionally, as a technology that can be used for this, there is a semaphore (Se + aaphora) as a means of managing parallel programs, which is installed in software. The circuit configuration is as shown in Figure 2.

第2図を参照すると、レジスタ5にインクリメンタ6及
びデイクリメンタ7を夫々1寸加し、互いに並列的に処
理動作する複数の処理ユニット41〜4 nからこれ等
インクリメンタ6及びデイクリメンタ7を人々制御する
構成となっている。
Referring to FIG. 2, an incrementer 6 and a decrementer 7 are added to the register 5 by one dimension each, and these incrementers 6 and decrementers 7 are controlled by a plurality of processing units 41 to 4n that perform processing operations in parallel with each other. It is configured to do this.

例えば、上述した如く、これ等複数の処理ユニットが、
使用数に制限のある共通の資源(メモリ装置等)上で並
列動作する場合、動作する処理ユニットがインクリメン
タ6を起動して、初期f/f。
For example, as mentioned above, these multiple processing units
When operating in parallel on a common resource (such as a memory device) that has a limited number of uses, the operating processing units start the incrementer 6 and set the initial f/f.

のレジスタ5の内容を+1し、また動作終了した処理ユ
ニットがデイクリメンタ7を起動して、レジスタ5の内
容を−1するように制御する。こうすることによって、
共通の資源を現在使用中の処理ユニット数がこのレジス
タ5の内容10により把Ill可能となり、よって、当
該資源の使用制限数を越える処理ユニットに対しては、
資源の使用を待機するように管理制御することも可能と
なる。
The processing unit that has completed its operation activates the decrementer 7 to control the content of the register 5 to be incremented by -1. By doing this,
The number of processing units currently using a common resource can be determined by the contents 10 of this register 5. Therefore, for processing units exceeding the usage limit of the resource,
It also becomes possible to perform management control such that resources are put on standby.

しかし、かかるソフトウェア′の設計における並列プロ
グラムの管理手段の直接的な実現では、同一のレジスタ
にインクリメンタとデイクリメンタとが付加されており
、よってインクリメントのための信号とディクリメント
のための18号とが、−部平なるように相前後して異な
る期間持続して到着する場合等の処理が複雑化するとと
もに、全体のハードウェア鳳ら増大するという欠点があ
る。
However, in the direct realization of parallel program management means in the design of such software, an incrementer and a decrementer are added to the same register, and therefore a signal for increment and a signal for decrement are used. However, there are disadvantages in that the processing becomes complicated when the signals arrive consecutively for different periods of time, and the overall hardware requirements increase.

九肌立旦追 そこで、本発明は上記R来のものの欠点を解決すべくな
されたものであり、その目的とするところは、制御が節
昨でかつ構成も簡単なハードウェアセマフォを提供する
ことにある。
SUMMARY OF THE INVENTION Therefore, the present invention has been made to solve the above-mentioned drawbacks of the previous R. It is in.

九肌立■風 本発明によれば、互いに並列動作を行う複数の処理ユニ
ットからなる情報処理システムにおいて、これ等処理ユ
ニット相互間の並列動作の管理を行うハードウェアセマ
フォであって、各々がセットリセット可能な複数の記憶
素子と、これ等記憶素子のセットを択一的に指定するセ
ットポインタ手段と、前記記憶素子のリセットを択一的
に指定するリセットポインタ手段とを含み、前記処理ユ
ニットの自己の処理動作の開始に応答して前記セットポ
インタ手段により指定されている記憶素子をセットし、
また前記処理ユニットの自己の処理動作の終了に応答し
て前記リセットポインタ手段により指定されている記憶
素子をリセットするようにし、前記記憶素子のセラトリ
セラj・内容により前記処理ユニット相互間の並列動作
の管理を行うようにしたことを特徴とするハードウェア
セマフォが得られる。
According to the present invention, in an information processing system consisting of a plurality of processing units that operate in parallel with each other, there is provided a hardware semaphore for managing parallel operations between these processing units, each of which has a set of The processing unit includes a plurality of resettable storage elements, set pointer means for alternatively specifying a set of these storage elements, and reset pointer means for alternatively specifying reset of the storage elements, setting a storage element designated by the set pointer means in response to the start of its own processing operation;
Further, in response to the completion of its own processing operation of the processing unit, the storage element specified by the reset pointer means is reset, and the parallel operation between the processing units is controlled by the contents of the storage element. A hardware semaphore characterized by being managed is obtained.

実施例 以下に図面を用いて本発明の詳細な説明する。Example The present invention will be described in detail below using the drawings.

第1図は本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the invention.

n個のFF(フリップフロップ)11〜1nからなるF
F配列1が設けられており、各FFを択一・的にセット
指示するセットポインタ2と各FFを択一的にリセット
指示するリセットポインタ3とがあり、これ等ポインタ
2及び3は複数の処理ユニット41〜4nによってセッ
ト、リセットタイミングが指示される。
F consisting of n FFs (flip-flops) 11 to 1n
An F array 1 is provided, and there are a set pointer 2 that selectively sets each FF, and a reset pointer 3 that selectively instructs to reset each FF. Set and reset timings are instructed by the processing units 41 to 4n.

これ等複数の処理ユニット41〜4nは、ある特定の動
作を同時に実行可能なユニット数に制限のある資源を共
有使用する並列動作可能なユニットである。各ユニット
は当該特定動作を開始する際にセットポインタ2が指示
しているFFをセット(1)するよう指令信号を生成す
る。このセットがなされると、セットポインタ2は直ち
に内容がリセット(0)状態の他のFFを次のセットの
ために指示することになる。
These plurality of processing units 41 to 4n are units capable of parallel operation that share and use resources in which the number of units that can simultaneously execute a specific operation is limited. Each unit generates a command signal to set (1) the FF pointed to by the set pointer 2 when starting the specific operation. When this set is made, the set pointer 2 immediately points to another FF whose contents are in the reset (0) state for the next set.

また、各ユニットは当該特定の動作を終了すると、リセ
ットポインタ3が指示しているFFをリセットするよう
指令信号を生成する。このリセットがなされると、リセ
ットポインタ3は次にリセットすべきFF、すなわち次
に当該特定の動作を終了する処理ユニットがセットした
F Fを指示する。
Further, when each unit finishes the specific operation, it generates a command signal to reset the FF pointed to by the reset pointer 3. When this reset is performed, the reset pointer 3 indicates the FF to be reset next, that is, the FF set by the processing unit that will next finish the specific operation.

両ポインタ2及び3は通常異なるFFを指示しており、
内容が1のFFの数は、その時点で当該特定の動作を行
なっている処理ユニットの数を表していることになるの
で、このFF配列1の出力10をシステムへ送出すれば
、並列動作の管理が可能となるのである。例えば、この
セットFFの数が例えば予め定められた値(例えば、共
通資源が同時に使用され得る処理ユニットの数)以下の
ときにセラ1〜ポインタ2が指示しているFFをセラ1
〜することにより、各処理ユニットは当該特定動作を開
始できるようになるのである。
Both pointers 2 and 3 usually point to different FFs,
The number of FFs whose content is 1 represents the number of processing units that are performing the specific operation at that time, so if the output 10 of this FF array 1 is sent to the system, it will be possible to perform parallel operations. Management becomes possible. For example, when the number of FFs in this set is less than or equal to a predetermined value (for example, the number of processing units that can use a common resource simultaneously), the FFs pointed to by cellar 1 to pointer 2 are transferred to cellar 1.
By doing so, each processing unit can start the specific operation.

特に全てのF T・”の内容がリセット(0)状態であ
れば、当該特定の動作を実行している処理ユニットは同
等存在しないことを意味する。このときに限り両ポイン
タ2及び3は同一のFFを指示することになるが、それ
以外の場合には両ポインタは同一のFFを指示すること
はないのである。
In particular, if the contents of all FT.'' are in the reset (0) state, it means that there is no equivalent processing unit executing the specific operation.Only in this case, both pointers 2 and 3 are the same. However, in other cases, both pointers will not point to the same FF.

リセットポインタ3の指示内容は必ずしも当該特定の動
作を終了した直後である必要はなく、ある処理ユニット
が当該動作を開始した時点でセットしたF Fを、終了
した時点でリセットできれば充分である。
The instruction content of the reset pointer 3 does not necessarily have to be immediately after finishing the particular operation; it is sufficient that the FF set when a certain processing unit starts the operation can be reset when the operation is finished.

尚、上記実施例では、I? F’を使用して1.0の内
容をセット、リセットに夫々対応させているが、1.0
以外の値を取り得る他の記憶素子を使用することも可能
である。
In the above embodiment, I? F' is used to set and reset the contents of 1.0, but 1.0
It is also possible to use other storage elements that can take on values other than .

本発明は実施例が示すような、並列動作可能なユニット
が、特定の動作を同時に実行可能なユニット数に制限の
ある資源を共有使用している場合だけでなく、他のすべ
てのユニットが特定の動作を行っていない場合にのみ別
の動作を開始できる場合など、特定の動作の並列実行状
況を、処理ユニット相互間の並列動作の管理゛に用いる
必要がある場合一般に用いることができる。
The present invention is applicable not only to cases where units capable of parallel operation share resources that limit the number of units that can execute a specific operation simultaneously, as shown in the embodiments, but also when all other units This can generally be used when the parallel execution status of a particular operation needs to be used to manage parallel operations between processing units, such as when another operation can only be started when one operation is not being performed.

ユ皿し一立坐 蒸上の如く、本発明によれば、セット、リセット可能な
複数の記憶素子の配列を用い、これ等記憶素子の任意の
素子をセット、リセット可能なポインタを設けて各処理
ユニットによりこれ等ポインタを制御するようにしてい
るので、同一の記憶素子に対して異なる値の更新指示を
同時に起り得なくすることができ、複雑な制御及び複雑
なハードウニの増加が防止可能となるという効果がある
According to the present invention, an array of a plurality of memory elements that can be set and reset is used, and a pointer that can set and reset any one of these memory elements is provided so that each memory element can be set and reset. Since these pointers are controlled by the processing unit, it is possible to prevent simultaneous update instructions for different values to the same storage element, and it is possible to prevent complicated control and increase in complicated hardware. It has the effect of becoming.

【図面の簡単な説明】 第1図は本発明の実施例のブロック図、第2図は従来の
ハードウェアセマフォの一例を示す図である。 主要部分の符号の説明 1・・・・・・FF配列 2・・・・・・セラ1〜ポインタ 3・・・・・・リセットポインタ 11〜l rL・・・・・・FF
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an embodiment of the present invention, and FIG. 2 is a diagram showing an example of a conventional hardware semaphore. Explanation of codes of main parts 1...FF array 2...Cera 1 to pointer 3...Reset pointer 11 to l rL...FF

Claims (1)

【特許請求の範囲】[Claims] (1)互いに並列動作を行う複数の処理ユニットからな
る情報処理システムにおいて、これ等処理ユニット相互
間の並列動作の管理を行うハードウェアセマフォであつ
て、各々がセットリセット可能な複数の記憶素子と、こ
れ等記憶素子のセットを択一的に指定するセットポイン
タ手段と、前記記憶素子のリセットを択一的に指定する
リセットポインタ手段とを含み、前記処理ユニットの自
己の処理動作の開始に応答して前記セットポインタ手段
により指定されている記憶素子をセットし、また前記処
理ユニットの自己の処理動作の終了に応答して前記リセ
ットポインタ手段により指定されている記憶素子をリセ
ットするようにし、前記記憶素子のセットリセット内容
により前記処理ユニット相互間の並列動作の管理を行う
ようにしたことを特徴とするハードウェアセマフォ。
(1) In an information processing system consisting of a plurality of processing units that operate in parallel with each other, a hardware semaphore that manages parallel operations between these processing units, and a plurality of memory elements each of which can be set and reset. , including set pointer means for alternatively specifying a set of these storage elements, and reset pointer means for alternatively specifying a reset of the storage elements, and responsive to the start of its own processing operation of the processing unit. and sets the memory element designated by the set pointer means, and resets the memory element designated by the reset pointer means in response to completion of its own processing operation of the processing unit, and the memory element designated by the reset pointer means is reset. A hardware semaphore characterized in that parallel operations between the processing units are managed based on set/reset contents of a storage element.
JP15536688A 1988-06-23 1988-06-23 Hardware semaphore Expired - Lifetime JPH0758468B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15536688A JPH0758468B2 (en) 1988-06-23 1988-06-23 Hardware semaphore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15536688A JPH0758468B2 (en) 1988-06-23 1988-06-23 Hardware semaphore

Publications (2)

Publication Number Publication Date
JPH01321525A true JPH01321525A (en) 1989-12-27
JPH0758468B2 JPH0758468B2 (en) 1995-06-21

Family

ID=15604353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15536688A Expired - Lifetime JPH0758468B2 (en) 1988-06-23 1988-06-23 Hardware semaphore

Country Status (1)

Country Link
JP (1) JPH0758468B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892258B1 (en) * 2001-10-26 2005-05-10 Lsi Logic Corporation Hardware semaphores for a multi-processor system within a shared memory architecture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892258B1 (en) * 2001-10-26 2005-05-10 Lsi Logic Corporation Hardware semaphores for a multi-processor system within a shared memory architecture

Also Published As

Publication number Publication date
JPH0758468B2 (en) 1995-06-21

Similar Documents

Publication Publication Date Title
JPH0376496B2 (en)
JPH03217962A (en) Information processor
JPH0810437B2 (en) Guest execution control method for virtual machine system
JP3644042B2 (en) Multitask processing device
JP4292705B2 (en) Task scheduling device
JPH01321525A (en) Hardware semaphore
JPH0573296A (en) Microcomputer
JPS6125249A (en) Exclusive control system
JPH01185733A (en) Input/output emulation system
JPS633328B2 (en)
JPH0340169A (en) Multiple processor system and method of controlling plurality of processor
JP2551054B2 (en) I / O system reconfiguration processor
JPH05100874A (en) Inter-task data transfer system
JPS60114941A (en) Device for multi-task control
JPS62205441A (en) Microcomputer
JP2872042B2 (en) Shared memory access method
JPH0376497B2 (en)
JPH06259383A (en) Method and device for interruption control
JPH0764802A (en) Simulation device for real-time system
JPH0462093B2 (en)
JPH0378034A (en) Program parallel execution device
JPS5831465A (en) Processor controlling system
JPH05342021A (en) Multitask computer
JPS62217326A (en) Computer capable of storing and switching plural os
JPS58169252A (en) Multiprogramming data processing system