JPH0578858B2 - - Google Patents
Info
- Publication number
- JPH0578858B2 JPH0578858B2 JP63197819A JP19781988A JPH0578858B2 JP H0578858 B2 JPH0578858 B2 JP H0578858B2 JP 63197819 A JP63197819 A JP 63197819A JP 19781988 A JP19781988 A JP 19781988A JP H0578858 B2 JPH0578858 B2 JP H0578858B2
- Authority
- JP
- Japan
- Prior art keywords
- descriptor
- virtual
- command
- channel number
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 102000016871 Hexosaminidase A Human genes 0.000 description 2
- 108010053317 Hexosaminidase A Proteins 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 201000001432 Coffin-Siris syndrome Diseases 0.000 description 1
- 201000000222 Coffin-Siris syndrome 4 Diseases 0.000 description 1
- 238000010794 Cyclic Steam Stimulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 208000031708 autosomal dominant 16 intellectual disability Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、一般にデータ処理分野に関し、特に
更に安全な入出力(I/O)システムを提供する
ための装置に関する。
更に安全な入出力(I/O)システムを提供する
ための装置に関する。
多数のユーザを相互に分離しかつユーザをオペ
レーテイング・システムから分離するためには、
データ処理システムの保護が必要となる。保護と
は、プログラム、プロセスあるいはユーザのコン
ピユータ・システム資源に対するアクセスを制御
するための機構を指す。保護は、基本的には内部
の問題、即ちコンピユータ・システムに格納され
たプログラムおよびデータに対するアクセスを制
御する要件である。
レーテイング・システムから分離するためには、
データ処理システムの保護が必要となる。保護と
は、プログラム、プロセスあるいはユーザのコン
ピユータ・システム資源に対するアクセスを制御
するための機構を指す。保護は、基本的には内部
の問題、即ちコンピユータ・システムに格納され
たプログラムおよびデータに対するアクセスを制
御する要件である。
コンピユータの安全保護は、充分な保護システ
ム、およびコンピユータが使用される外部環境の
配慮を必要とする。安全保護とは、システムが強
制されるポリシーに基いて、コンピユータ・シス
テム内部の主題による対象へのアクセスの調停で
ある。保証とは、システムおよびそのデータの保
全が維持される確実度である。
ム、およびコンピユータが使用される外部環境の
配慮を必要とする。安全保護とは、システムが強
制されるポリシーに基いて、コンピユータ・シス
テム内部の主題による対象へのアクセスの調停で
ある。保証とは、システムおよびそのデータの保
全が維持される確実度である。
安全保護システムは、下記の如き能力を持たね
ばならない。即ち、 1 アクセス制御−コンピユータのアクセスを試
みる人間/事物を確実にかつ信頼性を以て識別
することができること 2 プロセス制御の保全性−人間/事物が特定の
機能に限定され、かつユーザの分離が保証され
ねばならないこと 3 システム保護の違反が検出できること 4 ユーザとコンピユータ間のメツセージが秘匿
でき、かつ改竄防止が可能であること 5 ハードウエアおよびソフトウエアが改竄防止
可能であること 6 システムが高い信頼性を以て設計できること これらの能力の多くは、他の計算システム、典
型的にはマサチユーセツツ工科大学(MIT)で
使用中の「マルチツクス(Multics MITの商
標)」およびHoneywell社の安全保護通信プロセ
ツサ(SCOMP)において見出される。
ばならない。即ち、 1 アクセス制御−コンピユータのアクセスを試
みる人間/事物を確実にかつ信頼性を以て識別
することができること 2 プロセス制御の保全性−人間/事物が特定の
機能に限定され、かつユーザの分離が保証され
ねばならないこと 3 システム保護の違反が検出できること 4 ユーザとコンピユータ間のメツセージが秘匿
でき、かつ改竄防止が可能であること 5 ハードウエアおよびソフトウエアが改竄防止
可能であること 6 システムが高い信頼性を以て設計できること これらの能力の多くは、他の計算システム、典
型的にはマサチユーセツツ工科大学(MIT)で
使用中の「マルチツクス(Multics MITの商
標)」およびHoneywell社の安全保護通信プロセ
ツサ(SCOMP)において見出される。
マルチツクスは、安全保護の理由から特権リン
グのプロセスをメモリーに格納し、仮想アドレス
指定を使用する。しかし、マルチツクス・システ
ムは、仮想I/O指令システムを使用することに
より許される保護の利点を利用していない。
グのプロセスをメモリーに格納し、仮想アドレス
指定を使用する。しかし、マルチツクス・システ
ムは、仮想I/O指令システムを使用することに
より許される保護の利点を利用していない。
前記SCOMPシステムもまた、安全保護の理由
から特権リングにおけるプロセスをメモリーに格
納し、仮想アドレス指定を使用する。しかし、
SCOMPはまた、仮想I/O指令システムを使用
することにより可能になる保護の利点を利用す
る。しかし、SCOMPは、物理的なI/Oに対す
る仮想I/Oの変換を実施するための個別の論理
ボードを含んでいる。
から特権リングにおけるプロセスをメモリーに格
納し、仮想アドレス指定を使用する。しかし、
SCOMPはまた、仮想I/O指令システムを使用
することにより可能になる保護の利点を利用す
る。しかし、SCOMPは、物理的なI/Oに対す
る仮想I/Oの変換を実施するための個別の論理
ボードを含んでいる。
従つて、本発明の目的は、実現のコストが比較
的安くかつスループツトが改善された安全保護入
出力(I/O)指令システムを備えたデータ処理
システムの提供にある。
的安くかつスループツトが改善された安全保護入
出力(I/O)指令システムを備えたデータ処理
システムの提供にある。
本発明については、特に頭書の特許請求の範囲
に記載されている。本発明の上記および他の目的
および利点の理解は、図面に関して以降の記述を
参照することにより得られよう。
に記載されている。本発明の上記および他の目的
および利点の理解は、図面に関して以降の記述を
参照することにより得られよう。
本発明の方法が実施される方法、本発明の装置
が構成される方法、およびその使用方法について
は、添付図面と共に以降の詳細な記述を参照すれ
ば最もよく理解できよう。図面においては、同じ
参照番号は類似の要素を示している。
が構成される方法、およびその使用方法について
は、添付図面と共に以降の詳細な記述を参照すれ
ば最もよく理解できよう。図面においては、同じ
参照番号は類似の要素を示している。
〔発明の要約〕
本発明は、周辺装置に対しシステム・バス上に
送出された入出力(I/O)指令のコンピユー
タ・システム内部の多重レベルの安全保護を提供
する。
送出された入出力(I/O)指令のコンピユー
タ・システム内部の多重レベルの安全保護を提供
する。
システム・バス上に送出されるI/O指令は、
装置を識別する物理的なチヤネル番号、および装
置が実施する機能を指示する機能制御コードとを
含む。オペレーテイング・システムは、リング番
号、仮想チヤネル番号および機能制御コードを含
む仮想I/O指令を生成する。
装置を識別する物理的なチヤネル番号、および装
置が実施する機能を指示する機能制御コードとを
含む。オペレーテイング・システムは、リング番
号、仮想チヤネル番号および機能制御コードを含
む仮想I/O指令を生成する。
フアームウエアは、仮想チヤネル番号を物理的
チヤネル番号に変換する前に仮想I/O指令につ
いて多数の検査を行なう。物理的I/O指令が生
成される前に行なわれるこれらの検査は、下記の
ものを含む。即ち、 a−ユーザがプロセスのアスセスのための特権が
与えられていることを検証する b−IOLDバツフアが2KBの限度内にあることを
検証する c−記述子が有効でありかつユーザが装置に対す
るアクセスを許容されていることを検証する d−記述子を含むページのテーブルのサイズに対
するI/O記述子の仮想チヤネル番号の場所を
検証し、 e−IOLDデータ・バツフアがシステムのソフト
ウエアによりIOLDとしてマークされているこ
とを検証する これは、多数のレジスタおよびテーブルを用い
て1つの制御ストアの留保部分をアクセスして検
証を行ない、仮想アドレスから物理的アドレスへ
の変換を行なうフアームウエアによつて行なわれ
る。
チヤネル番号に変換する前に仮想I/O指令につ
いて多数の検査を行なう。物理的I/O指令が生
成される前に行なわれるこれらの検査は、下記の
ものを含む。即ち、 a−ユーザがプロセスのアスセスのための特権が
与えられていることを検証する b−IOLDバツフアが2KBの限度内にあることを
検証する c−記述子が有効でありかつユーザが装置に対す
るアクセスを許容されていることを検証する d−記述子を含むページのテーブルのサイズに対
するI/O記述子の仮想チヤネル番号の場所を
検証し、 e−IOLDデータ・バツフアがシステムのソフト
ウエアによりIOLDとしてマークされているこ
とを検証する これは、多数のレジスタおよびテーブルを用い
て1つの制御ストアの留保部分をアクセスして検
証を行ない、仮想アドレスから物理的アドレスへ
の変換を行なうフアームウエアによつて行なわれ
る。
オペレーテイング・システムは、メモリー記述
子および装置記述子のツリーを生成し、このデー
タ構造の情報に対するポインタを記述子セグメン
トの基底レジスタに格納する。この情報は、1つ
の記述子セグメントのページ・テーブルの基底ア
ドレスを指定する。仮想チヤネル番号の上位ビツ
トの値を用いて、I/Oページ記述子ワードの物
理的メモリー・アドレスを与えるため基底アドレ
スに加えられるべき定数を決定する。このI/O
ページ記述子は、妥当性ビツト、I/O記述子テ
ーブルのサイズ、およびI/O記述子テーブルの
基底アドレスを含む。この仮想チヤネル番号は、
I/O記述子に対する指標として基底アドレスに
加えられる。
子および装置記述子のツリーを生成し、このデー
タ構造の情報に対するポインタを記述子セグメン
トの基底レジスタに格納する。この情報は、1つ
の記述子セグメントのページ・テーブルの基底ア
ドレスを指定する。仮想チヤネル番号の上位ビツ
トの値を用いて、I/Oページ記述子ワードの物
理的メモリー・アドレスを与えるため基底アドレ
スに加えられるべき定数を決定する。このI/O
ページ記述子は、妥当性ビツト、I/O記述子テ
ーブルのサイズ、およびI/O記述子テーブルの
基底アドレスを含む。この仮想チヤネル番号は、
I/O記述子に対する指標として基底アドレスに
加えられる。
I/O記述子は、妥当性ビツト、読出しまたは
書込み許容ビツト、リング・ブラケツト・ビツ
ト、および物理的チヤネル番号を含んでいる。フ
アームウエアは、妥当性ビツトを検査し、適当な
読出しまたは書込み操作を仮想I/O指令が呼出
すことを検証し、家庭I/O指令のリング番号に
対してリング・ブラケツト・ビツトを検証する。
もし全てのこれらの検査が適正に行なわれるなら
ば、物理的チヤネル番号が指令における仮想チヤ
ネル番号を置換し、物理的I/O指令がシステ
ム・バス上に送出される。
書込み許容ビツト、リング・ブラケツト・ビツ
ト、および物理的チヤネル番号を含んでいる。フ
アームウエアは、妥当性ビツトを検査し、適当な
読出しまたは書込み操作を仮想I/O指令が呼出
すことを検証し、家庭I/O指令のリング番号に
対してリング・ブラケツト・ビツトを検証する。
もし全てのこれらの検査が適正に行なわれるなら
ば、物理的チヤネル番号が指令における仮想チヤ
ネル番号を置換し、物理的I/O指令がシステ
ム・バス上に送出される。
記述子セグメントのページ・テーブル、および
I/O記述子テーブルが各ユーザ毎にある。この
ため、オペレーテイング・システムが1つのユー
ザの特権を容易に変更することを可能にする。
I/O記述子テーブルが各ユーザ毎にある。この
ため、オペレーテイング・システムが1つのユー
ザの特権を容易に変更することを可能にする。
第1図は、各々が個々のインターフエースによ
り非同期システム・バス2と接続された多くのサ
ブシステムを含む多重処理システムを示してい
る。
り非同期システム・バス2と接続された多くのサ
ブシステムを含む多重処理システムを示してい
る。
これらサブシステムは、システム・バス・イン
ターフエース(SBI)2−10によりシステム・
バス2と接続された中央サブシステム(CSS)4
と、SBI2−10Aによりシステム・バス2と接
続されたCSS 4Aとを含む。僅かに2つのCSS
しか見えないが、その各々のインターフエースに
よりシステム・バス2に対していくつのCSSでも
接続することができる。SBIの各々は、米国特許
第3995258号の第9図に示される形式のバス・イ
ンターフエースの論理回路を含む。
ターフエース(SBI)2−10によりシステム・
バス2と接続された中央サブシステム(CSS)4
と、SBI2−10Aによりシステム・バス2と接
続されたCSS 4Aとを含む。僅かに2つのCSS
しか見えないが、その各々のインターフエースに
よりシステム・バス2に対していくつのCSSでも
接続することができる。SBIの各々は、米国特許
第3995258号の第9図に示される形式のバス・イ
ンターフエースの論理回路を含む。
また、SB12−8を介してシステム・バス2
と接続されているのは、システム管理機能
(SMF)20である。メモリー・サブシステム8
がSBI2−2によりシステム・バス2と接続され
ている。多数の周辺コントローラ10、典型的に
は、デイスク・コントローラ、装置レコード・コ
ントローラ、磁気テープ・コントローラ、通信コ
ントローラ等が、SBI2−4と類似するその各々
のSBIにより、システム・バス2と接続すること
ができる。各周辺コントローラ10はこれに多数
の適当な装置18が接続されている。
と接続されているのは、システム管理機能
(SMF)20である。メモリー・サブシステム8
がSBI2−2によりシステム・バス2と接続され
ている。多数の周辺コントローラ10、典型的に
は、デイスク・コントローラ、装置レコード・コ
ントローラ、磁気テープ・コントローラ、通信コ
ントローラ等が、SBI2−4と類似するその各々
のSBIにより、システム・バス2と接続すること
ができる。各周辺コントローラ10はこれに多数
の適当な装置18が接続されている。
各CSSは、1つのキヤツシユと、1つの制御ス
トアと、2つの中央処理装置(CPU)と、その
各仮想メモリー管理装置(VMMU)とを含む。
CSS4は、CPU4−2をそのVMMU0 4−8
と共に、またCPU14−4をそのVMMU1 4
−10、制御ストア4−12およびキヤツシユ4
−6と共に有する。2連CPUを備えたCSSが開
示されているが、本発明は単一CPUを備えたシ
ステムにも内蔵し得ることが理解されよう。
トアと、2つの中央処理装置(CPU)と、その
各仮想メモリー管理装置(VMMU)とを含む。
CSS4は、CPU4−2をそのVMMU0 4−8
と共に、またCPU14−4をそのVMMU1 4
−10、制御ストア4−12およびキヤツシユ4
−6と共に有する。2連CPUを備えたCSSが開
示されているが、本発明は単一CPUを備えたシ
ステムにも内蔵し得ることが理解されよう。
サブシステム間の全ての通信は、1つのサブシ
ステムがシステム・バス2上に指令を送出しかつ
アドレス指定されたサブシステムから応答を受け
取ることにより行われる。
ステムがシステム・バス2上に指令を送出しかつ
アドレス指定されたサブシステムから応答を受け
取ることにより行われる。
SMF20は、システム1の初期化を制御する
と共に、多くのシステムおよび環境の機能の監視
を制御する。SMF20は、CPUの1つからシス
テム・バス2を介して受け取られる指令でセツト
される監視タイマーおよび実時間クロツクを含
む。SMF20は、最初にクロツクをセツトする
CPUに対してシステム・バス2上に対応する指
令を送出することにより、監視タイマーが「0」
に減分した時に応答する。更に、SMF20は電
力および温度を監視し、もし電力または温度が予
め定めた限度を越えるならばサブシステムに警告
する。SMF20の作動については、米国特許出
願第869164号「多重プロセツサ・システム用シス
テム管理装置」に記載されている。
と共に、多くのシステムおよび環境の機能の監視
を制御する。SMF20は、CPUの1つからシス
テム・バス2を介して受け取られる指令でセツト
される監視タイマーおよび実時間クロツクを含
む。SMF20は、最初にクロツクをセツトする
CPUに対してシステム・バス2上に対応する指
令を送出することにより、監視タイマーが「0」
に減分した時に応答する。更に、SMF20は電
力および温度を監視し、もし電力または温度が予
め定めた限度を越えるならばサブシステムに警告
する。SMF20の作動については、米国特許出
願第869164号「多重プロセツサ・システム用シス
テム管理装置」に記載されている。
このシステムは、物理的アドレスと仮想アドレ
スの双方を支持する。ほとんどのソフトウエア・
ビジブルなアドレスは仮想アドレスである。
VMMUは、この仮想アドレスを物理的アドレス
へ変換する。物理的アドレスは、キヤツシユまた
はメモリーをアドレス指定するためCPUにより
用いられる。例えば、CPU04−2は仮想アド
レスをバスBP38上でVMMU04−8に対し
て送出する。VMMU0は、仮想アドレスを物理
的アドレスに変換し、物理的アドレスをキヤツシ
ユ4−6およびメモリー8へバスPA39を介し
て送出する。もし物理的アドレスの内容がキヤツ
シユ4−6内に格納されているならば、このアド
レスは直ちにCPU04−2へ返送され、さもな
ければ、物理的アドレスを含む指令がSBI2−1
0、システム・バス2およびSBI2−2を介して
メモリー8へ送出される。物理的アドレス場所の
内容は、SBI2−2、システム・バス2および
SBI2−10を介して、応答指令によりCPU04
−2へ返送される。
スの双方を支持する。ほとんどのソフトウエア・
ビジブルなアドレスは仮想アドレスである。
VMMUは、この仮想アドレスを物理的アドレス
へ変換する。物理的アドレスは、キヤツシユまた
はメモリーをアドレス指定するためCPUにより
用いられる。例えば、CPU04−2は仮想アド
レスをバスBP38上でVMMU04−8に対し
て送出する。VMMU0は、仮想アドレスを物理
的アドレスに変換し、物理的アドレスをキヤツシ
ユ4−6およびメモリー8へバスPA39を介し
て送出する。もし物理的アドレスの内容がキヤツ
シユ4−6内に格納されているならば、このアド
レスは直ちにCPU04−2へ返送され、さもな
ければ、物理的アドレスを含む指令がSBI2−1
0、システム・バス2およびSBI2−2を介して
メモリー8へ送出される。物理的アドレス場所の
内容は、SBI2−2、システム・バス2および
SBI2−10を介して、応答指令によりCPU04
−2へ返送される。
オペレーテイング・システム・ソフトウエア、
CPUおよびVMMUハードウエアおよび仮想I/
O処理からなる安全保護カーネルは、保全DPS
6PLUS製品に対する基準モニターの構成であ
る。この基準モニターは、3つの保全要件を満た
さねばならない抽象的概念である。それは、 1 目的に対する主題の完全な調停 2 隔離、および 3 検証、である。
CPUおよびVMMUハードウエアおよび仮想I/
O処理からなる安全保護カーネルは、保全DPS
6PLUS製品に対する基準モニターの構成であ
る。この基準モニターは、3つの保全要件を満た
さねばならない抽象的概念である。それは、 1 目的に対する主題の完全な調停 2 隔離、および 3 検証、である。
この完全な調停の特質は、メモリーに対する全
ての要求を調停する仮想メモリー管理装置により
満たされる。この調停手順もまた、アクセス許容
検査を含む。仮想I/Oフアームウエアもまたこ
の要件の一部である。全てのI/O指令は仮想的
であり、あるアクセスの許容および検査の手順に
基いて許される。
ての要求を調停する仮想メモリー管理装置により
満たされる。この調停手順もまた、アクセス許容
検査を含む。仮想I/Oフアームウエアもまたこ
の要件の一部である。全てのI/O指令は仮想的
であり、あるアクセスの許容および検査の手順に
基いて許される。
隔離の特質は、ユーザのアプリケーシヨン処理
から安全保護およびシステム処理を切離すハード
ウエア・リング構造の使用により満たされる。こ
の特徴もまた、実行の定義域を許された許可と比
較する基となるハードウエアおよびフアームウエ
アにより強化され、記述子データ構造に含まれ
る。
から安全保護およびシステム処理を切離すハード
ウエア・リング構造の使用により満たされる。こ
の特徴もまた、実行の定義域を許された許可と比
較する基となるハードウエアおよびフアームウエ
アにより強化され、記述子データ構造に含まれ
る。
検証の特質は、強化されるべき保全ポリシーの
様式の有無を問わない数字モデルと比較されてこ
れにより検証される模式的な最上レベルの仕様の
生成によつて満たされる。使用されるモデルは、
「信頼されるコンピユータ安全状態評価基準」
(DOD5200.28−STD/1985年12月)に記載され
るように検査される許可レベルに依存する。
様式の有無を問わない数字モデルと比較されてこ
れにより検証される模式的な最上レベルの仕様の
生成によつて満たされる。使用されるモデルは、
「信頼されるコンピユータ安全状態評価基準」
(DOD5200.28−STD/1985年12月)に記載され
るように検査される許可レベルに依存する。
オペレーテイング・システムによつて生成され
るI/O指令は、仮想チヤネル番号およびリング
番号を含む。フアームウエアは、このリング番号
および指令の妥当性を検証し、メモリー8に格納
されたI/O記述子テーブルに関して、仮想チヤ
ネル番号を物理的チヤネル番号へ変換する。物理
的チヤネル番号を含むI/O指令はシステム・バ
ス2上に送出される。物理的チヤネル番号を認識
する周辺サブシステムが、指令の受入れを確認
し、指令の機能制御コード部分により指定される
動作を行なう。
るI/O指令は、仮想チヤネル番号およびリング
番号を含む。フアームウエアは、このリング番号
および指令の妥当性を検証し、メモリー8に格納
されたI/O記述子テーブルに関して、仮想チヤ
ネル番号を物理的チヤネル番号へ変換する。物理
的チヤネル番号を含むI/O指令はシステム・バ
ス2上に送出される。物理的チヤネル番号を認識
する周辺サブシステムが、指令の受入れを確認
し、指令の機能制御コード部分により指定される
動作を行なう。
CPUおよびVMMUの全ての動作は、制御スト
ア4−12から読出される制御ストア・ワードの
選択されたビツトにより制御される。制御ストア
4−12は、仮想アドレスから物理的アドレスへ
の変換を含む通常CSS動作を制御するためのA部
分と、現在ある仮想メモリー・システム内の仮想
I/Oの構成を制御するためのB部分とに分割さ
れる。
ア4−12から読出される制御ストア・ワードの
選択されたビツトにより制御される。制御ストア
4−12は、仮想アドレスから物理的アドレスへ
の変換を含む通常CSS動作を制御するためのA部
分と、現在ある仮想メモリー・システム内の仮想
I/Oの構成を制御するためのB部分とに分割さ
れる。
仮想I/O処理は、システム1の資源をユーザ
定義域から分離することにより、安全保護を行な
う。このため、I/O指令がシステム・バス2上
を周辺サブシステムへ送出される前に必要な許容
検査が完了することを保証する。
定義域から分離することにより、安全保護を行な
う。このため、I/O指令がシステム・バス2上
を周辺サブシステムへ送出される前に必要な許容
検査が完了することを保証する。
第2A図乃至第2D図は、システム・バス2上
に送出されるI/O指令を示している。第2E図
は、リング番号および仮想チヤネル番号を有する
仮想I/O指令、および物理的チヤネル番号を有
する変換された物理的I/O指令のフオーマツト
を示している。
に送出されるI/O指令を示している。第2E図
は、リング番号および仮想チヤネル番号を有する
仮想I/O指令、および物理的チヤネル番号を有
する変換された物理的I/O指令のフオーマツト
を示している。
本文中の表記「IO」の定義については第2A
図、第2B図および第2C図を参照すること。表
記「I/O」は、第2A図、第2B図、第2C図
および第2D図を参照すること、即ち表記「I/
O」はIOおよびIOLDを包含することになる。
図、第2B図および第2C図を参照すること。表
記「I/O」は、第2A図、第2B図、第2C図
および第2D図を参照すること、即ち表記「I/
O」はIOおよびIOLDを包含することになる。
第2A図は、CPUにより生成されるIO出力指
令のフオーマツトを示している。システム・バス
2上の信号は、32のアドレス信号0〜23,A
〜Hおよび32のデータ信号0〜31を含む。ま
た、多くの制御信号(図示せず)も含まれてい
る。IO出力指令に対しては、アドレス信号8〜
17が、分散サブシステムの物理的チヤネル番号
を指示し、アドレス信号18〜23が機能制御コ
ードを指示する。データ・ビツト0〜31が、チ
ヤネル番号により指定されるサブシステムに対し
て転送される情報を特定する。データ・ビツトは
機能制御コードにより指示された通りにふるま
う。
令のフオーマツトを示している。システム・バス
2上の信号は、32のアドレス信号0〜23,A
〜Hおよび32のデータ信号0〜31を含む。ま
た、多くの制御信号(図示せず)も含まれてい
る。IO出力指令に対しては、アドレス信号8〜
17が、分散サブシステムの物理的チヤネル番号
を指示し、アドレス信号18〜23が機能制御コ
ードを指示する。データ・ビツト0〜31が、チ
ヤネル番号により指定されるサブシステムに対し
て転送される情報を特定する。データ・ビツトは
機能制御コードにより指示された通りにふるま
う。
第2B図は、装置のチヤネル番号を含むCPU
により生成されるIO入力指令のフオーマツト、
およびCPUにより要求される情報を指示する機
能制御コードを示している。データ・ビツト0〜
9は、この指令を生成したCPUの物理的チヤネ
ル番号を指定する。データ・ビツト16〜31は装置
に対する任意の情報を指示する。
により生成されるIO入力指令のフオーマツト、
およびCPUにより要求される情報を指示する機
能制御コードを示している。データ・ビツト0〜
9は、この指令を生成したCPUの物理的チヤネ
ル番号を指定する。データ・ビツト16〜31は装置
に対する任意の情報を指示する。
第2C図は、IO入力指令に対するIO応答のフ
オーマツトを示している。ソース物理的チヤネル
番号は、この時は宛先の物理的チヤネル番号であ
る。データ・ビツト0〜31は、元の指令の機能制
御コードにより要求される情報を指示する。第2
B図のソース・チヤネル番号および第2C図の物
理的チヤネル番号の場合には、仮想チヤネル番号
から物理的チヤネル番号への変換が不要である。
オーマツトを示している。ソース物理的チヤネル
番号は、この時は宛先の物理的チヤネル番号であ
る。データ・ビツト0〜31は、元の指令の機能制
御コードにより要求される情報を指示する。第2
B図のソース・チヤネル番号および第2C図の物
理的チヤネル番号の場合には、仮想チヤネル番号
から物理的チヤネル番号への変換が不要である。
第2D図は、入出力ロード(IOLD)の出力指
令の2サイクルのフオーマツトを示している。最
初のサイクルは1つのブロツク転送の始動メモリ
ー8のアドレスを指定し、第2のサイクルはブロ
ツクにおけるワードの範囲即ち数を指定する。
令の2サイクルのフオーマツトを示している。最
初のサイクルは1つのブロツク転送の始動メモリ
ー8のアドレスを指定し、第2のサイクルはブロ
ツクにおけるワードの範囲即ち数を指定する。
16進数09の機能制御コードが、16のアドレス・
ビツトA〜H,0〜7および16のデータ・ビツト
0〜15により指定される32ビツトのアドレスを示
していることを注意されたい。機能制御コードの
16進数0Dは、データ・ビツト0〜15が範囲を指
定することを示している。アドレス・ビツト8〜
17は、両バス・サイクルの間の同じ装置のチヤネ
ル番号を指定する。
ビツトA〜H,0〜7および16のデータ・ビツト
0〜15により指定される32ビツトのアドレスを示
していることを注意されたい。機能制御コードの
16進数0Dは、データ・ビツト0〜15が範囲を指
定することを示している。アドレス・ビツト8〜
17は、両バス・サイクルの間の同じ装置のチヤネ
ル番号を指定する。
第2E図は、仮想I/Oチヤネル番号指令のフ
オーマツト、および変換された物理的I/Oチヤ
ネル番号指令のフオーマツトを示している。第2
A図、第2B図および第2D図のアドレス・ビツ
ト8〜17により指定される物理的チヤネル番号は
仮想チヤネル番号2〜8および方向(D)ビツト9か
ら変換されたものであることに注意。残りのアド
レスおよびデータ・ビツトは、変換なしに転送さ
れる。
オーマツト、および変換された物理的I/Oチヤ
ネル番号指令のフオーマツトを示している。第2
A図、第2B図および第2D図のアドレス・ビツ
ト8〜17により指定される物理的チヤネル番号は
仮想チヤネル番号2〜8および方向(D)ビツト9か
ら変換されたものであることに注意。残りのアド
レスおよびデータ・ビツトは、変換なしに転送さ
れる。
I/Oチヤネル番号は、16進数010乃至3FFま
での範囲にある。CPUチヤネル番号は、16進数
000乃至00Fの範囲内にある。通信回線の如き全
二重通信装置は、送受の回線のどちらの半分がア
ドレス指定されつつあるかを識別する下位ビツト
(D)を持つ2つのチヤネル番号を使用する。
での範囲にある。CPUチヤネル番号は、16進数
000乃至00Fの範囲内にある。通信回線の如き全
二重通信装置は、送受の回線のどちらの半分がア
ドレス指定されつつあるかを識別する下位ビツト
(D)を持つ2つのチヤネル番号を使用する。
仮想チヤネルは0〜63の範囲にあり、1ページ
がカーネルのみのI/O記述子でありかつ1ペー
ジが共用されたI/O記述子である。アクセスさ
れるべきページは、仮想チヤネル番号のビツト2
(MSB)で決定される。
がカーネルのみのI/O記述子でありかつ1ペー
ジが共用されたI/O記述子である。アクセスさ
れるべきページは、仮想チヤネル番号のビツト2
(MSB)で決定される。
テープ・ドライブの如き半二重通信装置は、論
理値0のDビツトを使用して入力動作を指定し、
また論理値1では出力動作を指定する。
理値0のDビツトを使用して入力動作を指定し、
また論理値1では出力動作を指定する。
カード・リーダの如き単一方向性の装置は、論
理値0(偶数の機能制御コード)にセツトされた
Dビツトを有することになる。
理値0(偶数の機能制御コード)にセツトされた
Dビツトを有することになる。
リング保護は1組の階層的レベルの保護からな
り、内側から外側へ0、1、2、N−1と番号を
付した1組のN個の同心円と見倣すことができ
る。円0に含まれるメモリー8のスペースはリン
グ0と呼ばれ、円1と2の間に含まれるメモリー
8のスペースはリング2と呼ばれる。1つのプロ
セスの各セグメントが、メモリー8の1つのリン
グに置かれる。1つのセグメントが中心に近付く
程、その保護および特権が大きくなる。番号0、
1、2、3が付された4つのリングがCSSにより
保持され、リング0は最も大きな特権が与えら
れ、リング3は最も小さな特権が与えられてい
る。
り、内側から外側へ0、1、2、N−1と番号を
付した1組のN個の同心円と見倣すことができ
る。円0に含まれるメモリー8のスペースはリン
グ0と呼ばれ、円1と2の間に含まれるメモリー
8のスペースはリング2と呼ばれる。1つのプロ
セスの各セグメントが、メモリー8の1つのリン
グに置かれる。1つのセグメントが中心に近付く
程、その保護および特権が大きくなる。番号0、
1、2、3が付された4つのリングがCSSにより
保持され、リング0は最も大きな特権が与えら
れ、リング3は最も小さな特権が与えられてい
る。
I/Oを除くオペレーテイング・システムの安
全保護カーネルはリング0に駐在する。メモリー
管理のプロセスのスケジユーリングは、リング1
に駐在する。認められたソフトウエアはリング2
に駐在する。前記DODの基準を満すソフトウエ
アは、1つの安全保護あるいは安全保護カーネル
により強化された保全性に抵触し得る。前記
DODの基準を満すソフトウエアはまた、高い保
全性を要求する機能を提供する。ユーザのアプリ
ケーシヨンは最も低い特権のリング3にあり、前
記DODの基準を満さないリング2の安全保護カ
ーネル・インターフエース・パツケージにより支
持されている。アプリケーシヨン・ソフトウエア
は、前記DODの基準を満すソフトウエアの先に
実行することはできない。
全保護カーネルはリング0に駐在する。メモリー
管理のプロセスのスケジユーリングは、リング1
に駐在する。認められたソフトウエアはリング2
に駐在する。前記DODの基準を満すソフトウエ
アは、1つの安全保護あるいは安全保護カーネル
により強化された保全性に抵触し得る。前記
DODの基準を満すソフトウエアはまた、高い保
全性を要求する機能を提供する。ユーザのアプリ
ケーシヨンは最も低い特権のリング3にあり、前
記DODの基準を満さないリング2の安全保護カ
ーネル・インターフエース・パツケージにより支
持されている。アプリケーシヨン・ソフトウエア
は、前記DODの基準を満すソフトウエアの先に
実行することはできない。
ユーザはオペレーテイング・システムにより1
つの分類が与えられる。この分類は非分類、秘
密、および極秘である。これは、特定のリングに
おけるプロセスに対するユーザのアクセスを与え
る。極秘の分類を有するあるユーザがリング1に
対するアクセスが許されるものとすれば、秘密の
ユーザはリング2に対するアクセスが許され、非
分類のユーザはリング3に対するアクセスが許さ
れ、次いで下記のルールが妥当する。ユーザは読
出しができない、即ちリング2におけるプロセス
に対するアクセスが許された秘密の物類を有する
ユーザはリング1あるいはリング0におけるプロ
セスは読出すことができない。ユーザは書込みが
できない、即ち秘密の分類を持つユーザはリング
3にプロセスを書込むことはできない。
つの分類が与えられる。この分類は非分類、秘
密、および極秘である。これは、特定のリングに
おけるプロセスに対するユーザのアクセスを与え
る。極秘の分類を有するあるユーザがリング1に
対するアクセスが許されるものとすれば、秘密の
ユーザはリング2に対するアクセスが許され、非
分類のユーザはリング3に対するアクセスが許さ
れ、次いで下記のルールが妥当する。ユーザは読
出しができない、即ちリング2におけるプロセス
に対するアクセスが許された秘密の物類を有する
ユーザはリング1あるいはリング0におけるプロ
セスは読出すことができない。ユーザは書込みが
できない、即ち秘密の分類を持つユーザはリング
3にプロセスを書込むことはできない。
1つの手順が、そのリング・ブラケツトと呼ば
れる3つのリング番号R1、R2およびR3と関連さ
せられている。もしR3>R2ならば、この手順は
R3より上位でないリングからアクセスできるリ
ングR2に対するゲートである。もしR2=R3なら
ば、この手順はゲートではない。
れる3つのリング番号R1、R2およびR3と関連さ
せられている。もしR3>R2ならば、この手順は
R3より上位でないリングからアクセスできるリ
ングR2に対するゲートである。もしR2=R3なら
ば、この手順はゲートではない。
第3図は、本発明の一部をなすVMMUおよび
CPUの一部を示している。VMMU0 4−8お
よびVMMU1 4−10、ならにびCPU0 4
−2およびCPU1 4−4が重複であることに
注意されたい。従つてVMMU0 4−8および
CPU0 4−2が本発明の記述のために使用さ
れることになる。しかし、本発明はVMMU1
4−10およびCPU1 4−4でも等しく良好
に作動し得ることが理解されよう。
CPUの一部を示している。VMMU0 4−8お
よびVMMU1 4−10、ならにびCPU0 4
−2およびCPU1 4−4が重複であることに
注意されたい。従つてVMMU0 4−8および
CPU0 4−2が本発明の記述のために使用さ
れることになる。しかし、本発明はVMMU1
4−10およびCPU1 4−4でも等しく良好
に作動し得ることが理解されよう。
CPU0 4−2のレジスタ・フアイル46は、
64個の32ビツト・レジスタを含む。これらアドレ
スの機能については、米国特許出願第722237号
「単一半導体チツプにおけるマイクロプロセツサ」
に記載されている。また、VMMU0 4−8の
VM−RAM30において専用化される記述子の
セグメントの基底レジスタも含まれている。
64個の32ビツト・レジスタを含む。これらアドレ
スの機能については、米国特許出願第722237号
「単一半導体チツプにおけるマイクロプロセツサ」
に記載されている。また、VMMU0 4−8の
VM−RAM30において専用化される記述子の
セグメントの基底レジスタも含まれている。
演算数はBPバス38から受取られ、データ・
イン・レジスタ26に格納され、バス40、演算
論理装置(ALU)48、BIバス44、またはシ
フタ24およびBIバス44を介して、レジス
タ・フアイル46の1つのレジスタに格納され
る。算術演算は、1つの演算数をAバス42に、
また別の演算数をBバス40上に読込み、両演算
数をその各々のALU48の入力に加えることに
より、レジスタ・フアイル46における2つの演
算数について行なわれる。
イン・レジスタ26に格納され、バス40、演算
論理装置(ALU)48、BIバス44、またはシ
フタ24およびBIバス44を介して、レジス
タ・フアイル46の1つのレジスタに格納され
る。算術演算は、1つの演算数をAバス42に、
また別の演算数をBバス40上に読込み、両演算
数をその各々のALU48の入力に加えることに
より、レジスタ・フアイル46における2つの演
算数について行なわれる。
ALU48は、制御ストア4−12の信号(図
示せず)により指定される算術演算を行なう。算
術演算の結果は、BIバス44を介し、あるいは
シフタおよびBIバス44を介してレジスタ・フ
アイル46へ書戻される。
示せず)により指定される算術演算を行なう。算
術演算の結果は、BIバス44を介し、あるいは
シフタおよびBIバス44を介してレジスタ・フ
アイル46へ書戻される。
32ビツトのQレジスタ22は、ALU48の拡
張として64ビツト演算数を処理するように働く。
Qレジスタ22はまた、2進数の乗除算命令の間
部分積および部分商を格納する。シフタ24は、
Qレジスタ22およびALU48と共に作動して、
64ビツトのシフト操作を実行する。制御ストア4
−12からの制御信号(図示せず)は、レジス
タ・フアイル44、ALU48、シフタ24、Q
レジスタ22およびデータ・イン・レジスタ26
の全ての動作を制御する。
張として64ビツト演算数を処理するように働く。
Qレジスタ22はまた、2進数の乗除算命令の間
部分積および部分商を格納する。シフタ24は、
Qレジスタ22およびALU48と共に作動して、
64ビツトのシフト操作を実行する。制御ストア4
−12からの制御信号(図示せず)は、レジス
タ・フアイル44、ALU48、シフタ24、Q
レジスタ22およびデータ・イン・レジスタ26
の全ての動作を制御する。
VMMU0 4−8は、制御ストア4−12の
信号を受取り32ビツトの仮想メモリーのランダ
ム・アクセス・メモリー(VM−RAM)30の
28の場所の1つをアドレス指定するデコーダ32
を含む。本発明のDSBR54の部分は、VM−
RAM30の2つの場所に格納される。情報は、
BPバス38、BPラツチ36および内部バス34
からVM−RAM30へロードされる。制御信号
(図示せず)は、ラツチ36の入出力を制御する。
信号を受取り32ビツトの仮想メモリーのランダ
ム・アクセス・メモリー(VM−RAM)30の
28の場所の1つをアドレス指定するデコーダ32
を含む。本発明のDSBR54の部分は、VM−
RAM30の2つの場所に格納される。情報は、
BPバス38、BPラツチ36および内部バス34
からVM−RAM30へロードされる。制御信号
(図示せず)は、ラツチ36の入出力を制御する。
第4図は、第2E図に示されるように仮想I/
O指令を物理的I/O指令に変換するための論理
のフローを示している。
O指令を物理的I/O指令に変換するための論理
のフローを示している。
オペレーテイング・システムは、どのユーザが
装置に対するアクセスを有するかを定義する各装
置に対するアクセス制御リストを維持する。1つ
のプロセスが1つの新しい装置をアドレス指定す
ることが必要な時常に、オペレーテイング・シス
テムは目標装置のリストを調べてプロセスに対す
るアクセスが許与されるかどうかを判定する。も
しアクセスが許されるならば、オペレーテイン
グ・システム50が、メモリー8の1つの場所に
格納される仮想I/O指令52を生成して、以降
の情報をVM−RAM30の場所に格納される
DSBR54にロードする。
装置に対するアクセスを有するかを定義する各装
置に対するアクセス制御リストを維持する。1つ
のプロセスが1つの新しい装置をアドレス指定す
ることが必要な時常に、オペレーテイング・シス
テムは目標装置のリストを調べてプロセスに対す
るアクセスが許与されるかどうかを判定する。も
しアクセスが許されるならば、オペレーテイン
グ・システム50が、メモリー8の1つの場所に
格納される仮想I/O指令52を生成して、以降
の情報をVM−RAM30の場所に格納される
DSBR54にロードする。
もしセツトされるならば、ビツト0は、新しい
スタツクが用いられるべきことを示し、呼出しお
よび戻り命令が許される。これは、本発明の一部
をなすものではなく、従つてこれ以上記述しな
い。
スタツクが用いられるべきことを示し、呼出しお
よび戻り命令が許される。これは、本発明の一部
をなすものではなく、従つてこれ以上記述しな
い。
もしセツトされるならば、ビツト1は、仮想
I/O指令がオペレーテイング・システム50に
より生成されることを示す。
I/O指令がオペレーテイング・システム50に
より生成されることを示す。
ビツト4−23は、メモリー8における物理的ペ
ージのフレーム基底アドレスを指定する。しか
し、ビツト24〜31は、この基底アドレスをオフセ
ツトして、記述子のセグメント・ページ・テーブ
ル56が1つのモジユールの4ワード境界で始動
することを許容する。
ージのフレーム基底アドレスを指定する。しか
し、ビツト24〜31は、この基底アドレスをオフセ
ツトして、記述子のセグメント・ページ・テーブ
ル56が1つのモジユールの4ワード境界で始動
することを許容する。
記述子のセグメント・ページ・テーブル56
は、通常の仮想メモリー・アドレスから物理的メ
モリー・アドレスへの変換において用いられる4
ページの記述子PD0乃至PD3を含む。この通常
の操作はまた、IOLDの範囲指令の処理も含む。
は、通常の仮想メモリー・アドレスから物理的メ
モリー・アドレスへの変換において用いられる4
ページの記述子PD0乃至PD3を含む。この通常
の操作はまた、IOLDの範囲指令の処理も含む。
記述子セグメント・ページ・テーブル58はま
た、1つのI/Oページ記述子4および1つの
I/Oページ記述子5を含む。仮想チヤネル番号
の上位ビツトの状態(仮想I/O指令のビツト
2)は、16進数8がオフセツト基底アドレスに加
算されてI/Oページ記述子4を見出すことを指
定する。16進数Aは、オフセツト基底アドレスに
加算されてI/Oページ記述子5を見出す。
た、1つのI/Oページ記述子4および1つの
I/Oページ記述子5を含む。仮想チヤネル番号
の上位ビツトの状態(仮想I/O指令のビツト
2)は、16進数8がオフセツト基底アドレスに加
算されてI/Oページ記述子4を見出すことを指
定する。16進数Aは、オフセツト基底アドレスに
加算されてI/Oページ記述子5を見出す。
I/Oページ記述子4は、64I/O記述子(図
示せず)のテーブルを指示し、I/Oページ記述
子5は63乃至127として識別される64のI/O記
述子のテーブルを指示する。I/O記述子は、典
型的にはI/Oページ記述子5により選択される
ものである。
示せず)のテーブルを指示し、I/Oページ記述
子5は63乃至127として識別される64のI/O記
述子のテーブルを指示する。I/O記述子は、典
型的にはI/Oページ記述子5により選択される
ものである。
128のI/O記述子は、64の大域記述子および
64の局所記述子に分けられる。大域記述子は、シ
ステムの装置記述子と見做され、安全保護カーネ
ルがプロセス内にカーネル・フアイル・システム
装置のアクセスを許容するため使用される。局所
記述子は、プロセスに対しては専用と定義され、
安全保護カネールによりプロセスのアドレス・ス
ペースにマツプされるユーザI/O装置と関連さ
せられる。
64の局所記述子に分けられる。大域記述子は、シ
ステムの装置記述子と見做され、安全保護カーネ
ルがプロセス内にカーネル・フアイル・システム
装置のアクセスを許容するため使用される。局所
記述子は、プロセスに対しては専用と定義され、
安全保護カネールによりプロセスのアドレス・ス
ペースにマツプされるユーザI/O装置と関連さ
せられる。
I/Oページ記述子5における情報は下記の如
くである。
くである。
ビツト0は、妥当はI/Oページ記述子を表示
する妥当標識Vを指定する。ビツト1は、ページ
がアクセスされたことを示す標識Uを指定する。
する妥当標識Vを指定する。ビツト1は、ページ
がアクセスされたことを示す標識Uを指定する。
ビツト2は、ページが修正されたことを示す修
正標識Mを指定する。
正標識Mを指定する。
ビツト4〜23は、I/O記述子テーブル58の
物理的ページ・フレーム番号アドレスを指定す
る。
物理的ページ・フレーム番号アドレスを指定す
る。
ビツト26〜30は、I/O記述子テーブル58に
おける仮想装置記述子の数を指定する。もし仮想
チヤネル番号がI/O装置のテーブル・サイズよ
り大きければ、誤りが表示される。
おける仮想装置記述子の数を指定する。もし仮想
チヤネル番号がI/O装置のテーブル・サイズよ
り大きければ、誤りが表示される。
物理的ページ・フレーム番号は、I/O記述子
テーブル58のメモリー8の基底アドレスを指定
する。仮想チヤネル番号ビツト2〜8は、I/O
記述子テーブル58におけるI/O記述子を指示
する。
テーブル58のメモリー8の基底アドレスを指定
する。仮想チヤネル番号ビツト2〜8は、I/O
記述子テーブル58におけるI/O記述子を指示
する。
I/O記述子は、プロセスが装置に対して有す
る読出しまたは書込み操作のためのアクセス権、
および装置の物理的チヤネル番号を定義する。
I/O記述子における他の情報は下記の如くであ
る。
る読出しまたは書込み操作のためのアクセス権、
および装置の物理的チヤネル番号を定義する。
I/O記述子における他の情報は下記の如くであ
る。
ビツト0、妥当標識Vは、もし「0」であれば
I/Oチヤネル誤りを示す(トラツプ37)。
I/Oチヤネル誤りを示す(トラツプ37)。
ビツト1、読み出し許容標識Rは、もしこのビ
ツトが1で、プロセスがR2より小さいかあるい
はこれと等しいリング番号で実行されつつあるな
らば、読み出し操作を指示するIOLD命令を許容
する。もしこのアクセス検査が満たされなけれ
ば、I/Oチヤネルのアクセス誤り(トラツプ3
8)が表示される。
ツトが1で、プロセスがR2より小さいかあるい
はこれと等しいリング番号で実行されつつあるな
らば、読み出し操作を指示するIOLD命令を許容
する。もしこのアクセス検査が満たされなけれ
ば、I/Oチヤネルのアクセス誤り(トラツプ3
8)が表示される。
ビーツト2、書き込み保護標識Wは、もしこの
ビツト1で、プロセスがR1より小さいかあるい
はこれと等しいリング番号で実行されつつあるな
らば、書き込み操作を指示するIOLD命令を許容
する。もしこのアクセス検査が満たされなけれ
ば、I/Oチヤネルのアクセス誤りが表示され
る。
ビツト1で、プロセスがR1より小さいかあるい
はこれと等しいリング番号で実行されつつあるな
らば、書き込み操作を指示するIOLD命令を許容
する。もしこのアクセス検査が満たされなけれ
ば、I/Oチヤネルのアクセス誤りが表示され
る。
IOLD命令の場合は、ビツト4および5、R1が
この装置の媒体に対する書込みブラケツトの最も
大きなリング番号を指定する。ビツト6および
7、R2は、この装置に対する読出しブラケツト
の最も大きなリング番号を指定する。
この装置の媒体に対する書込みブラケツトの最も
大きなリング番号を指定する。ビツト6および
7、R2は、この装置に対する読出しブラケツト
の最も大きなリング番号を指定する。
I/O命令の場合は、ビツト4および5、R1
は、この装置に対する制御ブラケツトの最も大き
なリング番号を指定する。
は、この装置に対する制御ブラケツトの最も大き
なリング番号を指定する。
ビツト16〜22は零でなければならず、ビツト23
〜31と仮想チヤネル番号の元の指令ビツトDは、
指令が読出し指令であるか書込み指令であるかに
拘らず、I/O装置の物理的チヤネル番号を構成
する。
〜31と仮想チヤネル番号の元の指令ビツトDは、
指令が読出し指令であるか書込み指令であるかに
拘らず、I/O装置の物理的チヤネル番号を構成
する。
DSBR54は、一義的なフレーム番号でロード
され、各ユーザ毎にオフセツトされる。従つて、
DSBRビツト4−31は、一義的な記述子セグメ
ント・ページ・テーブル56を指示する。ユーザ
の数と同じ数の記述子セグメント・ページ・テー
ブル56がある。また、各ユーザ毎に一義的なプ
ロセス記述子セグメント60がある。
され、各ユーザ毎にオフセツトされる。従つて、
DSBRビツト4−31は、一義的な記述子セグメ
ント・ページ・テーブル56を指示する。ユーザ
の数と同じ数の記述子セグメント・ページ・テー
ブル56がある。また、各ユーザ毎に一義的なプ
ロセス記述子セグメント60がある。
システム1に対する総メモリー・サイズは、16
メガバイトまでの物理的メモリーおよび2ギガバ
イトの仮想メモリーである。メモリー8がこの物
理的メモリー・バイトを格納し、多くの大容量記
憶装置が仮想メモリー・バイトを格納する。
メガバイトまでの物理的メモリーおよび2ギガバ
イトの仮想メモリーである。メモリー8がこの物
理的メモリー・バイトを格納し、多くの大容量記
憶装置が仮想メモリー・バイトを格納する。
1つのセグメント・サイズは、2メガバイト以
下である。1つのプロセスは、1024以下のセグメ
ントを含む。1ページは、セグメント当たり1024
ページまでの2Kバイトを含む。仮想アドレスは、
10ビツトのセグメント番号、および20ビツトの変
位として表わされ、これはDSBR54の内容およ
び以降のテーブルとの関連において、所要の2倍
精度ワード(30ビツト)のメモリー8の物理的ア
ドレスを生成する。
下である。1つのプロセスは、1024以下のセグメ
ントを含む。1ページは、セグメント当たり1024
ページまでの2Kバイトを含む。仮想アドレスは、
10ビツトのセグメント番号、および20ビツトの変
位として表わされ、これはDSBR54の内容およ
び以降のテーブルとの関連において、所要の2倍
精度ワード(30ビツト)のメモリー8の物理的ア
ドレスを生成する。
1つのプロセスの全ての記述子を保有する一義
的なプロセスの記述子セグメントにおいては、記
述子セグメント・ページ・テーブル56は、セグ
メント記述子(SD)0〜255を指示する記述
子(PD)0、SD256〜511を指示するPD
1、SD512〜767を指示するPD2、および
SD768〜1023を指示するPD3を含んでい
る。
的なプロセスの記述子セグメントにおいては、記
述子セグメント・ページ・テーブル56は、セグ
メント記述子(SD)0〜255を指示する記述
子(PD)0、SD256〜511を指示するPD
1、SD512〜767を指示するPD2、および
SD768〜1023を指示するPD3を含んでい
る。
PD0乃至PD3は各々、その各々のセグメント
記述子テーブルを指示する。このセグメント記述
子テーブルの内容は、もしページが付されていれ
ば、ページ記述子のテーブルを指示する。このペ
ージ・テーブルは、オペレーテイング・システム
により生成される仮想アドレスと対応する主記憶
装置8における物理的アドレスを保有する記述子
を格納している。これが、仮想メモリー・アドレ
スを物理的メモリー・アドレスに変換するための
通常のシステム動作である。
記述子テーブルを指示する。このセグメント記述
子テーブルの内容は、もしページが付されていれ
ば、ページ記述子のテーブルを指示する。このペ
ージ・テーブルは、オペレーテイング・システム
により生成される仮想アドレスと対応する主記憶
装置8における物理的アドレスを保有する記述子
を格納している。これが、仮想メモリー・アドレ
スを物理的メモリー・アドレスに変換するための
通常のシステム動作である。
通常の動作中、第2D図のIOLD範囲指令が下
記の如くに処理される。
記の如くに処理される。
記述子セグメント・ページ・テーブル56の選
択されたページ記述子、例えばPD1は、プロセ
ツサの記述子セグメント60のページ番号がロー
ドされる。各プロセツサの記述子セグメント60
は、ページ当たり256のセグメント記述子を含む。
妥当性Vビツトに加えて、ビツト1は特権標識
(PR)である。もしセツトされるならば、特権命
令の実行はリング0にある場合のみ許される。も
しセツトされなければ特権命令は許されず、特権
命令に遭遇するならば、トラツプ13が呼出され
る。IOLD(IO)ビツト2がセツトされれば、こ
れが直接メモリー・アスセス(DMA)転送のた
めのIOLDバツフア・セグメントがあることを示
す。もしセツトされず、IOLD命令が実行されて
このセグメントを指示するならば、保護されたメ
モリー・トラツプ14が呼出される。
択されたページ記述子、例えばPD1は、プロセ
ツサの記述子セグメント60のページ番号がロー
ドされる。各プロセツサの記述子セグメント60
は、ページ当たり256のセグメント記述子を含む。
妥当性Vビツトに加えて、ビツト1は特権標識
(PR)である。もしセツトされるならば、特権命
令の実行はリング0にある場合のみ許される。も
しセツトされなければ特権命令は許されず、特権
命令に遭遇するならば、トラツプ13が呼出され
る。IOLD(IO)ビツト2がセツトされれば、こ
れが直接メモリー・アスセス(DMA)転送のた
めのIOLDバツフア・セグメントがあることを示
す。もしセツトされず、IOLD命令が実行されて
このセグメントを指示するならば、保護されたメ
モリー・トラツプ14が呼出される。
ペーシ番号ビツト4乃至22、プラス、プロセツ
サ記述子セグメント60のオフセツト・ビツト2
3乃至31は、1024の32ビツト・ページ記述子を
格納するIOLDバツフア・セグメント・ページ・
テーブル62の選択されたページ記述子(PDX)
を指示する。
サ記述子セグメント60のオフセツト・ビツト2
3乃至31は、1024の32ビツト・ページ記述子を
格納するIOLDバツフア・セグメント・ページ・
テーブル62の選択されたページ記述子(PDX)
を指示する。
ビツト0、1および2(V、UおよびM)は先
に述べた。IOLDバツフア・セグメント・ペー
ジ・テーブル62のページ番号ビツト4乃至23
は、メモリー8におけるIOLDバツフア・セグメ
ント・ページ・フレーム64を指示する。最大バ
ツフア・ページ・サイズは、もしIOLDバツフ
ア・セグメント・プログラム・テーブル62のペ
ージ番号がページ・フレーム64の基底アドレス
を指示するならは、2048バイトとなる。もしこの
基底アドレスが一回のオフセツトにより増分され
るならば、ページ間に跨がることが許されないた
め、レンジは2048バイトより小さくなる。
に述べた。IOLDバツフア・セグメント・ペー
ジ・テーブル62のページ番号ビツト4乃至23
は、メモリー8におけるIOLDバツフア・セグメ
ント・ページ・フレーム64を指示する。最大バ
ツフア・ページ・サイズは、もしIOLDバツフ
ア・セグメント・プログラム・テーブル62のペ
ージ番号がページ・フレーム64の基底アドレス
を指示するならは、2048バイトとなる。もしこの
基底アドレスが一回のオフセツトにより増分され
るならば、ページ間に跨がることが許されないた
め、レンジは2048バイトより小さくなる。
ユーザが仮想I/Oから物理的I/Oへ初めて
変換する間、記述子セグメント・ページ・テーブ
ル56の内容の一部およびI/O記述子テーブル
58の内容の一部がキヤツシユ4−6へ移される
ことが判るであろう。同じユーザに対して要求さ
れる以上のI/O指令の変換は、比較的遅いメモ
リー8の速度ではなくキヤツシユ4−6の速度で
行なうことができる。
変換する間、記述子セグメント・ページ・テーブ
ル56の内容の一部およびI/O記述子テーブル
58の内容の一部がキヤツシユ4−6へ移される
ことが判るであろう。同じユーザに対して要求さ
れる以上のI/O指令の変換は、比較的遅いメモ
リー8の速度ではなくキヤツシユ4−6の速度で
行なうことができる。
第5図の記述においては、第2A図乃至第2C
図の指令がIO指令と呼ばれ、第2D図の指令は
IOLD指令と呼ばれる。フアームウエアは、
IOLD指令としてIOLD指令の両方のサイクルを
取扱うことになる。従つて、I/Oの表示はIO
とIOLDの両方を指す。
図の指令がIO指令と呼ばれ、第2D図の指令は
IOLD指令と呼ばれる。フアームウエアは、
IOLD指令としてIOLD指令の両方のサイクルを
取扱うことになる。従つて、I/Oの表示はIO
とIOLDの両方を指す。
第5図は、仮想I/Oフアームウエアの構成を
示すフロー図である。CPU0 4−2がソフト
ウエア命令を実行し、これが更に仮想I/Oチヤ
ネル番号を物理的I/Oチヤネル番号へ変換する
ため制御ストア4−12のB部分をアドレス指定
する。
示すフロー図である。CPU0 4−2がソフト
ウエア命令を実行し、これが更に仮想I/Oチヤ
ネル番号を物理的I/Oチヤネル番号へ変換する
ため制御ストア4−12のB部分をアドレス指定
する。
判断ブロツク72は、DSBR54の内容のビツ
ト1をテストし、もしこれが仮想I/O動作でな
ければ、ブロツク74へ分岐する。判断ブロツク
は、第3図のレジスタ・フアイル46に情報を送
り、ALU48およびシフタ24において呼出さ
れた動作を実施し、その結果をレジスタ・フアイ
ル46に戻することにより構成され、こでフアー
ムウエアに対して使用できる。これは、内容ソー
ト4−12からの信号により行なわれる。ブロツ
ク74は、指令が物理的チヤネル番号を持つとし
て解釈し、CPU0 4−2をして指令を直接シ
ステム・バス2上に送出させる。さもなければ、
判断ブロツク76は、CPU0 4−2が実行中
のメモリーにおけるI/O命令のその時のリング
番号のビツト0および1を読出す。もしこれが特
権命令でなければ、即ち、リング0またはリング
1の命令でなければ、ブロツク78はトラツプ1
3を呼出してオペレーテイング・システムにプロ
セスを停止することを通知する。
ト1をテストし、もしこれが仮想I/O動作でな
ければ、ブロツク74へ分岐する。判断ブロツク
は、第3図のレジスタ・フアイル46に情報を送
り、ALU48およびシフタ24において呼出さ
れた動作を実施し、その結果をレジスタ・フアイ
ル46に戻することにより構成され、こでフアー
ムウエアに対して使用できる。これは、内容ソー
ト4−12からの信号により行なわれる。ブロツ
ク74は、指令が物理的チヤネル番号を持つとし
て解釈し、CPU0 4−2をして指令を直接シ
ステム・バス2上に送出させる。さもなければ、
判断ブロツク76は、CPU0 4−2が実行中
のメモリーにおけるI/O命令のその時のリング
番号のビツト0および1を読出す。もしこれが特
権命令でなければ、即ち、リング0またはリング
1の命令でなければ、ブロツク78はトラツプ1
3を呼出してオペレーテイング・システムにプロ
セスを停止することを通知する。
さもなければ、ブロツク80は、記述子セグメ
ント・ページ・テーブル(DSPT)56のI/O
ページ記述子4または5についてメモリー8の場
所を計算する。これは、仮想チヤネル番号の上位
ビツト(ビツト2)の状態に従つて、基底アドレ
ス(記述子セグメント基底レジスタ54のビツト
4〜31)を16進数8または16進数Aに加算する
CPU0 4−2によつて行なわれる。
ント・ページ・テーブル(DSPT)56のI/O
ページ記述子4または5についてメモリー8の場
所を計算する。これは、仮想チヤネル番号の上位
ビツト(ビツト2)の状態に従つて、基底アドレ
ス(記述子セグメント基底レジスタ54のビツト
4〜31)を16進数8または16進数Aに加算する
CPU0 4−2によつて行なわれる。
ブロツク82は、メモリー8の場所からI/O
ページ記述子を取出し、これを第3図のCPU0
4−2のレジスタ・フアイル46の作業レジスタ
に格納する。
ページ記述子を取出し、これを第3図のCPU0
4−2のレジスタ・フアイル46の作業レジスタ
に格納する。
判断ブロツク84は、I/Oページ記述子の妥
当Vビツト0をテストする。この妥当ビツトが真
であることは、ページがメモリー8にあることを
示している。もし真でなければ、ページ誤りが生
じて、オペレーテイング・システムに対しページ
をメモリー8に入れるように指示する。ページは
通常はデイスク・サブシステムにある。ブロツク
86は、この時、ハードウエアにより構成される
標準的なページ誤りルーチンを呼出すことにな
る。
当Vビツト0をテストする。この妥当ビツトが真
であることは、ページがメモリー8にあることを
示している。もし真でなければ、ページ誤りが生
じて、オペレーテイング・システムに対しページ
をメモリー8に入れるように指示する。ページは
通常はデイスク・サブシステムにある。ブロツク
86は、この時、ハードウエアにより構成される
標準的なページ誤りルーチンを呼出すことにな
る。
さもなければ、ブロツク88は、記述子セグメ
ント・ページ・テーブル56からのI/Oページ
記述子をCPU0 4−2のレジスタ・フアイル
46の作業レジスタに格納する。I/O記述子の
メモリー8における場所は、I/Oページ記述子
の物理的ページ・フレーム番号に仮想チヤネル番
号を加えることにより生成される。
ント・ページ・テーブル56からのI/Oページ
記述子をCPU0 4−2のレジスタ・フアイル
46の作業レジスタに格納する。I/O記述子の
メモリー8における場所は、I/Oページ記述子
の物理的ページ・フレーム番号に仮想チヤネル番
号を加えることにより生成される。
判断ブロツク90は、I/Oページ記述子に格
納されたテーブル・サイズを仮想チヤネル番号と
比較して、I/O記述子テーブル58が仮想チヤ
ネル番号を収容できることを確認する。もし仮想
チヤネル番号がこのサイズよりも大きければ、ブ
ロツク92がトラツプ37を呼出して誤り表示さ
れた仮想チヤネル番号を表示する。
納されたテーブル・サイズを仮想チヤネル番号と
比較して、I/O記述子テーブル58が仮想チヤ
ネル番号を収容できることを確認する。もし仮想
チヤネル番号がこのサイズよりも大きければ、ブ
ロツク92がトラツプ37を呼出して誤り表示さ
れた仮想チヤネル番号を表示する。
もしI/O記述子テーブル58が充分に大きけ
れば、ブロツク94はメモリー8からI/O記述
子を取出し、これをCPU0 4−2のレジス
タ・フアイル46の作業レジスタに格納する。
れば、ブロツク94はメモリー8からI/O記述
子を取出し、これをCPU0 4−2のレジス
タ・フアイル46の作業レジスタに格納する。
判断ブロツク96は、I/O記述子の妥当Vビ
ツト0をテストし、もしこのビツトがリセツトさ
れてI/O誤りトラツプ番号37を表示するなら
ば、ブロツク98へ分岐する。
ツト0をテストし、もしこのビツトがリセツトさ
れてI/O誤りトラツプ番号37を表示するなら
ば、ブロツク98へ分岐する。
さもなければ、ブロツク100は仮想I/O指
令のリング・ビツト0および1かReffを計算す
る。
令のリング・ビツト0および1かReffを計算す
る。
Reffは、IOLDまたはI/O指令を構成する指
令が格納されるリングの最大値(最も小さな特権
が与えられる)である。
令が格納されるリングの最大値(最も小さな特権
が与えられる)である。
判断ブロツク101は、指令を開始したメモリ
ー8における命令の命令コード・フイールドを調
べることにより、仮想I/O指令がIO指令(第
2A図、第2B図または第2C図)、あるいは
IOLD指令(第2D図)のいずれであるかをテス
トする。もしこの命令がIO指令を求めるならば、
判断ブロツク103は値ReffをI/O記述子に照
してテストする。もし値effがR1よりも大きけれ
ば、ブロツク105はトラツプ38のI/Oアク
セス誤り操作を開始する。もし値ReffがR1より小
さいかあるいはこれと等しければ、フアームウエ
アはブロツク118へ分岐し、このブロツクは仮
想チヤネル番号をI/O記述子テーブル58の
I/O記述子からの物理的チヤネル番号と置換す
る。
ー8における命令の命令コード・フイールドを調
べることにより、仮想I/O指令がIO指令(第
2A図、第2B図または第2C図)、あるいは
IOLD指令(第2D図)のいずれであるかをテス
トする。もしこの命令がIO指令を求めるならば、
判断ブロツク103は値ReffをI/O記述子に照
してテストする。もし値effがR1よりも大きけれ
ば、ブロツク105はトラツプ38のI/Oアク
セス誤り操作を開始する。もし値ReffがR1より小
さいかあるいはこれと等しければ、フアームウエ
アはブロツク118へ分岐し、このブロツクは仮
想チヤネル番号をI/O記述子テーブル58の
I/O記述子からの物理的チヤネル番号と置換す
る。
判断ブロツク102は、仮想I/O指令のDビ
ツト9をテストする。もしビツト9が装置入力指
令を示すならば、判断ブロツク108はI/O記
述子のRビツト1がセツトされるか、また値Reff
がI/O記述子のR2のビツト6および7より小
さいかこれと等しいかをテストする。もしそうで
あれば、ブロツク140はMビツト2をIOLDバ
ツフア・ページ記述子にセツトする。もしそうで
なければ、ブロツク106はフアームウエアのア
クセス検査を介してアクセスの誤り38を求める。
ツト9をテストする。もしビツト9が装置入力指
令を示すならば、判断ブロツク108はI/O記
述子のRビツト1がセツトされるか、また値Reff
がI/O記述子のR2のビツト6および7より小
さいかこれと等しいかをテストする。もしそうで
あれば、ブロツク140はMビツト2をIOLDバ
ツフア・ページ記述子にセツトする。もしそうで
なければ、ブロツク106はフアームウエアのア
クセス検査を介してアクセスの誤り38を求める。
もし判断ブロツク102が、仮想IOLD指令に
おけるDビツトの状態をテストすることにより装
置の出力指令を表示したならば、判断ブロツク1
04がI/O記述子のWビツトがセツトされ値
ReffがI/O記述子のR1(ビツト4および5)よ
り小さいかあるいはこれと等しいことをテストす
る。さもなければ、ブロツク106がトラツプ38
を生成する。
おけるDビツトの状態をテストすることにより装
置の出力指令を表示したならば、判断ブロツク1
04がI/O記述子のWビツトがセツトされ値
ReffがI/O記述子のR1(ビツト4および5)よ
り小さいかあるいはこれと等しいことをテストす
る。さもなければ、ブロツク106がトラツプ38
を生成する。
ブロツク110はI/Oページ記述子の修正子
Mビツト(ビツト2)をセツトする。
Mビツト(ビツト2)をセツトする。
判断ブロツク112は、プロセツサの記述子セ
グメント(PDS)60に置かれるIOLDバツフア
に対するセグメント記述子におけるI/Oビツト
2がセツトされるかどうかをテストする。もしセ
ツトされなければ、ブロツク114がトラツプ1
4の保護の抵触ルーチンを呼出す。さもなけれ
ば、判断ブロツク116が、定数(2048)を第2
D図の第2のサイクル範囲の範囲データ・フイー
ルドのビツト0〜15と比較することにより、
IOLDバツフア・サイズが2048バイトより小さい
かこれと等しいかをテストする。この範囲がペー
ジに跨がらないことを保証するため、フアームウ
エアは、第2D図の範囲プラス、オフセツトが
2048より大きくないことを調べる。このオフセツ
トは、通常の仮想アドレスから物理的アドレスへ
の変換中に計算される。もしどちらかのテストの
答が得られなければ、ブロツク114がトラツプ
14の保証低触ルーチンを呼出す。
グメント(PDS)60に置かれるIOLDバツフア
に対するセグメント記述子におけるI/Oビツト
2がセツトされるかどうかをテストする。もしセ
ツトされなければ、ブロツク114がトラツプ1
4の保護の抵触ルーチンを呼出す。さもなけれ
ば、判断ブロツク116が、定数(2048)を第2
D図の第2のサイクル範囲の範囲データ・フイー
ルドのビツト0〜15と比較することにより、
IOLDバツフア・サイズが2048バイトより小さい
かこれと等しいかをテストする。この範囲がペー
ジに跨がらないことを保証するため、フアームウ
エアは、第2D図の範囲プラス、オフセツトが
2048より大きくないことを調べる。このオフセツ
トは、通常の仮想アドレスから物理的アドレスへ
の変換中に計算される。もしどちらかのテストの
答が得られなければ、ブロツク114がトラツプ
14の保証低触ルーチンを呼出す。
もし両方のテストが成功すれば、ブロツク11
8が仮想I/O指令の仮想チヤネル番号をI/O
記述子に含まれる物理的チヤネル番号と置換す
る。
8が仮想I/O指令の仮想チヤネル番号をI/O
記述子に含まれる物理的チヤネル番号と置換す
る。
フアームウエアは、次にブロツク74へ分岐
し、IOまたはIOLD指令が通常の指令として処理
され、第1図のシステム・バス2と接続されたサ
ブシステムにより通常の指令として取扱われる。
し、IOまたはIOLD指令が通常の指令として処理
され、第1図のシステム・バス2と接続されたサ
ブシステムにより通常の指令として取扱われる。
本発明についてはその望ましい実施態様に関し
て示し記したが、当業者には、本発明の主旨およ
び範囲から逸脱することなく、形態および細部に
おける上記および他の変更が可能であることが理
解されよう。
て示し記したが、当業者には、本発明の主旨およ
び範囲から逸脱することなく、形態および細部に
おける上記および他の変更が可能であることが理
解されよう。
第1図はデータ処理システムの全体ブロツク
図、第2A図乃至第2E図は入出力指令のフオー
マツトを示す図、第3図は仮想メモミー管理およ
び中央処理装置を示す部分ブロツク図、第4図は
安全保護入出力システムのレジスタおよびテーブ
ルを示すブロツク図、および第5図は仮想入出力
フアームウエアの構成を示すフロー図である。 1……多重処理システム、2……システム・バ
ス、2−10……システム・バス・インターフエ
ース(SBI)、4……中央サブシステム(CSS)、
4−2……中央処理装置(CPU)0、4−6…
…キヤツシユ、4−8,4−10……仮想メモリ
ー管理装置(VMMU)、4−12……制御スト
ア、14……周辺コントローラ、20……システ
ム管理機能(SMF)、22……Qレジスタ、24
……シフタ、26……データ・イン・レジスタ、
30……仮想メモリーのランダム・アクセス・メ
モリー(VM−RAM)、32……デコーダ、34
……内部バス、36……BPラツチ、38……BP
バス、40……バス、42……Aバス、44……
BIバス、46……レジスタ・フアイル、48…
…演算論理装置(ALU)、50……オペレーテイ
ング・システム、54……DSBR、56,58…
…記述子セグメント・ページ・テーブル、60…
…プロセス記述子セグメント、62……IOLDバ
ツフア・セグメント・ページ・テーブル、64…
…IOLDバツフア・セグメント・ページ・フレー
ム。
図、第2A図乃至第2E図は入出力指令のフオー
マツトを示す図、第3図は仮想メモミー管理およ
び中央処理装置を示す部分ブロツク図、第4図は
安全保護入出力システムのレジスタおよびテーブ
ルを示すブロツク図、および第5図は仮想入出力
フアームウエアの構成を示すフロー図である。 1……多重処理システム、2……システム・バ
ス、2−10……システム・バス・インターフエ
ース(SBI)、4……中央サブシステム(CSS)、
4−2……中央処理装置(CPU)0、4−6…
…キヤツシユ、4−8,4−10……仮想メモリ
ー管理装置(VMMU)、4−12……制御スト
ア、14……周辺コントローラ、20……システ
ム管理機能(SMF)、22……Qレジスタ、24
……シフタ、26……データ・イン・レジスタ、
30……仮想メモリーのランダム・アクセス・メ
モリー(VM−RAM)、32……デコーダ、34
……内部バス、36……BPラツチ、38……BP
バス、40……バス、42……Aバス、44……
BIバス、46……レジスタ・フアイル、48…
…演算論理装置(ALU)、50……オペレーテイ
ング・システム、54……DSBR、56,58…
…記述子セグメント・ページ・テーブル、60…
…プロセス記述子セグメント、62……IOLDバ
ツフア・セグメント・ページ・テーブル、64…
…IOLDバツフア・セグメント・ページ・フレー
ム。
Claims (1)
- 【特許請求の範囲】 1 仮想I/O指令を物理的I/O指令へ変換す
る装置において、 装置を識別する仮想チヤネル番号を含む仮想
I/O指令を格納する第1の手段と、 ユーザを識別する記述子セグメントを格納する
第2の手段と、 前記第1の手段と接続されて該第1の手段に格
納された前記チヤネル番号の第1の部分に応答
し、前記第2の手段と接続されて前記第2の手段
に格納された前記ユーザを識別する記述子セグメ
ントに応答して、前記ユーザが使用できる一連の
装置を識別するI/Oページ記述子を見出す第1
のテーブル手段と、 前記第1の手段および前記第1のテーブル手段
と接続され、前記チヤネル番号および前記I/O
ページ記述子に応答して、前記装置を識別する物
理的チヤネル番号を含むI/O記述子を見出す第
2のテーブル手段と、 前記第1の手段および前記第2のテーブル手段
と接続され、前記ユーザ識別子を介してユーザの
装置へのアクセスを決定し前記I/O識別子を介
して適切な仮想I/O指令操作を決定することに
よつてユーザの特権を検証するための比較手段を
有し、ユーザの特権の検証に応答して前記仮想チ
ヤネル番号を前記物理的チヤネル番号により置換
することにより、前記物理的I/O指令を生成す
る第3の手段とを設けることを特徴とする装置。 2 プロセスのユーザ特権(リング番号)と仮想
チヤネル番号とを含む仮想入出力指令が第1のレ
ジスタ52に入力され、更に前記ユーザに対して
一意のセグメント記述子を第2のレジスタ54に
入力するシステムにおいて、仮想入出力指令を物
理的入出力指令に変換する方法であつて、 前記記述子がページ記述子のグループ56を保
持する記憶装置内の記憶場所の基底アドレスを含
み、 前記第2のレジスタに保持された基底アドレス
と前記第1のレジスタに保持された仮想チヤネル
番号の一部を組み合わせることによつて前記ペー
ジ記述子の特定の1つの前記記憶装置内のアドレ
スを決定し、 前記1つのページ記述子を取り出すため、該1
つのページ記述子のアドレスを用いて前記記憶装
置をアクセスし、 前記第1のレジスタに保持された前記仮想チヤ
ネル番号と前記1つのページ記述子の一部を組み
合わせることによつて特定の入出力記述子58の
前記記憶装置内のアドレスを決定し、 前記特定の入出力記述子を用いることを許すプ
ロセスの必要な特権(リング番号)の表示と物理
的チヤネル番号とを含む前記特定の入出力記述子
を取り出すため、該特定の入出力記述子のアドレ
スを用い、 前記入出力記述子に含まれる表示から決定され
る必要な特権と前記指令に含まれるユーザ特権と
を比較し、 前記ユーザ特権が前記必要な特権によつて許さ
れた特権の範囲に入る場合は、前記入出力記述子
に含まれる物理的チヤネル番号を用いて物理的入
出力指令を発生することを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83534 | 1987-08-07 | ||
US07/083,534 US4858117A (en) | 1987-08-07 | 1987-08-07 | Apparatus and method for preventing computer access by unauthorized personnel |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0199147A JPH0199147A (ja) | 1989-04-18 |
JPH0578858B2 true JPH0578858B2 (ja) | 1993-10-29 |
Family
ID=22178948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63197819A Granted JPH0199147A (ja) | 1987-08-07 | 1988-08-08 | 仮想入出力指令の変換装置および変換方法 |
Country Status (15)
Country | Link |
---|---|
US (1) | US4858117A (ja) |
EP (1) | EP0306702B1 (ja) |
JP (1) | JPH0199147A (ja) |
KR (1) | KR940003325B1 (ja) |
CN (1) | CN1014841B (ja) |
AU (1) | AU611468B2 (ja) |
CA (1) | CA1315007C (ja) |
DE (1) | DE3889816T2 (ja) |
DK (1) | DK439088A (ja) |
ES (1) | ES2053640T3 (ja) |
FI (1) | FI883566A (ja) |
IL (1) | IL87295A (ja) |
MX (1) | MX166611B (ja) |
NO (1) | NO174528B (ja) |
YU (1) | YU151988A (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU625070B2 (en) * | 1988-03-18 | 1992-07-02 | Lg Electronics Inc. | Distributed reference and change table for a virtual memory system |
US5063496A (en) * | 1988-06-01 | 1991-11-05 | International Business Machines Corporation | Signaling attempted transfer to protected entry point bios routine |
JP2776841B2 (ja) * | 1988-09-28 | 1998-07-16 | 株式会社日立製作所 | ディスク制御装置におけるディスクアクセス制御方法 |
US4984272A (en) * | 1988-11-30 | 1991-01-08 | At&T Bell Laboratories | Secure file handling in a computer operating system |
US5117491A (en) * | 1989-03-31 | 1992-05-26 | Bull Hn Information Systems Inc. | Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding |
EP0398492B1 (en) * | 1989-05-15 | 1997-01-22 | International Business Machines Corporation | A flexible interface to authentication services in a distributed data processing system |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
US6507909B1 (en) | 1990-02-13 | 2003-01-14 | Compaq Information Technologies Group, L.P. | Method for executing trusted-path commands |
US5574912A (en) * | 1990-05-04 | 1996-11-12 | Digital Equipment Corporation | Lattice scheduler method for reducing the impact of covert-channel countermeasures |
US5315657A (en) * | 1990-09-28 | 1994-05-24 | Digital Equipment Corporation | Compound principals in access control lists |
US5253344A (en) * | 1991-09-05 | 1993-10-12 | International Business Machines Corp. | Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system |
US5432934A (en) * | 1993-07-26 | 1995-07-11 | Gensym Corporation | Access restrictions as a means of configuring a user interface and making an application secure |
US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5603059A (en) * | 1994-04-22 | 1997-02-11 | Pitney Bowes Inc. | Software architecture system having a virtual I/O channel including multi-layered communication interface in between virtual stations and physical modules |
US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5933599A (en) * | 1995-07-17 | 1999-08-03 | Microsoft Corporation | Apparatus for presenting the content of an interactive on-line network |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
US5956509A (en) * | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5875352A (en) * | 1995-11-03 | 1999-02-23 | Sun Microsystems, Inc. | Method and apparatus for multiple channel direct memory access control |
JP2982702B2 (ja) * | 1996-08-30 | 1999-11-29 | 日本電気株式会社 | ディスク装置 |
US6105132A (en) * | 1997-02-20 | 2000-08-15 | Novell, Inc. | Computer network graded authentication system and method |
US5961626A (en) * | 1997-10-10 | 1999-10-05 | Motorola, Inc. | Method and processing interface for transferring data between host systems and a packetized processing system |
FR2770918B1 (fr) * | 1997-11-07 | 1999-12-10 | Gemplus Card Int | Procede de gestion securise d'une memoire |
EP0944257A1 (en) * | 1998-03-06 | 1999-09-22 | CANAL+ Société Anonyme | Multimedia terminal adapted for multiple users |
US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
US7343441B1 (en) * | 1999-12-08 | 2008-03-11 | Microsoft Corporation | Method and apparatus of remote computer management |
US7082615B1 (en) * | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US6990579B1 (en) * | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6714930B1 (en) | 2000-05-31 | 2004-03-30 | International Business Machines Corporation | Lightweight directory access protocol, (LDAP) trusted processing of unique identifiers |
US6978324B1 (en) * | 2000-06-27 | 2005-12-20 | Emc Corporation | Method and apparatus for controlling read and write accesses to a logical entity |
US7065610B1 (en) * | 2000-06-27 | 2006-06-20 | Emc Corporation | Method and apparatus for maintaining inventory of logical volumes stored on storage elements |
US7036122B2 (en) * | 2002-04-01 | 2006-04-25 | Intel Corporation | Device virtualization and assignment of interconnect devices |
EP1664687A4 (en) * | 2003-09-12 | 2009-01-14 | Rsa Security Inc | SYSTEM AND METHOD FOR AUTHENTICATION TO RISK BASIS |
DE10353210A1 (de) * | 2003-11-13 | 2005-06-16 | Siemens Ag | Sichere Erfassung von Eingabewerten |
US8781975B2 (en) * | 2004-05-21 | 2014-07-15 | Emc Corporation | System and method of fraud reduction |
JP4499008B2 (ja) * | 2005-09-15 | 2010-07-07 | 富士通マイクロエレクトロニクス株式会社 | Dma転送システム |
US7682577B2 (en) | 2005-11-07 | 2010-03-23 | Geo2 Technologies, Inc. | Catalytic exhaust device for simplified installation or replacement |
US7682578B2 (en) | 2005-11-07 | 2010-03-23 | Geo2 Technologies, Inc. | Device for catalytically reducing exhaust |
US7722828B2 (en) | 2005-12-30 | 2010-05-25 | Geo2 Technologies, Inc. | Catalytic fibrous exhaust system and method for catalyzing an exhaust gas |
JP5285969B2 (ja) * | 2008-06-11 | 2013-09-11 | シロキ工業株式会社 | ドアロック装置 |
US7530106B1 (en) | 2008-07-02 | 2009-05-05 | Kaspersky Lab, Zao | System and method for security rating of computer processes |
US10620687B2 (en) * | 2014-12-22 | 2020-04-14 | Intel Corporation | Hybrid power management approach |
US10489335B1 (en) * | 2018-09-28 | 2019-11-26 | Silicon Motion, Inc. | Apparatus and method and computer program product for accessing a memory card |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1329721A (en) * | 1970-05-26 | 1973-09-12 | Plessey Co Ltd | Data processing devices |
US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
US4084227A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4155119A (en) * | 1977-09-21 | 1979-05-15 | Sperry Rand Corporation | Method for providing virtual addressing for externally specified addressed input/output operations |
US4320456A (en) * | 1980-01-18 | 1982-03-16 | International Business Machines Corporation | Control apparatus for virtual address translation unit |
US4419728A (en) * | 1981-06-22 | 1983-12-06 | Bell Telephone Laboratories, Incorporated | Channel interface circuit providing virtual channel number translation and direct memory access |
JPS58195230A (ja) * | 1982-05-10 | 1983-11-14 | Hitachi Ltd | チヤネル制御装置 |
-
1987
- 1987-08-07 US US07/083,534 patent/US4858117A/en not_active Expired - Lifetime
-
1988
- 1988-07-29 FI FI883566A patent/FI883566A/fi not_active Application Discontinuation
- 1988-08-02 IL IL87295A patent/IL87295A/xx unknown
- 1988-08-03 ES ES88112622T patent/ES2053640T3/es not_active Expired - Lifetime
- 1988-08-03 DE DE3889816T patent/DE3889816T2/de not_active Expired - Fee Related
- 1988-08-03 EP EP88112622A patent/EP0306702B1/en not_active Expired - Lifetime
- 1988-08-05 YU YU01519/88A patent/YU151988A/xx unknown
- 1988-08-05 DK DK439088A patent/DK439088A/da not_active Application Discontinuation
- 1988-08-05 MX MX012567A patent/MX166611B/es unknown
- 1988-08-05 CA CA000573958A patent/CA1315007C/en not_active Expired - Fee Related
- 1988-08-05 AU AU20522/88A patent/AU611468B2/en not_active Ceased
- 1988-08-05 NO NO883493A patent/NO174528B/no unknown
- 1988-08-06 CN CN88104900A patent/CN1014841B/zh not_active Expired
- 1988-08-07 KR KR1019880010104A patent/KR940003325B1/ko not_active IP Right Cessation
- 1988-08-08 JP JP63197819A patent/JPH0199147A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
EP0306702A3 (en) | 1990-08-29 |
FI883566A (fi) | 1989-02-08 |
CN1014841B (zh) | 1991-11-20 |
DE3889816T2 (de) | 1995-01-19 |
ES2053640T3 (es) | 1994-08-01 |
AU611468B2 (en) | 1991-06-13 |
FI883566A0 (fi) | 1988-07-29 |
MX166611B (es) | 1993-01-21 |
JPH0199147A (ja) | 1989-04-18 |
DK439088D0 (da) | 1988-08-05 |
NO174528B (no) | 1994-02-07 |
EP0306702B1 (en) | 1994-06-01 |
EP0306702A2 (en) | 1989-03-15 |
IL87295A (en) | 1992-05-25 |
US4858117A (en) | 1989-08-15 |
DE3889816D1 (de) | 1994-07-07 |
KR940003325B1 (ko) | 1994-04-20 |
IL87295A0 (en) | 1989-01-31 |
NO174528C (ja) | 1994-05-18 |
NO883493D0 (no) | 1988-08-05 |
CN1033119A (zh) | 1989-05-24 |
DK439088A (da) | 1989-02-08 |
CA1315007C (en) | 1993-03-23 |
NO883493L (no) | 1989-02-08 |
YU151988A (en) | 1991-08-31 |
AU2052288A (en) | 1989-02-09 |
KR890004230A (ko) | 1989-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR940003325B1 (ko) | 가상 입력/출력 지령의 변환장치 및 방법 | |
US5469556A (en) | Resource access security system for controlling access to resources of a data processing system | |
JP4688490B2 (ja) | 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント | |
US5504814A (en) | Efficient security kernel for the 80960 extended architecture | |
US4942606A (en) | Computer with improved keyboard password functions | |
TWI705353B (zh) | 用於容許安全通訊之積體電路、方法及製造物件 | |
JP4234202B2 (ja) | コンピュータシステムのi/oアドレス空間にマップされたレジスタへのアクセスを制御するためのシステム | |
US4959860A (en) | Power-on password functions for computer system | |
CN103842976B (zh) | 具有保护模式以防止i/o装置进行存储器访问的输入/输出存储器管理单元 | |
JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
KR101001344B1 (ko) | 구획된 보안을 위한 입/출력 허가 비트맵 | |
US10664304B2 (en) | Application memory protection using an extended page table switching virtual machine function | |
JP2005512228A (ja) | 強化されたメモリアクセスセキュリティを提供する、メモリに対するデバイスのアクセスを制御するシステムおよび方法 | |
US10437523B2 (en) | Secure receive packet processing for network function virtualization applications | |
KR100972635B1 (ko) | 컴퓨터 시스템내에서의 장치간 액세스를 제어하는 시스템및 방법 | |
US20240143851A1 (en) | Computing system and trusted computing method | |
JPS626351A (ja) | 記憶保護装置 | |
JPS62274445A (ja) | マイクロ・コンピユ−タ・システムにおける特権保護方式 | |
Bradfield | Operating Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071029 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 15 |