JPS6022377B2 - アドレス制御方式 - Google Patents
アドレス制御方式Info
- Publication number
- JPS6022377B2 JPS6022377B2 JP56033288A JP3328881A JPS6022377B2 JP S6022377 B2 JPS6022377 B2 JP S6022377B2 JP 56033288 A JP56033288 A JP 56033288A JP 3328881 A JP3328881 A JP 3328881A JP S6022377 B2 JPS6022377 B2 JP S6022377B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- register
- access
- instruction
- program
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
開示の概要
プロセッサ中の複数の汎用レジスタ(GPR)と関連し
て複数のアクセス・レジスタ(AR)が新たに設けられ
る。
て複数のアクセス・レジスタ(AR)が新たに設けられ
る。
ARの各々は、一意的なセグメント・テーブル記述子(
STD)をロードされる。STDは、主記憶中に置かれ
たセグメント・テーブル起点(STO)アドレスと該セ
グメント・テーブルの長さフィールドを含む。1封固の
GPRに関連する1封固のARは、最大19箇までのデ
ータ・アドレス空間のサプセツトを規定する。
STD)をロードされる。STDは、主記憶中に置かれ
たセグメント・テーブル起点(STO)アドレスと該セ
グメント・テーブルの長さフィールドを含む。1封固の
GPRに関連する1封固のARは、最大19箇までのデ
ータ・アドレス空間のサプセツトを規定する。
所与のARに置かれたSTDは、関連するGPRが記憶
オペランドの基底レジスタとして選択されるとき、アド
レス変換のために選択される。各ARに関連して与えら
れる特殊フィールドは、関連するARが可能化されてい
てそこに使用可能なSTDが保持されていること、又は
関連するARが不能化されていてSTDをそれ以外の処
から得なければならないことを指示する。このように不
能化されたARに関中するGPRは、他のARによって
規定されたアドレス空間に関連する基底値を指定する事
ができる。しかしながら、もし、所与のGPRが記憶オ
ペランドの基底レジスタとしてではなく、所与の命令の
指標レジスタ又はデータ・ソ−ス・レジスタもしくはデ
ータ・シンク・レジスタとして選択されるならば、この
GPRに関連するAR中のSTDはアドレス変換のため
には選択されない。データを含み得る実行中プログラム
のアドレス空間を規定し且つ制御するために、第1母客
目のARを設けることができる。又ARの各々に関連し
てアクセス・レジスタ制御べクト(ARCV)レジスタ
をそれぞれ設けることにより、各アドレス空間における
内容のアクセス及び使用態様を制御することができる。
発明の背景本発明はデータ処理システム中で実行されて
いる所与のプログラムが多重仮想アドレス空間を同時に
アクセスできるようにすることに係る。
オペランドの基底レジスタとして選択されるとき、アド
レス変換のために選択される。各ARに関連して与えら
れる特殊フィールドは、関連するARが可能化されてい
てそこに使用可能なSTDが保持されていること、又は
関連するARが不能化されていてSTDをそれ以外の処
から得なければならないことを指示する。このように不
能化されたARに関中するGPRは、他のARによって
規定されたアドレス空間に関連する基底値を指定する事
ができる。しかしながら、もし、所与のGPRが記憶オ
ペランドの基底レジスタとしてではなく、所与の命令の
指標レジスタ又はデータ・ソ−ス・レジスタもしくはデ
ータ・シンク・レジスタとして選択されるならば、この
GPRに関連するAR中のSTDはアドレス変換のため
には選択されない。データを含み得る実行中プログラム
のアドレス空間を規定し且つ制御するために、第1母客
目のARを設けることができる。又ARの各々に関連し
てアクセス・レジスタ制御べクト(ARCV)レジスタ
をそれぞれ設けることにより、各アドレス空間における
内容のアクセス及び使用態様を制御することができる。
発明の背景本発明はデータ処理システム中で実行されて
いる所与のプログラムが多重仮想アドレス空間を同時に
アクセスできるようにすることに係る。
多重仮想アドレス空間の環境で仮想アドレツシングを使
用するデータ処理システムは、例えばMNS(多重仮想
記憶)/システム制御プログラムを使用するIBMシス
テム/370に見られるように、当該技術分野では周知
である。このようなシステムは、セグメント・テーブル
及びページ・テ−ブルを使用して、0乃至亥4一1バイ
トのアドレス範囲(ad心essabm〇)を有する各
アドレス空間を規定する。セグメント・テーブルの各ヱ
ントリはべ−ジ・テーブルのアドレスを保持し、各ペー
ジ・テーブルはそのアドレス空間中にある複数のページ
を規定する。即ち、各ページ・テーフル・ェントリは、
主記憶に割付けられたページ・フレームのアドレスを保
持することができる。各アドレス空間は、主記憶に置か
れたセグメント・テーブルを位置付けるようなセグメン
ト・テーフル起点(STO)と呼ばれるポインタによっ
て参照される。mMシステム/370のアーキテクチヤ
では、各アドレス空間は0乃至18 Mバイト(Z4バ
イト)までのアドレス範囲を有する。前記のMNS/シ
ステム制御プログラムを使用するBMシステム/370
では、実質的に無限のアドレス空間を利用することがで
きる。従って複数のユーザにそれぞれ異なるアドレス空
間を割当て、各ユーザがその割当てられたアドレス空間
だけをアドレスできるようにすると、それぞれのアドレ
ス空間を互いに分離することができる。もっとも、或る
アドレス空間又はその一部がすべてのユーザによって共
有されるものと規定されている場合は別である(米国特
許第4096573号及び第4136385号参照)。
かくて、これらの先行技術では、複数のアドレス空間が
完全に分離されるか、又は或るアドレス空間もしくはそ
の一部がすべてのユーザによって完全に共有されていた
にすぎない。mMシリーズ/1のプロセッサは、本発明
とは異なる様式で、複数のアドレス空間を同時にアクセ
スすることができる。
用するデータ処理システムは、例えばMNS(多重仮想
記憶)/システム制御プログラムを使用するIBMシス
テム/370に見られるように、当該技術分野では周知
である。このようなシステムは、セグメント・テーブル
及びページ・テ−ブルを使用して、0乃至亥4一1バイ
トのアドレス範囲(ad心essabm〇)を有する各
アドレス空間を規定する。セグメント・テーブルの各ヱ
ントリはべ−ジ・テーブルのアドレスを保持し、各ペー
ジ・テーブルはそのアドレス空間中にある複数のページ
を規定する。即ち、各ページ・テーフル・ェントリは、
主記憶に割付けられたページ・フレームのアドレスを保
持することができる。各アドレス空間は、主記憶に置か
れたセグメント・テーブルを位置付けるようなセグメン
ト・テーフル起点(STO)と呼ばれるポインタによっ
て参照される。mMシステム/370のアーキテクチヤ
では、各アドレス空間は0乃至18 Mバイト(Z4バ
イト)までのアドレス範囲を有する。前記のMNS/シ
ステム制御プログラムを使用するBMシステム/370
では、実質的に無限のアドレス空間を利用することがで
きる。従って複数のユーザにそれぞれ異なるアドレス空
間を割当て、各ユーザがその割当てられたアドレス空間
だけをアドレスできるようにすると、それぞれのアドレ
ス空間を互いに分離することができる。もっとも、或る
アドレス空間又はその一部がすべてのユーザによって共
有されるものと規定されている場合は別である(米国特
許第4096573号及び第4136385号参照)。
かくて、これらの先行技術では、複数のアドレス空間が
完全に分離されるか、又は或るアドレス空間もしくはそ
の一部がすべてのユーザによって完全に共有されていた
にすぎない。mMシリーズ/1のプロセッサは、本発明
とは異なる様式で、複数のアドレス空間を同時にアクセ
スすることができる。
このプロセッサは、命令のソース・オペランドを第1ア
ドレス空間に関連付け、命令の任意のシンク・オペラン
ドを第2アドレス空間へ関連付け、そして命令の取出を
第3アドレス空間へ関連付けるようにしている。これに
対し、本発明は、命令のソース・オペランド又はシンク
・オペランドを各アドレス空間へ関連付けるようなかか
る特徴を使用していない。そうではなくて、本発明は、
基底レジスタとしての汎用レジスタのオペランド指定を
使用して、該汎用レジスタに関連するアドレス空間を選
択するのである。その結果、本発明は、アドレス空間を
切換えるためのどのような命令をも使用しないで、任意
のオペランド(例えば、異なるアドレス空間にあるソー
ス・オペランド)のためのアドレス空間を容易に切換え
ることができる。以下の特許は、mMシリーズ/1のア
ドレス空間制御に係る。米国特許第4035779号は
、代替保護モード(APM)ビット及び監視プログラム
状態ビットを有するレベル状況レジスタ(LSR)を開
示する。これらのビットは、ユーザ・キー・レジスタ(
UKR)に保持されたユーザ・アドレス・キーに干渉す
ることなく、監視プログラムの制限されたアドレス範囲
を制御する。これらのビットが両者ともにセットされて
いる場合、各命令の取出が(ゼロ・キーを有する)監視
プログラム・キー領域で行なわれねばならないのに対し
、各オペランドのアクセスはユーザ・キー・レジスタに
置かれた現在のキーによって識別されるユーザ・キー領
域で行なわれる。監視プログラムは、主記憶中の他のい
かなるキー領域をもアクセスすることができない。監視
プログラム状態ビットのみがセットされている場合、す
べての命令及びオペランドのアクセスは監視プログラム
・キー領域でだけ行なわれる。もし両ビットがリセット
されているならば、ユーザのアクセスだけが許容される
。米国特許第4037207号は、1/0の活動アドレ
ス・キー(AAK)を無視するようなプロセッサの活動
アドレス・キーが、プロセッサの最後の活動アドレス・
キー・レジスタへ最終保存キー(LKSA)として入力
されることを開示する。
ドレス空間に関連付け、命令の任意のシンク・オペラン
ドを第2アドレス空間へ関連付け、そして命令の取出を
第3アドレス空間へ関連付けるようにしている。これに
対し、本発明は、命令のソース・オペランド又はシンク
・オペランドを各アドレス空間へ関連付けるようなかか
る特徴を使用していない。そうではなくて、本発明は、
基底レジスタとしての汎用レジスタのオペランド指定を
使用して、該汎用レジスタに関連するアドレス空間を選
択するのである。その結果、本発明は、アドレス空間を
切換えるためのどのような命令をも使用しないで、任意
のオペランド(例えば、異なるアドレス空間にあるソー
ス・オペランド)のためのアドレス空間を容易に切換え
ることができる。以下の特許は、mMシリーズ/1のア
ドレス空間制御に係る。米国特許第4035779号は
、代替保護モード(APM)ビット及び監視プログラム
状態ビットを有するレベル状況レジスタ(LSR)を開
示する。これらのビットは、ユーザ・キー・レジスタ(
UKR)に保持されたユーザ・アドレス・キーに干渉す
ることなく、監視プログラムの制限されたアドレス範囲
を制御する。これらのビットが両者ともにセットされて
いる場合、各命令の取出が(ゼロ・キーを有する)監視
プログラム・キー領域で行なわれねばならないのに対し
、各オペランドのアクセスはユーザ・キー・レジスタに
置かれた現在のキーによって識別されるユーザ・キー領
域で行なわれる。監視プログラムは、主記憶中の他のい
かなるキー領域をもアクセスすることができない。監視
プログラム状態ビットのみがセットされている場合、す
べての命令及びオペランドのアクセスは監視プログラム
・キー領域でだけ行なわれる。もし両ビットがリセット
されているならば、ユーザのアクセスだけが許容される
。米国特許第4037207号は、1/0の活動アドレ
ス・キー(AAK)を無視するようなプロセッサの活動
アドレス・キーが、プロセッサの最後の活動アドレス・
キー・レジスタへ最終保存キー(LKSA)として入力
されることを開示する。
機械チェック又はプログラム・チェックが生ずると、こ
の最後の活動アドレス・キー・レジスタはその入力を阻
止され、かくて最終保存キーを維持することができる。
次いで、この最終保存キーはアドレス・キー・レジスタ
(AKR)のソース.オペランド・キー(OPIK)セ
クションへ出力ゲートされ、そしてシンク・オペランド
・キー(OPが)セクション及び命令空間キー(ISK
)セクションは監視プログラム・キーヘセツトされるの
で、割込み原因を含むことある最終保存キーのアドレス
砲図でもつて割込みをかけることにより監視プログラム
を起動することができる。米国特許第4037214号
は、1/0サブチャネル及びプロセッサのアドレス・キ
ー・レジスタにアドレス空間識別子をそれぞれ保持する
キー・レジスタ・セクションを、機械で識別可能な主記
憶のアクセス・タイプと関連付けるような活動アドレス
・キー選択回路を開示する。
の最後の活動アドレス・キー・レジスタはその入力を阻
止され、かくて最終保存キーを維持することができる。
次いで、この最終保存キーはアドレス・キー・レジスタ
(AKR)のソース.オペランド・キー(OPIK)セ
クションへ出力ゲートされ、そしてシンク・オペランド
・キー(OPが)セクション及び命令空間キー(ISK
)セクションは監視プログラム・キーヘセツトされるの
で、割込み原因を含むことある最終保存キーのアドレス
砲図でもつて割込みをかけることにより監視プログラム
を起動することができる。米国特許第4037214号
は、1/0サブチャネル及びプロセッサのアドレス・キ
ー・レジスタにアドレス空間識別子をそれぞれ保持する
キー・レジスタ・セクションを、機械で識別可能な主記
憶のアクセス・タイプと関連付けるような活動アドレス
・キー選択回路を開示する。
機械で識別可能なアクセス・タイプには、例えば命令取
出、ソース・オペランド取出、シンク・オペランド取世
/書込及び1/0サブチャネル・アクセスが含まれる。
米国特許第4037215号は、複数のアドレス・キー
・レジス夕・セクション及び活動アドレス・キー選択回
路と組合わされたアドレス再配置変換機構により、機械
が選択したレジスタ・キー及びプログラムが選択した論
理アドレスを変換し、もって物理的な主記憶における空
間を管理することが開示されている。
出、ソース・オペランド取出、シンク・オペランド取世
/書込及び1/0サブチャネル・アクセスが含まれる。
米国特許第4037215号は、複数のアドレス・キー
・レジス夕・セクション及び活動アドレス・キー選択回
路と組合わされたアドレス再配置変換機構により、機械
が選択したレジスタ・キー及びプログラムが選択した論
理アドレスを変換し、もって物理的な主記憶における空
間を管理することが開示されている。
米国特許第40斑645号は、複数のアドレス・キー・
レジスタ・セクションを通常の記憶保護キー・メモリ制
御を有する活動アドレス・キー選択回路と組合わせるこ
とにより、機械で識別可能な種々のアクセス・タイプの
間でアドレス・サブレンジの保護可能性(protec
ねbility)を与えることが開示されている。
レジスタ・セクションを通常の記憶保護キー・メモリ制
御を有する活動アドレス・キー選択回路と組合わせるこ
とにより、機械で識別可能な種々のアクセス・タイプの
間でアドレス・サブレンジの保護可能性(protec
ねbility)を与えることが開示されている。
又共通キーに関連するアドレス・サブレンジはシステム
・ユーザによって共有可能にされ、そしてすべての1/
0アクセスはサブレンジの謎出専用保護フラグを無視す
る。米国特許第4042913号は、命令の制御下でア
ドレス・キー、即ちアドレス空間識別子をアドレス・キ
ー・レジス夕へロードしたり又はそこから書込んだりす
ることによって、システム中のアドレス範囲を制御する
ことを開示する。米国特許第4050060号はオペラ
ンド空間等化(EOS)制御を開示し、これが可能化(
e岬ble)されると、アドレス・キー・レジスタがそ
のソース・オペランド・キー・セクションでもつてソー
ス・オペランド・アクセスのために異なるアドレス範囲
を与えるとしても、アドレス・キー・レジスタのシンク
・オペランド・キー・セクションによって与えられるシ
ンク・オペランドのアドレス範囲内ですべてのオペラン
ド・アクセス(即ち、ソース及びシンク)が生ずるよう
に強制される。
・ユーザによって共有可能にされ、そしてすべての1/
0アクセスはサブレンジの謎出専用保護フラグを無視す
る。米国特許第4042913号は、命令の制御下でア
ドレス・キー、即ちアドレス空間識別子をアドレス・キ
ー・レジス夕へロードしたり又はそこから書込んだりす
ることによって、システム中のアドレス範囲を制御する
ことを開示する。米国特許第4050060号はオペラ
ンド空間等化(EOS)制御を開示し、これが可能化(
e岬ble)されると、アドレス・キー・レジスタがそ
のソース・オペランド・キー・セクションでもつてソー
ス・オペランド・アクセスのために異なるアドレス範囲
を与えるとしても、アドレス・キー・レジスタのシンク
・オペランド・キー・セクションによって与えられるシ
ンク・オペランドのアドレス範囲内ですべてのオペラン
ド・アクセス(即ち、ソース及びシンク)が生ずるよう
に強制される。
オペランド空間等化制御が不能化(disable)さ
れると、ソース・オペランド・キー・セクションによっ
て与えられるソース・オペランドのアドレス範囲はソー
ス・オペランドを取出す場合に使用される。発明の要約 本発明は、実行可能なプログラムに関連してシステム中
にあるアドレス空間のサブセツト間の分離又は共有可能
性の程度を正確に制御することに係る。
れると、ソース・オペランド・キー・セクションによっ
て与えられるソース・オペランドのアドレス範囲はソー
ス・オペランドを取出す場合に使用される。発明の要約 本発明は、実行可能なプログラムに関連してシステム中
にあるアドレス空間のサブセツト間の分離又は共有可能
性の程度を正確に制御することに係る。
共有可能性の制御は新規な実現手段によって得られるが
、これは既存のIBMシステム/370のアーキテクチ
ャと互換性がある。本発明の目的は、下記の機能を有す
るプ。
、これは既存のIBMシステム/370のアーキテクチ
ャと互換性がある。本発明の目的は、下記の機能を有す
るプ。
セッサを提供することである。1 種々のアドレス空間
にある命名されたデータの集まりを相対バイト・アドレ
ッシングで以て直接にアドレスできること。
にある命名されたデータの集まりを相対バイト・アドレ
ッシングで以て直接にアドレスできること。
2 主記憶及び1/0記憶によって命名された集まりと
して処理されうるデータ・セットを直接にアドレスでき
ること。
して処理されうるデータ・セットを直接にアドレスでき
ること。
3 複数のアドレス空間の所与のサブセツトを同時にア
クセスすること。
クセスすること。
4 既存のアーキテクチャ及び本発明の新しいアーキテ
クチヤのために設計された両プログラムの実行を可能に
するように既存のアーキテクチャとの互換性を有するこ
と。
クチヤのために設計された両プログラムの実行を可能に
するように既存のアーキテクチャとの互換性を有するこ
と。
5 複数のアドレス空間の同時的にアクセス可能な所与
のサブセットをユーザの適用プログラム及び既存のアク
セス方式プログラムによって直接且つ容易に使用できる
こと。
のサブセットをユーザの適用プログラム及び既存のアク
セス方式プログラムによって直接且つ容易に使用できる
こと。
6 実行プログラムのアドレス空間及び複数のアドレス
空間(例えば最大19固のデータ空間)の所与のサブセ
ツトを同時にアクスセできること。
空間(例えば最大19固のデータ空間)の所与のサブセ
ツトを同時にアクスセできること。
7 同時的にアクセス可能な複数のアドレス空間におけ
る相対バイト・アドレッシングを規定するような各基底
レジスタに関連して別々のアクセス・レジスタを備える
こと。
る相対バイト・アドレッシングを規定するような各基底
レジスタに関連して別々のアクセス・レジスタを備える
こと。
8 汎用レジス夕の数に応じた多数の同時的にアクセス
可能なデータ空間をサポートすること。
可能なデータ空間をサポートすること。
9 各汎用レジスタのビット数をNとしたとき、最大2
Nバイトのアドレス範囲を有する各アドレス空間で相対
バイト・アドレツシングをサポートすること。
Nバイトのアドレス範囲を有する各アドレス空間で相対
バイト・アドレツシングをサポートすること。
10 種々のアドレス空間をアクセスするためのアクセ
ス・レジスタに再ロ−ドすることによって、同時的にア
クセス可能な複数のアドレス空間のサブセツトを任意の
時間に変更できること。
ス・レジスタに再ロ−ドすることによって、同時的にア
クセス可能な複数のアドレス空間のサブセツトを任意の
時間に変更できること。
11 複数のプログラム・アドレス空間が指定された複
数のデータ・アドレス空間を共有することができるよう
にする一方、他のデータ・アドレス空間を共有できない
ようにし、又互いに他のプログラム・アドレス空間を共
有することを許容又は禁止できるようにすること。
数のデータ・アドレス空間を共有することができるよう
にする一方、他のデータ・アドレス空間を共有できない
ようにし、又互いに他のプログラム・アドレス空間を共
有することを許容又は禁止できるようにすること。
12 種々のプログラムが種々の許容状態(a山hor
ity)で以て同じデータ・アドレス空間をアクセスす
ることができるように、各アクセス・レジスタで許可状
態の制御を行なうこと。
ity)で以て同じデータ・アドレス空間をアクセスす
ることができるように、各アクセス・レジスタで許可状
態の制御を行なうこと。
13 各アクセス・レジス外こその関連するアドレス空
間の属性又は該アドレス空間におけるデータ要素を指定
する記述フィールドを設け、これにより該アドレス空間
に関連する命令の動作を決定すること。
間の属性又は該アドレス空間におけるデータ要素を指定
する記述フィールドを設け、これにより該アドレス空間
に関連する命令の動作を決定すること。
14 プログラムによって必要になるまで該プログラム
ヘデータ・アドレス空間を結合することを要しないアド
レツシング機構を備えること。
ヘデータ・アドレス空間を結合することを要しないアド
レツシング機構を備えること。
15 プログラムが実行可能にされていない場合、即ち
プログラムが指名(ディスパッチ)されていない場合、
このようなプログラムとは無関係に複数のデータ・アド
レス空間をサポートすることができるようなアドレッシ
ング機構を備えること。
プログラムが指名(ディスパッチ)されていない場合、
このようなプログラムとは無関係に複数のデータ・アド
レス空間をサポートすることができるようなアドレッシ
ング機構を備えること。
16 プログラム・アドレス空間におけるデータの相対
アドレツシングを汎用レジスタが与えるようにそのアク
セス・レジスタを不能化し、又(このプログラム・アド
レス空間とは別個にそのアクセス・レジスタによって指
定された)データ・アドレス空間における相対アドレッ
シングを該汎用レジスタが制御するようにそのアクセス
・レジスタを可能化すること。
アドレツシングを汎用レジスタが与えるようにそのアク
セス・レジスタを不能化し、又(このプログラム・アド
レス空間とは別個にそのアクセス・レジスタによって指
定された)データ・アドレス空間における相対アドレッ
シングを該汎用レジスタが制御するようにそのアクセス
・レジスタを可能化すること。
17 既存のアーキテクチャの下でプログラムを実行し
ている間、アクセス・レジスタを不能化することにより
、このようなプログラムの実行に先立ってアクセス・レ
ジスタへロードする必要性を排除できること。
ている間、アクセス・レジスタを不能化することにより
、このようなプログラムの実行に先立ってアクセス・レ
ジスタへロードする必要性を排除できること。
18 各プログラム空間におけるプログラムが指定され
た特権命令を使用することを別々に許可するように各プ
ログラム空間に関する許可状態の制御を行なうこと。
た特権命令を使用することを別々に許可するように各プ
ログラム空間に関する許可状態の制御を行なうこと。
19 逐次的な複数のオペランド要求が複数のアクセス
・レジスタで識別された種々のアドレス空間を柔軟にア
クセスできるようにすること。
・レジスタで識別された種々のアドレス空間を柔軟にア
クセスできるようにすること。
いかなるものであれアドレス空間を切換えるための命令
の介入は必要でなく、しかも任意のアドレス空間と要求
中オペランドのソース又はシンク状態との間に特定の関
係を設定する必要もない。従って、本発明の特徴とする
処は、複数のアドレス空間の所与のサプセットにあるデ
ータを実行中プログラムによってアクセスすることを制
御する点にあり、更に詳細に説明すれば、このプログラ
ムが異なるアドレス空間にあるデータをアクセスする場
合であっても、このプログラムの実行を中断することな
くそのアクセスを制御する点にある。
の介入は必要でなく、しかも任意のアドレス空間と要求
中オペランドのソース又はシンク状態との間に特定の関
係を設定する必要もない。従って、本発明の特徴とする
処は、複数のアドレス空間の所与のサプセットにあるデ
ータを実行中プログラムによってアクセスすることを制
御する点にあり、更に詳細に説明すれば、このプログラ
ムが異なるアドレス空間にあるデータをアクセスする場
合であっても、このプログラムの実行を中断することな
くそのアクセスを制御する点にある。
アクセスの様式は、アドレス空間に応じて変更すること
ができる。たとえば、このプログラムは第1アドレス空
間についてはそこからデータを読出すことだけを許容さ
れ、第2アドレス空間についてはそこへデータを書込む
ことだけを許容され、第3アドレス空間についてはデー
タの読出し及び書込みの両方を許容される。本発明に従
って、プロセッサ中にある複数の汎用レジスタ(以下「
GPR」と略す)に関連して複数のアクセス・レジスタ
(以下「AR」と略す)が設けられる。ARの各々は、
アドレス空間識別子、例えば一意的なセグメント・テー
ブル記述子(以下「STD」と略す)をロードされる。
STDは、セグメント・テーブル起点(以下「STO」
と略す)フィールド及びセグメント・テーブルの長さフ
ィールドから成る。かくて、プロセッサ中の1句固のG
PRに関連する1針固のARが設けられる。所与のAR
に置かれたSTDがアドレス変換のために選択されるの
は、関連するGPRが記憶オペラソドの基底レジスタと
して選択される場合、例えば関連するGPRがIBMシ
ステム/370の命令のBフィールドによって選択され
る場合である。しかしながら、もし関連するGPRが記
憶オペランドの基底アドレスとしてではなく、命令の指
標(×)レジスタ又はデータ・ース・レジスタもしくは
データ・シンク・レジスタ(R)として選択されるなら
ば、このAR中のSTDはアドレス変換のためには選択
されない。又本発明は各ARに関連してアクセス・レジ
スタ制御ベクトル(以下「ARCV」と略す)レジスタ
を設け、関連するアドレス空間に対する実行中プログラ
ムのアクセス・タイプを制御することにより、各アドレ
ス空間に対する各プログラム・アクセスの許可状態を制
御するようにしている。
ができる。たとえば、このプログラムは第1アドレス空
間についてはそこからデータを読出すことだけを許容さ
れ、第2アドレス空間についてはそこへデータを書込む
ことだけを許容され、第3アドレス空間についてはデー
タの読出し及び書込みの両方を許容される。本発明に従
って、プロセッサ中にある複数の汎用レジスタ(以下「
GPR」と略す)に関連して複数のアクセス・レジスタ
(以下「AR」と略す)が設けられる。ARの各々は、
アドレス空間識別子、例えば一意的なセグメント・テー
ブル記述子(以下「STD」と略す)をロードされる。
STDは、セグメント・テーブル起点(以下「STO」
と略す)フィールド及びセグメント・テーブルの長さフ
ィールドから成る。かくて、プロセッサ中の1句固のG
PRに関連する1針固のARが設けられる。所与のAR
に置かれたSTDがアドレス変換のために選択されるの
は、関連するGPRが記憶オペラソドの基底レジスタと
して選択される場合、例えば関連するGPRがIBMシ
ステム/370の命令のBフィールドによって選択され
る場合である。しかしながら、もし関連するGPRが記
憶オペランドの基底アドレスとしてではなく、命令の指
標(×)レジスタ又はデータ・ース・レジスタもしくは
データ・シンク・レジスタ(R)として選択されるなら
ば、このAR中のSTDはアドレス変換のためには選択
されない。又本発明は各ARに関連してアクセス・レジ
スタ制御ベクトル(以下「ARCV」と略す)レジスタ
を設け、関連するアドレス空間に対する実行中プログラ
ムのアクセス・タイプを制御することにより、各アドレ
ス空間に対する各プログラム・アクセスの許可状態を制
御するようにしている。
所与のAR又はその関連するARCVレジスタ中の特殊
フィールドは、このARが可能化されていてそこに使用
可能なSTDが保持されていること、又はこのARが不
能化されていてSTDをそれ以外の処かち得なければな
らないことを指示することができる。各ARに関するこ
の特殊フィールドは、不能化された任意のARに関連す
るOPRが、他のARによって規定されたアドレス空間
に関連する基底値を指定することを許容する。例えば、
不能化されたARに関連するGPRは、特定のAROに
よって規定されたプログラム・アドレス空間におけるデ
ータの基底アドレスを指定することができる。かくて、
本発明は、どのアドレス空間が実行中プログラムを含む
かということ、そしてこれ以外のどのアドレス空間にあ
るデータが実行中プログラムによってアクセスされうる
かということを制御する。
フィールドは、このARが可能化されていてそこに使用
可能なSTDが保持されていること、又はこのARが不
能化されていてSTDをそれ以外の処かち得なければな
らないことを指示することができる。各ARに関するこ
の特殊フィールドは、不能化された任意のARに関連す
るOPRが、他のARによって規定されたアドレス空間
に関連する基底値を指定することを許容する。例えば、
不能化されたARに関連するGPRは、特定のAROに
よって規定されたプログラム・アドレス空間におけるデ
ータの基底アドレスを指定することができる。かくて、
本発明は、どのアドレス空間が実行中プログラムを含む
かということ、そしてこれ以外のどのアドレス空間にあ
るデータが実行中プログラムによってアクセスされうる
かということを制御する。
こうするには、実行中プログラムのSTDを保持するよ
うに1つのAR、例えばAROを固定的に割当ててもよ
い。そうすると、他のARは、実行中プログラムがアク
セス可能なデータを含むような他のアドレス空間のST
Dを保持するために利用することができる。又それらに
関連するARCVレジスタは、このようなデータ・アド
レス空間を実行中プログラムがアクセスする際に許容さ
れるアクセス・タイプを制御する。又実行中プログラム
のアドレス空間は、このプログラムに利用可能なデータ
を含むことができる。例えば、システム/370ではA
ROを実行中プログラムのSTDを保持するように割当
て、他のARI乃至AR15の全部又は一部を該プログ
ラムに利用可能なデータを含むアドレス空間のSTDを
保持するように割当てることができる。更に前述の機構
は、プロセッサによるAR又はARCVレジスタの使用
を不能化することによって、IBMシステム/370で
走行するように設計された既存プログラムを実行するた
めにも使用することができる。
うに1つのAR、例えばAROを固定的に割当ててもよ
い。そうすると、他のARは、実行中プログラムがアク
セス可能なデータを含むような他のアドレス空間のST
Dを保持するために利用することができる。又それらに
関連するARCVレジスタは、このようなデータ・アド
レス空間を実行中プログラムがアクセスする際に許容さ
れるアクセス・タイプを制御する。又実行中プログラム
のアドレス空間は、このプログラムに利用可能なデータ
を含むことができる。例えば、システム/370ではA
ROを実行中プログラムのSTDを保持するように割当
て、他のARI乃至AR15の全部又は一部を該プログ
ラムに利用可能なデータを含むアドレス空間のSTDを
保持するように割当てることができる。更に前述の機構
は、プロセッサによるAR又はARCVレジスタの使用
を不能化することによって、IBMシステム/370で
走行するように設計された既存プログラムを実行するた
めにも使用することができる。
というのは、このOPRはIBMシステム/370のそ
れと同じであるからである。例えば、制御レジスタ(C
R)又はプログラム状況ワード(PSW)の或るフィー
ルドにより、プロセッサが通常のIBMシステム/37
0モード又は本発明の仮想記憶間(cross−v“u
al−menory)モードのどちらで走行しているか
を指示することができる。又本発明に従って「AR/A
RCVロード」と呼ばれる新しい非一特権命令が提供さ
れるが、この命令は主記憶中の諸フィールドからAR及
びARCVレジスタヘロードし且つ特殊フィールドを可
能化状態へセットするものである。
れと同じであるからである。例えば、制御レジスタ(C
R)又はプログラム状況ワード(PSW)の或るフィー
ルドにより、プロセッサが通常のIBMシステム/37
0モード又は本発明の仮想記憶間(cross−v“u
al−menory)モードのどちらで走行しているか
を指示することができる。又本発明に従って「AR/A
RCVロード」と呼ばれる新しい非一特権命令が提供さ
れるが、この命令は主記憶中の諸フィールドからAR及
びARCVレジスタヘロードし且つ特殊フィールドを可
能化状態へセットするものである。
特定プログラムのためにロードさるべきAR及びARC
Vレジスタの値を保持する主記憶領域のアドレス範囲は
、OSI制御レジスタと呼ばれる1つの制御レジスタで
規定される。但し、DSIはデータ空間インベントリ(
DataSpace Inventory)を意味し、
以下では簡潔のためにその略語を使用することにする。
所与のプログラムのためにロードさるべきAR及びAR
CVレジスタの値は、DSI缶。御しジスタによって規
定されたDSIに含まれる。「AR/ARCVロード」
命令は、実行中プログラムによってアクセスさるべきア
ドレス空間に対するDSIェントリを指定されたARへ
ロードするために、このDSI制御レジスタの内容を使
用する。DSI制御レジスタへのローデイングは、シス
テム/370の特権命令である「制御情報ロード」命令
によって行なわれる。従って、「AR/ARCVロード
」命令を使用するプログラムは、特権命令である「制御
情報ロード」命令を発行するための許可を有さない場合
がある。かくて、DS機。御しジス夕によってアドレス
されるDSIへのアクセスは、「AR/ARCVロード
」命令によってのみ行なわれる。他の非−特権命令であ
る「AR/ARCV書込」命令は、OSI制御レジスタ
によって現に規定されているDSIへARの現在の値だ
けを書込むことができる。DSI制御レジスタで規定さ
れたアドレス範囲は、この規定されたDSIの外部で「
AR/ARCVロード」命令又は「AR/ARCV書込
」命令によるアクセスを禁止する。DSIの起点及び長
さは、DSI制御レジスタ対と呼ばれる1対の制御レジ
スタに置くこともできる。他の非−特権命令で、任意の
ARに対する特殊フィールドを不能化状態へセットし、
こうしてこのARを不能化するようにしてもよい。実施
態様の説明 第1図には、命令レジスタ10A及び命令カウンタ10
Cを含む通常の命令復号回路9が示されている。
Vレジスタの値を保持する主記憶領域のアドレス範囲は
、OSI制御レジスタと呼ばれる1つの制御レジスタで
規定される。但し、DSIはデータ空間インベントリ(
DataSpace Inventory)を意味し、
以下では簡潔のためにその略語を使用することにする。
所与のプログラムのためにロードさるべきAR及びAR
CVレジスタの値は、DSI缶。御しジスタによって規
定されたDSIに含まれる。「AR/ARCVロード」
命令は、実行中プログラムによってアクセスさるべきア
ドレス空間に対するDSIェントリを指定されたARへ
ロードするために、このDSI制御レジスタの内容を使
用する。DSI制御レジスタへのローデイングは、シス
テム/370の特権命令である「制御情報ロード」命令
によって行なわれる。従って、「AR/ARCVロード
」命令を使用するプログラムは、特権命令である「制御
情報ロード」命令を発行するための許可を有さない場合
がある。かくて、DS機。御しジス夕によってアドレス
されるDSIへのアクセスは、「AR/ARCVロード
」命令によってのみ行なわれる。他の非−特権命令であ
る「AR/ARCV書込」命令は、OSI制御レジスタ
によって現に規定されているDSIへARの現在の値だ
けを書込むことができる。DSI制御レジスタで規定さ
れたアドレス範囲は、この規定されたDSIの外部で「
AR/ARCVロード」命令又は「AR/ARCV書込
」命令によるアクセスを禁止する。DSIの起点及び長
さは、DSI制御レジスタ対と呼ばれる1対の制御レジ
スタに置くこともできる。他の非−特権命令で、任意の
ARに対する特殊フィールドを不能化状態へセットし、
こうしてこのARを不能化するようにしてもよい。実施
態様の説明 第1図には、命令レジスタ10A及び命令カウンタ10
Cを含む通常の命令復号回路9が示されている。
命令復号回路9は、IBMシステム/370の任意の命
令の命令コードを復号することができる。命令コードは
当該命令の長さ及び種類を規定し、またGPRを指定す
るR、X又はBフィールドを規定する。これらのフィー
ルドはゲート1 1乃至14によって選択され、該ゲー
トの出力は4ビットのアドレス・バス9Aを介して16
個のGPRを含むGPR配列1 7へ接続される。アド
レス・バス9A上の信号は、GPR配列17中に指定さ
れたGPRを選択する。ゲート1 1乃至14‘まST
D選択機構20へ至るバス11A乃至14A上の基底レ
ジスタ・アドレスを検出し、該機構は、GPR配列17
で選択されたGPRに関連するAR/ARCVレジスタ
対を同時に選択する。
令の命令コードを復号することができる。命令コードは
当該命令の長さ及び種類を規定し、またGPRを指定す
るR、X又はBフィールドを規定する。これらのフィー
ルドはゲート1 1乃至14によって選択され、該ゲー
トの出力は4ビットのアドレス・バス9Aを介して16
個のGPRを含むGPR配列1 7へ接続される。アド
レス・バス9A上の信号は、GPR配列17中に指定さ
れたGPRを選択する。ゲート1 1乃至14‘まST
D選択機構20へ至るバス11A乃至14A上の基底レ
ジスタ・アドレスを検出し、該機構は、GPR配列17
で選択されたGPRに関連するAR/ARCVレジスタ
対を同時に選択する。
各論理アドレスの指標(×)、基底(B)及び変位(D
)フィールドはGPR配列1 7及び命令復号回路9に
よって通常のアドレス加算回路18へ送られ、そこで生
成された論理アドレスが論理アドレス・レジスタ19へ
供給される。
)フィールドはGPR配列1 7及び命令復号回路9に
よって通常のアドレス加算回路18へ送られ、そこで生
成された論理アドレスが論理アドレス・レジスタ19へ
供給される。
論理アドレス・レジスタ19に保持された論理アドレス
は、IBMシステム/370で実現された形式の変換索
引緩衝機構(以下「TLB」と略す)27を備えた通常
のアドレス変換機構へ供給される。STD選択機構20
は選択されたARからSTOを出力し、これを通常のT
LB 27及びアドレス変換機構へ送る。TLB 27
はこのSTO並びに論理アドレス・レジスタ19から供
給されるセグメント・インデックス(SX)及びページ
・インデックス(PX)を使用することにより、アドレ
ス変換が以前に行なわれ且つその変換アドレスがTLB
27で依然として有効であるか否かを決定する。もし
そうであるならば、TLBアドレツシング手段26は変
換済みの実アドレスを直ちにTLB 27から取出して
実アドレス・レジスタ33に置くので、この段階で変換
プロセスが終了する。もし変換アドレスがTLB 27
で利用できなければ、STD選択機構20から供給され
るSTO並びに論理アドレス・レジスタ1 9から供給
されるセグメント・インデックス(SX)及びページ・
インデックス(PX)を使用してセグメント・テーブル
22及びページ・テーブル24をアクセスすることによ
り、完全なアドレス変換プロセスが実行される。STD
選択機構20の詳細は、第2図に示されている。
は、IBMシステム/370で実現された形式の変換索
引緩衝機構(以下「TLB」と略す)27を備えた通常
のアドレス変換機構へ供給される。STD選択機構20
は選択されたARからSTOを出力し、これを通常のT
LB 27及びアドレス変換機構へ送る。TLB 27
はこのSTO並びに論理アドレス・レジスタ19から供
給されるセグメント・インデックス(SX)及びページ
・インデックス(PX)を使用することにより、アドレ
ス変換が以前に行なわれ且つその変換アドレスがTLB
27で依然として有効であるか否かを決定する。もし
そうであるならば、TLBアドレツシング手段26は変
換済みの実アドレスを直ちにTLB 27から取出して
実アドレス・レジスタ33に置くので、この段階で変換
プロセスが終了する。もし変換アドレスがTLB 27
で利用できなければ、STD選択機構20から供給され
るSTO並びに論理アドレス・レジスタ1 9から供給
されるセグメント・インデックス(SX)及びページ・
インデックス(PX)を使用してセグメント・テーブル
22及びページ・テーブル24をアクセスすることによ
り、完全なアドレス変換プロセスが実行される。STD
選択機構20の詳細は、第2図に示されている。
図示の如く、STD選択機構20‘まOR回略40を有
し、該回路は命令復号回路9から線11A乃至14Aの
1つに供V給される記憶オペランドの基底レジスタ・ア
ドレスを受取る。AR選択レジスタ41に供給されるO
R回路40の出力は16ウェィのアドレス復号回路42
によって復号され、かくてその16出力線のうち1つが
付勢される。この場合、アドレス0がAR坊墓択線42
Bを介して反転回路51を付勢するのに対し、他の15
本のARI−15翼択線42Aの各々はAR配列46中
の対応するAR及びARCV配列48中の対応するAR
CVアドレスを同時に選択する。このようにして選択さ
れたARの内容はAR出力レジスタ47へ供孫合され、
これに対応する選択されたARCVレジスタの内容はA
RCV出力レジスタ49へ供v給される。
し、該回路は命令復号回路9から線11A乃至14Aの
1つに供V給される記憶オペランドの基底レジスタ・ア
ドレスを受取る。AR選択レジスタ41に供給されるO
R回路40の出力は16ウェィのアドレス復号回路42
によって復号され、かくてその16出力線のうち1つが
付勢される。この場合、アドレス0がAR坊墓択線42
Bを介して反転回路51を付勢するのに対し、他の15
本のARI−15翼択線42Aの各々はAR配列46中
の対応するAR及びARCV配列48中の対応するAR
CVアドレスを同時に選択する。このようにして選択さ
れたARの内容はAR出力レジスタ47へ供孫合され、
これに対応する選択されたARCVレジスタの内容はA
RCV出力レジスタ49へ供v給される。
AR出力レジスタ47の内容は、このようにして選択さ
れたAR中のSTDである。
れたAR中のSTDである。
AR0 72に保持されるSTDは実行中プログラムを
含むアドレス空間を指定し、そしてAR出力レジスタ4
7に保持されるSTDはこのプログラムがアクセスする
ことができるデータ空間を指定する。
含むアドレス空間を指定し、そしてAR出力レジスタ4
7に保持されるSTDはこのプログラムがアクセスする
ことができるデータ空間を指定する。
実行中プログラムのSTDは主記憶からAR0 72へ
直接にロードされるか、又はIBMシステム/370の
制御レジスタ1でもよい予定の制御レジスタ71から転
送されうる。因に、IBMシステム/370は、制御レ
ジスタ1中のSTOによって実行中プログラム及びその
アクセス可能なデータに対するアドレス空間を規定する
ことを必要とする。ARCV出力レジスタ49中の内容
は、少なくとも可能化(E)ビット、読出(R)ビット
及び書込(W)ビットを含む。
直接にロードされるか、又はIBMシステム/370の
制御レジスタ1でもよい予定の制御レジスタ71から転
送されうる。因に、IBMシステム/370は、制御レ
ジスタ1中のSTOによって実行中プログラム及びその
アクセス可能なデータに対するアドレス空間を規定する
ことを必要とする。ARCV出力レジスタ49中の内容
は、少なくとも可能化(E)ビット、読出(R)ビット
及び書込(W)ビットを含む。
これらのビットは、AR出力レジスタ47に置かれてい
る選択されたSTDによって規定されたデータ空間に対
する実行中プログラムのアクセス権を決定する。対応す
るARの使用を可能にするためには、Eビットが1へセ
ットされねばならない。4ビットの記憶保護キー(KE
Y)がARCV‘こ含まれる場合、この記憶保護キーは
主記憶中のアクセスされた松バイト・ブロックに対する
保護キーと比較され、両者が一致するときに主記憶への
アクセスが許容される。
る選択されたSTDによって規定されたデータ空間に対
する実行中プログラムのアクセス権を決定する。対応す
るARの使用を可能にするためには、Eビットが1へセ
ットされねばならない。4ビットの記憶保護キー(KE
Y)がARCV‘こ含まれる場合、この記憶保護キーは
主記憶中のアクセスされた松バイト・ブロックに対する
保護キーと比較され、両者が一致するときに主記憶への
アクセスが許容される。
しかし、或るアドレス空間を主記憶でアクセスできるの
は、このアドレス空間のSTDが主記憶STOレジスタ
74へ転送される場合だけである。従って、AR0 7
2で指定されたプログラム空間又はAR出力レジスタ4
7で指定されたデータ空間は、そのSTDが主記憶ST
Oレジスタ74へ転送される場合にのみ、主記憶中でア
クセスされうる。この主記憶アクセス要求のSTDはゲ
ート54及び73の制御下で転送され、該ゲートはAN
D回路53の出力によって選択的に付勢される。AND
回路53が脱勢されると、その出力へ接続された反転回
路56によってゲート73が付勢される。命令取出要求
は、プログラムのアドレス空間をアクセスすることを必
要とする。
は、このアドレス空間のSTDが主記憶STOレジスタ
74へ転送される場合だけである。従って、AR0 7
2で指定されたプログラム空間又はAR出力レジスタ4
7で指定されたデータ空間は、そのSTDが主記憶ST
Oレジスタ74へ転送される場合にのみ、主記憶中でア
クセスされうる。この主記憶アクセス要求のSTDはゲ
ート54及び73の制御下で転送され、該ゲートはAN
D回路53の出力によって選択的に付勢される。AND
回路53が脱勢されると、その出力へ接続された反転回
路56によってゲート73が付勢される。命令取出要求
は、プログラムのアドレス空間をアクセスすることを必
要とする。
このため、OR回路43は、線16C上の「分岐命令ア
クセス要求」信号又は正規命令に対する線16D上の「
命令取出要求」信号を受取り、その出力に「命令要求」
信号を供V給する。OR回路43からの「命令要求」信
号は、AND回路53を脱勢するために、反転回路52
で反転される。かくてAND回路53が脱勢されると、
AR0 72に置かれたSTDはゲート73を介して主
記憶STOレジスタ74へ転送され、そこで命令取出要
求のアドレスを制御する。しかしながら、任意のオペラ
ンド・アクセス要求の間は、対応するARCV中のEビ
ットがオンである限りAND回路53は付勢されたまま
に留まる。
クセス要求」信号又は正規命令に対する線16D上の「
命令取出要求」信号を受取り、その出力に「命令要求」
信号を供V給する。OR回路43からの「命令要求」信
号は、AND回路53を脱勢するために、反転回路52
で反転される。かくてAND回路53が脱勢されると、
AR0 72に置かれたSTDはゲート73を介して主
記憶STOレジスタ74へ転送され、そこで命令取出要
求のアドレスを制御する。しかしながら、任意のオペラ
ンド・アクセス要求の間は、対応するARCV中のEビ
ットがオンである限りAND回路53は付勢されたまま
に留まる。
従って、AR出力レジスタ47中のSTDは現要求のS
TOを保持する主記憶STOレジスタ74へ転送される
。選択されたARの内容が不能化される場合、即ちAR
CV出力レジスタ49に置かれた選択されたARCV中
のEビットがオフとなる場合、ゲート73が付勢され、
かくてAR0 72中のSTDが主記憶STOレジスタ
74へ転送される。オペランド・アクセス要求に対する
許可は、ARCV出力レジスタ49に贋かれた選択され
たARCV中のR及びWビットの値によって調整される
。
TOを保持する主記憶STOレジスタ74へ転送される
。選択されたARの内容が不能化される場合、即ちAR
CV出力レジスタ49に置かれた選択されたARCV中
のEビットがオフとなる場合、ゲート73が付勢され、
かくてAR0 72中のSTDが主記憶STOレジスタ
74へ転送される。オペランド・アクセス要求に対する
許可は、ARCV出力レジスタ49に贋かれた選択され
たARCV中のR及びWビットの値によって調整される
。
もしRビットが1であれば、取出アクセスが許容される
。これに対し、Rビットが0であれば、敬出アクセスは
許容されない。同様に、Wビットが1であれば書込アク
セスが許容されるが、Wビットが0であれば、書込アク
セスは許容されない。もしR及びWビットの両方が1へ
セットされているならば、データ空間において読出及び
書込アクセスの両方が許容される。もし主記憶に対する
要求がこのビット・セッティングに違反するならば、A
ND回路63及び64は線66に「プログラム・チェッ
ク」信号を供給し、これによりR及びWビットの使用を
強制する。かくて、命令ユニットから線168を介して
「書込要求」信号が供給されている間にWビットがオフ
であればAND回路63が「プログラム・チェック」信
号を出力し、又命令ユニットから線16Aを介して「読
出要求」信号が供給されている間にRビットがオフであ
ればANDゲート64が「プログラム・チェック」信号
を出力する。AR0 72の内容が主記憶アクセスに対
するSTDとして使用される場合、ARCVOレジスタ
48AはR及びWビットを保持し、これらのビットを反
転回路62A及び62Aへ供給する。
。これに対し、Rビットが0であれば、敬出アクセスは
許容されない。同様に、Wビットが1であれば書込アク
セスが許容されるが、Wビットが0であれば、書込アク
セスは許容されない。もしR及びWビットの両方が1へ
セットされているならば、データ空間において読出及び
書込アクセスの両方が許容される。もし主記憶に対する
要求がこのビット・セッティングに違反するならば、A
ND回路63及び64は線66に「プログラム・チェッ
ク」信号を供給し、これによりR及びWビットの使用を
強制する。かくて、命令ユニットから線168を介して
「書込要求」信号が供給されている間にWビットがオフ
であればAND回路63が「プログラム・チェック」信
号を出力し、又命令ユニットから線16Aを介して「読
出要求」信号が供給されている間にRビットがオフであ
ればANDゲート64が「プログラム・チェック」信号
を出力する。AR0 72の内容が主記憶アクセスに対
するSTDとして使用される場合、ARCVOレジスタ
48AはR及びWビットを保持し、これらのビットを反
転回路62A及び62Aへ供給する。
反転回路61Aの出力はAND回路63Aへ供給され、
該回路は線16B上の「書込要求」信号及び反転回路5
6の出力を受取る。これはプログラム空間に書込みを行
なうプログラムの許可状態をチェックするためのもので
あって、書込アクセスが許可されていなければ結果的に
「プログラム・チェック」信号が生ぜられる。同様に、
AND回路64Aは反転回路62A及び56からの入力
を受取り、又線16Aからの「読出要求」信号をも受取
ってオペランド取出アクセスに対する許可状態をチェッ
クする。各ARCV中の記憶保護キー(KEY)は、関
係するアドレス空間に置かれたデータのアクセスについ
て追加の許可制御を与える。
該回路は線16B上の「書込要求」信号及び反転回路5
6の出力を受取る。これはプログラム空間に書込みを行
なうプログラムの許可状態をチェックするためのもので
あって、書込アクセスが許可されていなければ結果的に
「プログラム・チェック」信号が生ぜられる。同様に、
AND回路64Aは反転回路62A及び56からの入力
を受取り、又線16Aからの「読出要求」信号をも受取
ってオペランド取出アクセスに対する許可状態をチェッ
クする。各ARCV中の記憶保護キー(KEY)は、関
係するアドレス空間に置かれたデータのアクセスについ
て追加の許可制御を与える。
AND回路50はARCV出力レジスタ49から記憶保
護キー及びBビットを受取る。もしEビットが1へセッ
トされているならば、記憶保護キーはARCV出力レジ
スタ49からの主記憶中の通常のキー比較回路へ転送さ
れる。当該アクセスを許容するためには、この記憶保護
キーは狐バイトの主記憶ブロックに対するキーと一致し
なければならない。この場合、プoグラム状況ワード(
俺W)中のキーは使用されない。もしEビットが0へセ
ットされているならば、ARCV出力レジスタ49に置
かれた記憶保護キーのかわりに、プログラム状況ワード
(PSW)中のキーが使用される。第3図は「AR/A
RCVロード」命令の実行に必要な回路を示す。命令レ
ジスタ1川こ置かれた「AR/ARCVロード」命令は
命令コードLEを有するものとして示されており、その
ビット24−27に相当するRIフィールドは、ロード
すべきAR及びARCVレジス夕対のアドレスを保持す
る。命令レジスタ10のビット28一31に相当するR
2フィールドはGPRのアドレスを保持する。このGP
Rは、主記憶82に置かれたDSI中のダブルワ−ドで
あって、前記の指定されたAR/ARCVレジス夕対へ
ロードすべきダブルワードの論理アドレスを保持する。
このDSIの実起点アドレスは、DSI制御レジスタ8
0Aの内容によって指定される。「AR/ARCV。ー
ド」命令のR2フィールドで指定されたGPR中に置か
れているアドレスは論理アドレスであり、GPR配列1
7から3ビット位置だけ左へオフセットされてGPR出
力レジスタ17Aへ転送され、そこから変位アドレス・
レジスタ19を介してアドレス加算回路27へ転送され
る。アドレス加算回路27は変位アドレス・レジスタ1
9の内容とDSI制御レジスタ80Aに置かれたDSI
の実起点アドレスとを結合して実アドレスを生成し、こ
れを実アドレス・レジスタ33に供給する。この実アド
レスは主記憶82に置かれたDSI中のダブルワードを
アクセスするために使用され、かくて該ダブルワードは
記憶オペランド・レジスタ83へ出力される。他のDS
I制御レジスタ808は、実行中プログラムによって使
用することができるDSIの最大の長さを指示する。比
較回路80CはこのDSI制御レジスタ80Bの内容を
GPR出力レジス夕17Aの内容と比較し、後者が前者
を凌駕するとき、「プログラム・チェック」信号を発生
する。記憶オペランド・レジスタ83に置かれたダブル
ワードのビット0一31はAR及びARCV配列48中
にある選択されたARCVレジスタヘロードされ、ビッ
ト32−63はAR配列46中にある選択されたARへ
ロードされる。ARCVフィールド中のビット0はEビ
ットを含み、これは選択されたAR/ARCVレジスタ
対を可能化するために1へセットされねばならない。E
ビットがオフであれば、トリガ84がセットされて「プ
ログラム・チェック」信号を発生するので、これにより
オペレーティング・システムはロード中のARが可能化
されていないことを知ることができる。「AR/ARC
V書込」命令も本発明に従って堤供される。
護キー及びBビットを受取る。もしEビットが1へセッ
トされているならば、記憶保護キーはARCV出力レジ
スタ49からの主記憶中の通常のキー比較回路へ転送さ
れる。当該アクセスを許容するためには、この記憶保護
キーは狐バイトの主記憶ブロックに対するキーと一致し
なければならない。この場合、プoグラム状況ワード(
俺W)中のキーは使用されない。もしEビットが0へセ
ットされているならば、ARCV出力レジスタ49に置
かれた記憶保護キーのかわりに、プログラム状況ワード
(PSW)中のキーが使用される。第3図は「AR/A
RCVロード」命令の実行に必要な回路を示す。命令レ
ジスタ1川こ置かれた「AR/ARCVロード」命令は
命令コードLEを有するものとして示されており、その
ビット24−27に相当するRIフィールドは、ロード
すべきAR及びARCVレジス夕対のアドレスを保持す
る。命令レジスタ10のビット28一31に相当するR
2フィールドはGPRのアドレスを保持する。このGP
Rは、主記憶82に置かれたDSI中のダブルワ−ドで
あって、前記の指定されたAR/ARCVレジス夕対へ
ロードすべきダブルワードの論理アドレスを保持する。
このDSIの実起点アドレスは、DSI制御レジスタ8
0Aの内容によって指定される。「AR/ARCV。ー
ド」命令のR2フィールドで指定されたGPR中に置か
れているアドレスは論理アドレスであり、GPR配列1
7から3ビット位置だけ左へオフセットされてGPR出
力レジスタ17Aへ転送され、そこから変位アドレス・
レジスタ19を介してアドレス加算回路27へ転送され
る。アドレス加算回路27は変位アドレス・レジスタ1
9の内容とDSI制御レジスタ80Aに置かれたDSI
の実起点アドレスとを結合して実アドレスを生成し、こ
れを実アドレス・レジスタ33に供給する。この実アド
レスは主記憶82に置かれたDSI中のダブルワードを
アクセスするために使用され、かくて該ダブルワードは
記憶オペランド・レジスタ83へ出力される。他のDS
I制御レジスタ808は、実行中プログラムによって使
用することができるDSIの最大の長さを指示する。比
較回路80CはこのDSI制御レジスタ80Bの内容を
GPR出力レジス夕17Aの内容と比較し、後者が前者
を凌駕するとき、「プログラム・チェック」信号を発生
する。記憶オペランド・レジスタ83に置かれたダブル
ワードのビット0一31はAR及びARCV配列48中
にある選択されたARCVレジスタヘロードされ、ビッ
ト32−63はAR配列46中にある選択されたARへ
ロードされる。ARCVフィールド中のビット0はEビ
ットを含み、これは選択されたAR/ARCVレジスタ
対を可能化するために1へセットされねばならない。E
ビットがオフであれば、トリガ84がセットされて「プ
ログラム・チェック」信号を発生するので、これにより
オペレーティング・システムはロード中のARが可能化
されていないことを知ることができる。「AR/ARC
V書込」命令も本発明に従って堤供される。
この命令は命令コードがSBである点を除仇ま、第3図
の命令レジスタ10に保持されるように図示されている
「AR/ARCVロード」命令と同じである。「AR/
ARCV書込」命令のRIフィールドーこよって指定さ
れるAR/ARCVレジスタ対の内容は、当該命令のR
2フィールド及びDSI制御レジスタ80A中の実アド
レスによって指定された主記憶82中のダブルワード位
置へ書込まれる。又命令コードOARを有する「AR不
能化」命令が提供され、該命令はそのRIフィールドで
0へセットされたEビットを含むARCVレジスタを指
定することにより、関連するARを不能化する。
の命令レジスタ10に保持されるように図示されている
「AR/ARCVロード」命令と同じである。「AR/
ARCV書込」命令のRIフィールドーこよって指定さ
れるAR/ARCVレジスタ対の内容は、当該命令のR
2フィールド及びDSI制御レジスタ80A中の実アド
レスによって指定された主記憶82中のダブルワード位
置へ書込まれる。又命令コードOARを有する「AR不
能化」命令が提供され、該命令はそのRIフィールドで
0へセットされたEビットを含むARCVレジスタを指
定することにより、関連するARを不能化する。
第4図には、ARCV−0レジスタ48A及びARCV
配列48に設けられた他のARCVレジスタ1−15に
関する他の制御を設けることによりSTD選択機構20
に対する追加の機能を与えるために、第2図の回路に追
加される回路が示されている。ARCV−0レジスタ4
8Aのセツテイソグは、AR−0で規定されたプログラ
ム・アドレス空間における特権命令の選択されたサブク
ラスの実行を制御する。ARCVレジスタ1一1 5に
関する他の制御は、第1図の命令復号回路9によって復
号されている現命令の一般的命令コードの追加サブセッ
トを与える。ARCV−0レジスタ48Aによる特権命
令サブクラスの制御はARCVレジスタ1−15に関す
る追加の制御とは独立しており、互いに関係なく使用さ
れるか、又は第2図のようにどちらも使用されない。
配列48に設けられた他のARCVレジスタ1−15に
関する他の制御を設けることによりSTD選択機構20
に対する追加の機能を与えるために、第2図の回路に追
加される回路が示されている。ARCV−0レジスタ4
8Aのセツテイソグは、AR−0で規定されたプログラ
ム・アドレス空間における特権命令の選択されたサブク
ラスの実行を制御する。ARCVレジスタ1一1 5に
関する他の制御は、第1図の命令復号回路9によって復
号されている現命令の一般的命令コードの追加サブセッ
トを与える。ARCV−0レジスタ48Aによる特権命
令サブクラスの制御はARCVレジスタ1−15に関す
る追加の制御とは独立しており、互いに関係なく使用さ
れるか、又は第2図のようにどちらも使用されない。
命令コード復号回路16Aは追加の出力P1,P2,…
…………,Pnを含み、これらの出力は以下に示すよう
にタイプが異なる種々の特権命令サブクラスを通知する
。
…………,Pnを含み、これらの出力は以下に示すよう
にタイプが異なる種々の特権命令サブクラスを通知する
。
1 1/0命令、例えば「入出力開始」命令等。
2 多重処理命令、例えば「プロセッサ信号」命令等。
3 特殊命令、例えばR?Q(特注)命令等。4 保守
命令、例えば「診断」命令等。
命令、例えば「診断」命令等。
5 「制御情報ロード」命令。
6 資源管理命令、例えば「ページ・テーフル・ェント
リ無効化」命令、「記憶キー設定」命令、「TLB除去
」命令、「時刻設定」命令、「割込マスク設定」命令、
「CPU時刻設定」命令等。
リ無効化」命令、「記憶キー設定」命令、「TLB除去
」命令、「時刻設定」命令、「割込マスク設定」命令、
「CPU時刻設定」命令等。
ARCV−0レジスタ48Aは前述のアクセス制御ビッ
トR及びWを保持するとともに、命令コード復号回路1
6Aの出力線P1,P2,・・・・・・・・・・・・…
,Pnに対応する処の特権命令のサプクラス・マスク・
ビットSI,S2,……………,Snをも保持する。
トR及びWを保持するとともに、命令コード復号回路1
6Aの出力線P1,P2,・・・・・・・・・・・・…
,Pnに対応する処の特権命令のサプクラス・マスク・
ビットSI,S2,……………,Snをも保持する。
各サブクラス・マスク・ビットの0又は1状態は、AR
0 72中のSTDによって規定された適正なアドレス
空間でアクセスされる特権命令の対応するサプクラスの
実行を可能化又は不能化する。このサブクラスの可能化
/不能化はAND回路91乃至95によって行なわれ、
該回路の各々はARCV−0レジスタ48Aからの対応
するマスク・ビット及び命令コード復号回路16Aから
の対応する信号線をそれぞれ受取る。AND回路9 1
乃至95の出力線CI乃至Cnは、プロセッサの割込回
路へ「プログラム・チェック」信号を供給する。かくて
、もし所与のサブクラスを不能化するようにこのサブク
ラスに対応するSビットが1へセットされており、しか
も命令コード復号回路16Aが不能化されたサプクラス
における特権命令を発生するならば、AND回路91乃
至95のうち対応するAND回路が「プログラム・チェ
ック」信号を出力するので、システム制御プログラム中
の割込処理ルーチンはこれに応じてAR0 72で規定
された現アドレス空間におけるプログラムのそれ以後の
実行を停止させ、そしてこの停止の理由を指示する。非
−特権命令は常にその実行を許容される。
0 72中のSTDによって規定された適正なアドレス
空間でアクセスされる特権命令の対応するサプクラスの
実行を可能化又は不能化する。このサブクラスの可能化
/不能化はAND回路91乃至95によって行なわれ、
該回路の各々はARCV−0レジスタ48Aからの対応
するマスク・ビット及び命令コード復号回路16Aから
の対応する信号線をそれぞれ受取る。AND回路9 1
乃至95の出力線CI乃至Cnは、プロセッサの割込回
路へ「プログラム・チェック」信号を供給する。かくて
、もし所与のサブクラスを不能化するようにこのサブク
ラスに対応するSビットが1へセットされており、しか
も命令コード復号回路16Aが不能化されたサプクラス
における特権命令を発生するならば、AND回路91乃
至95のうち対応するAND回路が「プログラム・チェ
ック」信号を出力するので、システム制御プログラム中
の割込処理ルーチンはこれに応じてAR0 72で規定
された現アドレス空間におけるプログラムのそれ以後の
実行を停止させ、そしてこの停止の理由を指示する。非
−特権命令は常にその実行を許容される。
従って、もし非一特権命令がAR0 72によって規定
された適用プログラム・アドレス空間での実行を許容さ
れるならば、すべての特権命令サブクラス・ビツトS1
,S2,………・・・…,Snは1へセットされ、かく
てすべての特権命令の実行を不能化する。第4図のAR
CVレジスタ1一15に置かれるビットTI…・・・・
・・・・・・・・Tnは、命令コード復号回路9で復号
されている現命令の命令コードの拡張部として使用され
る。
された適用プログラム・アドレス空間での実行を許容さ
れるならば、すべての特権命令サブクラス・ビツトS1
,S2,………・・・…,Snは1へセットされ、かく
てすべての特権命令の実行を不能化する。第4図のAR
CVレジスタ1一15に置かれるビットTI…・・・・
・・・・・・・・Tnは、命令コード復号回路9で復号
されている現命令の命令コードの拡張部として使用され
る。
例えば、或る命令の命令コードはそのオペランドの乗算
を総括的に指示することができる。この場合、ビットT
I……………Tnは対応するARI−15によって規定
されたアドレス空間におけるデータ・タイプを指示し、
これをバス49Bを介して命令コード復号回路16Aへ
通知するので、命令ユニットは対応するアドレス空間で
アクセスされているものと指示されたこのデータ・タイ
プについて乗算を遂行することができる。ビットTI…
・・・・・・・・・・・・Tnの意味する処は次の通り
である。1 固定小数点数 2 単精度浮動小数点数 3 倍精度浮動小数点数 4 拡張精度浮動小数点数 追加の制御をARCVが実現することもできる。
を総括的に指示することができる。この場合、ビットT
I……………Tnは対応するARI−15によって規定
されたアドレス空間におけるデータ・タイプを指示し、
これをバス49Bを介して命令コード復号回路16Aへ
通知するので、命令ユニットは対応するアドレス空間で
アクセスされているものと指示されたこのデータ・タイ
プについて乗算を遂行することができる。ビットTI…
・・・・・・・・・・・・Tnの意味する処は次の通り
である。1 固定小数点数 2 単精度浮動小数点数 3 倍精度浮動小数点数 4 拡張精度浮動小数点数 追加の制御をARCVが実現することもできる。
即ち、‘1}或るアドレス空間が他のアドレス空間と共
通のセグメントを含むか否か、■アドレス空間の起点が
ゼロであるか否か、糊どのような範囲の論理アドレスが
アクセスを許容されるのか、■論理アドレスが実アドレ
スへ変換されるのか又はそのまま実アドレスとして使用
されるのか、という点には拘わりなく、ARCV中に指
示子を追加して24ビット又は31ビットのアドレツシ
ング・モードを指定することができる。このような追加
の制御を実現するための回路は自明であるので、図面に
は示されていない。TLB 27(第1図)の参照を含
むアドレス変換プロセスによって得られる主記憶の実ア
ドレスは、前以て主記憶からの転送されたデータを保持
する処のキャッシュ記憶中の主記憶データをアクセスす
ることができる。
通のセグメントを含むか否か、■アドレス空間の起点が
ゼロであるか否か、糊どのような範囲の論理アドレスが
アクセスを許容されるのか、■論理アドレスが実アドレ
スへ変換されるのか又はそのまま実アドレスとして使用
されるのか、という点には拘わりなく、ARCV中に指
示子を追加して24ビット又は31ビットのアドレツシ
ング・モードを指定することができる。このような追加
の制御を実現するための回路は自明であるので、図面に
は示されていない。TLB 27(第1図)の参照を含
むアドレス変換プロセスによって得られる主記憶の実ア
ドレスは、前以て主記憶からの転送されたデータを保持
する処のキャッシュ記憶中の主記憶データをアクセスす
ることができる。
セグメント・テーブル22及びページ・テーフル24を
使用するように第1図に図示されたアドレス変換手段は
単なる1例にすぎないのであって、本発明は他のアドレ
ス変換手段、例えば刊行物であ る「 IBM S$t
em/38 TechnicalDevelopmen
ts Manual」(Form No.G580−0
237)の第23頁に記載されたハッシュ式アドレス変
換手段についても利用できることはもちろんである。
使用するように第1図に図示されたアドレス変換手段は
単なる1例にすぎないのであって、本発明は他のアドレ
ス変換手段、例えば刊行物であ る「 IBM S$t
em/38 TechnicalDevelopmen
ts Manual」(Form No.G580−0
237)の第23頁に記載されたハッシュ式アドレス変
換手段についても利用できることはもちろんである。
第5図は第2図に図示された実施態様の変形を示す。
図示の如く、AR配列46及びARCV配列48は単一
の配列46Aへまとめられ、各CPRに関連するその各
ェント川ま関連するAR及びARCVレジスタの両方を
含む。アドレスを保持しないGPRが選択されるときは
、適当な論理を使用してAR/ARCVアドレス対の出
力が禁止される。
の配列46Aへまとめられ、各CPRに関連するその各
ェント川ま関連するAR及びARCVレジスタの両方を
含む。アドレスを保持しないGPRが選択されるときは
、適当な論理を使用してAR/ARCVアドレス対の出
力が禁止される。
第1図はセグメント・テーブル記述子
(STD)選択機構を通常のアドレス変換機構及び命令
復号回路と絹合せて成る本発明の方式を示す図、第2図
はSTD選択機構の1実施態様を示す図、第3図は本発
明に従って提供される「AR/ARCVロード」命令を
実行するに必要な回路を示す図、第4図は第2図の実施
態様に追加される回路を示す図、第5図はAR及びAR
CVレジスタが単一の配列へ含まれるように第2図の実
施態様を変形した例を示す図である。 第1図中、9・・・・・・命令復号回路、10A・・…
・命令レジスタ、16・・・・・・命令コード復号回路
、17・・・・・・汎用レジスタ(GPR)配列、20
・・・・・・セグメント・テーブル記述子(STD)選
択機構、22……セグメント・テーフル、24……ペー
ジ・テーフル、27・・・・・・変換索引緩衝機構(T
LB)。 第2図中、46・・…・アクセス・レジスタ(AR)配
列、47……AR出力レジスタ、48……アクセス・レ
ジスタ制御ベクトル(ARCV)配列、49・・・・・
・ARCV出力レジスタ、71・・・・・・制御レジス
スタ1、72……AROレジスタ。図 蛇 図 N 船 図 M 船 第4図 第5図
復号回路と絹合せて成る本発明の方式を示す図、第2図
はSTD選択機構の1実施態様を示す図、第3図は本発
明に従って提供される「AR/ARCVロード」命令を
実行するに必要な回路を示す図、第4図は第2図の実施
態様に追加される回路を示す図、第5図はAR及びAR
CVレジスタが単一の配列へ含まれるように第2図の実
施態様を変形した例を示す図である。 第1図中、9・・・・・・命令復号回路、10A・・…
・命令レジスタ、16・・・・・・命令コード復号回路
、17・・・・・・汎用レジスタ(GPR)配列、20
・・・・・・セグメント・テーブル記述子(STD)選
択機構、22……セグメント・テーフル、24……ペー
ジ・テーフル、27・・・・・・変換索引緩衝機構(T
LB)。 第2図中、46・・…・アクセス・レジスタ(AR)配
列、47……AR出力レジスタ、48……アクセス・レ
ジスタ制御ベクトル(ARCV)配列、49・・・・・
・ARCV出力レジスタ、71・・・・・・制御レジス
スタ1、72……AROレジスタ。図 蛇 図 N 船 図 M 船 第4図 第5図
Claims (1)
- 【特許請求の範囲】 1 複数の汎用レジスタを有し、主記憶に置かれたオペ
ランドの基底レジスタとして或る汎用レジスタが現命令
中の基底フイールドによつて指定されるとき、少くとも
該汎用レジスタの内容と現命令中の変位フイールドとを
加算して前記オペランドの論理アドレスを生成するよう
にしたデータ処理システムのアドレス制御方式であつて
、 前記複数の汎用レジスタに関連して設けられた、ア
ドレス空間識別子をそれぞれ保持するための複数のアク
セス・レジスタと、 前記複数の汎用レジスタに関連し
て設けられた、制御フイールドをそれぞれ保持するため
の複数の制御ベクトル・レジスタと、 現命令中の基底
フイールドに応答して1つの前記アクセス・レジスタ及
び1つの前記制御ベクトル・レジスタをそれぞれ選択す
るための選択手段と、 該選択されたアクセス・レジス
タからそのアドレス空間識別子を転送するための転送手
段と、 該転送手段から転送されるアドレス空間識別子
を受取つて特定の変換テーブルを位置付けるとともに、
該変換テーブルを使用して前記論理アドレスを主記憶に
おける実アドレスへ変換するためのアドレス変換手段と
、 前記選択された制御ベクトル・レジスタからその制
御フイールドを受取り、該制御フイールドに応答して前
記選択されたアクセス・レジスタのアドレス空間識別子
によつて識別されるアドレス空間に対するアクセス・モ
ードを制御するための手段とを備えて成る。 アドレス制御方式。2 前記制御フイールドの各々は少
くとも可能状態又は不能状態へ選択的にセツトされる可
能化フイールドを含み、前記選択された制御ベクトル・
レジスタの可能化フイールドが可能状態へセツトされて
いる場合にのみ前記転送手段を可能化して前記選択され
たアクセス・レジスタからそのアドレス空間識別子を転
送するようにした、特許請求の範囲第1項記載のアドレ
ス制御方式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/131,570 US4355355A (en) | 1980-03-19 | 1980-03-19 | Address generating mechanism for multiple virtual spaces |
US131570 | 1980-03-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS56140576A JPS56140576A (en) | 1981-11-02 |
JPS6022377B2 true JPS6022377B2 (ja) | 1985-06-01 |
Family
ID=22450031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56033288A Expired JPS6022377B2 (ja) | 1980-03-19 | 1981-03-10 | アドレス制御方式 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4355355A (ja) |
EP (1) | EP0036085B1 (ja) |
JP (1) | JPS6022377B2 (ja) |
CA (1) | CA1153824A (ja) |
DE (1) | DE3176834D1 (ja) |
ES (1) | ES8202968A1 (ja) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
US4500952A (en) * | 1980-05-23 | 1985-02-19 | International Business Machines Corporation | Mechanism for control of address translation by a program using a plurality of translation tables |
US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
JPS57143782A (en) * | 1981-03-03 | 1982-09-06 | Toshiba Corp | Information processor |
US4513368A (en) * | 1981-05-22 | 1985-04-23 | Data General Corporation | Digital data processing system having object-based logical memory addressing and self-structuring modular memory |
US4473878A (en) * | 1981-11-23 | 1984-09-25 | Motorola, Inc. | Memory management unit |
US4472790A (en) * | 1982-02-05 | 1984-09-18 | International Business Machines Corporation | Storage fetch protect override controls |
US4581702A (en) * | 1983-01-10 | 1986-04-08 | International Business Machines Corporation | Critical system protection |
US4985829A (en) * | 1984-07-31 | 1991-01-15 | Texas Instruments Incorporated | Cache hierarchy design for use in a memory management unit |
JPS6194159A (ja) * | 1984-07-31 | 1986-05-13 | テキサス インスツルメンツ インコ−ポレイテツド | メモリ装置 |
US4677546A (en) * | 1984-08-17 | 1987-06-30 | Signetics | Guarded regions for controlling memory access |
JPS61206057A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
US4763244A (en) * | 1986-01-15 | 1988-08-09 | Motorola, Inc. | Paged memory management unit capable of selectively supporting multiple address spaces |
US4682283A (en) * | 1986-02-06 | 1987-07-21 | Rockwell International Corporation | Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's |
JPS62237547A (ja) * | 1986-04-09 | 1987-10-17 | Hitachi Ltd | アドレス変換方式 |
JPS6376034A (ja) * | 1986-09-19 | 1988-04-06 | Hitachi Ltd | 多重アドレス空間制御方式 |
EP0282213A3 (en) * | 1987-03-09 | 1991-04-24 | AT&T Corp. | Concurrent context memory management unit |
JPS63231550A (ja) * | 1987-03-19 | 1988-09-27 | Hitachi Ltd | 多重仮想空間制御方式 |
JPS63278145A (ja) * | 1987-05-11 | 1988-11-15 | Nec Corp | パラメ−タ対応検査方式 |
US5023773A (en) * | 1988-02-10 | 1991-06-11 | International Business Machines Corporation | Authorization for selective program access to data in multiple address spaces |
CA1308202C (en) * | 1988-02-10 | 1992-09-29 | Richard I. Baum | Access register translation means for address generating mechanism for multiple virtual spaces |
US4979098A (en) * | 1988-02-10 | 1990-12-18 | International Business Machines Corporation | Multiple address space token designation, protection controls, designation translation and lookaside |
US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
US4945480A (en) * | 1988-02-10 | 1990-07-31 | International Business Machines Corporation | Data domain switching on program address space switching and return |
US5008811A (en) * | 1988-02-10 | 1991-04-16 | International Business Machines Corp. | Control mechanism for zero-origin data spaces |
US5134696A (en) * | 1988-07-28 | 1992-07-28 | International Business Machines Corp. | Virtual lookaside facility |
JPH0290349A (ja) * | 1988-09-28 | 1990-03-29 | Hitachi Ltd | 仮想記憶システムのアドレス空間制御装置 |
US5226132A (en) * | 1988-09-30 | 1993-07-06 | Hitachi, Ltd. | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system |
US5159677A (en) * | 1988-11-21 | 1992-10-27 | International Business Machines Corp. | Method and system for storing data in and retrieving data from a non-main storage virtual data space |
JPH02202652A (ja) * | 1989-02-01 | 1990-08-10 | Hitachi Ltd | 多重仮想記憶管理方式 |
US5175828A (en) * | 1989-02-13 | 1992-12-29 | Hewlett-Packard Company | Method and apparatus for dynamically linking subprogram to main program using tabled procedure name comparison |
JPH0650480B2 (ja) * | 1989-05-02 | 1994-06-29 | 株式会社日立製作所 | 多重仮想記憶システムおよびアドレス制御装置 |
DE4019961C2 (de) * | 1989-06-23 | 1994-11-24 | Hitachi Ltd | Steuerung für den Zugriff auf einen Adreßumsetzungsspeicher in einem Prozessorsystem |
JP2768503B2 (ja) * | 1989-07-25 | 1998-06-25 | 富士通株式会社 | 仮想記憶アドレス空間アクセス制御方式 |
JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
JPH0679296B2 (ja) * | 1989-09-22 | 1994-10-05 | 株式会社日立製作所 | 多重仮想アドレス空間アクセス方法およびデータ処理装置 |
US5237668A (en) * | 1989-10-20 | 1993-08-17 | International Business Machines Corporation | Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media |
US5317706A (en) * | 1989-11-15 | 1994-05-31 | Ncr Corporation | Memory expansion method and apparatus in a virtual memory system |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
US5210841A (en) * | 1990-01-30 | 1993-05-11 | Advanced Micro Devices, Inc. | External memory accessing system |
EP0508577A1 (en) * | 1991-03-13 | 1992-10-14 | International Business Machines Corporation | Address translation mechanism |
US5423013A (en) * | 1991-09-04 | 1995-06-06 | International Business Machines Corporation | System for addressing a very large memory with real or virtual addresses using address mode registers |
US5390312A (en) * | 1991-09-24 | 1995-02-14 | International Business Machines Corporation | Access look-aside facility |
US5371890A (en) * | 1991-10-30 | 1994-12-06 | International Business Machines Corporation | Problem state cross-memory communication using communication memory domains |
EP0543032A1 (en) * | 1991-11-16 | 1993-05-26 | International Business Machines Corporation | Expanded memory addressing scheme |
US5381537A (en) * | 1991-12-06 | 1995-01-10 | International Business Machines Corporation | Large logical addressing method and means |
CA2078913A1 (en) * | 1991-12-12 | 1993-06-13 | John J. Reilly | Interprocessor communication system and method for multiprocessor circuitry |
US5379392A (en) * | 1991-12-17 | 1995-01-03 | Unisys Corporation | Method of and apparatus for rapidly loading addressing registers |
US5325496A (en) * | 1991-12-24 | 1994-06-28 | Intel Corporation | Selectable pointer validation in a computer system |
US5361356A (en) * | 1992-03-06 | 1994-11-01 | International Business Machines Corporation | Storage isolation with subspace-group facility |
JP2788836B2 (ja) * | 1992-05-15 | 1998-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ディジタルコンピュータシステム |
US5237616A (en) * | 1992-09-21 | 1993-08-17 | International Business Machines Corporation | Secure computer system having privileged and unprivileged memories |
US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
US5802574A (en) * | 1993-12-28 | 1998-09-01 | Intel Corporation | Method and apparatus for quickly modifying cache state |
US5583806A (en) * | 1994-10-17 | 1996-12-10 | Advanced Micro Devices, Inc. | Optimized binary adder for concurrently generating effective and intermediate addresses |
US5734817A (en) * | 1995-03-01 | 1998-03-31 | Unisys Corporation | Method for making a data base available to a user program during data base recovery |
US5802359A (en) * | 1995-03-31 | 1998-09-01 | International Business Machines Corporation | Mapping processor state into a millicode addressable processor state register array |
US5761740A (en) * | 1995-11-30 | 1998-06-02 | Unisys Corporation | Method of and apparatus for rapidly loading addressing registers |
US5732404A (en) * | 1996-03-29 | 1998-03-24 | Unisys Corporation | Flexible expansion of virtual memory addressing |
US6356991B1 (en) * | 1997-12-31 | 2002-03-12 | Unisys Corporation | Programmable address translation system |
JP3476376B2 (ja) * | 1998-12-16 | 2003-12-10 | 富士通株式会社 | 仮想記憶アドレス空間アクセス制御方法とそのための装置 |
US6289435B1 (en) * | 1999-05-17 | 2001-09-11 | Creative Technology Ltd. | Re-use of special purposed registers as general purpose registers |
US6691306B1 (en) * | 2000-12-22 | 2004-02-10 | Lsi Logic Corporation | Use of limited program space of general purpose processor for unlimited sequence of translated instructions |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3412382A (en) * | 1965-11-26 | 1968-11-19 | Massachusetts Inst Technology | Shared-access data processing system |
JPS5040738B1 (ja) * | 1970-06-11 | 1975-12-26 | ||
JPS532296B2 (ja) * | 1973-03-19 | 1978-01-26 | ||
FR122199A (ja) * | 1973-12-17 | |||
US3949378A (en) * | 1974-12-09 | 1976-04-06 | The United States Of America As Represented By The Secretary Of The Navy | Computer memory addressing employing base and index registers |
US4050060A (en) * | 1976-04-30 | 1977-09-20 | International Business Machines Corporation | Equate operand address space control system |
US4038645A (en) * | 1976-04-30 | 1977-07-26 | International Business Machines Corporation | Non-translatable storage protection control system |
US4037214A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
US4035779A (en) * | 1976-04-30 | 1977-07-12 | International Business Machines Corporation | Supervisor address key control system |
US4037207A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | System for controlling address keys under interrupt conditions |
US4042913A (en) * | 1976-04-30 | 1977-08-16 | International Business Machines Corporation | Address key register load/store instruction system |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
JPS52149444A (en) * | 1976-06-08 | 1977-12-12 | Fujitsu Ltd | Multiplex virtual space processing data processing system |
US4084227A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
US4096573A (en) * | 1977-04-25 | 1978-06-20 | International Business Machines Corporation | DLAT Synonym control means for common portions of all address spaces |
US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
FR2385147A1 (fr) * | 1977-03-24 | 1978-10-20 | Ibm | Dispositif de translation d'adresses dans les systemes de traitement de donnees |
-
1980
- 1980-03-19 US US06/131,570 patent/US4355355A/en not_active Expired - Lifetime
-
1981
- 1981-01-13 CA CA000368423A patent/CA1153824A/en not_active Expired
- 1981-02-16 EP EP81101074A patent/EP0036085B1/en not_active Expired
- 1981-02-16 DE DE8181101074T patent/DE3176834D1/de not_active Expired
- 1981-03-10 JP JP56033288A patent/JPS6022377B2/ja not_active Expired
- 1981-03-18 ES ES500467A patent/ES8202968A1/es not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS56140576A (en) | 1981-11-02 |
EP0036085B1 (en) | 1988-08-03 |
EP0036085A3 (en) | 1983-09-14 |
CA1153824A (en) | 1983-09-13 |
DE3176834D1 (en) | 1988-09-08 |
EP0036085A2 (en) | 1981-09-23 |
ES500467A0 (es) | 1982-03-01 |
US4355355A (en) | 1982-10-19 |
ES8202968A1 (es) | 1982-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6022377B2 (ja) | アドレス制御方式 | |
KR860000838B1 (ko) | 데이타 처리시스템 | |
US4945480A (en) | Data domain switching on program address space switching and return | |
US5469556A (en) | Resource access security system for controlling access to resources of a data processing system | |
US4979098A (en) | Multiple address space token designation, protection controls, designation translation and lookaside | |
US5220669A (en) | Linkage mechanism for program isolation | |
US5280614A (en) | Apparatus and method for controlling access to data using domains | |
JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
US5809546A (en) | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers | |
US5023773A (en) | Authorization for selective program access to data in multiple address spaces | |
US6823433B1 (en) | Memory management system and method for providing physical address based memory access security | |
US5426751A (en) | Information processing apparatus with address extension function | |
US8955062B2 (en) | Method and system for permitting access to resources based on instructions of a code tagged with an identifier assigned to a domain | |
US5210832A (en) | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle | |
JPS6041379B2 (ja) | 多重仮想アドレス空間式デ−タ処理システム | |
JPH077363B2 (ja) | アクセス装置及び方法 | |
US5900019A (en) | Apparatus for protecting memory storage blocks from I/O accesses | |
JPS6248258B2 (ja) | ||
JP2730896B2 (ja) | データ処理装置 | |
US5787309A (en) | Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits | |
JP2005512228A (ja) | 強化されたメモリアクセスセキュリティを提供する、メモリに対するデバイスのアクセスを制御するシステムおよび方法 | |
JP3454854B2 (ja) | メモリ管理装置及び方法 | |
US5802397A (en) | System for storage protection from unintended I/O access using I/O protection key by providing no control by I/O key entries over access by CP entity | |
CA1319448C (en) | Page tables in virtual memory | |
EP0389886B1 (en) | Ring reduction logic mechanism |