JPS6112584B2 - - Google Patents

Info

Publication number
JPS6112584B2
JPS6112584B2 JP52148246A JP14824677A JPS6112584B2 JP S6112584 B2 JPS6112584 B2 JP S6112584B2 JP 52148246 A JP52148246 A JP 52148246A JP 14824677 A JP14824677 A JP 14824677A JP S6112584 B2 JPS6112584 B2 JP S6112584B2
Authority
JP
Japan
Prior art keywords
line
pulse
register
level
protection
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
Application number
JP52148246A
Other languages
English (en)
Other versions
JPS5384524A (en
Inventor
Uirii Maakusutein Peetaa
Rebii Toritsutaa Aran
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5384524A publication Critical patent/JPS5384524A/ja
Publication of JPS6112584B2 publication Critical patent/JPS6112584B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Description

【発明の詳細な説明】
本発明の背景 データ処理を行う企業においては、データのプ
ライバシーもしくは安全を確保する必要性が増大
している。このような企業は、広い意味では、大
型コンピユータを使用する通信企業や電子データ
処理企業等を含む。通信分野において、無線周波
通信又は電話線を介して伝送されるデータは、傍
受されたり、権限の無い使用者が変更したり、不
正目的で利用されたりしやすい。データが権限の
無い使用者又は侵入者に入手されやすい機会を少
なくし、そのような機会を無くし、又は抑制する
ために、各種の暗号システムが提案されてきた。 コンピユータの分野において、データの不正ア
クセスは、非常に複雑な問題をはらんでいる。複
数個の遠隔アクセス端末装置を利用し、このよう
な端末装置の任意のものが中央コンピユータ装置
にアクセスし、中央コンピユータ装置が計算装置
とデータ及びプログラムを含むメモリとを有して
いる、大型且つ複雑なタイムシエアリング・コン
ピユータ・システムにおいては、問題は益々複雑
になる。そのようなシステムにおいては、例えば
メモリ・システム中の各種の貯蔵装置にアクセス
したり、端末装置間を伝送させるメツセージを傍
受したり、又は遠隔アクセス・コンピユータ・ネ
ツトワーク中のホスト・コンピユータと端末装置
との間を伝送されるメツセージを傍受したりする
ことにより、不正な方法でデータ又はプログラム
を入手することができる。 1つのプログラムが、タスクを遂行するため
に、他のプログラムを呼出すような構成が取られ
ている場合、問題は更に複雑になる。そのような
融通性ある構成の利点は、呼出しプログラムのデ
ータやプログラム自体を、呼出されたプログラム
にとつてアクセス可能としたり、呼出されたプロ
グラムを使用しているオペレータにとつてアクセ
ス可能としたりすることを偶発的に許す不利益と
相殺されてしまう。このような事は、多くの理由
により望ましくない。例えば、高レベルの(即
ち、呼出している)プログラムは、高度に機密性
あるそれ自体のメモリ・ロケーシヨン中にデータ
を貯蔵しており、このようなデータは非常に限ら
れた伝播経路しか持たない。もしそのような高レ
ベル・プログラムの機密データが、低レベルの
(呼出されている)プログラムにとつて利用可能
となれば、そのような機密性は侵されてしまう。
他の例として、何か不正を働こうとするか又は或
る従業員に対する問題を起そうとする者は、高度
に機密なプログラム又はデータにアクセスし、故
意に手を加えて誤動作するようにするか、それら
を破壊して、重大な金銭上の損失を生ぜしめるで
あろう。とにかく1つのプログラムが、システム
内に存在する他のプログラムを呼出す柔軟性を実
現しようとすれば、プログラムの安全性、特に高
レベル・プログラムの安全性を維持するに、当つ
て重大な支障を生じることになる。 更に、現代のプライバシーを守る法規は、個人
又は企業のデータを不正な侵害及び使用から守る
ため、コンピユータの製造者及び使用者が益々多
くの義務を課するに至つた。コンピユータへの不
正なアクセスとしては、実に多くの場合が考えら
れる。即ち、上述したように、機密情報を知る必
要が無い者が、企業や個人のデータにアクセスす
る場合や、極端な場合としては、銀行又は給与デ
ータへ不正にアクセスして、金銭を不正に支払わ
せたり、間違つた人の勘定番号へ正しくない貸借
額を記入したりして、重大な金銭上の損失を与え
たりする場合が考えられる。 コンピユータ装置への不正なアクセスを防止す
るため、過去に提案された方法は、安全パスワー
ド妨害方式であつた。現在使用されている。通常
のマルチプログラム・タイムジエアリング・コン
ピユータ・システムにおいては、所定の使用者
は、アクセスを許されたメモリ領域を割当てられ
ており、更に特別の指定キー(即ちパスワード)
を与えられている。このパスワードは、或る範囲
のメモリ・アドレスが、その特定の使用者にとつ
てアクセス可能になるように要求するため使用さ
れる。通常の動作において、もし使用者が誤つて
自分に割当てられていないメモリ部分へアクセス
しようとすると、システムは割込みを生ずる。こ
の保護方式の場合、オペレーテイング・システム
では、メモリの一部分に誤つてアクセスしようと
しているプログラムはプロブレム状態即ち非特権
状態で動作しているものとみなされる。スーパー
バイザ状態即ち特権状態では、オペレーテイン
グ・システムは、その通常の使用において、それ
自体の変更を含む任意目的のため、コンピユータ
の任意の部分へアクセスすることを許される。過
去において、このようなスーパーバイザ状態へ偶
発的又は故意にアクセスしようとする試みを統制
するハードウエア装置が提案されたこともある。 本発明は、コンピユータの機密安全性を改善す
るために、スーパーバイザ状態への偶発的アクセ
スを防止するというような特定の問題を取扱うも
のではなく、所与のプログラムが、そのタスクを
遂行するため、他のプログラムを容易に呼出せる
システム柔軟性を保持しつつ、一方において、呼
出したプログラムが呼出されたプログラムにより
アクセスされないようにしてデータの安全性又は
プライバシーを維持するにはどうすればよいかと
いう一般的な問題を取扱うものである。そのよう
な機構を或るシステム環境中で容易且つ実際的な
らしめるためには、その機構は、比較的に使用が
容易でなくてはならず、その機能を容易に実行で
き、且つ要求される保護機能は、システム中で自
動的(即ち、本来的に備つているもの)でなけれ
ばならない。更に、そのようなシステムは、企業
へ受入れられるために、保護フイールド又はマス
クという基本的概念を有していることが必要であ
る。 本発明の目的 階層的安全レベルの概念を使用することによ
り、非常に改善されたプログラム及びデータ統合
システムが、通常型のCPU構造中で実現できる
ことが発見された。所与のプログラムの安全レベ
ルは、そのプログラムのためにシステムによつて
設定された保護基準と一致しなければならない保
護フイールドの量を決定する。従つて、そのプロ
グラムのための保護レベルは、或る幅を有する窓
(window)を設定し、その窓を通して保護フイー
ルドが安全検査のためにチエツクされる。 本発明の主たる目的は、オブジエクト・プログ
ラマが、主プログラムに対しても、サブ・アプリ
ケーシヨン(即ち、呼出されるプログラム)に対
しても、安全レベルを全く任意に設定することが
できる階層的安全機能を提供することである。 本発明の他の目的は、必要に応じてスイツチ・
オフすることのできる安全機能又はスーパーバイ
ザ状態アプリケーシヨンを提供することである。 本発明の他の目的は、安全チエツクを成功裏に
確定するために、保護フイールド・パスワードの
概念を利用した安全機構を提供することである。 本発明の他の目的は、プログラマが呼出しプロ
グラムを保有しておくことができ、呼出されたプ
ログラムの全て又は任意のものが、相互に対して
完全に安全に保つことができる安全機構を提供す
ることである。 本発明の他の目的は、呼出しプログラムが、呼
出されたプログラムからの侵害に対して常に安全
である安全機能を提供することである。 本発明の他の目的は、或る安全レベルにあるプ
ログラムが低レベルのプログラムを呼出す際に、
呼出しプログラムへ適用される安全チエツクが、
呼出されたプログラムのメモリ・アクセスが受け
なければならない安全チエツク中に含まれるよう
なモジユラー階層方式の安全機能を提供すること
である。 本発明の他の目的は、最低レベルを除く任意の
安全レベルのプログラムが、それより低いレベル
の他のプログラムを呼出し、且つその低レベル・
プログラムに対して完全な安全性を維持するよう
な完全機構を提供することである。 本発明の他の目的は、スーパーバイザによつて
割当てられた保護コードに固有な高度の安全性を
有し、且つ同時に走行中のプログラムに対しても
同程度の安全階層を容易に設定できる能力を有す
るシステムを提供することである。 本発明の他の目的は、現存するコンピユータ構
造及びデータ形式に容易に適合可能な安全機能を
提供することである。 本発明の他の目的は、マルチプログラム条件へ
容易に適合可能なシステムを提供することであ
る。 本発明の他の目的は、簡単で容易に入手可能な
ハードウエアで実施可能なシステムを提供するこ
とである。 発明の概略 本発明では、メモリ内の実行されるべき各プロ
グラムに対してそれぞれ安全レベル及びその安全
レベルに応じた長さの保護フイールドを割当て、
それら安全レベル及び保護フイールドをリンク・
スタツクに記憶しておく。又、命令及びデータを
記憶し得るそのメモリの各ロケーシヨンには、そ
れらプログラムのうちそのロケーシヨンをアクセ
スし得るプログラムの保護フイールドを命令又は
データと共に記憶しておく。プログラムの実行中
にそのメモリにおけるロケーシヨンの1つがアク
セスされる時、そのプログラムに対して割当てら
れていた安全レベル及び保護フイールドがリン
ク・スタツクから取出される。そして、メモリの
アクセスされたロケーシヨンにおける保護フイー
ルドとリンク・スタツクから取出された保護フイ
ールドとが比較される。この比較では、リンク・
スタツクから取出された安全レベルに従つて、比
較されるべき保護フイールドの長さが制御され
る。即ち、実行中のプログラムの安全レベルが高
ければ比較される保護フイールドは短いものとな
り、それが低ければ比較される保護フイールドは
長くなる。この保護フイールドの比較において一
致が得られると、そのメモリ・アクセスは有効な
ものと認められるが、不一致の場合には割込みが
生じてそのメモリ・アクセスは不適当なものとし
て処理される。従つて、安全レベルの高いプログ
ラムのために比較されるべき短かい保護フイール
ド部分を安全レベルの低い他のプログラムの保護
フイールド内に含ませるように割当てることによ
り、その安全レベルの高いプログラムはその安全
レベルの低いプログラムを有効にアクセスするこ
とができるが、安全レベルの低いプログラムがそ
れの高いプログラムをアクセスすることは防止さ
れる。 実施例 本明細書で開示される安全機関は、第2A図か
ら第2F図に詳細に示されている。第1図は、シ
ステムの主たる機能コンポーネントを示してい
る。第1図において、実施例の制御システムは
CPU1(命令ユニツト2及びメモリ3)の下部
に配置されている。メモリから命令がアクセスさ
れて命令ユニツトに置かれたり、命令がメモリに
貯蔵される時、又はデータ動作がメモリで生じる
時、何らかの安全チエツクが必要である。最も基
本的な安全チエツクは、通常の安全パスワード・
チエツク法である。この検査法は、特定のメモリ
貯蔵動作又はフエツチ動作が、現在走つているプ
ログラムのための保護フイールド要件又はパスワ
ード要件に合致しているかどうかを決定する。本
発明における安全チエツクと、従来の保護チエツ
ク又はキーとの相違は、現在走つているプログラ
ムに必要な保護フイールドの量(ビツト幅)が注
目される点である。注目される量は、現在の安全
レベルに依存する。後の説明から明らかなよう
に、安全レベルが高くなれば(nの数が小さくな
れば)注目される保護フイールド(即ち、窓)は
それだけ小さくなる。従つて、小さな保護フイー
ルドのプログラムは、それだけ高い優先順位を有
する。 上述した特徴は、安全機能が働くために絶対に
必要であるが、本発明の更に著しい特徴は、各種
の階層的安全レベルを設定し、メモリ中の各サ
ブ・アプリケーシヨンごとに階層安全情報を自動
的に貯蔵し、或る安全要件が満足される限り、命
令ユニツトの保護部分をして、使用者の望むまま
に、1つのサブ・アプリケーシヨンから他のアプ
リケーシヨンへと分岐せしめる機能を備えている
点にある。 前述した如く、本発明の最も基本的な動作概念
は、オペレーテイング・システムによつて所与の
安全レベルを割当てられた所与のプログラムが、
定義に従つてそれより低い階層的安全レベルを与
えられねばならないサブ・アプリケーシヨンを呼
出すことができる点である。安全レベルの割当て
は、オペレーテイング・システム内に存在するプ
ログラムのパスワード部分によつて制御される。
更に、この機構は、特定のサブ・アプリケーシヨ
ンへ割当てられ且つ呼出しプログラムの保護フイ
ールド要件を満足させねばならない新しい保護フ
イールドを作りそしてそれも失わないようにし
て、それを追跡しなければならない。この機能を
遂行する基本的ブロツクは、第1図及び第2D
図、第5図に示される保護挿入論理回路4であ
る。この特定の回路へ送られる実際のデータは、
保護挿入命令および第2E図及び第2F図に示さ
れる回路の制御下で、システム内の多くの場所か
ら来る。第1図の保護挿入論理回路4は、その機
能を非常に単純化して示したものであることを注
意されたい。 第1図の保護論理回路5は、走つている特定の
プログラムに対する現在の階層レベル要件の制御
下で、各種の保護フイールド比較機能を遂行す
る。換言すれば、特定のメモリ動作を満足させね
ばならない保護フイールド(保護基準)は第4図
のケーブル108へ入り、アクセスされつつある
メモリ・ロケーシヨンの保護フイールドは、第4
図のケーブル170に入つて来る。同時に、特定
の階層安全レベル情報は、第4図の番号185で
示される8本の線の中の1本へ入る。この情報
は、第2C図のケーブル130から生じ、デコー
ダを通つて来るものである。保護論理回路5から
の線106の出力は、正しい保護フイールドが存
在するかどうかを示す。正しい保護フイールドが
存在しなければ、安全侵害中断即ち割込みが生じ
る。 第1図のリンク・スタツク回路6は、関連した
回路及び機能ユニツトを第2C図及び第2D図に
示されている。リンク・スタツク回路6は、本発
明の階層安全機構の動作を可能ならしめる制御機
能中の中心機能を実行する。リンク・スタツク回
路6の詳細は第3A図−第3D図に示される。こ
の回路によつて、走行中のプログラムは、所与の
プログラム・ストリーム内で1時に8つの階層安
全レベルを呼出すことができ、且つ走行中のプロ
グラムがアクセスすべきでないレベルである全て
のジヨブに対しては、安全なメモリ安全が維持さ
れる。リンク・スタツク回路6は、リンク・リタ
ーンアドレスを保存すると共に、安全階層制御の
統一性を確実に保つ機構として働く。 今まで、本発明の全体的目的、特徴、動作する
ハードウエアの主たる構成部分について説明して
来たので、これからもつと詳細な動作上の原理及
び実施例の動作に必要な8個の新規な命令につい
て説明することにする。当業者には理解できるよ
うに、本発明の階層安全機構を正しく機能させる
ためには、システムを走らせるプログラマがこれ
ら特殊目的の命令を使用する必要がある。本発明
の目的を直接的に達成するため、特定の命令フオ
ーマツト及び機能が選択されたが、本発明の階層
安全機能の基本的機能及び概念を変更することな
く、多くの変更を加えてよいことが、当業者に理
解されよう。 本発明は、メモリへアクセスするに当つて問題
無しの確認をとることによつて、データへ選択的
にアクセスできるようにする。他のメモリ保護機
構と異なり、本発明は制御の精密度を貯蔵媒体の
フエツチ幅と同程度に小さくすることができる。
通常1000バイト又はそれ以上のバイトから成つて
いる大きなメモリ・ブロツクは、1つのユニツト
として制御される。即ち、従来の保護機構におい
ては、ブロツクの全ワードがアクセス可となる
か、又は全ワードがアクセス不可となるかのいず
れかである。更に、メモリの或る領域へ束縛され
たメイン・アプリケーシヨンは、サブ・アプリケ
ーシヨンがメイン・アプリケーシヨンのメモリへ
アクセスする能力を束縛するために、それ自体サ
ブ・アプリケーシヨンを制御することができ且つ
同一の保護機構を使用することができる。従つ
て、アクセス制御の階層が設定されることができ
る。 現在使用されているハードウエアでは、パリテ
イ乃至ECCビツトに関しては、非常に小さな程
度の2レベル階層が存在する。ハードウエアを保
守するエンジニアに対してのみ利用を許されるマ
シンの「診断状態」においては、パリテイ(又は
ECC)ビツトは、それを読取り又は書込むため
に、アクセスすることができる。「非診断状態」
においては、これらビツトはプログラム制御の下
になく、正しくないパリテイ又はECCビツトが
設定されていることをハードウエアが検出する
と、エラー条件が生じる。 例えばIBMモデル168メモリの1ワードは、72
ビツト(64データ・ビツトと8ECCビツト)より
成り、テープ又はIBMモデル20メモリの1ワード
(バイト)は、8データ・ビツトと1パリテイ・
ビツトより成る。 保護フイールドを呼ばれる非データ・ビツト
が、各貯蔵ワードに付加され、階層的制御状態が
利用される。負でない整数(レベル)が制御状態
へ割当てられ、CPUを制御しているプログラム
がどのレベルにあるかを示すため、特殊なレジス
タ(レベル・レジスタ)が設けられる。レベルn
で走つているプログラムに対しては、最初のnビ
ツトを除いた保護フイールドの他の全ビツトが、
そのプログラムによる書込みのためにアクセス可
能である(保護コード書込み用)。有効なメモ
リ・アクセスを行うためには、保護フイールドの
最初のnビツトが保護レジスタの最初のnビツト
と一致しなければならない。従つて、レベル0が
最も特権的(privileged)である。何故ならば、
検査されるビツトは無いからである。全保護ビツ
トが変更されてよい。更に、最初のnビツトを除
く保護レジスタの全ビツトが、レベルnで走つて
いるプログラムによつて変更されてよい。 もしレベル・レジスタがkビツト長であれば、
2k個の制御レベルが可能であり、保護フイール
ド及び保護レジスタは(2k)−1ビツト長にする
ことができる。(2k)−1個の異つた保護フイー
ルド・パターンが可能である。レベルnで走つて
いるプログラムは、レベルmで走つている2(m-n
個のサブプログラムを識別することができる。
ここでmkである。 レベルnで走つているプログラムは、もしm>
nであれば、レベルmにあるサブプログラムを開
始してよい。レベルnのプログラムは、そうする
前各メモリ・ワードにおける保護フイールドのビ
ツトnからm−1までをセツトする。に、そのサ
ブプログラムがアクセスしようとしているすべて
のワードにおけるパターンと一致とするよう他の
データ・ワードは、これら保護フイールド・ビツ
ト中に異つたパターンを有するかも知れない。も
しレベルmのサブプログラムが、保護フイールド
の最初のmビツトと保護レジスタの最初のmビツ
トと一致しないようなワードにアクセスしようと
すれば、安全侵害条件が生ずる。 1<mであれば、レベルmのサブプログラム
は、制御をレベル1へ戻すことはできない。標準
化されたリンク機構が設けられており、その機構
によつて、レベルmのサブプログラムが制御を高
レベルへ引渡す時終了せんとする所与のサブプロ
グラムを開始したプログラムへ制御が確実に戻さ
れる。その制御の戻りは、開始プログラムが制御
を低レベルのサブプログラムへ与えた時、開始プ
ログラムが有していたレベルで起る。 制御の階層は、それを通してメモリ・ワードが
観察される種々の大きさの窓を与えるものと看做
することができる。高レベルでは(nの小さな値
の時)窓は広くなる。見えないビツトは、所与の
ワードへのアクセスが許されるべきかどうかを決
定する。 上述の概念は、本発明の安全制御階層を容易に
組込むことができるIBMシステム/370の拡張型
を説明することによつて、更に具体的なものとな
ろう。 現在使用されているメモリ・スペースより大き
いメモリ・スペースを使用することを避け(現在
8個のデータ・ビツトごとに1個の冗長ビツトが
あり、72ビツト・ワードでは、64データ・ビツト
ごとに8ECCビツトがある。)かつ保護フイール
ドのスペースを確保するために、本実施例のメモ
リ構造は、144ビツト幅であると仮定する。その
中で128ビツトがデータ・ビツトである。従つて
IBMシステム/370が現在使用しているデータ・
ビツトの8/9の割合を保持する。144ビツト・
ワードのECCは、9ビツトを必要とするから
(ピーターソン著、エラー・コレクテイング・コ
ードPeterson、Error Correcting Codes、MIT
Press、1961参照)、安全制御階層のためには、
7ビツト保護フイールドが残される。 144ビツト・ワードの外に、次の要件が必要で
ある。即ち整数0〜7が8個のレジスタより成る
リンク・スタツク回路が存在する。各リンク・ス
タツク・レジスタは、2個のフイールドより成
る。1つはレベル・フイールド(3ビツト)であ
り、他はアドレス・フイールド(24ビツト)であ
る。 リンク・スタツク・レジスタ0は、異つた態様
で処理される。 (イ) レベル・フイールドは、000へ固定されてい
る。 (ロ) アドレス・フイールドの低位7ビツトは、7
ビツト保護レジスタとして処理される。 (ハ) アドレス・フイールドのビツト5,6,7、
は3ビツト・レベル・レジスタとして処理され
る。 次に、コンピユータの命令種目として付加され
ねばならない8個の命令について説明する。これ
ら命令は、制御階層を実現するために、リンク・
スタツク・レジスタの処理段階で使用される。 特に強調したい点は、制御階層が、プロブレム
状態で走つているアプリケーシヨンへ、ストレー
ジ制御能力を与えるために、設計されていること
である。従つて、命令の大部分は、プロブレム状
態で使用可能である。オペレーテイング・システ
ムが、1つのユーザー・プログラムから他のユー
ザー・プログラムへ制御階層を切換えて使用する
ために、少数の追加的命令が必要である。 データ・フエツチの際の保護ビツトの検査は、
プロブレム状態でのみ起ることに注意されたい。
もしレベル・レジスタが整数nを含むならば(こ
こで0n7とする)。データ・ワード保護フ
イールドの最初のnビツトは、保護レジスタの最
初のnビツトと一致しなければならない。貯蔵動
作においては、それを有効に行うために、貯蔵さ
れるワードの最初のnビツトが、保護レジスタの
最切のnビツトと一致しなければならない。 8個の特殊命令の概説 前述した如く、第2A図−第2F図、第3A図
−第3D図、第4図、第5図に示される階層安全
機構のハードウエアは、特定のプログラムがプロ
ブレム状態で走つている時に自動的に動作する。
通常のプロブレム状態での走行中、メモリ・ワー
ドの保護フイールドは、通常のパスワード形式安
全システムと同じように自動的に検査される。勿
論、顕著な相異点は、プログラムが走つている特
定のレベルに応じて、多い又は少ない保護ビツト
がシステムによつて検査されることである。 特殊命令の使用を必要とするのは、階層プログ
ラムをシステムへ最初に書込む時である。特殊命
令は、必要な安全データを設定し、且つ本発明の
階層安全機構を能動化するのに必要な動作を指定
する。 以下の説明から、或る命令はスーパーバイザー
状態でのみ使用可能であり、他の命令はスーパー
バイザー状態及びプロブレム状態の双方において
使用可能であることが分る。更に或る命令は、2
つの状態で幾分違つた効果を有する。 当業者には、スーパーバイザ状態でのみ使用可
能な命令が、システム動作命令の特権的セツト
(privileged set)の一部分を形成すること、その
ような特権的セツトの使用は、プロブレム・プロ
グラマをして本発明の安全機構を迂回せしめるこ
とになりかねないことが分る。 更に、具体的に後述するハードウエアの動作か
ら、本発明の安全機構は、8個の特殊命令に対応
する8個のサブシステム又はハードウエア・シー
ケンスを含むことが分る。後述する動作シーケン
ス・チヤートは、特殊命令が命令デコーダ中に現
われる時に生じる。ハードウエア動作のシーケン
スを掲げるものである。これら命令を使用したシ
ステム動作の典型的シーケンスは、後述する実施
例中で説明される。 特殊命令はの説明順序は、第6A図及び第6B
図に示される順序と同一であるが、必ずしもシス
テム動作の特定シーケンスの順序に対応していな
い。以下の説明は機能的なものであり、システム
中で生じる機能を示したものである。ハードウエ
アの詳細な段階的動作については、後述する詳細
な動作の説明及び動作シーケンス・チヤートを参
照されたい。 1 メモリへの保護貯蔵(STORE
PROTECTION IN MEMORY) この命令の「メモリ中のアドレス」フイール
ドに指定された16バイト・ワードから始まり
「ワード数」フイールドで指定された数のワー
ドについて次のような動作が起る。もし保護フ
イールドの最初のnビツトと保護レジスタの最
初のnビツトが一致すれば(ここでnは、プロ
ブレム状態の時レベル・レジスタの内容であ
り、スーパーバイザ状態の時0である。)メモ
リの保護フイールドは、保護レジスタの内容に
よつて置換される。上記の一致条件に対して、
特別のテストはなされない。何故ならば適当な
テストとしては、全てのデータ・フエツチ動作
及び全てのデータ貯蔵動作へ適用されるテスト
が望ましいからである。詳細については、後述
する「データ・フエツチ検査」及び「データ貯
蔵検査」を参照されたい。 この命令がプロブレム状態で果す機能は、サ
ブプログラムを呼出す準備として、プログラム
をして、それ自体のメモリを区分させることで
あり、そのプログラムの全データに対してサブ
プログラムがアクセスできない効果を生じる。
従つて、プロブレム状態では、プログラマは、
前に割当てられたメモリ境界内にとどまること
を要求され、上記メモリ境界は、最初のnビツ
トについて保護フイールドのチエツクを必要と
する。チエツクの結果、一致が生じれば、プロ
グラムはサブプログラムのためにそれ以上の保
護ビツトを指定することができ、nを大きくす
ることによつて更に制限された安全レベルを設
定することができる。スーパーバイザ状態でn
を0にすることは、コンピユータがスーパーバ
イザ状態にある時、最初メモリがオペレーテイ
ング・システムによつてアプリケーシヨンへ割
当てられることを言い換えたものである。この
場合、メモリに対する特定保護コード(即ち、
プログラム)の割当てが開始されようとしてい
るので、保護レジスタと比較すべき保護フイー
ルドは未だ存在しない。 保護フイールド・ビツトが必要な数だけ一致
しなければ、メモリ状態は変更されず、安全侵
害No.1が表示される。この事は、保護コード
を貯蔵されようとしたメモリ領域がアプリケー
シヨン・プログラムへ割当てられなかつたこと
を示す。 2 低レベルへのリンク(LINK TO LOWER
LEVEL) この命令が生じると、次の事象が起る。プロ
ブレム状態では、レベル・フイールドがレベ
ル・レジスタの現在値nと比較され、レベル・
フイールドが大きければ、次の動作が起る。即
ちレベル・レジスタの現在値(これは命令のレ
ベル値よりも小さい。)が、リンク・スタツク
回路6のI番目のレジスタのレベル・フイール
ドに貯蔵される(ここでIは命令のレベル表示
である)。次に、命令シーケンスへのリンク・
バツク・アドレスを含む命令カウンタの内容
が、リンク・スタツクのI番目のレジスタのア
ドレス・フイールドへ貯蔵される。この命令の
ブランチ・アドレス・フイールドは、命令カウ
ンタへゲートされ、レベル・フイールドのI値
は、第3B図のレベル・レジスタへゲートされ
る。この動作により、システムは後に低レベ
ル・プログラムの制御下で走ることができる。
新しいレベル指定は、保護フイールドの新たな
ビツトが検査されねばならないことを意味す
る。更に、リンク機構が能動化され、現在実行
中のサブ・アプリケーシヨン・プログラムが終
了した時、そのプログラムは元のプログラム・
ストリームへブランチ・バツクすることができ
る。 次に、この命令のレベル・フイールドにある
レベル値が、レベル・レジスタに貯蔵された現
在値nと等しいか又はそれより小さいと仮定す
る。この場合、安全侵害No.1が生じ、システ
ム中断が生じる。この場合の安全侵害No.1
は、レベル侵害を示す。即ち、システムの禁止
された階層レベルへ、ブランチがなされようと
している。この侵害が生じた時、保護フイール
ドの比較はなされない。 他方において、この命令が生じた時、システ
ムがスーパーバイザ状態にあれば、命令レジス
タのレベル・フイールドのレベルIは、第3B
図のレベル・レジスタの内容を単に置換するだ
けである。更に、I番目のリンク・スタツク・
レジスタのレベル・フイールドはIへセツトさ
れ、命令のブランチ・アドレス・フイールド
は、命令カウンタの現在の内容と置換された後
プロブレム状態へ入る。プロブレム状態及びス
ーパーバイザ状態における、この命令の効果上
の差異は、次の通りである。 プロブレム状態における「LINK TO
LOWER LEVEL」命令の目的は、サブ・アプ
リケーシヨンを呼出し、そのサブ・アプリケー
シヨンが、呼出しプログラムよりも制限された
環境で走るようにすることである(nが大きく
なる。)。プルブレム状態で走つているプログラ
ムは、この命令及び次に説明する「LINK
RETURN」命令によらないで、リンク・スタ
ツク回路へアクセスすることはできない。 スーパーバイザ状態における「LINK TO
LOWER LEVEL」命令の目的は、オペレーテ
イング・システムをして、アプリケーシヨン中
に記入されているレベルよりも制限的な保護レ
ベルへ、アプリケーシヨンを割当てることであ
る。このようにして、スーパーバイザ状態のプ
ログラムは、それ自体の使用目的のため、安全
管理機構の保護ビツトを保存することができ
る。 「LINK TO LOWER LEVEL」命令及び
「LINK RETURN」命令により、リンク・スタ
ツク回路は、低レベルのプログラムへアクセス
し、適当な安全レベルの呼出しプログラムへ、
低レベル・プログラムを確実に戻す制御手段を
与える。 3 リンク・リターン(LINK RETURN) 第6A図の命令形式を参照すれば分るよう
に、この命令は単に動作コードのみを有する。
この動作コードは、ハードウエア動作の適当な
シーケンスを開始して、システムをその現在の
階層走行レベルから、システムが呼出された元
のレベルへ戻す。この事は、次のようにして行
われる。nをレベル・レジスタの内容とする
と、リンク・スタツク回路6のn番地のレジス
タのレベル・フイールドの内容kがnより小さ
い場合、それは、現在の命令シーケンスが低レ
ベルkから呼出されたことを意味する。この時
点でリンク機構は、命令カウンタの内容をリン
ク・スタツク回路6のn番目のレジスタのアド
レス・フイールドで置換するように働く。これ
によつてシステムは、呼出しプログラム(開始
プログラム)の命令シーケンスの適当な地点へ
戻される。そして、上記レベル・フイールドの
内容kを第3B図のレベル・レジスタへ置くこ
とによつて開始プログラムの適当な階層レベル
がこのレジスタへ戻され、元のプログラムはシ
ステム制御を再び獲得することになる。 しかし、上記レベル・フイールドがレベル・
レジスタの内容に等しければ、安全侵害No.2
の中断が起る。そのような状態は、或るプログ
ラムがスーパーバイザ状態プログラムによつて
呼出されたレベルでそのプログラムが走つてい
る時か、或るプログラムがLINK RETURN命
令を誤つて出した時か、或るプログラムが安全
管理サブシステムからの通常の出口として
LINK RETURN命令を出した時に起る。本発
明が組込まれている計算システムの場合、所望
ならば、単にレジスタの内容をゼロへセツトす
ることによつて、上述した機能を遂行させるこ
とができる点に注意されたい。 他の可能な状態は、n番目のリンク・スタツ
ク・レジスタのレベル・フイールドが、レベ
ル・レジスタの内容よりも大きい場合である。
この場合、安全侵害No.3の中断が発生する。
この状態は、システム内で通常起り得ない動作
条件であり、スーパーバイザ状態のプログラム
によつてリンク・スタツク回路が誤つて始動さ
れたか、又は他のハードウエアの誤動作に起因
する。プロブレム状態で「LINK TO LOWER
LEVEL」命令及び「LINK RETURN」命令を
使用すれば、このような状態は生じない。 4 保護捜入(INSERT PROTECTION) この命令は、サブ・アプリケーシヨンの保護
ビツトを指定するため、プロブレム状態で呼出
しプログラムによつて使用される。この命令は
次の機能を実行する。もしレベル・レジスタの
内容がnであれば、命令レジスタの保護レベ
ル・フイールドの低順位7−nビツトが、現在
の保護レジスタの低順位7−nビツトと置換さ
れる。 2個のレジスタの高順位nビツトは、通常一
致することに注意すべきである。しかし、この
一致条件はテストされない。 スーパーバイザ状態では、保護レジスタの全
7ビツトは、レベル・レジスタの内容が何であ
れ、命令レジスタの内容と置換される。これに
よつて、スーパーバイザは、プロブレム・プロ
グラムへ制御を戻す前に、プロブレム・プログ
ラムの状態を回復することができる。 5 レベル・レジスタ貯蔵(STORE LEVEL
REGISTER)及び 6 保護レジスタ貯蔵(STORE PROTECTION
REGISTER) これらの命令は、レベル・レジスタ又は保護
レジスタの現在の内容を貯蔵する。これらレジ
スタは、共に第3A図及び第3B図に示される
リンク・スタツク回路6の最初のレジスタであ
る。これら命令の使用例は後に説明される。特
定の地点で、それを使用する理由も、その使用
例から明らかとなる。しかし、一般的に2つの
命令は同時に使用される。 これら命令のアドレス・フイールドで指定さ
れたワードがアクセス可能であれば、レベル・
レジスタ又は保護レジスタの現在の内容が、そ
の命令のアドレス・フイールドで指定されたア
ドレスへ右方を揃えて貯蔵される。もしワード
がアクセス可能でなければ、それは保護フイー
ルドが保護レジスタと一致しなかつたことを意
味し、安全侵害No.1の中断が起る。 これらの命令は、スーパーバイザ状態で常に
有効であり、プロブレム状態では、保護レジス
タの最初のnビツトが、貯蔵されようとしてい
るワードの保護フイールドの最初のnビツトと
一致する時、常に有効である。 7 リンク・スタツクへのロード(LOAD
INTO LINK STACK) この命令及び次のSTORE FROM LINK
STACK命令は、マルチプログラミング状況に
おいて(又は、いくつかの異つたアプリケーシ
ヨンがある場合に)、各アプリケーシヨンが階
層安全機構を即時に使用したい時に、現在の階
層安全機構を使用できるようにする。この命令
はスーパーバイザ状態でのみ有効であり、当業
者に明らかなように、現在走つているプログラ
ムのステータス情報を保存する命令が必要であ
る。これは、現在走つているプログラムが
CPUを再び割当てられた時、そのプログラム
が中断後実行シーケンスの正しい質問地点へ戻
らなければならないからである。通常のオペレ
ーテイング・システム・シーケンスは、命令レ
ジスタ及び命令カウンタの内容を検査してい
る。しかし当然分るように、所与のアプリケー
シヨン・プログラムが静止した時点で、システ
ムはリンク・スタツク回路状態のコピーをメモ
リ中に有し、リンク・スタツク回路状態の内容
を回復することができる。 LOAD INTO LINK STACK命令は、2つ
の有意フイールドを含む。動作コード・フイー
ルドは、動作を指定し、アドレス・フイールド
は、このアドレスで始まる8個の4バイト・ワ
ードの内容がメモリから取出されて、8個のリ
ンク・スタツク・レジスタへロードされるアド
レスを指定する。具体的には、各32ビツト・メ
モリ・ワードについて、ビツト5−7はリン
ク・スタツク・レジスタのレベル・フイールド
へ入れられ、ビツト8−31は第3A図−第3
D図に示されるリンク・スタツク・レジスタの
右方部分へ入れられる。各メモリ・ワードのビ
ツト0−4は、必要でないので無視される。 8 リンク・スタツクからの貯蔵(STORE
FROM LINK STACK) この命令は、LOAD INTO LINK STACK
命令の反対であり、リンク・スタツク回路6の
内容を、この命令のアドレス・フイールドで指
定されたアドレスから始まるメモリ・ロケーシ
ヨンに貯蔵する。従つてこの命令は、8個のリ
ンク・スタツク・レジスタの内容を、アドレ
ス・フイールドで指定されたアドレスから始ま
る、8個の連続的4バイト・メモリ・ワードに
貯蔵する。各リンク・スタツク・レジスタのレ
ベル・フイールドは、ビツト位置5−7へ入
り、アドレス・フイールドは、ビツト位置8−
31へ入り、ビツト位置0−4は不変のまま残
される。従つて、LOAD INTO LINK
STACK及びSTORE FROM LINK STACKの
命令は、リンク・スタツク情報を所望のワー
ド・ロケーシヨンに保存し、必要な時にそれを
リンク・スタツク回路6へ戻す。これらの命令
は、全てのマルチプログラミング動作を制御す
るオペレーテイング・システムの制御下で、ス
ーパーバイザ状態でのみ使用される。 特殊命令の使用例 以下に述べるところは、これまで詳細に説明し
た8個の特殊命令の使用法を、それら命令の機能
が本発明と関連を有する限りにおいて、説明した
ものである。この使用例は、本発明の階層安全シ
ステムを利用する場合に、プロブレム・プログラ
ム又はアプリケーシヨン・プログラマが前記特殊
命令を使用する方法を例示する。プログラマは、
ここに開示される階層安全システムのハードウエ
ア構成に従つて、種々のサブ・アプリケーシヨン
を呼出したり、サブ・アプリケーシヨンがシステ
ム・メモリへアクセスするのを制御したりする。 更に、この使用例は、スーパーバイザ状態のオ
ペレーテイング・システム・モジユールを書くシ
ステム・プログラマが1つの手段を提供できるこ
と、そしてその手段を利用することにより、アプ
リケーシヨン・プログラマがここに開示される階
層安全機構を使用して、直接的な相互干渉を起し
てはならないアプリケーシヨンの指定可能部分を
相互に弧立化させることができることを示す。 先ず、アプリケーシヨン・プログラムは、それ
が如何なる種類のものであれ、入力及び出力要件
を満たして走るものと仮定する。入力及び出力ル
ーチンは、スーパーバイザに存在しており、その
入口(エントリ地点)は、指示されたレーベル
(既知のアドレス)のところにあるものと仮定す
る。更に、IBM system/370コンピユータと同
じように、スーパーバイザ・コール命令
(SVC)の群が存在しているものと仮定する。更
に、或るSVC命令は、オペレーテイング・シス
テムによつて、本発明の階層安全機構をオンにオ
イツチする旨の要求として解釈されるものと仮定
する。注意すべきことは、ゼロのレベル表示は、
オフにスイツチされたことを意味し、機構の全て
の他の状態(即ち、レベル1−7)はオンと看做
されることである。更に、次の命令(現在の命令
群の一部ではない)がフエツチされる時、要求し
ているプログラムへ制御を戻す手段が命令ユニツ
ト中に設けられているものと仮定する。更に、こ
のSVC命令は、非常に少量ではあるが高度に有
用な情報を通信するため、前に指定したレジスタ
の使用を予想しているものと仮定する。即ち、オ
ペレーテイング・システムは、要求するプログラ
ムが安全管理階層の低レベルのうち最大限いくつ
を割当てる能力を必要とするかの記述
(statement)を、上記レジスタの中に発見する
ものと仮定する。勿論、この記述は、プログラム
を書きそのような要求を行うプログラマによつて
与えられねばならない。 n個の低レベルを準備するため、階層安全機構
をオンにすべき要求を受取ると、オペレーテイン
グ・システムは、アプリケーシヨン・プログラム
の(現在のレベル+n)が7を超えないことをチ
エツクしなければならない。nは設定可能の最低
レベルである。もし7を超えれば、オペレーテイ
ング・システムはアプリケーシヨンを終らせる。
7を超えなければ、制御はアプリケーシヨンへ戻
される。 アプリケーシヨンは、STORE LEVEL
REGISTER(SL)命令によつてそれ自体の現在
レベルを決定する。もし貯蔵された値がkであれ
ば、保護フイールドの最初のkビツトは使用され
ない。アプリケーシヨンは、STORE
PROTECTION IN MEMORY(SPM)命令を使
用して、そのデータ領域の全てに現在の保護マス
クを貯蔵することにより、ワーキング・ストレー
ジを準備する。次いで、アプリケーシヨンは、そ
れ自体に与えた値と反対の値を有すべきプログラ
ムのための貯蔵領域に保護フイールドの(K+
1)番目のビツトを強制することによつて、
INPUT及びOUTPUTサブプログラムの専用貯蔵
領域を準備する。これらサブプログラム保護フイ
ールドの(k+2)番目のビツトは、異つた値へ
強制される。それによつて、これらサブプログラ
ムに独特な別個のワーキング・ストレージが確保
される。 サブプログラムのマスクは、2進パターン
1000000及び1100000を右方へkビツトだけシフト
し、そのシフト結果とアプリケーシヨン保護マス
クとを排他的OR結合することによつて発生され
てよい。上記2進パターンの最初の1ビツトは、
アプリケーシヨンの(k+1)番目の保護ビツト
と不一致を起すために、(K+1)番目の保護ビ
ツトとして強制される。これらパターンの第2ビ
ツトは異つており、発生されるマスクの(k+
2)番目のビツトが相互に異るように強制され
る。勿論、メイン・アプリケーシヨンが走つてい
る間、(k+1)番目及び(k+2)番目の保護
ビツトは階層安全機構によつて検査されず従つて
アプリケーシヨンは、保護ビツトを自由に設定す
る。 十分なレベルが使用可能かどうかをオペレーテ
イング・システムが確認するよう要求することに
よつて、アプリケーシヨンは、それ自体大型シス
テム中のサブアプリケーシヨンとして使用される
ことができる。上記アプリケーシヨンは、レベル
5又はそれ以上のレベルで走ることができる。 STORE LEVEL REGISTER命令は、後に要
求プログラムをしてそれ自体の割当てレベルを確
認させる。勿論、もし割当てられたレベルが常に
同一(即ち、ゼロ)であるべきならば、要求を伝
える必要はない。 命令シーケンス 以下に掲げるプログラム・リステイングにおい
て、プログラムはオペレーテイング・システムが
本発明の階層安全機構をスイツチ・オンにすべき
旨の要求を出す前に、前述した特殊レジスタへ数
値2を入れる。 プログラムは、入力又は出力ルーチンを呼出す
前に、それ自体のレベルkとそれ自体の保護キー
(保護レジスタの最左方kビツトに等しい。)とを
発見する。次にプログラムはそのメモリ・スペー
スを3つの部分に分ける。
【表】 システムは、この区分を行うためにSPM命令
(STORE PROTECTION IN MEMORY)を使
用する。この区分の効果は、プログラムが保護レ
ジスタの(k+1)番目及び(k+2)番目の位
置に10を挿入することによつて、保護フイールド
を拡張した後に入力プログラムを呼出し、又はそ
れらの位置に11を捜入することによつて出力プロ
グラムを呼出せることであり、呼出されたプログ
ラムは、呼出しプログラムがアクセスできないメ
モリ領域へアクセスできず、その領域の指定され
た部分へのみアクセスできる。 最初のLINK RETURN命令は、入力又は出力
サブルーチンから呼出しプログラムへ制御を戻
し、呼出しプログラムの安全状態kが回復され
る。第2番目のLINK RETURN命令は、アプリ
ケーシヨンが階層安全機構の使用を通常のやり方
で終了したことを意味する。それは、SVC命令
と同じように、この種の要求が通常処理されるス
ーパーバイザ状態で、オペレーテイング・システ
ムの一定地点へ制御を移す。 SVC命令の外に、次の命令が使用されている
ことに注意されたい。スーパーバイザ状態からの
LLL(LINK TO LOWER LEVEL) プロブレム状態からのLLL これらの場合の各々へ戻るLR(LINK
RETURN) 区分メモリへのSPM(STORE
PROTECTION IN MEMORY) SPMのための保護レジスタを設定するIP
(INSERT PROTECTION) レベルを確認するためのSLR(STORE
LEVEL REGISTER) SPR命令(STORE PROTECTION
REGISTER)は使用されていないが、説明され
たプログラムの注意深い文書化によつて、SPR命
令の使用は、フアイルを終らせるための自己文書
化ステツプで必要に応じて説明される。 オペレーテイング・システムが或る時点で何ら
かの理由により、このプログラムの走行を中断す
る必要があれば(サブプログラムの1つが、その
時点でCPUを実際に有しているとしても)、オペ
レーテイング・システムは、その時点でSLS命令
(STORE FROM LINK STACK)を出し、LLS
命令(LOAD INTO LINK STACK)により、
プログラムを回復して走行を再開するのに必要な
全ての情報を保存する。勿論、この場合全ての状
態レジスタ及び他のワーキング・レジスタを含む
システム機構に通常保存されるステータス情報で
あつて、現在走つているプログラムに関する全て
のステータス情報が保存され且つ回復されるもの
と仮定する。しかし、これらの情報及び手順は周
知であり、ここでは詳細に説明しない。それらの
間のSLS及びLLSは、ここで開示される階層安全
機構を使用することによつて生じる全ての追加的
費用に見合うものである。 特別な場合には、或るメモリ領域の保護フイー
ルドを再コード化することが必要である。例えば
オペレーテイング・システムがいくつかの保護コ
ードをいくつかのアプリケーシヨンへ割当て、上
記保護コードの1つが、他の保護コードの最初の
セグメントであるような場合である。しかしこの
ような場合は、当技術分野のプログラマに自明で
あり、さしたる困難なしにプログラマによつて自
動的に処理されるであろう。
【表】
【表】 実施例の動作の詳細な説明 次に第2A図−第2F図、第3A図−第3D
図、第4図、第5図に示されるハードウエア内に
起る具体的動作シーケンスをステツプごとに詳説
する。説明は8つの部分に分けられ、各々の部分
は、第6A図及び第6B図に示される特殊命令の
実行を説明している。これら命令は、システム内
で特定シーケンスの動作を生じさせる。 説明の終りに掲げるマイクロ・シーケンス・チ
ヤートは、詳細な回路を参照することなく、動作
を簡略に説明したものである。以下の詳細な説明
を読みながら上記チヤートを参照すれば、各シー
ケンスで生じる動作を理解することができよう。 特殊命令シーケンスの開始は、動作コード
(OP)が第2A図の命令レジスタ7に現われるこ
とによつて生じる。メイン・プログラム命令スト
リームにおける特殊命令の発生は、前述した如
く、システム・プログラムによつて決定されてお
り、その特殊命令は、必要に応じ命令ユニツトに
よつて命令レジスタへ自動的にロードされる。命
令レジスタは3つのフイールドを有する。最左端
フイールドは、動作コード用であり、OPとレー
ベルを付されている。A及びBフイールドはデー
タ用であり、それらの使用法は次の説明する。8
個の特殊命令の機能的内容は、第6A図及び第6
B図に明示されている。命令カウンタ8は、第2
A図の命令レジスタ7に隣接している。本実施例
において、この命令カウンタ8は命令ユニツト9
又は他の装置によつてロードすることができる。
更に、それは命令ユニツト9又は他の装置によつ
て増加される。メイン・メモリ10は、第2B図
に示される。メモリ10は、中央処理ユニツトに
より通常の態様で使用され、安全メモリ階層を得
るために本発明の装置によつて使用される。 命令レジスタ7の動作コード・フイールドは、
ケーブル173を介して第2C図のデコーダ17
6へ送られ、そこで動作コードが解読される。命
令レジスタ7がCPUによつてロードされた後、
第2A図の命令ユニツト9からの線154上にパ
ルスが現われる。線154は第2C図へ延長さ
れ、ゲート174へ印加される。それによつて8
個の特殊命令の各々に対応する線156,15
8,160,162,164,166,168,
276の1本がアクチブとなり、特殊命令のシー
ケンスが開始されることになる。 STORE PROTECTION IN MEMORY(SPM) この命令によるシーケンスは、デコーダ176
による命令の解読により開始される。デコーダ1
76は、線156上にパルスを発生する。線15
6は第2E図へ行き、シングル・シヨツト178
をオンにする。これにより、SPM−1パルスが
発生され、このパルスは、第2F図のOR回路2
96を介して線258へ行く。線258は第2C
図へ行き、線258のパルスは命令レジスタのA
フイールドを保持レジスタ11へゲートする。更
に、第2D図において、SPM−1パルスは、ゲ
ート101を介して命令レジスタ7のBフイール
ドをワード・カウンタ12へゲートする(ケーブ
ル102)。 第2E図で、シングル・シヨツト178がオフ
になると、OR回路180を介してチエツク・パ
ルス発生器182をオンにするパルスが発生す
る。チエツク・パルス発生器182は、一連のシ
ングル・シヨツトで構成されてよく、これらのシ
ングル・シヨツトは、パルス・シーケンスSPM
−2からSPM−5までを発生する。これらのパ
ルスは順次に発生される。SPM−2パルスは、
第2F図のOR回路298を介して線260へ送
られる。線260は、第2B図へ行き、その線上
のパルスは、ゲート105を介して保持レジスタ
11をメモリ・アドレス・レジスタ13へゲート
するのに使用される。(ケーブル104) 第2F図上のSPM−3パルスは、OR回路30
0を介して線262へ行く。線262は第2B図
へ行き、そこでその線上のパルスは、メモリへ
「読出し」コマンドを与えるためOR回路184を
通る。 第2B図で、SPM−4パルスはAND回路18
6へ印加される。このAND回路が、線106に
よつて能動化されていれば、保護レジスタ(リン
ク・スタツクのレジスタ0)から来るケーブル1
08は、メモリ・データ・レジスタ14の保護フ
イールドへゲートされる。 第4図に示される保護論理回路が働く態様は次
のとおりである。メモリ・データ・レジスタ14
の保護フイールドの内容は、ケーブル170を介
して第4図の上部に印加され、リンク・スタツク
回路6(第3B図)の保護レジスタの内容は、ケ
ーブル108を介して第4図の左上方へ印加され
る。リンク・スタツク(LS)のレベル・レジス
タのデコード値は、第4図の左方で線185の1
つへ加される。もしレベル・レジスタの値がゼロ
であればメモリ・データ・レジスタ14の保護フ
イールド・ビツトは、リンク・スタツク(LS)
の保護レジスタの対応するビツトと一致する必要
がない。何故ならば、線185のゼロ信号はOR
回路15を通り、出力線106上に現われるから
である。もしレベル・レジスタの値が1であれ
ば、メモリ・データ・レジスタ(MDR)の保護
フイールドの最左方ビツトは、線106上に出力
が現われる前に、保護レジスタの最左方ビツトと
一致しなければならない。もしレベル・レジスタ
の値が2であればMDR保護フイールドの2つの
左方ビツトは、線106上に出力が現われる前
に、LS保護レジスタの2つの左方ビツトと一致
しなければならない。以下レベル・レジスタに現
われる最大値7に至るまで同様である。LSレベ
ル・レジスタの値が7であれば、MDR保護フイ
ールドの全ビツトがLS保護レジスタの対応する
ビツトと一致しなければならない。 従つて、クロツクされねばならない保護ビツト
の数は、LSレベル・レジスタにセツトされた値
(n)によつて決定されることが分る。もしマシ
ンがスーパーバイザ状態にあれば、レベル・レジ
スタの値は無視される。何故ならば、第2C図に
おいて、線118がアクチブであれば、それは
OR回路157を通り、線185のゼロ線を能動
化するからである。換言すれば、もしマシンがス
ーパーバイザ状態にあるか、又はレベル・レジス
タの値がゼロであれば、マシンは保護フイールド
の全ビツトを変更することができる。もしスーパ
ーバイザ状態になければ、次のようになる。もし
レベル・レジスタの値が1であれば、マシンは6
個の右方ビツトを変更することができる。もし値
が2であれば、5個の右方ビツトを変更すること
ができる。もし値が3であれば、右方の4ビツト
を変更することができる。もし値が4であれば、
右方の3ビツトを変更することができる。もし値
が5であれば、右方の2ビツトを変更することが
できる。もし値が6であれば、最右方ビツトを変
更することができる。もし値が7であれば、どの
ビツトをも変更することができない。前述した如
く、所与レベルのプログラムが有効に動作するた
めに、保護フイールドのいくつかのビツトが検査
されねばならないかを決定するのは、レベル・レ
ジスタ(n)の値である。残りの(7−n)ビツ
トは、或るレベルのプログラムによつて呼出され
た低レベル階層プログラムの制御を実効化するた
め、上記或るレベルのプログラムによつて変更さ
れてよい。 チエツク・パルス発生器182から発生された
SPM−5パルスは、第2E図のOR回路196を
通つて線120へ行く。線120は第2B図の
OR回路188を通つて延長され、メモリへ「貯
蔵」コマンドを与える。第2D図の下部において
SPM−5パルスは、ワード・カウント12の内
容(デコーダ16によつて解読される)を検査す
るために、ゲート190へ印加される。ワード・
カウンタがオール・ゼロであれば、線122上に
パルスが現われ、オール・ゼロでなければ、線1
24上にパルスが現われる。線122は第2E図
へ延長され、そこで線122上のパルスはパルス
発生器192を始動する。これによつて、SPM
−7パルス、次いでSPM−8パルスが発生す
る。線124は第2E図へ行き、線124上のパ
ルスはシングル・シヨツト194をオンにする。
これによつてSPM−6パルスが発生し、それは
第2F図のOR回路302を通つて線264へ行
く。線264は第2C図へ延長され、そこで線2
64上のパルスは保持レジスタ11を増進する。
第2D図において、SPM−6パルスは、ワー
ド・カウンタ12を減じる。第2E図でシング
ル・シヨツト194がオフになると、パルスが
OR回路180へ与えられ、パルス・シーケンス
SPM−2からSPM−5までが発生する。 SPM−7パルスは、第2E図のOR回路200
へ印加され、OR回路200の出力の線126へ
与えられる。線126は、第2A図のOR回路1
98へ延長される。OR回路198の出力は、命
令カウンタ8を増進する。 SPM−8パルスは、第2E図のOR回路202
へ印加される。OR回路202の出力線128は
第2A図へ延長され、線128上のパルスは、
CPU命令ユニツト9上部で「命令フエツチ」を
要求する。 LINK TO LOWER LEVEL(LLL) この命令のシーケンスは、線158(第2C
図)を能動化する命令(デコーダ176によつて
解釈される)によつて開始される。線158は第
2C図のゲート174から始まる。線158は第
2E図へ延長され、そこで線158上のパルスは
シングル・シヨツト242へ印加される。これは
LLL−1パルスを発生する。 LLL−1パルスは第2A図へ行き、そこで線1
18の状態を検査するためゲート304へ印加さ
れる。線118がアクチブであれば、線144上
にパルスが現われる。線118がアクチブでなけ
れば、線146上にパルスが現われる。これらの
線は第2F図へ延長され、そこで線144上のパ
ルスは、パルス発生器244を能動化する。パル
ス発生器244は、パルス・シーケンスLLL−7
からLLL−10までを発生する。線146上のパ
ルスは、パルス発生器204を能動化する。パル
ス発生器204は、LLL−2パルス次いでLLL−
3パルスを発生する。 第2F図のLLL−2パルスは、OR回路306
を介して線266へ行く。線266は第3C図へ
行き、そこでリンク・スタツク・フリツプ・フロ
ツプ17を1状態へセツトする。第2D図におい
て、LLL−2パルスは、命令レジスタ7のBフイ
ールドを第1比較レジスタ18へゲートする(ケ
ーブル102)。OR回路306の出力線266
(第2F図)は、レベル・レジスタを第2比較レ
ジスタ19へゲートするために使用される(ケー
ブル130)。 LLL−3パルスは第2D図へ延長され、そこで
比較ユニツト20を検査するために、ゲート20
6へ印加される。もし第1比較レジスタ18が第
2比較レジスタ19より小であるか、又はそれと
等しければ、線132上にパルスが現われる。そ
うでなければ、線134上にパルスが現われる。
線132は、第2E図へ行き、そこでOR回路2
08へ印加される。OR回路208の出力線13
6は第2A図へ行く。線136上のパルスは、第
1安全侵害を知らせる。線134は第2F図へ行
き、線134上のパルスはパルス発生器210を
能動化して、LLL−4,LLL−5,LLL−6の各
パルスを発生する。 第2F図のLLL−4パルスは、OR回路308
を介して線256へ行く。線256は第3A図へ
行き、線256上のパルスは、ケーブル130を
介してレベル・レジスタをリンク・スタツク回路
の左側へゲートする。LLL−4パルスは第3A図
で使用され、命令カウンタ8をリンク・スタツク
の左側へゲートする(ケーブル112)。 第2F図のLLL−5パルスは、OR回路310
を介して線268へ行く。線268は第3B図へ
行き、線268上のパルスは、命令レジスタ7の
Bフイールド(第2A図)をレベル・レジスタへ
ゲートする(ケーブル102)。第2F図のLLL
−5パルスは、OR回路312を介して線270
へ行く。線270は第2A図へ行き、線27上の
パルスは、ゲート271を介して命令レジスタ7
のAフイールドを命令カウンタ8へゲートする
(ケーブル100)。 第2E図のLLL−6パルスは、OR回路202
を通つて線128へ行く。線128は第2A図へ
行き、そこで「命令フエツチ」を要求する。 第2F図のLLL−7パルスは、OR回路310
を通つて線268へ行く。線268は第3B図へ
行き、そこで(線268上の)命令レジスタ7の
Bフイールドをレベル・レジスタへゲートする
(ケーブル102)。 第2F図のLLL−8パルスは、OR回路308
を通つて線256へ行く。線256は第3A図へ
行き、そこでレベル・レジスタをリンク・スタツ
ク回路の左側へゲートする(ケーブル130)。 第2F図のLLL−9パルスは、OR回路312
を通つて線270へ行く。線270は第2A図へ
行き、線270上のパルスは、命令レジスタ7の
Aフイールドを命令カウンタ8へゲートする(ケ
ーブル100)。 LLL−9パルスは、第2A図の左上方へ延長さ
れ、命令ユニツト9をプロブレム状態(非スーパ
ーバイザ状態)へセツトする。 第2E図のLLL−10パルスは、OR回路202
を通つて線128へ行く。線128は第2A図へ
行き、線128上のパルスは、「命令フエツチ」
を要求する。 LINK RETURN(LR) この命令はデコーダ176によつて解釈され、
ケーブル176は線160上にパルスを発生す
る。線160は第2C図のゲート174から出
る。線160は第2F図へ行き、線160上のパ
ルスは、パルス発生器214を能動化するパルス
発生器214、LR−1及びLR−2のパルス・シ
ーケンスを発生する。 第2F図のLR−1パルスは、OR回路306を
通つて線266へ行く。線266は第3C図へ行
き、線266上のパルスは、リンク・スタツク・
フリツプ・フロツプ17を1状態へセツトする。
更に線266は第2D図へ行き、線266上のパ
ルスは、ゲート267を介してレベル・レジスタ
を第2比較レジスタ19へゲートする(ケーブル
130)。更にLR−1パルスは第2D図へ行き、
ゲート115を介してリンク・スタツク回路の左
側を第1比較レジスタ18へゲートする。 LR−2パルスは第2D図へ行き、比較ユニツ
ト20を検査するために、ゲート316へ印加さ
れる。第1比較レジスタ18が第2比較レジスタ
19に等しければ、線278上にパルスが現われ
る。線278は第2A図へ行き、線278上のパ
ルスは第2安全侵害を知らせる。第1比較レジス
タ18が第2比較レジスタ19より大であれば、
線402上にパルスが現われる。線402は第2
A図へ行き、線402上のパルスは、第3安全侵
害を知らせる。第1比較レジスタ18が第2比較
レジスタ19より小であれば、線280上にパル
スが現われる。線280は第2F図へ行き、パル
ス発生器314を能動化する。パルス発生器31
4は、パルス・シーケンスLR−3からLR−6ま
でを発生する。 LR−3パルスは第2C図へ行き、ゲート12
1を介してリンク・スタツク・ケーブル114を
保持レジスタ11へゲートする。更に、LR−3
パルスは第2A図へ行き、ゲート117を介し
て、リンク・スタツク・ケーブル116を命令カ
ウンタ8へゲートする。 LR−4パルスは第3B図へ行き、ゲート10
7を介して保持レジスタ11をレベル・レジスタ
へゲートする(ケーブル104)。 第2E図のLR−5パルスは、OR回路200を
通つて線126へ行く。線126は第2A図へ行
き、線126上のパルスは、命令カウンタ8を増
進するために、OR回路198を通る。 第2E図はLR−6パルスは、OR回路202を
通つて線128へ達する。線128は第2A図へ
延長され、線128上のパルスは、命令ユニツト
9による「命令フエツチ」を要求する。 INSERT PROTECTION(IP) 先ず、第5図に詳細に示される保護挿入論理回
路4を説明する。挿入されるべき保護ビツトは、
命令レジスタ7の(第2A図)のBフイールドに
存在し、これらのビツトは、ケーブル102を介
して第5図へ到り、ゲート216−228へ印加
される。これらゲートの出力は、IP−1パルスの
制御の下に、ケーブル172を介して第3B図の
LS保護レジスタへ転送される。第5図の線40
0は、第2C図の保護論理回路5への入力線から
分岐されている。これらの線は0から6までの番
号を付されている。これらの番号は、第3B図の
レベル・レジスタのデコード値を表わし、値
「0」は、マシンがスーパーバイザ状態にあるこ
とを表わす。 これらの線が第5図で機能する態様は次のとお
りである。もし「0」線がアクチブであれば、ゲ
ート216から228までが能動化され、7ビツ
トの全てがケーブル102からケーブル172へ
転送される。もし「1」線がアクチブであれば、
ゲート218から228までが能動化され、右方
の6ビツトがケーブル102からケーブル172
へ転送される。もし「2」線がアクチブであれ
ば、ゲート220から228が能動化され、右方
の5ビツトがケーブル102からケーブル172
へ転送される。もし「3」線がアクチブであれ
ば、ゲート222から228までが能動化され、
右方の4ビツトがケーブル102からケーブル1
72へ転送される。もし「4」線がアクチブであ
れば、ゲート224から228までが能動化さ
れ、右方3ビツトがケーブル102からケーブル
172へ転送される。もし「5」線がアクチブで
あれば、ゲート226及び228が能動化され、
右方2ビツトがケーブル102からケーブル17
2へ転送される。もし「6」線がアクチブであれ
ば、ゲート228のみが能動化され、右方の1ビ
ツトのみがケーブル102からケーブル172へ
転送される。 IPシーケンスは、第2C図のゲート174から
来る線162上のパルスによつて開始される。勿
論、このパルスはデコーダ176からの対応する
出力線上で発生したものである。線162は第2
F図へ行き、線162上のパルスは、パルス・シ
ーケンスIP−1,IP−2,IP−3を発生するため
パルス発生器230を能動化する。第3B図にお
いて、IP−1パルスは、ケーブル172を保護レ
ジスタへゲートする。前述した如く、ケーブル1
72は保護挿入論理回路4(第2D図)から来
る。第2E図において、IP−2パルスはOR回路
200を介して線126へ送られる。線126は
第2A図へ行き、線126上のパルスは、命令カ
ウンタ8を増進するために、OR回路198を通
過する。 第2E図において、IP−3パルスは、OR回路
202を通つて線128へ到る。線128は第2
A図へ行き、線128上のパルスは、「命令フエ
ツチ」を要求する。 STORE LEVEL(SL) この命令のシーケンスは、命令レジスタ7の動
作コードがデコーダ176によつてデコードさ
れ、第2C図のゲート174から出ている線16
4上にパルスが発生することによつて開始され
る。線164は第2E図へ行き、線164上のパ
ルスは、パルス発生器232を能動化する。パル
ス発生器232は、パルス・シーケンスSL−1
からSL−3を発生する。 第2F図において、SL−1パルスはOR回路2
34を介して線142へ行く。線142は第2B
図へ行き、線142上のパルスは、ゲート143
を介してケーブル100をメモリ・アドレス・レ
ジスタ13へゲートするために使用される。ケー
ブル100、命令レジスタ7(第2A図)のAフ
イールドから来る。 SL−2パルスは、第2F図のOR回路300を
介して線262へ行く。線262は第2B図へ行
き、線262上のパルスは、読出しコマンドをメ
モリへ与えるために、OR回路184を通る。 SL−3パルスは、線106の状態を検査する
ために、第2F図のゲート412へ印加される。
線106がアクチブであれば、第2E図のパルス
発生器416を能動化するパルスが、線404上
に現われる。パルス発生器416は、パルス・シ
ーケンスSL−4からSL−7までを発生する。線
106がアクチブでなければ、線406上にパル
スが現われ、このパルスは、第2E図のOR回路
208を介して線136へ達する。線136は第
2A図へ達し、第1安全侵害を知らせる。 SL−4パルスは第2B図へ達し、ゲート13
1を介して、LSレベル・レジスタをメモリ・デ
ータ・レジスタ14のDフイールドへゲートする
(ケーブル130)。 SL−5パルスは、第2E図のOR回路196を
介して線120へ達する。線120は第2B図へ
達し、貯蔵コマンドをメモリ10へ与えるため、
OR回路188を通過する。 第2E図において、SL−6パルスはOR回路2
00を介して線126へ達する。線126は第2
A図へ達し命令カウンタ8を増進するため、OR
回路198を通過する。 第2E図において、SL−7パルスは、OR回路
202を介して、線128へ達する。線128は
第2A図へ達し、線128上のパルスは命令ユニ
ツトに対して「命令フエツチ」を要求する。 STORE PROTECTION REGI−STER(SPR) この命令のシーケンスは、線166上のパルス
によつて開始される。このパルスは第2C図のゲ
ート174から生じる。線166は第2F図へ行
き、線166上のパスルはパスル発生器401を
始動する。パスル発生器401はパルス・シーケ
ンスSPR−1からSPR−3までを発生する。 第2F図において、SPR−1パスルはOR回路
234を介して線142へ達する。線142は第
2B図へ行き、線142上のパルスは、ゲート1
43を介してケーブル100をメモリ・アドレ
ス・レジスタ13へゲートする。ケーブル100
は、第2A図の命令レジスタ7のAフイールドか
ら来る。 SPR−2パルスは、第2F図のOR回路300
を介して、線262へ達する。線262は第2B
図へ行き、線262上のパルスは、読出しコマン
ドをメモリ10へ与えるためOR回路184を通
過する。 第2F図のSPR−3パルスは、線106の状態
を検査するために、ゲート414へ印加される。
線106がアクチブであれば、パルス発生器41
8を始動するため、パルスが線408に現われ
る。パルス発生器418は、パルスSPR−4から
SPR−7までを発生する。線106がアクチブで
なければ、線410にパルスが現われる。このパ
ルスは、第2E図のOR回路208を介して、線
136へ達する。線136は第2A図へ行き、線
136上のパルスは、第1安全侵害を知らせる。 SPR−4パルスは第2B図へ行き、ゲート18
6を介して第3B図のLS保護レジスタをメモ
リ・データ・レジスタ14のEフイールドへゲー
トする(ケーブル108)。 第2E図において、SPR−5パルスは、OR回
路196を介して線120へ達する。線120は
第2B図へ行き、線120上のパルスは、貯蔵コ
マンドをメモリ10へ与えるため、OR回路18
8を通過する。 第2E図において、SPR−6パルスはOR回路
200を介して線126へ達する。線126は第
2A図へ行き、線126上のパルスは、命令カウ
ンタ8を増進するために、OR回路198を通過
する。 第2E図において、SPR−7パルスはOR回路
202を介して線128へ達する。線128は第
2A図へ行き、線128上のパルスは、「命令フ
エツチ」を要求する。 LOAD INTO LINK STACK(LLS) この命令のシーケンスは、第2C図の線168
上のパルスによつて始動される。このパルスは第
2C図のゲート174から生じる。線168は第
2E図へ行き、線168上のパルスは、LIS−1
パルスを発生するため、シングル・シヨツト31
8を始動する。LLS−1パルスは第2A図へ達
し、線118の条件を検査するために、ゲート3
38へ印加される。線118がアクチブであれ
ば、線250上にパルスが現われる。線118が
アクチブでなければ、線248上にパルスが現わ
れる。 線248は第2E図へ行き、線248上のパル
スはOR回路208へ印加される。OR回路208
の出力は線136である。線136は第2A図へ
行き、線136上のパルスは第1安全侵害を知ら
せる。線250は第2E図へ行き、線250上の
パルスは、LLS−2パルスを発生するため、シン
グル・シヨツト320を始動する。 第2F図において、LLS−2パルスは、OR回
路342を介して、線272へ達する。線272
は第2D図へ行き、線272上のパルスはワー
ド・カウンタ12をオール・ゼロへリセツトす
る。更に第2F図において、LLS−2パルスは、
OR回路296を介して線258へ達する。線2
58は第2C図へ行き、線258上のパルスは、
ケーブル100及びゲート259を介して、命令
レジスタ7のAフイールドを保持レジスタ11へ
ゲートする。更に、第2F図において、LLS−2
パルスは、OR回路342を介して線272へ達
する。線272は第3C図へ行き、線272上の
パルスは、リンク・スタツク・フリツプ・フロツ
プ17を0状態へリセツトする。 第2E図のシングル・シヨツト320がオフに
なると、パルス発生器324を始動するために、
OR回路322を通るパルスが発生される。パル
ス発生器324は、パルスLLS−3からLLS−7
までを発生する。 第2F図において、LLS−3パルスは、OR回
路298を通つて線260へ行く。線260は第
2B図へ達し、線260上のパルスは、ゲート1
05を介して保持レジスタ11をメモリ・アドレ
ス・レジスタ13へゲートする。(ケーブル10
4) 第2F図において、LLS−4パルスはOR回路
300を介して、線262へ行く。線262は第
2B図へ行き、そこで線262上のパルスは、読
出しコマンドをメモリへ与えるために、OR回路
184を通る。 LLS−5パルスは第3A図へ行き、そこでその
パルスは、ケーブル284を介してMDRのCフ
イールドをゲート285を介してリンク・スタツ
クの左方側へゲートし、更にMDRのC、D、E
フイールド(ケーブル286)をケーブル112
を介してリンク・スタツクの右方側へゲートする
ために使用される。 第2F図において、LLS−6パルスはOR回路
344を介して線274へ達する。線274は第
2D図へ行き、線274上のパルスは、ワード・
カウンタを増進するために使用される。更に、第
2F図において、LLS−6パルスはOR回路30
2を介して、線264へ達する。線264は第2
C図へ行き、線264上のパルスは、保持レジス
タ11を増進するために使用される。 LLS−7パルスは第2D図へ行き、ゲート19
1を介してデコーダ16(従つて、ワード・カウ
ンタ12の内容)を検査するために使用される。
ワード・カウンタ12が00………01000であれ
ば、線290上にパルスが現われる。そうでなけ
れば、線288上にパルスが現われる。線288
は第2E図へ行き、線288上のパルスは、パル
ス発生器324を始動するため、OR回路322
を通る。更に、線290は第2E図へ達し、線2
90上のパルスはパルス発生器326を始動す
る。パルス発生器326は、LLS−8及びLLS−
9のパルスを発生する。 第2E図において、LLS−8パルスはOR回路
200を介して線126へ達する。線126は第
2A図へ行き、線126上のパルスは、命令カウ
ンタ8を増進するため、OR回路198を通る。 第2E図において、LLS−9パルスはOR回路
202を通つて線128へ達する。線128は第
2A図へ行き、線128上のパルスは、命令ユニ
ツト9へ「命令フエツチ」を要求する。 STORE FROM LINK STACK(SLS) この命令のシーケンスは、第2C図のゲート1
74からの線276上のパルスによつて開始され
る。線276は第2E図へ行き、線276上のパ
ルスは、SLS−1パルスを発生するため、シング
ル・シヨツト328を始動する。 SLS−1パルスは第2A図へ行き、線118を
検査するため、ゲート340へ印加される。11
8がアクチブであれば、線254上にパルスが現
われる。線118がアクチブでなければ、線25
2上にパルスが現われる。線252は第2E図へ
行き、線252上のパルスはOR回路208を介
して線136へ行く。線136は第2A図へ行
き、線136上のパルスは第1安全侵害を知らせ
る。線254は第2F図へ行き、線254上のパ
ルスは、SLS−2パルスを発生するため、シング
ル・シヨツト330を始動する。 第2F図において、SLS−2パルスはOR回路
342を介して線272へ行く。線272は第2
D図へ行き、線272上のパルスは、ワード・カ
ウンタ12をゼロへリセツトする。更に、線27
2は第3C図へ行き、線272上のパルスは、リ
ンク・スタツク・フリツプ・フロツプ17を0状
態へリセツトする。第2F図において、SLS−2
パルスは、OR回路296を介して線258へ行
く。線258は第2C図へ行き、線258上のパ
ルスは、ケーブル100及びゲート259を介し
て命令レジスタ7のAフイールドを保持レジスタ
11へゲートする。 第2F図において、シングル・シヨツト330
がオフになると、パルス発生器334を始動する
ため、OR回路332を通るパルスが発生する。
パルス発生器334は、パルスSLS−3からSLS
−6までを発生する。 第2F図において、SLS−3パルスは、OR回
路298を介して線260へ行く。線260は第
2B図へ行き、線260上のパルスは、ケーブル
104及びゲート105を介して保持レジスタ1
1をメモリ・アドレス・レジスタ13へゲートす
る。SLS−3パルスは第2B図へ行き、ケーブル
114及びゲート119を介して、リンク・スタ
ツク回路6(第3A図及び第3B図)の左側をメ
モリ・データ・レジスタ14のCフイールドへゲ
ートし、ケーブル116及びゲート113を介し
て、リンク・スタツク回路6の右側をメモリ・デ
ータ・レジスタ14のC、D、Eフイールドへゲ
ートする。 第2E図において、SLS−4はOR回路196
を通つて、線120へ行く。線120は第2B図
へ行き、線120上のパルスは、貯蔵コマンドを
メモリ10へ与えるために、OR回路188を通
る。 第2F図において、SLS−5パルスは、OR回
路344を通つて、線274へ行く。線274は
第2D図へ行き、線274上のパルスは、ワー
ド・カウンタ12を増進する。更に第2F図にお
いて、SLS−5パルスはOR回路302を通つて
線264へ達する。線264は第2C図へ行き、
線264上のパルスは保持レジスタ11を増進す
る。 SLS−6パルスは第2D図へ行き、ゲート19
3を介してワード・カウンタ12のデコード値を
検査するために使用される。ワード・カウンタ1
2の内容が00………01000であれば、線294上
にパルスが現われる。そうでなければ、線292
上にパルスが現われる。線292は第2F図へ行
き、線292上のパルスはOR回路332を通過
してパルス発生器334を始動する。更に、線2
94は第2F図へ行き、線294上のパルスは、
SLS−7及びSLS−8パルスを発生するために、
パルス発生器336を始動する。 第2E図において、SLS−7パルスはOR回路
200を通つて線126へ達する。線126は第
2A図へ達し、線126上のパルスは、命令カウ
ンタ8を増進するため、OR回路198を通過す
る。 第2E図において、SLS−8パルスはOR回路
202を通つて線128へ行く。線128は第2
A図へ行き、線128上のパルスは「命令フエツ
チ」を要求する。 CHECK DATA FETCH(CDF) 次にデータ・フエツチが起る時に、メモリ・デ
ータ・レジスタ14中の保護フイールドを検査す
る命令について説明する。第2A図及び第2B図
において、命令ユニツト9がデータ・フエツチを
要求された時、データがメモリ・データ・レジス
タ14へ入れられ、線148上にパルスが発生す
る。線148は第2F図へ行き、線148上のパル
スは、線106の状態を検査するため、ゲート2
42へ印加される。線106がアクチブであれ
ば、線150上にパルスが現われる。線106が
アクチブでなければ、線152上にパルスが現わ
れる。線150は第2A図へ伸長され、線150
上のパルスは、データ・フエツチが許されること
を命令ユニツト9へ知らせる。線152上のパル
スは第2E図へ行き、OR回路208を介して線
136へ伝えられる。線136は第2A図へ行き
線136上のパルスは第1安全侵害を知らせる。 CHECK DATA STORE(CDS) 次に、データ貯蔵が起る時、メモリ・データ・
レジスタ14の保護フイールドをチエツクする命
令について説明する。データ貯蔵動作において、
命令ユニツト9は、メモリ・データ・レジスタ1
4の保護フイールドを取出すため、先ずメモリ・
ワードをフエツチしなければならない。このフエ
ツチがなされると、命令ユニツト9は線246上
にパルスを発生する。線246は第2F図へ行
き、線246上のパルスは、線106の条件を検
査するため、ゲート346へ印加される。第4図
の保護論理回路5は保護レジスタの最初のビツト
部分とメモリ・ワードの保護フイールド・ビツト
とが一致するかどうかを調べ、一致した時に線1
06がアクチブになる。比較されるビツト数は、
レベル・レジスタによつて与えられる。線106
がアクチブであれば、第2F図のゲート346に
よつて線256上にパルスが現われる。線106
がアクチブでなければ、線258上にパルスが現
われる。線256は第2A図へ行き、線256上
のパルスは、データ貯蔵が許される旨を命令ユニ
ツト9へ知らせる。第2E図において、線258
上のパルスはOR回路208を通つて線136へ
行く。線136は第2A図へ行き、線136上の
パルスは、第1安全侵害を知らせる。 データ・フエツチ動作及びデータ貯蔵動作の安
全有効性をチエツクする。CHECK DATA
FETCH及びCHECK DATA STOREの動作シー
ケンスにおいて、第3B図の上部にある右方のレ
ベル「0」リンク・スタツチ・レジスタは、レベ
ル表示と保護フイールドとを含むことに注意され
たい。走行中のプログラムはこのレベルに対して
等価関係を有しなければならず、かつ上記保護フ
イールドは、読出し及び書込み動作の双方におい
て、目的の保護フイールドと一致しなければなら
ない。リンク・スタツク・レジスタ中に貯蔵され
た2進値は、ケーブル130及び108を介し
て、第4図の保護論理回路5へ転送される。即
ち、ケーブル130上の値は第2C図のデコーダ
21へ入り、デコーダ21の出力は、保護論理回
路5の左側へ入り、ケーブル108上の値は、直
接に保護論理回路5へ入る。メモリ・データ・レ
ジスタ14からの保護フイールドは、ケーブル1
70を介して、保護論理回路5へ転送される。保
護論理回路5において、第3B図のレベル・レジ
スタに貯蔵されたレベルによつて指定された保護
フイールドのビツトが、第3B図の保護レジスタ
に貯蔵された保護フイールドと比較される。これ
らの比較は、ここで説明した新しい動作を含む全
てのデータ・フエツチ及びデータ貯蔵について行
われる。 動作シーケンス・チヤート STORE PROTECTION IN M−EMORY
(SPM) SPM−1 命令レジスタのAフイールドを保持
レジスタへゲート 命令レジスタのBフイールドをワード・カウン
タへゲート →SPM−2 SPM−2 保持レジスタをMARへゲート →SPM−3 SPM−3 読出しコマンドをメモリへ →SPM−4 SPM−4 保護レジスタをメモリ・データ・レ
ジスタの保護フイールドへ (保護論理が一致するか、又はスパーバイザ状
態に含まれれば) →SPM−5 SPM−5 貯蔵コマンドをメモリへ ワード・カウンタはゼロか? NO→SPM−6 YES→SPM−7 SPM−6 保持レジスタを増進 ワード・カウンタを減少 →SPM−2 SPM−7 命令カウンタを増進 →SPM−8 SPM−8 命令フエツチを要求 終了 LINK TO LOWER LEVEL(LLL) LLL−1 線118はアクチブか? NO→LLL−2(スーパーバイザ状態でない。) YES→LLL−7(スーパーバイザ状態であ
る。) LLL−2 リンク・スタツク・フリツプフロツプ
を1へセツト 命令レジスタのBフイールドを第1比較レジス
タへゲート レベル・レジスタを第2比較レジスタへゲート →LLL−3 LLL−3 第1比較レジスタ第2比較レジス
タ? YES→第1安全侵害を表示 NO→LLL−4 LLL−4 レベル・レジスタをリンク・スタツク
の左側へゲート 命令カウンタをリンク・スタツクの右側へゲー
ト →LLL−5 LLL−5 命令レジスタのBフイールドをレベ
ル・レジスタへゲート 命令レジスタのAフイールドを命令カウンター
へゲート →LLL−6 LLL−6 命令フエツチを要求 終了 LLL−7 命令レジスタのBフイールドをレベ
ル・レジスタへゲート →LLL−8 LLL−8 レベル・レジスタをリンク・スタツク
回路へゲート →LLL−9 LLL−9 命令レジスタのAフイールドを命令カ
ウンタへゲート CPUをプロブレム状態へセツト →LLL−10 LLL−10 命令フエツチを要求 終了 LINK RETURN(LR) LR−1 リンク・スタツク・フリツプ・フロツ
プを1へセツト レベル・レジスタを第2比較レジスタへゲート リンク・スタツクの回路左側を第1比較レジス
タへゲート →LR−2 LR−2 比較ユニツトをテスト 第1比較レジスタ<第2比較レジスタ→LR−
3 第1比較レジスタ=第2比較レジスタ→第2安
全侵害を表示 第1比較レジスタ>第2比較レジスタ→第3安
全侵害を表示 LR−3 リンク・スタツク回路の左側を保持レ
ジスタへゲート リンク・スタツク回路の右側を命令カウンタへ
ゲート →LR−4 LR−4 保持レジスタをレベル・レジスタへゲ
ート LR−5 LR−5 命令カウンタを増進 →LR−6 LR−6 命令フエツチを要求 終了 INSERT PROTECTION(IP) IP−1 保護挿入論理回路の出力を保護レジスタ
へゲート →IP−2 IP−2 命令カウンタを増進 →IP−3 IP−3 命令フエツチを要求 終了 STORE LEVEL(SL) SL−1 命令レジスタのAフイールドをメモ
リ・アドレス・レジスタへゲート →SL−2 SL−2 読出しコマンドをメモリへ →SL−3 SL−3 保護テスト(線106) 線106アクチブ→SL−4 線106非アクチブ→第1安全侵害を表示 SL−4 レベル・レジスタをメモリ・データ・
レジスタのDフイールドへゲート →SL−5 SL−5 貯蔵コマンドをメモリへ →SL−6 SL−6 命令カウンタを増進 →SL−7 SL−7 命令フエツチを要求 終了 STORE PROTECTION REGISTER(SPR) SPR−1 命令レジスタのAフイールドをメモ
リ・アドレス・レジスタへゲート →SPR−2 SPR−2 読出しコマンドをメモリへ →SPR−3 SPR−3 保護テスト(線106) 線106アクチブ→SPR−4 線106非アクチブ→第1安全侵害を表示 SPR−4 保護レジスタをメモリ・データ・レジ
スタのEフイールドへゲート →SPR−5 SPR−5 貯蔵コマンドをメモリへ →SPR−6 SPR−6 命令カウンタを増進 →SPR−7 SPR−7 命令フエツチを要求 LOAD INTO LINK STACK(LLS) LLS−1 線118はアクチブか? NO→第1安全侵害を表示 YES→LLS−2 LLS−2 ワード・カウンタをゼロへリセツト 命令レジスタのAフイールドを保持レジスタへ
ゲート リンク・スタツク・フリツプ・フロツプを0へ
リセツト →LLS−3 LLS−3 保持レジスタをメモリ・アドレス・レ
ジスタへゲート →LLS−4 LLS−4 読出しコマンドをメモリへ →LLS−5 LLS−5 メモリ・データ・レジスタのCフイー
ルドをリンク・スタツク回路の左側へゲート メモリ・データ・レジスタのC、D、Eフイー
ルドをリンク・スタツク回路の右側へゲート →LLS−6 LLS−6 ワード・カウンタを増進 保持レジスタを増進 →LLS−7 LLS−7 ワード・カウンタは0………01000
か? NO→LLS−3 YES→LLS−8 LLS−8 命令カウンタを増進 →LLS−9 LLS−9 命令フエツチを要求 終了 STORE FROM LINK STACK(SLS) SLS−1 線118はアクチブか? NO→第1安全侵害を表示 YES→SLS−2 SLS−2 ワード・カウンタをゼロへリセツト リンク・スタツク・フリツプ・フロツプを0へ
リセツト 命令レジスタのAフイールドを保持レジスタへ
ゲート →SLS−3 SLS−3 保持レジスタをMARへゲート リンク・スタツク回路の左側をメモリ・デー
タ・レジスタのCフイールドへゲート リンク・スタツク回路の右側をメモリ・デー
タ・レジスタのC、D、Eフイールドへゲート →SLS−4 SLS−4 貯蔵コマンドをメモリへ →SLS−5 SLS−5 ワード・カウンタを増進 保持レジスタを増進 →SLS−6 SLS−6 ワード・カウンタは00………1000か? NO→SLS−3 YES→SLS−7 SLS−7 命令カウンタを増進 →SLS−8 SLS−8 命令フエツチを要求 CHECK DATA FETCH(CDF) 線148上のパルス 線106はアクチブか? YES→データを取るようにCPUへ信号 NO→第1安全侵害を表示 CHECK DATA STORE(CDS) 線246上のパルス 線106はアクチブか? YES→貯蔵許可 NO→第1安全侵害を表示 結 論 これまでの説明から、極めて応用自在で柔軟性
に富む安全機構が、各システム・ワード(即ち、
データ・ワード命令)中に非常に小さな追加的貯
蔵スペースを設けることによつて実現できること
が分る。この貯蔵スペースは階層情報を貯蔵する
のに使用される。本明細書で説明した実施例にお
いて、少数のECCビツトを必要とする大いきワ
ードを使用することによつて、追加的スペースは
不要となつた。開示されたハードウエアは、シス
テムに課された安全規定を実効化するため、最も
能率的な方法で階層安全情報を使用するように設
計されている。即ち、走行中のプログラムは、そ
の割当てられた保護フイールドに関するそれ自体
の安全レベルで許されたメモリ・セグメントへの
みアクセスする。更に、プログラムは、低い安全
レベルで走るためサブ・アプリケーシヨンを呼出
すことができるが、高い安全レベルで走るために
は呼出すことができない。更に、走行中のプログ
ラムは、非常に精密な限定を必要とするチヤネル
を介してのみ高い安全レベルの呼出しプログラム
へ戻ることができる。リンク・アドレスは1群の
特殊レジスタに保存され、プログラムが偽の又は
不正確なリンク・バツク・アドレスによつて、安
全機構を破壊することはできない。 本明細書で開示されたハードウエア機構は、1
つの最適実施例に過ぎず、当業者はこのような複
雑なハードウエア機構の形態及び詳細部分につい
て多くの変更をなしてよい。保護フイールド又は
レベル・フイールドは、容易に拡大して使用する
ことができ、システム設計者が時間及びハードウ
エアの節減に必要であると認めた場合には、特殊
命令のあるものは、更に詳細な命令に分割する
か、又は他の命令と組合せることもできる。
【図面の簡単な説明】
第1図は階層安全機構の機能ブロツク図、第2
図は第2A図から第2F図までの構成図、第2A
図から第2F図までは本発明の最適実施例の構造
を例示した論理兼機能ブロツク図、第3図は第3
A図から第3D図までの構成図、第3A図から第
3D図は第2C図に示されたリンク・スタツク・
ブロツクの論理兼機能ブロツク図、第4図は第2
C図に示された保護論理回路の論理図、第5図は
第2D図に示された保護挿入論理回路の論理図、
第6図は第6A図及び第6B図の構成図、第6A
図及び第6B図はシステム動作に必要な8個の特
殊命令のフオーマツトを示す図である。 1……CPU、2……命令ユニツト、3……メ
モリ、4……保護挿入論理回路、5……保護論理
回路、6……リンク・スタツク回路。

Claims (1)

  1. 【特許請求の範囲】 1 複数のプログラムの各々に割当てられた安全
    レベル及び保護フイールドを記憶したリンク・ス
    タツクと、 前記プログラムの1つによるアクセスが許され
    るべきロケーシヨンに当該プログラムに割当てら
    れた保護フイールドを記憶したメモリと、 実行中のプログラムによりアクセスされたロケ
    ーシヨンにおける前記保護フイールドの内容と前
    記リンク・スタツクにおける前記実行中のプログ
    ラムに割当てられた保護フイールドが前記リン
    ク・スタツクにおける前記実行中のプログラムに
    割当てられた安全レベルにより決まる部分におい
    て一致するかどうかを決定する論理手段と、 より成り、前記実行中のプログラムがアクセスす
    べき他のプログラムに対する保護フイールドは前
    記実行中のプログラムに割当てられた安全レベル
    により決る部分において前記実行中のプログラム
    に対する保護フイールドを含むように割当てられ
    ることを特徴とするメモリ保護装置。
JP14824677A 1976-12-30 1977-12-12 Computer system having program hierarchy safety mechanism Granted JPS5384524A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/755,899 US4104721A (en) 1976-12-30 1976-12-30 Hierarchical security mechanism for dynamically assigning security levels to object programs

Publications (2)

Publication Number Publication Date
JPS5384524A JPS5384524A (en) 1978-07-26
JPS6112584B2 true JPS6112584B2 (ja) 1986-04-09

Family

ID=25041151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14824677A Granted JPS5384524A (en) 1976-12-30 1977-12-12 Computer system having program hierarchy safety mechanism

Country Status (5)

Country Link
US (1) US4104721A (ja)
JP (1) JPS5384524A (ja)
DE (1) DE2758152A1 (ja)
FR (1) FR2376461A1 (ja)
GB (1) GB1539356A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228678A (ja) * 1988-03-09 1989-09-12 Mitsubishi Motors Corp 溶接ロボット用電極の研摩方法

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5474651A (en) * 1977-11-28 1979-06-14 Toshiba Corp Stack control system
DE2754890C2 (de) * 1977-12-09 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Programmunterbrechung
US4320455A (en) * 1978-01-09 1982-03-16 Honeywell Information Systems Inc. Queue structure for a data processing system
CA1147823A (en) * 1978-07-24 1983-06-07 Robert M. Best Crypto microprocessor for executing enciphered programs
US4241396A (en) * 1978-10-23 1980-12-23 International Business Machines Corporation Tagged pointer handling apparatus
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
GB2059652B (en) * 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
US4328542A (en) * 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4472790A (en) * 1982-02-05 1984-09-18 International Business Machines Corporation Storage fetch protect override controls
US4519032A (en) * 1982-06-09 1985-05-21 At&T Bell Laboratories Memory management arrangement for microprocessor systems
US4550350A (en) * 1983-07-19 1985-10-29 Software Distribution Newtork, Inc. Secure copy method and device for stored programs
CA1235821A (en) * 1984-06-28 1988-04-26 John Zolnowsky Data processor having module access control
US4677546A (en) * 1984-08-17 1987-06-30 Signetics Guarded regions for controlling memory access
FR2573227B1 (fr) * 1984-11-09 1987-01-30 Palais Decouverte Dispositif de simulation et de securite pour clavier de saisie de donnees
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4703417A (en) * 1985-06-27 1987-10-27 Honeywell Information Systems Inc. Call instruction for ring crossing architecture
US4812994A (en) * 1985-08-06 1989-03-14 Pitney Bowes Inc. Postage meter locking system
US4809160A (en) * 1985-10-28 1989-02-28 Hewlett-Packard Company Privilege level checking instruction for implementing a secure hierarchical computer system
US4891838A (en) * 1985-11-04 1990-01-02 Dental Data Service, Inc. Computer accessing system
JPH0664536B2 (ja) * 1986-01-17 1994-08-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想端末サブシステムの制御方法
US4809218A (en) * 1986-01-29 1989-02-28 Digital Equipment Corporation Apparatus and method for increased system bus utilization in a data processing system
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
FR2619234B1 (fr) * 1987-08-07 1991-04-19 Ricard Claude Procedes et dispositifs adaptateurs pour introduire des donnees dans des taximetres electroniques a partir d'un ordinateur central relie temporairement a un terminal local
US5140684A (en) * 1987-09-30 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Access privilege-checking apparatus and method
JPH01175057A (ja) * 1987-12-28 1989-07-11 Toshiba Corp セキュリティの動的管理方法
US5220669A (en) * 1988-02-10 1993-06-15 International Business Machines Corporation Linkage mechanism for program isolation
US5023773A (en) * 1988-02-10 1991-06-11 International Business Machines Corporation Authorization for selective program access to data in multiple address spaces
CA1314101C (en) * 1988-02-17 1993-03-02 Henry Shao-Lin Teng Expert system for security inspection of a digital computer system in a network environment
DE3901457A1 (de) * 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit
GB2230881A (en) * 1989-04-28 1990-10-31 Christopher William Cowsley Data storage protection
US5574912A (en) * 1990-05-04 1996-11-12 Digital Equipment Corporation Lattice scheduler method for reducing the impact of covert-channel countermeasures
US5504814A (en) * 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5475833A (en) * 1991-09-04 1995-12-12 International Business Machines Corporation Database system for facilitating comparison of related information stored in a distributed resource
US5627967A (en) * 1991-09-24 1997-05-06 International Business Machines Corporation Automated generation on file access control system commands in a data processing system with front end processing of a master list
US5305456A (en) * 1991-10-11 1994-04-19 Security Integration, Inc. Apparatus and method for computer system integrated security
US5276901A (en) * 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5428795A (en) * 1992-07-31 1995-06-27 International Business Machines Corporation Method of and apparatus for providing automatic security control of distributions within a data processing system
US7036019B1 (en) 1994-04-01 2006-04-25 Intarsia Software Llc Method for controlling database copyrights
JPH07271865A (ja) 1994-04-01 1995-10-20 Mitsubishi Corp データベース著作権管理方法
US6744894B1 (en) 1994-04-01 2004-06-01 Mitsubishi Corporation Data management system
US5613063A (en) * 1994-07-01 1997-03-18 Digital Equipment Corporation Method and apparatus for checking validity of memory operations
US7302415B1 (en) 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
EP0715241B1 (en) 1994-10-27 2004-01-14 Mitsubishi Corporation Apparatus for data copyright management system
EP1691316A1 (en) 1994-10-27 2006-08-16 Intarsia Software LLC Data copyright management system
US6424715B1 (en) * 1994-10-27 2002-07-23 Mitsubishi Corporation Digital content management system and apparatus
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7143290B1 (en) 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
EP1643340B1 (en) 1995-02-13 2013-08-14 Intertrust Technologies Corp. Secure transaction management
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7124302B2 (en) 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7165174B1 (en) 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
US5784612A (en) * 1995-05-03 1998-07-21 International Business Machines Corporation Configuration and unconfiguration of distributed computing environment components
US8595502B2 (en) 1995-09-29 2013-11-26 Intarsia Software Llc Data management system
US7801817B2 (en) 1995-10-27 2010-09-21 Makoto Saito Digital content management system and apparatus
US5867647A (en) * 1996-02-09 1999-02-02 Secure Computing Corporation System and method for securing compiled program code
US5913024A (en) * 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
US5918018A (en) 1996-02-09 1999-06-29 Secure Computing Corporation System and method for achieving network separation
TW335503B (en) 1996-02-23 1998-07-01 Semiconductor Energy Lab Kk Semiconductor thin film and manufacturing method and semiconductor device and its manufacturing method
US6272538B1 (en) 1996-07-30 2001-08-07 Micron Technology, Inc. Method and system for establishing a security perimeter in computer networks
US6272639B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Mixed enclave operation in a computer network
US6993582B2 (en) * 1996-07-30 2006-01-31 Micron Technology Inc. Mixed enclave operation in a computer network
US6148083A (en) * 1996-08-23 2000-11-14 Hewlett-Packard Company Application certification for an international cryptography framework
IES70738B2 (en) * 1996-09-09 1996-12-11 Cara Research Limited A data processing system
US6003084A (en) * 1996-09-13 1999-12-14 Secure Computing Corporation Secure network proxy for connecting entities
US6144934A (en) * 1996-09-18 2000-11-07 Secure Computing Corporation Binary filter using pattern recognition
US6072942A (en) * 1996-09-18 2000-06-06 Secure Computing Corporation System and method of electronic mail filtering using interconnected nodes
US5950195A (en) * 1996-09-18 1999-09-07 Secure Computing Corporation Generalized security policy management system and method
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US5915087A (en) * 1996-12-12 1999-06-22 Secure Computing Corporation Transparent security proxy for unreliable message exchange protocols
US20050021477A1 (en) * 1997-01-29 2005-01-27 Ganapathy Krishnan Method and system for securely incorporating electronic information into an online purchasing application
US6105132A (en) * 1997-02-20 2000-08-15 Novell, Inc. Computer network graded authentication system and method
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US7092914B1 (en) 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6321336B1 (en) 1998-03-13 2001-11-20 Secure Computing Corporation System and method for redirecting network traffic to provide secure communication
US6453419B1 (en) 1998-03-18 2002-09-17 Secure Computing Corporation System and method for implementing a security policy
US6182226B1 (en) 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
DE19846673A1 (de) * 1998-10-09 2000-04-20 Siemens Ag Verfahren zur Verbindung von Stackmanipulationsangriffen bei Funktionsaufrufen
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7171567B1 (en) * 1999-08-02 2007-01-30 Harris Interactive, Inc. System for protecting information over the internet
US6389542B1 (en) * 1999-10-27 2002-05-14 Terence T. Flyntz Multi-level secure computer with token-based access control
US6643783B2 (en) 1999-10-27 2003-11-04 Terence T. Flyntz Multi-level secure computer with token-based access control
US6351817B1 (en) 1999-10-27 2002-02-26 Terence T. Flyntz Multi-level secure computer with token-based access control
GB0005535D0 (en) * 2000-03-09 2000-04-26 Smiths Industries Plc Processing systems
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7409432B1 (en) 2000-10-19 2008-08-05 International Business Machines Corporation Efficient process for handover between subnet managers
US6851059B1 (en) * 2000-10-19 2005-02-01 International Business Machines Corporation Method and system for choosing a queue protection key that is tamper-proof from an application
US7136907B1 (en) 2000-10-19 2006-11-14 International Business Machines Corporation Method and system for informing an operating system in a system area network when a new device is connected
US20040064723A1 (en) * 2001-10-31 2004-04-01 Barnes Brian C. Method and apparatus for physical address-based security to determine target security
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
US7739498B2 (en) * 2002-01-15 2010-06-15 GlobalFoundries, Inc. Method and apparatus for multi-table accessing of input/output devices using target security
WO2003073762A1 (en) * 2002-02-27 2003-09-04 Opentv, Inc. A method and apparatus for providing a hierarchical security profile object
EP1349033B1 (en) * 2002-03-26 2004-03-31 Soteres GmbH A method of protecting the integrity of a computer program
FI115564B (fi) * 2003-02-03 2005-05-31 Nokia Corp Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite
US7430760B2 (en) * 2003-12-05 2008-09-30 Microsoft Corporation Security-related programming interface
US7661123B2 (en) 2003-12-05 2010-02-09 Microsoft Corporation Security policy update supporting at least one security service provider
US7533413B2 (en) * 2003-12-05 2009-05-12 Microsoft Corporation Method and system for processing events
US8782405B2 (en) * 2004-03-18 2014-07-15 International Business Machines Corporation Providing transaction-level security
US7490347B1 (en) * 2004-04-30 2009-02-10 Sap Ag Hierarchical security domain model
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
EP1742152B1 (en) * 2005-07-07 2012-09-12 Texas Instruments Inc. Method and system for a multi-sharing memory access control
US8849765B2 (en) * 2008-04-22 2014-09-30 Anne Marina Faggionato System and method for providing a permanent data record for a creative work
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
DE102009032466B4 (de) * 2008-07-16 2017-03-02 Infineon Technologies Ag Sicherheit in Netzwerken
US20100241638A1 (en) * 2009-03-18 2010-09-23 O'sullivan Patrick Joseph Sorting contacts
JP7172155B2 (ja) * 2018-06-13 2022-11-16 株式会社デンソー 電子制御装置及びソフトウエア生成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
US4020471A (en) * 1975-06-30 1977-04-26 Honeywell Information Systems, Inc. Interrupt scan and processing system for a data processing system
US4017839A (en) * 1975-06-30 1977-04-12 Honeywell Information Systems, Inc. Input/output multiplexer security system
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228678A (ja) * 1988-03-09 1989-09-12 Mitsubishi Motors Corp 溶接ロボット用電極の研摩方法

Also Published As

Publication number Publication date
GB1539356A (en) 1979-01-31
JPS5384524A (en) 1978-07-26
FR2376461A1 (fr) 1978-07-28
US4104721A (en) 1978-08-01
DE2758152A1 (de) 1978-07-13
FR2376461B1 (ja) 1980-08-22

Similar Documents

Publication Publication Date Title
JPS6112584B2 (ja)
JP3081619B2 (ja) コンピュータ・システムとその保安方法
US6952778B1 (en) Protecting access to microcontroller memory blocks
CA2064640C (en) Storage protection utilizing public key control
US6681304B1 (en) Method and device for providing hidden storage in non-volatile memory
US4087856A (en) Location dependence for assuring the security of system-control operations
US4926476A (en) Method and apparatus for secure execution of untrusted software
US4918653A (en) Trusted path mechanism for an operating system
US5280614A (en) Apparatus and method for controlling access to data using domains
US3609697A (en) Program security device
US5012514A (en) Hard drive security system
US7774561B2 (en) Key-controlled object-based memory protection
US5970246A (en) Data processing system having a trace mechanism and method therefor
US7793349B2 (en) System for prevention of buffer overflow intrusions
JPS61195443A (ja) データ処理システム内のシステムフアイルを保護する方法及びデータ処理システム
US20100131729A1 (en) Integrated circuit with improved device security
EP3864555B1 (en) Verifying a stack pointer
GB2248125A (en) Lattice scheduler method for reducing the impact of covert-channel counter-measures
US4093987A (en) Hardware control storage area protection method and means
KR100791815B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에서 인스트럭션을 실행하는 방법
JP3072706B2 (ja) データ保護装置及びコンピュータ・システム
EP4310711A1 (en) Sensitive data reading method and apparatus, electronic device, and storage medium
KR102324950B1 (ko) 취약점을 효율적으로 탐지할 수 있는 아키텍처로 구성된 힙 영역 메모리 관리 방법 및 그 장치
US6889308B1 (en) Method and apparatus for protecting page translations
JPS6074059A (ja) 記憶装置アクセス制御方式