JPH04106653A - 並列処理システム - Google Patents

並列処理システム

Info

Publication number
JPH04106653A
JPH04106653A JP22566590A JP22566590A JPH04106653A JP H04106653 A JPH04106653 A JP H04106653A JP 22566590 A JP22566590 A JP 22566590A JP 22566590 A JP22566590 A JP 22566590A JP H04106653 A JPH04106653 A JP H04106653A
Authority
JP
Japan
Prior art keywords
control information
divisible
computers
nondifferentiable
instruction
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
JP22566590A
Other languages
English (en)
Inventor
Kanee Kimura
木村 兼江
Kazusaku Kawagome
カワゴメ カズサク
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP22566590A priority Critical patent/JPH04106653A/ja
Priority to GB9118335A priority patent/GB2247758A/en
Publication of JPH04106653A publication Critical patent/JPH04106653A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/521Atomic

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、非可分操作を含む並列処理プログラムを複数
の計算機間にて実行する並列処理システムに関する。
(従来の技術) 一般に、並列処理システムにおいては、例えば、入出力
装置やメモリ等の共有資源を同時に複数のタスクがアク
セスすることによる混乱等を無くすために、ある特定部
分のプログラムを実行している間は割込みによる非同期
イベント処理の実行を禁止する非可分操作が採用されて
いる。
従来、このような非可分操作を実現するためには、例え
ば次のような方法が用いられている。
■処理されるプログラムで必要とされる非可分操作のた
めの命令を各プロセッサに組込む。但し、通常この方法
の対象となるプロセッサはWC8(書換え可能制御記憶
)等を持っている必要かある。
■各プロセッサが非可分操作に先立って明示的に共有メ
モリバスを占有し、非可分操作終了後、明示的に共有メ
モリバスを解放する。但し、通常このような操作を行う
プログラムは特権モードてなすれば動作しない。
■セマフォア操作命令等を用いた明示的な監視ルプをソ
ウトウエアにて構成し、これで排他制御を行う。しかし
ながら、この場合、非可分性か必要とされる操作によっ
ては、対象となる操作に要する時間に比べて非可分性維
持のためのソフトウェア処理に多くの時間を要する場合
がある。
(発明か解決しようとする課題) このように、これらの方法では、適用の対象となる計算
機や動作モードに厳しい制限があったり、非可分操作に
多くの時間を要するという問題があった。
本発明はこのような課題を解決するためのもので、計算
機や動作モードによる規制を受けることなく、非可分操
作を含む並列処理を少ないオハヘッドで実行させること
のできる並列処理システムの提供を目的としている。
[発明の構成] (課題を解決するための手段) 本発明の並列処理システムは上記目的を達成するために
、複数の計算機と、非可分操作による命令実行を指示す
る第1の制御情報を持つ命令語および第1の制御情報と
ともにこの命令を最後に非可分操作による命令実行を終
了することを指示する第2の制御情報を持つ命令語を含
んな命令群か各計算機にて共有される並列処理プログラ
ムとして格納された共有メモリとを具備し、かつ各計算
機は、共有メモリから読出された命令語の中から制御情
報を解読する制御情報解読手段と、各計算機のいずれか
において非可分操作を行っているか否かを検出する検出
手段と、1計算機の現時点での非可分操作権の有無を判
断する判定手段と、制御情報解読手段により解読された
制御情報、検出手段の検出結果および判定手段の判定結
果に基づき、所定の非可分操作制御を行う非可分操作制
御手段とをそれぞれ具備している。
(作 用) 本発明の並列処理システムにおいて、制御情報解読手段
は共有メモリから読出された命令語の中から制御情報を
解読し、検出手段は各計算機のいずれかにて非可分操作
が実行中であるか否かを検出する。さらに判定手段は1
計算機の現時点での非可分操作権の有無を判断する。そ
して、制御情報解読手段により解読された制御情報、検
出手段の検出結果および判定手段の判定結果に基づき、
非可分操作制御手段は対応する計算機での非可分操作制
御を行う。
したがって、この発明によれば、計算機や動作モードに
よる規制を受けることなく、非可分操作を含む並列処理
を少ないオーバヘッドで実行させることが可能となる。
(実施例) 以下、本発明の実施例を図面に基づいて説明する。
第1図は本発明に係る一実施例の並列処理システムの全
体の構成を示すブロック図である。
同図において、1および2はそれぞれ計算機、3は各計
算機1.2にて共有される並列処理プログラム等が格納
された共有メモリ、4および5は各計算機1.2の共有
メモリバス6に対する入出力を制御する共有メモリバス
制御回路、7および8はそれぞれ計算機1.2の非可分
操作制御を行う非可分操作制御回路、そして9は非可分
操作制御線である。この非可分操作制御線9はシステム
内のいずれかの計算機1−12において非可分操作が実
行されているときONになり、非可分操作が行われてい
ないときはOFFになる。
第2図は本実施例システムにおいて採用された命令語の
形式を示す図である。
同図に示すように、この実施例での命令語は、非可分操
作による命令の実行を指示するための第1の制御ビット
フィールドAと、この命令実行を最後に非可分操作を終
了することを示すための第2の制御ビットフィールドB
と、実行すべき演算操作を示す命令コードフィールドC
と、演算操作の対象を示すオペランドフィールドDとか
ら構成されている。
第3図はこの命令語を用いた非可分操作制御に関係する
部分の構成を示したブロック図である。
同図において、11は共有メモリ3から読出された命令
語の中から、第1の制御ビットフィールドAおよび第2
の制御ビットフィールドBの内容をそれぞれ非可分操作
制御回路7に送るとともに、該命令語の中から命令コー
ドフィールドCおよびオペランドフィールドDの内容を
シーケンサ12に供給するための命令デコーダである。
また、13は計算機1の現在の非可分操作状態を示すフ
リップフロップで、このフリップフロップ13は計算機
1の非可分操作の実行中にON、それ以外はOFFにセ
ットされる。
ここで非可分操作制御回路7は、命令デコーダ11によ
り送られてきた第1の制御ビットおよび第2の制御ビッ
ト、フリップフロップ13の状態、そして非可分操作制
御線9の状態を基に、当該計算機1の非可分操作制御を
行うものとされている。
次に以上のように構成された並列処理システムの動作を
説明する。
共有メモリ3からある命令語が読出されて、この命令語
か計算機1の命令デコーダ11に入力されると、命令デ
コーダ11は、まずその命令語の中の第1の制御ビット
フィールドAおよび第2の制御ビットフィールドBの内
容をそれぞれ非可分操作制御回路7に送るとともに、当
該命令語の中の命令コードフィールドCおよびオペラン
ドフィールドDの内容をシーケンサ12に送り、シーケ
ンサ12に一旦これを保持させる。
すると非可分操作制御回路7は、これら第1の制御ビッ
トおよび第2の制御ビットと現在のフリップフロップ1
3および非可分操作制御線9の状態を基に次のような非
可分操作制御を行う。
すなわち、非可分操作制御回路7は、第1の制御ビット
がON、第2の制御ビットがOFF、フリップフロップ
13の状態かONならば、シーケンサ12に対する動作
停止要求信号をOFFにして、計算機1に非可分操作に
よる命令実行を継続させる。
また、第1の制御ビットがON、第2の制御ビットかO
FF、フリップフロップ13の状態かOFFならば、非
可分操作制御回路7は、非可分操作制御線9の状態を調
べ、OFFならばこれをONに切換えるとともにフリッ
プフロップ13の状態もOFFからONに切換えて非可
分操作の権利を獲得する。そして、シーケンサ12に対
する動作停止要求信号をOFFにして計算機1に非可分
操作による命令の実行を開始させる。
また非可分操作制御線9がON(他の計算機が非可分操
作権利を持っている。)ならば、シーケンサ12に対す
る動作停止要求信号をONにして計算機1による命令実
行を禁止する。この後、非可分操作制御線9の状態を監
視し続けこれがOFFになったならば、直ちにこれをO
Nに切換えるとともにフリップフロップ13もOFFか
らONに切換えて非可分操作の権利を獲得し、動作停止
要求信号をOFFにして次のサイクルから計算機1に命
令の実行を開始させる。
この後、第2の制御ビットかONになると、非可分操作
制御回路7は、今回の命令実行を最後に非可分操作の権
利を放棄し、非可分操作制御線9をONからOFFに切
換えるとともにフリップフロップ13もONからOFF
に切換える。
尚、この第2の制御ビットがONのときは第1の制御ビ
ットもONになっているようソフトウェアで定義されて
いる。
また、計算機1が非可分操作を実行している間に発生し
た外部からの割込み要求は、第2の制御ビットかONで
ある命令が実行されてフリップフロップ13かOFFに
切換えられるまで非可分操作制御回路7で待機される。
さらに、計算機1の動作が禁止されている間に外部から
割込み要求が入った場合は、動作停止要求信号をOFF
にして計算機1の動作禁止状態を解除し、次のサイクル
から割込み処理ルーチンに分岐する。そして割込み処理
が終了すると、中断された命令の実行が最初(非可分操
作権の獲得)から再開される。
かくしてこの実施例の並列処理システムによれば、計算
機や動作モードによる規制を受けることなく、非可分操
作を含む並列処理を少ないオーバヘットで実行させるこ
とか可能となる。
尚、上記の実施例では、各計算機1.2にそれぞれ単一
の非可分操作制御回路7.8を対応付けて構成したか、
各計算機1.2に複数の非可分操作制御回路を対応付け
て、動作させる側の非可分操作制御回路をレジスタ等に
より計算機毎に指定するようにしてもよい。
[発明の効果] 以上説明したように本発明の並列処理システムによれば
、計算機や動作モードによる規制を受けることなく、非
可分操作を含む並列処理を少ないオーバヘッドで実行さ
せることか可能となる。
【図面の簡単な説明】
第1図は本発明に係る一実施例の並列処理システムの全
体構成を示すブロック図、第2図は第1図の並列処理シ
ステムにおいて採用された命令語の形式を示す図、第3
図は第2図の形式の命令語を用いた非可分操作制御に関
係する部分の構成を説明するためのブロック図である。 1.2・・計算機、3・共有メモリ、4.5・・・共有
メモリハス制御回路、7.8・・・非可分操作制御回路
、9・・・非可分操作制御線、11・・命令デコダ、1
2・・・シーケンサ、13・・・フリップフロップ。 出願人     株式会社 東芝

Claims (1)

    【特許請求の範囲】
  1. 複数の計算機と、非可分操作による命令実行を指示する
    第1の制御情報を持つ命令語および前記第1の制御情報
    とともにこの命令を最後に非可分操作による命令実行を
    終了することを指示する第2の制御情報を持つ命令語を
    含んだ命令群が前記各計算機にて共有される並列処理プ
    ログラムとして格納された共有メモリとを具備し、かつ
    前記各計算機は、前記共有メモリから読出された命令語
    の中から前記制御情報を解読する制御情報解読手段と、
    前記各計算機のいずれかにおいて非可分操作を行ってい
    るか否かを検出する検出手段と、自計算機の現時点での
    非可分操作権の有無を判断する判定手段と、前記制御情
    報解読手段により解読された制御情報、前記検出手段の
    検出結果および前記判定手段の判定結果に基づき、所定
    の非可分操作制御を行う非可分操作制御手段とをそれぞ
    れ具備することを特徴とする並列処理システム。
JP22566590A 1990-08-28 1990-08-28 並列処理システム Pending JPH04106653A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22566590A JPH04106653A (ja) 1990-08-28 1990-08-28 並列処理システム
GB9118335A GB2247758A (en) 1990-08-28 1991-08-27 Controlling indivisible operation in parallel processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22566590A JPH04106653A (ja) 1990-08-28 1990-08-28 並列処理システム

Publications (1)

Publication Number Publication Date
JPH04106653A true JPH04106653A (ja) 1992-04-08

Family

ID=16832863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22566590A Pending JPH04106653A (ja) 1990-08-28 1990-08-28 並列処理システム

Country Status (2)

Country Link
JP (1) JPH04106653A (ja)
GB (1) GB2247758A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3663710B2 (ja) * 1996-01-17 2005-06-22 ヤマハ株式会社 プログラムの生成方法およびプロセッサの割込制御方法
US20020032558A1 (en) * 2000-03-10 2002-03-14 Paul Strong Method and apparatus for enhancing the performance of a pipelined data processor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
GB2216306A (en) * 1988-02-29 1989-10-04 Ardent Computer Corp Load and synchronize computer architecture and process

Also Published As

Publication number Publication date
GB9118335D0 (en) 1991-10-09
GB2247758A (en) 1992-03-11

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
EP2273377B1 (en) Interrupt control apparatuses and methods
JP2655615B2 (ja) 情報処理装置
JPH04106653A (ja) 並列処理システム
US20030037227A1 (en) Processor enabling exception handling to be set by program
JPH0414376B2 (ja)
JPH0212531A (ja) 仮想計算機の割込み制御方式
JPS62156738A (ja) プログラム制御装置
JPH04338825A (ja) 演算処理装置
JPH06103110A (ja) ブレークポイント設定方式
JPH09319592A (ja) マイクロコンピュータ
JPH0440532A (ja) リアルタイム処理装置
JP2023151592A (ja) 情報処理装置、及び情報処理装置の動作制御方法
JPS61267137A (ja) 割込み動作制御方式
JPH03196204A (ja) プログラマブルコントローラ
JPH07271608A (ja) 割込み発生回路
JPS61282936A (ja) マイクロプロセツサのベクタ割込み方式
JPS63120336A (ja) メモリアクセスモ−ド切替え方式
JPH0211933B2 (ja)
JPS61208549A (ja) タイムアウト監視方式
JPH0481939A (ja) マイクロコンピュータの制御方式
JPS62214440A (ja) 未定義命令監視方式
JPH0540666A (ja) 集積回路マイクロプロセツサの割り込みモニタ装置
JPH02232734A (ja) 割り込み制御機構
JPS6316336A (ja) タスク切り替え制御機構を備える情報処理装置