JPH0758468B2 - ハードウェアセマフォ - Google Patents

ハードウェアセマフォ

Info

Publication number
JPH0758468B2
JPH0758468B2 JP15536688A JP15536688A JPH0758468B2 JP H0758468 B2 JPH0758468 B2 JP H0758468B2 JP 15536688 A JP15536688 A JP 15536688A JP 15536688 A JP15536688 A JP 15536688A JP H0758468 B2 JPH0758468 B2 JP H0758468B2
Authority
JP
Japan
Prior art keywords
reset
processing units
parallel
processing
pointer
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 - Lifetime
Application number
JP15536688A
Other languages
English (en)
Other versions
JPH01321525A (ja
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.)
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/ja
Publication of JPH01321525A publication Critical patent/JPH01321525A/ja
Publication of JPH0758468B2 publication Critical patent/JPH0758468B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 技術分野 本発明はハードウェアセマフォに関し、特に互いに並列
動作を行う複数の処理ユニットからなる情報処理システ
ムにおいて、これ等処理ユニット相互間の並列動作の管
理を行うハードウェアセマフォに関する。
従来技術 情報処理システムにおいて、例えば、複数の処理ユニッ
トが並列的に動作しており、これ等ユニットが同一のハ
ードウェア資源を共有使用しているような場合に、ある
特定の動作を同時に実行可能な処理ユニットの数に制限
があることがある。かかる場合、この特定の動作を実行
している処理ユニットの数を把握しておき、実行中の処
理ユニットの数が当該制限数を越える場合には、以後の
処理ユニットの当該特定動作は待ちの状態とする必要が
ある。この様な例が示すように、情報処理システムの設
計においては、複数の処理ユニットによる特定の動作の
並列実行状況を、処理ユニット相互間の並列動作の管理
に用いる必要が頻繁に生ずる。
従来、これに利用可能な技術としては、ソフトウェアの
設計における、並列プログラムの管理手段としてのセマ
フォ(Semaphore)があるが、これを直接ハードウェア
によって実現した場合には、第2図のような回路構成と
なる。
第2図を参照すると、レジスタ5にインクリメンタ6及
びディクリメンタ7を夫々付加し、互いに並列的に処理
動作する複数の処理ユニット41〜4nからこれ等インクリ
メンタ6及びディクリメンタ7を夫々制御する構成とな
っている。
例えば、上述した如く、これ等複数の処理ユニットが、
使用数に制限のある共通の資源(メモリ装置等)上で並
列動作する場合、動作する処理ユニットがインクリメン
タ6を起動して、初期値0のレジスタ5の内容を+1
し、また動作終了した処理ユニットがディクリメンタ7
を起動して、レジスタ5の内容を−1するように制御す
る。こうすることによって、共通の資源を現在使用中の
処理ユニット数がこのレジスタ5の内容10により把握可
能となり、よって、当該資源の使用制限数を越える処理
ユニットに対しては、資源の使用を待機するように管理
制御することも可能となる。
しかし、かかるソフトウェアの設計における並列プログ
ラムの管理手段の直接的な実現では、同一のレジスタに
インクリメンタとディクリメンタとが付加されており、
よってインクリメントのための信号とディクリメントの
ための信号とが、一部重なるように相前後して異なる期
間持続して到着する場合等の処理が複雑化するととも
に、全体のハードウェア量も増大するという欠点があ
る。
発明の目的 そこで、本発明は上記従来のものの欠点を解決すべくな
されたものであり、その目的とするところは、制御が簡
単でかつ構成も簡単なハードウェアセマフォを提供する
ことにある。
発明の構成 本発明によれば、互いに並列動作を行う複数の処理ユニ
ットからなる情報処理システムにおいて、これ等処理ユ
ニット相互間の並列動作の管理を行うハードウェアセマ
フォであって、各々がセットリセット可能な複数の記憶
素子と、これ等記憶素子のセットを択一的に指定するセ
ットポインタ手段と、前記記憶素子のリセットを択一的
に指定するリセットポインタ手段とを含み、前記処理ユ
ニットの自己の処理動作の開始に応答して前記セットポ
インタ手段により指定されている記憶素子をセットし、
また前記処理ユニットの自己の処理動作の終了に応答し
て前記リセットポインタ手段により指定されている記憶
素子をリセットするようにし、前記記憶素子のセットリ
セット内容により前記処理ユニット相互間の並列動作の
管理を行うようにしたことを特徴とするハードウェアセ
マフォが得られる。
実施例 以下に図面を用いて本発明の実施例を説明する。
第1図は本発明の実施例のブロック図である。
n個のFF(フリップフロップ)11〜1nからなるFF配列1
が設けられており、各FFを択一的にセット指示するセッ
トポインタ2と各FFを択一的にリセット指示するリセッ
トポインタ3とがあり、これ等ポインタ2及び3は複数
の処理ユニット41〜4nによってセット,リセットタイミ
ングが指示される。
これ等複数の処理ユニット41〜4nは、ある特定の動作を
同時に実行可能なユニット数に制限のある資源を共有使
用する並列動作可能なユニットである。各ユニットは当
該特定動作を開始する際にセットポインタ2が指示して
いるFFをセット(1)するよう指令信号を生成する。こ
のセットがなされると、セットポインタ2は直ちに内容
がリセット(0)状態の他のFFを次のセットのために指
示することになる。
また、各ユニットは当該特定の動作を終了すると、リセ
ットポインタ3が指示しているFFをリセットするよう指
令信号を生成する。このリセットがなされると、リセッ
トポインタ3は次にリセットすべきFF、すなわち次に当
該特定の動作を終了する処理ユニットがセットしたFFを
指示する。
具体例を説明すると、初期状態では、FF配列1の全ての
FFはリセット(0)の状態であり、セットポインタ2及
びリセットポインタ3は共にFF11を指示しているとす
る。この状態で、処理ユニット41〜4nの一つが当該特定
動作を開始する際にセットポインタ2に対して指令信号
を生成する。セットポインタ2はこれに応答して、現在
指示しているFF11をセット(1)し、次のセットのため
にFF12を指示する。この状態が図1に示すよ状態であ
り、このとき、リセットポインタ3は依然としてFF11を
指示している。その後、上記一つの処理ユニットが当該
特定動作を終了すると、指令信号をリセットポインタ3
に対して生成し、リセットポインタ3はこれに応答して
現在指示しているFF1をリセット(0)して次にリセッ
トすべきFF12を指示する。
両ポインタ2及び3は通常異なるFFを指示しており、内
容が1のFFの数は、その時点で当該特定の動作を行なっ
ている処理ユニットの数を表していることになるので、
このFF配列1の出力10をシステムへ送出すれば、並列動
作の管理が可能となるのである。例えば、このセットFF
の数が例えば予め定められた値(例えば、共通資源が同
時に使用され得る処理ユニットの数)以下のときにセッ
トポインタ2が指示しているFFをセットすることによ
り、各処理ユニットは当該特定動作を開始できるように
なるのである。
特に全てのFFの内容がリセット(0)状態であれば、当
該特定の動作を実行している処理ユニットは何等存在し
ないことを意味する。このときに限り両ポインタ2及び
3は同一のFFを指示することになるが、それ以外の場合
には両ポインタは同一のFFを指示することはないのであ
る。
リセットポインタ3の指示内容は必ずしも当該特定の動
作を終了した直後である必要はなく、ある処理ユニット
が当該動作を開始した時点でセットしたFFを、終了した
時点でリセットできれば充分である。
尚、上記実施例では、FFを使用して1,0の内容をセッ
ト,リセットに夫々対応させているが、1,0以外の値を
取り得る他の記憶素子を使用することも可能である。
本発明は実施例が示すような、並列動作可能なユニット
が、特定の動作を同時に実行可能なユニット数に制限の
ある資源を共有使用している場合だけでなく、他のすべ
てのユニットが特定の動作を行っていない場合にのみ別
の動作を開始できる場合など、特定の動作の並列実行状
況を、処理ユニット相互間の並列動作の管理に用いる必
要がある場合一般に用いることができる。
発明の効果 叙上の如く、本発明によれば、セット,リセット可能な
複数の記憶素子の配列を用い、これ等記憶素子の任意の
素子をセット,リセット可能なポインタを設けて各処理
ユニットによりこれ等ポインタを制御するようにしてい
るので、同一の記憶素子に対して異なる値の更新指示を
同時に起り得なくすることができ、複雑な制御及び複雑
なハードウェの増加が防止可能となるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は従来の
ハードウェアセマフォの一例を示す図である。 主要部分の符号の説明 1……FF配列 2……セットポインタ 3……リセットポインタ 11〜1n……FF 41〜4n……処理ユニット

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】互いに並列動作を行う複数の処理ユニット
    からなる情報処理システムにおいて、これ等処理ユニッ
    ト相互間の並列動作の管理を行うハードウェアセマフォ
    であって、各々がセットリセット可能な複数の記憶素子
    と、これ等記憶素子のセットを択一的に指定するセット
    ポインタ手段と、前記記憶素子のリセットを択一的に指
    定するリセットポインタ手段とを含み、前記処理ユニッ
    トの自己の処理動作の開始に応答して前記セットポイン
    タ手段により指定されている記憶素子をセットし、また
    前記処理ユニットの自己の処理動作の終了に応答して前
    記リセットポインタ手段により指定されている記憶素子
    をリセットするようにし、前記記憶素子のセットリセッ
    ト内容により前記処理ユニット相互間の並列動作の管理
    を行うようにしたことを特徴とするハードウェアセマフ
    ォ。
JP15536688A 1988-06-23 1988-06-23 ハードウェアセマフォ Expired - Lifetime JPH0758468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15536688A JPH0758468B2 (ja) 1988-06-23 1988-06-23 ハードウェアセマフォ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15536688A JPH0758468B2 (ja) 1988-06-23 1988-06-23 ハードウェアセマフォ

Publications (2)

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

Family

ID=15604353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15536688A Expired - Lifetime JPH0758468B2 (ja) 1988-06-23 1988-06-23 ハードウェアセマフォ

Country Status (1)

Country Link
JP (1) JPH0758468B2 (ja)

Families Citing this family (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
JPH01321525A (ja) 1989-12-27

Similar Documents

Publication Publication Date Title
JP2699600B2 (ja) 資源の排他制御方式
KR950012052B1 (ko) 타이머 및 타이머를 구비한 집적 회로
KR970016979A (ko) 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법
KR950012051B1 (ko) 타이머 시스템
JPH07120299B2 (ja) マルチプロセッサシステムの試験方法
GB2177241A (en) Watchdog timer
KR950014179B1 (ko) 서비스 프로세서
KR960005388B1 (ko) 타이머 장치
US6295602B1 (en) Event-driven serialization of access to shared resources
JPH02252008A (ja) マイクロプロセッサ
US4550369A (en) Apparatus and method for processing macroinstructions and microinstructions
JPH0758468B2 (ja) ハードウェアセマフォ
US7434223B2 (en) System and method for allowing a current context to change an event sensitivity of a future context
JPS6336545B2 (ja)
JPH0115899B2 (ja)
JP2551054B2 (ja) 入出力系再構成処理装置
JPS6125249A (ja) 排他制御方式
JPH0199132A (ja) マルチタスク実行装置
JPH0462093B2 (ja)
EP0266799A2 (en) Single chip microcomputer having multi-timer function
JP2926873B2 (ja) 計算機システム
JPH02157957A (ja) マイクロプロセッサ
JPS6227413B2 (ja)
JPS6229813B2 (ja)
JP2000066903A (ja) 割り込み処理システムおよび割り込み処理方法