JP2690435B2 - 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム - Google Patents

処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム

Info

Publication number
JP2690435B2
JP2690435B2 JP4292966A JP29296692A JP2690435B2 JP 2690435 B2 JP2690435 B2 JP 2690435B2 JP 4292966 A JP4292966 A JP 4292966A JP 29296692 A JP29296692 A JP 29296692A JP 2690435 B2 JP2690435 B2 JP 2690435B2
Authority
JP
Japan
Prior art keywords
processor
queue
event
processing
module
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
JP4292966A
Other languages
English (en)
Other versions
JPH05250337A (ja
Inventor
ジヨルジユ・ルクルテイエ
Original Assignee
ブル・エス・アー
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 ブル・エス・アー filed Critical ブル・エス・アー
Publication of JPH05250337A publication Critical patent/JPH05250337A/ja
Application granted granted Critical
Publication of JP2690435B2 publication Critical patent/JP2690435B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサタイプ
の情報処理システムの分野に属し、特にかかるシステム
における処理のプロセッサへの動的タスク割当てを保証
するために使用されるメカニズムに関する。
【0002】
【従来の技術】処理(プロセス、process)をプ
ロセッサに割当てること(通常は“ディスパッチング”
と称される)は、特にトランザクションタイプのアプリ
ケーションにおいては、その用法がシステムパフォーマ
ンスに大きく影響するオペレーションである。パフォー
マンスに及ぼすディスパッチングの影響は、ディスパッ
チングをトリガし得る事象の平均頻度はプロセッサの数
に比例して増大するが故に、システムプロセッサの数が
大きくなると特に変動し易い。ディスパッチングは、実
行される処理の選択に変更を起こし得る任意の事象によ
ってトリガされるオペレーションである。大抵の場合、
かかる事象は、処理間でオペレーションを同期化するこ
とから生じ、処理とは、アプリケーションプログラム、
または入/出力プログラムのようなオペレーティングシ
ステムプログラムを実行するものであり得る。例えばプ
ロセッサの状態の変化、または処理をシステムに導入も
しくはシステムから消去したり処理の1つのプライオリ
ティレベルを変更する特定の命令に関係する他のタイプ
の事象もあり得る。このような事象の出現は、事象及
び、例えば実行される準備が整っている処理のプライオ
リティ順位を考慮するような種々の基準の関数として、
処理をプロセッサに新たに割り当てる決定をまかされた
システムマイクロプログラムを能動化する効果を有す
る。
【0003】マイクロプログラム使用のケースでは、デ
ィスパッチングは2つのフェーズで行われる。第1の選
択フェーズは、“SELECT”と称される第1のマイ
クロプログラムモジュールの実行に対応し、実行される
べき処理及びその処理を実行するプロセッサの選択を行
なうために与えられる。この選択フェーズには、関係す
るプロセッサに実行されるべき新たな処理を通知する役
割を果たす割込みを送ることが含まれる。アドレス指定
されたプロセッサによってかかる割込みが受信される
と、実質的にその実行が割り込まれた処理の内容を保存
し且つ実行されるべき新たな処理の内容をプロセッサ内
にロードすることからなる実行フェーズが、該プロセッ
サ内でトリガされる。この実行フェーズは、“EXE
C”と称されるマイクロプログラムモジュールを含むプ
ロセッサによる並行処理に対応する。
【0004】ディスパッチングをトリガする事象に対す
るシステムの応答時間を向上するためには選択オペレー
ションが分散式に行われ得ることが望ましく、これに
は、システムの全てのプロセッサまたは少なくともその
うちの幾つかが各々が選択オペレーションを実行し得る
ことが必要である。この問題は、1986年5月20日
発行米国特許第4,590,555号(欧州特許B1
30 504号に対応)の課題であり、前記特許は参照
により本明細書の一部を構成するものとする。この特許
は特に、各々が選択オペレーションを実行しようとする
複数のプロセッサ間に起こり得る対立に係わる問題を取
り扱っている。選択オペレーションは、処理及びプロセ
ッサの状態のようなシステム全体で同じ値を有し続けね
ばならないシステムデータを取扱うが故に、このような
対立は無条件に回避されねばならない。このためには特
にロックが与えられる。即ち、先行のディスパッチング
が完全に終了しないうちに他のプロセッサが新たな選択
フェーズを実行しないように、ディスパッチングを実行
しているプロセッサによって能動化及び保持されるイン
ジケータ手段が与えられる。
【0005】米国特許4590555に対応する、特公
昭64−6488号公報は、マルチプロッセサシステム
を示している。一般的に、このようなシステムは、プロ
ッセサの数Mよりも大きな数Nのプロセス(処理)を処
理することができる。システムは、常時、NのうちMの
プロセスを処理する。Nのプロセスは、本質的に二つの
クラスに分類できる。K個のプロセス(PR/RDY)
の第1のクラスは、ランすることができ、L個のプロセ
スの第2のクラスは、ランすることだできないものであ
る。ランすることができるK個のプロセス(PR/RD
Y)の内、最大M個のプロセスは、システムのプロセッ
サによってランしており、K−M個のプロセスは、プロ
ッセサを待っている。ランすることができないL個のプ
ロセッサの内には、その時点で条件の充足を要求してい
ない停止されたプロセスと、終了したプロセスと、ラン
を継続するためのリソースを待っているプロセスとがあ
る。図5はポインタ(IQW)によってアクセスされる
待ち行列を示す。ファイルは、K個のプロセス(PR/
RDY)を保持し、ランすることができない第2のクラ
スのプロセスに移行するのを待っている。待ち行列(P
R/RDY)に入る場合には、同一のプライオリティレ
ベルの最後のプロセスの後に、プロセスを挿入する。こ
の待ち行列の最初のM個のプロセスは、より高いプライ
オリティレベルを有し、またより高いプライオリティレ
ベルを有する中では、そのプライオリティレベルにおい
てより古いものである。したがって、プロセッサは、こ
れらのM個のプロセスのそれぞれに割り当てられる。
【0006】待ち行列の内容を変える事象(PR/RD
Y)が起こる度に、図7Aから図8Cのアルゴリズムに
よって、プロッセサが待ち行列の最初のM個のプロセス
(処理)に割り当てられていることが保証される。実
際、ランさせることの緊急度がより高いプロセスがあ
る。それを管理するために、待ち行列が空でない場合に
は、モジュールSELECTが、ポインタ(IQW)の
助けを借りて、ステップ1009さらにステップ101
3において、待ち行列を最初からスキャンする。
【0007】事象に対応して、待ち行列の最初のM個の
プロセッサを系統的にスキャンすることによって、プロ
ッセサへのプロセス(処理)のディスパッチが行われ
る。ディスパッチの度に、少なくともプロッセサの数で
あるMに等しい多数のリンクが参照される。この方法
は、プロッセサの数がそれほど多くない場合には、迅速
に行われる。しかし、プロセッサの数が増加すると、そ
れに比例してプロセッサにプロセスをディスパッチする
のに必要な時間が増大する。システムの性能の低下を防
止するために、提起された問題は、プロッセサの数が増
加しても、なお、短時間でディスパッチを決定すること
である。
【0008】
【発明が解決しようとする課題】本発明の目的は、プロ
セッサの数が増大しても相対的なシステムパフォーマン
スの低下を招くことのないように上述のディスパッチン
グの最適実施例を提案することである。
【0009】この最適化を求めて、マルチプロセッサシ
ステムにおいて実行される種々のタイプのディスパッチ
ングを統計的に分析した。トランザクション型アプリケ
ーションにおいては、この分析によって約75%のケー
スでディスパッチングオペレーションは最終的に、実行
する処理の選択に変更がないか、または単一処理のみの
実行に割込み且つ一般的にはそれを別の処理で置き換え
る結果となることが確認された。従って上記のディスパ
ッチングが頻繁なケースは、処理されるべき最も単純な
ものと推定され、システムの一貫性が全ての環境下で保
存され得るようにこの状況を利用する手段を見いだす必
要があった。
【0010】第2に、選択オペレーションに関与する2
つの資源カテゴリを区別することができる。第1のカテ
ゴリは、一般的には処理キューによって物理的に実現さ
れる、システム内に設定された処理の状態に係わる情報
を含む。処理キューは一般に事象と関係して存在する。
各キューは、その実行が割り込まれて事象または関係メ
ッセージの出現を待っている全ての処理のアイデンティ
ティを含んでいる。一方で、実行中の処理及び実行する
準備の整った処理、即ち使用可能なプロセッサがないた
めに実行され得ない処理を含む少なくとも1つのキュー
が存在する。第2の資源カテゴリは、プロセッサ間の連
絡を可能とする対話手段を含む。かかる手段は通常は、
特に選択オペレーションを実行しているプロセッサが、
アドレス指定されたプロセッサに、実行されるべき新た
な処理を通知できるようにする、メールボックスと称さ
れるデータ交換ゾーンに関係する割込みメカニズムによ
って実現される。ディスパッチングが最も頻繁となる環
境を更に詳細に分析することにより、上記資源のうち、
幾つかのものだけが使用されることが極めて多いことが
確認された。実際、ディスパッチングをトリガし得る事
象が、実行中の処理による事象またはメッセージの通知
からなるならば、2つのケースが起こり得る。第1のケ
ースはその事象を待つ処理のないケースである。事象を
発生したプロセッサは大部分のケースで、事象が発生し
たことを示すためにセマフォタイプのデータ構造を更新
し得る。このプロセッサは、それまでにそれが実行して
いた処理を続けて実行することができ、システムのプロ
セッサに処理をディスパッチングすることにおいて何が
起ころうと変更はない。その場合、セマフォに関係する
データ構造のみが関与する。もう1つのケースは、少な
くとも1つの処理がこの事象を待っているケースであ
る。キュー内の最高プライオリティを有する処理がその
キューから抽出され、レディ状態処理キュー内に挿入さ
れ、この処理は、そのプライオリティレベルに従ってシ
ステムのプロセッサの1つにおいてアクティブな処理と
置き換わることができる。このオペレーションに関与す
る資源は、セマフォに関係するデータ構造及び処理キュ
ー、レディまたはアクティブ状態処理キュー、及び必要
に応じて、待ち状態にあった処理が別のプロセッサにお
いてアクティブ状態だった処理と置き換わらねばならな
いならば、プロセッサ間対話手段である。
【0011】別の例として、アクティブ状態処理が、そ
の実行を継続し得るために事象が発生したかまたはメッ
セージが存在するか問合せねばならない相補的なケース
を例にとると、ここでも2つのケースに区別される。第
1のケースでは、事象またはメッセージは既に通知され
ており、これは、セマフォに関係するデータ構造をアク
セスすることによりプロセッサによって検証される。処
理はその実行を続けることができる。第2のケースで
は、事象またはメッセージは通知されておらず、処理の
実行は割り込まれねばならない。その場合、レディ状態
処理キュー内の最高プライオリティを有する処理が、プ
ロセッサによってそれまで実行されていた処理にとって
替わる。資源の使用については、第1のケースではセマ
フォに関係するデータ構造のみが関与し、第2のケース
ではレディ状態処理キューも関与する。これとは反対に
対話手段はいずれのケースでも使用されない。
【0012】特定の状況で上記実施例の幾つかに基づ
き、処理をプロセッサにディスパッチするオペレーショ
ンは、各々が特定の事象または状況の1つのカテゴリに
対応していて、実際にはディスパッチングオペレーショ
ンに関与し得る資源セットの幾つかしか使用しない複数
のより単純なオペレーションに分割することができる。
【0013】従って本発明の目的は、プロセッサの数が
増大しても相対的なシステムパフォーマンスの低下を招
くことのないように、ディスパッチングにおける所定の
フェーズを並行処理し得る可能性を増大しようという観
点から上記知見を利用することである。しかしながら、
提案される実施例は機能的に信頼性があり且つ使用が単
純なものであらねばならない。
【0014】
【課題を解決するための手段】この目的は、ディスパッ
チングを行うソフトウェアを細分することにより達成さ
れ、この細分は、処理をプロセッサにディスパッチング
する上で同じタイプの変更を起こる事象の1つのカテゴ
リ(分類)またはセットに属する少なくとも1つの専用
モジュール(専用マイクロプログラムモジュール)を定
義するように選択され、これは、同じタイプの資源が使
用されることを意味する。複数のこのタイプのモジュー
ルを与えることにより、システム資源の点で対立する危
険性もなく複数のモジュールが同時に実行される可能性
を増大する結果となる。
【0015】カテゴリに適合しない事象、即ち専用モジ
ュールによって処理され得ない事象を考慮するための特
別モジュールを与えることも適当である。
【0016】より正確には、本発明は、複数のプロセッ
サ(CPU)を備えたマルチプロセッサ情報処理システ
ムであって、各プロセッサが、マイクロプログラム化さ
れた手段(CP)を備え、前記マイクロプログラム化さ
れた手段が、前記プロセッサによってその割り込みが検
出された事象に応答して、実行されるプロセスの選択及
びプロセスを実行するプロセッサの選択の変更を行うた
めに、特定の事象の分類に応じて、最低のプライオリテ
ィを有する最後のアクティブ処理にリンクしたポインタ
によって、割り当ての決定を行うための少なくとも一つ
の専用マイクロプログラムモジュール(CHSEL,D
QSEL,EQSEL)と、前記専用マイクロプログラ
ムモジュールによって取り扱われる事象以外の事象に対
して、前記割り当ての決定を行うための中央マイクロプ
ログラムモジュール(CTSEL)とを実行することを
特徴とするマルチプロセッサ情報処理システムを提供す
る。
【0017】システムパフォーマンスの見地から本発明
をよりよく利用するため、本発明の別の特徴において
は、特定事象のカテゴリは、特にマイクロプログラム化
された手段がプロセッサに処理を割り当てる間に起こる
確率が最も高い事象を含む。
【0018】並行処理の可能性を増強するため、本発明
の別の特徴においては、特定事象の各カテゴリは、実行
される処理及び該処理を実行するプロセッサの選択を単
に変更するだけである事象を含む。
【0019】本発明は更に、前記システムにおいて実行
され得る処理の状態が、事象待ち処理キューまたはレデ
ィ状態処理キュー、即ちプロセッサ内で動作可能なもし
くはプロセッサ待ち中の処理キュー内に記憶されている
ならば、事象のカテゴリが、レディ状態処理キューにお
いてそれぞれ単一処理JPの追加、抹消または移動を惹
起し得る事象を含む、前記システムの特定の実施例をも
提供する。
【0020】専用モジュールは、関係事象に完全に対応
して且つ全ての環境下でディスパッチングを実行するよ
うに設計することができる。しかしながらそれには、モ
ジュールをより複雑にしたりマイクロプログラムのメモ
リサイズを増大する必要がある。この欠点を解消するた
め本発明の変形例によれば、好ましくは複数のプロセッ
サにおける同時ディスパッチングオペレーション間に対
立が存在するような例外的複合状況に対応する、所定の
ケース外での選択オペレーションを完全に実行するよう
に各専用モジュールは与えられている。各専用モジュー
ルは、上記ケースを検出して中央モジュールを呼び出す
ように与えられている。従って中央モジュールは、専用
モジュールによって処理されない上記全ての例外的ケー
スを統括的に処理するように設計されている。
【0021】従って特定の実施例においては本発明のシ
ステムは、実行されるべき新たな処理NJPのアイデン
ティティを他のプロセッサに通知するリクエストを発信
するために、プロセッサのマイクロプログラム手段によ
って適宜使用される処理間対話手段を含んでいる。一方
でかかる対話手段は、一度にただ1つのプロセッサのみ
がリクエストを発信することを保証するためにマイクロ
プログラム手段によって使用される第1の対話ロックを
備えている。最後に各専用モジュールは、該専用モジュ
ールの実行が対話を含む一方、前記ロックがかけられて
いる場合には、その実行を停止し且つ中央モジュールを
呼び出すように設計されている。
【0022】
【実施例】実施例の更なる態様及び詳細を以下の説明に
おいて詳述する。
【0023】図1に示したシステムは、情報処理システ
ムの中央サブシステムと称されるものを構成している。
これは、相互に並びに中央メモリMU及び入/出力装置
IOUと通信し得るようにシステムバスSBに接続され
ている複数のプロセッサCPU,CPUiで構成されて
いる。入/出力装置IOUによって中央サブシステムは
周辺サブシステム(図示なし)と通信することができ
る。
【0024】中央メモリMUは、メモリコントローラ及
びバスSBのコントローラの両方の役割を果たすインタ
ーフェース回路SCUを介してシステムバスSBに接続
されている複数のメモリモジュールまたはカードによっ
て実現することができる。通常の方法ではバスSBは、
データバスDTS、アドレスバスADS及びコマンド及
びコントロールラインCDSによって構成される。
【0025】各プロセッサCPUは必然的に、マイクロ
プログラム処理手段CPと、システムバスSBとのイン
ターフェースとして作用するキャッシュメモリCAとを
含んでいる。キャッシュメモリCAは、データバスDT
Sに接続されたメモリ回路DATと、アドレスバスAD
S及びコントロールラインCDSに接続されたコントロ
ーラDIRとで構成されている。処理手段CPは、それ
ぞれ特定機能に割り当てられた複数の機能ユニットEA
D、BDP、FPPを含んでいる。特にユニットEAD
は、アドレスラインADを介してコントローラDIRに
接続されているアドレス指定ユニットである。ユニット
EAD、BDP、FPPは内部データバスDTを介して
メモリ回路DATにも、また内部コマンド及びコントロ
ールラインCDを介してコントローラDIRにも接続さ
れている。
【0026】コントローラDIRはそれぞれアドレスラ
インADR及びコントロールラインCDRを介してメモ
リ回路DATの読取り及び書込みオペレーションを制御
する。更にコントローラDIRは、中央メモリMUとメ
モリ回路DATとの間のデータ転送を行なうために、中
央メモリMUの読取り及び書込みオペレーションをも制
御する。最後に、図示した実施例においてはコントロー
ラDIRは更に、プロセッサCPUと他のプロセッサC
PUiとの間または入/出力装置IOUとのメッセージ
交換(例えばリクエスト及び肯定応答)の目的を果たす
インターフェース回路をも含んでいる。
【0027】プロセッサCPUの機能ユニットの詳細実
施例は、“Processeura plusieur
s unites de traitement mi
crogramees”〔Processor wit
h a Plurality of Micropro
grammed Processing Units〕
の標題で1991年6月26日公開の欧州特許出願公開
第434 483号に記載されている。
【0028】更に、システムのプロセッサCPU,CP
Ui間の対話を可能とする手段は、“Procede
de dialogue entre les pro
cesseurs d’un systeme,sys
teme pour samise en ouvre
et utilization pour lare
partition des processus a
ux processeurs”〔Methods f
or Dialog Among theProces
sors of a System,System f
or Employing it,and Use f
or DispatchingProcesses t
o Processors〕の標題で1990年6月5
日出願の仏国特許出願第90.06948号に従って実
現することができる。
【0029】図1のシステムの一般機能については、参
照により本明細書の一部を構成するものとする上記2つ
の特許出願を参照することが適当である。
【0030】この点において本発明は、システムマイク
ロソフトウェアの一部である特定のマイクロプログラム
手段によって実施することができる。かかるマイクロプ
ログラムは、システムによって考慮され得る事象を表わ
す所定数のインジケータの関数として、実行されるべき
モジュールを選択する役割を果たす“割込みマネージ
ャ”と称されるマイクロソフトウェアモジュールと協働
するように与えられている。本発明の実施を可能とする
特定のマイクロプログラムを図8〜図11と合わせて説
明するが、まず最初にかかるマイクロプログラムによっ
て操作されるシステム資源について特定の説明を行な
う。
【0031】図2は、システム内に設定された処理が関
係する“処理制御ブロック”PCBとして公知のデータ
構造を示す。このブロックは、処理に係わると共にシス
テムにとって有効な全ての情報を含む所定数の32ビッ
トワードによって構成されているメモリゾーンである。
図には本発明を実施するのに係わる情報のみを示してあ
る。この情報のなかでワードPMW0内には、処理のプ
ライオリテイレベルを表わすフィールドPRIと処理の
状態を示すフィールドSTATEとが認められる。この
フィールドSTATEがとる値は特に、処理がアクティ
ブであるのか、またはレディ状態で空きプロセッサを待
っているのか、または事象を待っているのかを示す。処
理がセマフォに関係する事象を待っているときにはワー
ドPMW2はセマフォのアドレスに割り当てられる。ワ
ードPMW3のフィールドCPSMは、その2進分布
が、処理を実行するよう許可されたシステムプロセッサ
を規定しているマスクである。“ゾーンレジスタ”と称
されるワード群は、処理の内容、即ちその実行が割り込
まれる直前に最後に処理を実行したプロセッサのレジス
タの内容を保存する役割を果たす。
【0032】図3は、“処理制御ブロック”CPCBと
称され、送り側のプロセッサとそのブロックに関係する
受け側のプロセッサとの間の情報交換のためのメールボ
ックスとして作用する、各プロセッサに関係するメモリ
ゾーンを示す。
【0033】ブロックCPCBは、プロセッサ番号を含
むフィールドCPNと、プロセッサ状態を示すフィール
ドCPSと、該プロセッサ内で実行されている処理の数
を含むフィールドCJPと、レディ状態処理キューQ/
PR/RDY内のこの処理のリンクのアドレスを表わす
フィールドCPLDと、プロセッサが実行する予定の新
たな処理の番号を示すフィールドNJPと、その処理の
リンクのアドレスを示すフィールドNPLDとを含んで
いる。
【0034】ブロックCPCBは更に、ロックとして作
用し且つその論理状態が、メールボックスが占有されて
いるか否かを知らせるディジタルインジケータDCLK
をも含んでいる。
【0035】次に、処理キューを規定し得る資源を説明
する。かかるエレメントの全ては既に、前出の米国特許
第4,590,555号及び“semaphore d
evice for computer”の標題の19
83年7月26日発行米国特許第4,395,797号
に詳細に説明されている。ここでは、本発明に関与する
不可欠なエレメントのみを簡単に想起する。
【0036】既に述べたように、2つの処理キューカテ
ゴリ、即ちレディ状態処理キューQ/PR/RDYと事
象待ち処理キューとは区別される。これらのキューは、
“リンク”として公知のデータ構造セットによって物理
的に実現され、各リンクは1つの特定の処理と関係す
る。
【0037】図4は、このようなリンクPLのためのフ
ォーマット例を示す。このリンクは32ビットワードで
構成されており、下記の意味を有する複数のフィールド
を含んでいる: −NLは、キュー内の次のリンクのアドレスを表わすポ
インタであり、 −JPは、該リンクに関係する処理のアイデンティティ
であり、 −Rは、関係する処理の状態を表わすビットであり、 −Dは、ディスパッチングの実行を容易にするためのロ
ックDCLKのコピーである補助ビットであり、 −TENは、処理を実行しているプロセッサまたは最後
に処理を実行したプロセッサのアイデンティティであ
り、 −PRIは、処理のプライオリティレベルに対応する。
【0038】キューへのアクセスは、キュー内の最初の
リンク、即ちキュー内の最も古い処理に関係するリンク
のアドレスを表わすポインタによって行なうことができ
る。リンクがキューから消去されると、ポインタは、こ
のリンクのフィールドNL内に含まれる値を取る。リン
クが加えられると、最後のリンクのフィールドNLは、
この新たなリンクのアドレスに対応する値を取る。
【0039】本発明に関連して使用される特定の実施例
によれば、レディでアクティブな処理とレディで非アク
ティブな処理とを合わせた単一キューQ/PR/RDY
が与えられる。ビットRの論理値によって、処理がアク
ティブである(R=1)かそうでない(R=0)かが区
別され得る。
【0040】事象待ち処理についても、そのリンクが図
4に示したフォーマットを有するキューが使用される。
各キューQ/PR/Sは“セマフォ”として公知のデー
タ構造に関係しており、各セマフォは特定のタイプの事
象と関係している。
【0041】所定のセマフォが、図6に示したようなメ
ッセージリンクによって物理的に実現されるメッセージ
キューQ/M/Sと関係するようにもできる。
【0042】セマフォSEMのフォーマットを図5に示
す。
【0043】セマフォSEMは、下記の意味を有する複
数のフィールドを含む2つの32ビットワードで形成さ
れている: −STAGは、メッセージキューに関係し得るか否かに
従うセマフォのタイプを示しており、 −SMCは、関係キューが含み得る処理またはメッセー
ジの最大数を示しており、 −SCTは、その絶対値がキュー内に含まれる処理また
はメッセージの数を示し且つその符号が処理であるかメ
ッセージであるかを示す代数的な値であり、 −PQHP/MQHPは、キュー内の最初の処理または
メッセージリンクのアドレスを表わすポインタであり、 −MQTPは、キュー内の最後の処理またはメッセージ
リンクのアドレスを表わすポインタである。
【0044】メッセージリンクMLのフォーマットを図
6に示す。メッセージリンクMLは下記の意味を有する
複数のフィールドを含んでいる: −NLは、次のメッセージリンクのアドレスを示すポイ
ンタであり、 −SENDERは、メッセージの送り手である処理のア
イデンティティであり、 −MPLは、メッセージのプライオリティレベルに対応
しており、 −MTAGは、メッセージのタイプを規定するインジケ
ータであり、 −MESSAGEは、メッセージ自体のために確保され
ているゾーンである。
【0045】空きメッセージリンク待ち処理キューまた
は空きメッセージリンクキューの管理を可能にする特定
のセマフォ及び空き処理リンクキューを管理するセマフ
ォもある。
【0046】米国特許第4,395,757号は、処理
を同期化するためにセマフォがどのように使用されるか
を記述している。従って、ここではかかるオペレーショ
ンを詳細に記述することはしないが、それらは、最初は
ゼロであるセマフォのカウンタSCTをそれぞれ増分ま
たは減分する効果を有するPまたはVタイプ命令によっ
て行われる。正のSCTカウントは、少なくとも1つの
処理がセマフォに関係する事象またはメッセージを通知
したことを意味する。これとは反対に負のSCTカウン
トは、少なくとも1つの処理がセマフォと関係する事象
またはメッセージを待っていることを意味する。本発明
においてP及びV命令がどのように処理されるかを、図
8〜図11を参照して後述する。
【0047】図7は、システムにとってその管理に有効
な全てのデータをまとめる“システム制御ブロック”S
CBと称される異なるデータ構造を示す。特にSCB
は、ディスパッチングオペレーション時点で使用される
特定のフィールドを含んでいる。それらのフィールドは
下記の意味を有する: −RDYLKは、レディ状態処理キューQ/PR/RD
Yと関係するロックであり、 −CSTは、特定のプロセッサによって実行される予定
のシステム内に設定された処理の数を示す条件カウンタ
の値を含んでおり、 −MPDLは、プロセッサ間の対話に対するロックであ
り、 −SEMLKはそれぞれセマフォまたはセマフォ群に関
係するロック群であり、 −VLD−CPU−MSKは、そのディジタル分布によ
ってシステムの有効プロセッサを決定し得るマスクであ
り、 −IDLE−CPU−MSKは、そのディジタル分布に
よってシステム内の非アクティブプロセッサを決定し得
るマスクである。
【0048】次に、2つの特定の実施例、即ちセマフォ
に対するP及びVタイプ命令において本発明をどのよう
に実施し得るかを示す。
【0049】図8のフローチャートは、プロセッサCP
Uによって実行されたPタイプ命令によってトリガされ
るオペレーションを示す。プロセッサにおけるP命令の
出現とは、この命令を含む処理は、特定のセマフォに関
係する事象が発生したかまたはメッセージが送られてき
たかどうかを検証しないと、その実行を続行できないと
いうことを想起されたい。命令Pを実行することは、次
に説明する対応のマイクロプログラムを実行することで
ある。。
【0050】ステップ1は、命令Pにおいて識別された
セマフォと関係するロックSEMLKの“TEST A
ND SET”オペレーションである。これ自体は公知
のオペレーションは、システム制御ブロックSCB内に
含まれているロックSEMLKをアクセスすることから
なる。ロックが解除されているならば(SEMLK=
0)、ロックを占有状態にし(SEMLK:=1)、マ
イクロプログラムを続行する。これとは反対にロックが
かけられていれば(SEMLK=1)、マイクロプログ
ラムは、ロックが解除されるまでスタンバイを続ける。
【0051】次のステップ2は、セマフォSEMをアク
セスし、その内容を分析し、それを更新する処理を行な
うことからなるが、更新処理は特にカウントSCTを1
単位だけ減分することからなる。カウントSCTが正で
あったならば、これは、処理によって要求された事象ま
たはメッセージが既に通知されたことを意味している。
その場合にはステップ3においてロックSEMLKが解
除され(SEMLK:=0)、処理の次の命令を通常に
実行することができる。セマフォがメッセージを含むタ
イプのものであるならば、セマフォの更新は、1つのメ
ッセージリンクをメッセージキューから取り出すことか
らなることに留意されたい。更に、メッセージの内容は
プロセッサの作業用レジスタ内にロードされる。特定の
ケースでは、オペレーションは空きメッセージリンク待
ち処理の解放を行なうことができ、この場合にはマイク
ロプログラムは、この状況を取り扱う専用モジュールを
呼び出す。
【0052】カウントSCTが負またはゼロであったな
らば、処理の実行は割込まれねばならない。ステップ4
においてロックRDYLKのTEST AND SET
オペレーションが行われ、次いでステップ5において、
実行中の処理リンクCJPがQ/PR/RDYからセマ
フォSEM関係キューQ/PR/Sに移される。ステッ
プ6においてロックSEMLKは解除され、次いでステ
ップ7においてブロックSCBのフィールドCSTがテ
ストされる。もしCSTがゼロではないならば、これ
は、条件付き処理が存在することを意味する。そうする
とマイクロプログラムは、ステップ8においてロックR
DYLKを解除した後に中央モジュールCTSELに飛
ぶ。モジュールCTSELは、前出の仏国特許出願第9
0.06948号に従って実現することができる。
【0053】カウンタCSTがゼロであるならば、マイ
クロプログラムは、レディ状態処理キューQ/PR/R
DYから処理を取り出すケースでは新たな処理NJPを
選択するため、専用モジュールDQSELを呼び出す。
【0054】モジュールDQSELの実行はステップ9
から開始され、ステップ9は、レディ状態処理キューQ
/PR/RDYをアクセスし且つそれを分析する処理を
行なう。この分析は実質的に、キューQ/PR/RDY
(空ではないと仮定する)内のレディ状態処理NJPの
うちアクティブ状態に変更されねばならないものを選択
することからなる。次いでステップ10においてロック
RDYLKは解除される。
【0055】次のステップ11は、DQSELを実行し
ているプロセッサのプロセッサ制御ブロックCPCB内
に含まれているメールボックスロックDCLKをテスト
することからなる。ロックDCLKがかけられているな
らば(DCLK=1)、これは、プロセッサ間の対話が
既に進行中であり、結果的にディスパッチングにおける
対立が存在していることを意味する。そうするとマイク
ロプログラムは中央モジュールCTSELを呼び出す。
【0056】これとは反対にロックDCLKが解除され
ていれば(DCLK=0)、マイクロプログラムはステ
ップ12おいてこのロックをかけ(DCLK:=1)、
処理NJPに関係するリンクのビットDを1にする。次
いでステップ13が続き、選択された処理NJPの番号
がブロックCPCBの対応するフィールド内に登録され
る。ステップ13はモジュールEXECを呼び出し、次
にこれを図9を参照して説明する。
【0057】図9のフローチャートは、モジュールEX
ECを実行する任意のいずれかのプロセッサCPUiの
一般的ケースを示す。このモジュールは、プロセッサC
PUによって実行されるオペレーションDQSELによ
って呼び出されたときには、同じプロセッサによって実
行される、即ちCPUi=CPUであることが理解され
る。
【0058】モジュールEXECは、ステップ14にお
いて、実行されるべき処理NJPの番号を考慮するため
にプロセッサCPUiのプロセッサ制御ブロックCPC
Bをアクセスすることから開始する。次いでステップ1
5において、CPUiにおいて進行中の処理CPJの内
容を保存するために、この処理の処理制御ブロックPC
Bをアクセスする。次にステップ16において、ロック
RDYLKのTESTAND SETオペレーションを
実行し、次いでステップ17において、キューQ/PR
/RDYをアクセスしてそれを更新する。この更新は、
処理リンクCJPのビットRをゼロにセットすることか
らなる。更に、フィールドSTATEを“レディ、非ア
クティブ状態”にセットするためにCJPのブロックP
CBをアクセスする。次いでステップ18においてロッ
クRDYLKが解除される。ステップ19においては、
選択された処理NJPの処理制御ブロックPCBがアク
セスされ、この処理の内容がプロセッサのレジスタ内に
ロードされる。ステップ20において、プロセッサCP
UiのブロックCPCBがアクセスされ、そのロックD
CLKiが解除される。ロックRDYLKのTEST
AND SETオペレーションがステップ21において
再び実行され、次いでステップ22において、フィール
ドTENを更新し且つ処理リンクNJPのビットR及び
Dをそれぞれ1及び0にセットするために、キューQ/
PR/RDYが再びアクセスされる。更に、NJPのブ
ロックPCBのフィールドSTATEが“アクティブ”
状態にされる。このオペレーションの後、ステップ23
においてロックRDYLKは再び解除される。
【0059】Vタイプ命令によってトリガされるオペレ
ーションを図10のフローチャートに示す。V命令は、
P命令に相補的な命令である。これは、この命令を含む
処理が事象またはメッセージを特定のセマフォに通知す
ることを意味する。
【0060】V命令を実行するためのマイクロプログラ
ムはステップ24において、命令Vにおいて識別された
セマフォSEMと関係するロックSEMLKにおけるT
EST AND SETオペレーションから開始する。
ステップ25は、セマフォをアクセスし、その内容を分
析し、それを更新することからなり、更新は特に、カウ
ントSCTを1単位だけ増分することからなる。カウン
トSCTが正またはゼロであったならば、これは、命令
Vによって通知された事象またはメッセージを待ってい
る処理はないこと意味する。その場合にはステップ26
においてロックSEMLKが解除され、処理の次の命令
が正常に実行され得る。セマフォがメッセージを含むタ
イプのものであるならば、セマフォの更新は更に、メッ
セージリンクをメッセージキューに加えることからな
る。もはや空きメッセージリンクがない特定のケースに
おいては、マイクロプログラムは、この状況を取扱うた
めに専用モジュールを呼び出す。
【0061】カウントSCTが負であったならば、これ
は、少なくとも1つの処理がセマフォに関係するキュー
Q/PR/S内の事象またはメッセージを待っているこ
とを意味する。次いでステップ27において、キューQ
/PR/Sから取り出され且つレディ状態処理キューQ
/PR/RDYに入れられねばならない処理NJPを選
択するためにこのキューが分析される。このために、ス
テップ28においてロックRDYLKにおけるTEST
AND SETオペレーションが実行され、次いでス
テップ29において、選択された処理リンクNJPがキ
ューQ/PR/SからキューQ/PR/RDYにシフト
される。次いでステップ30においてロックSEMLK
は解除される。
【0062】次いでステップ31においてカウンタCS
Tがテストされる。CSTがゼロでないならば、マイク
ロプログラムは中央モジュールCTSELにジャンプす
る。これとは反対にカウンタCSTがゼロであるなら
ば、マイクロプログラムは、処理をレディ状態処理キュ
ーQ/PR/RDYに加える状況を取扱うために専用モ
ジュールEQSELを呼び出す。
【0063】モジュールEQSELの実行はステップ3
3において、新たな処理NJPがアクティブになる必要
があるか判断し、もしそうならば、プロセッサCPU,
CPUiのうちのどれがそれを実行すべきかを選択する
ために、レディ状態処理キューQ/PR/RDYをアク
セスする処理を行なう。このオペレーションは、ポイン
タが最低プライオリティを有する最後のアクティブ処理
のリンクにあるならば極めて単純なものとなり得る。そ
の場合には、NJPのプライオリティレベルとポインタ
によって示されている処理のそれとを比較すれば十分で
ある。NJPが同じかまたはより低いプライオリティを
有するならば、それは選択されない。これとは反対にN
JPがより高いプライオリティを有するならば、NJP
はこの処理に置き換わらねばならず、この処理のリンク
のフィールドTENによって問題のプロセッサが示され
る。
【0064】処理NJPが選択されなかったならば、オ
ペレーションはステップ34においてロックRDYLK
を解除して終了する。
【0065】これとは反対に処理NJPが選択されたな
らば、システムのプロセッサCPU,CPUiの1つ
は、進行中の処理を選択された処理NJPと置き換える
ために、その実行に割込む必要がある。選択されたプロ
セッサが、モジュールEQSELを実行しているプロセ
ッサCPUであったならば、そのときはステップ35に
おいてロックRDYLKを解除してオペレーションは続
行され、次いでステップ36においてプロセッサCPU
のメールボックスのロックDCLKがテストされる。ロ
ックがかけられているならば、マイクロプログラムは中
央モジュールCTSELにジャンプする。これとは反対
にロックDCLKが解除されているならば、ステップ3
7においてマイクロプログラムはこのロックをかけ、ス
テップ38において、選択された処理NJPの番号をプ
ロセッサCPUのブロックCPCBの対応するフィール
ド内に登録する処理に進む。ステップ38は、図9を参
照して説明されるモジュールEXECを呼び出して終了
する。
【0066】ステップ33において行われた分析によっ
て別のプロセッサCPUiが選択されたならば、ステッ
プ39においてロックRDYLKは解除され、マイクロ
プログラムは図11に示したオペレーションAを続け
る。
【0067】次のステップ40は、対話ロックMPDL
のテストを実行する。このロックがかけられているなら
ば、マイクロプログラムは中央モジュールCTSELに
ジャンプする。これとは反対にMPDLが解除されてい
るならば、ステップ41においてマイクロプログラムは
このロックをかける。次にステップ42において、マイ
クロプログラムは、選択されたプロセッサCPUiのメ
ールボックスロックDCLKiをテストする。ロックD
CLKiがかけられているならば、マイクロプログラム
はステップ43においてMPDLを解除した後に、中央
モジュールCTSELにジャンプする。これとは反対に
DCLKiが解除されているならば、マイクロプログラ
ムはステップ44においてロックをかける。次いでステ
ップ45へ進み、選択された処理NJPの番号を、選択
されたプロセッサCPUiのブロックCPCBの対応す
るフィールド内に登録する。
【0068】次いでマイクロプログラムはステップ46
において、割込みEXECiをプロセッサCPUiに送
ることによりプロセッサ間の対話手段を使用する。次に
ステップ47においてマイクロプログラムは、プロセッ
サCPUiによって送られるべき肯定応答を待つ状態に
入る。一旦この肯定応答を受け取ると、ステップ48に
おいて対話ロックMPDLは解除され、これでオペレー
ションは終了する。そうするとプロセッサは、それに割
り当てられた処理の実行を継続することができる。
【0069】ステップ46において割込みEXECiが
プロセッサCPUiに送られると、このプロセッサにお
いて割込みマネージャが能動化され、割込みマネージャ
は図9を参照して既に説明したモジュールEXECを呼
び出す。従って、メールボックスロックDCLKiが解
除されるのは、ステップ20においてこのモジュールが
実行されている間だけである。
【0070】上記実施例の大きな特徴は、プロセッサに
おけるこの同じプロセッサによるモジュールEXECの
呼び出し(図8のステップ13及び図10のステップ3
8)が、プロセッサがそれ自体にメッセージを通知し得
る前出の仏国特許出願第90.06948号に記載の汎
用割込み機構によって行われるようになっていることで
ある。このような場合には、対話ロックMPDLは関与
しないことが理解される。
【0071】オペレーションを更に最適化するために
は、ブロックSCBのフィールドCSTが対立インジケ
ータを含むようにすることができ、この対立インジケー
タは、ロックDCLK及びMPDLのテスト(ステップ
11、37、40)の際に対立が検出されるごとに0で
ない状態におかれる。即ち、CSTのテスト(ステップ
7、31)によって、ディスパッチングオペレーション
間のいかなる対立の存在も極めて迅速に認識される。
【0072】上述のセマフォによるオペレーションP及
びVの詳細な説明は、ディスパッチングの分散実行を可
能するため専用モジュールEQSEL及びDQSELを
中央モジュールCTSELとどのように協働させて使用
して、並行処理の可能性を増大するかを示している。特
に、複数のプロセッサが異なるディスパッチングオペレ
ーションの所定のフェーズを同時に実行でき、唯一の制
約条件は、所定の共有資源(セマフォ,キューQ/PR
/RDY、対話機構、メールボックス)への同時アクセ
スが禁止されていることであることに留意されたい。か
かる禁止は、かかる資源に関係するロックによって極め
て単純に保証され、従ってシステムの保全性を保証す
る。
【0073】当然ながらモジュールEQSEL及びDQ
SELは、命令P及びV以外の命令にも応答して介在し
得る。これは特に、その機能は新たな処理をシステムに
導入することである命令STARTにも当てはまる。
【0074】本発明によれば、システムオペレーション
の内容に応じて選択される他の専用モジュールを備える
こともできる。例えば、命令が処理リンクのキューQ/
PR/RDYへのシフトを指示するケースに対してはモ
ジュールCHSELを備えることができる。これは例え
ば、それを含む処理のプライオリティレベルを変更する
命令CHOPや、処理の実行権を与える結果となる命令
RLQにも当てはまる。
【0075】これらの他のケースを扱うマイクロプログ
ラムは、前述のモジュールEQSEL及びDQSELの
詳細な説明を利用することにより実現することができ
る。当業者はこれらを独自に実現し得るであろうし、更
なる説明は必要ないであろう。
【図面の簡単な説明】
【図1】本発明を実施するための情報処理システムの中
央サブシステムを示す。
【図2】ディスパッチングオペレーションに使用される
処理制御ブロックのフォーマットを示す。
【図3】プロセッサ制御ブロックのフォーマットを示
す。
【図4】種々の処理キューに使用される処理リンクのフ
ォーマットを示す。
【図5】セマフォのフォーマットを示す。
【図6】セマフォに関係するメッセージキューを形成す
る役割を果たすメッセージリンクのフォーマットを示
す。
【図7】ディスパッチングオペレーションの際に使用さ
れるシステムデータを含むシステム制御ブロックのフォ
ーマットを示す。
【図8】セマフォによるPタイプ命令の実行示すフロー
チャートである。
【図9】マイクロプログラムEXECのフローチャート
である。
【図10】セマフォによるVタイプオペレーションのフ
ローチャートを示す。
【図11】セマフォによるVタイプオペレーションのフ
ローチャートの続きを示す。
【符号の説明】
CPU,CPUi プロセッサ DTS データバス ADS アドレスバス CDS 制御ライン SB システムバス IOU 入/出力装置 MU 中央記憶装置
フロントページの続き (56)参考文献 特開 平2−27465(JP,A) 特開 昭62−200449(JP,A) 特開 平3−127164(JP,A) 特開 平3−24630(JP,A) 特開 平3−46051(JP,A) 特開 平2−190960(JP,A) 特公 昭64−6488(JP,B2) 6TH SYMPOSIUM ON RELIABILITY IN DIS TRIBUTED SOFTWARE AND DATABASE SYSTE MS 17 MARS 1987 PAGES 32−42 KARSTEN SCHWAN,TH OMAS E.BIHARI,BEN A.BLAKE 「ADAPTIVE,RELIABL E SOFTWARE FOR DIS TRIBUTED AND PARAL LEL REAL−TIME SYST EMS」

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサ(CPU)を備えた
    ルチプロセッサ情報処理システムであって、各プロセッサが、マイクロプログラム化された手段(C
    P)を備え、 前記マイクロプログラム化された手段が、
    前記プロセッサによってその割り込みが検出された事象
    に応答して、実行されるプロセスの選択及びプロセスを
    実行するプロセッサの選択の変更を行うために、特定の
    事象の分類に応じて、最低のプライオリティを有する最
    後のアクティブ処理にリンクしたポインタによって、割
    り当ての決定を行うための少なくとも一つの専用マイク
    ロプログラムモジュール(CHSEL,DQSEL,E
    QSEL)と、前記専用マイクロプログラムモジュール
    によって取り扱われる事象以外の事象に対して、前記割
    り当ての決定を行うための中央マイクロプログラムモジ
    ュール(CTSEL)とを実行することを特徴とするマ
    ルチプロセッサ情報処理システム。
  2. 【請求項2】 特定の事象の前記分類の各々が、前記マ
    イクロプログラム化された手段が前記プロセッサに処理
    を割り当てる間に起こる確率が最も高い事象を含むこと
    を特徴とする請求項1に記載のシステム。
  3. 【請求項3】 特定事象の前記分類の各々が、実行され
    る処理及び前記処理を実行するプロセッサの選択を単に
    変更するだけである事象を含むことを特徴とする請求項
    1又は請求項2に記載のシステム。
  4. 【請求項4】 システムで実行され得る処理(JP)の
    アイデンティティが、事象待ちの処理の待ち行列(Q/
    PR/S)又は少なくとも一つのレディ状態の処理の待
    ち行列(キュー)(Q/PR/RDY)内に記憶されて
    おり、事象待ちの処理とは、プロセッサにおいて動作可
    能な処理であり、レディ状態の処理とは、プロセッサを
    待っている処理であって、前記待ち行列がリンクとして
    知られるデータ構造によって実現されている場合に、特
    定事象の前記分類の各々が、レディ状態の処理の待ち行
    列における単一の処理をそれぞれ追加したり、削除した
    り、移動したりする事象を含むことを特徴とする請求項
    3に記載のシステム。
  5. 【請求項5】 前記レディ状態の処理の待ち行列が、一
    度にただ一つのプロセッサのみが前記レディ状態の待ち
    行列の状態を変更することができることを保証するため
    に、前記マイクロプログラム化された手段によって使用
    されるロック(RDYLK)を備えていることを特徴と
    する請求項4に記載のシステム。
  6. 【請求項6】 前記事象待ちの処理の待ち行列が、一度
    にただ一つのプロセッサのみが前記事象待ち状態の処理
    の待ち行列の状態を変更し得ることを保証するために、
    前記マイクロプログラム化された手段によって使用され
    る少なくとも一つのロック(SEMLK)を備えている
    ことを特徴とする請求項4又は請求項5に記載のシステ
    ム。
  7. 【請求項7】 実行されるべき新たな処理(NJP)の
    アイデンティティを他のプロセッサ(CPUi)に通知
    するリクエスト(EXECi)を発信するために、前記
    マイクロプログラム化された手段によって使用される処
    理間の対話手段を含んでおり、前記対話手段が、割り当
    ての実行中に、一度にただ一つのプロセッサのみが前記
    リクエストを発信することを保証するために、前記マイ
    クロプログラム化された手段によって使用される第1の
    対話ロック(MPDL)を備えており、前記専用マイク
    ロプログラムモジュールの実行が対話を行い、前記対話
    ロックがかけられている場合には、各専用マイクロプロ
    グラムモジュールがその実行を停止し且つ前記中央マイ
    クロプログラムモジュールを呼び出すように設計されて
    いることを特徴とする請求項1から請求項6のいずれか
    一項に記載のシステム。
  8. 【請求項8】 前記対話手段が、各プロセッサに前記リ
    クエスト(EXECi)を送信するために、前記マイク
    ロプログラム化された手段によって使用されるメイルボ
    ックス(CPCB)を含んでおり、前記メイルボックス
    の各々が、割り当ての実行中に、リクエストを発信した
    プロセッサにより占有状態にされ且つプロセッサに申し
    込まれたリクエスト実行後に解除されるロック(DCL
    K)を備えており、前記専用マイクロプログラムモジュ
    ールの実行がリクエストをプロセッサに送り、そのメイ
    ルボックスのロックがかけられている場合には、各専用
    マイクロプログラムモジュールがその実行を停止し且つ
    前記中央マイクロプログラムモジュールを呼び出すよう
    に設計されていることを特徴とする請求項7に記載のシ
    ステム。
  9. 【請求項9】 制約条件のある処理、即ちその実行があ
    る特定のプロセッサによって行われるべき処理がシステ
    ム内に存在するかどうかを、その状態が示している、予
    め定められた条件インジケータ(CST)を含んでお
    り、前記マイクロプログラム化された手段が、前記イン
    ジケータが制約条件の存在を知らせているときには、処
    理のプロセッサへの割当が前記中央マイクロプログラム
    モジュールによって行われるように設計されていること
    を特徴とする請求項1から請求項8のいずれか一項に記
    載のシステム。
JP4292966A 1991-10-30 1992-10-30 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム Expired - Lifetime JP2690435B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9113431A FR2683344B1 (fr) 1991-10-30 1991-10-30 Systeme multiprocesseur avec moyens microprogrammes pour la repartition des processus aux processeurs.
FR9113431 1991-10-30

Publications (2)

Publication Number Publication Date
JPH05250337A JPH05250337A (ja) 1993-09-28
JP2690435B2 true JP2690435B2 (ja) 1997-12-10

Family

ID=9418483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4292966A Expired - Lifetime JP2690435B2 (ja) 1991-10-30 1992-10-30 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム

Country Status (5)

Country Link
US (1) US5745757A (ja)
EP (1) EP0540383B1 (ja)
JP (1) JP2690435B2 (ja)
DE (1) DE69231201T2 (ja)
FR (1) FR2683344B1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
JP3780732B2 (ja) 1999-03-10 2006-05-31 株式会社日立製作所 分散制御システム
US6539542B1 (en) * 1999-10-20 2003-03-25 Verizon Corporate Services Group Inc. System and method for automatically optimizing heterogenous multiprocessor software performance
US6898650B1 (en) * 2000-08-10 2005-05-24 Novell, Inc. Queueing method supporting multiple client accesses simultaneously
US7203782B1 (en) 2000-04-12 2007-04-10 Novell, Inc. Queueing method supporting multiple client accesses simultaneously
US6782410B1 (en) * 2000-08-28 2004-08-24 Ncr Corporation Method for managing user and server applications in a multiprocessor computer system
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7856618B2 (en) 2005-08-04 2010-12-21 International Business Machines Corporation Adaptively generating code for a computer program
US20070033592A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors
US9268611B2 (en) * 2010-09-25 2016-02-23 Intel Corporation Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4286322A (en) * 1979-07-03 1981-08-25 International Business Machines Corporation Task handling apparatus
FR2471631B1 (fr) * 1979-12-11 1986-02-21 Cii Honeywell Bull Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus
US4590550A (en) * 1983-06-29 1986-05-20 International Business Machines Corporation Internally distributed monitoring system
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
JPS646488A (en) * 1987-12-28 1989-01-11 Shinko Arufuretsushiyu Kk Method of executing remodelled window frame
US4965716A (en) * 1988-03-11 1990-10-23 International Business Machines Corporation Fast access priority queue for managing multiple messages at a communications node or managing multiple programs in a multiprogrammed data processor
EP0403229A1 (en) * 1989-06-13 1990-12-19 Digital Equipment Corporation Method and apparatus for scheduling tasks in repeated iterations in a digital data processing system having multiple processors
JP2875284B2 (ja) * 1989-06-23 1999-03-31 株式会社日立製作所 計算機システム及びその課金処理方法
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5452452A (en) * 1990-06-11 1995-09-19 Cray Research, Inc. System having integrated dispatcher for self scheduling processors to execute multiple types of processes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
「ADAPTIVE,RELIABLE SOFTWARE FOR DISTRIBUTED AND PARALLEL REAL−TIME SYSTEMS」
6TH SYMPOSIUM ON RELIABILITY IN DISTRIBUTED SOFTWARE AND DATABASE SYSTEMS 17 MARS 1987 PAGES32−42
KARSTEN SCHWAN,THOMAS E.BIHARI,BEN A.BLAKE

Also Published As

Publication number Publication date
EP0540383A1 (fr) 1993-05-05
DE69231201T2 (de) 2001-03-01
US5745757A (en) 1998-04-28
FR2683344B1 (fr) 1996-09-20
EP0540383B1 (fr) 2000-06-28
DE69231201D1 (de) 2000-08-03
FR2683344A1 (fr) 1993-05-07
JPH05250337A (ja) 1993-09-28

Similar Documents

Publication Publication Date Title
US5448732A (en) Multiprocessor system and process synchronization method therefor
US4123795A (en) Control system for a stored program multiprocessor computer
US4387427A (en) Hardware scheduler/dispatcher for data processing system
US5333319A (en) Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
US5010482A (en) Multi-event mechanism for queuing happened events for a large data processing system
US4796178A (en) Special purpose processor for off-loading many operating system functions in a large data processing system
US5748959A (en) Method of conducting asynchronous distributed collective operations
CN107577539B (zh) 用于内核态和用户态通讯的共享内存结构及其应用
US20150254113A1 (en) Lock Spin Wait Operation for Multi-Threaded Applications in a Multi-Core Computing Environment
JP2690435B2 (ja) 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム
US4418385A (en) Method and device for arbitration of access conflicts between an asynchronous trap and a program in a critical section
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
US11301297B2 (en) Processing system for dispatching tasks and memory access method thereof
EP1693743A2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
CA1299758C (en) Task scheduling mechanism for large data processing systems
WO2023241307A1 (zh) 管理线程的方法及装置
EP3702911A2 (en) Hardware for supporting os driven load anticipation based on variable sized load units
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
US8689230B2 (en) Determination of running status of logical processor
US20050223383A1 (en) Methods and apparatus for reserving an execution thread
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
US9513973B2 (en) Device and method for synchronizing tasks executed in parallel on a platform comprising several calculation units
US11385927B2 (en) Interrupt servicing in userspace
US11294716B2 (en) Processing system for managing process and its acceleration method
JP2021060707A (ja) 同期制御システムおよび同期制御方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 16