JPH04213733A - 仮想プロセッサ方式 - Google Patents

仮想プロセッサ方式

Info

Publication number
JPH04213733A
JPH04213733A JP40148490A JP40148490A JPH04213733A JP H04213733 A JPH04213733 A JP H04213733A JP 40148490 A JP40148490 A JP 40148490A JP 40148490 A JP40148490 A JP 40148490A JP H04213733 A JPH04213733 A JP H04213733A
Authority
JP
Japan
Prior art keywords
virtual processor
processor
state
execution
specified
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
JP40148490A
Other languages
English (en)
Inventor
Hisayuki Aoki
青木 久幸
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 JP40148490A priority Critical patent/JPH04213733A/ja
Publication of JPH04213733A publication Critical patent/JPH04213733A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共有メモリを持ったマ
ルチプロセッサシステムにおいて、複数プロセッサ上で
並列動作する仮想プロセッサ方式に関する。
【0002】
【従来の技術】マルチプロセッサシステム上で動作する
プログラムは、処理全体をいくつかの並列動作可能な部
分に分割し、これらの各部分を別々のプロセッサで処理
させることにより、複数あるプロセッサを有効に使うこ
とが可能になる。しかし、一般的にはプロセッサ台数と
並列動作可能な部分の数は同じではない。特に、プロセ
ッサ台数のほうが少ない場合は、単純にこの方式を適用
すると、プロセッサが割り当てられない処理が発生し、
処理全体が完結しない。汎用のシステムでは行われる処
理の並列動作可能な部分の数に合わせてプロセッサ台数
を変更することは難しいし、ひとつの処理の中でも処理
の進行に応じて並列動作可能な部分の数が変化する。従
って、システムの並列動作可能な部分への分割数とプロ
セッサ台数とが同じでなくても問題なく処理できるよう
な工夫が必要になる。
【0003】上記の問題を解決する処理の流れの制御方
式としては、並列動作可能な部分をプロセスと呼ばれる
仮想的なハードウェア上で実行させるプロセス方式(久
保秀士著:「OS概論」、第4章)がよく使われている
。この方式はオペレーティングシステム(以降OSと略
す)でよく採用されており、各ユーザプログラムの処理
が並列動作可能な単位として選択されている。OSの中
も中核部以外はユーザプログラムと対等なレベルで構成
することによって、並列動作可能な部分のひとつにする
ことができる。この方式の特徴は、システムのハードウ
ェア資源全体を時分割または容量分割し、各プロセスに
割り当てることである。このために、プロセス同士は完
全に隔離されて動作できる。
【0004】上記のプロセス方式に対して、スレッドと
呼ばれる仮想的なプロセッサによる方式(Mike  
Accetta,  Robert  Baron, 
 William  Bolosky,  David
  Golb,  RichardRashid,  
Avadis  Tevanian,  Michae
l  Young:”Mach:  A  New  
Foundation  for  UNIX  De
velopment”,  Proceedings 
 of  Summer  Usenix,  Jul
y,  1986)がある。この方式は、OS上でプロ
セスとして動作するユーザプログラムの中を、さらに複
数の並列動作可能な部分に分割し、これらを別々のプロ
セッサで同時実行可能としたものである。この並列動作
可能な部分のひとつの処理の流れがスレッドと呼ばれる
。この方式の特徴は、プロセッサのみを分割して各スレ
ッドに割り当て、メモリなどの他のハードウェア資源は
スレッド間で共有する点にある。このために、スレッド
自体の制御はプロセスの制御に比べて軽くなっている。
【0005】
【発明が解決しようとする課題】以上説明した従来の方
式には、次にあげる問題点がある。
【0006】先ず、プロセス方式においては、ハードウ
ェア資源全体の分割割り当てを行うので、制御自体が非
常に複雑になり、制御のためのオーバーヘッドが大きい
。このため、あまり細かな部分を並列動作させても効果
が出ない。また、このプロセスの概念を実現するOS中
核部の処理は非プロセスの処理として実装せざるを得な
い。OS中核部の制御が複雑になるので、この非プロセ
スの部分がかなり大きくなる。このため、本質的に並列
動作可能なOS中核部の処理があっても構造的に並列化
できないという欠点がある。一方、スレッドと呼ばれる
仮想的なプロセッサによる方式においては、プロセスの
概念を前提にしており、別々のプロセスに属するスレッ
ド間の資源割り当ての調整などはプロセス方式における
プロセス間の制御と同じことが行われる。スレッドの制
御とプロセスの制御がOS中核部で行われるので、OS
中核部はプロセス方式に比べるとむしろ大きくなる。 つまり、システム全体で見ると構造的に並列動作不可能
な部分はより多くなる。
【0007】また、ハードウェアレベルで処理の流れを
乱す場合として、プロセッサの外部から事象が通知され
る割り込みと、プロセッサの動作が原因で発生する例外
がある。通常のプロッサでは、これらの事象が発生する
と、その時点のレジスタイメージを待避し、事前に登録
されていたレジスタイメージをロードする。このように
処理の流れの切り換えがハードウェアレベルで自動的に
発生してしまうので、処理の流れの制御を乱すことにな
る。従来の方式では、このような乱れに対して共通の具
体的な手段を提供していない。このために、この乱れ吸
収する部分はシステムによって様々な方法で解決されて
いる。解決の方法によっては、その部分がプロセスやス
レッドとは別の管理単位になるために、並列動作が困難
になるなどの弊害が発生する。従って、この乱れを上手
に吸収する必要がある。
【0008】本発明の目的は、並列動作可能な部分を複
数プロセッサで同時実行させるためには必要でない制御
を外すことによって、制御のオーバーヘッドを軽くする
と同時に、構造的に並列化不可能な部分を小さくするこ
とである。
【0009】本発明の他の目的は、割り込みと例外に対
する処理を他の通常処理と同一の管理単位で実行させる
ことにより、通常処理と同じ制御機構で並列動作を可能
にすることである。
【0010】
【課題を解決するための手段】請求項1の仮想プロセッ
サ方式は、複数台のプロセッサと、全てのプロセッサか
ら読み書き可能な共有メモリと、指定された実行待ち状
態の仮想プロセッサを指定された停止状態のプロセッサ
で実行させるプロセッサ起動手段と、実行状態であった
仮想プロセッサを実行待ち状態にし指定された実行待ち
状態の仮想プロセッサを動作させる仮想プロセッサ切り
換え手段と、実行状態であった仮想プロセッサを消滅さ
せ指定された実行待ち状態の仮想プロセッサを動作させ
る仮想プロセッサ消滅手段と、実行状態であった仮想プ
ロセッサを実行待ち状態にし動作中のプロセッサを停止
状態にするプロセッサ停止手段と、新しく実行待ち状態
の仮想プロセッサを生成する仮想プロセッサ生成手段と
を有している。
【0011】請求項2の仮想プロセッサ方式は、請求項
1の発明に加えて、実行状態であった仮想プロセッサを
割り込み待ち状態にし指定された実行待ち状態の仮想プ
ロセッサを動作させる割り込み待ち設定手段と、割り込
みが発生したときに動作し実行状態であった仮想プロセ
ッサを実行待ち状態にし前記割り込み待ち設定手段によ
って割り込み待ち状態として設定された仮想プロセッサ
を実行状態にする割り込み処理起動手段とを有している
【0012】請求項3の仮想プロセッサ方式は、請求項
1の発明に加えて、実行状態の仮想プロセッサの例外時
に待避すべき情報の待避領域と例外時に復元すべき情報
の復元領域をコンテキストの一部として設定する待避復
元領域設定手段と、例外が発生したときに動作し、前記
待避復元領域設定手段で設定された待避領域に例外発生
時に待避すべき情報を待避し、前記待避復元領域設定手
段で設定された復元領域から例外発生時に復元すべき情
報を復元する例外処理起動手段と、前記待避復元領域設
定手段で設定された待避領域からコンテキストを復元す
る例外処理復帰手段とを有する。
【0013】
【作用】まず、並列動作可能な部分の数とプロセッサ台
数が同じでなくても正常に処理が可能になる点を説明す
る。仮想プロセッサ生成手段によって、新しい処理の管
理単位が生成される。この管理単位を仮想プロセッサと
呼ぶ。この仮想プロセッサは、いずれかのプロセッサで
実行されている実行状態と最後に実行されたときのレジ
スタイメージ(以降仮想プロセッサのコンテキストと呼
ぶ)が共有メモリに待避されている待ち状態とがある。 実行状態は処理の進行に伴ってコンテキストが変化して
いる状態であり、待ち状態はコンテキストが変化しない
状態である。仮想プロセッサ切り換え手段は、あるプロ
セッサがそれまで実行していた仮想プロセッサとは別の
仮想プロセッサの実行を可能とする。仮想プロセッサ消
滅手段は、処理の完了したコンテキストを破棄すること
を可能にする。これらの手段を組み合わせることによっ
て、プロセッサ台数とは直接関係のない数の仮想プロセ
ッサ、つまり、処理の流れを扱うことが可能になる。さ
らに、仮想プロセッサの数は処理の進行に応じてその数
を変化させることも可能である。次に、プロセッサ起動
手段によっていままで停止していたプロセッサを起動し
たり、プロセッサ停止手段によっていままで動作してい
たプロセッサを停止することもできる。これらの手段に
よって、仮想プロセッサの数に応じて動作するプロセッ
サの数を調節することが可能になる。なお、仮想プロセ
ッサ消滅手段とプロセッサ起動手段は、同時に仮想プロ
セッサ切り換えも行う。これは、動作中のプロセッサが
常にいずれかの仮想プロセッサを実行しているようにす
るためである。以上のように、ひとつの並列動作可能な
部分をひとつの仮想プロセッサで実行させることにより
、プロセッサ台数とは関係のない数の並列動作可能な処
理の流れを、矛盾なくかつプロセッサの空き時間なしで
、実行させることが可能になる。
【0014】続いて、従来の方式よりも制御のためのオ
ーバーヘッドが軽い点を説明する。実施例で詳細に説明
するように本発明の方式はコンテキストの生成・消滅・
切り換えしか行わない。これに対して、プロセスによる
方式は各プロセス固有のハードウェア資源全体の管理を
行う。特に、プロセス固有のメモリの割当・解放はコン
テキスト切り換えに比べると非常に重い処理になる。さ
らに、プロセスによる方式もスレッドによる方式も、そ
の切り換え処理で次に実行すべきプロセスやスレッドの
選択処理を行う。アルゴリズムにも依存するがこの選択
の処理もコンテキストの切り換えに比べると時間のかか
る処理である。このように、プロセッサ以外のハードウ
ェア資源(特にメモリ)の割当・解放や次に動かすべき
処理の選択を行わない分、本発明の方式のほうが軽くで
きる。なお、従来の方式はいずれもコンテキスト切り換
えは行われる。
【0015】次に、従来の方式よりも制御機構を小さく
できることを説明する。制御のためのオーバーヘッドが
軽い点の説明で示したように、本発明の方式のほうが従
来の方式に比べて機能が少ない。従って、方式を実現す
るための機構は小さくなる。
【0016】次に、割り込みに対する処理を仮想プロセ
ッサで実現できることを説明する。割り込み発生時には
、発生時点で動作していた処理とは直接関係のない処理
を必要とする。従って、割り込みに対応した処理は、発
生時点で動作していた仮想プロセッサとは別の仮想プロ
セッサで実行させるべきである。請求項2の発明では、
割り込み待ち設定手段により、割り込みが発生したとき
動作させる仮想プロセッサを設定し、割り込み発生時に
割り込み処理起動手段によって、割り込み処理用の仮想
プロセッサを動作させる。このように、事前に割り込み
用の仮想プロセッサを設定することによって、割り込み
処理を独立した仮想プロセッサで実行させることが可能
になる。これによって、割り込みの処理も他の処理と並
列動作可能になる。
【0017】最後に、例外に対する処理を仮想プロセッ
サで実行できることを説明する。例外発生時には、発生
時点で動作していた仮想プロセッサと関連のある処理を
必要とする。また、発生した時点で動作していた仮想プ
ロセッサは、例外の処理が終わるまで再開できない。従
って、例外に対応した処理は、発生時点で動作していた
仮想プロセッサ上で動作させるのが適切である。請求項
3の発明では、例外発生時のコンテキストの一部(実施
例では「例外発生時に待避すべき情報」と呼んでいるも
ので、プログラムカウンタとプロセッサステータスワー
ドは最低限含まれる)を待避する領域と、例外発生時に
起動する処理のコンテキストの一部(実施例では「例外
発生時に復元すべき」と呼んでいるもので、プログラム
カウンタとプロセッサステータスワードは最低限含まれ
る)を格納する領域を設定し、例外発生時にコンテキス
トの一部を切り換え、例外の処理が終わったら待避され
たコンテキストの一部を復帰することによって、例外に
対する処理を例外発生時に動作していた仮想プロセッサ
上で実行させることを可能にする。これによって、例外
の処理も、例外発生時に動作していた仮想プロセッサの
処理以外の処理とは並列動作可能になる。なお、請求項
3の発明は例外発生時にハードウェアが行っている処理
をまねているだけのように見えるが、重要な相違点は、
待避領域と復元領域が仮想プロセッサ切り換えに連動し
て切り換わる点にある。この機能のために、同じ例外が
同じプロセッサで発生しても、動作している仮想プロセ
ッサに応じた例外処理が可能になる。逆に言えば、ある
仮想プロセッサで発生した例外は、どのプロセッサで実
行されていても、間違いなく自分の指定した処理に落と
すことが可能になる。単純に、ハードウェアの機能だけ
では、常に同じ処理しか行えない。
【0018】
【実施例】次に請求項1の発明について図面を参照して
詳細に説明する。図1に示すように、請求項1の発明の
実施例は、複数台のプロセッサ10と、全てのプロセッ
サ10から読み書き可能な共有メモリ20と、指定され
た実行待ち状態12の仮想プロセッサを指定された停止
状態のプロセッサ10で実行させるプロセッサ起動手段
30と、それまで実行状態11であった仮想プロセッサ
を実行待ち状態12にし指定された実行待ち状態12の
仮想プロセッサを動作させる仮想プロセッサ切り換え手
段40と、それまで実行状態11であった仮想プロセッ
サを消滅させ指定された実行待ち状態12の仮想プロセ
ッサを動作させる仮想プロセッサ消滅手段50と、それ
まで実行状態11であった仮想プロセッサを実行待ち状
態12にし動作中のプロセッサ10を停止状態にするプ
ロセッサ停止手段60と、新しく実行待ち状態12の仮
想プロセッサを生成する仮想プロセッサ生成手段70と
から構成される。
【0019】図2はプロセッサ起動手段30の処理を示
す流れ図である。プロセッサ起動手段30は、プロセッ
サ起動手段呼び出し側の処理と、起動するように指定さ
れたプロセッサ側の処理とに大きく分かれる。プロセッ
サ起動手段呼び出し側の処理は、ステップ31で指定さ
れたプロセッサに起動を意味するプロセッサ間割り込み
を通知し、呼び出し元に戻る。起動されるプロセッサ側
の処理は、プロセッサ起動を意味する割り込みを受け取
ると、ステップ32で指定された仮想プロセッサのコン
テキストをレジスタに復元し、このコンテキストの処理
に戻る。これは、中断された仮想プロセッサの処理を再
開することを意味する。
【0020】図3は仮想プロセッサ切り換え手段40の
処理を示す流れ図である。仮想プロセッサ切り換え手段
40は、ステップ41で、それまで動作していた仮想プ
ロセッサのコンテキストを共有メモリ20に待避し、ス
テップ42で、仮想プロセッサ切り換え手段呼び出し元
から指定された仮想プロセッサのコンテキストを共有メ
モリ20からレジスタに復元し、このコンテキストの処
理に戻る。
【0021】図4は仮想プロセッサ消滅手段50の処理
を示す流れ図である。仮想プロセッサ消滅手段50は、
ステップ51で、仮想プロセッサ生成手段70で割り当
てられた共有メモリ20上のコンテキスト待避領域を解
放し、ステップ52で、仮想プロセッサ消滅手段50の
呼び出し元から指定された仮想プロセッサのコンテキス
トを共有メモリ20からレジスタに復元し、このコンテ
キストの処理に戻る。
【0022】図5はプロセッサ停止手段60の処理を示
す流れ図である。プロセッサ停止手段60は、ステップ
61で、それまで動作していた仮想プロセッサのコンテ
キストを共有メモリ20に待避し、ステップ62で停止
状態になる。以降このプロセッサはプロセッサ起動手段
30によって起動されるまで停止する。
【0023】図6は仮想プロセッサ生成手段70の処理
を示す流れ図である。仮想プロセッサ生成手段70は、
ステップ71で、新しく生成される仮想プロセッサのコ
ンテキストを待避する領域を共有メモリ20上に確保し
、ステップ72で、ステップ71で確保された領域を初
期化する。初期化には、仮想プロセッサ生成手段70を
起動した仮想プロセッサのコンテキストを複写する方法
、システムであらかじめ定められている値にする方法、
事前に指定された値にする方法、仮想プロセッサ生成手
段70の呼び出し元から指定された値を設定する方法、
条件やコンテキストの部分に応じてこれらの方法を組み
合わせる方法などがある。
【0024】次に請求項2の発明について図面を参照し
て詳細に説明する。図7に示すように、請求項2の発明
の実施例は、請求項1の発明に加えて、それまで実行状
態11であった仮想プロセッサを割り込み待ち状態13
にし指定された実行待ち状態12の仮想プロセッサを動
作させる割り込み待ち設定手段80と、割り込みが発生
したときに動作しそれまで実行状態11であった仮想プ
ロセッサを実行待ち状態12にし割り込み待ち設定手段
80によって割り込み待ち状態13として設定された仮
想プロセッサを実行状態11にする割り込み処理起動手
段90とから構成される。
【0025】図8は割り込み待ち設定手段80の処理を
示す流れ図である。割り込み待ち設定手段80は、ステ
ップ81で、それまで動作していた仮想プロセッサのコ
ンテキストを共有メモリ20に待避し、ステップ82で
、ステップ81で待避されたコンテキストを割り込み待
ち状態に設定し、ステップ83で、割り込み待ち設定手
段80の呼び出し元から指定された仮想プロセッサのコ
ンテキストをレジスタに復元し、このコンテキストに戻
る。
【0026】図9は割り込み処理起動手段90の処理を
示す流れ図である。割り込み処理起動手段90は、割り
込みが発生したときに動作し、ステップ91で、それま
で動作していた仮想プロセッサのコンテキストを共有メ
モリ20に待避し、ステップ92で、割り込み待ち設定
手段80で割り込み待ち状態に設定された仮想プロセッ
サのコンテキストをレジスタに復元し、このコンテキス
トに戻る。
【0027】次に請求項3の発明について図面を参照し
て詳細に説明する。図10に示すように、請求項3の発
明の実施例は、請求項1の発明に加えて、実行状態11
の仮想プロセッサの例外時に待避すべき情報の待避領域
21と例外時に復元すべき情報の復元領域22をコンテ
キストの一部として設定する待避復元領域設定手段10
0と、例外が発生したときに動作し、待避復元領域設定
手段100で設定された待避領域21に例外発生時に待
避すべき情報を待避し、待避復元領域設定手段100で
設定された復元領域22から例外発生時に復元すべき情
報を復元する例外処理起動手段110と、待避復元領域
設定手段100で設定された待避領域21からコンテキ
ストを復元する例外処理復帰手段120とから構成され
る。
【0028】図11は待避復元領域設定手段100の処
理を示す流れ図である。待避復元領域設定手段100は
、ステップ101で、待避復元領域設定手段100の呼
び出し元から指定された待避領域へのポインタをコンテ
キストに設定し、ステップ102で、待避復元領域設定
手段100の呼び出し元から指定された復元領域へのポ
インタをコンテキストに設定する。この結果、仮想プロ
セッサは待避領域21と復元領域22が設定された状態
15になる。また、状態15の仮想プロセッサが仮想プ
ロセッサ切り換え40やプロセッサ停止手段60を実行
すると、その仮想プロセッサは待避領域と復元領域が設
定された実行待ち状態14になる。逆に、状態14の仮
想プロセッサがプロセッサ起動手段30、仮想プロセッ
サ切り換え手段40や仮想プロセッサ消滅手段50で起
動されると、待避領域と復元領域が設定された実行状態
11になる。
【0029】図12は例外処理起動手段110の処理を
示す流れ図である。例外処理起動手段110は、例外発
生時に動作し、ステップ111で、例外発生時に待避す
べき報を待避復元領域設定手段100で設定された待避
領域21に書き出し、ステップ112で、例外発生時に
復元すべき情報を待避復元領域設定手段100で設定さ
れた復元領域22から読み込む。なお、例外発生時に復
元すべき情報は、例外が発生する前に通常の書き込み命
令で復元領域22に設定する。
【0030】図13は例外処理復帰手段120の処理を
示す流れ図である。例外処理復帰手段120は、ステッ
プ121で、例外処理起動手段110によって待避され
た情報を待避領域21から読み込む。
【0031】
【発明の効果】以上の説明で明らかなように、この発明
によると、プロセッサ台数とは直接関係のない数の並列
動作可能な処理の流れを管理でき、しかも制御のための
オーバーヘッドを小さく、かつ、制御機構自体を小さく
できるので、より細やかな処理を並列動作可能にでき、
かつ、構造的に並列化不可能な部分を小さくできる。
【0032】また、請求項2の発明と請求項3の発明に
よれば、ハードウェアレベルで処理の流れを乱す割り込
みと例外が発生しても、それに対する処理を通常の処理
と同じ枠組みで行うことが可能になり、直接関係のない
処理とは並列動作可能にできる。
【図面の簡単な説明】
【図1】請求項1の発明の一実施例を示す図
【図2】プ
ロセッサ起動手段の処理を示す流れ図
【図3】仮想プロ
セッサ切り換え手段の処理を示す流れ図
【図4】仮想プロセッサ消滅手段の処理を示す流れ図

図5】プロセッサ停止手段の処理を示す流れ図
【図6】
仮想プロセッサ生成手段の処理を示す流れ図
【図7】請
求項2の発明の一実施例を示す図
【図8】割り込み待ち
設定手段の処理を示す流れ図
【図9】割り込み処理起動
手段の処理を示す流れ図
【図10】請求項3の発明の一
実施例を示す図
【図11】待避復元設定手段の処理を示
す流れ図
【図12】例外処理起動手段の処理を示す流れ
【図13】例外処理復帰手段の処理を示す流れ図
【符号の説明】
10  プロセッサ 20  プロセッサ間共有メモリ 30  プロセッサ起動手段 40  仮想プロセッサ起動手段 50  仮想プロセッサ消滅手段 60  プロセッサ停止手段 70  仮想プロセッサ生成手段 11  実行状態の仮想プロセッサ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  共有メモリを持ったマルチプロセッサ
    システムにおいて、指定された実行待ち状態の仮想プロ
    セッサを指定された停止状態のプロセッサで実行させる
    プロセッサ起動手段と、実行状態であった仮想プロセッ
    サを実行待ち状態にし指定された実行待ち状態の仮想プ
    ロセッサを動作させる仮想プロセッサ切り換え手段と、
    実行状態であった仮想プロセッサを消滅させ指定された
    実行待ち状態の仮想プロセッサを動作させる仮想プロセ
    ッサ消滅手段と、実行状態であった仮想プロセッサを実
    行待ち状態にし動作中のプロセッサを停止状態にするプ
    ロセッサ停止手段と、新しく実行待ち状態の仮想プロセ
    ッサを生成する仮想プロセッサ生成手段とから構成され
    る仮想プロセッサ方式。
  2. 【請求項2】  共有メモリを持ったマルチプロセッサ
    システムにおいて、指定された実行待ち状態の仮想プロ
    セッサを指定された停止状態のプロセッサで実行させる
    プロセッサ起動手段と、実行状態であった仮想プロセッ
    サを実行待ち状態にし指定された実行待ち状態の仮想プ
    ロセッサを動作させる仮想プロセッサ切り換え手段と、
    実行状態であった仮想プロセッサを消滅させ指定された
    実行待ち状態の仮想プロセッサを動作させる仮想プロセ
    ッサ消滅手段と、実行状態であった仮想プロセッサを実
    行待ち状態にし動作中のプロセッサを停止状態にするプ
    ロセッサ停止手段と、新しく実行待ち状態の仮想プロセ
    ッサを生成する仮想プロセッサ生成手段と、それまで実
    行状態であった仮想プロセッサを割り込み待ち状態にし
    指定された実行待ち状態の仮想プロセッサを動作させる
    割り込み待ち設定手段と、割り込みが発生したときに動
    作し実行状態であった仮想プロセッサを実行待ち状態に
    し前記割り込み待ち設定手段によって割り込み待ち状態
    として設定された仮想プロセッサを実行状態にする割り
    込み処理起動手段とから構成される仮想プロセッサ方式
  3. 【請求項3】  共有メモリを持ったマルチプロセッサ
    システムにおいて、指定された実行待ち状態の仮想プロ
    セッサを指定された停止状態のプロセッサで実行させる
    プロセッサ起動手段と、実行状態であった仮想プロセッ
    サを実行待ち状態にし指定された実行待ち状態の仮想プ
    ロセッサを動作させる仮想プロセッサ切り換え手段と、
    実行状態であった仮想プロセッサを消滅させ指定された
    実行待ち状態の仮想プロセッサを動作させる仮想プロセ
    ッサ消滅手段と、実行状態であった仮想プロセッサ実行
    待ち状態にし動作中のプロセッサを停止状態にするプロ
    セッサ停止手段と、新しく実行待ち状態の仮想プロセッ
    サを生成する仮想プロセッサ生成手段と、実行状態の仮
    想プロセッサの例外時に待避すべき情報の待避領域と例
    外時に復元すべき情報の復元領域をコンテキストの一部
    として設定する待避復元領域設定手段と、例外が発生し
    たときに動作し、前記待避復元領域設定手段で設定され
    た待避領域に例外発生時に待避すべき情報を待避し、前
    記待避復元領域設定手段で設定された復元領域から例外
    発生時に復元すべき情報を復元する例外処理起動手段と
    、前記待避復元領域設定手段で設定された待避領域から
    コンテキストを復元する例外処理復帰手段とから構成さ
    れる仮想プロセッサ方式。
JP40148490A 1990-12-12 1990-12-12 仮想プロセッサ方式 Pending JPH04213733A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP40148490A JPH04213733A (ja) 1990-12-12 1990-12-12 仮想プロセッサ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40148490A JPH04213733A (ja) 1990-12-12 1990-12-12 仮想プロセッサ方式

Publications (1)

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

Family

ID=18511310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40148490A Pending JPH04213733A (ja) 1990-12-12 1990-12-12 仮想プロセッサ方式

Country Status (1)

Country Link
JP (1) JPH04213733A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018820A (ja) * 2004-06-30 2006-01-19 Microsoft Corp 仮想マシン環境においてオペレーティングシステムを実施するためのシステムおよび方法
JP2006018813A (ja) * 2004-06-30 2006-01-19 Microsoft Corp 1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法
WO2010137092A1 (ja) * 2009-05-26 2010-12-02 パナソニック株式会社 マルチオペレーティングシステム制御方法及びプロセッサシステム
WO2012086106A1 (ja) * 2010-12-21 2012-06-28 パナソニック株式会社 仮想計算機システム及び仮想計算機システム制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018820A (ja) * 2004-06-30 2006-01-19 Microsoft Corp 仮想マシン環境においてオペレーティングシステムを実施するためのシステムおよび方法
JP2006018813A (ja) * 2004-06-30 2006-01-19 Microsoft Corp 1台の仮想マシン内の複数の仮想プロセッサを初期化するためのシステムおよび方法
US8271976B2 (en) 2004-06-30 2012-09-18 Microsoft Corporation Systems and methods for initializing multiple virtual processors within a single virtual machine
WO2010137092A1 (ja) * 2009-05-26 2010-12-02 パナソニック株式会社 マルチオペレーティングシステム制御方法及びプロセッサシステム
WO2012086106A1 (ja) * 2010-12-21 2012-06-28 パナソニック株式会社 仮想計算機システム及び仮想計算機システム制御方法
US8898666B2 (en) 2010-12-21 2014-11-25 Panasonic Intellectual Property Corporation Of America Virtual machine system and virtual machine system control method for controlling program execution on a plurality of processors that have a plurality of privileged modes
JP5758914B2 (ja) * 2010-12-21 2015-08-05 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム及び仮想計算機システム制御方法

Similar Documents

Publication Publication Date Title
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
US7251814B2 (en) Yield on multithreaded processors
JPH07219665A (ja) システムの状態を中断し、再開する方法およびそれができるコンピュータ装置
US20100332722A1 (en) Virtual machine system and control method thereof
US5825649A (en) Kernel substitution method in multi-processor system and multi-processor system having kernel substitution function
JPH04213733A (ja) 仮想プロセッサ方式
US6332199B1 (en) Restoring checkpointed processes including adjusting environment variables of the processes
JPH0355634A (ja) キャッシュ再ロード・オーバーヘッドを減少させる方法およびコンピュータ・システム
EP0223463A2 (en) Multiprocessor data processing system
JPH06318191A (ja) マルチスレッド処理方式
JP3163196B2 (ja) 仮想記憶制御における命令中断情報格納制御方法
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH076045A (ja) 多重処理システムにおけるメモリ管理方法
JPH0478933A (ja) 仮想プロセッサによるプログラム処理方式
JPH04346136A (ja) 仮想命令プロセッサ構成制御方法
JP2790472B2 (ja) 多重会話処理制御方式
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JPS62125437A (ja) 付加プロセツサの制御方法
JPS63269237A (ja) マイクロコンピユ−タの開発装置
JPH07230358A (ja) 多重化ボリューム装置
JP2020135555A (ja) 処理実行方法
JPH0764802A (ja) リアルタイムシステムのシミュレーション装置
JPH0457022B2 (ja)
JPS63197239A (ja) 仮想プロセツサ制御情報退避格納方式
JPH0728762A (ja) タスク管理方式