JPH06168146A - 仮想計算機方式 - Google Patents
仮想計算機方式Info
- Publication number
- JPH06168146A JPH06168146A JP4319755A JP31975592A JPH06168146A JP H06168146 A JPH06168146 A JP H06168146A JP 4319755 A JP4319755 A JP 4319755A JP 31975592 A JP31975592 A JP 31975592A JP H06168146 A JPH06168146 A JP H06168146A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- instruction
- virtual computer
- vector
- vector processor
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】スーパーコンピュータ上で、複数のOSがベク
トルプロセッサを共有する仮想計算機システムを運用す
る際、システム全体の効率を高めるハードウェアの機能
を提供する。 【構成】スカラプロセッサ1は、任意のOSが走行中イ
ンタセプション・フラグ7が1ならば、ベクトルプロセ
ッサ2の起動命令・状態テスト命令あるいはセットアッ
プ命令において例外を発生してその実行を抑止する。例
外処理では、インタセプションフラグ7が1で例外発生
命令が前述の命令か否かを判定し、判定が肯定的ならば
インタセプションする。 【効果】本発明によって、仮想計算機モニタによるベク
トルプロセッサの終了割り込み処理のシミュレーション
が可能となり、ベクトルプロセッサの使用効率を高める
ことができる。また、仮想計算機モニタに対し、VP制
御情報やベクトル演算初期値データを保持するレジスタ
の効率良い退避回復の契機を与えることが可能となり、
システム全体の効率を高めることができる。
トルプロセッサを共有する仮想計算機システムを運用す
る際、システム全体の効率を高めるハードウェアの機能
を提供する。 【構成】スカラプロセッサ1は、任意のOSが走行中イ
ンタセプション・フラグ7が1ならば、ベクトルプロセ
ッサ2の起動命令・状態テスト命令あるいはセットアッ
プ命令において例外を発生してその実行を抑止する。例
外処理では、インタセプションフラグ7が1で例外発生
命令が前述の命令か否かを判定し、判定が肯定的ならば
インタセプションする。 【効果】本発明によって、仮想計算機モニタによるベク
トルプロセッサの終了割り込み処理のシミュレーション
が可能となり、ベクトルプロセッサの使用効率を高める
ことができる。また、仮想計算機モニタに対し、VP制
御情報やベクトル演算初期値データを保持するレジスタ
の効率良い退避回復の契機を与えることが可能となり、
システム全体の効率を高めることができる。
Description
【0001】
【産業上の利用分野】本発明は、仮想計算機方式に関す
るもので、特に複数のOSが走行するスーパーコンピュ
ータの仮想計算機システムに係わる。
るもので、特に複数のOSが走行するスーパーコンピュ
ータの仮想計算機システムに係わる。
【0002】
【従来の技術】仮想計算機システムは、1台の実計算機
上に論理的な計算機である仮想計算機を複数台生成し、
各々の仮想計算機のもとで1つのオペレーティング・シ
ステム(Operating System,以下OS
と称する。)の走行を可能とする。この仮想計算機シス
テムにおいて、仮想計算機の制御を司るプログラムが仮
想計算機モニタであり、この仮想計算機モニタは仮想計
算機のスケジューリング処理や、仮想計算機上のOSが
発行した命令のうち直接実行できない命令のシミュレー
ション処理等を行う。
上に論理的な計算機である仮想計算機を複数台生成し、
各々の仮想計算機のもとで1つのオペレーティング・シ
ステム(Operating System,以下OS
と称する。)の走行を可能とする。この仮想計算機シス
テムにおいて、仮想計算機の制御を司るプログラムが仮
想計算機モニタであり、この仮想計算機モニタは仮想計
算機のスケジューリング処理や、仮想計算機上のOSが
発行した命令のうち直接実行できない命令のシミュレー
ション処理等を行う。
【0003】一方、スカラ演算及び汎用演算を高速に処
理するスカラプロセッサと、ベクトル演算を高速に処理
するベクトルプロセッサからなるスーパーコンピュータ
がある。スカラプロセッサとベクトルプロセッサは並列
に動作可能であることを特徴とする。スカラプロセッサ
は特定のスカラ命令を実行することにより、ベクトルプ
ロセッサにおけるベクトル演算処理の開始を指示する
(すなわち、ベクトルプロセッサの起動を行う)。ま
た、ベクトルプロセッサは、演算処理終了により終了割
込み保留状態になり、スカラプロセッサに該演算処理終
了を通知する。
理するスカラプロセッサと、ベクトル演算を高速に処理
するベクトルプロセッサからなるスーパーコンピュータ
がある。スカラプロセッサとベクトルプロセッサは並列
に動作可能であることを特徴とする。スカラプロセッサ
は特定のスカラ命令を実行することにより、ベクトルプ
ロセッサにおけるベクトル演算処理の開始を指示する
(すなわち、ベクトルプロセッサの起動を行う)。ま
た、ベクトルプロセッサは、演算処理終了により終了割
込み保留状態になり、スカラプロセッサに該演算処理終
了を通知する。
【0004】スーパーコンピュータは主に科学技術計算
を高速に処理する計算機として使用されているが、汎用
コンピュータとしての用途も兼ね備えている。また、昨
今の傾向は、スカラプロセッサとベクトルプロセッサの
対を1つの単位として、これを複数台結合したマルチプ
ロセッサ構成をとることが主流となってきている。この
ため、スーパーコンピュータ上で仮想計算機システムを
運用し複数のOSを並列に走行することにより、計算機
資源の有効活用を図りたいという強い要求がある。
を高速に処理する計算機として使用されているが、汎用
コンピュータとしての用途も兼ね備えている。また、昨
今の傾向は、スカラプロセッサとベクトルプロセッサの
対を1つの単位として、これを複数台結合したマルチプ
ロセッサ構成をとることが主流となってきている。この
ため、スーパーコンピュータ上で仮想計算機システムを
運用し複数のOSを並列に走行することにより、計算機
資源の有効活用を図りたいという強い要求がある。
【0005】スーパーコンピュータ上で仮想計算機シス
テムを運用する際の技術としては、特開昭64−545
42号公報「仮想計算機方式」にて、1台の仮想計算機
上のOSでベクトルプロセッサ(前記公報ではベクトル
ユニットと呼んでいる)を専有し複数の仮想計算機上の
OSでスカラプロセッサ(前記公報ではスカラユニット
と呼んでいる)を共有する仮想計算機方式が開示されて
いる。しかし、前記公報に限らず、従来、ベクトルプロ
セッサを複数の仮想計算機上のOSで共有可能とする仮
想計算機方式は開示されていない。
テムを運用する際の技術としては、特開昭64−545
42号公報「仮想計算機方式」にて、1台の仮想計算機
上のOSでベクトルプロセッサ(前記公報ではベクトル
ユニットと呼んでいる)を専有し複数の仮想計算機上の
OSでスカラプロセッサ(前記公報ではスカラユニット
と呼んでいる)を共有する仮想計算機方式が開示されて
いる。しかし、前記公報に限らず、従来、ベクトルプロ
セッサを複数の仮想計算機上のOSで共有可能とする仮
想計算機方式は開示されていない。
【0006】
【発明が解決しようとする課題】ベクトルプロセッサを
複数の仮想計算機上のOSで共有可能とする仮想計算機
方式を実現するために行った本発明者の検討によれば、
具体的に次の課題がある。
複数の仮想計算機上のOSで共有可能とする仮想計算機
方式を実現するために行った本発明者の検討によれば、
具体的に次の課題がある。
【0007】(1)第1の課題は、仮想計算機モニタに
よってベクトルプロセッサの終了割込み処理のシミュレ
ーションを行った場合、ベクトルプロセッサを起動した
OSがベクトルプロセッサの状態判定を誤る可能性があ
るという問題を解決することである。
よってベクトルプロセッサの終了割込み処理のシミュレ
ーションを行った場合、ベクトルプロセッサを起動した
OSがベクトルプロセッサの状態判定を誤る可能性があ
るという問題を解決することである。
【0008】仮想計算機モニタによってベクトルプロセ
ッサの終了割込み処理のシミュレーションを行う機能
は、ベクトルプロセッサの使用効率を高める上で必要で
ある。なぜなら、ベクトルプロセッサが終了割込み保留
状態になると、以後スカラプロセッサがこの保留状態を
検出し終了割込み処理を行い該状態を解除するまで、新
たな起動が不可能となる。一般的にOSは、ベクトルプ
ロセッサを専有する環境でスカラプロセッサとベクトル
プロセッサとの並列動作性を高めることを目的としてい
るため、ベクトルプロセッサの演算処理の終了を常に見
張っている訳ではない。ベクトルプロセッサを起動した
OSが、ベクトルプロセッサの演算が終了した後長時間
終了割込み処理を実行しない場合、このOS以外のOS
はベクトルプロセッサを起動できず、ベクトルプロセッ
サの使用効率は低下してしまう。そこで、仮想計算機モ
ニタによってベクトルプロセッサの終了割込み処理のシ
ミュレーションを行い、ベクトルプロセッサにおいて新
たな起動が可能な状態を極力多くすることが必要とな
る。
ッサの終了割込み処理のシミュレーションを行う機能
は、ベクトルプロセッサの使用効率を高める上で必要で
ある。なぜなら、ベクトルプロセッサが終了割込み保留
状態になると、以後スカラプロセッサがこの保留状態を
検出し終了割込み処理を行い該状態を解除するまで、新
たな起動が不可能となる。一般的にOSは、ベクトルプ
ロセッサを専有する環境でスカラプロセッサとベクトル
プロセッサとの並列動作性を高めることを目的としてい
るため、ベクトルプロセッサの演算処理の終了を常に見
張っている訳ではない。ベクトルプロセッサを起動した
OSが、ベクトルプロセッサの演算が終了した後長時間
終了割込み処理を実行しない場合、このOS以外のOS
はベクトルプロセッサを起動できず、ベクトルプロセッ
サの使用効率は低下してしまう。そこで、仮想計算機モ
ニタによってベクトルプロセッサの終了割込み処理のシ
ミュレーションを行い、ベクトルプロセッサにおいて新
たな起動が可能な状態を極力多くすることが必要とな
る。
【0009】しかし、現状のスカラプロセッサの機能に
は、仮想計算機モニタが前記シミュレーションを行い終
了割込み保留状態の解除を行ったことを、ベクトルプロ
セッサを起動したOSに通知する手段がない。このた
め、該OSがベクトルプロセッサの状態をテストした場
合、終了割込み保留状態と判定するべきところを、該終
了割込み保留状態が解除された状態と判定してしまう。
は、仮想計算機モニタが前記シミュレーションを行い終
了割込み保留状態の解除を行ったことを、ベクトルプロ
セッサを起動したOSに通知する手段がない。このた
め、該OSがベクトルプロセッサの状態をテストした場
合、終了割込み保留状態と判定するべきところを、該終
了割込み保留状態が解除された状態と判定してしまう。
【0010】(2)第2の課題は、ベクトルプロセッサ
が有する制御情報及び演算初期値を保持するレジスタの
退避回復に関することである。
が有する制御情報及び演算初期値を保持するレジスタの
退避回復に関することである。
【0011】前述のように、従来の仮想計算機システム
において1つの仮想計算機上のOSがベクトルプロセッ
サを専有する場合は、ベクトルプロセッサが有する制御
情報及び演算初期値を保持するレジスタの退避回復は不
要である。しかし、複数の仮想計算機上のOSがベクト
ルプロセッサを共有する仮想計算機システムでは、ベク
トルプロセッサが有する制御情報及び演算初期値を保持
するレジスタの退避回復が必要であり、該退避回復をど
の時点で行うかが問題となる。
において1つの仮想計算機上のOSがベクトルプロセッ
サを専有する場合は、ベクトルプロセッサが有する制御
情報及び演算初期値を保持するレジスタの退避回復は不
要である。しかし、複数の仮想計算機上のOSがベクト
ルプロセッサを共有する仮想計算機システムでは、ベク
トルプロセッサが有する制御情報及び演算初期値を保持
するレジスタの退避回復が必要であり、該退避回復をど
の時点で行うかが問題となる。
【0012】スカラプロセッサが有する資源の退避回復
のように、実計算機上で走行するOSが切り替わるとき
に行う方式とすると、ベクトルプロセッサが演算処理を
行っている間は、ベクトルプロセッサを起動したOS以
外のOSは実計算機上で走行できないことになり、シス
テム全体の効率を低下させる恐れがある。また、ベクト
ルプロセッサが有する制御情報及び演算初期値を保持す
るレジスタの情報量は非常に多く、退避回復に要する時
間が大きいため、退避回復の回数は必要最小限にするこ
とが望ましい。
のように、実計算機上で走行するOSが切り替わるとき
に行う方式とすると、ベクトルプロセッサが演算処理を
行っている間は、ベクトルプロセッサを起動したOS以
外のOSは実計算機上で走行できないことになり、シス
テム全体の効率を低下させる恐れがある。また、ベクト
ルプロセッサが有する制御情報及び演算初期値を保持す
るレジスタの情報量は非常に多く、退避回復に要する時
間が大きいため、退避回復の回数は必要最小限にするこ
とが望ましい。
【0013】本発明の目的は、第1の課題及び第2の課
題を解決し、仮想計算機システムにおいてシステム全体
の効率を高めるような、ハードウェアの機能を提供する
ことにある。
題を解決し、仮想計算機システムにおいてシステム全体
の効率を高めるような、ハードウェアの機能を提供する
ことにある。
【0014】
【課題を解決するための手段】上述した課題を解決する
ために、第1のプロセッサ(スカラプロセッサ)と第2
のプロセッサ(ベクトルプロセッサ)を有し、前記第2
のプロセッサが有する制御情報及び演算初期値を前記第
1のプロセッサが参照・更新する手段と、前記第2のプ
ロセッサによる演算処理開始を前記第1のプロセッサが
指示する(ベクトルプロセッサを起動する)手段と、前
記第2のプロセッサの状態を前記第1のプロセッサがテ
ストする手段と、前記第2のプロセッサによる演算処理
終了を前記第1のプロセッサに通知する手段を有する計
算機上で、仮想計算機モニタによる管理のもと複数のオ
ペレーティングシステム(OS)が走行する仮想計算機
システムであって、前記第1のプロセッサは、前記仮想
計算機モニタにより設定されるインタセプション・フラ
グなるフラグを有し、前記仮想計算機モニタにより選択
された任意のOSが前記第1のプロセッサで走行する
間、該フラグの値の真偽如何により、参照・更新手段あ
るいは指示手段あるいはテスト手段の行使を指示する命
令に於いて例外を発生し、該命令の実行を抑止すると同
時に、走行中であるOSの走行を中断し仮想計算機モニ
タによる該命令の実行を要求する機能を有する。
ために、第1のプロセッサ(スカラプロセッサ)と第2
のプロセッサ(ベクトルプロセッサ)を有し、前記第2
のプロセッサが有する制御情報及び演算初期値を前記第
1のプロセッサが参照・更新する手段と、前記第2のプ
ロセッサによる演算処理開始を前記第1のプロセッサが
指示する(ベクトルプロセッサを起動する)手段と、前
記第2のプロセッサの状態を前記第1のプロセッサがテ
ストする手段と、前記第2のプロセッサによる演算処理
終了を前記第1のプロセッサに通知する手段を有する計
算機上で、仮想計算機モニタによる管理のもと複数のオ
ペレーティングシステム(OS)が走行する仮想計算機
システムであって、前記第1のプロセッサは、前記仮想
計算機モニタにより設定されるインタセプション・フラ
グなるフラグを有し、前記仮想計算機モニタにより選択
された任意のOSが前記第1のプロセッサで走行する
間、該フラグの値の真偽如何により、参照・更新手段あ
るいは指示手段あるいはテスト手段の行使を指示する命
令に於いて例外を発生し、該命令の実行を抑止すると同
時に、走行中であるOSの走行を中断し仮想計算機モニ
タによる該命令の実行を要求する機能を有する。
【0015】
(1)スカラプロセッサとベクトルプロセッサを有する
スーパーコンピュータ上で、複数のオペレーティングシ
ステム(OS)が走行する仮想計算機システムにおい
て、仮想計算機モニタは、ベクトルプロセッサを使用す
る可能性のあるOSの走行を開始する際、スカラプロセ
ッサが有するインタセプション・フラグの値を予め1ま
たは0に設定する。一方、スカラプロセッサは、ベクト
ルプロセッサの状態をテストする命令を実行する際、前
記インタセプション・フラグをテストする。該テストの
結果、インタセプション・フラグが1ならば、スカラプ
ロセッサは前記ベクトルプロセッサの状態をテストする
命令に於いて例外を発生し、該命令の実行を抑止すると
同時に、現在走行中のOSの走行を中断し、仮想計算機
モニタによる該命令のシミュレーションの実行を要求す
る。また、前記テストの結果、インタセプション・フラ
グが0ならば、スカラプロセッサは前記命令をそのまま
実行し、現在走行中のOSの走行を継続する。
スーパーコンピュータ上で、複数のオペレーティングシ
ステム(OS)が走行する仮想計算機システムにおい
て、仮想計算機モニタは、ベクトルプロセッサを使用す
る可能性のあるOSの走行を開始する際、スカラプロセ
ッサが有するインタセプション・フラグの値を予め1ま
たは0に設定する。一方、スカラプロセッサは、ベクト
ルプロセッサの状態をテストする命令を実行する際、前
記インタセプション・フラグをテストする。該テストの
結果、インタセプション・フラグが1ならば、スカラプ
ロセッサは前記ベクトルプロセッサの状態をテストする
命令に於いて例外を発生し、該命令の実行を抑止すると
同時に、現在走行中のOSの走行を中断し、仮想計算機
モニタによる該命令のシミュレーションの実行を要求す
る。また、前記テストの結果、インタセプション・フラ
グが0ならば、スカラプロセッサは前記命令をそのまま
実行し、現在走行中のOSの走行を継続する。
【0016】以上のようにして、仮想計算機モニタによ
ってベクトルプロセッサの終了割込みのシミュレーショ
ンを行った場合に発生する、ベクトルプロセッサを起動
したOSがベクトルプロセッサの状態判定を誤るという
問題を解決することができる。(第1の課題の解決) (2)スカラプロセッサとベクトルプロセッサを有する
スーパーコンピュータ上で、複数のオペレーティングシ
ステム(OS)が走行する仮想計算機システムにおい
て、仮想計算機モニタは、ベクトルプロセッサを使用す
る可能性のあるOSの走行を開始する際、スカラプロセ
ッサが有するインタセプション・フラグの値を予め1ま
たは0に設定する。一方、スカラプロセッサは、ベクト
ルプロセッサが有する制御情報及び演算初期値を保持す
るレジスタを参照・更新する命令、あるいはベクトルプ
ロセッサによる演算処理開始を指示する命令(ベクトル
プロセッサを起動する命令)のいずれかを実行する際、
前記インタセプション・フラグをテストする。該テスト
の結果、インタセプション・フラグが1ならば、スカラ
プロセッサは前記ベクトルプロセッサが有する制御情報
及び演算初期値を保持するレジスタを参照・更新する命
令、及びベクトルプロセッサによる演算処理開始を指示
する命令(ベクトルプロセッサを起動する命令)に於い
て例外を発生し、該命令の実行を抑止すると同時に、現
在走行中のOSの走行を中断し、仮想計算機モニタによ
る該命令のシミュレーションの実行を要求する。また、
前記テストの結果、インタセプション・フラグが0なら
ば、スカラプロセッサは前記命令をそのまま実行し、現
在走行中のOSの走行を継続する。
ってベクトルプロセッサの終了割込みのシミュレーショ
ンを行った場合に発生する、ベクトルプロセッサを起動
したOSがベクトルプロセッサの状態判定を誤るという
問題を解決することができる。(第1の課題の解決) (2)スカラプロセッサとベクトルプロセッサを有する
スーパーコンピュータ上で、複数のオペレーティングシ
ステム(OS)が走行する仮想計算機システムにおい
て、仮想計算機モニタは、ベクトルプロセッサを使用す
る可能性のあるOSの走行を開始する際、スカラプロセ
ッサが有するインタセプション・フラグの値を予め1ま
たは0に設定する。一方、スカラプロセッサは、ベクト
ルプロセッサが有する制御情報及び演算初期値を保持す
るレジスタを参照・更新する命令、あるいはベクトルプ
ロセッサによる演算処理開始を指示する命令(ベクトル
プロセッサを起動する命令)のいずれかを実行する際、
前記インタセプション・フラグをテストする。該テスト
の結果、インタセプション・フラグが1ならば、スカラ
プロセッサは前記ベクトルプロセッサが有する制御情報
及び演算初期値を保持するレジスタを参照・更新する命
令、及びベクトルプロセッサによる演算処理開始を指示
する命令(ベクトルプロセッサを起動する命令)に於い
て例外を発生し、該命令の実行を抑止すると同時に、現
在走行中のOSの走行を中断し、仮想計算機モニタによ
る該命令のシミュレーションの実行を要求する。また、
前記テストの結果、インタセプション・フラグが0なら
ば、スカラプロセッサは前記命令をそのまま実行し、現
在走行中のOSの走行を継続する。
【0017】以上のようにして、仮想計算機モニタに対
して、ベクトルプロセッサが有する制御情報及び演算初
期値を保持するレジスタの、退避回復の契機を提供する
ことができる。(課題2の解決)
して、ベクトルプロセッサが有する制御情報及び演算初
期値を保持するレジスタの、退避回復の契機を提供する
ことができる。(課題2の解決)
【0018】
【実施例】図1は、本発明を適用したスーパーコンピュ
ータの概念図である。図1において、1はスカラ演算を
処理するスカラプロセッサ(SP)、2はベクトル演算
を処理するベクトルプロセッサ(VP)、3はスカラプ
ロセッサ1及びベクトルプロセッサ2の指示に従って主
記憶装置4(MS)の参照あるいは更新の制御を行う記
憶制御装置(SC)である。
ータの概念図である。図1において、1はスカラ演算を
処理するスカラプロセッサ(SP)、2はベクトル演算
を処理するベクトルプロセッサ(VP)、3はスカラプ
ロセッサ1及びベクトルプロセッサ2の指示に従って主
記憶装置4(MS)の参照あるいは更新の制御を行う記
憶制御装置(SC)である。
【0019】スカラプロセッサ1は、本発明によって新
たにインタセプション・フラグ7を具備し機能を拡張し
たスカラ命令実行回路6と、スカラ命令実行において例
外が発生した場合のプログラム割込み処理あるいはベク
トルプロセッサ2の終了割込み処理を行う割込み実行回
路5を有する。ここで割込み処理とは、割込み要因ごと
に定められた主記憶装置4の領域へ現PSW(Program
Status Word)及び割込み要因の情報を格納し、割込み
要因ごとに定められた主記憶装置4の領域の値を新PS
Wとして設定する動作を示す。このため割込み実行回路
5は、割込み要因ごとに処理ステップを持ち、発生した
割込み要因に従って対応する処理ステップを実行する。
たにインタセプション・フラグ7を具備し機能を拡張し
たスカラ命令実行回路6と、スカラ命令実行において例
外が発生した場合のプログラム割込み処理あるいはベク
トルプロセッサ2の終了割込み処理を行う割込み実行回
路5を有する。ここで割込み処理とは、割込み要因ごと
に定められた主記憶装置4の領域へ現PSW(Program
Status Word)及び割込み要因の情報を格納し、割込み
要因ごとに定められた主記憶装置4の領域の値を新PS
Wとして設定する動作を示す。このため割込み実行回路
5は、割込み要因ごとに処理ステップを持ち、発生した
割込み要因に従って対応する処理ステップを実行する。
【0020】ベクトルプロセッサ2はベクトル命令の処
理を行うベクトル命令実行回路9を有し、該ベクトル命
令実行回路9はベクトルプロセッサ制御情報を保持する
レジスタ10とベクトル演算の初期値を保持するレジス
タ11を有する。スカラ命令実行回路6が有するレジス
タのデータあるいは主記憶装置4のデータを、レジスタ
10あるいはレジスタ11に設定するスカラ命令を、セ
ットアップ命令と呼ぶ。また、ベクトル命令実行回路9
に対して、主記憶装置4にあるベクトル演算命令の処理
開始を指示する(ベクトルプロセッサ2の起動を行う)
スカラ命令を、EXVP(Execute Vector Processin
g)命令と呼ぶ。
理を行うベクトル命令実行回路9を有し、該ベクトル命
令実行回路9はベクトルプロセッサ制御情報を保持する
レジスタ10とベクトル演算の初期値を保持するレジス
タ11を有する。スカラ命令実行回路6が有するレジス
タのデータあるいは主記憶装置4のデータを、レジスタ
10あるいはレジスタ11に設定するスカラ命令を、セ
ットアップ命令と呼ぶ。また、ベクトル命令実行回路9
に対して、主記憶装置4にあるベクトル演算命令の処理
開始を指示する(ベクトルプロセッサ2の起動を行う)
スカラ命令を、EXVP(Execute Vector Processin
g)命令と呼ぶ。
【0021】ベクトルプロセッサ2は、図2に示すよう
に非動作中・動作中・終了割込み保留中の3種類の状態
を持ち、該状態はベクトル命令実行回路9からスカラ命
令実行回路6に送られている。非動作中の状態のとき、
スカラプロセッサ1による起動が可能であり、該起動に
よってベクトルプロセッサ2は動作中の状態に遷移し、
ベクトル演算命令の処理終了をもって終了割込み保留中
の状態へと遷移する。スカラ命令実行回路6は、PSW
の特定ビット(終了割込みマスク)による制御のもと
で、ベクトル命令実行回路9から送られる該終了割込み
保留中の状態を検出し、割込み実行回路5に終了割込み
発生を報告する。割込み実行回路5は、該終了割込み報
告に従って終了割込み処理のステップを実行し、該ステ
ップの中でベクトルプロセッサ2の終了割込み保留中の
状態を解除し、ベクトルプロセッサ2を非動作中の状態
へと遷移させる。ベクトルプロセッサ2の状態を判定す
るスカラ命令を、TVP(Test Vector Processing)命
令と呼ぶ。
に非動作中・動作中・終了割込み保留中の3種類の状態
を持ち、該状態はベクトル命令実行回路9からスカラ命
令実行回路6に送られている。非動作中の状態のとき、
スカラプロセッサ1による起動が可能であり、該起動に
よってベクトルプロセッサ2は動作中の状態に遷移し、
ベクトル演算命令の処理終了をもって終了割込み保留中
の状態へと遷移する。スカラ命令実行回路6は、PSW
の特定ビット(終了割込みマスク)による制御のもと
で、ベクトル命令実行回路9から送られる該終了割込み
保留中の状態を検出し、割込み実行回路5に終了割込み
発生を報告する。割込み実行回路5は、該終了割込み報
告に従って終了割込み処理のステップを実行し、該ステ
ップの中でベクトルプロセッサ2の終了割込み保留中の
状態を解除し、ベクトルプロセッサ2を非動作中の状態
へと遷移させる。ベクトルプロセッサ2の状態を判定す
るスカラ命令を、TVP(Test Vector Processing)命
令と呼ぶ。
【0022】一方、主記憶装置4には、仮想計算機(V
M)の制御プログラムである仮想計算機モニタ12があ
る。仮想計算機モニタ12がスカラプロセッサ1におい
て走行中にSIE(Start Interpretive Execution)命
令なる命令を実行することにより、スカラプロセッサ1
はIE(Interpretive Execution)モードとなり、仮想
計算機(VM)がスカラプロセッサ1において走行を開
始する。SIE命令は、仮想計算機起動情報14と仮想
計算機退避情報15を有する状態記述子13(SD)を
オペランドとする。SIE命令実行時、スカラ命令実行
回路6は、仮想計算機起動情報14の内容にしたがって
スカラプロセッサ1の初期化を行い、スカラプロセッサ
1をIEモードとして、仮想計算機の命令実行を開始す
る。仮想計算機上では処理できない命令が出現した場
合、スカラ命令実行回路6は、該命令実行を抑止し、仮
想計算機の状態及び中断の原因を仮想計算機退避情報1
5に格納した上で、スカラプロセッサ1を非IEモード
として、仮想計算機モニタの命令実行を開始する。この
場合にスカラ命令実行回路6が行う前記一連の動作をイ
ンタセプションと呼ぶ。
M)の制御プログラムである仮想計算機モニタ12があ
る。仮想計算機モニタ12がスカラプロセッサ1におい
て走行中にSIE(Start Interpretive Execution)命
令なる命令を実行することにより、スカラプロセッサ1
はIE(Interpretive Execution)モードとなり、仮想
計算機(VM)がスカラプロセッサ1において走行を開
始する。SIE命令は、仮想計算機起動情報14と仮想
計算機退避情報15を有する状態記述子13(SD)を
オペランドとする。SIE命令実行時、スカラ命令実行
回路6は、仮想計算機起動情報14の内容にしたがって
スカラプロセッサ1の初期化を行い、スカラプロセッサ
1をIEモードとして、仮想計算機の命令実行を開始す
る。仮想計算機上では処理できない命令が出現した場
合、スカラ命令実行回路6は、該命令実行を抑止し、仮
想計算機の状態及び中断の原因を仮想計算機退避情報1
5に格納した上で、スカラプロセッサ1を非IEモード
として、仮想計算機モニタの命令実行を開始する。この
場合にスカラ命令実行回路6が行う前記一連の動作をイ
ンタセプションと呼ぶ。
【0023】図3に、スカラ命令実行回路6の詳細な構
成を示す。命令解読回路16は、主記憶装置4から読み
出したスカラ命令を解読し制御線19に演算制御情報を
出力する。演算制御回路18は、演算制御情報に従って
データパスの制御及び演算器の動作制御等の演算制御を
行う。特にEXVP命令の場合、演算制御回路18は制
御線21にベクトルプロセッサ2の起動信号を出力す
る。TVP命令の場合、演算制御回路18は、ベクトル
命令実行回路9から制御線36を通じて送られるベクト
ルプロセッサ2の状態情報に基づいて、ベクトルプロセ
ッサ2の状態を判定する。ベクトル命令実行回路9が制
御線36に終了割込み保留中の状態情報を出力すると、
演算制御回路18はPSWの特定のビット(終了割込み
マスク)による制御のもとで、演算制御を抑止すると同
時に制御線37を通じて割込み実行回路5へ終了割込み
発生を報告する。
成を示す。命令解読回路16は、主記憶装置4から読み
出したスカラ命令を解読し制御線19に演算制御情報を
出力する。演算制御回路18は、演算制御情報に従って
データパスの制御及び演算器の動作制御等の演算制御を
行う。特にEXVP命令の場合、演算制御回路18は制
御線21にベクトルプロセッサ2の起動信号を出力す
る。TVP命令の場合、演算制御回路18は、ベクトル
命令実行回路9から制御線36を通じて送られるベクト
ルプロセッサ2の状態情報に基づいて、ベクトルプロセ
ッサ2の状態を判定する。ベクトル命令実行回路9が制
御線36に終了割込み保留中の状態情報を出力すると、
演算制御回路18はPSWの特定のビット(終了割込み
マスク)による制御のもとで、演算制御を抑止すると同
時に制御線37を通じて割込み実行回路5へ終了割込み
発生を報告する。
【0024】また、演算制御回路18はインタセプショ
ンの動作制御も行う。例外検出回路17は、演算制御情
報に基づいてプログラム割込み要因となる例外の検出を
行い、例外を検出した場合は例外を発生した命令の情報
を保持し、制御線20に例外発生信号を出力し、演算制
御回路18で行われている演算制御を抑止すると同時
に、割込み実行回路5へ例外発生を報告する。例外を発
生した命令の情報は、制御線35を通じて割込み実行回
路5へ送られる。特にEXVP命令で例外が発生した場
合、制御線21に出力されるベクトルプロセッサ2の起
動信号は抑止される。なお、IEモードフラグ22は、
IEモードの間1となるフラグであり、値の設定は演算
制御回路18が制御線40を通じて行う。
ンの動作制御も行う。例外検出回路17は、演算制御情
報に基づいてプログラム割込み要因となる例外の検出を
行い、例外を検出した場合は例外を発生した命令の情報
を保持し、制御線20に例外発生信号を出力し、演算制
御回路18で行われている演算制御を抑止すると同時
に、割込み実行回路5へ例外発生を報告する。例外を発
生した命令の情報は、制御線35を通じて割込み実行回
路5へ送られる。特にEXVP命令で例外が発生した場
合、制御線21に出力されるベクトルプロセッサ2の起
動信号は抑止される。なお、IEモードフラグ22は、
IEモードの間1となるフラグであり、値の設定は演算
制御回路18が制御線40を通じて行う。
【0025】図4に例外検出回路17の詳細な構成を示
す。従来の例外検出部30は演算制御情報に基づいてプ
ログラム割込み要因となる例外の検出を行い、例外を検
出した場合は、例外発生を表す制御線38に1を出力す
る。バッファ34は、例外を発生した命令の情報を保持
する。
す。従来の例外検出部30は演算制御情報に基づいてプ
ログラム割込み要因となる例外の検出を行い、例外を検
出した場合は、例外発生を表す制御線38に1を出力す
る。バッファ34は、例外を発生した命令の情報を保持
する。
【0026】本実施例において、例外検出回路17は、
条件付きインタセプション検出回路31とOR回路33
を新たに具備する。条件付きインタセプション検出回路
31は、インタセプション・フラグ7が1かつIEモー
ドフラグ22が1かつ制御線19にEXVP命令・TV
P命令・セットアップ命令のいずれかの演算制御情報が
出力されたとき、制御線39に1を出力する。OR回路
33は、制御線38と制御線39に出力される値の論理
和が1となるとき、制御線20に例外発生信号を出力す
る。インタセプション・フラグ7の値の設定は、IEモ
ードフラグ22同様、演算制御回路18が制御線40を
通じて行う。IEモードフラグ22の値は制御線41を
通じて、そしてインタセプション・フラグ7の値は制御
線42を通じて、それぞれ例外検出回路17と割込み実
行回路5へ送られる。この構成によって、例外検出回路
17は、インタセプション・フラグ7の値が1でかつI
Eモードフラグ22の値が1の時、制御線19にセット
アップ命令あるいはEXVP命令あるいはTVP命令の
いずれかの命令の演算制御情報が出力されると、制御線
20に例外発生信号を出力する機能を持つ。
条件付きインタセプション検出回路31とOR回路33
を新たに具備する。条件付きインタセプション検出回路
31は、インタセプション・フラグ7が1かつIEモー
ドフラグ22が1かつ制御線19にEXVP命令・TV
P命令・セットアップ命令のいずれかの演算制御情報が
出力されたとき、制御線39に1を出力する。OR回路
33は、制御線38と制御線39に出力される値の論理
和が1となるとき、制御線20に例外発生信号を出力す
る。インタセプション・フラグ7の値の設定は、IEモ
ードフラグ22同様、演算制御回路18が制御線40を
通じて行う。IEモードフラグ22の値は制御線41を
通じて、そしてインタセプション・フラグ7の値は制御
線42を通じて、それぞれ例外検出回路17と割込み実
行回路5へ送られる。この構成によって、例外検出回路
17は、インタセプション・フラグ7の値が1でかつI
Eモードフラグ22の値が1の時、制御線19にセット
アップ命令あるいはEXVP命令あるいはTVP命令の
いずれかの命令の演算制御情報が出力されると、制御線
20に例外発生信号を出力する機能を持つ。
【0027】一方、本発明により、割込み実行回路5は
図5に示すステップを新たに具備し、制御線20に例外
発生信号が出力されたとき、演算制御回路18にインタ
セプションの実行を指示するかあるいはプログラム割込
み処理を行うかいずれかを選択する機能を有する。すな
わち、仮想計算機がスカラプロセッサ1において走行中
(IEモードフラグ22は1)でインタセプション・フ
ラグ7が1の時、命令解読回路16がセットアップ命令
あるいはEXVP命令あるいはTVP命令のいずれかの
命令を解読し、制御線19に該命令の演算制御情報を出
力すると、例外検出回路17は制御線20に例外発生信
号を出力し演算制御回路18における該命令の演算制御
を抑止する。割込み実行回路5は、この例外発生信号を
受け取ると、制御線35から送られる情報に基づいて、
例外を発生した命令がセットアップ命令あるいはEXV
P命令あるいはTVP命令のいずれかであるか否かの判
定を行う。該判定が否定的であるとき、プログラム割込
み処理を行う。該判定が肯定的であるとき、IEモード
フラグ22及びインタセプション・フラグ7がいずれも
1であるか否かの判定を行う。該判定が否定的であると
き、プログラム割込み処理を行う。該判定が肯定的であ
るとき、制御線23を通じて演算制御回路18にインタ
セプションの実行を指示する。
図5に示すステップを新たに具備し、制御線20に例外
発生信号が出力されたとき、演算制御回路18にインタ
セプションの実行を指示するかあるいはプログラム割込
み処理を行うかいずれかを選択する機能を有する。すな
わち、仮想計算機がスカラプロセッサ1において走行中
(IEモードフラグ22は1)でインタセプション・フ
ラグ7が1の時、命令解読回路16がセットアップ命令
あるいはEXVP命令あるいはTVP命令のいずれかの
命令を解読し、制御線19に該命令の演算制御情報を出
力すると、例外検出回路17は制御線20に例外発生信
号を出力し演算制御回路18における該命令の演算制御
を抑止する。割込み実行回路5は、この例外発生信号を
受け取ると、制御線35から送られる情報に基づいて、
例外を発生した命令がセットアップ命令あるいはEXV
P命令あるいはTVP命令のいずれかであるか否かの判
定を行う。該判定が否定的であるとき、プログラム割込
み処理を行う。該判定が肯定的であるとき、IEモード
フラグ22及びインタセプション・フラグ7がいずれも
1であるか否かの判定を行う。該判定が否定的であると
き、プログラム割込み処理を行う。該判定が肯定的であ
るとき、制御線23を通じて演算制御回路18にインタ
セプションの実行を指示する。
【0028】このようにして、本発明によりスカラプロ
セッサ1は、仮想計算機が走行中インタセプション・フ
ラグ7の値によって、セットアップ命令あるいはEXV
P命令あるいはTVP命令でインタセプションを実行す
る機能を実現する。インタセプションの対象となる命令
の検出を例外検出の形で行うことにより、命令解読回路
16における命令解読から演算制御回路18における演
算制御開始までの間に処理を追加することなく、従来の
命令処理性能を保ちながら前記機能の実現を可能として
いる。
セッサ1は、仮想計算機が走行中インタセプション・フ
ラグ7の値によって、セットアップ命令あるいはEXV
P命令あるいはTVP命令でインタセプションを実行す
る機能を実現する。インタセプションの対象となる命令
の検出を例外検出の形で行うことにより、命令解読回路
16における命令解読から演算制御回路18における演
算制御開始までの間に処理を追加することなく、従来の
命令処理性能を保ちながら前記機能の実現を可能として
いる。
【0029】まず、前記第1の課題の解決について説明
する。
する。
【0030】例えば、第1のOSがスカラプロセッサ1
で走行中にベクトルプロセッサ2を起動し、仮想計算機
モニタ12がベクトルプロセッサ2の終了割込み処理の
シミュレーションを行ったと仮定する。仮想計算機モニ
タ12はベクトルプロセッサ2の終了割込み処理のシミ
ュレーションを行った後、第1のOSの走行を開始する
場合はインタセプション・フラグ7を1とする。第1の
OSがスカラプロセッサ1で走行中(IEモードフラグ
22は1)、命令解読回路16がTVP命令を解読する
と、演算制御回路18は該命令の演算制御を抑止し、イ
ンタセプションを実行する。仮想計算機モニタ12は、
仮想計算機退避情報15に格納された情報から、該イン
タセプションの原因が第1のOSにおけるTVP命令の
出現であることを検知すると、該命令のシミュレーショ
ンを実行し、シミュレーションによって得られたベクト
ルプロセッサ2の状態を仮想計算機起動情報14に格納
し、インタセプション・フラグ7を0として、スカラプ
ロセッサ1における第1のOSの走行を開始する。これ
により、仮想計算機モニタ12がベクトルプロセッサ2
の終了割込み処理のシミュレーションを行ったとして
も、第1のOSがベクトルプロセッサ2の状態判定を正
しく実行することができる。また、第1のOSがTVP
命令でインタセプションを発生した後は、第1のOSが
TVP命令を直接実行することが可能となり、仮想計算
機モニタ12の介在によるオーバーヘッドを最小限に抑
えている。一方、仮想計算機モニタ12がベクトルプロ
セッサ2の終了割込み処理のシミュレーションを行った
後で第1のOS以外の第2のOSの走行を開始する場
合、仮想計算機モニタ12はインタセプション・フラグ
7を0とする。これにより、仮想計算機モニタ12がベ
クトルプロセッサ2の終了割込み処理のシミュレーショ
ンを行ったとしても、第2のOSの走行に影響が及ぶこ
とはない。
で走行中にベクトルプロセッサ2を起動し、仮想計算機
モニタ12がベクトルプロセッサ2の終了割込み処理の
シミュレーションを行ったと仮定する。仮想計算機モニ
タ12はベクトルプロセッサ2の終了割込み処理のシミ
ュレーションを行った後、第1のOSの走行を開始する
場合はインタセプション・フラグ7を1とする。第1の
OSがスカラプロセッサ1で走行中(IEモードフラグ
22は1)、命令解読回路16がTVP命令を解読する
と、演算制御回路18は該命令の演算制御を抑止し、イ
ンタセプションを実行する。仮想計算機モニタ12は、
仮想計算機退避情報15に格納された情報から、該イン
タセプションの原因が第1のOSにおけるTVP命令の
出現であることを検知すると、該命令のシミュレーショ
ンを実行し、シミュレーションによって得られたベクト
ルプロセッサ2の状態を仮想計算機起動情報14に格納
し、インタセプション・フラグ7を0として、スカラプ
ロセッサ1における第1のOSの走行を開始する。これ
により、仮想計算機モニタ12がベクトルプロセッサ2
の終了割込み処理のシミュレーションを行ったとして
も、第1のOSがベクトルプロセッサ2の状態判定を正
しく実行することができる。また、第1のOSがTVP
命令でインタセプションを発生した後は、第1のOSが
TVP命令を直接実行することが可能となり、仮想計算
機モニタ12の介在によるオーバーヘッドを最小限に抑
えている。一方、仮想計算機モニタ12がベクトルプロ
セッサ2の終了割込み処理のシミュレーションを行った
後で第1のOS以外の第2のOSの走行を開始する場
合、仮想計算機モニタ12はインタセプション・フラグ
7を0とする。これにより、仮想計算機モニタ12がベ
クトルプロセッサ2の終了割込み処理のシミュレーショ
ンを行ったとしても、第2のOSの走行に影響が及ぶこ
とはない。
【0031】次に、前記第2の課題の解決について説明
する。
する。
【0032】例えば、第1のOSがベクトルプロセッサ
2を起動した後、第2のOSがスカラプロセッサ1上で
走行すると仮定する。仮想計算機モニタ12は、第2の
OSの走行に先立ちインタセプション・フラグ7を1と
する。第2のOSがスカラプロセッサ1で走行中(IE
モードフラグ22は1)、命令解読回路16がセットア
ップ命令あるいはEXVP命令のいずれかの命令を解読
すると、演算制御回路18は該命令の演算制御を抑止
し、インタセプションを実行する。仮想計算機モニタ1
2は、仮想計算機退避情報15に格納された情報から該
インタセプションの原因が第2のOSにおけるセットア
ップ命令あるいはEXVP命令の出現であることを検知
すると、ベクトルプロセッサ制御情報を保持するレジス
タ10とベクトル演算の初期値を保持するレジスタ11
の退避回復を実行する。これにより、第2のOSは、ベ
クトルプロセッサ2の状態に関係なく、セットアップ命
令あるいはEXVP命令のいずれかが命令解読回路16
で解読されるまでスカラプロセッサ1上で走行すること
が可能となる。一方、第2のOSがスカラプロセッサ1
上で走行中に命令解読回路16がセットアップ命令ある
いはEXVP命令のいずれの命令も解読せず、なおかつ
第2のOSの走行後仮想計算機モニタ12が第1のOS
の走行を開始する場合(この場合退避回復は不要であ
る)、仮想計算機モニタ12はインタセプション・フラ
グ7を0とする。第1のOSの走行中、スカラ命令実行
回路6はセットアップ命令あるいはEXVP命令をその
まま実行する。 これにより、不要な退避回復を削減す
ることが可能となる。
2を起動した後、第2のOSがスカラプロセッサ1上で
走行すると仮定する。仮想計算機モニタ12は、第2の
OSの走行に先立ちインタセプション・フラグ7を1と
する。第2のOSがスカラプロセッサ1で走行中(IE
モードフラグ22は1)、命令解読回路16がセットア
ップ命令あるいはEXVP命令のいずれかの命令を解読
すると、演算制御回路18は該命令の演算制御を抑止
し、インタセプションを実行する。仮想計算機モニタ1
2は、仮想計算機退避情報15に格納された情報から該
インタセプションの原因が第2のOSにおけるセットア
ップ命令あるいはEXVP命令の出現であることを検知
すると、ベクトルプロセッサ制御情報を保持するレジス
タ10とベクトル演算の初期値を保持するレジスタ11
の退避回復を実行する。これにより、第2のOSは、ベ
クトルプロセッサ2の状態に関係なく、セットアップ命
令あるいはEXVP命令のいずれかが命令解読回路16
で解読されるまでスカラプロセッサ1上で走行すること
が可能となる。一方、第2のOSがスカラプロセッサ1
上で走行中に命令解読回路16がセットアップ命令ある
いはEXVP命令のいずれの命令も解読せず、なおかつ
第2のOSの走行後仮想計算機モニタ12が第1のOS
の走行を開始する場合(この場合退避回復は不要であ
る)、仮想計算機モニタ12はインタセプション・フラ
グ7を0とする。第1のOSの走行中、スカラ命令実行
回路6はセットアップ命令あるいはEXVP命令をその
まま実行する。 これにより、不要な退避回復を削減す
ることが可能となる。
【0033】本実施例では、第1のOSと第2のOSの
2つのOSがベクトルプロセッサを共有する例を示した
が、OSの数が3つ以上であっても良いことは明らかで
ある。
2つのOSがベクトルプロセッサを共有する例を示した
が、OSの数が3つ以上であっても良いことは明らかで
ある。
【0034】また、スーパーコンピュータは、1台のス
カラプロセッサ1と1台のベクトルプロセッサ2を有す
るとしたが、スカラプロセッサ1とベクトルプロセッサ
2の対を複数台結合したマルチプロセッサ構成において
も、本発明が適用できることは明らかである。さらに、
スーパーコンピュータに限らず、類似した構成の計算機
に本発明が適用できることは明らかである。
カラプロセッサ1と1台のベクトルプロセッサ2を有す
るとしたが、スカラプロセッサ1とベクトルプロセッサ
2の対を複数台結合したマルチプロセッサ構成において
も、本発明が適用できることは明らかである。さらに、
スーパーコンピュータに限らず、類似した構成の計算機
に本発明が適用できることは明らかである。
【0035】
【発明の効果】本発明によって、複数のOSがベクトル
プロセッサを共有する仮想計算機システムにおいて、仮
想計算機モニタによるベクトルプロセッサの終了割込み
処理のシミュレーションが可能となり、ベクトルプロセ
ッサの使用効率を高めることができる。また、仮想計算
機モニタに対して、ベクトルプロセッサが有する制御情
報及び演算初期値を保持するレジスタの退避回復の契機
を提供することが可能となり、システム全体の効率を高
めることができる。加えて、ハードウェアの機能拡張
は、命令処理性能を低下させることなく実現している。
プロセッサを共有する仮想計算機システムにおいて、仮
想計算機モニタによるベクトルプロセッサの終了割込み
処理のシミュレーションが可能となり、ベクトルプロセ
ッサの使用効率を高めることができる。また、仮想計算
機モニタに対して、ベクトルプロセッサが有する制御情
報及び演算初期値を保持するレジスタの退避回復の契機
を提供することが可能となり、システム全体の効率を高
めることができる。加えて、ハードウェアの機能拡張
は、命令処理性能を低下させることなく実現している。
【図1】本発明を適用したスーパーコンピュータの概念
図である。
図である。
【図2】ベクトルプロセッサの状態遷移図である。
【図3】本発明を適用したスカラ命令実行回路の詳細な
構成である。
構成である。
【図4】本発明を適用した例外検出回路の詳細な構成で
ある。
ある。
【図5】制御線20に例外発生信号が出力された時に割
込み実行回路が行う処理のフローチャートである。
込み実行回路が行う処理のフローチャートである。
1…スカラプロセッサ、 2…ベクトルプロセッサ、 3…記憶制御装置、 4…主記憶装置、 7…インタセプション・フラグ、 12…仮想計算機モニタ。
Claims (5)
- 【請求項1】第1のプロセッサと第2のプロセッサを有
する計算機上で、仮想計算機モニタによる管理のもと複
数のオペレーティングシステム(OS)が走行する仮想
計算機システムにおいて、 前記第2のプロセッサが保持する制御情報及び演算初期
値を前記第1のプロセッサが参照・更新する手段と、前
記第2のプロセッサによる演算処理開始を前記第1のプ
ロセッサが指示する手段と、前記第2のプロセッサの状
態を前記第1のプロセッサがテストする手段と、前記第
2のプロセッサによる演算処理終了を前記第1のプロセ
ッサに通知する手段とを有すると共に、 前記第1のプロセッサは、前記仮想計算機モニタにより
設定されるインタセプション・フラグなるフラグを有
し、 前記仮想計算機モニタにより選択された任意のOSが前
記第1のプロセッサで走行する間、該フラグの値の真偽
如何により、前記参照・更新手段あるいは前記指示手段
あるいは前記テスト手段の行使を指示する命令に於いて
例外を発生し、該命令の実行を直前で抑止すると同時
に、走行中であるOSの走行を中断し仮想計算機モニタ
による該命令の実行を要求することを特徴とする仮想計
算機方式。 - 【請求項2】請求項1記載の仮想計算機方式において、 前記第1のプロセッサは、命令実行において例外が発生
した場合、前記インタセプション・フラグの値の真偽判
定及び例外を発生した命令が前記参照・更新手段あるい
は前記指示手段あるいは前記テスト手段の行使を指示す
る命令であるか否かの判定を行い、前者の判定結果が真
かつ後者の判定結果が肯定的であるとき、前記第1のプ
ロセッサで走行中のOSの走行を中断し前記仮想計算機
モニタの走行を開始するステップを有することを特徴と
する仮想計算機方式。 - 【請求項3】請求項1又は2記載の仮想計算機方式にお
いて、 第1のプロセッサはスカラプロセッサであり、第2のプ
ロセッサはベクトルプロセッサであることを特徴とする
仮想計算機方式。 - 【請求項4】第1のプロセッサと第2のプロセッサを有
する計算機上で、仮想計算機モニタによる管理のもと複
数のオペレーティングシステム(OS)が走行する仮想
計算機システムにおいて、 前記第2のプロセッサが有する制御情報及び演算初期値
を前記第1のプロセッサが参照・更新する命令、 前記第2のプロセッサの状態を前記第1のプロセッサが
テストする命令、前記第2のプロセッサによる演算処理
開始を前記第1のプロセッサが指示する命令を有し、 前記第1のプロセッサは、前記仮想計算機モニタにより
設定されるインタセプション状態を保持する手段を有
し、 任意のOSが前記第1のプロセッサで走行中、該インタ
セプション状態により、各前記命令に於いて例外を発生
し、該命令の実行を抑止すると同時に、当該OSの走行
を中断し、前記仮想計算機モニタによる当該命令の実行
を要求することを特徴とする仮想計算機システム。 - 【請求項5】スカラプロセッサとベクトルプロセッサと
を有し、仮想計算機モニタによる管理のもと複数のオペ
レーティングシステム(OS)が走行する仮想計算機方
式であって、前記スカラプロセッサ並びに前記ベクトル
プロセッサを複数の前記OSで共有可能としたことを特
徴とする仮想計算機方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4319755A JP2765411B2 (ja) | 1992-11-30 | 1992-11-30 | 仮想計算機方式 |
| US08/159,237 US5511217A (en) | 1992-11-30 | 1993-11-30 | Computer system of virtual machines sharing a vector processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4319755A JP2765411B2 (ja) | 1992-11-30 | 1992-11-30 | 仮想計算機方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06168146A true JPH06168146A (ja) | 1994-06-14 |
| JP2765411B2 JP2765411B2 (ja) | 1998-06-18 |
Family
ID=18113815
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4319755A Expired - Lifetime JP2765411B2 (ja) | 1992-11-30 | 1992-11-30 | 仮想計算機方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5511217A (ja) |
| JP (1) | JP2765411B2 (ja) |
Families Citing this family (123)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6327653B1 (en) * | 1995-11-07 | 2001-12-04 | Samsung Electronics Co., Ltd. | Technique for easily changing operating systems of a digital computer system using at least two pushbuttons |
| US5734910A (en) * | 1995-12-22 | 1998-03-31 | International Business Machines Corporation | Integrating multi-modal synchronous interrupt handlers for computer system |
| KR100280285B1 (ko) | 1996-08-19 | 2001-02-01 | 윤종용 | 멀티미디어 신호에 적합한 멀티미디어 프로세서 |
| US5996058A (en) * | 1996-08-19 | 1999-11-30 | Samsung Electronics Company, Ltd. | System and method for handling software interrupts with argument passing |
| US5862308A (en) * | 1996-12-03 | 1999-01-19 | Bull Hn Information Systems Inc. | Fault intercept and resolution process independent of operating system |
| US5850556A (en) * | 1996-12-26 | 1998-12-15 | Cypress Semiconductor Corp. | Interruptible state machine |
| US6075938A (en) * | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
| US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
| US8631066B2 (en) * | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
| US7516453B1 (en) * | 1998-10-26 | 2009-04-07 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
| JP2000151641A (ja) * | 1998-11-13 | 2000-05-30 | Sony Corp | 伝送制御方法及び伝送装置 |
| US6820051B1 (en) * | 1999-02-19 | 2004-11-16 | Texas Instruments Incorporated | Software emulation monitor employed with hardware suspend mode |
| US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
| US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
| US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
| US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
| US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution |
| US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
| US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
| US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution |
| US7356817B1 (en) | 2000-03-31 | 2008-04-08 | Intel Corporation | Real-time scheduling of virtual machines |
| US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
| US7194634B2 (en) * | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
| US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
| US6934817B2 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
| US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
| US6976162B1 (en) * | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
| US7793111B1 (en) * | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
| US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
| US7215781B2 (en) * | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices |
| US7818808B1 (en) * | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
| US6907600B2 (en) * | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
| US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
| US7225441B2 (en) | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
| US7117376B2 (en) * | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations |
| US7076633B2 (en) * | 2001-03-28 | 2006-07-11 | Swsoft Holdings, Ltd. | Hosting service providing platform system and method |
| US20020144121A1 (en) * | 2001-03-30 | 2002-10-03 | Ellison Carl M. | Checking file integrity using signature generated in isolated execution |
| US7096497B2 (en) * | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
| US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
| US6941105B1 (en) * | 2001-10-24 | 2005-09-06 | Novell, Inc. | System and method to reduce the time and complexity of information technology classroom setup |
| US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
| US6961806B1 (en) | 2001-12-10 | 2005-11-01 | Vmware, Inc. | System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems |
| US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
| US20030126454A1 (en) * | 2001-12-28 | 2003-07-03 | Glew Andrew F. | Authenticated code method and apparatus |
| US20030126453A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
| US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
| US7480806B2 (en) * | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
| US7124273B2 (en) * | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment |
| US7631196B2 (en) | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
| US7698360B2 (en) * | 2002-02-26 | 2010-04-13 | Novell, Inc. | System and method for distance learning |
| US7331791B2 (en) * | 2002-03-05 | 2008-02-19 | Novell, Inc. | System and method for evaluating a person's information technology skills |
| US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
| US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
| US20030191943A1 (en) * | 2002-04-05 | 2003-10-09 | Poisner David I. | Methods and arrangements to register code |
| US20030196096A1 (en) * | 2002-04-12 | 2003-10-16 | Sutton James A. | Microcode patch authentication |
| US20030196100A1 (en) * | 2002-04-15 | 2003-10-16 | Grawrock David W. | Protection against memory attacks following reset |
| US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
| US7076669B2 (en) * | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token |
| US7127548B2 (en) | 2002-04-16 | 2006-10-24 | Intel Corporation | Control register access virtualization performance improvement in the virtual-machine architecture |
| US7139890B2 (en) * | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory |
| US20030229794A1 (en) * | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
| US6820177B2 (en) | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
| US7142674B2 (en) * | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
| US7343590B2 (en) * | 2002-06-25 | 2008-03-11 | Hewlett-Packard Development Company, L.P. | System and method for increasing OS idle loop performance in a simulator |
| US7392415B2 (en) * | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
| US20040003321A1 (en) * | 2002-06-27 | 2004-01-01 | Glew Andrew F. | Initialization of protected system |
| US7124327B2 (en) | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
| US6996748B2 (en) | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
| US7296267B2 (en) * | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
| US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
| US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
| US7073042B2 (en) * | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
| US20040117318A1 (en) * | 2002-12-16 | 2004-06-17 | Grawrock David W. | Portable token controlling trusted environment launch |
| US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
| US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
| US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
| US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
| US20040128465A1 (en) * | 2002-12-30 | 2004-07-01 | Lee Micheil J. | Configurable memory bus width |
| US7076802B2 (en) * | 2002-12-31 | 2006-07-11 | Intel Corporation | Trusted system clock |
| US7130949B2 (en) * | 2003-05-12 | 2006-10-31 | International Business Machines Corporation | Managing input/output interruptions in non-dedicated interruption hardware environments |
| US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
| US9020801B2 (en) | 2003-08-11 | 2015-04-28 | Scalemp Inc. | Cluster-based operating system-agnostic virtual computing system |
| US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
| US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
| US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
| US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
| US7610611B2 (en) * | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
| US20050080934A1 (en) | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
| US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
| US7237051B2 (en) | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
| US7366305B2 (en) * | 2003-09-30 | 2008-04-29 | Intel Corporation | Platform and method for establishing trust without revealing identity |
| US7636844B2 (en) * | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
| US20050108171A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform |
| US20050108534A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Providing services to an open platform implementing subscriber identity module (SIM) capabilities |
| US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
| US8037314B2 (en) * | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
| US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
| US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
| US20050216920A1 (en) * | 2004-03-24 | 2005-09-29 | Vijay Tewari | Use of a virtual machine to emulate a hardware device |
| US7356735B2 (en) | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
| US7620949B2 (en) * | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
| US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
| US20050288056A1 (en) * | 2004-06-29 | 2005-12-29 | Bajikar Sundeep M | System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module |
| US7305592B2 (en) * | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
| US7840962B2 (en) * | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
| US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
| US8924728B2 (en) * | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
| US20060136664A1 (en) * | 2004-12-16 | 2006-06-22 | Trika Sanjeev N | Method, apparatus and system for disk caching in a dual boot environment |
| US8533777B2 (en) * | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
| US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
| US20060212840A1 (en) * | 2005-03-16 | 2006-09-21 | Danny Kumamoto | Method and system for efficient use of secondary threads in a multiple execution path processor |
| US8635612B2 (en) * | 2005-04-29 | 2014-01-21 | Microsoft Corporation | Systems and methods for hypervisor discovery and utilization |
| US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
| US7614003B2 (en) * | 2006-10-23 | 2009-11-03 | Adobe Systems Incorporated | Rendering hypertext markup language content |
| US8020089B1 (en) | 2006-10-23 | 2011-09-13 | Adobe Systems Incorporated | Rendering hypertext markup language content |
| US8490117B1 (en) | 2006-10-23 | 2013-07-16 | Adobe Systems Incorporated | Bridging script engines |
| US7533207B2 (en) * | 2006-12-06 | 2009-05-12 | Microsoft Corporation | Optimized interrupt delivery in a virtualized environment |
| US9405347B2 (en) | 2009-02-26 | 2016-08-02 | Microsoft Technology Licensing, Llc | Power-saving operating system for virtual environment |
| US20150089655A1 (en) * | 2013-09-23 | 2015-03-26 | Electronics And Telecommunications Research Institute | System and method for detecting malware based on virtual host |
| GB2519108A (en) * | 2013-10-09 | 2015-04-15 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling performance of speculative vector operations |
| CN108897601A (zh) * | 2018-06-29 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种基于虚拟化的fpga使用方法、系统及相关装置 |
| CN115993949B (zh) * | 2023-03-21 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种面向多核处理器的向量数据的处理方法及装置 |
| US20250130799A1 (en) * | 2023-10-19 | 2025-04-24 | Ampere Computing Llc | Techniques for performing non-vector micro-operations on vector hardware |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04156620A (ja) * | 1990-10-20 | 1992-05-29 | Fujitsu Ltd | 仮想計算機システム |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6224366A (ja) * | 1985-07-03 | 1987-02-02 | Hitachi Ltd | ベクトル処理装置 |
| US4722049A (en) * | 1985-10-11 | 1988-01-26 | Unisys Corporation | Apparatus for out-of-order program execution |
| US5291581A (en) * | 1987-07-01 | 1994-03-01 | Digital Equipment Corporation | Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system |
| US5123095A (en) * | 1989-01-17 | 1992-06-16 | Ergo Computing, Inc. | Integrated scalar and vector processors with vector addressing by the scalar processor |
| US5249293A (en) * | 1989-06-27 | 1993-09-28 | Digital Equipment Corporation | Computer network providing transparent operation on a compute server and associated method |
| US5276881A (en) * | 1990-06-25 | 1994-01-04 | Hewlett-Packard Company | ANDF producer using the HPcode-Plus compiler intermediate language |
| EP0463238A1 (en) * | 1990-06-25 | 1992-01-02 | Dsm N.V. | Polyamide composition and its use |
| US5285528A (en) * | 1991-02-22 | 1994-02-08 | International Business Machines Corporation | Data structures and algorithms for managing lock states of addressable element ranges |
-
1992
- 1992-11-30 JP JP4319755A patent/JP2765411B2/ja not_active Expired - Lifetime
-
1993
- 1993-11-30 US US08/159,237 patent/US5511217A/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04156620A (ja) * | 1990-10-20 | 1992-05-29 | Fujitsu Ltd | 仮想計算機システム |
Also Published As
| Publication number | Publication date |
|---|---|
| US5511217A (en) | 1996-04-23 |
| JP2765411B2 (ja) | 1998-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2765411B2 (ja) | 仮想計算機方式 | |
| US5386565A (en) | Method and system for controlling/monitoring computer system having plural operating systems to run thereon | |
| US5187802A (en) | Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention | |
| US7478394B1 (en) | Context-corrupting context switching | |
| JPH0212553A (ja) | 仮想計算機システム | |
| KR920003044B1 (ko) | 가상 머신 시스템용의 게스트 머신 실행 제어 시스템 | |
| JP2009157808A (ja) | データ処理装置及びデータ処理装置におけるバスアクセス制御方法 | |
| US20100332905A1 (en) | Program execution device and method for controlling the same | |
| JP2823230B2 (ja) | 処理の継続実行方法 | |
| US5813039A (en) | Guest execution control system, method and computer process for a virtual machine system | |
| JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
| WO1988007239A1 (en) | Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units | |
| JPH09282196A (ja) | 複合論理プロセッサシステムのプログラム走行制御方式 | |
| JPS6376028A (ja) | 仮想計算機システムにおける命令ステツプ実行制御方式 | |
| JP2705121B2 (ja) | 電子計算機システム | |
| JPH05165663A (ja) | データ処理装置 | |
| JPH03158936A (ja) | プログラムのテスト方法 | |
| JPH0638238B2 (ja) | 仮想計算機システム | |
| JP3102381B2 (ja) | タスクデバッグ装置、タスクデバッグ方法及びその記録媒体 | |
| JPS6116338A (ja) | 仮想計算機システムにおける割込み処理方式 | |
| JP2001125804A (ja) | 割り込み処理制御装置および方法 | |
| JPS6139135A (ja) | 仮想計算機システムにおけるインタバル・タイマ割り込み制御装置 | |
| JPH0375832A (ja) | 仮想計算機制御方式 | |
| JPS60225944A (ja) | 仮想計算機システム | |
| JPH0772874B2 (ja) | 割込み受取り装置 |