JPS625441A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS625441A JPS625441A JP61033380A JP3338086A JPS625441A JP S625441 A JPS625441 A JP S625441A JP 61033380 A JP61033380 A JP 61033380A JP 3338086 A JP3338086 A JP 3338086A JP S625441 A JPS625441 A JP S625441A
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- privileged
- execution
- system control
- 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
Links
- 238000012545 processing Methods 0.000 claims description 13
- 239000013643 reference control Substances 0.000 claims description 13
- 230000010365 information processing Effects 0.000 claims description 10
- 230000006866 deterioration Effects 0.000 abstract 2
- 238000007726 management method Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 14
- 238000013519 translation Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、命令実行権を制御できる情報処理装置に関し
、特に命令実行時の各内部資源の参照権を独立に制御す
る。二とが可能な情報処理装置に関する。
、特に命令実行時の各内部資源の参照権を独立に制御す
る。二とが可能な情報処理装置に関する。
叉来の技術
従来、情報処理装置の内部資源の参照権は、命令のオペ
レーション自身を「特権命令」と「非特権命令」との2
つに分類することで制御されていた。即ち、情報処理装
置は自身が特権状態か非特権状態かを区別するための実
行状態(多くの場合プログラムステータスワード(PS
W)ニブログラム状態語などの一部である)レジスタを
持ち1、−れに従って特権状態ではすべての命令の実行
を許可し、一方弁特権状態では非特権命令の実行だけを
許可していた。いいかえれば、非特権モードでは特権命
令の実行は禁止され、これによって重要な内部資源の操
作はすべて特権命令で扱い、非特権命令による内部資源
のもれを保護していた。
レーション自身を「特権命令」と「非特権命令」との2
つに分類することで制御されていた。即ち、情報処理装
置は自身が特権状態か非特権状態かを区別するための実
行状態(多くの場合プログラムステータスワード(PS
W)ニブログラム状態語などの一部である)レジスタを
持ち1、−れに従って特権状態ではすべての命令の実行
を許可し、一方弁特権状態では非特権命令の実行だけを
許可していた。いいかえれば、非特権モードでは特権命
令の実行は禁止され、これによって重要な内部資源の操
作はすべて特権命令で扱い、非特権命令による内部資源
のもれを保護していた。
発明が解決しようとする問題点
しかしながら、上述した従来の情報処理装置においては
、以下にのべるように仮想計算機システムを実現したと
き、特権命令の実行時に性能の低下を招くという欠点が
ある。
、以下にのべるように仮想計算機システムを実現したと
き、特権命令の実行時に性能の低下を招くという欠点が
ある。
ここ数年来仮想計算機システム(以下、VMという)の
実用化が進んでいる。VMは目的に応じた複数のオペレ
ーティングシステムすなわちO3を1つの計算機システ
ム上で実現するために提案されたもので、幾つかの実用
システムが既に運用されている。
実用化が進んでいる。VMは目的に応じた複数のオペレ
ーティングシステムすなわちO3を1つの計算機システ
ム上で実現するために提案されたもので、幾つかの実用
システムが既に運用されている。
実マシン上で1つ又は複数のO8を稼動させるソフトウ
ェアはVMモニタと呼ばれるが、ここではVMモニタの
ことを「ホスト○s」、■Mモニクによって管理される
1つ又は複数のO8を総称して「ゲストO3Jと呼ぶ。
ェアはVMモニタと呼ばれるが、ここではVMモニタの
ことを「ホスト○s」、■Mモニクによって管理される
1つ又は複数のO8を総称して「ゲストO3Jと呼ぶ。
また実マシンとポス)O3とで実現される1つ又は複数
のマシン・インターフェースヲ「仮想マシン」と呼ぶ、
各ゲストO8はそれぞれに対応する仮想マシン上で動作
する。
のマシン・インターフェースヲ「仮想マシン」と呼ぶ、
各ゲストO8はそれぞれに対応する仮想マシン上で動作
する。
ホス)O5は、実マシン上で各仮想マシンの資源管理ス
ケジューリングや実行順序の制御およびディスパッチ処
理を担当するほかに、ゲストosの特権命令をシミュレ
ートする役目を持つ。通常、VMにおいて実マシンが特
権状態で走行するのはホストO8のみであり、ゲストo
sは実マシンの非特権状態でのみ走行する故、特権命令
を直接実行することはできない。しかし、ゲストO8(
ま自身が特権状態で走行するものと仮定して作製されて
いるために、ゲストO8の特権命令はそのままVM上で
も動くことが要求される。このため、一般的にはゲスト
O8の特権−命令検出時には、特権命令例外としてホス
)O3の例外処理ルーチンによってゲストO8の特権命
令をシミュレートする方法が採用されている。この方法
によればゲストO8が特権命令を実行する毎に、必ずホ
ストO3の例外処理ルーチンが起動される。従って、実
行に際し、直接特権命令を実行する場合に比べて大きな
性能劣化が生じる。これを改良するだめの手法として、
例外を発生させずにファームウェアでゲストO8の特権
命令をシミュレートする「特権命令アシスト」という手
法が取られている例もある。しかし、いずれの場合にお
いても、ゲストO8の特権命令はソフトウェア或いはフ
ァームウェアによってシミュレート/エミュレートされ
るのが前提であり、特権命令自身が直接実行される場合
に比べてのオーバーヘッドが大きくなるという欠点は少
なからず有している。しかもこの欠点は単純な特権命令
を実行する時に最も顕著に現われるものである。
ケジューリングや実行順序の制御およびディスパッチ処
理を担当するほかに、ゲストosの特権命令をシミュレ
ートする役目を持つ。通常、VMにおいて実マシンが特
権状態で走行するのはホストO8のみであり、ゲストo
sは実マシンの非特権状態でのみ走行する故、特権命令
を直接実行することはできない。しかし、ゲストO8(
ま自身が特権状態で走行するものと仮定して作製されて
いるために、ゲストO8の特権命令はそのままVM上で
も動くことが要求される。このため、一般的にはゲスト
O8の特権−命令検出時には、特権命令例外としてホス
)O3の例外処理ルーチンによってゲストO8の特権命
令をシミュレートする方法が採用されている。この方法
によればゲストO8が特権命令を実行する毎に、必ずホ
ストO3の例外処理ルーチンが起動される。従って、実
行に際し、直接特権命令を実行する場合に比べて大きな
性能劣化が生じる。これを改良するだめの手法として、
例外を発生させずにファームウェアでゲストO8の特権
命令をシミュレートする「特権命令アシスト」という手
法が取られている例もある。しかし、いずれの場合にお
いても、ゲストO8の特権命令はソフトウェア或いはフ
ァームウェアによってシミュレート/エミュレートされ
るのが前提であり、特権命令自身が直接実行される場合
に比べてのオーバーヘッドが大きくなるという欠点は少
なからず有している。しかもこの欠点は単純な特権命令
を実行する時に最も顕著に現われるものである。
問題点を解決するための手段
本発明の情報処理装置は、複数の実行状態を有し、各実
行状態に応じて内部資源の参照を伴う命令の実行可否を
制御する情報処理装置であって、前記実行状態を実行状
態レジスタに保持する手段と、前記内部資源の参照を制
御するためのデータを参照制御レジスタに保持する手段
と、前記実行状態レジスタ及び前記参照制御レジスタの
内容により、参照を許可するか禁止するかを決定する参
照制御手段と、この決定に基づいて当該参照を実行する
か否か、あるいは当該参照を含む処理命令を継続実行す
るか否かを決定する命令制御手段とを具備することを特
徴どするものである。
行状態に応じて内部資源の参照を伴う命令の実行可否を
制御する情報処理装置であって、前記実行状態を実行状
態レジスタに保持する手段と、前記内部資源の参照を制
御するためのデータを参照制御レジスタに保持する手段
と、前記実行状態レジスタ及び前記参照制御レジスタの
内容により、参照を許可するか禁止するかを決定する参
照制御手段と、この決定に基づいて当該参照を実行する
か否か、あるいは当該参照を含む処理命令を継続実行す
るか否かを決定する命令制御手段とを具備することを特
徴どするものである。
罫J
VMにおける性能改善のためには、↑¥にゲストO8の
特権命令実行時の性能を向上せしめるハードウェアアー
キテクチャを提供することが重要である。
特権命令実行時の性能を向上せしめるハードウェアアー
キテクチャを提供することが重要である。
本発明によって実現されるハードウェアアーキテクチャ
のプログラム可能な特権資源(PPR:Program
mable Privileged Re5ource
s)の概念について以下に説明する。通常、特権命令の
多くはハードウェアシステム制御に関与する特定の「資
源」を使用する故特権として扱われるものであって、オ
ペレーション時間が特に特権である必要がない場合も多
い。従って、例えばHALT命令などのようにオペラン
ドを必要としない命令については、システムの何らかの
内部資源に関連づけ“て川−IΔX、 i’という処理
を定義し7てその資源を特権化し1、オペレーション自
身を特権と考えないことも可能である1、このようにし
て一般に割算機システムにおいて一部又は全部の特権命
令は、操作するえj象資l原が特権状態であり、かつシ
ステム自身も特権状態であるとき実行可能である非特権
命令におきかλることが可能である。ここにおいて、特
権状態にある対象資源を特権資;原(P R: Pr1
vile)<edResovrees)とよぶものとす
る。プログラド可能な特権資源PPPとは、このような
特権資源のうち、特権/非特権状態を命令により変更す
ることが可能であるものをいう。
のプログラム可能な特権資源(PPR:Program
mable Privileged Re5ource
s)の概念について以下に説明する。通常、特権命令の
多くはハードウェアシステム制御に関与する特定の「資
源」を使用する故特権として扱われるものであって、オ
ペレーション時間が特に特権である必要がない場合も多
い。従って、例えばHALT命令などのようにオペラン
ドを必要としない命令については、システムの何らかの
内部資源に関連づけ“て川−IΔX、 i’という処理
を定義し7てその資源を特権化し1、オペレーション自
身を特権と考えないことも可能である1、このようにし
て一般に割算機システムにおいて一部又は全部の特権命
令は、操作するえj象資l原が特権状態であり、かつシ
ステム自身も特権状態であるとき実行可能である非特権
命令におきかλることが可能である。ここにおいて、特
権状態にある対象資源を特権資;原(P R: Pr1
vile)<edResovrees)とよぶものとす
る。プログラド可能な特権資源PPPとは、このような
特権資源のうち、特権/非特権状態を命令により変更す
ることが可能であるものをいう。
本発明は例えばリング保護機構上でのVM実実現−その
効果がある。以下では、〜つの実現手法例を示す。
効果がある。以下では、〜つの実現手法例を示す。
VMのシステムプログラマは、まず、ホス)−O3゜y
xh○S1アプリケーションプログラムの実行特権し・
ベルの高さをこの順に高から低へと設定する3、次に、
プ0セノザにおいてホストO8のみに許容丈る命令(最
高特権命令)、ゲス)O3に許容する命令(通常特権命
令)を決定し、これらの命令の特権状態の管理手法を決
定する。たとえばホストO8がゲストO3No、 lを
ディスパッチするとぎは、ゲス) OS No1用の通
常特権命令の参照資源をそのレベルにプログラムし、ホ
ストOSコー′ルによるリターン時にはすべての通常特
権命令参照資源を最高′特権に戻す方法がありうる。こ
のよ・うにI、 −C、重要なプロセッサ内部資源はア
プリケーションプログラムの実行から保護されながらも
、ホス)O3/ゲス)O3の間で柔軟な管理を行ないう
ろことになる。
xh○S1アプリケーションプログラムの実行特権し・
ベルの高さをこの順に高から低へと設定する3、次に、
プ0セノザにおいてホストO8のみに許容丈る命令(最
高特権命令)、ゲス)O3に許容する命令(通常特権命
令)を決定し、これらの命令の特権状態の管理手法を決
定する。たとえばホストO8がゲストO3No、 lを
ディスパッチするとぎは、ゲス) OS No1用の通
常特権命令の参照資源をそのレベルにプログラムし、ホ
ストOSコー′ルによるリターン時にはすべての通常特
権命令参照資源を最高′特権に戻す方法がありうる。こ
のよ・うにI、 −C、重要なプロセッサ内部資源はア
プリケーションプログラムの実行から保護されながらも
、ホス)O3/ゲス)O3の間で柔軟な管理を行ないう
ろことになる。
本発明は、従来方式のケーパビリディ・ベース・アト1
ノシンクとの差異について説明する。特権命令の特権性
をプログラド可能にするという特権資源の概念と、命令
によるすべての傑作対象をケーパビリティ・テ・−プル
によって保護しようとするケーパビリティの懸念は、柔
軟性を求める前者と保全性を求めろ後者とで全く異なる
性格を持つ。
ノシンクとの差異について説明する。特権命令の特権性
をプログラド可能にするという特権資源の概念と、命令
によるすべての傑作対象をケーパビリティ・テ・−プル
によって保護しようとするケーパビリティの懸念は、柔
軟性を求める前者と保全性を求めろ後者とで全く異なる
性格を持つ。
最も重要な差異は、ゲーパビリティを実現するプロセッ
サにおいてその特権命令までをケーパビリティの懸念で
包含する手法が公開されていないことである。つまりケ
ーパビリティを実現するプロセッサにおいて保護される
対象となるのはプロセラづの内部環境ではなく外1境で
あり、プロセッサ自体が発生する論理アドレスに対して
、“オブジェクト”が割り付けられ、アクセス権が定義
されるのに対し、プロセッサの内部環境は依然として「
当然保護されるべき核部分」と位置づけられ、ケーパビ
リティ操作命令などのr特権命令」は、その命令に固有
のコードにより特権か否かをプロセッサの内部環境とし
ての命令デコード手段によっで判定される。これに対し
本発明はこの特権か否かの判定を命令コードでなくプロ
セッザ内邪の特権資源アクセス時に判定するのであり、
かつプログラマブルであるとい点で独自性がある。、T
’−1j−(aj 本発明の実施例を図面を用いて説明する。以Fでは特権
資源のことをPR,その参照制御レジスタのことをPR
CRと略す。
サにおいてその特権命令までをケーパビリティの懸念で
包含する手法が公開されていないことである。つまりケ
ーパビリティを実現するプロセッサにおいて保護される
対象となるのはプロセラづの内部環境ではなく外1境で
あり、プロセッサ自体が発生する論理アドレスに対して
、“オブジェクト”が割り付けられ、アクセス権が定義
されるのに対し、プロセッサの内部環境は依然として「
当然保護されるべき核部分」と位置づけられ、ケーパビ
リティ操作命令などのr特権命令」は、その命令に固有
のコードにより特権か否かをプロセッサの内部環境とし
ての命令デコード手段によっで判定される。これに対し
本発明はこの特権か否かの判定を命令コードでなくプロ
セッザ内邪の特権資源アクセス時に判定するのであり、
かつプログラマブルであるとい点で独自性がある。、T
’−1j−(aj 本発明の実施例を図面を用いて説明する。以Fでは特権
資源のことをPR,その参照制御レジスタのことをPR
CRと略す。
第1図は、PRとPRCRのペアを1つ含むシステム構
成をとる本発明の実施例を示すブロック図を、第2図は
、PRとP、RCRのベアを複数含むシステム構成をと
る本発明の実施例を示すブロック図を、第3図は、複数
のPRに対応する1つのPRCRを持つシステム構成を
とり、1つのPRCRが対応するずぺでのPRに対して
統一の制御を行なう本発明の実施例を示ず11372図
を、第4図は、1つのPRに対応する複数のPRCRを
持つシステム構成をとり、1つのPRに対する参照方法
毎に異なる制御を行なう本発明の実施例を示すブロック
図である。これらの実施例では特にシステム制御[/ジ
スタをPRとして扱っている。
成をとる本発明の実施例を示すブロック図を、第2図は
、PRとP、RCRのベアを複数含むシステム構成をと
る本発明の実施例を示すブロック図を、第3図は、複数
のPRに対応する1つのPRCRを持つシステム構成を
とり、1つのPRCRが対応するずぺでのPRに対して
統一の制御を行なう本発明の実施例を示ず11372図
を、第4図は、1つのPRに対応する複数のPRCRを
持つシステム構成をとり、1つのPRに対する参照方法
毎に異なる制御を行なう本発明の実施例を示すブロック
図である。これらの実施例では特にシステム制御[/ジ
スタをPRとして扱っている。
第1図は本発明を天現した最も単純なシステム構成の一
実施例である。システム制御レジスタ121は、システ
ム制御レベルレジスタ122によってそのアクセス権利
ツバ制御される3、レジスタ121に対するREΔD
/ W RI T E アクセスがあると、しベルレジ
スタ122の内容は現実行レベルレジスタ123の内容
と比較器124で比較され、その結果の内容に応じて ・レジスタ121の当該アクセス許可/禁止する・マイ
クロ命令シーケンサ125にて当該命令を中断・割込み
を発生させるか否かを決定するという動作が実行される
。以下ではより具体的な動作を第1図を用いて説明する
。
実施例である。システム制御レジスタ121は、システ
ム制御レベルレジスタ122によってそのアクセス権利
ツバ制御される3、レジスタ121に対するREΔD
/ W RI T E アクセスがあると、しベルレジ
スタ122の内容は現実行レベルレジスタ123の内容
と比較器124で比較され、その結果の内容に応じて ・レジスタ121の当該アクセス許可/禁止する・マイ
クロ命令シーケンサ125にて当該命令を中断・割込み
を発生させるか否かを決定するという動作が実行される
。以下ではより具体的な動作を第1図を用いて説明する
。
システム制御レジスタ121に対するREADアクセス
時において、システム制御レジスタ続出し信号135が
アクティブになるとシステム制御レジタルセル111及
びシステム制御レベルレジスタセル112にそれが通知
される。ORゲート147を通過した信号は出力バッフ
ァ148を開け、レベルレジスタ122の内容を現参照
レベルバス133にのせ、その内容から比較器124に
伝えられる。比較器124は、現実行レベルレジスタ1
23の内容とバス133の内容の比較結果を参照許可信
号バス131にのせレジスタセル111に伝える。
時において、システム制御レジスタ続出し信号135が
アクティブになるとシステム制御レジタルセル111及
びシステム制御レベルレジスタセル112にそれが通知
される。ORゲート147を通過した信号は出力バッフ
ァ148を開け、レベルレジスタ122の内容を現参照
レベルバス133にのせ、その内容から比較器124に
伝えられる。比較器124は、現実行レベルレジスタ1
23の内容とバス133の内容の比較結果を参照許可信
号バス131にのせレジスタセル111に伝える。
この実施例においては、リング保護を対象としているた
め、アクセス実行権の強弱を段階的に設定することがで
きる。今、実行レベルが0のとき最も実行権が強い(最
高特権)ものとし、それ以上のレベル値のときはレベル
値が大きくなるほど実行権が弱くなるように関係づけら
れていると仮定する。
め、アクセス実行権の強弱を段階的に設定することがで
きる。今、実行レベルが0のとき最も実行権が強い(最
高特権)ものとし、それ以上のレベル値のときはレベル
値が大きくなるほど実行権が弱くなるように関係づけら
れていると仮定する。
比較器124はレジスタ123とバス133の値を比べ
て、等しいかまたは前者のほうが大きいときアクティブ
信号を、後者のほうが大きいときインアクティブ信号を
出力することになる。レジスタセル111内では、こう
して発生した参照許可信号に従ってレジスタ121の値
を主データバス132にのせるか否かを決める。遅延要
素141は読出し信号135を遅らせる働きをするが、
これは上記の参照許可信号と同期をとるためである。A
NDゲート142にて読出しが行なわれるか否かが最終
的に判定されると、その結果に応じて出力バッファ14
3の開閉が行なわれる。システム制御レジスタ121対
するWRITEアクセス時において、システム制御レジ
スタセル111及びシステム制御レベルレジスタセル1
12にそれが通知される。特に後者については、ORゲ
ート147を通過した信号は、READアクセス時と同
様の動作を発生させる。
て、等しいかまたは前者のほうが大きいときアクティブ
信号を、後者のほうが大きいときインアクティブ信号を
出力することになる。レジスタセル111内では、こう
して発生した参照許可信号に従ってレジスタ121の値
を主データバス132にのせるか否かを決める。遅延要
素141は読出し信号135を遅らせる働きをするが、
これは上記の参照許可信号と同期をとるためである。A
NDゲート142にて読出しが行なわれるか否かが最終
的に判定されると、その結果に応じて出力バッファ14
3の開閉が行なわれる。システム制御レジスタ121対
するWRITEアクセス時において、システム制御レジ
スタセル111及びシステム制御レベルレジスタセル1
12にそれが通知される。特に後者については、ORゲ
ート147を通過した信号は、READアクセス時と同
様の動作を発生させる。
結果として得られるバス131上の参照制御信号がWR
ITEアクセスの可否を判定する。遅延要素146、A
NDゲート145、人力ゲート144は、各々READ
アクセス時の遅延要素141、ANDゲート142、出
力バッファ143に対応し、同様の役割を果たす。
ITEアクセスの可否を判定する。遅延要素146、A
NDゲート145、人力ゲート144は、各々READ
アクセス時の遅延要素141、ANDゲート142、出
力バッファ143に対応し、同様の役割を果たす。
システム制御レベルレジスタ122は、以上の説明で示
したとおりシステム制御レジスタ121のREAD/W
RITEアクセス時に読み出され、その参照制御を行な
うが、レベルレジスタ122自身への書き込みも類似の
制御機器を用いて参照の制御を受ける。この実施例では
システム制御レベルレジスタ122は常に最高特権状態
(レベル0)にて書込み可能なように設定されている。
したとおりシステム制御レジスタ121のREAD/W
RITEアクセス時に読み出され、その参照制御を行な
うが、レベルレジスタ122自身への書き込みも類似の
制御機器を用いて参照の制御を受ける。この実施例では
システム制御レベルレジスタ122は常に最高特権状態
(レベル0)にて書込み可能なように設定されている。
すなわち、現実行レベルレジスタ123の内容が0かど
うかを検出する零検出回路126の出力結果に応じて、
システム制御レベルレジスタ122に対する書き込み信
号137をANDゲート150によって制御し、その最
終結果をもってレジスタ人力ゲート149が開閉される
。
うかを検出する零検出回路126の出力結果に応じて、
システム制御レベルレジスタ122に対する書き込み信
号137をANDゲート150によって制御し、その最
終結果をもってレジスタ人力ゲート149が開閉される
。
第2図は、複数のシステム制御レベルレジスタセル21
1a、211 b 、 211 cの各々に対して独立
に参照制御を行なうシステム制御レベルレジスタセル2
12a、212b、 212cが存在する実施例であ
る。
1a、211 b 、 211 cの各々に対して独立
に参照制御を行なうシステム制御レベルレジスタセル2
12a、212b、 212cが存在する実施例であ
る。
システム制御レジスタ読出しの際には、そのレジスタア
ドレスが主データバス用ソースレジスタアドレスバス2
36にのる。この値が各続出し信号用レジスタアドレス
バスデコータ251a、 251b。
ドレスが主データバス用ソースレジスタアドレスバス2
36にのる。この値が各続出し信号用レジスタアドレス
バスデコータ251a、 251b。
251Cにて同時にデコードされ、8亥当するシステム
制御レジスタセルとシステム制御レベルレジスタセルの
ペアに対する読込み信号が発生される。
制御レジスタセルとシステム制御レベルレジスタセルの
ペアに対する読込み信号が発生される。
該ペアに対する動作は第1図に示されたものと同じであ
る。
る。
システム制御レジスタ書込みの際には、そのレジスタア
ドレスが主データバス用ディスティネーションレジスタ
アドレスバス235にのる。この値が各書込み信号用レ
ジスタアドレスバスデコーダ252a、252b、25
2Cにてテ゛」−ドされ、該当するシステム制御レジス
タセルとシステ1、制御レベルレジスフセルのペアに対
する書込み(8号が発生される。、該ベアに対する動作
は第1図に示されたものと同じである。
ドレスが主データバス用ディスティネーションレジスタ
アドレスバス235にのる。この値が各書込み信号用レ
ジスタアドレスバスデコーダ252a、252b、25
2Cにてテ゛」−ドされ、該当するシステム制御レジス
タセルとシステ1、制御レベルレジスフセルのペアに対
する書込み(8号が発生される。、該ベアに対する動作
は第1図に示されたものと同じである。
システム制御レベルレジスフ書込みの際には、その1/
ジスタアドレスが主データバス用テ′イスティネーショ
ンレジスタアドレスバス235にのる。
ジスタアドレスが主データバス用テ′イスティネーショ
ンレジスタアドレスバス235にのる。
この値が各書込み信号用レジスタアトi/スバスデコー
ダ253 a 、 253 b、253cにてテ゛コ
・−ドされ、該当するシステム制御レベルレジスタセル
に対する書込み信号が発生される。該セルに対する動作
は第り図に示されたものと同じである。
ダ253 a 、 253 b、253cにてテ゛コ
・−ドされ、該当するシステム制御レベルレジスタセル
に対する書込み信号が発生される。該セルに対する動作
は第り図に示されたものと同じである。
第3図はシステム制御I/ジスクセルが複数あり(21
1a 、 211 b、211 c ) 、その各々
に対して共通の参照制御を行なう統合システム制御レベ
ルレジスタセル112が存在する実施例である。第3図
と第2図との相異点のみ説明する。デコーダ351は、
デコーダ251a、251b、 25IcのOR条件
をデコードし、システム制御1/ジスタセル211 a
。
1a 、 211 b、211 c ) 、その各々
に対して共通の参照制御を行なう統合システム制御レベ
ルレジスタセル112が存在する実施例である。第3図
と第2図との相異点のみ説明する。デコーダ351は、
デコーダ251a、251b、 25IcのOR条件
をデコードし、システム制御1/ジスタセル211 a
。
211 b、 211 cのいずれのセルに苅するR
EΔDアクセスが発生して、0その出力がアクアイブに
なる。fJ−ダ;352はデコーダ252 a 、 2
52 b、252CのoR&(4をテ’j−ドし、シス
テム制御レベルレジスタセル211 a 、 211
b、211cのいずれのセルに対するWl、!ITE7
クセスが発生しても、その出ツノがアクティブになる。
EΔDアクセスが発生して、0その出力がアクアイブに
なる。fJ−ダ;352はデコーダ252 a 、 2
52 b、252CのoR&(4をテ’j−ドし、シス
テム制御レベルレジスタセル211 a 、 211
b、211cのいずれのセルに対するWl、!ITE7
クセスが発生しても、その出ツノがアクティブになる。
ORゲート347の出力は、故にシステム制御1ノベル
レジスタセル211 a 。
レジスタセル211 a 。
211+1)、211cのいずれかのセルに対するR
E A、 D/WRITEアクセスが発生してもアクテ
ィブになり、その結果セル112が起動される。結果は
バス133、比較器124、バス131を通じてフィー
ドバックされるがこの過程は第2図と同じである。
E A、 D/WRITEアクセスが発生してもアクテ
ィブになり、その結果セル112が起動される。結果は
バス133、比較器124、バス131を通じてフィー
ドバックされるがこの過程は第2図と同じである。
第4図は、1つのシステム制御レジスタセル111に対
してREAD7クセス、WRl、TEアクセスの各々に
対し独立にアクセスレベルを設定できる例を示している
。第4図を第1図との相異点を説明スル。システム制御
1/ベルレジスタセル413は、セル111に対するR
EADアクセス専用であり、読出し信号135がアクテ
ィブになってときのみ起動される。システム制i卸[/
ベルレジスタセル414はセル111に対するWRIT
Eアクセス専用であり、書込み信号136がアクティブ
になったときのみ起動される。いずれの場合も結果はバ
ス133にのるため、以降の動作は第1図と同様である
。
してREAD7クセス、WRl、TEアクセスの各々に
対し独立にアクセスレベルを設定できる例を示している
。第4図を第1図との相異点を説明スル。システム制御
1/ベルレジスタセル413は、セル111に対するR
EADアクセス専用であり、読出し信号135がアクテ
ィブになってときのみ起動される。システム制i卸[/
ベルレジスタセル414はセル111に対するWRIT
Eアクセス専用であり、書込み信号136がアクティブ
になったときのみ起動される。いずれの場合も結果はバ
ス133にのるため、以降の動作は第1図と同様である
。
本発明を用いることにより以下の効果がある1、すなわ
ち、本発明によれば、VMにおいてホストO3ヲ最4
’t? 権レベル(レベル0)、ゲス)O3を中間特権
レベル、アプリケーションプログラムを非特権レベル(
最低特権レベル)に割り当て、各々に対応する命令コー
ド実行中では実行状態レジスタ(実施例においては現実
行レベルレジスフ123)にその実行レベルを設定し、
ホストO3がゲス)O3のディスパッチを行なう際に参
照制御1ノジスク(実施例においてはシステム制御)ノ
ベルレジスク112等)が必要なものについてはホス)
O5の実行レベル、それ以外についてはゲス)O3の実
行1ノベルに設定し、それによってゲス)O3が自身の
特権命令を実行する際に必要なものについてはホストO
8をシステムコールにて呼び出し、それにより関連する
内部資源(実施例においてはシステム制御レジスタ11
1等)をアクセスし、それ以外についてはゲス)O3が
直接アクセスすることができる。よって、後者の直接ア
クセスにて実行可能な特権命令の性能を大幅に向」−で
きるという効果がある。
ち、本発明によれば、VMにおいてホストO3ヲ最4
’t? 権レベル(レベル0)、ゲス)O3を中間特権
レベル、アプリケーションプログラムを非特権レベル(
最低特権レベル)に割り当て、各々に対応する命令コー
ド実行中では実行状態レジスタ(実施例においては現実
行レベルレジスフ123)にその実行レベルを設定し、
ホストO3がゲス)O3のディスパッチを行なう際に参
照制御1ノジスク(実施例においてはシステム制御)ノ
ベルレジスク112等)が必要なものについてはホス)
O5の実行レベル、それ以外についてはゲス)O3の実
行1ノベルに設定し、それによってゲス)O3が自身の
特権命令を実行する際に必要なものについてはホストO
8をシステムコールにて呼び出し、それにより関連する
内部資源(実施例においてはシステム制御レジスタ11
1等)をアクセスし、それ以外についてはゲス)O3が
直接アクセスすることができる。よって、後者の直接ア
クセスにて実行可能な特権命令の性能を大幅に向」−で
きるという効果がある。
また、本発明におけるPPPはプロセッサのシステム制
御関連資源のみでなく、汎用レジスタなどのアプリケー
ション実行環境に適用することも可能である。この場合
、VMにおける汎用I/ジスタの特権レジスフ化や、ゲ
ストO3とホストO81ゲス) OS同士の不法なレジ
スフ参照の禁止や、不法参照時の割込み発生などを実現
できるという効果がある。
御関連資源のみでなく、汎用レジスタなどのアプリケー
ション実行環境に適用することも可能である。この場合
、VMにおける汎用I/ジスタの特権レジスフ化や、ゲ
ストO3とホストO81ゲス) OS同士の不法なレジ
スフ参照の禁止や、不法参照時の割込み発生などを実現
できるという効果がある。
上述したように、ブL】グラ1、可能な特権資源によっ
て定義されるものは、各特権資源1ご入っでは、そのア
クセス権であるが、特権資源全体からすれば、ある実行
レベル以下の資源全体は2、そのL/ベベル実行される
プログラム処理の環境を規定していると考えてよい3゜ よって、各特権資源を個別に(あるいは機能上はとんど
個別とみなしてよいグループ単位に)アクセスする命令
では、その命令の実行権自身が規定されるが、全特権資
源に係わるような環境の参照/変更命令は、その命令の
実行範囲、すなわち、参照/変更が許容された資源範囲
を、プログラム可能な特権資源によって規定されると考
えてよい。
て定義されるものは、各特権資源1ご入っでは、そのア
クセス権であるが、特権資源全体からすれば、ある実行
レベル以下の資源全体は2、そのL/ベベル実行される
プログラム処理の環境を規定していると考えてよい3゜ よって、各特権資源を個別に(あるいは機能上はとんど
個別とみなしてよいグループ単位に)アクセスする命令
では、その命令の実行権自身が規定されるが、全特権資
源に係わるような環境の参照/変更命令は、その命令の
実行範囲、すなわち、参照/変更が許容された資源範囲
を、プログラム可能な特権資源によって規定されると考
えてよい。
例えば、コンテキスト・スイッチ命令のような、タスク
切り替えに関連する全特権資源の転送命令は、いかなる
実行レベルでも実行可能であり、かつ、該実行レベル以
下にプログラムされた特権資源のみを参照/変更するよ
うな仕様として、実現することができる。
切り替えに関連する全特権資源の転送命令は、いかなる
実行レベルでも実行可能であり、かつ、該実行レベル以
下にプログラムされた特権資源のみを参照/変更するよ
うな仕様として、実現することができる。
そこで、第1図の実施例は、第5図のように変更するこ
とができる。すなわち、第5図に示すように、データバ
ス132にメモリ・リードFIFOレジスタ113及び
メモリ・ライトFIFOレジスタ114を結合し、それ
らをコンテキスト・スイッチ命令処理表示信号137に
より制御する。詳述するならば、メモリ・リードFIF
Oレジスク113及びメモリ・ライ)FIFOレジスタ
114のそれぞれの制御入力に、読み出し信号用レジス
タ・アドレス・バス・デコーダ251mと書き込み信号
用レジスタ・アドレス・バス・デコーダ252mのそれ
ぞれの出力が信号抑止ゲート(NOT−AND) 26
1及び262を介して結合されている。そして、それら
信号抑止ゲートの他方の人力には、信号抑止ゲート(N
OT−AND> 264及び265の出力が接続され、
それら信号抑止ゲート264.265の両人力には、そ
れぞれ比較器124の出力とコンテキスト・スイッチ命
令処理表示信号137が供給されている。更に、比較器
124とマイクロシーケンサ125との間にも信号抑止
ゲー) (OR) 263が接続され、その人力にも、
コンテキスト・スイッチ命令処理表示信号137が供給
されている。
とができる。すなわち、第5図に示すように、データバ
ス132にメモリ・リードFIFOレジスタ113及び
メモリ・ライトFIFOレジスタ114を結合し、それ
らをコンテキスト・スイッチ命令処理表示信号137に
より制御する。詳述するならば、メモリ・リードFIF
Oレジスク113及びメモリ・ライ)FIFOレジスタ
114のそれぞれの制御入力に、読み出し信号用レジス
タ・アドレス・バス・デコーダ251mと書き込み信号
用レジスタ・アドレス・バス・デコーダ252mのそれ
ぞれの出力が信号抑止ゲート(NOT−AND) 26
1及び262を介して結合されている。そして、それら
信号抑止ゲートの他方の人力には、信号抑止ゲート(N
OT−AND> 264及び265の出力が接続され、
それら信号抑止ゲート264.265の両人力には、そ
れぞれ比較器124の出力とコンテキスト・スイッチ命
令処理表示信号137が供給されている。更に、比較器
124とマイクロシーケンサ125との間にも信号抑止
ゲー) (OR) 263が接続され、その人力にも、
コンテキスト・スイッチ命令処理表示信号137が供給
されている。
を各々表わす。
コンテキスト・スイッチ命令処理表示信号137は、コ
ンテキスト・スイッチ命令実行の際にアクティブになる
。従って、この信号は、次の信号の伝達を抑制する。
ンテキスト・スイッチ命令実行の際にアクティブになる
。従って、この信号は、次の信号の伝達を抑制する。
閣比較器124からマイクロシーケンサ125への命令
中断信号131 更に、参照許可信号131が、信号抑止ゲー) 262
゜263に接続されることで、次の信号の伝達をも抑制
する。
中断信号131 更に、参照許可信号131が、信号抑止ゲー) 262
゜263に接続されることで、次の信号の伝達をも抑制
する。
■メモリ・リードFIFQレジスタ113に対する読み
出し信号(デコーダ251mから供給)−メモリ・ライ
トFIFOレジスタ114に対する書き込み信号(デコ
ーダ252mから供給)コンテキスト・スイッチ命令実
行の際の動作は次のようになる;マイクロ・コードなど
の手段を用いて、コンテキストとなる特権資源のレジス
タ・アドレスを順次発生させるシーケンスが発生し、そ
れが、ロード・コンテキスト命令の場合はデスティネー
ション・レジスタ・アドレス・バス235上に、ストア
・コンテキスト命令の場合は、ソース・レジスタ・アド
レス・バス236上に、伝達される。一方、メモリ・イ
ンターフェースとして、ロード・コンテキスト命令の場
合はソース・レジスタ・アドレス・バス236上にメモ
リ・リードFIFOレジスタ113のアドレスが、スト
ア・コンテキスト命令の場合は、デスティネーション・
レジスタ・アドレス・バス235上にメモリ・ライト・
FIFOレジスタ114のアドレスが、伝達される。
出し信号(デコーダ251mから供給)−メモリ・ライ
トFIFOレジスタ114に対する書き込み信号(デコ
ーダ252mから供給)コンテキスト・スイッチ命令実
行の際の動作は次のようになる;マイクロ・コードなど
の手段を用いて、コンテキストとなる特権資源のレジス
タ・アドレスを順次発生させるシーケンスが発生し、そ
れが、ロード・コンテキスト命令の場合はデスティネー
ション・レジスタ・アドレス・バス235上に、ストア
・コンテキスト命令の場合は、ソース・レジスタ・アド
レス・バス236上に、伝達される。一方、メモリ・イ
ンターフェースとして、ロード・コンテキスト命令の場
合はソース・レジスタ・アドレス・バス236上にメモ
リ・リードFIFOレジスタ113のアドレスが、スト
ア・コンテキスト命令の場合は、デスティネーション・
レジスタ・アドレス・バス235上にメモリ・ライト・
FIFOレジスタ114のアドレスが、伝達される。
各特権資源のアクセスに対して、逐一アクセス権チェッ
クが行なわれる。もし、参照許可信号が発生すれば、そ
のアクセスは認可され、転送は異常なく実行される。
クが行なわれる。もし、参照許可信号が発生すれば、そ
のアクセスは認可され、転送は異常なく実行される。
もし、参照許可信号が発生しなければ、第1図において
は、マイクロシーケンサ125に対して割り込みが発生
するが、第5図では、コンテキスト・スイッチ命令の実
行を示す信号137によってゲ−)263によりその通
知が抑止される。さらに、参照許可信号を伝えるバス1
31が、メモリ・リードFIFOレジスタ113に対す
る読み出し信号、あるいは、メモリ・ライトFIFOレ
ジスタ114に対する書き込み信号を抑止するため、結
果としてFIFOレジスタは動作しない。これにより、
当該転送の実行が全く行なわれないまま、次の転送実行
に移ることが可能である。
は、マイクロシーケンサ125に対して割り込みが発生
するが、第5図では、コンテキスト・スイッチ命令の実
行を示す信号137によってゲ−)263によりその通
知が抑止される。さらに、参照許可信号を伝えるバス1
31が、メモリ・リードFIFOレジスタ113に対す
る読み出し信号、あるいは、メモリ・ライトFIFOレ
ジスタ114に対する書き込み信号を抑止するため、結
果としてFIFOレジスタは動作しない。これにより、
当該転送の実行が全く行なわれないまま、次の転送実行
に移ることが可能である。
かくして、参照許可バス131を、ある特定の命令に対
しては、主アーク・バスを通じて行なわれるデ・−り転
送の、特定のデスティネーション/ソース資源に対する
書き込み/読み出し禁止信号として用い、その際には゛
マイクロ・シーケンサ125は、その制御を変更されな
い。この場合、FIFOタイプの人出力バッファが仮定
される3、そのFIFOバッファを通じて[特権資源の
ブロック転送」が全体的にまたは選択的に実行される。
しては、主アーク・バスを通じて行なわれるデ・−り転
送の、特定のデスティネーション/ソース資源に対する
書き込み/読み出し禁止信号として用い、その際には゛
マイクロ・シーケンサ125は、その制御を変更されな
い。この場合、FIFOタイプの人出力バッファが仮定
される3、そのFIFOバッファを通じて[特権資源の
ブロック転送」が全体的にまたは選択的に実行される。
FIFDバッファからアクセスされる外部対象は、例え
ば、上記値上に存在するスタックあるいはそれに類する
特定のメモリ領域(TCB :タスク制御ブロック)で
あり、そこには、それらの特権資源が定義するシステム
環境のコンテキストが保存される。
ば、上記値上に存在するスタックあるいはそれに類する
特定のメモリ領域(TCB :タスク制御ブロック)で
あり、そこには、それらの特権資源が定義するシステム
環境のコンテキストが保存される。
ここでは、プログラム可能な特権資源の概念をCP[J
アーチテクヂャの拡張上で実現する具体的な方法につい
て考察する。この方法によれば、すべての特権命令は、
命令の解読(デコード)時点では、通常の命令同様、実
行可能な命令として取り扱われ、命令の実行時点に至っ
た際に、参照される資源の特権レベルによって、その実
行が完全!、’:/I分的に行なわれるか、あるいは、
行なわれずに特権命令例外(Privileged I
n5truction ExC: e 11 t:、
i (I 11 )が発生〔7、l・ラップ(異常啓j
′)するかが決定されることになる。
アーチテクヂャの拡張上で実現する具体的な方法につい
て考察する。この方法によれば、すべての特権命令は、
命令の解読(デコード)時点では、通常の命令同様、実
行可能な命令として取り扱われ、命令の実行時点に至っ
た際に、参照される資源の特権レベルによって、その実
行が完全!、’:/I分的に行なわれるか、あるいは、
行なわれずに特権命令例外(Privileged I
n5truction ExC: e 11 t:、
i (I 11 )が発生〔7、l・ラップ(異常啓j
′)するかが決定されることになる。
(])特権資源への書き込み/からの読み出し特権レジ
スタへの/からの転送命令は、最も単純なものである。
スタへの/からの転送命令は、最も単純なものである。
ずなわぢ、現在の命令実行に関す−る特権1/ベル(以
下実行レベルと略す)と、その特権レジスタにブL1グ
ラムされた特権12・ベル(以下プログラム・レベルと
略す)を比較し、アクセスが許容されれば、この命令は
実行面である。
下実行レベルと略す)と、その特権レジスタにブL1グ
ラムされた特権12・ベル(以下プログラム・レベルと
略す)を比較し、アクセスが許容されれば、この命令は
実行面である。
アクセスが許容されない場合は、特権命令例外(が発生
する。
する。
(2) タスク(仮想計算機)コンテキストの切り替
え(ロード/ストア) プロシジャ・フール/リターン命令が、プログラム(ザ
ブルーチン)のコンテキストを入れ替える命令であるの
に対し、タスク・コンテキスト・スイッチ命令は、O8
の生成するタスクあるいはVMモニタの生成するVMに
関して、そのcptj上のコンテキスI・を入れ替える
命令であるといえる。
え(ロード/ストア) プロシジャ・フール/リターン命令が、プログラム(ザ
ブルーチン)のコンテキストを入れ替える命令であるの
に対し、タスク・コンテキスト・スイッチ命令は、O8
の生成するタスクあるいはVMモニタの生成するVMに
関して、そのcptj上のコンテキスI・を入れ替える
命令であるといえる。
O8のタスク・コンテキスト・スイッチ時には、タスク
制御に関連するレジスタが入れ替えの対象となる。3ま
た、VMのスイッチ時には、VM制御に関連するレジス
タ(VM毎に変化する制御データを持つレジスタ)が、
入れ替えの対象になる。
制御に関連するレジスタが入れ替えの対象となる。3ま
た、VMのスイッチ時には、VM制御に関連するレジス
タ(VM毎に変化する制御データを持つレジスタ)が、
入れ替えの対象になる。
これらの命令の仕様は、この取捨選択を、実行レベルと
、各レジスタに関するプログラム・1、ノベルとの比較
によって行ない、その結果に応じたコ〉′テキスト・ス
イッチを実現する。
、各レジスタに関するプログラム・1、ノベルとの比較
によって行ない、その結果に応じたコ〉′テキスト・ス
イッチを実現する。
(3)TLB(”rドレス変換バブノア)のクリア(1
/全エンドす) ベ−5,> 7グに。J′る仮想記憶管理を行なうOS
がゲス)O8とし2で実行される場合で、特に多重仮想
空間(ろ・スフ毎に仮想空I■を切り替え・:S)の実
現の際、各タスクに対応するアドレス変換テーブルを、
タスクスイッチング時に変換することになる。ゲスl−
OSは、このスイッチングの際に、占いタスクの仮想空
間に対応するT[、Bエントリをクリ゛γする必要があ
る。
/全エンドす) ベ−5,> 7グに。J′る仮想記憶管理を行なうOS
がゲス)O8とし2で実行される場合で、特に多重仮想
空間(ろ・スフ毎に仮想空I■を切り替え・:S)の実
現の際、各タスクに対応するアドレス変換テーブルを、
タスクスイッチング時に変換することになる。ゲスl−
OSは、このスイッチングの際に、占いタスクの仮想空
間に対応するT[、Bエントリをクリ゛γする必要があ
る。
各ゲストO8は、VMモニタの管理の下で、これらの命
令の実行を委譲されることができる。さの際、その権限
を示すステータス・レジスタ(且11C1ear Le
vel)が必要になる。
令の実行を委譲されることができる。さの際、その権限
を示すステータス・レジスタ(且11C1ear Le
vel)が必要になる。
(4)仮想記憶;へのテ・−プル管理命令これらの命令
は、仮想記憶のテ・−プル管理に用いられる。ゲス)O
3が仮想記憶管理を行なうか否かによって、これらの命
令の実行権がゲストO8に委譲されるか否かが決定され
る ここで重要なことは、ゲス)O5のアドレス変換テーブ
ル操作によ、って、VMモニタに関連する命令/データ
領域を破壊する恐れがないかどうかである。
は、仮想記憶のテ・−プル管理に用いられる。ゲス)O
3が仮想記憶管理を行なうか否かによって、これらの命
令の実行権がゲストO8に委譲されるか否かが決定され
る ここで重要なことは、ゲス)O5のアドレス変換テーブ
ル操作によ、って、VMモニタに関連する命令/データ
領域を破壊する恐れがないかどうかである。
基本的には、現実行レベルを考)汽した仮想主記憶から
実主記憶へのアト(/ス変換を、CP[Jチップの外部
で行なうことによって、VMモニタに関連する命令/デ
ータ領域を保護する方策が採られることになる。その詳
細は、後述される。
実主記憶へのアト(/ス変換を、CP[Jチップの外部
で行なうことによって、VMモニタに関連する命令/デ
ータ領域を保護する方策が採られることになる。その詳
細は、後述される。
(5)入出力機器に対するコマンド命令これらは、外部
ペリフェラルのI10ポートに対し入出力実行を行なう
命令である。
ペリフェラルのI10ポートに対し入出力実行を行なう
命令である。
通常、アプリケーション・プログラムが複数走るプログ
ラムでは、それらのプログラム相互の干渉を避けるため
、l/ロボート・アクセスは、逐次化されなければなら
ない。よってI10ポート・アクセスは全てO8で制御
され、アプリケーション・プログラムが直接I10命令
を切ることは許容されない。
ラムでは、それらのプログラム相互の干渉を避けるため
、l/ロボート・アクセスは、逐次化されなければなら
ない。よってI10ポート・アクセスは全てO8で制御
され、アプリケーション・プログラムが直接I10命令
を切ることは許容されない。
しかし、あるVMが、他のいかなるVMも用いないよう
なI10デバイスを用いている場合に、そのVMは、7
Mモニタに対して特別なシステム・コールを発行するこ
となく、直接I10命令を発行する権利を有する。これ
は、特殊なアプリケーションについても同様なことがい
える。また、I10100アドレス変換を考慮した外部
変換ツールを使用し、ゲストO3に対して、I1010
0アクセスする特殊ケースを許容することが可能である
。
なI10デバイスを用いている場合に、そのVMは、7
Mモニタに対して特別なシステム・コールを発行するこ
となく、直接I10命令を発行する権利を有する。これ
は、特殊なアプリケーションについても同様なことがい
える。また、I10100アドレス変換を考慮した外部
変換ツールを使用し、ゲストO3に対して、I1010
0アクセスする特殊ケースを許容することが可能である
。
(6)割り込み/例外処理からの復帰
この命令は、割り込み処理/例外処理ルーチンからの復
帰(return)に用いられる。通常の復帰命令との
違いは、システム制御にかかわるステータス・レジスタ
(例えばPSW)などの復帰(すなわち更新)を伴うこ
とである。
帰(return)に用いられる。通常の復帰命令との
違いは、システム制御にかかわるステータス・レジスタ
(例えばPSW)などの復帰(すなわち更新)を伴うこ
とである。
この命令で更新されるステータス資源は、CPUを用い
たシステムの定義にかかわるビットが存在しているのが
普通である。この部分の破壊は、システム全体の破壊に
つながる。逆に、O8に関連するステータス試験を変更
するために、この命令をレベル1あるいは2で実行でき
ないと、仮想計算機の実現は困難である。
たシステムの定義にかかわるビットが存在しているのが
普通である。この部分の破壊は、システム全体の破壊に
つながる。逆に、O8に関連するステータス試験を変更
するために、この命令をレベル1あるいは2で実行でき
ないと、仮想計算機の実現は困難である。
この制御をプログラム可能な特権資源の概念を用いて指
定することが可能である。この場合、プログラム可能な
特権資源はくステータス資源(PSW)の各ビットに対
応して定義されることになる。
定することが可能である。この場合、プログラム可能な
特権資源はくステータス資源(PSW)の各ビットに対
応して定義されることになる。
(7) Update PSW
PSWの更新を行なう命令である。上記した(6)と同
様の議論となる。
様の議論となる。
(8) )IALT、 C1ear (1:Ac)I
B、Diagnose・ハードウェア・システムの状態
を決定するようなコマンドは、ゲストO8によらず、7
Mモニタによって指定されるべきである。すなわち、こ
れらの命令は、いかなる場合にあっても、VMモニクに
おいて実行されるべきであろう。但し、例えば、HAL
T命令をゲストO8が実行しようとしたときの特権命令
例外処理で、実行可能な(最優先の)VMディスパッチ
するという、VMにとっても「擬似的な」貼しT処理は
、実行されることになるだろう。
B、Diagnose・ハードウェア・システムの状態
を決定するようなコマンドは、ゲストO8によらず、7
Mモニタによって指定されるべきである。すなわち、こ
れらの命令は、いかなる場合にあっても、VMモニクに
おいて実行されるべきであろう。但し、例えば、HAL
T命令をゲストO8が実行しようとしたときの特権命令
例外処理で、実行可能な(最優先の)VMディスパッチ
するという、VMにとっても「擬似的な」貼しT処理は
、実行されることになるだろう。
上記したことがらに基づいて、仮想計算機の実現に必要
な記憶管理機構を実現するためには、現実行レベルを考
慮した仮想主記憶から実主記憶へのアドレス変換を、C
PUチップの外部で行なう必要がある。ここでは、その
実現方法について考察する。
な記憶管理機構を実現するためには、現実行レベルを考
慮した仮想主記憶から実主記憶へのアドレス変換を、C
PUチップの外部で行なう必要がある。ここでは、その
実現方法について考察する。
すべての仮想計算機に関連する問題は、オン・チップの
記憶管理機構にかかわるソフトウェアの実現方式の問題
として解決される場合、ペリフェラル・インターフェー
ス上の問題点はない。
記憶管理機構にかかわるソフトウェアの実現方式の問題
として解決される場合、ペリフェラル・インターフェー
ス上の問題点はない。
それ以外の場合は、なんらかの形で、CPLI外部に仮
想計算機サポートのためのノ\−ドウエアが必要となる
。その実現に際し、重要となるポイントは次の2点であ
る。
想計算機サポートのためのノ\−ドウエアが必要となる
。その実現に際し、重要となるポイントは次の2点であ
る。
■外部アドレス変換の実現ハードウェア■−1.メモリ
管理用チップを用いた動的アドレス変換を行なう場合 ■−2,各O8に対する領域指定を、メモリバンクなど
、ハード・ワイアド・ロジックの手法で実現する場合(
静的アドレス変換)■アドレス変換不成功時におけるV
Mモニタへの通知方法 ここで、外部アドレス変換に必要な情報を整理するなら
ば、それらとしては、 ■アクセス・アドレス ■アクセス・ステータス(メモリ/入出力などのアクセ
ス空間指定) ■現在の実行レベル ■現仮想計算機識別番号(VMID) の4つが挙げられる。これらの値、CP口外部に供給す
る方法としては、 ■cpuψrM子出力 ■外部ステータス・レジスフ(VMモニタによりソフト
ウIアでセットされる) の2つが考えられる。特に実行レベルについては、割り
込みなど、ソフトウェアで不可知な要因で変化する可能
性があるため、端子出力により供給されねばならない。
管理用チップを用いた動的アドレス変換を行なう場合 ■−2,各O8に対する領域指定を、メモリバンクなど
、ハード・ワイアド・ロジックの手法で実現する場合(
静的アドレス変換)■アドレス変換不成功時におけるV
Mモニタへの通知方法 ここで、外部アドレス変換に必要な情報を整理するなら
ば、それらとしては、 ■アクセス・アドレス ■アクセス・ステータス(メモリ/入出力などのアクセ
ス空間指定) ■現在の実行レベル ■現仮想計算機識別番号(VMID) の4つが挙げられる。これらの値、CP口外部に供給す
る方法としては、 ■cpuψrM子出力 ■外部ステータス・レジスフ(VMモニタによりソフト
ウIアでセットされる) の2つが考えられる。特に実行レベルについては、割り
込みなど、ソフトウェアで不可知な要因で変化する可能
性があるため、端子出力により供給されねばならない。
メモリ管理用チップによるアト(ノス変換では、上記の
情報群を連結して仮想主記憶アドレスきし、それをM
M IJ (Memory Management l
1nit)に入力して実主記憶アドレスを得る。
情報群を連結して仮想主記憶アドレスきし、それをM
M IJ (Memory Management l
1nit)に入力して実主記憶アドレスを得る。
メモリ・バンク方式では、上記の方法で得られた(ある
いは一部をエンコードするなどの変更を伴って得られた
)仮想主記憶゛rアドレス、そのまま実主記憶アドレス
とする。
いは一部をエンコードするなどの変更を伴って得られた
)仮想主記憶゛rアドレス、そのまま実主記憶アドレス
とする。
また、アドレス変換不成功とは、MMUに該当するく仮
想主記憶から実主記憶への)アドレス変換対が存在しな
いこと、変換不正とは、その仮想主記憶に対応する実主
記憶が真に存在しない/存在するがアクセス権がないこ
とをいう。
想主記憶から実主記憶への)アドレス変換対が存在しな
いこと、変換不正とは、その仮想主記憶に対応する実主
記憶が真に存在しない/存在するがアクセス権がないこ
とをいう。
VMモニクによるアドレス変換は、ページング/セグメ
ンテーションのいずれの手法を採る場合でも、当該tl
令の実行に対して、その命令/オペランド・アクセス・
デマンドに対する割り込み処理としで実現される。
ンテーションのいずれの手法を採る場合でも、当該tl
令の実行に対して、その命令/オペランド・アクセス・
デマンドに対する割り込み処理としで実現される。
CPtJのバス・エラ一端子からアドレス変換に関する
異常が通知されると、VMモニクのバス・エラー例外ル
ーチン(割り込み/例外処理ベクタで規定されるアドレ
スから開始する)が起動される。そのルーチンにおいて
、その起動要素を解析し、もし、外部変換不成功であれ
ば、VMモニタ用のマツピング・テーブルを検索して、
アドレス変換対を準備し、MMUにロードする。この際
、命令再開に必要な情報は破壊しないようにする。
異常が通知されると、VMモニクのバス・エラー例外ル
ーチン(割り込み/例外処理ベクタで規定されるアドレ
スから開始する)が起動される。そのルーチンにおいて
、その起動要素を解析し、もし、外部変換不成功であれ
ば、VMモニタ用のマツピング・テーブルを検索して、
アドレス変換対を準備し、MMUにロードする。この際
、命令再開に必要な情報は破壊しないようにする。
もし、変換不正が発見されば、VMモニタは、そのVM
をアボートする。
をアボートする。
上述の内容は、メモリ管理用チップを用いた動的アドレ
ス変換を行なう場合(■−1)に適用される。各O8に
対する領域指定を、固定的に変換する場合(■−2)は
、変換不正のみ検出すればよい。
ス変換を行なう場合(■−1)に適用される。各O8に
対する領域指定を、固定的に変換する場合(■−2)は
、変換不正のみ検出すればよい。
例えば、ゲストO8が、VMモニタ固有の処理領域を破
壊しようとした場合は、バス・エラー例外が発生し、V
Mはアボートされる。
壊しようとした場合は、バス・エラー例外が発生し、V
Mはアボートされる。
つぎに、以上述べた仮想計算機の実現の実施例を、仮想
記憶管理機構を含めたCPUを用いて実現した場合の実
施例(■−1,2に対応)を第6図及び第7図に示す。
記憶管理機構を含めたCPUを用いて実現した場合の実
施例(■−1,2に対応)を第6図及び第7図に示す。
第6図に示す例は、CP[Jlolと、アドレスラッチ
102aと、データ・バッファ103と、メモリ管理用
チップ(MMU)104とを具備しており、そレラハ、
ステータス・バス201、アト!/ス・バス202、実
行レベル出力ライン203、メモリアクセス開始通知信
号(PS)ライン204、メモリ・アクセス・終了通知
信号(READY>ライン205、不法メモリアクセス
通知信号(BUSIERROR)ライン206、データ
・バス207を介して相互に結合されている。
102aと、データ・バッファ103と、メモリ管理用
チップ(MMU)104とを具備しており、そレラハ、
ステータス・バス201、アト!/ス・バス202、実
行レベル出力ライン203、メモリアクセス開始通知信
号(PS)ライン204、メモリ・アクセス・終了通知
信号(READY>ライン205、不法メモリアクセス
通知信号(BUSIERROR)ライン206、データ
・バス207を介して相互に結合されている。
第6図は、メモリ管理用チップを用いた動的アト1ノス
変換を行なう場合のペリフェラル・インターフエ・−ス
をしめしている。
変換を行なう場合のペリフェラル・インターフエ・−ス
をしめしている。
第6図で示される構成では、仮、思上記憶に対するアド
レス202が実行レベル203、ステータス201と共
にMMtJ104で変換され、その結果が再びアドレス
・バス202に返されてラッチ102aでラッチされる
。このアドレス変換時にメモリ不正アクセスか否かが検
知され、もし不正なら、不法メモリアクセス通知信号2
06がアクティブとなる。そうでない場合は、メモリ・
アクセスがバッファ103を介して行なわれ、その終了
がメモリ・アクセス・終了通知信号205で通知される
。アドレス変換不成功の場合(M M IJ 1.04
内に、変換アドレス対が存在しない場合)は、MMtJ
104がCPUメモリ・ザイクルを停止させ、自らメモ
リに対しそめ変換アト1ノス対をアクセスする。
レス202が実行レベル203、ステータス201と共
にMMtJ104で変換され、その結果が再びアドレス
・バス202に返されてラッチ102aでラッチされる
。このアドレス変換時にメモリ不正アクセスか否かが検
知され、もし不正なら、不法メモリアクセス通知信号2
06がアクティブとなる。そうでない場合は、メモリ・
アクセスがバッファ103を介して行なわれ、その終了
がメモリ・アクセス・終了通知信号205で通知される
。アドレス変換不成功の場合(M M IJ 1.04
内に、変換アドレス対が存在しない場合)は、MMtJ
104がCPUメモリ・ザイクルを停止させ、自らメモ
リに対しそめ変換アト1ノス対をアクセスする。
第7図は、各O3に対する領域指定をメモリ・バンクな
どのハード・ワイアド・ロジックの手法で実現する場合
のペリフェラル・インターフェースを示している。第7
図にの例は、アドレスラッチ102aと、データ・バッ
ファ103と、メモリ管理用チップ(MMIJ)1.0
4の代わりに、アドレス・ラッチ102b、仮想計算機
識別番号ラッチ105及びデコーダ106を具備してい
る。なお、第6図と同様な部分には同一の参照番号が付
しである。
どのハード・ワイアド・ロジックの手法で実現する場合
のペリフェラル・インターフェースを示している。第7
図にの例は、アドレスラッチ102aと、データ・バッ
ファ103と、メモリ管理用チップ(MMIJ)1.0
4の代わりに、アドレス・ラッチ102b、仮想計算機
識別番号ラッチ105及びデコーダ106を具備してい
る。なお、第6図と同様な部分には同一の参照番号が付
しである。
第7図で示される構成では、仮想主記憶に対応するアド
レス202が、実行レベル203、仮想マシンIDラッ
チ105の出力と共に供給されて、ラッチ102bでラ
ッチされ、これを実マシンアドレスとする。故に、変換
不成功はない。ホストO8は、VMスイッチの際に10
5の内容を更新する(これに対し、第6図の例では、M
ML1104内部の全アドレス変換対をクリアする)。
レス202が、実行レベル203、仮想マシンIDラッ
チ105の出力と共に供給されて、ラッチ102bでラ
ッチされ、これを実マシンアドレスとする。故に、変換
不成功はない。ホストO8は、VMスイッチの際に10
5の内容を更新する(これに対し、第6図の例では、M
ML1104内部の全アドレス変換対をクリアする)。
アドレス変換不正は固定的に検出され、不法メモリアク
セス通知信号206で通知される。
セス通知信号206で通知される。
B訓二皇呈
以上のように本発明に依れば、情報処理装置内の内部資
源のアクセス権をプログラム可能にすることにより、V
MやO8作成時の性能や柔軟性を向上することができる
という多大な効果をうろことができる。
源のアクセス権をプログラム可能にすることにより、V
MやO8作成時の性能や柔軟性を向上することができる
という多大な効果をうろことができる。
第1図は、本発明の実施例を示すブロック図、第2図、
第3図、第4図、第5図は、各々本発明の他の実施例を
示すブロック図、 第6図及び第7図は、本発明を実施する仮想計算機シス
テムのブロック図である。 (主な参照番号) 111・・システム制御レジスタセノペ112・・シス
テム制御レベルレジスタセノペ121・・システム制御
レジスフ、 122・・システム制御レベルレジスタ、123・・現
実行レベルレジスタ、 124・・比較器、 125・・マイクロ命令シーケンサ、 126・・零検出回路、 131・・参照許可信号バス、 132・・主データバス、 133・・現参照レベルバス、 134・・最高特権表示バス、 135・・システム制御レジスタ続出し信号、136・
・システム制御レジスタ書込み信号、137・・システ
ム制御レベルレジスタ書込み信号、141、146・・
遅延要素、 142、145.150・ ・ANDゲート、147・
・ORゲート、 143、148・・トライステートバス出力バッファ、
144、149・・レジスタ入力ゲート、211a、
211b、 211c −−システム制御レジスタ
セル、 212a、 212b、 212c ・−システム
制御レベルレジスタセル、 235・・主データバス用ディスティネーションレジス
タアドレスバス、 236・・主データバス用ソースレジスタアドレスバス
、 247a、 247b、 247c −−ORゲ
ート、251a、 251b、 251c ・・読
出し信号用レジスタアドレスバスデコーダ、 252a、 252b、 252c ・・書込み信
号用 。 レジスタアドレスバスデコーダ、 253a、 253b、 253c −−書込み信
号用レジスタアドレスバスデコーダ、 347・ ・ORゲート、 351・・読出し信号用レジスタアドレスバスデコーダ
、 352・・書込み信号用レジスタアドレスバスデコーダ
、 353・・書込み信号用レジスタアドレスバスデコーダ
、 413、414・・システム制御レベルレジスタ、43
7、438・・システム制御レベルレジスタ書込み信号
第3図、第4図、第5図は、各々本発明の他の実施例を
示すブロック図、 第6図及び第7図は、本発明を実施する仮想計算機シス
テムのブロック図である。 (主な参照番号) 111・・システム制御レジスタセノペ112・・シス
テム制御レベルレジスタセノペ121・・システム制御
レジスフ、 122・・システム制御レベルレジスタ、123・・現
実行レベルレジスタ、 124・・比較器、 125・・マイクロ命令シーケンサ、 126・・零検出回路、 131・・参照許可信号バス、 132・・主データバス、 133・・現参照レベルバス、 134・・最高特権表示バス、 135・・システム制御レジスタ続出し信号、136・
・システム制御レジスタ書込み信号、137・・システ
ム制御レベルレジスタ書込み信号、141、146・・
遅延要素、 142、145.150・ ・ANDゲート、147・
・ORゲート、 143、148・・トライステートバス出力バッファ、
144、149・・レジスタ入力ゲート、211a、
211b、 211c −−システム制御レジスタ
セル、 212a、 212b、 212c ・−システム
制御レベルレジスタセル、 235・・主データバス用ディスティネーションレジス
タアドレスバス、 236・・主データバス用ソースレジスタアドレスバス
、 247a、 247b、 247c −−ORゲ
ート、251a、 251b、 251c ・・読
出し信号用レジスタアドレスバスデコーダ、 252a、 252b、 252c ・・書込み信
号用 。 レジスタアドレスバスデコーダ、 253a、 253b、 253c −−書込み信
号用レジスタアドレスバスデコーダ、 347・ ・ORゲート、 351・・読出し信号用レジスタアドレスバスデコーダ
、 352・・書込み信号用レジスタアドレスバスデコーダ
、 353・・書込み信号用レジスタアドレスバスデコーダ
、 413、414・・システム制御レベルレジスタ、43
7、438・・システム制御レベルレジスタ書込み信号
Claims (1)
- 複数の実行状態で動作し、各実行状態に応じて内部資源
の参照を伴う命令の実行可否を制御する情報処理装置に
おいて、前記実行状態を実行状態レジスタに保持する手
段と、前記内部資源の参照を制御するための情報を参照
制御レジスタに保持する手段と、前記実行状態レジスタ
及び前記参照制御レジスタの内容により参照を許可する
か否かを決定する参照制御手段と、前記決定に基づいて
当該参照を実行するか否か、あるいは当該参照を含む処
理命令を継続実行するか否かを決定する命令制御手段と
を具備することを特徴とする情報処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60-29657 | 1985-02-18 | ||
JP2965785 | 1985-02-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS625441A true JPS625441A (ja) | 1987-01-12 |
Family
ID=12282183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61033380A Pending JPS625441A (ja) | 1985-02-18 | 1986-02-18 | 情報処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5043878A (ja) |
EP (1) | EP0192232B1 (ja) |
JP (1) | JPS625441A (ja) |
DE (1) | DE3689287T2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004537786A (ja) * | 2001-06-08 | 2004-12-16 | ヒューレット・パッカード・カンパニー | オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム |
JP2008097173A (ja) * | 2006-10-10 | 2008-04-24 | Renesas Technology Corp | データプロセッサ |
JP2009116722A (ja) * | 2007-11-08 | 2009-05-28 | Nec Corp | ストレージ装置およびタイムスタンプの付与方法 |
JP2011008793A (ja) * | 2010-07-09 | 2011-01-13 | Hitachi Ltd | 情報処理装置 |
JP2013030175A (ja) * | 1999-01-22 | 2013-02-07 | Oracle America Inc | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 |
JP2013508845A (ja) * | 2009-10-21 | 2013-03-07 | アーム・リミテッド | データ処理システム内のハードウェア資源管理 |
JP2014532231A (ja) * | 2011-09-30 | 2014-12-04 | クアルコム,インコーポレイテッド | Fifoロード命令 |
JP2020518910A (ja) * | 2017-05-05 | 2020-06-25 | エイアールエム リミテッド | 機能の使用を管理するための装置および方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930007185B1 (ko) * | 1989-01-13 | 1993-07-31 | 가부시키가이샤 도시바 | 레지스터뱅크회로 |
DE3901457A1 (de) * | 1989-01-19 | 1990-08-02 | Strahlen Umweltforsch Gmbh | Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit |
GB9010603D0 (en) * | 1990-05-11 | 1990-07-04 | Int Computers Ltd | Access control in a distributed computer system |
EP0481735A3 (en) * | 1990-10-19 | 1993-01-13 | Array Technology Corporation | Address protection circuit |
US5530839A (en) * | 1991-09-05 | 1996-06-25 | Nec Corporation | Apparatus for checking access rights |
US5948097A (en) * | 1996-08-29 | 1999-09-07 | Intel Corporation | Method and apparatus for changing privilege levels in a computer system without use of a call gate |
US6990458B2 (en) * | 1997-08-28 | 2006-01-24 | Csg Systems, Inc. | System and method for computer-aided technician dispatch and communication |
TW494303B (en) * | 1998-10-20 | 2002-07-11 | Via Tech Inc | Input/output controller |
US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US8074055B1 (en) | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
US7941647B2 (en) | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US8121828B2 (en) | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
US6978462B1 (en) | 1999-01-28 | 2005-12-20 | Ati International Srl | Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled |
US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US7275246B1 (en) | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US6549959B1 (en) | 1999-08-30 | 2003-04-15 | Ati International Srl | Detecting modification to computer memory by a DMA device |
US6934832B1 (en) * | 2000-01-18 | 2005-08-23 | Ati International Srl | Exception mechanism for a computer |
JP2001331333A (ja) * | 2000-05-18 | 2001-11-30 | Hitachi Ltd | 計算機システム及び計算機システムの制御方法 |
US7478394B1 (en) * | 2001-06-04 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Context-corrupting context switching |
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 |
US7698522B1 (en) * | 2002-01-11 | 2010-04-13 | Global Foundries | Method and apparatus for linear address based page level security scheme to determine current security context |
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 |
US7509644B2 (en) * | 2003-03-04 | 2009-03-24 | Secure 64 Software Corp. | Operating system capable of supporting a customized execution environment |
JPWO2005122177A1 (ja) * | 2004-06-09 | 2008-04-10 | 松下電器産業株式会社 | 半導体集積回路 |
US7480797B2 (en) * | 2004-07-31 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Method and system for preventing current-privilege-level-information leaks to non-privileged code |
CN101283332A (zh) * | 2005-10-04 | 2008-10-08 | 日本电气株式会社 | 信息处理装置、信息处理方法及程序 |
CN101004723A (zh) * | 2006-01-18 | 2007-07-25 | 鸿富锦精密工业(深圳)有限公司 | 信息交互***和方法 |
JP4267002B2 (ja) * | 2006-06-08 | 2009-05-27 | エルピーダメモリ株式会社 | コントローラ及びメモリを備えるシステム |
GB2440968B (en) * | 2006-08-16 | 2011-02-02 | Advanced Risc Mach Ltd | Protecting system control registers in a data processing apparatus |
US7530106B1 (en) | 2008-07-02 | 2009-05-05 | Kaspersky Lab, Zao | System and method for security rating of computer processes |
US10505962B2 (en) | 2016-08-16 | 2019-12-10 | Nec Corporation | Blackbox program privilege flow analysis with inferred program behavior context |
US10402564B2 (en) * | 2016-08-16 | 2019-09-03 | Nec Corporation | Fine-grained analysis and prevention of invalid privilege transitions |
US20230205869A1 (en) * | 2021-12-23 | 2023-06-29 | Intel Corporation | Efficient exception handling in trusted execution environments |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL248274A (ja) * | 1959-02-16 | |||
US3824551A (en) * | 1972-05-18 | 1974-07-16 | Little Inc A | Releasable buffer memory for data processor |
FR2253418A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US3916385A (en) * | 1973-12-12 | 1975-10-28 | Honeywell Inf Systems | Ring checking hardware |
JPS6013501B2 (ja) * | 1978-09-18 | 1985-04-08 | 富士通株式会社 | 仮想計算機システムにおけるチヤネルアドレス制御方式 |
JPS5576447A (en) * | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
US4253145A (en) * | 1978-12-26 | 1981-02-24 | Honeywell Information Systems Inc. | Hardware virtualizer for supporting recursive virtual computer systems on a host computer system |
JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
US4533996A (en) * | 1982-02-23 | 1985-08-06 | International Business Machines Corporation | Peripheral systems accommodation of guest operating systems |
US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
JPS5960652A (ja) * | 1982-09-30 | 1984-04-06 | Fujitsu Ltd | デ−タ処理装置 |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
US4975836A (en) * | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
US4787031A (en) * | 1985-01-04 | 1988-11-22 | Digital Equipment Corporation | Computer with virtual machine mode and multiple protection rings |
-
1986
- 1986-02-18 DE DE3689287T patent/DE3689287T2/de not_active Expired - Lifetime
- 1986-02-18 JP JP61033380A patent/JPS625441A/ja active Pending
- 1986-02-18 EP EP86102052A patent/EP0192232B1/en not_active Expired - Lifetime
-
1989
- 1989-08-09 US US07/393,039 patent/US5043878A/en not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030175A (ja) * | 1999-01-22 | 2013-02-07 | Oracle America Inc | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 |
JP2004537786A (ja) * | 2001-06-08 | 2004-12-16 | ヒューレット・パッカード・カンパニー | オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム |
JP2008097173A (ja) * | 2006-10-10 | 2008-04-24 | Renesas Technology Corp | データプロセッサ |
JP2009116722A (ja) * | 2007-11-08 | 2009-05-28 | Nec Corp | ストレージ装置およびタイムスタンプの付与方法 |
JP2013508845A (ja) * | 2009-10-21 | 2013-03-07 | アーム・リミテッド | データ処理システム内のハードウェア資源管理 |
US8949844B2 (en) | 2009-10-21 | 2015-02-03 | Arm Limited | Hardware resource management within a data processing system |
JP2011008793A (ja) * | 2010-07-09 | 2011-01-13 | Hitachi Ltd | 情報処理装置 |
JP2014532231A (ja) * | 2011-09-30 | 2014-12-04 | クアルコム,インコーポレイテッド | Fifoロード命令 |
US9823928B2 (en) | 2011-09-30 | 2017-11-21 | Qualcomm Incorporated | FIFO load instruction |
JP2020518910A (ja) * | 2017-05-05 | 2020-06-25 | エイアールエム リミテッド | 機能の使用を管理するための装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
DE3689287T2 (de) | 1994-05-26 |
EP0192232A2 (en) | 1986-08-27 |
EP0192232A3 (en) | 1990-03-21 |
DE3689287D1 (de) | 1993-12-23 |
EP0192232B1 (en) | 1993-11-18 |
US5043878A (en) | 1991-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS625441A (ja) | 情報処理装置 | |
US7421689B2 (en) | Processor-architecture for facilitating a virtual machine monitor | |
RU2259582C2 (ru) | Способ разрешения конфликтов по адресному пространству между монитором виртуальных машин и гостевой операционной системой | |
RU2265880C2 (ru) | Новый режим процессора для ограничения функционирования гостевого программного обеспечения, выполняющегося на виртуальной машине, поддерживаемой монитором виртуальной машины | |
US7552426B2 (en) | Systems and methods for using synthetic instructions in a virtual machine | |
US5517651A (en) | Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes | |
US7209994B1 (en) | Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests | |
US4843541A (en) | Logical resource partitioning of a data processing system | |
JP4424973B2 (ja) | マルチドメインプロセッサのためのモニタ制御 | |
US10140448B2 (en) | Systems and methods of asynchronous analysis of event notifications for computer security applications | |
US20050076186A1 (en) | Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements | |
JPS621036A (ja) | マルチモ−ドマイクロプロセツサにおいてプログラムを実行する方法及びオペレ−テイングシステム | |
US12014199B1 (en) | Virtualization extension modules | |
JPH08278886A (ja) | データ処理システムでの拡張システム管理操作のための方法およびシステム | |
WO2010004240A1 (en) | Data processing apparatus, for example using modes | |
JPS6248258B2 (ja) | ||
US9086906B2 (en) | Apparatus and method for guest and root register sharing in a virtual machine | |
NL2030804B1 (en) | Flexible return and event delivery | |
US11409531B2 (en) | Processor having multiple operating modes | |
JP4299108B2 (ja) | 多数のオペレーティングシステムの間のタスクの追従 | |
US11216280B2 (en) | Exception interception | |
JPH0192843A (ja) | データ処理装置 | |
US11995218B2 (en) | Processor with a configurable distribution of privileged resources and exceptions between protection rings | |
JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
JPS63173130A (ja) | 計算機の命令セツトを拡張するための装置 |