JPH0199147A - 仮想入出力指令の変換装置および変換方法 - Google Patents

仮想入出力指令の変換装置および変換方法

Info

Publication number
JPH0199147A
JPH0199147A JP63197819A JP19781988A JPH0199147A JP H0199147 A JPH0199147 A JP H0199147A JP 63197819 A JP63197819 A JP 63197819A JP 19781988 A JP19781988 A JP 19781988A JP H0199147 A JPH0199147 A JP H0199147A
Authority
JP
Japan
Prior art keywords
descriptor
command
channel number
virtual
physical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63197819A
Other languages
English (en)
Other versions
JPH0578858B2 (ja
Inventor
Joseph G Dichiara
ジョセフ・ジー・ディチアラ
Harry W Brown
ハーリ・ダブリュー・ブラウン
Joseph M Valentine
ジョセフ・エム・ヴァレンタイン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Bull Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Bull Inc filed Critical Honeywell Bull Inc
Publication of JPH0199147A publication Critical patent/JPH0199147A/ja
Publication of JPH0578858B2 publication Critical patent/JPH0578858B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/126Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods 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)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一般にデータ処理分野に関し、特に更に安全
な入出力(I/O)システムを提供するだめの装置に関
する。
〔従来の技術および解決しようとする課題〕多数のユー
ザを相互に分離しかつユーザをオペレーティング・シス
テムから分離すためには、データ処理システムの保護が
必要となる。
保護とは、プログラム、プロセスのアクセス、あるいは
コンピュータ・システム資源に対するユーザのアクセス
を制御するための機構を指す。
保護は、基本的には内部の問題、即ちコンピュータ・シ
ステムに格納されたプログラムおよびデータに対するア
クセスを制御する要件である。
コンピュータの安全保護は、充分な保護システム、およ
びコンピュータが使用される外部環境の配慮を必要とす
る。安全保護とは、システムが強制されるポリシーに基
いて、コンピュータ・システム内部の主題による対象へ
のアクセスの調停である。保証とは、システムおよびそ
のデータの保全が維持される確実度である。
保全システムは、下記の如き能力を持たねばならない。
即ち、 1、アクセス制御−コンピュータのアクセスを試みる人
間/事物が確実にかつ信頼性を以て識別することができ
ること 2、プロセス制御の保全性−人間/事物が特定の機能に
限定され、かつユーザの分離が保証されねばならないこ
と 3、システム保護の違反が検出できること4、ユーザと
コンピュータ間のメツセージが秘匿でき、かつ牧童防止
が可能であること5、ハードウェアおよびソフトウェア
が牧童防止可能であること 6、システムが高い信頼性を以て設計できること こわらの能力の多くは、他の計算システム、典型的には
マサチューセッツ工科大学(MIT)で使用中の「マル
チックス (Multics M I Tの商標)」お
よびIloneywel1社の安全保護通信プロセッサ
 (S(:IMP)において見出される。
マルチックスは、安全保護の理由から特権リングのプロ
セスをメモリーに格納し、仮想アドレス指定を使用する
。しかし、マルチックス・システムは、仮想I/O指令
システムを使用することにより許される保護の利点を利
用していない。
TWr記SCOMPシステムはまた、安全保護の理由か
ら特権リングにおけるプロセスをメモリーに格納し、仮
想アドレス指定を使用する。しかし、SCOMPはまた
、仮想I/O指令システムを使用することにより可能に
なる保護の利点を利用する。しかし、SCOMPは、物
理的なI/O変換に対する仮想I/Oを実施するための
個々の論理ボードを含んでいる。
(発明の目的) 従って、本発明の目的は、実現のコストが比較的安くか
つスループットが改善された安全保護入出力(I/O)
指令システムを備えたデータ処理システムの1足供にあ
る。
本発明については、特に頭書の特許請求の範囲に記載さ
れている。本発明の上記および他の目的および利点の理
解は、図面に関して以降の記述を参照することにより得
られよう。
本発明の方法が実施される方法、本発明の装置が構成さ
れる方法、およびその使用方法については、添付図面と
共に以降の詳細な記述を参照すれば最もよく理解できよ
う。図面においては、同じ参照番号は類似の要素を示し
ている。
(発明の要約) 本発明は、周辺装置に対しシステム・バス上に送出され
た入出力(I/O)指令のコンピュータ・システム内部
の多重レベルの安全保護を提供する。
システム・バス上に送出されるI/O指令は、装置を識
別する物理的なチャネル番号、および装置が実施する機
能を指示する機能制御コードとを含む。オペレーティン
グ・システムは、リング番号、仮想チャネル番号および
機能制御コードを含む仮想I/O指令を生成する。
ファームウェアは、仮想チャネル番号を物理的チャネル
番号に変換する前に仮想I/O指令について多数の検査
を行なう。物理的I/O指令が生成される前に行なわれ
るこれらの検査は、下記のものを含む。即ち、 a−ユーザがプロセスのアクセスのため特権が与えられ
ることを検証する b−/OLDバツフアが2KBの限度内にあることを検
証する C−記述子が有効でありかつユーザが装置に対するアク
セスを許容されることを検証するd−記述子を含むペー
ジのテーブルのサイズに対するI/O記述子の仮想チャ
ネル番号の場所を検証し、 e−/OLDデータ・バッファがシステムのソフトウェ
アによりIOLDとしてマークされることを検証する これは、多数のレジスタおよびテーブルを用いて1つの
制御ストアの留保部分をアクセスして検証を行ない、仮
想アドレスから物理的アドレスへの変換を行なうファー
ムウェアによって行なわれる。
オペレーティング・システムは、メモリー記述子および
装置記述子のツリーを生成し、このデータ構造の情報に
対するポインタを記述子セグメントの基底レジスタに格
納する。この情報は、1つの記述子セグメントのページ
・テーブルの基底アドレスを指定する。仮想チャネル番
号の上位ビットの値を用いて、I/Oページ記述子ワー
ドの物理的メモリー・アドレスを与えるため基底アドレ
スに加えられるべき定数を決定する。
このI/Oページ記述子は、妥当性ビット、I/O記述
子テーブルのサイズ、およびI/O記述子テーブルの基
底アドレスを含む。この仮想チャネル番号は、I/O記
述子に対する指標として基底アドレスに加えられる。
I/O記述子は、妥当性ビット、読出しまたは書込み許
容ビット、リング・ブラケット・ビット、および物理的
チャネル番号を含んでいる。ファームウェアは、妥当性
ビットを検査し、適正な読出しまたは書込み操作を仮想
1/O指令が呼出すことを検証し、仮想I/O指令のリ
ング番号に対してリング・ブラケット・ビットを検証す
る。もし全てのこれらの検査が適正に行なわれるならば
、物理的チャネル番号が指令における仮想チャネル番号
を置換し、物理的I/O指令がシステム・バス上に送出
される。
記述子セグメントのページ・テーブル、および各ユーザ
毎のI/O記述子テーブルがある。
このため、オペレーティング・システムか1つのユーザ
の特権を容易に変更することを可能にする。
〔実施例〕
第1図は、各々が個々のインターフェースにより非同期
システム・バス2と接続された多くのサブシステムを員
む多重処理システムを示している。
これらサブシステムは、システム・バス・インターフェ
ース(S B I ) 2−/Oによりシステム・バス
2と接続された中央サブシステム(C3S)4と、5B
I2−/OAによりシステム・バス2と接続されたC3
S  4Aとを含む。僅かに2つのcsst、、か見え
ないが、その各々のインターフェースによりシステム・
バス2に対していくつのC5Sでも接続することができ
る。SBIの各々は、米国特許第3,995,258号
の第9図に示される形式のバス・インターフェースの論
理回路を含む。
また、5BI2−8を介してシステム・バス2と接続さ
れているのは、システム管理機能(SMF)20である
。メモリー・サブシステム8が5BI2−2によりシス
テム・バス2と接続されている。多数の周辺コントロー
ラ14、典型的には、ディスク・コントローラ、装置レ
コード・コントローラ、磁気テープ・コントローラ、通
信コントローラ等が、5BI2−4と類似するその各々
のSBIにより、システム・バス2と接続することがで
きる。各周辺コントローラ14はこれに多数の適当な装
置が接続されている。
各C3Sは、1つのキャッシュと、1つの制御ストアと
、2つの中央処理装置(CPU)と、その各仮想メモリ
ー管理装置(VMMU)とを含む。C3S4は、CPU
04−2をそのVMMUO4−8と共に、またCPUI
4−4をソノVMMU 1 4−/O、制御ストア4−
12およびキャッシュ4−6と共に有する。
2連CPUを備えたC8Sが開示されているが、本発明
は単一CPUを備えたシステムに内蔵し得ることが理解
されよう。
サブシステム間の全ての通信は、システム・バス2上に
指令を送出しかつアドレス指定されたサブシステムから
応答を受取る1つのサブシステムにより行なわれる。
5MF2Oは、システム1の初期化を制御する共に、多
くのシステムおよび環境の機能の監視を制御する。5M
F2Oは、5MF2Oにより受取られるCPUの1つか
らのシステム・バス2からの指令でセットされる監視タ
イマーおよび実時間クロックを含む。5MF2Oは、シ
ステム・バス2上を最初クロックをセットするCPUに
対して対応する指令を送出することにより、監視タイマ
ーが「0」に減分した時に応答する。更に、5MF2O
は電力および温度を監視し、もし電力または温度が予め
定めた限度を越えるならばサブシステムに警告する。S
、MF20の作動については、米国特許出願第869,
164号「多重プロセッサ・システム用システム管理装
置」に記載されている。
このシステムは、物理的アドレスと仮想アドレスの双方
を支持する。はとんどのソフトウェア・ビジプルなアド
レスは仮想アドレスである。
VMMUは、この仮想アドレスを物理的アドレスへ変換
する。物理的アドレスは、キャッシュまたはメモリーを
アドレス指定するためCPUにより用いられる。イ列え
ば、CPU0 4−2は仮想アドレスをバスBP38上
でVMMUO4−8に対して送出する。VMMUOは、
仮想ア、ドレスを物理的アドレスに変換し、物理的アド
レスをキャッシュ4−6およびメモリー8をバスPA:
19を介して送出する。もし物理的アドレスの内容がキ
ャッシュ4−6内に格納されているならば、このアドレ
スは唯ちにcpu。
4−2へ返送され、さもなければ、物理的アドレスを含
む指令が5BI2−/O、システム・バス2および5B
12−2を介してメモリー8へ送出される。物理的アド
レス場所の内容は、5BI2−2、システム・バス2お
よび5BI2−/Oを介して、応答指令によりcpu。
4−2へ返送される。
オペレーティング・システム・ソフトウェア、CPUお
よびVMMUハードウェアおよび仮想I/O処理からな
る安全保護カーネルは、保全DPS6  PLUS製品
に対する基準モニターの構成である。この基準モニター
は、3つの保全要件を満たさねばならない抽象的概念で
ある。
それは、 1、目的に対する主題の完全な調停 2、隔離、および 3、検証、である。
この完全な調停の特質は、メモリーに対する全ての要求
を調停する仮想メモリー管理装置により満たされる。こ
の調停手順もまた、アクセス許容検査を含む。仮想I/
Oファームウェアもまたこの要件の一部である。全ての
I/O指令は仮想的であり、あるアクセスの許容および
検査の手順に基いて許される。
隔離の特質は、ユーザのアプリケーション処理から安全
保護およびシステム処理を切離すハードウェア・リング
構造の使用により満たされる。
この特徴もまた、実行の定義域を許された許可と比較す
る基となるハードウェアおよびファームウェアにより強
化さね、記述子データ構造に含まれる。
検証の特質は、強化されるべき保全ポリシーの様式の有
無を問わない数学モデルと比較されてこれ1より検証さ
れる様式的な最上レベルの仕様の生成によフて満たされ
る。使用されるモデルは、「信頼されるコンピュータ安
全状態評価基準J  (D OD 5200.28− 
S T D 7191115年12月)に記載されるよ
うに検査される許可レベルに依存する。
オペレーティング・システムによって生成されるI/O
指令は、仮想チャネル番号場よびリング番号を含む。フ
ァームウェアは、このリング番号および指令の妥当性を
検証し、メモリー8に格納されたI/O記述子テーブル
に関して、仮想チャネル番号を物理的チャネル番号へ変
換する。
物理的チャネル番号を含むI/O指令はシステム・バス
2上に送出される。物理的チャネル番号を認識する周辺
サブシステムが、指令の受入れを確認し、指令の機能制
御コード部分により指定される動作を行なう。
CPUおよびVMMU(7)全マノ動作は、;ell 
IIIストア4−12から読出される制御ストア・ワー
ドの選択されたビットにより;t+制御される。制御ス
トア4−12は、仮想アドレスから物理的アドレスへの
変換を含む通常C5S動作を制御するためのA部分と、
現在ある仮想メモリー・システム内の仮想I/Oの構成
を制御するためのB部分とに分割される。
仮想I/O処理は、システム1の資源をユーザ定義域か
ら分離することにより、安全保護を行なう。このため、
I/O指令がシステム・バス2上を周辺サブシステムへ
送出される前に必要な許容検査が完了することを保証す
る。
第2A図乃至第2D図は、システム・バス2上に送出さ
れるI/O指令を示している。第2E図は、リング番号
および仮想チャネル番号を有する仮想I/O指令、およ
び物理的チャネル番号を有する変換された物理的I/O
指令のフォーマットを示している。
本文中の表記rl OJの定義については第2A図、第
2B図および第2C図を参照すること。
表記r l / OJは、第2A図、第2B図、第2C
図および第2D図を参照すること、即ち表記rI/OJ
はroおよびIOLDを包含することになる。
第2A図は、CPUにより生成される/O出力指令のフ
ォーマットを示している。システム・バス2上の信号は
、32のアドレス信号0〜23、A−Hおよび32のデ
ータ信号0〜31を含む。
また、多くのi制御信号(図示せず)も含まれている。
IO出力指令に対しては、アドレス信号8〜17が、分
散サブシステムの物理的チャネル番号を指示し、アドレ
ス信号!8〜23が機能制御コードを指示する。データ
・ビット0〜31が、チャネル番号により指定されるサ
ブシステムに対して転送される情報を指示1する。デー
タ・ビットは機能制御コードにより指示される如〈実施
する。
第2B図は、装置のチャネル番号を含むCPUにより生
成される/O人力指令のフォーマット、およびCPUに
より要求される情報を指示する機能制御コードを示して
いる。データ・ビット0〜9は、この指令を生成したC
PUの物理的チャネル番号を指定する。データ・ビット
16〜31は装置に対する任意の情報を指示する。
第2C図は、/O人力指令に対する■0応答のフォーマ
ットを示している。ソースの物理的チャネル番号は、こ
の時は宛先の物理的チャネル番号である。データ・ビッ
ト0〜31は、元の指令の機能制御コードにより要求さ
れる情報を指示する。第2B図のソース・チャネル番号
および第2C図の物理的チャネル番号の場合には、仮想
チャネル番号から物理的チャネル番号への変換が不要で
ある。
第2D図は、入出力ロード(IOLD)の出力指令の2
サイクルのフォーマットを示している。
最初のサイクルは1つのブロック転送の始動メモリー8
のアドレスを指定し、第2のサイクルはブロックにおけ
るワードの範囲即ち番号を指定する。
16進数09の機能制御コードが、16のアドレス・ビ
ットA〜H50〜7および16のデータ・ヒツト0〜1
5により指定される32ビツトのアドレスを示している
ことに注意されたい。
機能制御コートの16進数ODは、データ・ビットO”
w15が範囲を指定することを示している。アドレス・
ビット8〜17は、両バス・サイクルの間の同じ装置の
チャネル番号を指定する。
第2E図は、仮想I/Oチャネル番号指令のフォーマッ
ト、および変換された物理的1/Oチヤネル番号指令の
フォーマットを示している。
第2A図、第2B図および第2D図のアドレス・ビット
8〜17により指定される物理的チャネル番号は仮想チ
ャネル番号2〜8および方向(D)ビット9から変換さ
れたものであることに注意。
残りのアドレスおよびデータ・ビットは、変換なしに転
送される。
I/Oチャネル番号は、16進数0/O乃至3FFまで
の範囲にある。CPUチャネル番号は、16進数000
乃至00Fの範囲内にある。
通信回線の如き全二重通信装置は、送受の回線のどちら
の半分がアドレス指定されつつあるかを識別する下位ビ
ット(D)を持つ2つのチャネル番号を使用する。
仮想チャネルはO〜63の範囲にあり、1ページがカー
ネルのみのI/O記述子でありかつ1ページが共用され
たI/O記述子である。アクセスされるべきページは、
仮想チャネル番号のビット2 (MSB)で決定される
テープ・ドライブの如き半二重通信装置は、論理値Oの
Dビットを使用して人力動作を指定し、また論理値1で
は出力動作を指定する。
カード・ソーダの如き単一方向性の装置は、論理値0(
偶数の機能;1制御コード)にセットされたDビットを
有することになる。
リング保護は1組の階層的レベルの保護からなり、内側
から外側へOll、21、N−1と番号を付した1組の
N個の同心円と見做すことができる。円0に含まれるメ
モリー8のスペースはリング0と呼ばれ、円1と2の間
に含まれるメモリー8のスペースはリング2と呼ばれる
1つのプロセスの各セグメントが、メモリー8の1つの
リングに置かれる。1つのセグメントが中心に近付く程
、その保護および特権が大きくなる。番号O11,2,
3が付された4つのリングがC3Sにより保持され、リ
ング0は最も大きな特権が与えられ、リング3は最も小
さな特権が与えられている。
Iloを除くオペレーティング・システムの安全保護カ
ーネルはリングOに駐在する。メモリー管理のプロセス
のスケジューリンクは、リングlに馬1在する。認めら
れたソフトウェアはソング2に駐在する。認められたソ
フトウェアは、1つの安全保護あるいは安全保護カーネ
ルにより強化された保全性に抵触し得る。認められたソ
フトウェアはまた、高い保全性を要求する機能を提供す
る。ユーザのアプリケーションは最も低い特権のリング
3にあり、認められないリング20安全保護カーネルの
インターフェース・バラゲージにより支持されている。
アプリケーション・ソフトウェアは、認められたソフト
ウェアの先に実行することができる。
ユーザはオペレーティング・システムにより1つの分類
が与えられる。この分類は未整理、秘密、および極秘で
ある。このため、特定のリングにおけるプロセスに対す
るユーザのアクセスを与える。極秘の分類を存するある
ユーザがリング1に対するアクセスが許されるものとす
れば、秘密のユーザはリング2に対するアクセスが許さ
れ、未整理のユーザはリング3に対するアクセスが許さ
れ、次いで下記のルールが妥当する。ユーザは読出しが
できない、即ちリング2におけるプロセスに対するアク
セスが許された秘密の分類を有するユーザはリング1あ
るいはリングOにおけるプロセスは読出すことができな
い。ユーザは書込みができない、即ち秘密の分類を持つ
ユーザはリング3にプロセスを計込むことはできない。
1つの手順が、そのリング・ブラケットと呼ばれる3つ
のリング番号R1、R2およびR3と関連させている。
もしR3>R2ならば、この手順はR3より上位でない
リングからアクセスできるリングR2に対するゲートで
ある。
もしR2=R3ならば、この手順はゲートではない。
第3図は、本発明の一部をなすVMMUおよびcpuの
一部を示している。VMMUO4−8およびVMMUI
  4−IQ、ならびにCPU04−2およびCPUI
  4−4が重複であることに注意されたい。従ってV
MMUo  4−8およびCPU0 4−2が本発明の
記述のために使用されることになる。しかし、本発明は
VMMUI  4−/OおよびCPUI  4 − 4
でも等しく良好に作動し得る°ことが理解されよう。
CPU0 4−2のレジスタ・ファイル46は、64個
の32ビツト・、レジスタを含む。これらレジスタの機
能については、米国特許出願第722.2:17号「単
一半導体チップにおけるマイクロプロセッサ」に記載さ
れている。また、VMMUO4−8(74−8(7)V
:JOにおイテ専用化される記述子のセグメントの基底
レジスタも含まれている。
演算子はBPババス8がら受取られ、データ・イン・レ
ジスタ26に格納され、バス40.演算論理装置(AL
U)48、Blバス44、またはシフタ24およびBl
バス44を介して、レジスタ・ファイル46の1つのレ
ジスタに格納される。算術演算は、1つの演算子をAバ
ス42に、また別の演算子をBバス401に読込み、両
演算子をその各々のAL04+1の入力に加えることに
より、レジスタ・ファイル46における2つの演算子に
ついて行なわれる。
A L U 4Bは、ft+制御ストア4−12の信号
(図示せず)により指定される算術演算を行なう。
算術41(算の結果は、Blバス44を介し、あるいは
シフタおよびBlバス44を介してレジスタ・ファイル
46へ書戻される。
:(2ヒ゛ツトのQレジスタ22は、ALU4Bの折J
長として64ビツト演算子を処理するように働く。
Qレジスタ22はまた、2進数の乗除算命令の間部分積
および部分商を格納する。シフタ24は、Qレジスタ2
2およびALU48と共に作動して、134ビツトのシ
フト操作を実行する。制御ストア4−12からの制御信
号(図示せず)は、レジスタ・ファイル44、ALU4
8、シフタ24、Qレジスタ22およびデータ・イン・
レジスタ26の全ての動作を制御する。
VMMUO4−8は、制御ストア4−12の信号を受取
り32ビツトの仮想メモリーのランダム・アクセス・メ
モリー(VM−RAM):t。
の28の場所の1つをアドレス指定するデコーダ32を
答む。本発明のD S B R54の部分は、VM−R
AMIOの2つの場所に格納される。情報は、BPババ
ス8、BPクラッチ5および内部バス:14からVM−
RAM30ヘロードされる。制御信号(図示せず)は、
ラッチ36の入出力を制御する。
第4図は、第2E図に示されるように仮想I/O指令を
物理的I/O指令に変換するだめの論理のフローを示し
ている。
オペレーティング・システムは、どのユーザが装置に対
してアクセスしたかを定義する各装置に対するアクセス
■制御リストを維持する。
1つのプロセスが1つの新しい装置をアドレス指定する
ことが必要な時常に、オペレーティング・システムは目
標装置のリストを調べてプロセスに対するアクセスが許
容されるかどうかを判定する。もしアクセスが許される
ならば、オペレーティング・システム5oが、メモリー
8の1つの場所に格納される仮想I/O指令52を生成
して、以降の情報をVM−RAM:/Oの場所に格納さ
れるDSBR54にロードする。
もしセットされるならば、ビットOは、新しいスタック
が用いられるべきことを示し、呼出しおよび戻り命令が
許される。これは、本発明の一部をなすものではなく、
従ってこれ以」二記述しない。
もしセットされるならば、ビットlは、仮想I/O指令
がオペレーティング・システム5oにより生成されるこ
とを示す。
ビット4−23は、メモリー8における物理的ページの
フレーム基底アドレスを指定する。
しかし、ビット24〜31は、この基底アドレスをオフ
セットして、記述子のセグメント・ページ・テーブル5
6が1つのモジュールの4ワード境界で始動1−ること
を許容する。
記述子のセグメント・ページ・テーブル56は、通常の
仮想メモリー・アドレスから物理的メモリー・アドレス
への変換において用いられる4ページの記述子PDO乃
至PD3を含む。
この通常の操作はまた、IOLDの範囲指令の処理も含
む。
記述子セグメント・ページ・デープル58はまた、1つ
のI/Oページ記述子4および1つのI/Oページ記述
子5を含む。仮想チャネル番号の上位ビットの状態(仮
想I/O指令のビット2)は、16進数8がオフセット
基底アドレスに加算されてI/Oページ記述子4を見出
すことを指定する。16進数Aは、オフセット基底アド
レスに加算されてI/Oページ記述子5を見出す。
I/Oページ記述子4は、641/O記述子(図示せず
)のテーブルを指示し、I/Oページ記述子5は63乃
至 +27として識別されるb4のI/O記述子のテー
ブルを指示する。I/O記述子は、典型的にはI/Oペ
ージ記述子5により選択されるものである。
12)1のI/O記述子は、64の大城記述子および6
4の局所記述子に分けられる。大城記述子は、システム
の装置記述子と見做さね、安全保護カーネルがプロセス
内にカーネル・ファイル・システム装置のアクセスを許
容するため使用される。局所記述子は、プロセスに対し
てはt’7− Jl+と定義され、安全保護カーネルに
よりプロセスのアドレス・スペースにマツプされるユー
ザr7゜装置と関連させられる。
I/Oページ記述子5における情報は下記の如くである
ビット0は、妥当なI/Oページ記述子を表示する妥当
な標識(V)を指定する。 ピッ ト lは、ページが
アクセスされたことを示す標識(U)を指定する。
ビット2は、ページが修正されたことを示す修正標識(
M)を指定する。
ビット4〜23は、I/O記述子テーブル5Bの物理的
ページ・フレーム番号アドレスを指定する。
ビット26〜30は、I/O記述子デープル58におけ
る仮想装置記述子の数を指定する。もし仮想チャネル番
号がl/Oi置のテーブル・サイズより大きければ、誤
りが表示される。
物理的ページ・フレーム番号は、I/O記述子デープル
5(1のメモリー8の基底アドレスを指定する。仮想チ
ャネル番号ビット2〜8は、I/O記述子デープル58
におけるI/O記述子を指示する。
I/O記述子は、プロセスが装置に対してイrする読出
しまたは1寸込み操作のためのアクセス権、および装置
の物理的チャネル番号を定義する。I/O記述子におけ
る他の情報は下記の如くである。
ビットO1妥当な標識(V)は、もしrQJであればI
/Oチ\・ネル誤りを示1−(トラップ37)。
ビットl、読出し許容標識(R)は、もしこのビットが
1乃至読出し操作を指示する/OLD命令を許容し、プ
ロセスはR2より小ざいかあるいはこれと等しいリング
番号で実行されつつある。もしこのアクセス検査が満た
されなければ、I/Oチャネルのアクセス誤り(トラッ
プ38)が表示される。
ビット2、書込み保護標識(W)は、もしビットが1乃
至書込み操作を指示するIOLDを許容し、プロセスは
R1より小さいかあるいはこれと等しいリングで実行さ
れつつある。
もしこのアクセス検査が満たされなければ、I/Oチャ
ネルのアクセス誤りが表示される。
/OLD命令の場合は、ビット4および5、R1がこの
装置の媒体に対するi!)込みブラケットの最も大きな
リング番号を指定する。ビット6および7、R2は、こ
の装置に対する読出しブラケットの最も大きなリング番
号を指定する。
I/O命令の場合は、ビット4および5、R1は、この
装、置に対する制御ブラケットの最も大きなリング番号
を指定する。
ビット16〜22は零でねばならず、ビット2:)〜:
11プラス仮想チャネル番号の元の指令ビットDは、指
令が読出し指令であるか書込み指令であるかに拘らず、
I/O装置の物理的チャネル番号を構成する。
D S B R54は、一義的なフレーム番シ)でロー
ドされ、各ユーザ毎にオフセットされる。従って、DS
BRビット4−31は、一義的な記述子セグメント・ペ
ージ・デープル51iを指示する。
ユーザの数と同じ数の記述子セグメント・ページ・テー
ブル56がある。また、各ユーザ1ルに−・人的なプロ
セス記述子セグメント6oがある。
システム1に対する総メモリー・サイズは、16メガバ
イトまでの物理的メモリーおよび2ギガバイトの仮想メ
モリーである。メモリー8がこの物理的メモリー・バイ
トを格納し、多くの許容1)記憶装置が仮想メモリー・
バイトを格納する。
1つのセグメント・サイズは、2メガバイト以下である
。1つのプロセスは、/O24以下のセグメントを含む
。1ページは、セグメント当たり/Oz4ページまでの
2にバイトを含む。仮想アドレスは、lOビビッのセグ
メント番号、および20ビツトの変位として表わされ、
これはDSBR54の内容および以降のテーブルとの関
連において、所要の2倍精度ワード(30ビツト)のメ
モリー8の物理的アドレスを生成する。
1つのプロセスの全ての記述子を保有する一人的なプロ
セスの記述子セグメントにおいては、記述子セグメント
・ページ・テーブル56は、セグメント記述子(SD)
O〜255を指示する記述子(PD)O、S D 25
6〜51+を指示するP’DI、S D 512〜76
7を指示するPD2、および5D768〜l023を指
示するPD3を含ノνでいる。
PDO乃至−PD3は各々、その各々のセグメント記述
子テーブルを指示する。このセグメント記述子テーブル
の内容は、も17ページが付されていれば、ページ記述
子のテーブルを指示する。このページ・テーブルは、オ
ペレーティング・システムにより生成される仮想アドレ
スと対応する主記憶装置8における物理的アドレスを保
有する記述子を格納している。
これが、仮想メモリー・アドレスを物理的メモリー・ア
ドレスに変換するための通常のシステム動作である。
通常の動作中、第2D図のIOLD範囲指令が下記の如
くに処理される。
記述子セグメント・ページ・テーブル56の選択された
ページ記述子、例えばPDIは、プロセッサの記述子セ
グメント60のページ番号がロードされる。各プロセッ
サの記述子セグメント。
60は、ページ当たり 256のセグメント記述子を含
む。妥当性(V)ビットに加えて、ビット1は特権標識
(PR)である。もしセットされるならば、特権命令の
実行はリング0にある場合のみ許される。もしセットさ
れなければ特権命令は許されず、特権命令に遭遇するな
らば、トラップ13が呼出される。IOLD(/O)ビ
ット2がセットされれば、こえが直接メモリー・アクセ
ス(DMA)転送のためのIOLDバツフア・セグメン
トがあることを示す。もしセットされず、IOLD命令
が実行されてこのセグメントを指示するならば、保護さ
れたメモリー・トラップ14が呼出される。
ページ番号ビット4乃至22、プラス、プロセッサ記述
子セグメント60のオフセット・ビット23乃至3Iは
、/O24の32ビツト・ページ記述子を格納するIO
LDバツフア・セグメント・ページ・テーブル62の選
択されたページ記述子(PDX)を指示する。
ビットO11および2(V、UおよびM)は先に述べた
。IOLDバツフア・セグメント・ページ・テーブル6
2のページ番号ビット4乃至23は、メモリー8におけ
るIOLDバツフア・セグメント・ページ・フレーム6
4を指示する。
最大バッファ・ページ・サイズは、もしIOLDバツフ
ア・セグメント・プログラム・テーブル62のページ番
号がページ・フレーム64の基底アドレスを指示するな
らば、2048バイトとなる。
もしこの基底アドレスが一回のオフセットにより増分さ
れるならば、ページ間に跨がることが許されないため、
レンジは2048バイトより小さくなる。
ユーザが仮想I/Oから物理的I/Oへ初めて変換する
間、記述子セグメント・ページ・テーブル56の内容の
一部およびI/O記述子テーブル511の内容の一部が
キャッシュ4−6へ移されることが判るであろう。同じ
ユーザに対して要求される以上のI/O指令の変換は、
比較的遅いメモリー8の速度ではなくキャッシュ4−6
の速度で行なうことができる。
第5図の記述においては、第2A図乃至第2C図の指令
が/O指令と呼ばれ、第2D図の指令は/OLD指令と
呼ばれる。ファームウェアは、/OLD指令としてIO
LD指令の両方サイクル −な取扱うことになる。従っ
て、Iloの表示は■0とIOLDの両方を指す。
第5図は、仮想I/Oファームウェアの個を示すフロー
図である。CPU0 4−2がソフトウェア命令を実行
し、これが更に仮想1/Oチャネル番号を物理的I/O
チャネル番号へ変換するため制御ストア4−12の8部
分をアドレス指定する。
判断ブロック72は、DSBR54の内容のビット1を
テストし、もしこれが仮想I/O動作でなければ、ブロ
ック74へ分岐する。判断ブロックは、第3図のレジス
タ・ファイル46に情報を送り、ALU48およびシフ
タ24において呼出された動作を実施し、その結果をレ
ジスタ・ファイル46に戻することにより構成され、こ
こでファームウェアに対して使用できる。これは、内容
ソート4−12からの信号により行なわれる。ブロック
74は、指令が物理的チャネル番月を持つとして解釈し
、CPU0 4−2をして指令を直接システム・バス2
上に送出させる。さもなければ、判断ブロック7日は、
CPU0 4 − 2  が実行中のメモリーにおける
I/O命令のその時のリング番号のビット0および1を
読出ず。もしこれが特権命令てなければ、即ち、リング
0またはリング1の命令でなければ、ブロック78はト
ラップ13を呼出してオペレーティング・システムにプ
ロセスを停止することを通知する。
さもなければ、ブロック80は、記述子セグメント・ペ
ージ・テーブル(DSPT)5BのI/Oページ記述子
4または5についてメモリー8の場所をal算′1−る
。これは、仮想チャネル番t′Jの十位ビット(ビット
2)の状態に従って、」1L底アドレス(記述子セグメ
ント基底レジスタ54のビット4〜31)を16進数8
または16進数Aに加算するCPU04−2によって行
なわれる。
ブロック82は−、メモリー8の場所からI/Oページ
記述子を取出し、これを第3図のcpu。
4−2のレジスタ・ファイル46の作業レジスタに格納
する。
判断ブロック84は、I/Oページ記述子の妥当(V)
ビットOをテストする。この妥当ビットが真であること
は、ページがメモリー8にあることを示している。もし
頁でなければ、ページの誤りが生じて、オペレーティン
グ・システムに対しページをメモリー8に入れるよう2
に指示する。ページは通常はディスク・サブシステムに
ある。ブロック86は、この時、ハードウェアにより構
成される標準的なページ誤りルーチンを呼出ずことにな
る。
さもなければ、ブロック811は、記述子セグメント・
ページ・デープル56からのI/Oページ記述子をCP
U0 4−2のレジスタ・ファイル46の作業レジスタ
に格納する。I/O記述子のメモリー8における場所は
、I/Oページ記述子の物理的ページ・フレーム番号に
仮想チャネル番号を加えることにより生成される。
判断ブロック90は、I/Oページ記述子に格納された
テーブル・サイズを仮想チャネル番号と比較して、I/
O記述子テーブル58が仮想チャネル番号を収容できる
ことを確認する。
もし仮想チャネル番号がこのサイズよりも大きければ、
ブロック92がトラップ:17を呼出してlrtり表示
された仮想チャネル番号を表示する。
もしI/O記述子テーブル58が充分に大きければ、ブ
ロック94はメモリー8からI/O記述子を取出し、こ
れをCPU0 4 − 2  のレジスタ・ファイル4
6の作業レジスタに格納する。
判断ブロック06は、I/O記述子の妥当(V)ビット
0をテストし、もしこのビットがリセットされてI/O
誤りトラップ番号:17を表示するならば、ブロック9
11へ分岐する。
さもなければ、ブロック/O0は仮想I/O指令のリン
グ・ビット0および1かRc r rを計算する。
R64,は、IOLDまたはI/O指令を構成する指令
が格納されるリングの最大値(最も小さな特権がり、え
られる)である。
判断ブロック/O1は、指令を開始したメモリー8にお
ける命令の命令コード・フィールドを調べることにより
、仮想I/O指令がIO指令(第2A図、第2B図また
は第2C図)、あるいはIOLD指令(第2D図)のい
ずれであるかをテストする。もしこの命令が!0指令を
求めるならば、判断ブロックlO′3は値Rer、をI
/O記述子に照してテストする。もし値。1.がR1よ
りも大きければ、ブロック/O5はトラップ38のI/
Oアクセス誤り操作を開始する。もし値Re r rが
R1より小さいかあるいはこれと等し ければ、ファームウェアはブロック+18へ分岐 。
し、このブロックは仮想チャネル番号をI/O記述子デ
ープル51+のI/O記述子からの物理的チャネル番号
と置換する。
判断ブロック]02は、仮想I/O指令のDビット9を
テストする。もしビット9が装置人力指令を示すならば
、判断ブロック/O8はI/O記述子のRビット1がセ
ットされるか、また値R6,,がI/O記述子のR2の
ビット6および7より小さいかこれと等しいかをテスト
する。
もしそうであれば、ブロック図0はMビット2を/OL
Dバツフア・ページ記述子にセットする。
もしそうでなければ、ブロック/O6はファームウェア
のアクセス検査を介してアクセスの3で(938を求め
る。
もし判断ブロック/O2が、仮想/OLD指令における
Dビットの状態をテストすることにより装置の出力指令
を表示したならば、判断ブロック/O4がI/O記述子
のWビットがセットされ値R,,,,がI/O記述子の
R1(ビット4および5)より小さいかあるはこれと等
しいことをテストする。さもなければ、ブロック/O1
iがトラップ3+1を生成する。
ブロック1/OはI/Oページ記述子の修正子(M)ビ
ット(ビット2)をセットする。
判断ブロック112は、プロセッサの記述子セグメント
(P D S ) 60に置かれるrOLDバッファに
対するセグメント記述子におけるI/Oビット2がセッ
トされるかどうかをテストする。もしセットされなけれ
ば、ブロック114がトラップ14の保護の抵触ルーチ
ンを呼出す。
さもなければ、判断ブロック116が、定数(2048
)を第2D図の第2のサイクル範囲の範囲データ・フィ
ールドのビットO〜15と比較することにより、IOL
Dバツフア・サイズが2048バイトより小さいかこれ
と等しいかをテストする。この範囲がページに跨がらな
いことを保証するため、ファームウェアは、第2D図の
範囲プラス、オフセットが2048より大きくないこと
を調べる。このオフセットは、通常の仮想アドレスから
物理的アドレスへの変換中に計算される。
もしどちらかのテストの答が得られなければ、ブロック
+14がトラップ14の保護抵触ルーチンを呼出ず。
もし両方のテストが成功すれば、ブロック+18が仮想
I/O指令の仮想チャネル番号をI/O記述子に含まれ
る物理的チャネル番号と置換する。
ファームウェアは、次にブロック74へ分岐し、IOま
たはIOLD指令が通常の指令として処理され、第1図
のシステム・バス2と接続されたサブシステムにより通
常の指令として取扱われる。
本発明についてはその望ましい実施態様に関して示し記
したが、当業者には、本発明の主旨および範囲から逸脱
することなく、形態および細部における上記および他の
変更がiif能であることが理解されよう。
【図面の簡単な説明】
第1図はデータ処理システムの全体ブロック図、第2A
図乃至第2E図は入出力指令のフォーマットを示す図、
第3図は仮想メモリー管理および中央処理装置を示す部
分ブロック図、第4図は安全保護人出カシステムのレジ
スタおよびテーブルを示すブロック図、および第5図は
仮想人出カフアームウェアの構成を示すフロー図である
。 1・・−% ret、 m理システム、2・・・システ
ム・バス、2−/O・・・システム・バス・インターフ
ェース(SBI)、4・・・中央サブシステム(CSS
)、4−2・・・中央処理装置(cpu)o、4−6・
・・キャッシュ、4−8.4−1O・・・仮想メモリー
管理装置(VMMU)、4−12・・・制御ストア、1
4・・・周辺コントローラ、20・・・システム管理機
能(SMF)、22・・・Qレジスタ、24・・・シフ
タ、2ti・・・データ・イン・レジスタ、30・・・
仮想メモリーのランダム・アクセス・メモリー(VM−
RAM)、32・・・デコーダ、:14・・・内部バス
、:16・= B P ラtヂ、3+1−B Pバス、
4 [+ ・・・バス、42・・・Aバス、44・・・
Blバス、46・・・レジスタ・ファイル、48・・・
演算論理装置(ALU)、!’i0・・・オペレーティ
ング・システム、54・・・DSBR,5B、58・・
・記述′r−セグメント・ページ・テーブル、60・・
・プロセス記述子セグメント、62・・−IOLDバッ
ファ・セグメント・ページ・テーブル、64・・・IO
LDバツフア・セグメント・ページ・フレーム。 F/64 (ゼの?) F/65 (ぞの1) F/65 (ぞの2) 手続補正書 1.事件の表示 昭和63年特許願第197819号 2、発明の名称 仮想入出力指令の変換装置および変換方法3、補正をす
る者 事件との関係  特許出願人 適正な図面

Claims (1)

  1. 【特許請求の範囲】 1、仮想I/O指令を物理的I/O指令へ変換する装置
    において、 装置を識別する仮想チャネル番号を含む仮想I/O指令
    を格納する第1の手段と、 ユーザを識別する記述子セグメントを格納 する第2の手段と、 該第1および第2の手段と接続され、前記 チャネル番号および前記記述子セグメントの第1の部分
    に応答して、前記ユーザが使用できる一連の装置を識別
    するI/Oページ記述子を見出す第1のテーブル手段と
    、 前記第1の手段および前記第1のテーブル 手段と接続され、前記チャネル番号および前記I/Oペ
    ージ記述子に応答して、前記装置を識別する物理的チャ
    ネル番号を含むI/O記述子を見出す第2のテーブル手
    段と、 前記第1の手段および前記第2のテーブル 手段と接続され、前記仮想チャネル番号を前記物理的チ
    ャネル番号により置換することにより、前記物理的I/
    O指令を生成する第3の手段とを設けることを特徴とす
    る装置。 2、ユーザにより要求される仮想I/O指令を物理的I
    /O指令へ変換する手段において、装置を識別する仮想
    チャネル番号を含む仮想I/O指令を格納する第1の手
    段と、 記述子セグメントを格納する第2の手段とを設け、該記
    述子セグメントは、前記ユーザを識別する第1のフィー
    ルドを含み、 前記第1および第2の手段と接続され、 前記第1のフィールドの内容および前記仮想チャネル番
    号の第1の部分に応答してI/Oページ記述子を見出す
    第1のテーブル手段を設け、該I/Oページ記述子は前
    記ユーザが使用できる各装置を識別する第2のフィール
    ドを含み、 前記第1の手段および前記第1のテーブル 手段と接続され、前記第2のフィールドおよび前記仮想
    チャネル番号の内容に応答して、 I/O記述子を見出す第2のテーブル手段を設け、該I
    /O記述子は前記装置を識別する物理的チャネル番号を
    含む第3のフィールドを含み、 前記第1の手段と接続され、前記仮想チャ ネル番号を前記物理的チャネル番号により置換すること
    によって前記物理的I/O指令を 生成する第3の手段を設けることを特徴とする装置。 3、ユーザにより要求される仮想入出力 (I/O)指令を装置を識別する物理的I/O指令へ変
    換する装置において、 前記装置を識別する仮想チャネル番号と、 前記ユーザの特権を識別する第1のリング番号とを含む
    前記仮想I/O指令を格納する第1の手段と、 前記ユーザを識別する第1のフィールド を含む記述子セグメントを格納する第2の手段と、 前記第1および第2の手段と接続され、 前記第1のフィールドの内容および前記仮想チャネル番
    号の第1の部分に応答してI/Oページ記述子を見出す
    第1のテーブル手段とを設け、該I/Oページ記述子は
    、前記ユーザにアクセスし得る一連の装置を識別する第
    2のフィールドを含み、 前記第1の手段および前記第1のテーブル 手段と接続され、前記仮想チャネル番号および前記第2
    のフィールドの内容に応答してI/O記述子を見出す第
    2のテーブル手段を設け、該I/O記述子は、第2のリ
    ング番号と、前記装置を識別する物理的チャネル番号と
    を含む第3のフィールドとを含み、 前記第1の手段および前記第2のテーブル 手段と接続され、前記第2のリング番号が前記第1のリ
    ング番号より大きいかあるいは等しいことを検証するこ
    とにより、前記ユーザが前記装置に対して特権アクセス
    を持つことを検証する比較手段と、 該比較手段、前記第1の手段および前記 第2のテーブル手段と接続され、前記仮想チャネル番号
    および前記第1のリング番号を前記物理的チャネル番号
    で置換することにより前記物理的I/O指令を生成する
    第3の手段を設けることを特徴とする装置。 4、ユーザにより要求される仮想I/O指令を、装置を
    識別する物理的I/O指令へ変換する装置において、 前記装置を識別する仮想チャネル番号、 前記ユーザの特権を識別する第1のリング番号、および
    読出しまたは書込み操作を表示する指令ビットを含む前
    記仮想I/O指令を格納する第1の装置と、 指令が仮想I/O指令であることを示す 第1の状態、および前記指令が物理的I/O指令であり
    かつこれ以上の動作が要求されないことを示す第2の状
    態におけるI/O識別子を含む記述子セグメントを格納
    する第2の手段と、 前記第1および第2の手段と接続され、前記第1のフィ
    ールドの内容および前記仮想チャネル番号の第1の部分
    に応答して、前記ユーザに対しアクセスし得る一連の装
    置を識別する第2のフィールドを含むI/Oページ記述
    子を見出す第1のテーブル手段と、 前記第1の手段と接続され、前記第2の フィールドの内容および前記仮想チャネル番号に応答し
    て、読出しビットまたは書込みビット、第2のリング番
    号、および前記装置を識別する物理的チャネル番号を含
    むI/O記述子を見出す第2のテーブル手段と、 前記第2のリング番号が前記第1のリング 番号よりも大きいかあるいは等しいことを検証すること
    により、前記ユーザが前記装置に対して特権アクセスを
    持つことを検証し、更に第1の状態における前記指令ビ
    ットが第1の状態における前記読出しビットの状態と等
    しくかつ第2の状態における前記指令ビットが前記 書込みビットの状態に等しいことを検証する比較手段と
    、 該比較手段、前記第1の装置および前記 第2のテーブル手段と接続され、もし比較の結果が、物
    理的I/Oの読出しまたは書込み指令が前記読出しビッ
    トまたは前記書込みビットと比較し得ること、および前
    記ユーザが前記装置に対する特権アクセスを持つことを
    示すならば、前記仮想チャネル番号および前記第1のリ
    ング番号を前記物理的チャネル番号で置換する第3の手
    段とを設け、 システム・バス上に転送するため、前記 物理的I/O指令を生成することを特徴とする装置。 5、ユーザにより要求される仮想IOLD指令を、装置
    を識別する物理的IOLD指令へ変換する装置において
    、 前記装置を識別する仮想チャネル番号と、 前記ユーザの特権を識別する第1のリング番号と、転送
    されるデータ・ブロックのサイズを指定する範囲とを含
    む前記仮想IOLD指令を格納する第1の手段と、 前記ユーザを識別する第1のフィールド を含む記述子セグメントを格納する第2の手段と、 前記第1および第2の手段に接続され、 前記第1のフィールドの内容および前記仮想チャネル番
    号の第1の部分とに応答してI/Oページ記述子を見出
    す第1のテーブル手段とを設け、該I/Oページ記述子
    は前記ユーザに対してアクセスし得る一連の装置を識別
    する第2のフィールドを含み、 前記第1のテーブル手段は更に、前記デー タ・ブロックを格納するバッファの基底アドレスを指定
    するページ記述子手段を含み、 前記第1の手段および前記第1のテーブル 手段と接続され、前記仮想チャネル番号および前記第2
    のフィールドの内容に応答してI/O記述子を見出す第
    2のテーブル手段を設け、該I/O記述子は、第2のリ
    ング番号と、前記装置を識別する物理的チャネル番号を
    含む第3のフィールドとを含み、 前記第1の手段および前記第2のテーブル 手段と接続され、前記第2のリング番号が前記第1のリ
    ング番号より大きいかあるいは等しいことを検証するこ
    とにより、前記ユーザが前記装置に対する特権アクセス
    を持つことを検証する第1の比較手段と、 前記第1の手段および前記第2のテーブル 手段と接続され、前記範囲が予め定めた量よりも小さい
    かあるいは等しいこと、および前記バッファはページ溢
    れを起さないことを検証する第2の比較手段と、 前記第1および第2の比較手段、前記第1の手段および
    前記第2のテーブル手段と接続され、前記仮想チャネル
    番号および前記第1のリング番号を前記物理的チャネル
    番号で置換することにより、前記物理的I/O指令を生
    成する第3の手段とを設けることを特徴とする装置。 6、仮想I/O指令を物理的I/O指令へ変換する方法
    において、 A、記述子セグメントの基底レジスタに格納された新し
    いI/Oビットが仮想I/O指令を表示するようセット
    されたかをテストし、 B、仮想I/O指令のリング番号が指令が特権を付され
    たことを示す1より小さいかあるいは等しいかをテスト
    し、 C、I/Oページ記述子の場所を計算し、 D、1つの記憶場所にI/Oページ記述子を格納し、 E、I/Oページ記述子の妥当性ビットを検証し、 F、仮想チャネル番号をI/Oページ記述子の物理的ペ
    ージ・フレーム番号に加算することにより、I/O記述
    子を見出し、 G、I/O記述子テーブルが仮想チャネル番号を収容し
    得ることを検証し、 H、I/O記述子の妥当性ビットを検証し、 I 、値R
    _e_f_fを計算し、 J、値R_e_f_fがI/O記述子のリング番号R1
    より小さいかあるいはこれと等しいかを検証 し、 K、物理的チャネル番号で仮想チャネル番号を置換する ステップからなることを特徴とする方法。 7、仮想IOLD指令を物理的IOLD指令へ変換する
    方法において、 A、記述子セグメントの基底レジスタに格納された新し
    いI/Oビットが仮想I/O指令を表示するようセット
    されたかをテストし、 B、仮想I/O指令のリング番号が指令が特権を付され
    たことを示す1より小さいかあるいは等しいかをテスト
    し、 C、I/Oページ記述子の場所を計算し、 D、1つの記憶場所にI/Oページ記述子を格納し、 E、I/Oページ記述子の妥当性ビットを検証し、 F、仮想チャネル番号をI/Oページ記述子の物理的ペ
    ージ・フレーム番号に加算することにより、I/O記述
    子を見出し、 G、I/O記述子テーブルが仮想チャネル番号を収容し
    得ることを検証し、 H、I/O記述子の妥当性ビットを検証し、I、値R_
    e_f_fを計算し、 J、入力または出力指令について仮想IOLD指令の指
    令ビットをテストし、 K、I/O記述子の読出しビットがセットされるか、ま
    た値R_e_f_fがI/O記述子のリング番号R2よ
    り小さいかあるいはこれと等しいかを テストし、 L、IOLDバッファ・ページ記述子に修正ビット(M
    )をセットし、 M、I/O記述子の書込みビットがセットされるか、ま
    た値R_e_f_fがI/O記述子のリング・ビットR
    1より小さいかあるいはこれと等しいかをテストし、 N、IOLDバッファのセグメント記述子におけるI/
    Oビットがセットされるかをテストし、 O、バッファのサイズが予め定めた値よりも小さいこと
    を検証し、 P、物理的チャネル番号で仮想チャネル番号を置換する ステップからなることを特徴とする方法。
JP63197819A 1987-08-07 1988-08-08 仮想入出力指令の変換装置および変換方法 Granted JPH0199147A (ja)

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 true JPH0199147A (ja) 1989-04-18
JPH0578858B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007080037A (ja) * 2005-09-15 2007-03-29 Fujitsu Ltd Dma転送システム

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1314108C (en) * 1988-03-18 1993-03-02 Robert P. Ryan 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
DE69029759T2 (de) * 1989-05-15 1997-07-17 Ibm Flexible Schnittstelle für Beglaubigungsdienste in einem verteilten Datenverarbeitungssystem
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
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
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
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
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7082615B1 (en) * 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
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
US8572391B2 (en) * 2003-09-12 2013-10-29 Emc Corporation System and method for risk based authentication
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
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)

* Cited by examiner, † Cited by third party
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 チヤネル制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007080037A (ja) * 2005-09-15 2007-03-29 Fujitsu Ltd Dma転送システム
JP4499008B2 (ja) * 2005-09-15 2010-07-07 富士通マイクロエレクトロニクス株式会社 Dma転送システム

Also Published As

Publication number Publication date
CN1014841B (zh) 1991-11-20
FI883566A (fi) 1989-02-08
CA1315007C (en) 1993-03-23
DK439088D0 (da) 1988-08-05
US4858117A (en) 1989-08-15
IL87295A0 (en) 1989-01-31
IL87295A (en) 1992-05-25
CN1033119A (zh) 1989-05-24
DE3889816T2 (de) 1995-01-19
NO174528B (no) 1994-02-07
AU611468B2 (en) 1991-06-13
FI883566A0 (fi) 1988-07-29
KR890004230A (ko) 1989-04-20
NO883493D0 (no) 1988-08-05
AU2052288A (en) 1989-02-09
DK439088A (da) 1989-02-08
JPH0578858B2 (ja) 1993-10-29
YU151988A (en) 1991-08-31
KR940003325B1 (ko) 1994-04-20
EP0306702A2 (en) 1989-03-15
ES2053640T3 (es) 1994-08-01
DE3889816D1 (de) 1994-07-07
NO174528C (ja) 1994-05-18
MX166611B (es) 1993-01-21
EP0306702A3 (en) 1990-08-29
EP0306702B1 (en) 1994-06-01
NO883493L (no) 1989-02-08

Similar Documents

Publication Publication Date Title
JPH0199147A (ja) 仮想入出力指令の変換装置および変換方法
TWI705353B (zh) 用於容許安全通訊之積體電路、方法及製造物件
JP4234202B2 (ja) コンピュータシステムのi/oアドレス空間にマップされたレジスタへのアクセスを制御するためのシステム
US4488256A (en) Memory management unit having means for detecting and preventing mapping conflicts
US4473878A (en) Memory management unit
KR860000838B1 (ko) 데이타 처리시스템
US4774659A (en) Computer system employing virtual memory
US5835594A (en) Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US4942606A (en) Computer with improved keyboard password functions
CN102906702B (zh) 对适配器的地址空间的访客端访问
US7277972B2 (en) Data processing system with peripheral access protection and method therefor
JP4688490B2 (ja) 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント
US20070011419A1 (en) Method and system for a multi-sharing security firewall
US7194634B2 (en) Attestation key memory device and bus
US20040177266A1 (en) Data processing system with peripheral access protection and method therefor
CN103842976A (zh) 具有保护模式以防止i/o装置进行存储器访问的输入/输出存储器管理单元
JPH01200467A (ja) 複数の中央処理装置間が対等の関係を有するデータ処理システム用の装置および方法
GB2136171A (en) Computer memory management system
KR101001344B1 (ko) 구획된 보안을 위한 입/출력 허가 비트맵
KR100972635B1 (ko) 컴퓨터 시스템내에서의 장치간 액세스를 제어하는 시스템및 방법
US4477871A (en) Global operation coordination method and circuit
US20060136634A1 (en) Data address security device and method
JPS62274445A (ja) マイクロ・コンピユ−タ・システムにおける特権保護方式
TW202314484A (zh) 用於針對信任域延伸輸入輸出(tdx-io)之以角色為基礎的暫存器保護之設備及方法
Bonneau et al. SFEP Subsystem Specification

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